From 584567bcd675c7207d70c635864a7a713e1ba922 Mon Sep 17 00:00:00 2001 From: marcel Date: Thu, 5 Mar 2020 04:20:09 +0700 Subject: [PATCH 1/9] API SUDAH, OAUTH UDAH, CLIENT SUDAH, SERVER SUDAH, ROCKET BELUM --- .gitignore | 3 + Untitled Document 1 | 51 + client/index.html | 185 ++ client/js/jquery.js | 336 +++ client/js/script.js | 0 server/.env-template | 3 + server/app.js | 19 + server/config/config.json-template | 9 + server/controllers/controllerTodo.js | 112 + server/controllers/controllerUser.js | 142 ++ server/helpers/api.js | 15 + server/helpers/compare.js | 9 + server/middlewares/authentication.js | 20 + server/middlewares/authorization.js | 32 + server/middlewares/errorHandling.js | 18 + .../migrations/20200302070019-create-user.js | 34 + .../migrations/20200302103028-create-todo.js | 36 + .../20200302115343-Add-UserId-to-Todo.js | 14 + server/models/index.js | 37 + server/models/todo.js | 71 + server/models/user.js | 70 + server/package-lock.json | 1835 +++++++++++++++++ server/package.json | 24 + server/routes/indexRouter.js | 11 + server/routes/todoRouter.js | 11 + server/routes/userRouter.js | 12 + 26 files changed, 3109 insertions(+) create mode 100644 .gitignore create mode 100644 Untitled Document 1 create mode 100644 client/index.html create mode 100644 client/js/jquery.js create mode 100644 client/js/script.js create mode 100644 server/.env-template create mode 100644 server/app.js create mode 100644 server/config/config.json-template create mode 100644 server/controllers/controllerTodo.js create mode 100644 server/controllers/controllerUser.js create mode 100644 server/helpers/api.js create mode 100644 server/helpers/compare.js create mode 100644 server/middlewares/authentication.js create mode 100644 server/middlewares/authorization.js create mode 100644 server/middlewares/errorHandling.js create mode 100644 server/migrations/20200302070019-create-user.js create mode 100644 server/migrations/20200302103028-create-todo.js create mode 100644 server/migrations/20200302115343-Add-UserId-to-Todo.js create mode 100644 server/models/index.js create mode 100644 server/models/todo.js create mode 100644 server/models/user.js create mode 100644 server/package-lock.json create mode 100644 server/package.json create mode 100644 server/routes/indexRouter.js create mode 100644 server/routes/todoRouter.js create mode 100644 server/routes/userRouter.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..80df32de --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +node_modules +.env +config.json \ No newline at end of file diff --git a/Untitled Document 1 b/Untitled Document 1 new file mode 100644 index 00000000..a41c7922 --- /dev/null +++ b/Untitled Document 1 @@ -0,0 +1,51 @@ +Users + id + name + + +Tasks + id + description + UserId + ProjectId + +Projects + id + projectName + + +UserProjects + UserId + ProjectId + + + + + + + + + + + + + + + + + + + + + + + + + + +ProjectsApplicants + id + UserId + ProjectId + status + diff --git a/client/index.html b/client/index.html new file mode 100644 index 00000000..bcde27cd --- /dev/null +++ b/client/index.html @@ -0,0 +1,185 @@ + + + + + + + + + Fancy-Todo + + + + +
+ + + +
+
+
+
+

Register

+
+
+ + +
+
+ + + example:
myOwnTodo@gmail.com
+
+
+ + +
+
+ +

Already have an account? go to login

+
+
+ + +
+
+
+
+ + +
+
+
+

LOGIN

+
+
+ + + We'll never share your email with anyone else. +
+
+ + +
+
+ +

Don't have an account? go Register

+
+
+ +
+
+
+
+ + + +
+ + + +
+
+
+

Add Todo

+
+
+ + +
+
+ + +
+
+ + +
+ +
+
+
+ + + + +
+ +
+
+
+ + + + + + + + + + + + + + +
NoTitleDescriptionStatusDue_dateActions
+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/client/js/jquery.js b/client/js/jquery.js new file mode 100644 index 00000000..12ca80bb --- /dev/null +++ b/client/js/jquery.js @@ -0,0 +1,336 @@ +const loginPage = $('#loginPage') +const todosTable = $('#todosTable') +const registerPage = $('#registerPage') +const url = "http://localhost:3000" +const token = localStorage.getItem('token') + +if (!token) { + $("#todosTable").hide() + $("#todosPage").hide() + $('#registerPage').show() + $('#loginPage').hide() + $('#logoutBtn').hide() + $("#addPage").hide() +} else { + getData() + $("#todosTable").show() + $('#registerPage').hide() + $('#loginPage').hide() + $('#logoutBtn').show() + $("#todosPage").show() + $("#addPage").hide() +} + +function register() { + $.ajax({ + url: `${url}/users/register`, + contentType: 'application/json', + method: 'POST', + data: JSON.stringify({ + username: $('#usernameReg').val(), + password: $('#passwordReg').val(), + email: $('#emailReg').val() + }), + }) + .done((data) => { + $("#todosTable").show() + $("#registerPage").hide() + $("#loginPage").hide() + $('#logoutBtn').show() + $("#todosPage").show() + $('#usernameReg').val("") + $('#passwordReg').val("") + $('#emailReg').val("") + // alert(data) + // console.log(data); + localStorage.setItem('token', data) + // console.log(token); + // getData() + Swal.fire({ + title: 'Register Success!', + text: "You already Login. WELCOME! :).", + icon: 'success', + confirmButtonText: 'Continue' + }) + }) + .catch(err => { + // alert("alerrtttt") + console.log(err); + Swal.fire({ + title: 'Register Error!', + text: "Your email already exist.", + icon: 'error', + confirmButtonText: 'Continue' + }) + }) +} + +function login() { + $.ajax({ + url: `${url}/users/login`, + method: `POST`, + contentType: 'application/json', + data: JSON.stringify({ + email: $('#emailLog').val(), + password: $('#passwordLog').val(), + }) + }) + .done((data) => { + // console.log(data); + localStorage.setItem('token', data) + // getData() + $('#registerPage').hide() + $('#loginPage').hide() + $('#logoutBtn').show() + $("#todosPage").show() + $("#todosTable").show() + + $('#emailLog').val("") + $('#passwordLog').val("") + Swal.fire({ + title: 'Login Success!', + text: 'Do you want to continue', + icon: 'success', + confirmButtonText: 'Continue!' + }) + }) + .catch(err => { + Swal.fire({ + title: 'error!', + text: 'Wrong Username/Password', + icon: 'error', + confirmButtonText: 'Continue' + }) + }) +} + +function getData() { + $.ajax({ + url: `${url}/todos`, + method: 'GET', + headers: { + token: token + } + }) + .done((data) => { + $('#todosData').empty() + // console.log(data); + data.forEach((el, index) => { + if (el.status === "Sudah") { + $('#todosData').append( + ` + + ${index + 1} + ${el.title} + ${el.description} + ${el.status} + ${el.due_date} + + + + + + ` + ) + } else { + $('#todosData').append( + ` + + ${index + 1} + ${el.title} + ${el.description} + ${el.status} + ${el.due_date} + + + + + + + ` + ) + } + }); + + }) + .catch(err => { + console.log(err); + Swal.fire({ + title: 'Invalid Token!', + text: "Your Form is uncomplete. Please complete this form", + icon: 'error', + confirmButtonText: 'Continue' + }) + + }) +} + +function updateDone(id) { + // alert(id) + console.log(id); + $.ajax({ + url: `${url}/todos/${id}`, + method: 'PUT', + headers: { + token: token + }, + data: { + status: 'Sudah' + } + }) + .done((data) => { + console.log(data); + getData() + $(`#doneBtn${id}`).hide() + }) +} + +function del(id) { + $.ajax({ + url: `${url}/todos/` + id, + method: `DELETE`, + headers: { + token: token + }, + }) + .done((data) => { + getData() + }) +} + +function addData() { + $.ajax({ + url: `${url}/todos`, + method: 'POST', + headers: { + token: token + }, + data: { + title: $("#titleAdd").val(), + description: $("#descriptionAdd").val(), + due_date: $("#due_dateAdd").val() + }, + success: (data) => { + console.log(data); + getData() + } + }) +} + +$('#loginForm').on('submit', (e) => { + e.preventDefault(); + login(); + // getData(); +}) + +$('#loginA').on('click', (e) => { + e.preventDefault() + // alert('masukk??') + $('#registerPage').hide() + $("#todosTable").hide() + $('#loginPage').show() +}) + +$('#registerA').on('click', (e) => { + e.preventDefault() + // alert('masukk??') + $('#registerPage').show() + $("#todosTable").hide() + $('#loginPage').hide() +}) + +$('#registerForm').on('submit', function (e) { + e.preventDefault(); + // alert('masukk') + // console.log($('#usernameReg').val(), + // $('#passwordReg').val(), + // $('#emailReg').val()); + register(); + getData(); +}) + +$("#logoutBtn").on("click", function (e) { + e.preventDefault() + var auth2 = gapi.auth2.getAuthInstance(); + auth2.signOut().then(function () { + console.log('User signed out.'); + }); + localStorage.removeItem("token") + + $("#todosTable").hide() + $('#registerPage').show() + $('#loginPage').hide() + $('#logoutBtn').hide() + $("#todosPage").hide() + Swal.fire({ + title: 'Logout Success!', + text: 'Do you want to continue', + icon: 'success', + confirmButtonText: 'Continue' + }) +}) + +$('#showTodo').on('click', function (e) { + $("#todosPage").show() + $("#todosTable").show() + $('#addPage').hide() + getData() +}) + +$('#showAddTodo').on('click', function (e) { + // $("#todosPage").hide() + $("#todosTable").hide() + $('#addPage').show() +}) + +$('#addForm').on('submit', function (e) { + addData() + getData() +}) + +// function onSignIn(googleUser) { +// var profile = googleUser.getBasicProfile(); +// console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead. +// console.log('Name: ' + profile.getName()); +// console.log('Image URL: ' + profile.getImageUrl()); +// console.log('Email: ' + profile.getEmail()); // This is null if the 'email' scope is not present. +// } + +function onSignIn(googleUser) { + var id_token = googleUser.getAuthResponse().id_token; + $.ajax({ + url: `${url}/users/googleLogin`, + method: `POST`, + contentType: 'application/json', + data: JSON.stringify({ + id_token: id_token + }) + }) + .done((data) => { + // console.log(data); + localStorage.setItem('token', data) + // getData() + $('#registerPage').hide() + $('#loginPage').hide() + $('#logoutBtn').show() + $("#todosPage").show() + $("#todosTable").show() + + $('#emailLog').val("") + $('#passwordLog').val("") + // Swal.fire({ + // title: 'Login Success!', + // text: 'Do you want to continue', + // icon: 'success', + // confirmButtonText: 'Continue!' + // }) + }) + .catch(err => { + Swal.fire({ + title: 'error!', + text: 'Wrong Username/Password', + icon: 'error', + confirmButtonText: 'Continue' + }) + }) +} diff --git a/client/js/script.js b/client/js/script.js new file mode 100644 index 00000000..e69de29b diff --git a/server/.env-template b/server/.env-template new file mode 100644 index 00000000..c230f845 --- /dev/null +++ b/server/.env-template @@ -0,0 +1,3 @@ +secret= +SENDGRID_API_KEY='' +PORT=3000 \ No newline at end of file diff --git a/server/app.js b/server/app.js new file mode 100644 index 00000000..1c78b708 --- /dev/null +++ b/server/app.js @@ -0,0 +1,19 @@ +require('dotenv').config() +const express = require('express') +const app = express() +const cors = require('cors') +const port = process.env.PORT +const indexRouter = require('./routes/indexRouter') +const errorHandling = require('./middlewares/errorHandling') + +app.use(cors()) +app.use(express.json()) // for parsing application/json +app.use(express.urlencoded({ extended: true })) // for parsing application/x-www-form-urlencoded + +app.use('/', indexRouter) + +app.use(errorHandling) + +app.listen(port, () => console.log(`Example app listening on port ${port}!`)) + +module.exports = app \ No newline at end of file diff --git a/server/config/config.json-template b/server/config/config.json-template new file mode 100644 index 00000000..faa07678 --- /dev/null +++ b/server/config/config.json-template @@ -0,0 +1,9 @@ +{ + "development": { + "username": "postgres", + "password": "", + "database": "", + "host": "127.0.0.1", + "dialect": "postgres" + } +} \ No newline at end of file diff --git a/server/controllers/controllerTodo.js b/server/controllers/controllerTodo.js new file mode 100644 index 00000000..3969833e --- /dev/null +++ b/server/controllers/controllerTodo.js @@ -0,0 +1,112 @@ +'use strict' +const { Todo } = require('../models') + +const sendEmail = require('../helpers/api') +const sgMail = require('@sendgrid/mail'); +sgMail.setApiKey(process.env.SENDGRID_API_KEY); + + +class ControllerTodo { + + static add(req, res, next) { + const { title, description, status, due_date } = req.body + Todo + .create({ + title, + description, + status: 'Belum', + due_date, + UserId: req.user.id + }) + .then(result => { + let msg = sendEmail(req.user.email, `${result.description} has been updated to be ${description}`) + sgMail.send(msg) + res.status(201).json(result) + }) + .catch(err => { + next(err) + }) + } + + static readAll(req, res, next) { + // res.status(200).json(req.user.id) + Todo + .findAll({ + where: { + UserId: req.user.id + } + }) + .then(result => { + res.status(200).json(result) + }) + .catch(err => { + next(err) + }) + } + + static readOne(req, res, next) { + Todo.findOne({ + where: { + id: req.params.id + } + }) + .then(result => { + res.status(200).json(result) + }) + .catch(err => { + next(err) + }) + } + + static destroy(req, res, next) { + const destroyId = req.params.id + + const destroy = Todo.destroy({ + where: { + id: destroyId + } + }) + const findOne = Todo.findOne({ + where: { + id: destroyId + } + }) + Promise.all([destroy, findOne]) + .then(result => { + res.status(200).json(result[1]) + let msg = sendEmail(req.user.email, `${result.description} has been updated to be ${description}`) + sgMail.send(msg) + + }) + .catch(err => { + next(err) + }) + } + + static edit(req, res, next) { + const { title, description, status, due_date } = req.body + Todo + .update({ + title, + description, + status, + due_date, + }, { + where: { + id: req.params.id + }, + returning: true + }) + .then(result => { + let msg = sendEmail(req.user.email, `${result.description} has been updated to be ${description}`) + sgMail.send(msg) + res.status(200).json(result) + }) + .catch(err => { + next(err) + }) + } +} + + +module.exports = ControllerTodo \ No newline at end of file diff --git a/server/controllers/controllerUser.js b/server/controllers/controllerUser.js new file mode 100644 index 00000000..1822baaa --- /dev/null +++ b/server/controllers/controllerUser.js @@ -0,0 +1,142 @@ +'use strict' +const { User } = require('../models') +const jwt = require('jsonwebtoken') +const { OAuth2Client } = require('google-auth-library'); +const client = new OAuth2Client("476504549399-atherlcqb2eflh6lr8v3b4a03a65pmum.apps.googleusercontent.com"); +const compare = require('../helpers/compare') + +class controllerUser { + static register(req, res, next) { + const { username, email, password } = req.body; + User + .create({ + username, + email, + password + }) + .then(result => { + User + .findOne({ + where: { + email: result.email + } + }) + .then(result => { + const comparePassword = compare(password, result.password); + if (comparePassword) { + const token = jwt.sign({ + id: result.id, + username: result.username, + email: result.email + }, process.env.secret) + res.status(200).json(token) + // next() + } + res.send + }) + .catch(err => { + next(err) + }) + // res.status(201).json(result) + }) + .catch(err => { + next(err) + // console.log(JSON.stringify(err, null, 2)); + }) + } + static login(req, res, next) { + const { email, password } = req.body + User + .findOne({ + where: { + email: email, + } + }) + .then(result => { + const comparePassword = compare(password, result.password) + // res.send(comparePassword) + if (comparePassword == true) { + const token = jwt.sign({ + id: result.id, + username: result.username, + email: result.email + }, process.env.secret) + res.status(200).json(token) + // next() + } else { + throw { + status: 400, + msg: "Invalid username / email." + } + } + // res.status(200).json(result) + }) + .catch(err => { + // console.log('masuk sini??'); + next({ + status: 404, + msg: "Invalid email / password." + }) + }) + } + static readAllUser(req, res, next) { + User + .findAll() + .then(result => { + res.status(200).json(result) + }) + .catch(err => { + res.send(err) + }) + } + + static googleLogin(req, res, next) { + const { id_token } = req.body; + // console.log(id_token); + async function verify() { + const ticket = await client.verifyIdToken({ + idToken: id_token, + audience: "476504549399-atherlcqb2eflh6lr8v3b4a03a65pmum.apps.googleusercontent.com", + }); + const payload = ticket.getPayload(); + // console.log(payload.name); + User + .findOne({ + where: { + email: payload.email, + } + }) + .then(result => { + if (result) { + const token = jwt.sign({ + id: result.id, + username: result.username, + email: result.email + }, process.env.secret) + res.status(200).json(token) + } else { + User + .create({ + username: payload.name.split(" ").join(""), + email: payload.email, + password: "12345", + }) + .then(result => { + const token = jwt.sign({ + id: result.id, + username: result.username, + email: result.email + }, process.env.secret) + res.status(200).json(token) + }) + .catch(err => { + next(err) + }) + } + }) + } + verify().catch(console.error); + } +} + +module.exports = controllerUser diff --git a/server/helpers/api.js b/server/helpers/api.js new file mode 100644 index 00000000..45bf9d35 --- /dev/null +++ b/server/helpers/api.js @@ -0,0 +1,15 @@ +// const sgMail = require('@sendgrid/mail'); +// sgMail.setApiKey(process.env.SENDGRID_API_KEY); + +function sendEmail(email, description) { + const msg = { + to: `${email}`, + from: 'marcell.maruli021@gmail.com', + subject: `TODO LIST ANNOUNCEMENT!`, + text: `${description}`, + html: `${description}`, + }; + return msg +} + +module.exports = sendEmail diff --git a/server/helpers/compare.js b/server/helpers/compare.js new file mode 100644 index 00000000..7488942f --- /dev/null +++ b/server/helpers/compare.js @@ -0,0 +1,9 @@ +'use strict' +const bcrypt = require('bcrypt') + +function comparePass(passwordInput, hashingPass) { + const compare = bcrypt.compareSync(passwordInput, hashingPass) + return compare +} + +module.exports = comparePass \ No newline at end of file diff --git a/server/middlewares/authentication.js b/server/middlewares/authentication.js new file mode 100644 index 00000000..2301c41b --- /dev/null +++ b/server/middlewares/authentication.js @@ -0,0 +1,20 @@ +'use strict' +const jwt = require('jsonwebtoken') + +function authentication(req, res, next) { + try { + const token = req.headers.token + const user = jwt.verify(token, process.env.secret) + req.user = user + // res.send(user) + next() + } catch (error) { + // console.log('masuk sini harusnya'); + throw { + status: 401, + msg: 'Wrong Username/Email' + } + } +} + +module.exports = authentication \ No newline at end of file diff --git a/server/middlewares/authorization.js b/server/middlewares/authorization.js new file mode 100644 index 00000000..d84d2923 --- /dev/null +++ b/server/middlewares/authorization.js @@ -0,0 +1,32 @@ +const { Todo } = require('../models') + +module.exports = (req, res, next) => { + Todo + .findOne({ + where: { + id: req.params.id + } + }) + .then(result => { + // console.log(result.UserId); + if (!result) { + throw{ + status: 404, + msg: "No Data Found." + } + } + else { + if (result.UserId == req.user.id) { + next() + } else { + throw { + status: 401, + msg: "Unauthorized Action." + } + } + } + }) + .catch(err => { + next(err) + }) +} \ No newline at end of file diff --git a/server/middlewares/errorHandling.js b/server/middlewares/errorHandling.js new file mode 100644 index 00000000..31f1d6c3 --- /dev/null +++ b/server/middlewares/errorHandling.js @@ -0,0 +1,18 @@ + +function showErrors(err, req, res, next) { + console.log(err, 'masuk sini gak?'); + const arrErrors = []; + if (err.name === 'SequelizeUniqueConstraintError') { + res.status(401).json('Email already registered.') + } else if (err.name === "SequelizeValidationError") { + err.errors.forEach(errs => { + arrErrors.push(errs.message) + }); + // res.status(401).json(arrErrors) + } + else if (err.status) { + res.status(err.status).json(err.msg) + } +} + +module.exports = showErrors \ No newline at end of file diff --git a/server/migrations/20200302070019-create-user.js b/server/migrations/20200302070019-create-user.js new file mode 100644 index 00000000..aab34c0d --- /dev/null +++ b/server/migrations/20200302070019-create-user.js @@ -0,0 +1,34 @@ +'use strict'; +module.exports = { + up: (queryInterface, Sequelize) => { + return queryInterface.createTable('Users', { + id: { + allowNull: false, + autoIncrement: true, + primaryKey: true, + type: Sequelize.INTEGER + }, + username: { + type: Sequelize.STRING + }, + email: { + type: Sequelize.STRING, + unique: true, + }, + password: { + type: Sequelize.STRING + }, + createdAt: { + allowNull: false, + type: Sequelize.DATE + }, + updatedAt: { + allowNull: false, + type: Sequelize.DATE + } + }); + }, + down: (queryInterface, Sequelize) => { + return queryInterface.dropTable('Users'); + } +}; \ No newline at end of file diff --git a/server/migrations/20200302103028-create-todo.js b/server/migrations/20200302103028-create-todo.js new file mode 100644 index 00000000..ba1cb93e --- /dev/null +++ b/server/migrations/20200302103028-create-todo.js @@ -0,0 +1,36 @@ +'use strict'; +module.exports = { + up: (queryInterface, Sequelize) => { + return queryInterface.createTable('Todos', { + id: { + allowNull: false, + autoIncrement: true, + primaryKey: true, + type: Sequelize.INTEGER + }, + title: { + type: Sequelize.STRING + }, + description: { + type: Sequelize.STRING + }, + status: { + type: Sequelize.STRING + }, + due_date: { + type: Sequelize.DATE + }, + createdAt: { + allowNull: false, + type: Sequelize.DATE + }, + updatedAt: { + allowNull: false, + type: Sequelize.DATE + } + }); + }, + down: (queryInterface, Sequelize) => { + return queryInterface.dropTable('Todos'); + } +}; \ No newline at end of file diff --git a/server/migrations/20200302115343-Add-UserId-to-Todo.js b/server/migrations/20200302115343-Add-UserId-to-Todo.js new file mode 100644 index 00000000..79cfceff --- /dev/null +++ b/server/migrations/20200302115343-Add-UserId-to-Todo.js @@ -0,0 +1,14 @@ +'use strict'; + +module.exports = { + up: (queryInterface, Sequelize) => { + + return queryInterface.addColumn('Todos', 'UserId', { type: Sequelize.INTEGER }); + }, + + down: (queryInterface, Sequelize) => { + + return queryInterface.removeColumn('Todos', 'UserId', { type: Sequelize.INTEGER }); + + } +}; diff --git a/server/models/index.js b/server/models/index.js new file mode 100644 index 00000000..c1a3d6d5 --- /dev/null +++ b/server/models/index.js @@ -0,0 +1,37 @@ +'use strict'; + +const fs = require('fs'); +const path = require('path'); +const Sequelize = require('sequelize'); +const basename = path.basename(__filename); +const env = process.env.NODE_ENV || 'development'; +const config = require(__dirname + '/../config/config.json')[env]; +const db = {}; + +let sequelize; +if (config.use_env_variable) { + sequelize = new Sequelize(process.env[config.use_env_variable], config); +} else { + sequelize = new Sequelize(config.database, config.username, config.password, config); +} + +fs + .readdirSync(__dirname) + .filter(file => { + return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js'); + }) + .forEach(file => { + const model = sequelize['import'](path.join(__dirname, file)); + db[model.name] = model; + }); + +Object.keys(db).forEach(modelName => { + if (db[modelName].associate) { + db[modelName].associate(db); + } +}); + +db.sequelize = sequelize; +db.Sequelize = Sequelize; + +module.exports = db; diff --git a/server/models/todo.js b/server/models/todo.js new file mode 100644 index 00000000..cd35d7fb --- /dev/null +++ b/server/models/todo.js @@ -0,0 +1,71 @@ +'use strict'; +module.exports = (sequelize, DataTypes) => { + const { Model } = sequelize.Sequelize + + class Todo extends Model { } + + Todo.init({ + title: { + type: DataTypes.STRING, + allowNull: false, + validate: { + notEmpty: { + args: true, + msg: 'Title cannot be empty.' + }, + notNull: { + args: true, + msg: 'Title cannot be null.' + } + } + }, + description: { + type: DataTypes.STRING, + allowNull: false, + validate: { + notEmpty: { + args: true, + msg: 'Description cannot be empty.' + }, + notNull: { + args: true, + msg: 'Description cannot be null.' + } + } + }, + status: { + type: DataTypes.STRING, + allowNull: false, + validate: { + notEmpty: { + args: true, + msg: 'Status cannot be empty.' + }, + notNull: { + args: true, + msg: 'Status cannot be null.' + } + } + }, + due_date: { + type: DataTypes.DATE, + allowNull: false, + validate: { + notEmpty: { + args: true, + msg: 'Due_Date cannot be empty.' + }, + notNull: { + args: true, + msg: 'Due_Date cannot be null.' + } + } + }, + }, { sequelize }); + + Todo.associate = function(models) { + // associations can be defined here + Todo.belongsTo(models.User) + }; + return Todo; +}; \ No newline at end of file diff --git a/server/models/user.js b/server/models/user.js new file mode 100644 index 00000000..4824832f --- /dev/null +++ b/server/models/user.js @@ -0,0 +1,70 @@ +'use strict'; +const bcrypt = require('bcrypt') + +module.exports = (sequelize, DataTypes) => { + const { Model } = sequelize.Sequelize + + class User extends Model { } + + User.init({ + username: { + type: DataTypes.STRING, + allowNull: false, + validate: { + notEmpty: { + args: true, + msg: 'username cannot be empty.' + }, + notNull: { + args: true, + msg: 'username cannot be null.' + } + } + }, + email: { + type: DataTypes.STRING, + allowNull: false, + unique: true, + validate: { + notEmpty: { + args: true, + msg: 'email cannot be empty.' + }, + notNull: { + args: true, + msg: 'email cannot be null.' + }, + isEmail: { + args: true, + msg: 'wrong email format.' + } + } + }, + password: { + type: DataTypes.STRING, + allowNull: false, + validate: { + notEmpty: { + args: true, + msg: 'password cannot be empty.' + }, + notNull: { + args: true, + msg: 'password cannot be null.' + } + } + }, + }, { + hooks: { + beforeCreate(instance, option) { + const salt = 10; + const hash = bcrypt.hashSync(instance.password, salt) + instance.password = hash; + }, + }, sequelize + }); + User.associate = function (models) { + // associations can be defined here + }; + return User; +}; \ No newline at end of file diff --git a/server/package-lock.json b/server/package-lock.json new file mode 100644 index 00000000..2bffdd74 --- /dev/null +++ b/server/package-lock.json @@ -0,0 +1,1835 @@ +{ + "name": "server", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@sendgrid/client": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/@sendgrid/client/-/client-6.5.3.tgz", + "integrity": "sha512-+K4yTMSNChfwKuuMGpnK1Xz7SnBoh3VDT8sILVwSMJRH3s18mOf5Bv/xbAxawqX4Wz50rlSrpbA5A3FwiSDzJA==", + "requires": { + "@sendgrid/helpers": "^6.5.3", + "@types/request": "^2.48.4", + "request": "^2.88.0" + } + }, + "@sendgrid/helpers": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/@sendgrid/helpers/-/helpers-6.5.3.tgz", + "integrity": "sha512-Cr5lV8H8STg8bzdzU5pEctI/SDQ3TCLiq72Ao2r3tGyusIxJ00C7CrXddhjEdYBsHvJZLaBTfG04yp8303em6w==", + "requires": { + "chalk": "^2.0.1", + "deepmerge": "^4.2.2" + } + }, + "@sendgrid/mail": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/@sendgrid/mail/-/mail-6.5.3.tgz", + "integrity": "sha512-ePveau4VFFu8I9ETqgILKZajf577yapepnm3hG2Wj41fokHY6Uqpm3kkYTSWyw4VF+uapJPd9eVDcXWFbafvJw==", + "requires": { + "@sendgrid/client": "^6.5.3", + "@sendgrid/helpers": "^6.5.3" + } + }, + "@types/caseless": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz", + "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==" + }, + "@types/node": { + "version": "13.7.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.7.7.tgz", + "integrity": "sha512-Uo4chgKbnPNlxQwoFmYIwctkQVkMMmsAoGGU4JKwLuvBefF0pCq4FybNSnfkfRCpC7ZW7kttcC/TrRtAJsvGtg==" + }, + "@types/request": { + "version": "2.48.4", + "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.4.tgz", + "integrity": "sha512-W1t1MTKYR8PxICH+A4HgEIPuAC3sbljoEVfyZbeFJJDbr30guDspJri2XOaM2E+Un7ZjrihaDi7cf6fPa2tbgw==", + "requires": { + "@types/caseless": "*", + "@types/node": "*", + "@types/tough-cookie": "*", + "form-data": "^2.5.0" + } + }, + "@types/tough-cookie": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.6.tgz", + "integrity": "sha512-wHNBMnkoEBiRAd3s8KTKwIuO9biFtTf0LehITzBhSco+HQI0xkXZbLOD55SW3Aqw3oUkHstkm5SPv58yaAdFPQ==" + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "requires": { + "event-target-shim": "^5.0.0" + } + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "agent-base": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.0.tgz", + "integrity": "sha512-j1Q7cSCqN+AwrmDd+pzgqc0/NpC655x2bUf5ZjRIO77DcNBFmh+OgRNzF6OKdCC9RSCb19fGd99+bhXFdkRNqw==", + "requires": { + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "ajv": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", + "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + }, + "bcrypt": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-4.0.0.tgz", + "integrity": "sha512-UroxVJgmpeek3uxjY0IgtVtegM8EQqSLXnc5HE59m388MGZr0wPpRBqKJTaTraY3YEJOo1XIczExiEY9eeOCmg==", + "requires": { + "node-addon-api": "^2.0.0", + "node-pre-gyp": "0.14.0" + } + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bignumber.js": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz", + "integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==" + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + }, + "buffer-writer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", + "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==" + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "cls-bluebird": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cls-bluebird/-/cls-bluebird-2.1.0.tgz", + "integrity": "sha1-N+8eCAqP+1XC9BZPU28ZGeeWiu4=", + "requires": { + "is-bluebird": "^1.0.2", + "shimmer": "^1.1.0" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "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.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "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" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" + }, + "dotenv": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", + "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==" + }, + "dottie": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.2.tgz", + "integrity": "sha512-fmrwR04lsniq/uSr8yikThDTrM7epXHBAAjH9TbeH3rEA8tdCO7mRzB9hdmdGyJCxF8KERo9CITcm3kGuoyMhg==" + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==" + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-text-encoding": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.0.tgz", + "integrity": "sha512-R9bHCvweUxxwkDwhjav5vxpFvdPGlVngtqmx4pIZfSUhM/Q4NiIUHB456BAf+Q1Nwu3HEZYONtu+Rya+af4jiQ==" + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "requires": { + "minipass": "^2.6.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "gaxios": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-2.3.2.tgz", + "integrity": "sha512-K/+py7UvKRDaEwEKlLiRKrFr+wjGjsMz5qH7Vs549QJS7cpSCOT/BbWL7pzqECflc46FcNPipjSfB+V1m8PAhw==", + "requires": { + "abort-controller": "^3.0.0", + "extend": "^3.0.2", + "https-proxy-agent": "^5.0.0", + "is-stream": "^2.0.0", + "node-fetch": "^2.3.0" + } + }, + "gcp-metadata": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-3.5.0.tgz", + "integrity": "sha512-ZQf+DLZ5aKcRpLzYUyBS3yo3N0JSa82lNDO8rj3nMSlovLcz2riKFBsYgDzeXcv75oo5eqB2lx+B14UvPoCRnA==", + "requires": { + "gaxios": "^2.1.0", + "json-bigint": "^0.3.0" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "google-auth-library": { + "version": "5.10.1", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-5.10.1.tgz", + "integrity": "sha512-rOlaok5vlpV9rSiUu5EpR0vVpc+PhN62oF4RyX/6++DG1VsaulAFEMlDYBLjJDDPI6OcNOCGAKy9UVB/3NIDXg==", + "requires": { + "arrify": "^2.0.0", + "base64-js": "^1.3.0", + "ecdsa-sig-formatter": "^1.0.11", + "fast-text-encoding": "^1.0.0", + "gaxios": "^2.1.0", + "gcp-metadata": "^3.4.0", + "gtoken": "^4.1.0", + "jws": "^4.0.0", + "lru-cache": "^5.0.0" + }, + "dependencies": { + "jwa": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", + "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", + "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", + "requires": { + "jwa": "^2.0.0", + "safe-buffer": "^5.0.1" + } + } + } + }, + "google-p12-pem": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-2.0.4.tgz", + "integrity": "sha512-S4blHBQWZRnEW44OcR7TL9WR+QCqByRvhNDZ/uuQfpxywfupikf/miba8js1jZi6ZOGv5slgSuoshCWh6EMDzg==", + "requires": { + "node-forge": "^0.9.0" + } + }, + "gtoken": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-4.1.4.tgz", + "integrity": "sha512-VxirzD0SWoFUo5p8RDP8Jt2AGyOmyYcT/pOUgDKJCK+iSw0TMqwrVfY37RXTNmoKwrzmDHSk0GMT9FsgVmnVSA==", + "requires": { + "gaxios": "^2.1.0", + "google-p12-pem": "^2.0.0", + "jws": "^4.0.0", + "mime": "^2.2.0" + }, + "dependencies": { + "jwa": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", + "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", + "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", + "requires": { + "jwa": "^2.0.0", + "safe-buffer": "^5.0.1" + } + }, + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "requires": { + "agent-base": "6", + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "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" + } + }, + "ignore-walk": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflection": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz", + "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + }, + "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-bluebird": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-bluebird/-/is-bluebird-1.0.2.tgz", + "integrity": "sha1-CWQ5Bg9KpBGr7hkUOoTWpVNG1uI=" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "json-bigint": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-0.3.0.tgz", + "integrity": "sha1-DM2RLEuCcNBfBW+9E4FLU9OCWx4=", + "requires": { + "bignumber.js": "^7.0.0" + } + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "requires": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "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.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" + }, + "mime-types": { + "version": "2.1.26", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", + "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "requires": { + "mime-db": "1.43.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "requires": { + "minipass": "^2.9.0" + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" + }, + "moment-timezone": { + "version": "0.5.28", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.28.tgz", + "integrity": "sha512-TDJkZvAyKIVWg5EtVqRzU97w0Rb0YVbfpqyjgu6GwXCAohVRqwZjf4fOzDE6p1Ch98Sro/8hQQi65WDXW5STPw==", + "requires": { + "moment": ">= 2.9.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "needle": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.3.2.tgz", + "integrity": "sha512-DUzITvPVDUy6vczKKYTnWc/pBZ0EnjMJnQ3y+Jo5zfKFimJs7S3HFCxCRZYB9FUZcrzUQr3WsmvZgddMEIZv6w==", + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "node-addon-api": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.0.tgz", + "integrity": "sha512-ASCL5U13as7HhOExbT6OlWJJUV/lLzL2voOSP1UVehpRD8FbSrSDjfScK/KwAvVTI5AS6r4VwbOMlIqtvRidnA==" + }, + "node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" + }, + "node-forge": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.1.tgz", + "integrity": "sha512-G6RlQt5Sb4GMBzXvhfkeFmbqR6MzhtnT7VTHuLadjkii3rdYHNdw0m8zA4BTxVIh68FicCQ2NSUANpsqkr9jvQ==" + }, + "node-pre-gyp": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz", + "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4.4.2" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "nopt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", + "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" + }, + "npm-packlist": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", + "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "packet-reader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", + "integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "pg": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/pg/-/pg-7.18.2.tgz", + "integrity": "sha512-Mvt0dGYMwvEADNKy5PMQGlzPudKcKKzJds/VbOeZJpb6f/pI3mmoXX0JksPgI3l3JPP/2Apq7F36O63J7mgveA==", + "requires": { + "buffer-writer": "2.0.0", + "packet-reader": "1.0.0", + "pg-connection-string": "0.1.3", + "pg-packet-stream": "^1.1.0", + "pg-pool": "^2.0.10", + "pg-types": "^2.1.0", + "pgpass": "1.x", + "semver": "4.3.2" + } + }, + "pg-connection-string": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-0.1.3.tgz", + "integrity": "sha1-2hhHsglA5C7hSSvq9l1J2RskXfc=" + }, + "pg-int8": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==" + }, + "pg-packet-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pg-packet-stream/-/pg-packet-stream-1.1.0.tgz", + "integrity": "sha512-kRBH0tDIW/8lfnnOyTwKD23ygJ/kexQVXZs7gEyBljw4FYqimZFxnMMx50ndZ8In77QgfGuItS5LLclC2TtjYg==" + }, + "pg-pool": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-2.0.10.tgz", + "integrity": "sha512-qdwzY92bHf3nwzIUcj+zJ0Qo5lpG/YxchahxIN8+ZVmXqkahKXsnl2aiJPHLYN9o5mB/leG+Xh6XKxtP7e0sjg==" + }, + "pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "requires": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + } + }, + "pgpass": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.2.tgz", + "integrity": "sha1-Knu0G2BltnkH6R2hsHwYR8h3swY=", + "requires": { + "split": "^1.0.0" + } + }, + "postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==" + }, + "postgres-bytea": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", + "integrity": "sha1-AntTPAqokOJtFy1Hz5zOzFIazTU=" + }, + "postgres-date": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.4.tgz", + "integrity": "sha512-bESRvKVuTrjoBluEcpv2346+6kgB7UlnqWZsnbnCccTNq/pqfj1j6oBaN5+b/NrDXepYUT/HKadqv3iS9lJuVA==" + }, + "postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "requires": { + "xtend": "^4.0.0" + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "psl": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz", + "integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "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.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + } + } + }, + "retry-as-promised": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-3.2.0.tgz", + "integrity": "sha512-CybGs60B7oYU/qSQ6kuaFmRd9sTZ6oXSc0toqePvV74Ac6/IFZSI1ReFQmtCN+uvW1Mtqdwpvt/LGOiCBAY2Mg==", + "requires": { + "any-promise": "^1.3.0" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "semver": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.2.tgz", + "integrity": "sha1-x6BxWKgL7dBSNVt3DYLWZA+AO+c=" + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "sequelize": { + "version": "5.21.5", + "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-5.21.5.tgz", + "integrity": "sha512-n9hR5K4uQGmBGK/Y/iqewCeSFmKVsd0TRnh0tfoLoAkmXbKC4tpeK96RhKs7d+TTMtrJlgt2TNLVBaAxEwC4iw==", + "requires": { + "bluebird": "^3.5.0", + "cls-bluebird": "^2.1.0", + "debug": "^4.1.1", + "dottie": "^2.0.0", + "inflection": "1.12.0", + "lodash": "^4.17.15", + "moment": "^2.24.0", + "moment-timezone": "^0.5.21", + "retry-as-promised": "^3.2.0", + "semver": "^6.3.0", + "sequelize-pool": "^2.3.0", + "toposort-class": "^1.0.1", + "uuid": "^3.3.3", + "validator": "^10.11.0", + "wkx": "^0.4.8" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "sequelize-pool": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/sequelize-pool/-/sequelize-pool-2.3.0.tgz", + "integrity": "sha512-Ibz08vnXvkZ8LJTiUOxRcj1Ckdn7qafNZ2t59jYHMX1VIebTAOYefWdRYFt6z6+hy52WGthAHAoLc9hvk3onqA==" + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "shimmer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", + "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==" + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "requires": { + "through": "2" + } + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "tar": { + "version": "4.4.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "toposort-class": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toposort-class/-/toposort-class-1.0.1.tgz", + "integrity": "sha1-f/0feMi+KMO6Rc1OGj9e4ZO9mYg=" + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "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": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "validator": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-10.11.0.tgz", + "integrity": "sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wkx": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/wkx/-/wkx-0.4.8.tgz", + "integrity": "sha512-ikPXMM9IR/gy/LwiOSqWlSL3X/J5uk9EO2hHNRXS41eTLXaUFEVw9fn/593jW/tE5tedNg8YjT5HkCa4FqQZyQ==", + "requires": { + "@types/node": "*" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + } + } +} diff --git a/server/package.json b/server/package.json new file mode 100644 index 00000000..fde9782d --- /dev/null +++ b/server/package.json @@ -0,0 +1,24 @@ +{ + "name": "server", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "dev": "nodemon app.js", + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "@sendgrid/mail": "^6.5.1", + "bcrypt": "^4.0.0", + "cors": "^2.8.5", + "dotenv": "^8.2.0", + "express": "^4.17.1", + "google-auth-library": "^5.10.1", + "jsonwebtoken": "^8.5.1", + "pg": "^7.18.2", + "sequelize": "^5.21.5" + } +} diff --git a/server/routes/indexRouter.js b/server/routes/indexRouter.js new file mode 100644 index 00000000..d0f37b77 --- /dev/null +++ b/server/routes/indexRouter.js @@ -0,0 +1,11 @@ +var express = require('express') +var router = express.Router() +const userRouter = require('./userRouter') +const todoRouter = require('./todoRouter') +const authentication = require('../middlewares/authentication') + +router.use('/users', userRouter) +router.use(authentication) +router.use('/todos', todoRouter) + +module.exports = router \ No newline at end of file diff --git a/server/routes/todoRouter.js b/server/routes/todoRouter.js new file mode 100644 index 00000000..59cc1806 --- /dev/null +++ b/server/routes/todoRouter.js @@ -0,0 +1,11 @@ +const router = require('express').Router() +const controllerTodo = require('../controllers/controllerTodo') +const author = require('../middlewares/authorization') + +router.post('/', controllerTodo.add) +router.get('/', controllerTodo.readAll) +router.get('/:id', author, controllerTodo.readOne) +router.delete('/:id', author, controllerTodo.destroy) +router.put('/:id', author, controllerTodo.edit) + +module.exports = router \ No newline at end of file diff --git a/server/routes/userRouter.js b/server/routes/userRouter.js new file mode 100644 index 00000000..480ead90 --- /dev/null +++ b/server/routes/userRouter.js @@ -0,0 +1,12 @@ +const router = require('express').Router() +const controllerUser = require('../controllers/controllerUser') + +// >>>> /users + +router.post('/register', controllerUser.register) +router.get('/', controllerUser.readAllUser) +router.post('/login', controllerUser.login) +router.post('/googleLogin', controllerUser.googleLogin) + + +module.exports = router \ No newline at end of file From ff5ca8f451052c597b8287c97d6e3c75685dd8b3 Mon Sep 17 00:00:00 2001 From: marcel Date: Sat, 7 Mar 2020 17:24:59 +0700 Subject: [PATCH 2/9] Final Requirement! --- Untitled Document 1 | 5 +- client/index.html | 80 ++++++----- client/js/jquery.js | 191 +++++++++++++++++++++------ client/src/5XpPyw.jpg | Bin 0 -> 268374 bytes server/controllers/controllerTodo.js | 15 +-- server/controllers/controllerUser.js | 15 ++- server/package.json | 2 +- 7 files changed, 213 insertions(+), 95 deletions(-) create mode 100644 client/src/5XpPyw.jpg diff --git a/Untitled Document 1 b/Untitled Document 1 index a41c7922..7fe7323c 100644 --- a/Untitled Document 1 +++ b/Untitled Document 1 @@ -1,7 +1,7 @@ Users id name - + email Tasks id @@ -9,10 +9,11 @@ Tasks UserId ProjectId + Projects id + OwnerId projectName - UserProjects UserId diff --git a/client/index.html b/client/index.html index bcde27cd..566f4dfd 100644 --- a/client/index.html +++ b/client/index.html @@ -3,43 +3,35 @@ - + Fancy-Todo + + - +
@@ -98,8 +90,16 @@

LOGIN

Don't have an account? go Register

- -
+
+
+ +
+

- OR -

+
+

Login with Google

+
+
+
@@ -109,14 +109,10 @@

LOGIN

@@ -145,13 +141,24 @@

Add Todo

+ + +
+
+
+ + +
+
+
+
-
+ @@ -178,6 +185,7 @@

Add Todo

+ diff --git a/client/js/jquery.js b/client/js/jquery.js index 12ca80bb..5aa2fba5 100644 --- a/client/js/jquery.js +++ b/client/js/jquery.js @@ -1,8 +1,8 @@ -const loginPage = $('#loginPage') -const todosTable = $('#todosTable') -const registerPage = $('#registerPage') -const url = "http://localhost:3000" -const token = localStorage.getItem('token') +let loginPage = $('#loginPage') +let todosTable = $('#todosTable') +let registerPage = $('#registerPage') +let url = "http://localhost:3000" +let token = localStorage.getItem('token') if (!token) { $("#todosTable").hide() @@ -11,6 +11,7 @@ if (!token) { $('#loginPage').hide() $('#logoutBtn').hide() $("#addPage").hide() + $("#editPage").hide() } else { getData() $("#todosTable").show() @@ -19,6 +20,7 @@ if (!token) { $('#logoutBtn').show() $("#todosPage").show() $("#addPage").hide() + $("#editPage").hide() } function register() { @@ -65,6 +67,64 @@ function register() { }) } +function editOne(id) { + $('#editPage').show() + $.ajax({ + url: url + '/todos/' + id, + method: 'GET', + contentType: 'application/json', + headers: { token: token }, + success: data => { + // console.log(data); + $('#editForm').append( + ` +

Edit Todo

+
+
+ + + +
+
+ + +
+
+ + +
+ + ` + ) + } + }) +} + +$("#editForm").on('submit', function (e) { + // e.preventDefault() + const id = Number($("#editId").val()) + console.log(id, $('#titleEdit').val(), + $('#descriptionEdit').val(), + $('#due_dateEdit').val()); + // alert(id) + $.ajax({ + url: url + '/todos/' + id, + method: "PUT", + headers: { token: token }, + contentType: 'application/json', + data: JSON.stringify({ + title: $('#titleEdit').val(), + description: $('#descriptionEdit').val(), + due_date: $('#due_dateEdit').val() + }) + }) + .done(data => { + getData() + }) +} +) + function login() { $.ajax({ url: `${url}/users/login`, @@ -78,7 +138,8 @@ function login() { .done((data) => { // console.log(data); localStorage.setItem('token', data) - // getData() + token = localStorage.getItem('token') + getData() $('#registerPage').hide() $('#loginPage').hide() $('#logoutBtn').show() @@ -119,14 +180,14 @@ function getData() { if (el.status === "Sudah") { $('#todosData').append( ` - + - + @@ -135,14 +196,15 @@ function getData() { } else { $('#todosData').append( ` - + - + @@ -167,38 +229,80 @@ function getData() { function updateDone(id) { // alert(id) - console.log(id); - $.ajax({ - url: `${url}/todos/${id}`, - method: 'PUT', - headers: { - token: token - }, - data: { - status: 'Sudah' - } + Swal.fire({ + title: 'Are you sure?', + text: "You've done this task??", + icon: 'question', + showCancelButton: true, + confirmButtonColor: '#3085d6', + cancelButtonColor: '#d33', + confirmButtonText: 'Yes, of course!' }) - .done((data) => { - console.log(data); - getData() - $(`#doneBtn${id}`).hide() + .then((result) => { + if (result.value) { + console.log(id); + $.ajax({ + url: `${url}/todos/${id}`, + method: 'PUT', + headers: { + token: token + }, + data: { + status: 'Sudah' + } + }) + .done((data) => { + console.log(data); + getData() + $(`#doneBtn${id}`).hide() + }) + .done((data) => { + Swal.fire( + 'Congratulations!!', + `You've Done one task!!! .`, + 'success' + ) + getData() + }) + } }) } function del(id) { - $.ajax({ - url: `${url}/todos/` + id, - method: `DELETE`, - headers: { - token: token - }, + Swal.fire({ + title: 'Are you sure?', + text: "You won't be able to revert this!", + icon: 'question', + showCancelButton: true, + confirmButtonColor: '#3085d6', + cancelButtonColor: '#d33', + confirmButtonText: 'Yes, delete it!' + }).then((result) => { + if (result.value) { + $.ajax({ + url: `${url}/todos/` + id, + method: `DELETE`, + headers: { + token: token + }, + }) + .done((data) => { + Swal.fire( + 'Deleted!', + 'Your file has been deleted.', + 'success' + ) + getData() + }) + } }) - .done((data) => { - getData() - }) } function addData() { + // e.preventDefault() + // console.log($("#titleAdd").val(), + // $("#descriptionAdd").val(), + // $("#due_dateAdd").val()); $.ajax({ url: `${url}/todos`, method: 'POST', @@ -210,11 +314,16 @@ function addData() { description: $("#descriptionAdd").val(), due_date: $("#due_dateAdd").val() }, - success: (data) => { - console.log(data); - getData() - } }) + .done((data) => { + Swal.fire({ + title: 'SUCCESS', + text: "You added one task!!", + icon: 'success', + confirmButtonText: 'Continue' + }) + getData() + }) } $('#loginForm').on('submit', (e) => { @@ -284,6 +393,7 @@ $('#showAddTodo').on('click', function (e) { }) $('#addForm').on('submit', function (e) { + // e.preventDefault() addData() getData() }) @@ -309,7 +419,8 @@ function onSignIn(googleUser) { .done((data) => { // console.log(data); localStorage.setItem('token', data) - // getData() + token = localStorage.getItem('token') + getData() $('#registerPage').hide() $('#loginPage').hide() $('#logoutBtn').show() diff --git a/client/src/5XpPyw.jpg b/client/src/5XpPyw.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f184f0edd8dd5fef0a49956ac1cd9f6df75673e2 GIT binary patch literal 268374 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

65vw0i{S;9_jcvAey``>)A|zLkzK^rPR)0-F(}` z)ZWMgGRuVj+^$N(`dn>kM!EXZ`X9C`vE)_ph5(1dRSG+K#B${P#RknV+NW6~bw;bNMl67IGg@d8 z1k#tsp4KZ@$olI;$%IEr1Xfc{5{r&?VPfcyCxdG24Tq3(`Q8qky#clblRu4alxaM6 zO;+Gjl{p|(LR$(f@2W59n3^-TUuY;Q9agwMDfy51YB@WI3`UA`A#9V;@coeW>gHE| zj6Y#7X}wHUEy* zc|(R7@=TbPQH<22B>op-f5h~HFgJYkwx2=_#Jh;N&%GZ1@uNUkw;)9MCa z{NTbU5;;*zBuck@L;vrc!w07rh3Y0TTIh7W#_aeh169NXz%`uAn%b_&JLIr`tTwt~;trU&=uMoF6uold-8$_QcE zZF*r>B*lG4y$gAm5g&^Z6Lj*}Qs2O5QNbD3G{)UJL^vA3_KgL<^3nW9_;m%p?p0ra zLt@JYd-GO{!8e7q*OwW!oz$M2MgD1-vMH=&NxgPpbn6xlnMNy+p2Uo(r|lV-;DA=W z&#s=`38FbA)z)U!P#2uBBr=FaTWnnH{S;a%3aFE))pu6Eytv)vHV}R7{zqlQeybj!5!9 z$!?Jvy4*1ITvyTD95&r~w$Ixl>Zgw^LyX{g*u^mc?n z{^$34Ty7hyxFgODr)!UwlsVlfW)+}frNb-E$;Fbh3NvR3D9)_KY)--;=>NVR6aVEJ z?wqpE;K0gHe$|?Ov2{u3Mfb|K(F#4WPm+d5M%{{Ue z{ zfQ;GCHcO65#}af1n&vntXseRzR=s6P+;cg19>Qph;1Z%>ew2ow1V4P{J(nIbnRWCG zAjCHt@(L8`!djLlDwgTT_zl8tuHvxLjV%{Kr^Abfa{dE7`7hil1b;R;3ju+=^!<=~ zIee+TYOU_I^5wo(03_^Y79{)f;*2^V`H#eX? z0zkjEG|PV=YRI~AgQ&|VJ;bj9+BbIv31c_Z-beW$N21cpuOT} z3C>$f%&26ZvO3SSO})E{>Yj^!#JxSKP2O*nf;o4|T^f6K3TfNC7eC?{{me7DTQ{u2 zvyF&`cD#frgk{auK;jCe`GW4Ea|4La>Y=>AQhK&1wuaV1qFzmY+H2uk|E_qJ%Sw>t zqsvSCB-Ut^tm*HgIY^Onk&$y0mR z1g5PHaI72mm%ns=G4(My$qjkfe2zhR)8Uw~dMFSZh5FRTGLY*Bw>;sNWVFH9*0n#> zDr1@{y|!s|X{T(fxvU>|{y-DO5K35DYNB*DI2hOo9&PhL5oe8r3SGz1z8#fR)}M

@@ -22,161 +23,161 @@ -
- -
-
-
-
- - -
- - - - - -
-
-
-
-

Register

-
-
- - -
-
- - - example:
myOwnTodo@gmail.com
-
-
- - -
-
- -

Already have an account? go to login

-
-
- - - +
+
-
+
+
+
+ +
+ + +
- -
-
-
-

LOGIN

+ +
+
+
+ +

Register


- - Username + +
+
+ + - We'll never share your email with anyone else. + example:
myOwnTodo@gmail.com
- +
-

Don't have an account? go Register

+

Already have an account? go to login

-
-
- -
-

- OR -

-
-

Login with Google

-
-
-
+ +
+
- - -
-
-
- Todos List - Add Todo + +
+
+
+

LOGIN

+
+
+ + + We'll never share your email with anyone else. +
+
+ + +
+
+ +

Don't have an account? go Register

+
+
+
+ +
+

- OR -

+
+

Login with Google

+
+
+
+ +
+
+ + + +
+ - -
-
-
-

Add Todo

-
-
- - -
-
- - -
-
- - -
- - -
+ +
+
+
+

Add Todo

+
+
+ + +
+
+ + +
+
+ + +
+ +
+
- + -
-
-
- - - -
+
+
+
+ + +
+
+ + +
+

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"d zy;tmvgZzWMK8f`t-D!2f$|k5rYhVjIK~}G9S2I*vb?n41w~l8%eG)(Zqp*uEPcL;7 zvX6KlL)qv0>LZ%p--lWe_+@DeGU{T2~4V z*^dpRc_z5;@Wd4>G%8zt94q9CZI#my}mn4eAcjJjEBd zM0ARqO5gKJwkxcPzWEYQiYEV?6FI$lz>t{kR)ST1omdUJIT3nkV()u9Yt9gxuk#N4 zVO;t8zWr6VdD=?RRN^@}p-{z9Lz@0KqFO8xaw;UuZtBS)b=)TUfc=R+_(4t{de#dO z{}qua$&-S);UXl2Jh*}WG#0+G!J~{0?z-K^j5pfX`ji(co$*=>MW`F$Sg8zJ$!6$z zTWlGpwp?!a|PVXG=UkoV66A)DTaPJPOoGlav3 zK)zNi0?;J+A>r`P*MEe1`h_!MZ)t1(!`QT4U!iAQs&$}|0TL49(HV9##&+~yj>G&H z_cbT42G|x)RxOm zo}dDZ<{zHsb zO0FNK^?r1xFD6Js38xncosiRO4Vr^k*t_BYC+}5l%f7kkZV-kTa37M?+Bv>09i9R0 zY($w7*{-k#gydk2W%{qW`-K@J967*m>TLK$1*sK%HJB3!<N0# zi*O(T)V$@;+^O$I4St|lYZ@dX-+gmbi`t+0&?-HE)Ar{jgALt%)U5(CTCXvzvA8Nj zs;G6tU>Wh{G39t<|IIdGQW7JVW*FbJyo!D3o$eS zl|xJkOqyJz4fzqz=zClq$IIvdE|cZq$8HF1l3@d@-!b_i7}^0`!`j!$|GngAor zoxHIQ2B5N~f1f_?h82EZOtObf(*4=w`RrIUKcSrvM01CzX3c-g&!^vL(EA^TACUi1 zK;@qhTwx$xg!WGfmHOGs3_aO6U-UWB;tj|Isb5X38Lt{md}(hw0+P2oE<(}>@&kZtDUXkq>!Et@tK~# zjOygjU|l}r`>mW=?&}WB%umOy{;*nYN-)J|vkNF?&Qiq}B}r;#+v4p;+9pozJAEsf zNg9`k{C#dSNjK{b7b_f>2n{J5XO(|b>}EtINUJ)X{`s@}08PO-4S5yivp0F)amY1Q zF(U<((s4iA02p>4Y3WB{qjt)VI|rZdQ)u#D$@omw0@B}^Te?9u4kWU@xFr>ZYErR3 zbnO*NZjV1FsH1l2*K8|EpBaf@2TwgKf8F%t+}O#dbkCMCE!X9>R)LEMJs8WN0nu8w zojBEs|F$n|vQhc8#dI{>Ot(l*TpS^p9xpsUB>8A>0FcdJImxI|2&Ou0Jvru}l&43` z>6IzPhfOQ`comktVP}UZD`N<#q$|In2#yqxBPV#1Gc5yLfy`4I0O!G;iC7#PN-Z+z2pqEY4ETg`QqQv5k5+LpxM_-_8kX8ons z(xOUHCfhQ2Yw zv(i{bIfqQz`??CMIcMGC_VJzj6jo1(yW%o=X3Watmp8H`wO?NyU_NMMZx1I-NZ~3M zSoXll6BLB{^F;q-#mQ+V8MMV@@fGB^6sab<5YH4eH@3DXjfSzhuVWQ2%$`+tiu85T z-_@?lhr{~kFG=OF-@P$6K)g!+GByb?zYUqiTX*B@tcxEw~73e%_{NDY<@ys|791!r8i$)Y=))Si*YMy zs0;YkkP0(E>{j5n9NeA2xwSsJDIz%xxD`OHaUaJ(L_TexC**Neo&3ly5Ip}g-1TlV znO=O(x72-r!6*?+{#(fnt;RPLJ7okAzVzO`r{rRQM#^0&blA;iP19-8TxFa=HAyt* z#ewQ@zSxn>)M2JIQ)W&r);4`%ECvdhLsE8hUi#3wzYZ~4nYnyk>go!`zCIJuM%vxX62w54cTC`& zx8lC^+aTV=E1n}Sx`uwwObKAd@LR^a+CijiI&SjzI8Vt;a^UoUN-NEa*S`5~>&M7! zH1vUBvbsA>p{aPspNB9=79{SDea*o?$Rlqa(0IkyrXEeI_hgeNE!Q8nb znL5L{#GVT%yI#t%JeziWc8x9T?!oj|@yW0r)bgDds7Jdd9R}^ChFLGTkx9LO7q@78 z9uGb#<#;)HtLR7yS-v#PkZ|FCjkWK}hK0P-+eZ$?YMACxe4(b4aTA5J{D%QkPP=?y zXL@;@yND;FXZdAJUgoz&qCzb?xgy@ETH%h)g6iYjmM)TlbZiE&S`jtCvNEnzb5G8v@pgY{IaBFv@Lz1O z!OXk>p2gm&rStTO47XMq%7xnO>@?;(wBSO^v`(T^3PT%FI^Yb!0z7su_ z)O*i2Dqu@OdWT?{d4G+>Uq?J|1pieNei97J1?NgA#+GI6TfM z!$RVYUV30`5Fe>%-kwR@nkXsuq&elpVBNMMxLjT}>=7YgrdjTA!Me^%EN;Zh95)Qm z(tMBml`2}OWf>OYG}k%bUMSzQg@0vWk`ya_7+zc|n6P%sZJ;Qr{jc9iR6L#y6bPO? zD|FfN+W!*v$LeLlng78#uio!PsOY{}l7<{RAQ{)o=RqU^M;8oQTlkP(9UNa{MtqI7)H9L#N+n?6c)dkz@XpAm;LWem~AW?()UOSC&n0CHu>+>Klh z0`L-nzJMYiC?@HrZ^|P+y5V@>aNDU^vdtf9!Mz#d@+tN-9{hyD)Yws8)$vTdA}6ks zMdJzV;o@Fz#9o?!jdODxmm&B&l+p~h$mE~qZ5ZRxi_)%NFnx`L+3oBHM${Z1_3s`8*_TN3-8z*BAEfKF$Bh|Cdf)8u zLoqnSByCSucKB|CRfYyJ8q?qlOnh;_e{Sj5`LF*SQxtr;*rU1mmRz1#Mo0@xgliPP zXCZRZp|lAIvi{PRlR(c_=NssSZe8m5U%9Kq@{7d_Xf~^iMqsVnSf%eU&O*n~=ijFt-f!*yeRF{a3|}J}2X{at8T3&W z?u^}M{4Ju``^{pH9RJSNzZ-2Rur@o@61T}^COUy-Nj~5IDTlqfB@>km?tkvG^84rk zd-~`9zZ_*Ok5U(E?k|QG^lwscXyw{kEIZHM^SGwW9m_)n2Kc$34b=HflDP3ht~(Im z481LBp<7Q*%d0zc22V#0zZVBt;djq0*JJ#i(s7A5HXt9bgZ99W7u!#Oos@R{=h3%2 zC{^|jaFNAfQojUTRJ@?CntHo5yzeUkrN;e%cp$&0QVZ%m)M$^p!}@gF9MgE^SAx1M zdOS7y-lZRHuvzgoMw;%Q$Uap_ATF)vFxDyi{Z(;^s7gimi%e%C`NKn)h<#l zE(%4<{M1opED0n=>#-5{86B-IUG#IiCfN!7wtu(M?`;wDw#7Vl2p#{v7uywX++b!l z{`j4k^ygGElu&U;Er6=bJ_Zr+}y8#&pd>%2w&#VK5!;H&kS&7!tEr(I{ zB&;cgZYxItY_CCK74%lgO*JfRue%$L-B(K2|es2le{S(y; zMshd`d>j{J!qp=qMQM6^XyCHxGw2UIUd1AtZU9dh&=)s!y(WT4G%7e2&qja?m7Ye> z=n|!8W`ubO7kl8N3gFw?hNur@CW2bG3Yv=KO~Yy($D?yGeWOzTo%XqLgVI#l+|~K} zXmb(G0?0N(dN|&75$meNi<=F#9uW#)KOS4L9K`dYz5X}_BGHfB#bKW!Ce49$*25vkyzSsevT_NuwDRP#xRk6n}(X3Q#;Izq$$~2UA zu8Grm!wJd2gly|{F{(!uw$Lc%C-=`k(uvDYYt?-lNhPavJ)CzawSqE>h(=S^M84&b zkQfX8U3oS7WKz-@G*j4kicT-RFfu9MEjL-kic`h^RvCAz)bWx=Bi$>~jQXXSLQ4;# zN+23-cvVj7UH*HVXMRRfw*K}Pn)D#YMWNnv6598-SSt~Iv-vshnc=V3g2-6BRp}M+ zc!7lo=>4VI#u1x$y8n|``E10mw+=_M3#?S5A9R;GG>h^@=LcPkHr1y+sGrkpt%Ni5)Em-V`XY-26>7qV;Y=R&xNi0mRB^ic1HY-59+p z$5><=kB`15-LYm~Pv0{e_(<`R&vG+n<@|2iD#_>iqw)sUgaSBJ7%=P6rmux&r&SfS zY^?54adoTWO0WM?w%fGjDL>)cnG)0>1=l(xamW01D34Qres&u-72G7fgW1%~r-jQp<|#c(SpC!oL;1iwH=#tswp@HRXx3&J_IsCmy4ebA z0KC9E@$KGsb}rQV4~^bms%Z#>aByi)tv?+0aB{Edo`W2bY@X(x#fANC0v7-4ZxnrZdOu7Jn?H~cX(AkqpwAp0hv^| z^xU7{`zv{o-oCPiAz&+@A z>(%x!mhexC<~%CLR#l##<_Gh+7^*b!mRQx2RSKjStM~5-+2^=o;0LOW**6Q?^%Xth zUOdTkLjRTo`AI_=b=I{yQfM5_8|QOljLGmMMcz1&h&Q?MiziHWYB{9Ii*)lpjJ*<2 zI&J(j+|*!3Ff9D_PD_Q0yS+&I%M&r6ku&-w{i3Gs{dG4na=PlMK&c)3-pvJaQP}Oz zWSr#b{!h)$knUJ)nz~fV{UTO6t(>_0n{W{!_;>oDMC319K`%cX48pRfxUVL@4d_Nd z#{Kukq^YNuB9?|eR{uVU480X$rV zill=PM0i_a4CV`e^UVm6Hu!4vtJwu<#MJjNW#Djx4Cjvms4q~}MCBaR+TmmNm|a2k z+raqZUhydcFU!s3P^lWRe635g<>BSr_KxHQ|VC)Y5v<3 zr+*W>B?CaU1Vk=J?2qryl!(4tHzslmkE^>GJ5+!#!AK)7dX}`!{*UBm+)hG&g#vN*k-rmEgmALXHZ%TdM$H)LS^G_qWF%5qYW1~ zQ37Pd9|Ny*QA&km2jI{S6^1Pm?rpQaoU(SjzOuxJQF_p6T;D_8aFut;D~^4o4|-Fn zmd`daaaa3;@Q03qh+M=fUg^I(P4;OV&;C_uE1uUgCW2$LWg?7c;fEE(t6WbMo?A(} zNzG!b*&$Rp`rLXn^s@CSf1$LK@waD+G=uyuPu1j{ee(xq`^1|z1BD++n}wg^zjncA z4w88qU-3)#COJG@aDXvGy@@`Y=Lss~PB#NeWGD%3tND?Ftox>bo{XG^^?#KED#sA0 zL1>*4vr+<-00TOhFTPzNQ-`D-JUp+=ACW-?0mfco(76AO=WZA`g>1{r%Nl~2QP}5E z9c!7{G=+Nt34ffiz&KPuBh$h^s&`(&y56{iPJUoPWvLrxfN^z0{%GAVE_o`?&2+}| zljHlvGV*n^`JDLHuIQlR2Hi8t{5v$Os?V!TED{GR<6Gzuz`qlkdZQ?kn;i2Hk*Z+{c+>&AN3%r+k~4 zCHNGb2k8A(iJAVaxfS2ieh=(EtOZ=QSrQ(wZOgUc2X8`Q^1e44o!kKgs^x(8ai#yk zNTQ#)=%7^|vhbDDlt+-A7SNjiRK<~oLw&tA$zkO2Z%Xd(V zp^P}oVF~x>E2+}DeOetSJr&b0qC>-P3x|Z07OShL5UaCuDJuuJnY&AKSN)e>H30GDLnBK5;j z*!@0Ku>PaLkYc2iyc^Z=K=BCi!lQv8h4t!)uT?}%qFn^s9;tvHSH*mXHvYTsATu#P z$1)-PJ=6y7{>kNdVd^5L&URKHAXCT7TsArU=j()aCxAb2wrpF(x-PF{@Y-Tz)sCOB z7u!r(_U2*kQ2Cb7w>(IKQ1(BJ@-G$3>&Pd5DM8muF9PK{3jDtw4N+JO=kXCpj5fI8Qth{U1kH;TOgCwU-tpL_h(Tl1^#q1(fcR zmhSFm2?0TR1tcV-yHmQB5SB(tVhQQ)WxwzI-alaGvpX~Q-gBPwMBBVNHO>X_@O2%> zr$0v)&APmy4x0hW%!i%w&Z{ukbA(u^AM}kBmXeXP334Y`2kn*Gy%LrD0Yu+aYtU5l>?Mu$^NQ}J5of)gZFSU2C_5PLo9URxs zj{FZqKhs8Ne6h0Iy{)7swxGKCq%rG)X@F1O)qCV|sZBBQL8^2qc*t|bx7tQ0MMS8* zz9k=?`O#)#p`hu(A|uH@zriBS z_bO_s2&Wz&x_N8==<@LF0B!qyK2NFFhWX0%Ki1FuXj4Fel*0=ay zorX&|?9t;;DZfgt_u853NcU&|h?OS%+eE}?jbbDmU+El0lEoMTj2q3+^IBb;7-5iy zs)PMK*Wd{8yJO2M2G}L}l>N2Pyo31nQ+P#=K3bytsnUz2ZNukN6ahXF92>`3qw2>{ z5M)sA}=X0s(yFHuecL zv)z$`iU@&{A{-;>U^rPPE+M~UcuLp{t4uZw@HCdRB9UZ9K_|WVv=x;ebu^Zedeb`z zdqVpB#R7@F65J$MLgS}?>YPiLkz(JXaRq%J`~D)iC%Ew|8ohQ3gxrTZ{*sL^M~-4; zKlR@PYHiJ$Cx}i*tW2A?qB8kaadW8z;&gS+7AAw$9i);x)NmD9!sb)8{B4Bhn@i{k%IU7UbVNyW)_*VZ;*cTUGG^Oh|DY^4kY=5hmBUH9>lS@8s}xo z=Z1%dNCOSm+1ASCmoT!ZqXXHp z`tz__eq|!@!^~e9xcWDK8YO`eh<5w8Mf)K?E|?mhe+qe=e+svn$ept7K9paNyF+o~ zj_i94%iCF-zs95oGr9TY7AJjLq8;@nYWrErBaYk(5&;BBo|8G>WQ$s4SvX%1Os_6Z}g7-4VLL%0wdnHKgrue}Lra-Ct5 z^$LoprR*-cDNDMq6+QAYTt&n160jDbrCd;I&gpJ#BMim5!nJns>fxOXD+7A034F!d zeLFLwI%T0!onZl&pu%IhzaPaXWCC;_e*Uk6|w$GJycGbjhS z1?M*#m4XA7Lu$FqA=#Ol6@8}L(^ofFgArRHUM~t>Uot97(1jQDwR^($EII;r$+{QY z&5RSD*?+;)a*BW+c28$6byh+o*?3YQPibktpB2?r#;IL@D(b%hrcNgbF?tad2g#aAQyc7>Lha zNzl*L-~NAS5$Y(W+k85{gSai>n$v+rHnQ?TS2ff(RZY|NEQC+dU4h|eaG+kYnq|>U zVj0VGG;hb)%EP_}yp^Xv$E0Sh2LG#Zbj+uJEiPD6&c2Ri3A-BOR=l6j=CRwPXSj9g z2SE{WX2fM2_ZH>wkY!wPNR5d23(GGs08Rx+BpEJNvi922XN2t-7Zk{NHL=|nTN>}k zT|U1t5wV6c^fqhDMB9B^8jv=hwHm^ZTrF2{uB@)c7bVKT6Jd9H10o3KMKhO=`w~op zGC!8v_N@9rtavkK0fGC#L32T{>v`W>0SBu0y= zeOWFb%;Zj=>HI7Vh^_78{SLDr8$|OHVo{;)|AC-{yeHcj(J1=+O?u(=KD^x>tp@V4 zyO&D_PcS9ks>(aIahzWruDOBf?_)(R1zAtU*j=-5!Q^ufSeCL9|1_V)iBr z%c!6fUu$LH-@OuNr0EshXDe#Zh-VZ>soV=Ld(^`Un&xkx7NphKbh`fY?0ZN zkh51aM7~+8<=?Lmnh5=+`MHZ0@}nq{5$o$W#QB6{PNLRqp=a(B2Vykh`ZEP>73;hp zHj{R5`ul9#2N_IYxn}XJDTT;uos>2@)FDc+_FZ&BB-okJGaxLk4B><8!GpV}Jtn5w z?_2$tw_y+;Ri(9y8?;W{foMb9@_L*8)so zA#Vzp=bF7Sjr`Kg`G#W}Om80ljXL(|t*}_r6Fz`;&0JF^OPfv{_JNo6PE+uS)F%%& z2|N2b*1kugR9A1AKE_-njv4oMED=d$?tJy@cxO-?q9hF==Ar@AqtxRb8jgmGVu|6$ ziVWf23Q~`<`q8=zfcuiBivO-p1u^vlQDfy$0q%{w(#?JIdWGb7O81fW_!!8|I3K{Z z7{NrU$2=Uh#p6HXau7ECu#dtEYr&WmDtN+hiCchPI3q1d`}?fjYDhu!8$^-7;)FW|qirE}wP; zTJ@~LFL^}w)ap=zsD=bm`t!F>w3oN3%R&#gv-7Hsm2k>x)_)+GA^Z69+iHPDGTv%+ z)a7SjsRVDf`E;GpyWWw~3U5(=1cxQ8xGOBBwZ6jZNq7ZLu8@(2#LhG@opYDSWp;m| z`<-GCLo33Bts+l**bM#g?g2W0>-Mtm?qb1V7jNcuo$=Cs=1R1K-;>jjo9k@-$5-Tx z?Ok2KmU-$WEpM_kz;*9L7ouYjwi$tv_wSh!P8Sm3*d0ckC2x&(Nt70(7t<6w->k2L0-5t*_gclnB;OHXbtRNvr@Su z72ib@em!$CB{X2w9{msG#LN$We4su3%txln@nQM{V%b1n`@p!)PHG09UbqM zf;e19CU9$LMDCdcU%ngms^9;_EJZ#zjVrw4XGELepdi@kts}?MZDX1A*8`I`LGsFz z*5&LOVSj%bdn+6jshf!YDiB;_YT5cv$O_m?l76m3x9H_La9BSaG*x>2*YIugbzXGkJbSvYkVD7-vj zhwd|b*}A_LES(4;a@40wpGy*J7AGL0xewX{*xB|0xEnX}*V%crUxzsXvTKF>ybJA+(*)EEl15Vxn(rLKlqm>IHzUW;YAMj8@iCjna#H^ zUiK(A(?sdlLWR(}$)t`6d|u8tb;B&W9#93(Osl1|W*EhS>ZC8XPWhVRTIpSWFItBY zK8{@j?O6@>95@?#(gGmIhsh~jYXN1sWR8>0tCqg4an>6$aB9ByVRxH#a`~J1`s6c> zeF2_9yDg6%0AbO~SCWm=dipZCHC*vmR=4_{txhtL8&C(}y3&#yz_4M5GcFXIug&g) zg+thdo8n#cvzZ#VDL_)GqyY49o6wZRjZzrf0c_A7zBw~h?^wt~@2sQ{+fu*ISS{4D z@~yvzhRm>1i(*>*?AfN>hp8cr4p;NitXM(xa|K?Ey_N>v-gB zOSofHi&z!SQ3Ued<`^6dD}O=VO9uS06@6QC#~pLhwa=uNg5sG#;M5BMWa+XK&HajP zYh9hPehTsTDg>Ok_*iQTgiWEnSz2rRvG4H(P$?L$P0jxch{!CAH9ERCkdQPQ;mO|Ew!|>g$?MFez|R^ zRchD)yi6icn~5p`iahS60D~Duro&%LKWx_7 zzMC7EGVEHkongtQqI*>WR*ZK6Rj$BX$C+sJVs~A5-6+hL4P;sJEIXuQW}A9r?Nn4) zu7#}2^0n{%2z!V)@$Mk0Y?VNlhdP0a-y5;EInS9qh z)(PCv#~j?cXIO62cGzJ{$`LJBn-%Q`XSHkIg)j7cw2Z>bJ>v@_fZIsUPBV=HuK^D& zS9M%h@yrJoJNawe_d-3qoL^CDV&}YxO10^tF-aVP)vs>5X7fTQ4M(HYpC>0j#wvhm z`L=SmRk>=AOqbRY4P2vuzff6>N9P&|Zz=p!J#?g&}^% z1CV?{MA1Ubt8LHxw*@$D=J&Bo=>xJJ+yd{1dr4LZLS#M@FWvx;i~7}46YC0j)U54o zT#M=gw&DB5y#6y~+0;|KipH}Lk zV-!hLkr5S6aeriY8rTP}c6=Q#qx*vPjr2Zt^c7abiLOn~ZSBXTqfeh3esrtE%`h~c zac?VFOzo!FeI8C$78BzR2*sEn*5H%g$I-~RN*{6&kYBfi*dZ^=70B{{-Fx!9<~y`X zU1Q=X4$Yw`uBWBKl4z?_ZhM-UpU_jLX>F&UC+XSMv{&Dq*z8 zqsC8x?z8>TON91J^ZfngIv@g$CMDRF2r!!w|5dweK)o9{6rAR+})zLS*4}@{Z70G ze5AS4^&jrfKAPjENl8=}o*XqN7oU-U-xrl$wfXlW zC2>nf3g6J6I0rne3lB<+9@yY zmTA`5*U{d&9^P4{zqOX^`5C9;Xk|PS|+M{H@Ev%yFXtq{iU9wp9J4) zd+LK{1M^fj(YrBk8v|1lG~5hgk`?x!y4>J}OXJm$PZ$weSLgh7l%N3@pYSP1VIZ+>P}Ok{KlmJ?m|4T-kxCBV^1mTk$P|FV8nWXmNqDCKebiPdVB33p>TX z>X^?SXUHSR<`rPZ))r1)gK*bIVA1>&;Bc%Lnwx2y{=-6R&v?qGCbSzS&&$qHA(*2o zE4S4mh4GI?1^Q1X3i)w=z9RAdI2UQ4ELo2+kzQ0EmNIlf8-pw&`RlNLR=B6~gXnGO zqkS3CSX+6DLl4-fe`M=19|IjUOVyR?S-yPutM02uVv43)>~Kg)=@njVVGC7%+j*lS zCjP&-fI)~7blH30HBp3>1bT`1a!}GjBxpj}V5+9EMAMt<`=1RfIfBA_D;nY^n@7j4 zz)lalB}%Vn_CMW6UpLYvzCXXL_S8DPE{!t!-dIK#>3^Q)&a1f+N05B~=m4W1OY1I$0=T}7t*o4+@+7%xcAt--tn2lr4C>D-f<@tbB z`TSB$J0K*pTGJPqs?4#fC0?4Dlorkh=~%7%?8=TqFEEc4Sd#x%c^_zuyMjMA^ZfnU zwk=<&iZl?ke>n>0-qq8k*vpLcAPUrFA?+E+uD`ER#F+=J4)4v^d)V(g0X4hvAEeIO#@pVSfd`x9X#SFmr+uADEyqV{dj%zr|n4El6ck^j{z>Old(*{g8` z6gYjgrzo}M4a{|ts8ptHGco()W#6s9TT6B_c<=c4&;msb+_?j>?V*DWR+jmd+sg?} z1tCUt@*@2QcIv~I+H3eU>KQ_4H1ozKq8nbX?5Us_c3C6YG_m{&!&G4@+I(5rYEj*oMV zTgs_hS{&am&3d3MpQ$84Mn*O*t>u8Y|uyM>^1pwYT-sH%4`QY z4$K~Ydmo)Dxm{MC%p@Gb!%T3Zk{z9N3u%IKDkU{9X_1-~qjD)_Pi<&&i%d*5Qhns0 z@vXGcRbD<+&P{nZ8j38aOZVJiFLE~``~LZM2GtMSWuLUk<*S5)m+VR~28~2!UghOo zOlnc_v0}*aD?K?;l=I88^9g1p2=*Hk@cJ26V(tNb^a8Bqke!rdp!I-QOl2mb}EOBkZ2-sN|ibO?_ypV5kjEwLIs?I$I_%WStLwrrC6N1Q}WOn^%|vrjq!LBn9kbcQ9K@LcIrEays+D?2O=UD*ruxJ zAI`*LhYOX0=m%~YXgfcA;T*2i{+GYOGIIJV+cMh_dbR)7(;IK*LR2-)Axw*TDU`j; znEe4`lGt2Tw}mU0({{mDa2(pF_Zl^|7qCp!`tZEx(LQnW_Y1ub^M7cKtZ9)dpC&j0 zsm+Ys_}-v={sToabTEYL=k(iyLYfA1$yS4YFG-e42rY%(rKo-gQuUq$iD0W zoYVHSAhzUxj)HndzO*5U^k$Nf_`k;&T+0?RF?}A>jdF6u@CCM1Y-|kOp#6jN0 z4F0M+{9VWif67P4990i3J^^Z1$)6ap9{V?heg6#qLJv~@18HkzVC3)jdyTdTrq3@k9= zCKn;nK~_r%-xN3PV9@`mX?asS)ZjLVP4jy0J8AEoKh0{qL{ngA4>6&`;o1=&k>odh zu2*xf-T#WL`-fVQUW9b-UX}=sv0riWKOSD(&C|~{y#%pDdGiGBe857X0hT(o()&g~ zM_s2&O#MLud--<3`MVp--${Y4fY^47pLAji;kHHak!1Enqc*+ozSili*{<$BLaVr} zG>L!XhoujIGb?>2o(s@PC8znfoD9eMZSx!j}bafkS#QvXU-9grCH36>)# z|MoyKC+~}^E6)844{dXE&@Z6Uve9-oa!Vs`tQc4+*YSh_Q=oVY=PeODiMVWZQ$l-n z?Mip#F39Iyo$VDFvfL4S%g+XhSM0h;J8Y2})fQObbtg_Dpv2=rMvB!0AKqv&uA@oc zu@v~ery7lP@K@^Q?R_(%B%j?e6)l;uS2Eg zo@d*Zth@;;A=>H5WKLyVe5qrGBSZF(JeAmXN%O5<(PmgZor2N*d>yTi_J%Q?e6cc9 zkIvI5_=cXA&aD~A9V3fzuW44l#_6za_O{l{eb~}~c(#>*HDjp9c%IQXuai^DkL-wLM)|~Hw64S7he3YOQNEF!yvEIM z-iVnJvPzoGeJ^E!58=)!@{qo|u-wtI6_WY*4{rO%XlH%KY6 z%h3Z#Cr>8$%Yf%!H`S#*b5y^3{!IJT8J0PEB(D@~_IJfCSWOS}dtm2(Aj}K=WU1vR zAU6U_Y-HZ>2#QyWO}B*)PTrD^(`!+JeZJ&-)_j4N@hvEdBSJwDYyN%T(l>M@WF$iqyE8s(t2Hw$E#S;QZDwn~ zdUUnp+ZfR-|AA&XD4oTXp8kYHru%|k?|Dde*c7+4oXKa`SR44t6Io(EPO52`o+423JPKTm&!L}PLWrR%(*x6NT%8e?+ZsM;k{Jw%>JFp& z9STOc2mPGE@=N%__fO?bpWlT7zL9?B>NnD@t_vxwwOJ)=0K{MtZldHY-Yas zec^sbLOtf6vyuQI@XlY_G*0{9eH~;y-HJ4k%agXAmNlRFl^N^t-!Z?l3Ts;CcyypR z3X)mJ3fy3#>~&>7f#jE3)t(V4nke_}m%tvfvO}sepLRHR|F6$&w#m-rvXt^nv++UP zYH=w1k;(%F96JFnD&<90Ij#IV2a+#CL~vijlK%r?(CHl5Z))?zKFcMlNB&$^TRiEx zz=ss6MclkH1)A}sSB%FTB-bOoyXR$Tav&F@-~lgP23n+yeGX@WN{rXbkzJQuH#rG^ zcZ5S(h4iM05DC}SP4rQUX6l+FA6D-KKeL*o>BFJdo@}+cgy8=G8q4;_SJpJZO=!_=GH|{)Z59EJTe*B@}jv=yZHvL|R#-@7rvCuSQrysEsPu0a9eGJ<#yaxTDP zw^#?(Y{=QKhJV5Z68FYrx29m5xu3|6A zW?tvLipe8~>tt)%pC*7fBqo2eeHBj@ka)N^0$;zh15cu1+>GJ+@U*YYiX*&9P);i? zxq6P5xa7U-I4)i5XS!z7D1~HP(VcLjcO;LwY;fQV$VqkDqhatunoiYaTQ`` zaN7dW1XfXQMA!@x_`@hS_St9K@e8l0LBoro5b#bz@pOkCI5xs)N~p#4a0H*B+W>I7 z_d4r;CqpM4Fsx#qSjv){)HYS2I zdLpDVE9*lC8aObLeCjk5_XDivX{sE{`b(>R`ZdV;*PgtA7Y;v7T9(?8kx*v@f%X;1 z9)Rg|gCfAN_lgExQW;nC?hAEa<;(tY(V1!aH-4a4#KLXHP|B4G@21{MfA>zEe%Js6 z|7}tSjE1O6+i7ED5^u}Ayp7LsW0*ra6cz5dyQ6K+_%ppXkBBL2FR>_F;)0Yb}|+baSRdS_n9hKes5{$vr_2nr`n{W!m!@=RYzV#>!_r z$F{5IA#1SiY+u*zn2Z0yMjI3XNOt*kqf)ENkb_i;1pJAIX8gC5!uQ@2Y;v#~zQo&d zFCaX@%dZ|H0v*aw(hP>;8b;Zn#)p_JCoNWi(+DKvKTnxoLZD|$>~Xyunt$5&YHbqrpjx#HZw z2q_qLlN*{#Xjl!0?l1kXqi` zVllpS4FfKL{nIy+s243ew?YdU8l#G0&lmXR<02M(XiM|B z-|rWw>H1d@X)_wJAlqbl8*-6}xfgHEMf}V;QsizCjvOQrW8WwQUFu#~(FFpl>RWIA zT4CrQGNae>g80zUngIxydW8H?2Wpt>yywUvSRHzA%2|ujzme{92y{mTN6gMgpU4O18 z-@?A8l6zVlzW=Dqx!OSvV{)+lkYSS&uHhX zDuzaWIdMuOMnBtLZnm8fjw#d)BH0WT$r>#WdBS=@$HSb&>){1vBrB>H!l8vjCa#H~)e@U?|8ssO|RK0P5_zlN)& zei9*T(~afnp}~9yg`ztRvgEo`+`3OQOut$1tu0>v_B`mD^B0#W#WCyR?Fa$``4TQ} z(32dtDp{{~ybR{w-zTIw`jQITdiMh!gUhO^d;4&J0W#2;u*VV;uf4QD^UmUlN6zG7 zo%f=3E!2sPD~-~J7CsZ5l=QgYVh@+sULKBGh>-t?QzBd6b*G)qVC8!uKJ9b5D8cTY zzn}8*!&&_A@8H}zqa5Hn&ivvB)s63QCI57SRq`j#*z=e_u?RnD>Ebyj)3*+zAM&Gv z=Xg8peyfH&e2V)zlEUc5vyDz`9g(w7`4N*D((AVcCxNT!`<;9V-&P4LO^j9c<5RQFGdGk<53nKAoEpS~#<* zg1g(|)0W3td*1Qkzhr*BM3e18P;jr~A^%$FBN^fB3(}f(_FWXi0!AOS&$b*>PU?ZY z4U$(plBbr~Z2D@yPsRIzfB}%oPOz=wkBxkr(vSP1*^uDNLL0U|JA!Ysx;<1bY$3EA z^N6>hmfrtvs&#p@%B*ffp&^>^-dzI{eKOY!`P#%I?^^dBzNa99%CP%F!b^ipD0u2$ zeok(4_XZ(>I|;p?t-B4ltIH+dcRu7Y!@DwsJrEXXm=21zKTtT!qeo;XKRqzN|J*|m zCl47a$?Z!jq<#XU<`D`HZr3ulyBN@y-wZa!^m}XV(1WJad>O+r(F`AK3HPNWQFO)x z2dvAj=+b!@86-+S(J~b3`G>^~0Y4pYkI;l^@aeBCe#M2crwm>=BRP_I)Sb|RHYalD zJG{_7&*1LtFxw{}A4+<~dnDPiDv|xGowKOYshrP7Qu0^jonM^&VaCDn%&y${QioNc zA=%o?hlg=L7t<4#`EPGZk2^#HU#*=96*W-yzXw5nW_~z*oY@^dldI>Qd8twR2pW9T zmTn`=Ne3-=hYdXq(BXrV2%oFtQQSfEN)m}2IMs7EJC#A_*cxT1SU_A*5&YBP`FiERLUY6yb9v;1RIcxsex`$4Dj<_Nl{2ev?C4vjw zW1I3sqP!6{6#dj@3;J|7aiZ#NXx_g+5J@v<9bpsGOSU&QJZ-U$6D1Z!A}3dj0JM zR*4kqFktX570sn~sHPc=MjG~OXHKjlqXHudB>yGPg5$uE;`7$M7dq+oiqx3J(*R1h zK`~DxbX)ErkN1d4vT#~XRTMdqlGL>D#k-8;oJ!e*nJwjw81H&wiMC4Vs2IH!AN?~% z4{i?(@f^wS>Ga>Pc?`PA#fjl4`?`NOzVm$tYG>|kUnGBjeWFu9R6go9+CLfU@H+sv zicy+&@D=6t^rkSX>}u8%Ij?86A3Vo$9CvdT(IbR66URflkI{j1Pia#+ikjFwo>GxdoRiDGm7Ia^uaC z=n+RZ`6DsMhQ!og&ozGkW;yHZ;`sLC^hP2?0Uv{}1B5G# z3_H>Nk>!Vz>Jjh+XjbNEeiZJvRO~MK#q09NJhP9>!sSN@qZ;&BCcUwqe>~&*1-1>? zb0S7ZKC-RoMa$nlPqT?b4F_Lqakw`QM^K;TqFYO|KFrNLntqvTJ2KA>aaN>Bu7u#3 zL3Dhw2uF-)y^~t5HOdp<+>*+O5)sJa2?pBN`%C zteUrf_M*V3$<_EzHqE1_+9q%@LBR1d7^f4lg*rJ~ss}}_|`BtmZ>ORjU71|=x#@XGL)P&UX;Bf86%K9Gs(d^Kt zE>_|>QdfACl`p3R4{2||>$i0Oi5K(=c4~$+9x4MNlkXk4M>-|{14T%@?ynI)`!-aPCc0sS*@dC z8z0RJzPXdCRA@Z1O?und7q~;owyUxr|GVX01Fj;=^vdE!42?U|8WxQTEOWV&fmTV1 zwa)dP_ci+oGu+XhR`OeJ(siFb7HwS)Xhon(1Jz#;8U6=SmE2}ThyQ>d`=Xv)JyQMM z+iGi0k{5fS^lhm!q#zMaYkcnbEr-o{+pbtHL3Y2AN7e^(Z9v||o0`J5cniAE-ds}b z=o`z>nWdfkgOLeQ&ai0`FJkkw0OQjcqiIIN^ZF8HO34Zg{RKXP4*mly#gk zkCRM`R8AGcTwSR~upaWenEcUzda{sPlH4zhl$9qb zs4t`>XN&wcv!wLrW{8g!E(M)*xj1OFi38d`MG}Y6cw3(|JXLbIF7h0Fb6q1URxm9l zjJxa?2Gq}vs7P^|#p1lX=QNVis7Mic@MX=1Glv5qg_5Ogb#krETzP&$PnfuYS7r70;6*F%&__Xu(8>%KljY2?l{D;+d{w~-?S5V@ zoXQ+LOo^KgZ6g2dr{J8&BxJv6dVm>WEQru&?Gy)HoX@8E&zWr~b9T6;IcHzBPEP;k zlDy5bp#SAUt2qbM%hnEHB27mL#ADm#>(zpvLb1RfPk*NEk{fHMB~N;Q$XGFSh(KU% z_=YNYI-#j-+((?s)WOBx6H$a?>?T}8edzs_HLJ2$E(0y_6O^HnbqDdI+TR1AS0~0<`P-S-in@|8ICTlD9 zDX5|X9ZqFBgJ%hiji-0AWQDY-bNma0i+5tvp7v6h0p()J9ILVm}1!b)ywJl-B zHM}#!^Za-@#^{*HZ#3iW$}Kc%*lRcN?pL#1NW{gFV*O!GT)O&HO%ofxQx$c2?W#N7 z62&efj(GAiI52s--T9p=m6weepT}Bo1_scr9@yrApW@aLVY~0q&{2YLOvJEg79}Lw zb)HqpGfhPw8rFkf{B^=6!dtyl6h~8(I&%&EJaH_rlJ}ZA;cz=xO_sykR3}@w(8Gz_ zATGtG8t*v6TIC#bEpRwjA~TO88ty=D%LJJD_8=^Ea0|B)S^18vMHkH+7HyXkM!9=S z4RKjE)!A>lm^?jw&eB%;DRwEypADpdaTsdXVfR!8t~ER{jH<7V&X>g~&9Q}uh{bB% z{7T|oHe!|w4vfzd>DAHWdKOf%t3UeW3Q33c96-GHx`JoGz|kNR?Rv(Eb=~R`6{(YbO_>7_~$pOPHNGv#^|L8gKW7bvS*w;ia zlZC63=Lc+H!yj9)_mteVg=}C4g`uM_AQrG^j__uE+8aMRD}+-V)UYmVUCNZe^p|%} zYcx2R>PNR8aq@=aAT{X0O9`5R)@dU4ZGWTe>w`7I&^8PXk^J^rqEeA){T?H+$h76_ z0O4!r)6S8RyRh!)RO-%gQ3b(bldl^Y(nFrtw}8N&hm~~u*yj80+7}DUWiff$nfpmg zC)7sLHCCH#v_TTa+AB4f&7b7JMzsHm6Kq8#hZyJ#i11~@fQ;l#stEf4Av}S_6kY7X~M!~=D z)Oru93F;*)gB-DEY`Bf2h6utK0kLIy>0qtdCGad&rUi$;dTffVZae0xybE>##L zFD_HJ?u@LBMQJkXuTK*yS`sBc{z@u4fO6=Xu3Nx`h#%c*l{@+~@NvN30UwF6YD`qg0GTj zM3FgolA%7AW#;W${+3Mslx}#tvE7dun~@V^5|nbdMiZ@Y)B9aisVeQz2Xn4VA&RH? zY3{edQ_1&Q?bJwTfaat_sQJc;W0#tL;~w18S;@?%R|$Bhnu(87I}aUF1sF9`CKs|hOvVY zmJk3Kp)ckLBxh|;>VeI&5>I!@>FdtQ8Nhz_axz=N1?=uukSh9%{{KhCBWp2e-;MPS z#FiY4OO5SY6sVyXz^?M#nEtaa_^pj$*6NxZ zd;SwgP|30Y4hU1oU_4@9*fnG`Q)NPz-s|KRa?Xjx2IXmJ1)X(Z+=Z#ftAEc|iEJ1x z(~^*IWQvYC+G6*nC637Xkj9;7*{qClKm9@6MC?_XhD9YIyV`cZ#}Bj=fn)cqy8G43=JBs)ym z!)SHA&#S}IaF*?_`1UgGug9|2Ox(qqA2t-GGbgUf9@>7Kpz!+30~YbtAINAr+oz>x zHS6Q0O^WNLe18qJsd?$lFM9_KX_#gy;y=@2(aThX2>*jT?QfavFc4aVHaEIG;yNiJ z+Fo}T8LJceO+~!BMn}p2v_JHK@*-xZtlm1mS~#_i5m&EJA-;F%g_D$XxF1Ba(9A~Y z&sv+*e_E+U(gHYcq&AeuZxZKymHnWa0%q@!diQV1AMOg`5TukZ)X_d){zD+v!otZG zZCQ!=gT60{QcTrte0=K(2)5AL_|T)4Mt^ilrWsrmIm z)8o<#kFhT|@pHr|YMmSrkzCNE4>@Odxy-=?l_#*TUL+xp%f?)ip~7C1s8LZgri^B8{Fhk zp1J*~t8&+k#FzESZ)2UvE_c-q?wa(V_O=0vp)%_0Fj{?O?4cY+H9psDea zBwgs3{<=xcE`LmvhKqkMT!uXDj!v=W8(RHMFhV%YHZARVGKPY&2uZ&*% zRN(YJi0?@BKN=Dcgxz#~3cM0@S;F~f>wM@N{vk@H1R@RJjg`*#D=f7>`+^#Q5scOM?hLcadrAzgdY@q%P3ZJ}&x`+4oEeJ|J?PO; z@9R|{G9dA(UmjrTahk2~vt>64Lrh*4mAIEDp_8ikjoz2 z+{ZyhfB!m#f7SZ%9yt_ru4FKj_tpiK>oPlVy7px&o;oO`|2HMp11}aBDjKY?8$M&& z+D+zC_a%+LmIfq?Rdx)Zi;bKk=ViK=Vro31v;o6y|NDR#;(pyOdD4j~HD|n(mcZ!U zm%kuaI#D<~H2=#LVo?|Ft7!Yw3M)J?I~X{Uj9^D)Rm%_Yfmt>W(zY=f7!;gjMDiL? zD%jz%=I6?|*cCEaWMa?mnIPid%Mj*S7pcy(K*MSy{|82=)zF^*G~Gjf5c02S)VQy&iP*0Q(d{QU^dt%IA#*?OUj#U`;#v%;WsfdKMJ))YP~?gL(q{k)pAIQ zLcWX?k%?$}`H(Cr3iL(VOtt{gGG#tUmYDlXC5KXih9-J1emlV_jHIfwgTvXl?r zl3!_?m%Hg+RduIZ%D&g-Drauv8l!TmLq~}#+tSzh*BZU(YHT>>!n>08j9@b$0i{mJ zfsnq5S~3TReu2l-gh2Q0QBq^oH|06uReqaq5;&ApjsD|V_1 zbm6kOd$mqyRy(Zd_%2>AX&A+gGGw_la@nMqC_Z?O2zCu8%!7nKDS%?0Oat^gkgS8O zW@}_}$uFq{0|_@!ckmpj4}ty~BFTU8*N-u~EvaVWsaqa!tRV0oO(pKS;n`L5*a#t? zD=*-jprdyIi^#bIN8QT0a)FxT@)i<0+3U{50)O!4Y`7&^;gSFiu+Q9zlF9HryVtwR zN0i$fMM1A_AFS5%ul87A6B*&<%jk=BXjQUX-MC+sD47;X{s$~YTqCl{?7R#yXqeuE%XqPj3FhOzkQ`S{ zO4#9o3wrYry4o&}8$@<2swJKD_nBjiAk&U|qn zu9d?3K1Ue+*p7Qwh2LXf?F|VoN$UR`@93w$O^!Tlrw3Sz`ZEkFcsn)Zh;dq-w|-WP zoOtiwR($>0p3Nmw!>JiY#fHA6-MvN9B^lajRXb!DYPbSub1op1eP#a>3Oz{EB31@I z#mYYLnEID@V7u>eF)KDP2b{?$1-?c{pRGg8)f>o@$J|ZVW4|(ip0E1O(q0T+%Z#u` z-!4d8H9n_`Kv&8F6(W!O?rZ@?NZ;4G${X!R5%Y_lQg-XkvD~jcqmcArZ$WbL{u{>%s#@Zj=MJ<8@#25fgB26>sC%e9dy z5gF@NLzSjgh4BY+Ig3`sP7JWwOTF-HoUneOp=4f6iFjey)`o2h&HHZP98L7(;U7mM zZJtDd%Mfam3u0fF#{2MS5{CSjw1yl$QR#HIDgDzoc!;&5I{4i7C2LUV68?MeB`kER zMb>g<`_#`I^fZcoRc1js@14o!POLT-NW;aaCCvQJKNvjG?pr)p!{$`l^_FQ(vHKMF zl-?1vEG}qBz7NcQoS#p(PBn`VO#>j@=NmzYLfi{(jWl_aSCz4uH@$1py*9lmwC46P zvctV1^~#_%ac?lAzJOM}ld_~CDc4I7CEBuus@Xjyhpp^5{gTFGCH*3u zIQzT*KkdSFL9WR9=%OzAv;BcZOkSdlLOuO#q7Ct-hL}k^rtELR6*H601#Xc!w@e`vk<@_p3m=LQ;3>2A76`U}fkfl)MfYhit z;cNurMBO&EcVy^-^F>~?DTacpdXU7}79v~KaQ*`s96n6N`|90i%I^1NC3MDh7(T#j z*ptQgtN^|FxNGYLB5Yl98WFB*EeFd86>u6W+f`|9z4ZU%)HL9eAa}jT*)ENF;M{|Y zn1Y*D#-BM=4r8dhX*UI@ndV(o;XXH)ZV5AB-bL4hOwNKQTg;cOmroiS4ZYIz)w(d5 z%1uub#ueGadHFRUTQu`OZgeF5J6M^+c_)AJGo(#s&rZ}M)^AFc-D zj_f{kidI&hI^o%g2Tw>|hze<@NzIcu#try1yb&Ud&fC>W&o2CxiOIWU`jW_*t8%ib zxpt;Uz8dS3)1R5o!)k~%xb3gr@K+t_MVoZG#cSw)mj)_4&7&jPRC)Zy>=&&!y$|at z!^DxEnT8V&HwC=@%8e+G=|h%$`f-79Be8r~Etb5BGQR#Q_qMXWEQB+R3+d*raI?5` zY+!>xSm7P|2g5gE^6mtxYl^hq=U0iMvZB&59V!j6ewyXJd&?q$OkUG1jhHyNUo2vw zb~rSb1ZUWCTE2&_e;&m`WyPMLx1}%_uMlL9)72|(;MhB-T5MaD>V#*@By0G201{vF zGBKYG%BAUoMnmn81C^#|r%j#eT!Lofz5p)dxT5h7C}4nX<5*!ibS&O=KdB#iakl2` z&y*T_&yWGlUpSlZKFOb;D~xt@{c21BLTDWZ-ck*Z7xIJP%z7VACR z6iYeFe9s&oDA!L86XE}owNduD+G)oG8G1YNzvMQ>IhTYwLzktcLD(LXMCn@N%k_Y+ zoH!u7^b?qz)7CQ_mUk4>45gtEu&tdP_U;wAW!l*1WwuERy52S@IFQZ`gp1GCE?sXc zCgMCxZ3~vhXU7lMeZ>-3_2=UiGk}@54d94+WY3Hgt)s5;{#EgYT(ZPLCNiEA%E7;C z;#En6-0boeg7zYhXpH}0d|}iT<*MdZBEDwVi=d3@NN8SD574aIh0dN}yzszgZ)M4k zfSsVt>m}@)chPFvql}W{JId^f)j5aqVXv!I=u-Vl^5Cqywy;cf#tB&ucyDfK_LdLA zR|gPCtso#VtKb^e&eM9`wj+$R0VpXx7BOX;l+&O94vWxFZe8*~j410$^f#79pl(pY zwBj;G1rKsO0HjH2VYJ=RI4Ek%H`2Fea`*^*6}TA&*BBY;wkv_}?ja>wWR7KRXLBDY z^A2eD0Rc+Uqp-FJ<^kv7KY%bF)Fgzjwu&{pkx^vHKu5?y{%Ao~epYj~r^Ko0nE>G# zw%jF016y@9+z0k?z&cRNd9SI)D%k;>d&ev-`-mBd(h0ka<0ykX23Y z4kyX_L&Z!>>v3Yja4Q~U<-5Xkm{sIwOYf5WSCI^5&TklnW~PCkK!_DFPd*S|g+8q` zj*{s~7!JGwHVxC8jM5!A0Z@3pZ9UEx$;K1Dzn;Xi%+OXX%mc3Bi=K9g)Z*v`#rf3! zdsI09;xpUGM(=lT2jz@Y`g zZ?11Q+hx0&ccb~M4SrSKLi+jo^V}`|6eGrVa^6hVan(f9^)5&o13m8fy*oqMhMg(N1S(&#o|%xVs~g zJ*$ZHO?8vmQ@<(2bS7oQG9`PbL9D&pGkQ}4&meX!)LP$0Q$b4cu~@7q386*1bHnS% zp=&?c{|i(^pZ}_*+Rf8Xbe06BR&)-&s8KXf^mTupF@dLwBsc@wc> z{o$KveZDw^`?do8Sn_%tJqXn?<)^^z$6K>#x9vzY=uGVPH{+sk3LA-ip6T4=_Cs;l z8{?btrF=3^3fTU7vd^6NO^K!)KJEBNsPZ@|Pp#UPl*ueq#u_ZqGo{SWLx#lpw|Jc1 zhk@i|3a5sjCx41ZD0&u}%ZN1Tqs!or+MqOHy>nN*gfmVhTG2iNkRv4(pMdL>_YNP~ zNE`@3*Ndrzk5wAJ?Q8scq|E+pvEs>XLMV}2oC~_8j}uoVsCC=P8)=`@m?rQ$Wr{yP zsYC)+fG>FF=gkJeL8ejKUlu0^)99Q(T0al5g&I~yo}Pm$?3W2v<_`S?3lAT}4StwE z8odbSgpY=|MN{fN!>=iq$aPi>hg2VeVZiC~b6XSKh#WLtD~aPAG5)krD8@bQab~2C zfgGmU0K$M6{z47vCc^COFhGhMAAB% zeSLL$-!z*Dy7}1F3xE4AmAy(Tcx4QFZ(&v%H`GB1uow6S?xw3S`u(0F@qbDOEe4OG zq}0SFXbJM#D^E1ho5-$)i zZM{i*N`JdJF~KR9xKpi%DDSr{lsp&z_?7E8{sWn^>`dOjB)?S?8n7`(*}*OoWKrf* z%$i5GWidPI3e*!!gx05TFVfiK27@4rqz`)qPGFnjAXeTW;SeI|!wimjAObpF(g71rqt9ke zMBmpgc1zkdc}xfPNB9+a=B8@w&Cb`AGTRyK?jywSe=ifXVfZhqhOg7p!pOvZY>efDI`b z_3FNsoYfrp_~|xCC*wFo@8EDWOl~>{k|i5^SF01T_}~Q!UAt@_^jSi%k2kT~f@N>Z z*rP4hNkv4raai2ngC>s^`s6*ocpuD;M<@(k>^z{EaEKy-b8XQ&tUk&*eGSa0frp?V_jW63(yva*_t&)DU5^@5%bI4k*0XQCqkwg0MM{yow*a z{g`O!RH;JI<1_+moEhQ5{juW&OY{E5R&>M)#Lj#6f#VN;{(2~Z?WBh{aF>G~Ees)0e~F>8$XNl7GT z6zM+wY=rdi!25}56@P8)n)f$BE_iezkP7G6u=s`M607{u!0R)T*z9g+X1S|C4{OiJ zQ)SD~y6xKr>)mPlS~iM1jGcLmWzLuaXtY(*qS##SujF=3MC{h!)K^R8>536744_;r z7sA$JNpj}+syh*TQ+%~VA$V!W<=JkcQ?%Ucs(+kcP0Fv1!Gx|`TN;_(8ss)19nlkYef5`4mZb-ykjiy~|2<3zNs zSXj4mxcEegAC=QC_e;ndeTlmAt|=_0mutrt)D$)oF;~86<-WAvl}07CMHG3f+JDle z;9g7`ggPUthVb|{5Hcqq@*rMG9OEu*o5}4u{FWZ{ejkM(F^7lftRIk5)SJ@~l|NaM z4{}FJC;Ov%U&hpX-X%=d83qDpTe8geZR$hzd+`krPNw2#Ra3jOk-7N+EFiY zqUH%}n|#WnpnC&qP2V^sQJkMwjvP+ z-c!oE-MFbYTtq^PN>A~S%Z*rM=va(MzAsap&Ne4?kknjxX@}nwtKuTEv1AJlkm;+8 zM&(bRmvtE10{J&5Dy09!S_t`tZGf0!iUe+N{+((Lid+(=A2tq>StRc7(vXZSW6LhI zn{GQ1M)U<*928uS7>oox{RB_)8h;`78l`8)&d6sp&S*=ye0at9_nY&JQ*X{{YZ8a$ zqrl&0(}*7Aww^Boo|P_R9m>G|^$VG?(mENIFa(3Uhphyzx1ToVI8DN|QfIjP#G+ zJequS2fDG|uJ`l>PP=*VLP;JQFw41rfYke-$tI!=*NH#*d9i#BaTA51*Low~4`pEozCge$6i+2#()*=~mbc{~=R; zM*gmcLX<-&vmLGUjTs#lw(RJ456FHu?@)I{r$vu__$Q!#k#!QGHI2xEF%^6l!oXaT z7YeyY(l%vN-FqTkl%oA=;Lxyk*UHsE`=bA#<`^l6V=V;27zUXi!e$9!-BC}L{m|tD zlRIjC*fmLM9zJ5Td`SfIjZ4ZK=2@p6X;_U9+!fX-yfcyH#Xt*nNXG9^_P;{_3P06< z`Ov=bH4Ji6^~=s7_0bT?RcH{Ls09Kk=)4ZMda(A7wr!Ve%cK` z^$!}7me!3n-A_1`tp{l{TlqKLG98ONI@~yp#0>BHT~hTiNSXe>aakciU zEUCxsr^a|Ef0@!(ods!gy>CP=VT1$Hm597i_tZ&=oUDWoxjW`G`ESHue&1}gdX;&9 z6h*=(!Ti0MaN6Ezb2ei56VZ+40dd4lQJd*!Af;u{A;*mmgykPFvl--kKC=oN9cck2 zWT2;SawkN?-vZGKo+ya|PxAgaRO0Kr^;G%q8wnrq*iH2XWwW7|`b;`N2KBdQLDz z`1%bx+dJadY#LeAdCcCYh8B?L%D{x1R&fuYr#g#Tmkv#^ox!b5A{u?E&Em*2Myp~)_^O?z%9B4-6+g&vJM?9oHi{;fkft-W0K+mdvk0Sh7`o+l61!onkRkLsFy*^>3^v2^;avTi8M- z&FVRVyYy$rSY@DfzVXWHH`!WcgKNGNb@zVq#KG{fBQ(K>*cRC8$oBJn*xjceUDT~< z57~3MFJm3Z!81{>l7+efgJr^+OeH;@e`jGmq)&l7R_Lj}%seuq$Wvp( zdOaln!$n~KbuIFv<{;5`kt=IDDU+s>KDa2x@-vRgEkWjFM6F}11SFgvcba7v8i&AT zjhjhhX8vFGWX{nbgUQgL1dM7Qq8S4C$`=mX^gZ8s(Rgs)UmEKE>yApmViyZ4rtG$e zhl{N=JZKiRUA~v^N|Q)PN9sD+cPGCEjkI17oG|ygKas9c3+)W6abqD*s2)qn5ep=! z2yR;4@b-@JN7E#C-YtviZ3Q*BfmP$9wIkfw-@!vuItF99t*8$g>$RdNRV%`dqGj)qbqQOgYa>n#t9ULO&kj7_cY)9^DkxHF8rg-yw7>u~a zRgZf78oHOHPR-f##^?umpj&os7rN?DJN?`(3{|;1T>gfL7y`u1RDunNxeQlE3TP8U z@i?0EP_VPTi(O7og)tN;RC-$!1y<`jGCyI){Ptc_@ktR?wNFB5cDJ0AY;rroP_i#? zjt%Y8)>$+Zjvg$eW`yNIfB?Ueq}ES{-|5#(@t8TQ%?Hva+LvTK!Gh@*D^H@LSBhk; zaFZQS#E#XG57^8_B}=P8`cL9$BqUO9@|L&1wrHCu9v50zp(cYGosGQl{8c5h?#Ckf z>4V;W2*vksN(7#!8d&sy+HWC`1=eER=QR6bK~gjE3C>WFZ=5T@coy&ry7OCA@-^(p z`f;;1((Dfaz8T~Y{`u^7*|2mZ*DGcN!jTFdeqwrW z=TElQU()r9PfYhw-l1Eem#nsR|IFsbe=U4z7XXoEW=rR8UuF+6li~|!)Q}+mW@0`S zV4mOSP>)+gFPUXE!Ir;}-}MTVsFw+%i67@8>35ehr#Yw&^muD*9RB$oUv*Qi?tObHM z_O10nfwKE@dn1pS-2I;DGJyU__?rgACb1b0MO&Vb1> zNAB5fGWS2w5DDNLpUCX5C;AJ!t)QOw(-U-1Rf_+IgA#JjOJrskRk!J>(Qg~@HD{5W zBIy-GO8cXt*ALvE7b+)CJ9)-|&)Q?MHHZ>jOz+}apO@_~FKj99-9$233)gavG7uN~ zFONql8Hzw28|m!8G@oa=iExJCOLD0|-x-HO)#?v42+Ll3-024Kp8@|W*~yA;;(<9l z$6{=1@*UHYGk<~m%WTX1-)Z8&h_%?L2&;>)sa7lpIObL_EQnc>7@ULGoH-xf^!V!z z*;h}k*`Q#{Jqki5ii9?z37)R3t5u6pz*FwSwYCD#o@|iJtzP7Gil=?~**lkcAdKZDh1r&cd^( z6mnj#v;_nK{FH9@-?R?_v-WJ_@Vk2Ec$`uhJ5~|d?K&31pHr6T6&U;gU7(ya@S9l& zi}i*f0-eTwN$jabIB5ic*D?w$JLnQee=f*?xszTZm+XBBsRB?mL_APMCO;mD++tz? zn2?U?rB#$rx*IFNFHZ`(JRNpl#3LGYD3ye0^^OW?`+cu7@v-IDo4fIqU}oVzY9r0- zlD%G%cf!V#7@^#J!XJQ^*zvD?EpW3($%Ay5Ixg}xGOy6F7}pO)-rwPjXNn3q2jYMs z$0O=d`Wm&#FV7~PUrk8~=ZHzrp&Eu~_;Y$L8mO+(Z}dtUlJlyc;Xa`id>a1%Xc^YH z7JM*cWw4wOaXxGVTi`vO84AdI>Rfk2pfxsop`Iz}--t{0I~8DE)iyx3=q^9k4mM6p zVh2mbjTQvrBg&k=G#=XeI2-2-p1_}A5{-oDWZ&YSc{19vNQO2^L$D2%y^9tym`Y8D>^D0-X4*6tRBOA z2VVazng-ml9SI`JU`H&+vcLS}))0h>F#(Ze#GX`k7+utw{daO9k0VFmcj;xlGj#8_ z=qsGdQvW1$>+BE&@=bM9-LY#lTN+T_i>GMVI(|Co6J$sE;eYRqi4BsIVb~*XG8$)I zVNQ!^CU$&tr4}TG)1Nn*Q`YZH?e;ryU6A`qsE*bg(YCq2a(t`@*Smb>*4T{v@+&Z+ zl&__R^1bR$6lYE`ND1!;A;tCuzVPa|V$8?ZMBD2+eR6H2RGYCfI0A>0G&Cg|cE0nd zr9aF+L|zY1x@5cmtB!i>so9b%xFXx!wzTqd#HWX!0(%ua9J%!Ca<9n0j5TNIdjd%i zC&{f%20?JF`WSXjFM654cBX|dU0}qYxec8#Z989K-*lXfPyV%nn?O=qsKVv2An2nP z3MjCQa7v;WF=X-K#BEGJnfadEw!oqnDSq=7#Z?$r-R|FSvBX`X^IkGPPeu|Q13?W4 zH?p&(+{DxlWv?fev-RFwoqN?9NflR+HsY4f3t;Sf8h-z@^KHJSrvDaBhjW(}i*w++ zSG8vQdAIr;bs^~A^@sjJx?b5YW+f7Y7z?)_hupllgupFV5Cy;CTvcvl!)dG8xa^w! zWzN1)f|%cbaMmCNCw9!Miw@6CRgKM7vOm9m{SdMih9&x11ozbNUqPu+=cEXk^Uvt( zUD}n)<51k^!FVNNGl033Z&5vUzo8is=7;hXj@JXJp7n z9S2HcUiFs)29Z~N@?-)#0lfIM4MA#Wpch`jqKgV=rM8iR1q0;ny%lG* z@?W}sMNUt!l1e5Q(E=i0$TYU9z@fgJ|FI4{%RE>gbEb3QRy0cg&C*D51<^+u`V!vx zK2vucc~WqZ?Y`J)R^PjqR{27Z$Z4(;suWw^rMKNy zQ?W8-O}|k4*=CWLmXGhl%ST`~SSYE@KyCjMqyTR}fMDNxKIlpdQRu^TNmApfni^YM zd$re}*V-YWpN|(at@jtQ-?|MkF-v`OrxVrN^u1Jg-+EIT+hrqBW`=JOG=o1RY!!v=qD^%s z5+K3-hQ|1#*hb;r4ih>&WDZ`a9!@gZ)0#8^cHYX$_0LCKecKCruQ869^DQM}`vFZL zQ);}dzr01mbkUbA)!@}!P$&pos!VgZY%Dlia5yE|y`{x7PJQ)0#KomT*>&{SuDz*G~fduxa_+vq=c>|b!O7Zo@<}wh%_Uvf}R$L0>~Rq6thgxj0LF!?kxsy z+$aMxnK5fX7vZ9MlfS&O{}$^Fx!c&OQ|m?cisDa{8t=yk=7%o8gW4 z(=hB<{GN5HeBocG83ATADso(%(j2G0#QU=)6;<)7d$*CQ+0P>&unir*8xs08c|Z#f znbBC~Xw=m|b3oFc|IHfvQ_ARQz08|?`J0}}s}g-3Ll*VEhJ8{C@Q;zxn+lET{YZI2 zx_H^_50cf0e|2jT6ckQi{sa5y^sL#Y` zGp`lK`7@v1AI|*G9V3W86g->R>0p#*&oJ|jYbiP({G%jx!=V}|XAXWx^kE8q{7V2F z1Im9SNE%_&wKSlR41w+E{Rc8q!dtD~U>7_d;zZ2380xLFtuU7xS~%&w_pSBXK?;K4 zBj$ISzA${p7esfOD3KtC_Dud1d}1Ig?kM~r6Mfl){$BBw8~|`)U7@_`d^j1st4h?b zmHakxZ5qY+rYP2XUu^YR`qcvUpvE>&6o}Z0)coaW2fmu1q062iX{CcCKSG|(H?1r# zH!*t}R^_@Z@Az5kOLM^{dvZT=J1GdyAF!@}(@HOA%AilQ2$g|=<_v9LF^4&^5(Xd0 z(axuLAiWm@?E`1^G+w-@SX}Bf6lf!;=z4ATqUxVV{IF!pe6^Cl#rxlY^8Ao1S(ut3 zSM#yHUrP}%?owY~ur z+-wP4@UbUt(93Js{Y+c7Uu3;PrIh{hJ_!nu07X~jMjkg(_D75n(;?s6szkbIo6xx} zOBxXYb;NbvO!2CRM0AjkkOY5eFY!@a7Ii z`K_79;5E-F`-#qFy4ufsev>rEpjJtj6-bJ$lxQX+ri-~Cpk8OO`kn{lO1j6IH#n6U z9a@>>`fN1nrAM9eE=-i)QBWJX)|>W1I4IAGHhh>c!XxZs?`AId`MKoqN@G->iYrn% zylZwRlrDW`VBgwnaFtDp@-GS&_6~0J=EMB)$|;!uJjSs`M`F&u<5kGv5AMT_i{ih9 zA&O?59*Kh7%G?6T@n~9LS5=y;DtRm_?)wHS5$b%%;{Cj@T^EyKapq7KrT6=@LaM+W z2_61};a}LlN``U9uO@NIlrpd(xSB3)hxOkCNCd1{df>t!SnHRWv|(D}Snd{=klir) zE6SGK<=P~&SIa5iEi4)_n@w;`VTKPklwqj=a{U(Qp#F#X(OWCa3|vPAe%#ARXJ8vD zfMZ)ziPE3g(ZGqUTW5t;6%3UgFLga3fyn1#*Sk{<` zIOX@N%n_@&c%D=s%sdm~%feaRi_p>5Wf5f*Ic$9FKc@)79&in)C?K>%-ZQ4=s$p1d zAn7z(y9jG~l{9Ri@Aa6;Cf0uJMg;joX0`hUvbd4y!n9QFj1=GGn3F=`!&!V|($}hk zV3pT4j>9xZ-{`;9S@V|4HblZ zxhUFPM|6yG;f&HmIG~eT1j&;EF*$9Q#9==zyz(UcoRKjT2Ldo6r4>ZFUVj;gudcu% zYFY(`0+z2G`*k#+7g1*8A#SnFtD%P2pbFaDGLW;s9Ucz8m+9&c-e+pjvTt}>(DOd> z7hY2lgDr{Qf+7-DJGmrM_)QHD9YN@uHedw2J?7Ui3Rtf1$_1!t@GaUh1a;qiH1&nD|(s`U( z7l80jB93fk$OwO;<%^E%M<)LcoLh}sFLi^LKjPcAnNHBK6?C;pB07rE}Q@$ln@UQyi%B*e8dxctcX;5++PH5<9c4TE+G$fI-K- zJ5r3a=R5D%#L{Ewf@YrKS^WOuO?lmu>gJDi`o;y7?25a>I2C(-!JUe=NhPb+E|f?9 zxk%qE1U0LZ?OmdW74mEEedO!_?f><7|LgMPUv}ihlwRLy_eSQJMA>{5Xv`d-ijQFb zldF2l5IOqlgb!Lp1zt75P%VReHV7m|m@N=TzK4fS%-9gvg_CwW8_)USD_OQYk}>ioFl zCYK}D4FhZa*BU;UKH%Ajb{cHmEAj{>U%qmcT$&gGTC!c@N@V|6ORY?Jy0 z3+)=1(DdrNebWQK7^ji?y+K=ZaTfs9oCd*QmsB)Vef^}4&oD3pXE;^j&wxAU;# zX(R6pSG&?AqXT(+3Jh~~H!h_|ShL1h>Ha7#f)o=~OL0_(n)vVe$4H1Z!vt(TfCge- z{&5AO!nS~EoIh+0q_e1J6~t4X{F0EjuVZ$p5=zEmSGF-6HS4Df0G%65!Lpl73t92- zz28@}C(?KQLy3*U|+4P@p@J13Vb0&G>)IWxc za-La0O#|PQ1LuU-pHh9pru=L|<(MD&iWFSKco`l_8)fZ#aNVmlQ(_hn?(?F}&nmOha+gI-s26)L z2<^eh&FRqoLRUpqd;B?~B}=aB9_vsFyN( zC;qP7jK%t_b^ma+qPnY^HIR#!DM1_W6>B5(wc0{MRO}Ef=WL|$=RqssFOhVNI3Nv- z);OC1;}5CkA5LodeSTwk51A*f=+nj z2U>NYLe7vT_g@J7dTAf(I+xxxAboem%{H+TIG+VH%WA9sjf~NGf0GO)BQZE%eG%Dl zCqb@tRu!#c1LMMY{)`vdL01?Aajgf4?pF2d(We3kg%BYMIr^t=Z~b0B{IZ#3ssN8I zWKOxt*U-i+5iSoa(j_nak$+xz`neiS{>tTM{1Yp^)tG?_aXpiSI?$u@W}xMgC};Qn z%4Yd^Wj`%k)eCm;`q_rfPv1}ogf6Py(fiHH1>`(ab=bpbanpXxcB{2m zlMwxF!*%lm`4xoBT>2&UGea5sv>ioxyPboyzR zC~~1*z#=_DI%JaMY%t@b)v0L2O6o=5@?=uWi&dSYhMC6Qc>1xgVF^sOQ)j2%G5t}_ zE-%J1ZR9@SoO5*;p2j7(3JaJpWItK3W+d?jl^f4$cPWN&e`tDfZH|Ixy~ zwoxyjM4*>wr@@v9Oa3HK&>M$o2_%q>YweTn5W#`xBb{MGKkt9Al!)cm|K}~B@Mf9d zRvU9*K+R<2JQ`kl63(pl)3srdccBd4mg^^HuFVFCcnG(bQs|SU`9lU3eDV+}L?i`< z%52ByAH6I|WFxN1NOh12YV1B}QL53p(dB{Dq_iv-YodnavNVaS&>GtklIn^vYrgNm$qQhh>$W1Q_yN%W&UT!}&@UsQix-5M* zAio+5N6D5iZjXLE-H2>vFX> z3mV!<_B)UX4qUCYCLrOP--qq;(HpPo>;Qd{fEFyFnCI$XV9#JrCB{-vG(j>hCN%R0 zJSZl)LZ;9UYrtb=ublX+gTf%tUjmI|}N?|odOq*VSjG%J2y9vo? zY3GzaI5&hBD|3EK=`#e=E0IIj=DVK%>~Z$av%squB;GauoqT2vppJ^B!WDv@BG?jh zg{O_aC`d>cTTipfCc?OFFhrB`0*g@qu;Nxnp1Mi_4-P+(O99D%gP+Wkd)8gw4sXAB z6L>(!Xb-9k>bVaSzKITrZ)ZE~NF~BVu??PVVycXA(q0HB8e@yXe09yx%do_{ zTu#-M%a3Z&MCi8(Z?tEo;>!N~38Yck@&f)sy2QWpFD6>Iz4jVowwr|O1i^D4=);_R zxOqL_P$idRHeP{I?O;#~j2i83ED*ylyyP$1cS%{2Tz#f(t{h0m z%UL_v7Af0QH!MMKDwkuH5~TOPxi2+({dH)fc|i%Rk@bf9r(}Y$5Cz1I&oP9m^TCt6 zQk{Vr#Ja#q^&NrLZWIW|7|`A`xx$iJ=rnxdUk~5GB=qhcVt-E;XF7f7HFtG+Uwwi9 zo?a|Z40qcCkCqj_bW88OR`~X7Su1_;(dzGTo2P!={ zP6@0b4h%K>WUD5Qm8T=l-MIJ(RY%a|O{pP}y9`D}MEn$Bj|}Ez9@NJbd0#n1f;-SI zAo>t%-L9f$q`Ph;2Yo5|cR4(S?JuMi(AO*5krL564eDW{94=EPv9458E4nlM-ae`kXNA3-FxP2Z@*HFwKRgI! zSWe&N7aOv^=@n-Ykf^L`3FM@obQLry*@Cq^zSZHa8s@%$vPl(70G~@ag65`A5|S?u zPW0{q8D>&>oo2F6g7##(Ol<6xk0bgj|AA8C;pHE*SgV9mID1`@Z^7@ zp_C`NF_YbYX6mdT{+=AvMxPT@3xVBK>O6Gq$dPt(*U$p`*HmXy`3HO;%D2@jklrb* z^OMEoxt2k!s7J!$B^a)->)SQ89qN%-GZl>+clcC^u`6C+!4PyaW)6vEJg-{yzH|WG zwm%ZZq>$|~$UR8+Zysg`cc)#uFJcf`yAln9WyYO^Z+q@g04{;rfBpEJ>I-XqFJ{Pr z#QAZgwzhdgE|trS?BAzBoO0vg4_;54H62`eyvDuqnn$(8j!)v{(rX7tQRUZT?ZNODxLW^cwFF~9Lg zbBDpi_nRly&K>+=b~2JGgZ4+Wk$4l<2RZEk(;>N$$yut$X&0Vfb)7mmdlW^q?mcKl z_n=-XN@gNlyD4^#Cljrjq!#lvNBb>Uuo`iDY~|2!@K7dVWeUkJgzMPeeet&U z)_<=qTfT!+_BoXf8;O>IJT5u=MH|cP{LeK`IBx~qw68XEVE-9DToI*AGCb9?a||;#Sl+kfj!kF7KA7Dj*kxv;oZx z8xAaAr*6Y1#aR?mfZ8JDq})c8 zQOd?yNHl2H`>UxuKOd*I?7fm_>>5bTD7KzZd0%fk__*DB0TELsrcd3eLOK{|ZM;@` zCrc!c)qdQDgaFwTzI<>ra^NLOBQKc!oBTkrikk-`V4ZKCcJg93brrL4;LS$9?cte~ za=9i?9EghVN3XEQ&N=ieNzgA^V}J>(s`fQGIZC96q@R(>>OLZeJj~Y81xNQ1e)c{sIFj1>2PeQF@(dUq40ixKCXnWEys`O#P*gH|y_Xi56GTB*2x$;vF=i#)@+OV<$6x<==+vaWJohS9c5k3(7TVc%Y=zoPQ8Tw8SBSw!BA0C+Ukf?j2Bey!Oh zjteuwk!B_J4XHl1%QupMqSzDy*Wsew9r%Y#4EbPDJ{&})weo0CsaZ18!|OV z$WQStQfWHVtiBn$SzR2J%?6;Q(4uG5rF%XzG8AsIlI|t_WPs1)^mu+&inI}#TC=7I zcai2X(MXE)#Kcrw&dTJ6p33P^WD3t9X9`qeq6%eYqB4huBTED3FlOwcnvc+Pc_kL% z6&?-Gd^OI*ftt|^TQu%Z&aPui^K~$Sa1w~ZgqqR}w{@62sM#>v;MXYMxmy>MTU~Ff;&us>}J(1ugY%WS8=Q7@d$Wl$?pjl}~p4Wz#^0|!M3$b%J zEXE zc_mVoKfXYjmFwr6?s&7m(oFnc0Jtqj(%&@TXYoJN{{XF9wjLbR;EY2St2`jS_DDzy zPB1@*Cm#8(kIafC2@q6K&@KQ2@Zfy~3d~e_Y}m&nV;}u`1(gz88AbQ$&hD!PeFAKol{o~}QoNbe`q zq-+u=^5fSv=@k9>1>V&j_{K=8vgpwyuZ>exnFz`;x++2KkVb#cY}T0!t+-r6yB{uF zKaU-0@IVF{ON3+mOh^av905RC+jdbJb%cc?8m_pQJBrDAPd>aZKb6^Cy01DT+4GpuKGX%1c`>@glU#UIu=~=e&c!Ep8E!EsMmWVipEv{txlDGrheqHFW zudS~B_Cp?vq)11dsOydD8&Cs3i9gb%eGfv20xq>Mag4U7{uOlI0^3c*ZckzUAXQ^< zl9Ck{Blw8p@Z$!Rhik3h-cy%I(Sa@{)R}vg)Pra8IjCPt(zcDV>U{JKe#7|_in%1S z9HC`Z{04ve)aH>}XvT0l=AD6GyZg+;qFcKKSuRLF!gU!*{{YZxQ{nq~P?II;TxSOQ zP@~@@3ce(a1F|(39=I8zTa;0NsBklZjAoUKSML7uig5mp@77Q| z8`&2=+22tvFGt_wPqzoKOzD3UTMK0$UaW;y#o<}>q(2=>fhdG zUU(wbW)j66#j1aGrg<t2@u=;HbG6$)__BEh`IUB}Dax?tuW{U$dO&_w6&;I~givm{a{__W0@b-;qV1~y* zj`Cgvs$`V9=Q+UK0UqEUqmH%7>K69!6pB9$7}ySX8IC;x=ab*HcXLS~1T)6bsmS>W zZ^N2kc@N4m>(}la{{UQ?5Ju_f&KFG6Wz;1Ix&^*-kNIcpur@7MY zhQap@!+hlTI5{A601Rijt8sb7wuWL`fB^5{a1D;Bk-X{zVNA?pu&Y;Xe${ zrh|K+Bq3qH#ts@SlcvkF?vs3H}6#C-Wqlw=aeKAtLQMOlSZfbm55q z0KRJa%^@ElfDGgYP$|tT33Bow$jM=PY0wkF@N!~Q9g;GqmVReg~=Q2XGf%HNOwzN zV#-Ev6$d|pidi&24@kkrji!=#z;bcz$Mmc1e{2vL7H?tY0ng%U3yc2%Gbpjj6R-pi z{=R8hm&qQ)OKYOUc0-}*EJspp(YBAPfA#7`T|GvBvb1#vo@^pN$Wu+ju>I^VGwZjH ze!NuhN?rD{Tx~&|lBG}62a`pEk{yYXD_{CFKP z+|pZ%Y4@~oX>x5lSVWMqPy6J4q*WbOWYw&i)aPUaEL6fqqGWPHFLaCpuM2Lh;Q zIxd%{>IV1sw-*I=?wVN2uOpyP2|RrVZfHqb_a~M&w<)tEaY$QzvNuAjv3h#vBAIP8 zmcC<06l>X4qgGMdp$re<{xx<>yLlqQn41HIQ-D3Wsxs;kD8Y{0%;12zC68ixIRc9? z_EB3Rvlw7jDQ{;CL4#oskDD0C2aMy>9csKuVKycEJaU3CGaf(vf0bNG<3$1CjGlN# z?di`-9`fEKD-uS8bOaIePm#rL?xO1$G8#&c3zOs^&doN9RB zpd|fH(g5v(KgO2cYi3|1LS$jksOKKJTZHpIV1;sw=T( z8DUo3u-ilwaSDRS20g}l`eLU0dhxf^1TI2=i^e7Wty=A(qhvJWBhd`WUS)=6R0G$3DVw)bXZRU)YDuawHRA&P}AqzaW$jO8@K~LTPL0D{{VaIf*U^FYEh`$x@JkBUqO~64^zM&&ZQcS zmcRq6@r;e)GbHEt!5UPL$2?kDc7U<_lZz|9dg;RT?% zy~rOvC2-gtfEvxVzi7ci&cu$VEtBuXU4vAUadu!2PnH(I{JYTNB?S5s!FeQ#e9Oz$ z#&Ue;$L3m@J;lfU0)BXye}z~6(p6CH5KzMfS|gl&22>Lzn5VB z(A(1j5;OGlqnF4zS7ITkT(cER#>Y-BLXW1=jCQN>>omY~%+$o5W{vVx6Zf#6uWVc>$4#>8ipn<@p%2zLu6#B)?ge%_93C=-|?5=(IZfH7& zr1=S`-M0tt+_4z^9;0TnE~>E&*~tu<$rWT=S#Tq?h#%r`iVx~3q)Ur^23y_S98527 zW00SiCDz`3z`@7XmsQms!J&Od^_AsTF$p9xJ1F6Z+J&*s2|t}d_K1w2FP7W0kCk{B ztwmt=4lxA29Jr@tK3b~g4F5EyN3En!00*$hMj$2sRG^T!mZAq9y@$8vnK zHy?4Hzs`pq!n3xhQ#9)lK3QTqmWT`=_zg`IyRq^QF#iAtmc(P%?|&gsM7HgZkb|D0 zCgFN})G~s8fq|&S?chQryt-EGL7j8Q zsB%9simfaFk~1hD-SS_bLFr5}1qf%D#D%fGs&M}@dM64ylJ4VMOt84+f zdnZ4gM=F^M7cNO0ADoZK@y$Sx$O{mvP_QTDZVzuy@+sIkbl8%4Cn!X1GXQx8Mjwtb z{uNxAB6OBJXI3W}NVc5x>^b_?sTM|N1Tv`|84vUy{ZXTYL=gf|Gtgbo8F`l^Xj?{%D3y&bk zq#Tbefd-2rmo>>{)UKEWj87T$GPybY@F^s@zG+Nu@{}qH?w!x`;~jaZ(lloIVwFks zjgRY!c#Ic0j#4lH$YIm4;*yF7&c;k3j8Kd06)OQT-gn!>S{c5&UNwH&)oD7A9{r$hrDax?&-c-tQ*&8&hg3=@=KPgAq z(38j_M&17aj|~3+F;Pg$WBFAUMki=I43BZw@TFfRGFm1KKp>dTN8{;A;XjE8KG3#l z*c4ciq=>ux)=~#JVhKIR(w{7{2iqq0IOG>^&zg)y8aFV2!>MSTAI6@jgqX}S;2e+< zh7WIAW8{5^gvlFlnHlMmfImEbl%T@Q4A6`MbAm}9UJWs#Q9O!~z6U)CU_EdtpJxuO z?wvBUu6Ca9)`oTvbPesoaH?c)>Ww)2?V1@&q1y(w)4Z*u;!? z_WUUnhK!SMCmgeq_{ZZyu^g|k;U&?GZMm2Q{u0EGe0^zuv~@_sDo-n8rX^wcamf6t zCr|?5%5pP>-anZC06z5ZEeYPqflbv@mirfJw`G5C^BJ#S%lo+|r%BI6VG*(%fzm>{?moCoQz( zbBT^Wl}G!@6`ORKCmhOi_+)Wal?YshetM0pdwWueBp+WuF^|KK(yGL`zQgWsV}|TQ zb1o-k5)~Oa2RJ=3&JRkkvKz~Fc)*r2IAtIVemv(jTJ3(;iyh^v+y(o-Y#X-yGthfd zs~dR4cJM4QDalCT9s2YD6S^89I}O20EBkWL7}$o(lHxW2%XNZCg_f#3%NkMXC5Wo#^4hp18cb4-p_=O#tt zw(saFNUji`9QyKD9DZ0M-l$x!u&r_e58RgH7}|#)m^{%P$6bKOj+u=|Ir>zdY)kcQ#T`B2uvec93)X!;YNtM?a+m^2+-Jw?sB&h&q5URR(^v`0mG+ zQXo_Tk~ZTY_x}JIXPXcoyg2vY#W|V~%F6!$FQ)KE^8U0~u1R(oEb2oGAsJOkJHOSAp1cZ@X%WJq=Winq&*|Eed}nD5hEu|p;}lpLo~7T&8#iLI>hHRYNQe3VC3Wz&YcOrA8h#;{!gV;)@3-k#RL0MK=^6FgPF( z3H-UC^?g7-UG5NP8S|Ss^%yl#WrVw^Wnd3KIr&Z~c0@SZj6DmV=lwB4LUDbE{{U!D zEQUEJxRJlQ?n%eu-2G|MOCm|V6_J3*2+9xi{Eb&>?Rppp=O+@8Ow4VT5f&YASoOzT zfmLKHNtSLk8ILIQ4^Rj{{cp;uNqsuG^L)ThQV;kFLmWSJKqKpuxv@=^6vi;aJ%J>C z6!aQR4QqyNzF2tJ9vL?iR!*sOz$}j7fsA8l=eWSgCaSDxtB^*0cN#?z9OaulWOJY8 z%{wA>Y_~1_;fpL=YL20qus=GkZ;LlE&PQ#=L;TO_Q>apbgn(m$cYlRI;R=%K{{U5T zf2Au9&ckH8d~Q^HXQAE2Krb!{+yah!^GzXsz{3# ze%o@uEBScGQV1vdQ$E#nt$-Acz%vizd8i!~K?^j&K)?)vhJ89zaj@HfNT3tIB zi!6_|6P!vEbvxJ!iG;z+20Zr+z|>Mp^I*S2*cxe+kVfV{#2R)b#F6Bh zWOXmX@c9#ti!(2YaMZLHn00w0zf%PV+PMz5o+2%vHZshbWpZ@?=N`_S%S0mgt zF{hV2%*~%#MwF4vxIXPba+2GLCuShA!N6eosaRY_c#=Rn;mQ8B31War_L#^#{H>Fp zp~26;B9X2Oa%FHwu&N`Gl01`b!-imZ!Q>I#VDM|4*1SAsEpw*BhCH+bzq)^i|`_-TBp8DpP1~DVw(UBXA_-Rl_V2{rm!JowqJuYMQnsY>oV4 zx~bIAPlf@x4 z+~>V50(y!K88n38^`s_%*m!JGXPRzk%>c(ylgojlYTMhr#DW`Z zXq^Y&o_wBtlz$`1?~2y8wu;mpslG<$Nef`H{ICb09V!}cV?^z(j13c5u+tBkbou!E#U2BdrZERaf$&llaeeSm|1u4Dh9Z1CF0}flOZ*lZ9Op{D3e3Z`bbDq1;p! zSu^Xnx@O(F4o?bA%vKp5d%4}b2~ zqAY16E6Wnd!yz6(0sO@#%YqhXEdzC+F9F_&XdLWjJ#<&hq-Qlr9|E?g$Jt zeL#+x0381Sk$&0H`Dhj~xN$6s*V2yBVXzbCZVA^&DrO0YA#5ZxK!i z^7Ji4{{XzW{*|MKZw<&qY$w`s!UmXy0^IK~GV=QusHT9L&hh>ajS z&r!Dk9Cf12bt%uaiqY%(gXbO@yltbMugBxYDe?G&RU?lI+?MT!Bl=c>wuw|_qyP?p zV1Bgn+mrWfc;pQ2AE3=E6YVA08SSp?401d%aHMwgNTxQmuBwdqZs|$n5jp;~dD)qW zE}1w3g2(yL4#SBY@#;EJVwC0O_Y~vTb)`E;h2|_rQ*?9q(fzsN66L?)9-A1(7ULg= zbIn_k5?1}$I6kBAesqG_RYv97I}z4`xuw|@ORyd4yCUXmGI*rZkfBs z^EG@dU3L?muQ#Kcf%MrIS(d8>$EJ z^}6GdKGp)CbCdkdXj?#=Ic8iF^MCc}WI(DwW^Mt5t`UbSd{~ZBL}D?AO5v0 zim;(^H^_L$B!lbTfjQ6mMo7N#TB?=Ov~)~o9&hu_B47BYc150y26~BDWAy%&Ywa#y zc(rnh*aXT3e=%0~NK}T3NDB^fcW`@*04Zu(l#J)O@k2H~&!Z5dA-Bp$@~GD1#pRWf z+ed8l`P>eExUE>$NiZJeu(%*F#s^Sw`g7=NyBOWyV#>id1f8quPJjJb_ogmsT&!>W zWQ-&7^gzwV(9Uu7^rdUh7%=k0dLT~ZG^BrxS`3RAK?{xC9jlUk`hKRPY1e?haNEW< z&>Zvrkx)zGNlr8+r4B&c@DBL_ds)rjT?p(Xr*YHL_hsCb@msit>?oz;@H=zy$vQp4FSEYS#8mEOEgk^DALf z%5r2G<$%Wn)2@2)RIc_z=91oDkzHHF`NDXL(1YLmGC$9gicc%W42;X-OEg6|2m3xT zlkLrHyoNXvd}28nL3oQURfyzd98?m?nDHDc`6mDsQTo)C%|GTdnjaLjLFDmVLO(>) zlk^_7583=yK4tM_YI=n>Yn*zJJ65yG3$AU~bVIovFh9>)mflk`$co@(43Wv!ES^o1d#vE__+Lgt5{{S(~ zCY$0CyN8PJ@zmuIllbPH_APXRTg6(L=cq`);)q=WqaM(oX~4z>>euC2`7+ZLH#HeI?@mM8?|*j4v0JAwdG*YAP7TomLL_+;0GU_ zG^-E`qJ>{>2<`Y%xF;{>WhB!z_Zj~HgtJ#1@yuM0z~+*DGgObs6Zo%P239))%Nrg# zoDQFkI@X#7Xz&Qx*Kj+AKcz&(0f86`*nxn5K535fe`%EE(6v-{4dWeWxBRtS=eRuf z6&m<+R1T;95}j0_`=GLC@;z%*7*EQu?#EW@XpAbIrZd<0n*$Xj``7rHmUK-?S8x0! z+UkY*Kn?(?{{XS|LVx6N*EksFT=82D-zMY-DtN)i;Y<$uw>}8RLb*Swps#zoGER-E z9IJS*TVO^rfzReCtD#?mh4FT_20D4F59(`uWsT3v7#(>7Xg`-9{;EP8wnT9e(4G55 zJB>MaXFl25tuY0+pGu15a=7HenI7a0C^u*ewYRw*;xSP(tB)74JH zkbvXRan3PH;dysvLui_c{ofXNg>nA?Pe1;uWO^;`;;rJXeY4m7G$}vMwpZp|hBL=f z$NvDYNKr{5GZzG87s>q(#QrBj3C?cR z{{UKv^f?GQ@i&PH>)k(nwy<|<(%K1&o)ka_t?1M=X~u=QPE-ps?GpyX>l zAbvR?+8|^9039@u_;T2|QK|TkJ4#!ubRUQ z+wXK8dUwZa70GgITfe=SviNodAb)H4i1srLniZS{Y9Gn>Pfgsyd+d4cPl zODFkMZQ+<$oa&w-3cL^W;&J&3*ht~V4Ba?821Y7mSQF%FCCKT$IUkOArKt7p{__q$ z3fpCN>U!7>-Sr)x`z<{@D<74*O;cG@-x`@C9=~@LtmuWwNhOf`s6VOxVw*g11YPLi z3GJ58x7MB5t>*soE>8?vE;nkr;U}gwCO`Wv5%_)~{;yNlqfylV0BJr);kTN;5g6{+ z%sX;H_vmp>Sfg#(5_Q1I<3EYwn60kw?`CY?9fne+^{s8jI<}(O{YMnbe+}9eA@xmR zj&XyjH|LNsTG)+G`n4sv87KT{vBa^;Bz1ga?*K4=8Z{lf-`>hk;ky8>w*LTE`W;cg z{#69N9kMD2)OB;|w^Cz|%vPX|L%U*?jkAofAc{W7ckS{)Us8DO@0wN}wcY*f$z2A= zB^viyVtN6pkO=krr!?>QM{EGtC)T?5)eb-O8q$*8L0!Q>UZ8RKeLbn77s+x}h#V;A z9McEt{_{QjJ*Nf2-D^sHKeXHb0EwqJhP1+?bJM;m_+^Z3;3 z^8{U>o^VcbF^+#)1#9(xdov%yx>Deqy={F0>P`A&R8n|fM3fX7hPNA^#if^6PX!$J74+uTmci z=|JIcHK0fRKDB6CS=`TaJS_#(5k`JVW_1Ez_i#!4NEF*Af_G?&YF6?qtZnCl2`$j5 z$4>d_gPIAtzVGicSDU}rhUQNbREy+t%Ffhq=5{6KJj4{8wg?*8*7d^@JJds6pRWh1_#K>k>%4uPj4 z^LeYN2cXoO{{V@raYR(J0L$F;CY}`}P{5Kq3}Tx|O8wv7RsR5le@%7&0FS*~jAtiQ zbD#Wnll~FA0(17AT&Wnr)SIXM^H44>^1PyU0*rwd#f)w$BLCrN4R|k6@c*_oy0$y+L zG1tSoavUuBqWcT>1N0P+;ms|M_qx=V+wIIx>swC}6SdYpsLzyAPQqmw5n?m6j#Kg0RcNKXCPiaa-=m)`}(s0(#Rxhs!u2Vca}p9<+Y z&h15gh0$-viqZuLAxP`a4sre!JV^)~9P^yBp1)pc*#^De-eQjn=|i74P|3zXx?m6K zQOn_-9JvYopa}H4Kc7QerPeda7(D@e{{WFlBuP1ukn@A{5yx(wYJ~6I{pJjQ8q=8V z4XAqqc0v6`O#T(IjRUNgo@Sn!CEUs_<-xA$fKrNZV%O{wM zP#)t4oOSP-)VYQPkoi{;$i0Zj&%HMr2}=oqbb-5a7=6b~8hKIV?~`f(dnQ2l?Vr@qWE%Ho3g{Y9aHi{1QJ(iFKgzDR zgml>x%uDT1f%k{nfj`Qv-H-Gs8s6p?omVj`gNMoKxD$$QiK&@l{{TtSQV9?N=6TG; zy}9Ur#+`+#>i+VBcwbE15id1XVn2p*27acTd>v#%5p$~ixFj{t{{ULImgYAsqZ!XB zD9In;Pd7zR3V;#GBJy%!vn4j>D#7+jGsGncoo+;_!>uy2R zH9g%w*W$HWaL%M}Pa~Hw`^kCB=$7}T{Z|9ApZcgMLtk+mqt@f0bK3=)Yee?H0S&&?cwDkF>5-r zW3TV=wyZ~V$K}}A9gC7bomgw*<%M0!z=AQx(mg-Jnsyg7yO`(0(|`-k^O64X`QjRP291A4~XXrla($M=jobs znjWx;<_&7;#(5*R>spU*U{9Q|k25)RU_v(s+k!hDeKAe5a}0TRiOJ((OcC#qjM2&t zQ|@Fgi>q(>b&H>_Kl=0?D_P0^0Eyke{eP`$mq^$M@-x%tHFnbe)*ESHy3uWKJkPr` z%OXi1Pr6lr{J|d7a-ip_+~+^C^?*tK+_*UO>-^~knX5KR>vtLVTz^{7xMveLm7gy; zPT3!i_|$CEbqv4GpDG_b`;@=3wSCwc+~0`*0PEA&NY(dXYga#l{{Z#s^m573@JCLd zQr_J>3<$L?76u&&Cq9QADX5d}C)}XgUaq7S)}|-F%hUC!zq9pY(^;J3{+a&(_3K{N zXs3hCLh-mbWsykd)OwHBm8N9rx1YwJD(*_DQ@N5XbxdSya)bW>T>k+2{8BZhss}pM z$NmAI>srk-IK}|?z^1D{c;t!_^B=U6>Sd*lrPOOK8{RBaZnXRRow40&Zzxlctr*6A zt5ucHUOjzrS1#hx)&*->?w(Bi%D@K3I`hZZ2fq~TjNM7z#~-L^Qrk!7M&fA4-oU{h zhoxp$WhQs<*#PiJ!Np{1I$)DBz&1JRxWGT)X*l*OGwxzgY0iv{QPisr2tBE_CV@t1 zqJS2PN+`GnXw4K+a2Aa7NkvdtT+j_A1keJ}O$Ri&pjH-?({gEO3k4J&ln#^tQAHHQ z6j4P06j4P06j4PN0h7cex54$|v!zgyGWr_U9H9f&vhGLk+;`A*@-}O761SM literal 0 HcmV?d00001 diff --git a/server/controllers/controllerTodo.js b/server/controllers/controllerTodo.js index 3969833e..50e52549 100644 --- a/server/controllers/controllerTodo.js +++ b/server/controllers/controllerTodo.js @@ -1,15 +1,10 @@ 'use strict' const { Todo } = require('../models') -const sendEmail = require('../helpers/api') -const sgMail = require('@sendgrid/mail'); -sgMail.setApiKey(process.env.SENDGRID_API_KEY); - - class ControllerTodo { static add(req, res, next) { - const { title, description, status, due_date } = req.body + const { title, description, due_date } = req.body Todo .create({ title, @@ -19,8 +14,6 @@ class ControllerTodo { UserId: req.user.id }) .then(result => { - let msg = sendEmail(req.user.email, `${result.description} has been updated to be ${description}`) - sgMail.send(msg) res.status(201).json(result) }) .catch(err => { @@ -74,9 +67,6 @@ class ControllerTodo { Promise.all([destroy, findOne]) .then(result => { res.status(200).json(result[1]) - let msg = sendEmail(req.user.email, `${result.description} has been updated to be ${description}`) - sgMail.send(msg) - }) .catch(err => { next(err) @@ -85,6 +75,7 @@ class ControllerTodo { static edit(req, res, next) { const { title, description, status, due_date } = req.body + console.log(title, description, status, due_date, req.params.id); Todo .update({ title, @@ -98,8 +89,6 @@ class ControllerTodo { returning: true }) .then(result => { - let msg = sendEmail(req.user.email, `${result.description} has been updated to be ${description}`) - sgMail.send(msg) res.status(200).json(result) }) .catch(err => { diff --git a/server/controllers/controllerUser.js b/server/controllers/controllerUser.js index 1822baaa..101ba2d9 100644 --- a/server/controllers/controllerUser.js +++ b/server/controllers/controllerUser.js @@ -4,6 +4,10 @@ const jwt = require('jsonwebtoken') const { OAuth2Client } = require('google-auth-library'); const client = new OAuth2Client("476504549399-atherlcqb2eflh6lr8v3b4a03a65pmum.apps.googleusercontent.com"); const compare = require('../helpers/compare') +const sendEmail = require('../helpers/api') +const sgMail = require('@sendgrid/mail'); +sgMail.setApiKey(process.env.SENDGRID_API_KEY); + class controllerUser { static register(req, res, next) { @@ -15,6 +19,9 @@ class controllerUser { password }) .then(result => { + let msg = sendEmail(result.email, `${result.email} You've been registered on our Application. Thank you for using our application.`) + sgMail.send(msg) + User .findOne({ where: { @@ -74,7 +81,7 @@ class controllerUser { .catch(err => { // console.log('masuk sini??'); next({ - status: 404, + status: 400, msg: "Invalid email / password." }) }) @@ -122,6 +129,8 @@ class controllerUser { password: "12345", }) .then(result => { + let msg = sendEmail(result.email, `${result.email} You've been registered on our Application. Thank you for using our application.`) + sgMail.send(msg) const token = jwt.sign({ id: result.id, username: result.username, @@ -130,8 +139,8 @@ class controllerUser { res.status(200).json(token) }) .catch(err => { - next(err) - }) + next(err) + }) } }) } diff --git a/server/package.json b/server/package.json index fde9782d..f2640a3f 100644 --- a/server/package.json +++ b/server/package.json @@ -4,7 +4,7 @@ "description": "", "main": "index.js", "scripts": { - "dev": "nodemon app.js", + "dev": "NODE_ENV=development nodemon app.js", "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], From 813770eedebd41caa024460ba60e7f504914a4de Mon Sep 17 00:00:00 2001 From: marcel Date: Sat, 7 Mar 2020 18:11:40 +0700 Subject: [PATCH 3/9] Finishing Documentation --- README.md | 488 +++++++++++++++++++++++++++++++++++++++++++- client/js/jquery.js | 18 +- 2 files changed, 504 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7e08b136..fea96f8b 100644 --- a/README.md +++ b/README.md @@ -1 +1,487 @@ -# fancy-todo \ No newline at end of file +# MixList + +# Third Party + + Google OAUTH + +# Server Documentation + +### Dependencies + +| Package Name | Version | +| ------------ | ------- | +| bcrypt | ^2.4.3 | +| cors | ^2.8.5 | +| dotenv | ^8.2.0 | +| express | 4.17.1 | +| googleapis | ^39.2.0 | +| jsonwebtoken | ^8.5.1 | +| pg | ^7.18.1 | +| sequelize | ^5.21.3 | +| @sendgrid/mail | ^6.5.1 | + +### Devpendencies + +| Package Name | Version | +| ------------ | ------- | +| dotenv | ^8.2.0 | + +### Example .env + +secret=cialobaobao +SENDGRID_API_KEY='SG.yW5JelmwQYCo6Dg6znEtCQ ZVmHemhvg0dKz22wvkJ2I6Xt9MoY5bPB6F-2WpVmzQw' +PORT=3000 + +### Default Port + + SERVER = http://localhost:3000 + CLIENT = http://localhost:8080 + +## Server + + Tools: NodeJS, Express, sequelize, postgresql + +## Table Responses + +| Code | Description | +| ---- | ----------------------------------------------- | +| 200 | Response Sukses | +| 201 | Data berhasil ditambahkan | +| 400 | Request yang diberikan tidak lengkap atau salah | +| 403 | Tidak memiliki otoritas | +| 404 | Data tidak ditemukan / tidak ada | +| 500 | Error dari sisi server / tidak diduga-duga :v | + + +### USERS + +| Url | Method | Description | +| ---------- | ------ | -------------------------------------- | +| /users/register | POST | Menambahkan User baru | +| /users | GET | Mencari atau Melihat daftar Semua User | +| /users/login | POST | Mendapatkan token dan mengirim token ke client | + +## API + +| No | API | Description | +| --- | -------------------------------------- | ----------- | +| 1. | SendGrid | Untuk Mengirim Pemberitahuan bahwa email anda telah terdaftar| + +### 1. POST / Users / register + +_Request header:_ + +```javascript +{ + "Content-Type": "application/json" +} +``` + +
+ +_Example Input (Request Body) :_ + +```javascript +{ + "username": "marcel", + "email": "marcel123@gmail.com", + "password": "123", +} +``` + +_Response (201, Data berhasil ditambahkan):_ + +```javascript +{ + "username": "marcel", + "email": "marcel123@gmail.com", + "password": "1aojadoa2sdasd4adplalaxlasclsml", + "updatedAt": "2020-02-03T13:03:50.806Z", + "createdAt": "2020-02-03T13:03:50.806Z" +} +``` + + +_Example Input (Request Body) :_ + +```javascript +{ + "username": "marcel", + "email": "marcel123@gmail.com", + "password": "", +} +``` + +_Response ERROR (400, Request tidak lengkap):_ + +```javascript +{ + status: 400, + msg: "Bad Request" +} +``` +### 2. POST / users / login + +
+ + +_Request header:_ + +```javascript +{ + "Content-Type": "application/json" +} +``` + +
+ +_Example Input (Request Body) :_ + +```javascript +{ + "email": "marcel123@gmail.com", + "password": "123", +} +``` + +_Response (200, Respon Sukses ):_ + +```javascript +{ + "username": "marcel", + "email": "marcel123@gmail.com", + "password": "1aojadoa2sdasd4adplalaxlasclsml", + "updatedAt": "2020-02-03T13:03:50.806Z", + "createdAt": "2020-02-03T13:03:50.806Z" +} +``` + + +_Example Error Input (Request Body) :_ + +```javascript +{ + "username": "marcel", + "email": "marcel123@gmail.com", + "password": "", +} +``` + +_Response ERROR(400, Data tidak lengkap):_ + +```javascript +{ + status: 400, + msg: "Password cannot empty." +} + +``` + + +### 3. GET / users + + +_Response (200, Respon Sukses):_ + +```javascript +[ + { + "id": 1, + "username": "marcelus", + "email": "marcel123456@gmail.com", + "password": "$2b$10$I2JXLSnEFazR50WQ4EiMPuNsYlOgoQBwJMgqG33Q0IrFEZY8HlrFG", + "createdAt": "2020-03-05T10:51:42.750Z", + "updatedAt": "2020-03-05T10:51:42.750Z" + }, + { + "id": 2, + "username": "marcellll", + "email": "marcel1234555@gmail.com", + "password": "$2b$10$WVYzEHBXfwd1X75iNUmA6OQMN80nrpXnp1VB7VZR/Gf8zGf3vGWlO", + "createdAt": "2020-03-05T12:51:42.921Z", + "updatedAt": "2020-03-05T12:51:42.921Z" + } +] +``` + +_If the "data" was empty, the response will be :_ + +```javascript +"[]"; +``` + +### 4. PUT / users + +_Request header:_ + +```javascript +{ + "Content-Type": "application/json", +} +``` + +
+ +_Example Input (Request Body) :_ + +```javascript +{ + "email": "marcel123@gmail.com", + "password": "123", +} +``` + +_Response (200, Respon Sukses):_ + +```javascript +{ + "username": "marcel", + "email": "marcel123@gmail.com", + "password": "1aojadoa2sdasd4adplalaxlasclsml", + "updatedAt": "2020-02-03T13:03:50.806Z", + "createdAt": "2020-02-03T13:03:50.806Z" +} +``` + + +_Example Error Input (Request Body) :_ + +```javascript +{ + "username": "marcel", + "email": "marcel123@gmail.com", + "password": "", +} +``` + +_Response ERROR(400, Data tidak lengkap):_ + +```javascript +{ + status: 400, + msg: "Password cannot empty." +} + +``` + + +## Todos + + +| Url | Method | Description | +| ---------- | ------ | -------------------------------------- | +| /todos | POST | Menambahkan todos baru kedalam todos list | +| /todos | GET | Mencari atau Melihat todos punya user | +| /todos/:id | GET | Mencari atau Melihat todos berdasarkan id | +| /todos/:id| PUT | Mengedit Data todos | +| /todos/:id | DELETE | Menghapus todos dari table favorite | + + + +### 1. POST /todos + +_Example Input (Request Body) :_ + +```javascript +{ +"title": "Makan", +"desciption": "Makan bakso di taman solo", +"due_date": "2020-02-03T13:03:50.806Z" +} +``` + +_Response (201, data berhasil ditambahkan):_ + +```javascript +{ + "id": 1, + "title": "Makan", + "desciption": "Makan bakso di taman solo", + "due_date": "2020-02-03T13:03:50.806Z" + "status": "Belum", + "UserId": 1, + "updatedAt": "2020-02-03T13:03:50.806Z", + "createdAt": "2020-02-03T13:03:50.806Z" + +} +``` + +### 2. GET / todos + +_Response (200, response sukses):_ + +```javascript +[ +{ + "id": 1, + "title": "Makan", + "desciption": "Makan bakso di taman solo", + "due_date": "2020-02-03T13:03:50.806Z" + "status": "Belum", + "UserId": 1, + "updatedAt": "2020-02-03T13:03:50.806Z", + "createdAt": "2020-02-03T13:03:50.806Z" +}, +{ + "id": 2, + "title": "Nyuci", + "desciption": "Nyuci handuk", + "due_date": "2020-02-03T13:03:50.806Z" + "status": "Belum", + "UserId": 1, + "updatedAt": "2020-02-03T13:03:50.806Z", + "createdAt": "2020-02-03T13:03:50.806Z" +} +] +``` + + +### 3. PUT / todos /:id + + +_Example Input (Request Body) :_ + +```javascript +{ + "title": "Makan", + "desciption": "Makan bakso di taman solo", + "due_date": "2020-02-03T13:03:50.806Z" +} +``` +_Response (200, response sukses):_ + +```javascript +{ + { + "id": 1, + "title": "Makan", + "desciption": "Makan bakso di taman solo", + "due_date": "2020-02-03T13:03:50.806Z" + "status": "Belum", + "UserId": 1, + "updatedAt": "2020-02-03T13:03:50.806Z", + "createdAt": "2020-02-03T13:03:50.806Z" +} +} + +``` + +_If the ID wasn't found the respond will be (404, data not found):_ + +```javascript +{ + status: 404, + msg: "data not found" +} +``` + +_Example Input (Request Body) :_ + +```javascript +{ +"title": "Summer Paradise", +"artist": "" +} + +``` +_Response ERROR (400, data tidak lengkap):_ + +```javascript +{ + "status": 400, + "msg": "Artist cannot be empty." +} + +``` + +### 4. DELETE / todos /:id + + + +_Example Input (Request Params) :_ + +```javascript + + req.params.id = 2 + +``` + + +_Response (200, response if success):_ + +```javascript +{ + "id": 2, + "title": "Makan", + "desciption": "Makan bakso di taman solo", + "due_date": "2020-02-03T13:03:50.806Z" + "status": "Belum", + "UserId": 1, + "updatedAt": "2020-02-03T13:03:50.806Z", + "createdAt": "2020-02-03T13:03:50.806Z" +} +``` + + +_Example Error Input (Request Body) :_ + +```javascript +req.params.id = 2 +``` + + +_Response ERROR (404, data not found):_ + +```javascript +{ + status: 404 + msg: 'error not found' +} + +``` + +### 5. GET / todos /:id + + + +_Example Input (Request Params) :_ + +```javascript + + req.params.id = 2 + +``` + + +_Response (200, response if success):_ + +```javascript +{ + "id": 2, + "title": "Makan", + "desciption": "Makan bakso di taman solo", + "due_date": "2020-02-03T13:03:50.806Z" + "status": "Belum", + "UserId": 1, + "updatedAt": "2020-02-03T13:03:50.806Z", + "createdAt": "2020-02-03T13:03:50.806Z" +} +``` + + +_Example Error Input (Request Body) :_ + +```javascript +req.params.id = 2 +``` + + +_Response ERROR (404, data not found):_ + +```javascript +{ + status: 404 + msg: 'error not found' +} + +``` diff --git a/client/js/jquery.js b/client/js/jquery.js index 5aa2fba5..946d1479 100644 --- a/client/js/jquery.js +++ b/client/js/jquery.js @@ -102,7 +102,7 @@ function editOne(id) { } $("#editForm").on('submit', function (e) { - // e.preventDefault() + e.preventDefault() const id = Number($("#editId").val()) console.log(id, $('#titleEdit').val(), $('#descriptionEdit').val(), @@ -120,7 +120,23 @@ $("#editForm").on('submit', function (e) { }) }) .done(data => { + $("#editPage").hide() + $("#todosTable").show() getData() + Swal.fire({ + title: 'Success!', + text: 'You already updated your task!', + icon: 'success', + confirmButtonText: 'Continue' + }) + }) + .fail(err => { + Swal.fire({ + title: 'error!', + text: 'You cannot leave one of them empty', + icon: 'error', + confirmButtonText: 'Continue' + }) }) } ) From 20e73386a4ef041967c11b3e8517ac786b106162 Mon Sep 17 00:00:00 2001 From: marcel Date: Sat, 7 Mar 2020 18:27:14 +0700 Subject: [PATCH 4/9] memperbarui documentation --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fea96f8b..bfea6301 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# MixList +# FANCY TODOS # Third Party From 4fc9eb5583d5e42d16fc8721369ee18a31a285b4 Mon Sep 17 00:00:00 2001 From: Marcel Maruli Pasaribu <57579452+ocellow@users.noreply.github.com> Date: Sat, 7 Mar 2020 18:41:03 +0700 Subject: [PATCH 5/9] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bfea6301..15a6e0e7 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ ### Example .env secret=cialobaobao + SENDGRID_API_KEY='SG.yW5JelmwQYCo6Dg6znEtCQ ZVmHemhvg0dKz22wvkJ2I6Xt9MoY5bPB6F-2WpVmzQw' PORT=3000 From 7341988b0ab923d5172251dc4b06aed06de6bcb8 Mon Sep 17 00:00:00 2001 From: Marcel Maruli Pasaribu <57579452+ocellow@users.noreply.github.com> Date: Sat, 7 Mar 2020 18:41:26 +0700 Subject: [PATCH 6/9] Update README.md Finishing Documentation From 87cab7050ee8c9b26c72bd2456469992fe35b695 Mon Sep 17 00:00:00 2001 From: marcel Date: Mon, 9 Mar 2020 17:04:15 +0700 Subject: [PATCH 7/9] fixing bug --- client/index.html | 253 ++++++++++++++++++++++---------------------- client/js/jquery.js | 17 +-- 2 files changed, 136 insertions(+), 134 deletions(-) diff --git a/client/index.html b/client/index.html index 566f4dfd..f637e888 100644 --- a/client/index.html +++ b/client/index.html @@ -9,11 +9,12 @@ Fancy-Todo - - + + +

No Title
${index + 1} ${el.title} ${el.description} ${el.status}${el.due_date}${moment(el.due_date).format('L')} - +
${index + 1} ${el.title} ${el.description} ${el.status}${el.due_date}${moment(el.due_date).format('L')} - + +
+
+
+
+ + + + + + + + + + - -
-
NoTitleDescriptionStatusDue_dateActions
-
-
-
- - - - - - - - - - - - - + -
NoTitleDescriptionStatusDue_dateActions
-
+ + + diff --git a/client/js/jquery.js b/client/js/jquery.js index 946d1479..3161ce03 100644 --- a/client/js/jquery.js +++ b/client/js/jquery.js @@ -68,6 +68,7 @@ function register() { } function editOne(id) { + $('#editForm').empty() $('#editPage').show() $.ajax({ url: url + '/todos/' + id, @@ -332,6 +333,9 @@ function addData() { }, }) .done((data) => { + $("#titleAdd").val("") + $("#descriptionAdd").val("") + $("#due_dateAdd").val("") Swal.fire({ title: 'SUCCESS', text: "You added one task!!", @@ -409,18 +413,15 @@ $('#showAddTodo').on('click', function (e) { }) $('#addForm').on('submit', function (e) { - // e.preventDefault() + e.preventDefault() addData() + $('#addPage').hide() getData() + $('#todosTable').show() + $("#showTodo").addClass("active"); + $("#showAddTodo").removeClass("active"); }) -// function onSignIn(googleUser) { -// var profile = googleUser.getBasicProfile(); -// console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead. -// console.log('Name: ' + profile.getName()); -// console.log('Image URL: ' + profile.getImageUrl()); -// console.log('Email: ' + profile.getEmail()); // This is null if the 'email' scope is not present. -// } function onSignIn(googleUser) { var id_token = googleUser.getAuthResponse().id_token; From 7fa4d631137dc06264fe01d8c835cb5c621f73af Mon Sep 17 00:00:00 2001 From: Marcel Maruli Pasaribu <57579452+ocellow@users.noreply.github.com> Date: Tue, 10 Mar 2020 14:02:39 +0700 Subject: [PATCH 8/9] Update README.md --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 15a6e0e7..02613f1b 100644 --- a/README.md +++ b/README.md @@ -35,9 +35,8 @@ PORT=3000 ### Default Port - SERVER = http://localhost:3000 - CLIENT = http://localhost:8080 - + SERVER = https://safe-dawn-98354.herokuapp.com/ + CLIENT = https://fancy-to-do-267406.firebaseapp.com/ ## Server Tools: NodeJS, Express, sequelize, postgresql From c246dc56570c44e3bc43131c064302942e930ffc Mon Sep 17 00:00:00 2001 From: marcel Date: Sun, 10 May 2020 20:21:41 +0700 Subject: [PATCH 9/9] cleaning the code --- client/js/jquery.js | 33 ---------------------------- server/controllers/controllerTodo.js | 1 - server/controllers/controllerUser.js | 9 -------- server/middlewares/authentication.js | 2 -- server/middlewares/authorization.js | 1 - server/middlewares/errorHandling.js | 2 -- 6 files changed, 48 deletions(-) diff --git a/client/js/jquery.js b/client/js/jquery.js index 3161ce03..be6b0aba 100644 --- a/client/js/jquery.js +++ b/client/js/jquery.js @@ -43,11 +43,7 @@ function register() { $('#usernameReg').val("") $('#passwordReg').val("") $('#emailReg').val("") - // alert(data) - // console.log(data); localStorage.setItem('token', data) - // console.log(token); - // getData() Swal.fire({ title: 'Register Success!', text: "You already Login. WELCOME! :).", @@ -56,7 +52,6 @@ function register() { }) }) .catch(err => { - // alert("alerrtttt") console.log(err); Swal.fire({ title: 'Register Error!', @@ -76,7 +71,6 @@ function editOne(id) { contentType: 'application/json', headers: { token: token }, success: data => { - // console.log(data); $('#editForm').append( `

Edit Todo

@@ -105,10 +99,6 @@ function editOne(id) { $("#editForm").on('submit', function (e) { e.preventDefault() const id = Number($("#editId").val()) - console.log(id, $('#titleEdit').val(), - $('#descriptionEdit').val(), - $('#due_dateEdit').val()); - // alert(id) $.ajax({ url: url + '/todos/' + id, method: "PUT", @@ -153,7 +143,6 @@ function login() { }) }) .done((data) => { - // console.log(data); localStorage.setItem('token', data) token = localStorage.getItem('token') getData() @@ -192,7 +181,6 @@ function getData() { }) .done((data) => { $('#todosData').empty() - // console.log(data); data.forEach((el, index) => { if (el.status === "Sudah") { $('#todosData').append( @@ -245,7 +233,6 @@ function getData() { } function updateDone(id) { - // alert(id) Swal.fire({ title: 'Are you sure?', text: "You've done this task??", @@ -257,7 +244,6 @@ function updateDone(id) { }) .then((result) => { if (result.value) { - console.log(id); $.ajax({ url: `${url}/todos/${id}`, method: 'PUT', @@ -269,7 +255,6 @@ function updateDone(id) { } }) .done((data) => { - console.log(data); getData() $(`#doneBtn${id}`).hide() }) @@ -316,10 +301,6 @@ function del(id) { } function addData() { - // e.preventDefault() - // console.log($("#titleAdd").val(), - // $("#descriptionAdd").val(), - // $("#due_dateAdd").val()); $.ajax({ url: `${url}/todos`, method: 'POST', @@ -349,12 +330,10 @@ function addData() { $('#loginForm').on('submit', (e) => { e.preventDefault(); login(); - // getData(); }) $('#loginA').on('click', (e) => { e.preventDefault() - // alert('masukk??') $('#registerPage').hide() $("#todosTable").hide() $('#loginPage').show() @@ -362,7 +341,6 @@ $('#loginA').on('click', (e) => { $('#registerA').on('click', (e) => { e.preventDefault() - // alert('masukk??') $('#registerPage').show() $("#todosTable").hide() $('#loginPage').hide() @@ -370,10 +348,6 @@ $('#registerA').on('click', (e) => { $('#registerForm').on('submit', function (e) { e.preventDefault(); - // alert('masukk') - // console.log($('#usernameReg').val(), - // $('#passwordReg').val(), - // $('#emailReg').val()); register(); getData(); }) @@ -434,7 +408,6 @@ function onSignIn(googleUser) { }) }) .done((data) => { - // console.log(data); localStorage.setItem('token', data) token = localStorage.getItem('token') getData() @@ -446,12 +419,6 @@ function onSignIn(googleUser) { $('#emailLog').val("") $('#passwordLog').val("") - // Swal.fire({ - // title: 'Login Success!', - // text: 'Do you want to continue', - // icon: 'success', - // confirmButtonText: 'Continue!' - // }) }) .catch(err => { Swal.fire({ diff --git a/server/controllers/controllerTodo.js b/server/controllers/controllerTodo.js index 50e52549..e7c4502d 100644 --- a/server/controllers/controllerTodo.js +++ b/server/controllers/controllerTodo.js @@ -75,7 +75,6 @@ class ControllerTodo { static edit(req, res, next) { const { title, description, status, due_date } = req.body - console.log(title, description, status, due_date, req.params.id); Todo .update({ title, diff --git a/server/controllers/controllerUser.js b/server/controllers/controllerUser.js index 101ba2d9..0f39348c 100644 --- a/server/controllers/controllerUser.js +++ b/server/controllers/controllerUser.js @@ -37,18 +37,15 @@ class controllerUser { email: result.email }, process.env.secret) res.status(200).json(token) - // next() } res.send }) .catch(err => { next(err) }) - // res.status(201).json(result) }) .catch(err => { next(err) - // console.log(JSON.stringify(err, null, 2)); }) } static login(req, res, next) { @@ -61,7 +58,6 @@ class controllerUser { }) .then(result => { const comparePassword = compare(password, result.password) - // res.send(comparePassword) if (comparePassword == true) { const token = jwt.sign({ id: result.id, @@ -69,17 +65,14 @@ class controllerUser { email: result.email }, process.env.secret) res.status(200).json(token) - // next() } else { throw { status: 400, msg: "Invalid username / email." } } - // res.status(200).json(result) }) .catch(err => { - // console.log('masuk sini??'); next({ status: 400, msg: "Invalid email / password." @@ -99,14 +92,12 @@ class controllerUser { static googleLogin(req, res, next) { const { id_token } = req.body; - // console.log(id_token); async function verify() { const ticket = await client.verifyIdToken({ idToken: id_token, audience: "476504549399-atherlcqb2eflh6lr8v3b4a03a65pmum.apps.googleusercontent.com", }); const payload = ticket.getPayload(); - // console.log(payload.name); User .findOne({ where: { diff --git a/server/middlewares/authentication.js b/server/middlewares/authentication.js index 2301c41b..cb774456 100644 --- a/server/middlewares/authentication.js +++ b/server/middlewares/authentication.js @@ -6,10 +6,8 @@ function authentication(req, res, next) { const token = req.headers.token const user = jwt.verify(token, process.env.secret) req.user = user - // res.send(user) next() } catch (error) { - // console.log('masuk sini harusnya'); throw { status: 401, msg: 'Wrong Username/Email' diff --git a/server/middlewares/authorization.js b/server/middlewares/authorization.js index d84d2923..61ad355e 100644 --- a/server/middlewares/authorization.js +++ b/server/middlewares/authorization.js @@ -8,7 +8,6 @@ module.exports = (req, res, next) => { } }) .then(result => { - // console.log(result.UserId); if (!result) { throw{ status: 404, diff --git a/server/middlewares/errorHandling.js b/server/middlewares/errorHandling.js index 31f1d6c3..61c9c1fa 100644 --- a/server/middlewares/errorHandling.js +++ b/server/middlewares/errorHandling.js @@ -1,6 +1,5 @@ function showErrors(err, req, res, next) { - console.log(err, 'masuk sini gak?'); const arrErrors = []; if (err.name === 'SequelizeUniqueConstraintError') { res.status(401).json('Email already registered.') @@ -8,7 +7,6 @@ function showErrors(err, req, res, next) { err.errors.forEach(errs => { arrErrors.push(errs.message) }); - // res.status(401).json(arrErrors) } else if (err.status) { res.status(err.status).json(err.msg)