From b31ee7c0b9f2480252bb5a54fb2bac9a8e60dde6 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Wed, 4 Jan 2023 22:07:32 +0100 Subject: [PATCH 01/63] =?UTF-8?q?D=C3=A9but=20test=20interface=20borne?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 46 +- code/client/borne/assets/js/main.js | 52 + code/client/borne/index.html | 13 + code/server/README.md | 62 +- code/server/borne/get_handler.js | 398 +-- code/server/borne/post_handler.js | 166 +- code/server/borne/structures.js | 102 +- code/server/database.js | 28 +- code/server/exemple_utilisation.py | 56 +- ...ntin-Laptop_Jan-04-193148-2023_Conflict.py | 29 + code/server/index.js | 56 +- code/server/package-lock.json | 2556 ++++++++--------- code/server/package.json | 38 +- code/server/reseaux_sociaux/post_handler.js | 168 +- code/server/reseaux_sociaux/structures.js | 76 +- code/server/stats/update_request.sql | 98 +- code/server/stats/update_stats.js | 136 +- code/server/utils.js | 38 +- code/sql/telereview.sql | 886 +++--- rapport/README.adoc | 252 +- rapport/References.adoc | 28 +- rapport/annexes/avancement.adoc | 12 +- rapport/annexes/code/test.c | 14 +- rapport/annexes/modifications.adoc | 94 +- rapport/annexes/moduleX.adoc | 86 +- rapport/annexes/moduleY.adoc | 14 +- rapport/annexes/reunions.adoc | 42 +- rapport/architecture/ihm.adoc | 16 +- rapport/architecture/interfaces.adoc | 76 +- rapport/architecture/schema.adoc | 168 +- rapport/architecture/sequence.adoc | 102 +- rapport/architecture/taches.adoc | 66 +- rapport/images/pact.svg | 252 +- rapport/organisation/plan-tests.adoc | 46 +- rapport/organisation/planification.adoc | 134 +- rapport/pdf-theme.yml | 42 +- rapport/proposition/etat-de-l-art.adoc | 88 +- rapport/proposition/proposition.adoc | 32 +- rapport/scenario/scenario.adoc | 46 +- 39 files changed, 3354 insertions(+), 3260 deletions(-) create mode 100644 code/client/borne/assets/js/main.js create mode 100644 code/client/borne/index.html create mode 100644 code/server/exemple_utilisation_Quentin-Laptop_Jan-04-193148-2023_Conflict.py diff --git a/README.md b/README.md index 6a378e6..1fed8c7 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,23 @@ -Ceci est votre dépôt pour le projet PACT. - -Vous **DEVEZ** modifier ce fichier (`README.md`) et créer tous les -répertoires et fichiers dont vous aurez besoin pour votre projet. - -# Important, le rapport d'avancement - -Le répertoire `rapport` contient un squelette pour votre rapporte d'avancement. -Ce répertoire **ne doit pas être renommé** ni le fichier `README.adoc` qu'il contient. -Le fichier `README.adoc` est le point d'entrée du rapport. - -Il est rédigé en utilisant le langage [**AsciiDoc**](http://asciidoc.org/). -La syntaxe est supportée par GitLab qui le formatera correctement dans l'interface Web. - -Le document final sera généré en utilisant l'outil [Asciidoctor](http://asciidoctor.org/) qui supporte les mêmes extensions que GitLab (pour les équations par exemple). -Un résumé de la syntaxe supportée est accessible [ici](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference/). - -Vous pouvez éditer les différents fichiers en utilisant *votre éditeur de texte favori*. -Si vous n'en avez pas, vous pouvez, par exemple utiliser: - -- [**Visual Studio Code**](https://code.visualstudio.com/) avec l'extension [AsciiDoc](https://marketplace.visualstudio.com/items?itemName=asciidoctor.asciidoctor-vscode) qui ajoute coloration syntaxique et rendu en temps réel. -- Ou bien sûr votre éditeur de text préféré **Sublim Text**, **Vim**, **Emacs**,… -- Une extension pour navigateur Web est aussi disponible pour visualiser le résultat ([**ici**](https://github.com/asciidoctor/asciidoctor-browser-extension)). +Ceci est votre dépôt pour le projet PACT. + +Vous **DEVEZ** modifier ce fichier (`README.md`) et créer tous les +répertoires et fichiers dont vous aurez besoin pour votre projet. + +# Important, le rapport d'avancement + +Le répertoire `rapport` contient un squelette pour votre rapporte d'avancement. +Ce répertoire **ne doit pas être renommé** ni le fichier `README.adoc` qu'il contient. +Le fichier `README.adoc` est le point d'entrée du rapport. + +Il est rédigé en utilisant le langage [**AsciiDoc**](http://asciidoc.org/). +La syntaxe est supportée par GitLab qui le formatera correctement dans l'interface Web. + +Le document final sera généré en utilisant l'outil [Asciidoctor](http://asciidoctor.org/) qui supporte les mêmes extensions que GitLab (pour les équations par exemple). +Un résumé de la syntaxe supportée est accessible [ici](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference/). + +Vous pouvez éditer les différents fichiers en utilisant *votre éditeur de texte favori*. +Si vous n'en avez pas, vous pouvez, par exemple utiliser: + +- [**Visual Studio Code**](https://code.visualstudio.com/) avec l'extension [AsciiDoc](https://marketplace.visualstudio.com/items?itemName=asciidoctor.asciidoctor-vscode) qui ajoute coloration syntaxique et rendu en temps réel. +- Ou bien sûr votre éditeur de text préféré **Sublim Text**, **Vim**, **Emacs**,… +- Une extension pour navigateur Web est aussi disponible pour visualiser le résultat ([**ici**](https://github.com/asciidoctor/asciidoctor-browser-extension)). diff --git a/code/client/borne/assets/js/main.js b/code/client/borne/assets/js/main.js new file mode 100644 index 0000000..3570d6c --- /dev/null +++ b/code/client/borne/assets/js/main.js @@ -0,0 +1,52 @@ +let canvas = document.getElementById('camera'); +let video = document.getElementById('video'); + +const width = 320; // We will scale the photo width to this +let height = 0; // This will be computed based on the input stream +let streaming = false; + +function startup() { + video = document.getElementById("video"); + canvas = document.getElementById("canvas"); + + navigator.mediaDevices + .getUserMedia({ video: true, audio: false }) + .then((stream) => { + video.srcObject = stream; + video.play(); + }) + .catch((err) => { + console.error(`An error occurred: ${err}`); + }); + + video.addEventListener( + "canplay", + (ev) => { + if (!streaming) { + height = video.videoHeight / (video.videoWidth / width); + + // Firefox currently has a bug where the height can't be read from + // the video, so we will make assumptions if this happens. + + if (isNaN(height)) { + height = width / (4 / 3); + } + + video.setAttribute("width", width); + video.setAttribute("height", height); + canvas.setAttribute("width", width); + canvas.setAttribute("height", height); + streaming = true; + drawVideoOnCanvas(); + } + }, + false + ); +} + +window.addEventListener("load", startup, false); + +const drawVideoOnCanvas = () => { + canvas.getContext("2d").drawImage(video, 0, 0, width, height); + requestAnimationFrame(drawVideoOnCanvas); +} \ No newline at end of file diff --git a/code/client/borne/index.html b/code/client/borne/index.html new file mode 100644 index 0000000..8883aa3 --- /dev/null +++ b/code/client/borne/index.html @@ -0,0 +1,13 @@ + + + + + + + Téléreview + + + + + + \ No newline at end of file diff --git a/code/server/README.md b/code/server/README.md index 4caba7a..132dd36 100644 --- a/code/server/README.md +++ b/code/server/README.md @@ -1,31 +1,31 @@ -# Installation -* Pour faire fonctinoner le serveur sur vos machines il y a 3 choses a faire -1. Installer node js : https://nodejs.org/en/download/ -2. Ouvrir un terminal et aller dans ce dossier (code/server) et tapper `npm install` pour installer les pacakges nécessaires -3. copier le fichier `.env_template` et le nommer `.env` et remplir les variables (cela est fait pour le pas mettre les mots de passes sur le gitlab, faites attention de ne jamais commit le fichier .env !!) -4. pour lancer le serveur faire `node index.js` - -# Utilisation -## Avis laissés sur la borne (hors réseaux sociaux) -### Routes GET : -- `/borne/get_last_reviews?limit=LIM` : renvoie les LIM derniers avis sur la borne -- `/borne/get_review?id=ID` : renvoie les infos sur l'avis d'in ID -- `/borne/get_criteres` : renvoie les criteres de notations valide pour les notes autres -- `/borne/notes_autres?critere=CRIT&limit=LIM` : renvoie les LIM dernières notes sur le critère CRIT -- `/borne/notes_autres?id=ID&limit=LIM` : renvoie toutes les notes spécifiques liées à l'avis ID - -### Routes POST -- `/add_review` : Ajoute une review et un auteur, paramètres POST : - * [OBLIGATOIRE] `note` : note principale de la review entre 0 et 10 compris - * [OBLIGATOIRE] `source` : nom de la source de l'avis, doit être `borne` ou `website` pour resp la borne et le site - * `auteur_age` : age de l'auteur - * `auteur_sexe` : sexe de l'auteur (valeurs valide 'f', 'h', 'a') - * `commentaire` : Commentaire laissé avec l'avis - * `notes autres` : sous la forme - ```json - { - "critere1": 8, - "critere2": 2, - "critere3": 0 - } - ``` +# Installation +* Pour faire fonctinoner le serveur sur vos machines il y a 3 choses a faire +1. Installer node js : https://nodejs.org/en/download/ +2. Ouvrir un terminal et aller dans ce dossier (code/server) et tapper `npm install` pour installer les pacakges nécessaires +3. copier le fichier `.env_template` et le nommer `.env` et remplir les variables (cela est fait pour le pas mettre les mots de passes sur le gitlab, faites attention de ne jamais commit le fichier .env !!) +4. pour lancer le serveur faire `node index.js` + +# Utilisation +## Avis laissés sur la borne (hors réseaux sociaux) +### Routes GET : +- `/borne/get_last_reviews?limit=LIM` : renvoie les LIM derniers avis sur la borne +- `/borne/get_review?id=ID` : renvoie les infos sur l'avis d'in ID +- `/borne/get_criteres` : renvoie les criteres de notations valide pour les notes autres +- `/borne/notes_autres?critere=CRIT&limit=LIM` : renvoie les LIM dernières notes sur le critère CRIT +- `/borne/notes_autres?id=ID&limit=LIM` : renvoie toutes les notes spécifiques liées à l'avis ID + +### Routes POST +- `/add_review` : Ajoute une review et un auteur, paramètres POST : + * [OBLIGATOIRE] `note` : note principale de la review entre 0 et 10 compris + * [OBLIGATOIRE] `source` : nom de la source de l'avis, doit être `borne` ou `website` pour resp la borne et le site + * `auteur_age` : age de l'auteur + * `auteur_sexe` : sexe de l'auteur (valeurs valide 'f', 'h', 'a') + * `commentaire` : Commentaire laissé avec l'avis + * `notes autres` : sous la forme + ```json + { + "critere1": 8, + "critere2": 2, + "critere3": 0 + } + ``` diff --git a/code/server/borne/get_handler.js b/code/server/borne/get_handler.js index 72f7ca3..8f59ced 100644 --- a/code/server/borne/get_handler.js +++ b/code/server/borne/get_handler.js @@ -1,200 +1,200 @@ -import conn from '../database.js'; - -/** - * Renvoie les derniers avis laissés sur la borne trié par ordre chronologque décroissant - * @param {Number} limit Nombre d'avis a afficher - * @returns Une liste d'objets de la forme {id: id de l'avis, date: date de l'avis, note_principale: note sur 10, commentaire: avis textuel, nom_source, sexe_auteur, age_auteur} - */ -const getLastReviews = (limit=10) => { - return new Promise((resolve, reject) => { - let sql = `SELECT borne_avis.id,date,note_principale,commentaire,sources.nom as nom_source, borne_auteurs.sexe as sexe_auteur, borne_auteurs.age as age_auteur - FROM borne_avis - JOIN sources ON sources.id = source_id - JOIN borne_auteurs ON borne_auteurs.id = id_auteur - ORDER BY borne_avis.id DESC LIMIT ?`; - conn.query(sql, [limit], (err, res) => { - if(err) { - reject(err); - }else { - resolve(res) - } - }) - }) -} - -/** - * Renvoie les informations sur un avis avec un ID spécifique - * @param {Number} id Id de la review - * @returns Un objet de la forme des objets dans la table borne_avis ayant l'id id s'il existe, renvoie une erreur sinon - */ -const getReviewFromId = (id) => { - return new Promise((resolve, reject) => { - let sql = `SELECT * FROM borne_avis WHERE id = ? LIMIT 1`; - conn.query(sql, [id], (err, res) => { - if(err) { - reject(err); - }else { - if(res.length != 1) { - reject(new Error("Avis avec cet ID non trouvé")) - }else { - resolve(res[0]) - } - if(res.length != 1) { - reject(new Error("Avis avec cet ID non trouvé")) - }else { - resolve(res[0]) - } - } - }) - }) -} - -/** - * Renvoie tout les critères de notation valides - * @returns Une liste d'objets de la forme {id,nom} - */ -const getCriteres = () => { - return new Promise((resolve, reject) => { - let sql = `SELECT * FROM borne_criteres`; - conn.query(sql, [limit], (err, res) => { - if(err) { - reject(err); - }else { - resolve(res) - } - }) - }) -} - -/** - * Renvoie les "limit" notes les plus récentes laissées pour un critère spécifié - * @param {String} critere Nom de critère - * @param {Number} limit Nombre max de note a afficher - * @returns une liste d'objets de la forme {id,date,critere,note,avis_id:id de l'avis lié a cette note} - */ -const getNotesAutresFromCritere = (critere,limit=10) => { - return new Promise((resolve, reject) => { - let sql = `SELECT borne_notes_autre.id as id,date,borne_criteres.nom as critere, note, avis_id - FROM borne_notes_autre - JOIN borne_criteres ON borne_criteres.id = critere_id - WHERE borne_criteres.nom = ? - ORDER BY borne_notes_autre.id DESC LIMIT ? ;`; - conn.query(sql, [critere,limit], (err, res) => { - if(err) { - reject(err); - }else { - resolve(res) - } - }) - }) -} - -/** - * Renvoie toutes les notes sur des critères spécifiques laissée pour un avis spécifique - * @param {Number} reviewId Id de l'avis - * @returns une liste d'objets de la forme {id,critere:nom du critère, note:note sur 10} - */ -const getNotesAutresFromReview = (reviewId) => { - return new Promise((resolve, reject) => { - let sql = `SELECT borne_notes_autre.id as id,borne_criteres.nom as critere, note - FROM borne_notes_autre - JOIN borne_criteres on borne_criteres.id = critere_id - WHERE avis_id = ? - ORDER BY borne_notes_autre.id DESC`; - conn.query(sql, [reviewId], (err, res) => { - if(err) { - reject(err); - }else { - resolve(res) - } - }) - }) -} - -/** - * Renvoie les dernières statistiques - * @param {String} interval Interval de temps de la statistique, valeurs possibles : "jour","mois","semaine","annee" - * @param {Number} limit Nombre max de stats a renvoyer - * @returns Une liste d'objet ou chaque objet correspond a une stat sur une periode donnée (par ex une stat hebdo datée du 07/01 correspond a une stat sur la semaine du 01/01 au 07/01), ces objets sont de la forme - */ -const getStats = (interval, limit=10) => { - return new Promise((resolve, reject) => { - if(!["jour","mois","semaine","annee"].includes(interval)) { - reject(new Error("Invalid time interval")); - return; - } - let sql = `SELECT * FROM stats_general_${interval} ORDER BY id DESC LIMIT ?;`; - conn.query(sql, [limit], (err, res) => { - if(err) { - reject(err); - }else { - resolve(res) - } - }) - }) -} - -/* -Ces fonction sont des handlers pour les routes express, elles sont appelées par les routes et renvoient les données au format JSON -*/ -export const handleGetLastReviews = (req, res) => { - getLastReviews(req.query.limit) - .then((reviews) => { - res.send(reviews); - }) - .catch((err) => { - res.status(500).send("Error: " + err.message); - }); -} - -export const handleGetReview = (req, res) => { - getReviewFromId(req.query.id) - .then((review) => { - res.send(review); - }) - .catch((err) => { - res.status(500).send("Error: " + err.message); - }); -} - -export const handleGetCriteres = (req, res) => { - getCriteres() - .then((criteres) => { - res.send(criteres); - }) - .catch((err) => { - res.status(500).send("Error: " + err.message); - }); -} - -export const handleGetNotesAutres = (req, res) => { - if(req.query.critere) { - getNotesAutresFromCritere(req.query.critere, req.query.limit) - .then((notes) => { - res.send(notes); - }) - .catch((err) => { - res.status(500).send("Error: " + err.message); - }); - }else if(req.query.id) { - getNotesAutresFromReview(req.query.id) - .then((notes) => { - res.send(notes); - }) - .catch((err) => { - res.status(500).send("Error: " + err.message); - }); - }else { - res.status(500).send("Error: no critere or id specified"); - } -} - -export const handleGetStats = (req, res) => { - getStats(req.query.interval, req.query.limit) - .then((stats) => { - res.send(stats); - }) - .catch((err) => { - res.status(500).send("Error: " + err.message); - }); +import conn from '../database.js'; + +/** + * Renvoie les derniers avis laissés sur la borne trié par ordre chronologque décroissant + * @param {Number} limit Nombre d'avis a afficher + * @returns Une liste d'objets de la forme {id: id de l'avis, date: date de l'avis, note_principale: note sur 10, commentaire: avis textuel, nom_source, sexe_auteur, age_auteur} + */ +const getLastReviews = (limit=10) => { + return new Promise((resolve, reject) => { + let sql = `SELECT borne_avis.id,date,note_principale,commentaire,sources.nom as nom_source, borne_auteurs.sexe as sexe_auteur, borne_auteurs.age as age_auteur + FROM borne_avis + JOIN sources ON sources.id = source_id + JOIN borne_auteurs ON borne_auteurs.id = id_auteur + ORDER BY borne_avis.id DESC LIMIT ?`; + conn.query(sql, [limit], (err, res) => { + if(err) { + reject(err); + }else { + resolve(res) + } + }) + }) +} + +/** + * Renvoie les informations sur un avis avec un ID spécifique + * @param {Number} id Id de la review + * @returns Un objet de la forme des objets dans la table borne_avis ayant l'id id s'il existe, renvoie une erreur sinon + */ +const getReviewFromId = (id) => { + return new Promise((resolve, reject) => { + let sql = `SELECT * FROM borne_avis WHERE id = ? LIMIT 1`; + conn.query(sql, [id], (err, res) => { + if(err) { + reject(err); + }else { + if(res.length != 1) { + reject(new Error("Avis avec cet ID non trouvé")) + }else { + resolve(res[0]) + } + if(res.length != 1) { + reject(new Error("Avis avec cet ID non trouvé")) + }else { + resolve(res[0]) + } + } + }) + }) +} + +/** + * Renvoie tout les critères de notation valides + * @returns Une liste d'objets de la forme {id,nom} + */ +const getCriteres = () => { + return new Promise((resolve, reject) => { + let sql = `SELECT * FROM borne_criteres`; + conn.query(sql, [limit], (err, res) => { + if(err) { + reject(err); + }else { + resolve(res) + } + }) + }) +} + +/** + * Renvoie les "limit" notes les plus récentes laissées pour un critère spécifié + * @param {String} critere Nom de critère + * @param {Number} limit Nombre max de note a afficher + * @returns une liste d'objets de la forme {id,date,critere,note,avis_id:id de l'avis lié a cette note} + */ +const getNotesAutresFromCritere = (critere,limit=10) => { + return new Promise((resolve, reject) => { + let sql = `SELECT borne_notes_autre.id as id,date,borne_criteres.nom as critere, note, avis_id + FROM borne_notes_autre + JOIN borne_criteres ON borne_criteres.id = critere_id + WHERE borne_criteres.nom = ? + ORDER BY borne_notes_autre.id DESC LIMIT ? ;`; + conn.query(sql, [critere,limit], (err, res) => { + if(err) { + reject(err); + }else { + resolve(res) + } + }) + }) +} + +/** + * Renvoie toutes les notes sur des critères spécifiques laissée pour un avis spécifique + * @param {Number} reviewId Id de l'avis + * @returns une liste d'objets de la forme {id,critere:nom du critère, note:note sur 10} + */ +const getNotesAutresFromReview = (reviewId) => { + return new Promise((resolve, reject) => { + let sql = `SELECT borne_notes_autre.id as id,borne_criteres.nom as critere, note + FROM borne_notes_autre + JOIN borne_criteres on borne_criteres.id = critere_id + WHERE avis_id = ? + ORDER BY borne_notes_autre.id DESC`; + conn.query(sql, [reviewId], (err, res) => { + if(err) { + reject(err); + }else { + resolve(res) + } + }) + }) +} + +/** + * Renvoie les dernières statistiques + * @param {String} interval Interval de temps de la statistique, valeurs possibles : "jour","mois","semaine","annee" + * @param {Number} limit Nombre max de stats a renvoyer + * @returns Une liste d'objet ou chaque objet correspond a une stat sur une periode donnée (par ex une stat hebdo datée du 07/01 correspond a une stat sur la semaine du 01/01 au 07/01), ces objets sont de la forme + */ +const getStats = (interval, limit=10) => { + return new Promise((resolve, reject) => { + if(!["jour","mois","semaine","annee"].includes(interval)) { + reject(new Error("Invalid time interval")); + return; + } + let sql = `SELECT * FROM stats_general_${interval} ORDER BY id DESC LIMIT ?;`; + conn.query(sql, [limit], (err, res) => { + if(err) { + reject(err); + }else { + resolve(res) + } + }) + }) +} + +/* +Ces fonction sont des handlers pour les routes express, elles sont appelées par les routes et renvoient les données au format JSON +*/ +export const handleGetLastReviews = (req, res) => { + getLastReviews(req.query.limit) + .then((reviews) => { + res.send(reviews); + }) + .catch((err) => { + res.status(500).send("Error: " + err.message); + }); +} + +export const handleGetReview = (req, res) => { + getReviewFromId(req.query.id) + .then((review) => { + res.send(review); + }) + .catch((err) => { + res.status(500).send("Error: " + err.message); + }); +} + +export const handleGetCriteres = (req, res) => { + getCriteres() + .then((criteres) => { + res.send(criteres); + }) + .catch((err) => { + res.status(500).send("Error: " + err.message); + }); +} + +export const handleGetNotesAutres = (req, res) => { + if(req.query.critere) { + getNotesAutresFromCritere(req.query.critere, req.query.limit) + .then((notes) => { + res.send(notes); + }) + .catch((err) => { + res.status(500).send("Error: " + err.message); + }); + }else if(req.query.id) { + getNotesAutresFromReview(req.query.id) + .then((notes) => { + res.send(notes); + }) + .catch((err) => { + res.status(500).send("Error: " + err.message); + }); + }else { + res.status(500).send("Error: no critere or id specified"); + } +} + +export const handleGetStats = (req, res) => { + getStats(req.query.interval, req.query.limit) + .then((stats) => { + res.send(stats); + }) + .catch((err) => { + res.status(500).send("Error: " + err.message); + }); } \ No newline at end of file diff --git a/code/server/borne/post_handler.js b/code/server/borne/post_handler.js index 5469b51..545d745 100644 --- a/code/server/borne/post_handler.js +++ b/code/server/borne/post_handler.js @@ -1,84 +1,84 @@ -import { Auteur, Review } from './structures.js'; -import conn from '../database.js'; -import {getSourceId} from '../utils.js'; - - -/** - * Ajoute un nouvel auteur de commentaire a la BDD - * @param {Auteur} author L'auteur a ajouter - * @returns une Promise qui renvoie l'id de l'utilisateur - */ -const addAuteur = (author) => { - return new Promise((resolve,reject) => { - const sql = "INSERT INTO borne_auteurs (age, sexe) VALUES (?);" - conn.query(sql, [[author.age, author.sexe]], (err, res) => { - if(err) { - reject(err) - }else { - resolve(res.insertId); - } - }) - }) -} - -//Ajoute une note sur un critère spécifique dans la BDD -const addSpecificRating = (reviewId, label, value) => { - return new Promise((resolve, reject) => { - const sql = "INSERT INTO borne_notes_autre(critere_id, avis_id, note) VALUES ((SELECT id FROM borne_criteres WHERE borne_criteres.nom = ?), ?, ?)" - conn.query(sql, [label,reviewId, value], (err, res) => { - if(err) { - reject(err); - }else { - resolve(res.insertId); - } - }) - }) -} - - -/** - * Ajoute un avis a la base de donnée - * @param {Review} review la review a ajouter - * @param {Number} authorId l'ID de l'auteur de l'avis dans la BDD - * @param {Number} sourceId l'ID de la source de l'avis dans la BDD - * @returns une Promise qui renvoie l'id de l'avis - */ -const addReview = (review, authorId, sourceId) => { - return new Promise((resolve, reject) => { - const sql = "INSERT INTO borne_avis (id_auteur, note_principale, commentaire, source_id) VALUES (?);" - conn.query(sql, [[authorId, review.note, review.commentaire, sourceId]], (err, res) => { - if(err) { - reject(err) - }else { - resolve(res.insertId); - } - }) - }) -} - -/** - * Traite une requête POST qui contient les valeurs nécessaires pour ajouter un nouvel avis dans la BDD - * Essaie d'ajouter l'avis et l'auteur dans la BDD, sinon renvoie l'erreur avec un code 500 - * @param {*} req requete - * @param {*} res reponse - */ -export const addReviewFromRequest = async (req,res) => { - try { - let notes_autre = {} - try{ - notes_autre = JSON.parse(req.body.notes_autre); - }catch(err){}; - - const author = new Auteur(req.body.auteur_age,req.body.auteur_sexe); - const review = new Review(author, req.body.note, req.body.source, req.body.commentaire, notes_autre) - let authorId = await addAuteur(author); - let sourceId = await getSourceId(review.source); - let reviewId = await addReview(review, authorId, sourceId ); - for(let label in review.notesAutre) { - await addSpecificRating(reviewId, label, review.notesAutre[label]); - } - res.send("success") - }catch(err) { - res.status(500).send("Error : " + err.message) - } +import { Auteur, Review } from './structures.js'; +import conn from '../database.js'; +import {getSourceId} from '../utils.js'; + + +/** + * Ajoute un nouvel auteur de commentaire a la BDD + * @param {Auteur} author L'auteur a ajouter + * @returns une Promise qui renvoie l'id de l'utilisateur + */ +const addAuteur = (author) => { + return new Promise((resolve,reject) => { + const sql = "INSERT INTO borne_auteurs (age, sexe) VALUES (?);" + conn.query(sql, [[author.age, author.sexe]], (err, res) => { + if(err) { + reject(err) + }else { + resolve(res.insertId); + } + }) + }) +} + +//Ajoute une note sur un critère spécifique dans la BDD +const addSpecificRating = (reviewId, label, value) => { + return new Promise((resolve, reject) => { + const sql = "INSERT INTO borne_notes_autre(critere_id, avis_id, note) VALUES ((SELECT id FROM borne_criteres WHERE borne_criteres.nom = ?), ?, ?)" + conn.query(sql, [label,reviewId, value], (err, res) => { + if(err) { + reject(err); + }else { + resolve(res.insertId); + } + }) + }) +} + + +/** + * Ajoute un avis a la base de donnée + * @param {Review} review la review a ajouter + * @param {Number} authorId l'ID de l'auteur de l'avis dans la BDD + * @param {Number} sourceId l'ID de la source de l'avis dans la BDD + * @returns une Promise qui renvoie l'id de l'avis + */ +const addReview = (review, authorId, sourceId) => { + return new Promise((resolve, reject) => { + const sql = "INSERT INTO borne_avis (id_auteur, note_principale, commentaire, source_id) VALUES (?);" + conn.query(sql, [[authorId, review.note, review.commentaire, sourceId]], (err, res) => { + if(err) { + reject(err) + }else { + resolve(res.insertId); + } + }) + }) +} + +/** + * Traite une requête POST qui contient les valeurs nécessaires pour ajouter un nouvel avis dans la BDD + * Essaie d'ajouter l'avis et l'auteur dans la BDD, sinon renvoie l'erreur avec un code 500 + * @param {*} req requete + * @param {*} res reponse + */ +export const addReviewFromRequest = async (req,res) => { + try { + let notes_autre = {} + try{ + notes_autre = JSON.parse(req.body.notes_autre); + }catch(err){}; + + const author = new Auteur(req.body.auteur_age,req.body.auteur_sexe); + const review = new Review(author, req.body.note, req.body.source, req.body.commentaire, notes_autre) + let authorId = await addAuteur(author); + let sourceId = await getSourceId(review.source); + let reviewId = await addReview(review, authorId, sourceId ); + for(let label in review.notesAutre) { + await addSpecificRating(reviewId, label, review.notesAutre[label]); + } + res.send("success") + }catch(err) { + res.status(500).send("Error : " + err.message) + } } \ No newline at end of file diff --git a/code/server/borne/structures.js b/code/server/borne/structures.js index c8f7984..39af1b9 100644 --- a/code/server/borne/structures.js +++ b/code/server/borne/structures.js @@ -1,52 +1,52 @@ -//Liste des valeurs valides pour le sexe d'un utilisateur -const validSexes = ["h","f","a"]; - -//Classe pour représenter un avis laissé sur la borne que ce soit par l'interface web ou par un geste -export class Review { - /** - * Constructeur - * @param {Auteur} auteur L'auteur de l'avis - * @param {Number} note La note principale entre 0 et 10 compris - * @param {String} source La source de l'avis, doit être une entrée dans la table soruces de la bdd - * @param {String} commentaire Le commentaire lié a l'avis - * @param {Object} notesAutre Les notes secondaires laissées, sous la forme d'un object ou les clés sont les labels de chaque notes et les valeurs sont des notes entre 0 et 10 compris - */ - constructor(auteur, note, source, commentaire=null, notesAutre={}) { - this.auteur = auteur; - this.note = note; - this.source = source; - this.commentaire = commentaire; - this.notesAutre = notesAutre; - - //On vérifie si toutes les données sont correctes - if(note < 0 || note > 10) { - throw new Error("Note principale invalide"); - } - for(let nom in notesAutre) { - if(notesAutre[nom] < 0 || notesAutre[nom] > 10) { - throw new Error("Note " + notesAutre[nom] +"/10 invalide"); - } - } - } -} - -//Classe qui représente l'auteur d'un avis -export class Auteur { - /** - * Constructeur - * @param {Number} age L'age de l'auteur - * @param {String} sexe Le sexe de la personne (doit être dans l'array validSexes défini au début de ce fichier) - */ - constructor(age=null, sexe=null) { - this.age = age; - this.sexe = sexe; - - //Verification des données - if(sexe != undefined && !validSexes.includes(sexe) ) { - throw new Error("Sexe invalide"); - } - if(age != undefined && age <= 0) { - throw new Error("Age invalide"); - } - } +//Liste des valeurs valides pour le sexe d'un utilisateur +const validSexes = ["h","f","a"]; + +//Classe pour représenter un avis laissé sur la borne que ce soit par l'interface web ou par un geste +export class Review { + /** + * Constructeur + * @param {Auteur} auteur L'auteur de l'avis + * @param {Number} note La note principale entre 0 et 10 compris + * @param {String} source La source de l'avis, doit être une entrée dans la table soruces de la bdd + * @param {String} commentaire Le commentaire lié a l'avis + * @param {Object} notesAutre Les notes secondaires laissées, sous la forme d'un object ou les clés sont les labels de chaque notes et les valeurs sont des notes entre 0 et 10 compris + */ + constructor(auteur, note, source, commentaire=null, notesAutre={}) { + this.auteur = auteur; + this.note = note; + this.source = source; + this.commentaire = commentaire; + this.notesAutre = notesAutre; + + //On vérifie si toutes les données sont correctes + if(note < 0 || note > 10) { + throw new Error("Note principale invalide"); + } + for(let nom in notesAutre) { + if(notesAutre[nom] < 0 || notesAutre[nom] > 10) { + throw new Error("Note " + notesAutre[nom] +"/10 invalide"); + } + } + } +} + +//Classe qui représente l'auteur d'un avis +export class Auteur { + /** + * Constructeur + * @param {Number} age L'age de l'auteur + * @param {String} sexe Le sexe de la personne (doit être dans l'array validSexes défini au début de ce fichier) + */ + constructor(age=null, sexe=null) { + this.age = age; + this.sexe = sexe; + + //Verification des données + if(sexe != undefined && !validSexes.includes(sexe) ) { + throw new Error("Sexe invalide"); + } + if(age != undefined && age <= 0) { + throw new Error("Age invalide"); + } + } } \ No newline at end of file diff --git a/code/server/database.js b/code/server/database.js index 22d7b94..bce2607 100644 --- a/code/server/database.js +++ b/code/server/database.js @@ -1,15 +1,15 @@ -import * as dotenv from 'dotenv' -import mysql from 'mysql2'; -dotenv.config(); - -const conn = mysql.createConnection({ - host: process.env.DB_HOST, - user: process.env.DB_USER, - password: process.env.DB_PASSWORD, - database: process.env.DB_NAME, - multipleStatements: true, -}); - -conn.connect(); - +import * as dotenv from 'dotenv' +import mysql from 'mysql2'; +dotenv.config(); + +const conn = mysql.createConnection({ + host: process.env.DB_HOST, + user: process.env.DB_USER, + password: process.env.DB_PASSWORD, + database: process.env.DB_NAME, + multipleStatements: true, +}); + +conn.connect(); + export default conn; \ No newline at end of file diff --git a/code/server/exemple_utilisation.py b/code/server/exemple_utilisation.py index 41ef34f..e81d3f5 100644 --- a/code/server/exemple_utilisation.py +++ b/code/server/exemple_utilisation.py @@ -1,29 +1,29 @@ -import requests -#Exemple ajout d'un commentaire depuis la borne (site ou geste) -avis = { - "note": 8, - "source": "borne", - #Optionel - "auteur_age": 20, - "notes_autre": '{"proprete":8,"calme":10}', - "auteur_sexe": 'f', - "commentaire": "Commentaire" -} - -# res = requests.post("http://localhost:8080/add_review", data=avis) -# print(res.text) - -#Exemple ajout d'un commentaire trouvé sur les réseaux sociaux -avis = { - "auteur_nom": "michel", - "source": "instagram", - "note": 8, - "date": "2022-12-24", - #Optionel - "commentaire": "J'ai beaucoup aimé !", - "lien": "https://instagram.com/si_insta_avait_des_liens_vers_des_commentaires_faudrait_le_mettre_ici", - "auteur_lien": "https://instagram.com/michel", -} - -res = requests.post("http://localhost:8080/add_social_review", data=avis) +import requests +#Exemple ajout d'un commentaire depuis la borne (site ou geste) +avis = { + "note": 8, + "source": "borne", + #Optionel + "auteur_age": 20, + "notes_autre": '{"proprete":8,"calme":10}', + "auteur_sexe": 'f', + "commentaire": "Commentaire" +} + +# res = requests.post("http://localhost:8080/add_review", data=avis) +# print(res.text) + +#Exemple ajout d'un commentaire trouvé sur les réseaux sociaux +avis = { + "auteur_nom": "michel", + "source": "instagram", + "note": 8, + "date": "2022-12-24", + #Optionel + "commentaire": "J'ai beaucoup aimé !", + "lien": "https://instagram.com/si_insta_avait_des_liens_vers_des_commentaires_faudrait_le_mettre_ici", + "auteur_lien": "https://instagram.com/michel", +} + +res = requests.post("http://localhost:8080/add_social_review", data=avis) print(res.text) \ No newline at end of file diff --git a/code/server/exemple_utilisation_Quentin-Laptop_Jan-04-193148-2023_Conflict.py b/code/server/exemple_utilisation_Quentin-Laptop_Jan-04-193148-2023_Conflict.py new file mode 100644 index 0000000..41ef34f --- /dev/null +++ b/code/server/exemple_utilisation_Quentin-Laptop_Jan-04-193148-2023_Conflict.py @@ -0,0 +1,29 @@ +import requests +#Exemple ajout d'un commentaire depuis la borne (site ou geste) +avis = { + "note": 8, + "source": "borne", + #Optionel + "auteur_age": 20, + "notes_autre": '{"proprete":8,"calme":10}', + "auteur_sexe": 'f', + "commentaire": "Commentaire" +} + +# res = requests.post("http://localhost:8080/add_review", data=avis) +# print(res.text) + +#Exemple ajout d'un commentaire trouvé sur les réseaux sociaux +avis = { + "auteur_nom": "michel", + "source": "instagram", + "note": 8, + "date": "2022-12-24", + #Optionel + "commentaire": "J'ai beaucoup aimé !", + "lien": "https://instagram.com/si_insta_avait_des_liens_vers_des_commentaires_faudrait_le_mettre_ici", + "auteur_lien": "https://instagram.com/michel", +} + +res = requests.post("http://localhost:8080/add_social_review", data=avis) +print(res.text) \ No newline at end of file diff --git a/code/server/index.js b/code/server/index.js index 7c423de..3fd05a8 100644 --- a/code/server/index.js +++ b/code/server/index.js @@ -1,28 +1,28 @@ -import * as dotenv from 'dotenv'; -import express from 'express'; -import bodyParser from 'body-parser'; -import { addReviewFromRequest } from './borne/post_handler.js'; -import { addSocialReviewFromRequest } from './reseaux_sociaux/post_handler.js'; -import { startCronJobs } from './stats/update_stats.js'; -import * as borneHandler from './borne/get_handler.js'; - -const app = express(); - -app.use(bodyParser.urlencoded({extended:true})) -dotenv.config() -app.post('/add_review', (req,res) => addReviewFromRequest(req,res)); -app.post('/add_social_review', (req,res) => addSocialReviewFromRequest(req,res)); - -app.get('/borne/get_last_reviews', borneHandler.handleGetLastReviews); -app.get('/borne/get_review', borneHandler.handleGetReview); -app.get('/borne/get_criteres', borneHandler.handleGetCriteres); -app.get('/borne/notes_autres', borneHandler.handleGetNotesAutres); -app.get('/borne/get_stats', borneHandler.handleGetStats); - - -startCronJobs(); - -app.listen(process.env.PORT, () => { - console.log("Server démaré sur le port " + process.env.PORT) -}) - +import * as dotenv from 'dotenv'; +import express from 'express'; +import bodyParser from 'body-parser'; +import { addReviewFromRequest } from './borne/post_handler.js'; +import { addSocialReviewFromRequest } from './reseaux_sociaux/post_handler.js'; +import { startCronJobs } from './stats/update_stats.js'; +import * as borneHandler from './borne/get_handler.js'; + +const app = express(); + +app.use(bodyParser.urlencoded({extended:true})) +dotenv.config() +app.post('/add_review', (req,res) => addReviewFromRequest(req,res)); +app.post('/add_social_review', (req,res) => addSocialReviewFromRequest(req,res)); + +app.get('/borne/get_last_reviews', borneHandler.handleGetLastReviews); +app.get('/borne/get_review', borneHandler.handleGetReview); +app.get('/borne/get_criteres', borneHandler.handleGetCriteres); +app.get('/borne/notes_autres', borneHandler.handleGetNotesAutres); +app.get('/borne/get_stats', borneHandler.handleGetStats); + + +startCronJobs(); + +app.listen(process.env.PORT, () => { + console.log("Server démaré sur le port " + process.env.PORT) +}) + diff --git a/code/server/package-lock.json b/code/server/package-lock.json index 0a56818..5cb9427 100644 --- a/code/server/package-lock.json +++ b/code/server/package-lock.json @@ -1,1278 +1,1278 @@ -{ - "name": "server", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "server", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "body-parser": "^1.20.1", - "cron": "^2.1.0", - "dotenv": "^16.0.3", - "express": "^4.18.2", - "mysql2": "^2.3.3" - } - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "node_modules/cron": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cron/-/cron-2.1.0.tgz", - "integrity": "sha512-Hq7u3P8y7UWYvsZbSKHHJDVG0VO9O7tp2qljxzTScelcTODBfCme8AIhnZsFwmQ9NchZ3hr2uNr+s3DSms7q6w==", - "dependencies": { - "luxon": "^1.23.x" - } - }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/denque": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", - "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", - "engines": { - "node": ">=12" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/generate-function": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", - "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", - "dependencies": { - "is-property": "^1.0.2" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==" - }, - "node_modules/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/luxon": { - "version": "1.28.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.28.0.tgz", - "integrity": "sha512-TfTiyvZhwBYM/7QdAVDh+7dBTBA29v4ik0Ce9zda3Mnf8on1S5KJI8P2jKFZ8+5C0jhmr0KwJEO/Wdpm0VeWJQ==", - "engines": { - "node": "*" - } - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/mysql2": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-2.3.3.tgz", - "integrity": "sha512-wxJUev6LgMSgACDkb/InIFxDprRa6T95+VEoR+xPvtngtccNH2dGjEB/fVZ8yg1gWv1510c9CvXuJHi5zUm0ZA==", - "dependencies": { - "denque": "^2.0.1", - "generate-function": "^2.3.1", - "iconv-lite": "^0.6.3", - "long": "^4.0.0", - "lru-cache": "^6.0.0", - "named-placeholders": "^1.1.2", - "seq-queue": "^0.0.5", - "sqlstring": "^2.3.2" - }, - "engines": { - "node": ">= 8.0" - } - }, - "node_modules/mysql2/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/named-placeholders": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.2.tgz", - "integrity": "sha512-wiFWqxoLL3PGVReSZpjLVxyJ1bRqe+KKJVbr4hGs1KWfTZTQyezHFBbuKj9hsizHyGV2ne7EMjHdxEGAybD5SA==", - "dependencies": { - "lru-cache": "^4.1.3" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/named-placeholders/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/named-placeholders/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" - }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/seq-queue": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz", - "integrity": "sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q==" - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/sqlstring": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz", - "integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - }, - "dependencies": { - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - } - }, - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "requires": { - "safe-buffer": "5.2.1" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "cron": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cron/-/cron-2.1.0.tgz", - "integrity": "sha512-Hq7u3P8y7UWYvsZbSKHHJDVG0VO9O7tp2qljxzTScelcTODBfCme8AIhnZsFwmQ9NchZ3hr2uNr+s3DSms7q6w==", - "requires": { - "luxon": "^1.23.x" - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "denque": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", - "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==" - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" - }, - "dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==" - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" - }, - "express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - } - }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "generate-function": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", - "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", - "requires": { - "is-property": "^1.0.2" - } - }, - "get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - }, - "is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==" - }, - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "luxon": { - "version": "1.28.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.28.0.tgz", - "integrity": "sha512-TfTiyvZhwBYM/7QdAVDh+7dBTBA29v4ik0Ce9zda3Mnf8on1S5KJI8P2jKFZ8+5C0jhmr0KwJEO/Wdpm0VeWJQ==" - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "mysql2": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-2.3.3.tgz", - "integrity": "sha512-wxJUev6LgMSgACDkb/InIFxDprRa6T95+VEoR+xPvtngtccNH2dGjEB/fVZ8yg1gWv1510c9CvXuJHi5zUm0ZA==", - "requires": { - "denque": "^2.0.1", - "generate-function": "^2.3.1", - "iconv-lite": "^0.6.3", - "long": "^4.0.0", - "lru-cache": "^6.0.0", - "named-placeholders": "^1.1.2", - "seq-queue": "^0.0.5", - "sqlstring": "^2.3.2" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "named-placeholders": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.2.tgz", - "integrity": "sha512-wiFWqxoLL3PGVReSZpjLVxyJ1bRqe+KKJVbr4hGs1KWfTZTQyezHFBbuKj9hsizHyGV2ne7EMjHdxEGAybD5SA==", - "requires": { - "lru-cache": "^4.1.3" - }, - "dependencies": { - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" - } - } - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" - }, - "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "requires": { - "ee-first": "1.1.1" - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - } - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } - } - }, - "seq-queue": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz", - "integrity": "sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q==" - }, - "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - } - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "sqlstring": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz", - "integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==" - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } -} +{ + "name": "server", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "server", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "body-parser": "^1.20.1", + "cron": "^2.1.0", + "dotenv": "^16.0.3", + "express": "^4.18.2", + "mysql2": "^2.3.3" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/cron": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cron/-/cron-2.1.0.tgz", + "integrity": "sha512-Hq7u3P8y7UWYvsZbSKHHJDVG0VO9O7tp2qljxzTScelcTODBfCme8AIhnZsFwmQ9NchZ3hr2uNr+s3DSms7q6w==", + "dependencies": { + "luxon": "^1.23.x" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/denque": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/dotenv": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "dependencies": { + "is-property": "^1.0.2" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==" + }, + "node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/luxon": { + "version": "1.28.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.28.0.tgz", + "integrity": "sha512-TfTiyvZhwBYM/7QdAVDh+7dBTBA29v4ik0Ce9zda3Mnf8on1S5KJI8P2jKFZ8+5C0jhmr0KwJEO/Wdpm0VeWJQ==", + "engines": { + "node": "*" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/mysql2": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-2.3.3.tgz", + "integrity": "sha512-wxJUev6LgMSgACDkb/InIFxDprRa6T95+VEoR+xPvtngtccNH2dGjEB/fVZ8yg1gWv1510c9CvXuJHi5zUm0ZA==", + "dependencies": { + "denque": "^2.0.1", + "generate-function": "^2.3.1", + "iconv-lite": "^0.6.3", + "long": "^4.0.0", + "lru-cache": "^6.0.0", + "named-placeholders": "^1.1.2", + "seq-queue": "^0.0.5", + "sqlstring": "^2.3.2" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/mysql2/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/named-placeholders": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.2.tgz", + "integrity": "sha512-wiFWqxoLL3PGVReSZpjLVxyJ1bRqe+KKJVbr4hGs1KWfTZTQyezHFBbuKj9hsizHyGV2ne7EMjHdxEGAybD5SA==", + "dependencies": { + "lru-cache": "^4.1.3" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/named-placeholders/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/named-placeholders/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/seq-queue": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz", + "integrity": "sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q==" + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sqlstring": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz", + "integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + }, + "dependencies": { + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + } + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "cron": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cron/-/cron-2.1.0.tgz", + "integrity": "sha512-Hq7u3P8y7UWYvsZbSKHHJDVG0VO9O7tp2qljxzTScelcTODBfCme8AIhnZsFwmQ9NchZ3hr2uNr+s3DSms7q6w==", + "requires": { + "luxon": "^1.23.x" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "denque": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==" + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "dotenv": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==" + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + }, + "express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "requires": { + "is-property": "^1.0.2" + } + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==" + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "luxon": { + "version": "1.28.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.28.0.tgz", + "integrity": "sha512-TfTiyvZhwBYM/7QdAVDh+7dBTBA29v4ik0Ce9zda3Mnf8on1S5KJI8P2jKFZ8+5C0jhmr0KwJEO/Wdpm0VeWJQ==" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "mysql2": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-2.3.3.tgz", + "integrity": "sha512-wxJUev6LgMSgACDkb/InIFxDprRa6T95+VEoR+xPvtngtccNH2dGjEB/fVZ8yg1gWv1510c9CvXuJHi5zUm0ZA==", + "requires": { + "denque": "^2.0.1", + "generate-function": "^2.3.1", + "iconv-lite": "^0.6.3", + "long": "^4.0.0", + "lru-cache": "^6.0.0", + "named-placeholders": "^1.1.2", + "seq-queue": "^0.0.5", + "sqlstring": "^2.3.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "named-placeholders": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.2.tgz", + "integrity": "sha512-wiFWqxoLL3PGVReSZpjLVxyJ1bRqe+KKJVbr4hGs1KWfTZTQyezHFBbuKj9hsizHyGV2ne7EMjHdxEGAybD5SA==", + "requires": { + "lru-cache": "^4.1.3" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" + } + } + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "requires": { + "ee-first": "1.1.1" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "seq-queue": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz", + "integrity": "sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q==" + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "sqlstring": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz", + "integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==" + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } +} diff --git a/code/server/package.json b/code/server/package.json index e83cbbd..708948d 100644 --- a/code/server/package.json +++ b/code/server/package.json @@ -1,19 +1,19 @@ -{ - "name": "server", - "version": "1.0.0", - "description": "", - "main": "index.js", - "type": "module", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "Telereview", - "license": "ISC", - "dependencies": { - "body-parser": "^1.20.1", - "cron": "^2.1.0", - "dotenv": "^16.0.3", - "express": "^4.18.2", - "mysql2": "^2.3.3" - } -} +{ + "name": "server", + "version": "1.0.0", + "description": "", + "main": "index.js", + "type": "module", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "Telereview", + "license": "ISC", + "dependencies": { + "body-parser": "^1.20.1", + "cron": "^2.1.0", + "dotenv": "^16.0.3", + "express": "^4.18.2", + "mysql2": "^2.3.3" + } +} diff --git a/code/server/reseaux_sociaux/post_handler.js b/code/server/reseaux_sociaux/post_handler.js index 79fb441..9b27aee 100644 --- a/code/server/reseaux_sociaux/post_handler.js +++ b/code/server/reseaux_sociaux/post_handler.js @@ -1,85 +1,85 @@ -import { ReseauxAuteur, ReseauxReview } from './structures.js'; -import conn from '../database.js'; -import {getSourceId} from '../utils.js'; - -/**Récupérer l'id d'un auteur particulier dans la base de donnée s'il existe - * @param {ReseauxAuteur} author L'auteur dont on veut l'id* - * @returns Une Promise qui donne l'id de l'utilisateur ou null si il n'existe pas - */ -const getAuteurId = (author) => { - return new Promise(async (resolve,reject) => { - const sql = "SELECT id FROM reseaux_sociaux_auteurs WHERE nom_utilisateur = ? AND source_id = ? AND lien = ?;" - let sourceId = await getSourceId(author.source); - let query = conn.query(sql, [author.nom, sourceId, author.lien], (err, res) => { - if(err) { - reject(new Error(err.message)) - }else { - if(res.length > 0) { - resolve(res[0].id); - }else { - resolve(null); - } - } - }) - }) -} - - -/** - * ajoute un auteur de commentaire sur les réseaux sociaux a la bdd - * @param {ReseauxAuteur} author - * @returns Une Promise qui donne l'id de l'utilisateur - */ -const addAuteur = (author, sourceId) => { - return new Promise((resolve,reject) => { - const sql = "INSERT INTO reseaux_sociaux_auteurs (nom_utilisateur, source_id, lien) VALUES (?);" - conn.query(sql, [[author.nom,sourceId, author.lien]], (err, res) => { - if(err) { - reject(new Error(err.message)) - }else { - resolve(res.insertId); - } - }) - }) -} - -/** - * Ajoute un avis dans la BDD - * @param {ReseauxReview} review L'avis a ajouter - * @param {Number} authorId ID de l'auteur dans la bdd - * @param {Number} sourceId ID Du réseau social source dans la bdd - * @returns une Promise qui renvoie l'ID de la review - */ -const addReview = (review, authorId, sourceId) => { - return new Promise((resolve, reject) => { - const sql = "INSERT INTO reseaux_sociaux_avis (source_id, note, commentaire, auteur_id, lien_source, date) VALUES (?);" - conn.query(sql, [[sourceId, review.note, review.commentaire, authorId, review.lien, review.date]], (err, res) => { - if(err) { - reject(new Error(err.message)) - }else { - resolve(res.insertId); - } - }) - }) -} - -/** - * Traite une requête POST pour ajouter un avis récupéré sur les réseaux sociaux - * @param {*} req - * @param {*} res - */ -export const addSocialReviewFromRequest = async (req,res) => { - try { - const author = new ReseauxAuteur(req.body.auteur_nom, req.body.source, req.body.auteur_lien); - const review = new ReseauxReview(author, req.body.source, req.body.date, req.body.note, req.body.commentaire, req.body.lien) - let sourceId = await getSourceId(review.source); - let authorId = await getAuteurId(author); - if(authorId == null) { - authorId = await addAuteur(author, sourceId); - } - await addReview(review, authorId, sourceId); - res.send("success") - }catch(err) { - res.status(500).send("Error : " + err.message) - } +import { ReseauxAuteur, ReseauxReview } from './structures.js'; +import conn from '../database.js'; +import {getSourceId} from '../utils.js'; + +/**Récupérer l'id d'un auteur particulier dans la base de donnée s'il existe + * @param {ReseauxAuteur} author L'auteur dont on veut l'id* + * @returns Une Promise qui donne l'id de l'utilisateur ou null si il n'existe pas + */ +const getAuteurId = (author) => { + return new Promise(async (resolve,reject) => { + const sql = "SELECT id FROM reseaux_sociaux_auteurs WHERE nom_utilisateur = ? AND source_id = ? AND lien = ?;" + let sourceId = await getSourceId(author.source); + let query = conn.query(sql, [author.nom, sourceId, author.lien], (err, res) => { + if(err) { + reject(new Error(err.message)) + }else { + if(res.length > 0) { + resolve(res[0].id); + }else { + resolve(null); + } + } + }) + }) +} + + +/** + * ajoute un auteur de commentaire sur les réseaux sociaux a la bdd + * @param {ReseauxAuteur} author + * @returns Une Promise qui donne l'id de l'utilisateur + */ +const addAuteur = (author, sourceId) => { + return new Promise((resolve,reject) => { + const sql = "INSERT INTO reseaux_sociaux_auteurs (nom_utilisateur, source_id, lien) VALUES (?);" + conn.query(sql, [[author.nom,sourceId, author.lien]], (err, res) => { + if(err) { + reject(new Error(err.message)) + }else { + resolve(res.insertId); + } + }) + }) +} + +/** + * Ajoute un avis dans la BDD + * @param {ReseauxReview} review L'avis a ajouter + * @param {Number} authorId ID de l'auteur dans la bdd + * @param {Number} sourceId ID Du réseau social source dans la bdd + * @returns une Promise qui renvoie l'ID de la review + */ +const addReview = (review, authorId, sourceId) => { + return new Promise((resolve, reject) => { + const sql = "INSERT INTO reseaux_sociaux_avis (source_id, note, commentaire, auteur_id, lien_source, date) VALUES (?);" + conn.query(sql, [[sourceId, review.note, review.commentaire, authorId, review.lien, review.date]], (err, res) => { + if(err) { + reject(new Error(err.message)) + }else { + resolve(res.insertId); + } + }) + }) +} + +/** + * Traite une requête POST pour ajouter un avis récupéré sur les réseaux sociaux + * @param {*} req + * @param {*} res + */ +export const addSocialReviewFromRequest = async (req,res) => { + try { + const author = new ReseauxAuteur(req.body.auteur_nom, req.body.source, req.body.auteur_lien); + const review = new ReseauxReview(author, req.body.source, req.body.date, req.body.note, req.body.commentaire, req.body.lien) + let sourceId = await getSourceId(review.source); + let authorId = await getAuteurId(author); + if(authorId == null) { + authorId = await addAuteur(author, sourceId); + } + await addReview(review, authorId, sourceId); + res.send("success") + }catch(err) { + res.status(500).send("Error : " + err.message) + } } \ No newline at end of file diff --git a/code/server/reseaux_sociaux/structures.js b/code/server/reseaux_sociaux/structures.js index b2761ac..63273ef 100644 --- a/code/server/reseaux_sociaux/structures.js +++ b/code/server/reseaux_sociaux/structures.js @@ -1,39 +1,39 @@ -import { Review } from "../borne/structures.js"; - -export class ReseauxReview extends Review{ - /** - * - * @param {ReseauxAuteur} auteur Auteur de l'avis - * @param {String} source La source de l'avis - * @param {String} date La date de l'avis au format YYYY-MM-DD - * @param {Number} note Nombre entre 0 et 10, la note attribuée - * @param {String} commentaire Le commentaire laissé par l'utilisateur - * @param {String} lien Lien vers le commentaire - */ - constructor(auteur, source, date, note=null, commentaire=null, lien=null,) { - super(auteur,note,source,commentaire); - this.lien = lien; - this.date = date; - if((typeof lien !== "string" && lien != null)) { - throw new Error("Lien invalide"); - } - } -} - -export class ReseauxAuteur { - /** - * - * @param {String} nom Nom de l'utilisateur - * @param {String} source Réseau social de provenance de l'utilisateur - * @param {String} lien Lien vers le profil de l'utilisateur - */ - constructor(nom, source, lien=null) { - this.nom = nom; - this.source = source; - this.lien = lien; - - if((typeof this.nom !== "string") || (typeof this.source !== "string")){ - throw new Error("Auteur invalide"); - } - } +import { Review } from "../borne/structures.js"; + +export class ReseauxReview extends Review{ + /** + * + * @param {ReseauxAuteur} auteur Auteur de l'avis + * @param {String} source La source de l'avis + * @param {String} date La date de l'avis au format YYYY-MM-DD + * @param {Number} note Nombre entre 0 et 10, la note attribuée + * @param {String} commentaire Le commentaire laissé par l'utilisateur + * @param {String} lien Lien vers le commentaire + */ + constructor(auteur, source, date, note=null, commentaire=null, lien=null,) { + super(auteur,note,source,commentaire); + this.lien = lien; + this.date = date; + if((typeof lien !== "string" && lien != null)) { + throw new Error("Lien invalide"); + } + } +} + +export class ReseauxAuteur { + /** + * + * @param {String} nom Nom de l'utilisateur + * @param {String} source Réseau social de provenance de l'utilisateur + * @param {String} lien Lien vers le profil de l'utilisateur + */ + constructor(nom, source, lien=null) { + this.nom = nom; + this.source = source; + this.lien = lien; + + if((typeof this.nom !== "string") || (typeof this.source !== "string")){ + throw new Error("Auteur invalide"); + } + } } \ No newline at end of file diff --git a/code/server/stats/update_request.sql b/code/server/stats/update_request.sql index 0dcd64e..bc728b5 100644 --- a/code/server/stats/update_request.sql +++ b/code/server/stats/update_request.sql @@ -1,50 +1,50 @@ -/* -Dans cette requête il faut replacer DAY_COUNT_DELAY par le nombre de jours sur lequel calculer les stats, STATS_GENERAL_TABLE_NAME par la table dans laquelle mettre les stats globales (par exemple stats_general_jour si les valeurs sont calculées sur 1 jour) et pareil pour STATS_AUTRES_TABLE_NAME -C'est un peu bizzare comme technique mais j'ai pas trouvé de meilleur solution -*/ -SET @date_limite = DATE_ADD(NOW(), INTERVAL -DAY_COUNT_DELAY DAY); - -/* -On récupère les notes notes moyennes sur la periode, en séparant global, borne et site -*/ - -SELECT @moyenne_globale:=AVG(note_principale) - FROM borne_avis - WHERE borne_avis.date > @date_limite; - -SELECT @moyenne_borne:=AVG(note_principale) - FROM borne_avis - JOIN sources ON sources.id = borne_avis.source_id - WHERE borne_avis.date > @date_limite AND sources.nom = "borne"; - -SELECT @moyenne_site:=AVG(note_principale) - FROM borne_avis - JOIN sources ON sources.id = borne_avis.source_id - WHERE borne_avis.date > @date_limite AND sources.nom = "website"; - -/* -On récupère la distribution de sexes -*/ - -SELECT @stats_f:=COUNT(*) FROM borne_avis - JOIN borne_auteurs ON borne_avis.id_auteur = borne_auteurs.id - WHERE sexe='f' AND date > @date_limite; -SELECT @stats_h:=COUNT(*) FROM borne_avis - JOIN borne_auteurs ON borne_avis.id_auteur = borne_auteurs.id - WHERE sexe='h' AND date > @date_limite; -SELECT @stats_a:=COUNT(*) FROM borne_avis - JOIN borne_auteurs ON borne_avis.id_auteur = borne_auteurs.id - WHERE sexe='a' AND date > @date_limite; - -SET @dist_sexe = CONCAT(@stats_f,",",@stats_h,",",@stats_a); - -INSERT INTO STATS_GENERAL_TABLE_NAME (moyenne_globale, moyenne_borne, moyenne_site, dist_sexe) VALUES (@moyenne_globale, @moyenne_borne, @moyenne_site, @dist_sexe); - -INSERT INTO STATS_AUTRES_TABLE_NAME (critere_id, note) - SELECT critere_id, AVG(note) as moyenne FROM borne_notes_autre - WHERE borne_notes_autre.date > @date_limite - GROUP BY critere_id - -/* -TODO : Calcul de la distribution d'age +/* +Dans cette requête il faut replacer DAY_COUNT_DELAY par le nombre de jours sur lequel calculer les stats, STATS_GENERAL_TABLE_NAME par la table dans laquelle mettre les stats globales (par exemple stats_general_jour si les valeurs sont calculées sur 1 jour) et pareil pour STATS_AUTRES_TABLE_NAME +C'est un peu bizzare comme technique mais j'ai pas trouvé de meilleur solution +*/ +SET @date_limite = DATE_ADD(NOW(), INTERVAL -DAY_COUNT_DELAY DAY); + +/* +On récupère les notes notes moyennes sur la periode, en séparant global, borne et site +*/ + +SELECT @moyenne_globale:=AVG(note_principale) + FROM borne_avis + WHERE borne_avis.date > @date_limite; + +SELECT @moyenne_borne:=AVG(note_principale) + FROM borne_avis + JOIN sources ON sources.id = borne_avis.source_id + WHERE borne_avis.date > @date_limite AND sources.nom = "borne"; + +SELECT @moyenne_site:=AVG(note_principale) + FROM borne_avis + JOIN sources ON sources.id = borne_avis.source_id + WHERE borne_avis.date > @date_limite AND sources.nom = "website"; + +/* +On récupère la distribution de sexes +*/ + +SELECT @stats_f:=COUNT(*) FROM borne_avis + JOIN borne_auteurs ON borne_avis.id_auteur = borne_auteurs.id + WHERE sexe='f' AND date > @date_limite; +SELECT @stats_h:=COUNT(*) FROM borne_avis + JOIN borne_auteurs ON borne_avis.id_auteur = borne_auteurs.id + WHERE sexe='h' AND date > @date_limite; +SELECT @stats_a:=COUNT(*) FROM borne_avis + JOIN borne_auteurs ON borne_avis.id_auteur = borne_auteurs.id + WHERE sexe='a' AND date > @date_limite; + +SET @dist_sexe = CONCAT(@stats_f,",",@stats_h,",",@stats_a); + +INSERT INTO STATS_GENERAL_TABLE_NAME (moyenne_globale, moyenne_borne, moyenne_site, dist_sexe) VALUES (@moyenne_globale, @moyenne_borne, @moyenne_site, @dist_sexe); + +INSERT INTO STATS_AUTRES_TABLE_NAME (critere_id, note) + SELECT critere_id, AVG(note) as moyenne FROM borne_notes_autre + WHERE borne_notes_autre.date > @date_limite + GROUP BY critere_id + +/* +TODO : Calcul de la distribution d'age */ \ No newline at end of file diff --git a/code/server/stats/update_stats.js b/code/server/stats/update_stats.js index 2f3c24e..6bcc30a 100644 --- a/code/server/stats/update_stats.js +++ b/code/server/stats/update_stats.js @@ -1,69 +1,69 @@ -import conn from '../database.js'; -import fs from "fs"; -import { CronJob } from 'cron'; - -/** - * Calcules les stats sur une periode donnée et les stocke dans la BDD - * @param {Number} timePeriod Periode de temps sur laquelle calculer les données. Par exemple 7 si on veut faire les stats des 7 derniers jours - * @param {String} generalTableName Nom de la table dans laquelle mettre les statistiques générales (tables valides : stats_general_jour stats_general_semaine stats_general_mois stats_general_annee) - * @param {*} otherTableName Nom de la table dans laquelle mettre les statistiques spécifiques (tables valides : stats_autres_jour stats_autres_autres_autres_mois stats_general_annee) - * @returns Une Promise qui résout si la requête a fonctionnée - */ -const computeStats = async (timePeriod, generalTableName, otherTableName) => { - return new Promise((resolve, reject) => { - let sql = fs.readFileSync("stats/update_request.sql").toString(); - sql = sql - .replace(new RegExp("DAY_COUNT_DELAY",'g'), timePeriod.toString()) - .replace(new RegExp("STATS_GENERAL_TABLE_NAME", 'g'), generalTableName) - .replace(new RegExp('STATS_AUTRES_TABLE_NAME', 'g'), otherTableName) - conn.query(sql, (err, res) => { - if(err) { - reject(err) - }else { - resolve(); - } - }); - }) -} -export const startCronJobs = () => { - //Update les stats journalières tout les jours a minuit - new CronJob( - '0 0 * * * * ', - () => { - computeStats(1,"stats_general_jour","stats_autres_jour"); - }, - null, - true - ) - - //update les stats de la semaine tous les lundis a minuit - new CronJob( - '0 0 * * 1 * ', - () => { - computeStats(7,"stats_general_semaine","stats_autres_jour"); - }, - null, - true - ) - - //update les stats mensuelles les 1er du mois a minuit - new CronJob( - '0 0 1 * * * ', - () => { - computeStats(30, "stats_general_mois","stats_autres_mois"); - }, - null, - true - ) - - //update les stats annuelles les premire de l'an a minuit - new CronJob( - '0 0 1 1 * * ', - () => { - computeStats(365, "stats_general_annee","stats_autres_annee"); - }, - null, - true - ) - console.log("All cronjobs initiated") +import conn from '../database.js'; +import fs from "fs"; +import { CronJob } from 'cron'; + +/** + * Calcules les stats sur une periode donnée et les stocke dans la BDD + * @param {Number} timePeriod Periode de temps sur laquelle calculer les données. Par exemple 7 si on veut faire les stats des 7 derniers jours + * @param {String} generalTableName Nom de la table dans laquelle mettre les statistiques générales (tables valides : stats_general_jour stats_general_semaine stats_general_mois stats_general_annee) + * @param {*} otherTableName Nom de la table dans laquelle mettre les statistiques spécifiques (tables valides : stats_autres_jour stats_autres_autres_autres_mois stats_general_annee) + * @returns Une Promise qui résout si la requête a fonctionnée + */ +const computeStats = async (timePeriod, generalTableName, otherTableName) => { + return new Promise((resolve, reject) => { + let sql = fs.readFileSync("stats/update_request.sql").toString(); + sql = sql + .replace(new RegExp("DAY_COUNT_DELAY",'g'), timePeriod.toString()) + .replace(new RegExp("STATS_GENERAL_TABLE_NAME", 'g'), generalTableName) + .replace(new RegExp('STATS_AUTRES_TABLE_NAME', 'g'), otherTableName) + conn.query(sql, (err, res) => { + if(err) { + reject(err) + }else { + resolve(); + } + }); + }) +} +export const startCronJobs = () => { + //Update les stats journalières tout les jours a minuit + new CronJob( + '0 0 * * * * ', + () => { + computeStats(1,"stats_general_jour","stats_autres_jour"); + }, + null, + true + ) + + //update les stats de la semaine tous les lundis a minuit + new CronJob( + '0 0 * * 1 * ', + () => { + computeStats(7,"stats_general_semaine","stats_autres_jour"); + }, + null, + true + ) + + //update les stats mensuelles les 1er du mois a minuit + new CronJob( + '0 0 1 * * * ', + () => { + computeStats(30, "stats_general_mois","stats_autres_mois"); + }, + null, + true + ) + + //update les stats annuelles les premire de l'an a minuit + new CronJob( + '0 0 1 1 * * ', + () => { + computeStats(365, "stats_general_annee","stats_autres_annee"); + }, + null, + true + ) + console.log("All cronjobs initiated") } \ No newline at end of file diff --git a/code/server/utils.js b/code/server/utils.js index 2a1930d..1c3f494 100644 --- a/code/server/utils.js +++ b/code/server/utils.js @@ -1,19 +1,19 @@ -import conn from './database.js'; - -/** - * Renvoie l'ID dans la BDD d'une source de donnée - * @param {String} source la source dont on veut récup l'id - * @returns une promise qui renvoie l'id de la source - */ -export const getSourceId = (source) => { - return new Promise((resolve, reject) => { - const sql = "SELECT id from sources WHERE nom = ?"; - conn.query(sql, [source], (err, res) => { - if(res.length == 0) { - reject(new Error("Invalid source")) - }else { - resolve(res[0].id); - } - }) - }) -} +import conn from './database.js'; + +/** + * Renvoie l'ID dans la BDD d'une source de donnée + * @param {String} source la source dont on veut récup l'id + * @returns une promise qui renvoie l'id de la source + */ +export const getSourceId = (source) => { + return new Promise((resolve, reject) => { + const sql = "SELECT id from sources WHERE nom = ?"; + conn.query(sql, [source], (err, res) => { + if(res.length == 0) { + reject(new Error("Invalid source")) + }else { + resolve(res[0].id); + } + }) + }) +} diff --git a/code/sql/telereview.sql b/code/sql/telereview.sql index 5524e98..962bcfe 100644 --- a/code/sql/telereview.sql +++ b/code/sql/telereview.sql @@ -1,444 +1,444 @@ --- phpMyAdmin SQL Dump --- version 4.9.5deb2 --- https://www.phpmyadmin.net/ --- --- Host: localhost:3306 --- Generation Time: Dec 26, 2022 at 10:31 AM --- Server version: 8.0.31-0ubuntu0.20.04.1 --- PHP Version: 7.4.3 - -SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; -SET AUTOCOMMIT = 0; -START TRANSACTION; -SET time_zone = "+00:00"; - - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8mb4 */; - --- --- Database: `telereview` --- -CREATE DATABASE IF NOT EXISTS `telereview` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci; -USE `telereview`; - --- -------------------------------------------------------- - --- --- Table structure for table `borne_auteurs` --- - -CREATE TABLE `borne_auteurs` ( - `id` int NOT NULL, - `sexe` tinytext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci, - `age` tinyint DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `borne_avis` --- - -CREATE TABLE `borne_avis` ( - `id` int NOT NULL, - `id_auteur` int NOT NULL, - `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `note_principale` tinyint NOT NULL, - `commentaire` text NOT NULL, - `source_id` int NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `borne_criteres` --- - -CREATE TABLE `borne_criteres` ( - `id` int NOT NULL, - `nom` text NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - --- --- Dumping data for table `borne_criteres` --- - -INSERT INTO `borne_criteres` (`id`, `nom`) VALUES -(1, 'proprete'), -(2, 'calme'), -(3, 'attente'); - --- -------------------------------------------------------- - --- --- Table structure for table `borne_notes_autre` --- - -CREATE TABLE `borne_notes_autre` ( - `id` int NOT NULL, - `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `critere_id` int NOT NULL, - `avis_id` int NOT NULL, - `note` int NOT NULL COMMENT 'Note sur 10' -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `reseaux_sociaux_auteurs` --- - -CREATE TABLE `reseaux_sociaux_auteurs` ( - `id` int NOT NULL, - `nom_utilisateur` text NOT NULL, - `source_id` int NOT NULL, - `lien` text NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `reseaux_sociaux_avis` --- - -CREATE TABLE `reseaux_sociaux_avis` ( - `id` int NOT NULL, - `date` date NOT NULL, - `source_id` int NOT NULL, - `note` tinyint DEFAULT NULL, - `commentaire` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci, - `auteur_id` int NOT NULL, - `lien_source` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `sources` --- - -CREATE TABLE `sources` ( - `id` int NOT NULL, - `nom` text NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - --- --- Dumping data for table `sources` --- - -INSERT INTO `sources` (`id`, `nom`) VALUES -(1, 'website'), -(2, 'borne'), -(3, 'instagram'); - --- -------------------------------------------------------- - --- --- Table structure for table `stats_autres_annee` --- - -CREATE TABLE `stats_autres_annee` ( - `id` int NOT NULL, - `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `critere_id` int NOT NULL, - `note` float NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `stats_autres_jour` --- - -CREATE TABLE `stats_autres_jour` ( - `id` int NOT NULL, - `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `critere_id` int NOT NULL, - `note` float NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `stats_autres_mois` --- - -CREATE TABLE `stats_autres_mois` ( - `id` int NOT NULL, - `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `critere_id` int NOT NULL, - `note` float NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `stats_autres_semaine` --- - -CREATE TABLE `stats_autres_semaine` ( - `id` int NOT NULL, - `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `critere_id` int NOT NULL, - `note` float NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `stats_general_annee` --- - -CREATE TABLE `stats_general_annee` ( - `id` int NOT NULL, - `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `moyenne_globale` float NOT NULL, - `moyenne_site` float NOT NULL, - `moyenne_borne` float NOT NULL, - `dist_age` text NOT NULL COMMENT 'Distribution de l''age des auteurs', - `dist_sexe` text NOT NULL COMMENT 'Distribution du sexe des auteurs' -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `stats_general_jour` --- - -CREATE TABLE `stats_general_jour` ( - `id` int NOT NULL, - `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `moyenne_globale` float DEFAULT NULL, - `moyenne_site` float DEFAULT NULL, - `moyenne_borne` float DEFAULT NULL, - `dist_age` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT 'Distribution de l''age des auteurs', - `dist_sexe` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT 'Distribution du sexe des auteurs' -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `stats_general_mois` --- - -CREATE TABLE `stats_general_mois` ( - `id` int NOT NULL, - `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `moyenne_globale` float NOT NULL, - `moyenne_site` float NOT NULL, - `moyenne_borne` float NOT NULL, - `dist_age` text NOT NULL COMMENT 'Distribution de l''age des auteurs', - `dist_sexe` text NOT NULL COMMENT 'Distribution du sexe des auteurs' -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - --- -------------------------------------------------------- - --- --- Table structure for table `stats_general_semaine` --- - -CREATE TABLE `stats_general_semaine` ( - `id` int NOT NULL, - `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `moyenne_globale` float NOT NULL, - `moyenne_site` float NOT NULL, - `moyenne_borne` float NOT NULL, - `dist_age` text NOT NULL COMMENT 'Distribution de l''age des auteurs', - `dist_sexe` text NOT NULL COMMENT 'Distribution du sexe des auteurs' -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - --- --- Indexes for dumped tables --- - --- --- Indexes for table `borne_auteurs` --- -ALTER TABLE `borne_auteurs` - ADD PRIMARY KEY (`id`); - --- --- Indexes for table `borne_avis` --- -ALTER TABLE `borne_avis` - ADD PRIMARY KEY (`id`); - --- --- Indexes for table `borne_criteres` --- -ALTER TABLE `borne_criteres` - ADD PRIMARY KEY (`id`); - --- --- Indexes for table `borne_notes_autre` --- -ALTER TABLE `borne_notes_autre` - ADD PRIMARY KEY (`id`); - --- --- Indexes for table `reseaux_sociaux_auteurs` --- -ALTER TABLE `reseaux_sociaux_auteurs` - ADD PRIMARY KEY (`id`); - --- --- Indexes for table `reseaux_sociaux_avis` --- -ALTER TABLE `reseaux_sociaux_avis` - ADD PRIMARY KEY (`id`); - --- --- Indexes for table `sources` --- -ALTER TABLE `sources` - ADD PRIMARY KEY (`id`); - --- --- Indexes for table `stats_autres_annee` --- -ALTER TABLE `stats_autres_annee` - ADD PRIMARY KEY (`id`); - --- --- Indexes for table `stats_autres_jour` --- -ALTER TABLE `stats_autres_jour` - ADD PRIMARY KEY (`id`); - --- --- Indexes for table `stats_autres_mois` --- -ALTER TABLE `stats_autres_mois` - ADD PRIMARY KEY (`id`); - --- --- Indexes for table `stats_autres_semaine` --- -ALTER TABLE `stats_autres_semaine` - ADD PRIMARY KEY (`id`); - --- --- Indexes for table `stats_general_annee` --- -ALTER TABLE `stats_general_annee` - ADD PRIMARY KEY (`id`); - --- --- Indexes for table `stats_general_jour` --- -ALTER TABLE `stats_general_jour` - ADD PRIMARY KEY (`id`); - --- --- Indexes for table `stats_general_mois` --- -ALTER TABLE `stats_general_mois` - ADD PRIMARY KEY (`id`); - --- --- Indexes for table `stats_general_semaine` --- -ALTER TABLE `stats_general_semaine` - ADD PRIMARY KEY (`id`); - --- --- AUTO_INCREMENT for dumped tables --- - --- --- AUTO_INCREMENT for table `borne_auteurs` --- -ALTER TABLE `borne_auteurs` - MODIFY `id` int NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `borne_avis` --- -ALTER TABLE `borne_avis` - MODIFY `id` int NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `borne_criteres` --- -ALTER TABLE `borne_criteres` - MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4; - --- --- AUTO_INCREMENT for table `borne_notes_autre` --- -ALTER TABLE `borne_notes_autre` - MODIFY `id` int NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `reseaux_sociaux_auteurs` --- -ALTER TABLE `reseaux_sociaux_auteurs` - MODIFY `id` int NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `reseaux_sociaux_avis` --- -ALTER TABLE `reseaux_sociaux_avis` - MODIFY `id` int NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `sources` --- -ALTER TABLE `sources` - MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4; - --- --- AUTO_INCREMENT for table `stats_autres_annee` --- -ALTER TABLE `stats_autres_annee` - MODIFY `id` int NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `stats_autres_jour` --- -ALTER TABLE `stats_autres_jour` - MODIFY `id` int NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `stats_autres_mois` --- -ALTER TABLE `stats_autres_mois` - MODIFY `id` int NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `stats_autres_semaine` --- -ALTER TABLE `stats_autres_semaine` - MODIFY `id` int NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `stats_general_annee` --- -ALTER TABLE `stats_general_annee` - MODIFY `id` int NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `stats_general_jour` --- -ALTER TABLE `stats_general_jour` - MODIFY `id` int NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `stats_general_mois` --- -ALTER TABLE `stats_general_mois` - MODIFY `id` int NOT NULL AUTO_INCREMENT; - --- --- AUTO_INCREMENT for table `stats_general_semaine` --- -ALTER TABLE `stats_general_semaine` - MODIFY `id` int NOT NULL AUTO_INCREMENT; -COMMIT; - -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +-- phpMyAdmin SQL Dump +-- version 4.9.5deb2 +-- https://www.phpmyadmin.net/ +-- +-- Host: localhost:3306 +-- Generation Time: Dec 26, 2022 at 10:31 AM +-- Server version: 8.0.31-0ubuntu0.20.04.1 +-- PHP Version: 7.4.3 + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +SET AUTOCOMMIT = 0; +START TRANSACTION; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; + +-- +-- Database: `telereview` +-- +CREATE DATABASE IF NOT EXISTS `telereview` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +USE `telereview`; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `borne_auteurs` +-- + +CREATE TABLE `borne_auteurs` ( + `id` int NOT NULL, + `sexe` tinytext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci, + `age` tinyint DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `borne_avis` +-- + +CREATE TABLE `borne_avis` ( + `id` int NOT NULL, + `id_auteur` int NOT NULL, + `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `note_principale` tinyint NOT NULL, + `commentaire` text NOT NULL, + `source_id` int NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `borne_criteres` +-- + +CREATE TABLE `borne_criteres` ( + `id` int NOT NULL, + `nom` text NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- +-- Dumping data for table `borne_criteres` +-- + +INSERT INTO `borne_criteres` (`id`, `nom`) VALUES +(1, 'proprete'), +(2, 'calme'), +(3, 'attente'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `borne_notes_autre` +-- + +CREATE TABLE `borne_notes_autre` ( + `id` int NOT NULL, + `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `critere_id` int NOT NULL, + `avis_id` int NOT NULL, + `note` int NOT NULL COMMENT 'Note sur 10' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `reseaux_sociaux_auteurs` +-- + +CREATE TABLE `reseaux_sociaux_auteurs` ( + `id` int NOT NULL, + `nom_utilisateur` text NOT NULL, + `source_id` int NOT NULL, + `lien` text NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `reseaux_sociaux_avis` +-- + +CREATE TABLE `reseaux_sociaux_avis` ( + `id` int NOT NULL, + `date` date NOT NULL, + `source_id` int NOT NULL, + `note` tinyint DEFAULT NULL, + `commentaire` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci, + `auteur_id` int NOT NULL, + `lien_source` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `sources` +-- + +CREATE TABLE `sources` ( + `id` int NOT NULL, + `nom` text NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- +-- Dumping data for table `sources` +-- + +INSERT INTO `sources` (`id`, `nom`) VALUES +(1, 'website'), +(2, 'borne'), +(3, 'instagram'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `stats_autres_annee` +-- + +CREATE TABLE `stats_autres_annee` ( + `id` int NOT NULL, + `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `critere_id` int NOT NULL, + `note` float NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `stats_autres_jour` +-- + +CREATE TABLE `stats_autres_jour` ( + `id` int NOT NULL, + `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `critere_id` int NOT NULL, + `note` float NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `stats_autres_mois` +-- + +CREATE TABLE `stats_autres_mois` ( + `id` int NOT NULL, + `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `critere_id` int NOT NULL, + `note` float NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `stats_autres_semaine` +-- + +CREATE TABLE `stats_autres_semaine` ( + `id` int NOT NULL, + `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `critere_id` int NOT NULL, + `note` float NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `stats_general_annee` +-- + +CREATE TABLE `stats_general_annee` ( + `id` int NOT NULL, + `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `moyenne_globale` float NOT NULL, + `moyenne_site` float NOT NULL, + `moyenne_borne` float NOT NULL, + `dist_age` text NOT NULL COMMENT 'Distribution de l''age des auteurs', + `dist_sexe` text NOT NULL COMMENT 'Distribution du sexe des auteurs' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `stats_general_jour` +-- + +CREATE TABLE `stats_general_jour` ( + `id` int NOT NULL, + `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `moyenne_globale` float DEFAULT NULL, + `moyenne_site` float DEFAULT NULL, + `moyenne_borne` float DEFAULT NULL, + `dist_age` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT 'Distribution de l''age des auteurs', + `dist_sexe` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT 'Distribution du sexe des auteurs' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `stats_general_mois` +-- + +CREATE TABLE `stats_general_mois` ( + `id` int NOT NULL, + `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `moyenne_globale` float NOT NULL, + `moyenne_site` float NOT NULL, + `moyenne_borne` float NOT NULL, + `dist_age` text NOT NULL COMMENT 'Distribution de l''age des auteurs', + `dist_sexe` text NOT NULL COMMENT 'Distribution du sexe des auteurs' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `stats_general_semaine` +-- + +CREATE TABLE `stats_general_semaine` ( + `id` int NOT NULL, + `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `moyenne_globale` float NOT NULL, + `moyenne_site` float NOT NULL, + `moyenne_borne` float NOT NULL, + `dist_age` text NOT NULL COMMENT 'Distribution de l''age des auteurs', + `dist_sexe` text NOT NULL COMMENT 'Distribution du sexe des auteurs' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- +-- Indexes for dumped tables +-- + +-- +-- Indexes for table `borne_auteurs` +-- +ALTER TABLE `borne_auteurs` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `borne_avis` +-- +ALTER TABLE `borne_avis` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `borne_criteres` +-- +ALTER TABLE `borne_criteres` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `borne_notes_autre` +-- +ALTER TABLE `borne_notes_autre` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `reseaux_sociaux_auteurs` +-- +ALTER TABLE `reseaux_sociaux_auteurs` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `reseaux_sociaux_avis` +-- +ALTER TABLE `reseaux_sociaux_avis` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `sources` +-- +ALTER TABLE `sources` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `stats_autres_annee` +-- +ALTER TABLE `stats_autres_annee` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `stats_autres_jour` +-- +ALTER TABLE `stats_autres_jour` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `stats_autres_mois` +-- +ALTER TABLE `stats_autres_mois` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `stats_autres_semaine` +-- +ALTER TABLE `stats_autres_semaine` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `stats_general_annee` +-- +ALTER TABLE `stats_general_annee` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `stats_general_jour` +-- +ALTER TABLE `stats_general_jour` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `stats_general_mois` +-- +ALTER TABLE `stats_general_mois` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `stats_general_semaine` +-- +ALTER TABLE `stats_general_semaine` + ADD PRIMARY KEY (`id`); + +-- +-- AUTO_INCREMENT for dumped tables +-- + +-- +-- AUTO_INCREMENT for table `borne_auteurs` +-- +ALTER TABLE `borne_auteurs` + MODIFY `id` int NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `borne_avis` +-- +ALTER TABLE `borne_avis` + MODIFY `id` int NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `borne_criteres` +-- +ALTER TABLE `borne_criteres` + MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4; + +-- +-- AUTO_INCREMENT for table `borne_notes_autre` +-- +ALTER TABLE `borne_notes_autre` + MODIFY `id` int NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `reseaux_sociaux_auteurs` +-- +ALTER TABLE `reseaux_sociaux_auteurs` + MODIFY `id` int NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `reseaux_sociaux_avis` +-- +ALTER TABLE `reseaux_sociaux_avis` + MODIFY `id` int NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `sources` +-- +ALTER TABLE `sources` + MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4; + +-- +-- AUTO_INCREMENT for table `stats_autres_annee` +-- +ALTER TABLE `stats_autres_annee` + MODIFY `id` int NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `stats_autres_jour` +-- +ALTER TABLE `stats_autres_jour` + MODIFY `id` int NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `stats_autres_mois` +-- +ALTER TABLE `stats_autres_mois` + MODIFY `id` int NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `stats_autres_semaine` +-- +ALTER TABLE `stats_autres_semaine` + MODIFY `id` int NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `stats_general_annee` +-- +ALTER TABLE `stats_general_annee` + MODIFY `id` int NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `stats_general_jour` +-- +ALTER TABLE `stats_general_jour` + MODIFY `id` int NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `stats_general_mois` +-- +ALTER TABLE `stats_general_mois` + MODIFY `id` int NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `stats_general_semaine` +-- +ALTER TABLE `stats_general_semaine` + MODIFY `id` int NOT NULL AUTO_INCREMENT; +COMMIT; + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; \ No newline at end of file diff --git a/rapport/README.adoc b/rapport/README.adoc index 0632715..0c9723b 100644 --- a/rapport/README.adoc +++ b/rapport/README.adoc @@ -1,127 +1,127 @@ -= Rapport d’avancement: groupe 7.1 -PACT groupe 7.1 (Téléreview) -ifdef::env-gitlab,env-browser[:outfilesuffix: .adoc] -:doctype: book -:stem: latexmath -:source-highlighter: coderay -:toc-title: Table des matières -:toc: macro -:sectnums: -:imagesdir: images - - -// Partie non numérotée -:sectnums!: -== « Téléreview » - -=== Membres du groupe - -* DAS Keshav -* BELHORMA Wissal -* GRIVAUX Yannis -* HAMDAOUI Yasmine -* KOUACHE Lounes -* ROUSSEL Quentin -* SEMPÉRÉ Lucas -* MEZIANE Sara - -=== Tuteur - -* Enzo Tartaglione - -=== Encadrant génie logiciel - -* Marc Hulcelle - -<<< - -== Résumé du sujet choisi en français (PAN1) - -Le but de notre projet c’est de créer une borne interactive qui permet de récupérer les avis d’utilisateurs accompagné d’une interface qui donne au gérant des statistiques sur les avis de ces usagers. -La borne marche par reconnaissance d’image et de voix et comprend donc un micro et une caméra en plus d’un écran. La borne, placée à la sortie d’un lieu accueillant du public, renvoie aux visiteurs une image et les invite à donner leur avis par un signe de la main ou une expression faciale. Ceci permet déjà d’avoir un plus large panel d'émotions et d’avis qu’avec les boutons qu’on pouvait trouver en magasin avant la crise Covid. De plus, elle permet aux utilisateurs de laisser un commentaire construit en parlant à la borne qui ensuite traite le commentaire et en déduit les mots-clés et les sujets importants puis les confronte avec ce qui est dit sur les réseaux sociaux en faisant un scrapping de réseaux sociaux. Toutes ces informations sont traitées puis synthétisées et le gérant peut ainsi avoir accès à un compte-rendu simple et clair. - - -== English Summary (PAN1) - - -The goal of our project is to create an interactive terminal that allows us to retrieve users' opinions accompanied by an interface that gives the manager statistics on what was collected. -The terminal works by image and voice recognition and therefore includes a microphone and a camera in addition to a screen. The terminal, placed at the exit of a place open to the public, invites visitors to give their opinion by a wave of the hand or a facial expression. This already makes it possible to have a wider range of emotions and opinions than with the buttons that could be found in stores before the Covid crisis. In addition, it allows users to leave a comment by talking to the terminal, which then processes the comment and deduces the keywords and important subjects from it, then compares them with what is said on social networks . All this information is processed and then summarized and the manager can thus have access to a simple and clear report. - - -<<< -//// -*Notes concenant le rapport* - -Les différentes pages du document sont rédigées en utilisant le langage -AsciiDoc. Le squelette de rapport contient des exemples avec entre autres: - -* des images, -* des liens, -* des équations. - -La structure du rapport (parties, sections et la relation avec les -différents fichiers) se trouve dans le fichier courant. -**Prenez le temps** de supprimer le texte de remplissage et les sections non -utilisées pour l'instant. Vous pouvez par exemple commenter ces parties non -utilisées pour qu'elles n'apparaissent pas dans le document final. En Asciidoc, -il suffit de les précéder de deux slashs (`//`). -//// - -<<< -toc::[] -<<< - -// On numérote le reste des sections -:sectnums: - -== Étude d’antériorité et justification de la proposition (PAN1) - -include::proposition/proposition.adoc[Description de la proposition] - -include::proposition/etat-de-l-art.adoc[Description de l’état de l’art] - -<<< - -== Scénarios d’usage (PAN1) - -include::scenario/scenario.adoc[Scénarios d’usage] - -<<< - -== Architecture du projet (PAN1) - -include::architecture/schema.adoc[Schéma d’architecture] - -include::architecture/interfaces.adoc[Description des interfaces] - -include::architecture/sequence.adoc[Diagramme de séquence] - -include::architecture/ihm.adoc[Interface utilisateur graphique] - -<<< - -== Organisation du projet (PAN1) - -include::organisation/planification.adoc[Diagramme de planification temporel des tâches] - -//include::organisation/plan-tests.adoc[Plans de test (PAN2+)] - -//// -<<< - -[bibliography] -== Bibliographie (PAN1+) - -include::References.adoc[Bibliographie] - -<<< -== Annexes - -include::annexes/modifications.adoc[Modifications (PAN2+)] - -include::annexes/avancement.adoc[Avancement des modules] - -include::annexes/moduleX.adoc[Avancement module X] - -include::annexes/moduleY.adoc[Avancement module Y] += Rapport d’avancement: groupe 7.1 +PACT groupe 7.1 (Téléreview) +ifdef::env-gitlab,env-browser[:outfilesuffix: .adoc] +:doctype: book +:stem: latexmath +:source-highlighter: coderay +:toc-title: Table des matières +:toc: macro +:sectnums: +:imagesdir: images + + +// Partie non numérotée +:sectnums!: +== « Téléreview » + +=== Membres du groupe + +* DAS Keshav +* BELHORMA Wissal +* GRIVAUX Yannis +* HAMDAOUI Yasmine +* KOUACHE Lounes +* ROUSSEL Quentin +* SEMPÉRÉ Lucas +* MEZIANE Sara + +=== Tuteur + +* Enzo Tartaglione + +=== Encadrant génie logiciel + +* Marc Hulcelle + +<<< + +== Résumé du sujet choisi en français (PAN1) + +Le but de notre projet c’est de créer une borne interactive qui permet de récupérer les avis d’utilisateurs accompagné d’une interface qui donne au gérant des statistiques sur les avis de ces usagers. +La borne marche par reconnaissance d’image et de voix et comprend donc un micro et une caméra en plus d’un écran. La borne, placée à la sortie d’un lieu accueillant du public, renvoie aux visiteurs une image et les invite à donner leur avis par un signe de la main ou une expression faciale. Ceci permet déjà d’avoir un plus large panel d'émotions et d’avis qu’avec les boutons qu’on pouvait trouver en magasin avant la crise Covid. De plus, elle permet aux utilisateurs de laisser un commentaire construit en parlant à la borne qui ensuite traite le commentaire et en déduit les mots-clés et les sujets importants puis les confronte avec ce qui est dit sur les réseaux sociaux en faisant un scrapping de réseaux sociaux. Toutes ces informations sont traitées puis synthétisées et le gérant peut ainsi avoir accès à un compte-rendu simple et clair. + + +== English Summary (PAN1) + + +The goal of our project is to create an interactive terminal that allows us to retrieve users' opinions accompanied by an interface that gives the manager statistics on what was collected. +The terminal works by image and voice recognition and therefore includes a microphone and a camera in addition to a screen. The terminal, placed at the exit of a place open to the public, invites visitors to give their opinion by a wave of the hand or a facial expression. This already makes it possible to have a wider range of emotions and opinions than with the buttons that could be found in stores before the Covid crisis. In addition, it allows users to leave a comment by talking to the terminal, which then processes the comment and deduces the keywords and important subjects from it, then compares them with what is said on social networks . All this information is processed and then summarized and the manager can thus have access to a simple and clear report. + + +<<< +//// +*Notes concenant le rapport* + +Les différentes pages du document sont rédigées en utilisant le langage +AsciiDoc. Le squelette de rapport contient des exemples avec entre autres: + +* des images, +* des liens, +* des équations. + +La structure du rapport (parties, sections et la relation avec les +différents fichiers) se trouve dans le fichier courant. +**Prenez le temps** de supprimer le texte de remplissage et les sections non +utilisées pour l'instant. Vous pouvez par exemple commenter ces parties non +utilisées pour qu'elles n'apparaissent pas dans le document final. En Asciidoc, +il suffit de les précéder de deux slashs (`//`). +//// + +<<< +toc::[] +<<< + +// On numérote le reste des sections +:sectnums: + +== Étude d’antériorité et justification de la proposition (PAN1) + +include::proposition/proposition.adoc[Description de la proposition] + +include::proposition/etat-de-l-art.adoc[Description de l’état de l’art] + +<<< + +== Scénarios d’usage (PAN1) + +include::scenario/scenario.adoc[Scénarios d’usage] + +<<< + +== Architecture du projet (PAN1) + +include::architecture/schema.adoc[Schéma d’architecture] + +include::architecture/interfaces.adoc[Description des interfaces] + +include::architecture/sequence.adoc[Diagramme de séquence] + +include::architecture/ihm.adoc[Interface utilisateur graphique] + +<<< + +== Organisation du projet (PAN1) + +include::organisation/planification.adoc[Diagramme de planification temporel des tâches] + +//include::organisation/plan-tests.adoc[Plans de test (PAN2+)] + +//// +<<< + +[bibliography] +== Bibliographie (PAN1+) + +include::References.adoc[Bibliographie] + +<<< +== Annexes + +include::annexes/modifications.adoc[Modifications (PAN2+)] + +include::annexes/avancement.adoc[Avancement des modules] + +include::annexes/moduleX.adoc[Avancement module X] + +include::annexes/moduleY.adoc[Avancement module Y] //// \ No newline at end of file diff --git a/rapport/References.adoc b/rapport/References.adoc index bcc4c86..8700c98 100644 --- a/rapport/References.adoc +++ b/rapport/References.adoc @@ -1,14 +1,14 @@ - -*_Note : Liste des références exploitées. Une référence complète -donne titre, auteur(s), date, journal, revue, source de publication, -titre de conférence, numéro, pages. Une webographie est aussi -envisageable : titre, auteur, date, page web_* - -* [[RefShannon]]RefShannon : *C. E. SHANNON*, _A Mathematical Theory -of Communication_, Reprinted with corrections from The Bell System -Technical Journal, pages 379–423, 623–656, Vol. 27, 1948, -http://sites.google.com/site/parthochoudhury/aMToC_CShannon.pdf -* [[VitrinePACT]]VitrinePACT : _Vitrine des projets PACT_, -https://pact.wp.mines-telecom.fr/vitrine/ -* [[TOTO]]XXX : *M. S. Otor*, _Best paper ever_, Livre de la jungle, -Volume 2, pages 33-34, 1777 + +*_Note : Liste des références exploitées. Une référence complète +donne titre, auteur(s), date, journal, revue, source de publication, +titre de conférence, numéro, pages. Une webographie est aussi +envisageable : titre, auteur, date, page web_* + +* [[RefShannon]]RefShannon : *C. E. SHANNON*, _A Mathematical Theory +of Communication_, Reprinted with corrections from The Bell System +Technical Journal, pages 379–423, 623–656, Vol. 27, 1948, +http://sites.google.com/site/parthochoudhury/aMToC_CShannon.pdf +* [[VitrinePACT]]VitrinePACT : _Vitrine des projets PACT_, +https://pact.wp.mines-telecom.fr/vitrine/ +* [[TOTO]]XXX : *M. S. Otor*, _Best paper ever_, Livre de la jungle, +Volume 2, pages 33-34, 1777 diff --git a/rapport/annexes/avancement.adoc b/rapport/annexes/avancement.adoc index 05c67b7..80bab2e 100644 --- a/rapport/annexes/avancement.adoc +++ b/rapport/annexes/avancement.adoc @@ -1,6 +1,6 @@ -=== Suivis des modules (Après PAN1) - -Insérez ici votre biblio et vos avancées techniques par module (réunions -experts, pseudo-code d’algorithmes, description détaillée de vos réalisations, etc.). - - +=== Suivis des modules (Après PAN1) + +Insérez ici votre biblio et vos avancées techniques par module (réunions +experts, pseudo-code d’algorithmes, description détaillée de vos réalisations, etc.). + + diff --git a/rapport/annexes/code/test.c b/rapport/annexes/code/test.c index a5094f7..437d24a 100644 --- a/rapport/annexes/code/test.c +++ b/rapport/annexes/code/test.c @@ -1,7 +1,7 @@ -#include - -int main() -{ - puts("hello world!"); - return 0; -} +#include + +int main() +{ + puts("hello world!"); + return 0; +} diff --git a/rapport/annexes/modifications.adoc b/rapport/annexes/modifications.adoc index 9028515..4ab9726 100644 --- a/rapport/annexes/modifications.adoc +++ b/rapport/annexes/modifications.adoc @@ -1,47 +1,47 @@ -=== Modifications (PAN2+) - -==== Modifications de fond - -Tableau des modifications de fond apportées au projet avec validation -des experts et encadrant informatique - -[cols=",,",options="header",] -|==== -| libellé / date | Description brève | Validé par : -| | | -| | | -|==== - -==== Modifications du rapport - -Vous noterez dans cette section les modifications apportées au rapport -depuis le PAN précédent. Si votre planification temporelle a été -modifiée, vous laisserez l’ancienne planification dans cette annexe. - -===== Modifications du rapport au PAN2 - -Fusce ac nisi. Integer volutpat elementum metus. Vivamus luctus -ultricies diam. Curabitur euismod. Vivamus quam. Nunc ante. Nulla mi -nulla, vehicula nec, ultrices a, tincidunt vel, enim. - -Suspendisse potenti. Aenean sed velit. Nunc a urna quis turpis imperdiet -sollicitudin. Mauris aliquam mauris ut tortor. Pellentesque tincidunt -mattis nibh. In id lectus eu. - -===== Modifications du rapport au PAN3 - -Dolor aliquam elit, a commodo nisi felis nec nibh. Nulla facilisi. Etiam -at tortor. Vivamus quis sapien nec magna scelerisque lobortis. - -Curabitur tincidunt viverra justo. Cum sociis natoque penatibus et -magnis dis parturient montes, nascetur ridiculus mus. Sed eros ante, -mattis ullamcorper, posuere quis, tempor vel, metus. Maecenas cursus -cursus lacus. Sed. - -===== Modifications du rapport au PAN4 - -Hac habitasse platea dictumst. Cras quis lacus. Vestibulum rhoncus -congue lacus. Vivamus euismod, felis quis commodo viverra, dolor elit -dictum ante, et mollis eros augue at est. Class aptent taciti sociosqu -ad litora torquent per conubia nostra, per inceptos himenaeos. Nulla -lectus sem, tristique sed, semper in, hendrerit non, sem. Vivamus. +=== Modifications (PAN2+) + +==== Modifications de fond + +Tableau des modifications de fond apportées au projet avec validation +des experts et encadrant informatique + +[cols=",,",options="header",] +|==== +| libellé / date | Description brève | Validé par : +| | | +| | | +|==== + +==== Modifications du rapport + +Vous noterez dans cette section les modifications apportées au rapport +depuis le PAN précédent. Si votre planification temporelle a été +modifiée, vous laisserez l’ancienne planification dans cette annexe. + +===== Modifications du rapport au PAN2 + +Fusce ac nisi. Integer volutpat elementum metus. Vivamus luctus +ultricies diam. Curabitur euismod. Vivamus quam. Nunc ante. Nulla mi +nulla, vehicula nec, ultrices a, tincidunt vel, enim. + +Suspendisse potenti. Aenean sed velit. Nunc a urna quis turpis imperdiet +sollicitudin. Mauris aliquam mauris ut tortor. Pellentesque tincidunt +mattis nibh. In id lectus eu. + +===== Modifications du rapport au PAN3 + +Dolor aliquam elit, a commodo nisi felis nec nibh. Nulla facilisi. Etiam +at tortor. Vivamus quis sapien nec magna scelerisque lobortis. + +Curabitur tincidunt viverra justo. Cum sociis natoque penatibus et +magnis dis parturient montes, nascetur ridiculus mus. Sed eros ante, +mattis ullamcorper, posuere quis, tempor vel, metus. Maecenas cursus +cursus lacus. Sed. + +===== Modifications du rapport au PAN4 + +Hac habitasse platea dictumst. Cras quis lacus. Vestibulum rhoncus +congue lacus. Vivamus euismod, felis quis commodo viverra, dolor elit +dictum ante, et mollis eros augue at est. Class aptent taciti sociosqu +ad litora torquent per conubia nostra, per inceptos himenaeos. Nulla +lectus sem, tristique sed, semper in, hendrerit non, sem. Vivamus. diff --git a/rapport/annexes/moduleX.adoc b/rapport/annexes/moduleX.adoc index 63da0e3..9da36f2 100644 --- a/rapport/annexes/moduleX.adoc +++ b/rapport/annexes/moduleX.adoc @@ -1,43 +1,43 @@ -=== Module X - -==== Descriptions - -[source,cpp] ----- -#include - -using namespace std; - -class M -{ -public: - void hello() - { - cout << "hello" << endl; - } -}; - -int main() -{ - M m; - m.hello(); - return 0; -} ----- - - -[source,c] ----- -include::code/test.c[] ----- - -Et l'équation: - -[latexmath] -++++ -A \in \mathcal{M}_{u,k}(\mathbb{R}) et B \in \mathcal{M}_{k,f}(\mathbb{R}) -++++ - -==== Avancement - -==== Bibliographie spécifique +=== Module X + +==== Descriptions + +[source,cpp] +---- +#include + +using namespace std; + +class M +{ +public: + void hello() + { + cout << "hello" << endl; + } +}; + +int main() +{ + M m; + m.hello(); + return 0; +} +---- + + +[source,c] +---- +include::code/test.c[] +---- + +Et l'équation: + +[latexmath] +++++ +A \in \mathcal{M}_{u,k}(\mathbb{R}) et B \in \mathcal{M}_{k,f}(\mathbb{R}) +++++ + +==== Avancement + +==== Bibliographie spécifique diff --git a/rapport/annexes/moduleY.adoc b/rapport/annexes/moduleY.adoc index f5e1a2a..91c5ed3 100644 --- a/rapport/annexes/moduleY.adoc +++ b/rapport/annexes/moduleY.adoc @@ -1,7 +1,7 @@ -=== Module Y - -==== Descriptions - -==== Avancement - -==== Bibliographie spécifique +=== Module Y + +==== Descriptions + +==== Avancement + +==== Bibliographie spécifique diff --git a/rapport/annexes/reunions.adoc b/rapport/annexes/reunions.adoc index 815bc2c..0e6efde 100644 --- a/rapport/annexes/reunions.adoc +++ b/rapport/annexes/reunions.adoc @@ -1,21 +1,21 @@ -=== Comptes Rendus de réunions - -Insérez ici vos comptes rendus de réunions : date, durée, participants, -sujets abordés. - -==== Réunion du dd/mm/yyyy - -* Présents: -** AA -** BB -** CC -* Sujets abordés -** *xxx* : Nec, iaculis vel, mi. Nullam et augue vitae nunc tristique -vehicula. Suspendisse eget elit. Duis adipiscing dui non quam. -* Actions à entreprendre: -** Fusce sollicitudin molestie dui. Sed magna orci, accumsan nec, -viverra non, pharetra id, dui. Lorem ipsum dolor sit amet, consectetuer -adipiscing elit. -** Interdum arcu, at pellentesque diam metus ut nulla. Vestibulum eu -dolor sit amet lacus varius fermentum. Morbi dolor enim, pulvinar eget. - +=== Comptes Rendus de réunions + +Insérez ici vos comptes rendus de réunions : date, durée, participants, +sujets abordés. + +==== Réunion du dd/mm/yyyy + +* Présents: +** AA +** BB +** CC +* Sujets abordés +** *xxx* : Nec, iaculis vel, mi. Nullam et augue vitae nunc tristique +vehicula. Suspendisse eget elit. Duis adipiscing dui non quam. +* Actions à entreprendre: +** Fusce sollicitudin molestie dui. Sed magna orci, accumsan nec, +viverra non, pharetra id, dui. Lorem ipsum dolor sit amet, consectetuer +adipiscing elit. +** Interdum arcu, at pellentesque diam metus ut nulla. Vestibulum eu +dolor sit amet lacus varius fermentum. Morbi dolor enim, pulvinar eget. + diff --git a/rapport/architecture/ihm.adoc b/rapport/architecture/ihm.adoc index 03ca55c..15f4056 100644 --- a/rapport/architecture/ihm.adoc +++ b/rapport/architecture/ihm.adoc @@ -1,8 +1,8 @@ -=== Interface utilisateur graphique - - -.Interface graphique client -image::../images/Interface_PACT-1.png[Interface_PACT-1] - -.Interface graphique admin -image::../images/Interface_PACT-2.png[Interface_PACT-2] +=== Interface utilisateur graphique + + +.Interface graphique client +image::../images/Interface_PACT-1.png[Interface_PACT-1] + +.Interface graphique admin +image::../images/Interface_PACT-2.png[Interface_PACT-2] diff --git a/rapport/architecture/interfaces.adoc b/rapport/architecture/interfaces.adoc index 3876133..7417eee 100644 --- a/rapport/architecture/interfaces.adoc +++ b/rapport/architecture/interfaces.adoc @@ -1,38 +1,38 @@ -=== Description des interfaces (PAN1 / PAN2) - -//Pour le PAN1, il faut identifier et décrire sommairement toutes les -//interfaces entre modules. - -//Pour le PAN2, il faut une description complète des interfaces. - -SE et Image : le système transmet les données captées par la caméra embarquée au module d’image pour le traitement de celles-ci. - -SE et reconnaissance vocale : le système transmet le signal capté par le micro embarqué au module de reconnaissance vocale qui s’occupe de transformer ce signal en une chaine de caractère. - -Reconnaissance vocale et TAL : le module de reconnaissance vocal envoie la chaine de caractères qu’il a collectée au module de TAL pour l’analyse du texte. - -TAL et base de donnée : Dans ces deux cas, après analyse des données anonymisées, les modules TAL et image envoient les résultats à la base de donnée qui va les conserver. - -Base de donnée / Analyse des données : Le module d'analyse des données récupère les données brutes dans la base de données et calcules des statistiques sur celles-ci. - -Interface web / Analyse de donnée : L'interface web récupère les données analysées a l'aide d'une API pour les afficher. - -Design et SE/ design et interface web : Le module design doit évoluer avec le module SE et interface web dans la conception des modules. Il se complète avec le module SE pour donner la borne physique. Et il se complète avec le module d’interface web pour donner l’outil utilisable par le client. - - -//Il faut ici une description textuelle de chaque interface, c'est-à-dire chaque -//échange entre deux blocs. -//Si c’est une interface entre deux blocs informatiques, c’est une interface -//Java. -//S’il y a des échanges de données complexes, il faut en décrire le format avec -//précision. -//Si c’est une interface entre deux blocs électroniques, c’est une description -//des signaux électroniques ou protocoles utilisés. - -//==== InterfaceBloc1-2 - -//Description textuelle d’interface - -//==== InterfaceBloc2-4 - -//Description textuelle d’interface +=== Description des interfaces (PAN1 / PAN2) + +//Pour le PAN1, il faut identifier et décrire sommairement toutes les +//interfaces entre modules. + +//Pour le PAN2, il faut une description complète des interfaces. + +SE et Image : le système transmet les données captées par la caméra embarquée au module d’image pour le traitement de celles-ci. + +SE et reconnaissance vocale : le système transmet le signal capté par le micro embarqué au module de reconnaissance vocale qui s’occupe de transformer ce signal en une chaine de caractère. + +Reconnaissance vocale et TAL : le module de reconnaissance vocal envoie la chaine de caractères qu’il a collectée au module de TAL pour l’analyse du texte. + +TAL et base de donnée : Dans ces deux cas, après analyse des données anonymisées, les modules TAL et image envoient les résultats à la base de donnée qui va les conserver. + +Base de donnée / Analyse des données : Le module d'analyse des données récupère les données brutes dans la base de données et calcules des statistiques sur celles-ci. + +Interface web / Analyse de donnée : L'interface web récupère les données analysées a l'aide d'une API pour les afficher. + +Design et SE/ design et interface web : Le module design doit évoluer avec le module SE et interface web dans la conception des modules. Il se complète avec le module SE pour donner la borne physique. Et il se complète avec le module d’interface web pour donner l’outil utilisable par le client. + + +//Il faut ici une description textuelle de chaque interface, c'est-à-dire chaque +//échange entre deux blocs. +//Si c’est une interface entre deux blocs informatiques, c’est une interface +//Java. +//S’il y a des échanges de données complexes, il faut en décrire le format avec +//précision. +//Si c’est une interface entre deux blocs électroniques, c’est une description +//des signaux électroniques ou protocoles utilisés. + +//==== InterfaceBloc1-2 + +//Description textuelle d’interface + +//==== InterfaceBloc2-4 + +//Description textuelle d’interface diff --git a/rapport/architecture/schema.adoc b/rapport/architecture/schema.adoc index ecf6265..31c4e7f 100644 --- a/rapport/architecture/schema.adoc +++ b/rapport/architecture/schema.adoc @@ -1,84 +1,84 @@ -=== Schéma d’architecture - -[blockdiag] -.... -blockdiag{ - default_fontsize=16 - default_group_color = "#7777FF"; node_height=85 - node_width=130 - reseaux_sociaux[label="Réseaux \nsociaux" , color="#D05E3F", shape = "flowchart.input"] - interface_avis[label="Interface \nretours \nd'avis", color="#D05E3F",shape = "flowchart.input"] - group{ - reseaux_sociaux;interface_avis; - } - micro[label="Micro", color="#D07115",shape = "flowchart.input"] - cam[label="Caméra", color="#D07115",shape = "flowchart.input"] - group{ - cam;micro; - } - traitement_audio[label="Traitement du \nsignal audio", color="#83EBDC"] - ia_vocal[label="Reconnaissance \nvocale", color="#B3D04B"] - ia_image[label="Reconnaissance \nd'image", color="#B3D04B"] - traitement_language[label="Traitement \ndu language", color="#F787C8"] - droit[label="Droit", color="#CC0C30"] - bdd[label="Base de donnée", color="#FDFF85",shape = "flowchart.database"] - analyse[label="Analyse des \ndonnées", color="#F787C8"] - interface_admin[label="Interface \nadministrateur", color="#D05E3F"] - - reseaux_sociaux -> traitement_language[label='Avis textuel', fontsize=10]; - interface_avis -> traitement_language [label='Commentaire', fontsize=10]; - droit -> bdd; - micro -> traitement_audio [label='Son', fontsize=10] ; - traitement_audio -> ia_vocal [label='Son', fontsize=10]; - ia_vocal -> traitement_language; - traitement_language -> bdd [label='Avis', fontsize=10, folded]; - bdd -> analyse ; - analyse -> interface_admin [label='Données traitées', fontsize=10]; - cam -> ia_image; - ia_image -> bdd [label='Données interprétées', fontsize=10]; - droit -> bdd [label='Régulation des données', fontsize=10]; - -} -.... - -==== Description des blocs - -===== Droit - -Vérifier la conformité du projet, connaitre l'ensemble des restrictions auxquels est soumis notre projet afin de mieux se conformer à la loi sur le traitement des données personnelles. - -===== Système embarqué - -Choix du hardware, fabrication de la borne, installation des logiciels et mise en production des autres modules. - -===== Traitement du signal - -Préparer le signal audio sortant du microphone pour le convertir en un signal analysable par le module reconnaissance vocale. - -===== Reconnaissance d'image - -A l'aide des images récupérées par la caméra et de réseaux neuronaux réussir à reconnaitre des gestes, des émotions sur un visage, l'âge et le sexe de la personne. - -===== Reconnaissance vocale - -Récupere le signal audio traité afin d'intentifier des ou les mots prononcés par l'utilisateur. - -===== Traitement du language - -A partir du texte reçus l'objectif est de catégoriser les avis suivant s'il sont positifs ou négatifs. De manière plus générale ce module extrait des informations des avis qui pourront par la suite êtres analysées plus facilement. - -===== Base de donnée - -La fonction de ce bloc est de récupérées et stockées les données du traitement du language et de la reconnaissance d'image qui auront été anonymisées. - -===== Analyse des données - -Traiter, analyser et interpréter les données afin de générer les métriques importantes pour l'administrateur. - -===== Interface administrateur - -Présente à l'administrateur de manière élégante, claire, organisées et détaillé les résultats des analyses faites sur les différentes avis. - -===== Récupération de données de sources autres - -L'objectif de ce bloc est de récupérer des données textuelles autres que les données recueillies par le bloc reconnaissance vocale pour enrichir la base d'avis utilisés par le bloc d'analyse de données. Ces sources autres peuvent être les commentaires laissés sur les réseaux sociaux ou d'une interface permettant de donner son avis à l'aide d'un formulaire. +=== Schéma d’architecture + +[blockdiag] +.... +blockdiag{ + default_fontsize=16 + default_group_color = "#7777FF"; node_height=85 + node_width=130 + reseaux_sociaux[label="Réseaux \nsociaux" , color="#D05E3F", shape = "flowchart.input"] + interface_avis[label="Interface \nretours \nd'avis", color="#D05E3F",shape = "flowchart.input"] + group{ + reseaux_sociaux;interface_avis; + } + micro[label="Micro", color="#D07115",shape = "flowchart.input"] + cam[label="Caméra", color="#D07115",shape = "flowchart.input"] + group{ + cam;micro; + } + traitement_audio[label="Traitement du \nsignal audio", color="#83EBDC"] + ia_vocal[label="Reconnaissance \nvocale", color="#B3D04B"] + ia_image[label="Reconnaissance \nd'image", color="#B3D04B"] + traitement_language[label="Traitement \ndu language", color="#F787C8"] + droit[label="Droit", color="#CC0C30"] + bdd[label="Base de donnée", color="#FDFF85",shape = "flowchart.database"] + analyse[label="Analyse des \ndonnées", color="#F787C8"] + interface_admin[label="Interface \nadministrateur", color="#D05E3F"] + + reseaux_sociaux -> traitement_language[label='Avis textuel', fontsize=10]; + interface_avis -> traitement_language [label='Commentaire', fontsize=10]; + droit -> bdd; + micro -> traitement_audio [label='Son', fontsize=10] ; + traitement_audio -> ia_vocal [label='Son', fontsize=10]; + ia_vocal -> traitement_language; + traitement_language -> bdd [label='Avis', fontsize=10, folded]; + bdd -> analyse ; + analyse -> interface_admin [label='Données traitées', fontsize=10]; + cam -> ia_image; + ia_image -> bdd [label='Données interprétées', fontsize=10]; + droit -> bdd [label='Régulation des données', fontsize=10]; + +} +.... + +==== Description des blocs + +===== Droit + +Vérifier la conformité du projet, connaitre l'ensemble des restrictions auxquels est soumis notre projet afin de mieux se conformer à la loi sur le traitement des données personnelles. + +===== Système embarqué + +Choix du hardware, fabrication de la borne, installation des logiciels et mise en production des autres modules. + +===== Traitement du signal + +Préparer le signal audio sortant du microphone pour le convertir en un signal analysable par le module reconnaissance vocale. + +===== Reconnaissance d'image + +A l'aide des images récupérées par la caméra et de réseaux neuronaux réussir à reconnaitre des gestes, des émotions sur un visage, l'âge et le sexe de la personne. + +===== Reconnaissance vocale + +Récupere le signal audio traité afin d'intentifier des ou les mots prononcés par l'utilisateur. + +===== Traitement du language + +A partir du texte reçus l'objectif est de catégoriser les avis suivant s'il sont positifs ou négatifs. De manière plus générale ce module extrait des informations des avis qui pourront par la suite êtres analysées plus facilement. + +===== Base de donnée + +La fonction de ce bloc est de récupérées et stockées les données du traitement du language et de la reconnaissance d'image qui auront été anonymisées. + +===== Analyse des données + +Traiter, analyser et interpréter les données afin de générer les métriques importantes pour l'administrateur. + +===== Interface administrateur + +Présente à l'administrateur de manière élégante, claire, organisées et détaillé les résultats des analyses faites sur les différentes avis. + +===== Récupération de données de sources autres + +L'objectif de ce bloc est de récupérer des données textuelles autres que les données recueillies par le bloc reconnaissance vocale pour enrichir la base d'avis utilisés par le bloc d'analyse de données. Ces sources autres peuvent être les commentaires laissés sur les réseaux sociaux ou d'une interface permettant de donner son avis à l'aide d'un formulaire. diff --git a/rapport/architecture/sequence.adoc b/rapport/architecture/sequence.adoc index 9d88dde..145eaaf 100644 --- a/rapport/architecture/sequence.adoc +++ b/rapport/architecture/sequence.adoc @@ -1,51 +1,51 @@ -=== Diagramme de séquence (optionnel) - -==== Interaction entre l'utilisateur et la borne (Interaction gestuelle / vocale) -[plantuml, sequence-x] -.... - actor utilisateur #99FF99 - boundary frontend as "Interface utilisateur" #4da6ff - boundary Camera - boundary Micro - participant "Back end\nmachine learning" as backend #ff8680 - database database as "Base de donnée" - - utilisateur --> Camera : signe (main, visage) - Camera -> backend : flux vidéo - backend -> database : signe identifié - backend -> frontend : signe identifié - frontend --> utilisateur: indicateur de prise \nen compte de l'avis - utilisateur --> Micro : avis vocal - Micro -> backend : flux audio - backend -> database : mots clé ou \nphrases identifiés - backend -> frontend : phrase identifié - frontend --> utilisateur: indicateur de prise \nen compte de l'avis -.... - -==== Interaction entre l'utilisateur et la borne (QR Code) -[plantuml, sequence-x] -.... - actor utilisateur #99FF99 - participant qrcode as "QR Code" - boundary frontend as "Interface web" #4da6ff - participant "Back end" as backend #ff8680 - database database as "Base de donnée" - - utilisateur --> qrcode : flash - utilisateur --> frontend : retour utlisateur\n(sous forme textuelle) - frontend -> backend : retour utlisateur - backend -> database : retour utlisateur -.... - -==== Séquence d'analyse et affichange des données -[plantuml, sequence-x] -.... - actor utilisateur #99FF99 - boundary frontend as "Interface \nadministrateur" #4da6ff - participant "Back end\nanalyse de données" as backend #ff8680 - database database as "Base de donnée" - - database -> backend : Données brutes - backend -> frontend : Statistiques sur les données - utilisateur <-- frontend : données visualisées -.... +=== Diagramme de séquence (optionnel) + +==== Interaction entre l'utilisateur et la borne (Interaction gestuelle / vocale) +[plantuml, sequence-x] +.... + actor utilisateur #99FF99 + boundary frontend as "Interface utilisateur" #4da6ff + boundary Camera + boundary Micro + participant "Back end\nmachine learning" as backend #ff8680 + database database as "Base de donnée" + + utilisateur --> Camera : signe (main, visage) + Camera -> backend : flux vidéo + backend -> database : signe identifié + backend -> frontend : signe identifié + frontend --> utilisateur: indicateur de prise \nen compte de l'avis + utilisateur --> Micro : avis vocal + Micro -> backend : flux audio + backend -> database : mots clé ou \nphrases identifiés + backend -> frontend : phrase identifié + frontend --> utilisateur: indicateur de prise \nen compte de l'avis +.... + +==== Interaction entre l'utilisateur et la borne (QR Code) +[plantuml, sequence-x] +.... + actor utilisateur #99FF99 + participant qrcode as "QR Code" + boundary frontend as "Interface web" #4da6ff + participant "Back end" as backend #ff8680 + database database as "Base de donnée" + + utilisateur --> qrcode : flash + utilisateur --> frontend : retour utlisateur\n(sous forme textuelle) + frontend -> backend : retour utlisateur + backend -> database : retour utlisateur +.... + +==== Séquence d'analyse et affichange des données +[plantuml, sequence-x] +.... + actor utilisateur #99FF99 + boundary frontend as "Interface \nadministrateur" #4da6ff + participant "Back end\nanalyse de données" as backend #ff8680 + database database as "Base de donnée" + + database -> backend : Données brutes + backend -> frontend : Statistiques sur les données + utilisateur <-- frontend : données visualisées +.... diff --git a/rapport/architecture/taches.adoc b/rapport/architecture/taches.adoc index 4eaa092..79db95d 100644 --- a/rapport/architecture/taches.adoc +++ b/rapport/architecture/taches.adoc @@ -1,33 +1,33 @@ -=== Tableau détaillé des tâches - -****Note : 2 pages max - les fiches modules seront placées en annexe, -elles doivent être rédigées avec l’expert.**** - -Les différents aspects du projet sont découpés en tâches numérotées et -hiérarchisées (Tâches/sous-tâches, etc.). Chaque tâche est décrite précisément -et une équipe (typiquement un binôme) est affecté à sa réalisation. Un module -est typiquement constitué de plusieurs tâches et sous-tâches. - -Pour le PAN3, vous aurez à démontrer une version, *intégrée* et fonctionnelle de -votre projet. -Entre le PAN3 et le PAN4, vous pourrez améliorer les fonctionnalités intégrées -sans pour autant en ajouter de nouvelles. - -Reprenez et complétez le tableau suivant en précisant les différentes tâches et -sous-tâches ainsi que le (ou les) critères de réussite pour l'intégration au -PAN3. La définition des critères de réussite doit se faire en accord avec les -experts. - -[cols=",,^",options="header",] -|==== -| Tâche | Description | Critères de réussite pour l'intégration au PAN3 -| T1 | Classificateur d’image | interfaces logicielles finalisées -| T1.1 | Changement espace de couleur pour permettre … | au moins une transformation implémentée -| T1.2 | Extraction de l’histogramme à partir de l’espace XYZ… | … -| T1.3 | Extraction des caractéristiques … | … -| T1.4 | Comparaison des caractéristiques | … -| T2 | Détection de rythme (Module « Audio/Rythme ») | interfaces logicielles finalisées -| T2.1 | Découpage signal sonore en bande fréquentielle | la méthode X doit être implémentée -| T2.2 | Détection du tempo | … -| T2.3 | Changement de tempo | … -|==== +=== Tableau détaillé des tâches + +****Note : 2 pages max - les fiches modules seront placées en annexe, +elles doivent être rédigées avec l’expert.**** + +Les différents aspects du projet sont découpés en tâches numérotées et +hiérarchisées (Tâches/sous-tâches, etc.). Chaque tâche est décrite précisément +et une équipe (typiquement un binôme) est affecté à sa réalisation. Un module +est typiquement constitué de plusieurs tâches et sous-tâches. + +Pour le PAN3, vous aurez à démontrer une version, *intégrée* et fonctionnelle de +votre projet. +Entre le PAN3 et le PAN4, vous pourrez améliorer les fonctionnalités intégrées +sans pour autant en ajouter de nouvelles. + +Reprenez et complétez le tableau suivant en précisant les différentes tâches et +sous-tâches ainsi que le (ou les) critères de réussite pour l'intégration au +PAN3. La définition des critères de réussite doit se faire en accord avec les +experts. + +[cols=",,^",options="header",] +|==== +| Tâche | Description | Critères de réussite pour l'intégration au PAN3 +| T1 | Classificateur d’image | interfaces logicielles finalisées +| T1.1 | Changement espace de couleur pour permettre … | au moins une transformation implémentée +| T1.2 | Extraction de l’histogramme à partir de l’espace XYZ… | … +| T1.3 | Extraction des caractéristiques … | … +| T1.4 | Comparaison des caractéristiques | … +| T2 | Détection de rythme (Module « Audio/Rythme ») | interfaces logicielles finalisées +| T2.1 | Découpage signal sonore en bande fréquentielle | la méthode X doit être implémentée +| T2.2 | Détection du tempo | … +| T2.3 | Changement de tempo | … +|==== diff --git a/rapport/images/pact.svg b/rapport/images/pact.svg index 76485b9..b4dcfd2 100644 --- a/rapport/images/pact.svg +++ b/rapport/images/pact.svg @@ -1,126 +1,126 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rapport/organisation/plan-tests.adoc b/rapport/organisation/plan-tests.adoc index b514ad9..7793f96 100644 --- a/rapport/organisation/plan-tests.adoc +++ b/rapport/organisation/plan-tests.adoc @@ -1,23 +1,23 @@ -=== Plans de test (PAN2+) - -Vous allez travailler sur chaque bloc de votre projet, et qu’il soit -informatique, électronique ou matériel, vous allez devoir faire du -test : - -* tester que le bloc que vous venez de finir fait ce qu’il faut ; -* tester que le bloc fonctionne avec les blocs en amont ou en aval dans -l’architecture ; -* tester que les performances sont acceptables… -* et plus globalement, tester que le projet « marche ». - -Vous allez devoir faire ce travail sur le prototype allégé, puis sur le -prototype final. C’est un travail dans le module « intégration et -tests ». - -Cette section rassemble les plans de test du proto allégé et du proto -final. C’est une liste des tests à effectuer, sous la forme, pour chaque -test : - -* situation/contexte -* action ou entrée à appliquer -* réaction ou sortie attendue. +=== Plans de test (PAN2+) + +Vous allez travailler sur chaque bloc de votre projet, et qu’il soit +informatique, électronique ou matériel, vous allez devoir faire du +test : + +* tester que le bloc que vous venez de finir fait ce qu’il faut ; +* tester que le bloc fonctionne avec les blocs en amont ou en aval dans +l’architecture ; +* tester que les performances sont acceptables… +* et plus globalement, tester que le projet « marche ». + +Vous allez devoir faire ce travail sur le prototype allégé, puis sur le +prototype final. C’est un travail dans le module « intégration et +tests ». + +Cette section rassemble les plans de test du proto allégé et du proto +final. C’est une liste des tests à effectuer, sous la forme, pour chaque +test : + +* situation/contexte +* action ou entrée à appliquer +* réaction ou sortie attendue. diff --git a/rapport/organisation/planification.adoc b/rapport/organisation/planification.adoc index 10d18a7..5a511fb 100644 --- a/rapport/organisation/planification.adoc +++ b/rapport/organisation/planification.adoc @@ -1,67 +1,67 @@ -=== Planning Prévisionnel PACT - -==== Rappel des dates -Les dates importantes de PACT sont: - -* PAN1: 22/11/2022 -* PAN2: fin janvier 2023 -* PAN3: 04/04/2023 -* PAN4: 30/05/2023 - -Les deux tableaux ci-dessous doivent vous aider à évaluer votre avancement/retard dans le développement de votre projet. -Vous pouvez aussi vous aider de ces tableaux pour: - -* identifier les périodes de fortes charge de travail -* analyser les dépendances entre modules -* les retards bloquant pour l'avancée de l'ensemble du projet (ce n'est pas forcément le cas pour tous les modules) - -==== Planning Groupe - -Pour PAN1, remplissez dans ce tableau les dates prévues. Vous mettrez à jour les dates finales en cours d'année. - -[cols=",^,,",options="header",] -|==== -|Tâche | Responsable(s) | Quand Prévisionnel | Quand effectif -|Intégration Initale | Keshav Das |15/02/23| ... -|Intégration PAN3 finalisée | Lounes Kouache |26/03/23| ... -|Préparation / répétition PAN3 | Yasmine Hamadoui |30/03/23| ... -|Démo PAN4 finalisée | Sara Meziane |31/04/23| ... -|Préparation Poster PAN4 | Lucas Sempéré |15/05/23| ... -|Présentation "Pitch" PAN4 | Quentin Roussel |24/05/23| ... -|Vidéo PAN4 | Grivaux Yannis |20/05/23| ... -|==== - -Note: - -* l'intégration initiale correspond à l'étape où tous les modules communiquent ensemble même si les informations échangées sont fausses ou incomplètes. Pour rappel vous aurez trois journées complètes la semaine du 20/03 pour finaliser l'intégration -* Le poster PAN4 devra être envoyé au plus tard le 18 mai 2023 -* Le support de présentation PAN4 devra être envoyé pour le 26/05/2023 -* La vidéo est une vidéo promotionnelle de 2 minutes maximum, et devra être envoyée pour le 26/05/2023 - -Vous mettrez par ailleurs à jour l'annexe "avancement" avec les compte-rendus de vos réunions de groupe. - - -==== Planning Modules - -Nous vous demandons de prévoir les dates des étapes de développement de vos modules. -Pour PAN1, vous remplirez les dates prévues. Vous mettrez à jour les dates finales en cours d'année. - -* Travail Initial: bibliographie sur le module -* Version initiale: le module tourne en mode isolé -* Version intégrable: le module est prêt à être intégré, il manquera vraisemblablement des fonctionnalités. Cela correspond à une version "squelette" du projet. -* Version intégrée: le module est complet et intégré - - -[cols=",^,^,,,",options="header",] -|==== -|Module | Responsables | Travail Initial | Version initiale | Version intégrable | Version intégrée -|Reconnaissance image | Keshav Das | prévu: 25/11/22 fait:... | prévu: 31/01/23 fait:... | prévu: 10/02/23 fait:... | prévu: 25/02/23 fait:... -|Reconnaissance vocale | Yasmine Hamadoui | prévu: 25/11/22 fait:... | prévu: 31/01/23 fait:... | prévu: 10/02/23 fait:... | prévu: 25/02/23 fait:... -|Traitement du langage| Sara Meziane | prévu: 25/11/22 fait:... | prévu: 31/01/23 fait:... | prévu: 10/02/23 fait:... | prévu: 25/02/23 fait:... -|Système embarqué| Yannis Grivaux | prévu: 25/11/22 fait:... | prévu: 31/01/23 fait:... | prévu: 05/02/23 fait:... | prévu: 15/02/23 fait:... -|Ergonomie/Design| Wissal Belhorma | prévu: 25/11/22 fait:... | prévu: 31/01/23 fait:... | prévu: 10/02/23 fait:... | prévu: 25/02/23 fait:... -|Droit| Lounes Kouache | prévu: 25/11/22 fait:... | prévu: 31/01/23 fait:... | prévu: 10/02/23 fait:... | prévu: 25/02/23 fait:... -|Interface utilisateur / BDD| Quentin Roussel | prévu: 25/11/22 fait:... | prévu: 31/01/23 fait:... | prévu: 10/02/23 fait:... | prévu: 25/02/23 fait:... -|==== - - +=== Planning Prévisionnel PACT + +==== Rappel des dates +Les dates importantes de PACT sont: + +* PAN1: 22/11/2022 +* PAN2: fin janvier 2023 +* PAN3: 04/04/2023 +* PAN4: 30/05/2023 + +Les deux tableaux ci-dessous doivent vous aider à évaluer votre avancement/retard dans le développement de votre projet. +Vous pouvez aussi vous aider de ces tableaux pour: + +* identifier les périodes de fortes charge de travail +* analyser les dépendances entre modules +* les retards bloquant pour l'avancée de l'ensemble du projet (ce n'est pas forcément le cas pour tous les modules) + +==== Planning Groupe + +Pour PAN1, remplissez dans ce tableau les dates prévues. Vous mettrez à jour les dates finales en cours d'année. + +[cols=",^,,",options="header",] +|==== +|Tâche | Responsable(s) | Quand Prévisionnel | Quand effectif +|Intégration Initale | Keshav Das |15/02/23| ... +|Intégration PAN3 finalisée | Lounes Kouache |26/03/23| ... +|Préparation / répétition PAN3 | Yasmine Hamadoui |30/03/23| ... +|Démo PAN4 finalisée | Sara Meziane |31/04/23| ... +|Préparation Poster PAN4 | Lucas Sempéré |15/05/23| ... +|Présentation "Pitch" PAN4 | Quentin Roussel |24/05/23| ... +|Vidéo PAN4 | Grivaux Yannis |20/05/23| ... +|==== + +Note: + +* l'intégration initiale correspond à l'étape où tous les modules communiquent ensemble même si les informations échangées sont fausses ou incomplètes. Pour rappel vous aurez trois journées complètes la semaine du 20/03 pour finaliser l'intégration +* Le poster PAN4 devra être envoyé au plus tard le 18 mai 2023 +* Le support de présentation PAN4 devra être envoyé pour le 26/05/2023 +* La vidéo est une vidéo promotionnelle de 2 minutes maximum, et devra être envoyée pour le 26/05/2023 + +Vous mettrez par ailleurs à jour l'annexe "avancement" avec les compte-rendus de vos réunions de groupe. + + +==== Planning Modules + +Nous vous demandons de prévoir les dates des étapes de développement de vos modules. +Pour PAN1, vous remplirez les dates prévues. Vous mettrez à jour les dates finales en cours d'année. + +* Travail Initial: bibliographie sur le module +* Version initiale: le module tourne en mode isolé +* Version intégrable: le module est prêt à être intégré, il manquera vraisemblablement des fonctionnalités. Cela correspond à une version "squelette" du projet. +* Version intégrée: le module est complet et intégré + + +[cols=",^,^,,,",options="header",] +|==== +|Module | Responsables | Travail Initial | Version initiale | Version intégrable | Version intégrée +|Reconnaissance image | Keshav Das | prévu: 25/11/22 fait:... | prévu: 31/01/23 fait:... | prévu: 10/02/23 fait:... | prévu: 25/02/23 fait:... +|Reconnaissance vocale | Yasmine Hamadoui | prévu: 25/11/22 fait:... | prévu: 31/01/23 fait:... | prévu: 10/02/23 fait:... | prévu: 25/02/23 fait:... +|Traitement du langage| Sara Meziane | prévu: 25/11/22 fait:... | prévu: 31/01/23 fait:... | prévu: 10/02/23 fait:... | prévu: 25/02/23 fait:... +|Système embarqué| Yannis Grivaux | prévu: 25/11/22 fait:... | prévu: 31/01/23 fait:... | prévu: 05/02/23 fait:... | prévu: 15/02/23 fait:... +|Ergonomie/Design| Wissal Belhorma | prévu: 25/11/22 fait:... | prévu: 31/01/23 fait:... | prévu: 10/02/23 fait:... | prévu: 25/02/23 fait:... +|Droit| Lounes Kouache | prévu: 25/11/22 fait:... | prévu: 31/01/23 fait:... | prévu: 10/02/23 fait:... | prévu: 25/02/23 fait:... +|Interface utilisateur / BDD| Quentin Roussel | prévu: 25/11/22 fait:... | prévu: 31/01/23 fait:... | prévu: 10/02/23 fait:... | prévu: 25/02/23 fait:... +|==== + + diff --git a/rapport/pdf-theme.yml b/rapport/pdf-theme.yml index 4037da8..df114cf 100644 --- a/rapport/pdf-theme.yml +++ b/rapport/pdf-theme.yml @@ -1,21 +1,21 @@ -extends: -- default-with-font-fallbacks -- default-sans - -page: - size: A4 - margin: 2.5cm -title-page: - background-image: image:images/pact.svg[] - logo: - image: image:images/pact.svg[] - top: 0% - title: - font-size: 32 - font-style: bold - font-color: #000000 - sub-title: - font-size: 24 - authors: - font-size: 22 - +extends: +- default-with-font-fallbacks +- default-sans + +page: + size: A4 + margin: 2.5cm +title-page: + background-image: image:images/pact.svg[] + logo: + image: image:images/pact.svg[] + top: 0% + title: + font-size: 32 + font-style: bold + font-color: #000000 + sub-title: + font-size: 24 + authors: + font-size: 22 + diff --git a/rapport/proposition/etat-de-l-art.adoc b/rapport/proposition/etat-de-l-art.adoc index 18f1f88..3c03f92 100644 --- a/rapport/proposition/etat-de-l-art.adoc +++ b/rapport/proposition/etat-de-l-art.adoc @@ -1,44 +1,44 @@ -=== Description de l’état de l’art -ifdef::env-gitlab,env-browser[:outfilesuffix: .adoc] - -==== Borne à smiley - -La borne à smiley est une solution très populaire et utilisée par de nombreuses entreprises pour recueillir les avis utilisateurs par appui sur un émoticône représentant une émotion. La popularité de ce produit montre le besoin de dispositifs de recueil d’avis automatisé. Cependant, l'utilisation de ce type de borne a rapidement décru après la pandémie pour des raisons d'hygiène. De plus, ces bornes présentent d'autres inconvénients: incapabilité de poser plus qu'une question et absence de justification derrière les réponses. - -.Exemple de borne à smiley -image::../images/borne.png[logo borne, 100, 300] - -==== Données annotées https://github.com/aesuli/SentiWordNet[SentiWordNet] et https://archive.illc.uva.nl//EuroWordNet/[EuroWordNet] - -SentiWordNet est un ensemble de groupes de synonymes en Anglais (appelés synsets) auxquels ont été affectés trois scores quantifiant leur positivité, leur négativité et leur objectivité. L'ensemble est disponible en libre accès à des fins de recherche sur la classification d'émotion, un domaine récemment créé. EuroWordNet est aussi un réseau sémantique, à la différence qu'il a été développé pour des langues européennes et donc nous est utile pour analyser des avis en Français. Le coeur de notre projet étant la classification d'avis utilisateurs pour permettre au gérant d'améliorer au mieux l'expérience utilisateur, ces bases de données sont extrêmement pertinentes. - -image::../images/Sentiwordnet.jpg[logo Sentiwordnet, 300, 66] -image::../images/eurowordnet.jpeg[logo eurowordnet] - -==== Outil https://github.com/cjhutto/vaderSentiment[VADER] - -VADER est un outil développé par le MIT pour un usage dans le traitement du langage naturel en Anglais. Il faut mentionner qu'il peut être utilisé sur du Français en s'appuyant sur un outil de traduction externe. À un avis utilisateur donné, il associe trois scores: positivité, négativité et neutralité, puis en déduit un score global, en fonction d'une pondération définie par le programmeur (nous dans ce cas), (entre 1 (avis le plus positif possible) et -1 (avis le plus négatif possible). Il peut, entre autres, prendre en compte les émoticônes, la présence de majuscules, la disposition de la ponctuation, des abbréviations usuelles. Il a l'avantage d'être particulièrement efficace pour analyser les sentiments des avis postés sur les réseaux sociaux, or nous voulons pratiquer le scraping d'avis sur ces plateformes pour que le gérant puisse avoir un maximum de retours. - -==== Algorithme https://github.com/HSE-asavchenko/face-emotion-recognition[HSEmotion] (High-Speed face Emotion recognition) - -Cet algorithme a été développé à l'université HSE dans le but de reconnaître des émotions à partir de photos ou de vidéos. Il a notamment permis à son auteur Andrey Savchenko d'avoir de très bons résultats aux concours de reconnaissance d'émotion organisés par https://ibug.doc.ic.ac.uk[ibug], un groupe d'experts spécialisés dans l'analyse du comportement humain. Cela montre que ce domaine est en plein essor. - -==== https://google.github.io/mediapipe/solutions/hands.html[MediaPipe Hands] - -Cette interface de programmation permet au programmeur d'avoir un traçage de la main. Le processus se décompose en deux parties: dans un premier temps, un modèle de machine learning délimite la main dans l'image entière, puis un deuxième modèle se charge de placer des points critiques de la main à partir de cette image bornée. L'ensemble peut permettre de reconnaître des signes de la main par exemple. Nous avons pour projet de reconnaître de tels signes pour permettre une interaction à distance entre l'utilisateur et la borne. - -.Exemples de placement de points sur des mains réelles (en haut) et issues d'images de synthèse (en bas) (source: https://google.github.io/mediapipe/solutions/hands.html) -image::../images/hand.png[logo hand, 480, 254] - - -==== Interface Google My Business - -Cette interface de programmation permet, entre autres, de https://developers.google.com/my-business/reference/rest/v4/accounts.locations.reviews[récupérer] des avis laissés sur Google Maps concernant un lieu. Elle peut s'avérer utile pour recueillir des avis pour notre projet. - -image::../images/googlebusiness.jpg[logo googlebusiness, 125, 125] - -==== https://developers.facebook.com/docs/instagram-api/[API GraphQL d'instagram] - -Cette interface de programmation permet de récupérer automatiquement des avis laissés sur des publications Instagram ainsi que le nombre de "j'aime". Cette solution peut être utile comme source annexe d'avis. - -image::../images/graphql.png[logo graphql, 125, 125] +=== Description de l’état de l’art +ifdef::env-gitlab,env-browser[:outfilesuffix: .adoc] + +==== Borne à smiley + +La borne à smiley est une solution très populaire et utilisée par de nombreuses entreprises pour recueillir les avis utilisateurs par appui sur un émoticône représentant une émotion. La popularité de ce produit montre le besoin de dispositifs de recueil d’avis automatisé. Cependant, l'utilisation de ce type de borne a rapidement décru après la pandémie pour des raisons d'hygiène. De plus, ces bornes présentent d'autres inconvénients: incapabilité de poser plus qu'une question et absence de justification derrière les réponses. + +.Exemple de borne à smiley +image::../images/borne.png[logo borne, 100, 300] + +==== Données annotées https://github.com/aesuli/SentiWordNet[SentiWordNet] et https://archive.illc.uva.nl//EuroWordNet/[EuroWordNet] + +SentiWordNet est un ensemble de groupes de synonymes en Anglais (appelés synsets) auxquels ont été affectés trois scores quantifiant leur positivité, leur négativité et leur objectivité. L'ensemble est disponible en libre accès à des fins de recherche sur la classification d'émotion, un domaine récemment créé. EuroWordNet est aussi un réseau sémantique, à la différence qu'il a été développé pour des langues européennes et donc nous est utile pour analyser des avis en Français. Le coeur de notre projet étant la classification d'avis utilisateurs pour permettre au gérant d'améliorer au mieux l'expérience utilisateur, ces bases de données sont extrêmement pertinentes. + +image::../images/Sentiwordnet.jpg[logo Sentiwordnet, 300, 66] +image::../images/eurowordnet.jpeg[logo eurowordnet] + +==== Outil https://github.com/cjhutto/vaderSentiment[VADER] + +VADER est un outil développé par le MIT pour un usage dans le traitement du langage naturel en Anglais. Il faut mentionner qu'il peut être utilisé sur du Français en s'appuyant sur un outil de traduction externe. À un avis utilisateur donné, il associe trois scores: positivité, négativité et neutralité, puis en déduit un score global, en fonction d'une pondération définie par le programmeur (nous dans ce cas), (entre 1 (avis le plus positif possible) et -1 (avis le plus négatif possible). Il peut, entre autres, prendre en compte les émoticônes, la présence de majuscules, la disposition de la ponctuation, des abbréviations usuelles. Il a l'avantage d'être particulièrement efficace pour analyser les sentiments des avis postés sur les réseaux sociaux, or nous voulons pratiquer le scraping d'avis sur ces plateformes pour que le gérant puisse avoir un maximum de retours. + +==== Algorithme https://github.com/HSE-asavchenko/face-emotion-recognition[HSEmotion] (High-Speed face Emotion recognition) + +Cet algorithme a été développé à l'université HSE dans le but de reconnaître des émotions à partir de photos ou de vidéos. Il a notamment permis à son auteur Andrey Savchenko d'avoir de très bons résultats aux concours de reconnaissance d'émotion organisés par https://ibug.doc.ic.ac.uk[ibug], un groupe d'experts spécialisés dans l'analyse du comportement humain. Cela montre que ce domaine est en plein essor. + +==== https://google.github.io/mediapipe/solutions/hands.html[MediaPipe Hands] + +Cette interface de programmation permet au programmeur d'avoir un traçage de la main. Le processus se décompose en deux parties: dans un premier temps, un modèle de machine learning délimite la main dans l'image entière, puis un deuxième modèle se charge de placer des points critiques de la main à partir de cette image bornée. L'ensemble peut permettre de reconnaître des signes de la main par exemple. Nous avons pour projet de reconnaître de tels signes pour permettre une interaction à distance entre l'utilisateur et la borne. + +.Exemples de placement de points sur des mains réelles (en haut) et issues d'images de synthèse (en bas) (source: https://google.github.io/mediapipe/solutions/hands.html) +image::../images/hand.png[logo hand, 480, 254] + + +==== Interface Google My Business + +Cette interface de programmation permet, entre autres, de https://developers.google.com/my-business/reference/rest/v4/accounts.locations.reviews[récupérer] des avis laissés sur Google Maps concernant un lieu. Elle peut s'avérer utile pour recueillir des avis pour notre projet. + +image::../images/googlebusiness.jpg[logo googlebusiness, 125, 125] + +==== https://developers.facebook.com/docs/instagram-api/[API GraphQL d'instagram] + +Cette interface de programmation permet de récupérer automatiquement des avis laissés sur des publications Instagram ainsi que le nombre de "j'aime". Cette solution peut être utile comme source annexe d'avis. + +image::../images/graphql.png[logo graphql, 125, 125] diff --git a/rapport/proposition/proposition.adoc b/rapport/proposition/proposition.adoc index c62410d..95d430f 100644 --- a/rapport/proposition/proposition.adoc +++ b/rapport/proposition/proposition.adoc @@ -1,16 +1,16 @@ -=== Description de la proposition - -De nombreux moyens sont mis en place pour donner un avis sur un achat, une visite… Mais ces moyens ne sont pas toujours optimaux. En effet, les réseaux sociaux sont un moyen de le faire cependant comme attendu, après avoir interrogé les gens autour de nous, on a réalisé que beaucoup de personnes ne faisaient pas l’effort de se connecter, écrire un commentaire… En revanche, ce sont les expériences particulièrement négatives et positives qui reviennent car les gens ont bien plus envie de le partager. Ainsi cela ne représente pas une source d’avis nuancé et représentatif pour le gérant. - -Les boutons sur lesquels on pouvait appuyer pour donner un avis étaient certes un moyen d’exprimer son sentiment sans faire d’effort. Cependant, depuis le début de la crise covid, ces bornes ont disparu pour des raisons d’hygiène. - -On a donc pensé à une manière de donner son avis efficace qui serait donc à la fois ludique et attractif mais surtout rapide et facile d’utilisation, qui demanderait le moins d’effort aux usagers. Notre dispositif ne demande aux usagers que de faire un signe de la main ou une expression faciale traduisant leur avis. Cette borne permettra, en plus des QR code placés un peu partout, de donner un commentaire plus long et construit à ceux qui le souhaite. - -Cette borne permettra à tous de donner leur avis ce qu’aujourd’hui n’est pas possible sur le même dispositif. Après avoir interrogé des clients potentiels, on a remarqué que les personnes âgés n’utilisaient pas internet pour donner leur avis, de même pour de nombreux jeunes, les réseaux sociaux ne leur servaient pas à écrire des commentaires en revanche, il donne de l’importance aux avis et notes sur internet avant d’acheter quelque chose ou de visiter un endroit, un restaurant… De même, les professionnels donnent beaucoup d’importance aux retours de leur usagers pour améliorer leur services. Tout le monde s’accorde sur le fait que les dispositifs pour donner leur avis sont importants bien qu’ils ne soient pas très efficaces. - -Notre borne a pour objectif d’une part donner une voix à tous les usagers quelque soit leur âge, leur rapport aux technologies… et d’autre part de faire le lien entre fournisseur de service et usagers. Ainsi une grosse partie de notre projet reste l’interface accessible au gérant. En effet, les données récoltées par la borne seront complétés par les commentaires laissés sur les réseaux sociaux. Ainsi, on pourra offrir au gérant un rapport complet et nuancé. Le gérant aura accès à une synthèse de tous les avis ainsi qu’un rapport sur les points récurrents par mot-clés et la totalité des commentaires. - - -.Formes possibles pour la borne -image::../images/borne2.png[borne2] - +=== Description de la proposition + +De nombreux moyens sont mis en place pour donner un avis sur un achat, une visite… Mais ces moyens ne sont pas toujours optimaux. En effet, les réseaux sociaux sont un moyen de le faire cependant comme attendu, après avoir interrogé les gens autour de nous, on a réalisé que beaucoup de personnes ne faisaient pas l’effort de se connecter, écrire un commentaire… En revanche, ce sont les expériences particulièrement négatives et positives qui reviennent car les gens ont bien plus envie de le partager. Ainsi cela ne représente pas une source d’avis nuancé et représentatif pour le gérant. + +Les boutons sur lesquels on pouvait appuyer pour donner un avis étaient certes un moyen d’exprimer son sentiment sans faire d’effort. Cependant, depuis le début de la crise covid, ces bornes ont disparu pour des raisons d’hygiène. + +On a donc pensé à une manière de donner son avis efficace qui serait donc à la fois ludique et attractif mais surtout rapide et facile d’utilisation, qui demanderait le moins d’effort aux usagers. Notre dispositif ne demande aux usagers que de faire un signe de la main ou une expression faciale traduisant leur avis. Cette borne permettra, en plus des QR code placés un peu partout, de donner un commentaire plus long et construit à ceux qui le souhaite. + +Cette borne permettra à tous de donner leur avis ce qu’aujourd’hui n’est pas possible sur le même dispositif. Après avoir interrogé des clients potentiels, on a remarqué que les personnes âgés n’utilisaient pas internet pour donner leur avis, de même pour de nombreux jeunes, les réseaux sociaux ne leur servaient pas à écrire des commentaires en revanche, il donne de l’importance aux avis et notes sur internet avant d’acheter quelque chose ou de visiter un endroit, un restaurant… De même, les professionnels donnent beaucoup d’importance aux retours de leur usagers pour améliorer leur services. Tout le monde s’accorde sur le fait que les dispositifs pour donner leur avis sont importants bien qu’ils ne soient pas très efficaces. + +Notre borne a pour objectif d’une part donner une voix à tous les usagers quelque soit leur âge, leur rapport aux technologies… et d’autre part de faire le lien entre fournisseur de service et usagers. Ainsi une grosse partie de notre projet reste l’interface accessible au gérant. En effet, les données récoltées par la borne seront complétés par les commentaires laissés sur les réseaux sociaux. Ainsi, on pourra offrir au gérant un rapport complet et nuancé. Le gérant aura accès à une synthèse de tous les avis ainsi qu’un rapport sur les points récurrents par mot-clés et la totalité des commentaires. + + +.Formes possibles pour la borne +image::../images/borne2.png[borne2] + diff --git a/rapport/scenario/scenario.adoc b/rapport/scenario/scenario.adoc index 2342c4f..0e734fc 100644 --- a/rapport/scenario/scenario.adoc +++ b/rapport/scenario/scenario.adoc @@ -1,23 +1,23 @@ -=== Scénarios d’usage - -==== Scénario Client - -Voilà déjà quatre heures que j’étais dans le parc d'attraction avec mon fils, on s'est beaucoup amusé, et le temps est passé si vite, mais il était temps de rentrer. J'étais plongé dans mes pensées lorsque mon fils s’écria : "Papa ! Papa ! C’est pas encore fini. il y a quelque chose là-bas qui semble amusant. C’est peut être un jeu ! là où il y a un visage souriant, il nous fait signe de venir !!!" En effet, au bout de l’allée se tenait une sorte de machine qui jouait une petite musique. Je m'approche calmement contrairement à lui qui se précipite dessus. C'était une borne, le visage souriant qui apparaissait sur l'écran me demandait mon avis … Qu’est ce que j’étais supposé faire? Elle nous filmait en me demandant de faire un signe de la main pour savoir si j’avais apprécié mon séjour dans le parc. C'était un peu effrayant tout de même… Le message suivant s’affichait sur l'écran : "vous êtes filmés mais non enregistrés ". Avec retenu, je fis alors un geste avec la main pour signifier ma satisfaction. Mon fils, beaucoup plus à l’aise que moi, fit un cœur avec ses mains. Il était assez clair qu’il ne se souciait pas du tout de la caméra. Après cela, la borne produisit un éclat de sons, et afficha pleins de visages souriants sur son écran. Je m'apprêtais à partir lorsque la borne me demanda d’ajouter un commentaire vocal si j’en avais envie. Bien que j’étais réticent à l’idée de me faire filmer, j’ai quand même exprimé mon avis sur le parc en général, la diversité des attractions, la bienveillance de l’accueil, la disponibilité des employés. J’ai également fait remarquer qu’une des attractions devrait être rénovée car la devanture était assez vieille. La borne m'a remercié et nous sommes partis. - -Il faut avouer que c'était simple, ludique et assez attractif pour le coup. Cela me rappelle une borne qui existait dans mon enfance qui utilisait des boutons, qui s'avèrent être une méthode désuète, cela m'a incité alors à donner mon avis . - - -==== Scénario administrateur - -Gérante d’un parc d'attractions assez populaire dans le Nord de la France, Amélie est de plus en plus inquiète de sa situation. Son chiffre d'affaires ne fait que baisser depuis un an et elle craint de devoir mettre la clef sous la porte dans les prochains mois si elle ne trouve pas vite une solution. Elle a eu vent du récent succès de son concurrent de la ville d’à côté, un parc innovant et attractif qui ne fait que de s’étendre. Mais d’où peut bien venir un tel enclin des clients se demandait elle. Pour elle, son parc est pour le moins aussi bien que celui d’en face mais pourtant, certaines personnes seraient prêtes à faire des kilomètres en plus pour aller chez la concurrence. - -Un soir dans la semaine, elle en parle à son ami directeur d’un musée à Paris. Il lui conseille alors de savoir ce que pensent les clients de son parc en allant leur demander directement. Il lui parle d’un dispositif révolutionnaire qui recueille et analyse les commentaires laissés par les utilisateurs. C’est ce même système qui est disposé à l’accueil du musée et qui aide le pôle relation client à cibler les problèmes relevés par les visiteurs afin de les corriger et ainsi améliorer la visite. A première vue elle ne semble pas réellement emballée par ce système : les personnes accepteront elles de se faire filmer ? Son ami reconnaît que tous les visiteurs ne l’utilisent pas mais en les plaçant dans les lieux d’affluence, assez d’avis sont recueillis pour que le dispositif soit pertinent. - -Amélie décide alors d’utiliser ce dispositif et donc elle fait installer plusieurs bornes réparties un peu partout dans le parc, à certains endroits stratégiques, où l’affluence est assez importante pour maximiser le nombre de clients qui utiliseraient la machine. Elle met également en place tout un environnement attrayant autour de chacune d'entre elles pour favoriser la venue du client. Une bande sonore est également implémentée au sein de la borne pour qu’elle paraisse ludique et qu’elle attire l’attention du client. -Une semaine après la mise en place des dispositifs, les résultats sont impressionnants. Tout d’abord, le dispositif est assez utilisé par les usagers du parc pour pouvoir faire des statistiques. Le système traite par lui-même les informations qu’il collecte. Une analyse des enregistrements vocaux et vidéos permet de déterminer l’humeur du client. A l’issue de cette étape, seule la transcription écrite des enregistrements et les émotions sont récupérées, les autres données sont supprimées. Les avis collectées sont regroupés avec ceux laissés sur les réseaux sociaux pour former une base de commentaires. Une analyse sémantique est ensuite effectuée sur toutes les remarques pour repérer les mots clefs. Ceux recueillis par les bornes sont plus complets et plus pertinents car ils sont associés à une émotion ce qui va pouvoir séparer les avis profonds et construits des remarques véhémentes sans fondement par exemple. Les avis sont ensuite triés et organisés par thème et selon leur récurrence. Le système renvoie alors un classement des plaintes (la priorité des remarques est déduite de leur répétition et de l’émotion auxquelles elles sont associées : si un avis est associé à la colère par exemple, il doit être traité au plus vite). Sur l’interface, elle voit tout d’abord sur le côté gauche de son écran une jauge du bonheur lui indiquant l’émotion globale de ces usagers. A gauche de l’écran se trouve des nuages de mots clés dans des bulles de couleurs plus ou moins grosses selon leur importance (la couleur étant déterminée par l’émotion liée aux mots). Quand elle clique sur une des bulles, elle peut avoir accès à un commentaire global lui indiquant si le retour est positif ou négatif, et la liste des commentaires sur le sujet. - - - - - - +=== Scénarios d’usage + +==== Scénario Client + +Voilà déjà quatre heures que j’étais dans le parc d'attraction avec mon fils, on s'est beaucoup amusé, et le temps est passé si vite, mais il était temps de rentrer. J'étais plongé dans mes pensées lorsque mon fils s’écria : "Papa ! Papa ! C’est pas encore fini. il y a quelque chose là-bas qui semble amusant. C’est peut être un jeu ! là où il y a un visage souriant, il nous fait signe de venir !!!" En effet, au bout de l’allée se tenait une sorte de machine qui jouait une petite musique. Je m'approche calmement contrairement à lui qui se précipite dessus. C'était une borne, le visage souriant qui apparaissait sur l'écran me demandait mon avis … Qu’est ce que j’étais supposé faire? Elle nous filmait en me demandant de faire un signe de la main pour savoir si j’avais apprécié mon séjour dans le parc. C'était un peu effrayant tout de même… Le message suivant s’affichait sur l'écran : "vous êtes filmés mais non enregistrés ". Avec retenu, je fis alors un geste avec la main pour signifier ma satisfaction. Mon fils, beaucoup plus à l’aise que moi, fit un cœur avec ses mains. Il était assez clair qu’il ne se souciait pas du tout de la caméra. Après cela, la borne produisit un éclat de sons, et afficha pleins de visages souriants sur son écran. Je m'apprêtais à partir lorsque la borne me demanda d’ajouter un commentaire vocal si j’en avais envie. Bien que j’étais réticent à l’idée de me faire filmer, j’ai quand même exprimé mon avis sur le parc en général, la diversité des attractions, la bienveillance de l’accueil, la disponibilité des employés. J’ai également fait remarquer qu’une des attractions devrait être rénovée car la devanture était assez vieille. La borne m'a remercié et nous sommes partis. + +Il faut avouer que c'était simple, ludique et assez attractif pour le coup. Cela me rappelle une borne qui existait dans mon enfance qui utilisait des boutons, qui s'avèrent être une méthode désuète, cela m'a incité alors à donner mon avis . + + +==== Scénario administrateur + +Gérante d’un parc d'attractions assez populaire dans le Nord de la France, Amélie est de plus en plus inquiète de sa situation. Son chiffre d'affaires ne fait que baisser depuis un an et elle craint de devoir mettre la clef sous la porte dans les prochains mois si elle ne trouve pas vite une solution. Elle a eu vent du récent succès de son concurrent de la ville d’à côté, un parc innovant et attractif qui ne fait que de s’étendre. Mais d’où peut bien venir un tel enclin des clients se demandait elle. Pour elle, son parc est pour le moins aussi bien que celui d’en face mais pourtant, certaines personnes seraient prêtes à faire des kilomètres en plus pour aller chez la concurrence. + +Un soir dans la semaine, elle en parle à son ami directeur d’un musée à Paris. Il lui conseille alors de savoir ce que pensent les clients de son parc en allant leur demander directement. Il lui parle d’un dispositif révolutionnaire qui recueille et analyse les commentaires laissés par les utilisateurs. C’est ce même système qui est disposé à l’accueil du musée et qui aide le pôle relation client à cibler les problèmes relevés par les visiteurs afin de les corriger et ainsi améliorer la visite. A première vue elle ne semble pas réellement emballée par ce système : les personnes accepteront elles de se faire filmer ? Son ami reconnaît que tous les visiteurs ne l’utilisent pas mais en les plaçant dans les lieux d’affluence, assez d’avis sont recueillis pour que le dispositif soit pertinent. + +Amélie décide alors d’utiliser ce dispositif et donc elle fait installer plusieurs bornes réparties un peu partout dans le parc, à certains endroits stratégiques, où l’affluence est assez importante pour maximiser le nombre de clients qui utiliseraient la machine. Elle met également en place tout un environnement attrayant autour de chacune d'entre elles pour favoriser la venue du client. Une bande sonore est également implémentée au sein de la borne pour qu’elle paraisse ludique et qu’elle attire l’attention du client. +Une semaine après la mise en place des dispositifs, les résultats sont impressionnants. Tout d’abord, le dispositif est assez utilisé par les usagers du parc pour pouvoir faire des statistiques. Le système traite par lui-même les informations qu’il collecte. Une analyse des enregistrements vocaux et vidéos permet de déterminer l’humeur du client. A l’issue de cette étape, seule la transcription écrite des enregistrements et les émotions sont récupérées, les autres données sont supprimées. Les avis collectées sont regroupés avec ceux laissés sur les réseaux sociaux pour former une base de commentaires. Une analyse sémantique est ensuite effectuée sur toutes les remarques pour repérer les mots clefs. Ceux recueillis par les bornes sont plus complets et plus pertinents car ils sont associés à une émotion ce qui va pouvoir séparer les avis profonds et construits des remarques véhémentes sans fondement par exemple. Les avis sont ensuite triés et organisés par thème et selon leur récurrence. Le système renvoie alors un classement des plaintes (la priorité des remarques est déduite de leur répétition et de l’émotion auxquelles elles sont associées : si un avis est associé à la colère par exemple, il doit être traité au plus vite). Sur l’interface, elle voit tout d’abord sur le côté gauche de son écran une jauge du bonheur lui indiquant l’émotion globale de ces usagers. A gauche de l’écran se trouve des nuages de mots clés dans des bulles de couleurs plus ou moins grosses selon leur importance (la couleur étant déterminée par l’émotion liée aux mots). Quand elle clique sur une des bulles, elle peut avoir accès à un commentaire global lui indiquant si le retour est positif ou négatif, et la liste des commentaires sur le sujet. + + + + + + From 4bbbe36d281a833be8834b63f0dc593df9f463ef Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Wed, 4 Jan 2023 22:24:07 +0100 Subject: [PATCH 02/63] Feed webcam sur un canvas js --- code/client/borne/assets/js/main.js | 106 +++++++++++++++++----------- code/client/borne/index.html | 4 +- 2 files changed, 65 insertions(+), 45 deletions(-) diff --git a/code/client/borne/assets/js/main.js b/code/client/borne/assets/js/main.js index 3570d6c..5fb9727 100644 --- a/code/client/borne/assets/js/main.js +++ b/code/client/borne/assets/js/main.js @@ -1,52 +1,72 @@ -let canvas = document.getElementById('camera'); -let video = document.getElementById('video'); +// Pour l'explication complète du code : https://developer.mozilla.org/en-US/docs/Web/API/Media_Capture_and_Streams_API/Taking_still_photos#javascript +(() => { + // The width and height of the captured photo. We will set the + // width to the value defined here, but the height will be + // calculated based on the aspect ratio of the input stream. -const width = 320; // We will scale the photo width to this -let height = 0; // This will be computed based on the input stream -let streaming = false; + const width = 500; // We will scale the photo width to this + let height = 0; // This will be computed based on the input stream -function startup() { - video = document.getElementById("video"); - canvas = document.getElementById("canvas"); + // |streaming| indicates whether or not we're currently streaming + // video from the camera. Obviously, we start at false. - navigator.mediaDevices - .getUserMedia({ video: true, audio: false }) - .then((stream) => { - video.srcObject = stream; - video.play(); - }) - .catch((err) => { - console.error(`An error occurred: ${err}`); - }); + let streaming = false; - video.addEventListener( - "canplay", - (ev) => { - if (!streaming) { - height = video.videoHeight / (video.videoWidth / width); + // The various HTML elements we need to configure or control. These + // will be set by the startup() function. - // Firefox currently has a bug where the height can't be read from - // the video, so we will make assumptions if this happens. + let video = null; + let canvas = null; - if (isNaN(height)) { - height = width / (4 / 3); - } + function startup() { + video = document.createElement("video"); + canvas = document.getElementById("canvas"); - video.setAttribute("width", width); - video.setAttribute("height", height); - canvas.setAttribute("width", width); - canvas.setAttribute("height", height); - streaming = true; - drawVideoOnCanvas(); - } - }, - false - ); -} + navigator.mediaDevices + .getUserMedia({ video: true, audio: false }) + .then((stream) => { + video.srcObject = stream; + video.play(); + }) + .catch((err) => { + console.error(`An error occurred: ${err}`); + }); -window.addEventListener("load", startup, false); + video.addEventListener( + "canplay", + (ev) => { + if (!streaming) { + height = video.videoHeight / (video.videoWidth / width); -const drawVideoOnCanvas = () => { - canvas.getContext("2d").drawImage(video, 0, 0, width, height); - requestAnimationFrame(drawVideoOnCanvas); -} \ No newline at end of file + // Firefox currently has a bug where the height can't be read from + // the video, so we will make assumptions if this happens. + + if (isNaN(height)) { + height = width / (4 / 3); + } + + video.setAttribute("width", width); + video.setAttribute("height", height); + canvas.setAttribute("width", width); + canvas.setAttribute("height", height); + streaming = true; + } + }, + false + ); + } + + function updateCanvas() { + const context = canvas.getContext("2d"); + if (width && height) { + canvas.width = width; + canvas.height = height; + context.drawImage(video, 0, 0, width, height); + /* Ajouter Ici le code pour supperposer les animations */ + } + requestAnimationFrame(updateCanvas); + } + + window.addEventListener("load", startup, false); + window.addEventListener("load", updateCanvas, false); +})(); diff --git a/code/client/borne/index.html b/code/client/borne/index.html index 8883aa3..e561a18 100644 --- a/code/client/borne/index.html +++ b/code/client/borne/index.html @@ -7,7 +7,7 @@ Téléreview - - + + \ No newline at end of file From 5c15a2837a70fbd9ac7c6e6b49fdc2a4137c11e4 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Wed, 4 Jan 2023 22:25:32 +0100 Subject: [PATCH 03/63] suppr conflicts --- ...ntin-Laptop_Jan-04-193148-2023_Conflict.py | 29 ------------------- 1 file changed, 29 deletions(-) delete mode 100644 code/server/exemple_utilisation_Quentin-Laptop_Jan-04-193148-2023_Conflict.py diff --git a/code/server/exemple_utilisation_Quentin-Laptop_Jan-04-193148-2023_Conflict.py b/code/server/exemple_utilisation_Quentin-Laptop_Jan-04-193148-2023_Conflict.py deleted file mode 100644 index 41ef34f..0000000 --- a/code/server/exemple_utilisation_Quentin-Laptop_Jan-04-193148-2023_Conflict.py +++ /dev/null @@ -1,29 +0,0 @@ -import requests -#Exemple ajout d'un commentaire depuis la borne (site ou geste) -avis = { - "note": 8, - "source": "borne", - #Optionel - "auteur_age": 20, - "notes_autre": '{"proprete":8,"calme":10}', - "auteur_sexe": 'f', - "commentaire": "Commentaire" -} - -# res = requests.post("http://localhost:8080/add_review", data=avis) -# print(res.text) - -#Exemple ajout d'un commentaire trouvé sur les réseaux sociaux -avis = { - "auteur_nom": "michel", - "source": "instagram", - "note": 8, - "date": "2022-12-24", - #Optionel - "commentaire": "J'ai beaucoup aimé !", - "lien": "https://instagram.com/si_insta_avait_des_liens_vers_des_commentaires_faudrait_le_mettre_ici", - "auteur_lien": "https://instagram.com/michel", -} - -res = requests.post("http://localhost:8080/add_social_review", data=avis) -print(res.text) \ No newline at end of file From d7893c91ada5e3b3ec3eed05e247f29fb97ea147 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Thu, 5 Jan 2023 17:08:01 +0100 Subject: [PATCH 04/63] =?UTF-8?q?effets=20sur=20l'interface=20web=20depuis?= =?UTF-8?q?=20python=20Tests=20sur=20l'impl=C3=A9mentation=20de=20communic?= =?UTF-8?q?ation=20interface=20web=20/=20backend=20python=20pour=20la=20re?= =?UTF-8?q?connaissance=20de=20main=20avec=20webSocket?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/borne/backend/exemple.py | 13 +++ code/borne/interface/assets/img/thumbs_up.png | Bin 0 -> 153600 bytes .../interface/assets/js/camera_editor.js | 82 ++++++++++++++++++ code/borne/interface/assets/js/main.js | 6 ++ code/borne/interface/assets/js/network.js | 14 +++ .../borne => borne/interface}/index.html | 2 + code/borne/readme.md | 0 code/client/borne/assets/js/main.js | 72 --------------- code/server/README.md | 2 + 9 files changed, 119 insertions(+), 72 deletions(-) create mode 100644 code/borne/backend/exemple.py create mode 100644 code/borne/interface/assets/img/thumbs_up.png create mode 100644 code/borne/interface/assets/js/camera_editor.js create mode 100644 code/borne/interface/assets/js/main.js create mode 100644 code/borne/interface/assets/js/network.js rename code/{client/borne => borne/interface}/index.html (76%) create mode 100644 code/borne/readme.md delete mode 100644 code/client/borne/assets/js/main.js diff --git a/code/borne/backend/exemple.py b/code/borne/backend/exemple.py new file mode 100644 index 0000000..5797ac5 --- /dev/null +++ b/code/borne/backend/exemple.py @@ -0,0 +1,13 @@ +import asyncio +import json +import websockets +# create handler for each connection +async def handler(websocket, path): + data = await websocket.recv() + print(data) + await websocket.send(json.dumps({"type": "effects", "effects": [{"type": "thumbs_up", "x":13, "y": 30, "width": 50, "height": 50}]})) + + +start_server = websockets.serve(handler, "localhost", 5000) +asyncio.get_event_loop().run_until_complete(start_server) +asyncio.get_event_loop().run_forever() \ No newline at end of file diff --git a/code/borne/interface/assets/img/thumbs_up.png b/code/borne/interface/assets/img/thumbs_up.png new file mode 100644 index 0000000000000000000000000000000000000000..d6f7fb9683715c676321f379f010a40c3b5a0431 GIT binary patch literal 153600 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

&xVI0eUP`r+xE&}t{Fh(wpFZL0y?Ca*?sNNl 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 P0Y8@J2(v0v_qhK9UY;$$ literal 0 HcmV?d00001 diff --git a/code/borne/interface/assets/js/camera_editor.js b/code/borne/interface/assets/js/camera_editor.js new file mode 100644 index 0000000..36d4e42 --- /dev/null +++ b/code/borne/interface/assets/js/camera_editor.js @@ -0,0 +1,82 @@ +class CameraEditor { + constructor(canvas) { + this.canvas = canvas; + this.ctx = canvas.getContext("2d"); + this.video = document.createElement("video"); + this.width = canvas.width; + this.height; + this.streaming = false; + this.activeEffects = []; + this.images = {}; + this._startup(); + this._loadImages(); + } + + _startup() { + navigator.mediaDevices + .getUserMedia({ video: true, audio: false }) + .then((stream) => { + this.video.srcObject = stream; + this.video.play(); + }) + .catch((err) => { + console.error(`Erreur pendant la lecture de la camera: ${err}`); + }); + + this.video.addEventListener( + "canplay", + (ev) => { + if (!this.streaming) { + this.height = this.video.videoHeight / (this.video.videoWidth / this.width); + + // Firefox currently has a bug where the height can't be read from + // the video, so we will make assumptions if this happens. + + if (isNaN(this.height)) { + this.height = this.width / (4 / 3); + } + + this.video.setAttribute("width", this.width); + this.video.setAttribute("height", this.height); + this.canvas.setAttribute("width", this.width); + this.canvas.setAttribute("height", this.height); + this.streaming = true; + } + }, + false + ); + } + + _loadImages() { + this.images.thumbsUp = new Image(); + this.images.thumbsUp.src = "assets/img/thumbs_up.png"; + } + + _frame() { + const context = canvas.getContext("2d"); + if (this.width && this.height) { + canvas.width = this.width; + canvas.height = this.height; + context.drawImage(this.video, 0, 0, this.width, this.height); + this._drawEffects(); + } + } + + _drawEffects() { + for (let {type,x,y,width,height} of this.activeEffects) { + if(type == "thumbs_up"){ + this._drawThumbsUp(x,y,width,height); + } + } + } + + _drawThumbsUp(x,y,width,height){ + this.ctx.beginPath(); + this.ctx.drawImage(this.images.thumbsUp,x,y,width,height); + this.ctx.stroke(); + } + + setEffects(effects) { + this.activeEffects = effects; + } +} \ No newline at end of file diff --git a/code/borne/interface/assets/js/main.js b/code/borne/interface/assets/js/main.js new file mode 100644 index 0000000..bb4652e --- /dev/null +++ b/code/borne/interface/assets/js/main.js @@ -0,0 +1,6 @@ +let cameraEditor; +let client +window.addEventListener("load", () => { + cameraEditor = new CameraEditor(document.getElementById("canvas")); + client = new WebsocketClient((effects) => { cameraEditor.setEffects(effects); }); +}, false); \ No newline at end of file diff --git a/code/borne/interface/assets/js/network.js b/code/borne/interface/assets/js/network.js new file mode 100644 index 0000000..804b5e3 --- /dev/null +++ b/code/borne/interface/assets/js/network.js @@ -0,0 +1,14 @@ +class WebsocketClient { + constructor(onNewEffects) { + this.socket = new WebSocket("ws://localhost:5000"); + this.socket.addEventListener("open", (event) => { + this.socket.send("connected"); + }); + this.socket.addEventListener("message", (event) => { + let msg = JSON.parse(event.data); + if (msg.type == "effects") { + onNewEffects(msg.effects); + } + }); + } +} \ No newline at end of file diff --git a/code/client/borne/index.html b/code/borne/interface/index.html similarity index 76% rename from code/client/borne/index.html rename to code/borne/interface/index.html index e561a18..95e456d 100644 --- a/code/client/borne/index.html +++ b/code/borne/interface/index.html @@ -9,5 +9,7 @@ + + \ No newline at end of file diff --git a/code/borne/readme.md b/code/borne/readme.md new file mode 100644 index 0000000..e69de29 diff --git a/code/client/borne/assets/js/main.js b/code/client/borne/assets/js/main.js deleted file mode 100644 index 5fb9727..0000000 --- a/code/client/borne/assets/js/main.js +++ /dev/null @@ -1,72 +0,0 @@ -// Pour l'explication complète du code : https://developer.mozilla.org/en-US/docs/Web/API/Media_Capture_and_Streams_API/Taking_still_photos#javascript -(() => { - // The width and height of the captured photo. We will set the - // width to the value defined here, but the height will be - // calculated based on the aspect ratio of the input stream. - - const width = 500; // We will scale the photo width to this - let height = 0; // This will be computed based on the input stream - - // |streaming| indicates whether or not we're currently streaming - // video from the camera. Obviously, we start at false. - - let streaming = false; - - // The various HTML elements we need to configure or control. These - // will be set by the startup() function. - - let video = null; - let canvas = null; - - function startup() { - video = document.createElement("video"); - canvas = document.getElementById("canvas"); - - navigator.mediaDevices - .getUserMedia({ video: true, audio: false }) - .then((stream) => { - video.srcObject = stream; - video.play(); - }) - .catch((err) => { - console.error(`An error occurred: ${err}`); - }); - - video.addEventListener( - "canplay", - (ev) => { - if (!streaming) { - height = video.videoHeight / (video.videoWidth / width); - - // Firefox currently has a bug where the height can't be read from - // the video, so we will make assumptions if this happens. - - if (isNaN(height)) { - height = width / (4 / 3); - } - - video.setAttribute("width", width); - video.setAttribute("height", height); - canvas.setAttribute("width", width); - canvas.setAttribute("height", height); - streaming = true; - } - }, - false - ); - } - - function updateCanvas() { - const context = canvas.getContext("2d"); - if (width && height) { - canvas.width = width; - canvas.height = height; - context.drawImage(video, 0, 0, width, height); - /* Ajouter Ici le code pour supperposer les animations */ - } - requestAnimationFrame(updateCanvas); - } - - window.addEventListener("load", startup, false); - window.addEventListener("load", updateCanvas, false); -})(); diff --git a/code/server/README.md b/code/server/README.md index 132dd36..e32f501 100644 --- a/code/server/README.md +++ b/code/server/README.md @@ -1,3 +1,5 @@ +# Serveur de traitement des données +Ce serveur s'occupe de fournir une API web pour pourvoir ajouter des avis sur la borne, réxupérer des avis, calculer et fournir les statistiques sur ces avis # Installation * Pour faire fonctinoner le serveur sur vos machines il y a 3 choses a faire 1. Installer node js : https://nodejs.org/en/download/ From f64da7352febc4490d7cc9a61f68f417c212ba58 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Fri, 6 Jan 2023 14:49:49 +0100 Subject: [PATCH 05/63] test commit --- code/borne/backend/exemple.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/borne/backend/exemple.py b/code/borne/backend/exemple.py index 5797ac5..2cd0a2e 100644 --- a/code/borne/backend/exemple.py +++ b/code/borne/backend/exemple.py @@ -1,8 +1,9 @@ import asyncio import json import websockets + # create handler for each connection -async def handler(websocket, path): +async def handler(websocket): data = await websocket.recv() print(data) await websocket.send(json.dumps({"type": "effects", "effects": [{"type": "thumbs_up", "x":13, "y": 30, "width": 50, "height": 50}]})) From 10f308c94a8ae153b8a395f5b1ed6337151f7605 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Fri, 6 Jan 2023 15:42:40 +0100 Subject: [PATCH 06/63] Ajout liste des interfaces utilisateurs du projet --- code/liste_pages_web.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 code/liste_pages_web.md diff --git a/code/liste_pages_web.md b/code/liste_pages_web.md new file mode 100644 index 0000000..7a7c9f7 --- /dev/null +++ b/code/liste_pages_web.md @@ -0,0 +1,16 @@ +Liste des pages web à concevoir dans tout le projet +* Interface de la borne + * Interface avec retour vidéo et effets quand un gest est détécté + * page de remerciment, avec indication que la personne peut parler pour développer son avis + * Page de remerciment + +* Formulaire de retour d'avis + * Formulaire + * Page de remerciement + +* Interface admin + * Page principale avec les stats principales + * Page liste des avis récents + * page stats détaillées sur la borne ou on peut changer l'intervalle de calcul des stats + * Page avec les derniers avis récup sur les réseaux sociaux + * Page avec les stats récup sur les réseaux sociaux \ No newline at end of file From 607064913c5a40322310ab1e1b3b07a689947b31 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Fri, 6 Jan 2023 15:43:03 +0100 Subject: [PATCH 07/63] =?UTF-8?q?Am=C3=A9lioration=20effets=20sur=20la=20c?= =?UTF-8?q?amera?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/borne/backend/exemple.py | 14 ---------- code/borne/backend/exemple_overlay_camera.py | 28 +++++++++++++++++++ .../interface/assets/js/camera_editor.js | 13 +++++---- code/borne/interface/assets/js/main.js | 2 +- 4 files changed, 37 insertions(+), 20 deletions(-) delete mode 100644 code/borne/backend/exemple.py create mode 100644 code/borne/backend/exemple_overlay_camera.py diff --git a/code/borne/backend/exemple.py b/code/borne/backend/exemple.py deleted file mode 100644 index 2cd0a2e..0000000 --- a/code/borne/backend/exemple.py +++ /dev/null @@ -1,14 +0,0 @@ -import asyncio -import json -import websockets - -# create handler for each connection -async def handler(websocket): - data = await websocket.recv() - print(data) - await websocket.send(json.dumps({"type": "effects", "effects": [{"type": "thumbs_up", "x":13, "y": 30, "width": 50, "height": 50}]})) - - -start_server = websockets.serve(handler, "localhost", 5000) -asyncio.get_event_loop().run_until_complete(start_server) -asyncio.get_event_loop().run_forever() \ No newline at end of file diff --git a/code/borne/backend/exemple_overlay_camera.py b/code/borne/backend/exemple_overlay_camera.py new file mode 100644 index 0000000..67aa4f6 --- /dev/null +++ b/code/borne/backend/exemple_overlay_camera.py @@ -0,0 +1,28 @@ +import asyncio +import json +import websockets +import numpy as np +import random + +class WebsocketServer: + def __init__(self,getEffects,port=5000,host="localhost") -> None: + self.host = host + self.port = port + self.getEffects = getEffects + + async def run(self): + async with websockets.serve(self.handler, self.host, self.port): + await asyncio.Future() + + + async def handler(self,websocket): + while True: + messages = self.getEffects() + await websocket.send(json.dumps(messages)) + +#Remplacer ça par la fonction qui récupère les effets (dans le module de reconnaissance de gestes) +def getEffects(): + return {"type": "effects", "effects": [{"type": "thumbs_up", "x":random.randint(0,100), "y": random.randint(0,100), "width": 50, "height": 50}]} + +server = WebsocketServer(getEffects) +asyncio.run(server.run()) \ No newline at end of file diff --git a/code/borne/interface/assets/js/camera_editor.js b/code/borne/interface/assets/js/camera_editor.js index 36d4e42..e1edc39 100644 --- a/code/borne/interface/assets/js/camera_editor.js +++ b/code/borne/interface/assets/js/camera_editor.js @@ -54,12 +54,15 @@ class CameraEditor { _frame() { const context = canvas.getContext("2d"); - if (this.width && this.height) { - canvas.width = this.width; - canvas.height = this.height; - context.drawImage(this.video, 0, 0, this.width, this.height); - this._drawEffects(); + if(this.streaming) { + if (this.width && this.height) { + canvas.width = this.width; + canvas.height = this.height; + context.drawImage(this.video, 0, 0, this.width, this.height); + this._drawEffects(); + } } + requestAnimationFrame(() => this._frame()); } _drawEffects() { diff --git a/code/borne/interface/assets/js/main.js b/code/borne/interface/assets/js/main.js index bb4652e..274af74 100644 --- a/code/borne/interface/assets/js/main.js +++ b/code/borne/interface/assets/js/main.js @@ -3,4 +3,4 @@ let client window.addEventListener("load", () => { cameraEditor = new CameraEditor(document.getElementById("canvas")); client = new WebsocketClient((effects) => { cameraEditor.setEffects(effects); }); -}, false); \ No newline at end of file +}, false); From b36f1891ded57243bd487d5ae4326f709a9c43ea Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Sun, 8 Jan 2023 21:22:46 +0100 Subject: [PATCH 08/63] reduction de framerate pour l'overlay camera --- code/borne/backend/exemple_overlay_camera.py | 1 + 1 file changed, 1 insertion(+) diff --git a/code/borne/backend/exemple_overlay_camera.py b/code/borne/backend/exemple_overlay_camera.py index 67aa4f6..55d3062 100644 --- a/code/borne/backend/exemple_overlay_camera.py +++ b/code/borne/backend/exemple_overlay_camera.py @@ -19,6 +19,7 @@ class WebsocketServer: while True: messages = self.getEffects() await websocket.send(json.dumps(messages)) + await asyncio.sleep(1/30) #Remplacer ça par la fonction qui récupère les effets (dans le module de reconnaissance de gestes) def getEffects(): From 81dd02943afb27fdb93aed528780993cc39f78f6 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Tue, 10 Jan 2023 23:37:02 +0100 Subject: [PATCH 09/63] docker compose pour bdd et phpmyadmin --- code/{sql => db}/telereview.sql | 63 ++++++++++++--------------------- code/docker-compose.yaml | 23 ++++++++++++ 2 files changed, 45 insertions(+), 41 deletions(-) rename code/{sql => db}/telereview.sql (76%) create mode 100644 code/docker-compose.yaml diff --git a/code/sql/telereview.sql b/code/db/telereview.sql similarity index 76% rename from code/sql/telereview.sql rename to code/db/telereview.sql index 962bcfe..960a0ca 100644 --- a/code/sql/telereview.sql +++ b/code/db/telereview.sql @@ -1,27 +1,12 @@ --- phpMyAdmin SQL Dump --- version 4.9.5deb2 --- https://www.phpmyadmin.net/ --- --- Host: localhost:3306 --- Generation Time: Dec 26, 2022 at 10:31 AM --- Server version: 8.0.31-0ubuntu0.20.04.1 --- PHP Version: 7.4.3 - SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET AUTOCOMMIT = 0; START TRANSACTION; -SET time_zone = "+00:00"; -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8mb4 */; - -- -- Database: `telereview` -- -CREATE DATABASE IF NOT EXISTS `telereview` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +CREATE DATABASE IF NOT EXISTS `telereview`; USE `telereview`; -- -------------------------------------------------------- @@ -32,9 +17,9 @@ USE `telereview`; CREATE TABLE `borne_auteurs` ( `id` int NOT NULL, - `sexe` tinytext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci, + `sexe` tinytext , `age` tinyint DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ; -- -------------------------------------------------------- @@ -49,7 +34,7 @@ CREATE TABLE `borne_avis` ( `note_principale` tinyint NOT NULL, `commentaire` text NOT NULL, `source_id` int NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ; -- -------------------------------------------------------- @@ -60,7 +45,7 @@ CREATE TABLE `borne_avis` ( CREATE TABLE `borne_criteres` ( `id` int NOT NULL, `nom` text NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ; -- -- Dumping data for table `borne_criteres` @@ -83,7 +68,7 @@ CREATE TABLE `borne_notes_autre` ( `critere_id` int NOT NULL, `avis_id` int NOT NULL, `note` int NOT NULL COMMENT 'Note sur 10' -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ; -- -------------------------------------------------------- @@ -96,7 +81,7 @@ CREATE TABLE `reseaux_sociaux_auteurs` ( `nom_utilisateur` text NOT NULL, `source_id` int NOT NULL, `lien` text NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ; -- -------------------------------------------------------- @@ -109,10 +94,10 @@ CREATE TABLE `reseaux_sociaux_avis` ( `date` date NOT NULL, `source_id` int NOT NULL, `note` tinyint DEFAULT NULL, - `commentaire` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci, + `commentaire` text , `auteur_id` int NOT NULL, - `lien_source` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + `lien_source` text +) ; -- -------------------------------------------------------- @@ -123,7 +108,7 @@ CREATE TABLE `reseaux_sociaux_avis` ( CREATE TABLE `sources` ( `id` int NOT NULL, `nom` text NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ; -- -- Dumping data for table `sources` @@ -145,7 +130,7 @@ CREATE TABLE `stats_autres_annee` ( `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `critere_id` int NOT NULL, `note` float NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ; -- -------------------------------------------------------- @@ -158,7 +143,7 @@ CREATE TABLE `stats_autres_jour` ( `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `critere_id` int NOT NULL, `note` float NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ; -- -------------------------------------------------------- @@ -171,7 +156,7 @@ CREATE TABLE `stats_autres_mois` ( `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `critere_id` int NOT NULL, `note` float NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ; -- -------------------------------------------------------- @@ -184,7 +169,7 @@ CREATE TABLE `stats_autres_semaine` ( `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `critere_id` int NOT NULL, `note` float NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ; -- -------------------------------------------------------- @@ -200,7 +185,7 @@ CREATE TABLE `stats_general_annee` ( `moyenne_borne` float NOT NULL, `dist_age` text NOT NULL COMMENT 'Distribution de l''age des auteurs', `dist_sexe` text NOT NULL COMMENT 'Distribution du sexe des auteurs' -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ; -- -------------------------------------------------------- @@ -214,9 +199,9 @@ CREATE TABLE `stats_general_jour` ( `moyenne_globale` float DEFAULT NULL, `moyenne_site` float DEFAULT NULL, `moyenne_borne` float DEFAULT NULL, - `dist_age` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT 'Distribution de l''age des auteurs', - `dist_sexe` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT 'Distribution du sexe des auteurs' -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + `dist_age` text COMMENT 'Distribution de l''age des auteurs', + `dist_sexe` text COMMENT 'Distribution du sexe des auteurs' +) ; -- -------------------------------------------------------- @@ -232,7 +217,7 @@ CREATE TABLE `stats_general_mois` ( `moyenne_borne` float NOT NULL, `dist_age` text NOT NULL COMMENT 'Distribution de l''age des auteurs', `dist_sexe` text NOT NULL COMMENT 'Distribution du sexe des auteurs' -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ; -- -------------------------------------------------------- @@ -248,7 +233,7 @@ CREATE TABLE `stats_general_semaine` ( `moyenne_borne` float NOT NULL, `dist_age` text NOT NULL COMMENT 'Distribution de l''age des auteurs', `dist_sexe` text NOT NULL COMMENT 'Distribution du sexe des auteurs' -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; +) ; -- -- Indexes for dumped tables @@ -437,8 +422,4 @@ ALTER TABLE `stats_general_mois` -- ALTER TABLE `stats_general_semaine` MODIFY `id` int NOT NULL AUTO_INCREMENT; -COMMIT; - -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; \ No newline at end of file +COMMIT; \ No newline at end of file diff --git a/code/docker-compose.yaml b/code/docker-compose.yaml new file mode 100644 index 0000000..f8ed95b --- /dev/null +++ b/code/docker-compose.yaml @@ -0,0 +1,23 @@ +version: "3.9" +services: + db: + image: mysql:latest + expose: + - 3306 + volumes: + - ./db:/docker-entrypoint-initdb.d + restart: always + environment: + MYSQL_ROOT_PASSWORD: telereview + MYSQL_DATABASE: telereview + + phpmyadmin: + image: phpmyadmin:latest + restart: always + environment: + PMA_ARBITRARY: 1 + PMA_HOST: db + PMA_USER: root + PMA_PASSWORD: telereview + ports: + - 8080:80 \ No newline at end of file From b5e34fd898cce19dedc1f781af1442db79277db7 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Wed, 11 Jan 2023 11:31:33 +0100 Subject: [PATCH 10/63] Creation container pour l'API reviews --- .vscode/launch.json | 15 ++++++ .vscode/tasks.json | 46 +++++++++++++++++++ code/docker-compose.yaml | 28 ++++++++++- code/reviews_api/.dockerignore | 24 ++++++++++ code/{server => reviews_api}/.env_template | 0 code/reviews_api/Dockerfile | 9 ++++ code/{server => reviews_api}/README.md | 0 .../borne/get_handler.js | 0 .../borne/post_handler.js | 0 .../borne/structures.js | 0 code/{server => reviews_api}/database.js | 0 .../exemple_utilisation.py | 0 code/{server => reviews_api}/index.js | 2 +- .../{server => reviews_api}/package-lock.json | 0 code/{server => reviews_api}/package.json | 0 .../reseaux_sociaux/post_handler.js | 0 .../reseaux_sociaux/structures.js | 0 .../stats/update_request.sql | 0 .../stats/update_stats.js | 0 code/{server => reviews_api}/utils.js | 0 code/reviews_api/wait_mysql.sh | 6 +++ 21 files changed, 128 insertions(+), 2 deletions(-) create mode 100644 .vscode/launch.json create mode 100644 .vscode/tasks.json create mode 100644 code/reviews_api/.dockerignore rename code/{server => reviews_api}/.env_template (100%) create mode 100644 code/reviews_api/Dockerfile rename code/{server => reviews_api}/README.md (100%) rename code/{server => reviews_api}/borne/get_handler.js (100%) rename code/{server => reviews_api}/borne/post_handler.js (100%) rename code/{server => reviews_api}/borne/structures.js (100%) rename code/{server => reviews_api}/database.js (100%) rename code/{server => reviews_api}/exemple_utilisation.py (100%) rename code/{server => reviews_api}/index.js (95%) rename code/{server => reviews_api}/package-lock.json (100%) rename code/{server => reviews_api}/package.json (100%) rename code/{server => reviews_api}/reseaux_sociaux/post_handler.js (100%) rename code/{server => reviews_api}/reseaux_sociaux/structures.js (100%) rename code/{server => reviews_api}/stats/update_request.sql (100%) rename code/{server => reviews_api}/stats/update_stats.js (100%) rename code/{server => reviews_api}/utils.js (100%) create mode 100644 code/reviews_api/wait_mysql.sh diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..e2100fe --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,15 @@ +{ + "configurations": [ + { + "name": "Docker Node.js Launch", + "type": "docker", + "request": "launch", + "preLaunchTask": "docker-run: debug", + "platform": "node", + "node": { + "package": "${workspaceFolder}/code/reviews_api/package.json", + "localRoot": "${workspaceFolder}/code/reviews_api" + } + } + ] +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..a280240 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,46 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "type": "docker-build", + "label": "docker-build", + "platform": "node", + "dockerBuild": { + "dockerfile": "${workspaceFolder}/code/reviews_api/Dockerfile", + "context": "${workspaceFolder}/code/reviews_api", + "pull": true + }, + "node": { + "package": "${workspaceFolder}/code/reviews_api/package.json" + } + }, + { + "type": "docker-run", + "label": "docker-run: release", + "dependsOn": [ + "docker-build" + ], + "platform": "node", + "node": { + "package": "${workspaceFolder}/code/reviews_api/package.json" + } + }, + { + "type": "docker-run", + "label": "docker-run: debug", + "dependsOn": [ + "docker-build" + ], + "dockerRun": { + "env": { + "DEBUG": "*", + "NODE_ENV": "development" + } + }, + "node": { + "package": "${workspaceFolder}/code/reviews_api/package.json", + "enableDebugging": true + } + } + ] +} \ No newline at end of file diff --git a/code/docker-compose.yaml b/code/docker-compose.yaml index f8ed95b..9346d06 100644 --- a/code/docker-compose.yaml +++ b/code/docker-compose.yaml @@ -2,11 +2,18 @@ version: "3.9" services: db: image: mysql:latest + container_name: db expose: - 3306 volumes: - ./db:/docker-entrypoint-initdb.d restart: always + healthcheck: + test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost", "-uroot"] # Command to check health. + interval: 5s # Interval between health checks. + timeout: 5s # Timeout for each health checking. + retries: 20 # Hou many times retries. + start_period: 10s # Estimated time to boot. environment: MYSQL_ROOT_PASSWORD: telereview MYSQL_DATABASE: telereview @@ -14,10 +21,29 @@ services: phpmyadmin: image: phpmyadmin:latest restart: always + container_name: phpmyadmin + depends_on: + - db environment: PMA_ARBITRARY: 1 PMA_HOST: db PMA_USER: root PMA_PASSWORD: telereview ports: - - 8080:80 \ No newline at end of file + - 8000:80 + + reviews_api: + container_name: reviews_api + ports: + - 8080:8080 + environment: + - NODE_ENV=production + - DB_USER=root + - DB_PASSWORD=telereview + - DB_HOST=db + - DB_NAME=telereview + - PORT=8080 + depends_on: + db: + condition: service_healthy + build: ./reviews_api \ No newline at end of file diff --git a/code/reviews_api/.dockerignore b/code/reviews_api/.dockerignore new file mode 100644 index 0000000..6d68aea --- /dev/null +++ b/code/reviews_api/.dockerignore @@ -0,0 +1,24 @@ +**/.classpath +**/.dockerignore +**/.env +**/.git +**/.gitignore +**/.project +**/.settings +**/.toolstarget +**/.vs +**/.vscode +**/*.*proj.user +**/*.dbmdl +**/*.jfm +**/charts +**/docker-compose* +**/compose* +**/Dockerfile* +**/node_modules +**/npm-debug.log +**/obj +**/secrets.dev.yaml +**/values.dev.yaml +LICENSE +README.md diff --git a/code/server/.env_template b/code/reviews_api/.env_template similarity index 100% rename from code/server/.env_template rename to code/reviews_api/.env_template diff --git a/code/reviews_api/Dockerfile b/code/reviews_api/Dockerfile new file mode 100644 index 0000000..2d6681a --- /dev/null +++ b/code/reviews_api/Dockerfile @@ -0,0 +1,9 @@ +FROM node:lts-alpine +WORKDIR /usr/src/app +COPY ["package.json", "package-lock.json*", "npm-shrinkwrap.json*", "./"] +RUN npm install --production --silent && mv node_modules ../ +COPY . . +EXPOSE 8080 +RUN chown -R node /usr/src/app +USER node +CMD ["node", "index.js"] diff --git a/code/server/README.md b/code/reviews_api/README.md similarity index 100% rename from code/server/README.md rename to code/reviews_api/README.md diff --git a/code/server/borne/get_handler.js b/code/reviews_api/borne/get_handler.js similarity index 100% rename from code/server/borne/get_handler.js rename to code/reviews_api/borne/get_handler.js diff --git a/code/server/borne/post_handler.js b/code/reviews_api/borne/post_handler.js similarity index 100% rename from code/server/borne/post_handler.js rename to code/reviews_api/borne/post_handler.js diff --git a/code/server/borne/structures.js b/code/reviews_api/borne/structures.js similarity index 100% rename from code/server/borne/structures.js rename to code/reviews_api/borne/structures.js diff --git a/code/server/database.js b/code/reviews_api/database.js similarity index 100% rename from code/server/database.js rename to code/reviews_api/database.js diff --git a/code/server/exemple_utilisation.py b/code/reviews_api/exemple_utilisation.py similarity index 100% rename from code/server/exemple_utilisation.py rename to code/reviews_api/exemple_utilisation.py diff --git a/code/server/index.js b/code/reviews_api/index.js similarity index 95% rename from code/server/index.js rename to code/reviews_api/index.js index 3fd05a8..1f0a375 100644 --- a/code/server/index.js +++ b/code/reviews_api/index.js @@ -7,7 +7,7 @@ import { startCronJobs } from './stats/update_stats.js'; import * as borneHandler from './borne/get_handler.js'; const app = express(); - +console.log(process.env); app.use(bodyParser.urlencoded({extended:true})) dotenv.config() app.post('/add_review', (req,res) => addReviewFromRequest(req,res)); diff --git a/code/server/package-lock.json b/code/reviews_api/package-lock.json similarity index 100% rename from code/server/package-lock.json rename to code/reviews_api/package-lock.json diff --git a/code/server/package.json b/code/reviews_api/package.json similarity index 100% rename from code/server/package.json rename to code/reviews_api/package.json diff --git a/code/server/reseaux_sociaux/post_handler.js b/code/reviews_api/reseaux_sociaux/post_handler.js similarity index 100% rename from code/server/reseaux_sociaux/post_handler.js rename to code/reviews_api/reseaux_sociaux/post_handler.js diff --git a/code/server/reseaux_sociaux/structures.js b/code/reviews_api/reseaux_sociaux/structures.js similarity index 100% rename from code/server/reseaux_sociaux/structures.js rename to code/reviews_api/reseaux_sociaux/structures.js diff --git a/code/server/stats/update_request.sql b/code/reviews_api/stats/update_request.sql similarity index 100% rename from code/server/stats/update_request.sql rename to code/reviews_api/stats/update_request.sql diff --git a/code/server/stats/update_stats.js b/code/reviews_api/stats/update_stats.js similarity index 100% rename from code/server/stats/update_stats.js rename to code/reviews_api/stats/update_stats.js diff --git a/code/server/utils.js b/code/reviews_api/utils.js similarity index 100% rename from code/server/utils.js rename to code/reviews_api/utils.js diff --git a/code/reviews_api/wait_mysql.sh b/code/reviews_api/wait_mysql.sh new file mode 100644 index 0000000..5b2ebda --- /dev/null +++ b/code/reviews_api/wait_mysql.sh @@ -0,0 +1,6 @@ +while ! wget $DB_HOST:3306; +do + sleep 1 + echo "Waiting for database connection..." +done +node index.js \ No newline at end of file From 9de30a4d95ac4a9350e561d8cc51947409a9bc32 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Wed, 11 Jan 2023 11:35:24 +0100 Subject: [PATCH 11/63] remove debug --- code/reviews_api/index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/code/reviews_api/index.js b/code/reviews_api/index.js index 1f0a375..31439ca 100644 --- a/code/reviews_api/index.js +++ b/code/reviews_api/index.js @@ -7,7 +7,6 @@ import { startCronJobs } from './stats/update_stats.js'; import * as borneHandler from './borne/get_handler.js'; const app = express(); -console.log(process.env); app.use(bodyParser.urlencoded({extended:true})) dotenv.config() app.post('/add_review', (req,res) => addReviewFromRequest(req,res)); From e1810554a6f22099c8fc2e071df2fea29017fa03 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Wed, 11 Jan 2023 17:05:59 +0100 Subject: [PATCH 12/63] container pour l'interface de la borne --- code/borne/readme.md | 0 .../exemple_overlay_camera.py | 0 code/docker-compose.yaml | 12 +++++++++++- .../assets/img/thumbs_up.png | Bin .../assets/js/camera_editor.js | 0 .../interface => interface_borne}/assets/js/main.js | 0 .../assets/js/network.js | 0 .../{borne/interface => interface_borne}/index.html | 0 code/reviews_api/wait_mysql.sh | 6 ------ 9 files changed, 11 insertions(+), 7 deletions(-) delete mode 100644 code/borne/readme.md rename code/{borne/backend => detection_image}/exemple_overlay_camera.py (100%) rename code/{borne/interface => interface_borne}/assets/img/thumbs_up.png (100%) rename code/{borne/interface => interface_borne}/assets/js/camera_editor.js (100%) rename code/{borne/interface => interface_borne}/assets/js/main.js (100%) rename code/{borne/interface => interface_borne}/assets/js/network.js (100%) rename code/{borne/interface => interface_borne}/index.html (100%) delete mode 100644 code/reviews_api/wait_mysql.sh diff --git a/code/borne/readme.md b/code/borne/readme.md deleted file mode 100644 index e69de29..0000000 diff --git a/code/borne/backend/exemple_overlay_camera.py b/code/detection_image/exemple_overlay_camera.py similarity index 100% rename from code/borne/backend/exemple_overlay_camera.py rename to code/detection_image/exemple_overlay_camera.py diff --git a/code/docker-compose.yaml b/code/docker-compose.yaml index 9346d06..cf21243 100644 --- a/code/docker-compose.yaml +++ b/code/docker-compose.yaml @@ -46,4 +46,14 @@ services: depends_on: db: condition: service_healthy - build: ./reviews_api \ No newline at end of file + build: ./reviews_api + restart: always + + interface_borne: + image: httpd:latest + volumes: + - ./interface_borne:/usr/local/apache2/htdocs/ + container_name: interface_borne + ports: + - 80:80 + \ No newline at end of file diff --git a/code/borne/interface/assets/img/thumbs_up.png b/code/interface_borne/assets/img/thumbs_up.png similarity index 100% rename from code/borne/interface/assets/img/thumbs_up.png rename to code/interface_borne/assets/img/thumbs_up.png diff --git a/code/borne/interface/assets/js/camera_editor.js b/code/interface_borne/assets/js/camera_editor.js similarity index 100% rename from code/borne/interface/assets/js/camera_editor.js rename to code/interface_borne/assets/js/camera_editor.js diff --git a/code/borne/interface/assets/js/main.js b/code/interface_borne/assets/js/main.js similarity index 100% rename from code/borne/interface/assets/js/main.js rename to code/interface_borne/assets/js/main.js diff --git a/code/borne/interface/assets/js/network.js b/code/interface_borne/assets/js/network.js similarity index 100% rename from code/borne/interface/assets/js/network.js rename to code/interface_borne/assets/js/network.js diff --git a/code/borne/interface/index.html b/code/interface_borne/index.html similarity index 100% rename from code/borne/interface/index.html rename to code/interface_borne/index.html diff --git a/code/reviews_api/wait_mysql.sh b/code/reviews_api/wait_mysql.sh deleted file mode 100644 index 5b2ebda..0000000 --- a/code/reviews_api/wait_mysql.sh +++ /dev/null @@ -1,6 +0,0 @@ -while ! wget $DB_HOST:3306; -do - sleep 1 - echo "Waiting for database connection..." -done -node index.js \ No newline at end of file From 01eb7976a293cd98e438fe08e32e03cca9b679f9 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Wed, 11 Jan 2023 23:31:37 +0100 Subject: [PATCH 13/63] container docker pour le backend python pret --- .vscode/launch.json | 15 +++++++++++ README.md | 23 ---------------- code/backend/.dockerignore | 27 +++++++++++++++++++ code/backend/Dockerfile | 18 +++++++++++++ .../main.py} | 3 +-- code/backend/requirements.txt | 1 + code/docker-compose.yaml | 24 ++++++++++++++--- code/interface_borne/assets/js/main.js | 1 + code/reviews_api/Dockerfile | 1 - 9 files changed, 83 insertions(+), 30 deletions(-) delete mode 100644 README.md create mode 100644 code/backend/.dockerignore create mode 100644 code/backend/Dockerfile rename code/{detection_image/exemple_overlay_camera.py => backend/main.py} (90%) create mode 100644 code/backend/requirements.txt diff --git a/.vscode/launch.json b/.vscode/launch.json index e2100fe..166fcda 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -10,6 +10,21 @@ "package": "${workspaceFolder}/code/reviews_api/package.json", "localRoot": "${workspaceFolder}/code/reviews_api" } + }, + { + "name": "Docker: Python - General", + "type": "docker", + "request": "launch", + "preLaunchTask": "docker-run: debug", + "python": { + "pathMappings": [ + { + "localRoot": "${workspaceFolder}", + "remoteRoot": "/app" + } + ], + "projectType": "general" + } } ] } \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 1fed8c7..0000000 --- a/README.md +++ /dev/null @@ -1,23 +0,0 @@ -Ceci est votre dépôt pour le projet PACT. - -Vous **DEVEZ** modifier ce fichier (`README.md`) et créer tous les -répertoires et fichiers dont vous aurez besoin pour votre projet. - -# Important, le rapport d'avancement - -Le répertoire `rapport` contient un squelette pour votre rapporte d'avancement. -Ce répertoire **ne doit pas être renommé** ni le fichier `README.adoc` qu'il contient. -Le fichier `README.adoc` est le point d'entrée du rapport. - -Il est rédigé en utilisant le langage [**AsciiDoc**](http://asciidoc.org/). -La syntaxe est supportée par GitLab qui le formatera correctement dans l'interface Web. - -Le document final sera généré en utilisant l'outil [Asciidoctor](http://asciidoctor.org/) qui supporte les mêmes extensions que GitLab (pour les équations par exemple). -Un résumé de la syntaxe supportée est accessible [ici](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference/). - -Vous pouvez éditer les différents fichiers en utilisant *votre éditeur de texte favori*. -Si vous n'en avez pas, vous pouvez, par exemple utiliser: - -- [**Visual Studio Code**](https://code.visualstudio.com/) avec l'extension [AsciiDoc](https://marketplace.visualstudio.com/items?itemName=asciidoctor.asciidoctor-vscode) qui ajoute coloration syntaxique et rendu en temps réel. -- Ou bien sûr votre éditeur de text préféré **Sublim Text**, **Vim**, **Emacs**,… -- Une extension pour navigateur Web est aussi disponible pour visualiser le résultat ([**ici**](https://github.com/asciidoctor/asciidoctor-browser-extension)). diff --git a/code/backend/.dockerignore b/code/backend/.dockerignore new file mode 100644 index 0000000..0b1e1e7 --- /dev/null +++ b/code/backend/.dockerignore @@ -0,0 +1,27 @@ +**/__pycache__ +**/.venv +**/.classpath +**/.dockerignore +**/.env +**/.git +**/.gitignore +**/.project +**/.settings +**/.toolstarget +**/.vs +**/.vscode +**/*.*proj.user +**/*.dbmdl +**/*.jfm +**/bin +**/charts +**/docker-compose* +**/compose* +**/Dockerfile* +**/node_modules +**/npm-debug.log +**/obj +**/secrets.dev.yaml +**/values.dev.yaml +LICENSE +README.md diff --git a/code/backend/Dockerfile b/code/backend/Dockerfile new file mode 100644 index 0000000..3ee8a12 --- /dev/null +++ b/code/backend/Dockerfile @@ -0,0 +1,18 @@ +# For more information, please refer to https://aka.ms/vscode-docker-python +FROM python:3.8-slim + +# Keeps Python from generating .pyc files in the container +ENV PYTHONDONTWRITEBYTECODE=1 + +# Turns off buffering for easier container logging +ENV PYTHONUNBUFFERED=1 + +# Install pip requirements +COPY requirements.txt . +RUN python -m pip install -r requirements.txt + +WORKDIR /app +COPY . /app + +# During debugging, this entry point will be overridden. For more information, please refer to https://aka.ms/vscode-docker-python-debug +CMD ["python", "main.py"] diff --git a/code/detection_image/exemple_overlay_camera.py b/code/backend/main.py similarity index 90% rename from code/detection_image/exemple_overlay_camera.py rename to code/backend/main.py index 55d3062..6f4a74f 100644 --- a/code/detection_image/exemple_overlay_camera.py +++ b/code/backend/main.py @@ -1,11 +1,10 @@ import asyncio import json import websockets -import numpy as np import random class WebsocketServer: - def __init__(self,getEffects,port=5000,host="localhost") -> None: + def __init__(self,getEffects,port=5000,host="backend") -> None: self.host = host self.port = port self.getEffects = getEffects diff --git a/code/backend/requirements.txt b/code/backend/requirements.txt new file mode 100644 index 0000000..7a38911 --- /dev/null +++ b/code/backend/requirements.txt @@ -0,0 +1 @@ +websockets \ No newline at end of file diff --git a/code/docker-compose.yaml b/code/docker-compose.yaml index cf21243..84ba26a 100644 --- a/code/docker-compose.yaml +++ b/code/docker-compose.yaml @@ -1,5 +1,7 @@ version: "3.9" services: + + #Base de donnée mysql de la borne sur laquelle est stockée tous les avis et les stats db: image: mysql:latest container_name: db @@ -17,7 +19,8 @@ services: environment: MYSQL_ROOT_PASSWORD: telereview MYSQL_DATABASE: telereview - + + #Interface d'aministration pour la bdd phpmyadmin: image: phpmyadmin:latest restart: always @@ -31,7 +34,8 @@ services: PMA_PASSWORD: telereview ports: - 8000:80 - + + #API de gestion des avis, permet d'ajouter ou de récuperer des avis ou les stats sur les avis par des requêtes HTTP reviews_api: container_name: reviews_api ports: @@ -48,12 +52,24 @@ services: condition: service_healthy build: ./reviews_api restart: always - + + #Serveur web de l'interface de la borne interface_borne: image: httpd:latest volumes: - ./interface_borne:/usr/local/apache2/htdocs/ container_name: interface_borne ports: - - 80:80 + - 8888:80 + + #Backend de la borne : scripts pythons de reconaissances video et audio + #Envoient les infos a l'interface de la borne par websocket pour mettre a jour l'interface rapidement + #Met a jour les avis en faisant des requêtes a l'API + backend: + build: ./backend + container_name: backend + restart: always + ports: + #Ce container est le serveur websocker et le client est l'interface de la borne qui tourne dans le navigateur + - 5000:5000 \ No newline at end of file diff --git a/code/interface_borne/assets/js/main.js b/code/interface_borne/assets/js/main.js index 274af74..39f1002 100644 --- a/code/interface_borne/assets/js/main.js +++ b/code/interface_borne/assets/js/main.js @@ -3,4 +3,5 @@ let client window.addEventListener("load", () => { cameraEditor = new CameraEditor(document.getElementById("canvas")); client = new WebsocketClient((effects) => { cameraEditor.setEffects(effects); }); + cameraEditor._frame(); }, false); diff --git a/code/reviews_api/Dockerfile b/code/reviews_api/Dockerfile index 2d6681a..5092e3f 100644 --- a/code/reviews_api/Dockerfile +++ b/code/reviews_api/Dockerfile @@ -3,7 +3,6 @@ WORKDIR /usr/src/app COPY ["package.json", "package-lock.json*", "npm-shrinkwrap.json*", "./"] RUN npm install --production --silent && mv node_modules ../ COPY . . -EXPOSE 8080 RUN chown -R node /usr/src/app USER node CMD ["node", "index.js"] From 6ed80c3734d1a1fe451515049fc5ee4d669f611d Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Wed, 11 Jan 2023 23:34:03 +0100 Subject: [PATCH 14/63] ajout de commentaires dans les dockerfile --- code/backend/Dockerfile | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/code/backend/Dockerfile b/code/backend/Dockerfile index 3ee8a12..7de5fb7 100644 --- a/code/backend/Dockerfile +++ b/code/backend/Dockerfile @@ -1,18 +1,16 @@ -# For more information, please refer to https://aka.ms/vscode-docker-python FROM python:3.8-slim -# Keeps Python from generating .pyc files in the container +#Ne pas créer les fichiers .pyc ENV PYTHONDONTWRITEBYTECODE=1 - -# Turns off buffering for easier container logging +#Afficher les logs directement dans le terminal ENV PYTHONUNBUFFERED=1 -# Install pip requirements +# Installation des dépendances COPY requirements.txt . RUN python -m pip install -r requirements.txt +# Création du répertoire de travail WORKDIR /app COPY . /app -# During debugging, this entry point will be overridden. For more information, please refer to https://aka.ms/vscode-docker-python-debug CMD ["python", "main.py"] From 2525d6fcbdf733509b155ad0b7088d67c7f3031b Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Wed, 11 Jan 2023 23:35:32 +0100 Subject: [PATCH 15/63] commetnaires dockerfile --- code/reviews_api/Dockerfile | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/reviews_api/Dockerfile b/code/reviews_api/Dockerfile index 5092e3f..2027405 100644 --- a/code/reviews_api/Dockerfile +++ b/code/reviews_api/Dockerfile @@ -1,8 +1,15 @@ FROM node:lts-alpine WORKDIR /usr/src/app + +#installation des dépendances COPY ["package.json", "package-lock.json*", "npm-shrinkwrap.json*", "./"] RUN npm install --production --silent && mv node_modules ../ + +#On copie le code source COPY . . +#On change le propriétaire du dossier RUN chown -R node /usr/src/app +#On change l'utilisateur USER node + CMD ["node", "index.js"] From 15cd5049b21528f5e527409e7b55c76098f5d2d3 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Wed, 11 Jan 2023 23:36:43 +0100 Subject: [PATCH 16/63] deplacement exemple utilisation backend --- code/{reviews_api => backend}/exemple_utilisation.py | 0 code/backend/requirements.txt | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) rename code/{reviews_api => backend}/exemple_utilisation.py (100%) diff --git a/code/reviews_api/exemple_utilisation.py b/code/backend/exemple_utilisation.py similarity index 100% rename from code/reviews_api/exemple_utilisation.py rename to code/backend/exemple_utilisation.py diff --git a/code/backend/requirements.txt b/code/backend/requirements.txt index 7a38911..d992242 100644 --- a/code/backend/requirements.txt +++ b/code/backend/requirements.txt @@ -1 +1,2 @@ -websockets \ No newline at end of file +websockets +requests \ No newline at end of file From 3fc9521d73b028ddcffc1ceff040ef00ce626cc8 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Thu, 12 Jan 2023 09:42:23 +0100 Subject: [PATCH 17/63] container docker pour l'interface admin --- code/docker-compose.yaml | 9 +++++++++ code/interface_admin/index.html | 12 ++++++++++++ code/reviews_api/README.md | 3 ++- 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 code/interface_admin/index.html diff --git a/code/docker-compose.yaml b/code/docker-compose.yaml index 84ba26a..85b3014 100644 --- a/code/docker-compose.yaml +++ b/code/docker-compose.yaml @@ -61,6 +61,15 @@ services: container_name: interface_borne ports: - 8888:80 + + #Serveur web de l'interface de la borne + interface_admin: + image: httpd:latest + volumes: + - ./interface_admin:/usr/local/apache2/htdocs/ + container_name: interface_admin + ports: + - 80:80 #Backend de la borne : scripts pythons de reconaissances video et audio #Envoient les infos a l'interface de la borne par websocket pour mettre a jour l'interface rapidement diff --git a/code/interface_admin/index.html b/code/interface_admin/index.html new file mode 100644 index 0000000..dbc2598 --- /dev/null +++ b/code/interface_admin/index.html @@ -0,0 +1,12 @@ + + + + + + + Interface admin + + + + + \ No newline at end of file diff --git a/code/reviews_api/README.md b/code/reviews_api/README.md index e32f501..81b4c41 100644 --- a/code/reviews_api/README.md +++ b/code/reviews_api/README.md @@ -1,6 +1,7 @@ # Serveur de traitement des données Ce serveur s'occupe de fournir une API web pour pourvoir ajouter des avis sur la borne, réxupérer des avis, calculer et fournir les statistiques sur ces avis -# Installation + +# Installation (Si vous voulez le lancer hors du container docker) * Pour faire fonctinoner le serveur sur vos machines il y a 3 choses a faire 1. Installer node js : https://nodejs.org/en/download/ 2. Ouvrir un terminal et aller dans ce dossier (code/server) et tapper `npm install` pour installer les pacakges nécessaires From 6c1931f3a1aea5fe69d067cf98a3f02b04d2dd5b Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Thu, 12 Jan 2023 09:46:01 +0100 Subject: [PATCH 18/63] renommage container bakend --- code/{backend => backend_reconaissance}/.dockerignore | 0 code/{backend => backend_reconaissance}/Dockerfile | 0 .../exemple_utilisation.py | 0 code/{backend => backend_reconaissance}/main.py | 0 code/{backend => backend_reconaissance}/requirements.txt | 0 code/docker-compose.yaml | 8 ++++---- 6 files changed, 4 insertions(+), 4 deletions(-) rename code/{backend => backend_reconaissance}/.dockerignore (100%) rename code/{backend => backend_reconaissance}/Dockerfile (100%) rename code/{backend => backend_reconaissance}/exemple_utilisation.py (100%) rename code/{backend => backend_reconaissance}/main.py (100%) rename code/{backend => backend_reconaissance}/requirements.txt (100%) diff --git a/code/backend/.dockerignore b/code/backend_reconaissance/.dockerignore similarity index 100% rename from code/backend/.dockerignore rename to code/backend_reconaissance/.dockerignore diff --git a/code/backend/Dockerfile b/code/backend_reconaissance/Dockerfile similarity index 100% rename from code/backend/Dockerfile rename to code/backend_reconaissance/Dockerfile diff --git a/code/backend/exemple_utilisation.py b/code/backend_reconaissance/exemple_utilisation.py similarity index 100% rename from code/backend/exemple_utilisation.py rename to code/backend_reconaissance/exemple_utilisation.py diff --git a/code/backend/main.py b/code/backend_reconaissance/main.py similarity index 100% rename from code/backend/main.py rename to code/backend_reconaissance/main.py diff --git a/code/backend/requirements.txt b/code/backend_reconaissance/requirements.txt similarity index 100% rename from code/backend/requirements.txt rename to code/backend_reconaissance/requirements.txt diff --git a/code/docker-compose.yaml b/code/docker-compose.yaml index 85b3014..e375ff1 100644 --- a/code/docker-compose.yaml +++ b/code/docker-compose.yaml @@ -74,11 +74,11 @@ services: #Backend de la borne : scripts pythons de reconaissances video et audio #Envoient les infos a l'interface de la borne par websocket pour mettre a jour l'interface rapidement #Met a jour les avis en faisant des requêtes a l'API - backend: - build: ./backend - container_name: backend + backend_reconaissance: + build: ./backend_reconaissance + container_name: backend_reconaissance restart: always ports: - #Ce container est le serveur websocker et le client est l'interface de la borne qui tourne dans le navigateur + #Ce container est le serveur websocker dont le client est l'interface de la borne qui tourne dans le navigateur - 5000:5000 \ No newline at end of file From 16a90aebfbb738b2b97508fb960fcc8fdefa8271 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Thu, 12 Jan 2023 13:04:10 +0100 Subject: [PATCH 19/63] fix nom de host dans exemple utilisation backend --- code/backend_reconaissance/main.py | 3 ++- code/docker-compose.yaml | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/code/backend_reconaissance/main.py b/code/backend_reconaissance/main.py index 6f4a74f..41ca251 100644 --- a/code/backend_reconaissance/main.py +++ b/code/backend_reconaissance/main.py @@ -2,9 +2,10 @@ import asyncio import json import websockets import random +import os class WebsocketServer: - def __init__(self,getEffects,port=5000,host="backend") -> None: + def __init__(self,getEffects,port=os.getenv("PORT"),host=os.getenv("HOST")) -> None: self.host = host self.port = port self.getEffects = getEffects diff --git a/code/docker-compose.yaml b/code/docker-compose.yaml index e375ff1..0e467a4 100644 --- a/code/docker-compose.yaml +++ b/code/docker-compose.yaml @@ -62,7 +62,7 @@ services: ports: - 8888:80 - #Serveur web de l'interface de la borne + #Serveur web de l'interface admin interface_admin: image: httpd:latest volumes: @@ -78,6 +78,9 @@ services: build: ./backend_reconaissance container_name: backend_reconaissance restart: always + environment: + - PORT=5000 + - HOST=backend_reconaissance ports: #Ce container est le serveur websocker dont le client est l'interface de la borne qui tourne dans le navigateur - 5000:5000 From 8771fb2bb81324e07a2f07f6536a4c055eb0e188 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Fri, 13 Jan 2023 21:16:42 +0100 Subject: [PATCH 20/63] =?UTF-8?q?support=20de=20diff=C3=A9rentes=20tailles?= =?UTF-8?q?=20de=20camera?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/docker-compose.yaml | 3 +- code/interface_borne/assets/css/main.css | 11 +++++ .../assets/js/camera_editor.js | 40 ++++++++++++++----- code/interface_borne/assets/js/main.js | 6 ++- code/interface_borne/index.html | 2 +- 5 files changed, 48 insertions(+), 14 deletions(-) create mode 100644 code/interface_borne/assets/css/main.css diff --git a/code/docker-compose.yaml b/code/docker-compose.yaml index 0e467a4..295f1da 100644 --- a/code/docker-compose.yaml +++ b/code/docker-compose.yaml @@ -26,7 +26,8 @@ services: restart: always container_name: phpmyadmin depends_on: - - db + db: + condition: service_healthy environment: PMA_ARBITRARY: 1 PMA_HOST: db diff --git a/code/interface_borne/assets/css/main.css b/code/interface_borne/assets/css/main.css new file mode 100644 index 0000000..ab39ea4 --- /dev/null +++ b/code/interface_borne/assets/css/main.css @@ -0,0 +1,11 @@ +body { + font-family: 'Open Sans', sans-serif; + font-size: 16px; + line-height: 1.5; + margin: 0; + padding: 0; + width: 100%; + height: 100%; + text-align: center; + overflow: hidden; +} diff --git a/code/interface_borne/assets/js/camera_editor.js b/code/interface_borne/assets/js/camera_editor.js index e1edc39..0b0e871 100644 --- a/code/interface_borne/assets/js/camera_editor.js +++ b/code/interface_borne/assets/js/camera_editor.js @@ -3,8 +3,10 @@ class CameraEditor { this.canvas = canvas; this.ctx = canvas.getContext("2d"); this.video = document.createElement("video"); - this.width = canvas.width; - this.height; + this.width; + this.height; //calculé automatiquement en fonction de la largeur du flux vidéo + this.videoWidth; + this.videoHeight; this.streaming = false; this.activeEffects = []; this.images = {}; @@ -27,15 +29,19 @@ class CameraEditor { "canplay", (ev) => { if (!this.streaming) { - this.height = this.video.videoHeight / (this.video.videoWidth / this.width); - - // Firefox currently has a bug where the height can't be read from - // the video, so we will make assumptions if this happens. - - if (isNaN(this.height)) { - this.height = this.width / (4 / 3); + //calcul de la taille de la vidéo en fonction de la taille de la fenêtre pour qu'elle soit toujours visible + let aspectRatio = this.video.videoWidth / this.video.videoHeight; + if(window.innerHeight * aspectRatio > window.innerWidth){ + this.width = window.innerWidth; + this.height = window.innerWidth / aspectRatio; + }else{ + this.width = window.innerHeight * aspectRatio; + this.height = window.innerHeight; } + this.videoHeight = this.video.videoHeight; + this.videoWidth = this.video.videoWidth; + this.video.setAttribute("width", this.width); this.video.setAttribute("height", this.height); this.canvas.setAttribute("width", this.width); @@ -65,9 +71,21 @@ class CameraEditor { requestAnimationFrame(() => this._frame()); } + _scaleEffect(x,y,width,height){ + let xScale = this.width / this.videoWidth; + let yScale = this.height / this.videoHeight; + return { + x: x * xScale, + y: y * yScale, + width: width * xScale, + height: height * yScale + } + } + _drawEffects() { - for (let {type,x,y,width,height} of this.activeEffects) { - if(type == "thumbs_up"){ + for (let effect of this.activeEffects) { + let {x,y,width,height} = this._scaleEffect(effect.x,effect.y,effect.width,effect.height); + if(effect.type == "thumbs_up"){ this._drawThumbsUp(x,y,width,height); } } diff --git a/code/interface_borne/assets/js/main.js b/code/interface_borne/assets/js/main.js index 39f1002..1197296 100644 --- a/code/interface_borne/assets/js/main.js +++ b/code/interface_borne/assets/js/main.js @@ -1,7 +1,11 @@ let cameraEditor; let client +let canvas; + window.addEventListener("load", () => { - cameraEditor = new CameraEditor(document.getElementById("canvas")); + canvas = document.createElement("canvas"); + document.body.appendChild(canvas); + cameraEditor = new CameraEditor(canvas); client = new WebsocketClient((effects) => { cameraEditor.setEffects(effects); }); cameraEditor._frame(); }, false); diff --git a/code/interface_borne/index.html b/code/interface_borne/index.html index 95e456d..570c36d 100644 --- a/code/interface_borne/index.html +++ b/code/interface_borne/index.html @@ -4,10 +4,10 @@ + Téléreview - From d0233c68ae988fd10059422ae643dd41a028cda4 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Fri, 13 Jan 2023 21:16:57 +0100 Subject: [PATCH 21/63] instructions pour dupliquer la camera sur linux --- code/dupliquer_camera.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 code/dupliquer_camera.md diff --git a/code/dupliquer_camera.md b/code/dupliquer_camera.md new file mode 100644 index 0000000..96164a1 --- /dev/null +++ b/code/dupliquer_camera.md @@ -0,0 +1,10 @@ +# Methode pour accéder au flux video a la fois depuis firefox et depuis opencv +* installer v4l2loopback : + * Télécharger : `git clone https://github.com/umlaeute/v4l2loopback.git` + * Installer avec : `make` puis `sudo make install` + * activer le module : `sudo modprobe v4l2loopback devices=2` +* Faire looper la camera /dev/video0 sur les autres + * installer ffmpeg : `sudo apt get install ffmpeg` + * activer le loopback : `ffmpeg -f video4linux2 -i /dev/video0 -codec copy -f v4l2 /dev/video1 -codec copy -f v4l2 /dev/video2` + +Maintenant on peut par exemple utiliser /dev/video2 sur firefox et /dev/video1 sur opencv sans que cela ne pose de problème \ No newline at end of file From 20d679e70c36ee4d6ec38a7cddca836f8801b900 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Fri, 13 Jan 2023 21:17:49 +0100 Subject: [PATCH 22/63] creation d'un dossier docs --- {code => docs}/dupliquer_camera.md | 0 {code => docs}/liste_pages_web.md | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename {code => docs}/dupliquer_camera.md (100%) rename {code => docs}/liste_pages_web.md (100%) diff --git a/code/dupliquer_camera.md b/docs/dupliquer_camera.md similarity index 100% rename from code/dupliquer_camera.md rename to docs/dupliquer_camera.md diff --git a/code/liste_pages_web.md b/docs/liste_pages_web.md similarity index 100% rename from code/liste_pages_web.md rename to docs/liste_pages_web.md From b8c332bc08e02906e31485f0e36c676e546022f9 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Sat, 14 Jan 2023 15:35:32 +0100 Subject: [PATCH 23/63] add mediapipehands exemple --- code/backend_reconaissance/Dockerfile | 6 ++- .../__pycache__/hands.cpython-310.pyc | Bin 0 -> 1197 bytes code/backend_reconaissance/hands.py | 45 ++++++++++++++++++ code/backend_reconaissance/main.py | 2 + code/backend_reconaissance/requirements.txt | 4 +- code/docker-compose.yaml | 2 + docs/dupliquer_camera.md | 2 + 7 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 code/backend_reconaissance/__pycache__/hands.cpython-310.pyc create mode 100644 code/backend_reconaissance/hands.py diff --git a/code/backend_reconaissance/Dockerfile b/code/backend_reconaissance/Dockerfile index 7de5fb7..b3535ee 100644 --- a/code/backend_reconaissance/Dockerfile +++ b/code/backend_reconaissance/Dockerfile @@ -5,7 +5,11 @@ ENV PYTHONDONTWRITEBYTECODE=1 #Afficher les logs directement dans le terminal ENV PYTHONUNBUFFERED=1 -# Installation des dépendances +#Installation des dépendances de opencv (TODO: supprimer si plus besoin) +RUN apt-get update +RUN apt-get install ffmpeg libsm6 libxext6 -y + +# Installation des dépendances python COPY requirements.txt . RUN python -m pip install -r requirements.txt diff --git a/code/backend_reconaissance/__pycache__/hands.cpython-310.pyc b/code/backend_reconaissance/__pycache__/hands.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ade54516d3ab33f77ee8d0c1032f15106d660aa3 GIT binary patch literal 1197 zcmZWoPj3@D5V!YFvI$9AN*^HL5FvO{E-dsN-UYo!Nr56DsoDyOJkVm+PU>|3VLS8% zB`3J@1vq7o{R$l6BXIKx332EL;Div2vmgqr<=@!*8_#$=GikkEMex0R^*Vg(BJ|#D z4u9|uU4bb(02EOip=o#MsK9K)l&=63n&BLYdmybG-M6M_iYG`eDVySF7(;AZaNh|Y zI)ST7v+@M1($LGTDOQzPb%Jv|g;;*!j~ISp4Qpb};2L_cIJH%M)|lXltrmuh>ga4K zM}Wt2l)D%`{tIj`QwQ*m38rpt&f{`c-C@?IUpx9{1xz0DmWqng4ji62%jLEe%I8 zETw-fOe5xRzuAx8>_dq+H;CZUzqIOathTrPjD+g%OMVC);6H+@X7FNy!Bq*Dl0e1# z^H;f$jUh)S;S1nOUIg%P4LjJwj^#NGT*aQY)U4BlF?S2>55FFk!dx^ None: @@ -18,6 +19,7 @@ class WebsocketServer: async def handler(self,websocket): while True: messages = self.getEffects() + hands.frame() await websocket.send(json.dumps(messages)) await asyncio.sleep(1/30) diff --git a/code/backend_reconaissance/requirements.txt b/code/backend_reconaissance/requirements.txt index d992242..2376504 100644 --- a/code/backend_reconaissance/requirements.txt +++ b/code/backend_reconaissance/requirements.txt @@ -1,2 +1,4 @@ websockets -requests \ No newline at end of file +requests +opencv-python +mediapipe \ No newline at end of file diff --git a/code/docker-compose.yaml b/code/docker-compose.yaml index 295f1da..e195644 100644 --- a/code/docker-compose.yaml +++ b/code/docker-compose.yaml @@ -79,6 +79,8 @@ services: build: ./backend_reconaissance container_name: backend_reconaissance restart: always + devices: + - /dev/video3:/dev/video0 environment: - PORT=5000 - HOST=backend_reconaissance diff --git a/docs/dupliquer_camera.md b/docs/dupliquer_camera.md index 96164a1..3dc4500 100644 --- a/docs/dupliquer_camera.md +++ b/docs/dupliquer_camera.md @@ -3,6 +3,8 @@ * Télécharger : `git clone https://github.com/umlaeute/v4l2loopback.git` * Installer avec : `make` puis `sudo make install` * activer le module : `sudo modprobe v4l2loopback devices=2` + * Erreur possible : opperation not permitted : il faut désactiver secure boot + * OU `apt update && apt install v4l2loopback-dkms v4l2loopback-utils` * Faire looper la camera /dev/video0 sur les autres * installer ffmpeg : `sudo apt get install ffmpeg` * activer le loopback : `ffmpeg -f video4linux2 -i /dev/video0 -codec copy -f v4l2 /dev/video1 -codec copy -f v4l2 /dev/video2` From 2cbaae03dee622398ab9e6972d620d21ab10253b Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Sat, 14 Jan 2023 16:04:23 +0100 Subject: [PATCH 24/63] ajout container pour video loopback --- code/backend_reconaissance/hands.py | 1 - code/docker-compose.yaml | 10 +++++++++- code/video_loopback/Dockerfile | 3 +++ 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 code/video_loopback/Dockerfile diff --git a/code/backend_reconaissance/hands.py b/code/backend_reconaissance/hands.py index ddf8dbf..2087d26 100644 --- a/code/backend_reconaissance/hands.py +++ b/code/backend_reconaissance/hands.py @@ -5,7 +5,6 @@ mp_drawing_styles = mp.solutions.drawing_styles mp_hands = mp.solutions.hands # For webcam input: -# cap = cv2.VideoCapture("dev/v4l/by-path/pci-0000:04:00.3-usb-0:4:1.0-video-index0") cap = cv2.VideoCapture(0) hands = mp_hands.Hands( model_complexity=0, diff --git a/code/docker-compose.yaml b/code/docker-compose.yaml index e195644..2035e28 100644 --- a/code/docker-compose.yaml +++ b/code/docker-compose.yaml @@ -87,4 +87,12 @@ services: ports: #Ce container est le serveur websocker dont le client est l'interface de la borne qui tourne dans le navigateur - 5000:5000 - \ No newline at end of file + + video_loopback: + build: ./video_loopback + container_name: video_loopback + restart: always + devices: + - /dev/video0:/dev/video0 + - /dev/video2:/dev/video1 + - /dev/video3:/dev/video2 \ No newline at end of file diff --git a/code/video_loopback/Dockerfile b/code/video_loopback/Dockerfile new file mode 100644 index 0000000..130709c --- /dev/null +++ b/code/video_loopback/Dockerfile @@ -0,0 +1,3 @@ +FROM alpine:latest +RUN apk add --no-cache ffmpeg +CMD ["ffmpeg","-f","video4linux2","-i","/dev/video0","-codec","copy","-f","v4l2","/dev/video1","-codec","copy","-f","v4l2","/dev/video2", "-loglevel","warning"] \ No newline at end of file From 04188dbac62397918beee95ba6b8f1e5d99da273 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Sat, 14 Jan 2023 16:45:35 +0100 Subject: [PATCH 25/63] =?UTF-8?q?d=C3=A9but=20rapport=20+=20taille=20camer?= =?UTF-8?q?a=20fixe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/video_loopback/Dockerfile | 2 +- docs/dupliquer_camera.md | 6 +++--- docs/rapports_pan2/module_hardware/rapport.md | 15 +++++++++++++++ 3 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 docs/rapports_pan2/module_hardware/rapport.md diff --git a/code/video_loopback/Dockerfile b/code/video_loopback/Dockerfile index 130709c..5e43dfb 100644 --- a/code/video_loopback/Dockerfile +++ b/code/video_loopback/Dockerfile @@ -1,3 +1,3 @@ FROM alpine:latest RUN apk add --no-cache ffmpeg -CMD ["ffmpeg","-f","video4linux2","-i","/dev/video0","-codec","copy","-f","v4l2","/dev/video1","-codec","copy","-f","v4l2","/dev/video2", "-loglevel","warning"] \ No newline at end of file +CMD ["ffmpeg","--video_size","640x480","-f","video4linux2","-i","/dev/video0","-codec","copy","-f","v4l2","/dev/video1","-codec","copy","-f","v4l2","/dev/video2", "-loglevel","warning"] \ No newline at end of file diff --git a/docs/dupliquer_camera.md b/docs/dupliquer_camera.md index 3dc4500..fbbd0b2 100644 --- a/docs/dupliquer_camera.md +++ b/docs/dupliquer_camera.md @@ -5,8 +5,8 @@ * activer le module : `sudo modprobe v4l2loopback devices=2` * Erreur possible : opperation not permitted : il faut désactiver secure boot * OU `apt update && apt install v4l2loopback-dkms v4l2loopback-utils` -* Faire looper la camera /dev/video0 sur les autres +* [Innutile si container video_loopback present] Faire looper la camera /dev/video0 sur les autres * installer ffmpeg : `sudo apt get install ffmpeg` - * activer le loopback : `ffmpeg -f video4linux2 -i /dev/video0 -codec copy -f v4l2 /dev/video1 -codec copy -f v4l2 /dev/video2` + * activer le loopback : `ffmpeg --video_size 640x480 -f video4linux2 -i /dev/video0 -codec copy -f v4l2 /dev/video1 -codec copy -f v4l2 /dev/video2` -Maintenant on peut par exemple utiliser /dev/video2 sur firefox et /dev/video1 sur opencv sans que cela ne pose de problème \ No newline at end of file +Maintenant on peut par exemple utiliser /dev/video2 sur firefox et /dev/video13sur opencv sans que cela ne pose de problème \ No newline at end of file diff --git a/docs/rapports_pan2/module_hardware/rapport.md b/docs/rapports_pan2/module_hardware/rapport.md new file mode 100644 index 0000000..83c3ec6 --- /dev/null +++ b/docs/rapports_pan2/module_hardware/rapport.md @@ -0,0 +1,15 @@ +* Réinstallation de debian avec LXDE comme DE = plus léger +* Déinstallation des programmes de bases innutiles +* Impact de l'utilisation de docker + * +* Création d'un docker compose avec les services dont on aura besoin de faire tourner simultanément + * RQ : on a pas mis la reco audio, jsute reco d'image parce que les 2 ne tourneront pas en même temps et reco image >> reco audio en ressources + * 5fps pour la camera, ~pareil pour pour les update d'effets + * autres UI web sont tjr utilisables : 5ms de latence pour un GET sur l'api + * utilisation moyenne cpu 200% (sur 400%) : laisse un peu de marge + * Reco video : 50% CPU + * firefox : 30% CPU + * RAM : ~2Go/4Go utilisé + * mysql : 10% + * firefox : 10% + * CCL : performances de la borne sont justes : possibilité de downgrade la qualité de la video pour aller plus vite, possibilité d'heberger la BDD, api et interfaces web sur un autre serveur => moins sécure mais plus de perfs (mysql prend 10% du cpu) \ No newline at end of file From 81b1b3ee04c75748026523f1f2081007e0165766 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Sat, 14 Jan 2023 16:46:43 +0100 Subject: [PATCH 26/63] typo cmd ffmpeg --- code/video_loopback/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/video_loopback/Dockerfile b/code/video_loopback/Dockerfile index 5e43dfb..684238e 100644 --- a/code/video_loopback/Dockerfile +++ b/code/video_loopback/Dockerfile @@ -1,3 +1,3 @@ FROM alpine:latest RUN apk add --no-cache ffmpeg -CMD ["ffmpeg","--video_size","640x480","-f","video4linux2","-i","/dev/video0","-codec","copy","-f","v4l2","/dev/video1","-codec","copy","-f","v4l2","/dev/video2", "-loglevel","warning"] \ No newline at end of file +CMD ["ffmpeg","-video_size","640x480","-f","video4linux2","-i","/dev/video0","-codec","copy","-f","v4l2","/dev/video1","-codec","copy","-f","v4l2","/dev/video2", "-loglevel","warning"] \ No newline at end of file From 111a203ee3be3d4627c10919f56caf943f63e2b4 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Sat, 14 Jan 2023 17:14:35 +0100 Subject: [PATCH 27/63] code test pour tester les fps --- code/interface_borne/assets/js/camera_editor.js | 6 ++++++ docs/dupliquer_camera.md | 2 +- docs/rapports_pan2/module_hardware/rapport.md | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/code/interface_borne/assets/js/camera_editor.js b/code/interface_borne/assets/js/camera_editor.js index 0b0e871..a0070f2 100644 --- a/code/interface_borne/assets/js/camera_editor.js +++ b/code/interface_borne/assets/js/camera_editor.js @@ -12,6 +12,8 @@ class CameraEditor { this.images = {}; this._startup(); this._loadImages(); + this.startupTime; + this.frameCount = 0; } _startup() { @@ -59,6 +61,10 @@ class CameraEditor { } _frame() { + if(this.startupTime == undefined){ + this.startupTime = Date.now(); + } + this.frameCount++; const context = canvas.getContext("2d"); if(this.streaming) { if (this.width && this.height) { diff --git a/docs/dupliquer_camera.md b/docs/dupliquer_camera.md index fbbd0b2..931f3bc 100644 --- a/docs/dupliquer_camera.md +++ b/docs/dupliquer_camera.md @@ -7,6 +7,6 @@ * OU `apt update && apt install v4l2loopback-dkms v4l2loopback-utils` * [Innutile si container video_loopback present] Faire looper la camera /dev/video0 sur les autres * installer ffmpeg : `sudo apt get install ffmpeg` - * activer le loopback : `ffmpeg --video_size 640x480 -f video4linux2 -i /dev/video0 -codec copy -f v4l2 /dev/video1 -codec copy -f v4l2 /dev/video2` + * activer le loopback : `ffmpeg -video_size 640x480 -f video4linux2 -i /dev/video0 -codec copy -f v4l2 /dev/video1 -codec copy -f v4l2 /dev/video2` Maintenant on peut par exemple utiliser /dev/video2 sur firefox et /dev/video13sur opencv sans que cela ne pose de problème \ No newline at end of file diff --git a/docs/rapports_pan2/module_hardware/rapport.md b/docs/rapports_pan2/module_hardware/rapport.md index 83c3ec6..e07a65f 100644 --- a/docs/rapports_pan2/module_hardware/rapport.md +++ b/docs/rapports_pan2/module_hardware/rapport.md @@ -4,7 +4,7 @@ * * Création d'un docker compose avec les services dont on aura besoin de faire tourner simultanément * RQ : on a pas mis la reco audio, jsute reco d'image parce que les 2 ne tourneront pas en même temps et reco image >> reco audio en ressources - * 5fps pour la camera, ~pareil pour pour les update d'effets + * 30fps pour la camera en 640x480, ~pareil pour pour les update d'effets * autres UI web sont tjr utilisables : 5ms de latence pour un GET sur l'api * utilisation moyenne cpu 200% (sur 400%) : laisse un peu de marge * Reco video : 50% CPU From c94daabba6843df5451ef3502e665332311a1ce3 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Sat, 14 Jan 2023 17:18:24 +0100 Subject: [PATCH 28/63] suppr du delay pour benchmark --- code/backend_reconaissance/main.py | 2 +- code/interface_borne/assets/js/camera_editor.js | 6 ------ 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/code/backend_reconaissance/main.py b/code/backend_reconaissance/main.py index 7f83423..6419a48 100644 --- a/code/backend_reconaissance/main.py +++ b/code/backend_reconaissance/main.py @@ -21,7 +21,7 @@ class WebsocketServer: messages = self.getEffects() hands.frame() await websocket.send(json.dumps(messages)) - await asyncio.sleep(1/30) + # await asyncio.sleep(1/30) #Remplacer ça par la fonction qui récupère les effets (dans le module de reconnaissance de gestes) def getEffects(): diff --git a/code/interface_borne/assets/js/camera_editor.js b/code/interface_borne/assets/js/camera_editor.js index a0070f2..0b0e871 100644 --- a/code/interface_borne/assets/js/camera_editor.js +++ b/code/interface_borne/assets/js/camera_editor.js @@ -12,8 +12,6 @@ class CameraEditor { this.images = {}; this._startup(); this._loadImages(); - this.startupTime; - this.frameCount = 0; } _startup() { @@ -61,10 +59,6 @@ class CameraEditor { } _frame() { - if(this.startupTime == undefined){ - this.startupTime = Date.now(); - } - this.frameCount++; const context = canvas.getContext("2d"); if(this.streaming) { if (this.width && this.height) { From 520d97a2442b40835ab85c41e6555be7e7eb812a Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Sat, 14 Jan 2023 17:22:12 +0100 Subject: [PATCH 29/63] ajout compteur fps --- code/backend_reconaissance/main.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/backend_reconaissance/main.py b/code/backend_reconaissance/main.py index 6419a48..8cabc48 100644 --- a/code/backend_reconaissance/main.py +++ b/code/backend_reconaissance/main.py @@ -4,6 +4,7 @@ import websockets import random import os import hands +import time class WebsocketServer: def __init__(self,getEffects,port=os.getenv("PORT"),host=os.getenv("HOST")) -> None: @@ -18,9 +19,12 @@ class WebsocketServer: async def handler(self,websocket): while True: + start = time.time() messages = self.getEffects() hands.frame() await websocket.send(json.dumps(messages)) + delay = time.time() - start + print(1/delay) # await asyncio.sleep(1/30) #Remplacer ça par la fonction qui récupère les effets (dans le module de reconnaissance de gestes) From 009200a9759c110410655ab9104adce7af57a5bc Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Sat, 14 Jan 2023 17:24:14 +0100 Subject: [PATCH 30/63] improve fp compteur --- code/backend_reconaissance/main.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/code/backend_reconaissance/main.py b/code/backend_reconaissance/main.py index 8cabc48..3a6aca3 100644 --- a/code/backend_reconaissance/main.py +++ b/code/backend_reconaissance/main.py @@ -6,6 +6,9 @@ import os import hands import time +avg_fps = 0 +nb_fps = 0 + class WebsocketServer: def __init__(self,getEffects,port=os.getenv("PORT"),host=os.getenv("HOST")) -> None: self.host = host @@ -24,7 +27,9 @@ class WebsocketServer: hands.frame() await websocket.send(json.dumps(messages)) delay = time.time() - start - print(1/delay) + avg_fps += 1/delay + nb_fps += 1 + print("FPS: ", avg_fps/nb_fps) # await asyncio.sleep(1/30) #Remplacer ça par la fonction qui récupère les effets (dans le module de reconnaissance de gestes) From b9b4dc821b675eda40a4aab4eb3bd48647d420a9 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Sat, 14 Jan 2023 17:26:12 +0100 Subject: [PATCH 31/63] fix compteur fps --- code/backend_reconaissance/main.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/backend_reconaissance/main.py b/code/backend_reconaissance/main.py index 3a6aca3..cf924db 100644 --- a/code/backend_reconaissance/main.py +++ b/code/backend_reconaissance/main.py @@ -6,11 +6,11 @@ import os import hands import time -avg_fps = 0 -nb_fps = 0 class WebsocketServer: def __init__(self,getEffects,port=os.getenv("PORT"),host=os.getenv("HOST")) -> None: + self.avg_fps = 0 + self.nb_fps = 0 self.host = host self.port = port self.getEffects = getEffects @@ -27,9 +27,9 @@ class WebsocketServer: hands.frame() await websocket.send(json.dumps(messages)) delay = time.time() - start - avg_fps += 1/delay - nb_fps += 1 - print("FPS: ", avg_fps/nb_fps) + self.avg_fps += 1/delay + self.nb_fps += 1 + print("FPS: ",self.avg_fps/self.nb_fps) # await asyncio.sleep(1/30) #Remplacer ça par la fonction qui récupère les effets (dans le module de reconnaissance de gestes) From cd05b703d9b75b088fc605d74924f75f7ef4e283 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Sat, 14 Jan 2023 17:28:03 +0100 Subject: [PATCH 32/63] suppr compteur fps --- code/backend_reconaissance/main.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/code/backend_reconaissance/main.py b/code/backend_reconaissance/main.py index cf924db..47b51f4 100644 --- a/code/backend_reconaissance/main.py +++ b/code/backend_reconaissance/main.py @@ -9,8 +9,6 @@ import time class WebsocketServer: def __init__(self,getEffects,port=os.getenv("PORT"),host=os.getenv("HOST")) -> None: - self.avg_fps = 0 - self.nb_fps = 0 self.host = host self.port = port self.getEffects = getEffects @@ -22,14 +20,9 @@ class WebsocketServer: async def handler(self,websocket): while True: - start = time.time() messages = self.getEffects() hands.frame() await websocket.send(json.dumps(messages)) - delay = time.time() - start - self.avg_fps += 1/delay - self.nb_fps += 1 - print("FPS: ",self.avg_fps/self.nb_fps) # await asyncio.sleep(1/30) #Remplacer ça par la fonction qui récupère les effets (dans le module de reconnaissance de gestes) From c8b9c214ff66366bb5208f2cc9c9f170a574c95d Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Sat, 14 Jan 2023 17:34:03 +0100 Subject: [PATCH 33/63] suppr compteur fps --- code/backend_reconaissance/main.py | 2 +- code/interface_borne/assets/js/camera_editor.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/backend_reconaissance/main.py b/code/backend_reconaissance/main.py index 47b51f4..d26a8eb 100644 --- a/code/backend_reconaissance/main.py +++ b/code/backend_reconaissance/main.py @@ -23,7 +23,7 @@ class WebsocketServer: messages = self.getEffects() hands.frame() await websocket.send(json.dumps(messages)) - # await asyncio.sleep(1/30) + await asyncio.sleep(1/30) #Remplacer ça par la fonction qui récupère les effets (dans le module de reconnaissance de gestes) def getEffects(): diff --git a/code/interface_borne/assets/js/camera_editor.js b/code/interface_borne/assets/js/camera_editor.js index 0b0e871..4087068 100644 --- a/code/interface_borne/assets/js/camera_editor.js +++ b/code/interface_borne/assets/js/camera_editor.js @@ -68,7 +68,7 @@ class CameraEditor { this._drawEffects(); } } - requestAnimationFrame(() => this._frame()); + requestAnimationFrame(()=>this._frame()); } _scaleEffect(x,y,width,height){ From 936d252fff1464d4e82171a805f28ade0e9555f3 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Sat, 14 Jan 2023 18:15:38 +0100 Subject: [PATCH 34/63] =?UTF-8?q?ajout=20script=20benchmark=20g=C3=A9n?= =?UTF-8?q?=C3=A9ral?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/rapports_pan2/module_hardware/benchmark/Dockerfile | 5 +++++ .../module_hardware/benchmark/benchmark_script.sh | 6 ++++++ docs/rapports_pan2/module_hardware/rapport.md | 9 +++++---- 3 files changed, 16 insertions(+), 4 deletions(-) create mode 100644 docs/rapports_pan2/module_hardware/benchmark/Dockerfile create mode 100644 docs/rapports_pan2/module_hardware/benchmark/benchmark_script.sh diff --git a/docs/rapports_pan2/module_hardware/benchmark/Dockerfile b/docs/rapports_pan2/module_hardware/benchmark/Dockerfile new file mode 100644 index 0000000..e06433b --- /dev/null +++ b/docs/rapports_pan2/module_hardware/benchmark/Dockerfile @@ -0,0 +1,5 @@ +FROM alpine:latest +RUN apk add --no-cache sysbench +WORKDIR /app +COPY benchmark_script.sh /app/benchmark_script.sh +CMD ["sh","benchmark_script.sh"] \ No newline at end of file diff --git a/docs/rapports_pan2/module_hardware/benchmark/benchmark_script.sh b/docs/rapports_pan2/module_hardware/benchmark/benchmark_script.sh new file mode 100644 index 0000000..55a7630 --- /dev/null +++ b/docs/rapports_pan2/module_hardware/benchmark/benchmark_script.sh @@ -0,0 +1,6 @@ +sysbench --test=cpu run >>sysbench.log +sysbench --test=memory run >>sysbench.log +sysbench --test=fileio --file-test-mode=rndrw prepare +sysbench --test=fileio --file-test-mode=rndrw run + +sysbench --test=fileio cleanup \ No newline at end of file diff --git a/docs/rapports_pan2/module_hardware/rapport.md b/docs/rapports_pan2/module_hardware/rapport.md index e07a65f..05587ac 100644 --- a/docs/rapports_pan2/module_hardware/rapport.md +++ b/docs/rapports_pan2/module_hardware/rapport.md @@ -4,11 +4,12 @@ * * Création d'un docker compose avec les services dont on aura besoin de faire tourner simultanément * RQ : on a pas mis la reco audio, jsute reco d'image parce que les 2 ne tourneront pas en même temps et reco image >> reco audio en ressources - * 30fps pour la camera en 640x480, ~pareil pour pour les update d'effets + * 30fps pour la camera en 640x480 pour le stream sur le navigateur + * Detection meidapipehands et communication des résultats avec le navigateur a 15fps * autres UI web sont tjr utilisables : 5ms de latence pour un GET sur l'api - * utilisation moyenne cpu 200% (sur 400%) : laisse un peu de marge - * Reco video : 50% CPU - * firefox : 30% CPU + * utilisation moyenne cpu 270% (sur 400%) : laisse peu de marge + * Reco video : 70% CPU + * firefox : 70-80% CPU * RAM : ~2Go/4Go utilisé * mysql : 10% * firefox : 10% From 07046ba74eb129e6d4ce58d3356bbdf5d0fc4bd7 Mon Sep 17 00:00:00 2001 From: La borne <> Date: Sat, 14 Jan 2023 18:28:03 +0100 Subject: [PATCH 35/63] =?UTF-8?q?Ajout=20r=C3=A9sultats=20benchmark?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Capture d’écran du 2023-01-14 16-13-20.png | Bin 0 -> 1323599 bytes ...Capture d’écran du 2023-01-14 16-13-50.png | Bin 0 -> 268326 bytes ...Capture d’écran du 2023-01-14 16-15-50.png | Bin 0 -> 45681 bytes ...Capture d’écran du 2023-01-14 16-23-47.png | Bin 0 -> 12527 bytes ...Capture d’écran du 2023-01-14 17-27-17.png | Bin 0 -> 243022 bytes ...Capture d’écran du 2023-01-14 17-39-03.png | Bin 0 -> 15625 bytes ...Capture d’écran du 2023-01-14 18-25-27.png | Bin 0 -> 39857 bytes 7 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/rapports_pan2/module_hardware/benchmark/Capture d’écran du 2023-01-14 16-13-20.png create mode 100644 docs/rapports_pan2/module_hardware/benchmark/Capture d’écran du 2023-01-14 16-13-50.png create mode 100644 docs/rapports_pan2/module_hardware/benchmark/Capture d’écran du 2023-01-14 16-15-50.png create mode 100644 docs/rapports_pan2/module_hardware/benchmark/Capture d’écran du 2023-01-14 16-23-47.png create mode 100644 docs/rapports_pan2/module_hardware/benchmark/Capture d’écran du 2023-01-14 17-27-17.png create mode 100644 docs/rapports_pan2/module_hardware/benchmark/Capture d’écran du 2023-01-14 17-39-03.png create mode 100644 docs/rapports_pan2/module_hardware/benchmark/Capture d’écran du 2023-01-14 18-25-27.png diff --git a/docs/rapports_pan2/module_hardware/benchmark/Capture d’écran du 2023-01-14 16-13-20.png b/docs/rapports_pan2/module_hardware/benchmark/Capture d’écran du 2023-01-14 16-13-20.png new file mode 100644 index 0000000000000000000000000000000000000000..db93020b5ef3805a91147055a0d425fc7ac6fc66 GIT binary patch literal 1323599 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 we%fm(IXq`;q@|2R*M;^>q01CJK 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�ZgkF5=-z*JBe2>vh8jVing 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 z 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%0D%=`UWY^$UKy<@LcTmN-GYdVHm^1dG01ub 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

hwze&9n32P*BfR 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

bp2#$tGC$%RC}vEyXs&Rrq+VfObh4&{wwQ6&x| zAHp0V2WZN*G2+ddfJ@)ojS(IWV9CEns# z&CgdOJ3Ad?*dx&_V)OB)ke5UyZXWvamG+p ziu|hf!II6&qT|!&-+<|XT5{cx2hlqWO$A_KTWYlBcQ4$MXOdg8aze1N;jLIqt{CQg zRjOdoI@js;ZZC*GR7rW|-2OgYL(ptCAGW)`<8_TLz0 z#Xr$T=t}P!Q}UF;gKI}MI%h&&F;__VgNIDKF&ECCzxja%$7X*(V{ojOnsP`f6pKV0 zJWF;jd=o=x;g?Df)r>pyrLfBD)&`XX6Qd>@51eVhe=fGxG(LU54qr67yL{YRbiU~X z7^5B4dUjP(XB?--PBaJiv}~DjES0SFi>>$#ccy{nJLZ(yixR}0;A(b-D0WUHtA1(V zzkZ`>EHYA(R)li=q14_j&)^Ldu9k~{plo9+L0eQ`v8kJccl$0-j;y?hh9D2BYt2@$ zpoX+37Pli&k#-M-2dn^H$TgYAp~2^s^4e^A=FExa7laHiTTL0tq9e(2aVr|dTY}Z| zo7=i{rqHo;2aA(0+}O^Hzi~NbHPdmM^Dhh+`~ib&OiiPplD zmvm$blb2mh=4@9RX_U8*8}bE>1ac3gc6acCpu8D!yqN!}-#~u7>es$sxhl~(VHa9h z_1R{#y8g~H4YXw;Dd|#Wtfvl|ZeW%0s<>Qvzk5m8njsWQP;E3r$iei{A9S(>^_)ub zIZ&X9s2n}#q6^|QD?~_AdR`cI)1F$D7z8V6wP%`y1U2|`W<1OWVg4y?dYc6cCY&H8 z+l?U=t!fswfGd;fa+UExp06>+C>WU40%z@nT%h%kZYcY!V3%Ofq1>gDi!Gel-RZ8;Ca18 zuCjOtNR!3@Kb1_T>2gWg?Eerz&MrW-hoshHM%vB_*JV{4R5kg$)wx3r(o<@!?78A5 z83L-}gDr!(05r6JSuqIf`(4A}nry)dli((lD`F^loWV87Z{6KEw7ROh`66@Kconqd zV3ui+Ad)b-saBJ)5`rPJdV7}dXiGv@uD-p{tLYvlO<(t?_KHYvgLPUwzz+oGeIvs>eLRm%{E7(% z?6K;u{OOO4@_^^>e)5QqPlN|x!Rz$bZiGX?tI*fY#rD_!_Q!?) z2p(*YZo(qxN-p^Sk73cNYa5dGpeMpL3(AfUk5T?khiki ze)Vp6Hs|A#n9wt2U`n7hkK{(HR#ImBumnghF|HBw@;>o&wH@$P@O5ADeYUdB=bC3Z zr?cosCd5aBXz{Y|xnY5)Ad_ZM*X_!Ca3Ywt=>khQ@DBF?-2OmI`utBXAN`+RK0|rN zN!YMnUlbibu*1T9p%j2Gx`>NoI#v#t+%>G>7 z5rFM#Uwpy)GXd;b6px9a+OFrmWag^Z{exS3)`^Yn?WOUet4u)dr?5%5S=XLjkl81} zD`4puLn=MU6r%5RDMgF* zG*WlJ5Tc>#AAjC~b3~sOs(EF4``}SW+5s)0!N2z+1l_1gFP2k z=^D~)o>j0bU}_M^M#|~jzXu03bcM%|QzSGqLBpFlbMe^FV&)KpskCQ|#Cdlxv8VW- zhnKAK5M81mTN`my2I(rVj1Xo|bKA1v64kk>B(QJJRN=B%p#j65NbzcL(jNAzSPz6r zk?83ul(6DRZBEoqmwePsLk#7AR)ZR|3Kl|xcbN!1*e$CW%XLnP?FbJ}C@(pU}1v9aP6;ETf3 zcUiSF+36&jneNtWYO3-=Q?%74ysKd(gj;h9`vWJK;JAbWIpv5cwNXc_1QIBgco6RQ2Ind!gb%nSu{WNk5QK(niBMV@Gz*qWS#uUO#fIWGiCsuD&lx~Tb3OKh7vw;NLi>N0pIY&U!MTB7XF zs3C(`g*~3F#*nZUufH@fdNEV_s zYvL&U3pAOH2JW

ZE?Zi+2L^Y*UVpn^oua{-E5zw;g}bTXlx~4@EQY=U(2p+J;-B z9=J~z%>hf^)AjC|BJPkQM4*)ml-%&!5`_-3B7@*=2WH!x306e-GJS|Kgmk|)r_ z2@e>u=Xn5XU9R4LEitgL;>CsqJt+GevG~#m8?K!n8VZi9u_yNnsFC1U#Wn-VxBuvA zjlgIM!*P^}gJtm3n#hFcVk$}wRVg%v;muz@LwBByeN?o3;twf&6a*~&jUWH`T%;nB zGU4}=&*)j?+tr(|sW}QYc6xf{k@J1K5v1aD%+nb(+)!Khp)TS+g~W#z>mY} z{>t;QuN$O*H?H0(UCG18>BWdXxpAzPznV z;-QJA)k200PfMiUkbEHFPG^sx?1{*IF3|@`W*{DbW;mUG5b|~ZkvsG+cT-3#bxHC1 z1+VGzW||N9LU-`;Kfc8M|IJzJhl^8JIApvOXUN+8&st8@*56^;@BbKMAGQ7?95UOg$vxQ z1<=fgSPoS?l-FcBp%MhYB1I^ae3nm03Z;5(G!}SXMw{$P4+o|ZU{o>$sr``I`?ou> zk%aEgYJTSZIZ)=$EojoBi;BDk7PajBhJIaw&&tVwY=GZ1@zh{pVW0<31a4sL-m}fK6 z^k~!E6D1wWVcM2j39Z1>_ox^8J>-*^F8yldl0~rcY!Fr_VJAFItW%^T1JY zgXL~2S7#B=WBnK<=Lf-&rb z=rh7={tZ8j<8}z^p$4d3zYChKK?*_YDRPEt+IEn>DYLpn_3am9G4r zo`O*>?QZ3Ip|7+N7UEVrWW!D=lh%MXG~oiL(&o-}5CTkkl#rAC2~xxstI3!LJq^1# z0hNf@hfha=nsIFo88N5!U`yJ+lD*~d#&~{d%UdfbM#aXe@%^*CxOs0(jk20ubX%m{ zzwspInCV`n}b$?xK`@QY@EVP^lJg@hD09|a_?$l(6eE|1b^UJ^;6D@NE9M+6@PCx;qFJ&sc3LWg z43aD5=5=z56nRUr0Zi+DJGOb|xQ=>y?sBkTCVh}t6C6-+kS$=7GRM2_BAjd!?8FWQt*t`YBT`O1;~!3ep~A!CeTIIA zi5$7LUPQD>UdyX+exQn7_aSz$g7!Zf=7_-|VNMcV>|b%R)}jxD9(p-axpC#KQYIeh zZW{GiU6EkVrB|Dyy5|f7aMu`ntSs}yDH@otoAa?R&213Q|BM9ZvQ-llp z3$@s{ZsUTkqF5;;=RhgU231t>>%`z!Pvo(j=F5BRAIjNSpBTspT3%lCp`;L$ZJ2FE zL`Q+m;9H_nepavPIy#zP{zg5HIHuwOpP$8Mk(k<}msYJYD^Unp|641hgm9eC{2YZi z=^dc{ z-mm;I8cs{D@r}o(L)IAV)We^OhsK|dmWfhQV4LjrynZxb!~~{e>25@vuXwi2)o$V^ zC+5NCKltDTbiQP4kPf6%%j+;Z3hMx(qEmxW*lCNqZX}5Ku89Ks94ZG3pq9VTqUmiy zCR~D`7=>mwy%ul}LpE?Gcf+s_5k(Or_) z`&1X$;@i_YNwrCWWmr58t=i@U&WKOqGGE{v%H=*1LHI?6TAg2>2nRP4aw&3XF3pDV zwfD?eb&3#0SNXG-h&Z>f_Ge)78i$&*hZ=#xYu|V%n4(5J$XSu2nXh;89ARH%AVb5| zgE6Ttk$K1OrfePd%&)K&lR=6azBC{X(5_omyCdCURY>B=HG|dX{e864S`MS$5RgKa zoPknp?vv9|-6a!*C4evl_XCCdi`wW5BhXOc&B{0R;!=<^Tu(trFO#TL|G^#a>6co< z!Cog-x~xq48eSi~2kn=;X=_l?7xwh->pp9i0;L1+DYbb)Xu*l>h^JJRfu>VhTk zM~}uWb44_5StL|0=^-SXu7B4W;iOo;ZT$L~M!*LwHl!1;Ssap--A;S3_a9oq89pv9 zb{Z5oBA4Ng+Idy(18e+<-(zKe52YL%laH?0K7Il>gn73{qRgLJbS%jgc#o(PIr>=L zE11l~HHE95hU16dlQP@Ogn(DCp56eT0N_>hCNo6Wld6x0=6MOIz#1Pm5BkIM3kO)< z5kKERf@%Hc_tlx+^tYwx)?@JI)v>>^JZXuFk}zU|Nc!|HESaQB8au{BTHa zUzfQKq=JAhT<{zcJANxpyU|9X_M27=>|v-|(0&;-*n44I1lE6io4_~&9u6@F+6K1{ zTl9VGe2b2p;c%cfygi1BgAJf~s+0|*s!ZJL21l>oo4JIME-`Un;Vu%~D`CCM{mzJi zkip!@w)@03PqImuzxi6C2eg+q;8^n=oFJAPfA+_Pe=URk_3C4*C26n*I9@QES8B)# zgVhge`e8D{Z3e8XM@g<;{=EsZgcsQEWB9IBs!Nhh1(vRE$5N00R`l2Bs{)DZE2GyN zVSm!u|HdU;@BalA9&G=}whCTfA~XBAF4{?1)Oq2mUf?)*k9P z#Z~y&QLW~*R8Q#(Z64}Z%|*ZLk`M=KA=^vknwqH0xQgI{WxK=eCLqB+n8C{7q=&_3 z?p<~2ow}xFYN5HFg`glLB2jE09KpSCLb+)t!|cO2NLcrhV)oh!G}|@~?NpKwdy`N` zbDqtrZQV@NjK@YXzZ@R7YGpdec@SL^MjI|KF8f&l5ve#_%IL(hsag8>(`Mco&tR>% zFQm%4eF%N`$f&;15}*d-CgA#sB(5Q9fqpL zbpl2a$DdB<>0BeOy7TgQ5x5O#{W(8*Sksr-;({J)@N2kjSOKk*Ou^+38+y1_&i3Pt z(Y#U@>`|$n-k#A#la-R1Y>9LWetKBslG;DQ3`rS41;lA%`ni9oB3>iQJ*d0!_^$pl zZYU&$rVp%LUC}lIk2PJZQ#>sqq0&CqsoEH zfgsjlWr?lkO&zLOgw%3D2xvQr)}y79ktVIytw9*=-hZBnk&6x5#p4?-w{#COhZm*b z3Uc&w5*8vnMkD`9AXjjN{m`>%3I^!@5kSp?lp1K=iXL z0{k;fWRRWB(Bi10Pf3%C3JH=zuDmq1E}M)2E3IPqE1ta*pcWKw43MRkS`dMdqz?0R zBD?^EWu83B&(9`Iip5P|GB2)n!IISpbIi(^My_@@2$;&mHbX_Q5U6EL`3Zx{|H43z z#5#V0Pe-7{w`vNl4oAfqRrLY@#$u)62x`+3XTs*8dV?cJRe~c6SFf0*ETVs*93GyUiNqh2Y zEHXVPiI~1@_ZwCnoWTe}uphE~0dD>bx8frsHK`+Sdb-pbZDp{6V=G|%1sY8fHKdIx z;-opd((cnYVFIzg!I{|;y>vjF7jqYN4wxJI!^vo1r%FiYA`{8&!m~O9EeY8qx^r2P z#M(Sc3CrBOovWOLM0~!}o@wfJ<&J@c>R`08o*x z_=iqX#7u#xB&oPH{L(}?=c_WMQPYkqtgXLF7evW=Jy0@b8>%_^6DlC*1ECm0JT!Rj z$B=3h#c=e9Y@M*Tw~DqH8pLud;UfB}%g!H1_qopA2J|3!fl=Rs=-7YG+yAPKX>&tJ zNg?_XGV7345gPgQFW_>B6q!*;W7s{gf?^Mtm+}U2xMu1s73o6rebtC3rcg~bF9^ON zz6R6YKz#%Kwt}99?_=ZY^I!j^Y0tadZ6+wFdnRa<+Xu#+9BxLH69A3a+ zkb<+;XUM;sHXTppxgEJ&-3k^)94_OPBXFeR{r&W2QB&yiF~{NaKvClh;>lyqAL9O^ z@o+ix%`ehL^FI|i#X*nb?>dziUI8#RnbyU&WG7S{xk!-54AUa6%< ztEm7FwXf|C7~zoSR;Mz_HGCwJDFC&x85q0qM|yf?t|gA=@0Hy#HOtF%O`=V-O3)Ij zOjQ{hSy^K$?5xkkBzodzjFR?FT-M*-PlEx_4|ulLcCL36aCGXUbgQ%W=5tr-5%5Jf z!*;_WI6U%95|0FUHSvulIyrf%7}GAXq9PEOMmfX>Tz~%;8VjOE!ijH()w^vj#xz2s z8jq>ufjC}@2u;x=bnFM{PMIqszgomx-@K)gZWGbIgeV7luP6yCH6mi2N==<)>zo3O zt!K<^ur@-aHpQ{z=z6^9<98}c?cHzuHczIcnPbbBs;cjp>?{+UYqhe2e=CRLjaM&l zh%S}8a*H^o4|YxUC6*#e%+ix=O!J$LkYGN%pm8z%;cr7#D~UdC!vS8sj~5AV(=$m1 zTIvm?Lfxtn@`-ZP8C4z(TH={!R>j2Ao5>!WiXin#ytI5D5s{M(N;HT6aondF-SfJeC{8fWYtH?D3II&lNr$$}ueSYS^h*2tS6sIg%)VCO%MAyYB2ncru{ z;=v@h3{U!9^sShSeNtl`=1LL6=1$U(Xxl=592NEm+^(=s%LIlyFIs~A9;D@S_1mAu z{qUTBfK37CWhJ&4Oq9|SE!?P1Cc)?+HM}k#+{xHbbewTVg|`vZ($W_+a2)iRa!`4S*aB}&J0rIZsO0xbU}+N}BjmHkkC(j~jNGaiTNeTCEY&&xU*hMmMqHNz(gJ(! zY|D=qdoZOq9X)E-QqH3%C}iHQKPE{ESo1S4sd)dmAFWvCw32L16t8_pqb#<5)8bCf zkWxFrPxm1RG*Ep%i8A^Z`baH7;|A^YBDh`h-y zIlR}%wPC%9$cJS7DhTIP-G)Tzj97~t5%Zkh0g-!|T3Xe4T{34l>)ESCEkdckSlSTFN6io-zQz+ zy%Sq{zNODh47j`Yz;}HS6S*%FHfqnS$B6iNwAg`@oe$6j88~uX`3uqU1lYhj_)7xq z8s9M!t8?>fOuBe*kvip#ubGXP@_B24(`z2(!B#eWd%{e&IiT{xcj=qE4%DAsz9mXH z|0NYWXl# zA0vNWn`-N-R=m+~Z0(90T{v9R&=G-)%zJ^9{DbP58oufBo{Yy;&;y!YmQB21xw%L{ z(T>GZHsfe)!l;2SjgP8pm({MlX*a}7XSnIvdxoG|EBX77szQ3}@+_^FZqB=}?-&#e zB>Xo;ksN&iGer9)@61xUBCh6Z(`W6jd0;NN-j)NVVZf4A9NvR1yzy4S0${~Hyw(NN z9eRKNpFXJpH(&LDhAcc{`|>T{v(rH-$GV46DSY(juWjV5H0+uNKLRamu69q$V5qts zORjx^S1a zqwC1Lga>miw)K~8+g$${V@fP}(lq>m3nHuk^d(@3?AGk6r`wbO20!$6X#ca-9;(_e zdUlN6aDHnsxtey=w>E3oo)Difc68RJUG_jE3>h9~D}9iVs!sNzsu-Ip_!i5MnL9Ce zlOri{Ve^V)>|lqC67x*1@=pA(^$^}syiEuTrvoPcw)Ae?U~)6L4^AUJ)RHyjj&^saH6-B6-UHzz)vv;(8)?t z)>{RnC|EhZ%B3vkYj$X|kSv(uT84dtq7>^vIZ5&CFF*e@SOOe6EZe@fbo2ZOcl8Es zbek)0{rUyWs=*q8V>qat?BCNH?8k*fViRqw!Df2~vGL%?{LX*^!C^2xQhDqjj{V2y zeLY;E7}k2rjF07gG)X7*9c|okW3?c#J6?K>@i);wdOBG9OJesoy$w*>88A7{W_KGV z4~+8HBdx6;aQf5W3@?&-E&Xz2)>er(3+=>_&lsgyWbluJ#;o?JwDMv8nolWbbMVIO zTJhAJyf0=cAK``DzLr-QtHl=DXP~I5U*xIEvTCH4=77kt?$s5R*XS^>3odD2A^i5Z zxvsCX1T4=Y{m3gVqT8I&o?cYitVY=?yWRL1#|y6poK_?zb>7;5pcGSV#{i;1K&2AVuW3vkrjDM;u(%?a3z}k29~WTBk>Ah~Vf%1Xk=V2a2wj z36@`7jEAJ+pj0tBT&19JCptQ!cTEXp%Jt{4Ic}Rdc>I=ol4ACK5|L`vtFG3Y7B(x# z!28|YXBB)gWxLdL(ZFjzpAq$oOJ39+wP%6sR*(wVU5z7rQ2G?&cNxtk{=W3?7Gt#7 z)7Q;8k*@T{(}iXQ%aTj&_5{lw>&SZ}fnJBfWLA^M;W6l(ZX*l5^xw*&n5yI+UB z?^uh|84UqfH>V!46H>5{vD5c8Yq~tF!j>%+YLFcAfb5%#%ky`;tPA_y zd0UW|BV=AR&keq*l@{mLZgPsD`_~8DdZIKM;-)};!t?nGEP1uco+ghgz2z;<#kTKq zw;n}-$ivXf(xbqmUQn_9JhL}Iq0qNPHTqwPdc!s;)pLS76U^AbL+@v&1FZ}i14(Fw9AzOi1EqiwW|dz z@_oJg4T(?}UtfJPgr%IzA(O?Y2BzV9eJ%(Ct z`9y5%R7&&%f)yllcz~@7CY6+W+ zq~1EWVK>}iqJ_0%Sy$G17Z)x2Qc<^dBzFALNrT)WO~td93ayT1;aK_>pt~D?FA>Ix z5RVzp3%Q9)>-d9&;29@mRS}!+_S#(+`}*_uIk9VqT;IPQZV;W3xSIPu$s>HP$2AHF z)VxSOcWchosT6_f;V0g13+i26qHQ0eG&a{B~Q`ry7Op{wD2gB)kLsP?&LO23wkXhOp z0wSOLfu3AdiT&%=*FqPr>-$Ia!Eg^_vAY(q9|^dXT=>Da?wlw(+~m)12kQW!9r^m0 zaL3q9;2i>Q7MH_>m>A*jXef{;CV??>(@roEo+K2qQkr}7Oqq+R0Qzg&EHF777Wm** zmvHvjF;2qa$fCACb-8|QTaiIYGQ^O;Jl!T2D*w0v8umttYE>RK9OzgX?|D-Ji{lNx zV0syrZ4O+J6fYbUubYc}(`Dh{M??j4G*3P_bEyR73nyGh;`~|KJe>=Hk2Ri|#?i(y z`{N@DGJc5s3QI)$Ak1UV$M;d~>C)e}b2J6SQskTJ|3tZhbc%h1*+VjqWkJL@>a>;f z!%kI>CjI1=xn#-kST)F9?a4?LVP7kkCa2tV#8(yhFhN+?1NcFw#_Z=E6k%s_iq0iJ zeXSI_#4mInfcxfmKL!Em&i1Xp)O{OrGe$ZkJZLaNGsTSAT;1btEZsbaT^MSTw=vvW z20U9J#FQfd<$R2nw>0-&@ONr%y_Rl^rbHx~i94CGCyqq6m9=IkYKQj87u8Mr%Dv}ZH?o`4wNp9#M7<_9J{zTPkIFXs)w z*QvGFd7-zK<2xqc+haGA0dW0ou7SqE)1oWM)AUuMqUl(dv=)*?Tq>u4<-xr@V3XN{ z5KuBrVYt?nZDuEAd5-UC@OvxCSrMT^`aPJUP#E~T6!`hOVH#yg>tPnCN*}_x%z=W@Cmgm2m^wi5; zTo>!lHY=R(?}J`yMgqQD<-Z3hc7WXo6yW1O#p+rL_QW^=Gcp812bn~VSg2cRy$ z6^0Y@y)UU1Zxg2W4`6h4YMX}XfqH@xoGo!H}6OT|8_zr8! z+&(YR{O1c^xPp7=aB zm()5|+Q;(|tZ;K9rmioy4H1{Gnk`E%8r~sj<)Ze1Nyl}X(`g5BHn5Y=7PpukD8r^! zdqrSETHpl91=6y2c_6*Q5AB77xY6o@eJa3#&h%l1jN*soLO+JPyD@B+C0Ps~HJaVIAj<$jLG(r8J)|9n4NuB&prNj#)ss zlThfui#FV6h<~AEsCYPZlnx0O_rtdry_{Ms%`_i0Eu49Z^BbEc9p`{M)k!o}dvlSZ z$i&-&wDnLOgbRS>+2U7MtXsp5Vq3~O64iqJg#0eXb!#o_v6JhRppm;GU)S**-3edI zX(Hk@kF49`S4>$6f)A6y#=+_GUjD0#ld${Cgq60=eA%)(@@z9xAvVVk z_LxSlgqg==@i#d+uX0fhEpmw|EkqM*VLNmH*OGRDV9&p;9s`;pRk=PRbJvV+utX6G zK8r9gU6qA=NcRY81pF1%^fW;?uqu>xdq=Q8#8s#>!zwy!jGQ2~T-Gb3CY;P7?3+pI zh8fkfytq41DDDBhk-8{ye;J{vp)~DSysPg}mT)h_y)&xAbc^KNh7h0f#qUdDc^g3| zm^&H<&a7#Pn3`_+Ul1*ve3U|DzEVY4!&D`8QAFUDCm8l>)z<4ju-%?6b@Kbs%_LnP z>Pg8uDap(uxxF&1Y@|m>9f_ss6GQPzjJ^MW=(g6|mw;l7ypHp7C&iS=?6;7J93DmK zsDINBK-HB|0*yH>JxWA8bgp0JNFYWH1)<#&LS=vGwap~7VvcADiFfwz7$&L|)z6!_ zhiQyXuUY?Y+oE+;v@X$bkuYVhZTwe3BR38b$l0AphXa$Iqv6WUQtTh1gTDPnxzp+HH zf`4RRbgY%anv6wP5Bj%2#GAw@2(9d)NF*7C{8`+ZDe`wtP9dp3HoCCOwf=vz02d2% z?Lw+W;qBHoHC(T()SteW%S_*w5pSXbiw(ml)dVbCleePii1^7Q5P8ck@ zF|)E7*Xbs>A(n4cem`D%4i9*D_5B}dYbk2d_r1mLapl0=)$3tB@Zv@|SOph77Sjr5 z&`V}MO-TS8^n^fAh9`_R({tSR%hdaQ<6r>C#a z*SKw37*BETaYHz_Td4FxVgMiie%VqaqScNbAK+Yds7qjh3;aI3D1hSR+3kLH8=ov~ zpeVLgyh9e6Cl2xsBl$0C6a&hc32@~jkhD{S)71zrmfsXox(6pN*E&gDRs4hmqmXb(j@T0wTUB%e4kQ_9M3_oU&iM`f6(&S`t z;M9K~7Z5QUHt3cFN$@rSubKZf#Dn=LIP^%2~+uu+W* zkE4%o98a!}6&}lGO0=T}Qh>xduULJzr@mIExA{+ee&~Rg7U4{TZz(OKq@PzjDrugt zG-zkRuveh5%rNA;8<>VzPW#_%0eUlEx2hq&X;Dq99$pL>wbuDcAN&;Ne3Hb`Xf?{_$A>?%a5>XI_U&u?C@&^w)Qca27YhF}14Z zzUszu?+)#j5T`)HRQ=@XHWIk7W<_Y z8Tj3Q6K~wt{`@n5cw+W&UGg1pxJ=H|4oI;fOK^n^{p0?>f=-oe<~sy>&Yq%2q(KhT zM!sTFaBiDtDdA#J$@ss0HR2qqB8-OrTArrrPj39uFj1HUw^^t<7P?~{+U1Fw<&cDD>U$8IBpS#EGkio>FjTQC zF@oKIT_^j)vUX%4k~%9@U)mSS2IF^!1@RL-IY?P33rD>KFKcM*8pRZPk=mt8@h4ou zPCHR|-6qSalyv3G!ks!Cv(CoHPC*KqZCZw0>B2%z><@9dn?@%F0#%;iDFum46waQj z$$`V&*YMPq3}svvSYb71RuiQS-dl8rPlVz-HK@$hF+4&mt5Er3DfhJt1q;Q$p9Ow2 zjTImC?|7G##YKf1nztWexKMinoKpo+U;*JW#U=&p3%r16lX9xGihdmXGH(;3E5-X! zkyiE|j8Uaw8No~iyCDvAc3GGJdSVvc%)>5J(sEx3%P&@itLP?~EyzbXN&aKsz3a|J zes@{`*O*uuhm{UUM>^XzTjO`07_o!N5GAdPNNiqq0Qz5~>>K_j;c%`Bhz0~D?vmE7 zV?+h?<}Wn39o$hI49bEYzkm5|6_I3Sd{6YCu#4CZ4k+w>+$(Xe)J4bod7z-Ap;o`- zmZ~!L-nQ8WMtG$djMDVt)2>A+D7^KzSt>UVjl?Y$lwzH3e2WrhUh!EvUBhGVG2O?O zPLbwZR*{sS8bNXcg||8PdfvGFqhEo4-Y+P(x;rb>1y$1>co_~yr47J@!}#);FU?z$ zDP(LvY=29lO~D-lW4_mK1{aL}FU+0%l$_*z;JDvLb-U?%X1ZisR9j5Nf#g@FN zsAQLPQH$EJaS}!qZ=Qea3koe&5cz%Z^*&5Fd|oy&SIbOU4|ubX{SqUrYVP?b&a%HrW}ZChP$@ngc_yTe^*qd-W=|9zh*!27rF>%H4i zHdG7f$1IX7FaI&Gc{gU0LiFVpK5EoM^WFy`8~y8%cu!8x)kR0I?PMBnK12L@iHyVx z7j5P4=JrEz3bkFVIPYOKPv7#69{W*ir_dIGpp=RwDUZ%RWSOPMR(hq2Q}L^APNe5K zx^nF33A`+bya6`i&)hr3DSU2{@8hDb>A8Sao+dKT$n!PVnA=D{0zh_8ca4pxB0*Z6 z!TiqW_i#0NPaOXLTHGafX^~`wE=xgaaY}@*+q#37lvT5$tNkUM_hMa}6^e(g1fP2* zZ_i=qFOdyV_H4y693)kma@wj*8O*n4ZeUuTn3&kV$qep%(^EJm*=QlXsF_OBP8dml+{%Pbqm<;i zPEn)vnJP);HYU8D$Ukve65}#``@jeogma*##YSoSu8Y$w^Z9Lh%(;=`2U;zCu)BCf z<}y_yL9J`f_mRr4OJc33jK4%4*v6WqF%tvrBs|Au*rn5Lx_YR}L?ptoPSW)dCid-_ zEk|qFh^+bKu&}SY=w~G->)Lo#Xi~-h7S=pv&PIUVP~n+uy>!Aif^d_njWCl5yS(L> z63^a(==(R6bXRVQVf(B3?E}(NC+iJh?dnA)N1POXQW8rhbwms`Y8M~fW=|U8f>2~mmv^$X zhol$)MTXk6lF7IWionDaU64(2cn>>MLsHQBW%XPB{6gAdA&`Y}SJwp5vY8ro$s13N zAY%&^#=8&#!|<(Cv|RJvvD|e{WdQ#4}a81hP>vVkzDz zrn7j_1y6(nHXs#mmiQM$-z3s!i>O1eToqA3b2{$#z+N3^&|tRvR;tUDgt(?a_v8Y9 zpc+`@Kmv1(jO<$Rv$D0KTzYqHO>;usrhYtm0Xv= z&Lz@t8ozC&s|MQbQ^r`wDwSd}w|mL(qkO0AY9N@p99EupVFv=I$xu(DF9jkowK%g` zztYtd&wl^)W<`o)%8-(vHIUmib71ccBjidTjfxzsS6lz1%X z(V;x%(D^R(yGMm89oNha^kLkI**5a2MzV8?u0}l z-iLw-tyjhFwz`bQ_SqccH=3uv+H`bM$9QUj!LaTDPv}+o@$>N9qoM8Tv)SY0{dijF zCB@+LpGCmy>HP7?{$1(RUmg;NE&-6*G$y8mOH!IP+ecO;Rq;&%6ecF7tRo^V3Ye!R zHhRAif&hw3Ukj;)&AgNy!4yH*w}11QM&3y&I7@4IQY${&{5L4&e51aY*kWBmwV9{6 zsN7o;%VScv3KWTC(g?_IJR4w5OCg06qkarNWrQ(IEy5Kb&%Tym_eVG?VU&k~(7%3^ z^_Fv``qyEQ>+9P~^@jKu80Z^x_&8jC6G(iBDCho1EA#xXRyF~h$A(efG3|LOR8y(h zWQSL6sglfiATJ|B<1_?~uPEIQ=0~g>a;yJ;G<{`M8{yV2?oM$h6eyJ9u0@L!DDLj= z?(SAB#oeXF-QC^Y2_9T;&bjAXE5BzYnOS@G`{)-_0`AcXT}VQ?C0fDAY{rq9Ubd@J zUp1Z;2N`T!5LXq`wJ*i~{p)Q<4Jit|gO3CwGwiMf!1@+<>Y?#uWJ3a~hbr)dmN`yc zT~{~Dnh7?o*eXEmD|y)8&l81~UoX3dW~WV6k2lm^(F2jOs$@DUMmd}}er%P}k!mXE zjltMr=#rt{+39MB^NM`w`xg?MsD9z*KH_c|yC#OWqH36JZrzqX$Aq}W(N$tTb3ApQ z5ZWe})o}G4`P5^miDFTZ_9!m{iBG1KZaqv#Iu_Rp3kRl8p^>I6Akmg^mPERgr0p9z z=*JxG*zryw6it@UPB)UmJ=GFv1lqCKZE&3SJ;yUV*t+c`uVE!}Oe_ zN9bjO^{&)XGBp;Ydy)8z^0yXX4Tie--H*d4NF`!1t8?!RHdV7Kvq^97Cgh6ABvxA< zZ-12MXJ#SsH;j=8G0}{O1Y)bRt0_t36c*{ZXi)?koUr`@^0<<;O$#i(Zkqmd&td>& zAI#=CYZN(6ywcb2VZXTov|S@l38n9Tm!#XpPi$UEcQ~@+ev17<88pT+jLmjS(WA-S zQDTwdxz~!J{r&rCq2){wEuOJfhXyQRdgCy3UB-59h7(hyIjHoeccXoOfL|-8fKYI^ zajs&Mm9#|BZ@&bSL6j0Ff~q^Zo2oo}nAgy)L>SL1#w%uAQ2;sq_m1!P7iPsP24(Q%nUK~7_=!FSBR~^O zw9Rp!HKu}ipUPc_ut}&=vY?HnqVl^@)>xLaa)HOPyQv+MGJo6rwuK`e!%0CH{dmK;q?}GaDH7G@p2<|p4vn#=k{H|4e_l;G08vG_LLND92>v*_h+5%TP`#1^3RJp zS4I*scbTW2xAP{$f4=&j0&S2dJ_{HS{uJw6_#;0`xm;rNeRAHT&48plKA3sc>BfL| zah{Jm@{kglUOwOaVgEDl<`-pe8u%NR{3nj6Q(`DQZh1M$YCEK= zID2Y|xkg`)spi_JYH4ZC$+#;&yQXGpY03P&l#DJB276)SRPir!he^{7^}nLXN(W|JzfAedp8R<@=HUCB?_y$Nl98!N>OX&0~S^Yn|{%o$%X=!pCvj zrJvrNfY&6HP7@n%UZPy%!@O5T0q^2&dh~ChewDQ!6A&uL$8v~=L>UL#I5mQ}14!dC ze12Zdk|@$TT{$LtS{;ruCPHxd^pD`_>F?u$`fKbK%JG`Mg}(m%Mb5|TnExZD|IN+g z>jb1fsa;&14gW8F$mC8FXH(6w@EL}RoA~7^XuCEcy4b<^<4DMZAvW~5H#BVW0WM?tQy?v>O;-~PNo;j*iyrIupSZ^R(nIbWt>r<(Cj4jMSy$^e zlew-9E-|+kYb_K?-k;{MQEFOid&%xu8Gy{#+CLnQw`0dbI9GUFfjIJiL&(r0^9Fu7 z^9>~t{LWI(EgWqgZyikX z??N~Kha-Nzxyesc_|}@KuWN-DfZw)Cz44DGL>XLfFMq+4}= zwXh|!@BOg|u^Ay3vjQ2^1o3$H{V0Ob=!xJ6&wxeyhbhuO9O<>ty;wgs>p1kQ^c04A zA|OK=!{EUpDVY!n_0!Gj%iUA!qL-(D*23yw3UOY+(P}P>4?Rb-Y?Xt0o2ALY4=2ns zY7H@7oQ1So6@69RsKh|pI^3Q)&d)~E*Eq7}N)3G`g_yY?ws3-2tV}oa>Zm^bvh=De zx(u+$@Tn2sTo*>={)Lucuxbj)45o6oS`aIl^%uCQZeg$W(}Z6{-3{wlw^4XH(7Ygt zYo5$rSKKH4J{*SF~olIO|0 zCa7?T8k!oqurtBT8F2pkmG!4Gj;VW8K7U=q63Xm16msty5rF;ELe(ifDvt(2Ppw=| z`D|J1fpjCOMX6M!c@?!x%CUB!PSH0CHaGQ$gFj{>tkm?UrPlREa)RguIQilfm5Rru zGTuA#U%$$WNz*G6+4}Ii5KKECz&Pr*wR(MOCoAPb*8XcEs=TFZEGTtuf@G|+o?!d8 zIwqzeRi!Q4+VoJY!`&9czV_2xP>Kf@CT=Z$Vmx+JZM&Q0C0mKLT3{?3!4is4Mfq3^ ziwpYg7xPBi{kY+jo;b-b)lt846k~xw5h#?2(kjiPIfvJH@^f@3*onFIIWN3cyfU|z zhf`&mW#8KKp>PP zO^K3GLZ{K$Ut+z!8ipyapv=pT8w6XD|{8}Bl2K2 zY0CQCEQ|~!RvEGOqQyQgPf{k7E5xdP&tx0z(t8$(KDPM>x&V_!PK?NNKy1Mdhtp_j z{Uzp7tK#?_A>2u$do~WqI*f`*=rt(LZZ3RecD;gO(d!bONv`hQp5}DNz}E*ZX>UeF83-idO)E?fveWJ~p?WIzFBs{5~L` zp)PRS$2;c7hQh~VJcPj%eus!oEYDHr?B<(b**potcu-|ggD~^_6O8l`O@628GD|d) zAtHFy(Zyo_{e%gU7MZwc3IA-hb_N@*v0=(nKk%3w4a~EYw<2>e`8U&_`e!%>Zt(mU zRXtS>{@)RXeif5_0Agraa&-T_>i z=)a*!1539T8Y<{%s0opwEsM^MR1-%@m6xiHHi24(=GHg_3u&jw?3LaqE$y@^Ek&_@ zfhR8;XUk-&kvjEQ`3eHTi5IQVs+uuHcrBzu!0E4P%UWmOvVNtNTggU^BVBRS+HB>Y zrts5Kd4=kc$4J4sokIdg(wZokZZ8eAWgZ-IT{K$}^5rL?hTXZ)eX+OWO>?XcBR3_%;$LY5|F#!Cwn`Yd; zcex{UnXJ7M$%5T9G~5d8O4~kI<(XSv@K5sP;r8Hs_}%NEz$w*YPj9FR8ogKXu8SnA zvTM{c4X^lN!WG8u;CKTI`99AdGVb$x@zuJ(uoSb}7;(8_l;1F}V9&|0I-Q6+(2rI_ z>PUVl>Io;oh7G~*SnF*s4!}*CqcE9bZDRtKf7fpShmTl8xAoU+Z&*+NM@Ckg1vk>h zKx!?qOO`c-aCPA`8{zR=mmFrf{B4$+$^!z{s^N~}3u-eZj6j!Rfrdx1N}q?y0-=-o z(MmAY6^1(xH9tq;)+z5s?uk>_uFHG-M8{Upp@bNjB3hebAGKh6yBM)hJ$}bpi4e5e zPgZK|l7v?>#K8{sDZ}_*+lCzZm3u4GKMtQ~*ukWGJKTudYKfcXsquqlH-awQmq1UA zIfd~1Lcps)7`B;-Oo_aY{6=2m-gq8RB&^IHA(<)dv!m;93@$H@gX;s6hPbB8oG-bn z0@-$|H2`j3mm_(Bw&(jTTepw)+YAW~!WFBBg|(TZjeGVbl(T*)d>{DtYZO zWD=bPh2OAO=kq5UBMzib#d$cX98vD>G4jR%NT=#JnF7R0fTfdYxC6AJN~aT3H-zr0 z!`?UWyb zoW(?ZW_@-ruGhC5L1#NT$!q^@x$BzJ(5!t(2cLs%VzPz5Zpr?kHl}XSkzjIwkN1ne z&DNLmm-d|StNOdbYM*6RirB-6dHT}(c^EKuzXz~6ZzwBGvUOZ^M^;5dznd| zv;~65w7M0S-lOVJTS@3c?JMp`2YE>k%??+-|KvR}!;Spxv5`d@?j1+7%PW}AL7sv+ zs`{;`kDpD{Ac=9NJ>Mh~@Rof#+XeLX0NF%an#Lx+tMO@qLQ%SZu;P^hsxs#`pu%k1 z-E;7K+i0b}EHMI)-hiDvnG8I!{1~LsEeSpctlihS)Mxpe@n$d+vcrzLtainTVBLlq zh$;n=1PTIyz!05E&W7&7)RCW14KJ;$gzi$q1m4mb?c{Yfng@T2h$2dap637#M#(;nF>qbN7nB9{&HTvUplgEzV9s!IUb(FH5x?P5cE@0pNHT^ zTpw(5z+O@?w_2h}r4D!Is2ZK2Zjq8x@N0bm1UbOR<$?Z0?+ zMArU{ljq6a{QJkauDh+aAzqqf0}zmykZ{s%5HjFHfandszCTx{_z)DQgY7>s?iT}L zA>aSR|Iev%$U|RJuv127o)O7w0wYP21SHcHO~F>}h%97d``0Uvvsdq8-%y=sNCuY- zmjINstB7jXoKn6zh+kW}*nmjcuRU~B+wPn1zt?>!FIFCHs5t^R*lD(2zRZMY?bkqj z^<>NU$C!LXTN@I%n23UIEFy$?AiHQLIVgiEix8x}gM-j|o6oL=i)iI&tR|$)JWE@L z$dFJ26WSg`CSz^E39eH=$uv1@lmmZPjmD~u%5qz# z3j?Vd2uth)wcYcSGO#zusrw``0surh>WN~SFILtjEYNW5@*+8m9dz&mHt{adEp$=e zm6HpfUj4W$oJ@u7Fu*IHX#lNO?nUuNEI`#mQoNArQ#G@MGlo2XNuyKRGKdCx(+o9W zeqj+4dMg1r&f_+)A0}cPacNhHp8A>o2T!xWz*rQL5D&0MJFKbgJ19&{RNO4PF3gz& zpd5JBzuF7~9Q!{lfShJk!)35=N}ioOeUp3d1FVF!t|V^NH{TGLSNb}^ACy^Nhrc8@ zDhga;{2p&mYx<1YQM9$IhTt61IAllaV!a6JCN601aFPhYZjKpY%oM4qniUw1+?;HJ z@7EP117bM(#_Mn-Tl5rKMJ5e&~ z)psR}*t!#{g2Ug1&feQ@`nNy6My;8kQF82o=7~n7RgnHit%D1yO8JNs`2C3rPNPW` zYU?C3Y%UMjy|H1J>wXE%CS_unDYd`sv{k+S=y6reS5rpMZ$EA9d@rJCU!eK&RQb%^4gfQrH{Wi)!|-+2Slazf=kBZdwebodUL~m+TJB8WTG81 zZo3r!$s4YPotP-3*8@9px_omz3{#z&PqCS;pgRSjWn6War`kI$^t~ZXp?FSQ)XoQ9 zXB|0HN79OkaE$r8u2q+dqdt;8n$<|&El$3gEsI*9>wn}q?N5jKE#?P=z}1GkQy|zq zjvEI@RlO{cksU|8Ins*sS83wbfeF(fLf9v9FI+dg+;JMOCEDiHiW)4)SqFAiS3!HH zy0dZp?{;hTk#kq4kiNeDL+Aabm@2(HWo3tZxl<{gGkp76MtX9O?oW4$6W9nZ-O98q zp!|W~-Q5xdCRcc`@V|}sd*$zXLHszxd_NI>Gyeb!Kjply2)}gsJxg_Y)U;nWb_{YG zA3{#ft*5Qk-l-5Rx4^v~_bN&{as_QK8oK&P{R4@DxQJv0ZM@On?YbHxrZCy|<+kz% ztrNe{q3hv&fINcMX@UYC`{T`11;lb#pgYCf<+HKW@Bls%{)qN}u)o%Lo8aDR7tl~o zoKu8G+E9xGQ@~b_wL+Hv9E!dcUhNBYjVTZBmo=q#IxzzTGx%B4u9ycX(jigj&UO%RKpMOQ_;QU(?!?A z_hx2{o3|JC^ou>L*KD8nHo@q=z+nz$ksW6Z=QIhqRRFb51}}{javPD4r{|Lb@bJG5 z8U40vXc2$N81Exhu{_;_o2SVi5c|Yc>;8g*p{9$s4qZg#8SHxEMp_XsvXvarr2U7J zXalKv2Rkd0VoP03oM)ziQ|ON^lskQV6)Y>6_#x!pfy)c7-G$3H-y{3f1x(C3i0|_r1@gY^#tb&91fIqx2ivkmmmCYVt34^yp-Yi|;e8ugE6VGys#oQ85J6g$9 zN*I4%?&pBD^HFG5O1Xc3WlFCbh$U7@up&;__tO!RR%fRGfxKt^EVl7d_Z}X#d~mbI z0yi#C#B(?iF2uu1Fv|6IyRoXibY_v_o#_^Uu%LrkGilE601q1d*nkmsasxtf5e^PM z1fCZk1GOAVg={g|?;>UJU-uNJced69#v4_-IhSEvU>DgDlRnkP9dyqKYB6H;GIddx z4)oc;v*Ib0iqT=6E>A+uyMupf$g)5VKflC`LKfpY1Y64o$iv%SWLj*P|>%KlE_ zsclq5atT@``!rjX?Z1C-)-H$?0gVz#D~YyyE%Mj9j~{9v0cFrf3zN2lPN7M_!%il1 z%qr)&An8PjX27228TYjG^ogu1iFV{nFo{ROZyD{jUr5)8nzHK)@II6UzWC!C(MYmU zG3G49@O~p5@#M*6Hzu?HCLD9DAMJiMHItwX-Y_YX-fXePcCQe_E%S9G1DK#im{vo1 z;Y@-n_6GacCllBM^2jYo$m-==Ig?l;6{7vZQB4p6DX>gc^1bDXpqXP<>M`+hlkF*Y zZ#IN*P@yo4{jNMXTQ%GYZ1R7q*m3Xy*l^Dr27r0>ZO;g5ibYdjOHvMg3LlxIs@g%H zy5vl$8}kbKZBdxGJg9o>L%ew)(A@?I+*;j%`ZDq+(a_e)F{%UO#LEA0aa8B}JPeKW zrM0!bCT<-&LPdNC^t)`xtFl2)=;UAk%gyZmcB=?xm~hmbjZJN8;$NwNkO3^GCJ@$J z)?Vwbd8LzX>hrps(#r_zV7E4B07jx9+=sKAwr;iSZ+`d7w~v1h?z)YirJV@P4$0{* ztI99PgDCqYzMg!15S&PCr#*^VTAF=_3IRg5mS0F^lU)oVf|r2{f>0w;^P}nI+3lL1 z3KwJ)e7D)`raLue8T?l1=cYMq5`rklT}!fPj$HhZwMLvd=T5YFS-iDA`1G=HMsMQJZutUf`R~ORn;k!OAN_TxKi( zdSXc@Tx}$neR={r)4)BId1_%J^>F#-*py>Iz>V2c@<6tP~{jlqaK;v*O zj-oO#V~{LXV~2N{eJz3}jdk6ue=jg5YYTmDAed)TVAB+@ln;MXFSe>! zEJEmT0)^UuC6codH!(&U6kJs)=_<9a6&7N%pBDR1eH)bj zRhV~m{cq5}kh%wZ>tYuwECC{&X0AcVPVO>8c++wcG0Zu z1yH%EGRsGSF%@WIHnMFm46Zw$0f^yu^Fy}=d>-}GbjK>ul$h3hp$G12!g-g4YG!%v z3oJ)UPW)aja(d9x3111s)@Gy#ZStrSAici2xEL*2Zx6Szee|7KLB1gmB3;K>*h;w9Bh>oBS7u2zNt^=qQ}>wrEy~*~vW?XO6eR zb8`MftHGqgm`HR2OJR_Uj{5?sm2!2$)%GnbzZPW@gBlNSZe6?l&S2Cn z7);XKG#X&MQ^nKD44~#uou#B%T4o8UU0!HIF&S(H2rYZ6y5KH}^47i_c|@M5lpi}~Q-M#Yh4e^{Aa{%YVf=hB9H$qm^IEdYdA zeyVK~iz3X5F_P#1<*Etu@Y7@TB&+!OSM26CtOpj_=ZA#`(DiP-SIwHvw6wHjzt!dM zuXk}4_|2_H#brQ8$z%y8-^z7L@L)cfU$-e&>A|SeKsE_ycvR6uko@k(gOlhP0(a*K z{e0iQ{*r8n(z6F1J4&O-UQ$&pCs^q7Lo;G`6aQoFRZXVb=FZ4IVquWJPniJI1|{79 z`)Stm=j@#W{>DNBqo{FpTLX#qOF5{uoZ0dc1o62a=}md*@M~$3EP<_XbC_>&E%K(j zQ?Jzmq5HAdevs=X$5z

V_r!K6a(0HIn!`hziMQy4gF*dB2@{U-7^5i2PXkxDkE@ z`M+JhQ+z-~;U8}wPfHLuyn(9_MB|na@{{9t#0izo!jjw85}cCPVqG8WhN$eC#BC{lZ zu|M_2=YXE~()3ZbaJ~HeJKonZl4qLF%s7c#$M z%2yXA#wq;zz1G8E{X_Y|nKqMupA|50=|zEb`lpkrGP2o1=4I&hY_bA_sqjeL}~o%=l`DHzo8DR#hk6`7-FMk*S8j;pXtQe zt37)J;ceru+lVQkZXtks*OVicVRsy3acpE@?iUK-o@h8RQ8x_NM;-S7|6L)X8Zp|h z({u#!muF?HBm`6Sh}|%q+>wY%;+3Ht)-*=pp3b?3ttfGM4i8-1GFNlByv0pWRb0{E9MJBW{R)I!$>93@rLEC!W4zk&+!p13YF9itvb%jVm%o^ z=b)|8)B@7waIC0bS}YedgzpB?DXH>3BA+lG3-~cA_zqWiZkh#E#<#FQ^L(gm?Z@MA>d*~Rgw(I-^S+#r*biLjIOOE~63qD_2lx@jUMA|^%D z;LJj57%?tE&LwJu`X-fs?w3CX(F7+8*GJSf*5EGjkmV(VFWhM2x`Wnp*4H_{DJfde zPxP_z|06b3ia1f6QB2sbU728NF}$incObWe;Rl%Y#X5=*Q0B6oTU(q6u6MxZ5mPz3 z_uGUbsCT$$rQoZelu6kUJyaW5r{_NOfJmnE0|hE>$?g*{^v#B|>!du$2iDXu&Ls?g z-ihV7X%bS;|2&voBmbO^A8Ep&WR+>A2D5qgX)0Ub_s&m`D^9*zGG#{^4~LSZ$+`@@ zQ!$>m?TrgGfWoJv>xduFr(AcgPFCN{ph6PLe>HoqVpD@GS`bKo8jt(LmX;pcZT}by;aN49(bC7L?E3H=QH;>OZJBUSZ-1~L4{#g4@>aY9 zUa~wo>tKPMk=Jf=$ntYt-XtPF`BAI6tca4kzk`QdX4PFT)Bi=X#K8Y;tMc^~jse$N zeZO{7GYUk7shZ5|mIj{s$@OFJ$df3r^)YNVB?=B6MMU+KIOwHf>(ptA{mA+j3h4El z{@_Xb7>}ufwLC!xe(lSOuOmg&s;Qe9Z*CUqdG}nMbf;5!fpmAO__C!j^!joDVM1jj~*$TwcTk4mBuJ7uOwnn!U z+2U&I1S%qiUeV<-d#q-T|TC`uy zod+~z9{Rt%zaDJ8eSExMzTa=X*L;9J9w^>-jo7g+FTiU$4Uz;(rTc;3CN#G%%eh68+-5 z_cgf!>?IDrPIZrd&><=?qi2(GB2xHPaDEK7=VTEd!91jlFaDAgmtBguVPSxn;E?N$ zr<*5e#!8at^5T=#mK$d7*8UfjxpetoZiyY@i0QM{iMaC6i%)pd%?78it0Up|;ub6O z(z8GI^~qdG&?s5Wc=&OrY&fS(L2k$X-lTY3r=FQ4&4_M$&j=DV)6gF=j=EO+Z;{>r zBN^Cu6BvinrrXJ!xbNKu={qi@_4f#N3KjA%#JE#o*>2o|ZGVG*;X^!hM+N2#n^+S3 zW5nUpef}S0v^=pWu^d2tE}w&Opx6>#bf5LvL|kycschy#2{lt;ZxM9dvag|}CL z!(ufVHD)LE_fM#V!!n|_^QPv13-Ijo16#MQ(6gj+xBw4YFJrM$%4?fak1J#O!HVJz zg|OW*w_;^&t2_9ZScT=I28Y!1=?yUj+O6IX{K*?mRgQ-%Bq@ZJ0&o+$d@s*7@1Er( zudF{EL^8%r0`?^O*QP!0rWO=*W9~y-)ALx znI=KGYmME~6wx((bJ#n8jMauZ%@DS&HUY-bWknVDGU=i`jvGG4R zX>4pU0T=JO2L-!ECl5?^>U?{~pger-nWYJetuLJDskZdXWdIWM3?fvicK)iNY&Qy? z7w(-0vJr1b*9*)gn*_TR&dMv;@V!lSJ~ocWiIUy3^OTWtzCRmv=4@}H;h?iR$qgYm z^tV>U67O%Kn^KKN5|W+mwPE=eEug1lFbmGSdD3rCl{&nX@ZE8M=lR7xN*DkL@LDxo zh#s-d%sC3Q`=L>4PU*ll8-bj@Evo((5x4%!r=#^O0cwwDeR5SWL<7Ppg?7sQR%f#f z&An$ksN=&u>HbNlayS{h3uQ39(z=E)+9xS_BMinLtZj`>tQW@nbu2_9rJ$h-9fjod z1Qe48KPR#%qoce%|EIBUsb;Iw@9iGKG^)<25>fK=!Fp~hSEzu~zdEcu8-8jBP%lTZ z<{XB#k`&2sS_v1nK3trKZ*{nvRu4y*AN6WM0;W~H-uxi3BP%^8T5RPyjt0!6h_n{? zJZ1w#>F4VaF=z>$@6@8(+Mn0k@ahM^c#tG^@G1mpzF3`AJrag=bshQXL3+B{tH+>R zE{{jAi#;xN-tR2uPuc?ZvQ{o6#LZ0h_pXP>`G1pOFS)**Lt0mAy55JnUfTRW;y)fC zzhG)@!hg-nT*fSN!*uG(us^Hx`Vur(7wqiBB8VoLWn*^81VH(rTS8*VuDg4{I7qz| z5*@;r+0Cy9x;>y@-GFcRnqoBm1p zy#lKLgnkNxjfuf5GftZOB`w#&@Vt+#HOH&cEB2hgCb4_F*4jYL~SOxsFQHp_?7DP){B$ei2 z_EMnFFSgQ=>ee@<7)Imp=cIj&QD*HYqL3jYuJ?6-5asf<@W?<9A2h_}Q5kWQtBj_?5)qml1RU zAMuYFIx%>Sqkd8;F+N=e*J`Qcyc)%IYBZfRUY-_TAZT>bsOtPs zmdexan$y0UKilk@=`-sY_@P~XW#uJ%AIr<2Fjbg~{6TO}WW|G@4iHCq+_ZAdq4w>> zONl`2%4a$M%m+ir>j>*9XxTUdMV^%BSd|gtYtdtid)bScG+s9&(;+Bpx+a8FPGN+R z?8yF|wfC|uLtsJ{x`E4Z=FqLrynz~q5s|>Awgl!go5MqPEVR3bmRp~Fp=JYEvd7Xk znz)&qe#z6}TmB0M@l5ckq*Uivv2+6n;+6LEf4e_;X@bmT-(6r zLDq8F>UuZsqWhEc$17;-D1QTy>{mExph%bQFVh z7%%+(I7i`!QaKWaBN!wzTlarj0B*r|@ZS3+_f-2w8Ki!$XQuo5nhDcb0{jq1ec!%i zv7*7zX1Bmr|E-pA#YTy&mOVKv78d6oj?D^Bt7jM~*A|f&3dL)+SmHOle9vbaa=4J> zbR5Q3^_Vp|qtzhXdR&VI^H?K~fF@ywbR6F#9$oPxIW1|FIj`5WGZ=%YFTM;zpr`-3 zHOc>%oO0=mh2muD0_vTM3!pC9Q>++PYW<}};HH03tW;jSswd6z6e-d3FU2B-WJ2tG zbxF!Zc-?08QId91l&fCb&TP}yHD#mKA?+Jn`pe2vQHS;hbG!zl2mzgVXO3axEr?B zg%y>C`S!rPgUltSq$Vt*XwAyjw@aCds2LNXqMBiryb=?Y$#V3xzQoSX9wgps()zg_ zX)L+&5Wjrc>Z>1y`V0Dk{Mr?KK>9mXc@i;DkuqqzENOGIC<@}m=PHFm5Wt`JzGufK zQrjEgKn3SFsm$?VepZD86v(bpCqxWZSEm3OjoY}DWmAfdxs4Dlt`zNtjn6mkP-SJ6A+RMZY1uIt%E5Y+cv8-kNuX@k;E9rHCEt z;9d@B#z1Y?F2yNYc5h}XbLUH=aev~_$SO)9LPf3YmtZKhTEw7Mua@LoKmNst9l5I7 z7Q^`j1{nOK9MRR?a2#3<%jXSUq)Y!P@#*_bPycq|nFbd#jq&OiM_C0T=*Soi-juv` z14AtSrv2{}pz!Y6^Lvu5Dm>dHy)bsgToGBJ-wmGg)fyR!6 zpeAD}hUpO$jJWKSpeMmb9*-Dddop5xb8^+Rp~GOJ9f_2`VEbeY2opy_4W@I)Vnl}) zH`^~?^|tSK?S>Yw)EUcUz@5!H(I^{&CPJN>l}L~|VdspqFh%Jgz{_jY2@U|Tibat+ znj&MVN>`2NEuARI%0UKC)n*kcAQQMBO_MA8GCP+ml8@`#-E=}1H4Y^zmV#He=#))I z#4DA}xtaZ!8pY@N+LdVuN9@5=^@R;Vr;hi!UrFnVA2`Ld! z&8R|vR6)uCsF3OflzTRYEGfpaCu$lZQB_||hM%Gnv~Uc38p+l&T5SnLM9i_(otqZ- z00zLn;R%O2gGUX*#}E@OAN5OJ?8F{4>-6sKPM(VPHU$EBxIRt+m4a--vy|_s3R9ke z#c4KZ8d7qA0f?zj`nYG#w(8Es>U;U>l8Nw5Ps(H^wuXDsPA&dgDw#96f|zz!GqduZ zLU+E5t{vzaqq9X9UsWDii^C||$yD}76GBRP&1Kj7lkocu7y>=``M$kZRx9CEa26T+ zA%eBqss^^h3l!qzadm=X8C2q^zTC=>O^8bUD+^8W(LkqU11JbeRopkgW34dHv_L2p z6T0WQlC-p;k|8f&0lg(XYtwcI!F6aicx@XCSw%kt$$O@?3aSLl835k=$W1FN`O{;} zVO=&;!b!5E{d`^Z(cSa2)?KBatFT?rzE_o>@2)4L=j-|12lB-_Mi1O|-)L2w)+HxE z(IxAXnw!`O88M_jxp|b8WShF){7YJGdiwhQ?@vdN>x?n`zdxUkZN67>e@&K38T7h> zT6<6dW2LV+x|f_M>we-ARdy6#W+Yy+_=P~~ef^W7szGN9=bc>Fe3^LTQ^6MZ&XQk? z>B48%f(V+RRhJK2$)DDfYW?h{&pki_C@s>AH=W>DR#kG!a}Y zh7y{*Hj<6MYT_KX>qCiy#abPCy%=XmEd&nqLO=!F*mk@$W46h3wG-W%Sy$n)IXm&yi=3pX%x0?^1kT+L)32Xo1NJr$9vzUM2_w#5&3 zv53dzY|;vU2S|A(zN3*Fi2~y}9{slPrB5MhbO-ZpK zOdRFZMH7v|c-boaz^12-q#t%hbv{O|4@Zvj8zCa*&}YDZ=ZY12_0%GOKDD&rfEo0!^B*;^_(R zjr6|#3LO%c=?mra(DF<}CUwWHVCUCM=N@OIDF(0IN?IRwA8b;!l9Mwo}H~!!$$POZE36ZeBNYfH6<5Z#HjR5mmY&d4nhtjhcrgn@LMl!t_U4o zm$I@ZPGD4CBo-@2r`S*8Ip+^-I(>(nA4kyf*cPC2923MTM#E$aHYyeS%f$?ybi;|y zgk&UPS@uXRt%QU9Vr5_6a*_v;1ly^!*-qvo0TVY`G)@=;Of47rwp2Rj*zUr@*2+Nv z13`UKBjJ|gEw-T#yU?D{TZo1N>rMmq;CMC~?k`{0A4{S7`e5ZTx^R6j$H7pK=RE%o z@n7$b*6&t-dwBByF(wS2rU6p#cG^zi&-cVBG`gML=6S>|&`w?mWzfcr-<9>`s0tDE zIzWb^=z0(u_(tH*UDB_2D)q3F1WOkE*~CHDnmt}Tz2hHjI%y#h?rBlyC2}G*ffE4= zsUoF5YZ~f3{E8b<8FS2A=>sjH8#->|6Xy>+AQw`qoJUxG#|yG8Pabtx=rKggS+CYh z`>XaLUS}!97Ui&izV9kcqKK1Z4;Qc5C&H-bI2=Kq^btI`9>M`8qh~th++}KWj2`+g zFHM*FU4Ab&V>S9+KHhJT67q%O_b`4G?zhHlcXDOk7Y*!BFl=O52n&bfr7TegHfF8>*IrV$>YMLpxn`+w5!WaMGkR#CD+fzG4Mt=9~BUJNtCaLgc z+B+F%Z+iR&wBf&PNFR^rW#8m2>jj)Qx^+EIf{b#=0p#QTeD!ke(C{A~8spkikPE7tQ50fmG| zU%8pHF(BOx(~;)rP4h`3$L}!@^m2FJW~K^JEM9Isov-}|dGdR^8{7NKRtH+0Dj@ocG7@JCDkS<(%mp5Iy!rh4YIr`2%T(zWV$9(4n1U*i{xY z=LdS~p2wVk57=cY?^gHVYmmnexQA2^x^$lx2uA7UozP-C`2}RB5fUD;9py0EVrV~B zzIS-{BE8o^+<+eLD*@HizO@d_?BgW461Zr--P4|^i!UG2C^!Bcw-Y6u@H)`{A9*3G zAKe~oz&m7Pf8d2cW{qlYkUEIFC1%P+twd`M7^v;!1!)KS+wtmCZiv_Nl1chIzFp_2 zBQCNg!L;zyF><{_B!X{v^`Yyx`5A8Y1AbcKKH`lbUK2hb|5K4q9Uv2dQ+}mQ= zzF%$%BF+;JoI*qW$j5{dmx~}yrN6C^E-(KX7!5Nj@Mzkf;OC3rY#MXQt?+8+Iqew| zfg~gl2t2$j7=wEY93Q64-=cCdPnWOW#OHlSMHzt$Rjj#-7_WGiOl!+HZouai4(5(h z2Ai#CmG3yy^X7sgt9GIKTv}iiMEh^3H@=@D1#6ko$``>H^V*vA+ZK+f>e^a(kAmO& zzRYSxaM9sj^=l5!IbU{X`8-@5S;l|i2`_pPj}Bghg~&LtDKRc{sH#Csh1m*TYgEPt z<2?8Qzk((q9?Pz?JZTIfyrw{Mf`wzI*y03Md$9Z7gwZy53)dxu_5=H_u(g+J}4YB6M zWhwoYn#N?66gAgccFjQ?`_a>uS0qP3HX#Gjwqu1Q%Q)p)8~yx*9y$ed6Kz%+Y2@+i z`eK5LlJYi{OCzjsz59IF>WJ737xICSVt1Vu#jz^Cmi|cb+giPR`~fxF4Rsi|6wlXD zv(aHu0KzGEI0f%-&o(F5zAd!)n(npK%FdeeU-*2x>8hk*9EhKVzt8bZu5HgxG?gpH zK-`xb)*woi8M_wD41fbV3(Mr{37<~51D-@2Labert*xIOWpJ@(w`mRlwo168KhOuy8ai zg?8SqpQQvkI++M|S3oZ|lt%D#m=jXJYA@>OJizR z2CM$bO6#nQQ0qz;8xAUl5s;Q2a1t;i#P0E&I99$y< zttaU?(Q0Jy6SlqfA4SIUkCg8WqiBbNBVy|?X}R}Zy40)mx&uIPd5p27zBPmwIjTr+ zby}MC_;WNBiLGME#OU_MF@j3jG1RmmQcz|EWmD(FCKwGoY`UC+90}~I?XL3@$^&Qe z4{yN=ZzkNm?6W{DvCm?uLC2ZH;I3&oWwAU*gu-r#vj~v}-Q~@?x~;m?XJ%0!f1+TV z5&n~9yt;ccWWPPloF7mz0gL?gPC^cE8l<1@tEhTwW{k=*X@Lq18BaXflZX7FJO)QF z8l?-CJ}X0BWL zsPGvyjgMh4Sbw1;a9`PcNJveszrcVTjtN;}!0i^Q?lfQCvksFws%k)8$;efeNJVp! zQ2os3-RJ(q6fh7*sg4DC#Ee^IYT^CANV6%Hc{-$ji2$`FRua>BZ)c~kvpfotZ+043lqrjeCl7(6f81TTO$$F$g?uQJu91d zix!|18fQlOFdGCPjIPl@xsjK}Eae)GaXj>8Ie$M73WC+uF4@m*t6f?FWK2rPQAVzF zEDg+`@juzG!AzTONF*1iD@9#2c7>P|G_F{@BbrCs{6}M9{?fc}pBeZEyVy3X9act< z-g~uLRnev;;QJ|btYgEWB?V=7`9t?s zt_Zi2&%Ov8TRRQK^ z(J7!sw4NDxRC1RdvU}sof4*}fNS!EQg7h_=$O{7vxFaTYrYko)qsLr-v;Si6V*q_o z=+q624DZzA3&k#m70f0a{0{wvQ3aX((yb*#fdQU2Rxxvs_ZSsFg3BESmnu8qdWS7g39wHe+bmpU^*&{ zCJ^czG`TIJvBwOJEgW7Zqhr^EHp8U51gNnhq1?hEi5GbL@vIFv`l&a=BKSo*8^~ki z;J98t5x*GyHG=SHKjQxIIFiM6Yb^1|DaRU`Vk`qb7?T(v7pc)xal6vmB?!aT7cvtH zaXS?(+OO6#ASB_RC}#{yIRO0U&V_dQ+#J^Ip*v0eZ`Y|E(mJ2891mkyszrZyo+(Yh z-oT+sGGtw~4HM27RsZ+3P^1ofDaU4Q8ryK40W2|U~3*znv82U;k# zD&g_HSF!TenQ_zVls)KUYIulmM|SrmrEA$)8E7AhwY*x0l8# zhGlZ5MTKsw1Niae6ZLHc4M~>ES~R634%Wc$c0daYu!ajGR+PHWW=)R24l%zD^!408 zb+6t1{Qb;c7r`scmKdmpxJ~AH%1&`|&jIh9|9G zuYMb3@4|@5nL>jiK}#IGzxmM89UsGCapG1w1y3kXz8;>BF%hi7Q`vO_C04A6CU|F$ z+9Fc~8_Z)najg7Pkuz;T_G(;S*$h5L#VK=GPiDR`lyV!X7V?6W>}EiO~XwC1ongC`B!wrrE7gSN<`E= z&A$=*MV*A9n{yYSsMsfLhR2q=cQ3)bS5FNgHb|TXct!lkN$%3&oRj55FA+wkltLw- z7CK=AdO>ln#^88;+rK2<{x{|zl_KskqC}C4ZlgS{ddjt9|7Z=4z@<%4C!E`HSQHFJ z$p}u~38oNh((h(l;k@Ov3rh>?TgHWL2O1e-I+5+Wag*AX$~!N?sw|n?*AR1qk<=`H zb39_pXmAq09F5WVnG;r(7&VHzN1|5!>NJQdD$d7@0=0Y=+lw2uS z(5)pcxBkVl*wjjKKU|~$tc&v@iA3;K)elX6*gM_5!kpb?gIK99HoqZoI0?Rbosax& zS)yEy!g~`5O0J+vRNBSvAVI*OUesH~Ln=T9as2ZKd;>(s6tfXjUcBQBbNXPQdNhTe z63D4pxEx0SN6TRncN>Q;98NE$3M?o)?p`+PzFqU)s%f~VMfx)LIZ=ZdtI9%LYczoO zuF)+k_bS|Q;Me*ERT`-o&$ikQIj zpUemkN_Luwe{u9Ztpvo}Hx?E|V+YgK+oM$(!-hcS2L{7^w+B()DjL|?$FTh}&@k8! z-kDMtA(Z33(F%cW(~)o{*pjYxT2>1gO9{d-HRDU!EkucNt)R8O`>RDAalxdJ2#x0n z6Ij!F*TpO$w1jD@wMCySrs>|2dPSi-@Ppfpl8udh;ppeRlr48FU@OK)pua-ctaDrGk%qZq_ zgKrGNOzMv<--5ht&3`dEzK{HNKmYzmRo)8wiF7ojtmvoZ%ul@S8#K|!H>VxBDWqNu?L zUq@Xr?~veCJ@TXb_d7_?#3oRX)0_s=VCW zx!D$26%UX2mpmzxto0Vjay}s#L7|ySQ$@2-P{gGQL1qkka1rdm_zrE~we$KkCh1k8 z5>A&R-bF(B_(C*ra52j>TisxqD3fgsrblj{8%g3L^jG7LMmk8q6=7*De%W0D_+zjz zJCh>RY+AS{_w69z`bRZzK#Ab5zEVb7CsMPMhQYLLuaK?d`BG}siPQ4*p7BmOr1zM3 zHZc2#XE}EH-ak}3@5e9sf>w*QfS0)zZ&K0rUc6u;r6wIh3p8PfDgD@JhV9}Wj*m;o zBvcWk!&DmMmg-iwrhhwgnh=noY*t_u76a^lqFj)dBT$m|*@N=1r;d({VSafAiqy77 zrhVAF6hXRj66XwX+8-0q)#D%cgjK(h1@L%}=Dk*ZgH<<*#rgOk^?Sa}>-|{%JnMZq z{Cvyn-Y~yUON3B2W_A1XP z;=hg$|APP7vAFX&bOc96r^Bg<65DG)BasqZ6Ol{4 z0?QpVYt$aT1m~jG{0z{~2hsu`Br7Li$o1hnE2}Cam}`Envv@iZ=yvmHjjBFErlFa1{YLxbgE1Hs|a- zW$l~%5v!%(QVIIrrY03r3qsVSrXcluRFAO1n8gqGu(EfE$v%wTy)S@>al{VRLSg7`g4p79t+Sebckh#tG?(9@#r>gtlJQ`yY?oWmLquIgo zWN^|fWVl>T`BjWj-UfaSn~&t?JH~k7K+B(Ws5wt#cHN-CrDbwiVzIL4NMrc|mxM4+ zUrb?e+yzho5oAxsPvIg-O}R*)f@Xrq!wcU;7ye?Glmzr^l74W$>djCLTMW@#qqiBF zxgMT#pWzo)Ch!&O1^n1*cpg+Nt5kVVI}&)BC;@N^;mCHD6s zL|lOf|Cl4cMSe7|iUmThD^7~D^af5jhJt_+hdLZM2yI7q=~bji+VASf0$mId{^a1| zg7s%u>a}Y+D|dv@ZeW(86g1z}gf@u66Jy`fFu3En1wXF$F0=iuq`d;-@4rI??fkuj zN+ykWrCaaT?0IIXG)fAOJ1et-lyuM31?o;Z95%X&Dg%9JrG^WqCO^WC*L9F0swrv5 z|FQtAUm!X&vFGuuP7SXDnZp{_R9o6l5Tt6c3(-4RWuhFG?(CugUt5EQJV})MczZab z*&1ItyVh<2?4kqw29>L&Xm|Jkd$_xOHrQEp9;q!2Za%E-HssTzO?_ZcH6{B6A?Rer zMx&j3F`upV9OO(g>gc8-*PVCYFkG4v&-bf+kyT4s-n;U^GwT~rc{Y+M`k$jxoLOVr zA(F#ASsc!NZWz+t$W{F?r^QP4V?^_v!#FX&sN{%sO`G)r|Kz}fm0>;vmWb<=U|tD+5G_K$ehU1QG7`G#K{haDWD zYS2Q%yaZrj4B(v`rJDb?q2JIzwtG=f=c3&ZBxH&I1AhX@xmN z#pSK$yVQSfH>&W-8r@a;Bqn2rr=I7B;4kM~;Zyfho~Z$yoradi=80x-33TCip4d9 zTXKtylc)OI)ea+BC%x%(t0MfJ6V`t+MHBc}LUh2z;q>A??I~DKVO0$SF}5oY&o?kz zQt;c*|9HwBo%D&H=7on1f9mjU?^NuE%CFW z;`6_@Cb&ZXW01`&sG!}?gO?jP-@?%r(# z`5NefVAeb#OsV6s^^o|&4Cok4$gl-fJ{n^NAY;QicHq|(ATr~kVAJ2)>@5AZgIb}P z#_G(rSr>PKddhBVNrKcU?Se&pnzP5iK8km?4>VZ(J9?jVVX^{V4CdfV$A&5mWh)s5 zbvAXsFX4%52e96drNiB^WP>`Oh~eRTmwBX4u$pZu0W%2UzB>o_%ethyeqym zyaN&1wt(srz2kqmB=Fo^4$e0?5b|S*E-CFoXa|Ca!F`}I-QSOcg3m?aB<{Kn#c{+C zG^sP*+;6s;qX%}lyWA8vj>CVHG4}f{rLl}6WNfRat9UagWxcMPq4BQHCQG3>=%XIT z8b#3Hu55AT@>0wom<#JPWjbxhp~z8LG2`fi5t>^I_St+diBi8GEZXs%=DsFnm_@fM z6RcP4nv2Jy(lU#Sp`*|pns_|dO-O}g?O%OpQk1+}K6XQR#POjk?hx?lel1xdbZzKe z-pvvp$F$%C`?iD$*e86!bLH8X+P2`9)?TCk{SBT{c1g-bcw=JlTU!s z(($*=D?=pV_xB7%W@vhmtfRp5-w^Y}OL8vFV5KNjv@ zzpb@Yf!Yg#Qf1}qV=?y_pK{%#p^s&ga@95KN5`kz)!XvAl1ciV9ylYG+P z#D?;I)k%D!gcUDd&|FZmUpT~vr%fFvH#Thmrgz6lcZ~OjBJ!;ZWmQM1j$i^=LqZv$ zhE7IeBKK5VR#ui|ZQID+x~>tJt=5e>!X_VDn0Xs2z3ix6JBcFrbCGoN{NdBnYcy?X zu-sGI@c27zt=MOwR*OfF1^?}KlQeD?9q$13X*xS)VKxS%z!oXfufVxd3Pr>l@S5Cq zPc`=4tXGYXkEW_vNNfcJb)s+V|AFgsdSswAc`$e@CwxDmaok3on8*N~&Ykw?`)FVXb9< z-_NDb!;;>?M{qNQ&f$ltmjBSD|1~Ux6bI@&d*3tns)V%-JhH{mtpumw7*IrRSrmcU zU#+NLD+nO;VyU~zSX2g){3yC8&2<2a58cRnc*NEqm0(4ZkbBssRwyrM74n7v<&|{` zIs9sNtt|Uju$|)`>lfj*{lqXfjVPZWFQjgK|FE)Hsb| zXbUm$JIli83B8F!7LtXN;6Wos3NIQv3Nm9WC}u5D*ux6e#wb~j^z6^M^fzd6G?8gR z*B~@FR5cm80y-qEiUloq9mlDOU4xb?eLqlwC?RTjz%r8xo(XD~2QJjCi0s!E(sXK- zhf@au@>{1yH?7am_h}4u$n91x$IbgHEf1`k(q78u<<4<(MCn_NvMS?StjupcYR;USsyxHRoMc8a&D)8=JhDSkB&Dkz! zSCSY9oz@7m)PpLJUR)S`zXe2rYWd1YrgJENE?|DjU8NCp5@R3Z?PiY@^Ziy_4=nl3 z>lU+M^21Z2daWATOvgWvr66r^sLjzQj79@CIVtShVRT2`g}K6j+9G{B&MY*G1ZI2| zRWwRMfl|xy9Xo|xm^`Hh8eqd4C9W{ktF%1WV@O0<1dtOKm#f4{q_Q+uBryy~ZreEu zY%HzJF7sQ6nZs!%nr~FEVUpt=+Jtk<`MWp80wLT$&!z#P!n|Un3oH-(iUwIRuBqG~9zZnq&| zVpryWUm2DUd^uyLxC&a74(^*NR!4i|WmLR;rVw`p#9>lo8r){!r>e`wuyLXfWBi)3 z&BwpU*u#)V0sg#!=e&*P)j^bd9JL zt*E3H+%q5Pmz3&n?IN8}CBr~MvWq)8KU;_~40d7ZC5&wJEUK0`&7~ykumN<~R!Ct8#u%9IJ>ne_QWt*bDOAUt7?1?CZhbwjShp)3?AF4XpxX1NeKNK>dLEuAr9$0>J|E>7gAXWjR>M zR;BLQ?&S*d$_{*QA)Hl_oI3IXcNi!Mj#VX+yK^}5fQXnKikVC}%dppkoI1T4ili0z zP5;_aGRmdOwl+V3-1w2dV9Ma(;pw82Y*nwt_Ht9B#K60%()}_vu=kNfZ{X3^sHM%# zdYX85W7Xn^@Tbt$=h);N|9tqRhjOoPpl59-4&t@%Ri0R$aO*FyL5TD>Isrg^n(BIr z6ZcN%;TOqO-OB5--n))NkDtfamR4(OZi{)yd-$y0D+`eqK-a zr+)w5w~oibg!e!0LR~f(t3!xw7lLst?CTRp&Z6!AOr#F@92lTw=8-SN7>!&^S3UtK z5tR&7g4#`6SG7d_^D_Te>!+vfkN=!2` zQz+NrL}fGwH*w_^e-|P1Wt)-K4l`ZSw0v5@L)Xvt94p|%F7Lc;l_$*J>ewrlppp!C z$)=FGh%OLwWf!-&RvH202%_y zw*UzrfX{$^=4;S`EF%FyYkkR->?ki!ecV!8X?a;?PFN`de;;TbDjK^_!PQ@wU5B7o zK8JNQ5!xEQ>kv7$G@eobA;u+a`+5$sP%!cm6+tI(QQ_CDa`r@9a1K!J`-yTJ9lW1( zCoiXQz>#GePA9`5N{*e4rzXDDvPBg8nYv?1Vxcz<)jwOBMpy(XnX4aXTk2(go5j!Ft3jmIhfC@*w@K0TuxeZD2n8$d2+4xC?_Ma zDh2F7FJYVIXQLEvZgh<Ws{?B{umie&KUMjHIn9xFPj(DCQL#jCPBQH8p;;X>9AauOwJ7gsTj}72T)w0AiFO zJt;05S3Dl$dE6@TX;Y+D>w)gamWq+RL@ab!D>Am!%o?<18Z1%Gn<&UnapG8GY7bch z{-l@|jm}N{M23QZ!jcoD4C{OQn}%| z1|h7B;*^)Qk3+NQ1e>1F5&|)X6;)npYieS?Bb~5+-6K`69~Y)ZrAfod~|xfVc$gp!4Nls7!#d$kpWYF(ctvla^^KyjJqRR z6$whd0#n)${RZt$a4jx{amrU@oT4|&AnH#|4K4EaCGwF-TDbxToF+3sdfack9BlT5 z!3W3J-HZy(AIc?gRJKg#xUd2-IRjLye~H zKtV{Ba(!(_n-peDO8Yfbc5}tQmVxJXii1J(SYLWsls5m2LE0B0fPBxkgo?ZC`P!c& z^PM={%Kh?jbxXw5yEx~qR{y3L=VV7kH-_Rc(|qQueeU_w$4Ai+udkeQBZadDU|#RM zBbpDR6qXU$mpG$7|o3^Tff)7-hK7Fn4A8?bMW)e{O7J!B4iEmosEjc{kpYWN{^Q zN`?{6e$!{cQdPf3CJ7>%QCzfSr_vBA z_?l#mrWEKz@$;vASQ%*qjGV^Tb5!CBu_u9!0Fgt4J^%k2_R;@0?9mhz#O%whS)7qCmq=i3|j+!3JbmZzK>p&CZOti6k~r zN4f*VGdNwhqhk}o6BDAoe*bdVkE1Lt7Vww(H24f`A3B|JZ5 zN_s@ctUSpR)P?$w9LPFQ5*KXxQ1jyJYQZYLPYO(EwB})fpn-8^d4VYmraMah@*-GR zy)T1Ow!-ZQ?>&H#ic-~1sHmOzGNh87Efp4;|8AB2^0PaP6JJIoH-t!#gnd7@JYE7W z%+^b0FUX!Q{)Ar{<%b79^}-DCu_B38B`n$xBzqMHuBa>|b_JdY6)6}k_r+Ss-w+V2 zRfF}X&mucUMH;1#8o)Z^EPMh1a>~XL@v}WYt43o97@9PxoQgAnU)PBRXFAV)JONB{ z%FefBOb8s|y-P+5lOxd<44c}#@&6y^b%LOJt4CvOPu4d$2dCYs&`2l`0; zEVsY+?AqOk;CHk{bp!^czwJ<;H*vz^=O&TfGr1nHjI_&Tj-({=L^efQbu0 znI?GsT|0$KYJn;~Jlpk%;dd)r&@E-wd<1W`5AsacUpI14pWk7nKLWLC5-$m8*dR&Q z_VqPLd4bT`ZOG{-h0sYdk6B3Zl^9S1F3eSY=SsL0>rNO8^}`<1Y+NUc}r2VgRXfP`G#cXIvrn+yz@JeQOUEX+Tn=< zUKsfq-0tX7b_9ZiP+nH|Eo?}N?|T-iTQFL0D2r zf6h+a|LUdf_cE7mH*sSgFlShVC1YO|H++=!CCy$eYpziC9S=9?*Z#P_fB(<$JO*

)|OYTQ(%(Ybl1b*f^*fjg9^FH{X#y?jUV`?AItA z*oW)l4@G%sZ~R+E-?DrK-*$To9}q?UGZVAy!y7`g*Zu{N%WN@)R5nIApTGME5!WV6 zj7IqeG=&jENmni}9WN2h^e-N8{m374#|7or;5FP_mv>iX?fnRHCJ zQP_S#TNC3<_M<|QQ4lG%>R=kC~3#Qp$m57Qi zm`7;^P=j*oWJgGAYMtp^W{Sde*87M_6qDH`17r7Gp8+mBPY00Ryd6bYAc>IUV|R+( zkI9MAFXBV}Bc$(UqB?W>Hh&}}0ir??v!pZz66g3NbM>VYLsVlI+i~btaqt1TwM|d~ z!9NmWCelO#N=K$0uWKtFZ*H}V?-MC02TE0o=H!yv3~7RWYKov!=p5f!6BZdemggBR;_q6DYM7tMj+mQCmb;t(NOS!lGMnP}u*WtJ zp&}#fjI}b({Tx+Dab^W78jMdB314PC{3W^L{RA(REHF+eGu9xHwTZgisXG>#M{uhu z<-EL`Ape~$9{g$G#j2x`-UdQe9in3nMAWB_#E#yAqfq0HRcZRi&-IqOo|PL}^Wk}X z$3e1Clco@_n2$hmpWG?7<`5x?LekT2_`+Pej{dhYcsaty| z09>NKkEb6SJ)GNi@*drG!}#qi3p305@Jt=*LN>aXOH3KamE@kP9jxnCt+V|Tu(a1D zI@r+KC9_rf_tH$EPih>|YxG{Ol+quC<=&Jx%bWJaf$7hg@m-hMO?5X?yqE7gF*yW+ zxcBkGnckP-wt1cX!hD3I;kj2MF_97%*o?#7crL{R*Ky5eljNo@UQ63&M5~GvY@|j# zXQwr7IZ2;koBY1DbIPjDy}Mc;y6iS2{Vi;irt4kqjW<2F##|4}&U?WhKrIScvtniE zEofQqZ!?JF-pWm4+}NEl&mU(BpH9`CCvc+^ns@DTxs+B80y4V&)3|?yB)*naP^Po? zpqw`Je1a}}d_KQYJcQProYL{s(m{&B7=H_obY0Tzp~^a!U|EjxFzZTmU!47~3D~wI z1PQJwT=mPEguGRJ%2|)(3&p!p(rLmm#*Ci<#M=Rz_!quMAv-7H76wTlET7cX&%jpm2w1Ew`fR&m`!?Bde%|+N^(~RYrE=GHl=6izu zl}#yo02MN(m_p!kt9-0}1#Mrm)4Ux@OTN-u0VF@#NfsI4=c*87en-0`c`*#%Y<-|? zeENEb!4!r}64wHNLT_bwCnr8YQIYY0ugiMi&3J?{dIEBVl}jbz?PE`0i0J&bFZgd0 zx}}Eu`xOkDxm9d!awr(DS*JhkjG(6TCd~ciy=MKa{%JU=@Pp% zGNW1WEy+qQatwC}ep~X5g6NG!kqmVwv#!ex^XD0hunI&42UsY|_pJ^`4J3VzjyEf5 zjMe7h^=BtpyKMy~m6_i3=~7brp!iZoES#;HIwAE7$9YXwf1HC0C5X553ue7OWL!8F z3kZGwqFl+P+2BYi!T=%C6a#Of0q!e>J5d&!lLaySHn9WB@=uBHHWDOtR4rVUmAX=5 zU4h>rVfj(Qn$X}%{+9*tmK4JaYu96IfsrqDIQ4e zL&@9=UX{}q+>srpqjUm^ZN&$(H?ohsWho%0qK2*1@O_I3=0o1G3$Yx6e2odTeqbZU z8004i<8<6iyLhjSS8zeM>r;_{wa&|PD3w}YHjc$hmZX)oSm!?r6k#VrUJ{3AM>1oR zu7QdYD3_3^PJh9akUoo{mJ6*y_$TA9lzEzu!2LHbfucPKkr2MQir)<29dKKpPLUWH z2k8bZD9Js!t`G*GB2Up#J}gA4d~;1_Vl>tGaNn7-6~)jY?ZsqEh^bg`hg!MV&UP+PZ*ri15bcX5(~?VVGHl0+YZTNjqL#$%@bb z_YFC7hpFYXVoc>WSyVb9I-B6DO86#D{1<$4K}1n*zkS|I7@LYJmor*KVeP!Pk-#iN z*e{?~>wg8pa8TQ@v&cl&v#|1iOivcNGcyt3^txNjC9PTR4k&13X56BDSGLU9B)}}C z@vCOmDgEzqyYJ`4v+6Ff8D);J4;WWI=cNg1TFJ&w3FvT8QsU6~UEfDn=PbViq}MD% zx=^NabQV-{VEvUijD#ngVzzyTb>1^9K5*LE8VNz(n}n80Xwi5oR@w=}OPjVvuP+ZD z;F)UF+tb@?w7jHE=dPGC`K@Rg59WH$U>x1x-sKP4n(a0-4L{+DnVk=umsQTXm2L?> zJ+;!$5JcbQ!W=B0V=^`uNh-w$$3Hye9hDW(0dRQ zNPHT1zov*mhw;fV{8;(qar)*^|Ku0ulGo>q#5xfDs|ug-?oArOD)j4Cp?-ypa*BlxekIPASFEsg++33un>3(t;QstpzV15?{%bS z^Px?8F-$GYpFQ)ftsu9Tr`E6Tq{l7MP2<@7yri9*`c{71xxYFo{pCx6hFgH0G{zxb zMsxo4XJcpsd(=78T0<5i(ov<%Cj~SEF##l9g%(*h=~CSA{W zaRWhYoS6(lufVhlKfdklqSK?ZwrUI6oDdy`a%rE53a%-N+9;g69L~57fpaCc%6%w& zf8)Og@#6muVy2857g3>VR+&ht<=UtVfj&7Hb`vv?s>cCBMFoJbR5(u-=J`xfN>Gr^wDVu#iJ;&3A2Xoa(Tbk(VMCzr;DHz(aT5d9pN6uY{ zVR0Bte8>VDJr=Q40&&E39*0LwPOmFDR1l*?MxtKu@8>mC)4vZ)k`#?xwID$J=m@h$ zT6zTc$U-2p9f{DYgNyR+$=bVuUh~+BGneQ2d~WWk;EDPjPV7#y`c`JW|pEDKXm0TK_z3PBi{ z()lw*^Qr~9m7efsS4__KcZL@ZBN^&NOr@})NN5musKoA+fKps8i9r( zc=o*JgJK{%fJl-A_x3#PfBhcY6s>6NU=?aDAY z(PM$iB6Mt;5@%kSfBaPG5vjB*f@&E>S93_3nf3KBTI&0>#giE8Ge;Pw6L|p=Uz<@- z;OPq?X#0@6q#BDCYZTdXnES4B;jo<~9Gg=C`-#htL^ZqxMLL~7YikGyE^b9ulKZM= zO(lZLnO7>6`llo;LZJTGN8-*k>08!~wBHt3~t+zXqj^0OKuf`}uHK>fYdn^(2613HsNXo#J8E8<+)79{3!hOq@eDG3|p|O8D1xW zO;S>q;Gv2?H7q_NT0{wO?2pJet}(G<>uZ_3C#~#C4_XjXPaSl_0_i_udd_rpFnbc= z0kQFdJhE+qLEY{dI5Y(|Gp~O#D_Em^V;>M z&eb~PjwE8EV#`V%{C{*LgW}CK@ZviNexq1_i#DGwI7ku9v(6@++^DPC5|xzLP4obp zG{3b>{E{r3tueIy^Eb|+On1>SIzF_po?pZU=!k9FEx6n8D1~bZU80KB3Yl)85X#kY zVL;PCrSnHxgIH`oigkNVT^x})jkSy8kx~tfb74PBmCystdjS{QEJ4voFKMFFNlsveLZJLC z2FYMp4#9(Nzr{iQ>Cdu8m+_ykXU&d2zm@i2nH2fH?Y36P&|!arw;!dHsF*MBHsi`V zxMvThYUDTo>b>qpCeLo6hj9=)gS!+j| zB~UK~ajh#-_xB60Z9TOY^u%O!MuJ8CNAXXq@OP`{mcCgceh{+$L86~tcnkh?`7m2N z*^h2ao5k1{$rj_hz3HmL?XAHRSQ24d%5mS#VeuVF6N%8ezxG;A`D$_QIkwitV zNr`17jdg1or{~vCS;H4izTnk^k^C!6zVN!`t9@&wC`F71nz3`O?0&(HwJ9X7Xq8mK zu3z2`g?g_UA`D3&MDJ4o^Z_}#@MU@``m?ACaEC8H?6?H-6jD6{?)!(Vdw5al1vu_5 zv^7cmpwR)uD^@G>bY&m{I9q8^G4io2ZVVDMQ-NJ)9q}iPjOyIjRL#cW{Uf^W1}^Bc zt3n(pEB(HFtPpPQi&8Ah1Np~P%~krO9aE3&^C{85J}mZ^!a%}xAQ?Nf8NXx|;sTwM zS=Yvvvy-Zmk2_3x|E@EdL_GE>NDmJmo`?+qB`r-*Cx5@u$ZIoKr-fo)^!0arH_%D3 zsp#;>WTy-kBavGJoVkcZxn4-eV^0|Kq5OS;reZ#KXgbx1q&NLbwW3qdrBNi@VC;r4p-TKj$<>j*b~A;rQ}U;;7gOR=j6YqkeR>>`X8Z46~A|n z%FKs_3%bJxSQ_RIxal@^TOv8rv&#_T1CgO!tEq-2{v>e3*%L6|q*tSr`_<+ATJWqX z=cjRcah4jL>%KLPk+~EUbQO;z$~NO#)RTqn`~JY`>4On3UNXXH(uI&tsR}rh75v-! zmCrMfF52O~T+4%jhYm9LCWt*uU_H>a8JltUBu!I8kS61J|8KYZ@9B97)5ip$^>k_g zx*)-zekeRXm8jCL+d|EN|{&Y)-VSWze$x#L*==V$2u|@3+>pO-wcfU&l{G! zM2zMl5H6Qp8XYk!npODx0!DH4b2?GZc%cFs6uw+RY|`T|PZ38BPrg%scX_QH^hc(T7c{9HIqd64WkitxXIUkF96@i- z{Bbu=xT$9hU2aKdwH`*L&Q~ zo$2obHmIR{7pDGQhL(KXM3+`g(UEoWF$p2udnCb7bc`f>`0eYh+F?uggcZb{MMOxn z#WiIsV{EyMX$KYJl{m;l12wdWQ_{Y~kC;lC`RP2retQO`jeyCvpMo&j^PXB-vDz6O z_E-AgZmO-kyM$Smvp6T;`ffBof%QEX$4>C%ds$9qqv(EF>BV%+c& zOt?USns6Wc!jg!XPLwpQE2M|Ol2;ci3H<8kXX7&o@cshaw&DETAKbtOZ|?B5?8=E!!N7x9n25hT!HJ2{$Pn`|-&usiIUHG9 zpgINuBg6k`khJ#`L`trH`tB=SNAcqy5?p^w3<9!~EGCz0x9^zn$Ms|U{Zc5nt{41Q za_MbkFCMg763>z!>Tc-1_TLCt)&C)2n`yGjY9?z*r-__5hIsNFdu$fwVRS_wGeR3G z1_E*Xra}dC?QXgC7`F@>f__FY`QRk`vcakZJBIgVrDDfEX^8pon(~v6;nwC>JW_a_ zGU&%XH}2srbmAnDLcAF`LHQ(7({7?mY7HkOU*p%^`@Rvj zCK^QD8n3qvq?mBfbcy%N-iZ>p>BSREswklOe>}YfR~&7$w2iyFyAwRPy9NsmgFC_9 zHMm1?4eqXkySo$IbrRh9=6TOK->m)tGpkqMy{D>nUArp;{mlZ`kV~W!ei_JV3={wv z>tb%XD|a@havMsX6j{#@)W^xn z$Y@S-{WCiVI;L#^YNpT>5Kc%%wPFidF7npS^*b*n?_{?<0$PII5`2Vm^X=7WU`7r{_zV9c9v}IEs<_w z%y>Y5KbUb-aO8;+ZC7wnM_mV&!9WBmD0WIe{h{b#A0FmljF%niM?dUcb*1C#?LV*T zdp_0oE=I!44o+0Fa$qI3jkFfXBOgc_r9Rv^^5B(tI8M&htr+n%E|U?16~5o zhd=Wzlo7Kl2lnc=uj7Tm6Kgta6+c_;wWCq*``WZhxAC1uG0Cy2qD;cXt&C?fSPj3Q zu4<@H{;wA3$X=LiM|cI)TMb?kRidnH_5`eI);MTAZf6IaUtjmsUi{aRd~*AT|5Z8e z6B|&R4^_~+7W`=U@qBvAY~g-QU&nQB2xtcwALKv@@1u2b>9Y+#q{Kry5zw4h;zj-4 z*9!73-V{;FTWyX|J-_Z=p@P;l_4lfFEkjM>;oj@m{vRT>F3YjQdRJ23JUmq-C1qg*~tgr z0nxYTQPIz{(W_>ds8$k;i!NKvNFyg99h<+ zoHjN`>@p_-O$uWnU=mYYU@2J-VWw)pV zMGR`opvrUg^4E^4&X^yCOCxGxxW&V!3_$PuBF#8~4VzZKV+1!334R?~3I#^~#%(ml zQ2MzR0ce~dB(C1k)hde`s|tbSj_o15$|9d%)R9Tw*aZ#-9Qrz^9-E*`7?8nh4*hMq zxRvN1=5ZJO;yyZ<%QfbsV$|}9NBkjluvl89gOq_kiw}HRQRC1m0T={?F=q;cC=wg^ zj^(^PU%%L=Q^b^am;%eShTu~Xh*U{UU{$HsPDdG492l|upw~$d)7jTO$1F z`dKz8#3I6of3LXUN1mt1@-^%+xSHum6_CpXQ_V^2DIu7Qk=LlJ)k4a|B*ZQB@QYg4 z-kIR7!_8kq*Tp2D+#w)Orhn^%8@5y~Ad6-diC@w?PbtGXgMgta7uB(60UprHK$9yf z&hAt0vqVYH3*9jUMS$5uW&oo$0gfHewA3@)EA|0F)=vI-h}7STDy{$9Tv_pQJNf>; zss5W8kEqX1mfKhTbh!qMt2gs0u6o>?P83z^Pzp&nt@_1irbgR$$fk%z@6fc90@FlC zsad?>7^dI-V$}^VMB&Ft-eayq&QWkZSM&s~G$k0z-LeOQmXD|^0an;+(Wv)KF7=gpI-gr zi(e-qfXXM^B%4%MyjkQ(EB=yB6G8iO8oaJ1(-qg5%;E9P&BMdklyIy2o;%<{I70N} zUG!}-@E_ZUbX!li=x4&`T^Tsm+gTOz{@@fXyW9<=p?A-jcO0N{UITzuU)wG=U+)91 ztTfld2+0NZ(|y4H{>dolG4PE0)BNDM*N#4iqmdIKLAug6joyk=Zhss;VC>Lr=;|4J zzEy^K?-IvT;ZS@#LJ0ZP`xJ-}-1$+Bi8o~K!YL5*YQfs907WpXi`2(eU~^HM}z?ZES51ovE@h$>qp z#sT&6Zkj6T>h>ykIDzKs_6~}KU$bX$^aipXrRD(>7Ggk?OVl7E8L2*{#ZOGG`YSP1 zO^^>#F0?W?3q5E0hYoYAo2H|Ndqoz!GX2iVOAk#zzxg!Wg58=s6^THLJYS<~LUV2{CNRJO2NxJThu~DR zygb_pA#{_(Y%r0Td5%2msZLno<<@hLdPXUrA-3CEAz6N_>db2%SR)f!XfSfw3qzi; z{F)qO(0A}>lDIK~bhNluZ%)rn7)xR`5?#;kH$S^mA~QKwCF=fx(|W`)Pjg?e=H2y*cqH zsOtxW%8Cjm1id8)2)8Ts6Fugppp#SuRa~>LJYUvoJ3Y8pLk%FH-jaD*zFb_lrWJ^Z z#_m<{`*`_9zINa0VT93P*ieVS@r$b z@vMybF|`!8qGr7n`K`G+7Zw8cx?uELG@#n_N6&c6RU%ZR(=jL*p`8g!?*F;~0K`rGc z_l>o94o4xZgJ@W01@luP3?{>kJdS2GZ?!asR4exHChUM+3)X2gM!HaItA_89wf3WcEBNGA-Fn|QvKELTw~Bc|WRG{^yxgV>6DR9-g|R@65h+rkH){Q@F}^I; z+JO{n%!G0fT_i%*Fcu&GYbWsYz4uM~^Kb9lX5eexXW8fTW}73pSpK8z^M2>u@$+Nn zGa~S9G_b3-?!p-o_yEo=0TG1A5{#Dv*vK2DAXSzUUcsmOmAC(~2sBN}N2`J{<$%7<9JZo~#et1QaiAT|~pr}QQTgDVr{~VjoVR{6?B8Gs+ z_q}3cp*Ca9bWSqbv@(|Po4O|X%@T$;I`W2;l<^v0 zo$mpHYnFs*y2GHl6foeHC!);4o3PkJS1hjacVA((2RRLK2C#sR#`1My{k#yi+u`}I zB$+!Vfs%C!c_HObN-My>>i^3EeCaZXU!gkwm{|kHU-Br=l?mPnn(V!WE^eMCMM!5% zJYjZ>MmPMitgoRe7)%>S(Is8W89^WkbwexXj`k1>;-LC7*pM+!Tj0^M!Gyxy9!sDE z6E(%BFyFR38`Xe5MqIq{0zDM>&>g4z}M7S+7Mks8ssK?RajOx{N>D!esWseP1aE1@aMG#qof$jmuH z@gZH#HVG&`!USJ}pK5aKgkU(rT~>p3*=w0>k!6o)mv+Qetaid*9^yZ4>oQVu5pJJaBca!ck&|?;t$AKP$F0?}ACUcDh&+F()7wES;v}ncHc<}xsh3t9C zNAvRZnS`1I0qiQea&0mYIg(K!Fpl+RHABV}qRQA-m4>v>R&g&ewT-A-LN)nQ*?m7i zP=Pn1B;3i#m^*x6Awhw_dva{7;&iruU!HR*t-7ISZtCmBXk^-t6Vuw|t(vT1h@0)3 zx4%tlZ#a#72WJNPS027E*%+=RvxWVK=mTD@(df4KTXBPZGc@a4#)o=&JXi3Zhn8IFW5L{dilQdX+@nET|v;of5FQ?9Wr^421hH6Ag< z)k?MU${lSWa7EAU5hZ5t7WUA#IZTk<9Tc8cBSn--+zSI;;#?cMd!zGdgTZHyLR|nV z%P5jROV2~=1~{ekH(J%gK>OJ=5dYjz2EFH11)-$UJIv^@cnx*VTkt-a)NHNtL7GDw~in8pHFok5rNO> zpMMV$L`BGUK0%**x$Gz) zE%&K(`1DzbR~Nll~Ka|T17gk0~oj>j#B=i7{`)yx7+Md%|TqC*0^NBAuDpS9bNIeWZqx82! zV(HU_ii939pE9R?i9TcgN2IO)|3%u(bl$-JHZWc4FZ|WF#s{7zVmOpP zoL|>Az&=*O09%k?kKo!O=~aYeyML_*dFD*yR}Ka9cNEw}4S*QuZ$-`JHG$d~vmIxJ zs#OJ}kVi5bS#f}c@7Lr?bxo+q9Oh2A_M|UKQP-_*q-fD!(Fqa33u$B0=bFpk`xPpZ zn8_R^aoT|Rax(H@5nkdA`?;55F`pMMg-0?)GG%INsyp9ec*wzpG*b=US6~;mw97?W zwtPQU#A(vvbZKf(i6x$o^O$fcPmr*erf$ zjr@{AO{H2=WV$yb|M$}pbmjA7GXAhWa>~8ZAw^Q%3^E+`v>&QkcJuRd^l5lxjA*Tq z(WUcsWu2Mp4Wq+DGv!-!$QWgrCbID0b*KC6y05>Lxj77%>1qj6Z*_d>6*_R_37#}C zeo85!@zx+x-o;e4pG+5?>Yehh@Z-B6?w;Jg_P?;yE*jswt9+bdCzTrycUM5c1vC~z zKJph{J#|IT$j}9D+B=jRcU_@)f3^q+ImzqYZ=h&8IJr@}1T`(tUb_J7${qA0+?7kq z(Ts`|gr%{`eTih(uJheA(+8=q)!^PHo3bwwzY`1nJpe-oz+lGX;UALkry zY}=b45tve>;vThWl7z|2$0389D7G7~f7!#Yv>8{YxhP59mtFKanSI zMp!l3Z3 z?xksMi{@&BeszQTtNZRD3>CI#|AIW^lWQk^upE6;f?;n-9-Z~rmP^}&4O(?AoP(~}{l5~7K5p3wQ#_cytkS|5>o%_BR6pso9AAKw6fk)7I$N|)y?|EZ7V ztR_#qB@EqRBuKr$i2b)o@-C$TinLSZwiWl;dNGn z<71PY(Bbwoe@|c?f0O6EF!U^y;KgGksA`$1gs=^}UMwqi%S&F${8;ZI+p*{D9efZA z*&R7{Bd#rMzkVS8^TS{Zb}x1N-cv5B<>yTSrT%rSCm}QvB~!rJr=B!pcckNAk84mQ zn3CF4`CukY$9ntp2kEMZAcW)FhJ7YaCqH2BvEFbk|OH)U{}}u+VN;k~y2_ z(k?rP^vZsQ9yWvfJnfbKlN798qgqrTUch03d`mlFf9Unq%~epZlZCC{AMx?6ievFi?-}?Z$_{JV*Loq1|(7i36&>wg=dnqZ2v&>jWeEW0F0$to0$+v)Ysf6y9FGRKLuibXeIZdLnV zT|9@SjzCZWfA)+}%0NM#ZyQNpNEJljK(!DYPykx$PQF7$jd|&M#B;_9GYI*}g8JI! zOR-?JWT8nfm&39DeMNDyhllQ$yZ^b}D&J&43n4b2rHspII3}AAO^-ftogrx*q@*S> z@Kr^Q`X?~0EY6z)=gVMr>k}uV{$aoU`w_vn6CK)1E#2=91!*P-i1z*c4j$AR6+Cll zA^fB;l~v}1fFiMxEW${Q#2*cMcpAYuW5R!0 z;3Tkpe{`Z09~m(5L;~Q+C8jDGbA&d8sIRihOA&9!C}kasyjqcbVMq!0otbLz^1{(+ zZ~L8+&anB%w3_Eu?lJs`suDOfb{Mlv-xnuKPKcG5*lQzIWXljPz@Zxt(BG3Z0*4BDzE14n+9Y++G?Q~nyVvlznoO{C7o z4a$$M=_|`LtwT!BePD^T!-*S;tkCbS_Zx5FL#*Am*46DrhshmgvG_ywv*L~n7()x- zcYK$iEDNad?8!gBQZ&e4?d3R4xO&?o|Iz!Y{h_m%`QH0^d)rI5Hp|LcR%*`OUKByO z=3sV5trsm}5S!Y_6q5N*Cjp=5;eM;_^WV@|t{ww({3?yjyw9}0Z!#8~FL6@Of$NomU%Qrj_D zgXJyXB862=N5^z#?p{QgC{ z_A0?ez2GZcf&YCyc1+0+cj+JTDv|w*LfS;Z#60b3>N?I}qcDG>K{3DTc5cAoXHFYy zR4|hbR&~cMz7?(ob0*tYM60iE&z@{ME)z41XiO5RsFTZo_t^1*GJfvs`N{KbDOT}a z>vaQPf6}DPr`Hn-H0d`qcfkH*8N)$F2OeFOZDs7(gHtQEuW_rKh~%J}b+lIaJR)&U zpw|5~*7S0u*1uagztHRL(#lR41D$)0^6K0l!Qf{n0nx=n)DjNmcB{L)aBq+N#MCNV zLV8Q5=CVYj$qb~e>{ZLk#4y~ifU>1E28H>JIC|>w_SV{()z$k(vLD1yXHq-Rzf3U{ zF)^PJXjB2jTt#1+p}0nj3E>eE3o#O7e@Sgze>)GUnU7e9PA;8<9AYKaMI-Z~$3f?6 zSApHpdxmKJDG1A7Uw3}(BTnzZ8Tv2PBfDf$(E^Sk0pA>&QcBj=8}kQ1;+c6Jv)+`0 zs_|!fRm zJb8sHDTep8SnMr$DD`WBqOIOu19FKJtGQfFd9nLkE+hp5H!QyW@A=e4a?HX4W(MjI z)N4EA?m2tmrC;aV2BuQktGx4A$>1lcZp(u7ik%%Bpt)>E%SBW}_C9SaB~^tB09X%0 zJcG;yISKiGgQzv^8f+ke7H1S#!B7-m3IFL(02NH#I$>JZ<2Fn)PhdF^q#9Eu#E9YA zxu{~IEp*WsOJE(nU!q^madNQXYN|T5MkbE@?YtTiA+2w2=nVY6u3%(5$ly~@QIii< zGF4=yJ9j_{reh3Km|3X$Y_c%Sjmt$d3eSmY7sX}qe@n(ZJ+I_U=i{VS54N1PrRUxt zG!fPE^mDM74wg9C?5y%VvKvWX-@YAh$!*dPHUnj7138#t8JYw`)TC@g>hvo(m`Wys-DcfL zv7@Y9o~T0?iH3up24UvEtd<$Fg3za-tfA+oa3}TP`*9n>6#rD7*Q%LEM~;um3a4xvv(-Aw5lks;kfz*%bmV2CS;hWe%zM-s1RkL;rNJU_&cCH5RT)|Mf>2 zFZ7b2m0RJu7llM+H(`<;WS61^0c07%IZjalG%eCzHR5j5m&l+xLq1S4CQjjK-}@^t z;B^JYzm^R%!PEH?0UP0+d$>ZQ>N>rJD&0q=hqznI_TX41!^i!x?Ul}z>h4vm;jT&l-z9^uAddh zkl6JOT`c-V3hB1%;CQ_lmVm1-||L$@C#x`PY~0ww=;_{NAzrca(&_ zL9*z1b)#>_Nl7Tq5lHpTzhYdPJ&jfae1SbZ;Ij2fm!B4vqvoI`285QtYNP+==^vjr zoBw0isdQu>x00c2b7qEwVSf7cW}?2Lk4*%Bc0`Uzgv z##2B4GOOU0uC^r{f{emkg3elt^JnU%%R|Bfi$kw5O3`D;`(=f6rQ%_ZiYrgEQpMRhwpocgV9cF`@gd zt&QlnTdsqNTITiDr2@SDxgBe(fF6i=yOF_{_7@thyrAoD;z)xk{f$l7OQ;n+3T?|o zU&qJq>)MVI=ew9)Jg}>5M_GIc5=34kBh+IRy^_7Mh}5VDe3OWp<3s?;Rx=W_d}POvoD)SPQJo! zmU?^cm1(vTVlou)PlU5KdnstR%N8s}&0CkC#`7?Vd_hf!bu>I z9JM1!P8jo56lYK$2{q{G&rZ}E{a^U-k;C0jx77;xOdFdPJGqPs7aCrnBFKWOwoU_O zyEyNbumT61g(!JWjMEjFJ!mgMYG&m<=%M&7-C<1g>n1jTAqS-gHnEz54&C$0?;PLG zf&y>xH7bvnnD2^77E$Vwya|-^ZC7jD3R~L`37;ONri6rENC>TDmc58l%Z;5d^|!7{ zoV6=dcx--Le5rSiT@)da43a4fnJ+qWxO&9p_}7ZO24Zv;&2|%CMe(Ak9@vd`|3$+P zWC!=hH@A%S`VMWmTeKFZK!3Fbbzg1+_(Rf?#=g^H+jz@m6Hvr~J_d_UmWw&<6zq|* ze|J+psN9=xOYklhCcY41!Rg!mJaek%zcJ&jIT1)m*Vos#$$YVO zBF&-gY{yZU`Ci2~P&rnmkA+Am=(NAg@oQ4ZHz;vF`70b&D4hJ+vgRs}$3-5**^B3w zqe*a}bGXV>n}nsK)6+)2<<%~5EB#^nWY*3oy$*xO_B6pP>!rzaD6sa-z)qH0rH?@W zbSyMe(9fy|o;Tgi+{%een&kAaAe)G*YnE+p$%1|X?+TX zKKd&iLv6ORDdn~QF`2dF4TRLMFd1`<3OI}{%Nh3Z$bYUG-))$_mb9owb$$>=9If?d;$JUDkch?1f_4|aL<%RR1OfJEf?nfPw7|4 z|K`EyH&Jem^%6!UkNC46UA8qAn%{Cee{534Q%SX8!XT`y zKv0;}(A;*i7LX8<~G_8LhTmgG~=0ihQ85Dt%kO$vs7-V9~&m_qRB)Kis zzY<$5K)27spTQ3V@_wPI$ias|FmLbk`z^xEenavpK<8^#)j%6T9bzDQ}4e z+UTbuWZvO|^lThj$-paO8Ta^#vTLp(vb|*^5D)`0qeRbFCE&i2qb2rl#2^~Y9*b1X zkayRh0AZ3eH#u7iY)A>x-0*s<7edm?BA5($&yLw@D*_w*SiH66>JgcCyaNQ7;g#`o ztS4e7pbs&(eXD*s&*J<+4z{W@ZG!(hpobg;X$=A1_EpDofkB$ZNVTI@(0oV9dL_lA zuPZw^jl>MN?nYPewS=P31>`bm{nE`u$O_xsLg_{?a=&w%0DL4@qIm*2)y{Kpb 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 z�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º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