From 929c0bc1a80b6582f3abfc001eb61deff786d91c Mon Sep 17 00:00:00 2001 From: Yash Verma Date: Mon, 28 Aug 2023 11:33:50 +0530 Subject: [PATCH] first commit --- .gitignore | 2 + README.md | 167 + app.js | 112 + cloudinary/index.js | 21 + controllers/campgrounds.js | 76 + controllers/reviews.js | 21 + controllers/users.js | 38 + middleware.js | 54 + models/campground.js | 62 + models/review.js | 13 + models/user.js | 15 + package-lock.json | 8282 ++++++++++++++++++++++++ package.json | 38 + public/javascripts/clusterMap.js | 130 + public/javascripts/showPageMap.js | 21 + public/javascripts/validateForms.js | 22 + public/stylesheets/app.css | 9 + public/stylesheets/home.css | 36 + public/stylesheets/stars.css | 190 + routes/campgrounds.js | 24 + routes/reviews.js | 14 + routes/users.js | 18 + schemas.js | 41 + seeds/cities.js | 9002 +++++++++++++++++++++++++++ seeds/index.js | 55 + seeds/seedHelpers.js | 45 + utils/ExpressError.js | 9 + utils/catchAsync.js | 5 + views/campgrounds/edit.ejs | 50 + views/campgrounds/index.ejs | 45 + views/campgrounds/new.ejs | 53 + views/campgrounds/show.ejs | 128 + views/error.ejs | 11 + views/home.ejs | 54 + views/layouts/boilerplate.ejs | 33 + views/partials/flash.ejs | 13 + views/partials/footer.ejs | 5 + views/partials/navbar.ejs | 24 + views/users/login.ejs | 33 + views/users/register.ejs | 39 + 40 files changed, 19010 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 app.js create mode 100644 cloudinary/index.js create mode 100644 controllers/campgrounds.js create mode 100644 controllers/reviews.js create mode 100644 controllers/users.js create mode 100644 middleware.js create mode 100644 models/campground.js create mode 100644 models/review.js create mode 100644 models/user.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/javascripts/clusterMap.js create mode 100644 public/javascripts/showPageMap.js create mode 100644 public/javascripts/validateForms.js create mode 100644 public/stylesheets/app.css create mode 100644 public/stylesheets/home.css create mode 100644 public/stylesheets/stars.css create mode 100644 routes/campgrounds.js create mode 100644 routes/reviews.js create mode 100644 routes/users.js create mode 100644 schemas.js create mode 100644 seeds/cities.js create mode 100644 seeds/index.js create mode 100644 seeds/seedHelpers.js create mode 100644 utils/ExpressError.js create mode 100644 utils/catchAsync.js create mode 100644 views/campgrounds/edit.ejs create mode 100644 views/campgrounds/index.ejs create mode 100644 views/campgrounds/new.ejs create mode 100644 views/campgrounds/show.ejs create mode 100644 views/error.ejs create mode 100644 views/home.ejs create mode 100644 views/layouts/boilerplate.ejs create mode 100644 views/partials/flash.ejs create mode 100644 views/partials/footer.ejs create mode 100644 views/partials/navbar.ejs create mode 100644 views/users/login.ejs create mode 100644 views/users/register.ejs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1dcef2d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +node_modules +.env \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..11e35f0 --- /dev/null +++ b/README.md @@ -0,0 +1,167 @@ +
+

🏕️ YelpCamp 🌲

+
+ +
+

- Development Process -

+
+ +## Initial Setup + +- [x] Add Landing Page +- [x] Add Campgrounds Page that lists all campgrounds + +## Each Campground has: + +- [x] Name +- [x] Image + +## Layout and Basic Styling + +- [x] Create our header and footer partials +- [x] Add in Bootstrap + +## Creating New Campgrounds + +- [x] Setup new campground POST route +- [x] Add in body-parser +- [x] Setup route to show form +- [x] Add basic unstyled form + +## Style the campgrounds page + +- [x] Add a better header/title +- [x] Make campgrounds display in a grid + +## Style the Navbar and Form + +- [x] Add a navbar to all templates +- [x] Style the new campground form + +## Add Mongoose + +- [x] Install and configure Mongoose +- [x] Setup campground model +- [x] Use campground model inside of our routes + +## Show Page + +- [x] Review the RESTful routes we've seen so far +- [x] Add description to our campground model +- [x] Show db.collection.drop() +- [x] Add a show route/template + +## Refactor Mongoose Code + +- [x] Create a models directory +- [x] Use module.exports +- [x] Require everything correctly + +## Add Seeds File + +- [x] Add a seeds.js file +- [x] Run the seeds file every time the server starts + +## Add the Comment model + +- [x] Make our errors go away +- [x] Display comments on campground show page + +## Comment New/Create + +- [x] Discuss nested routes +- [x] Add the comment new and create routes +- [x] Add the new comment form + +## Style Show Page + +- [x] Add sidebar to show page +- [x] Display comments nicely + +## Finish Styling Show Page + +- [x] Add public directory +- [x] Add custom stylesheet + +## Auth Pt. 1 - Add User Model + +- [x] Install all packages needed for auth +- [x] Define User model + +## Auth Pt. 2 - Register + +- [x] Cconfigure Passport +- [x] Add register routes +- [x] Add register template + +## Auth Pt. 3 - Login + +- [x] Add login routes +- [x] Add login template + +## Auth Pt. 4 - Logout/Navbar + +- [x] Add logout route +- [x] Prevent user from adding a comment if not signed in +- [x] Add links to navbar + +## Auth Pt. 5 - Show/Hide Links + +- [x] Show/hide auth links in navbar + +## Refactor The Routes + +- [x] Use Express router to reoragnize all routes + +## Users + Comments + +- [x] Associate users and comments +- [x] Save author's name to a comment automatically + +## Users + Campgrounds + +- [x] Prevent an unauthenticated user from creating a campground +- [x] Save username + id to newly created campground + +## Editing Campgrounds + +- [x] Add method override +- [x] Add edit route for campgrounds +- [x] Add link to edit page +- [x] Add update route + +## Deleting Campgrounds + +- [x] Add destroy route +- [x] Add delete button + +## Authorization (permission) + +- [x] User can only edit his/her campgrounds +- [x] User can only delete his/her campgrounds +- [x] Hide/Show edit and delete buttons + +## Editing comments + +- [x] Add edit route for comments +- [x] Add edit template +- [x] Add edit button +- [x] Add update route + +## Deleting comments + +- [x] Add destroy route +- [x] Add delete button + +## Authorization part 2: Comments + +- [x] User can only edit his/her comments +- [x] User can only delete his/her comments +- [x] Hide/Show edit and delete buttons +- [x] Refactor middleware + +## Adding in flash + +- [x] Demo working version +- [x] Install and configure connect-flash +- [x] Add bootstrap alerts to header diff --git a/app.js b/app.js new file mode 100644 index 0000000..be71f05 --- /dev/null +++ b/app.js @@ -0,0 +1,112 @@ +if(process.env.NODE_ENV !== "production") { + require('dotenv').config(); +} + +const express = require('express'); +const path = require('path'); +const mongoose = require('mongoose'); +const ejsMate = require('ejs-mate'); +const session = require('express-session'); +const flash = require('connect-flash'); +const ExpressError = require('./utils/ExpressError'); +const methodOverride = require('method-override'); +const passport = require('passport'); +const LocalStrategy = require('passport-local'); +const User = require('./models/user'); +const helmet = require('helmet'); +const mongoSanitize = require('express-mongo-sanitize'); +const userRoutes = require('./routes/users'); +const campgroundRoutes = require('./routes/campgrounds'); +const reviewRoutes = require('./routes/reviews'); +const MongoStore = require("connect-mongo"); +const dbUrl = process.env.DB_URL +mongoose.connect(dbUrl, { + useNewUrlParser: true, + useUnifiedTopology: true +}); + +const db = mongoose.connection; +db.once("open", () => { + console.log("Database connected"); +}).on('error', (error) => { + console.log('Connection error', error); +}); + +const app = express(); + +app.engine('ejs', ejsMate) +app.set('view engine', 'ejs'); +app.set('views', path.join(__dirname, 'views')) + +app.use(express.urlencoded({ extended: true })); +app.use(methodOverride('_method')); +app.use(express.static(path.join(__dirname, 'public'))) +app.use(mongoSanitize({ + replaceWith:'_' +})) + +const secret = process.env.SECRET || 'thisshouldbebettersecret'; + +// const store = new MongoStore({ +// url: dbUrl, +// secret: 'thisshouldbebettersecret', +// touchAfter: 24 * 60 * 60 +// }); + +// store.on("error", function(e){ +// console.log("SESSION STORE ERROR",e) +// }) + +const sessionConfig = { + // store, + name:'session', + secret, + resave: false, + saveUninitialized: true, + cookie: { + httpOnly: true, + // secure:true, + expires: Date.now() + 604800000, + maxAge: 604800000 + } +} +app.use(session(sessionConfig)); +app.use(flash()); + +app.use(passport.initialize()); +app.use(passport.session()); +passport.use(new LocalStrategy(User.authenticate())); + +passport.serializeUser(User.serializeUser()); +passport.deserializeUser(User.deserializeUser()); + +app.use((req,res,next)=>{ + res.locals.currentUser = req.user; + res.locals.success = req.flash('success'); + res.locals.error = req.flash('error'); + next(); +}) + +app.use('/',userRoutes); +app.use('/campgrounds',campgroundRoutes) +app.use('/campgrounds/:id/reviews',reviewRoutes) + +app.get('/', (req, res) => { + res.render('home') +}); + +app.all('*', (req, res, next) => { + next(new ExpressError('Page Not Found', 404)) +}) + +app.use((err, req, res, next) => { + const { statusCode = 500 } = err; + if (!err.message) err.message = 'Oh No, Something Went Wrong!' + res.status(statusCode).render('error', { err }) +}) + +const port = process.env.PORT || 3000; + +app.listen(port, () => { + console.log(`Serving on port ${port}`) +}) diff --git a/cloudinary/index.js b/cloudinary/index.js new file mode 100644 index 0000000..769082a --- /dev/null +++ b/cloudinary/index.js @@ -0,0 +1,21 @@ +const cloudinary = require('cloudinary').v2; +const {CloudinaryStorage} = require('multer-storage-cloudinary'); + +cloudinary.config({ + cloud_name: process.env.CLOUDINARY_CLOUD_NAME, + api_key: process.env.CLOUDINARY_KEY, + api_secret: process.env.CLOUDINARY_SECRET +}); + +const storage = new CloudinaryStorage({ + cloudinary, + params:{ + folder: 'YelpCamp', + allowedFormats: ['jpeg','png','jpg'] + } +}); + +module.exports = { + cloudinary, + storage +} \ No newline at end of file diff --git a/controllers/campgrounds.js b/controllers/campgrounds.js new file mode 100644 index 0000000..214ca6a --- /dev/null +++ b/controllers/campgrounds.js @@ -0,0 +1,76 @@ +const Campground = require('../models/campground'); +const mbxGeocoding = require("@mapbox/mapbox-sdk/services/geocoding"); +const mapBoxToken = process.env.MAPBOX_TOKEN; +const geocoder = mbxGeocoding({accessToken:mapBoxToken}); +const { cloudinary } = require("../cloudinary"); + +module.exports.index = async (req, res) => { + const campgrounds = await Campground.find({}); + res.render('campgrounds/index', { campgrounds }) +} + +module.exports.renderNewForm = (req, res) => { + res.render('campgrounds/new'); +} + +module.exports.createCampground = async (req, res, next) => { + const geoData = await geocoder.forwardGeocode({ + query: req.body.campground.location, + limit: 1 + }).send() + const campground = new Campground(req.body.campground); + campground.geometry = geoData.body.features[0].geometry; + campground.images = req.files.map(f => ({ url: f.path, filename: f.filename })); + campground.author = req.user._id; + await campground.save(); + console.log(campground); + req.flash('success', 'Successfully made a new campground!'); + res.redirect(`/campgrounds/${campground._id}`) +} +module.exports.showCampground = async (req, res) => { + const campground = await Campground.findById(req.params.id).populate({ + path: 'reviews', + populate: { + path: 'author' + } + }).populate('author'); + if (!campground) { + req.flash('error', 'Cannot find that campground'); + return res.redirect('/campgrounds'); + } + res.render('campgrounds/show', { campground }); +} + +module.exports.renderEditForm = async (req, res) => { + const { id } = req.params; + const campground = await Campground.findById(id) + if (!campground) { + req.flash('error', 'Cannot find that campground'); + return res.redirect('/campgrounds'); + } + res.render('campgrounds/edit', { campground }); +} + +module.exports.updateCampground = async (req, res) => { + const { id } = req.params; + console.log(req.body); + const campground = await Campground.findByIdAndUpdate(id, { ...req.body.campground }); + const imgs = req.files.map(f => ({ url: f.path, filename: f.filename })); + campground.images.push(...imgs); + if (req.body.deleteImages) { + for(let filename of req.body.deleteImages){ + await cloudinary.uploader.destroy(filename); + } + await campground.updateOne({ $pull: { images: { filename: { $in: req.body.deleteImages } } } }); + } + await campground.save(); + req.flash('success', 'Successfully updated campground!') + res.redirect(`/campgrounds/${campground._id}`) +} + +module.exports.deleteCampground = async (req, res) => { + const { id } = req.params; + await Campground.findByIdAndDelete(id); + req.flash('success', 'Successfully deleted campground!'); + res.redirect('/campgrounds'); +} \ No newline at end of file diff --git a/controllers/reviews.js b/controllers/reviews.js new file mode 100644 index 0000000..9230fff --- /dev/null +++ b/controllers/reviews.js @@ -0,0 +1,21 @@ +const Campground = require('../models/campground'); +const Review = require('../models/review'); + +module.exports.createReview = async(req,res)=>{ + const campground = await Campground.findById(req.params.id); + const review = new Review(req.body.review); + review.author = req.user._id; + campground.reviews.push(review); + await review.save(); + await campground.save(); + req.flash('success','Created new review!'); + res.redirect(`/campgrounds/${campground._id}`); +} + +module.exports.deleteReview = async(req,res)=>{ + const {id,reviewId}=req.params; + await Campground.findByIdAndUpdate(id,{$pull: {reviews: reviewId}}); + await Review.findByIdAndDelete(reviewId); + req.flash('success','Successfully deleted review!'); + res.redirect(`/campgrounds/${id}`); +} \ No newline at end of file diff --git a/controllers/users.js b/controllers/users.js new file mode 100644 index 0000000..034f55c --- /dev/null +++ b/controllers/users.js @@ -0,0 +1,38 @@ +const User = require('../models/user'); + +module.exports.renderRegister = (req, res) => { + res.render('users/register'); +} + +module.exports.register = async (req, res, next) => { + try { + const { email, username, password } = req.body; + const user = new User({ email, username }); + const registeredUser = await User.register(user, password); + req.login(registeredUser, err => { + if (err) return next(err); + req.flash('success', 'Welcome to Yelp Camp!'); + res.redirect('/campgrounds'); + }) + } catch (e) { + req.flash('error', e.message); + res.redirect('/register'); + } +} + +module.exports.renderLogin = (req, res) => { + res.render('users/login'); +} + +module.exports.login = (req, res) => { + req.flash('success', 'Welcome Back!'); + const redirectUrl = req.session.returnTo || '/campgrounds'; + delete req.session.returnTo; + res.redirect(redirectUrl); +} + +module.exports.logout = (req, res) => { + req.logout(); + req.flash('success', "Goodbye!!"); + res.redirect('/campgrounds'); +} \ No newline at end of file diff --git a/middleware.js b/middleware.js new file mode 100644 index 0000000..e286046 --- /dev/null +++ b/middleware.js @@ -0,0 +1,54 @@ +const {campgroundSchema, reviewSchema} = require('./schemas'); +const ExpressError = require('./utils/ExpressError'); +const Campground = require('./models/campground'); +const Review = require('./models/review') + +module.exports.isLoggedIn = (req,res,next)=>{ + if(!req.isAuthenticated()){ + req.session.returnTo = req.originalUrl + req.flash('error','You must be signed in'); + return res.redirect('/login'); + } + next(); +} + +module.exports.validateCampground = (req, res, next) => { + const { error } = campgroundSchema.validate(req.body); + if (error) { + const msg = error.details.map(el => el.message).join(',') + throw new ExpressError(msg, 400) + } else { + next(); + } +} + +module.exports.isAuthor = async(req,res,next)=>{ + const {id} = req.params; + const campground = await Campground.findById(id); + if(!campground.author.equals(req.user._id)){ + req.flash('error','You do not have permission to do that'); + return res.redirect(`/campgrounds/${id}`); + } + next(); +} + +module.exports.isReviewAuthor = async(req,res,next)=>{ + const {id,reviewId} = req.params; + const review = await Review.findById(reviewId); + if(!review.author.equals(req.user._id)){ + req.flash('error','You do not have permission to do that'); + return res.redirect(`/campgrounds/${id}`); + } + next(); +} + +module.exports.validateReview = (req,res,next) => { + const {error} = reviewSchema.validate(req.body); + + if (error) { + const msg = error.details.map(el => el.message).join(',') + throw new ExpressError(msg, 400) + } else { + next(); + } +} \ No newline at end of file diff --git a/models/campground.js b/models/campground.js new file mode 100644 index 0000000..1b6624d --- /dev/null +++ b/models/campground.js @@ -0,0 +1,62 @@ +const mongoose = require('mongoose'); +const Review = require('./review') +const Schema = mongoose.Schema; + + +const ImageSchema = new Schema({ + url: String, + filename: String +}); + +ImageSchema.virtual('thumbnail').get(function(){ + return this.url.replace('/upload','/upload/w_200'); +}); + +const opts = { toJSON: { virtuals: true } }; + +const CampgroundSchema = new Schema({ + title: String, + images: [ImageSchema], + geometry:{ + type:{ + type: String, + enum: ['Point'], + required:true + }, + coordinates: { + type: [Number], + required:true + } + }, + price: Number, + description: String, + location: String, + author: { + type: Schema.Types.ObjectId, + ref: 'User' + }, + reviews: [ + { + type: Schema.Types.ObjectId, + ref: 'Review' + } + ] +}, opts); + +CampgroundSchema.virtual('properties.popUpMarkup').get(function () { + const descrip = this.description ? this.description.substring(0, 20) : ' '; + return `${this.message}

${descrip}...

`; +}); + + +CampgroundSchema.post('findOneAndDelete',async function(doc){ + if(doc){ + await Review.deleteMany({ + _id: { + $in: doc.reviews + } + }) + } +}) + +module.exports = mongoose.model('Campground',CampgroundSchema); \ No newline at end of file diff --git a/models/review.js b/models/review.js new file mode 100644 index 0000000..596fd52 --- /dev/null +++ b/models/review.js @@ -0,0 +1,13 @@ +const mongoose = require('mongoose'); +const Schema = mongoose.Schema; + +const reviewSchema = new Schema({ + body: String, + rating: Number, + author:{ + type: Schema.Types.ObjectId, + ref: 'User' + } +}); + +module.exports = mongoose.model ("Review", reviewSchema); \ No newline at end of file diff --git a/models/user.js b/models/user.js new file mode 100644 index 0000000..0d92862 --- /dev/null +++ b/models/user.js @@ -0,0 +1,15 @@ +const mongoose = require('mongoose'); +const Schema = mongoose.Schema; +const passportLocalMongoose = require('passport-local-mongoose'); + +const UserSchema = new Schema({ + email: { + type:String, + required: true, + unique: true + } +}); + +UserSchema.plugin(passportLocalMongoose); + +module.exports = mongoose.model('User',UserSchema); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..325dc5f --- /dev/null +++ b/package-lock.json @@ -0,0 +1,8282 @@ +{ + "name": "yelpcamp", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "yelpcamp", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@mapbox/mapbox-sdk": "^0.13.2", + "cloudinary": "^1.28.1", + "connect-flash": "^0.1.1", + "connect-mongo": "^4.6.0", + "dotenv": "^16.0.0", + "ejs": "^3.1.6", + "ejs-lint": "^1.2.1", + "ejs-mate": "^3.0.0", + "express": "^4.17.2", + "express-mongo-sanitize": "^2.2.0", + "express-session": "^1.17.2", + "helmet": "^5.0.2", + "joi": "^17.6.0", + "method-override": "^3.0.0", + "mongoose": "^6.2.0", + "multer": "^1.4.4", + "multer-storage-cloudinary": "^4.0.0", + "nodemon": "^2.0.15", + "passport": "^0.5.2", + "passport-local": "^1.0.0", + "passport-local-mongoose": "^6.1.0", + "path": "^0.12.7", + "sanitize-html": "^2.7.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "dependencies": { + "@babel/highlight": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@hapi/hoek": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz", + "integrity": "sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==" + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@mapbox/fusspot": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@mapbox/fusspot/-/fusspot-0.4.0.tgz", + "integrity": "sha512-6sys1vUlhNCqMvJOqPEPSi0jc9tg7aJ//oG1A16H3PXoIt9whtNngD7UzBHUVTH15zunR/vRvMtGNVsogm1KzA==", + "dependencies": { + "is-plain-obj": "^1.1.0", + "xtend": "^4.0.1" + } + }, + "node_modules/@mapbox/mapbox-sdk": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/@mapbox/mapbox-sdk/-/mapbox-sdk-0.13.2.tgz", + "integrity": "sha512-VP2+Gyada3G8IJPbiD+9KZMEIxqITyPjVL66FBav2qjFhlHf5LrRCoZ4IbI6Os8DZadSEyxDGVU/doLaohkJRw==", + "dependencies": { + "@mapbox/fusspot": "^0.4.0", + "@mapbox/parse-mapbox-token": "^0.2.0", + "@mapbox/polyline": "^1.0.0", + "eventemitter3": "^3.1.0", + "form-data": "^3.0.0", + "got": "^10.7.0", + "is-plain-obj": "^1.1.0", + "xtend": "^4.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@mapbox/mapbox-sdk/node_modules/@sindresorhus/is": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-2.1.1.tgz", + "integrity": "sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@mapbox/mapbox-sdk/node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@mapbox/mapbox-sdk/node_modules/cacheable-request": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", + "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@mapbox/mapbox-sdk/node_modules/decompress-response": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-5.0.0.tgz", + "integrity": "sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw==", + "dependencies": { + "mimic-response": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@mapbox/mapbox-sdk/node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@mapbox/mapbox-sdk/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@mapbox/mapbox-sdk/node_modules/got": { + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/got/-/got-10.7.0.tgz", + "integrity": "sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg==", + "dependencies": { + "@sindresorhus/is": "^2.0.0", + "@szmarczak/http-timer": "^4.0.0", + "@types/cacheable-request": "^6.0.1", + "cacheable-lookup": "^2.0.0", + "cacheable-request": "^7.0.1", + "decompress-response": "^5.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^5.0.0", + "lowercase-keys": "^2.0.0", + "mimic-response": "^2.1.0", + "p-cancelable": "^2.0.0", + "p-event": "^4.0.0", + "responselike": "^2.0.0", + "to-readable-stream": "^2.0.0", + "type-fest": "^0.10.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/@mapbox/mapbox-sdk/node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "node_modules/@mapbox/mapbox-sdk/node_modules/keyv": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.1.1.tgz", + "integrity": "sha512-tGv1yP6snQVDSM4X6yxrv2zzq/EvpW+oYiUz6aueW1u9CtS8RzUQYxxmFwgZlO2jSgCxQbchhxaqXXp2hnKGpQ==", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/@mapbox/mapbox-sdk/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@mapbox/mapbox-sdk/node_modules/mimic-response": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", + "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@mapbox/mapbox-sdk/node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@mapbox/mapbox-sdk/node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@mapbox/mapbox-sdk/node_modules/responselike": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", + "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", + "dependencies": { + "lowercase-keys": "^2.0.0" + } + }, + "node_modules/@mapbox/mapbox-sdk/node_modules/to-readable-stream": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-2.1.0.tgz", + "integrity": "sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@mapbox/mapbox-sdk/node_modules/type-fest": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.10.0.tgz", + "integrity": "sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@mapbox/parse-mapbox-token": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@mapbox/parse-mapbox-token/-/parse-mapbox-token-0.2.0.tgz", + "integrity": "sha512-BjeuG4sodYaoTygwXIuAWlZV6zUv4ZriYAQhXikzx+7DChycMUQ9g85E79Htat+AsBg+nStFALehlOhClYm5cQ==", + "dependencies": { + "base-64": "^0.1.0" + } + }, + "node_modules/@mapbox/polyline": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@mapbox/polyline/-/polyline-1.1.1.tgz", + "integrity": "sha512-z9Sl7NYzsEIrAza658H92mc0OvpBjQwjp7Snv4xREKhsCMat7m1IKdWJMjQ5opiPYa0veMf7kCaSd1yx55AhmQ==", + "dependencies": { + "meow": "^6.1.1" + }, + "bin": { + "polyline": "bin/polyline.bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@sideway/address": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.3.tgz", + "integrity": "sha512-8ncEUtmnTsMmL7z1YPB47kPUq7LpKWJNFPsRzHiIajGC5uXlWGn+AmkYPcHNl8S4tcEGx+cnORnNYaw2wvL+LQ==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", + "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + }, + "node_modules/@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dependencies": { + "defer-to-connect": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "optional": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/cacheable-request": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz", + "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==", + "dependencies": { + "@types/http-cache-semantics": "*", + "@types/keyv": "*", + "@types/node": "*", + "@types/responselike": "*" + } + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", + "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" + }, + "node_modules/@types/keyv": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.3.tgz", + "integrity": "sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" + }, + "node_modules/@types/node": { + "version": "17.0.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.14.tgz", + "integrity": "sha512-SbjLmERksKOGzWzPNuW7fJM7fk3YXVTFiZWB/Hs99gwhk+/dnrQRPBQjPW9aO+fi1tAffi9PrwFvsmOKmDTyng==" + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" + }, + "node_modules/@types/responselike": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", + "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/webidl-conversions": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-6.1.1.tgz", + "integrity": "sha512-XAahCdThVuCFDQLT7R7Pk/vqeObFNL3YqRyFZg+AqAP/W1/w3xHaIxuW7WszQqTbIBOPRcItYJIou3i/mppu3Q==" + }, + "node_modules/@types/whatwg-url": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.1.tgz", + "integrity": "sha512-2YubE1sjj5ifxievI5Ge1sckb9k/Er66HyR2c+3+I6VDUUg1TLPdYYTEbQ+DjRkS4nTxMJhgWfSfMRD2sl2EYQ==", + "dependencies": { + "@types/node": "*", + "@types/webidl-conversions": "*" + } + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "optional": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-node/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-node/node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "optional": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "optional": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agent-base/node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "optional": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/agent-base/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "optional": true + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha1-HjRA6RXwsSA9I3SOeO3XubW0PlY=" + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "optional": true, + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base-64": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", + "integrity": "sha1-eAqZyE59YAJgNhURxId2E78k9rs=" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/body-parser": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz", + "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==", + "dependencies": { + "bytes": "3.1.1", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.8.1", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.9.6", + "raw-body": "2.4.2", + "type-is": "~1.6.18" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "dependencies": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/boxen/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/boxen/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/boxen/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/boxen/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/bson": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/bson/-/bson-4.6.1.tgz", + "integrity": "sha512-I1LQ7Hz5zgwR4QquilLNZwbhPw0Apx7i7X9kGMBTsqPdml/03Q9NBtD9nt/19ahjlphktQImrnderxqpzeVDjw==", + "dependencies": { + "buffer": "^5.6.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/busboy": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz", + "integrity": "sha1-bCpiLvz0fFe7vh4qnDetNseSVFM=", + "dependencies": { + "dicer": "0.2.5", + "readable-stream": "1.1.x" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/bytes": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", + "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacheable-lookup": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-2.0.1.tgz", + "integrity": "sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg==", + "dependencies": { + "@types/keyv": "^3.1.1", + "keyv": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cacheable-lookup/node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "node_modules/cacheable-lookup/node_modules/keyv": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.1.1.tgz", + "integrity": "sha512-tGv1yP6snQVDSM4X6yxrv2zzq/EvpW+oYiUz6aueW1u9CtS8RzUQYxxmFwgZlO2jSgCxQbchhxaqXXp2hnKGpQ==", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "node_modules/cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dependencies": { + "mimic-response": "^1.0.0" + } + }, + "node_modules/cloudinary": { + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/cloudinary/-/cloudinary-1.28.1.tgz", + "integrity": "sha512-iCSgX/GjyNRYUf/1kQgyLl8UdhPKUWIxsAvCD0qjUcnnIZqHk5tJQmCt5YpGh/r1tVdKa4TV/iDB12S33Zjy0w==", + "dependencies": { + "cloudinary-core": "^2.10.2", + "core-js": "3.6.5", + "lodash": "^4.17.11", + "q": "^1.5.1" + }, + "engines": { + "node": ">=0.6" + }, + "optionalDependencies": { + "proxy-agent": "^5.0.0" + } + }, + "node_modules/cloudinary-core": { + "version": "2.12.3", + "resolved": "https://registry.npmjs.org/cloudinary-core/-/cloudinary-core-2.12.3.tgz", + "integrity": "sha512-Ll4eDzcrIVn4zCttMh3Mdi+KNz07p5EEjBT2PQSRx8Eok1lKPt3uBBenOk/w88RKK3B8SFIWcEe/mN4BHQ0p8A==", + "peerDependencies": { + "lodash": ">=4.0" + } + }, + "node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "node_modules/concat-stream/node_modules/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==", + "dependencies": { + "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" + } + }, + "node_modules/concat-stream/node_modules/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==" + }, + "node_modules/concat-stream/node_modules/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==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "dependencies": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/connect-flash": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/connect-flash/-/connect-flash-0.1.1.tgz", + "integrity": "sha1-2GMPJtlaf4UfmVax6MxnMvO2qjA=", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/connect-mongo": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/connect-mongo/-/connect-mongo-4.6.0.tgz", + "integrity": "sha512-8new4Z7NLP3CGP65Aw6ls3xDBeKVvHRSh39CXuDZTQsvpeeU9oNMzfFgvqmHqZ6gWpxIl663RyoVEmCAGf1yOg==", + "dependencies": { + "debug": "^4.3.1", + "kruptein": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "mongodb": "^4.1.0" + } + }, + "node_modules/connect-mongo/node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/connect-mongo/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "node_modules/core-js": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/data-uri-to-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz", + "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==", + "optional": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "optional": true + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + }, + "node_modules/degenerator": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-3.0.2.tgz", + "integrity": "sha512-c0mef3SNQo56t6urUU6tdQAs+ThoD0o9B9MJ8HEt7NQcGEILCRFqQb7ZbP9JAv+QF1Ky5plydhMR/IrqWDm+TQ==", + "optional": true, + "dependencies": { + "ast-types": "^0.13.2", + "escodegen": "^1.8.1", + "esprima": "^4.0.0", + "vm2": "^3.9.8" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/denque": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.0.1.tgz", + "integrity": "sha512-tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "node_modules/dicer": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", + "integrity": "sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=", + "dependencies": { + "readable-stream": "1.1.x", + "streamsearch": "0.1.2" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", + "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.0.tgz", + "integrity": "sha512-qD9WU0MPM4SWLPJy/r2Be+2WgQj8plChsyrCNQzW/0WjvcJQiKQJ9mH3ZgB3fxbUUxgc/11ZJ0Fi5KiimWGz2Q==", + "engines": { + "node": ">=12" + } + }, + "node_modules/duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "node_modules/ejs": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", + "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", + "dependencies": { + "jake": "^10.6.1" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ejs-include-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ejs-include-regex/-/ejs-include-regex-1.0.0.tgz", + "integrity": "sha1-4vcVdcv9VRrIALJHTB9io45wCTo=" + }, + "node_modules/ejs-lint": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ejs-lint/-/ejs-lint-1.2.1.tgz", + "integrity": "sha512-pHN8kjh8a4HxeG8FKl4+8wgiX/h7fiZK9r56hK2KA9xJ2a+736+4iEfEYw6uHkTy0rXdVGDSQFqpiFqG80TtKg==", + "dependencies": { + "chalk": "^4.0.0", + "ejs": "3.1.6", + "ejs-include-regex": "^1.0.0", + "globby": "^11.0.0", + "read-input": "^0.3.1", + "slash": "^3.0.0", + "syntax-error": "^1.1.6", + "yargs": "^16.0.0" + }, + "bin": { + "ejslint": "cli.js" + } + }, + "node_modules/ejs-lint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ejs-lint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ejs-lint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ejs-lint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/ejs-lint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ejs-lint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ejs-mate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ejs-mate/-/ejs-mate-3.0.0.tgz", + "integrity": "sha512-9dw3DkvHsUDm9ZcWveQYzIDCOCVpTtaQ7KXE+0/fmxZVtef1q2J00f4qPQvH7I12BQUza0S+5AqZAHh3M96zXA==", + "dependencies": { + "ejs": "^2.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ejs-mate/node_modules/ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "hasInstallScript": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "node_modules/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=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "optional": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "optional": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "optional": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" + }, + "node_modules/express": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz", + "integrity": "sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==", + "dependencies": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.4.1", + "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.7", + "qs": "6.9.6", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.17.2", + "serve-static": "1.14.2", + "setprototypeof": "1.2.0", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express-mongo-sanitize": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/express-mongo-sanitize/-/express-mongo-sanitize-2.2.0.tgz", + "integrity": "sha512-PZBs5nwhD6ek9ZuP+W2xmpvcrHwXZxD5GdieX2dsjPbAbH4azOkrHbycBud2QRU+YQF1CT+pki/lZGedHgo/dQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/express-session": { + "version": "1.17.2", + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.2.tgz", + "integrity": "sha512-mPcYcLA0lvh7D4Oqr5aNJFMtBMKPLl++OKKxkHzZ0U0oDq1rpKBnkR5f5vCHR26VeArlTOEF9td4x5IjICksRQ==", + "dependencies": { + "cookie": "0.4.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-headers": "~1.0.2", + "parseurl": "~1.3.3", + "safe-buffer": "5.2.1", + "uid-safe": "~2.1.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/express-session/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "optional": true + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-uri-to-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz", + "integrity": "sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==", + "optional": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/filelist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", + "integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==", + "dependencies": { + "minimatch": "^3.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dependencies": { + "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" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "optional": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/ftp": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", + "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", + "optional": true, + "dependencies": { + "readable-stream": "1.1.x", + "xregexp": "2.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/generaterr": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/generaterr/-/generaterr-1.5.0.tgz", + "integrity": "sha1-sM62zFFk3yoGEzjMNAqGFTlcUvw=" + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-uri": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-3.0.2.tgz", + "integrity": "sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==", + "optional": true, + "dependencies": { + "@tootallnate/once": "1", + "data-uri-to-buffer": "3", + "debug": "4", + "file-uri-to-path": "2", + "fs-extra": "^8.1.0", + "ftp": "^0.3.10" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/get-uri/node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "optional": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/get-uri/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "optional": true + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/global-dirs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", + "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dependencies": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/helmet": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/helmet/-/helmet-5.0.2.tgz", + "integrity": "sha512-QWlwUZZ8BtlvwYVTSDTBChGf8EOcQ2LkGMnQJxSzD1mUu8CCjXJZq/BXP8eWw4kikRnzlhtYo3lCk0ucmYA3Vg==", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, + "node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "optional": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-agent/node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "optional": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/http-proxy-agent/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "optional": true + }, + "node_modules/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==", + "optional": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "optional": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "optional": true + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=" + }, + "node_modules/import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "engines": { + "node": ">=4" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-core-module": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-npm": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", + "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "node_modules/is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "node_modules/jake": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", + "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==", + "dependencies": { + "async": "0.9.x", + "chalk": "^2.4.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/joi": { + "version": "17.6.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz", + "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==", + "dependencies": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.0", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "optional": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/kareem": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.3.tgz", + "integrity": "sha512-uESCXM2KdtOQ8LOvKyTUXEeg0MkYp4wGglTIpGcYHvjJcS5sn2Wkfrfit8m4xSbaNDAw2KdI9elgkOxZbrFYbg==" + }, + "node_modules/keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dependencies": { + "json-buffer": "3.0.0" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kruptein": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kruptein/-/kruptein-3.0.3.tgz", + "integrity": "sha512-v5mqSHKS2M1xWUo5V7Q6TMcj1vjTgKWvfspizn6Z939Cmv8NNn5E+Z4LeGBEKDL3yT4pMXaRTjh98oksGTDntA==", + "dependencies": { + "asn1.js": "^5.4.1" + }, + "engines": { + "node": ">8" + } + }, + "node_modules/latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "dependencies": { + "package-json": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "optional": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", + "optional": true + }, + "node_modules/meow": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz", + "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "^4.0.2", + "normalize-package-data": "^2.5.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.13.1", + "yargs-parser": "^18.1.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/method-override": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/method-override/-/method-override-3.0.0.tgz", + "integrity": "sha512-IJ2NNN/mSl9w3kzWB92rcdHpz+HjkxhDJWNDBqSlas+zQdP8wBiJzITPg08M/k2uVvMow7Sk41atndNtt/PHSA==", + "dependencies": { + "debug": "3.1.0", + "methods": "~1.1.2", + "parseurl": "~1.3.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/method-override/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "dependencies": { + "mime-db": "1.51.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mongodb": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.3.1.tgz", + "integrity": "sha512-sNa8APSIk+r4x31ZwctKjuPSaeKuvUeNb/fu/3B6dRM02HpEgig7hTHM8A/PJQTlxuC/KFWlDlQjhsk/S43tBg==", + "dependencies": { + "bson": "^4.6.1", + "denque": "^2.0.1", + "mongodb-connection-string-url": "^2.4.1", + "socks": "^2.6.1" + }, + "engines": { + "node": ">=12.9.0" + }, + "optionalDependencies": { + "saslprep": "^1.0.3" + } + }, + "node_modules/mongodb-connection-string-url": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.4.2.tgz", + "integrity": "sha512-mZUXF6nUzRWk5J3h41MsPv13ukWlH4jOMSk6astVeoZ1EbdTJyF5I3wxKkvqBAOoVtzLgyEYUvDjrGdcPlKjAw==", + "dependencies": { + "@types/whatwg-url": "^8.2.1", + "whatwg-url": "^11.0.0" + } + }, + "node_modules/mongoose": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.2.0.tgz", + "integrity": "sha512-kimHjks1FC4HkqM4FVNWxtGor6wYelHgl6eJ6GJmmJvMCI4FNGLwFceSL6hs7dHLZJnxIyGVqQjT/XTXCbjzpA==", + "dependencies": { + "bson": "^4.2.2", + "kareem": "2.3.3", + "mongodb": "4.3.1", + "mpath": "0.8.4", + "mquery": "4.0.2", + "ms": "2.1.2", + "regexp-clone": "1.0.0", + "sift": "13.5.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mongoose" + } + }, + "node_modules/mongoose/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/mpath": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.8.4.tgz", + "integrity": "sha512-DTxNZomBcTWlrMW76jy1wvV37X/cNNxPW1y2Jzd4DZkAaC5ZGsm8bfGfNOthcDuRJujXLqiuS6o3Tpy0JEoh7g==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mquery": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.2.tgz", + "integrity": "sha512-oAVF0Nil1mT3rxty6Zln4YiD6x6QsUWYz927jZzjMxOK2aqmhEz5JQ7xmrKK7xRFA2dwV+YaOpKU/S+vfNqKxA==", + "dependencies": { + "debug": "4.x" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/mquery/node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mquery/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/multer": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4.tgz", + "integrity": "sha512-2wY2+xD4udX612aMqMcB8Ws2Voq6NIUPEtD1be6m411T4uDH/VtL9i//xvcyFlTVfRdaBsk7hV5tgrGQqhuBiw==", + "dependencies": { + "append-field": "^1.0.0", + "busboy": "^0.2.11", + "concat-stream": "^1.5.2", + "mkdirp": "^0.5.4", + "object-assign": "^4.1.1", + "on-finished": "^2.3.0", + "type-is": "^1.6.4", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/multer-storage-cloudinary": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/multer-storage-cloudinary/-/multer-storage-cloudinary-4.0.0.tgz", + "integrity": "sha512-25lm9R6o5dWrHLqLvygNX+kBOxprzpmZdnVKH4+r68WcfCt8XV6xfQaMuAg+kUE5Xmr8mJNA4gE0AcBj9FJyWA==", + "peerDependencies": { + "cloudinary": "^1.21.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", + "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "optional": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/nodemon": { + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.15.tgz", + "integrity": "sha512-gdHMNx47Gw7b3kWxJV64NI+Q5nfl0y5DgDbiVtShiwa7Z0IZ07Ll4RLFo6AjrhzMtoEZn5PDE3/c2AbVsiCkpA==", + "hasInstallScript": true, + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^3.2.7", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.0.4", + "pstree.remy": "^1.1.8", + "semver": "^5.7.1", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5", + "update-notifier": "^5.1.0" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=8.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "node_modules/nodemon/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/nodemon/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "optional": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/p-event": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", + "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", + "dependencies": { + "p-timeout": "^3.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pac-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-5.0.0.tgz", + "integrity": "sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ==", + "optional": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4", + "get-uri": "3", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "5", + "pac-resolver": "^5.0.0", + "raw-body": "^2.2.0", + "socks-proxy-agent": "5" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/pac-proxy-agent/node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "optional": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/pac-proxy-agent/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "optional": true + }, + "node_modules/pac-resolver": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.0.tgz", + "integrity": "sha512-H+/A6KitiHNNW+bxBKREk2MCGSxljfqRX76NjummWEYIat7ldVXRU3dhRIE3iXZ0nvGBk6smv3nntxKkzRL8NA==", + "optional": true, + "dependencies": { + "degenerator": "^3.0.1", + "ip": "^1.1.5", + "netmask": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "dependencies": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/package-json/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-srcset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz", + "integrity": "sha1-8r0iH2zJcKk42IVWq8WJyqqiveE=" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/passport": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/passport/-/passport-0.5.2.tgz", + "integrity": "sha512-w9n/Ot5I7orGD4y+7V3EFJCQEznE5RxHamUxcqLT2QoJY0f2JdN8GyHonYFvN0Vz+L6lUJfVhrk2aZz2LbuREw==", + "dependencies": { + "passport-strategy": "1.x.x", + "pause": "0.0.1" + }, + "engines": { + "node": ">= 0.4.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jaredhanson" + } + }, + "node_modules/passport-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz", + "integrity": "sha1-H+YyaMkudWBmJkN+O5BmYsFbpu4=", + "dependencies": { + "passport-strategy": "1.x.x" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/passport-local-mongoose": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/passport-local-mongoose/-/passport-local-mongoose-6.1.0.tgz", + "integrity": "sha512-kxRDejpBXoPmWau1RCrmEeNYEXGG9ec4aDYjd0pFAHIEAzZ0RXKn581ISfjpHZ1zZLoCCM2pWUo4SfGHNJNwnw==", + "dependencies": { + "generaterr": "^1.5.0", + "passport-local": "^1.0.0", + "scmp": "^2.1.0" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/passport-strategy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", + "integrity": "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", + "dependencies": { + "process": "^0.11.1", + "util": "^0.10.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/pause": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", + "integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz", + "integrity": "sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==", + "dependencies": { + "nanoid": "^3.2.0", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "optional": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "engines": { + "node": ">=4" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/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==" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-5.0.0.tgz", + "integrity": "sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g==", + "optional": true, + "dependencies": { + "agent-base": "^6.0.0", + "debug": "4", + "http-proxy-agent": "^4.0.0", + "https-proxy-agent": "^5.0.0", + "lru-cache": "^5.1.1", + "pac-proxy-agent": "^5.0.0", + "proxy-from-env": "^1.0.0", + "socks-proxy-agent": "^5.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/proxy-agent/node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "optional": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/proxy-agent/node_modules/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==", + "optional": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/proxy-agent/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "optional": true + }, + "node_modules/proxy-agent/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "optional": true + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "optional": true + }, + "node_modules/pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==" + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pupa": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", + "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", + "dependencies": { + "escape-goat": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.9.6", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", + "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "engines": { + "node": ">=8" + } + }, + "node_modules/random-bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", + "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz", + "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==", + "dependencies": { + "bytes": "3.1.1", + "http-errors": "1.8.1", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/read-input": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/read-input/-/read-input-0.3.1.tgz", + "integrity": "sha1-WzFpMIATRk/9puyS5Y0tPOqUjfE=" + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regexp-clone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz", + "integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw==" + }, + "node_modules/registry-auth-token": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", + "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", + "dependencies": { + "rc": "^1.2.8" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "dependencies": { + "rc": "^1.2.8" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "dependencies": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sanitize-html": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.7.0.tgz", + "integrity": "sha512-jfQelabOn5voO7FAfnQF7v+jsA6z9zC/O4ec0z3E35XPEtHYJT/OdUziVWlKW4irCr2kXaQAyXTXDHWAibg1tA==", + "dependencies": { + "deepmerge": "^4.2.2", + "escape-string-regexp": "^4.0.0", + "htmlparser2": "^6.0.0", + "is-plain-object": "^5.0.0", + "parse-srcset": "^1.0.2", + "postcss": "^8.3.11" + } + }, + "node_modules/sanitize-html/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/saslprep": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz", + "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", + "optional": true, + "dependencies": { + "sparse-bitfield": "^3.0.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/scmp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/scmp/-/scmp-2.1.0.tgz", + "integrity": "sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==" + }, + "node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "dependencies": { + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/semver-diff/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", + "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "dependencies": { + "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.8.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/serve-static": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", + "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/sift": { + "version": "13.5.2", + "resolved": "https://registry.npmjs.org/sift/-/sift-13.5.2.tgz", + "integrity": "sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA==" + }, + "node_modules/signal-exit": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz", + "integrity": "sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==", + "dependencies": { + "ip": "^1.1.5", + "smart-buffer": "^4.1.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz", + "integrity": "sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==", + "optional": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "4", + "socks": "^2.3.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/socks-proxy-agent/node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "optional": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socks-proxy-agent/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "optional": true + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", + "optional": true, + "dependencies": { + "memory-pager": "^1.0.2" + } + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/streamsearch": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", + "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/syntax-error": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", + "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", + "dependencies": { + "acorn-node": "^1.2.0" + } + }, + "node_modules/to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "dependencies": { + "nopt": "~1.0.10" + }, + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, + "node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "optional": true + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "optional": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/uid-safe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", + "dependencies": { + "random-bytes": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==" + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "optional": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-notifier": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", + "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", + "dependencies": { + "boxen": "^5.0.0", + "chalk": "^4.1.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.4.0", + "is-npm": "^5.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.1.0", + "pupa": "^2.1.1", + "semver": "^7.3.4", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/yeoman/update-notifier?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/update-notifier/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/update-notifier/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/update-notifier/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/update-notifier/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vm2": { + "version": "3.9.8", + "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.8.tgz", + "integrity": "sha512-/1PYg/BwdKzMPo8maOZ0heT7DLI0DAFTm7YQaz/Lim9oIaFZsJs3EdtalvXuBfZwczNwsYhju75NW4d6E+4q+w==", + "optional": true, + "dependencies": { + "acorn": "^8.7.0", + "acorn-walk": "^8.2.0" + }, + "bin": { + "vm2": "bin/vm2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/xregexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", + "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=", + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs-parser/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "requires": { + "@babel/highlight": "^7.16.7" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==" + }, + "@babel/highlight": { + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@hapi/hoek": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz", + "integrity": "sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==" + }, + "@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@mapbox/fusspot": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@mapbox/fusspot/-/fusspot-0.4.0.tgz", + "integrity": "sha512-6sys1vUlhNCqMvJOqPEPSi0jc9tg7aJ//oG1A16H3PXoIt9whtNngD7UzBHUVTH15zunR/vRvMtGNVsogm1KzA==", + "requires": { + "is-plain-obj": "^1.1.0", + "xtend": "^4.0.1" + } + }, + "@mapbox/mapbox-sdk": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/@mapbox/mapbox-sdk/-/mapbox-sdk-0.13.2.tgz", + "integrity": "sha512-VP2+Gyada3G8IJPbiD+9KZMEIxqITyPjVL66FBav2qjFhlHf5LrRCoZ4IbI6Os8DZadSEyxDGVU/doLaohkJRw==", + "requires": { + "@mapbox/fusspot": "^0.4.0", + "@mapbox/parse-mapbox-token": "^0.2.0", + "@mapbox/polyline": "^1.0.0", + "eventemitter3": "^3.1.0", + "form-data": "^3.0.0", + "got": "^10.7.0", + "is-plain-obj": "^1.1.0", + "xtend": "^4.0.1" + }, + "dependencies": { + "@sindresorhus/is": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-2.1.1.tgz", + "integrity": "sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg==" + }, + "@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "requires": { + "defer-to-connect": "^2.0.0" + } + }, + "cacheable-request": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", + "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + } + }, + "decompress-response": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-5.0.0.tgz", + "integrity": "sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw==", + "requires": { + "mimic-response": "^2.0.0" + } + }, + "defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + }, + "got": { + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/got/-/got-10.7.0.tgz", + "integrity": "sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg==", + "requires": { + "@sindresorhus/is": "^2.0.0", + "@szmarczak/http-timer": "^4.0.0", + "@types/cacheable-request": "^6.0.1", + "cacheable-lookup": "^2.0.0", + "cacheable-request": "^7.0.1", + "decompress-response": "^5.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^5.0.0", + "lowercase-keys": "^2.0.0", + "mimic-response": "^2.1.0", + "p-cancelable": "^2.0.0", + "p-event": "^4.0.0", + "responselike": "^2.0.0", + "to-readable-stream": "^2.0.0", + "type-fest": "^0.10.0" + } + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "keyv": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.1.1.tgz", + "integrity": "sha512-tGv1yP6snQVDSM4X6yxrv2zzq/EvpW+oYiUz6aueW1u9CtS8RzUQYxxmFwgZlO2jSgCxQbchhxaqXXp2hnKGpQ==", + "requires": { + "json-buffer": "3.0.1" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + }, + "mimic-response": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", + "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==" + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" + }, + "p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" + }, + "responselike": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", + "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", + "requires": { + "lowercase-keys": "^2.0.0" + } + }, + "to-readable-stream": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-2.1.0.tgz", + "integrity": "sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==" + }, + "type-fest": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.10.0.tgz", + "integrity": "sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw==" + } + } + }, + "@mapbox/parse-mapbox-token": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@mapbox/parse-mapbox-token/-/parse-mapbox-token-0.2.0.tgz", + "integrity": "sha512-BjeuG4sodYaoTygwXIuAWlZV6zUv4ZriYAQhXikzx+7DChycMUQ9g85E79Htat+AsBg+nStFALehlOhClYm5cQ==", + "requires": { + "base-64": "^0.1.0" + } + }, + "@mapbox/polyline": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@mapbox/polyline/-/polyline-1.1.1.tgz", + "integrity": "sha512-z9Sl7NYzsEIrAza658H92mc0OvpBjQwjp7Snv4xREKhsCMat7m1IKdWJMjQ5opiPYa0veMf7kCaSd1yx55AhmQ==", + "requires": { + "meow": "^6.1.1" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@sideway/address": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.3.tgz", + "integrity": "sha512-8ncEUtmnTsMmL7z1YPB47kPUq7LpKWJNFPsRzHiIajGC5uXlWGn+AmkYPcHNl8S4tcEGx+cnORnNYaw2wvL+LQ==", + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@sideway/formula": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", + "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" + }, + "@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "optional": true + }, + "@types/cacheable-request": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz", + "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==", + "requires": { + "@types/http-cache-semantics": "*", + "@types/keyv": "*", + "@types/node": "*", + "@types/responselike": "*" + } + }, + "@types/http-cache-semantics": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", + "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" + }, + "@types/keyv": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.3.tgz", + "integrity": "sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg==", + "requires": { + "@types/node": "*" + } + }, + "@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" + }, + "@types/node": { + "version": "17.0.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.14.tgz", + "integrity": "sha512-SbjLmERksKOGzWzPNuW7fJM7fk3YXVTFiZWB/Hs99gwhk+/dnrQRPBQjPW9aO+fi1tAffi9PrwFvsmOKmDTyng==" + }, + "@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" + }, + "@types/responselike": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", + "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "requires": { + "@types/node": "*" + } + }, + "@types/webidl-conversions": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-6.1.1.tgz", + "integrity": "sha512-XAahCdThVuCFDQLT7R7Pk/vqeObFNL3YqRyFZg+AqAP/W1/w3xHaIxuW7WszQqTbIBOPRcItYJIou3i/mppu3Q==" + }, + "@types/whatwg-url": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.1.tgz", + "integrity": "sha512-2YubE1sjj5ifxievI5Ge1sckb9k/Er66HyR2c+3+I6VDUUg1TLPdYYTEbQ+DjRkS4nTxMJhgWfSfMRD2sl2EYQ==", + "requires": { + "@types/node": "*", + "@types/webidl-conversions": "*" + } + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "optional": true + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" + } + } + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "optional": true + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "optional": true, + "requires": { + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "optional": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "optional": true + } + } + }, + "ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "requires": { + "string-width": "^4.1.0" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "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" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha1-HjRA6RXwsSA9I3SOeO3XubW0PlY=" + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "optional": true, + "requires": { + "tslib": "^2.0.1" + } + }, + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base-64": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", + "integrity": "sha1-eAqZyE59YAJgNhURxId2E78k9rs=" + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "body-parser": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz", + "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==", + "requires": { + "bytes": "3.1.1", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.8.1", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.9.6", + "raw-body": "2.4.2", + "type-is": "~1.6.18" + } + }, + "boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "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" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "bson": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/bson/-/bson-4.6.1.tgz", + "integrity": "sha512-I1LQ7Hz5zgwR4QquilLNZwbhPw0Apx7i7X9kGMBTsqPdml/03Q9NBtD9nt/19ahjlphktQImrnderxqpzeVDjw==", + "requires": { + "buffer": "^5.6.0" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "busboy": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz", + "integrity": "sha1-bCpiLvz0fFe7vh4qnDetNseSVFM=", + "requires": { + "dicer": "0.2.5", + "readable-stream": "1.1.x" + } + }, + "bytes": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", + "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==" + }, + "cacheable-lookup": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-2.0.1.tgz", + "integrity": "sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg==", + "requires": { + "@types/keyv": "^3.1.1", + "keyv": "^4.0.0" + }, + "dependencies": { + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "keyv": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.1.1.tgz", + "integrity": "sha512-tGv1yP6snQVDSM4X6yxrv2zzq/EvpW+oYiUz6aueW1u9CtS8RzUQYxxmFwgZlO2jSgCxQbchhxaqXXp2hnKGpQ==", + "requires": { + "json-buffer": "3.0.1" + } + } + } + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + } + } + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + } + } + }, + "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" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "cloudinary": { + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/cloudinary/-/cloudinary-1.28.1.tgz", + "integrity": "sha512-iCSgX/GjyNRYUf/1kQgyLl8UdhPKUWIxsAvCD0qjUcnnIZqHk5tJQmCt5YpGh/r1tVdKa4TV/iDB12S33Zjy0w==", + "requires": { + "cloudinary-core": "^2.10.2", + "core-js": "3.6.5", + "lodash": "^4.17.11", + "proxy-agent": "^5.0.0", + "q": "^1.5.1" + } + }, + "cloudinary-core": { + "version": "2.12.3", + "resolved": "https://registry.npmjs.org/cloudinary-core/-/cloudinary-core-2.12.3.tgz", + "integrity": "sha512-Ll4eDzcrIVn4zCttMh3Mdi+KNz07p5EEjBT2PQSRx8Eok1lKPt3uBBenOk/w88RKK3B8SFIWcEe/mN4BHQ0p8A==", + "requires": {} + }, + "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=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "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" + } + }, + "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==" + }, + "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" + } + } + } + }, + "configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "requires": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + } + }, + "connect-flash": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/connect-flash/-/connect-flash-0.1.1.tgz", + "integrity": "sha1-2GMPJtlaf4UfmVax6MxnMvO2qjA=" + }, + "connect-mongo": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/connect-mongo/-/connect-mongo-4.6.0.tgz", + "integrity": "sha512-8new4Z7NLP3CGP65Aw6ls3xDBeKVvHRSh39CXuDZTQsvpeeU9oNMzfFgvqmHqZ6gWpxIl663RyoVEmCAGf1yOg==", + "requires": { + "debug": "^4.3.1", + "kruptein": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "core-js": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==" + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" + }, + "data-uri-to-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz", + "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==", + "optional": true + }, + "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" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + } + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "requires": { + "mimic-response": "^1.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==" + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "optional": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + }, + "degenerator": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-3.0.2.tgz", + "integrity": "sha512-c0mef3SNQo56t6urUU6tdQAs+ThoD0o9B9MJ8HEt7NQcGEILCRFqQb7ZbP9JAv+QF1Ky5plydhMR/IrqWDm+TQ==", + "optional": true, + "requires": { + "ast-types": "^0.13.2", + "escodegen": "^1.8.1", + "esprima": "^4.0.0", + "vm2": "^3.9.8" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "denque": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.0.1.tgz", + "integrity": "sha512-tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ==" + }, + "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=" + }, + "dicer": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", + "integrity": "sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=", + "requires": { + "readable-stream": "1.1.x", + "streamsearch": "0.1.2" + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" + }, + "domhandler": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", + "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "requires": { + "is-obj": "^2.0.0" + } + }, + "dotenv": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.0.tgz", + "integrity": "sha512-qD9WU0MPM4SWLPJy/r2Be+2WgQj8plChsyrCNQzW/0WjvcJQiKQJ9mH3ZgB3fxbUUxgc/11ZJ0Fi5KiimWGz2Q==" + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "ejs": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", + "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", + "requires": { + "jake": "^10.6.1" + } + }, + "ejs-include-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ejs-include-regex/-/ejs-include-regex-1.0.0.tgz", + "integrity": "sha1-4vcVdcv9VRrIALJHTB9io45wCTo=" + }, + "ejs-lint": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ejs-lint/-/ejs-lint-1.2.1.tgz", + "integrity": "sha512-pHN8kjh8a4HxeG8FKl4+8wgiX/h7fiZK9r56hK2KA9xJ2a+736+4iEfEYw6uHkTy0rXdVGDSQFqpiFqG80TtKg==", + "requires": { + "chalk": "^4.0.0", + "ejs": "3.1.6", + "ejs-include-regex": "^1.0.0", + "globby": "^11.0.0", + "read-input": "^0.3.1", + "slash": "^3.0.0", + "syntax-error": "^1.1.6", + "yargs": "^16.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "ejs-mate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ejs-mate/-/ejs-mate-3.0.0.tgz", + "integrity": "sha512-9dw3DkvHsUDm9ZcWveQYzIDCOCVpTtaQ7KXE+0/fmxZVtef1q2J00f4qPQvH7I12BQUza0S+5AqZAHh3M96zXA==", + "requires": { + "ejs": "^2.6.1" + }, + "dependencies": { + "ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" + } + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==" + }, + "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=" + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "optional": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "optional": true + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "optional": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "optional": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" + }, + "express": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz", + "integrity": "sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.4.1", + "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.7", + "qs": "6.9.6", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.17.2", + "serve-static": "1.14.2", + "setprototypeof": "1.2.0", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + }, + "express-mongo-sanitize": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/express-mongo-sanitize/-/express-mongo-sanitize-2.2.0.tgz", + "integrity": "sha512-PZBs5nwhD6ek9ZuP+W2xmpvcrHwXZxD5GdieX2dsjPbAbH4azOkrHbycBud2QRU+YQF1CT+pki/lZGedHgo/dQ==" + }, + "express-session": { + "version": "1.17.2", + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.2.tgz", + "integrity": "sha512-mPcYcLA0lvh7D4Oqr5aNJFMtBMKPLl++OKKxkHzZ0U0oDq1rpKBnkR5f5vCHR26VeArlTOEF9td4x5IjICksRQ==", + "requires": { + "cookie": "0.4.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-headers": "~1.0.2", + "parseurl": "~1.3.3", + "safe-buffer": "5.2.1", + "uid-safe": "~2.1.5" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + } + } + }, + "fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "optional": true + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "requires": { + "reusify": "^1.0.4" + } + }, + "file-uri-to-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz", + "integrity": "sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==", + "optional": true + }, + "filelist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", + "integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==", + "requires": { + "minimatch": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "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" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "optional": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, + "ftp": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", + "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", + "optional": true, + "requires": { + "readable-stream": "1.1.x", + "xregexp": "2.0.0" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "generaterr": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/generaterr/-/generaterr-1.5.0.tgz", + "integrity": "sha1-sM62zFFk3yoGEzjMNAqGFTlcUvw=" + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "get-uri": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-3.0.2.tgz", + "integrity": "sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==", + "optional": true, + "requires": { + "@tootallnate/once": "1", + "data-uri-to-buffer": "3", + "debug": "4", + "file-uri-to-path": "2", + "fs-extra": "^8.1.0", + "ftp": "^0.3.10" + }, + "dependencies": { + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "optional": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "optional": true + } + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "global-dirs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", + "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", + "requires": { + "ini": "2.0.0" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" + }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" + }, + "helmet": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/helmet/-/helmet-5.0.2.tgz", + "integrity": "sha512-QWlwUZZ8BtlvwYVTSDTBChGf8EOcQ2LkGMnQJxSzD1mUu8CCjXJZq/BXP8eWw4kikRnzlhtYo3lCk0ucmYA3Vg==" + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, + "http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "optional": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "optional": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "optional": true + } + } + }, + "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==", + "optional": true, + "requires": { + "agent-base": "6", + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "optional": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "optional": true + } + } + }, + "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" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" + }, + "ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=" + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "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-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "requires": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + } + }, + "is-npm": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", + "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "jake": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", + "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==", + "requires": { + "async": "0.9.x", + "chalk": "^2.4.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + } + }, + "joi": { + "version": "17.6.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz", + "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==", + "requires": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.0", + "@sideway/pinpoint": "^2.0.0" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "optional": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "kareem": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.3.tgz", + "integrity": "sha512-uESCXM2KdtOQ8LOvKyTUXEeg0MkYp4wGglTIpGcYHvjJcS5sn2Wkfrfit8m4xSbaNDAw2KdI9elgkOxZbrFYbg==" + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "requires": { + "json-buffer": "3.0.0" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "kruptein": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kruptein/-/kruptein-3.0.3.tgz", + "integrity": "sha512-v5mqSHKS2M1xWUo5V7Q6TMcj1vjTgKWvfspizn6Z939Cmv8NNn5E+Z4LeGBEKDL3yT4pMXaRTjh98oksGTDntA==", + "requires": { + "asn1.js": "^5.4.1" + } + }, + "latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "requires": { + "package-json": "^6.3.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "optional": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", + "optional": true + }, + "meow": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz", + "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==", + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "^4.0.2", + "normalize-package-data": "^2.5.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.13.1", + "yargs-parser": "^18.1.3" + }, + "dependencies": { + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==" + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "method-override": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/method-override/-/method-override-3.0.0.tgz", + "integrity": "sha512-IJ2NNN/mSl9w3kzWB92rcdHpz+HjkxhDJWNDBqSlas+zQdP8wBiJzITPg08M/k2uVvMow7Sk41atndNtt/PHSA==", + "requires": { + "debug": "3.1.0", + "methods": "~1.1.2", + "parseurl": "~1.3.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "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.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==" + }, + "mime-types": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "requires": { + "mime-db": "1.51.0" + } + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "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": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + }, + "mongodb": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.3.1.tgz", + "integrity": "sha512-sNa8APSIk+r4x31ZwctKjuPSaeKuvUeNb/fu/3B6dRM02HpEgig7hTHM8A/PJQTlxuC/KFWlDlQjhsk/S43tBg==", + "requires": { + "bson": "^4.6.1", + "denque": "^2.0.1", + "mongodb-connection-string-url": "^2.4.1", + "saslprep": "^1.0.3", + "socks": "^2.6.1" + } + }, + "mongodb-connection-string-url": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.4.2.tgz", + "integrity": "sha512-mZUXF6nUzRWk5J3h41MsPv13ukWlH4jOMSk6astVeoZ1EbdTJyF5I3wxKkvqBAOoVtzLgyEYUvDjrGdcPlKjAw==", + "requires": { + "@types/whatwg-url": "^8.2.1", + "whatwg-url": "^11.0.0" + } + }, + "mongoose": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.2.0.tgz", + "integrity": "sha512-kimHjks1FC4HkqM4FVNWxtGor6wYelHgl6eJ6GJmmJvMCI4FNGLwFceSL6hs7dHLZJnxIyGVqQjT/XTXCbjzpA==", + "requires": { + "bson": "^4.2.2", + "kareem": "2.3.3", + "mongodb": "4.3.1", + "mpath": "0.8.4", + "mquery": "4.0.2", + "ms": "2.1.2", + "regexp-clone": "1.0.0", + "sift": "13.5.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "mpath": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.8.4.tgz", + "integrity": "sha512-DTxNZomBcTWlrMW76jy1wvV37X/cNNxPW1y2Jzd4DZkAaC5ZGsm8bfGfNOthcDuRJujXLqiuS6o3Tpy0JEoh7g==" + }, + "mquery": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.2.tgz", + "integrity": "sha512-oAVF0Nil1mT3rxty6Zln4YiD6x6QsUWYz927jZzjMxOK2aqmhEz5JQ7xmrKK7xRFA2dwV+YaOpKU/S+vfNqKxA==", + "requires": { + "debug": "4.x" + }, + "dependencies": { + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "multer": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4.tgz", + "integrity": "sha512-2wY2+xD4udX612aMqMcB8Ws2Voq6NIUPEtD1be6m411T4uDH/VtL9i//xvcyFlTVfRdaBsk7hV5tgrGQqhuBiw==", + "requires": { + "append-field": "^1.0.0", + "busboy": "^0.2.11", + "concat-stream": "^1.5.2", + "mkdirp": "^0.5.4", + "object-assign": "^4.1.1", + "on-finished": "^2.3.0", + "type-is": "^1.6.4", + "xtend": "^4.0.0" + } + }, + "multer-storage-cloudinary": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/multer-storage-cloudinary/-/multer-storage-cloudinary-4.0.0.tgz", + "integrity": "sha512-25lm9R6o5dWrHLqLvygNX+kBOxprzpmZdnVKH4+r68WcfCt8XV6xfQaMuAg+kUE5Xmr8mJNA4gE0AcBj9FJyWA==", + "requires": {} + }, + "nanoid": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", + "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==" + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, + "netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "optional": true + }, + "nodemon": { + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.15.tgz", + "integrity": "sha512-gdHMNx47Gw7b3kWxJV64NI+Q5nfl0y5DgDbiVtShiwa7Z0IZ07Ll4RLFo6AjrhzMtoEZn5PDE3/c2AbVsiCkpA==", + "requires": { + "chokidar": "^3.5.2", + "debug": "^3.2.7", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.0.4", + "pstree.remy": "^1.1.8", + "semver": "^5.7.1", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5", + "update-notifier": "^5.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==" + }, + "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" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "optional": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" + }, + "p-event": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", + "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", + "requires": { + "p-timeout": "^3.1.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "requires": { + "p-finally": "^1.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "pac-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-5.0.0.tgz", + "integrity": "sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ==", + "optional": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4", + "get-uri": "3", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "5", + "pac-resolver": "^5.0.0", + "raw-body": "^2.2.0", + "socks-proxy-agent": "5" + }, + "dependencies": { + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "optional": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "optional": true + } + } + }, + "pac-resolver": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.0.tgz", + "integrity": "sha512-H+/A6KitiHNNW+bxBKREk2MCGSxljfqRX76NjummWEYIat7ldVXRU3dhRIE3iXZ0nvGBk6smv3nntxKkzRL8NA==", + "optional": true, + "requires": { + "degenerator": "^3.0.1", + "ip": "^1.1.5", + "netmask": "^2.0.1" + } + }, + "package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "requires": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse-srcset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz", + "integrity": "sha1-8r0iH2zJcKk42IVWq8WJyqqiveE=" + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "passport": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/passport/-/passport-0.5.2.tgz", + "integrity": "sha512-w9n/Ot5I7orGD4y+7V3EFJCQEznE5RxHamUxcqLT2QoJY0f2JdN8GyHonYFvN0Vz+L6lUJfVhrk2aZz2LbuREw==", + "requires": { + "passport-strategy": "1.x.x", + "pause": "0.0.1" + } + }, + "passport-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz", + "integrity": "sha1-H+YyaMkudWBmJkN+O5BmYsFbpu4=", + "requires": { + "passport-strategy": "1.x.x" + } + }, + "passport-local-mongoose": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/passport-local-mongoose/-/passport-local-mongoose-6.1.0.tgz", + "integrity": "sha512-kxRDejpBXoPmWau1RCrmEeNYEXGG9ec4aDYjd0pFAHIEAzZ0RXKn581ISfjpHZ1zZLoCCM2pWUo4SfGHNJNwnw==", + "requires": { + "generaterr": "^1.5.0", + "passport-local": "^1.0.0", + "scmp": "^2.1.0" + } + }, + "passport-strategy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", + "integrity": "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=" + }, + "path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", + "requires": { + "process": "^0.11.1", + "util": "^0.10.3" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "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=" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "pause": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", + "integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "postcss": { + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz", + "integrity": "sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==", + "requires": { + "nanoid": "^3.2.0", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "optional": true + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + }, + "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.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-5.0.0.tgz", + "integrity": "sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g==", + "optional": true, + "requires": { + "agent-base": "^6.0.0", + "debug": "4", + "http-proxy-agent": "^4.0.0", + "https-proxy-agent": "^5.0.0", + "lru-cache": "^5.1.1", + "pac-proxy-agent": "^5.0.0", + "proxy-from-env": "^1.0.0", + "socks-proxy-agent": "^5.0.0" + }, + "dependencies": { + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "optional": true, + "requires": { + "ms": "2.1.2" + } + }, + "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==", + "optional": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "optional": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "optional": true + } + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "optional": true + }, + "pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==" + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "pupa": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", + "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", + "requires": { + "escape-goat": "^2.0.0" + } + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + }, + "qs": { + "version": "6.9.6", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", + "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==" + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==" + }, + "random-bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", + "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" + }, + "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.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz", + "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==", + "requires": { + "bytes": "3.1.1", + "http-errors": "1.8.1", + "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": { + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + } + } + }, + "read-input": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/read-input/-/read-input-0.3.1.tgz", + "integrity": "sha1-WzFpMIATRk/9puyS5Y0tPOqUjfE=" + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + } + } + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, + "regexp-clone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz", + "integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw==" + }, + "registry-auth-token": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", + "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", + "requires": { + "rc": "^1.2.8" + } + }, + "registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "requires": { + "rc": "^1.2.8" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "requires": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sanitize-html": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.7.0.tgz", + "integrity": "sha512-jfQelabOn5voO7FAfnQF7v+jsA6z9zC/O4ec0z3E35XPEtHYJT/OdUziVWlKW4irCr2kXaQAyXTXDHWAibg1tA==", + "requires": { + "deepmerge": "^4.2.2", + "escape-string-regexp": "^4.0.0", + "htmlparser2": "^6.0.0", + "is-plain-object": "^5.0.0", + "parse-srcset": "^1.0.2", + "postcss": "^8.3.11" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + } + } + }, + "saslprep": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz", + "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", + "optional": true, + "requires": { + "sparse-bitfield": "^3.0.3" + } + }, + "scmp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/scmp/-/scmp-2.1.0.tgz", + "integrity": "sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "requires": { + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "send": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", + "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "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.8.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "serve-static": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", + "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.2" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "sift": { + "version": "13.5.2", + "resolved": "https://registry.npmjs.org/sift/-/sift-13.5.2.tgz", + "integrity": "sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA==" + }, + "signal-exit": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" + }, + "socks": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz", + "integrity": "sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==", + "requires": { + "ip": "^1.1.5", + "smart-buffer": "^4.1.0" + } + }, + "socks-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz", + "integrity": "sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==", + "optional": true, + "requires": { + "agent-base": "^6.0.2", + "debug": "4", + "socks": "^2.3.3" + }, + "dependencies": { + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "optional": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "optional": true + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + }, + "sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", + "optional": true, + "requires": { + "memory-pager": "^1.0.2" + } + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "streamsearch": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", + "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "requires": { + "min-indent": "^1.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" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "syntax-error": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", + "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", + "requires": { + "acorn-node": "^1.2.0" + } + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "requires": { + "nopt": "~1.0.10" + } + }, + "tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "requires": { + "punycode": "^2.1.1" + } + }, + "trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==" + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "optional": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "optional": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + }, + "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" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "uid-safe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", + "requires": { + "random-bytes": "~1.0.0" + } + }, + "undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==" + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "optional": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "update-notifier": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", + "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", + "requires": { + "boxen": "^5.0.0", + "chalk": "^4.1.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.4.0", + "is-npm": "^5.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.1.0", + "pupa": "^2.1.1", + "semver": "^7.3.4", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "requires": { + "prepend-http": "^2.0.0" + } + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "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=" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "vm2": { + "version": "3.9.8", + "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.8.tgz", + "integrity": "sha512-/1PYg/BwdKzMPo8maOZ0heT7DLI0DAFTm7YQaz/Lim9oIaFZsJs3EdtalvXuBfZwczNwsYhju75NW4d6E+4q+w==", + "optional": true, + "requires": { + "acorn": "^8.7.0", + "acorn-walk": "^8.2.0" + } + }, + "webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==" + }, + "whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "requires": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + } + }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "requires": { + "string-width": "^4.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "optional": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" + }, + "xregexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", + "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=", + "optional": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "dependencies": { + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + } + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + } + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..5f7ad51 --- /dev/null +++ b/package.json @@ -0,0 +1,38 @@ +{ + "name": "yelpcamp", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "start": "node app.js" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "@mapbox/mapbox-sdk": "^0.13.2", + "cloudinary": "^1.28.1", + "connect-flash": "^0.1.1", + "connect-mongo": "^4.6.0", + "dotenv": "^16.0.0", + "ejs": "^3.1.6", + "ejs-lint": "^1.2.1", + "ejs-mate": "^3.0.0", + "express": "^4.17.2", + "express-mongo-sanitize": "^2.2.0", + "express-session": "^1.17.2", + "helmet": "^5.0.2", + "joi": "^17.6.0", + "method-override": "^3.0.0", + "mongoose": "^6.2.0", + "multer": "^1.4.4", + "multer-storage-cloudinary": "^4.0.0", + "nodemon": "^2.0.15", + "passport": "^0.5.2", + "passport-local": "^1.0.0", + "passport-local-mongoose": "^6.1.0", + "path": "^0.12.7", + "sanitize-html": "^2.7.0" + } +} diff --git a/public/javascripts/clusterMap.js b/public/javascripts/clusterMap.js new file mode 100644 index 0000000..de226ec --- /dev/null +++ b/public/javascripts/clusterMap.js @@ -0,0 +1,130 @@ +mapboxgl.accessToken = mapToken; +const map = new mapboxgl.Map({ + container: 'map', + style: 'mapbox://styles/mapbox/streets-v10', + center: [-103.5917, 40.6699], + zoom: 3 +}); + +map.addControl(new mapboxgl.NavigationControl()); + +console.log(campgrounds); + +map.on('load', () => { + // Add a new source from our GeoJSON data and + // set the 'cluster' option to true. GL-JS will + // add the point_count property to your source data. + map.addSource('campgrounds', { + type: 'geojson', + // Point to GeoJSON data. This example visualizes all M1.0+ earthquakes + // from 12/22/15 to 1/21/16 as logged by USGS' Earthquake hazards program. + data: campgrounds, + cluster: true, + clusterMaxZoom: 14, // Max zoom to cluster points on + clusterRadius: 50 // Radius of each cluster when clustering points (defaults to 50) + }); + + map.addLayer({ + id: 'clusters', + type: 'circle', + source: 'campgrounds', + filter: ['has', 'point_count'], + paint: { + // Use step expressions (https://docs.mapbox.com/mapbox-gl-js/style-spec/#expressions-step) + // with three steps to implement three types of circles: + // * Blue, 20px circles when point count is less than 100 + // * Yellow, 30px circles when point count is between 100 and 750 + // * Pink, 40px circles when point count is greater than or equal to 750 + 'circle-color': [ + 'step', + ['get', 'point_count'], + 'red', + 5, + 'green', + 10, + 'blue' + ], + 'circle-radius': [ + 'step', + ['get', 'point_count'], + 15, + 10, + 20, + 30, + 25 + ] + } + }); + + map.addLayer({ + id: 'cluster-count', + type: 'symbol', + source: 'campgrounds', + filter: ['has', 'point_count'], + layout: { + 'text-field': '{point_count_abbreviated}', + 'text-font': ['DIN Offc Pro Medium', 'Arial Unicode MS Bold'], + 'text-size': 12 + } + }); + + map.addLayer({ + id: 'unclustered-point', + type: 'circle', + source: 'campgrounds', + filter: ['!', ['has', 'point_count']], + paint: { + 'circle-color': 'red', + 'circle-radius': 5, + 'circle-stroke-width': 1, + 'circle-stroke-color': '#fff' + } + }); + + // inspect a cluster on click + map.on('click', 'clusters', (e) => { + const features = map.queryRenderedFeatures(e.point, { + layers: ['clusters'] + }); + const clusterId = features[0].properties.cluster_id; + map.getSource('campgrounds').getClusterExpansionZoom( + clusterId, + (err, zoom) => { + if (err) return; + + map.easeTo({ + center: features[0].geometry.coordinates, + zoom: zoom + }); + } + ); + }); + + // When a click event occurs on a feature in + // the unclustered-point layer, open a popup at + // the location of the feature, with + // description HTML from its properties. + map.on('click', 'unclustered-point', (e) => { + const {popUpMarkup} = e.features[0].properties; + const coordinates = e.features[0].geometry.coordinates.slice(); + + // Ensure that if the map is zoomed out such that + // multiple copies of the feature are visible, the + // popup appears over the copy being pointed to. + while (Math.abs(e.lngLat.lng - coordinates[0]) > 180) { + coordinates[0] += e.lngLat.lng > coordinates[0] ? 360 : -360; + } + + new mapboxgl.Popup() + .setLngLat(coordinates) + .setHTML(popUpMarkup) + .addTo(map); + }); + + map.on('mouseenter', 'clusters', () => { + map.getCanvas().style.cursor = 'pointer'; + }); + map.on('mouseleave', 'clusters', () => { + map.getCanvas().style.cursor = ''; + }); +}); \ No newline at end of file diff --git a/public/javascripts/showPageMap.js b/public/javascripts/showPageMap.js new file mode 100644 index 0000000..1371c57 --- /dev/null +++ b/public/javascripts/showPageMap.js @@ -0,0 +1,21 @@ + +mapboxgl.accessToken = mapToken; +const map = new mapboxgl.Map({ + container: 'map', + style: 'mapbox://styles/mapbox/streets-v11', + // center: [-74.5, 40], + center: campground.geometry.coordinates, + zoom: 9 +}); + +map.addControl(new mapboxgl.NavigationControl()); + +new mapboxgl.Marker({ "color": "red" }) + .setLngLat(campground.geometry.coordinates) + .setPopup( + new mapboxgl.Popup({ offset:25 }) + .setHTML( + `

${campground.title}

${campground.location}

` + ) + ) + .addTo(map) \ No newline at end of file diff --git a/public/javascripts/validateForms.js b/public/javascripts/validateForms.js new file mode 100644 index 0000000..dad671e --- /dev/null +++ b/public/javascripts/validateForms.js @@ -0,0 +1,22 @@ +// Example starter JavaScript for disabling form submissions if there are invalid fields +(function () { + 'use strict' + + bsCustomFileInput.init() + + // Fetch all the forms we want to apply custom Bootstrap validation styles to + const forms = document.querySelectorAll('.validated-form') + + // Loop over them and prevent submission + Array.from(forms) + .forEach(function (form) { + form.addEventListener('submit', function (event) { + if (!form.checkValidity()) { + event.preventDefault() + event.stopPropagation() + } + + form.classList.add('was-validated') + }, false) + }) +})() \ No newline at end of file diff --git a/public/stylesheets/app.css b/public/stylesheets/app.css new file mode 100644 index 0000000..3f2d34a --- /dev/null +++ b/public/stylesheets/app.css @@ -0,0 +1,9 @@ +#cluster-map { + width: 100%; + height: 500px; +} + +#map { + width: 100%; + height: 300px; +} \ No newline at end of file diff --git a/public/stylesheets/home.css b/public/stylesheets/home.css new file mode 100644 index 0000000..ad9b29d --- /dev/null +++ b/public/stylesheets/home.css @@ -0,0 +1,36 @@ +body { + height: 100vh; + background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), + url("https://images.unsplash.com/photo-1559521783-1d1599583485?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1950&q=80"); + background-size: cover; + background-position: center; + text-shadow: 0 0.05rem 0.1rem rgba(0, 0, 0, 0.5); + box-shadow: inset 0 0 5rem rgba(0, 0, 0, 0.5); +} +.cover-container { + max-width: 60vw; +} + +.nav-link { + padding: 0.25rem 0; + font-weight: 700; + color: rgba(255,255,255,0.5); + margin-left: 1rem; + border-bottom: 0.25rem solid transparent; +} + +.nav-link:hover{ + color: rgba(255,255,255,0.5); + border-bottom-color:rgba(255,255,255,0.5); +} + +.nav-link.active { + color: white; + border-bottom-color:white; + +} + +.btn-secondary, .btn-secondary:hover{ + color: #333; + text-shadow: none; +} \ No newline at end of file diff --git a/public/stylesheets/stars.css b/public/stylesheets/stars.css new file mode 100644 index 0000000..cde7313 --- /dev/null +++ b/public/stylesheets/stars.css @@ -0,0 +1,190 @@ +.starability-result { + position: relative; + width: 150px; + height: 30px; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAA8CAMAAABGivqtAAAAxlBMVEUAAACZmZn2viTHuJ72viOampqampr1viSampr3vySampqdnZ34wiX1vSSampr1vSOZmZmampr1viT2vSOampr2viT2viSampr2viSampr2vyX4vyWbm5v3vSSdnZ32wSadnZ36wCWcnJyZmZn/wSr/2ySampr2vSP2viSZmZn2vSSZmZn2vST2viSampr2viSbm5ubm5uZmZn1vSSampqbm5v2vSWampqampr3vSf5wiT5vyagoKD/xCmkpKT/yCSZmZn1vSO4V2dEAAAAQHRSTlMA+vsG9fO6uqdgRSIi7+3q39XVqZWVgnJyX09HPDw1NTAwKRkYB+jh3L6+srKijY2Ef2lpYllZUU5CKigWFQ4Oneh1twAAAZlJREFUOMuV0mdzAiEQBmDgWq4YTWIvKRqT2Htv8P//VJCTGfYQZnw/3fJ4tyO76KE0m1b2fZu+U/pu4QGlA7N+Up5PIz9d+cmkbSrSNr9seT3GKeNYIyeO5j16S28exY5suK0U/QKmmeCCX6xs22hJLVkitMImxCvEs8EG3SCRCN/ViFPqnq5epIzZ07QJJvkM9Tkz1xnkmXbfSvR7f4H8AtXBkLGj74mMvjM1+VHZpAZ4LM4K/LBWEI9jwP71v1ZEQ6dyvQMf8A/1pmdZnKce/VH1iIsdte4U8VEtY23xOujxtFpWDgKbfjD2YeEhY0OzfjGeLyO/XfnNpAcmcjDwKOXRfU1IyiTRyEkaiz67pb9oJHJb9vVqKfgjLBPyF5Sq9T0KmSUhQmtiQrJGPHVi0DoSabj31G2gW3buHd0pY85lNdcCk8xlNDPXMuSyNiwl+theIb9C7RLIpKvviYy+M6H8qGwSAp6Is19+GP6KxwnggJ/kq6Jht5rnRQA4z9zyRRaXssvyqp5I6Vutv0vkpJaJtnjpz/8B19ytIayazLoAAAAASUVORK5CYII="); + font-size: 0.1em; + color: transparent; + } + + .starability-result:after { + content: ' '; + position: absolute; + left: 0; + height: 30px; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAA8CAMAAABGivqtAAAAxlBMVEUAAACZmZn2viTHuJ72viOampqampr1viSampr3vySampqdnZ34wiX1vSSampr1vSOZmZmampr1viT2vSOampr2viT2viSampr2viSampr2vyX4vyWbm5v3vSSdnZ32wSadnZ36wCWcnJyZmZn/wSr/2ySampr2vSP2viSZmZn2vSSZmZn2vST2viSampr2viSbm5ubm5uZmZn1vSSampqbm5v2vSWampqampr3vSf5wiT5vyagoKD/xCmkpKT/yCSZmZn1vSO4V2dEAAAAQHRSTlMA+vsG9fO6uqdgRSIi7+3q39XVqZWVgnJyX09HPDw1NTAwKRkYB+jh3L6+srKijY2Ef2lpYllZUU5CKigWFQ4Oneh1twAAAZlJREFUOMuV0mdzAiEQBmDgWq4YTWIvKRqT2Htv8P//VJCTGfYQZnw/3fJ4tyO76KE0m1b2fZu+U/pu4QGlA7N+Up5PIz9d+cmkbSrSNr9seT3GKeNYIyeO5j16S28exY5suK0U/QKmmeCCX6xs22hJLVkitMImxCvEs8EG3SCRCN/ViFPqnq5epIzZ07QJJvkM9Tkz1xnkmXbfSvR7f4H8AtXBkLGj74mMvjM1+VHZpAZ4LM4K/LBWEI9jwP71v1ZEQ6dyvQMf8A/1pmdZnKce/VH1iIsdte4U8VEtY23xOujxtFpWDgKbfjD2YeEhY0OzfjGeLyO/XfnNpAcmcjDwKOXRfU1IyiTRyEkaiz67pb9oJHJb9vVqKfgjLBPyF5Sq9T0KmSUhQmtiQrJGPHVi0DoSabj31G2gW3buHd0pY85lNdcCk8xlNDPXMuSyNiwl+theIb9C7RLIpKvviYy+M6H8qGwSAp6Is19+GP6KxwnggJ/kq6Jht5rnRQA4z9zyRRaXssvyqp5I6Vutv0vkpJaJtnjpz/8B19ytIayazLoAAAAASUVORK5CYII="); + background-position: 0 -30px; + } + + .starability-result[data-rating="5"]::after { + width: 150px; + } + + .starability-result[data-rating="4"]::after { + width: 120px; + } + + .starability-result[data-rating="3"]::after { + width: 90px; + } + + .starability-result[data-rating="2"]::after { + width: 60px; + } + + .starability-result[data-rating="1"]::after { + width: 30px; + } + + @media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 192dpi) { + .starability-result { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAB4CAMAAACZ62E6AAABAlBMVEUAAACZmZmampr2vSObm5v/yiufn5+ampr1viP1viSZmZn2viOZmZmampqampr2viSampqampqcnJz5vyScnJz3wSf/wyn/xiujo6Oqqqr/0C/1vSOampr2viP2viOampr2viP2vST2viOampqampqampr1vyP3viSampr2vyT4vyX3viSbm5ubm5v5wCT8xSmgoKCampqampr3vyb2wiWenp72viOampqZmZmampr2viP2viP1viSampqbm5v2vyT3viObm5v4vyadnZ34wSSbm5v2viSZmZn2viP2vST2viP2viT1viOZmZn2viT2viX3viT3vyb2vyOZmZn1vSOZmZlNN+fKAAAAVHRSTlMA9uz4PQwS8O7r5+fTw4yMelw2MB0dFRELBgbS+/Hfu7uxqKWdg4N7ZmZMPi8pKRgPs0w7Nhb14drKw6Gck21tXkNDIyMZ1rDLycTBtaqVknlfV0sGP8ZwAAADW0lEQVRYw9zWvYqDQBSG4TPDoCAqKhYKQgoVLFaIgZCkiCBBUqVazv3fyu4aEXWdM85Uy779A+LP58AfTQgw73AwtxFiZIwbxMbUfuB3H4b49YNfZrbGodoI52+cm9hH9sbZwwAXOFbo2zjDsSzWxnecuuvaM8MpdtbEPs7y9azF5phZWrjERaWOPdpLbB81cICrgv3W4mvMLbU6RmFQeA5u5HhFEEbHLdWLsMxvHJXxW16Goh+ZqPyny1Az5j79SsCJoWHsBNAxQ9sNF26bWFuMC8v1LY+mmeTadjaqtaNnnXoxWBcde1nNWnzdb68xrOqvu22/MTzuPutujpJ122NvluSb8tTWk85CclDZQwLS0oa2TQpEKacsJy0kSJaQOKJxROKKxhWJ7zS+k9ijsUdim8Y2ZWNUFBP4pMKfOv8onX9WrsI5gd3VVLXtatxcuU0znGUHCUAS2DgrS6mT6hTzrXEjfIZj5Dk2xKkihqm4wKlQfQRqalhUP9UHo3FIPAG/Et44JVLsDDf0JHmB3OEByOwZES8hSAsviGjBdh3ylh6plmMnW4IyAUVJWcE/76vTell1EIaiMBwIAcWBA9GC0lIdKFXQQUsHVVCklN7ojf3+z3JOxYqK2TH555+K6CJJQtRbr9XtDmCnjH0AX9Va8J+liIMvDtRsCk2pEs6hKVexR2g7KuDihwt5a9MfprY0fkLXU9ZmFLpoJolN6GXKWWfZx0tHCocwKJSxC22ItYUEjmBUJHFjfYz1xQxlfaLiZsBExq2IPtbkNbLtOwwuGgjTLkH43mYtSzam7+1Bsr3nm5uExBQUozEh9V7N7uvmwZcqdpm0C6vJW63bZEuXtbrV2zpDzhrpYLBWMnY1mjV7JWFtMio7zbWniWFxvHnWm1yGxXmOPXP+L3YV2ysjnNhaZNeMcHPvuL27BMnVMaujljBAYyje4niH4g2ONyh+4PiB4gOODyjWcKxh1gZBNoJjEY4R/BLhF4IDEQ4QPBoEoyxH4+bxrUsHyxwxQlg0WHXqYifVLmo67cKY/UtaXFxBV26TLjuHrkp8BPJTMij1xQejdkgO24nf7dBOCRcbzQuNOR9Qs64GzzrfQa8It2oFAA6Zrga9xEeq1KHmLUHIiCAWInsg1x/MLqkMsItF8QAAAABJRU5ErkJggg=="); + background-size: 30px auto; + } + .starability-result:after { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAB4CAMAAACZ62E6AAABAlBMVEUAAACZmZmampr2vSObm5v/yiufn5+ampr1viP1viSZmZn2viOZmZmampqampr2viSampqampqcnJz5vyScnJz3wSf/wyn/xiujo6Oqqqr/0C/1vSOampr2viP2viOampr2viP2vST2viOampqampqampr1vyP3viSampr2vyT4vyX3viSbm5ubm5v5wCT8xSmgoKCampqampr3vyb2wiWenp72viOampqZmZmampr2viP2viP1viSampqbm5v2vyT3viObm5v4vyadnZ34wSSbm5v2viSZmZn2viP2vST2viP2viT1viOZmZn2viT2viX3viT3vyb2vyOZmZn1vSOZmZlNN+fKAAAAVHRSTlMA9uz4PQwS8O7r5+fTw4yMelw2MB0dFRELBgbS+/Hfu7uxqKWdg4N7ZmZMPi8pKRgPs0w7Nhb14drKw6Gck21tXkNDIyMZ1rDLycTBtaqVknlfV0sGP8ZwAAADW0lEQVRYw9zWvYqDQBSG4TPDoCAqKhYKQgoVLFaIgZCkiCBBUqVazv3fyu4aEXWdM85Uy779A+LP58AfTQgw73AwtxFiZIwbxMbUfuB3H4b49YNfZrbGodoI52+cm9hH9sbZwwAXOFbo2zjDsSzWxnecuuvaM8MpdtbEPs7y9azF5phZWrjERaWOPdpLbB81cICrgv3W4mvMLbU6RmFQeA5u5HhFEEbHLdWLsMxvHJXxW16Goh+ZqPyny1Az5j79SsCJoWHsBNAxQ9sNF26bWFuMC8v1LY+mmeTadjaqtaNnnXoxWBcde1nNWnzdb68xrOqvu22/MTzuPutujpJ122NvluSb8tTWk85CclDZQwLS0oa2TQpEKacsJy0kSJaQOKJxROKKxhWJ7zS+k9ijsUdim8Y2ZWNUFBP4pMKfOv8onX9WrsI5gd3VVLXtatxcuU0znGUHCUAS2DgrS6mT6hTzrXEjfIZj5Dk2xKkihqm4wKlQfQRqalhUP9UHo3FIPAG/Et44JVLsDDf0JHmB3OEByOwZES8hSAsviGjBdh3ylh6plmMnW4IyAUVJWcE/76vTell1EIaiMBwIAcWBA9GC0lIdKFXQQUsHVVCklN7ojf3+z3JOxYqK2TH555+K6CJJQtRbr9XtDmCnjH0AX9Va8J+liIMvDtRsCk2pEs6hKVexR2g7KuDihwt5a9MfprY0fkLXU9ZmFLpoJolN6GXKWWfZx0tHCocwKJSxC22ItYUEjmBUJHFjfYz1xQxlfaLiZsBExq2IPtbkNbLtOwwuGgjTLkH43mYtSzam7+1Bsr3nm5uExBQUozEh9V7N7uvmwZcqdpm0C6vJW63bZEuXtbrV2zpDzhrpYLBWMnY1mjV7JWFtMio7zbWniWFxvHnWm1yGxXmOPXP+L3YV2ysjnNhaZNeMcHPvuL27BMnVMaujljBAYyje4niH4g2ONyh+4PiB4gOODyjWcKxh1gZBNoJjEY4R/BLhF4IDEQ4QPBoEoyxH4+bxrUsHyxwxQlg0WHXqYifVLmo67cKY/UtaXFxBV26TLjuHrkp8BPJTMij1xQejdkgO24nf7dBOCRcbzQuNOR9Qs64GzzrfQa8It2oFAA6Zrga9xEeq1KHmLUHIiCAWInsg1x/MLqkMsItF8QAAAABJRU5ErkJggg=="); + background-size: 30px auto; + } + } + + .starability-basic { + display: block; + position: relative; + width: 150px; + min-height: 60px; + padding: 0; + border: none; + } + + .starability-basic > input { + position: absolute; + margin-right: -100%; + opacity: 0; + } + + .starability-basic > input:checked ~ label, + .starability-basic > input:focus ~ label { + background-position: 0 0; + } + + .starability-basic > input:checked + label, + .starability-basic > input:focus + label { + background-position: 0 -30px; + } + + .starability-basic > input[disabled]:hover + label { + cursor: default; + } + + .starability-basic > input:not([disabled]):hover ~ label { + background-position: 0 0; + } + + .starability-basic > input:not([disabled]):hover + label { + background-position: 0 -30px; + } + + .starability-basic > input:not([disabled]):hover + label::before { + opacity: 1; + } + + .starability-basic > input:focus + label { + outline: 1px dotted #999; + } + + .starability-basic .starability-focus-ring { + position: absolute; + left: 0; + width: 100%; + height: 30px; + outline: 2px dotted #999; + pointer-events: none; + opacity: 0; + } + + .starability-basic > .input-no-rate:focus ~ .starability-focus-ring { + opacity: 1; + } + + .starability-basic > label { + position: relative; + /* display: inline-block; */ + float: left; + width: 30px; + height: 30px; + font-size: 0.1em; + color: transparent; + cursor: pointer; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAA8CAMAAABGivqtAAAAxlBMVEUAAACZmZn2viTHuJ72viOampqampr1viSampr3vySampqdnZ34wiX1vSSampr1vSOZmZmampr1viT2vSOampr2viT2viSampr2viSampr2vyX4vyWbm5v3vSSdnZ32wSadnZ36wCWcnJyZmZn/wSr/2ySampr2vSP2viSZmZn2vSSZmZn2vST2viSampr2viSbm5ubm5uZmZn1vSSampqbm5v2vSWampqampr3vSf5wiT5vyagoKD/xCmkpKT/yCSZmZn1vSO4V2dEAAAAQHRSTlMA+vsG9fO6uqdgRSIi7+3q39XVqZWVgnJyX09HPDw1NTAwKRkYB+jh3L6+srKijY2Ef2lpYllZUU5CKigWFQ4Oneh1twAAAZlJREFUOMuV0mdzAiEQBmDgWq4YTWIvKRqT2Htv8P//VJCTGfYQZnw/3fJ4tyO76KE0m1b2fZu+U/pu4QGlA7N+Up5PIz9d+cmkbSrSNr9seT3GKeNYIyeO5j16S28exY5suK0U/QKmmeCCX6xs22hJLVkitMImxCvEs8EG3SCRCN/ViFPqnq5epIzZ07QJJvkM9Tkz1xnkmXbfSvR7f4H8AtXBkLGj74mMvjM1+VHZpAZ4LM4K/LBWEI9jwP71v1ZEQ6dyvQMf8A/1pmdZnKce/VH1iIsdte4U8VEtY23xOujxtFpWDgKbfjD2YeEhY0OzfjGeLyO/XfnNpAcmcjDwKOXRfU1IyiTRyEkaiz67pb9oJHJb9vVqKfgjLBPyF5Sq9T0KmSUhQmtiQrJGPHVi0DoSabj31G2gW3buHd0pY85lNdcCk8xlNDPXMuSyNiwl+theIb9C7RLIpKvviYy+M6H8qGwSAp6Is19+GP6KxwnggJ/kq6Jht5rnRQA4z9zyRRaXssvyqp5I6Vutv0vkpJaJtnjpz/8B19ytIayazLoAAAAASUVORK5CYII="); + background-repeat: no-repeat; + background-position: 0 -30px; + } + + .starability-basic > label::before { + content: ''; + position: absolute; + display: block; + height: 30px; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAA8CAMAAABGivqtAAAAxlBMVEUAAACZmZn2viTHuJ72viOampqampr1viSampr3vySampqdnZ34wiX1vSSampr1vSOZmZmampr1viT2vSOampr2viT2viSampr2viSampr2vyX4vyWbm5v3vSSdnZ32wSadnZ36wCWcnJyZmZn/wSr/2ySampr2vSP2viSZmZn2vSSZmZn2vST2viSampr2viSbm5ubm5uZmZn1vSSampqbm5v2vSWampqampr3vSf5wiT5vyagoKD/xCmkpKT/yCSZmZn1vSO4V2dEAAAAQHRSTlMA+vsG9fO6uqdgRSIi7+3q39XVqZWVgnJyX09HPDw1NTAwKRkYB+jh3L6+srKijY2Ef2lpYllZUU5CKigWFQ4Oneh1twAAAZlJREFUOMuV0mdzAiEQBmDgWq4YTWIvKRqT2Htv8P//VJCTGfYQZnw/3fJ4tyO76KE0m1b2fZu+U/pu4QGlA7N+Up5PIz9d+cmkbSrSNr9seT3GKeNYIyeO5j16S28exY5suK0U/QKmmeCCX6xs22hJLVkitMImxCvEs8EG3SCRCN/ViFPqnq5epIzZ07QJJvkM9Tkz1xnkmXbfSvR7f4H8AtXBkLGj74mMvjM1+VHZpAZ4LM4K/LBWEI9jwP71v1ZEQ6dyvQMf8A/1pmdZnKce/VH1iIsdte4U8VEtY23xOujxtFpWDgKbfjD2YeEhY0OzfjGeLyO/XfnNpAcmcjDwKOXRfU1IyiTRyEkaiz67pb9oJHJb9vVqKfgjLBPyF5Sq9T0KmSUhQmtiQrJGPHVi0DoSabj31G2gW3buHd0pY85lNdcCk8xlNDPXMuSyNiwl+theIb9C7RLIpKvviYy+M6H8qGwSAp6Is19+GP6KxwnggJ/kq6Jht5rnRQA4z9zyRRaXssvyqp5I6Vutv0vkpJaJtnjpz/8B19ytIayazLoAAAAASUVORK5CYII="); + background-position: 0 30px; + pointer-events: none; + opacity: 0; + } + + .starability-basic > label:nth-of-type(5)::before { + width: 120px; + left: -120px; + } + + .starability-basic > label:nth-of-type(4)::before { + width: 90px; + left: -90px; + } + + .starability-basic > label:nth-of-type(3)::before { + width: 60px; + left: -60px; + } + + .starability-basic > label:nth-of-type(2)::before { + width: 30px; + left: -30px; + } + + .starability-basic > label:nth-of-type(1)::before { + width: 0px; + left: 0px; + } + + @media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 192dpi) { + .starability-basic > label { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAB4CAMAAACZ62E6AAABAlBMVEUAAACZmZmampr2vSObm5v/yiufn5+ampr1viP1viSZmZn2viOZmZmampqampr2viSampqampqcnJz5vyScnJz3wSf/wyn/xiujo6Oqqqr/0C/1vSOampr2viP2viOampr2viP2vST2viOampqampqampr1vyP3viSampr2vyT4vyX3viSbm5ubm5v5wCT8xSmgoKCampqampr3vyb2wiWenp72viOampqZmZmampr2viP2viP1viSampqbm5v2vyT3viObm5v4vyadnZ34wSSbm5v2viSZmZn2viP2vST2viP2viT1viOZmZn2viT2viX3viT3vyb2vyOZmZn1vSOZmZlNN+fKAAAAVHRSTlMA9uz4PQwS8O7r5+fTw4yMelw2MB0dFRELBgbS+/Hfu7uxqKWdg4N7ZmZMPi8pKRgPs0w7Nhb14drKw6Gck21tXkNDIyMZ1rDLycTBtaqVknlfV0sGP8ZwAAADW0lEQVRYw9zWvYqDQBSG4TPDoCAqKhYKQgoVLFaIgZCkiCBBUqVazv3fyu4aEXWdM85Uy779A+LP58AfTQgw73AwtxFiZIwbxMbUfuB3H4b49YNfZrbGodoI52+cm9hH9sbZwwAXOFbo2zjDsSzWxnecuuvaM8MpdtbEPs7y9azF5phZWrjERaWOPdpLbB81cICrgv3W4mvMLbU6RmFQeA5u5HhFEEbHLdWLsMxvHJXxW16Goh+ZqPyny1Az5j79SsCJoWHsBNAxQ9sNF26bWFuMC8v1LY+mmeTadjaqtaNnnXoxWBcde1nNWnzdb68xrOqvu22/MTzuPutujpJ122NvluSb8tTWk85CclDZQwLS0oa2TQpEKacsJy0kSJaQOKJxROKKxhWJ7zS+k9ijsUdim8Y2ZWNUFBP4pMKfOv8onX9WrsI5gd3VVLXtatxcuU0znGUHCUAS2DgrS6mT6hTzrXEjfIZj5Dk2xKkihqm4wKlQfQRqalhUP9UHo3FIPAG/Et44JVLsDDf0JHmB3OEByOwZES8hSAsviGjBdh3ylh6plmMnW4IyAUVJWcE/76vTell1EIaiMBwIAcWBA9GC0lIdKFXQQUsHVVCklN7ojf3+z3JOxYqK2TH555+K6CJJQtRbr9XtDmCnjH0AX9Va8J+liIMvDtRsCk2pEs6hKVexR2g7KuDihwt5a9MfprY0fkLXU9ZmFLpoJolN6GXKWWfZx0tHCocwKJSxC22ItYUEjmBUJHFjfYz1xQxlfaLiZsBExq2IPtbkNbLtOwwuGgjTLkH43mYtSzam7+1Bsr3nm5uExBQUozEh9V7N7uvmwZcqdpm0C6vJW63bZEuXtbrV2zpDzhrpYLBWMnY1mjV7JWFtMio7zbWniWFxvHnWm1yGxXmOPXP+L3YV2ysjnNhaZNeMcHPvuL27BMnVMaujljBAYyje4niH4g2ONyh+4PiB4gOODyjWcKxh1gZBNoJjEY4R/BLhF4IDEQ4QPBoEoyxH4+bxrUsHyxwxQlg0WHXqYifVLmo67cKY/UtaXFxBV26TLjuHrkp8BPJTMij1xQejdkgO24nf7dBOCRcbzQuNOR9Qs64GzzrfQa8It2oFAA6Zrga9xEeq1KHmLUHIiCAWInsg1x/MLqkMsItF8QAAAABJRU5ErkJggg=="); + background-size: 30px auto; + } + } + + @media screen and (-ms-high-contrast: active) { + .starability-basic { + width: auto; + } + .starability-basic > input { + position: static; + margin-right: 0; + opacity: 1; + } + .starability-basic .input-no-rate { + display: none; + } + .starability-basic > label { + display: inline; + float: none; + width: auto; + height: auto; + font-size: 1em; + color: inherit; + background: none; + } + .starability-basic > label::before, .starability-basic > label::after { + display: none; + } + } \ No newline at end of file diff --git a/routes/campgrounds.js b/routes/campgrounds.js new file mode 100644 index 0000000..2a80c87 --- /dev/null +++ b/routes/campgrounds.js @@ -0,0 +1,24 @@ +const express = require('express'); +const router = express.Router(); +const campgrounds = require('../controllers/campgrounds') +const catchAsync = require('../utils/catchAsync'); +const Campground = require('../models/campground'); +const {isLoggedIn,isAuthor,validateCampground} = require('../middleware'); +const multer = require('multer'); +const {storage} = require('../cloudinary'); +const upload = multer({storage}); + +router.route('/') + .get(catchAsync(campgrounds.index)) + .post(isLoggedIn, upload.array('image'), validateCampground, catchAsync(campgrounds.createCampground)); + +router.get('/new', isLoggedIn, campgrounds.renderNewForm); + +router.route('/:id') + .get(catchAsync(campgrounds.showCampground)) + .put(isLoggedIn, isAuthor, upload.array('image'), validateCampground, catchAsync(campgrounds.updateCampground)) + .delete(isLoggedIn, isAuthor, catchAsync(campgrounds.deleteCampground)); + +router.get('/:id/edit', isLoggedIn, isAuthor, catchAsync(campgrounds.renderEditForm)); + +module.exports = router; \ No newline at end of file diff --git a/routes/reviews.js b/routes/reviews.js new file mode 100644 index 0000000..8e7c50f --- /dev/null +++ b/routes/reviews.js @@ -0,0 +1,14 @@ +const express = require('express'); +const router = express.Router({mergeParams: true}); +const {validateReview,isLoggedIn,isReviewAuthor} = require('../middleware') +const Campground = require('../models/campground'); +const Review = require('../models/review'); +const reviews = require('../controllers/reviews'); +const ExpressError = require('../utils/ExpressError'); +const catchAsync = require('../utils/catchAsync'); + +router.post('/', isLoggedIn, validateReview, catchAsync(reviews.createReview)) + +router.delete('/:reviewId', isLoggedIn, isReviewAuthor, catchAsync(reviews.deleteReview)) + +module.exports = router; \ No newline at end of file diff --git a/routes/users.js b/routes/users.js new file mode 100644 index 0000000..4cdcc41 --- /dev/null +++ b/routes/users.js @@ -0,0 +1,18 @@ +const express = require('express'); +const router = express.Router(); +const passport = require('passport'); +const catchAsync = require('../utils/catchAsync'); +const User = require('../models/user'); +const users = require('../controllers/users'); + +router.route('/register') + .get(users.renderRegister) + .post(catchAsync(users.register)); + +router.route('/login') + .get(users.renderLogin) + .post(passport.authenticate('local', { failureFlash: true, failureRedirect: '/login' }), users.login); + +router.get('/logout', users.logout) + +module.exports = router; \ No newline at end of file diff --git a/schemas.js b/schemas.js new file mode 100644 index 0000000..e8030c2 --- /dev/null +++ b/schemas.js @@ -0,0 +1,41 @@ +const BaseJoi = require('joi'); +const sanitizeHtml = require('sanitize-html'); + +const extension = (joi) => ({ + type: 'string', + base: joi.string(), + messages: { + 'string.escapeHTML': '{{#label}} must not include HTML!' + }, + rules: { + escapeHTML: { + validate(value, helpers) { + const clean = sanitizeHtml(value, { + allowedTags: [], + allowedAttributes: {}, + }); + if (clean !== value) return helpers.error('string.escapeHTML', { value }) + return clean; + } + } + } +}); + +const Joi = BaseJoi.extend(extension) + +module.exports.campgroundSchema = Joi.object({ + campground: Joi.object({ + title: Joi.string().required().escapeHTML(), + price: Joi.number().required().min(0), + location: Joi.string().required().escapeHTML(), + description: Joi.string().required().escapeHTML() + }).required(), + deleteImages: Joi.array() +}); + +module.exports.reviewSchema = Joi.object({ + review: Joi.object({ + rating: Joi.number().required().min(1).max(5), + body: Joi.string().required().escapeHTML() + }).required() +}) \ No newline at end of file diff --git a/seeds/cities.js b/seeds/cities.js new file mode 100644 index 0000000..37d9d03 --- /dev/null +++ b/seeds/cities.js @@ -0,0 +1,9002 @@ +module.exports = [ + { + city: "New York", + growth_from_2000_to_2013: "4.8%", + latitude: 40.7127837, + longitude: -74.0059413, + population: "8405837", + rank: "1", + state: "New York", + }, + { + city: "Los Angeles", + growth_from_2000_to_2013: "4.8%", + latitude: 34.0522342, + longitude: -118.2436849, + population: "3884307", + rank: "2", + state: "California", + }, + { + city: "Chicago", + growth_from_2000_to_2013: "-6.1%", + latitude: 41.8781136, + longitude: -87.6297982, + population: "2718782", + rank: "3", + state: "Illinois", + }, + { + city: "Houston", + growth_from_2000_to_2013: "11.0%", + latitude: 29.7604267, + longitude: -95.3698028, + population: "2195914", + rank: "4", + state: "Texas", + }, + { + city: "Philadelphia", + growth_from_2000_to_2013: "2.6%", + latitude: 39.9525839, + longitude: -75.1652215, + population: "1553165", + rank: "5", + state: "Pennsylvania", + }, + { + city: "Phoenix", + growth_from_2000_to_2013: "14.0%", + latitude: 33.4483771, + longitude: -112.0740373, + population: "1513367", + rank: "6", + state: "Arizona", + }, + { + city: "San Antonio", + growth_from_2000_to_2013: "21.0%", + latitude: 29.4241219, + longitude: -98.49362819999999, + population: "1409019", + rank: "7", + state: "Texas", + }, + { + city: "San Diego", + growth_from_2000_to_2013: "10.5%", + latitude: 32.715738, + longitude: -117.1610838, + population: "1355896", + rank: "8", + state: "California", + }, + { + city: "Dallas", + growth_from_2000_to_2013: "5.6%", + latitude: 32.7766642, + longitude: -96.79698789999999, + population: "1257676", + rank: "9", + state: "Texas", + }, + { + city: "San Jose", + growth_from_2000_to_2013: "10.5%", + latitude: 37.3382082, + longitude: -121.8863286, + population: "998537", + rank: "10", + state: "California", + }, + { + city: "Austin", + growth_from_2000_to_2013: "31.7%", + latitude: 30.267153, + longitude: -97.7430608, + population: "885400", + rank: "11", + state: "Texas", + }, + { + city: "Indianapolis", + growth_from_2000_to_2013: "7.8%", + latitude: 39.768403, + longitude: -86.158068, + population: "843393", + rank: "12", + state: "Indiana", + }, + { + city: "Jacksonville", + growth_from_2000_to_2013: "14.3%", + latitude: 30.3321838, + longitude: -81.65565099999999, + population: "842583", + rank: "13", + state: "Florida", + }, + { + city: "San Francisco", + growth_from_2000_to_2013: "7.7%", + latitude: 37.7749295, + longitude: -122.4194155, + population: "837442", + rank: "14", + state: "California", + }, + { + city: "Columbus", + growth_from_2000_to_2013: "14.8%", + latitude: 39.9611755, + longitude: -82.99879419999999, + population: "822553", + rank: "15", + state: "Ohio", + }, + { + city: "Charlotte", + growth_from_2000_to_2013: "39.1%", + latitude: 35.2270869, + longitude: -80.8431267, + population: "792862", + rank: "16", + state: "North Carolina", + }, + { + city: "Fort Worth", + growth_from_2000_to_2013: "45.1%", + latitude: 32.7554883, + longitude: -97.3307658, + population: "792727", + rank: "17", + state: "Texas", + }, + { + city: "Detroit", + growth_from_2000_to_2013: "-27.1%", + latitude: 42.331427, + longitude: -83.0457538, + population: "688701", + rank: "18", + state: "Michigan", + }, + { + city: "El Paso", + growth_from_2000_to_2013: "19.4%", + latitude: 31.7775757, + longitude: -106.4424559, + population: "674433", + rank: "19", + state: "Texas", + }, + { + city: "Memphis", + growth_from_2000_to_2013: "-5.3%", + latitude: 35.1495343, + longitude: -90.0489801, + population: "653450", + rank: "20", + state: "Tennessee", + }, + { + city: "Seattle", + growth_from_2000_to_2013: "15.6%", + latitude: 47.6062095, + longitude: -122.3320708, + population: "652405", + rank: "21", + state: "Washington", + }, + { + city: "Denver", + growth_from_2000_to_2013: "16.7%", + latitude: 39.7392358, + longitude: -104.990251, + population: "649495", + rank: "22", + state: "Colorado", + }, + { + city: "Washington", + growth_from_2000_to_2013: "13.0%", + latitude: 38.9071923, + longitude: -77.0368707, + population: "646449", + rank: "23", + state: "District of Columbia", + }, + { + city: "Boston", + growth_from_2000_to_2013: "9.4%", + latitude: 42.3600825, + longitude: -71.0588801, + population: "645966", + rank: "24", + state: "Massachusetts", + }, + { + city: "Nashville-Davidson", + growth_from_2000_to_2013: "16.2%", + latitude: 36.1626638, + longitude: -86.7816016, + population: "634464", + rank: "25", + state: "Tennessee", + }, + { + city: "Baltimore", + growth_from_2000_to_2013: "-4.0%", + latitude: 39.2903848, + longitude: -76.6121893, + population: "622104", + rank: "26", + state: "Maryland", + }, + { + city: "Oklahoma City", + growth_from_2000_to_2013: "20.2%", + latitude: 35.4675602, + longitude: -97.5164276, + population: "610613", + rank: "27", + state: "Oklahoma", + }, + { + city: "Louisville/Jefferson County", + growth_from_2000_to_2013: "10.0%", + latitude: 38.2526647, + longitude: -85.7584557, + population: "609893", + rank: "28", + state: "Kentucky", + }, + { + city: "Portland", + growth_from_2000_to_2013: "15.0%", + latitude: 45.5230622, + longitude: -122.6764816, + population: "609456", + rank: "29", + state: "Oregon", + }, + { + city: "Las Vegas", + growth_from_2000_to_2013: "24.5%", + latitude: 36.1699412, + longitude: -115.1398296, + population: "603488", + rank: "30", + state: "Nevada", + }, + { + city: "Milwaukee", + growth_from_2000_to_2013: "0.3%", + latitude: 43.0389025, + longitude: -87.9064736, + population: "599164", + rank: "31", + state: "Wisconsin", + }, + { + city: "Albuquerque", + growth_from_2000_to_2013: "23.5%", + latitude: 35.0853336, + longitude: -106.6055534, + population: "556495", + rank: "32", + state: "New Mexico", + }, + { + city: "Tucson", + growth_from_2000_to_2013: "7.5%", + latitude: 32.2217429, + longitude: -110.926479, + population: "526116", + rank: "33", + state: "Arizona", + }, + { + city: "Fresno", + growth_from_2000_to_2013: "18.3%", + latitude: 36.7468422, + longitude: -119.7725868, + population: "509924", + rank: "34", + state: "California", + }, + { + city: "Sacramento", + growth_from_2000_to_2013: "17.2%", + latitude: 38.5815719, + longitude: -121.4943996, + population: "479686", + rank: "35", + state: "California", + }, + { + city: "Long Beach", + growth_from_2000_to_2013: "1.5%", + latitude: 33.7700504, + longitude: -118.1937395, + population: "469428", + rank: "36", + state: "California", + }, + { + city: "Kansas City", + growth_from_2000_to_2013: "5.5%", + latitude: 39.0997265, + longitude: -94.5785667, + population: "467007", + rank: "37", + state: "Missouri", + }, + { + city: "Mesa", + growth_from_2000_to_2013: "13.5%", + latitude: 33.4151843, + longitude: -111.8314724, + population: "457587", + rank: "38", + state: "Arizona", + }, + { + city: "Virginia Beach", + growth_from_2000_to_2013: "5.1%", + latitude: 36.8529263, + longitude: -75.97798499999999, + population: "448479", + rank: "39", + state: "Virginia", + }, + { + city: "Atlanta", + growth_from_2000_to_2013: "6.2%", + latitude: 33.7489954, + longitude: -84.3879824, + population: "447841", + rank: "40", + state: "Georgia", + }, + { + city: "Colorado Springs", + growth_from_2000_to_2013: "21.4%", + latitude: 38.8338816, + longitude: -104.8213634, + population: "439886", + rank: "41", + state: "Colorado", + }, + { + city: "Omaha", + growth_from_2000_to_2013: "5.9%", + latitude: 41.2523634, + longitude: -95.99798829999999, + population: "434353", + rank: "42", + state: "Nebraska", + }, + { + city: "Raleigh", + growth_from_2000_to_2013: "48.7%", + latitude: 35.7795897, + longitude: -78.6381787, + population: "431746", + rank: "43", + state: "North Carolina", + }, + { + city: "Miami", + growth_from_2000_to_2013: "14.9%", + latitude: 25.7616798, + longitude: -80.1917902, + population: "417650", + rank: "44", + state: "Florida", + }, + { + city: "Oakland", + growth_from_2000_to_2013: "1.3%", + latitude: 37.8043637, + longitude: -122.2711137, + population: "406253", + rank: "45", + state: "California", + }, + { + city: "Minneapolis", + growth_from_2000_to_2013: "4.5%", + latitude: 44.977753, + longitude: -93.2650108, + population: "400070", + rank: "46", + state: "Minnesota", + }, + { + city: "Tulsa", + growth_from_2000_to_2013: "1.3%", + latitude: 36.1539816, + longitude: -95.99277500000001, + population: "398121", + rank: "47", + state: "Oklahoma", + }, + { + city: "Cleveland", + growth_from_2000_to_2013: "-18.1%", + latitude: 41.49932, + longitude: -81.6943605, + population: "390113", + rank: "48", + state: "Ohio", + }, + { + city: "Wichita", + growth_from_2000_to_2013: "9.7%", + latitude: 37.688889, + longitude: -97.336111, + population: "386552", + rank: "49", + state: "Kansas", + }, + { + city: "Arlington", + growth_from_2000_to_2013: "13.3%", + latitude: 32.735687, + longitude: -97.10806559999999, + population: "379577", + rank: "50", + state: "Texas", + }, + { + city: "New Orleans", + growth_from_2000_to_2013: "-21.6%", + latitude: 29.95106579999999, + longitude: -90.0715323, + population: "378715", + rank: "51", + state: "Louisiana", + }, + { + city: "Bakersfield", + growth_from_2000_to_2013: "48.4%", + latitude: 35.3732921, + longitude: -119.0187125, + population: "363630", + rank: "52", + state: "California", + }, + { + city: "Tampa", + growth_from_2000_to_2013: "16.0%", + latitude: 27.950575, + longitude: -82.4571776, + population: "352957", + rank: "53", + state: "Florida", + }, + { + city: "Honolulu", + growth_from_2000_to_2013: "-6.2%", + latitude: 21.3069444, + longitude: -157.8583333, + population: "347884", + rank: "54", + state: "Hawaii", + }, + { + city: "Aurora", + growth_from_2000_to_2013: "24.4%", + latitude: 39.7294319, + longitude: -104.8319195, + population: "345803", + rank: "55", + state: "Colorado", + }, + { + city: "Anaheim", + growth_from_2000_to_2013: "4.7%", + latitude: 33.8352932, + longitude: -117.9145036, + population: "345012", + rank: "56", + state: "California", + }, + { + city: "Santa Ana", + growth_from_2000_to_2013: "-1.2%", + latitude: 33.7455731, + longitude: -117.8678338, + population: "334227", + rank: "57", + state: "California", + }, + { + city: "St. Louis", + growth_from_2000_to_2013: "-8.2%", + latitude: 38.6270025, + longitude: -90.19940419999999, + population: "318416", + rank: "58", + state: "Missouri", + }, + { + city: "Riverside", + growth_from_2000_to_2013: "22.5%", + latitude: 33.9533487, + longitude: -117.3961564, + population: "316619", + rank: "59", + state: "California", + }, + { + city: "Corpus Christi", + growth_from_2000_to_2013: "14.1%", + latitude: 27.8005828, + longitude: -97.39638099999999, + population: "316381", + rank: "60", + state: "Texas", + }, + { + city: "Lexington-Fayette", + growth_from_2000_to_2013: "18.0%", + latitude: 38.0405837, + longitude: -84.5037164, + population: "308428", + rank: "61", + state: "Kentucky", + }, + { + city: "Pittsburgh", + growth_from_2000_to_2013: "-8.3%", + latitude: 40.44062479999999, + longitude: -79.9958864, + population: "305841", + rank: "62", + state: "Pennsylvania", + }, + { + city: "Anchorage", + growth_from_2000_to_2013: "15.4%", + latitude: 61.2180556, + longitude: -149.9002778, + population: "300950", + rank: "63", + state: "Alaska", + }, + { + city: "Stockton", + growth_from_2000_to_2013: "21.8%", + latitude: 37.9577016, + longitude: -121.2907796, + population: "298118", + rank: "64", + state: "California", + }, + { + city: "Cincinnati", + growth_from_2000_to_2013: "-10.1%", + latitude: 39.1031182, + longitude: -84.5120196, + population: "297517", + rank: "65", + state: "Ohio", + }, + { + city: "St. Paul", + growth_from_2000_to_2013: "2.8%", + latitude: 44.9537029, + longitude: -93.0899578, + population: "294873", + rank: "66", + state: "Minnesota", + }, + { + city: "Toledo", + growth_from_2000_to_2013: "-10.0%", + latitude: 41.6639383, + longitude: -83.55521200000001, + population: "282313", + rank: "67", + state: "Ohio", + }, + { + city: "Greensboro", + growth_from_2000_to_2013: "22.3%", + latitude: 36.0726354, + longitude: -79.7919754, + population: "279639", + rank: "68", + state: "North Carolina", + }, + { + city: "Newark", + growth_from_2000_to_2013: "2.1%", + latitude: 40.735657, + longitude: -74.1723667, + population: "278427", + rank: "69", + state: "New Jersey", + }, + { + city: "Plano", + growth_from_2000_to_2013: "22.4%", + latitude: 33.0198431, + longitude: -96.6988856, + population: "274409", + rank: "70", + state: "Texas", + }, + { + city: "Henderson", + growth_from_2000_to_2013: "51.0%", + latitude: 36.0395247, + longitude: -114.9817213, + population: "270811", + rank: "71", + state: "Nevada", + }, + { + city: "Lincoln", + growth_from_2000_to_2013: "18.0%", + latitude: 40.8257625, + longitude: -96.6851982, + population: "268738", + rank: "72", + state: "Nebraska", + }, + { + city: "Buffalo", + growth_from_2000_to_2013: "-11.3%", + latitude: 42.88644679999999, + longitude: -78.8783689, + population: "258959", + rank: "73", + state: "New York", + }, + { + city: "Jersey City", + growth_from_2000_to_2013: "7.2%", + latitude: 40.72815749999999, + longitude: -74.0776417, + population: "257342", + rank: "74", + state: "New Jersey", + }, + { + city: "Chula Vista", + growth_from_2000_to_2013: "46.2%", + latitude: 32.6400541, + longitude: -117.0841955, + population: "256780", + rank: "75", + state: "California", + }, + { + city: "Fort Wayne", + growth_from_2000_to_2013: "1.0%", + latitude: 41.079273, + longitude: -85.1393513, + population: "256496", + rank: "76", + state: "Indiana", + }, + { + city: "Orlando", + growth_from_2000_to_2013: "31.2%", + latitude: 28.5383355, + longitude: -81.3792365, + population: "255483", + rank: "77", + state: "Florida", + }, + { + city: "St. Petersburg", + growth_from_2000_to_2013: "0.3%", + latitude: 27.773056, + longitude: -82.64, + population: "249688", + rank: "78", + state: "Florida", + }, + { + city: "Chandler", + growth_from_2000_to_2013: "38.7%", + latitude: 33.3061605, + longitude: -111.8412502, + population: "249146", + rank: "79", + state: "Arizona", + }, + { + city: "Laredo", + growth_from_2000_to_2013: "38.2%", + latitude: 27.5305671, + longitude: -99.48032409999999, + population: "248142", + rank: "80", + state: "Texas", + }, + { + city: "Norfolk", + growth_from_2000_to_2013: "5.0%", + latitude: 36.8507689, + longitude: -76.28587259999999, + population: "246139", + rank: "81", + state: "Virginia", + }, + { + city: "Durham", + growth_from_2000_to_2013: "29.9%", + latitude: 35.9940329, + longitude: -78.898619, + population: "245475", + rank: "82", + state: "North Carolina", + }, + { + city: "Madison", + growth_from_2000_to_2013: "15.8%", + latitude: 43.0730517, + longitude: -89.4012302, + population: "243344", + rank: "83", + state: "Wisconsin", + }, + { + city: "Lubbock", + growth_from_2000_to_2013: "19.6%", + latitude: 33.5778631, + longitude: -101.8551665, + population: "239538", + rank: "84", + state: "Texas", + }, + { + city: "Irvine", + growth_from_2000_to_2013: "61.3%", + latitude: 33.6839473, + longitude: -117.7946942, + population: "236716", + rank: "85", + state: "California", + }, + { + city: "Winston-Salem", + growth_from_2000_to_2013: "16.9%", + latitude: 36.09985959999999, + longitude: -80.244216, + population: "236441", + rank: "86", + state: "North Carolina", + }, + { + city: "Glendale", + growth_from_2000_to_2013: "5.7%", + latitude: 33.5386523, + longitude: -112.1859866, + population: "234632", + rank: "87", + state: "Arizona", + }, + { + city: "Garland", + growth_from_2000_to_2013: "8.5%", + latitude: 32.912624, + longitude: -96.63888329999999, + population: "234566", + rank: "88", + state: "Texas", + }, + { + city: "Hialeah", + growth_from_2000_to_2013: "3.2%", + latitude: 25.8575963, + longitude: -80.2781057, + population: "233394", + rank: "89", + state: "Florida", + }, + { + city: "Reno", + growth_from_2000_to_2013: "26.8%", + latitude: 39.5296329, + longitude: -119.8138027, + population: "233294", + rank: "90", + state: "Nevada", + }, + { + city: "Chesapeake", + growth_from_2000_to_2013: "15.1%", + latitude: 36.7682088, + longitude: -76.2874927, + population: "230571", + rank: "91", + state: "Virginia", + }, + { + city: "Gilbert", + growth_from_2000_to_2013: "96.0%", + latitude: 33.3528264, + longitude: -111.789027, + population: "229972", + rank: "92", + state: "Arizona", + }, + { + city: "Baton Rouge", + growth_from_2000_to_2013: "0.4%", + latitude: 30.4582829, + longitude: -91.1403196, + population: "229426", + rank: "93", + state: "Louisiana", + }, + { + city: "Irving", + growth_from_2000_to_2013: "19.1%", + latitude: 32.8140177, + longitude: -96.9488945, + population: "228653", + rank: "94", + state: "Texas", + }, + { + city: "Scottsdale", + growth_from_2000_to_2013: "11.0%", + latitude: 33.4941704, + longitude: -111.9260519, + population: "226918", + rank: "95", + state: "Arizona", + }, + { + city: "North Las Vegas", + growth_from_2000_to_2013: "92.2%", + latitude: 36.1988592, + longitude: -115.1175013, + population: "226877", + rank: "96", + state: "Nevada", + }, + { + city: "Fremont", + growth_from_2000_to_2013: "10.0%", + latitude: 37.5482697, + longitude: -121.9885719, + population: "224922", + rank: "97", + state: "California", + }, + { + city: "Boise City", + growth_from_2000_to_2013: "9.5%", + latitude: 43.6187102, + longitude: -116.2146068, + population: "214237", + rank: "98", + state: "Idaho", + }, + { + city: "Richmond", + growth_from_2000_to_2013: "8.2%", + latitude: 37.5407246, + longitude: -77.4360481, + population: "214114", + rank: "99", + state: "Virginia", + }, + { + city: "San Bernardino", + growth_from_2000_to_2013: "13.0%", + latitude: 34.1083449, + longitude: -117.2897652, + population: "213708", + rank: "100", + state: "California", + }, + { + city: "Birmingham", + growth_from_2000_to_2013: "-12.3%", + latitude: 33.5206608, + longitude: -86.80248999999999, + population: "212113", + rank: "101", + state: "Alabama", + }, + { + city: "Spokane", + growth_from_2000_to_2013: "7.0%", + latitude: 47.6587802, + longitude: -117.4260466, + population: "210721", + rank: "102", + state: "Washington", + }, + { + city: "Rochester", + growth_from_2000_to_2013: "-4.1%", + latitude: 43.16103, + longitude: -77.6109219, + population: "210358", + rank: "103", + state: "New York", + }, + { + city: "Des Moines", + growth_from_2000_to_2013: "3.9%", + latitude: 41.6005448, + longitude: -93.6091064, + population: "207510", + rank: "104", + state: "Iowa", + }, + { + city: "Modesto", + growth_from_2000_to_2013: "7.7%", + latitude: 37.63909719999999, + longitude: -120.9968782, + population: "204933", + rank: "105", + state: "California", + }, + { + city: "Fayetteville", + growth_from_2000_to_2013: "2.4%", + latitude: 35.0526641, + longitude: -78.87835849999999, + population: "204408", + rank: "106", + state: "North Carolina", + }, + { + city: "Tacoma", + growth_from_2000_to_2013: "4.9%", + latitude: 47.2528768, + longitude: -122.4442906, + population: "203446", + rank: "107", + state: "Washington", + }, + { + city: "Oxnard", + growth_from_2000_to_2013: "18.2%", + latitude: 34.1975048, + longitude: -119.1770516, + population: "203007", + rank: "108", + state: "California", + }, + { + city: "Fontana", + growth_from_2000_to_2013: "38.3%", + latitude: 34.0922335, + longitude: -117.435048, + population: "203003", + rank: "109", + state: "California", + }, + { + city: "Columbus", + growth_from_2000_to_2013: "8.7%", + latitude: 32.4609764, + longitude: -84.9877094, + population: "202824", + rank: "110", + state: "Georgia", + }, + { + city: "Montgomery", + growth_from_2000_to_2013: "-0.1%", + latitude: 32.3668052, + longitude: -86.2999689, + population: "201332", + rank: "111", + state: "Alabama", + }, + { + city: "Moreno Valley", + growth_from_2000_to_2013: "40.4%", + latitude: 33.9424658, + longitude: -117.2296717, + population: "201175", + rank: "112", + state: "California", + }, + { + city: "Shreveport", + growth_from_2000_to_2013: "-0.1%", + latitude: 32.5251516, + longitude: -93.7501789, + population: "200327", + rank: "113", + state: "Louisiana", + }, + { + city: "Aurora", + growth_from_2000_to_2013: "38.4%", + latitude: 41.7605849, + longitude: -88.32007150000001, + population: "199963", + rank: "114", + state: "Illinois", + }, + { + city: "Yonkers", + growth_from_2000_to_2013: "1.8%", + latitude: 40.9312099, + longitude: -73.89874689999999, + population: "199766", + rank: "115", + state: "New York", + }, + { + city: "Akron", + growth_from_2000_to_2013: "-8.6%", + latitude: 41.0814447, + longitude: -81.51900529999999, + population: "198100", + rank: "116", + state: "Ohio", + }, + { + city: "Huntington Beach", + growth_from_2000_to_2013: "3.9%", + latitude: 33.660297, + longitude: -117.9992265, + population: "197575", + rank: "117", + state: "California", + }, + { + city: "Little Rock", + growth_from_2000_to_2013: "7.6%", + latitude: 34.7464809, + longitude: -92.28959479999999, + population: "197357", + rank: "118", + state: "Arkansas", + }, + { + city: "Augusta-Richmond County", + growth_from_2000_to_2013: "1.1%", + latitude: 33.4734978, + longitude: -82.0105148, + population: "197350", + rank: "119", + state: "Georgia", + }, + { + city: "Amarillo", + growth_from_2000_to_2013: "12.8%", + latitude: 35.2219971, + longitude: -101.8312969, + population: "196429", + rank: "120", + state: "Texas", + }, + { + city: "Glendale", + growth_from_2000_to_2013: "0.3%", + latitude: 34.1425078, + longitude: -118.255075, + population: "196021", + rank: "121", + state: "California", + }, + { + city: "Mobile", + growth_from_2000_to_2013: "-1.9%", + latitude: 30.6953657, + longitude: -88.0398912, + population: "194899", + rank: "122", + state: "Alabama", + }, + { + city: "Grand Rapids", + growth_from_2000_to_2013: "-2.8%", + latitude: 42.9633599, + longitude: -85.6680863, + population: "192294", + rank: "123", + state: "Michigan", + }, + { + city: "Salt Lake City", + growth_from_2000_to_2013: "5.1%", + latitude: 40.7607793, + longitude: -111.8910474, + population: "191180", + rank: "124", + state: "Utah", + }, + { + city: "Tallahassee", + growth_from_2000_to_2013: "21.8%", + latitude: 30.4382559, + longitude: -84.28073289999999, + population: "186411", + rank: "125", + state: "Florida", + }, + { + city: "Huntsville", + growth_from_2000_to_2013: "16.3%", + latitude: 34.7303688, + longitude: -86.5861037, + population: "186254", + rank: "126", + state: "Alabama", + }, + { + city: "Grand Prairie", + growth_from_2000_to_2013: "43.1%", + latitude: 32.7459645, + longitude: -96.99778459999999, + population: "183372", + rank: "127", + state: "Texas", + }, + { + city: "Knoxville", + growth_from_2000_to_2013: "3.9%", + latitude: 35.9606384, + longitude: -83.9207392, + population: "183270", + rank: "128", + state: "Tennessee", + }, + { + city: "Worcester", + growth_from_2000_to_2013: "5.8%", + latitude: 42.2625932, + longitude: -71.8022934, + population: "182544", + rank: "129", + state: "Massachusetts", + }, + { + city: "Newport News", + growth_from_2000_to_2013: "0.9%", + latitude: 37.0870821, + longitude: -76.4730122, + population: "182020", + rank: "130", + state: "Virginia", + }, + { + city: "Brownsville", + growth_from_2000_to_2013: "26.8%", + latitude: 25.9017472, + longitude: -97.4974838, + population: "181860", + rank: "131", + state: "Texas", + }, + { + city: "Overland Park", + growth_from_2000_to_2013: "19.4%", + latitude: 38.9822282, + longitude: -94.6707917, + population: "181260", + rank: "132", + state: "Kansas", + }, + { + city: "Santa Clarita", + growth_from_2000_to_2013: "15.3%", + latitude: 34.3916641, + longitude: -118.542586, + population: "179590", + rank: "133", + state: "California", + }, + { + city: "Providence", + growth_from_2000_to_2013: "2.3%", + latitude: 41.8239891, + longitude: -71.4128343, + population: "177994", + rank: "134", + state: "Rhode Island", + }, + { + city: "Garden Grove", + growth_from_2000_to_2013: "5.8%", + latitude: 33.7739053, + longitude: -117.9414477, + population: "175140", + rank: "135", + state: "California", + }, + { + city: "Chattanooga", + growth_from_2000_to_2013: "10.5%", + latitude: 35.0456297, + longitude: -85.3096801, + population: "173366", + rank: "136", + state: "Tennessee", + }, + { + city: "Oceanside", + growth_from_2000_to_2013: "6.6%", + latitude: 33.1958696, + longitude: -117.3794834, + population: "172794", + rank: "137", + state: "California", + }, + { + city: "Jackson", + growth_from_2000_to_2013: "-6.8%", + latitude: 32.2987573, + longitude: -90.1848103, + population: "172638", + rank: "138", + state: "Mississippi", + }, + { + city: "Fort Lauderdale", + growth_from_2000_to_2013: "0.7%", + latitude: 26.1224386, + longitude: -80.13731740000001, + population: "172389", + rank: "139", + state: "Florida", + }, + { + city: "Santa Rosa", + growth_from_2000_to_2013: "15.2%", + latitude: 38.440429, + longitude: -122.7140548, + population: "171990", + rank: "140", + state: "California", + }, + { + city: "Rancho Cucamonga", + growth_from_2000_to_2013: "32.7%", + latitude: 34.10639889999999, + longitude: -117.5931084, + population: "171386", + rank: "141", + state: "California", + }, + { + city: "Port St. Lucie", + growth_from_2000_to_2013: "91.7%", + latitude: 27.2730492, + longitude: -80.3582261, + population: "171016", + rank: "142", + state: "Florida", + }, + { + city: "Tempe", + growth_from_2000_to_2013: "5.8%", + latitude: 33.4255104, + longitude: -111.9400054, + population: "168228", + rank: "143", + state: "Arizona", + }, + { + city: "Ontario", + growth_from_2000_to_2013: "5.5%", + latitude: 34.0633443, + longitude: -117.6508876, + population: "167500", + rank: "144", + state: "California", + }, + { + city: "Vancouver", + growth_from_2000_to_2013: "14.2%", + latitude: 45.6387281, + longitude: -122.6614861, + population: "167405", + rank: "145", + state: "Washington", + }, + { + city: "Cape Coral", + growth_from_2000_to_2013: "60.4%", + latitude: 26.5628537, + longitude: -81.9495331, + population: "165831", + rank: "146", + state: "Florida", + }, + { + city: "Sioux Falls", + growth_from_2000_to_2013: "31.1%", + latitude: 43.5445959, + longitude: -96.73110340000001, + population: "164676", + rank: "147", + state: "South Dakota", + }, + { + city: "Springfield", + growth_from_2000_to_2013: "7.8%", + latitude: 37.2089572, + longitude: -93.29229889999999, + population: "164122", + rank: "148", + state: "Missouri", + }, + { + city: "Peoria", + growth_from_2000_to_2013: "46.5%", + latitude: 33.5805955, + longitude: -112.2373779, + population: "162592", + rank: "149", + state: "Arizona", + }, + { + city: "Pembroke Pines", + growth_from_2000_to_2013: "17.4%", + latitude: 26.007765, + longitude: -80.2962555, + population: "162329", + rank: "150", + state: "Florida", + }, + { + city: "Elk Grove", + growth_from_2000_to_2013: "97.1%", + latitude: 38.4087993, + longitude: -121.3716178, + population: "161007", + rank: "151", + state: "California", + }, + { + city: "Salem", + growth_from_2000_to_2013: "16.4%", + latitude: 44.9428975, + longitude: -123.0350963, + population: "160614", + rank: "152", + state: "Oregon", + }, + { + city: "Lancaster", + growth_from_2000_to_2013: "33.8%", + latitude: 34.6867846, + longitude: -118.1541632, + population: "159523", + rank: "153", + state: "California", + }, + { + city: "Corona", + growth_from_2000_to_2013: "23.6%", + latitude: 33.8752935, + longitude: -117.5664384, + population: "159503", + rank: "154", + state: "California", + }, + { + city: "Eugene", + growth_from_2000_to_2013: "14.4%", + latitude: 44.0520691, + longitude: -123.0867536, + population: "159190", + rank: "155", + state: "Oregon", + }, + { + city: "Palmdale", + growth_from_2000_to_2013: "33.7%", + latitude: 34.5794343, + longitude: -118.1164613, + population: "157161", + rank: "156", + state: "California", + }, + { + city: "Salinas", + growth_from_2000_to_2013: "8.4%", + latitude: 36.6777372, + longitude: -121.6555013, + population: "155662", + rank: "157", + state: "California", + }, + { + city: "Springfield", + growth_from_2000_to_2013: "1.1%", + latitude: 42.1014831, + longitude: -72.589811, + population: "153703", + rank: "158", + state: "Massachusetts", + }, + { + city: "Pasadena", + growth_from_2000_to_2013: "7.5%", + latitude: 29.6910625, + longitude: -95.2091006, + population: "152735", + rank: "159", + state: "Texas", + }, + { + city: "Fort Collins", + growth_from_2000_to_2013: "26.6%", + latitude: 40.5852602, + longitude: -105.084423, + population: "152061", + rank: "160", + state: "Colorado", + }, + { + city: "Hayward", + growth_from_2000_to_2013: "7.5%", + latitude: 37.6688205, + longitude: -122.0807964, + population: "151574", + rank: "161", + state: "California", + }, + { + city: "Pomona", + growth_from_2000_to_2013: "2.1%", + latitude: 34.055103, + longitude: -117.7499909, + population: "151348", + rank: "162", + state: "California", + }, + { + city: "Cary", + growth_from_2000_to_2013: "55.1%", + latitude: 35.79154, + longitude: -78.7811169, + population: "151088", + rank: "163", + state: "North Carolina", + }, + { + city: "Rockford", + growth_from_2000_to_2013: "-1.0%", + latitude: 42.2711311, + longitude: -89.0939952, + population: "150251", + rank: "164", + state: "Illinois", + }, + { + city: "Alexandria", + growth_from_2000_to_2013: "15.0%", + latitude: 38.8048355, + longitude: -77.0469214, + population: "148892", + rank: "165", + state: "Virginia", + }, + { + city: "Escondido", + growth_from_2000_to_2013: "10.7%", + latitude: 33.1192068, + longitude: -117.086421, + population: "148738", + rank: "166", + state: "California", + }, + { + city: "McKinney", + growth_from_2000_to_2013: "165.3%", + latitude: 33.1972465, + longitude: -96.6397822, + population: "148559", + rank: "167", + state: "Texas", + }, + { + city: "Kansas City", + growth_from_2000_to_2013: "1.1%", + latitude: 39.114053, + longitude: -94.6274636, + population: "148483", + rank: "168", + state: "Kansas", + }, + { + city: "Joliet", + growth_from_2000_to_2013: "36.5%", + latitude: 41.525031, + longitude: -88.0817251, + population: "147806", + rank: "169", + state: "Illinois", + }, + { + city: "Sunnyvale", + growth_from_2000_to_2013: "11.9%", + latitude: 37.36883, + longitude: -122.0363496, + population: "147559", + rank: "170", + state: "California", + }, + { + city: "Torrance", + growth_from_2000_to_2013: "6.6%", + latitude: 33.8358492, + longitude: -118.3406288, + population: "147478", + rank: "171", + state: "California", + }, + { + city: "Bridgeport", + growth_from_2000_to_2013: "5.4%", + latitude: 41.1865478, + longitude: -73.19517669999999, + population: "147216", + rank: "172", + state: "Connecticut", + }, + { + city: "Lakewood", + growth_from_2000_to_2013: "1.9%", + latitude: 39.7047095, + longitude: -105.0813734, + population: "147214", + rank: "173", + state: "Colorado", + }, + { + city: "Hollywood", + growth_from_2000_to_2013: "4.8%", + latitude: 26.0112014, + longitude: -80.1494901, + population: "146526", + rank: "174", + state: "Florida", + }, + { + city: "Paterson", + growth_from_2000_to_2013: "-2.2%", + latitude: 40.9167654, + longitude: -74.17181099999999, + population: "145948", + rank: "175", + state: "New Jersey", + }, + { + city: "Naperville", + growth_from_2000_to_2013: "12.0%", + latitude: 41.7508391, + longitude: -88.1535352, + population: "144864", + rank: "176", + state: "Illinois", + }, + { + city: "Syracuse", + growth_from_2000_to_2013: "-0.9%", + latitude: 43.0481221, + longitude: -76.14742439999999, + population: "144669", + rank: "177", + state: "New York", + }, + { + city: "Mesquite", + growth_from_2000_to_2013: "14.7%", + latitude: 32.76679550000001, + longitude: -96.5991593, + population: "143484", + rank: "178", + state: "Texas", + }, + { + city: "Dayton", + growth_from_2000_to_2013: "-13.5%", + latitude: 39.7589478, + longitude: -84.1916069, + population: "143355", + rank: "179", + state: "Ohio", + }, + { + city: "Savannah", + growth_from_2000_to_2013: "7.5%", + latitude: 32.0835407, + longitude: -81.09983419999999, + population: "142772", + rank: "180", + state: "Georgia", + }, + { + city: "Clarksville", + growth_from_2000_to_2013: "36.9%", + latitude: 36.5297706, + longitude: -87.3594528, + population: "142357", + rank: "181", + state: "Tennessee", + }, + { + city: "Orange", + growth_from_2000_to_2013: "7.7%", + latitude: 33.7877944, + longitude: -117.8531119, + population: "139969", + rank: "182", + state: "California", + }, + { + city: "Pasadena", + growth_from_2000_to_2013: "3.8%", + latitude: 34.1477849, + longitude: -118.1445155, + population: "139731", + rank: "183", + state: "California", + }, + { + city: "Fullerton", + growth_from_2000_to_2013: "9.8%", + latitude: 33.8703596, + longitude: -117.9242966, + population: "138981", + rank: "184", + state: "California", + }, + { + city: "Killeen", + growth_from_2000_to_2013: "52.1%", + latitude: 31.1171194, + longitude: -97.72779589999999, + population: "137147", + rank: "185", + state: "Texas", + }, + { + city: "Frisco", + growth_from_2000_to_2013: "287.7%", + latitude: 33.1506744, + longitude: -96.82361159999999, + population: "136791", + rank: "186", + state: "Texas", + }, + { + city: "Hampton", + growth_from_2000_to_2013: "-6.6%", + latitude: 37.0298687, + longitude: -76.34522179999999, + population: "136699", + rank: "187", + state: "Virginia", + }, + { + city: "McAllen", + growth_from_2000_to_2013: "27.6%", + latitude: 26.2034071, + longitude: -98.23001239999999, + population: "136639", + rank: "188", + state: "Texas", + }, + { + city: "Warren", + growth_from_2000_to_2013: "-2.3%", + latitude: 42.5144566, + longitude: -83.01465259999999, + population: "134873", + rank: "189", + state: "Michigan", + }, + { + city: "Bellevue", + growth_from_2000_to_2013: "19.1%", + latitude: 47.610377, + longitude: -122.2006786, + population: "133992", + rank: "190", + state: "Washington", + }, + { + city: "West Valley City", + growth_from_2000_to_2013: "22.2%", + latitude: 40.6916132, + longitude: -112.0010501, + population: "133579", + rank: "191", + state: "Utah", + }, + { + city: "Columbia", + growth_from_2000_to_2013: "11.7%", + latitude: 34.0007104, + longitude: -81.0348144, + population: "133358", + rank: "192", + state: "South Carolina", + }, + { + city: "Olathe", + growth_from_2000_to_2013: "40.4%", + latitude: 38.8813958, + longitude: -94.81912849999999, + population: "131885", + rank: "193", + state: "Kansas", + }, + { + city: "Sterling Heights", + growth_from_2000_to_2013: "5.2%", + latitude: 42.5803122, + longitude: -83.0302033, + population: "131224", + rank: "194", + state: "Michigan", + }, + { + city: "New Haven", + growth_from_2000_to_2013: "5.5%", + latitude: 41.308274, + longitude: -72.9278835, + population: "130660", + rank: "195", + state: "Connecticut", + }, + { + city: "Miramar", + growth_from_2000_to_2013: "74.7%", + latitude: 25.9860762, + longitude: -80.30356019999999, + population: "130288", + rank: "196", + state: "Florida", + }, + { + city: "Waco", + growth_from_2000_to_2013: "12.5%", + latitude: 31.549333, + longitude: -97.1466695, + population: "129030", + rank: "197", + state: "Texas", + }, + { + city: "Thousand Oaks", + growth_from_2000_to_2013: "9.5%", + latitude: 34.1705609, + longitude: -118.8375937, + population: "128731", + rank: "198", + state: "California", + }, + { + city: "Cedar Rapids", + growth_from_2000_to_2013: "5.4%", + latitude: 41.9778795, + longitude: -91.6656232, + population: "128429", + rank: "199", + state: "Iowa", + }, + { + city: "Charleston", + growth_from_2000_to_2013: "29.2%", + latitude: 32.7764749, + longitude: -79.93105120000001, + population: "127999", + rank: "200", + state: "South Carolina", + }, + { + city: "Visalia", + growth_from_2000_to_2013: "33.6%", + latitude: 36.3302284, + longitude: -119.2920585, + population: "127763", + rank: "201", + state: "California", + }, + { + city: "Topeka", + growth_from_2000_to_2013: "3.4%", + latitude: 39.0558235, + longitude: -95.68901849999999, + population: "127679", + rank: "202", + state: "Kansas", + }, + { + city: "Elizabeth", + growth_from_2000_to_2013: "5.5%", + latitude: 40.6639916, + longitude: -74.2107006, + population: "127558", + rank: "203", + state: "New Jersey", + }, + { + city: "Gainesville", + growth_from_2000_to_2013: "12.8%", + latitude: 29.6516344, + longitude: -82.32482619999999, + population: "127488", + rank: "204", + state: "Florida", + }, + { + city: "Thornton", + growth_from_2000_to_2013: "52.9%", + latitude: 39.8680412, + longitude: -104.9719243, + population: "127359", + rank: "205", + state: "Colorado", + }, + { + city: "Roseville", + growth_from_2000_to_2013: "56.2%", + latitude: 38.7521235, + longitude: -121.2880059, + population: "127035", + rank: "206", + state: "California", + }, + { + city: "Carrollton", + growth_from_2000_to_2013: "14.9%", + latitude: 32.9756415, + longitude: -96.8899636, + population: "126700", + rank: "207", + state: "Texas", + }, + { + city: "Coral Springs", + growth_from_2000_to_2013: "5.7%", + latitude: 26.271192, + longitude: -80.2706044, + population: "126604", + rank: "208", + state: "Florida", + }, + { + city: "Stamford", + growth_from_2000_to_2013: "7.6%", + latitude: 41.0534302, + longitude: -73.5387341, + population: "126456", + rank: "209", + state: "Connecticut", + }, + { + city: "Simi Valley", + growth_from_2000_to_2013: "12.6%", + latitude: 34.2694474, + longitude: -118.781482, + population: "126181", + rank: "210", + state: "California", + }, + { + city: "Concord", + growth_from_2000_to_2013: "2.9%", + latitude: 37.9779776, + longitude: -122.0310733, + population: "125880", + rank: "211", + state: "California", + }, + { + city: "Hartford", + growth_from_2000_to_2013: "0.6%", + latitude: 41.76371109999999, + longitude: -72.6850932, + population: "125017", + rank: "212", + state: "Connecticut", + }, + { + city: "Kent", + growth_from_2000_to_2013: "54.3%", + latitude: 47.3809335, + longitude: -122.2348431, + population: "124435", + rank: "213", + state: "Washington", + }, + { + city: "Lafayette", + growth_from_2000_to_2013: "11.0%", + latitude: 30.2240897, + longitude: -92.0198427, + population: "124276", + rank: "214", + state: "Louisiana", + }, + { + city: "Midland", + growth_from_2000_to_2013: "30.4%", + latitude: 31.9973456, + longitude: -102.0779146, + population: "123933", + rank: "215", + state: "Texas", + }, + { + city: "Surprise", + growth_from_2000_to_2013: "281.9%", + latitude: 33.6292337, + longitude: -112.3679279, + population: "123546", + rank: "216", + state: "Arizona", + }, + { + city: "Denton", + growth_from_2000_to_2013: "47.1%", + latitude: 33.2148412, + longitude: -97.13306829999999, + population: "123099", + rank: "217", + state: "Texas", + }, + { + city: "Victorville", + growth_from_2000_to_2013: "87.6%", + latitude: 34.5362184, + longitude: -117.2927641, + population: "121096", + rank: "218", + state: "California", + }, + { + city: "Evansville", + growth_from_2000_to_2013: "-0.8%", + latitude: 37.9715592, + longitude: -87.5710898, + population: "120310", + rank: "219", + state: "Indiana", + }, + { + city: "Santa Clara", + growth_from_2000_to_2013: "17.4%", + latitude: 37.3541079, + longitude: -121.9552356, + population: "120245", + rank: "220", + state: "California", + }, + { + city: "Abilene", + growth_from_2000_to_2013: "3.6%", + latitude: 32.4487364, + longitude: -99.73314390000002, + population: "120099", + rank: "221", + state: "Texas", + }, + { + city: "Athens-Clarke County", + growth_from_2000_to_2013: "19.0%", + latitude: 33.9519347, + longitude: -83.357567, + population: "119980", + rank: "222", + state: "Georgia", + }, + { + city: "Vallejo", + growth_from_2000_to_2013: "1.2%", + latitude: 38.1040864, + longitude: -122.2566367, + population: "118837", + rank: "223", + state: "California", + }, + { + city: "Allentown", + growth_from_2000_to_2013: "11.2%", + latitude: 40.6084305, + longitude: -75.4901833, + population: "118577", + rank: "224", + state: "Pennsylvania", + }, + { + city: "Norman", + growth_from_2000_to_2013: "22.0%", + latitude: 35.2225668, + longitude: -97.4394777, + population: "118197", + rank: "225", + state: "Oklahoma", + }, + { + city: "Beaumont", + growth_from_2000_to_2013: "3.7%", + latitude: 30.080174, + longitude: -94.1265562, + population: "117796", + rank: "226", + state: "Texas", + }, + { + city: "Independence", + growth_from_2000_to_2013: "3.2%", + latitude: 39.0911161, + longitude: -94.41550679999999, + population: "117240", + rank: "227", + state: "Missouri", + }, + { + city: "Murfreesboro", + growth_from_2000_to_2013: "65.1%", + latitude: 35.8456213, + longitude: -86.39027, + population: "117044", + rank: "228", + state: "Tennessee", + }, + { + city: "Ann Arbor", + growth_from_2000_to_2013: "2.0%", + latitude: 42.2808256, + longitude: -83.7430378, + population: "117025", + rank: "229", + state: "Michigan", + }, + { + city: "Springfield", + growth_from_2000_to_2013: "4.2%", + latitude: 39.78172130000001, + longitude: -89.6501481, + population: "117006", + rank: "230", + state: "Illinois", + }, + { + city: "Berkeley", + growth_from_2000_to_2013: "13.3%", + latitude: 37.8715926, + longitude: -122.272747, + population: "116768", + rank: "231", + state: "California", + }, + { + city: "Peoria", + growth_from_2000_to_2013: "3.0%", + latitude: 40.6936488, + longitude: -89.5889864, + population: "116513", + rank: "232", + state: "Illinois", + }, + { + city: "Provo", + growth_from_2000_to_2013: "10.0%", + latitude: 40.2338438, + longitude: -111.6585337, + population: "116288", + rank: "233", + state: "Utah", + }, + { + city: "El Monte", + growth_from_2000_to_2013: "-0.4%", + latitude: 34.0686206, + longitude: -118.0275667, + population: "115708", + rank: "234", + state: "California", + }, + { + city: "Columbia", + growth_from_2000_to_2013: "34.0%", + latitude: 38.9517053, + longitude: -92.3340724, + population: "115276", + rank: "235", + state: "Missouri", + }, + { + city: "Lansing", + growth_from_2000_to_2013: "-4.4%", + latitude: 42.732535, + longitude: -84.5555347, + population: "113972", + rank: "236", + state: "Michigan", + }, + { + city: "Fargo", + growth_from_2000_to_2013: "24.9%", + latitude: 46.8771863, + longitude: -96.7898034, + population: "113658", + rank: "237", + state: "North Dakota", + }, + { + city: "Downey", + growth_from_2000_to_2013: "5.3%", + latitude: 33.9401088, + longitude: -118.1331593, + population: "113242", + rank: "238", + state: "California", + }, + { + city: "Costa Mesa", + growth_from_2000_to_2013: "2.4%", + latitude: 33.6411316, + longitude: -117.9186689, + population: "112174", + rank: "239", + state: "California", + }, + { + city: "Wilmington", + growth_from_2000_to_2013: "24.8%", + latitude: 34.2257255, + longitude: -77.9447102, + population: "112067", + rank: "240", + state: "North Carolina", + }, + { + city: "Arvada", + growth_from_2000_to_2013: "9.2%", + latitude: 39.8027644, + longitude: -105.0874842, + population: "111707", + rank: "241", + state: "Colorado", + }, + { + city: "Inglewood", + growth_from_2000_to_2013: "-1.0%", + latitude: 33.9616801, + longitude: -118.3531311, + population: "111542", + rank: "242", + state: "California", + }, + { + city: "Miami Gardens", + growth_from_2000_to_2013: "10.5%", + latitude: 25.9420377, + longitude: -80.2456045, + population: "111378", + rank: "243", + state: "Florida", + }, + { + city: "Carlsbad", + growth_from_2000_to_2013: "39.7%", + latitude: 33.1580933, + longitude: -117.3505939, + population: "110972", + rank: "244", + state: "California", + }, + { + city: "Westminster", + growth_from_2000_to_2013: "9.4%", + latitude: 39.8366528, + longitude: -105.0372046, + population: "110945", + rank: "245", + state: "Colorado", + }, + { + city: "Rochester", + growth_from_2000_to_2013: "23.9%", + latitude: 44.0121221, + longitude: -92.4801989, + population: "110742", + rank: "246", + state: "Minnesota", + }, + { + city: "Odessa", + growth_from_2000_to_2013: "22.3%", + latitude: 31.8456816, + longitude: -102.3676431, + population: "110720", + rank: "247", + state: "Texas", + }, + { + city: "Manchester", + growth_from_2000_to_2013: "2.9%", + latitude: 42.9956397, + longitude: -71.4547891, + population: "110378", + rank: "248", + state: "New Hampshire", + }, + { + city: "Elgin", + growth_from_2000_to_2013: "16.0%", + latitude: 42.0354084, + longitude: -88.2825668, + population: "110145", + rank: "249", + state: "Illinois", + }, + { + city: "West Jordan", + growth_from_2000_to_2013: "38.4%", + latitude: 40.6096698, + longitude: -111.9391031, + population: "110077", + rank: "250", + state: "Utah", + }, + { + city: "Round Rock", + growth_from_2000_to_2013: "81.0%", + latitude: 30.5082551, + longitude: -97.678896, + population: "109821", + rank: "251", + state: "Texas", + }, + { + city: "Clearwater", + growth_from_2000_to_2013: "0.1%", + latitude: 27.9658533, + longitude: -82.8001026, + population: "109703", + rank: "252", + state: "Florida", + }, + { + city: "Waterbury", + growth_from_2000_to_2013: "2.2%", + latitude: 41.5581525, + longitude: -73.0514965, + population: "109676", + rank: "253", + state: "Connecticut", + }, + { + city: "Gresham", + growth_from_2000_to_2013: "20.7%", + latitude: 45.5001357, + longitude: -122.4302013, + population: "109397", + rank: "254", + state: "Oregon", + }, + { + city: "Fairfield", + growth_from_2000_to_2013: "12.8%", + latitude: 38.24935809999999, + longitude: -122.0399663, + population: "109320", + rank: "255", + state: "California", + }, + { + city: "Billings", + growth_from_2000_to_2013: "18.6%", + latitude: 45.7832856, + longitude: -108.5006904, + population: "109059", + rank: "256", + state: "Montana", + }, + { + city: "Lowell", + growth_from_2000_to_2013: "3.4%", + latitude: 42.6334247, + longitude: -71.31617179999999, + population: "108861", + rank: "257", + state: "Massachusetts", + }, + { + city: "San Buenaventura (Ventura)", + growth_from_2000_to_2013: "7.4%", + latitude: 34.274646, + longitude: -119.2290316, + population: "108817", + rank: "258", + state: "California", + }, + { + city: "Pueblo", + growth_from_2000_to_2013: "5.9%", + latitude: 38.2544472, + longitude: -104.6091409, + population: "108249", + rank: "259", + state: "Colorado", + }, + { + city: "High Point", + growth_from_2000_to_2013: "24.3%", + latitude: 35.9556923, + longitude: -80.0053176, + population: "107741", + rank: "260", + state: "North Carolina", + }, + { + city: "West Covina", + growth_from_2000_to_2013: "2.3%", + latitude: 34.0686208, + longitude: -117.9389526, + population: "107740", + rank: "261", + state: "California", + }, + { + city: "Richmond", + growth_from_2000_to_2013: "7.9%", + latitude: 37.9357576, + longitude: -122.3477486, + population: "107571", + rank: "262", + state: "California", + }, + { + city: "Murrieta", + growth_from_2000_to_2013: "107.4%", + latitude: 33.5539143, + longitude: -117.2139232, + population: "107479", + rank: "263", + state: "California", + }, + { + city: "Cambridge", + growth_from_2000_to_2013: "5.5%", + latitude: 42.3736158, + longitude: -71.10973349999999, + population: "107289", + rank: "264", + state: "Massachusetts", + }, + { + city: "Antioch", + growth_from_2000_to_2013: "16.9%", + latitude: 38.0049214, + longitude: -121.805789, + population: "107100", + rank: "265", + state: "California", + }, + { + city: "Temecula", + growth_from_2000_to_2013: "55.4%", + latitude: 33.4936391, + longitude: -117.1483648, + population: "106780", + rank: "266", + state: "California", + }, + { + city: "Norwalk", + growth_from_2000_to_2013: "1.9%", + latitude: 33.9022367, + longitude: -118.081733, + population: "106589", + rank: "267", + state: "California", + }, + { + city: "Centennial", + growth_from_2000_to_2013: "3.5%", + latitude: 39.5807452, + longitude: -104.8771726, + population: "106114", + rank: "268", + state: "Colorado", + }, + { + city: "Everett", + growth_from_2000_to_2013: "9.4%", + latitude: 47.9789848, + longitude: -122.2020794, + population: "105370", + rank: "269", + state: "Washington", + }, + { + city: "Palm Bay", + growth_from_2000_to_2013: "31.7%", + latitude: 28.0344621, + longitude: -80.5886646, + population: "104898", + rank: "270", + state: "Florida", + }, + { + city: "Wichita Falls", + growth_from_2000_to_2013: "0.7%", + latitude: 33.9137085, + longitude: -98.4933873, + population: "104898", + rank: "271", + state: "Texas", + }, + { + city: "Green Bay", + growth_from_2000_to_2013: "1.9%", + latitude: 44.51915899999999, + longitude: -88.019826, + population: "104779", + rank: "272", + state: "Wisconsin", + }, + { + city: "Daly City", + growth_from_2000_to_2013: "1.0%", + latitude: 37.6879241, + longitude: -122.4702079, + population: "104739", + rank: "273", + state: "California", + }, + { + city: "Burbank", + growth_from_2000_to_2013: "4.2%", + latitude: 34.1808392, + longitude: -118.3089661, + population: "104709", + rank: "274", + state: "California", + }, + { + city: "Richardson", + growth_from_2000_to_2013: "13.2%", + latitude: 32.9483335, + longitude: -96.7298519, + population: "104475", + rank: "275", + state: "Texas", + }, + { + city: "Pompano Beach", + growth_from_2000_to_2013: "4.0%", + latitude: 26.2378597, + longitude: -80.1247667, + population: "104410", + rank: "276", + state: "Florida", + }, + { + city: "North Charleston", + growth_from_2000_to_2013: "27.4%", + latitude: 32.8546197, + longitude: -79.9748103, + population: "104054", + rank: "277", + state: "South Carolina", + }, + { + city: "Broken Arrow", + growth_from_2000_to_2013: "28.2%", + latitude: 36.060949, + longitude: -95.7974526, + population: "103500", + rank: "278", + state: "Oklahoma", + }, + { + city: "Boulder", + growth_from_2000_to_2013: "9.0%", + latitude: 40.0149856, + longitude: -105.2705456, + population: "103166", + rank: "279", + state: "Colorado", + }, + { + city: "West Palm Beach", + growth_from_2000_to_2013: "23.5%", + latitude: 26.7153424, + longitude: -80.0533746, + population: "102436", + rank: "280", + state: "Florida", + }, + { + city: "Santa Maria", + growth_from_2000_to_2013: "30.9%", + latitude: 34.9530337, + longitude: -120.4357191, + population: "102216", + rank: "281", + state: "California", + }, + { + city: "El Cajon", + growth_from_2000_to_2013: "7.4%", + latitude: 32.7947731, + longitude: -116.9625269, + population: "102211", + rank: "282", + state: "California", + }, + { + city: "Davenport", + growth_from_2000_to_2013: "3.9%", + latitude: 41.5236437, + longitude: -90.5776367, + population: "102157", + rank: "283", + state: "Iowa", + }, + { + city: "Rialto", + growth_from_2000_to_2013: "9.8%", + latitude: 34.1064001, + longitude: -117.3703235, + population: "101910", + rank: "284", + state: "California", + }, + { + city: "Las Cruces", + growth_from_2000_to_2013: "37.6%", + latitude: 32.3199396, + longitude: -106.7636538, + population: "101324", + rank: "285", + state: "New Mexico", + }, + { + city: "San Mateo", + growth_from_2000_to_2013: "9.0%", + latitude: 37.5629917, + longitude: -122.3255254, + population: "101128", + rank: "286", + state: "California", + }, + { + city: "Lewisville", + growth_from_2000_to_2013: "28.9%", + latitude: 33.046233, + longitude: -96.994174, + population: "101074", + rank: "287", + state: "Texas", + }, + { + city: "South Bend", + growth_from_2000_to_2013: "-6.8%", + latitude: 41.6763545, + longitude: -86.25198979999999, + population: "100886", + rank: "288", + state: "Indiana", + }, + { + city: "Lakeland", + growth_from_2000_to_2013: "18.3%", + latitude: 28.0394654, + longitude: -81.9498042, + population: "100710", + rank: "289", + state: "Florida", + }, + { + city: "Erie", + growth_from_2000_to_2013: "-2.8%", + latitude: 42.12922409999999, + longitude: -80.085059, + population: "100671", + rank: "290", + state: "Pennsylvania", + }, + { + city: "Tyler", + growth_from_2000_to_2013: "18.6%", + latitude: 32.3512601, + longitude: -95.30106239999999, + population: "100223", + rank: "291", + state: "Texas", + }, + { + city: "Pearland", + growth_from_2000_to_2013: "117.2%", + latitude: 29.5635666, + longitude: -95.2860474, + population: "100065", + rank: "292", + state: "Texas", + }, + { + city: "College Station", + growth_from_2000_to_2013: "45.2%", + latitude: 30.627977, + longitude: -96.3344068, + population: "100050", + rank: "293", + state: "Texas", + }, + { + city: "Kenosha", + growth_from_2000_to_2013: "9.5%", + latitude: 42.5847425, + longitude: -87.82118539999999, + population: "99889", + rank: "294", + state: "Wisconsin", + }, + { + city: "Sandy Springs", + growth_from_2000_to_2013: "17.4%", + latitude: 33.9304352, + longitude: -84.3733147, + population: "99770", + rank: "295", + state: "Georgia", + }, + { + city: "Clovis", + growth_from_2000_to_2013: "42.6%", + latitude: 36.8252277, + longitude: -119.7029194, + population: "99769", + rank: "296", + state: "California", + }, + { + city: "Flint", + growth_from_2000_to_2013: "-20.0%", + latitude: 43.0125274, + longitude: -83.6874562, + population: "99763", + rank: "297", + state: "Michigan", + }, + { + city: "Roanoke", + growth_from_2000_to_2013: "3.8%", + latitude: 37.2709704, + longitude: -79.9414266, + population: "98465", + rank: "298", + state: "Virginia", + }, + { + city: "Albany", + growth_from_2000_to_2013: "4.1%", + latitude: 42.6525793, + longitude: -73.7562317, + population: "98424", + rank: "299", + state: "New York", + }, + { + city: "Jurupa Valley", + growth_from_2000_to_2013: "", + latitude: 33.9971974, + longitude: -117.4854802, + population: "98030", + rank: "300", + state: "California", + }, + { + city: "Compton", + growth_from_2000_to_2013: "4.5%", + latitude: 33.8958492, + longitude: -118.2200712, + population: "97877", + rank: "301", + state: "California", + }, + { + city: "San Angelo", + growth_from_2000_to_2013: "10.2%", + latitude: 31.4637723, + longitude: -100.4370375, + population: "97492", + rank: "302", + state: "Texas", + }, + { + city: "Hillsboro", + growth_from_2000_to_2013: "36.4%", + latitude: 45.5228939, + longitude: -122.989827, + population: "97368", + rank: "303", + state: "Oregon", + }, + { + city: "Lawton", + growth_from_2000_to_2013: "4.9%", + latitude: 34.6035669, + longitude: -98.39592909999999, + population: "97151", + rank: "304", + state: "Oklahoma", + }, + { + city: "Renton", + growth_from_2000_to_2013: "88.4%", + latitude: 47.48287759999999, + longitude: -122.2170661, + population: "97003", + rank: "305", + state: "Washington", + }, + { + city: "Vista", + growth_from_2000_to_2013: "7.7%", + latitude: 33.2000368, + longitude: -117.2425355, + population: "96929", + rank: "306", + state: "California", + }, + { + city: "Davie", + growth_from_2000_to_2013: "17.7%", + latitude: 26.0764783, + longitude: -80.25211569999999, + population: "96830", + rank: "307", + state: "Florida", + }, + { + city: "Greeley", + growth_from_2000_to_2013: "23.1%", + latitude: 40.4233142, + longitude: -104.7091322, + population: "96539", + rank: "308", + state: "Colorado", + }, + { + city: "Mission Viejo", + growth_from_2000_to_2013: "2.9%", + latitude: 33.6000232, + longitude: -117.6719953, + population: "96346", + rank: "309", + state: "California", + }, + { + city: "Portsmouth", + growth_from_2000_to_2013: "-4.2%", + latitude: 36.8354258, + longitude: -76.2982742, + population: "96205", + rank: "310", + state: "Virginia", + }, + { + city: "Dearborn", + growth_from_2000_to_2013: "-2.0%", + latitude: 42.3222599, + longitude: -83.17631449999999, + population: "95884", + rank: "311", + state: "Michigan", + }, + { + city: "South Gate", + growth_from_2000_to_2013: "-0.8%", + latitude: 33.954737, + longitude: -118.2120161, + population: "95677", + rank: "312", + state: "California", + }, + { + city: "Tuscaloosa", + growth_from_2000_to_2013: "21.1%", + latitude: 33.2098407, + longitude: -87.56917349999999, + population: "95334", + rank: "313", + state: "Alabama", + }, + { + city: "Livonia", + growth_from_2000_to_2013: "-5.4%", + latitude: 42.36837, + longitude: -83.35270969999999, + population: "95208", + rank: "314", + state: "Michigan", + }, + { + city: "New Bedford", + growth_from_2000_to_2013: "1.2%", + latitude: 41.6362152, + longitude: -70.93420499999999, + population: "95078", + rank: "315", + state: "Massachusetts", + }, + { + city: "Vacaville", + growth_from_2000_to_2013: "5.4%", + latitude: 38.3565773, + longitude: -121.9877444, + population: "94275", + rank: "316", + state: "California", + }, + { + city: "Brockton", + growth_from_2000_to_2013: "-0.3%", + latitude: 42.0834335, + longitude: -71.0183787, + population: "94089", + rank: "317", + state: "Massachusetts", + }, + { + city: "Roswell", + growth_from_2000_to_2013: "15.2%", + latitude: 34.0232431, + longitude: -84.3615555, + population: "94034", + rank: "318", + state: "Georgia", + }, + { + city: "Beaverton", + growth_from_2000_to_2013: "17.0%", + latitude: 45.48706199999999, + longitude: -122.8037102, + population: "93542", + rank: "319", + state: "Oregon", + }, + { + city: "Quincy", + growth_from_2000_to_2013: "5.8%", + latitude: 42.2528772, + longitude: -71.0022705, + population: "93494", + rank: "320", + state: "Massachusetts", + }, + { + city: "Sparks", + growth_from_2000_to_2013: "39.4%", + latitude: 39.5349112, + longitude: -119.7526886, + population: "93282", + rank: "321", + state: "Nevada", + }, + { + city: "Yakima", + growth_from_2000_to_2013: "11.7%", + latitude: 46.6020711, + longitude: -120.5058987, + population: "93257", + rank: "322", + state: "Washington", + }, + { + city: "Lee's Summit", + growth_from_2000_to_2013: "31.2%", + latitude: 38.9108408, + longitude: -94.3821724, + population: "93184", + rank: "323", + state: "Missouri", + }, + { + city: "Federal Way", + growth_from_2000_to_2013: "8.8%", + latitude: 47.3223221, + longitude: -122.3126222, + population: "92734", + rank: "324", + state: "Washington", + }, + { + city: "Carson", + growth_from_2000_to_2013: "2.9%", + latitude: 33.8316745, + longitude: -118.281693, + population: "92599", + rank: "325", + state: "California", + }, + { + city: "Santa Monica", + growth_from_2000_to_2013: "9.6%", + latitude: 34.0194543, + longitude: -118.4911912, + population: "92472", + rank: "326", + state: "California", + }, + { + city: "Hesperia", + growth_from_2000_to_2013: "46.1%", + latitude: 34.4263886, + longitude: -117.3008784, + population: "92147", + rank: "327", + state: "California", + }, + { + city: "Allen", + growth_from_2000_to_2013: "104.0%", + latitude: 33.1031744, + longitude: -96.67055030000002, + population: "92020", + rank: "328", + state: "Texas", + }, + { + city: "Rio Rancho", + growth_from_2000_to_2013: "74.4%", + latitude: 35.2327544, + longitude: -106.6630437, + population: "91956", + rank: "329", + state: "New Mexico", + }, + { + city: "Yuma", + growth_from_2000_to_2013: "16.2%", + latitude: 32.6926512, + longitude: -114.6276916, + population: "91923", + rank: "330", + state: "Arizona", + }, + { + city: "Westminster", + growth_from_2000_to_2013: "3.9%", + latitude: 33.7513419, + longitude: -117.9939921, + population: "91739", + rank: "331", + state: "California", + }, + { + city: "Orem", + growth_from_2000_to_2013: "8.5%", + latitude: 40.2968979, + longitude: -111.6946475, + population: "91648", + rank: "332", + state: "Utah", + }, + { + city: "Lynn", + growth_from_2000_to_2013: "2.6%", + latitude: 42.46676300000001, + longitude: -70.9494938, + population: "91589", + rank: "333", + state: "Massachusetts", + }, + { + city: "Redding", + growth_from_2000_to_2013: "11.9%", + latitude: 40.5865396, + longitude: -122.3916754, + population: "91119", + rank: "334", + state: "California", + }, + { + city: "Spokane Valley", + growth_from_2000_to_2013: "12.6%", + latitude: 47.6732281, + longitude: -117.2393748, + population: "91113", + rank: "335", + state: "Washington", + }, + { + city: "Miami Beach", + growth_from_2000_to_2013: "3.3%", + latitude: 25.790654, + longitude: -80.1300455, + population: "91026", + rank: "336", + state: "Florida", + }, + { + city: "League City", + growth_from_2000_to_2013: "98.3%", + latitude: 29.5074538, + longitude: -95.0949303, + population: "90983", + rank: "337", + state: "Texas", + }, + { + city: "Lawrence", + growth_from_2000_to_2013: "12.7%", + latitude: 38.9716689, + longitude: -95.2352501, + population: "90811", + rank: "338", + state: "Kansas", + }, + { + city: "Santa Barbara", + growth_from_2000_to_2013: "0.9%", + latitude: 34.4208305, + longitude: -119.6981901, + population: "90412", + rank: "339", + state: "California", + }, + { + city: "Plantation", + growth_from_2000_to_2013: "8.6%", + latitude: 26.1275862, + longitude: -80.23310359999999, + population: "90268", + rank: "340", + state: "Florida", + }, + { + city: "Sandy", + growth_from_2000_to_2013: "1.3%", + latitude: 40.5649781, + longitude: -111.8389726, + population: "90231", + rank: "341", + state: "Utah", + }, + { + city: "Sunrise", + growth_from_2000_to_2013: "4.6%", + latitude: 26.1669711, + longitude: -80.25659499999999, + population: "90116", + rank: "342", + state: "Florida", + }, + { + city: "Macon", + growth_from_2000_to_2013: "-7.3%", + latitude: 32.8406946, + longitude: -83.6324022, + population: "89981", + rank: "343", + state: "Georgia", + }, + { + city: "Longmont", + growth_from_2000_to_2013: "24.4%", + latitude: 40.1672068, + longitude: -105.1019275, + population: "89919", + rank: "344", + state: "Colorado", + }, + { + city: "Boca Raton", + growth_from_2000_to_2013: "7.5%", + latitude: 26.3683064, + longitude: -80.1289321, + population: "89407", + rank: "345", + state: "Florida", + }, + { + city: "San Marcos", + growth_from_2000_to_2013: "60.0%", + latitude: 33.1433723, + longitude: -117.1661449, + population: "89387", + rank: "346", + state: "California", + }, + { + city: "Greenville", + growth_from_2000_to_2013: "41.9%", + latitude: 35.612661, + longitude: -77.3663538, + population: "89130", + rank: "347", + state: "North Carolina", + }, + { + city: "Waukegan", + growth_from_2000_to_2013: "0.5%", + latitude: 42.3636331, + longitude: -87.84479379999999, + population: "88826", + rank: "348", + state: "Illinois", + }, + { + city: "Fall River", + growth_from_2000_to_2013: "-3.7%", + latitude: 41.7014912, + longitude: -71.1550451, + population: "88697", + rank: "349", + state: "Massachusetts", + }, + { + city: "Chico", + growth_from_2000_to_2013: "14.2%", + latitude: 39.7284944, + longitude: -121.8374777, + population: "88077", + rank: "350", + state: "California", + }, + { + city: "Newton", + growth_from_2000_to_2013: "4.9%", + latitude: 42.3370413, + longitude: -71.20922139999999, + population: "87971", + rank: "351", + state: "Massachusetts", + }, + { + city: "San Leandro", + growth_from_2000_to_2013: "10.3%", + latitude: 37.7249296, + longitude: -122.1560768, + population: "87965", + rank: "352", + state: "California", + }, + { + city: "Reading", + growth_from_2000_to_2013: "8.0%", + latitude: 40.3356483, + longitude: -75.9268747, + population: "87893", + rank: "353", + state: "Pennsylvania", + }, + { + city: "Norwalk", + growth_from_2000_to_2013: "5.6%", + latitude: 41.11774399999999, + longitude: -73.4081575, + population: "87776", + rank: "354", + state: "Connecticut", + }, + { + city: "Fort Smith", + growth_from_2000_to_2013: "8.6%", + latitude: 35.3859242, + longitude: -94.39854749999999, + population: "87650", + rank: "355", + state: "Arkansas", + }, + { + city: "Newport Beach", + growth_from_2000_to_2013: "10.4%", + latitude: 33.6189101, + longitude: -117.9289469, + population: "87273", + rank: "356", + state: "California", + }, + { + city: "Asheville", + growth_from_2000_to_2013: "19.6%", + latitude: 35.5950581, + longitude: -82.5514869, + population: "87236", + rank: "357", + state: "North Carolina", + }, + { + city: "Nashua", + growth_from_2000_to_2013: "0.4%", + latitude: 42.7653662, + longitude: -71.46756599999999, + population: "87137", + rank: "358", + state: "New Hampshire", + }, + { + city: "Edmond", + growth_from_2000_to_2013: "26.9%", + latitude: 35.6528323, + longitude: -97.47809540000002, + population: "87004", + rank: "359", + state: "Oklahoma", + }, + { + city: "Whittier", + growth_from_2000_to_2013: "3.3%", + latitude: 33.9791793, + longitude: -118.032844, + population: "86635", + rank: "360", + state: "California", + }, + { + city: "Nampa", + growth_from_2000_to_2013: "57.9%", + latitude: 43.5407172, + longitude: -116.5634624, + population: "86518", + rank: "361", + state: "Idaho", + }, + { + city: "Bloomington", + growth_from_2000_to_2013: "1.3%", + latitude: 44.840798, + longitude: -93.2982799, + population: "86319", + rank: "362", + state: "Minnesota", + }, + { + city: "Deltona", + growth_from_2000_to_2013: "23.1%", + latitude: 28.9005446, + longitude: -81.26367379999999, + population: "86290", + rank: "363", + state: "Florida", + }, + { + city: "Hawthorne", + growth_from_2000_to_2013: "2.3%", + latitude: 33.9164032, + longitude: -118.3525748, + population: "86199", + rank: "364", + state: "California", + }, + { + city: "Duluth", + growth_from_2000_to_2013: "-0.1%", + latitude: 46.78667189999999, + longitude: -92.1004852, + population: "86128", + rank: "365", + state: "Minnesota", + }, + { + city: "Carmel", + growth_from_2000_to_2013: "60.4%", + latitude: 39.978371, + longitude: -86.1180435, + population: "85927", + rank: "366", + state: "Indiana", + }, + { + city: "Suffolk", + growth_from_2000_to_2013: "33.5%", + latitude: 36.7282054, + longitude: -76.5835621, + population: "85728", + rank: "367", + state: "Virginia", + }, + { + city: "Clifton", + growth_from_2000_to_2013: "7.9%", + latitude: 40.8584328, + longitude: -74.16375529999999, + population: "85390", + rank: "368", + state: "New Jersey", + }, + { + city: "Citrus Heights", + growth_from_2000_to_2013: "-0.1%", + latitude: 38.7071247, + longitude: -121.2810611, + population: "85285", + rank: "369", + state: "California", + }, + { + city: "Livermore", + growth_from_2000_to_2013: "15.1%", + latitude: 37.6818745, + longitude: -121.7680088, + population: "85156", + rank: "370", + state: "California", + }, + { + city: "Tracy", + growth_from_2000_to_2013: "45.9%", + latitude: 37.7396513, + longitude: -121.4252227, + population: "84691", + rank: "371", + state: "California", + }, + { + city: "Alhambra", + growth_from_2000_to_2013: "-0.7%", + latitude: 34.095287, + longitude: -118.1270146, + population: "84577", + rank: "372", + state: "California", + }, + { + city: "Kirkland", + growth_from_2000_to_2013: "87.5%", + latitude: 47.6814875, + longitude: -122.2087353, + population: "84430", + rank: "373", + state: "Washington", + }, + { + city: "Trenton", + growth_from_2000_to_2013: "-1.2%", + latitude: 40.2170534, + longitude: -74.7429384, + population: "84349", + rank: "374", + state: "New Jersey", + }, + { + city: "Ogden", + growth_from_2000_to_2013: "8.6%", + latitude: 41.223, + longitude: -111.9738304, + population: "84249", + rank: "375", + state: "Utah", + }, + { + city: "Hoover", + growth_from_2000_to_2013: "32.7%", + latitude: 33.4053867, + longitude: -86.8113781, + population: "84126", + rank: "376", + state: "Alabama", + }, + { + city: "Cicero", + growth_from_2000_to_2013: "-1.6%", + latitude: 41.8455877, + longitude: -87.7539448, + population: "84103", + rank: "377", + state: "Illinois", + }, + { + city: "Fishers", + growth_from_2000_to_2013: "114.8%", + latitude: 39.9567548, + longitude: -86.01335, + population: "83891", + rank: "378", + state: "Indiana", + }, + { + city: "Sugar Land", + growth_from_2000_to_2013: "29.1%", + latitude: 29.6196787, + longitude: -95.6349463, + population: "83860", + rank: "379", + state: "Texas", + }, + { + city: "Danbury", + growth_from_2000_to_2013: "11.4%", + latitude: 41.394817, + longitude: -73.4540111, + population: "83684", + rank: "380", + state: "Connecticut", + }, + { + city: "Meridian", + growth_from_2000_to_2013: "127.6%", + latitude: 43.6121087, + longitude: -116.3915131, + population: "83596", + rank: "381", + state: "Idaho", + }, + { + city: "Indio", + growth_from_2000_to_2013: "66.0%", + latitude: 33.7205771, + longitude: -116.2155619, + population: "83539", + rank: "382", + state: "California", + }, + { + city: "Concord", + growth_from_2000_to_2013: "47.4%", + latitude: 35.4087517, + longitude: -80.579511, + population: "83506", + rank: "383", + state: "North Carolina", + }, + { + city: "Menifee", + growth_from_2000_to_2013: "95.0%", + latitude: 33.6971468, + longitude: -117.185294, + population: "83447", + rank: "384", + state: "California", + }, + { + city: "Champaign", + growth_from_2000_to_2013: "18.3%", + latitude: 40.1164204, + longitude: -88.2433829, + population: "83424", + rank: "385", + state: "Illinois", + }, + { + city: "Buena Park", + growth_from_2000_to_2013: "6.1%", + latitude: 33.8675143, + longitude: -117.9981181, + population: "82882", + rank: "386", + state: "California", + }, + { + city: "Troy", + growth_from_2000_to_2013: "2.2%", + latitude: 42.6064095, + longitude: -83.1497751, + population: "82821", + rank: "387", + state: "Michigan", + }, + { + city: "O'Fallon", + growth_from_2000_to_2013: "62.6%", + latitude: 38.8106075, + longitude: -90.69984769999999, + population: "82809", + rank: "388", + state: "Missouri", + }, + { + city: "Johns Creek", + growth_from_2000_to_2013: "36.5%", + latitude: 34.0289259, + longitude: -84.198579, + population: "82788", + rank: "389", + state: "Georgia", + }, + { + city: "Bellingham", + growth_from_2000_to_2013: "21.8%", + latitude: 48.74908, + longitude: -122.4781473, + population: "82631", + rank: "390", + state: "Washington", + }, + { + city: "Westland", + growth_from_2000_to_2013: "-4.7%", + latitude: 42.32420399999999, + longitude: -83.400211, + population: "82578", + rank: "391", + state: "Michigan", + }, + { + city: "Bloomington", + growth_from_2000_to_2013: "16.1%", + latitude: 39.165325, + longitude: -86.52638569999999, + population: "82575", + rank: "392", + state: "Indiana", + }, + { + city: "Sioux City", + growth_from_2000_to_2013: "-2.9%", + latitude: 42.4999942, + longitude: -96.40030689999999, + population: "82459", + rank: "393", + state: "Iowa", + }, + { + city: "Warwick", + growth_from_2000_to_2013: "-4.6%", + latitude: 41.7001009, + longitude: -71.4161671, + population: "81971", + rank: "394", + state: "Rhode Island", + }, + { + city: "Hemet", + growth_from_2000_to_2013: "37.6%", + latitude: 33.7475203, + longitude: -116.9719684, + population: "81750", + rank: "395", + state: "California", + }, + { + city: "Longview", + growth_from_2000_to_2013: "11.6%", + latitude: 32.5007037, + longitude: -94.74048909999999, + population: "81443", + rank: "396", + state: "Texas", + }, + { + city: "Farmington Hills", + growth_from_2000_to_2013: "-0.9%", + latitude: 42.4989936, + longitude: -83.3677168, + population: "81295", + rank: "397", + state: "Michigan", + }, + { + city: "Bend", + growth_from_2000_to_2013: "54.3%", + latitude: 44.0581728, + longitude: -121.3153096, + population: "81236", + rank: "398", + state: "Oregon", + }, + { + city: "Lakewood", + growth_from_2000_to_2013: "2.1%", + latitude: 33.8536269, + longitude: -118.1339563, + population: "81121", + rank: "399", + state: "California", + }, + { + city: "Merced", + growth_from_2000_to_2013: "25.4%", + latitude: 37.3021632, + longitude: -120.4829677, + population: "81102", + rank: "400", + state: "California", + }, + { + city: "Mission", + growth_from_2000_to_2013: "74.5%", + latitude: 26.2159066, + longitude: -98.32529319999999, + population: "81050", + rank: "401", + state: "Texas", + }, + { + city: "Chino", + growth_from_2000_to_2013: "15.6%", + latitude: 34.0122346, + longitude: -117.688944, + population: "80988", + rank: "402", + state: "California", + }, + { + city: "Redwood City", + growth_from_2000_to_2013: "7.1%", + latitude: 37.48521520000001, + longitude: -122.2363548, + population: "80872", + rank: "403", + state: "California", + }, + { + city: "Edinburg", + growth_from_2000_to_2013: "65.1%", + latitude: 26.3017374, + longitude: -98.1633432, + population: "80836", + rank: "404", + state: "Texas", + }, + { + city: "Cranston", + growth_from_2000_to_2013: "1.4%", + latitude: 41.7798226, + longitude: -71.4372796, + population: "80566", + rank: "405", + state: "Rhode Island", + }, + { + city: "Parma", + growth_from_2000_to_2013: "-5.9%", + latitude: 41.4047742, + longitude: -81.7229086, + population: "80429", + rank: "406", + state: "Ohio", + }, + { + city: "New Rochelle", + growth_from_2000_to_2013: "9.9%", + latitude: 40.9114882, + longitude: -73.7823549, + population: "79446", + rank: "407", + state: "New York", + }, + { + city: "Lake Forest", + growth_from_2000_to_2013: "4.2%", + latitude: 33.6469661, + longitude: -117.689218, + population: "79312", + rank: "408", + state: "California", + }, + { + city: "Napa", + growth_from_2000_to_2013: "8.4%", + latitude: 38.2975381, + longitude: -122.286865, + population: "79068", + rank: "409", + state: "California", + }, + { + city: "Hammond", + growth_from_2000_to_2013: "-4.6%", + latitude: 41.5833688, + longitude: -87.5000412, + population: "78967", + rank: "410", + state: "Indiana", + }, + { + city: "Fayetteville", + growth_from_2000_to_2013: "32.9%", + latitude: 36.0625795, + longitude: -94.1574263, + population: "78960", + rank: "411", + state: "Arkansas", + }, + { + city: "Bloomington", + growth_from_2000_to_2013: "20.1%", + latitude: 40.4842027, + longitude: -88.99368729999999, + population: "78902", + rank: "412", + state: "Illinois", + }, + { + city: "Avondale", + growth_from_2000_to_2013: "111.5%", + latitude: 33.4355977, + longitude: -112.3496021, + population: "78822", + rank: "413", + state: "Arizona", + }, + { + city: "Somerville", + growth_from_2000_to_2013: "1.6%", + latitude: 42.3875968, + longitude: -71.0994968, + population: "78804", + rank: "414", + state: "Massachusetts", + }, + { + city: "Palm Coast", + growth_from_2000_to_2013: "137.2%", + latitude: 29.5844524, + longitude: -81.20786989999999, + population: "78740", + rank: "415", + state: "Florida", + }, + { + city: "Bryan", + growth_from_2000_to_2013: "19.3%", + latitude: 30.6743643, + longitude: -96.3699632, + population: "78709", + rank: "416", + state: "Texas", + }, + { + city: "Gary", + growth_from_2000_to_2013: "-23.4%", + latitude: 41.5933696, + longitude: -87.3464271, + population: "78450", + rank: "417", + state: "Indiana", + }, + { + city: "Largo", + growth_from_2000_to_2013: "5.1%", + latitude: 27.9094665, + longitude: -82.7873244, + population: "78409", + rank: "418", + state: "Florida", + }, + { + city: "Brooklyn Park", + growth_from_2000_to_2013: "16.0%", + latitude: 45.0941315, + longitude: -93.3563405, + population: "78373", + rank: "419", + state: "Minnesota", + }, + { + city: "Tustin", + growth_from_2000_to_2013: "15.6%", + latitude: 33.7458511, + longitude: -117.826166, + population: "78327", + rank: "420", + state: "California", + }, + { + city: "Racine", + growth_from_2000_to_2013: "-4.4%", + latitude: 42.7261309, + longitude: -87.78285230000002, + population: "78199", + rank: "421", + state: "Wisconsin", + }, + { + city: "Deerfield Beach", + growth_from_2000_to_2013: "4.8%", + latitude: 26.3184123, + longitude: -80.09976569999999, + population: "78041", + rank: "422", + state: "Florida", + }, + { + city: "Lynchburg", + growth_from_2000_to_2013: "19.5%", + latitude: 37.4137536, + longitude: -79.14224639999999, + population: "78014", + rank: "423", + state: "Virginia", + }, + { + city: "Mountain View", + growth_from_2000_to_2013: "10.1%", + latitude: 37.3860517, + longitude: -122.0838511, + population: "77846", + rank: "424", + state: "California", + }, + { + city: "Medford", + growth_from_2000_to_2013: "17.1%", + latitude: 42.3265152, + longitude: -122.8755949, + population: "77677", + rank: "425", + state: "Oregon", + }, + { + city: "Lawrence", + growth_from_2000_to_2013: "7.5%", + latitude: 42.7070354, + longitude: -71.1631137, + population: "77657", + rank: "426", + state: "Massachusetts", + }, + { + city: "Bellflower", + growth_from_2000_to_2013: "6.3%", + latitude: 33.8816818, + longitude: -118.1170117, + population: "77593", + rank: "427", + state: "California", + }, + { + city: "Melbourne", + growth_from_2000_to_2013: "5.9%", + latitude: 28.0836269, + longitude: -80.60810889999999, + population: "77508", + rank: "428", + state: "Florida", + }, + { + city: "St. Joseph", + growth_from_2000_to_2013: "4.1%", + latitude: 39.7674578, + longitude: -94.84668099999999, + population: "77147", + rank: "429", + state: "Missouri", + }, + { + city: "Camden", + growth_from_2000_to_2013: "-3.6%", + latitude: 39.9259463, + longitude: -75.1196199, + population: "76903", + rank: "430", + state: "New Jersey", + }, + { + city: "St. George", + growth_from_2000_to_2013: "53.1%", + latitude: 37.0965278, + longitude: -113.5684164, + population: "76817", + rank: "431", + state: "Utah", + }, + { + city: "Kennewick", + growth_from_2000_to_2013: "29.1%", + latitude: 46.2112458, + longitude: -119.1372338, + population: "76762", + rank: "432", + state: "Washington", + }, + { + city: "Baldwin Park", + growth_from_2000_to_2013: "0.8%", + latitude: 34.0852868, + longitude: -117.9608978, + population: "76635", + rank: "433", + state: "California", + }, + { + city: "Chino Hills", + growth_from_2000_to_2013: "13.6%", + latitude: 33.9898188, + longitude: -117.7325848, + population: "76572", + rank: "434", + state: "California", + }, + { + city: "Alameda", + growth_from_2000_to_2013: "5.4%", + latitude: 37.7652065, + longitude: -122.2416355, + population: "76419", + rank: "435", + state: "California", + }, + { + city: "Albany", + growth_from_2000_to_2013: "-0.6%", + latitude: 31.5785074, + longitude: -84.15574099999999, + population: "76185", + rank: "436", + state: "Georgia", + }, + { + city: "Arlington Heights", + growth_from_2000_to_2013: "-0.6%", + latitude: 42.0883603, + longitude: -87.98062650000001, + population: "75994", + rank: "437", + state: "Illinois", + }, + { + city: "Scranton", + growth_from_2000_to_2013: "0.0%", + latitude: 41.408969, + longitude: -75.66241219999999, + population: "75806", + rank: "438", + state: "Pennsylvania", + }, + { + city: "Evanston", + growth_from_2000_to_2013: "1.9%", + latitude: 42.0450722, + longitude: -87.68769689999999, + population: "75570", + rank: "439", + state: "Illinois", + }, + { + city: "Kalamazoo", + growth_from_2000_to_2013: "-1.9%", + latitude: 42.2917069, + longitude: -85.5872286, + population: "75548", + rank: "440", + state: "Michigan", + }, + { + city: "Baytown", + growth_from_2000_to_2013: "13.1%", + latitude: 29.7355047, + longitude: -94.97742740000001, + population: "75418", + rank: "441", + state: "Texas", + }, + { + city: "Upland", + growth_from_2000_to_2013: "9.5%", + latitude: 34.09751, + longitude: -117.6483876, + population: "75413", + rank: "442", + state: "California", + }, + { + city: "Springdale", + growth_from_2000_to_2013: "57.1%", + latitude: 36.18674420000001, + longitude: -94.1288141, + population: "75229", + rank: "443", + state: "Arkansas", + }, + { + city: "Bethlehem", + growth_from_2000_to_2013: "5.2%", + latitude: 40.6259316, + longitude: -75.37045789999999, + population: "75018", + rank: "444", + state: "Pennsylvania", + }, + { + city: "Schaumburg", + growth_from_2000_to_2013: "-0.5%", + latitude: 42.0333607, + longitude: -88.0834059, + population: "74907", + rank: "445", + state: "Illinois", + }, + { + city: "Mount Pleasant", + growth_from_2000_to_2013: "53.2%", + latitude: 32.8323225, + longitude: -79.82842579999999, + population: "74885", + rank: "446", + state: "South Carolina", + }, + { + city: "Auburn", + growth_from_2000_to_2013: "34.9%", + latitude: 47.30732279999999, + longitude: -122.2284532, + population: "74860", + rank: "447", + state: "Washington", + }, + { + city: "Decatur", + growth_from_2000_to_2013: "-8.7%", + latitude: 39.8403147, + longitude: -88.9548001, + population: "74710", + rank: "448", + state: "Illinois", + }, + { + city: "San Ramon", + growth_from_2000_to_2013: "65.8%", + latitude: 37.7799273, + longitude: -121.9780153, + population: "74513", + rank: "449", + state: "California", + }, + { + city: "Pleasanton", + growth_from_2000_to_2013: "15.2%", + latitude: 37.6624312, + longitude: -121.8746789, + population: "74110", + rank: "450", + state: "California", + }, + { + city: "Wyoming", + growth_from_2000_to_2013: "6.5%", + latitude: 42.9133602, + longitude: -85.7053085, + population: "74100", + rank: "451", + state: "Michigan", + }, + { + city: "Lake Charles", + growth_from_2000_to_2013: "3.0%", + latitude: 30.2265949, + longitude: -93.2173758, + population: "74024", + rank: "452", + state: "Louisiana", + }, + { + city: "Plymouth", + growth_from_2000_to_2013: "12.0%", + latitude: 45.0105194, + longitude: -93.4555093, + population: "73987", + rank: "453", + state: "Minnesota", + }, + { + city: "Bolingbrook", + growth_from_2000_to_2013: "29.7%", + latitude: 41.69864159999999, + longitude: -88.0683955, + population: "73936", + rank: "454", + state: "Illinois", + }, + { + city: "Pharr", + growth_from_2000_to_2013: "55.7%", + latitude: 26.1947962, + longitude: -98.1836216, + population: "73790", + rank: "455", + state: "Texas", + }, + { + city: "Appleton", + growth_from_2000_to_2013: "4.5%", + latitude: 44.2619309, + longitude: -88.41538469999999, + population: "73596", + rank: "456", + state: "Wisconsin", + }, + { + city: "Gastonia", + growth_from_2000_to_2013: "8.2%", + latitude: 35.262082, + longitude: -81.18730049999999, + population: "73209", + rank: "457", + state: "North Carolina", + }, + { + city: "Folsom", + growth_from_2000_to_2013: "38.6%", + latitude: 38.6779591, + longitude: -121.1760583, + population: "73098", + rank: "458", + state: "California", + }, + { + city: "Southfield", + growth_from_2000_to_2013: "-6.7%", + latitude: 42.4733688, + longitude: -83.2218731, + population: "73006", + rank: "459", + state: "Michigan", + }, + { + city: "Rochester Hills", + growth_from_2000_to_2013: "5.7%", + latitude: 42.65836609999999, + longitude: -83.1499322, + population: "72952", + rank: "460", + state: "Michigan", + }, + { + city: "New Britain", + growth_from_2000_to_2013: "1.9%", + latitude: 41.6612104, + longitude: -72.7795419, + population: "72939", + rank: "461", + state: "Connecticut", + }, + { + city: "Goodyear", + growth_from_2000_to_2013: "271.0%", + latitude: 33.4353394, + longitude: -112.3576567, + population: "72864", + rank: "462", + state: "Arizona", + }, + { + city: "Canton", + growth_from_2000_to_2013: "-10.3%", + latitude: 40.79894729999999, + longitude: -81.378447, + population: "72535", + rank: "463", + state: "Ohio", + }, + { + city: "Warner Robins", + growth_from_2000_to_2013: "45.7%", + latitude: 32.6130007, + longitude: -83.624201, + population: "72531", + rank: "464", + state: "Georgia", + }, + { + city: "Union City", + growth_from_2000_to_2013: "7.4%", + latitude: 37.5933918, + longitude: -122.0438298, + population: "72528", + rank: "465", + state: "California", + }, + { + city: "Perris", + growth_from_2000_to_2013: "98.7%", + latitude: 33.7825194, + longitude: -117.2286478, + population: "72326", + rank: "466", + state: "California", + }, + { + city: "Manteca", + growth_from_2000_to_2013: "42.7%", + latitude: 37.7974273, + longitude: -121.2160526, + population: "71948", + rank: "467", + state: "California", + }, + { + city: "Iowa City", + growth_from_2000_to_2013: "13.8%", + latitude: 41.6611277, + longitude: -91.5301683, + population: "71591", + rank: "468", + state: "Iowa", + }, + { + city: "Jonesboro", + growth_from_2000_to_2013: "28.3%", + latitude: 35.84229670000001, + longitude: -90.704279, + population: "71551", + rank: "469", + state: "Arkansas", + }, + { + city: "Wilmington", + growth_from_2000_to_2013: "-1.6%", + latitude: 39.7390721, + longitude: -75.5397878, + population: "71525", + rank: "470", + state: "Delaware", + }, + { + city: "Lynwood", + growth_from_2000_to_2013: "2.0%", + latitude: 33.930293, + longitude: -118.2114603, + population: "71371", + rank: "471", + state: "California", + }, + { + city: "Loveland", + growth_from_2000_to_2013: "37.4%", + latitude: 40.3977612, + longitude: -105.0749801, + population: "71334", + rank: "472", + state: "Colorado", + }, + { + city: "Pawtucket", + growth_from_2000_to_2013: "-2.5%", + latitude: 41.878711, + longitude: -71.38255579999999, + population: "71172", + rank: "473", + state: "Rhode Island", + }, + { + city: "Boynton Beach", + growth_from_2000_to_2013: "17.3%", + latitude: 26.5317866, + longitude: -80.0905465, + population: "71097", + rank: "474", + state: "Florida", + }, + { + city: "Waukesha", + growth_from_2000_to_2013: "8.0%", + latitude: 43.0116784, + longitude: -88.2314813, + population: "71016", + rank: "475", + state: "Wisconsin", + }, + { + city: "Gulfport", + growth_from_2000_to_2013: "-0.6%", + latitude: 30.3674198, + longitude: -89.0928155, + population: "71012", + rank: "476", + state: "Mississippi", + }, + { + city: "Apple Valley", + growth_from_2000_to_2013: "29.9%", + latitude: 34.5008311, + longitude: -117.1858759, + population: "70924", + rank: "477", + state: "California", + }, + { + city: "Passaic", + growth_from_2000_to_2013: "4.3%", + latitude: 40.8567662, + longitude: -74.1284764, + population: "70868", + rank: "478", + state: "New Jersey", + }, + { + city: "Rapid City", + growth_from_2000_to_2013: "17.9%", + latitude: 44.0805434, + longitude: -103.2310149, + population: "70812", + rank: "479", + state: "South Dakota", + }, + { + city: "Layton", + growth_from_2000_to_2013: "20.2%", + latitude: 41.0602216, + longitude: -111.9710529, + population: "70790", + rank: "480", + state: "Utah", + }, + { + city: "Lafayette", + growth_from_2000_to_2013: "14.5%", + latitude: 40.4167022, + longitude: -86.87528689999999, + population: "70373", + rank: "481", + state: "Indiana", + }, + { + city: "Turlock", + growth_from_2000_to_2013: "23.5%", + latitude: 37.4946568, + longitude: -120.8465941, + population: "70365", + rank: "482", + state: "California", + }, + { + city: "Muncie", + growth_from_2000_to_2013: "-0.7%", + latitude: 40.1933767, + longitude: -85.3863599, + population: "70316", + rank: "483", + state: "Indiana", + }, + { + city: "Temple", + growth_from_2000_to_2013: "27.1%", + latitude: 31.0982344, + longitude: -97.342782, + population: "70190", + rank: "484", + state: "Texas", + }, + { + city: "Missouri City", + growth_from_2000_to_2013: "31.1%", + latitude: 29.6185669, + longitude: -95.5377215, + population: "70185", + rank: "485", + state: "Texas", + }, + { + city: "Redlands", + growth_from_2000_to_2013: "9.4%", + latitude: 34.0555693, + longitude: -117.1825381, + population: "69999", + rank: "486", + state: "California", + }, + { + city: "Santa Fe", + growth_from_2000_to_2013: "10.5%", + latitude: 35.6869752, + longitude: -105.937799, + population: "69976", + rank: "487", + state: "New Mexico", + }, + { + city: "Lauderhill", + growth_from_2000_to_2013: "4.2%", + latitude: 26.1403635, + longitude: -80.2133808, + population: "69813", + rank: "488", + state: "Florida", + }, + { + city: "Milpitas", + growth_from_2000_to_2013: "11.0%", + latitude: 37.4323341, + longitude: -121.8995741, + population: "69783", + rank: "489", + state: "California", + }, + { + city: "Palatine", + growth_from_2000_to_2013: "4.5%", + latitude: 42.1103041, + longitude: -88.03424000000001, + population: "69350", + rank: "490", + state: "Illinois", + }, + { + city: "Missoula", + growth_from_2000_to_2013: "19.7%", + latitude: 46.87871759999999, + longitude: -113.996586, + population: "69122", + rank: "491", + state: "Montana", + }, + { + city: "Rock Hill", + growth_from_2000_to_2013: "36.0%", + latitude: 34.9248667, + longitude: -81.02507840000001, + population: "69103", + rank: "492", + state: "South Carolina", + }, + { + city: "Jacksonville", + growth_from_2000_to_2013: "5.0%", + latitude: 34.7540524, + longitude: -77.4302414, + population: "69079", + rank: "493", + state: "North Carolina", + }, + { + city: "Franklin", + growth_from_2000_to_2013: "48.5%", + latitude: 35.9250637, + longitude: -86.8688899, + population: "68886", + rank: "494", + state: "Tennessee", + }, + { + city: "Flagstaff", + growth_from_2000_to_2013: "29.3%", + latitude: 35.1982836, + longitude: -111.651302, + population: "68667", + rank: "495", + state: "Arizona", + }, + { + city: "Flower Mound", + growth_from_2000_to_2013: "32.5%", + latitude: 33.0145673, + longitude: -97.0969552, + population: "68609", + rank: "496", + state: "Texas", + }, + { + city: "Weston", + growth_from_2000_to_2013: "34.5%", + latitude: 26.1003654, + longitude: -80.3997748, + population: "68388", + rank: "497", + state: "Florida", + }, + { + city: "Waterloo", + growth_from_2000_to_2013: "-0.5%", + latitude: 42.492786, + longitude: -92.34257749999999, + population: "68366", + rank: "498", + state: "Iowa", + }, + { + city: "Union City", + growth_from_2000_to_2013: "1.7%", + latitude: 40.6975898, + longitude: -74.26316349999999, + population: "68247", + rank: "499", + state: "New Jersey", + }, + { + city: "Mount Vernon", + growth_from_2000_to_2013: "-0.2%", + latitude: 40.9125992, + longitude: -73.8370786, + population: "68224", + rank: "500", + state: "New York", + }, + { + city: "Fort Myers", + growth_from_2000_to_2013: "31.2%", + latitude: 26.640628, + longitude: -81.8723084, + population: "68190", + rank: "501", + state: "Florida", + }, + { + city: "Dothan", + growth_from_2000_to_2013: "16.6%", + latitude: 31.2232313, + longitude: -85.3904888, + population: "68001", + rank: "502", + state: "Alabama", + }, + { + city: "Rancho Cordova", + growth_from_2000_to_2013: "26.4%", + latitude: 38.5890723, + longitude: -121.302728, + population: "67911", + rank: "503", + state: "California", + }, + { + city: "Redondo Beach", + growth_from_2000_to_2013: "6.7%", + latitude: 33.8491816, + longitude: -118.3884078, + population: "67815", + rank: "504", + state: "California", + }, + { + city: "Jackson", + growth_from_2000_to_2013: "12.9%", + latitude: 35.6145169, + longitude: -88.81394689999999, + population: "67685", + rank: "505", + state: "Tennessee", + }, + { + city: "Pasco", + growth_from_2000_to_2013: "98.5%", + latitude: 46.2395793, + longitude: -119.1005657, + population: "67599", + rank: "506", + state: "Washington", + }, + { + city: "St. Charles", + growth_from_2000_to_2013: "11.3%", + latitude: 38.7881062, + longitude: -90.4974359, + population: "67569", + rank: "507", + state: "Missouri", + }, + { + city: "Eau Claire", + growth_from_2000_to_2013: "8.7%", + latitude: 44.811349, + longitude: -91.4984941, + population: "67545", + rank: "508", + state: "Wisconsin", + }, + { + city: "North Richland Hills", + growth_from_2000_to_2013: "20.2%", + latitude: 32.8342952, + longitude: -97.2289029, + population: "67317", + rank: "509", + state: "Texas", + }, + { + city: "Bismarck", + growth_from_2000_to_2013: "20.1%", + latitude: 46.8083268, + longitude: -100.7837392, + population: "67034", + rank: "510", + state: "North Dakota", + }, + { + city: "Yorba Linda", + growth_from_2000_to_2013: "13.4%", + latitude: 33.8886259, + longitude: -117.8131125, + population: "67032", + rank: "511", + state: "California", + }, + { + city: "Kenner", + growth_from_2000_to_2013: "-4.8%", + latitude: 29.9940924, + longitude: -90.2417434, + population: "66975", + rank: "512", + state: "Louisiana", + }, + { + city: "Walnut Creek", + growth_from_2000_to_2013: "3.5%", + latitude: 37.9100783, + longitude: -122.0651819, + population: "66900", + rank: "513", + state: "California", + }, + { + city: "Frederick", + growth_from_2000_to_2013: "25.9%", + latitude: 39.41426879999999, + longitude: -77.4105409, + population: "66893", + rank: "514", + state: "Maryland", + }, + { + city: "Oshkosh", + growth_from_2000_to_2013: "5.3%", + latitude: 44.0247062, + longitude: -88.5426136, + population: "66778", + rank: "515", + state: "Wisconsin", + }, + { + city: "Pittsburg", + growth_from_2000_to_2013: "16.6%", + latitude: 38.0279762, + longitude: -121.8846806, + population: "66695", + rank: "516", + state: "California", + }, + { + city: "Palo Alto", + growth_from_2000_to_2013: "13.7%", + latitude: 37.4418834, + longitude: -122.1430195, + population: "66642", + rank: "517", + state: "California", + }, + { + city: "Bossier City", + growth_from_2000_to_2013: "17.4%", + latitude: 32.5159852, + longitude: -93.7321228, + population: "66333", + rank: "518", + state: "Louisiana", + }, + { + city: "Portland", + growth_from_2000_to_2013: "3.2%", + latitude: 43.66147100000001, + longitude: -70.2553259, + population: "66318", + rank: "519", + state: "Maine", + }, + { + city: "St. Cloud", + growth_from_2000_to_2013: "10.9%", + latitude: 45.5579451, + longitude: -94.16324039999999, + population: "66297", + rank: "520", + state: "Minnesota", + }, + { + city: "Davis", + growth_from_2000_to_2013: "11.9%", + latitude: 38.5449065, + longitude: -121.7405167, + population: "66205", + rank: "521", + state: "California", + }, + { + city: "South San Francisco", + growth_from_2000_to_2013: "9.1%", + latitude: 37.654656, + longitude: -122.4077498, + population: "66174", + rank: "522", + state: "California", + }, + { + city: "Camarillo", + growth_from_2000_to_2013: "14.9%", + latitude: 34.2163937, + longitude: -119.0376023, + population: "66086", + rank: "523", + state: "California", + }, + { + city: "North Little Rock", + growth_from_2000_to_2013: "9.0%", + latitude: 34.769536, + longitude: -92.2670941, + population: "66075", + rank: "524", + state: "Arkansas", + }, + { + city: "Schenectady", + growth_from_2000_to_2013: "6.7%", + latitude: 42.8142432, + longitude: -73.9395687, + population: "65902", + rank: "525", + state: "New York", + }, + { + city: "Gaithersburg", + growth_from_2000_to_2013: "24.2%", + latitude: 39.1434406, + longitude: -77.2013705, + population: "65690", + rank: "526", + state: "Maryland", + }, + { + city: "Harlingen", + growth_from_2000_to_2013: "11.6%", + latitude: 26.1906306, + longitude: -97.69610259999999, + population: "65665", + rank: "527", + state: "Texas", + }, + { + city: "Woodbury", + growth_from_2000_to_2013: "39.8%", + latitude: 44.9238552, + longitude: -92.9593797, + population: "65656", + rank: "528", + state: "Minnesota", + }, + { + city: "Eagan", + growth_from_2000_to_2013: "2.6%", + latitude: 44.8041322, + longitude: -93.1668858, + population: "65453", + rank: "529", + state: "Minnesota", + }, + { + city: "Yuba City", + growth_from_2000_to_2013: "27.9%", + latitude: 39.1404477, + longitude: -121.6169108, + population: "65416", + rank: "530", + state: "California", + }, + { + city: "Maple Grove", + growth_from_2000_to_2013: "27.3%", + latitude: 45.0724642, + longitude: -93.4557877, + population: "65415", + rank: "531", + state: "Minnesota", + }, + { + city: "Youngstown", + growth_from_2000_to_2013: "-20.2%", + latitude: 41.0997803, + longitude: -80.6495194, + population: "65184", + rank: "532", + state: "Ohio", + }, + { + city: "Skokie", + growth_from_2000_to_2013: "2.8%", + latitude: 42.0324025, + longitude: -87.7416246, + population: "65176", + rank: "533", + state: "Illinois", + }, + { + city: "Kissimmee", + growth_from_2000_to_2013: "32.6%", + latitude: 28.2919557, + longitude: -81.40757099999999, + population: "65173", + rank: "534", + state: "Florida", + }, + { + city: "Johnson City", + growth_from_2000_to_2013: "16.2%", + latitude: 36.3134397, + longitude: -82.3534727, + population: "65123", + rank: "535", + state: "Tennessee", + }, + { + city: "Victoria", + growth_from_2000_to_2013: "7.5%", + latitude: 28.8052674, + longitude: -97.0035982, + population: "65098", + rank: "536", + state: "Texas", + }, + { + city: "San Clemente", + growth_from_2000_to_2013: "28.6%", + latitude: 33.4269728, + longitude: -117.6119925, + population: "65040", + rank: "537", + state: "California", + }, + { + city: "Bayonne", + growth_from_2000_to_2013: "5.1%", + latitude: 40.6687141, + longitude: -74.1143091, + population: "65028", + rank: "538", + state: "New Jersey", + }, + { + city: "Laguna Niguel", + growth_from_2000_to_2013: "2.8%", + latitude: 33.5225261, + longitude: -117.7075526, + population: "64652", + rank: "539", + state: "California", + }, + { + city: "East Orange", + growth_from_2000_to_2013: "-7.4%", + latitude: 40.767323, + longitude: -74.2048677, + population: "64544", + rank: "540", + state: "New Jersey", + }, + { + city: "Shawnee", + growth_from_2000_to_2013: "32.2%", + latitude: 39.02284849999999, + longitude: -94.7151865, + population: "64323", + rank: "541", + state: "Kansas", + }, + { + city: "Homestead", + growth_from_2000_to_2013: "100.7%", + latitude: 25.4687224, + longitude: -80.4775569, + population: "64079", + rank: "542", + state: "Florida", + }, + { + city: "Rockville", + growth_from_2000_to_2013: "34.0%", + latitude: 39.0839973, + longitude: -77.1527578, + population: "64072", + rank: "544", + state: "Maryland", + }, + { + city: "Delray Beach", + growth_from_2000_to_2013: "6.1%", + latitude: 26.4614625, + longitude: -80.0728201, + population: "64072", + rank: "543", + state: "Florida", + }, + { + city: "Janesville", + growth_from_2000_to_2013: "5.6%", + latitude: 42.6827885, + longitude: -89.0187222, + population: "63820", + rank: "545", + state: "Wisconsin", + }, + { + city: "Conway", + growth_from_2000_to_2013: "46.1%", + latitude: 35.0886963, + longitude: -92.4421011, + population: "63816", + rank: "546", + state: "Arkansas", + }, + { + city: "Pico Rivera", + growth_from_2000_to_2013: "0.4%", + latitude: 33.9830688, + longitude: -118.096735, + population: "63771", + rank: "547", + state: "California", + }, + { + city: "Lorain", + growth_from_2000_to_2013: "-7.2%", + latitude: 41.452819, + longitude: -82.1823746, + population: "63710", + rank: "548", + state: "Ohio", + }, + { + city: "Montebello", + growth_from_2000_to_2013: "2.0%", + latitude: 34.0165053, + longitude: -118.1137535, + population: "63495", + rank: "549", + state: "California", + }, + { + city: "Lodi", + growth_from_2000_to_2013: "10.1%", + latitude: 38.1341477, + longitude: -121.2722194, + population: "63338", + rank: "550", + state: "California", + }, + { + city: "New Braunfels", + growth_from_2000_to_2013: "64.0%", + latitude: 29.7030024, + longitude: -98.1244531, + population: "63279", + rank: "551", + state: "Texas", + }, + { + city: "Marysville", + growth_from_2000_to_2013: "115.7%", + latitude: 48.0517637, + longitude: -122.1770818, + population: "63269", + rank: "552", + state: "Washington", + }, + { + city: "Tamarac", + growth_from_2000_to_2013: "12.9%", + latitude: 26.2128609, + longitude: -80.2497707, + population: "63155", + rank: "553", + state: "Florida", + }, + { + city: "Madera", + growth_from_2000_to_2013: "44.4%", + latitude: 36.9613356, + longitude: -120.0607176, + population: "63105", + rank: "554", + state: "California", + }, + { + city: "Conroe", + growth_from_2000_to_2013: "61.9%", + latitude: 30.3118769, + longitude: -95.45605119999999, + population: "63032", + rank: "555", + state: "Texas", + }, + { + city: "Santa Cruz", + growth_from_2000_to_2013: "12.5%", + latitude: 36.9741171, + longitude: -122.0307963, + population: "62864", + rank: "556", + state: "California", + }, + { + city: "Eden Prairie", + growth_from_2000_to_2013: "13.3%", + latitude: 44.8546856, + longitude: -93.47078599999999, + population: "62603", + rank: "557", + state: "Minnesota", + }, + { + city: "Cheyenne", + growth_from_2000_to_2013: "16.9%", + latitude: 41.1399814, + longitude: -104.8202462, + population: "62448", + rank: "558", + state: "Wyoming", + }, + { + city: "Daytona Beach", + growth_from_2000_to_2013: "-2.3%", + latitude: 29.2108147, + longitude: -81.0228331, + population: "62316", + rank: "559", + state: "Florida", + }, + { + city: "Alpharetta", + growth_from_2000_to_2013: "33.6%", + latitude: 34.0753762, + longitude: -84.2940899, + population: "62298", + rank: "560", + state: "Georgia", + }, + { + city: "Hamilton", + growth_from_2000_to_2013: "2.7%", + latitude: 39.3995008, + longitude: -84.5613355, + population: "62258", + rank: "561", + state: "Ohio", + }, + { + city: "Waltham", + growth_from_2000_to_2013: "5.0%", + latitude: 42.3764852, + longitude: -71.2356113, + population: "62227", + rank: "562", + state: "Massachusetts", + }, + { + city: "Coon Rapids", + growth_from_2000_to_2013: "0.6%", + latitude: 45.1732394, + longitude: -93.30300629999999, + population: "62103", + rank: "563", + state: "Minnesota", + }, + { + city: "Haverhill", + growth_from_2000_to_2013: "5.0%", + latitude: 42.7762015, + longitude: -71.0772796, + population: "62088", + rank: "564", + state: "Massachusetts", + }, + { + city: "Council Bluffs", + growth_from_2000_to_2013: "6.2%", + latitude: 41.2619444, + longitude: -95.8608333, + population: "61969", + rank: "565", + state: "Iowa", + }, + { + city: "Taylor", + growth_from_2000_to_2013: "-6.3%", + latitude: 42.240872, + longitude: -83.2696509, + population: "61817", + rank: "566", + state: "Michigan", + }, + { + city: "Utica", + growth_from_2000_to_2013: "2.2%", + latitude: 43.100903, + longitude: -75.232664, + population: "61808", + rank: "567", + state: "New York", + }, + { + city: "Ames", + growth_from_2000_to_2013: "21.3%", + latitude: 42.034722, + longitude: -93.61999999999999, + population: "61792", + rank: "568", + state: "Iowa", + }, + { + city: "La Habra", + growth_from_2000_to_2013: "3.6%", + latitude: 33.9319578, + longitude: -117.9461734, + population: "61653", + rank: "569", + state: "California", + }, + { + city: "Encinitas", + growth_from_2000_to_2013: "5.8%", + latitude: 33.0369867, + longitude: -117.2919818, + population: "61588", + rank: "570", + state: "California", + }, + { + city: "Bowling Green", + growth_from_2000_to_2013: "24.1%", + latitude: 36.9685219, + longitude: -86.4808043, + population: "61488", + rank: "571", + state: "Kentucky", + }, + { + city: "Burnsville", + growth_from_2000_to_2013: "1.9%", + latitude: 44.7677424, + longitude: -93.27772259999999, + population: "61434", + rank: "572", + state: "Minnesota", + }, + { + city: "Greenville", + growth_from_2000_to_2013: "8.2%", + latitude: 34.85261759999999, + longitude: -82.3940104, + population: "61397", + rank: "573", + state: "South Carolina", + }, + { + city: "West Des Moines", + growth_from_2000_to_2013: "29.8%", + latitude: 41.5772115, + longitude: -93.711332, + population: "61255", + rank: "574", + state: "Iowa", + }, + { + city: "Cedar Park", + growth_from_2000_to_2013: "134.3%", + latitude: 30.505198, + longitude: -97.8202888, + population: "61238", + rank: "575", + state: "Texas", + }, + { + city: "Tulare", + growth_from_2000_to_2013: "33.3%", + latitude: 36.2077288, + longitude: -119.3473379, + population: "61170", + rank: "576", + state: "California", + }, + { + city: "Monterey Park", + growth_from_2000_to_2013: "1.5%", + latitude: 34.0625106, + longitude: -118.1228476, + population: "61085", + rank: "577", + state: "California", + }, + { + city: "Vineland", + growth_from_2000_to_2013: "9.3%", + latitude: 39.4863773, + longitude: -75.02596369999999, + population: "61050", + rank: "578", + state: "New Jersey", + }, + { + city: "Terre Haute", + growth_from_2000_to_2013: "2.5%", + latitude: 39.4667034, + longitude: -87.41390919999999, + population: "61025", + rank: "579", + state: "Indiana", + }, + { + city: "North Miami", + growth_from_2000_to_2013: "2.0%", + latitude: 25.8900949, + longitude: -80.1867138, + population: "61007", + rank: "580", + state: "Florida", + }, + { + city: "Mansfield", + growth_from_2000_to_2013: "114.2%", + latitude: 32.5631924, + longitude: -97.1416768, + population: "60872", + rank: "581", + state: "Texas", + }, + { + city: "West Allis", + growth_from_2000_to_2013: "-0.6%", + latitude: 43.0166806, + longitude: -88.0070315, + population: "60697", + rank: "582", + state: "Wisconsin", + }, + { + city: "Bristol", + growth_from_2000_to_2013: "0.4%", + latitude: 41.67176480000001, + longitude: -72.9492703, + population: "60568", + rank: "583", + state: "Connecticut", + }, + { + city: "Taylorsville", + growth_from_2000_to_2013: "2.9%", + latitude: 40.66772479999999, + longitude: -111.9388258, + population: "60519", + rank: "584", + state: "Utah", + }, + { + city: "Malden", + growth_from_2000_to_2013: "7.4%", + latitude: 42.4250964, + longitude: -71.066163, + population: "60509", + rank: "585", + state: "Massachusetts", + }, + { + city: "Meriden", + growth_from_2000_to_2013: "3.7%", + latitude: 41.5381535, + longitude: -72.80704349999999, + population: "60456", + rank: "586", + state: "Connecticut", + }, + { + city: "Blaine", + growth_from_2000_to_2013: "32.8%", + latitude: 45.1607987, + longitude: -93.23494889999999, + population: "60407", + rank: "587", + state: "Minnesota", + }, + { + city: "Wellington", + growth_from_2000_to_2013: "55.0%", + latitude: 26.6617635, + longitude: -80.2683571, + population: "60202", + rank: "588", + state: "Florida", + }, + { + city: "Cupertino", + growth_from_2000_to_2013: "14.3%", + latitude: 37.3229978, + longitude: -122.0321823, + population: "60189", + rank: "589", + state: "California", + }, + { + city: "Springfield", + growth_from_2000_to_2013: "12.4%", + latitude: 44.0462362, + longitude: -123.0220289, + population: "60177", + rank: "590", + state: "Oregon", + }, + { + city: "Rogers", + growth_from_2000_to_2013: "50.6%", + latitude: 36.3320196, + longitude: -94.1185366, + population: "60112", + rank: "591", + state: "Arkansas", + }, + { + city: "St. Clair Shores", + growth_from_2000_to_2013: "-4.6%", + latitude: 42.4974085, + longitude: -82.89636039999999, + population: "60070", + rank: "592", + state: "Michigan", + }, + { + city: "Gardena", + growth_from_2000_to_2013: "3.4%", + latitude: 33.8883487, + longitude: -118.3089624, + population: "59957", + rank: "593", + state: "California", + }, + { + city: "Pontiac", + growth_from_2000_to_2013: "-11.4%", + latitude: 42.6389216, + longitude: -83.29104679999999, + population: "59887", + rank: "594", + state: "Michigan", + }, + { + city: "National City", + growth_from_2000_to_2013: "10.1%", + latitude: 32.6781085, + longitude: -117.0991967, + population: "59834", + rank: "595", + state: "California", + }, + { + city: "Grand Junction", + growth_from_2000_to_2013: "30.9%", + latitude: 39.0638705, + longitude: -108.5506486, + population: "59778", + rank: "596", + state: "Colorado", + }, + { + city: "Rocklin", + growth_from_2000_to_2013: "60.3%", + latitude: 38.7907339, + longitude: -121.2357828, + population: "59738", + rank: "597", + state: "California", + }, + { + city: "Chapel Hill", + growth_from_2000_to_2013: "24.1%", + latitude: 35.9131996, + longitude: -79.0558445, + population: "59635", + rank: "598", + state: "North Carolina", + }, + { + city: "Casper", + growth_from_2000_to_2013: "19.9%", + latitude: 42.866632, + longitude: -106.313081, + population: "59628", + rank: "599", + state: "Wyoming", + }, + { + city: "Broomfield", + growth_from_2000_to_2013: "50.3%", + latitude: 39.9205411, + longitude: -105.0866504, + population: "59471", + rank: "600", + state: "Colorado", + }, + { + city: "Petaluma", + growth_from_2000_to_2013: "8.4%", + latitude: 38.232417, + longitude: -122.6366524, + population: "59440", + rank: "601", + state: "California", + }, + { + city: "South Jordan", + growth_from_2000_to_2013: "100.1%", + latitude: 40.5621704, + longitude: -111.929658, + population: "59366", + rank: "602", + state: "Utah", + }, + { + city: "Springfield", + growth_from_2000_to_2013: "-9.8%", + latitude: 39.9242266, + longitude: -83.8088171, + population: "59357", + rank: "603", + state: "Ohio", + }, + { + city: "Great Falls", + growth_from_2000_to_2013: "3.9%", + latitude: 47.4941836, + longitude: -111.2833449, + population: "59351", + rank: "604", + state: "Montana", + }, + { + city: "Lancaster", + growth_from_2000_to_2013: "4.5%", + latitude: 40.0378755, + longitude: -76.3055144, + population: "59325", + rank: "605", + state: "Pennsylvania", + }, + { + city: "North Port", + growth_from_2000_to_2013: "154.6%", + latitude: 27.044224, + longitude: -82.2359254, + population: "59212", + rank: "606", + state: "Florida", + }, + { + city: "Lakewood", + growth_from_2000_to_2013: "1.1%", + latitude: 47.1717649, + longitude: -122.518458, + population: "59097", + rank: "607", + state: "Washington", + }, + { + city: "Marietta", + growth_from_2000_to_2013: "-3.8%", + latitude: 33.95260200000001, + longitude: -84.5499327, + population: "59089", + rank: "608", + state: "Georgia", + }, + { + city: "San Rafael", + growth_from_2000_to_2013: "5.0%", + latitude: 37.9735346, + longitude: -122.5310874, + population: "58994", + rank: "609", + state: "California", + }, + { + city: "Royal Oak", + growth_from_2000_to_2013: "-1.7%", + latitude: 42.4894801, + longitude: -83.1446485, + population: "58946", + rank: "610", + state: "Michigan", + }, + { + city: "Des Plaines", + growth_from_2000_to_2013: "3.2%", + latitude: 42.0333623, + longitude: -87.88339909999999, + population: "58918", + rank: "611", + state: "Illinois", + }, + { + city: "Huntington Park", + growth_from_2000_to_2013: "-4.1%", + latitude: 33.9816812, + longitude: -118.2250725, + population: "58879", + rank: "612", + state: "California", + }, + { + city: "La Mesa", + growth_from_2000_to_2013: "6.9%", + latitude: 32.7678287, + longitude: -117.0230839, + population: "58642", + rank: "613", + state: "California", + }, + { + city: "Orland Park", + growth_from_2000_to_2013: "13.9%", + latitude: 41.6303103, + longitude: -87.85394250000002, + population: "58590", + rank: "614", + state: "Illinois", + }, + { + city: "Auburn", + growth_from_2000_to_2013: "26.4%", + latitude: 32.6098566, + longitude: -85.48078249999999, + population: "58582", + rank: "615", + state: "Alabama", + }, + { + city: "Lakeville", + growth_from_2000_to_2013: "34.3%", + latitude: 44.6496868, + longitude: -93.24271999999999, + population: "58562", + rank: "616", + state: "Minnesota", + }, + { + city: "Owensboro", + growth_from_2000_to_2013: "7.7%", + latitude: 37.7719074, + longitude: -87.1111676, + population: "58416", + rank: "617", + state: "Kentucky", + }, + { + city: "Moore", + growth_from_2000_to_2013: "41.5%", + latitude: 35.3395079, + longitude: -97.48670279999999, + population: "58414", + rank: "618", + state: "Oklahoma", + }, + { + city: "Jupiter", + growth_from_2000_to_2013: "46.2%", + latitude: 26.9342246, + longitude: -80.0942087, + population: "58298", + rank: "619", + state: "Florida", + }, + { + city: "Idaho Falls", + growth_from_2000_to_2013: "14.0%", + latitude: 43.49165139999999, + longitude: -112.0339645, + population: "58292", + rank: "620", + state: "Idaho", + }, + { + city: "Dubuque", + growth_from_2000_to_2013: "0.9%", + latitude: 42.5005583, + longitude: -90.66457179999999, + population: "58253", + rank: "621", + state: "Iowa", + }, + { + city: "Bartlett", + growth_from_2000_to_2013: "31.7%", + latitude: 35.2045328, + longitude: -89.8739753, + population: "58226", + rank: "622", + state: "Tennessee", + }, + { + city: "Rowlett", + growth_from_2000_to_2013: "28.6%", + latitude: 32.9029017, + longitude: -96.56388, + population: "58043", + rank: "623", + state: "Texas", + }, + { + city: "Novi", + growth_from_2000_to_2013: "22.0%", + latitude: 42.48059, + longitude: -83.4754913, + population: "57960", + rank: "624", + state: "Michigan", + }, + { + city: "White Plains", + growth_from_2000_to_2013: "8.5%", + latitude: 41.03398620000001, + longitude: -73.7629097, + population: "57866", + rank: "625", + state: "New York", + }, + { + city: "Arcadia", + growth_from_2000_to_2013: "8.3%", + latitude: 34.1397292, + longitude: -118.0353449, + population: "57639", + rank: "626", + state: "California", + }, + { + city: "Redmond", + growth_from_2000_to_2013: "26.0%", + latitude: 47.6739881, + longitude: -122.121512, + population: "57530", + rank: "627", + state: "Washington", + }, + { + city: "Lake Elsinore", + growth_from_2000_to_2013: "96.5%", + latitude: 33.6680772, + longitude: -117.3272615, + population: "57525", + rank: "628", + state: "California", + }, + { + city: "Ocala", + growth_from_2000_to_2013: "20.8%", + latitude: 29.1871986, + longitude: -82.14009229999999, + population: "57468", + rank: "629", + state: "Florida", + }, + { + city: "Tinley Park", + growth_from_2000_to_2013: "16.3%", + latitude: 41.5731442, + longitude: -87.7932939, + population: "57282", + rank: "630", + state: "Illinois", + }, + { + city: "Port Orange", + growth_from_2000_to_2013: "22.8%", + latitude: 29.1383165, + longitude: -80.9956105, + population: "57203", + rank: "631", + state: "Florida", + }, + { + city: "Medford", + growth_from_2000_to_2013: "2.7%", + latitude: 42.4184296, + longitude: -71.1061639, + population: "57170", + rank: "632", + state: "Massachusetts", + }, + { + city: "Oak Lawn", + growth_from_2000_to_2013: "3.3%", + latitude: 41.719978, + longitude: -87.7479528, + population: "57073", + rank: "633", + state: "Illinois", + }, + { + city: "Rocky Mount", + growth_from_2000_to_2013: "-3.1%", + latitude: 35.9382103, + longitude: -77.7905339, + population: "56954", + rank: "634", + state: "North Carolina", + }, + { + city: "Kokomo", + growth_from_2000_to_2013: "21.3%", + latitude: 40.486427, + longitude: -86.13360329999999, + population: "56895", + rank: "635", + state: "Indiana", + }, + { + city: "Coconut Creek", + growth_from_2000_to_2013: "28.4%", + latitude: 26.2517482, + longitude: -80.17893509999999, + population: "56792", + rank: "636", + state: "Florida", + }, + { + city: "Bowie", + growth_from_2000_to_2013: "8.6%", + latitude: 39.0067768, + longitude: -76.77913649999999, + population: "56759", + rank: "637", + state: "Maryland", + }, + { + city: "Berwyn", + growth_from_2000_to_2013: "5.1%", + latitude: 41.85058739999999, + longitude: -87.7936685, + population: "56758", + rank: "638", + state: "Illinois", + }, + { + city: "Midwest City", + growth_from_2000_to_2013: "4.5%", + latitude: 35.4495065, + longitude: -97.3967019, + population: "56756", + rank: "639", + state: "Oklahoma", + }, + { + city: "Fountain Valley", + growth_from_2000_to_2013: "3.0%", + latitude: 33.7091847, + longitude: -117.9536697, + population: "56707", + rank: "640", + state: "California", + }, + { + city: "Buckeye", + growth_from_2000_to_2013: "480.9%", + latitude: 33.3703197, + longitude: -112.5837766, + population: "56683", + rank: "641", + state: "Arizona", + }, + { + city: "Dearborn Heights", + growth_from_2000_to_2013: "-3.0%", + latitude: 42.3369816, + longitude: -83.27326269999999, + population: "56620", + rank: "642", + state: "Michigan", + }, + { + city: "Woodland", + growth_from_2000_to_2013: "13.8%", + latitude: 38.67851570000001, + longitude: -121.7732971, + population: "56590", + rank: "643", + state: "California", + }, + { + city: "Noblesville", + growth_from_2000_to_2013: "88.1%", + latitude: 40.0455917, + longitude: -86.0085955, + population: "56540", + rank: "644", + state: "Indiana", + }, + { + city: "Valdosta", + growth_from_2000_to_2013: "22.3%", + latitude: 30.8327022, + longitude: -83.2784851, + population: "56481", + rank: "645", + state: "Georgia", + }, + { + city: "Diamond Bar", + growth_from_2000_to_2013: "0.1%", + latitude: 34.0286226, + longitude: -117.8103367, + population: "56449", + rank: "646", + state: "California", + }, + { + city: "Manhattan", + growth_from_2000_to_2013: "22.8%", + latitude: 39.18360819999999, + longitude: -96.57166939999999, + population: "56143", + rank: "647", + state: "Kansas", + }, + { + city: "Santee", + growth_from_2000_to_2013: "5.7%", + latitude: 32.8383828, + longitude: -116.9739167, + population: "56105", + rank: "648", + state: "California", + }, + { + city: "Taunton", + growth_from_2000_to_2013: "0.0%", + latitude: 41.900101, + longitude: -71.0897674, + population: "56069", + rank: "649", + state: "Massachusetts", + }, + { + city: "Sanford", + growth_from_2000_to_2013: "42.8%", + latitude: 28.8028612, + longitude: -81.269453, + population: "56002", + rank: "650", + state: "Florida", + }, + { + city: "Kettering", + growth_from_2000_to_2013: "-3.1%", + latitude: 39.68950359999999, + longitude: -84.1688274, + population: "55870", + rank: "651", + state: "Ohio", + }, + { + city: "New Brunswick", + growth_from_2000_to_2013: "15.5%", + latitude: 40.4862157, + longitude: -74.4518188, + population: "55831", + rank: "652", + state: "New Jersey", + }, + { + city: "Decatur", + growth_from_2000_to_2013: "3.1%", + latitude: 34.6059253, + longitude: -86.9833417, + population: "55816", + rank: "653", + state: "Alabama", + }, + { + city: "Chicopee", + growth_from_2000_to_2013: "1.7%", + latitude: 42.1487043, + longitude: -72.6078672, + population: "55717", + rank: "654", + state: "Massachusetts", + }, + { + city: "Anderson", + growth_from_2000_to_2013: "-6.6%", + latitude: 40.1053196, + longitude: -85.6802541, + population: "55670", + rank: "655", + state: "Indiana", + }, + { + city: "Margate", + growth_from_2000_to_2013: "2.7%", + latitude: 26.2445263, + longitude: -80.206436, + population: "55456", + rank: "656", + state: "Florida", + }, + { + city: "Weymouth Town", + growth_from_2000_to_2013: "", + latitude: 42.2180724, + longitude: -70.94103559999999, + population: "55419", + rank: "657", + state: "Massachusetts", + }, + { + city: "Hempstead", + growth_from_2000_to_2013: "4.0%", + latitude: 40.7062128, + longitude: -73.6187397, + population: "55361", + rank: "658", + state: "New York", + }, + { + city: "Corvallis", + growth_from_2000_to_2013: "11.8%", + latitude: 44.5645659, + longitude: -123.2620435, + population: "55298", + rank: "659", + state: "Oregon", + }, + { + city: "Eastvale", + growth_from_2000_to_2013: "", + latitude: 33.952463, + longitude: -117.5848025, + population: "55191", + rank: "660", + state: "California", + }, + { + city: "Porterville", + growth_from_2000_to_2013: "20.1%", + latitude: 36.06523, + longitude: -119.0167679, + population: "55174", + rank: "661", + state: "California", + }, + { + city: "West Haven", + growth_from_2000_to_2013: "5.1%", + latitude: 41.2705484, + longitude: -72.9469711, + population: "55046", + rank: "662", + state: "Connecticut", + }, + { + city: "Brentwood", + growth_from_2000_to_2013: "122.3%", + latitude: 37.931868, + longitude: -121.6957863, + population: "55000", + rank: "663", + state: "California", + }, + { + city: "Paramount", + growth_from_2000_to_2013: "-0.7%", + latitude: 33.8894598, + longitude: -118.1597911, + population: "54980", + rank: "664", + state: "California", + }, + { + city: "Grand Forks", + growth_from_2000_to_2013: "11.5%", + latitude: 47.9252568, + longitude: -97.0328547, + population: "54932", + rank: "665", + state: "North Dakota", + }, + { + city: "Georgetown", + growth_from_2000_to_2013: "91.9%", + latitude: 30.6332618, + longitude: -97.6779842, + population: "54898", + rank: "666", + state: "Texas", + }, + { + city: "St. Peters", + growth_from_2000_to_2013: "6.5%", + latitude: 38.7874699, + longitude: -90.6298922, + population: "54842", + rank: "667", + state: "Missouri", + }, + { + city: "Shoreline", + growth_from_2000_to_2013: "2.9%", + latitude: 47.7556531, + longitude: -122.3415178, + population: "54790", + rank: "668", + state: "Washington", + }, + { + city: "Mount Prospect", + growth_from_2000_to_2013: "-2.5%", + latitude: 42.0664167, + longitude: -87.9372908, + population: "54771", + rank: "669", + state: "Illinois", + }, + { + city: "Hanford", + growth_from_2000_to_2013: "30.3%", + latitude: 36.3274502, + longitude: -119.6456844, + population: "54686", + rank: "670", + state: "California", + }, + { + city: "Normal", + growth_from_2000_to_2013: "19.7%", + latitude: 40.5142026, + longitude: -88.9906312, + population: "54664", + rank: "671", + state: "Illinois", + }, + { + city: "Rosemead", + growth_from_2000_to_2013: "1.7%", + latitude: 34.0805651, + longitude: -118.072846, + population: "54561", + rank: "672", + state: "California", + }, + { + city: "Lehi", + growth_from_2000_to_2013: "176.3%", + latitude: 40.3916172, + longitude: -111.8507662, + population: "54382", + rank: "673", + state: "Utah", + }, + { + city: "Pocatello", + growth_from_2000_to_2013: "5.4%", + latitude: 42.8713032, + longitude: -112.4455344, + population: "54350", + rank: "674", + state: "Idaho", + }, + { + city: "Highland", + growth_from_2000_to_2013: "21.0%", + latitude: 34.1283442, + longitude: -117.2086513, + population: "54291", + rank: "675", + state: "California", + }, + { + city: "Novato", + growth_from_2000_to_2013: "13.3%", + latitude: 38.1074198, + longitude: -122.5697032, + population: "54194", + rank: "676", + state: "California", + }, + { + city: "Port Arthur", + growth_from_2000_to_2013: "-6.0%", + latitude: 29.8849504, + longitude: -93.93994699999999, + population: "54135", + rank: "677", + state: "Texas", + }, + { + city: "Carson City", + growth_from_2000_to_2013: "2.9%", + latitude: 39.1637984, + longitude: -119.7674034, + population: "54080", + rank: "678", + state: "Nevada", + }, + { + city: "San Marcos", + growth_from_2000_to_2013: "48.5%", + latitude: 29.8832749, + longitude: -97.9413941, + population: "54076", + rank: "679", + state: "Texas", + }, + { + city: "Hendersonville", + growth_from_2000_to_2013: "31.7%", + latitude: 36.3047735, + longitude: -86.6199957, + population: "54068", + rank: "680", + state: "Tennessee", + }, + { + city: "Elyria", + growth_from_2000_to_2013: "-3.7%", + latitude: 41.3683798, + longitude: -82.10764859999999, + population: "53956", + rank: "681", + state: "Ohio", + }, + { + city: "Revere", + growth_from_2000_to_2013: "13.4%", + latitude: 42.4084302, + longitude: -71.0119948, + population: "53756", + rank: "682", + state: "Massachusetts", + }, + { + city: "Pflugerville", + growth_from_2000_to_2013: "123.4%", + latitude: 30.4393696, + longitude: -97.62000429999999, + population: "53752", + rank: "683", + state: "Texas", + }, + { + city: "Greenwood", + growth_from_2000_to_2013: "46.0%", + latitude: 39.6136578, + longitude: -86.10665259999999, + population: "53665", + rank: "684", + state: "Indiana", + }, + { + city: "Bellevue", + growth_from_2000_to_2013: "20.5%", + latitude: 41.1543623, + longitude: -95.9145568, + population: "53663", + rank: "685", + state: "Nebraska", + }, + { + city: "Wheaton", + growth_from_2000_to_2013: "-3.4%", + latitude: 41.8661403, + longitude: -88.1070127, + population: "53648", + rank: "686", + state: "Illinois", + }, + { + city: "Smyrna", + growth_from_2000_to_2013: "20.0%", + latitude: 33.8839926, + longitude: -84.51437609999999, + population: "53438", + rank: "687", + state: "Georgia", + }, + { + city: "Sarasota", + growth_from_2000_to_2013: "1.4%", + latitude: 27.3364347, + longitude: -82.53065269999999, + population: "53326", + rank: "688", + state: "Florida", + }, + { + city: "Blue Springs", + growth_from_2000_to_2013: "9.9%", + latitude: 39.0169509, + longitude: -94.2816148, + population: "53294", + rank: "689", + state: "Missouri", + }, + { + city: "Colton", + growth_from_2000_to_2013: "10.8%", + latitude: 34.0739016, + longitude: -117.3136547, + population: "53243", + rank: "690", + state: "California", + }, + { + city: "Euless", + growth_from_2000_to_2013: "15.1%", + latitude: 32.8370727, + longitude: -97.08195409999999, + population: "53224", + rank: "691", + state: "Texas", + }, + { + city: "Castle Rock", + growth_from_2000_to_2013: "153.5%", + latitude: 39.3722121, + longitude: -104.8560902, + population: "53063", + rank: "692", + state: "Colorado", + }, + { + city: "Cathedral City", + growth_from_2000_to_2013: "23.2%", + latitude: 33.7805388, + longitude: -116.4668036, + population: "52977", + rank: "693", + state: "California", + }, + { + city: "Kingsport", + growth_from_2000_to_2013: "16.7%", + latitude: 36.548434, + longitude: -82.5618186, + population: "52962", + rank: "694", + state: "Tennessee", + }, + { + city: "Lake Havasu City", + growth_from_2000_to_2013: "24.6%", + latitude: 34.483901, + longitude: -114.3224548, + population: "52844", + rank: "695", + state: "Arizona", + }, + { + city: "Pensacola", + growth_from_2000_to_2013: "-6.0%", + latitude: 30.42130899999999, + longitude: -87.2169149, + population: "52703", + rank: "696", + state: "Florida", + }, + { + city: "Hoboken", + growth_from_2000_to_2013: "35.8%", + latitude: 40.7439905, + longitude: -74.0323626, + population: "52575", + rank: "697", + state: "New Jersey", + }, + { + city: "Yucaipa", + growth_from_2000_to_2013: "26.8%", + latitude: 34.033625, + longitude: -117.0430865, + population: "52536", + rank: "698", + state: "California", + }, + { + city: "Watsonville", + growth_from_2000_to_2013: "12.7%", + latitude: 36.910231, + longitude: -121.7568946, + population: "52477", + rank: "699", + state: "California", + }, + { + city: "Richland", + growth_from_2000_to_2013: "34.6%", + latitude: 46.2856907, + longitude: -119.2844621, + population: "52413", + rank: "700", + state: "Washington", + }, + { + city: "Delano", + growth_from_2000_to_2013: "31.8%", + latitude: 35.7688425, + longitude: -119.2470536, + population: "52403", + rank: "701", + state: "California", + }, + { + city: "Hoffman Estates", + growth_from_2000_to_2013: "5.4%", + latitude: 42.0629915, + longitude: -88.12271989999999, + population: "52398", + rank: "702", + state: "Illinois", + }, + { + city: "Florissant", + growth_from_2000_to_2013: "-2.8%", + latitude: 38.789217, + longitude: -90.322614, + population: "52363", + rank: "703", + state: "Missouri", + }, + { + city: "Placentia", + growth_from_2000_to_2013: "11.8%", + latitude: 33.8722371, + longitude: -117.8703363, + population: "52206", + rank: "704", + state: "California", + }, + { + city: "West New York", + growth_from_2000_to_2013: "13.3%", + latitude: 40.7878788, + longitude: -74.0143064, + population: "52122", + rank: "705", + state: "New Jersey", + }, + { + city: "Dublin", + growth_from_2000_to_2013: "70.0%", + latitude: 37.7021521, + longitude: -121.9357918, + population: "52105", + rank: "706", + state: "California", + }, + { + city: "Oak Park", + growth_from_2000_to_2013: "-0.8%", + latitude: 41.8850317, + longitude: -87.7845025, + population: "52066", + rank: "707", + state: "Illinois", + }, + { + city: "Peabody", + growth_from_2000_to_2013: "7.5%", + latitude: 42.5278731, + longitude: -70.9286609, + population: "52044", + rank: "708", + state: "Massachusetts", + }, + { + city: "Perth Amboy", + growth_from_2000_to_2013: "9.7%", + latitude: 40.5067723, + longitude: -74.2654234, + population: "51982", + rank: "709", + state: "New Jersey", + }, + { + city: "Battle Creek", + growth_from_2000_to_2013: "-2.8%", + latitude: 42.3211522, + longitude: -85.17971419999999, + population: "51848", + rank: "710", + state: "Michigan", + }, + { + city: "Bradenton", + growth_from_2000_to_2013: "3.4%", + latitude: 27.4989278, + longitude: -82.5748194, + population: "51763", + rank: "711", + state: "Florida", + }, + { + city: "Gilroy", + growth_from_2000_to_2013: "23.9%", + latitude: 37.0057816, + longitude: -121.5682751, + population: "51701", + rank: "712", + state: "California", + }, + { + city: "Milford", + growth_from_2000_to_2013: "1.8%", + latitude: 41.2306979, + longitude: -73.064036, + population: "51644", + rank: "713", + state: "Connecticut", + }, + { + city: "Albany", + growth_from_2000_to_2013: "25.5%", + latitude: 44.6365107, + longitude: -123.1059282, + population: "51583", + rank: "714", + state: "Oregon", + }, + { + city: "Ankeny", + growth_from_2000_to_2013: "86.9%", + latitude: 41.7317884, + longitude: -93.6001278, + population: "51567", + rank: "715", + state: "Iowa", + }, + { + city: "La Crosse", + growth_from_2000_to_2013: "-0.8%", + latitude: 43.8013556, + longitude: -91.23958069999999, + population: "51522", + rank: "716", + state: "Wisconsin", + }, + { + city: "Burlington", + growth_from_2000_to_2013: "12.1%", + latitude: 36.0956918, + longitude: -79.43779909999999, + population: "51510", + rank: "717", + state: "North Carolina", + }, + { + city: "DeSoto", + growth_from_2000_to_2013: "36.0%", + latitude: 32.5896998, + longitude: -96.8570738, + population: "51483", + rank: "718", + state: "Texas", + }, + { + city: "Harrisonburg", + growth_from_2000_to_2013: "27.1%", + latitude: 38.4495688, + longitude: -78.8689155, + population: "51395", + rank: "719", + state: "Virginia", + }, + { + city: "Minnetonka", + growth_from_2000_to_2013: "0.4%", + latitude: 44.9211836, + longitude: -93.4687489, + population: "51368", + rank: "720", + state: "Minnesota", + }, + { + city: "Elkhart", + growth_from_2000_to_2013: "-2.5%", + latitude: 41.6819935, + longitude: -85.9766671, + population: "51265", + rank: "721", + state: "Indiana", + }, + { + city: "Lakewood", + growth_from_2000_to_2013: "-9.4%", + latitude: 41.4819932, + longitude: -81.7981908, + population: "51143", + rank: "722", + state: "Ohio", + }, + { + city: "Glendora", + growth_from_2000_to_2013: "3.1%", + latitude: 34.1361187, + longitude: -117.865339, + population: "51074", + rank: "723", + state: "California", + }, + { + city: "Southaven", + growth_from_2000_to_2013: "72.8%", + latitude: 34.9889818, + longitude: -90.0125913, + population: "50997", + rank: "724", + state: "Mississippi", + }, + { + city: "Charleston", + growth_from_2000_to_2013: "-4.7%", + latitude: 38.3498195, + longitude: -81.6326234, + population: "50821", + rank: "725", + state: "West Virginia", + }, + { + city: "Joplin", + growth_from_2000_to_2013: "11.2%", + latitude: 37.08422710000001, + longitude: -94.51328099999999, + population: "50789", + rank: "726", + state: "Missouri", + }, + { + city: "Enid", + growth_from_2000_to_2013: "8.1%", + latitude: 36.3955891, + longitude: -97.8783911, + population: "50725", + rank: "727", + state: "Oklahoma", + }, + { + city: "Palm Beach Gardens", + growth_from_2000_to_2013: "39.6%", + latitude: 26.8233946, + longitude: -80.13865469999999, + population: "50699", + rank: "728", + state: "Florida", + }, + { + city: "Brookhaven", + growth_from_2000_to_2013: "", + latitude: 33.8651033, + longitude: -84.3365917, + population: "50603", + rank: "729", + state: "Georgia", + }, + { + city: "Plainfield", + growth_from_2000_to_2013: "5.7%", + latitude: 40.6337136, + longitude: -74.4073736, + population: "50588", + rank: "730", + state: "New Jersey", + }, + { + city: "Grand Island", + growth_from_2000_to_2013: "16.0%", + latitude: 40.9263957, + longitude: -98.3420118, + population: "50550", + rank: "731", + state: "Nebraska", + }, + { + city: "Palm Desert", + growth_from_2000_to_2013: "13.2%", + latitude: 33.7222445, + longitude: -116.3744556, + population: "50508", + rank: "732", + state: "California", + }, + { + city: "Huntersville", + growth_from_2000_to_2013: "92.9%", + latitude: 35.410694, + longitude: -80.84285040000002, + population: "50458", + rank: "733", + state: "North Carolina", + }, + { + city: "Tigard", + growth_from_2000_to_2013: "17.8%", + latitude: 45.4312294, + longitude: -122.7714861, + population: "50444", + rank: "734", + state: "Oregon", + }, + { + city: "Lenexa", + growth_from_2000_to_2013: "24.6%", + latitude: 38.9536174, + longitude: -94.73357089999999, + population: "50344", + rank: "735", + state: "Kansas", + }, + { + city: "Saginaw", + growth_from_2000_to_2013: "-18.2%", + latitude: 43.4194699, + longitude: -83.9508068, + population: "50303", + rank: "736", + state: "Michigan", + }, + { + city: "Kentwood", + growth_from_2000_to_2013: "10.5%", + latitude: 42.8694731, + longitude: -85.64474919999999, + population: "50233", + rank: "737", + state: "Michigan", + }, + { + city: "Doral", + growth_from_2000_to_2013: "137.6%", + latitude: 25.8195424, + longitude: -80.3553302, + population: "50213", + rank: "738", + state: "Florida", + }, + { + city: "Apple Valley", + growth_from_2000_to_2013: "9.2%", + latitude: 44.7319094, + longitude: -93.21772000000001, + population: "50201", + rank: "739", + state: "Minnesota", + }, + { + city: "Grapevine", + growth_from_2000_to_2013: "17.6%", + latitude: 32.9342919, + longitude: -97.0780654, + population: "50195", + rank: "740", + state: "Texas", + }, + { + city: "Aliso Viejo", + growth_from_2000_to_2013: "25.4%", + latitude: 33.5676842, + longitude: -117.7256083, + population: "50175", + rank: "741", + state: "California", + }, + { + city: "Sammamish", + growth_from_2000_to_2013: "44.1%", + latitude: 47.61626829999999, + longitude: -122.0355736, + population: "50169", + rank: "742", + state: "Washington", + }, + { + city: "Casa Grande", + growth_from_2000_to_2013: "86.0%", + latitude: 32.8795022, + longitude: -111.7573521, + population: "50111", + rank: "743", + state: "Arizona", + }, + { + city: "Pinellas Park", + growth_from_2000_to_2013: "5.9%", + latitude: 27.8428025, + longitude: -82.6995443, + population: "49998", + rank: "744", + state: "Florida", + }, + { + city: "Troy", + growth_from_2000_to_2013: "1.5%", + latitude: 42.7284117, + longitude: -73.69178509999999, + population: "49974", + rank: "745", + state: "New York", + }, + { + city: "West Sacramento", + growth_from_2000_to_2013: "55.6%", + latitude: 38.5804609, + longitude: -121.530234, + population: "49891", + rank: "746", + state: "California", + }, + { + city: "Burien", + growth_from_2000_to_2013: "56.7%", + latitude: 47.4703767, + longitude: -122.3467918, + population: "49858", + rank: "747", + state: "Washington", + }, + { + city: "Commerce City", + growth_from_2000_to_2013: "135.4%", + latitude: 39.8083196, + longitude: -104.9338675, + population: "49799", + rank: "748", + state: "Colorado", + }, + { + city: "Monroe", + growth_from_2000_to_2013: "-6.1%", + latitude: 32.5093109, + longitude: -92.1193012, + population: "49761", + rank: "749", + state: "Louisiana", + }, + { + city: "Cerritos", + growth_from_2000_to_2013: "-3.6%", + latitude: 33.8583483, + longitude: -118.0647871, + population: "49707", + rank: "750", + state: "California", + }, + { + city: "Downers Grove", + growth_from_2000_to_2013: "0.0%", + latitude: 41.8089191, + longitude: -88.01117459999999, + population: "49670", + rank: "751", + state: "Illinois", + }, + { + city: "Coral Gables", + growth_from_2000_to_2013: "16.1%", + latitude: 25.72149, + longitude: -80.2683838, + population: "49631", + rank: "752", + state: "Florida", + }, + { + city: "Wilson", + growth_from_2000_to_2013: "10.1%", + latitude: 35.7212689, + longitude: -77.9155395, + population: "49628", + rank: "753", + state: "North Carolina", + }, + { + city: "Niagara Falls", + growth_from_2000_to_2013: "-10.8%", + latitude: 43.0962143, + longitude: -79.0377388, + population: "49468", + rank: "754", + state: "New York", + }, + { + city: "Poway", + growth_from_2000_to_2013: "2.4%", + latitude: 32.9628232, + longitude: -117.0358646, + population: "49417", + rank: "755", + state: "California", + }, + { + city: "Edina", + growth_from_2000_to_2013: "4.1%", + latitude: 44.8896866, + longitude: -93.3499489, + population: "49376", + rank: "756", + state: "Minnesota", + }, + { + city: "Cuyahoga Falls", + growth_from_2000_to_2013: "-0.2%", + latitude: 41.1339449, + longitude: -81.48455849999999, + population: "49267", + rank: "757", + state: "Ohio", + }, + { + city: "Rancho Santa Margarita", + growth_from_2000_to_2013: "4.6%", + latitude: 33.640855, + longitude: -117.603104, + population: "49228", + rank: "758", + state: "California", + }, + { + city: "Harrisburg", + growth_from_2000_to_2013: "0.6%", + latitude: 40.2731911, + longitude: -76.8867008, + population: "49188", + rank: "759", + state: "Pennsylvania", + }, + { + city: "Huntington", + growth_from_2000_to_2013: "-5.0%", + latitude: 38.4192496, + longitude: -82.44515400000002, + population: "49177", + rank: "760", + state: "West Virginia", + }, + { + city: "La Mirada", + growth_from_2000_to_2013: "4.6%", + latitude: 33.9172357, + longitude: -118.0120086, + population: "49133", + rank: "761", + state: "California", + }, + { + city: "Cypress", + growth_from_2000_to_2013: "5.3%", + latitude: 33.8169599, + longitude: -118.0372852, + population: "49087", + rank: "762", + state: "California", + }, + { + city: "Caldwell", + growth_from_2000_to_2013: "77.1%", + latitude: 43.66293839999999, + longitude: -116.6873596, + population: "48957", + rank: "763", + state: "Idaho", + }, + { + city: "Logan", + growth_from_2000_to_2013: "14.5%", + latitude: 41.7369803, + longitude: -111.8338359, + population: "48913", + rank: "764", + state: "Utah", + }, + { + city: "Galveston", + growth_from_2000_to_2013: "-15.2%", + latitude: 29.3013479, + longitude: -94.7976958, + population: "48733", + rank: "765", + state: "Texas", + }, + { + city: "Sheboygan", + growth_from_2000_to_2013: "-3.9%", + latitude: 43.7508284, + longitude: -87.71453, + population: "48725", + rank: "766", + state: "Wisconsin", + }, + { + city: "Middletown", + growth_from_2000_to_2013: "-5.7%", + latitude: 39.5150576, + longitude: -84.39827629999999, + population: "48630", + rank: "767", + state: "Ohio", + }, + { + city: "Murray", + growth_from_2000_to_2013: "6.6%", + latitude: 40.6668916, + longitude: -111.8879909, + population: "48612", + rank: "768", + state: "Utah", + }, + { + city: "Roswell", + growth_from_2000_to_2013: "7.5%", + latitude: 33.3942655, + longitude: -104.5230242, + population: "48611", + rank: "769", + state: "New Mexico", + }, + { + city: "Parker", + growth_from_2000_to_2013: "96.4%", + latitude: 39.5186002, + longitude: -104.7613633, + population: "48608", + rank: "770", + state: "Colorado", + }, + { + city: "Bedford", + growth_from_2000_to_2013: "2.9%", + latitude: 32.844017, + longitude: -97.1430671, + population: "48592", + rank: "771", + state: "Texas", + }, + { + city: "East Lansing", + growth_from_2000_to_2013: "4.2%", + latitude: 42.7369792, + longitude: -84.48386540000001, + population: "48554", + rank: "772", + state: "Michigan", + }, + { + city: "Methuen", + growth_from_2000_to_2013: "10.3%", + latitude: 42.7262016, + longitude: -71.1908924, + population: "48514", + rank: "773", + state: "Massachusetts", + }, + { + city: "Covina", + growth_from_2000_to_2013: "3.3%", + latitude: 34.0900091, + longitude: -117.8903397, + population: "48508", + rank: "774", + state: "California", + }, + { + city: "Alexandria", + growth_from_2000_to_2013: "4.1%", + latitude: 31.3112936, + longitude: -92.4451371, + population: "48426", + rank: "775", + state: "Louisiana", + }, + { + city: "Olympia", + growth_from_2000_to_2013: "12.1%", + latitude: 47.0378741, + longitude: -122.9006951, + population: "48338", + rank: "776", + state: "Washington", + }, + { + city: "Euclid", + growth_from_2000_to_2013: "-8.4%", + latitude: 41.5931049, + longitude: -81.5267873, + population: "48139", + rank: "777", + state: "Ohio", + }, + { + city: "Mishawaka", + growth_from_2000_to_2013: "2.0%", + latitude: 41.6619927, + longitude: -86.15861559999999, + population: "47989", + rank: "778", + state: "Indiana", + }, + { + city: "Salina", + growth_from_2000_to_2013: "4.5%", + latitude: 38.8402805, + longitude: -97.61142369999999, + population: "47846", + rank: "779", + state: "Kansas", + }, + { + city: "Azusa", + growth_from_2000_to_2013: "6.7%", + latitude: 34.1336186, + longitude: -117.9075627, + population: "47842", + rank: "780", + state: "California", + }, + { + city: "Newark", + growth_from_2000_to_2013: "3.1%", + latitude: 40.0581205, + longitude: -82.4012642, + population: "47777", + rank: "781", + state: "Ohio", + }, + { + city: "Chesterfield", + growth_from_2000_to_2013: "1.9%", + latitude: 38.6631083, + longitude: -90.5770675, + population: "47749", + rank: "782", + state: "Missouri", + }, + { + city: "Leesburg", + growth_from_2000_to_2013: "66.0%", + latitude: 39.1156615, + longitude: -77.56360149999999, + population: "47673", + rank: "783", + state: "Virginia", + }, + { + city: "Dunwoody", + growth_from_2000_to_2013: "", + latitude: 33.9462125, + longitude: -84.3346473, + population: "47591", + rank: "784", + state: "Georgia", + }, + { + city: "Hattiesburg", + growth_from_2000_to_2013: "3.1%", + latitude: 31.3271189, + longitude: -89.29033919999999, + population: "47556", + rank: "785", + state: "Mississippi", + }, + { + city: "Roseville", + growth_from_2000_to_2013: "-1.0%", + latitude: 42.4972583, + longitude: -82.9371409, + population: "47555", + rank: "786", + state: "Michigan", + }, + { + city: "Bonita Springs", + growth_from_2000_to_2013: "43.8%", + latitude: 26.339806, + longitude: -81.7786972, + population: "47547", + rank: "787", + state: "Florida", + }, + { + city: "Portage", + growth_from_2000_to_2013: "5.7%", + latitude: 42.2011538, + longitude: -85.5800022, + population: "47523", + rank: "788", + state: "Michigan", + }, + { + city: "St. Louis Park", + growth_from_2000_to_2013: "7.3%", + latitude: 44.9597376, + longitude: -93.3702186, + population: "47411", + rank: "789", + state: "Minnesota", + }, + { + city: "Collierville", + growth_from_2000_to_2013: "43.4%", + latitude: 35.042036, + longitude: -89.6645266, + population: "47333", + rank: "790", + state: "Tennessee", + }, + { + city: "Middletown", + growth_from_2000_to_2013: "3.6%", + latitude: 41.5623209, + longitude: -72.6506488, + population: "47333", + rank: "791", + state: "Connecticut", + }, + { + city: "Stillwater", + growth_from_2000_to_2013: "20.1%", + latitude: 36.1156071, + longitude: -97.0583681, + population: "47186", + rank: "792", + state: "Oklahoma", + }, + { + city: "East Providence", + growth_from_2000_to_2013: "-3.3%", + latitude: 41.8137116, + longitude: -71.3700545, + population: "47149", + rank: "793", + state: "Rhode Island", + }, + { + city: "Lawrence", + growth_from_2000_to_2013: "20.5%", + latitude: 39.8386516, + longitude: -86.0252612, + population: "47135", + rank: "794", + state: "Indiana", + }, + { + city: "Wauwatosa", + growth_from_2000_to_2013: "0.0%", + latitude: 43.0494572, + longitude: -88.0075875, + population: "47134", + rank: "795", + state: "Wisconsin", + }, + { + city: "Mentor", + growth_from_2000_to_2013: "-6.6%", + latitude: 41.6661573, + longitude: -81.339552, + population: "46979", + rank: "796", + state: "Ohio", + }, + { + city: "Ceres", + growth_from_2000_to_2013: "34.0%", + latitude: 37.5949316, + longitude: -120.9577098, + population: "46714", + rank: "797", + state: "California", + }, + { + city: "Cedar Hill", + growth_from_2000_to_2013: "42.4%", + latitude: 32.5884689, + longitude: -96.9561152, + population: "46663", + rank: "798", + state: "Texas", + }, + { + city: "Mansfield", + growth_from_2000_to_2013: "-10.1%", + latitude: 40.75839, + longitude: -82.5154471, + population: "46454", + rank: "799", + state: "Ohio", + }, + { + city: "Binghamton", + growth_from_2000_to_2013: "-1.7%", + latitude: 42.09868669999999, + longitude: -75.91797380000001, + population: "46444", + rank: "800", + state: "New York", + }, + { + city: "Coeur d'Alene", + growth_from_2000_to_2013: "32.8%", + latitude: 47.6776832, + longitude: -116.7804664, + population: "46402", + rank: "801", + state: "Idaho", + }, + { + city: "San Luis Obispo", + growth_from_2000_to_2013: "4.4%", + latitude: 35.2827524, + longitude: -120.6596156, + population: "46377", + rank: "802", + state: "California", + }, + { + city: "Minot", + growth_from_2000_to_2013: "26.6%", + latitude: 48.2329668, + longitude: -101.2922906, + population: "46321", + rank: "803", + state: "North Dakota", + }, + { + city: "Palm Springs", + growth_from_2000_to_2013: "7.7%", + latitude: 33.8302961, + longitude: -116.5452921, + population: "46281", + rank: "804", + state: "California", + }, + { + city: "Pine Bluff", + growth_from_2000_to_2013: "-16.2%", + latitude: 34.2284312, + longitude: -92.00319549999999, + population: "46094", + rank: "805", + state: "Arkansas", + }, + { + city: "Texas City", + growth_from_2000_to_2013: "10.3%", + latitude: 29.383845, + longitude: -94.9027002, + population: "46081", + rank: "806", + state: "Texas", + }, + { + city: "Summerville", + growth_from_2000_to_2013: "62.9%", + latitude: 33.0185039, + longitude: -80.17564809999999, + population: "46074", + rank: "807", + state: "South Carolina", + }, + { + city: "Twin Falls", + growth_from_2000_to_2013: "31.5%", + latitude: 42.5629668, + longitude: -114.4608711, + population: "45981", + rank: "808", + state: "Idaho", + }, + { + city: "Jeffersonville", + growth_from_2000_to_2013: "53.3%", + latitude: 38.2775702, + longitude: -85.7371847, + population: "45929", + rank: "809", + state: "Indiana", + }, + { + city: "San Jacinto", + growth_from_2000_to_2013: "91.8%", + latitude: 33.7839084, + longitude: -116.958635, + population: "45851", + rank: "810", + state: "California", + }, + { + city: "Madison", + growth_from_2000_to_2013: "53.7%", + latitude: 34.6992579, + longitude: -86.74833180000002, + population: "45799", + rank: "811", + state: "Alabama", + }, + { + city: "Altoona", + growth_from_2000_to_2013: "-7.3%", + latitude: 40.5186809, + longitude: -78.3947359, + population: "45796", + rank: "812", + state: "Pennsylvania", + }, + { + city: "Columbus", + growth_from_2000_to_2013: "16.4%", + latitude: 39.2014404, + longitude: -85.9213796, + population: "45775", + rank: "813", + state: "Indiana", + }, + { + city: "Beavercreek", + growth_from_2000_to_2013: "19.0%", + latitude: 39.7092262, + longitude: -84.06326849999999, + population: "45712", + rank: "814", + state: "Ohio", + }, + { + city: "Apopka", + growth_from_2000_to_2013: "63.9%", + latitude: 28.6934076, + longitude: -81.5322149, + population: "45587", + rank: "815", + state: "Florida", + }, + { + city: "Elmhurst", + growth_from_2000_to_2013: "5.7%", + latitude: 41.8994744, + longitude: -87.9403418, + population: "45556", + rank: "816", + state: "Illinois", + }, + { + city: "Maricopa", + growth_from_2000_to_2013: "2503.4%", + latitude: 33.0581063, + longitude: -112.0476423, + population: "45508", + rank: "817", + state: "Arizona", + }, + { + city: "Farmington", + growth_from_2000_to_2013: "18.1%", + latitude: 36.72805830000001, + longitude: -108.2186856, + population: "45426", + rank: "818", + state: "New Mexico", + }, + { + city: "Glenview", + growth_from_2000_to_2013: "5.2%", + latitude: 42.0697509, + longitude: -87.7878408, + population: "45417", + rank: "819", + state: "Illinois", + }, + { + city: "Cleveland Heights", + growth_from_2000_to_2013: "-10.3%", + latitude: 41.5200518, + longitude: -81.556235, + population: "45394", + rank: "820", + state: "Ohio", + }, + { + city: "Draper", + growth_from_2000_to_2013: "77.4%", + latitude: 40.5246711, + longitude: -111.8638226, + population: "45285", + rank: "821", + state: "Utah", + }, + { + city: "Lincoln", + growth_from_2000_to_2013: "285.2%", + latitude: 38.891565, + longitude: -121.2930079, + population: "45237", + rank: "822", + state: "California", + }, + { + city: "Sierra Vista", + growth_from_2000_to_2013: "19.3%", + latitude: 31.5455001, + longitude: -110.2772856, + population: "45129", + rank: "823", + state: "Arizona", + }, + { + city: "Lacey", + growth_from_2000_to_2013: "41.7%", + latitude: 47.03426289999999, + longitude: -122.8231915, + population: "44919", + rank: "824", + state: "Washington", + }, + { + city: "Biloxi", + growth_from_2000_to_2013: "-11.5%", + latitude: 30.3960318, + longitude: -88.88530779999999, + population: "44820", + rank: "825", + state: "Mississippi", + }, + { + city: "Strongsville", + growth_from_2000_to_2013: "1.9%", + latitude: 41.3144966, + longitude: -81.83569, + population: "44730", + rank: "826", + state: "Ohio", + }, + { + city: "Barnstable Town", + growth_from_2000_to_2013: "-7.1%", + latitude: 41.7003208, + longitude: -70.3002024, + population: "44641", + rank: "827", + state: "Massachusetts", + }, + { + city: "Wylie", + growth_from_2000_to_2013: "185.2%", + latitude: 33.0151201, + longitude: -96.5388789, + population: "44575", + rank: "828", + state: "Texas", + }, + { + city: "Sayreville", + growth_from_2000_to_2013: "9.6%", + latitude: 40.45940210000001, + longitude: -74.360846, + population: "44412", + rank: "829", + state: "New Jersey", + }, + { + city: "Kannapolis", + growth_from_2000_to_2013: "18.6%", + latitude: 35.4873613, + longitude: -80.6217341, + population: "44359", + rank: "830", + state: "North Carolina", + }, + { + city: "Charlottesville", + growth_from_2000_to_2013: "10.5%", + latitude: 38.0293059, + longitude: -78.47667810000002, + population: "44349", + rank: "831", + state: "Virginia", + }, + { + city: "Littleton", + growth_from_2000_to_2013: "9.4%", + latitude: 39.613321, + longitude: -105.0166498, + population: "44275", + rank: "832", + state: "Colorado", + }, + { + city: "Titusville", + growth_from_2000_to_2013: "7.8%", + latitude: 28.6122187, + longitude: -80.8075537, + population: "44206", + rank: "833", + state: "Florida", + }, + { + city: "Hackensack", + growth_from_2000_to_2013: "2.9%", + latitude: 40.8859325, + longitude: -74.0434736, + population: "44113", + rank: "834", + state: "New Jersey", + }, + { + city: "Newark", + growth_from_2000_to_2013: "3.3%", + latitude: 37.5296593, + longitude: -122.0402399, + population: "44096", + rank: "835", + state: "California", + }, + { + city: "Pittsfield", + growth_from_2000_to_2013: "-3.6%", + latitude: 42.4500845, + longitude: -73.2453824, + population: "44057", + rank: "836", + state: "Massachusetts", + }, + { + city: "York", + growth_from_2000_to_2013: "6.4%", + latitude: 39.9625984, + longitude: -76.727745, + population: "43935", + rank: "837", + state: "Pennsylvania", + }, + { + city: "Lombard", + growth_from_2000_to_2013: "2.9%", + latitude: 41.8800296, + longitude: -88.00784349999999, + population: "43907", + rank: "838", + state: "Illinois", + }, + { + city: "Attleboro", + growth_from_2000_to_2013: "4.6%", + latitude: 41.94454409999999, + longitude: -71.2856082, + population: "43886", + rank: "839", + state: "Massachusetts", + }, + { + city: "DeKalb", + growth_from_2000_to_2013: "11.8%", + latitude: 41.9294736, + longitude: -88.75036469999999, + population: "43849", + rank: "840", + state: "Illinois", + }, + { + city: "Blacksburg", + growth_from_2000_to_2013: "9.4%", + latitude: 37.2295733, + longitude: -80.4139393, + population: "43609", + rank: "841", + state: "Virginia", + }, + { + city: "Dublin", + growth_from_2000_to_2013: "37.6%", + latitude: 40.0992294, + longitude: -83.1140771, + population: "43607", + rank: "842", + state: "Ohio", + }, + { + city: "Haltom City", + growth_from_2000_to_2013: "11.4%", + latitude: 32.7995738, + longitude: -97.26918169999999, + population: "43580", + rank: "843", + state: "Texas", + }, + { + city: "Lompoc", + growth_from_2000_to_2013: "5.5%", + latitude: 34.6391501, + longitude: -120.4579409, + population: "43509", + rank: "844", + state: "California", + }, + { + city: "El Centro", + growth_from_2000_to_2013: "13.7%", + latitude: 32.792, + longitude: -115.5630514, + population: "43363", + rank: "845", + state: "California", + }, + { + city: "Danville", + growth_from_2000_to_2013: "3.7%", + latitude: 37.8215929, + longitude: -121.9999606, + population: "43341", + rank: "846", + state: "California", + }, + { + city: "Jefferson City", + growth_from_2000_to_2013: "6.7%", + latitude: 38.57670170000001, + longitude: -92.1735164, + population: "43330", + rank: "847", + state: "Missouri", + }, + { + city: "Cutler Bay", + growth_from_2000_to_2013: "42.9%", + latitude: 25.5808323, + longitude: -80.34685929999999, + population: "43328", + rank: "848", + state: "Florida", + }, + { + city: "Oakland Park", + growth_from_2000_to_2013: "2.7%", + latitude: 26.1723065, + longitude: -80.1319893, + population: "43286", + rank: "849", + state: "Florida", + }, + { + city: "North Miami Beach", + growth_from_2000_to_2013: "3.6%", + latitude: 25.9331488, + longitude: -80.1625463, + population: "43250", + rank: "850", + state: "Florida", + }, + { + city: "Freeport", + growth_from_2000_to_2013: "-1.4%", + latitude: 40.6576022, + longitude: -73.58318349999999, + population: "43167", + rank: "851", + state: "New York", + }, + { + city: "Moline", + growth_from_2000_to_2013: "-1.9%", + latitude: 41.5067003, + longitude: -90.51513419999999, + population: "43116", + rank: "852", + state: "Illinois", + }, + { + city: "Coachella", + growth_from_2000_to_2013: "88.4%", + latitude: 33.6803003, + longitude: -116.173894, + population: "43092", + rank: "853", + state: "California", + }, + { + city: "Fort Pierce", + growth_from_2000_to_2013: "6.9%", + latitude: 27.4467056, + longitude: -80.3256056, + population: "43074", + rank: "854", + state: "Florida", + }, + { + city: "Smyrna", + growth_from_2000_to_2013: "54.9%", + latitude: 35.9828412, + longitude: -86.5186045, + population: "43060", + rank: "855", + state: "Tennessee", + }, + { + city: "Bountiful", + growth_from_2000_to_2013: "3.9%", + latitude: 40.8893895, + longitude: -111.880771, + population: "43023", + rank: "856", + state: "Utah", + }, + { + city: "Fond du Lac", + growth_from_2000_to_2013: "1.7%", + latitude: 43.7730448, + longitude: -88.4470508, + population: "42970", + rank: "857", + state: "Wisconsin", + }, + { + city: "Everett", + growth_from_2000_to_2013: "12.1%", + latitude: 42.40843, + longitude: -71.0536625, + population: "42935", + rank: "858", + state: "Massachusetts", + }, + { + city: "Danville", + growth_from_2000_to_2013: "-11.0%", + latitude: 36.5859718, + longitude: -79.39502279999999, + population: "42907", + rank: "859", + state: "Virginia", + }, + { + city: "Keller", + growth_from_2000_to_2013: "53.3%", + latitude: 32.9341893, + longitude: -97.229298, + population: "42907", + rank: "860", + state: "Texas", + }, + { + city: "Belleville", + growth_from_2000_to_2013: "1.2%", + latitude: 38.5200504, + longitude: -89.9839935, + population: "42895", + rank: "861", + state: "Illinois", + }, + { + city: "Bell Gardens", + growth_from_2000_to_2013: "-2.7%", + latitude: 33.9652918, + longitude: -118.1514588, + population: "42889", + rank: "862", + state: "California", + }, + { + city: "Cleveland", + growth_from_2000_to_2013: "14.1%", + latitude: 35.1595182, + longitude: -84.8766115, + population: "42774", + rank: "863", + state: "Tennessee", + }, + { + city: "North Lauderdale", + growth_from_2000_to_2013: "10.8%", + latitude: 26.217305, + longitude: -80.2258811, + population: "42757", + rank: "864", + state: "Florida", + }, + { + city: "Fairfield", + growth_from_2000_to_2013: "1.2%", + latitude: 39.3454673, + longitude: -84.5603187, + population: "42635", + rank: "865", + state: "Ohio", + }, + { + city: "Salem", + growth_from_2000_to_2013: "5.1%", + latitude: 42.51954, + longitude: -70.8967155, + population: "42544", + rank: "866", + state: "Massachusetts", + }, + { + city: "Rancho Palos Verdes", + growth_from_2000_to_2013: "2.9%", + latitude: 33.7444613, + longitude: -118.3870173, + population: "42448", + rank: "867", + state: "California", + }, + { + city: "San Bruno", + growth_from_2000_to_2013: "5.6%", + latitude: 37.6304904, + longitude: -122.4110835, + population: "42443", + rank: "868", + state: "California", + }, + { + city: "Concord", + growth_from_2000_to_2013: "4.1%", + latitude: 43.2081366, + longitude: -71.5375718, + population: "42419", + rank: "869", + state: "New Hampshire", + }, + { + city: "Burlington", + growth_from_2000_to_2013: "6.1%", + latitude: 44.4758825, + longitude: -73.21207199999999, + population: "42284", + rank: "870", + state: "Vermont", + }, + { + city: "Apex", + growth_from_2000_to_2013: "98.8%", + latitude: 35.732652, + longitude: -78.85028559999999, + population: "42214", + rank: "871", + state: "North Carolina", + }, + { + city: "Midland", + growth_from_2000_to_2013: "0.9%", + latitude: 43.6155825, + longitude: -84.2472116, + population: "42181", + rank: "872", + state: "Michigan", + }, + { + city: "Altamonte Springs", + growth_from_2000_to_2013: "2.0%", + latitude: 28.6611089, + longitude: -81.3656242, + population: "42150", + rank: "873", + state: "Florida", + }, + { + city: "Hutchinson", + growth_from_2000_to_2013: "0.1%", + latitude: 38.0608445, + longitude: -97.92977429999999, + population: "41889", + rank: "874", + state: "Kansas", + }, + { + city: "Buffalo Grove", + growth_from_2000_to_2013: "-3.4%", + latitude: 42.1662831, + longitude: -87.9631308, + population: "41778", + rank: "875", + state: "Illinois", + }, + { + city: "Urbandale", + growth_from_2000_to_2013: "41.5%", + latitude: 41.6266555, + longitude: -93.71216559999999, + population: "41776", + rank: "876", + state: "Iowa", + }, + { + city: "State College", + growth_from_2000_to_2013: "8.7%", + latitude: 40.7933949, + longitude: -77.8600012, + population: "41757", + rank: "877", + state: "Pennsylvania", + }, + { + city: "Urbana", + growth_from_2000_to_2013: "10.3%", + latitude: 40.1105875, + longitude: -88.2072697, + population: "41752", + rank: "878", + state: "Illinois", + }, + { + city: "Plainfield", + growth_from_2000_to_2013: "203.6%", + latitude: 41.632223, + longitude: -88.2120315, + population: "41734", + rank: "879", + state: "Illinois", + }, + { + city: "Manassas", + growth_from_2000_to_2013: "19.5%", + latitude: 38.7509488, + longitude: -77.47526669999999, + population: "41705", + rank: "880", + state: "Virginia", + }, + { + city: "Bartlett", + growth_from_2000_to_2013: "13.1%", + latitude: 41.9950276, + longitude: -88.1856301, + population: "41679", + rank: "881", + state: "Illinois", + }, + { + city: "Kearny", + growth_from_2000_to_2013: "2.8%", + latitude: 40.7684342, + longitude: -74.1454214, + population: "41664", + rank: "882", + state: "New Jersey", + }, + { + city: "Oro Valley", + growth_from_2000_to_2013: "27.0%", + latitude: 32.3909071, + longitude: -110.966488, + population: "41627", + rank: "883", + state: "Arizona", + }, + { + city: "Findlay", + growth_from_2000_to_2013: "5.8%", + latitude: 41.04422, + longitude: -83.6499321, + population: "41512", + rank: "884", + state: "Ohio", + }, + { + city: "Rohnert Park", + growth_from_2000_to_2013: "0.0%", + latitude: 38.3396367, + longitude: -122.7010984, + population: "41398", + rank: "885", + state: "California", + }, + { + city: "Westfield", + growth_from_2000_to_2013: "3.0%", + latitude: 42.1250929, + longitude: -72.749538, + population: "41301", + rank: "887", + state: "Massachusetts", + }, + { + city: "Linden", + growth_from_2000_to_2013: "4.7%", + latitude: 40.6220478, + longitude: -74.24459019999999, + population: "41301", + rank: "886", + state: "New Jersey", + }, + { + city: "Sumter", + growth_from_2000_to_2013: "1.3%", + latitude: 33.9204354, + longitude: -80.3414693, + population: "41190", + rank: "888", + state: "South Carolina", + }, + { + city: "Wilkes-Barre", + growth_from_2000_to_2013: "-4.3%", + latitude: 41.2459149, + longitude: -75.88130749999999, + population: "41108", + rank: "889", + state: "Pennsylvania", + }, + { + city: "Woonsocket", + growth_from_2000_to_2013: "-5.2%", + latitude: 42.00287609999999, + longitude: -71.51478390000001, + population: "41026", + rank: "890", + state: "Rhode Island", + }, + { + city: "Leominster", + growth_from_2000_to_2013: "-1.1%", + latitude: 42.5250906, + longitude: -71.759794, + population: "41002", + rank: "891", + state: "Massachusetts", + }, + { + city: "Shelton", + growth_from_2000_to_2013: "7.3%", + latitude: 41.3164856, + longitude: -73.0931641, + population: "40999", + rank: "892", + state: "Connecticut", + }, + { + city: "Brea", + growth_from_2000_to_2013: "15.2%", + latitude: 33.9166805, + longitude: -117.9000604, + population: "40963", + rank: "893", + state: "California", + }, + { + city: "Covington", + growth_from_2000_to_2013: "-4.7%", + latitude: 39.0836712, + longitude: -84.5085536, + population: "40956", + rank: "894", + state: "Kentucky", + }, + { + city: "Rockwall", + growth_from_2000_to_2013: "117.2%", + latitude: 32.93123360000001, + longitude: -96.4597089, + population: "40922", + rank: "895", + state: "Texas", + }, + { + city: "Meridian", + growth_from_2000_to_2013: "-0.9%", + latitude: 32.3643098, + longitude: -88.703656, + population: "40921", + rank: "896", + state: "Mississippi", + }, + { + city: "Riverton", + growth_from_2000_to_2013: "61.6%", + latitude: 40.521893, + longitude: -111.9391023, + population: "40921", + rank: "897", + state: "Utah", + }, + { + city: "St. Cloud", + growth_from_2000_to_2013: "86.2%", + latitude: 28.2489016, + longitude: -81.2811801, + population: "40918", + rank: "898", + state: "Florida", + }, + { + city: "Quincy", + growth_from_2000_to_2013: "0.5%", + latitude: 39.9356016, + longitude: -91.4098726, + population: "40915", + rank: "899", + state: "Illinois", + }, + { + city: "Morgan Hill", + growth_from_2000_to_2013: "19.5%", + latitude: 37.1305012, + longitude: -121.6543901, + population: "40836", + rank: "900", + state: "California", + }, + { + city: "Warren", + growth_from_2000_to_2013: "-15.2%", + latitude: 41.2375569, + longitude: -80.81841659999999, + population: "40768", + rank: "901", + state: "Ohio", + }, + { + city: "Edmonds", + growth_from_2000_to_2013: "2.9%", + latitude: 47.8106521, + longitude: -122.3773552, + population: "40727", + rank: "902", + state: "Washington", + }, + { + city: "Burleson", + growth_from_2000_to_2013: "85.3%", + latitude: 32.5420821, + longitude: -97.3208492, + population: "40714", + rank: "903", + state: "Texas", + }, + { + city: "Beverly", + growth_from_2000_to_2013: "2.0%", + latitude: 42.5584283, + longitude: -70.880049, + population: "40664", + rank: "904", + state: "Massachusetts", + }, + { + city: "Mankato", + growth_from_2000_to_2013: "24.7%", + latitude: 44.1635775, + longitude: -93.99939959999999, + population: "40641", + rank: "905", + state: "Minnesota", + }, + { + city: "Hagerstown", + growth_from_2000_to_2013: "10.4%", + latitude: 39.6417629, + longitude: -77.71999319999999, + population: "40612", + rank: "906", + state: "Maryland", + }, + { + city: "Prescott", + growth_from_2000_to_2013: "18.1%", + latitude: 34.5400242, + longitude: -112.4685025, + population: "40590", + rank: "907", + state: "Arizona", + }, + { + city: "Campbell", + growth_from_2000_to_2013: "4.2%", + latitude: 37.2871651, + longitude: -121.9499568, + population: "40584", + rank: "908", + state: "California", + }, + { + city: "Cedar Falls", + growth_from_2000_to_2013: "12.0%", + latitude: 42.5348993, + longitude: -92.4453161, + population: "40566", + rank: "909", + state: "Iowa", + }, + { + city: "Beaumont", + growth_from_2000_to_2013: "254.5%", + latitude: 33.9294606, + longitude: -116.977248, + population: "40481", + rank: "910", + state: "California", + }, + { + city: "La Puente", + growth_from_2000_to_2013: "-1.6%", + latitude: 34.0200114, + longitude: -117.9495083, + population: "40435", + rank: "911", + state: "California", + }, + { + city: "Crystal Lake", + growth_from_2000_to_2013: "5.3%", + latitude: 42.2411344, + longitude: -88.31619649999999, + population: "40388", + rank: "912", + state: "Illinois", + }, + { + city: "Fitchburg", + growth_from_2000_to_2013: "3.5%", + latitude: 42.5834228, + longitude: -71.8022955, + population: "40383", + rank: "913", + state: "Massachusetts", + }, + { + city: "Carol Stream", + growth_from_2000_to_2013: "-0.2%", + latitude: 41.91252859999999, + longitude: -88.13479269999999, + population: "40379", + rank: "914", + state: "Illinois", + }, + { + city: "Hickory", + growth_from_2000_to_2013: "7.0%", + latitude: 35.7344538, + longitude: -81.3444573, + population: "40361", + rank: "915", + state: "North Carolina", + }, + { + city: "Streamwood", + growth_from_2000_to_2013: "10.1%", + latitude: 42.0255827, + longitude: -88.17840849999999, + population: "40351", + rank: "916", + state: "Illinois", + }, + { + city: "Norwich", + growth_from_2000_to_2013: "11.6%", + latitude: 41.5242649, + longitude: -72.07591049999999, + population: "40347", + rank: "917", + state: "Connecticut", + }, + { + city: "Coppell", + growth_from_2000_to_2013: "10.3%", + latitude: 32.9545687, + longitude: -97.01500779999999, + population: "40342", + rank: "918", + state: "Texas", + }, + { + city: "San Gabriel", + growth_from_2000_to_2013: "0.9%", + latitude: 34.09611110000001, + longitude: -118.1058333, + population: "40275", + rank: "919", + state: "California", + }, + { + city: "Holyoke", + growth_from_2000_to_2013: "0.9%", + latitude: 42.2042586, + longitude: -72.6162009, + population: "40249", + rank: "920", + state: "Massachusetts", + }, + { + city: "Bentonville", + growth_from_2000_to_2013: "97.7%", + latitude: 36.3728538, + longitude: -94.2088172, + population: "40167", + rank: "921", + state: "Arkansas", + }, + { + city: "Florence", + growth_from_2000_to_2013: "10.2%", + latitude: 34.79981, + longitude: -87.677251, + population: "40059", + rank: "922", + state: "Alabama", + }, + { + city: "Peachtree Corners", + growth_from_2000_to_2013: "", + latitude: 33.9698929, + longitude: -84.2214551, + population: "40059", + rank: "923", + state: "Georgia", + }, + { + city: "Brentwood", + growth_from_2000_to_2013: "51.9%", + latitude: 36.0331164, + longitude: -86.78277720000001, + population: "40021", + rank: "924", + state: "Tennessee", + }, + { + city: "Bozeman", + growth_from_2000_to_2013: "41.9%", + latitude: 45.6769979, + longitude: -111.0429339, + population: "39860", + rank: "925", + state: "Montana", + }, + { + city: "New Berlin", + growth_from_2000_to_2013: "3.6%", + latitude: 42.9764027, + longitude: -88.1084224, + population: "39834", + rank: "926", + state: "Wisconsin", + }, + { + city: "Goose Creek", + growth_from_2000_to_2013: "26.1%", + latitude: 32.9810059, + longitude: -80.03258670000001, + population: "39823", + rank: "927", + state: "South Carolina", + }, + { + city: "Huntsville", + growth_from_2000_to_2013: "13.2%", + latitude: 30.7235263, + longitude: -95.55077709999999, + population: "39795", + rank: "928", + state: "Texas", + }, + { + city: "Prescott Valley", + growth_from_2000_to_2013: "62.9%", + latitude: 34.6100243, + longitude: -112.315721, + population: "39791", + rank: "929", + state: "Arizona", + }, + { + city: "Maplewood", + growth_from_2000_to_2013: "12.3%", + latitude: 44.9530215, + longitude: -92.9952153, + population: "39765", + rank: "930", + state: "Minnesota", + }, + { + city: "Romeoville", + growth_from_2000_to_2013: "79.5%", + latitude: 41.6475306, + longitude: -88.0895061, + population: "39650", + rank: "931", + state: "Illinois", + }, + { + city: "Duncanville", + growth_from_2000_to_2013: "9.7%", + latitude: 32.6518004, + longitude: -96.9083366, + population: "39605", + rank: "932", + state: "Texas", + }, + { + city: "Atlantic City", + growth_from_2000_to_2013: "-2.2%", + latitude: 39.3642834, + longitude: -74.4229266, + population: "39551", + rank: "933", + state: "New Jersey", + }, + { + city: "Clovis", + growth_from_2000_to_2013: "21.3%", + latitude: 34.4047987, + longitude: -103.2052272, + population: "39508", + rank: "934", + state: "New Mexico", + }, + { + city: "The Colony", + growth_from_2000_to_2013: "45.7%", + latitude: 33.0806083, + longitude: -96.89283089999999, + population: "39458", + rank: "935", + state: "Texas", + }, + { + city: "Culver City", + growth_from_2000_to_2013: "1.3%", + latitude: 34.0211224, + longitude: -118.3964665, + population: "39428", + rank: "936", + state: "California", + }, + { + city: "Marlborough", + growth_from_2000_to_2013: "7.6%", + latitude: 42.3459271, + longitude: -71.5522874, + population: "39414", + rank: "937", + state: "Massachusetts", + }, + { + city: "Hilton Head Island", + growth_from_2000_to_2013: "16.0%", + latitude: 32.216316, + longitude: -80.752608, + population: "39412", + rank: "938", + state: "South Carolina", + }, + { + city: "Moorhead", + growth_from_2000_to_2013: "21.3%", + latitude: 46.8737648, + longitude: -96.76780389999999, + population: "39398", + rank: "939", + state: "Minnesota", + }, + { + city: "Calexico", + growth_from_2000_to_2013: "44.0%", + latitude: 32.6789476, + longitude: -115.4988834, + population: "39389", + rank: "940", + state: "California", + }, + { + city: "Bullhead City", + growth_from_2000_to_2013: "15.9%", + latitude: 35.1359386, + longitude: -114.5285981, + population: "39383", + rank: "941", + state: "Arizona", + }, + { + city: "Germantown", + growth_from_2000_to_2013: "4.1%", + latitude: 35.0867577, + longitude: -89.8100858, + population: "39375", + rank: "942", + state: "Tennessee", + }, + { + city: "La Quinta", + growth_from_2000_to_2013: "59.9%", + latitude: 33.6633573, + longitude: -116.3100095, + population: "39331", + rank: "943", + state: "California", + }, + { + city: "Lancaster", + growth_from_2000_to_2013: "10.7%", + latitude: 39.7136754, + longitude: -82.5993294, + population: "39325", + rank: "944", + state: "Ohio", + }, + { + city: "Wausau", + growth_from_2000_to_2013: "1.7%", + latitude: 44.9591352, + longitude: -89.6301221, + population: "39309", + rank: "945", + state: "Wisconsin", + }, + { + city: "Sherman", + growth_from_2000_to_2013: "11.6%", + latitude: 33.6356618, + longitude: -96.6088805, + population: "39296", + rank: "946", + state: "Texas", + }, + { + city: "Ocoee", + growth_from_2000_to_2013: "57.9%", + latitude: 28.5691677, + longitude: -81.5439619, + population: "39172", + rank: "947", + state: "Florida", + }, + { + city: "Shakopee", + growth_from_2000_to_2013: "85.7%", + latitude: 44.7973962, + longitude: -93.5272861, + population: "39167", + rank: "948", + state: "Minnesota", + }, + { + city: "Woburn", + growth_from_2000_to_2013: "4.4%", + latitude: 42.4792618, + longitude: -71.1522765, + population: "39083", + rank: "949", + state: "Massachusetts", + }, + { + city: "Bremerton", + growth_from_2000_to_2013: "4.9%", + latitude: 47.5673202, + longitude: -122.6329356, + population: "39056", + rank: "950", + state: "Washington", + }, + { + city: "Rock Island", + growth_from_2000_to_2013: "-1.9%", + latitude: 41.5094771, + longitude: -90.5787476, + population: "38877", + rank: "951", + state: "Illinois", + }, + { + city: "Muskogee", + growth_from_2000_to_2013: "-0.7%", + latitude: 35.7478769, + longitude: -95.3696909, + population: "38863", + rank: "952", + state: "Oklahoma", + }, + { + city: "Cape Girardeau", + growth_from_2000_to_2013: "9.4%", + latitude: 37.3058839, + longitude: -89.51814759999999, + population: "38816", + rank: "953", + state: "Missouri", + }, + { + city: "Annapolis", + growth_from_2000_to_2013: "7.6%", + latitude: 38.9784453, + longitude: -76.4921829, + population: "38722", + rank: "954", + state: "Maryland", + }, + { + city: "Greenacres", + growth_from_2000_to_2013: "35.5%", + latitude: 26.6276276, + longitude: -80.1353896, + population: "38696", + rank: "955", + state: "Florida", + }, + { + city: "Ormond Beach", + growth_from_2000_to_2013: "5.8%", + latitude: 29.2858129, + longitude: -81.0558894, + population: "38661", + rank: "956", + state: "Florida", + }, + { + city: "Hallandale Beach", + growth_from_2000_to_2013: "12.4%", + latitude: 25.9812024, + longitude: -80.14837899999999, + population: "38632", + rank: "957", + state: "Florida", + }, + { + city: "Stanton", + growth_from_2000_to_2013: "2.8%", + latitude: 33.8025155, + longitude: -117.9931165, + population: "38623", + rank: "958", + state: "California", + }, + { + city: "Puyallup", + growth_from_2000_to_2013: "11.8%", + latitude: 47.1853785, + longitude: -122.2928974, + population: "38609", + rank: "959", + state: "Washington", + }, + { + city: "Pacifica", + growth_from_2000_to_2013: "0.5%", + latitude: 37.6138253, + longitude: -122.4869194, + population: "38606", + rank: "960", + state: "California", + }, + { + city: "Hanover Park", + growth_from_2000_to_2013: "0.6%", + latitude: 41.9994722, + longitude: -88.1450735, + population: "38510", + rank: "961", + state: "Illinois", + }, + { + city: "Hurst", + growth_from_2000_to_2013: "5.8%", + latitude: 32.8234621, + longitude: -97.1705678, + population: "38448", + rank: "962", + state: "Texas", + }, + { + city: "Lima", + growth_from_2000_to_2013: "-8.1%", + latitude: 40.742551, + longitude: -84.1052256, + population: "38355", + rank: "963", + state: "Ohio", + }, + { + city: "Marana", + growth_from_2000_to_2013: "166.2%", + latitude: 32.436381, + longitude: -111.2224422, + population: "38290", + rank: "964", + state: "Arizona", + }, + { + city: "Carpentersville", + growth_from_2000_to_2013: "22.8%", + latitude: 42.1211364, + longitude: -88.2578582, + population: "38241", + rank: "965", + state: "Illinois", + }, + { + city: "Oakley", + growth_from_2000_to_2013: "47.7%", + latitude: 37.9974219, + longitude: -121.7124536, + population: "38194", + rank: "966", + state: "California", + }, + { + city: "Huber Heights", + growth_from_2000_to_2013: "-0.2%", + latitude: 39.843947, + longitude: -84.12466080000002, + population: "38142", + rank: "967", + state: "Ohio", + }, + { + city: "Lancaster", + growth_from_2000_to_2013: "46.4%", + latitude: 32.5920798, + longitude: -96.7561082, + population: "38071", + rank: "968", + state: "Texas", + }, + { + city: "Montclair", + growth_from_2000_to_2013: "12.1%", + latitude: 34.0775104, + longitude: -117.6897776, + population: "38027", + rank: "969", + state: "California", + }, + { + city: "Wheeling", + growth_from_2000_to_2013: "4.8%", + latitude: 42.1391927, + longitude: -87.9289591, + population: "38015", + rank: "970", + state: "Illinois", + }, + { + city: "Brookfield", + growth_from_2000_to_2013: "-1.9%", + latitude: 43.0605671, + longitude: -88.1064787, + population: "37999", + rank: "971", + state: "Wisconsin", + }, + { + city: "Park Ridge", + growth_from_2000_to_2013: "0.1%", + latitude: 42.0111412, + longitude: -87.84061919999999, + population: "37839", + rank: "972", + state: "Illinois", + }, + { + city: "Florence", + growth_from_2000_to_2013: "19.8%", + latitude: 34.1954331, + longitude: -79.7625625, + population: "37792", + rank: "973", + state: "South Carolina", + }, + { + city: "Roy", + growth_from_2000_to_2013: "13.3%", + latitude: 41.1616108, + longitude: -112.0263313, + population: "37733", + rank: "974", + state: "Utah", + }, + { + city: "Winter Garden", + growth_from_2000_to_2013: "142.5%", + latitude: 28.5652787, + longitude: -81.58618469999999, + population: "37711", + rank: "975", + state: "Florida", + }, + { + city: "Chelsea", + growth_from_2000_to_2013: "7.3%", + latitude: 42.3917638, + longitude: -71.0328284, + population: "37670", + rank: "976", + state: "Massachusetts", + }, + { + city: "Valley Stream", + growth_from_2000_to_2013: "3.6%", + latitude: 40.6642699, + longitude: -73.70846449999999, + population: "37659", + rank: "977", + state: "New York", + }, + { + city: "Spartanburg", + growth_from_2000_to_2013: "-6.2%", + latitude: 34.9495672, + longitude: -81.9320482, + population: "37647", + rank: "978", + state: "South Carolina", + }, + { + city: "Lake Oswego", + growth_from_2000_to_2013: "5.3%", + latitude: 45.42067489999999, + longitude: -122.6706498, + population: "37610", + rank: "979", + state: "Oregon", + }, + { + city: "Friendswood", + growth_from_2000_to_2013: "28.6%", + latitude: 29.5293998, + longitude: -95.2010447, + population: "37587", + rank: "980", + state: "Texas", + }, + { + city: "Westerville", + growth_from_2000_to_2013: "5.7%", + latitude: 40.1261743, + longitude: -82.92906959999999, + population: "37530", + rank: "981", + state: "Ohio", + }, + { + city: "Northglenn", + growth_from_2000_to_2013: "15.5%", + latitude: 39.8961821, + longitude: -104.9811468, + population: "37499", + rank: "982", + state: "Colorado", + }, + { + city: "Phenix City", + growth_from_2000_to_2013: "31.9%", + latitude: 32.4709761, + longitude: -85.0007653, + population: "37498", + rank: "983", + state: "Alabama", + }, + { + city: "Grove City", + growth_from_2000_to_2013: "35.6%", + latitude: 39.88145189999999, + longitude: -83.0929644, + population: "37490", + rank: "984", + state: "Ohio", + }, + { + city: "Texarkana", + growth_from_2000_to_2013: "7.4%", + latitude: 33.425125, + longitude: -94.04768820000001, + population: "37442", + rank: "985", + state: "Texas", + }, + { + city: "Addison", + growth_from_2000_to_2013: "2.6%", + latitude: 41.931696, + longitude: -87.9889556, + population: "37385", + rank: "986", + state: "Illinois", + }, + { + city: "Dover", + growth_from_2000_to_2013: "16.0%", + latitude: 39.158168, + longitude: -75.5243682, + population: "37366", + rank: "987", + state: "Delaware", + }, + { + city: "Lincoln Park", + growth_from_2000_to_2013: "-6.7%", + latitude: 42.2505943, + longitude: -83.1785361, + population: "37313", + rank: "988", + state: "Michigan", + }, + { + city: "Calumet City", + growth_from_2000_to_2013: "-4.5%", + latitude: 41.6155909, + longitude: -87.5294871, + population: "37240", + rank: "989", + state: "Illinois", + }, + { + city: "Muskegon", + growth_from_2000_to_2013: "-7.1%", + latitude: 43.2341813, + longitude: -86.24839209999999, + population: "37213", + rank: "990", + state: "Michigan", + }, + { + city: "Aventura", + growth_from_2000_to_2013: "47.2%", + latitude: 25.9564812, + longitude: -80.1392121, + population: "37199", + rank: "991", + state: "Florida", + }, + { + city: "Martinez", + growth_from_2000_to_2013: "3.4%", + latitude: 38.0193657, + longitude: -122.1341321, + population: "37165", + rank: "992", + state: "California", + }, + { + city: "Greenfield", + growth_from_2000_to_2013: "4.8%", + latitude: 42.9614039, + longitude: -88.0125865, + population: "37159", + rank: "993", + state: "Wisconsin", + }, + { + city: "Apache Junction", + growth_from_2000_to_2013: "15.7%", + latitude: 33.4150485, + longitude: -111.5495777, + population: "37130", + rank: "994", + state: "Arizona", + }, + { + city: "Monrovia", + growth_from_2000_to_2013: "0.2%", + latitude: 34.1442616, + longitude: -118.0019482, + population: "37101", + rank: "995", + state: "California", + }, + { + city: "Weslaco", + growth_from_2000_to_2013: "28.8%", + latitude: 26.1595194, + longitude: -97.9908366, + population: "37093", + rank: "996", + state: "Texas", + }, + { + city: "Keizer", + growth_from_2000_to_2013: "14.4%", + latitude: 44.9901194, + longitude: -123.0262077, + population: "37064", + rank: "997", + state: "Oregon", + }, + { + city: "Spanish Fork", + growth_from_2000_to_2013: "78.1%", + latitude: 40.114955, + longitude: -111.654923, + population: "36956", + rank: "998", + state: "Utah", + }, + { + city: "Beloit", + growth_from_2000_to_2013: "2.9%", + latitude: 42.5083482, + longitude: -89.03177649999999, + population: "36888", + rank: "999", + state: "Wisconsin", + }, + { + city: "Panama City", + growth_from_2000_to_2013: "0.1%", + latitude: 30.1588129, + longitude: -85.6602058, + population: "36877", + rank: "1000", + state: "Florida", + }, +]; diff --git a/seeds/index.js b/seeds/index.js new file mode 100644 index 0000000..1c20c6a --- /dev/null +++ b/seeds/index.js @@ -0,0 +1,55 @@ +const mongoose = require('mongoose'); +const cities = require('./cities'); +const {places,descriptors} = require('./seedHelpers'); +const Campground = require('../models/campground'); + +mongoose.connect('mongodb+srv://yashverma_3:251198@cluster0.kvnhw.mongodb.net/myFirstDatabase?retryWrites=true&w=majority',{ + useNewUrlParser: true, + useUnifiedTopology: true +}); + +const db = mongoose.connection; +db.once("open", () => { + console.log("Database connected"); +}).on('error',(error)=>{ + console.log('Connection error',error); + }); + + const sample = array => array[Math.floor(Math.random() * array.length)]; + +const seedDB = async()=>{ + await Campground.deleteMany({}); + for(let i=0;i<0;i++){ + const random1000 = Math.floor(Math.random()*1000); + const price = Math.floor(Math.random()*20) + 10; + const camp = new Campground({ + author: "62a3854b1d1e7486b5a19840", + location: `${cities[random1000].city},${cities[random1000].state}`, + title: `${sample(descriptors)} ${sample(places)}`, + description: 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum, necessitatibus delectus? Cum aspernatur, ut est nam eius maxime asperiores reiciendis facilis officia nemo maiores, voluptas eos accusamus, alias facere at?', + price, + geometry: { + type: 'Point', + coordinates: [ + cities[random1000].longitude, + cities[random1000].latitude + ] + }, + images: [ + { + url: 'https://res.cloudinary.com/dhpowrohp/image/upload/v1645357295/YelpCamp/nspg5mnxpw2eyuwmchrr.jpg', + filename: 'YelpCamp/nspg5mnxpw2eyuwmchrr' + }, + { + url: 'https://res.cloudinary.com/dhpowrohp/image/upload/v1645357308/YelpCamp/lnuiylw8nhvalme77svz.jpg', + filename: 'YelpCamp/lnuiylw8nhvalme77svz' + } + ] + }) + await camp.save(); + } +} + +seedDB().then(()=>{ + mongoose.connection.close(); +}) \ No newline at end of file diff --git a/seeds/seedHelpers.js b/seeds/seedHelpers.js new file mode 100644 index 0000000..303c034 --- /dev/null +++ b/seeds/seedHelpers.js @@ -0,0 +1,45 @@ +module.exports.descriptors = [ + 'Forest', + 'Ancient', + 'Petrified', + 'Roaring', + 'Cascade', + 'Tumbling', + 'Silent', + 'Redwood', + 'Bullfrog', + 'Maple', + 'Misty', + 'Elk', + 'Grizzly', + 'Ocean', + 'Sea', + 'Sky', + 'Dusty', + 'Diamond' +] + +module.exports.places = [ + 'Flats', + 'Village', + 'Canyon', + 'Pond', + 'Group Camp', + 'Horse Camp', + 'Ghost Town', + 'Camp', + 'Dispersed Camp', + 'Backcountry', + 'River', + 'Creek', + 'Creekside', + 'Bay', + 'Spring', + 'Bayshore', + 'Sands', + 'Mule Camp', + 'Hunting Camp', + 'Cliffs', + 'Hollow' +] + diff --git a/utils/ExpressError.js b/utils/ExpressError.js new file mode 100644 index 0000000..77dee15 --- /dev/null +++ b/utils/ExpressError.js @@ -0,0 +1,9 @@ +class ExpressError extends Error{ + constructor(message,statusCode){ + super(); + this.message = message; + this.statusCode = statusCode; + } +} + +module.exports = ExpressError; \ No newline at end of file diff --git a/utils/catchAsync.js b/utils/catchAsync.js new file mode 100644 index 0000000..989e951 --- /dev/null +++ b/utils/catchAsync.js @@ -0,0 +1,5 @@ +module.exports = func => { + return (req,res,next) => { + func(req,res,next).catch(next); + } +} \ No newline at end of file diff --git a/views/campgrounds/edit.ejs b/views/campgrounds/edit.ejs new file mode 100644 index 0000000..785e3fe --- /dev/null +++ b/views/campgrounds/edit.ejs @@ -0,0 +1,50 @@ +<% layout('layouts/boilerplate')%> +
+

Edit Campground

+
+
+
+ + +
Looks Good!
+
+
+ + +
Looks Good!
+
+
+ + +
+
+ +
+ $ + +
+
Looks Good!
+
+
+ + +
Looks Good!
+
+
+ <% campground.images.forEach(function(img,i){ %> + +
+ +
+ + <% }) %> +
+
+ +
+
+ Back to Campground +
+
\ No newline at end of file diff --git a/views/campgrounds/index.ejs b/views/campgrounds/index.ejs new file mode 100644 index 0000000..82b298e --- /dev/null +++ b/views/campgrounds/index.ejs @@ -0,0 +1,45 @@ +<% layout('layouts/boilerplate')%> +
+

All Campgrounds

+
+ Add Campgrounds +
+ <% for(let campground of campgrounds) {%> +
+
+
+ <% if(campground.images.length) {%> + + <% } else { %> + + <% } %> +
+
+
+

+ <%=campground.title%> +

+

+ <%=campground.description%> +

+
+ + <%=campground.location%> + +
+ View <%=campground.title%> + +
+
+
+
+ <% } %> + + + + \ No newline at end of file diff --git a/views/campgrounds/new.ejs b/views/campgrounds/new.ejs new file mode 100644 index 0000000..2924ab1 --- /dev/null +++ b/views/campgrounds/new.ejs @@ -0,0 +1,53 @@ +<% layout('layouts/boilerplate')%> +
+

New Campground

+
+
+
+ + +
Looks Good!
+
+
+ + +
Looks Good!
+
+
+ + +
+ + +
+ +
+ $ + +
+
Looks Good!
+
+
+ + +
Looks Good!
+
+
+ +
+
+ Back to All Campgrounds +
+
diff --git a/views/campgrounds/show.ejs b/views/campgrounds/show.ejs new file mode 100644 index 0000000..ba2411e --- /dev/null +++ b/views/campgrounds/show.ejs @@ -0,0 +1,128 @@ +<% layout('layouts/boilerplate')%> + + +
+
+ +
+
+
+ <%= campground.title %> +
+

+ <%= campground.description %> +

+
+
    +
  • + <%= campground.location %> +
  • +
  • + <% if (campground.author) { %> + By <%= campground.author.username %> + <%} else { %> + By colt + <% } %> + +
  • +
  • $<%= campground.price %>/ night
  • +
+ <% if(!campground.author) {%> + <%} else if(currentUser && campground.author.equals(currentUser._id)) {%> +
+ Edit +
+ +
+
+ <% } %> + +
+
+
+
+ + <% if(currentUser) { %> +

Leave a Review

+
+ +
+ + + + + + + + + + + +
+
+ + +
+ Looks good! +
+
+ +
+ <% } %> + <% for(let review of campground.reviews) { %> +
+
+
+ By <%= review.author.username %> +
+

Rated: <%=review.rating%> + stars

+

+ Review: <%= review.body %> +

+ <% if(currentUser && review.author.equals(currentUser._id)) {%> +
+ +
+ <% }%> +
+
+ <% } %> +
+
+ + \ No newline at end of file diff --git a/views/error.ejs b/views/error.ejs new file mode 100644 index 0000000..bd29c71 --- /dev/null +++ b/views/error.ejs @@ -0,0 +1,11 @@ +<% layout('layouts/boilerplate')%> +
+
+ +
+
\ No newline at end of file diff --git a/views/home.ejs b/views/home.ejs new file mode 100644 index 0000000..bdb796f --- /dev/null +++ b/views/home.ejs @@ -0,0 +1,54 @@ + + + + + + + YelpCamp + + + + + +
+
+
+

YelpCamp

+ +
+
+
+

YelpCamp

+

Welcome to YelpCamp!
Jump right in and explore our many campgrounds.
+ Feel free to share some of your own and comment on others!

+ View + Campgrounds +
+ +
+

© Yelpcamp 2022

+
+ + +
+ + + + + + + \ No newline at end of file diff --git a/views/layouts/boilerplate.ejs b/views/layouts/boilerplate.ejs new file mode 100644 index 0000000..97a9af6 --- /dev/null +++ b/views/layouts/boilerplate.ejs @@ -0,0 +1,33 @@ + + + + + + + + YelpCamp + + + + + + + + <%- include('../partials/navbar')%> +
+ <%- include('../partials/flash')%> + <%- body %> +
+ <%- include('../partials/footer')%> + + + + + + + \ No newline at end of file diff --git a/views/partials/flash.ejs b/views/partials/flash.ejs new file mode 100644 index 0000000..55481c1 --- /dev/null +++ b/views/partials/flash.ejs @@ -0,0 +1,13 @@ +<% if(success && success.length) {%> + +<% } %> + +<% if(error && error.length) {%> + +<% } %> \ No newline at end of file diff --git a/views/partials/footer.ejs b/views/partials/footer.ejs new file mode 100644 index 0000000..5ac790e --- /dev/null +++ b/views/partials/footer.ejs @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/views/partials/navbar.ejs b/views/partials/navbar.ejs new file mode 100644 index 0000000..6de62a9 --- /dev/null +++ b/views/partials/navbar.ejs @@ -0,0 +1,24 @@ + \ No newline at end of file diff --git a/views/users/login.ejs b/views/users/login.ejs new file mode 100644 index 0000000..1547529 --- /dev/null +++ b/views/users/login.ejs @@ -0,0 +1,33 @@ +<% layout('layouts/boilerplate')%> + +
+
+
+
+ +
+
Login
+
+
+ + +
+ Looks good! +
+
+ +
+ + +
+ Looks good! +
+
+ +
+
+
+
+
+
\ No newline at end of file diff --git a/views/users/register.ejs b/views/users/register.ejs new file mode 100644 index 0000000..3986225 --- /dev/null +++ b/views/users/register.ejs @@ -0,0 +1,39 @@ +<% layout('layouts/boilerplate')%> +
+
+
+
+ +
+
Register
+
+
+ + +
+ Looks good! +
+
+
+ + +
+ Looks good! +
+
+
+ + +
+ Looks good! +
+
+ +
+ +
+
+
+
+
\ No newline at end of file