diff --git a/api-gateway/src/app.controller.ts b/api-gateway/src/app.controller.ts index 8730ed02..3a559841 100644 --- a/api-gateway/src/app.controller.ts +++ b/api-gateway/src/app.controller.ts @@ -100,16 +100,15 @@ export class AppController { @Body('canton') canton: string, @Body('district') district: string, @Body('num_houses') num_houses: number, - @Body('phone') phone: number, - @Body('quote') quote: number, + @Body('phone') phone: string, @Body('status') status: string, @Body('date_entry') date_entry: Date, - @Body('houses') houses: [{}], + @Body('houses') houses: [], ) { return this.appService.createCommunity(name, province, canton, district, num_houses, phone, - quote, status, date_entry, houses); + status, date_entry, houses); } @Get('community/allCommunities') @@ -132,6 +131,14 @@ export class AppController { } + + @Post('community/findCommunityAdmin') + findCommunityAdmin( + @Body('community_id') community_id: string, + ) { + return this.appService.findCommunityAdmin(community_id); + } + // #==== API Common Areas @Post('commonArea/createCommonArea') createCommonArea( @@ -318,4 +325,38 @@ export class AppController { ) { return this.appService.findReport(paramReport); } + + + @Post('email/sendMail') + senMail( + @Body('email') email: string, + ) { + + return this.appService.sendMail(email); + } + @Post('email/html') + html( + @Body('email') email: string, + @Body('name') name: string, + ) { + + return this.appService.html(email, name); + } + + // #==== API Users + @Post('user/testSendMail') + testSendMail( + @Body('dni') dni: string, + @Body('name') name: string, + @Body('last_name') last_name: string, + @Body('email') email: string, + @Body('phone') phone: number, + @Body('password') password: string, + @Body('user_type') user_type: string, + @Body('status') status: string, + @Body('date_entry') date_entry: Date, + ) { + return this.appService.testSendMail(dni, name, last_name, email, phone, password, + user_type, status, date_entry); + } } \ No newline at end of file diff --git a/api-gateway/src/app.service.ts b/api-gateway/src/app.service.ts index 20bd90c9..592117eb 100644 --- a/api-gateway/src/app.service.ts +++ b/api-gateway/src/app.service.ts @@ -56,6 +56,7 @@ export class AppService { const payload = { dni: dni, name: name, last_name: last_name, email: email, phone: phone, password: password, user_type: user_type, status: status, date_entry: date_entry, community_id + }; return this.clientUserApp .send(pattern, payload) @@ -125,15 +126,27 @@ export class AppService { ); } + + //GET parameter from API + findCommunityAdmin(community_id: string) { + const pattern = { cmd: 'findCommunityAdmin' }; + const payload = { community_id: community_id }; + return this.clientCommunityApp + .send(pattern, payload) + .pipe( + map((message: string) => ({ message })), + ); + } + // ====================== COMMUNITIES =============================== //POST parameter from API createCommunity(name: string, province: string, canton: string, district: string - , num_houses: number, phone: number, quote: number, status: string, date_entry: Date, houses: [{}]) { + , num_houses: number, phone: string, status: string, date_entry: Date, houses: []) { const pattern = { cmd: 'createCommunity' }; const payload = { name: name, province: province, canton: canton, district: district, num_houses: num_houses, - phone: phone, quote: quote, status: status, date_entry: date_entry, houses + phone: phone, status: status, date_entry: date_entry, houses: houses }; return this.clientCommunityApp .send(pattern, payload) @@ -443,4 +456,25 @@ export class AppService { map((message: string) => ({ message })), ); } + + + sendMail(email: string) { + const pattern = { cmd: 'sendMail' }; + const payload = { email: email}; + return this.clientNotificationtApp + .send(pattern, payload) + .pipe( + map((message: string) => ({ message })), + ); + } + + html(email: string, name: string) { + const pattern = { cmd: 'html' }; + const payload = { email: email, name: name}; + return this.clientNotificationtApp + .send(pattern, payload) + .pipe( + map((message: string) => ({ message })), + ); + } } \ No newline at end of file diff --git a/api-gateway/src/main.ts b/api-gateway/src/main.ts index 0a197e5f..ead48887 100644 --- a/api-gateway/src/main.ts +++ b/api-gateway/src/main.ts @@ -1,15 +1,13 @@ import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; -const cors= require('cors'); +const cors = require('cors'); async function bootstrap() { const app = await NestFactory.create(AppModule); - app.enableCors({ origin: 'http://localhost:3000', methods: 'GET, PUT, POST, DELETE', allowedHeaders: 'Content-Type, Authorization', }); await app.listen(4000); - //app.use(cors(enableCors)) } bootstrap(); diff --git a/servicio-comunidad-viviendas/src/communities/communities.controller.ts b/servicio-comunidad-viviendas/src/communities/communities.controller.ts index 457f4de6..159c67fa 100644 --- a/servicio-comunidad-viviendas/src/communities/communities.controller.ts +++ b/servicio-comunidad-viviendas/src/communities/communities.controller.ts @@ -29,6 +29,12 @@ export class CommunitiesController { return this.communitiesService.findOneName(_id); } + /* @MessagePattern({cmd: 'findCommunityAdmin'}) + findCommunityAdmin(@Payload() community: any) { + let _community = community['community_id']; + return this.communitiesService.findCommunityAdmin(_community, "2"); + }*/ + @MessagePattern({cmd: 'updateCommunity'}) update(@Payload() community: CommunityDocument) { return this.communitiesService.update(community.id, community); diff --git a/servicio-comunidad-viviendas/src/communities/communities.module.ts b/servicio-comunidad-viviendas/src/communities/communities.module.ts index e515e738..30c0d9b0 100644 --- a/servicio-comunidad-viviendas/src/communities/communities.module.ts +++ b/servicio-comunidad-viviendas/src/communities/communities.module.ts @@ -2,12 +2,23 @@ import { Module } from '@nestjs/common'; import { CommunitiesService } from './communities.service'; import { CommunitiesController } from './communities.controller'; import { MongooseModule } from '@nestjs/mongoose'; +import { ClientsModule, Transport } from "@nestjs/microservices"; import { Community, CommunitySchema } from '../schemas/community.schema'; @Module({ imports: [ + ClientsModule.register([ + { + name: "SERVICIO_USUARIOS", + transport: Transport.TCP, + options: { + host: "127.0.0.1", + port: 3001 + } + } + ]), MongooseModule.forFeature([{ name: Community.name, schema: CommunitySchema }]), ], controllers: [CommunitiesController], diff --git a/servicio-comunidad-viviendas/src/communities/communities.service.ts b/servicio-comunidad-viviendas/src/communities/communities.service.ts index 58b83794..1b9b6bdf 100644 --- a/servicio-comunidad-viviendas/src/communities/communities.service.ts +++ b/servicio-comunidad-viviendas/src/communities/communities.service.ts @@ -1,24 +1,46 @@ -import { Injectable } from '@nestjs/common'; +import { Injectable, Inject } from '@nestjs/common'; import { Model } from 'mongoose'; -import { Community, CommunityDocument } from 'src/schemas/community.schema'; +import { Community, CommunityDocument } from 'src/schemas/community.schema'; import { InjectModel } from '@nestjs/mongoose'; +import { RpcException, ClientProxy } from '@nestjs/microservices'; +import { from, lastValueFrom, map, scan, mergeMap } from 'rxjs'; +import { Admin } from 'src/schemas/admin.entity'; +import { appendFileSync } from 'fs'; + @Injectable() export class CommunitiesService { constructor( @InjectModel(Community.name) private readonly communityModel: Model, - ) {} + @Inject('SERVICIO_USUARIOS') private readonly clientUserApp: ClientProxy, + + ) { } async create(community: CommunityDocument): Promise { return this.communityModel.create(community); } - async findAll(): Promise { - return this.communityModel - .find() - .setOptions({ sanitizeFilter: true }) - .exec(); + async findAll(): Promise { + + return await this.communityModel + .find() + .setOptions({ sanitizeFilter: true }) + .exec() + .then(async community => { + if (community) { + await Promise.all(community.map(async c => { + //buscar al usuario con el id de la comunidad anexado + let admin = await this.findCommunityAdmin(c["_id"], "2") + if (admin) { + c["id_admin"] = admin["_id"] + c["name_admin"] = admin["name"] + } + return c + })) + } + return community; + }) } findOne(id: string): Promise { @@ -37,4 +59,19 @@ export class CommunitiesService { async remove(id: string) { return this.communityModel.findByIdAndRemove({ _id: id }).exec(); } + + async findCommunityAdmin(community: string, user_type: string) { + const pattern = { cmd: 'findOneCommunityUser' } + const payload = { community_id: community, user_type: user_type } + + let callback = await this.clientUserApp + .send(pattern, payload) + .pipe( + map((response: string) => ({ response })) + ) + + const finalValue = await lastValueFrom(callback); + return finalValue['response']; + + } } diff --git a/servicio-comunidad-viviendas/src/schemas/admin.entity.ts b/servicio-comunidad-viviendas/src/schemas/admin.entity.ts new file mode 100644 index 00000000..c9648048 --- /dev/null +++ b/servicio-comunidad-viviendas/src/schemas/admin.entity.ts @@ -0,0 +1,4 @@ +export interface Admin { + id_community: string; + user_type: string; +} \ No newline at end of file diff --git a/servicio-comunidad-viviendas/src/schemas/community.schema.ts b/servicio-comunidad-viviendas/src/schemas/community.schema.ts index c1b6ecf3..e1f1cdd0 100644 --- a/servicio-comunidad-viviendas/src/schemas/community.schema.ts +++ b/servicio-comunidad-viviendas/src/schemas/community.schema.ts @@ -7,6 +7,11 @@ export type CommunityDocument = Community & Document; @Schema({ collection: 'communities' }) export class Community { + @Prop() + id_admin: string; + + @Prop() + name_admin: string ; @Prop() name: string; @@ -24,10 +29,7 @@ export class Community { num_houses: number; @Prop() - phone: number; - - @Prop() - quote: number; + phone: string; @Prop() status: string; @@ -37,6 +39,7 @@ export class Community { @Prop({ type: [HouseSchema] }) houses: Array; + } diff --git a/servicio-comunidad-viviendas/src/schemas/house.schema.ts b/servicio-comunidad-viviendas/src/schemas/house.schema.ts index 0ee35e1d..cae12f9d 100644 --- a/servicio-comunidad-viviendas/src/schemas/house.schema.ts +++ b/servicio-comunidad-viviendas/src/schemas/house.schema.ts @@ -1,5 +1,7 @@ import { Schema, Prop, SchemaFactory } from '@nestjs/mongoose'; +import e from 'express'; import { Document } from 'mongoose'; +import { empty } from 'rxjs'; import { Tenant, TenantSchema } from './tenant.schema'; @@ -7,12 +9,12 @@ import { Tenant, TenantSchema } from './tenant.schema'; @Schema() export class House extends Document { @Prop({ default: " " }) - number: string; - - @Prop({ default: " " }) - description: string; + number_house: string; - @Prop({ type: TenantSchema, default: " " }) + @Prop({ default: "desocupada" }) + state: string; + + @Prop({ type: TenantSchema }) tenants: Tenant; } export const HouseSchema = SchemaFactory.createForClass(House); \ No newline at end of file diff --git a/servicio-comunidad-viviendas/src/schemas/tenant.schema.ts b/servicio-comunidad-viviendas/src/schemas/tenant.schema.ts index e0d66fa4..c0e66ec5 100644 --- a/servicio-comunidad-viviendas/src/schemas/tenant.schema.ts +++ b/servicio-comunidad-viviendas/src/schemas/tenant.schema.ts @@ -4,7 +4,7 @@ import { Schema, Prop, SchemaFactory } from '@nestjs/mongoose'; @Schema() export class Tenant { - @Prop() + @Prop( {default: ''}) tenant_id: string; } diff --git a/servicio-notificaciones/.env b/servicio-notificaciones/.env new file mode 100644 index 00000000..80c3aee2 --- /dev/null +++ b/servicio-notificaciones/.env @@ -0,0 +1,8 @@ +# mail +MAIL_HOST=smtp.gmail.com +MAIL_USER=mbonilla.guti@gmail.com +MAIL_PASSWORD=laofghlofgffmyry +MAIL_FROM=noreply@example.com + +# optional +MAIL_TRANSPORT=smtp://${MAIL_USER}:${MAIL_PASSWORD}@${MAIL_HOST} \ No newline at end of file diff --git a/servicio-notificaciones/nest-cli.json b/servicio-notificaciones/nest-cli.json index 25664811..924e3692 100644 --- a/servicio-notificaciones/nest-cli.json +++ b/servicio-notificaciones/nest-cli.json @@ -1,5 +1,9 @@ { "$schema": "https://json.schemastore.org/nest-cli", "collection": "@nestjs/schematics", - "sourceRoot": "src" + "sourceRoot": "src", + "compilerOptions": { + "assets": ["mails/**/*"], + "watchAssets": true + } } diff --git a/servicio-notificaciones/package-lock.json b/servicio-notificaciones/package-lock.json index 3b47b59c..a95c152a 100644 --- a/servicio-notificaciones/package-lock.json +++ b/servicio-notificaciones/package-lock.json @@ -9,12 +9,16 @@ "version": "0.0.1", "license": "UNLICENSED", "dependencies": { + "@nestjs-modules/mailer": "^1.7.1", "@nestjs/common": "^8.0.0", + "@nestjs/config": "^2.2.0", "@nestjs/core": "^8.0.0", "@nestjs/mapped-types": "*", "@nestjs/microservices": "^8.4.7", "@nestjs/platform-express": "^8.0.0", "@nestjs/swagger": "^5.2.1", + "handlebars": "^4.7.7", + "nodemailer": "^6.7.7", "reflect-metadata": "^0.1.13", "rimraf": "^3.0.2", "rxjs": "^7.2.0", @@ -418,7 +422,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -535,7 +538,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.6.tgz", "integrity": "sha512-uQVSa9jJUe/G/304lXspfWVpKpK4euFLgGiMQFOCpM/bgcAdeoHwi/OQz23O9GK2osz26ZiXRRV9aV+Yl1O8tw==", - "dev": true, "bin": { "parser": "bin/babel-parser.js" }, @@ -705,6 +707,17 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/runtime": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz", + "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/template": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz", @@ -753,7 +766,6 @@ "version": "7.18.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.7.tgz", "integrity": "sha512-QG3yxTcTIBoAcQmkCs+wAPYZhu7Dk9rXKacINfNbdJDNERTbLQbHGyVG8q/YGMPeCJRIhSY0+fTc5+xuh6WPSQ==", - "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.18.6", "to-fast-properties": "^2.0.0" @@ -1310,6 +1322,11 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/@jonkemp/package-utils": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@jonkemp/package-utils/-/package-utils-1.0.8.tgz", + "integrity": "sha512-bIcKnH5YmtTYr7S6J3J86dn/rFiklwRpOqbTOQ9C0WMmR9FKHVb3bxs2UYfqEmNb93O4nbA97sb6rtz33i9SyA==" + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", @@ -1381,6 +1398,71 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "node_modules/@nestjs-modules/mailer": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@nestjs-modules/mailer/-/mailer-1.7.1.tgz", + "integrity": "sha512-FC1V3JhOfLSHk9O1Qhl/JfcZPZET95jH3+b1uYlIbOYQUKwkdZD+0QQbPv65JhDJhKCdJE3ra2zlLWkKTtlIIA==", + "dependencies": { + "glob": "8.0.3", + "inline-css": "3.0.0", + "mjml": "^4.12.0", + "preview-email": "3.0.5" + }, + "optionalDependencies": { + "@types/ejs": "^3.0.3", + "@types/pug": "2.0.5", + "ejs": "^3.1.2", + "handlebars": "^4.7.6", + "pug": "^3.0.1" + }, + "peerDependencies": { + "@nestjs/common": "^7.0.9 || ^8.0.0", + "@nestjs/core": "^7.0.9 || ^8.0.0", + "@types/ejs": "^3.0.3", + "@types/pug": "2.0.5", + "ejs": "^3.1.2", + "handlebars": "^4.7.6", + "nodemailer": "^6.4.6", + "pug": "^3.0.1" + } + }, + "node_modules/@nestjs-modules/mailer/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@nestjs-modules/mailer/node_modules/glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nestjs-modules/mailer/node_modules/minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@nestjs/cli": { "version": "8.2.8", "resolved": "https://registry.npmjs.org/@nestjs/cli/-/cli-8.2.8.tgz", @@ -1484,6 +1566,22 @@ } } }, + "node_modules/@nestjs/config": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@nestjs/config/-/config-2.2.0.tgz", + "integrity": "sha512-78Eg6oMbCy3D/YvqeiGBTOWei1Jwi3f2pSIZcZ1QxY67kYsJzTRTkwRT8Iv30DbK0sGKc1mcloDLD5UXgZAZtg==", + "dependencies": { + "dotenv": "16.0.1", + "dotenv-expand": "8.0.3", + "lodash": "4.17.21", + "uuid": "8.3.2" + }, + "peerDependencies": { + "@nestjs/common": "^7.0.0 || ^8.0.0 || ^9.0.0", + "reflect-metadata": "^0.1.13", + "rxjs": "^6.0.0 || ^7.2.0" + } + }, "node_modules/@nestjs/core": { "version": "8.4.7", "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-8.4.7.tgz", @@ -1816,6 +1914,43 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/@selderee/plugin-htmlparser2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.6.0.tgz", + "integrity": "sha512-J3jpy002TyBjd4N/p6s+s90eX42H2eRhK3SbsZuvTDv977/E8p2U3zikdiehyJja66do7FlxLomZLPlvl2/xaA==", + "dependencies": { + "domhandler": "^4.2.0", + "selderee": "^0.6.0" + }, + "funding": { + "url": "https://ko-fi.com/killymxi" + } + }, + "node_modules/@selderee/plugin-htmlparser2/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/@selderee/plugin-htmlparser2/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, "node_modules/@sinclair/typebox": { "version": "0.23.5", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.23.5.tgz", @@ -1840,6 +1975,14 @@ "@sinonjs/commons": "^1.7.0" } }, + "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==", + "engines": { + "node": ">= 6" + } + }, "node_modules/@tsconfig/node10": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", @@ -1930,6 +2073,12 @@ "integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==", "dev": true }, + "node_modules/@types/ejs": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.1.tgz", + "integrity": "sha512-RQul5wEfY7BjWm0sYY86cmUN/pcXWGyVxWX93DFFJvcrxax5zKlieLwA3T77xJGwNcZW0YW6CYG70p1m8xPFmA==", + "optional": true + }, "node_modules/@types/eslint": { "version": "8.4.3", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.3.tgz", @@ -2058,6 +2207,12 @@ "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", "dev": true }, + "node_modules/@types/pug": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.5.tgz", + "integrity": "sha512-LOnASQoeNZMkzexRuyqcBBDZ6rS+rQxUMkmj5A0PkhhiSZivLIuz6Hxyr1mkGoEZEkk66faROmpMi4fFkrKsBA==", + "optional": true + }, "node_modules/@types/qs": { "version": "6.9.7", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", @@ -2462,6 +2617,11 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, + "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", @@ -2478,7 +2638,6 @@ "version": "8.7.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", - "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -2508,11 +2667,21 @@ "version": "8.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": 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==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/ajv": { "version": "8.9.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", @@ -2550,7 +2719,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, "engines": { "node": ">=6" } @@ -2586,7 +2754,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, "engines": { "node": ">=8" } @@ -2609,7 +2776,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -2652,8 +2818,29 @@ "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "dev": true + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/assert-never": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz", + "integrity": "sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==" + }, + "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==", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "optional": true }, "node_modules/asynckit": { "version": "0.4.0", @@ -2776,6 +2963,17 @@ "@babel/core": "^7.0.0" } }, + "node_modules/babel-walk": { + "version": "3.0.0-canary-5", + "resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz", + "integrity": "sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==", + "dependencies": { + "@babel/types": "^7.9.6" + }, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -2801,11 +2999,15 @@ } ] }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, "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==", - "dev": true, "engines": { "node": ">=8" } @@ -2871,6 +3073,11 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -2884,7 +3091,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -3010,6 +3216,15 @@ "node": ">=6" } }, + "node_modules/camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", + "dependencies": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, "node_modules/camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", @@ -3057,17 +3272,165 @@ "node": ">=10" } }, + "node_modules/character-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", + "integrity": "sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==", + "dependencies": { + "is-regex": "^1.0.3" + } + }, "node_modules/chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, + "node_modules/cheerio": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", + "integrity": "sha512-8/MzidM6G/TgRelkzDG13y3Y9LxBjCb+8yOEZ9+wwq5gVF2w2pV0wmHvjfT0RvuxGyR7UEuK36r+yYMbT4uKgA==", + "dependencies": { + "css-select": "~1.2.0", + "dom-serializer": "~0.1.0", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash.assignin": "^4.0.9", + "lodash.bind": "^4.1.4", + "lodash.defaults": "^4.0.1", + "lodash.filter": "^4.4.0", + "lodash.flatten": "^4.2.0", + "lodash.foreach": "^4.3.0", + "lodash.map": "^4.4.0", + "lodash.merge": "^4.4.0", + "lodash.pick": "^4.2.1", + "lodash.reduce": "^4.4.0", + "lodash.reject": "^4.4.0", + "lodash.some": "^4.4.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cheerio-select/node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cheerio-select/node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cheerio-select/node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/cheerio-select/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/cheerio-select/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/cheerio-select/node_modules/domutils": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", + "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.1" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/cheerio-select/node_modules/entities": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.1.tgz", + "integrity": "sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/cheerio-select/node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, "node_modules/chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, "funding": [ { "type": "individual", @@ -3111,6 +3474,25 @@ "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", "dev": true }, + "node_modules/clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/clean-css/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==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -3163,7 +3545,6 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -3234,8 +3615,7 @@ "node_modules/component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" }, "node_modules/concat-map": { "version": "0.0.1", @@ -3256,11 +3636,29 @@ "typedarray": "^0.0.6" } }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, "node_modules/consola": { "version": "2.15.3", "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" }, + "node_modules/constantinople": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz", + "integrity": "sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==", + "dependencies": { + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.1" + } + }, "node_modules/content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", @@ -3311,8 +3709,7 @@ "node_modules/cookiejar": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", - "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==", - "dev": true + "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==" }, "node_modules/core-util-is": { "version": "1.0.3", @@ -3367,11 +3764,55 @@ "node": ">= 8" } }, + "node_modules/css-rules": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/css-rules/-/css-rules-1.1.0.tgz", + "integrity": "sha512-7L6krLIRwAEVCaVKyCEL6PQjQXUmf8DM9bWYKutlZd0DqOe0SiKIGQOkFb59AjDBb+3If7SDp3X8UlzDAgYSow==", + "dependencies": { + "cssom": "^0.5.0" + } + }, + "node_modules/css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha512-dUQOBoqdR7QwV90WysXPLXG5LO7nhYBgiWVfxF80DKPF8zx1t/pUd2FYy73emg3zrjtM6dzmYgbHKfV2rxiHQA==", + "dependencies": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "node_modules/css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "engines": { + "node": "*" + } + }, + "node_modules/cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==" + }, + "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==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/dayjs": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.3.tgz", + "integrity": "sha512-xxwlswWOlGhzgQ4TKzASQkUhqERI3egRNqgV4ScR8wlANA/A9tZ7miXa44vTTKEq5l7vWoL5G57bG3zA+Kow0A==" + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -3393,14 +3834,12 @@ "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==", - "dev": true + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, "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==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -3414,6 +3853,20 @@ "clone": "^1.0.2" } }, + "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==", + "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", @@ -3448,11 +3901,15 @@ "node": ">=8" } }, + "node_modules/detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==" + }, "node_modules/dezalgo": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", "integrity": "sha512-K7i4zNfT2kgQz3GylDw40ot9GAE47sFZ9EXHFSPP6zONLgH6kWXE0KWJchkbQJLBkRazq4APwZ4OwiFFlT95OQ==", - "dev": true, "dependencies": { "asap": "^2.0.0", "wrappy": "1" @@ -3488,6 +3945,11 @@ "node": ">=8" } }, + "node_modules/discontinuous-range": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", + "integrity": "sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==" + }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -3500,11 +3962,119 @@ "node": ">=6.0.0" } }, + "node_modules/doctypes": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", + "integrity": "sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==" + }, + "node_modules/dom-serializer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "dependencies": { + "domelementtype": "^1.3.0", + "entities": "^1.1.1" + } + }, + "node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "node_modules/domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dependencies": { + "domelementtype": "1" + } + }, + "node_modules/domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/dotenv": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz", + "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/dotenv-expand": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-8.0.3.tgz", + "integrity": "sha512-SErOMvge0ZUyWd5B0NXMQlDkN+8r+HhVUsxgOO7IoPDOdDRD2JjExpN6y3KnFR66jsJMwSn1pqIivhU5rcJiNg==", + "engines": { + "node": ">=12" + } + }, + "node_modules/editorconfig": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", + "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", + "dependencies": { + "commander": "^2.19.0", + "lru-cache": "^4.1.5", + "semver": "^5.6.0", + "sigmund": "^1.0.1" + }, + "bin": { + "editorconfig": "bin/editorconfig" + } + }, + "node_modules/editorconfig/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/editorconfig/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/editorconfig/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/editorconfig/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, + "node_modules/ejs": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", + "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", + "optional": true, + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/electron-to-chromium": { "version": "1.4.176", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.176.tgz", @@ -3526,8 +4096,7 @@ "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==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/encodeurl": { "version": "1.0.2", @@ -3537,6 +4106,14 @@ "node": ">= 0.8" } }, + "node_modules/encoding-japanese": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encoding-japanese/-/encoding-japanese-2.0.0.tgz", + "integrity": "sha512-++P0RhebUC8MJAwJOsT93dT+5oc5oPImp1HubZpAuCZ5kTLnhuuBhKHj2jJeO/Gj93idPBWmIuQ9QWMe5rX3pQ==", + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -3559,6 +4136,11 @@ "node": ">=10.13.0" } }, + "node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -3578,11 +4160,21 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, "engines": { "node": ">=6" } }, + "node_modules/escape-goat": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-3.0.0.tgz", + "integrity": "sha512-w3PwNZJwRxlp47QGzhuEBldEqVHHhh8/tIPcl6ecf2Bou99cdAt0knihBV0Ecc7CGxYduXVBDheH1K2oADRlvw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -3600,6 +4192,83 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "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==", + "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/escodegen/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "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/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/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/escodegen/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/eslint": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.18.0.tgz", @@ -3824,7 +4493,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -3879,7 +4547,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, "engines": { "node": ">=4.0" } @@ -3888,7 +4555,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -4119,6 +4785,17 @@ "node": ">=4" } }, + "node_modules/extract-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-css/-/extract-css-2.0.1.tgz", + "integrity": "sha512-DX3+27l6NIVYNidJjBJ4VU3Z5tk/0aEO/JJ6XEJIRPFum9kyA1PifPjnEa8Ztnv4DHNQg5EF27aypGz6s/fMdw==", + "dependencies": { + "batch": "^0.6.1", + "href-content": "^2.0.1", + "list-stylesheets": "^1.2.10", + "style-data": "^1.4.8" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -4156,8 +4833,7 @@ "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, "node_modules/fast-safe-stringify": { "version": "2.1.1", @@ -4218,11 +4894,48 @@ "node": "^10.12.0 || >=12.0.0" } }, + "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==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "optional": true, + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "optional": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "optional": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "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==", - "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -4286,6 +4999,11 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/flat-util": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/flat-util/-/flat-util-1.1.9.tgz", + "integrity": "sha512-BOTMw/6rbbxVjv5JQvwgGMc2/6wWGd2VeyTvnzvvE49VRjS0tTxLbry/QVP1yPw8SaAOBYsnixmzruXoqjdUHA==" + }, "node_modules/flatted": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz", @@ -4377,7 +5095,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.0.1.tgz", "integrity": "sha512-rjTMNbp2BpfQShhFbR3Ruk3qk2y9jKpvMW78nJgx8QKtxjDVrwbZG+wvDOmVbifHyOUOQJXxqEy6r0faRrPzTQ==", - "dev": true, "dependencies": { "dezalgo": "1.0.3", "hexoid": "1.0.0", @@ -4392,7 +5109,6 @@ "version": "6.9.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.3.tgz", "integrity": "sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw==", - "dev": true, "engines": { "node": ">=0.6" }, @@ -4445,7 +5161,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -4455,6 +5170,39 @@ "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": "sha512-faFVML1aBx2UoDStmLwv2Wptt4vw5x03xxX172nhA5Y5HBshW5JweqQ2W4xL4dezQTG8inJsuYcpPHHU3X5OTQ==", + "dependencies": { + "readable-stream": "1.1.x", + "xregexp": "2.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ftp/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/ftp/node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/ftp/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" + }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -4479,7 +5227,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -4518,6 +5265,51 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "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==", + "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/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==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/get-uri/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/get-uri/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==", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -4541,7 +5333,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -4593,8 +5384,35 @@ "node_modules/graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "node_modules/handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/handlebars/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==", + "engines": { + "node": ">=0.10.0" + } }, "node_modules/has": { "version": "1.0.3", @@ -4626,21 +5444,197 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, "node_modules/hexoid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", - "dev": true, "engines": { "node": ">=8" } }, + "node_modules/href-content": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/href-content/-/href-content-2.0.1.tgz", + "integrity": "sha512-5uiAmBCvzCFVu70kli3Hp0BONbAOfwGqR7jKolV+bAh174sIAZBL8DHfg5SnxAhId2mQmYgyL7Y62msnWJ34Xg==", + "dependencies": { + "remote-content": "^3.0.0" + } + }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, + "node_modules/html-minifier": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", + "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", + "dependencies": { + "camel-case": "^3.0.0", + "clean-css": "^4.2.1", + "commander": "^2.19.0", + "he": "^1.2.0", + "param-case": "^2.1.1", + "relateurl": "^0.2.7", + "uglify-js": "^3.5.1" + }, + "bin": { + "html-minifier": "cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/html-minifier/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/html-to-text": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/html-to-text/-/html-to-text-8.2.0.tgz", + "integrity": "sha512-CLXExYn1b++Lgri+ZyVvbUEFwzkLZppjjZOwB7X1qv2jIi8MrMEvxWX5KQ7zATAzTvcqgmtO00M2kCRMtEdOKQ==", + "dependencies": { + "@selderee/plugin-htmlparser2": "^0.6.0", + "deepmerge": "^4.2.2", + "he": "^1.2.0", + "htmlparser2": "^6.1.0", + "minimist": "^1.2.6", + "selderee": "^0.6.0" + }, + "bin": { + "html-to-text": "bin/cli.js" + }, + "engines": { + "node": ">=10.23.2" + } + }, + "node_modules/html-to-text/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "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/html-to-text/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/html-to-text/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/html-to-text/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/html-to-text/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/html-to-text/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/htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dependencies": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "node_modules/htmlparser2/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -4656,6 +5650,31 @@ "node": ">= 0.8" } }, + "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==", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -4763,6 +5782,28 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "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/inline-css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/inline-css/-/inline-css-3.0.0.tgz", + "integrity": "sha512-a+IE7oLaQqeVr3hMviekDDk94LA0+oZX8JEfJuXOm20diZAkOFrq/f/QZCEXpMK6qIbYr0nQNpsuioXQN1ZgXA==", + "dependencies": { + "cheerio": "^0.22.0", + "css-rules": "^1.0.9", + "extract-css": "^2.0.0", + "flat-util": "^1.1.6", + "pick-util": "^1.1.3", + "slick": "^1.12.2", + "specificity": "^0.4.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/inquirer": { "version": "7.3.3", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", @@ -4830,6 +5871,11 @@ "node": ">= 0.10" } }, + "node_modules/ip": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" + }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -4848,7 +5894,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -4860,7 +5905,6 @@ "version": "2.9.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", - "dev": true, "dependencies": { "has": "^1.0.3" }, @@ -4868,11 +5912,44 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-expression": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz", + "integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==", + "dependencies": { + "acorn": "^7.1.1", + "object-assign": "^4.1.1" + } + }, + "node_modules/is-expression/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/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -4881,7 +5958,6 @@ "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==", - "dev": true, "engines": { "node": ">=8" } @@ -4899,7 +5975,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -4920,11 +5995,30 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, "engines": { "node": ">=0.12.0" } }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -4949,6 +6043,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -5052,6 +6157,40 @@ "node": ">=6" } }, + "node_modules/jake": { + "version": "10.8.5", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", + "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "optional": true, + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "optional": true, + "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/jest": { "version": "28.0.3", "resolved": "https://registry.npmjs.org/jest/-/jest-28.0.3.tgz", @@ -6176,6 +7315,30 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/js-beautify": { + "version": "1.14.4", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.4.tgz", + "integrity": "sha512-+b4A9c3glceZEmxyIbxDOYB0ZJdReLvyU1077RqKsO4dZx9FUHjTOJn8VHwpg33QoucIykOiYbh7MfqBOghnrA==", + "dependencies": { + "config-chain": "^1.1.13", + "editorconfig": "^0.15.3", + "glob": "^7.1.3", + "nopt": "^5.0.0" + }, + "bin": { + "css-beautify": "js/bin/css-beautify.js", + "html-beautify": "js/bin/html-beautify.js", + "js-beautify": "js/bin/js-beautify.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/js-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", + "integrity": "sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==" + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -6254,6 +7417,141 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jstransformer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", + "integrity": "sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==", + "dependencies": { + "is-promise": "^2.0.0", + "promise": "^7.0.1" + } + }, + "node_modules/juice": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/juice/-/juice-7.0.0.tgz", + "integrity": "sha512-AjKQX31KKN+uJs+zaf+GW8mBO/f/0NqSh2moTMyvwBY+4/lXIYTU8D8I2h6BAV3Xnz6GGsbalUyFqbYMe+Vh+Q==", + "dependencies": { + "cheerio": "^1.0.0-rc.3", + "commander": "^5.1.0", + "mensch": "^0.3.4", + "slick": "^1.12.2", + "web-resource-inliner": "^5.0.0" + }, + "bin": { + "juice": "bin/juice" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/juice/node_modules/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/juice/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/juice/node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/juice/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/juice/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/juice/node_modules/domutils": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", + "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.1" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/juice/node_modules/entities": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.1.tgz", + "integrity": "sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/juice/node_modules/htmlparser2": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", + "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "entities": "^4.3.0" + } + }, "node_modules/kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", @@ -6285,12 +7583,61 @@ "node": ">= 0.8.0" } }, + "node_modules/libbase64": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/libbase64/-/libbase64-1.2.1.tgz", + "integrity": "sha512-l+nePcPbIG1fNlqMzrh68MLkX/gTxk/+vdvAb388Ssi7UuUN31MI44w4Yf33mM3Cm4xDfw48mdf3rkdHszLNew==" + }, + "node_modules/libmime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/libmime/-/libmime-5.1.0.tgz", + "integrity": "sha512-xOqorG21Va+3CjpFOfFTU7SWohHH2uIX9ZY4Byz6J+lvpfvc486tOAT/G9GfbrKtJ9O7NCX9o0aC2lxqbnZ9EA==", + "dependencies": { + "encoding-japanese": "2.0.0", + "iconv-lite": "0.6.3", + "libbase64": "1.2.1", + "libqp": "1.1.0" + } + }, + "node_modules/libmime/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/libqp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz", + "integrity": "sha512-4Rgfa0hZpG++t1Vi2IiqXG9Ad1ig4QTmtuZF946QJP4bPqOYC78ixUXgz5TW/wE7lNaNKlplSYTxQ+fR2KZ0EA==" + }, "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==", "dev": true }, + "node_modules/linkify-it": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.0.tgz", + "integrity": "sha512-QAxkXyzT/TXgwGyY4rTgC95Ex6/lZ5/lYTV9nug6eJt93BCBQGOE47D/g2+/m5J1MrVLr2ot97OXkBZ9bBpR4A==", + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/list-stylesheets": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/list-stylesheets/-/list-stylesheets-1.2.10.tgz", + "integrity": "sha512-F85Yx9GKLJwDr1T9U34FST5m6iIXhPzqD+MRDsljZsdmoEZwllZBDbkAVaa+EpLKrr6de+P4SRGNHwrWv6zMZA==", + "dependencies": { + "cheerio": "^0.22.0", + "pick-util": "^1.1.4" + } + }, "node_modules/loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", @@ -6317,6 +7664,41 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "node_modules/lodash.assignin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", + "integrity": "sha512-yX/rx6d/UTVh7sSVWVSIMjfnz95evAgDFdb1ZozC35I9mSFCkmzptOzevxjgbQUsc78NR44LVHWjsoMQXy9FDg==" + }, + "node_modules/lodash.bind": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", + "integrity": "sha512-lxdsn7xxlCymgLYo1gGvVrfHmkjDiyqVv62FAeF2i5ta72BipE1SLxw8hPEPLhD4/247Ijw07UQH7Hq/chT5LA==" + }, + "node_modules/lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" + }, + "node_modules/lodash.filter": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", + "integrity": "sha512-pXYUy7PR8BCLwX5mgJ/aNtyOvuJTdZAo9EQFUvMIYugqmJxnrYaANvTbgndOzHSCSR0wnlBBfRXJL5SbWxo3FQ==" + }, + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" + }, + "node_modules/lodash.foreach": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", + "integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==" + }, + "node_modules/lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==" + }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -6326,8 +7708,27 @@ "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "node_modules/lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==" + }, + "node_modules/lodash.reduce": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", + "integrity": "sha512-6raRe2vxCYBhpBu+B+TtNGUzah+hQjVdu3E17wfusjyrXBka2nBS8OH/gjVZ5PvHOhWmIZTYri09Z6n/QfnNMw==" + }, + "node_modules/lodash.reject": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", + "integrity": "sha512-qkTuvgEzYdyhiJBx42YPzPo71R1aEr0z79kAv7Ixg8wPFEjgRgJdUsGMG3Hf3OYSF/kHI79XhNlt+5Ar6OzwxQ==" + }, + "node_modules/lodash.some": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", + "integrity": "sha512-j7MJE+TuT51q9ggt4fSgVqro163BEFjAt3u97IqU+JA2DkWl80nFTrowzLpZ/BnpN7rrl0JA/593NAdd8p/scQ==" }, "node_modules/log-symbols": { "version": "4.1.0", @@ -6361,11 +7762,15 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==" + }, "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==", - "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -6394,6 +7799,51 @@ "sourcemap-codec": "^1.4.4" } }, + "node_modules/mailparser": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/mailparser/-/mailparser-3.5.0.tgz", + "integrity": "sha512-mdr2DFgz8LKC0/Q6io6znA0HVnzaPFT0a4TTnLeZ7mWHlkfnm227Wxlq7mHh7AgeP32h7gOUpXvyhSfJJIEeyg==", + "dependencies": { + "encoding-japanese": "2.0.0", + "he": "1.2.0", + "html-to-text": "8.2.0", + "iconv-lite": "0.6.3", + "libmime": "5.1.0", + "linkify-it": "4.0.0", + "mailsplit": "5.3.2", + "nodemailer": "6.7.3", + "tlds": "1.231.0" + } + }, + "node_modules/mailparser/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mailparser/node_modules/nodemailer": { + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.3.tgz", + "integrity": "sha512-KUdDsspqx89sD4UUyUKzdlUOper3hRkDVkrKh/89G+d9WKsU5ox51NWS4tB1XR5dPUdR4SP0E3molyEfOvSa3g==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/mailsplit": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/mailsplit/-/mailsplit-5.3.2.tgz", + "integrity": "sha512-coES12hhKqagkuBTJoqERX+y9bXNpxbxw3Esd07auuwKYmcagouVlgucyIVRp48fnswMKxcUtLoFn/L1a75ynQ==", + "dependencies": { + "libbase64": "1.2.1", + "libmime": "5.1.0", + "libqp": "1.1.0" + } + }, "node_modules/make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -6441,6 +7891,14 @@ "node": ">= 0.6" } }, + "node_modules/mediaquery-text": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mediaquery-text/-/mediaquery-text-1.2.0.tgz", + "integrity": "sha512-cJyRqgYQi+hsYhRkyd5le0s4LsEPvOB7r+6X3jdEELNqVlM9mRIgyUPg9BzF+PuTqQH1ZekgIjYVOeWSXWq35Q==", + "dependencies": { + "cssom": "^0.5.0" + } + }, "node_modules/memfs": { "version": "3.4.7", "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz", @@ -6453,6 +7911,11 @@ "node": ">= 4.0.0" } }, + "node_modules/mensch": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/mensch/-/mensch-0.3.4.tgz", + "integrity": "sha512-IAeFvcOnV9V0Yk+bFhYR07O3yNina9ANIN5MoXBKYJ/RLYPurd2d0yw14MDhpr9/momp0WofT1bPUh3hkzdi/g==" + }, "node_modules/merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", @@ -6549,6 +8012,673 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" }, + "node_modules/mjml": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml/-/mjml-4.13.0.tgz", + "integrity": "sha512-OnFKESouLshz8DPFSb6M/dE8GkhiJnoy6LAam5TiLA1anAj24yQ2ZH388LtQoEkvTisqwiTmc9ejDh5ctnFaJQ==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "mjml-cli": "4.13.0", + "mjml-core": "4.13.0", + "mjml-migrate": "4.13.0", + "mjml-preset-core": "4.13.0", + "mjml-validator": "4.13.0" + }, + "bin": { + "mjml": "bin/mjml" + } + }, + "node_modules/mjml-accordion": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-accordion/-/mjml-accordion-4.13.0.tgz", + "integrity": "sha512-E3yihZW5Oq2p+sWOcr8kWeRTROmiTYOGxB4IOxW/jTycdY07N3FX3e6vuh7Fv3rryHEUaydUQYto3ICVyctI7w==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-body": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-body/-/mjml-body-4.13.0.tgz", + "integrity": "sha512-S4HgwAuO9dEsyX9sr6WBf9/xr+H2ASVaLn22aurJm1S2Lvc1wifLPYBQgFmNdCjaesTCNtOMUDpG+Rbnavyaqg==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-button": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-button/-/mjml-button-4.13.0.tgz", + "integrity": "sha512-3y8IAHCCxh7ESHh1aOOqobZKUgyNxOKAGQ9TlJoyaLpsKUFzkN8nmrD0KXF0ADSuzvhMZ1CdRIJuZ5mjv2TwWQ==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-carousel": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-carousel/-/mjml-carousel-4.13.0.tgz", + "integrity": "sha512-ORSY5bEYlMlrWSIKI/lN0Tz3uGltWAjG8DQl2Yr3pwjwOaIzGE+kozrDf+T9xItfiIIbvKajef1dg7B7XgP0zg==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-cli": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-cli/-/mjml-cli-4.13.0.tgz", + "integrity": "sha512-kAZxpH0QqlTF/CcLzELgKw1ljKRxrmWJ310CJQhbPAxHvwQ/nIb+q82U+zRJAelRPPKjnOb+hSrMRqTgk9rH3w==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "chokidar": "^3.0.0", + "glob": "^7.1.1", + "html-minifier": "^4.0.0", + "js-beautify": "^1.6.14", + "lodash": "^4.17.21", + "mjml-core": "4.13.0", + "mjml-migrate": "4.13.0", + "mjml-parser-xml": "4.13.0", + "mjml-validator": "4.13.0", + "yargs": "^16.1.0" + }, + "bin": { + "mjml-cli": "bin/mjml" + } + }, + "node_modules/mjml-cli/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/mjml-column": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-column/-/mjml-column-4.13.0.tgz", + "integrity": "sha512-O8FrWKK/bCy9XpKxrKRYWNdgWNaVd4TK4RqMeVI/I70IbnYnc1uf15jnsPMxCBSbT+NyXyk8k7fn099797uwpw==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-core": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-core/-/mjml-core-4.13.0.tgz", + "integrity": "sha512-kU5AoVTlZaXR/EDi3ix66xpzUe+kScYus71lBH/wo/B+LZW70GHE1AYWtsog5oJp1MuTHpMFTNuBD/wePeEgWg==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "cheerio": "1.0.0-rc.10", + "detect-node": "2.0.4", + "html-minifier": "^4.0.0", + "js-beautify": "^1.6.14", + "juice": "^7.0.0", + "lodash": "^4.17.21", + "mjml-migrate": "4.13.0", + "mjml-parser-xml": "4.13.0", + "mjml-validator": "4.13.0" + } + }, + "node_modules/mjml-core/node_modules/cheerio": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", + "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==", + "dependencies": { + "cheerio-select": "^1.5.0", + "dom-serializer": "^1.3.2", + "domhandler": "^4.2.0", + "htmlparser2": "^6.1.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/mjml-core/node_modules/cheerio-select": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.6.0.tgz", + "integrity": "sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==", + "dependencies": { + "css-select": "^4.3.0", + "css-what": "^6.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.3.1", + "domutils": "^2.8.0" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/mjml-core/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/mjml-core/node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/mjml-core/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "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/mjml-core/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/mjml-core/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/mjml-core/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/mjml-core/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/mjml-core/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/mjml-core/node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/mjml-core/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/mjml-core/node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/mjml-divider": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-divider/-/mjml-divider-4.13.0.tgz", + "integrity": "sha512-ooPCwfmxEC+wJduqObYezMp7W5UCHjL9Y1LPB5FGna2FrOejgfd6Ix3ij8Wrmycmlol7E2N4D7c5NDH5DbRCJg==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-group": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-group/-/mjml-group-4.13.0.tgz", + "integrity": "sha512-U7E8m8aaoAE/dMqjqXPjjrKcwO36B4cquAy9ASldECrIZJBcpFYO6eYf5yLXrNCUM2P0id8pgVjrUq23s00L7Q==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-head": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-head/-/mjml-head-4.13.0.tgz", + "integrity": "sha512-sL2qQuoVALXBCiemu4DPo9geDr8DuUdXVJxm+4nd6k5jpLCfSDmFlNhgSsLPzsYn7VEac3/sxsjLtomQ+6/BHg==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-head-attributes": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-head-attributes/-/mjml-head-attributes-4.13.0.tgz", + "integrity": "sha512-haggCafno+0lQylxJStkINCVCPMwfTpwE6yjCHeGOpQl/TkoNmjNkDr7DEEbNTZbt4Ekg070lQFn7clDy38EoA==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-head-breakpoint": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-head-breakpoint/-/mjml-head-breakpoint-4.13.0.tgz", + "integrity": "sha512-D2iPDeUKQK1+rYSNa2HGOvgfPxZhNyndTG0iBEb/FxdGge2hbeDCZEN0mwDYE3wWB+qSBqlCuMI+Vr4pEjZbKg==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-head-font": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-head-font/-/mjml-head-font-4.13.0.tgz", + "integrity": "sha512-mYn8aWnbrEap5vX2b4662hkUv6WifcYzYn++Yi6OHrJQi55LpzcU+myAGpfQEXXrpU8vGwExMTFKsJq5n2Kaow==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-head-html-attributes": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-head-html-attributes/-/mjml-head-html-attributes-4.13.0.tgz", + "integrity": "sha512-m30Oro297+18Zou/1qYjagtmCOWtYXeoS38OABQ5zOSzMItE3TcZI9JNcOueIIWIyFCETe8StrTAKcQ2GHwsDw==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-head-preview": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-head-preview/-/mjml-head-preview-4.13.0.tgz", + "integrity": "sha512-v0K/NocjFCbaoF/0IMVNmiqov91HxqT07vNTEl0Bt9lKFrTKVC01m1S4K7AB78T/bEeJ/HwmNjr1+TMtVNGGow==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-head-style": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-head-style/-/mjml-head-style-4.13.0.tgz", + "integrity": "sha512-tBa33GL9Atn5bAM2UwE+uxv4rI29WgX/e5lXX+5GWlsb4thmiN6rxpFTNqBqWbBNRbZk4UEZF78M7Da8xC1ZGQ==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-head-title": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-head-title/-/mjml-head-title-4.13.0.tgz", + "integrity": "sha512-Mq0bjuZXJlwxfVcjuYihQcigZSDTKeQaG3nORR1D0jsOH2BXU4XgUK1UOcTXn2qCBIfRoIMq7rfzYs+L0CRhdw==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-hero": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-hero/-/mjml-hero-4.13.0.tgz", + "integrity": "sha512-aWEOScdrhyjwdKBWG4XQaElRHP8LU5PtktkpMeBXa4yxrxNs25qRnDqMNkjSrnnmFKWZmQ166tfboY6RBNf0UA==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-image": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-image/-/mjml-image-4.13.0.tgz", + "integrity": "sha512-agMmm2wRZTIrKwrUnYFlnAbtrKYSP0R2en+Vf92HPspAwmaw3/AeOW/QxmSiMhfGf+xsEJyzVvR/nd33jbT3sg==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-migrate": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-migrate/-/mjml-migrate-4.13.0.tgz", + "integrity": "sha512-I1euHiAyNpaz+B5vH+Z4T+hg/YtI5p3PqQ3/zTLv8gi24V6BILjTaftWhH5+3R/gQkQhH0NUaWNnRmds+Mq5DQ==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "js-beautify": "^1.6.14", + "lodash": "^4.17.21", + "mjml-core": "4.13.0", + "mjml-parser-xml": "4.13.0", + "yargs": "^16.1.0" + }, + "bin": { + "migrate": "lib/cli.js" + } + }, + "node_modules/mjml-migrate/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/mjml-navbar": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-navbar/-/mjml-navbar-4.13.0.tgz", + "integrity": "sha512-0Oqyyk+OdtXfsjswRb/7Ql1UOjN4MbqFPKoyltJqtj+11MRpF5+Wjd74Dj9H7l81GFwkIB9OaP+ZMiD+TPECgg==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-parser-xml": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-parser-xml/-/mjml-parser-xml-4.13.0.tgz", + "integrity": "sha512-phljtI8DaW++q0aybR/Ykv9zCyP/jCFypxVNo26r2IQo//VYXyc7JuLZZT8N/LAI8lZcwbTVxQPBzJTmZ5IfwQ==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "detect-node": "2.0.4", + "htmlparser2": "^4.1.0", + "lodash": "^4.17.15" + } + }, + "node_modules/mjml-parser-xml/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "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/mjml-parser-xml/node_modules/dom-serializer/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/mjml-parser-xml/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/mjml-parser-xml/node_modules/domhandler": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", + "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", + "dependencies": { + "domelementtype": "^2.0.1" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/mjml-parser-xml/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/mjml-parser-xml/node_modules/domutils/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/mjml-parser-xml/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/mjml-parser-xml/node_modules/htmlparser2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", + "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0", + "domutils": "^2.0.0", + "entities": "^2.0.0" + } + }, + "node_modules/mjml-preset-core": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-preset-core/-/mjml-preset-core-4.13.0.tgz", + "integrity": "sha512-gxzYaKkvUrHuzT1oqjEPSDtdmgEnN99Hf5f1r2CR5aMOB1x66EA3T8ATvF1o7qrBTVV4KMVlQem3IubMSYJZRw==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "mjml-accordion": "4.13.0", + "mjml-body": "4.13.0", + "mjml-button": "4.13.0", + "mjml-carousel": "4.13.0", + "mjml-column": "4.13.0", + "mjml-divider": "4.13.0", + "mjml-group": "4.13.0", + "mjml-head": "4.13.0", + "mjml-head-attributes": "4.13.0", + "mjml-head-breakpoint": "4.13.0", + "mjml-head-font": "4.13.0", + "mjml-head-html-attributes": "4.13.0", + "mjml-head-preview": "4.13.0", + "mjml-head-style": "4.13.0", + "mjml-head-title": "4.13.0", + "mjml-hero": "4.13.0", + "mjml-image": "4.13.0", + "mjml-navbar": "4.13.0", + "mjml-raw": "4.13.0", + "mjml-section": "4.13.0", + "mjml-social": "4.13.0", + "mjml-spacer": "4.13.0", + "mjml-table": "4.13.0", + "mjml-text": "4.13.0", + "mjml-wrapper": "4.13.0" + } + }, + "node_modules/mjml-raw": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-raw/-/mjml-raw-4.13.0.tgz", + "integrity": "sha512-JbBYxwX1a/zbqnCrlDCRNqov2xqUrMCaEdTHfqE2athj479aQXvLKFM20LilTMaClp/dR0yfvFLfFVrC5ej4FQ==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-section": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-section/-/mjml-section-4.13.0.tgz", + "integrity": "sha512-BLcqlhavtRakKtzDQPLv6Ae4Jt4imYWq/P0jo+Sjk7tP4QifgVA2KEQOirPK5ZUqw/lvK7Afhcths5rXZ2ItnQ==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-social": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-social/-/mjml-social-4.13.0.tgz", + "integrity": "sha512-zL2a7Wwsk8OXF0Bqu+1B3La1UPwdTMcEXptO8zdh2V5LL6Xb7Gfyvx6w0CmmBtG5IjyCtqaKy5wtrcpG9Hvjfg==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-spacer": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-spacer/-/mjml-spacer-4.13.0.tgz", + "integrity": "sha512-Acw4QJ0MJ38W4IewXuMX7hLaW1BZaln+gEEuTfrv0xwPdTxX1ILqz4r+s9mYMxYkIDLWMCjBvXyQK6aWlid13A==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-table": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-table/-/mjml-table-4.13.0.tgz", + "integrity": "sha512-UAWPVMaGReQhf776DFdiwdcJTIHTek3zzQ1pb+E7VlypEYgIpFvdUJ39UIiiflhqtdBATmHwKBOtePwU0MzFMg==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-text": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-text/-/mjml-text-4.13.0.tgz", + "integrity": "sha512-uDuraaQFdu+6xfuigCimbeznnOnJfwRdcCL1lTBTusTuEvW/5Va6m2D3mnMeEpl+bp4+cxesXIz9st6A9pcg5A==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "node_modules/mjml-validator": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-validator/-/mjml-validator-4.13.0.tgz", + "integrity": "sha512-uURYfyQYtHJ6Qz/1A7/+E9ezfcoISoLZhYK3olsxKRViwaA2Mm8gy/J3yggZXnsUXWUns7Qymycm5LglLEIiQg==", + "dependencies": { + "@babel/runtime": "^7.14.6" + } + }, + "node_modules/mjml-wrapper": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-wrapper/-/mjml-wrapper-4.13.0.tgz", + "integrity": "sha512-p/44JvHg04rAFR7QDImg8nZucEokIjFH6KJMHxsO0frJtLZ+IuakctzlZAADHsqiR52BwocDsXSa+o9SE2l6Ng==", + "dependencies": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0", + "mjml-section": "4.13.0" + } + }, "node_modules/mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", @@ -6560,11 +8690,15 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/moo": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.1.tgz", + "integrity": "sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==" + }, "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==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/multer": { "version": "1.4.4-lts.1", @@ -6595,6 +8729,32 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "node_modules/nearley": { + "version": "2.20.1", + "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz", + "integrity": "sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==", + "dependencies": { + "commander": "^2.19.0", + "moo": "^0.5.0", + "railroad-diagrams": "^1.0.0", + "randexp": "0.4.6" + }, + "bin": { + "nearley-railroad": "bin/nearley-railroad.js", + "nearley-test": "bin/nearley-test.js", + "nearley-unparse": "bin/nearley-unparse.js", + "nearleyc": "bin/nearleyc.js" + }, + "funding": { + "type": "individual", + "url": "https://nearley.js.org/#give-to-nearley" + } + }, + "node_modules/nearley/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -6606,8 +8766,23 @@ "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "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==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dependencies": { + "lower-case": "^1.1.1" + } }, "node_modules/node-emoji": { "version": "1.11.0", @@ -6649,11 +8824,32 @@ "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==", "dev": true }, + "node_modules/nodemailer": { + "version": "6.7.7", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.7.tgz", + "integrity": "sha512-pOLC/s+2I1EXuSqO5Wa34i3kXZG3gugDssH+ZNCevHad65tc8vQlCQpOLaUjopvkRQKm2Cki2aME7fEOPRy3bA==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, "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==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -6670,6 +8866,14 @@ "node": ">=8" } }, + "node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dependencies": { + "boolbase": "~1.0.0" + } + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -6728,6 +8932,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", @@ -6845,6 +9064,46 @@ "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==", + "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-resolver": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.1.tgz", + "integrity": "sha512-cy7u00ko2KVgBAjuhevqpPeHIkCIqPe1v24cydhWjmeuzaBfmUWFCZJ1iAh5TuVzVZoUzXIW7K8sMYOZ84uZ9Q==", + "dependencies": { + "degenerator": "^3.0.2", + "ip": "^1.1.5", + "netmask": "^2.0.2" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", + "dependencies": { + "no-case": "^2.2.0" + } + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -6875,6 +9134,77 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parse5": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.0.0.tgz", + "integrity": "sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==", + "dependencies": { + "entities": "^4.3.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "dependencies": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/parse5-htmlparser2-tree-adapter/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.1.tgz", + "integrity": "sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parseley": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/parseley/-/parseley-0.7.0.tgz", + "integrity": "sha512-xyOytsdDu077M3/46Am+2cGXEKM9U9QclBDv7fimY7e+BBlxh2JcBp2mgNsmkyA9uvgyTjVzDi7cP1v4hcFxbw==", + "dependencies": { + "moo": "^0.5.1", + "nearley": "^2.20.1" + }, + "funding": { + "url": "https://ko-fi.com/killymxi" + } + }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -6912,8 +9242,7 @@ "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==", - "dev": true + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-to-regexp": { "version": "3.2.0", @@ -6929,6 +9258,14 @@ "node": ">=8" } }, + "node_modules/pick-util": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/pick-util/-/pick-util-1.1.5.tgz", + "integrity": "sha512-H0MaM8T7wpQ/azvB12ChZw7kpSFzjsgv3Z+N7fUWnL1McTGSEeroCngcK4eOPiFQq08rAyKX3hadcAB1kUqfXA==", + "dependencies": { + "@jonkemp/package-utils": "^1.0.8" + } + }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -6939,7 +9276,6 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, "engines": { "node": ">=8.6" }, @@ -7039,11 +9375,36 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/preview-email": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/preview-email/-/preview-email-3.0.5.tgz", + "integrity": "sha512-q37jdkVw+wic0o/7xYhOTBS4kF0WX3two0OepmR1Fhxp9NTpO3rJTccAjQm95gJx/2Wa/Nv98sr9pXIQ77/foA==", + "dependencies": { + "dayjs": "^1.10.6", + "debug": "^4.3.2", + "mailparser": "^3.3.0", + "nodemailer": "^6.6.3", + "open": "7", + "pug": "^3.0.2", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=10" + } + }, "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/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dependencies": { + "asap": "~2.0.3" + } + }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -7057,6 +9418,11 @@ "node": ">= 6" } }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -7069,6 +9435,159 @@ "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==", + "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/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==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "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==" + }, + "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==" + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" + }, + "node_modules/pug": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.2.tgz", + "integrity": "sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==", + "dependencies": { + "pug-code-gen": "^3.0.2", + "pug-filters": "^4.0.0", + "pug-lexer": "^5.0.1", + "pug-linker": "^4.0.0", + "pug-load": "^3.0.0", + "pug-parser": "^6.0.0", + "pug-runtime": "^3.0.1", + "pug-strip-comments": "^2.0.0" + } + }, + "node_modules/pug-attrs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-3.0.0.tgz", + "integrity": "sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==", + "dependencies": { + "constantinople": "^4.0.1", + "js-stringify": "^1.0.2", + "pug-runtime": "^3.0.0" + } + }, + "node_modules/pug-code-gen": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.2.tgz", + "integrity": "sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==", + "dependencies": { + "constantinople": "^4.0.1", + "doctypes": "^1.1.0", + "js-stringify": "^1.0.2", + "pug-attrs": "^3.0.0", + "pug-error": "^2.0.0", + "pug-runtime": "^3.0.0", + "void-elements": "^3.1.0", + "with": "^7.0.0" + } + }, + "node_modules/pug-error": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.0.0.tgz", + "integrity": "sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==" + }, + "node_modules/pug-filters": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-4.0.0.tgz", + "integrity": "sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==", + "dependencies": { + "constantinople": "^4.0.1", + "jstransformer": "1.0.0", + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0", + "resolve": "^1.15.1" + } + }, + "node_modules/pug-lexer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz", + "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==", + "dependencies": { + "character-parser": "^2.2.0", + "is-expression": "^4.0.0", + "pug-error": "^2.0.0" + } + }, + "node_modules/pug-linker": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-4.0.0.tgz", + "integrity": "sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==", + "dependencies": { + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0" + } + }, + "node_modules/pug-load": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-3.0.0.tgz", + "integrity": "sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==", + "dependencies": { + "object-assign": "^4.1.1", + "pug-walk": "^2.0.0" + } + }, + "node_modules/pug-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-6.0.0.tgz", + "integrity": "sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==", + "dependencies": { + "pug-error": "^2.0.0", + "token-stream": "1.0.0" + } + }, + "node_modules/pug-runtime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.1.tgz", + "integrity": "sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==" + }, + "node_modules/pug-strip-comments": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz", + "integrity": "sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==", + "dependencies": { + "pug-error": "^2.0.0" + } + }, + "node_modules/pug-walk": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-2.0.0.tgz", + "integrity": "sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==" + }, "node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -7122,6 +9641,23 @@ } ] }, + "node_modules/railroad-diagrams": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", + "integrity": "sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==" + }, + "node_modules/randexp": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz", + "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==", + "dependencies": { + "discontinuous-range": "1.0.0", + "ret": "~0.1.10" + }, + "engines": { + "node": ">=0.12" + } + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -7182,7 +9718,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -7207,6 +9742,11 @@ "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" }, + "node_modules/regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + }, "node_modules/regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", @@ -7219,11 +9759,28 @@ "url": "https://github.com/sponsors/mysticatea" } }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remote-content": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remote-content/-/remote-content-3.0.0.tgz", + "integrity": "sha512-/hjCYVqWY/jYR07ptEJpClnYrGedSQ5AxCrEeMb3NlrxTgUK/7+iCOReE3z1QMYm3UL7sJX3o7cww/NC6UgyhA==", + "dependencies": { + "proxy-from-env": "^1.1.0", + "superagent": "^7.0.2", + "superagent-proxy": "^3.0.0" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -7241,7 +9798,6 @@ "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, "dependencies": { "is-core-module": "^2.9.0", "path-parse": "^1.0.7", @@ -7306,6 +9862,14 @@ "node": ">=8" } }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "engines": { + "node": ">=0.12" + } + }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -7443,11 +10007,21 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, + "node_modules/selderee": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/selderee/-/selderee-0.6.0.tgz", + "integrity": "sha512-ibqWGV5aChDvfVdqNYuaJP/HnVBhlRGSRrlbttmlMpHcLuTqqbMH36QkSs9GEgj5M88JDYLI8eyP94JaQ8xRlg==", + "dependencies": { + "parseley": "^0.7.0" + }, + "funding": { + "url": "https://ko-fi.com/killymxi" + } + }, "node_modules/semver": { "version": "7.3.7", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -7578,6 +10152,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==" + }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -7599,6 +10178,49 @@ "node": ">=8" } }, + "node_modules/slick": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/slick/-/slick-1.12.2.tgz", + "integrity": "sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A==", + "engines": { + "node": "*" + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", + "dependencies": { + "ip": "^1.1.5", + "smart-buffer": "^4.2.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==", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "4", + "socks": "^2.3.3" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", @@ -7633,6 +10255,14 @@ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", "dev": true }, + "node_modules/specificity": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz", + "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==", + "bin": { + "specificity": "bin/specificity" + } + }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -7706,7 +10336,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -7720,7 +10349,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -7758,11 +10386,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/style-data": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/style-data/-/style-data-1.4.8.tgz", + "integrity": "sha512-RBJD+YQef4PzYKqC4PQEjDvyX709mwEClYg9u0A5EPXqdSkN2BtMnF/tW7EtS9Q0FnBF+lrWsK5+bEKqA+++Dg==", + "dependencies": { + "cheerio": "^0.22.0", + "mediaquery-text": "^1.2.0", + "pick-util": "^1.1.4" + } + }, "node_modules/superagent": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.5.tgz", "integrity": "sha512-HQYyGuDRFGmZ6GNC4hq2f37KnsY9Lr0/R1marNZTgMweVDQLTLJJ6DGQ9Tj/xVVs5HEnop9EMmTbywb5P30aqw==", - "dev": true, "dependencies": { "component-emitter": "^1.3.0", "cookiejar": "^2.1.3", @@ -7780,11 +10417,25 @@ "node": ">=6.4.0 <13 || >=14" } }, + "node_modules/superagent-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/superagent-proxy/-/superagent-proxy-3.0.0.tgz", + "integrity": "sha512-wAlRInOeDFyd9pyonrkJspdRAxdLrcsZ6aSnS+8+nu4x1aXbz6FWSTT9M6Ibze+eG60szlL7JA8wEIV7bPWuyQ==", + "dependencies": { + "debug": "^4.3.2", + "proxy-agent": "^5.0.0" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "superagent": ">= 0.15.4 || 1 || 2 || 3" + } + }, "node_modules/superagent/node_modules/mime": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, "bin": { "mime": "cli.js" }, @@ -7796,7 +10447,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -7847,7 +10497,6 @@ "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==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -8027,6 +10676,14 @@ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, + "node_modules/tlds": { + "version": "1.231.0", + "resolved": "https://registry.npmjs.org/tlds/-/tlds-1.231.0.tgz", + "integrity": "sha512-L7UQwueHSkGxZHQBXHVmXW64oi+uqNtzFt2x6Ssk7NVnpIbw16CRs4eb/jmKOZ9t2JnqZ/b3Cfvo97lnXqKrhw==", + "bin": { + "tlds": "bin.js" + } + }, "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -8049,7 +10706,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, "engines": { "node": ">=4" } @@ -8058,7 +10714,6 @@ "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==", - "dev": true, "dependencies": { "is-number": "^7.0.0" }, @@ -8074,6 +10729,11 @@ "node": ">=0.6" } }, + "node_modules/token-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-1.0.0.tgz", + "integrity": "sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==" + }, "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", @@ -8378,6 +11038,22 @@ "node": ">=4.2.0" } }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" + }, + "node_modules/uglify-js": { + "version": "3.16.2", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.2.tgz", + "integrity": "sha512-AaQNokTNgExWrkEYA24BTNMSjyqEXPSfhqoS0AxmHkCJ4U+Dyy5AvbGV/sqxuxficEfGGoX3zWw9R7QpLFfEsg==", + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -8421,6 +11097,11 @@ "browserslist": ">= 4.21.0" } }, + "node_modules/upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==" + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -8477,6 +11158,14 @@ "node": ">=10.12.0" } }, + "node_modules/valid-data-url": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/valid-data-url/-/valid-data-url-3.0.1.tgz", + "integrity": "sha512-jOWVmzVceKlVVdwjNSenT4PbGghU0SBIizAev8ofZVgivk/TVHXSbNL8LP6M3spZvkR9/QolkyJavGSX5Cs0UA==", + "engines": { + "node": ">=10" + } + }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -8485,6 +11174,29 @@ "node": ">= 0.8" } }, + "node_modules/vm2": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.10.tgz", + "integrity": "sha512-AuECTSvwu2OHLAZYhG716YzwodKCIJxB6u1zG7PgSQwIgAlEaoXH52bxdcvT8GkGjnYK7r7yWDW0m0sOsPuBjQ==", + "dependencies": { + "acorn": "^8.7.0", + "acorn-walk": "^8.2.0" + }, + "bin": { + "vm2": "bin/vm2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", @@ -8516,6 +11228,131 @@ "defaults": "^1.0.3" } }, + "node_modules/web-resource-inliner": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/web-resource-inliner/-/web-resource-inliner-5.0.0.tgz", + "integrity": "sha512-AIihwH+ZmdHfkJm7BjSXiEClVt4zUFqX4YlFAzjL13wLtDuUneSaFvDBTbdYRecs35SiU7iNKbMnN+++wVfb6A==", + "dependencies": { + "ansi-colors": "^4.1.1", + "escape-goat": "^3.0.0", + "htmlparser2": "^4.0.0", + "mime": "^2.4.6", + "node-fetch": "^2.6.0", + "valid-data-url": "^3.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/web-resource-inliner/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "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/web-resource-inliner/node_modules/dom-serializer/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/web-resource-inliner/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/web-resource-inliner/node_modules/domhandler": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", + "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", + "dependencies": { + "domelementtype": "^2.0.1" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/web-resource-inliner/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/web-resource-inliner/node_modules/domutils/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/web-resource-inliner/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/web-resource-inliner/node_modules/htmlparser2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", + "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0", + "domutils": "^2.0.0", + "entities": "^2.0.0" + } + }, + "node_modules/web-resource-inliner/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", @@ -8672,20 +11509,37 @@ "node": ">=8.12.0" } }, + "node_modules/with": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz", + "integrity": "sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==", + "dependencies": { + "@babel/parser": "^7.9.6", + "@babel/types": "^7.9.6", + "assert-never": "^1.2.1", + "babel-walk": "3.0.0-canary-5" + }, + "engines": { + "node": ">= 10.0.0" + } + }, "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==", - "dev": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" + }, "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==", - "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -8716,6 +11570,14 @@ "node": "^12.13.0 || ^14.15.0 || >=16" } }, + "node_modules/xregexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", + "integrity": "sha512-xl/50/Cf32VsGq/1R8jJE5ajH1yMCQkpmoS10QbFZWl2Oor4H0Me64Pu2yxvsRWK3m6soJbmGfzSR7BYmDcWAA==", + "engines": { + "node": "*" + } + }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -8728,7 +11590,6 @@ "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, "engines": { "node": ">=10" } @@ -8736,8 +11597,7 @@ "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yaml": { "version": "1.10.2", @@ -8770,7 +11630,6 @@ "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, "engines": { "node": ">=10" } @@ -9081,8 +11940,7 @@ "@babel/helper-validator-identifier": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", - "dev": true + "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==" }, "@babel/helper-validator-option": { "version": "7.18.6", @@ -9173,8 +12031,7 @@ "@babel/parser": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.6.tgz", - "integrity": "sha512-uQVSa9jJUe/G/304lXspfWVpKpK4euFLgGiMQFOCpM/bgcAdeoHwi/OQz23O9GK2osz26ZiXRRV9aV+Yl1O8tw==", - "dev": true + "integrity": "sha512-uQVSa9jJUe/G/304lXspfWVpKpK4euFLgGiMQFOCpM/bgcAdeoHwi/OQz23O9GK2osz26ZiXRRV9aV+Yl1O8tw==" }, "@babel/plugin-syntax-async-generators": { "version": "7.8.4", @@ -9293,6 +12150,14 @@ "@babel/helper-plugin-utils": "^7.18.6" } }, + "@babel/runtime": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz", + "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, "@babel/template": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz", @@ -9334,7 +12199,6 @@ "version": "7.18.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.7.tgz", "integrity": "sha512-QG3yxTcTIBoAcQmkCs+wAPYZhu7Dk9rXKacINfNbdJDNERTbLQbHGyVG8q/YGMPeCJRIhSY0+fTc5+xuh6WPSQ==", - "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.18.6", "to-fast-properties": "^2.0.0" @@ -9781,6 +12645,11 @@ } } }, + "@jonkemp/package-utils": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@jonkemp/package-utils/-/package-utils-1.0.8.tgz", + "integrity": "sha512-bIcKnH5YmtTYr7S6J3J86dn/rFiklwRpOqbTOQ9C0WMmR9FKHVb3bxs2UYfqEmNb93O4nbA97sb6rtz33i9SyA==" + }, "@jridgewell/gen-mapping": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", @@ -9842,6 +12711,52 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "@nestjs-modules/mailer": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@nestjs-modules/mailer/-/mailer-1.7.1.tgz", + "integrity": "sha512-FC1V3JhOfLSHk9O1Qhl/JfcZPZET95jH3+b1uYlIbOYQUKwkdZD+0QQbPv65JhDJhKCdJE3ra2zlLWkKTtlIIA==", + "requires": { + "@types/ejs": "^3.0.3", + "@types/pug": "2.0.5", + "ejs": "^3.1.2", + "glob": "8.0.3", + "handlebars": "^4.7.6", + "inline-css": "3.0.0", + "mjml": "^4.12.0", + "preview-email": "3.0.5", + "pug": "^3.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, "@nestjs/cli": { "version": "8.2.8", "resolved": "https://registry.npmjs.org/@nestjs/cli/-/cli-8.2.8.tgz", @@ -9912,6 +12827,17 @@ "uuid": "8.3.2" } }, + "@nestjs/config": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@nestjs/config/-/config-2.2.0.tgz", + "integrity": "sha512-78Eg6oMbCy3D/YvqeiGBTOWei1Jwi3f2pSIZcZ1QxY67kYsJzTRTkwRT8Iv30DbK0sGKc1mcloDLD5UXgZAZtg==", + "requires": { + "dotenv": "16.0.1", + "dotenv-expand": "8.0.3", + "lodash": "4.17.21", + "uuid": "8.3.2" + } + }, "@nestjs/core": { "version": "8.4.7", "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-8.4.7.tgz", @@ -10076,6 +13002,30 @@ } } }, + "@selderee/plugin-htmlparser2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.6.0.tgz", + "integrity": "sha512-J3jpy002TyBjd4N/p6s+s90eX42H2eRhK3SbsZuvTDv977/E8p2U3zikdiehyJja66do7FlxLomZLPlvl2/xaA==", + "requires": { + "domhandler": "^4.2.0", + "selderee": "^0.6.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "requires": { + "domelementtype": "^2.2.0" + } + } + } + }, "@sinclair/typebox": { "version": "0.23.5", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.23.5.tgz", @@ -10100,6 +13050,11 @@ "@sinonjs/commons": "^1.7.0" } }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" + }, "@tsconfig/node10": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", @@ -10190,6 +13145,12 @@ "integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==", "dev": true }, + "@types/ejs": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.1.tgz", + "integrity": "sha512-RQul5wEfY7BjWm0sYY86cmUN/pcXWGyVxWX93DFFJvcrxax5zKlieLwA3T77xJGwNcZW0YW6CYG70p1m8xPFmA==", + "optional": true + }, "@types/eslint": { "version": "8.4.3", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.3.tgz", @@ -10318,6 +13279,12 @@ "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", "dev": true }, + "@types/pug": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.5.tgz", + "integrity": "sha512-LOnASQoeNZMkzexRuyqcBBDZ6rS+rQxUMkmj5A0PkhhiSZivLIuz6Hxyr1mkGoEZEkk66faROmpMi4fFkrKsBA==", + "optional": true + }, "@types/qs": { "version": "6.9.7", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", @@ -10633,6 +13600,11 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, + "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", @@ -10645,8 +13617,7 @@ "acorn": { "version": "8.7.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", - "dev": true + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==" }, "acorn-import-assertions": { "version": "1.8.0", @@ -10665,8 +13636,15 @@ "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==", - "dev": true + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" + }, + "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==", + "requires": { + "debug": "4" + } }, "ajv": { "version": "8.9.0", @@ -10692,8 +13670,7 @@ "ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" }, "ansi-escapes": { "version": "4.3.2", @@ -10715,8 +13692,7 @@ "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-styles": { "version": "4.3.0", @@ -10730,7 +13706,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -10767,8 +13742,26 @@ "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "dev": true + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "assert-never": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz", + "integrity": "sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==" + }, + "ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "requires": { + "tslib": "^2.0.1" + } + }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "optional": true }, "asynckit": { "version": "0.4.0", @@ -10866,6 +13859,14 @@ "babel-preset-current-node-syntax": "^1.0.0" } }, + "babel-walk": { + "version": "3.0.0-canary-5", + "resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz", + "integrity": "sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==", + "requires": { + "@babel/types": "^7.9.6" + } + }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -10877,11 +13878,15 @@ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" }, "bl": { "version": "4.1.0", @@ -10941,6 +13946,11 @@ } } }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -10954,7 +13964,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, "requires": { "fill-range": "^7.0.1" } @@ -11032,6 +14041,15 @@ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", @@ -11060,17 +14078,125 @@ "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true }, + "character-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", + "integrity": "sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==", + "requires": { + "is-regex": "^1.0.3" + } + }, "chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, + "cheerio": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", + "integrity": "sha512-8/MzidM6G/TgRelkzDG13y3Y9LxBjCb+8yOEZ9+wwq5gVF2w2pV0wmHvjfT0RvuxGyR7UEuK36r+yYMbT4uKgA==", + "requires": { + "css-select": "~1.2.0", + "dom-serializer": "~0.1.0", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash.assignin": "^4.0.9", + "lodash.bind": "^4.1.4", + "lodash.defaults": "^4.0.1", + "lodash.filter": "^4.4.0", + "lodash.flatten": "^4.2.0", + "lodash.foreach": "^4.3.0", + "lodash.map": "^4.4.0", + "lodash.merge": "^4.4.0", + "lodash.pick": "^4.2.1", + "lodash.reduce": "^4.4.0", + "lodash.reject": "^4.4.0", + "lodash.some": "^4.4.0" + } + }, + "cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "requires": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "dependencies": { + "css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + }, + "dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", + "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.1" + } + }, + "entities": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.1.tgz", + "integrity": "sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==" + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "requires": { + "boolbase": "^1.0.0" + } + } + } + }, "chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -11100,6 +14226,21 @@ "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", "dev": true }, + "clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, "cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -11135,7 +14276,6 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -11190,8 +14330,7 @@ "component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" }, "concat-map": { "version": "0.0.1", @@ -11209,11 +14348,29 @@ "typedarray": "^0.0.6" } }, + "config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, "consola": { "version": "2.15.3", "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" }, + "constantinople": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz", + "integrity": "sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==", + "requires": { + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.1" + } + }, "content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", @@ -11257,8 +14414,7 @@ "cookiejar": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", - "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==", - "dev": true + "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==" }, "core-util-is": { "version": "1.0.3", @@ -11304,11 +14460,49 @@ "which": "^2.0.1" } }, + "css-rules": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/css-rules/-/css-rules-1.1.0.tgz", + "integrity": "sha512-7L6krLIRwAEVCaVKyCEL6PQjQXUmf8DM9bWYKutlZd0DqOe0SiKIGQOkFb59AjDBb+3If7SDp3X8UlzDAgYSow==", + "requires": { + "cssom": "^0.5.0" + } + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha512-dUQOBoqdR7QwV90WysXPLXG5LO7nhYBgiWVfxF80DKPF8zx1t/pUd2FYy73emg3zrjtM6dzmYgbHKfV2rxiHQA==", + "requires": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" + }, + "cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==" + }, + "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==" + }, + "dayjs": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.3.tgz", + "integrity": "sha512-xxwlswWOlGhzgQ4TKzASQkUhqERI3egRNqgV4ScR8wlANA/A9tZ7miXa44vTTKEq5l7vWoL5G57bG3zA+Kow0A==" + }, "debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, "requires": { "ms": "2.1.2" } @@ -11322,14 +14516,12 @@ "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==", - "dev": true + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, "deepmerge": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" }, "defaults": { "version": "1.0.3", @@ -11340,6 +14532,17 @@ "clone": "^1.0.2" } }, + "degenerator": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-3.0.2.tgz", + "integrity": "sha512-c0mef3SNQo56t6urUU6tdQAs+ThoD0o9B9MJ8HEt7NQcGEILCRFqQb7ZbP9JAv+QF1Ky5plydhMR/IrqWDm+TQ==", + "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", @@ -11361,11 +14564,15 @@ "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==" + }, "dezalgo": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", "integrity": "sha512-K7i4zNfT2kgQz3GylDw40ot9GAE47sFZ9EXHFSPP6zONLgH6kWXE0KWJchkbQJLBkRazq4APwZ4OwiFFlT95OQ==", - "dev": true, "requires": { "asap": "^2.0.0", "wrappy": "1" @@ -11392,6 +14599,11 @@ "path-type": "^4.0.0" } }, + "discontinuous-range": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", + "integrity": "sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==" + }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -11401,11 +14613,103 @@ "esutils": "^2.0.2" } }, + "doctypes": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", + "integrity": "sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==" + }, + "dom-serializer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "requires": { + "domelementtype": "^1.3.0", + "entities": "^1.1.1" + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dotenv": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz", + "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==" + }, + "dotenv-expand": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-8.0.3.tgz", + "integrity": "sha512-SErOMvge0ZUyWd5B0NXMQlDkN+8r+HhVUsxgOO7IoPDOdDRD2JjExpN6y3KnFR66jsJMwSn1pqIivhU5rcJiNg==" + }, + "editorconfig": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", + "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", + "requires": { + "commander": "^2.19.0", + "lru-cache": "^4.1.5", + "semver": "^5.6.0", + "sigmund": "^1.0.1" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" + } + } + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, + "ejs": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", + "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", + "optional": true, + "requires": { + "jake": "^10.8.5" + } + }, "electron-to-chromium": { "version": "1.4.176", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.176.tgz", @@ -11421,14 +14725,18 @@ "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==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" }, + "encoding-japanese": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encoding-japanese/-/encoding-japanese-2.0.0.tgz", + "integrity": "sha512-++P0RhebUC8MJAwJOsT93dT+5oc5oPImp1HubZpAuCZ5kTLnhuuBhKHj2jJeO/Gj93idPBWmIuQ9QWMe5rX3pQ==" + }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -11448,6 +14756,11 @@ "tapable": "^2.2.0" } }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -11466,8 +14779,12 @@ "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-goat": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-3.0.0.tgz", + "integrity": "sha512-w3PwNZJwRxlp47QGzhuEBldEqVHHhh8/tIPcl6ecf2Bou99cdAt0knihBV0Ecc7CGxYduXVBDheH1K2oADRlvw==" }, "escape-html": { "version": "1.0.3", @@ -11480,6 +14797,61 @@ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "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" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" + }, + "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 + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "requires": { + "prelude-ls": "~1.1.2" + } + } + } + }, "eslint": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.18.0.tgz", @@ -11641,8 +15013,7 @@ "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "esquery": { "version": "1.4.0", @@ -11681,14 +15052,12 @@ "estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" }, "etag": { "version": "1.8.1", @@ -11874,6 +15243,17 @@ "tmp": "^0.0.33" } }, + "extract-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-css/-/extract-css-2.0.1.tgz", + "integrity": "sha512-DX3+27l6NIVYNidJjBJ4VU3Z5tk/0aEO/JJ6XEJIRPFum9kyA1PifPjnEa8Ztnv4DHNQg5EF27aypGz6s/fMdw==", + "requires": { + "batch": "^0.6.1", + "href-content": "^2.0.1", + "list-stylesheets": "^1.2.10", + "style-data": "^1.4.8" + } + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -11908,8 +15288,7 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, "fast-safe-stringify": { "version": "2.1.1", @@ -11960,11 +15339,44 @@ "flat-cache": "^3.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==" + }, + "filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "optional": true, + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "optional": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "optional": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, "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==", - "dev": true, "requires": { "to-regex-range": "^5.0.1" } @@ -12018,6 +15430,11 @@ "rimraf": "^3.0.2" } }, + "flat-util": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/flat-util/-/flat-util-1.1.9.tgz", + "integrity": "sha512-BOTMw/6rbbxVjv5JQvwgGMc2/6wWGd2VeyTvnzvvE49VRjS0tTxLbry/QVP1yPw8SaAOBYsnixmzruXoqjdUHA==" + }, "flatted": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz", @@ -12074,7 +15491,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.0.1.tgz", "integrity": "sha512-rjTMNbp2BpfQShhFbR3Ruk3qk2y9jKpvMW78nJgx8QKtxjDVrwbZG+wvDOmVbifHyOUOQJXxqEy6r0faRrPzTQ==", - "dev": true, "requires": { "dezalgo": "1.0.3", "hexoid": "1.0.0", @@ -12085,8 +15501,7 @@ "qs": { "version": "6.9.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.3.tgz", - "integrity": "sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw==", - "dev": true + "integrity": "sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw==" } } }, @@ -12126,9 +15541,40 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "optional": true }, + "ftp": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", + "integrity": "sha512-faFVML1aBx2UoDStmLwv2Wptt4vw5x03xxX172nhA5Y5HBshW5JweqQ2W4xL4dezQTG8inJsuYcpPHHU3X5OTQ==", + "requires": { + "readable-stream": "1.1.x", + "xregexp": "2.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" + } + } + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -12149,8 +15595,7 @@ "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==", - "dev": true + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, "get-intrinsic": { "version": "1.1.2", @@ -12174,6 +15619,44 @@ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true }, + "get-uri": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-3.0.2.tgz", + "integrity": "sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==", + "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": { + "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==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + } + } + }, "glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -12191,7 +15674,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "requires": { "is-glob": "^4.0.1" } @@ -12228,8 +15710,26 @@ "graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } }, "has": { "version": "1.0.3", @@ -12249,11 +15749,31 @@ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, "hexoid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", - "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", - "dev": true + "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==" + }, + "href-content": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/href-content/-/href-content-2.0.1.tgz", + "integrity": "sha512-5uiAmBCvzCFVu70kli3Hp0BONbAOfwGqR7jKolV+bAh174sIAZBL8DHfg5SnxAhId2mQmYgyL7Y62msnWJ34Xg==", + "requires": { + "remote-content": "^3.0.0" + } }, "html-escaper": { "version": "2.0.2", @@ -12261,6 +15781,116 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, + "html-minifier": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", + "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", + "requires": { + "camel-case": "^3.0.0", + "clean-css": "^4.2.1", + "commander": "^2.19.0", + "he": "^1.2.0", + "param-case": "^2.1.1", + "relateurl": "^0.2.7", + "uglify-js": "^3.5.1" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + } + } + }, + "html-to-text": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/html-to-text/-/html-to-text-8.2.0.tgz", + "integrity": "sha512-CLXExYn1b++Lgri+ZyVvbUEFwzkLZppjjZOwB7X1qv2jIi8MrMEvxWX5KQ7zATAzTvcqgmtO00M2kCRMtEdOKQ==", + "requires": { + "@selderee/plugin-htmlparser2": "^0.6.0", + "deepmerge": "^4.2.2", + "he": "^1.2.0", + "htmlparser2": "^6.1.0", + "minimist": "^1.2.6", + "selderee": "^0.6.0" + }, + "dependencies": { + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "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" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "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" + } + } + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, "http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -12273,6 +15903,25 @@ "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==", + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, "human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -12339,6 +15988,25 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "inline-css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/inline-css/-/inline-css-3.0.0.tgz", + "integrity": "sha512-a+IE7oLaQqeVr3hMviekDDk94LA0+oZX8JEfJuXOm20diZAkOFrq/f/QZCEXpMK6qIbYr0nQNpsuioXQN1ZgXA==", + "requires": { + "cheerio": "^0.22.0", + "css-rules": "^1.0.9", + "extract-css": "^2.0.0", + "flat-util": "^1.1.6", + "pick-util": "^1.1.3", + "slick": "^1.12.2", + "specificity": "^0.4.1" + } + }, "inquirer": { "version": "7.3.3", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", @@ -12393,6 +16061,11 @@ "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "dev": true }, + "ip": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" + }, "ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -12408,7 +16081,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, "requires": { "binary-extensions": "^2.0.0" } @@ -12417,22 +16089,40 @@ "version": "2.9.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", - "dev": true, "requires": { "has": "^1.0.3" } }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + }, + "is-expression": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz", + "integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==", + "requires": { + "acorn": "^7.1.1", + "object-assign": "^4.1.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + } + } + }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" }, "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==", - "dev": true + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "is-generator-fn": { "version": "2.1.0", @@ -12444,7 +16134,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, "requires": { "is-extglob": "^2.1.1" } @@ -12458,8 +16147,21 @@ "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } }, "is-stream": { "version": "2.0.1", @@ -12473,6 +16175,14 @@ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -12556,6 +16266,30 @@ "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==" }, + "jake": { + "version": "10.8.5", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", + "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "optional": true, + "requires": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "optional": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, "jest": { "version": "28.0.3", "resolved": "https://registry.npmjs.org/jest/-/jest-28.0.3.tgz", @@ -13417,6 +17151,22 @@ } } }, + "js-beautify": { + "version": "1.14.4", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.4.tgz", + "integrity": "sha512-+b4A9c3glceZEmxyIbxDOYB0ZJdReLvyU1077RqKsO4dZx9FUHjTOJn8VHwpg33QoucIykOiYbh7MfqBOghnrA==", + "requires": { + "config-chain": "^1.1.13", + "editorconfig": "^0.15.3", + "glob": "^7.1.3", + "nopt": "^5.0.0" + } + }, + "js-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", + "integrity": "sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==" + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -13478,6 +17228,97 @@ "universalify": "^2.0.0" } }, + "jstransformer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", + "integrity": "sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==", + "requires": { + "is-promise": "^2.0.0", + "promise": "^7.0.1" + } + }, + "juice": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/juice/-/juice-7.0.0.tgz", + "integrity": "sha512-AjKQX31KKN+uJs+zaf+GW8mBO/f/0NqSh2moTMyvwBY+4/lXIYTU8D8I2h6BAV3Xnz6GGsbalUyFqbYMe+Vh+Q==", + "requires": { + "cheerio": "^1.0.0-rc.3", + "commander": "^5.1.0", + "mensch": "^0.3.4", + "slick": "^1.12.2", + "web-resource-inliner": "^5.0.0" + }, + "dependencies": { + "cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "requires": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + } + }, + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" + }, + "dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", + "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.1" + } + }, + "entities": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.1.tgz", + "integrity": "sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==" + }, + "htmlparser2": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", + "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "entities": "^4.3.0" + } + } + } + }, "kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", @@ -13500,12 +17341,60 @@ "type-check": "~0.4.0" } }, + "libbase64": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/libbase64/-/libbase64-1.2.1.tgz", + "integrity": "sha512-l+nePcPbIG1fNlqMzrh68MLkX/gTxk/+vdvAb388Ssi7UuUN31MI44w4Yf33mM3Cm4xDfw48mdf3rkdHszLNew==" + }, + "libmime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/libmime/-/libmime-5.1.0.tgz", + "integrity": "sha512-xOqorG21Va+3CjpFOfFTU7SWohHH2uIX9ZY4Byz6J+lvpfvc486tOAT/G9GfbrKtJ9O7NCX9o0aC2lxqbnZ9EA==", + "requires": { + "encoding-japanese": "2.0.0", + "iconv-lite": "0.6.3", + "libbase64": "1.2.1", + "libqp": "1.1.0" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "libqp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz", + "integrity": "sha512-4Rgfa0hZpG++t1Vi2IiqXG9Ad1ig4QTmtuZF946QJP4bPqOYC78ixUXgz5TW/wE7lNaNKlplSYTxQ+fR2KZ0EA==" + }, "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==", "dev": true }, + "linkify-it": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.0.tgz", + "integrity": "sha512-QAxkXyzT/TXgwGyY4rTgC95Ex6/lZ5/lYTV9nug6eJt93BCBQGOE47D/g2+/m5J1MrVLr2ot97OXkBZ9bBpR4A==", + "requires": { + "uc.micro": "^1.0.1" + } + }, + "list-stylesheets": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/list-stylesheets/-/list-stylesheets-1.2.10.tgz", + "integrity": "sha512-F85Yx9GKLJwDr1T9U34FST5m6iIXhPzqD+MRDsljZsdmoEZwllZBDbkAVaa+EpLKrr6de+P4SRGNHwrWv6zMZA==", + "requires": { + "cheerio": "^0.22.0", + "pick-util": "^1.1.4" + } + }, "loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", @@ -13526,6 +17415,41 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "lodash.assignin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", + "integrity": "sha512-yX/rx6d/UTVh7sSVWVSIMjfnz95evAgDFdb1ZozC35I9mSFCkmzptOzevxjgbQUsc78NR44LVHWjsoMQXy9FDg==" + }, + "lodash.bind": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", + "integrity": "sha512-lxdsn7xxlCymgLYo1gGvVrfHmkjDiyqVv62FAeF2i5ta72BipE1SLxw8hPEPLhD4/247Ijw07UQH7Hq/chT5LA==" + }, + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" + }, + "lodash.filter": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", + "integrity": "sha512-pXYUy7PR8BCLwX5mgJ/aNtyOvuJTdZAo9EQFUvMIYugqmJxnrYaANvTbgndOzHSCSR0wnlBBfRXJL5SbWxo3FQ==" + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" + }, + "lodash.foreach": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", + "integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==" + }, + "lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==" + }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -13535,8 +17459,27 @@ "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==" + }, + "lodash.reduce": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", + "integrity": "sha512-6raRe2vxCYBhpBu+B+TtNGUzah+hQjVdu3E17wfusjyrXBka2nBS8OH/gjVZ5PvHOhWmIZTYri09Z6n/QfnNMw==" + }, + "lodash.reject": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", + "integrity": "sha512-qkTuvgEzYdyhiJBx42YPzPo71R1aEr0z79kAv7Ixg8wPFEjgRgJdUsGMG3Hf3OYSF/kHI79XhNlt+5Ar6OzwxQ==" + }, + "lodash.some": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", + "integrity": "sha512-j7MJE+TuT51q9ggt4fSgVqro163BEFjAt3u97IqU+JA2DkWl80nFTrowzLpZ/BnpN7rrl0JA/593NAdd8p/scQ==" }, "log-symbols": { "version": "4.1.0", @@ -13560,11 +17503,15 @@ } } }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==" + }, "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==", - "dev": true, "requires": { "yallist": "^4.0.0" } @@ -13584,6 +17531,47 @@ "sourcemap-codec": "^1.4.4" } }, + "mailparser": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/mailparser/-/mailparser-3.5.0.tgz", + "integrity": "sha512-mdr2DFgz8LKC0/Q6io6znA0HVnzaPFT0a4TTnLeZ7mWHlkfnm227Wxlq7mHh7AgeP32h7gOUpXvyhSfJJIEeyg==", + "requires": { + "encoding-japanese": "2.0.0", + "he": "1.2.0", + "html-to-text": "8.2.0", + "iconv-lite": "0.6.3", + "libmime": "5.1.0", + "linkify-it": "4.0.0", + "mailsplit": "5.3.2", + "nodemailer": "6.7.3", + "tlds": "1.231.0" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "nodemailer": { + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.3.tgz", + "integrity": "sha512-KUdDsspqx89sD4UUyUKzdlUOper3hRkDVkrKh/89G+d9WKsU5ox51NWS4tB1XR5dPUdR4SP0E3molyEfOvSa3g==" + } + } + }, + "mailsplit": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/mailsplit/-/mailsplit-5.3.2.tgz", + "integrity": "sha512-coES12hhKqagkuBTJoqERX+y9bXNpxbxw3Esd07auuwKYmcagouVlgucyIVRp48fnswMKxcUtLoFn/L1a75ynQ==", + "requires": { + "libbase64": "1.2.1", + "libmime": "5.1.0", + "libqp": "1.1.0" + } + }, "make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -13621,6 +17609,14 @@ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" }, + "mediaquery-text": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mediaquery-text/-/mediaquery-text-1.2.0.tgz", + "integrity": "sha512-cJyRqgYQi+hsYhRkyd5le0s4LsEPvOB7r+6X3jdEELNqVlM9mRIgyUPg9BzF+PuTqQH1ZekgIjYVOeWSXWq35Q==", + "requires": { + "cssom": "^0.5.0" + } + }, "memfs": { "version": "3.4.7", "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz", @@ -13630,6 +17626,11 @@ "fs-monkey": "^1.0.3" } }, + "mensch": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/mensch/-/mensch-0.3.4.tgz", + "integrity": "sha512-IAeFvcOnV9V0Yk+bFhYR07O3yNina9ANIN5MoXBKYJ/RLYPurd2d0yw14MDhpr9/momp0WofT1bPUh3hkzdi/g==" + }, "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", @@ -13699,6 +17700,588 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" }, + "mjml": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml/-/mjml-4.13.0.tgz", + "integrity": "sha512-OnFKESouLshz8DPFSb6M/dE8GkhiJnoy6LAam5TiLA1anAj24yQ2ZH388LtQoEkvTisqwiTmc9ejDh5ctnFaJQ==", + "requires": { + "@babel/runtime": "^7.14.6", + "mjml-cli": "4.13.0", + "mjml-core": "4.13.0", + "mjml-migrate": "4.13.0", + "mjml-preset-core": "4.13.0", + "mjml-validator": "4.13.0" + } + }, + "mjml-accordion": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-accordion/-/mjml-accordion-4.13.0.tgz", + "integrity": "sha512-E3yihZW5Oq2p+sWOcr8kWeRTROmiTYOGxB4IOxW/jTycdY07N3FX3e6vuh7Fv3rryHEUaydUQYto3ICVyctI7w==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-body": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-body/-/mjml-body-4.13.0.tgz", + "integrity": "sha512-S4HgwAuO9dEsyX9sr6WBf9/xr+H2ASVaLn22aurJm1S2Lvc1wifLPYBQgFmNdCjaesTCNtOMUDpG+Rbnavyaqg==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-button": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-button/-/mjml-button-4.13.0.tgz", + "integrity": "sha512-3y8IAHCCxh7ESHh1aOOqobZKUgyNxOKAGQ9TlJoyaLpsKUFzkN8nmrD0KXF0ADSuzvhMZ1CdRIJuZ5mjv2TwWQ==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-carousel": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-carousel/-/mjml-carousel-4.13.0.tgz", + "integrity": "sha512-ORSY5bEYlMlrWSIKI/lN0Tz3uGltWAjG8DQl2Yr3pwjwOaIzGE+kozrDf+T9xItfiIIbvKajef1dg7B7XgP0zg==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-cli": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-cli/-/mjml-cli-4.13.0.tgz", + "integrity": "sha512-kAZxpH0QqlTF/CcLzELgKw1ljKRxrmWJ310CJQhbPAxHvwQ/nIb+q82U+zRJAelRPPKjnOb+hSrMRqTgk9rH3w==", + "requires": { + "@babel/runtime": "^7.14.6", + "chokidar": "^3.0.0", + "glob": "^7.1.1", + "html-minifier": "^4.0.0", + "js-beautify": "^1.6.14", + "lodash": "^4.17.21", + "mjml-core": "4.13.0", + "mjml-migrate": "4.13.0", + "mjml-parser-xml": "4.13.0", + "mjml-validator": "4.13.0", + "yargs": "^16.1.0" + }, + "dependencies": { + "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" + } + } + } + }, + "mjml-column": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-column/-/mjml-column-4.13.0.tgz", + "integrity": "sha512-O8FrWKK/bCy9XpKxrKRYWNdgWNaVd4TK4RqMeVI/I70IbnYnc1uf15jnsPMxCBSbT+NyXyk8k7fn099797uwpw==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-core": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-core/-/mjml-core-4.13.0.tgz", + "integrity": "sha512-kU5AoVTlZaXR/EDi3ix66xpzUe+kScYus71lBH/wo/B+LZW70GHE1AYWtsog5oJp1MuTHpMFTNuBD/wePeEgWg==", + "requires": { + "@babel/runtime": "^7.14.6", + "cheerio": "1.0.0-rc.10", + "detect-node": "2.0.4", + "html-minifier": "^4.0.0", + "js-beautify": "^1.6.14", + "juice": "^7.0.0", + "lodash": "^4.17.21", + "mjml-migrate": "4.13.0", + "mjml-parser-xml": "4.13.0", + "mjml-validator": "4.13.0" + }, + "dependencies": { + "cheerio": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", + "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==", + "requires": { + "cheerio-select": "^1.5.0", + "dom-serializer": "^1.3.2", + "domhandler": "^4.2.0", + "htmlparser2": "^6.1.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "tslib": "^2.2.0" + } + }, + "cheerio-select": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.6.0.tgz", + "integrity": "sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==", + "requires": { + "css-select": "^4.3.0", + "css-what": "^6.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.3.1", + "domutils": "^2.8.0" + } + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "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" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "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" + } + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "requires": { + "boolbase": "^1.0.0" + } + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "requires": { + "parse5": "^6.0.1" + } + } + } + }, + "mjml-divider": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-divider/-/mjml-divider-4.13.0.tgz", + "integrity": "sha512-ooPCwfmxEC+wJduqObYezMp7W5UCHjL9Y1LPB5FGna2FrOejgfd6Ix3ij8Wrmycmlol7E2N4D7c5NDH5DbRCJg==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-group": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-group/-/mjml-group-4.13.0.tgz", + "integrity": "sha512-U7E8m8aaoAE/dMqjqXPjjrKcwO36B4cquAy9ASldECrIZJBcpFYO6eYf5yLXrNCUM2P0id8pgVjrUq23s00L7Q==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-head": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-head/-/mjml-head-4.13.0.tgz", + "integrity": "sha512-sL2qQuoVALXBCiemu4DPo9geDr8DuUdXVJxm+4nd6k5jpLCfSDmFlNhgSsLPzsYn7VEac3/sxsjLtomQ+6/BHg==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-head-attributes": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-head-attributes/-/mjml-head-attributes-4.13.0.tgz", + "integrity": "sha512-haggCafno+0lQylxJStkINCVCPMwfTpwE6yjCHeGOpQl/TkoNmjNkDr7DEEbNTZbt4Ekg070lQFn7clDy38EoA==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-head-breakpoint": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-head-breakpoint/-/mjml-head-breakpoint-4.13.0.tgz", + "integrity": "sha512-D2iPDeUKQK1+rYSNa2HGOvgfPxZhNyndTG0iBEb/FxdGge2hbeDCZEN0mwDYE3wWB+qSBqlCuMI+Vr4pEjZbKg==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-head-font": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-head-font/-/mjml-head-font-4.13.0.tgz", + "integrity": "sha512-mYn8aWnbrEap5vX2b4662hkUv6WifcYzYn++Yi6OHrJQi55LpzcU+myAGpfQEXXrpU8vGwExMTFKsJq5n2Kaow==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-head-html-attributes": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-head-html-attributes/-/mjml-head-html-attributes-4.13.0.tgz", + "integrity": "sha512-m30Oro297+18Zou/1qYjagtmCOWtYXeoS38OABQ5zOSzMItE3TcZI9JNcOueIIWIyFCETe8StrTAKcQ2GHwsDw==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-head-preview": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-head-preview/-/mjml-head-preview-4.13.0.tgz", + "integrity": "sha512-v0K/NocjFCbaoF/0IMVNmiqov91HxqT07vNTEl0Bt9lKFrTKVC01m1S4K7AB78T/bEeJ/HwmNjr1+TMtVNGGow==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-head-style": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-head-style/-/mjml-head-style-4.13.0.tgz", + "integrity": "sha512-tBa33GL9Atn5bAM2UwE+uxv4rI29WgX/e5lXX+5GWlsb4thmiN6rxpFTNqBqWbBNRbZk4UEZF78M7Da8xC1ZGQ==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-head-title": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-head-title/-/mjml-head-title-4.13.0.tgz", + "integrity": "sha512-Mq0bjuZXJlwxfVcjuYihQcigZSDTKeQaG3nORR1D0jsOH2BXU4XgUK1UOcTXn2qCBIfRoIMq7rfzYs+L0CRhdw==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-hero": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-hero/-/mjml-hero-4.13.0.tgz", + "integrity": "sha512-aWEOScdrhyjwdKBWG4XQaElRHP8LU5PtktkpMeBXa4yxrxNs25qRnDqMNkjSrnnmFKWZmQ166tfboY6RBNf0UA==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-image": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-image/-/mjml-image-4.13.0.tgz", + "integrity": "sha512-agMmm2wRZTIrKwrUnYFlnAbtrKYSP0R2en+Vf92HPspAwmaw3/AeOW/QxmSiMhfGf+xsEJyzVvR/nd33jbT3sg==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-migrate": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-migrate/-/mjml-migrate-4.13.0.tgz", + "integrity": "sha512-I1euHiAyNpaz+B5vH+Z4T+hg/YtI5p3PqQ3/zTLv8gi24V6BILjTaftWhH5+3R/gQkQhH0NUaWNnRmds+Mq5DQ==", + "requires": { + "@babel/runtime": "^7.14.6", + "js-beautify": "^1.6.14", + "lodash": "^4.17.21", + "mjml-core": "4.13.0", + "mjml-parser-xml": "4.13.0", + "yargs": "^16.1.0" + }, + "dependencies": { + "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" + } + } + } + }, + "mjml-navbar": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-navbar/-/mjml-navbar-4.13.0.tgz", + "integrity": "sha512-0Oqyyk+OdtXfsjswRb/7Ql1UOjN4MbqFPKoyltJqtj+11MRpF5+Wjd74Dj9H7l81GFwkIB9OaP+ZMiD+TPECgg==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-parser-xml": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-parser-xml/-/mjml-parser-xml-4.13.0.tgz", + "integrity": "sha512-phljtI8DaW++q0aybR/Ykv9zCyP/jCFypxVNo26r2IQo//VYXyc7JuLZZT8N/LAI8lZcwbTVxQPBzJTmZ5IfwQ==", + "requires": { + "@babel/runtime": "^7.14.6", + "detect-node": "2.0.4", + "htmlparser2": "^4.1.0", + "lodash": "^4.17.15" + }, + "dependencies": { + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "dependencies": { + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "requires": { + "domelementtype": "^2.2.0" + } + } + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", + "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", + "requires": { + "domelementtype": "^2.0.1" + } + }, + "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" + }, + "dependencies": { + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "requires": { + "domelementtype": "^2.2.0" + } + } + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "htmlparser2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", + "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0", + "domutils": "^2.0.0", + "entities": "^2.0.0" + } + } + } + }, + "mjml-preset-core": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-preset-core/-/mjml-preset-core-4.13.0.tgz", + "integrity": "sha512-gxzYaKkvUrHuzT1oqjEPSDtdmgEnN99Hf5f1r2CR5aMOB1x66EA3T8ATvF1o7qrBTVV4KMVlQem3IubMSYJZRw==", + "requires": { + "@babel/runtime": "^7.14.6", + "mjml-accordion": "4.13.0", + "mjml-body": "4.13.0", + "mjml-button": "4.13.0", + "mjml-carousel": "4.13.0", + "mjml-column": "4.13.0", + "mjml-divider": "4.13.0", + "mjml-group": "4.13.0", + "mjml-head": "4.13.0", + "mjml-head-attributes": "4.13.0", + "mjml-head-breakpoint": "4.13.0", + "mjml-head-font": "4.13.0", + "mjml-head-html-attributes": "4.13.0", + "mjml-head-preview": "4.13.0", + "mjml-head-style": "4.13.0", + "mjml-head-title": "4.13.0", + "mjml-hero": "4.13.0", + "mjml-image": "4.13.0", + "mjml-navbar": "4.13.0", + "mjml-raw": "4.13.0", + "mjml-section": "4.13.0", + "mjml-social": "4.13.0", + "mjml-spacer": "4.13.0", + "mjml-table": "4.13.0", + "mjml-text": "4.13.0", + "mjml-wrapper": "4.13.0" + } + }, + "mjml-raw": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-raw/-/mjml-raw-4.13.0.tgz", + "integrity": "sha512-JbBYxwX1a/zbqnCrlDCRNqov2xqUrMCaEdTHfqE2athj479aQXvLKFM20LilTMaClp/dR0yfvFLfFVrC5ej4FQ==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-section": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-section/-/mjml-section-4.13.0.tgz", + "integrity": "sha512-BLcqlhavtRakKtzDQPLv6Ae4Jt4imYWq/P0jo+Sjk7tP4QifgVA2KEQOirPK5ZUqw/lvK7Afhcths5rXZ2ItnQ==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-social": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-social/-/mjml-social-4.13.0.tgz", + "integrity": "sha512-zL2a7Wwsk8OXF0Bqu+1B3La1UPwdTMcEXptO8zdh2V5LL6Xb7Gfyvx6w0CmmBtG5IjyCtqaKy5wtrcpG9Hvjfg==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-spacer": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-spacer/-/mjml-spacer-4.13.0.tgz", + "integrity": "sha512-Acw4QJ0MJ38W4IewXuMX7hLaW1BZaln+gEEuTfrv0xwPdTxX1ILqz4r+s9mYMxYkIDLWMCjBvXyQK6aWlid13A==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-table": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-table/-/mjml-table-4.13.0.tgz", + "integrity": "sha512-UAWPVMaGReQhf776DFdiwdcJTIHTek3zzQ1pb+E7VlypEYgIpFvdUJ39UIiiflhqtdBATmHwKBOtePwU0MzFMg==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-text": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-text/-/mjml-text-4.13.0.tgz", + "integrity": "sha512-uDuraaQFdu+6xfuigCimbeznnOnJfwRdcCL1lTBTusTuEvW/5Va6m2D3mnMeEpl+bp4+cxesXIz9st6A9pcg5A==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0" + } + }, + "mjml-validator": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-validator/-/mjml-validator-4.13.0.tgz", + "integrity": "sha512-uURYfyQYtHJ6Qz/1A7/+E9ezfcoISoLZhYK3olsxKRViwaA2Mm8gy/J3yggZXnsUXWUns7Qymycm5LglLEIiQg==", + "requires": { + "@babel/runtime": "^7.14.6" + } + }, + "mjml-wrapper": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mjml-wrapper/-/mjml-wrapper-4.13.0.tgz", + "integrity": "sha512-p/44JvHg04rAFR7QDImg8nZucEokIjFH6KJMHxsO0frJtLZ+IuakctzlZAADHsqiR52BwocDsXSa+o9SE2l6Ng==", + "requires": { + "@babel/runtime": "^7.14.6", + "lodash": "^4.17.21", + "mjml-core": "4.13.0", + "mjml-section": "4.13.0" + } + }, "mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", @@ -13707,11 +18290,15 @@ "minimist": "^1.2.6" } }, + "moo": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.1.tgz", + "integrity": "sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==" + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "multer": { "version": "1.4.4-lts.1", @@ -13739,6 +18326,24 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "nearley": { + "version": "2.20.1", + "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz", + "integrity": "sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==", + "requires": { + "commander": "^2.19.0", + "moo": "^0.5.0", + "railroad-diagrams": "^1.0.0", + "randexp": "0.4.6" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + } + } + }, "negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -13747,8 +18352,20 @@ "neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==" + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "requires": { + "lower-case": "^1.1.1" + } }, "node-emoji": { "version": "1.11.0", @@ -13779,11 +18396,23 @@ "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==", "dev": true }, + "nodemailer": { + "version": "6.7.7", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.7.tgz", + "integrity": "sha512-pOLC/s+2I1EXuSqO5Wa34i3kXZG3gugDssH+ZNCevHad65tc8vQlCQpOLaUjopvkRQKm2Cki2aME7fEOPRy3bA==" + }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "requires": { + "abbrev": "1" + } + }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, "npm-run-path": { "version": "4.0.1", @@ -13794,6 +18423,14 @@ "path-key": "^3.0.0" } }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "requires": { + "boolbase": "~1.0.0" + } + }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -13834,6 +18471,15 @@ "mimic-fn": "^2.1.0" } }, + "open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "requires": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + } + }, "optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", @@ -13917,6 +18563,40 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, + "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==", + "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" + } + }, + "pac-resolver": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.1.tgz", + "integrity": "sha512-cy7u00ko2KVgBAjuhevqpPeHIkCIqPe1v24cydhWjmeuzaBfmUWFCZJ1iAh5TuVzVZoUzXIW7K8sMYOZ84uZ9Q==", + "requires": { + "degenerator": "^3.0.2", + "ip": "^1.1.5", + "netmask": "^2.0.2" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", + "requires": { + "no-case": "^2.2.0" + } + }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -13938,6 +18618,54 @@ "lines-and-columns": "^1.1.6" } }, + "parse5": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.0.0.tgz", + "integrity": "sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==", + "requires": { + "entities": "^4.3.0" + }, + "dependencies": { + "entities": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.1.tgz", + "integrity": "sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==" + } + } + }, + "parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "requires": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "requires": { + "domelementtype": "^2.3.0" + } + } + } + }, + "parseley": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/parseley/-/parseley-0.7.0.tgz", + "integrity": "sha512-xyOytsdDu077M3/46Am+2cGXEKM9U9QclBDv7fimY7e+BBlxh2JcBp2mgNsmkyA9uvgyTjVzDi7cP1v4hcFxbw==", + "requires": { + "moo": "^0.5.1", + "nearley": "^2.20.1" + } + }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -13963,8 +18691,7 @@ "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==", - "dev": true + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "path-to-regexp": { "version": "3.2.0", @@ -13977,6 +18704,14 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, + "pick-util": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/pick-util/-/pick-util-1.1.5.tgz", + "integrity": "sha512-H0MaM8T7wpQ/azvB12ChZw7kpSFzjsgv3Z+N7fUWnL1McTGSEeroCngcK4eOPiFQq08rAyKX3hadcAB1kUqfXA==", + "requires": { + "@jonkemp/package-utils": "^1.0.8" + } + }, "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -13986,8 +18721,7 @@ "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, "pirates": { "version": "4.0.5", @@ -14050,11 +18784,33 @@ } } }, + "preview-email": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/preview-email/-/preview-email-3.0.5.tgz", + "integrity": "sha512-q37jdkVw+wic0o/7xYhOTBS4kF0WX3two0OepmR1Fhxp9NTpO3rJTccAjQm95gJx/2Wa/Nv98sr9pXIQ77/foA==", + "requires": { + "dayjs": "^1.10.6", + "debug": "^4.3.2", + "mailparser": "^3.3.0", + "nodemailer": "^6.6.3", + "open": "7", + "pug": "^3.0.2", + "uuid": "^8.3.2" + } + }, "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==" }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "~2.0.3" + } + }, "prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -14065,6 +18821,11 @@ "sisteransi": "^1.0.5" } }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" + }, "proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -14074,6 +18835,158 @@ "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==", + "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": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + } + } + }, + "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==" + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" + }, + "pug": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.2.tgz", + "integrity": "sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==", + "requires": { + "pug-code-gen": "^3.0.2", + "pug-filters": "^4.0.0", + "pug-lexer": "^5.0.1", + "pug-linker": "^4.0.0", + "pug-load": "^3.0.0", + "pug-parser": "^6.0.0", + "pug-runtime": "^3.0.1", + "pug-strip-comments": "^2.0.0" + } + }, + "pug-attrs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-3.0.0.tgz", + "integrity": "sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==", + "requires": { + "constantinople": "^4.0.1", + "js-stringify": "^1.0.2", + "pug-runtime": "^3.0.0" + } + }, + "pug-code-gen": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.2.tgz", + "integrity": "sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==", + "requires": { + "constantinople": "^4.0.1", + "doctypes": "^1.1.0", + "js-stringify": "^1.0.2", + "pug-attrs": "^3.0.0", + "pug-error": "^2.0.0", + "pug-runtime": "^3.0.0", + "void-elements": "^3.1.0", + "with": "^7.0.0" + } + }, + "pug-error": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.0.0.tgz", + "integrity": "sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==" + }, + "pug-filters": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-4.0.0.tgz", + "integrity": "sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==", + "requires": { + "constantinople": "^4.0.1", + "jstransformer": "1.0.0", + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0", + "resolve": "^1.15.1" + } + }, + "pug-lexer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz", + "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==", + "requires": { + "character-parser": "^2.2.0", + "is-expression": "^4.0.0", + "pug-error": "^2.0.0" + } + }, + "pug-linker": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-4.0.0.tgz", + "integrity": "sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==", + "requires": { + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0" + } + }, + "pug-load": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-3.0.0.tgz", + "integrity": "sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==", + "requires": { + "object-assign": "^4.1.1", + "pug-walk": "^2.0.0" + } + }, + "pug-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-6.0.0.tgz", + "integrity": "sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==", + "requires": { + "pug-error": "^2.0.0", + "token-stream": "1.0.0" + } + }, + "pug-runtime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.1.tgz", + "integrity": "sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==" + }, + "pug-strip-comments": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz", + "integrity": "sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==", + "requires": { + "pug-error": "^2.0.0" + } + }, + "pug-walk": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-2.0.0.tgz", + "integrity": "sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==" + }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -14104,6 +19017,20 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, + "railroad-diagrams": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", + "integrity": "sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==" + }, + "randexp": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz", + "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==", + "requires": { + "discontinuous-range": "1.0.0", + "ret": "~0.1.10" + } + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -14160,7 +19087,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, "requires": { "picomatch": "^2.2.1" } @@ -14179,17 +19105,36 @@ "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + }, "regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" + }, + "remote-content": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remote-content/-/remote-content-3.0.0.tgz", + "integrity": "sha512-/hjCYVqWY/jYR07ptEJpClnYrGedSQ5AxCrEeMb3NlrxTgUK/7+iCOReE3z1QMYm3UL7sJX3o7cww/NC6UgyhA==", + "requires": { + "proxy-from-env": "^1.1.0", + "superagent": "^7.0.2", + "superagent-proxy": "^3.0.0" + } + }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" }, "require-from-string": { "version": "2.0.2", @@ -14201,7 +19146,6 @@ "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, "requires": { "is-core-module": "^2.9.0", "path-parse": "^1.0.7", @@ -14247,6 +19191,11 @@ "signal-exit": "^3.0.2" } }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -14332,11 +19281,18 @@ } } }, + "selderee": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/selderee/-/selderee-0.6.0.tgz", + "integrity": "sha512-ibqWGV5aChDvfVdqNYuaJP/HnVBhlRGSRrlbttmlMpHcLuTqqbMH36QkSs9GEgj5M88JDYLI8eyP94JaQ8xRlg==", + "requires": { + "parseley": "^0.7.0" + } + }, "semver": { "version": "7.3.7", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, "requires": { "lru-cache": "^6.0.0" } @@ -14444,6 +19400,11 @@ "object-inspect": "^1.9.0" } }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==" + }, "signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -14462,6 +19423,35 @@ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, + "slick": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/slick/-/slick-1.12.2.tgz", + "integrity": "sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A==" + }, + "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.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", + "requires": { + "ip": "^1.1.5", + "smart-buffer": "^4.2.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==", + "requires": { + "agent-base": "^6.0.2", + "debug": "4", + "socks": "^2.3.3" + } + }, "source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", @@ -14492,6 +19482,11 @@ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", "dev": true }, + "specificity": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz", + "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==" + }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -14554,7 +19549,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -14565,7 +19559,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "requires": { "ansi-regex": "^5.0.1" } @@ -14588,11 +19581,20 @@ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, + "style-data": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/style-data/-/style-data-1.4.8.tgz", + "integrity": "sha512-RBJD+YQef4PzYKqC4PQEjDvyX709mwEClYg9u0A5EPXqdSkN2BtMnF/tW7EtS9Q0FnBF+lrWsK5+bEKqA+++Dg==", + "requires": { + "cheerio": "^0.22.0", + "mediaquery-text": "^1.2.0", + "pick-util": "^1.1.4" + } + }, "superagent": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.5.tgz", "integrity": "sha512-HQYyGuDRFGmZ6GNC4hq2f37KnsY9Lr0/R1marNZTgMweVDQLTLJJ6DGQ9Tj/xVVs5HEnop9EMmTbywb5P30aqw==", - "dev": true, "requires": { "component-emitter": "^1.3.0", "cookiejar": "^2.1.3", @@ -14610,14 +19612,12 @@ "mime": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==" }, "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -14626,6 +19626,15 @@ } } }, + "superagent-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/superagent-proxy/-/superagent-proxy-3.0.0.tgz", + "integrity": "sha512-wAlRInOeDFyd9pyonrkJspdRAxdLrcsZ6aSnS+8+nu4x1aXbz6FWSTT9M6Ibze+eG60szlL7JA8wEIV7bPWuyQ==", + "requires": { + "debug": "^4.3.2", + "proxy-agent": "^5.0.0" + } + }, "supertest": { "version": "6.2.3", "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.2.3.tgz", @@ -14657,8 +19666,7 @@ "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==", - "dev": true + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" }, "swagger-ui-dist": { "version": "4.12.0", @@ -14779,6 +19787,11 @@ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, + "tlds": { + "version": "1.231.0", + "resolved": "https://registry.npmjs.org/tlds/-/tlds-1.231.0.tgz", + "integrity": "sha512-L7UQwueHSkGxZHQBXHVmXW64oi+uqNtzFt2x6Ssk7NVnpIbw16CRs4eb/jmKOZ9t2JnqZ/b3Cfvo97lnXqKrhw==" + }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -14797,14 +19810,12 @@ "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" }, "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==", - "dev": true, "requires": { "is-number": "^7.0.0" } @@ -14814,6 +19825,11 @@ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" }, + "token-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-1.0.0.tgz", + "integrity": "sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==" + }, "tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", @@ -15018,6 +20034,16 @@ "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", "dev": true }, + "uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" + }, + "uglify-js": { + "version": "3.16.2", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.2.tgz", + "integrity": "sha512-AaQNokTNgExWrkEYA24BTNMSjyqEXPSfhqoS0AxmHkCJ4U+Dyy5AvbGV/sqxuxficEfGGoX3zWw9R7QpLFfEsg==" + }, "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -15039,6 +20065,11 @@ "picocolors": "^1.0.0" } }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==" + }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -15086,11 +20117,30 @@ "convert-source-map": "^1.6.0" } }, + "valid-data-url": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/valid-data-url/-/valid-data-url-3.0.1.tgz", + "integrity": "sha512-jOWVmzVceKlVVdwjNSenT4PbGghU0SBIizAev8ofZVgivk/TVHXSbNL8LP6M3spZvkR9/QolkyJavGSX5Cs0UA==" + }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" }, + "vm2": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.10.tgz", + "integrity": "sha512-AuECTSvwu2OHLAZYhG716YzwodKCIJxB6u1zG7PgSQwIgAlEaoXH52bxdcvT8GkGjnYK7r7yWDW0m0sOsPuBjQ==", + "requires": { + "acorn": "^8.7.0", + "acorn-walk": "^8.2.0" + } + }, + "void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==" + }, "walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", @@ -15119,6 +20169,95 @@ "defaults": "^1.0.3" } }, + "web-resource-inliner": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/web-resource-inliner/-/web-resource-inliner-5.0.0.tgz", + "integrity": "sha512-AIihwH+ZmdHfkJm7BjSXiEClVt4zUFqX4YlFAzjL13wLtDuUneSaFvDBTbdYRecs35SiU7iNKbMnN+++wVfb6A==", + "requires": { + "ansi-colors": "^4.1.1", + "escape-goat": "^3.0.0", + "htmlparser2": "^4.0.0", + "mime": "^2.4.6", + "node-fetch": "^2.6.0", + "valid-data-url": "^3.0.0" + }, + "dependencies": { + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "dependencies": { + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "requires": { + "domelementtype": "^2.2.0" + } + } + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", + "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", + "requires": { + "domelementtype": "^2.0.1" + } + }, + "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" + }, + "dependencies": { + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "requires": { + "domelementtype": "^2.2.0" + } + } + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "htmlparser2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", + "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0", + "domutils": "^2.0.0", + "entities": "^2.0.0" + } + }, + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==" + } + } + }, "webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", @@ -15229,17 +20368,31 @@ } } }, + "with": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz", + "integrity": "sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==", + "requires": { + "@babel/parser": "^7.9.6", + "@babel/types": "^7.9.6", + "assert-never": "^1.2.1", + "babel-walk": "3.0.0-canary-5" + } + }, "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==", - "dev": true + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" }, "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==", - "dev": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -15261,6 +20414,11 @@ "signal-exit": "^3.0.7" } }, + "xregexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", + "integrity": "sha512-xl/50/Cf32VsGq/1R8jJE5ajH1yMCQkpmoS10QbFZWl2Oor4H0Me64Pu2yxvsRWK3m6soJbmGfzSR7BYmDcWAA==" + }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -15269,14 +20427,12 @@ "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true + "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==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yaml": { "version": "1.10.2", @@ -15310,8 +20466,7 @@ "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==", - "dev": true + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" }, "yn": { "version": "3.1.1", diff --git a/servicio-notificaciones/package.json b/servicio-notificaciones/package.json index bd1a9175..8987b218 100644 --- a/servicio-notificaciones/package.json +++ b/servicio-notificaciones/package.json @@ -21,12 +21,16 @@ "test:e2e": "jest --config ./test/jest-e2e.json" }, "dependencies": { + "@nestjs-modules/mailer": "^1.7.1", "@nestjs/common": "^8.0.0", + "@nestjs/config": "^2.2.0", "@nestjs/core": "^8.0.0", "@nestjs/mapped-types": "*", "@nestjs/microservices": "^8.4.7", "@nestjs/platform-express": "^8.0.0", "@nestjs/swagger": "^5.2.1", + "handlebars": "^4.7.7", + "nodemailer": "^6.7.7", "reflect-metadata": "^0.1.13", "rimraf": "^3.0.2", "rxjs": "^7.2.0", diff --git a/servicio-notificaciones/src/app.module.ts b/servicio-notificaciones/src/app.module.ts index bb34cfc8..9ce4e8cc 100644 --- a/servicio-notificaciones/src/app.module.ts +++ b/servicio-notificaciones/src/app.module.ts @@ -1,11 +1,45 @@ import { Module } from '@nestjs/common'; import { AppController } from './app.controller'; -import { NotificationsModule } from './notifications/notifications.module'; +import { MailerModule } from '@nestjs-modules/mailer'; import { ClientsModule, Transport } from "@nestjs/microservices"; +import { AuthModule } from './auth/auth.module'; +import { EmailController } from './email.controller'; +import { join } from 'path'; +import { HandlebarsAdapter } from '@nestjs-modules/mailer/dist/adapters/handlebars.adapter'; +import { ConfigModule, ConfigService } from '@nestjs/config'; @Module({ imports: [ + MailerModule.forRootAsync({ + // imports: [ConfigModule], // import module if not enabled globally + useFactory: async (config: ConfigService) => ({ + // transport: config.get("MAIL_TRANSPORT"), + // or + transport: { + host: config.get('MAIL_HOST'), + secure: false, + auth: { + user: config.get('MAIL_USER'), + pass: config.get('MAIL_PASSWORD'), + }, + }, + defaults: { + from: `"No Reply" <${config.get('MAIL_USER')}>`, + }, + template: { + dir: join(__dirname, 'mails'), + adapter: new HandlebarsAdapter(), + options: { + strict: true, + }, + }, + }), + inject: [ConfigService], + }), + ConfigModule.forRoot({ + isGlobal: true, // no need to import into other modules + }), ClientsModule.register([ { name: "SERVICIO_NOTIFICACIONES", @@ -16,8 +50,8 @@ import { ClientsModule, Transport } from "@nestjs/microservices"; } } ]), - NotificationsModule], - controllers: [AppController], + AuthModule], + controllers: [AppController, EmailController], providers: [], }) export class AppModule {} diff --git a/servicio-notificaciones/src/auth/auth.module.ts b/servicio-notificaciones/src/auth/auth.module.ts new file mode 100644 index 00000000..af8a5d4e --- /dev/null +++ b/servicio-notificaciones/src/auth/auth.module.ts @@ -0,0 +1,9 @@ +import { Module } from '@nestjs/common'; +//import { AuthController } from './auth.controller'; +import { AuthService } from './auth.service'; + +@Module({ + //controllers: [AuthController], + providers: [AuthService], +}) +export class AuthModule {} diff --git a/servicio-notificaciones/src/auth/auth.service.spec.ts b/servicio-notificaciones/src/auth/auth.service.spec.ts new file mode 100644 index 00000000..800ab662 --- /dev/null +++ b/servicio-notificaciones/src/auth/auth.service.spec.ts @@ -0,0 +1,18 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { AuthService } from './auth.service'; + +describe('AuthService', () => { + let service: AuthService; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [AuthService], + }).compile(); + + service = module.get(AuthService); + }); + + it('should be defined', () => { + expect(service).toBeDefined(); + }); +}); diff --git a/servicio-notificaciones/src/auth/auth.service.ts b/servicio-notificaciones/src/auth/auth.service.ts new file mode 100644 index 00000000..015d7181 --- /dev/null +++ b/servicio-notificaciones/src/auth/auth.service.ts @@ -0,0 +1,13 @@ +import { Injectable } from '@nestjs/common'; +import { User } from './../user/user.entity'; + +@Injectable() +export class AuthService { + + async signUp(user: User) { + const token = Math.floor(1000 + Math.random() * 9000).toString(); + // create user in db + // ... + // send confirmation mail + } +} \ No newline at end of file diff --git a/servicio-notificaciones/src/email.controller.ts b/servicio-notificaciones/src/email.controller.ts new file mode 100644 index 00000000..c18340a0 --- /dev/null +++ b/servicio-notificaciones/src/email.controller.ts @@ -0,0 +1,46 @@ +import { Controller, Get, Query } from '@nestjs/common'; +import { MessagePattern, Payload } from '@nestjs/microservices'; + +import { MailerService } from '@nestjs-modules/mailer'; +import { User } from './user/user.entity'; + +@Controller() +export class EmailController { + constructor(private mailService: MailerService) { } + + @MessagePattern({ cmd: 'sendMail' }) + sendMail(@Payload() toEmail: string) { + + var response = this.mailService.sendMail({ + to: toEmail["email"], + from: "mbonilla.guti@gmail.com", + subject: 'Plain Text Email ✔', + text: 'Welcome NestJS Email Sending Tutorial', + }); + return response; + } + + @MessagePattern({ cmd: 'html' }) + async postHTMLEmail(@Payload() user: any) { + const url = "http://localhost:3000/"; + const image = "images/email.ong"; + var response = await this.mailService.sendMail({ + to: user["email"], + from: "mbonilla.guti@gmail.com", + subject: 'HTML Dynamic Template', + template: 'templateEmail', + context: { + name: user["name"], + url + }, + attachments: [ + { + filename: 'email.png', + path: __dirname +'/mails/images/email.png', + cid: 'logo' //my mistake was putting "cid:logo@cid" here! + } + ] + }); + return response; + } +} diff --git a/servicio-notificaciones/src/mails/confirmation.hbs b/servicio-notificaciones/src/mails/confirmation.hbs new file mode 100644 index 00000000..9f082d28 --- /dev/null +++ b/servicio-notificaciones/src/mails/confirmation.hbs @@ -0,0 +1,7 @@ +

Hey {{ name }},

+

Please click below to confirm your email

+

+ Confirm +

+ +

If you did not request this email you can safely ignore it.

\ No newline at end of file diff --git a/servicio-notificaciones/src/mails/images/email.png b/servicio-notificaciones/src/mails/images/email.png new file mode 100644 index 00000000..a8b4a74e Binary files /dev/null and b/servicio-notificaciones/src/mails/images/email.png differ diff --git a/servicio-notificaciones/src/mails/templateEmail.hbs b/servicio-notificaciones/src/mails/templateEmail.hbs new file mode 100644 index 00000000..bd29756a --- /dev/null +++ b/servicio-notificaciones/src/mails/templateEmail.hbs @@ -0,0 +1,452 @@ + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌  +
+ +
+ + + \ No newline at end of file diff --git a/servicio-notificaciones/src/user/user.entity.ts b/servicio-notificaciones/src/user/user.entity.ts new file mode 100644 index 00000000..95547694 --- /dev/null +++ b/servicio-notificaciones/src/user/user.entity.ts @@ -0,0 +1,4 @@ +export interface User { + email: string; + name: string; +} \ No newline at end of file diff --git a/servicio-usuarios/package-lock.json b/servicio-usuarios/package-lock.json index 55f87407..9d7a82b9 100644 --- a/servicio-usuarios/package-lock.json +++ b/servicio-usuarios/package-lock.json @@ -5,6 +5,7 @@ "requires": true, "packages": { "": { + "name": "servicio-usuarios", "version": "0.0.1", "license": "UNLICENSED", "dependencies": { diff --git a/servicio-usuarios/src/users/users.controller.ts b/servicio-usuarios/src/users/users.controller.ts index ba72ee15..1fbe7658 100644 --- a/servicio-usuarios/src/users/users.controller.ts +++ b/servicio-usuarios/src/users/users.controller.ts @@ -5,7 +5,7 @@ import { UsersService } from './users.service'; @Controller() export class UsersController { - constructor(private readonly userService: UsersService) {} + constructor(private readonly userService: UsersService) { } @MessagePattern({ cmd: 'createUser' }) create(@Payload() user: UserDocument) { @@ -22,6 +22,7 @@ export class UsersController { return this.userService.create(user); } + @MessagePattern({ cmd: 'findAllUsers' }) findAll() { return this.userService.findAll(); @@ -39,6 +40,7 @@ export class UsersController { return this.userService.findGuardsCommunity(pcommunity_id); } + @MessagePattern({ cmd: 'updateUser' }) update(@Payload() user: UserDocument) { return this.userService.update(user.id, user); @@ -52,10 +54,10 @@ export class UsersController { //inicio de sesion @MessagePattern({ cmd: 'loginUser' }) - findLogin(@Payload() body:string) { - let pemail= body['email']; - let ppassword= body['password']; - return this.userService.findLogin(pemail,ppassword); + findLogin(@Payload() body: string) { + let pemail = body['email']; + let ppassword = body['password']; + return this.userService.findLogin(pemail, ppassword); } //buscar solo admins del sistema @@ -64,9 +66,24 @@ export class UsersController { return this.userService.allUsersAdminSistema(); } - //buscar solo admins de comunidad - @MessagePattern({ cmd: 'findAdminComunidad' }) - allUsersAdminComunidad() { - return this.userService.allUsersAdminComunidad(); - } + //buscar solo admins de comunidad + @MessagePattern({ cmd: 'findAdminComunidad' }) + allUsersAdminComunidad() { + return this.userService.allUsersAdminComunidad(); + } + + //Prueba de envio de correo despues de registro, llamando a microservicio notificaciones + @MessagePattern({ cmd: 'testSendMail' }) + testSendMail(@Payload() user: UserDocument) { + return this.userService.testSendMail(user); + } + + //buscar usuario de una comunidad + @MessagePattern({ cmd: 'findOneCommunityUser' }) + findCommunityUser(@Payload() user: any) { + return this.userService.findCommunityUser(user["community_id"], user["user_type"]); + } + + } + diff --git a/servicio-usuarios/src/users/users.module.ts b/servicio-usuarios/src/users/users.module.ts index 85a0925d..75fc3bd5 100644 --- a/servicio-usuarios/src/users/users.module.ts +++ b/servicio-usuarios/src/users/users.module.ts @@ -4,9 +4,20 @@ import { MongooseModule } from '@nestjs/mongoose'; import { UsersController } from './users.controller'; import { User, UserSchema } from '../schemas/user.schema'; +import { ClientsModule, Transport } from "@nestjs/microservices"; @Module({ imports: [ + ClientsModule.register([ + { + name: "SERVICIO_NOTIFICACIONES", + transport: Transport.TCP, + options: { + host: "127.0.0.1", + port: 3009 + } + } + ]), MongooseModule.forFeature([{ name: User.name, schema: UserSchema }]), ], controllers: [UsersController], diff --git a/servicio-usuarios/src/users/users.service.ts b/servicio-usuarios/src/users/users.service.ts index f4503498..18b219cb 100644 --- a/servicio-usuarios/src/users/users.service.ts +++ b/servicio-usuarios/src/users/users.service.ts @@ -1,25 +1,32 @@ -import { Injectable } from '@nestjs/common'; +import { Injectable, Inject } from '@nestjs/common'; import { Model } from 'mongoose'; import { User, UserDocument } from '../schemas/user.schema'; import { InjectModel } from '@nestjs/mongoose'; -import {Md5} from "md5-typescript"; +import { Md5 } from "md5-typescript"; +import { map } from 'rxjs/operators'; + +import { RpcException, ClientProxy } from '@nestjs/microservices'; + + @Injectable() export class UsersService { constructor( @InjectModel(User.name) private readonly userModel: Model, - ) {} - private publicKey: string; + @Inject('SERVICIO_NOTIFICACIONES') private readonly clientNotificationtApp: ClientProxy, + + ) { } + private publicKey: string; async create(user: UserDocument): Promise { - let passwordEncriptada=Md5.init(user.password); - user.password=passwordEncriptada; + let passwordEncriptada = Md5.init(user.password); + user.password = passwordEncriptada; return this.userModel.create(user); } - async findAll(): Promise { + async findAll(): Promise { return this.userModel - .find() - .setOptions({ sanitizeFilter: true }) + .find() + .setOptions({ sanitizeFilter: true }) .exec(); } async findOne(id: string): Promise { @@ -41,18 +48,18 @@ export class UsersService { } //inicio de sesion - async findLogin(email: string, password: string) : Promise { - let repo1=this.userModel; + async findLogin(email: string, password: string): Promise { + let repo1 = this.userModel; let userReturn = new Promise((resolve, reject) => { - let repo =repo1; + let repo = repo1; - repo.find({ email : email }).exec((err, res) => { + repo.find({ email: email }).exec((err, res) => { if (err) { reject(err); } else { - let passwordEncriptada=Md5.init(password); - if (res[0].password==passwordEncriptada) { + let passwordEncriptada = Md5.init(password); + if (res[0].password == passwordEncriptada) { resolve(res[0]); } else { @@ -61,15 +68,16 @@ export class UsersService { } }); }); - - return userReturn; + + return userReturn; } //find admin del sistema - async allUsersAdminSistema(): Promise { + async allUsersAdminSistema(): Promise { return this.userModel.find({ user_type: 1 }).exec(); } + //find admin del sistema async findGuardsCommunity(pcommunity_id: string): Promise { return this.userModel.find({ user_type: 4 }).exec(); @@ -79,5 +87,33 @@ export class UsersService { return this.userModel.find({ user_type: 2 }).exec(); } - + //find admin de comunidad + async allUsersAdminComunidad(): Promise { + return this.userModel.find({ user_type: 2 }).exec(); + } + + async testSendMail(user: UserDocument) { + let passwordEncriptada = Md5.init(user.password); + user.password = passwordEncriptada; + this.userModel.create(user) + /*.then(() => { + + } );*/ + + const pattern = { cmd: 'html' }; + const payload = { email: user['email'], name: user['name'] }; + return this.clientNotificationtApp + .send(pattern, payload) + .pipe( + map((message: string) => ({ message })), + ); + } + + + + async findCommunityUser(community_id: string, user_type: number): Promise { + return this.userModel.findOne({ community_id: community_id, user_type: user_type }).exec(); + } + + } diff --git a/web-ui/web-react/public/assets/demo/data/cantones.json b/web-ui/web-react/public/assets/demo/data/cantones.json new file mode 100644 index 00000000..b6d91a36 --- /dev/null +++ b/web-ui/web-react/public/assets/demo/data/cantones.json @@ -0,0 +1,489 @@ +[ + { + "name": "San José", + "code": "101", + "parentCode": "1", + "isoParent": "SJ" + }, + { + "name": "Escazú", + "code": "102", + "parentCode": "1", + "isoParent": "SJ" + }, + { + "name": "Desamparados", + "code": "103", + "parentCode": "1", + "isoParent": "SJ" + }, + { + "name": "Puriscal", + "code": "104", + "parentCode": "1", + "isoParent": "SJ" + }, + { + "name": "Tarrazú", + "code": "105", + "parentCode": "1", + "isoParent": "SJ" + }, + { + "name": "Aserrí­", + "code": "106", + "parentCode": "1", + "isoParent": "SJ" + }, + { + "name": "Mora", + "code": "107", + "parentCode": "1", + "isoParent": "SJ" + }, + { + "name": "Goicoechea", + "code": "108", + "parentCode": "1", + "isoParent": "SJ" + }, + { + "name": "Santa Ana", + "code": "109", + "parentCode": "1", + "isoParent": "SJ" + }, + { + "name": "Alajuelita", + "code": "110", + "parentCode": "1", + "isoParent": "SJ" + }, + { + "name": "Vasquez de Coronado", + "code": "111", + "parentCode": "1", + "isoParent": "SJ" + }, + { + "name": "Acosta", + "code": "112", + "parentCode": "1", + "isoParent": "SJ" + }, + { + "name": "Tibás", + "code": "113", + "parentCode": "1", + "isoParent": "SJ" + }, + { + "name": "Moravia", + "code": "114", + "parentCode": "1", + "isoParent": "SJ" + }, + { + "name": "Montes de Oca", + "code": "115", + "parentCode": "1", + "isoParent": "SJ" + }, + { + "name": "Turrubares", + "code": "116", + "parentCode": "1", + "isoParent": "SJ" + }, + { + "name": "Dota", + "code": "117", + "parentCode": "1", + "isoParent": "SJ" + }, + { + "name": "Curridabat", + "code": "118", + "parentCode": "1", + "isoParent": "SJ" + }, + { + "name": "Pérez Zeledón", + "code": "119", + "parentCode": "1", + "isoParent": "SJ" + }, + { + "name": "León Cortés", + "code": "120", + "parentCode": "1", + "isoParent": "SJ" + }, + { + "name": "Alajuela", + "code": "201", + "parentCode": "2", + "isoParent": "ALAJ" + }, + { + "name": "San Ramón", + "code": "202", + "parentCode": "2", + "isoParent": "ALAJ" + }, + { + "name": "Grecia", + "code": "203", + "parentCode": "2", + "isoParent": "ALAJ" + }, + { + "name": "San Mateo", + "code": "204", + "parentCode": "2", + "isoParent": "ALAJ" + }, + { + "name": "Atenas", + "code": "205", + "parentCode": "2", + "isoParent": "ALAJ" + }, + { + "name": "Naranjo", + "code": "206", + "parentCode": "2", + "isoParent": "ALAJ" + }, + { + "name": "Palmares", + "code": "207", + "parentCode": "2", + "isoParent": "ALAJ" + }, + { + "name": "Poás", + "code": "208", + "parentCode": "2", + "isoParent": "ALAJ" + }, + { + "name": "Orotina", + "code": "209", + "parentCode": "2", + "isoParent": "ALAJ" + }, + { + "name": "San Carlos", + "code": "210", + "parentCode": "2", + "isoParent": "ALAJ" + }, + { + "name": "Alfaro Ruiz", + "code": "211", + "parentCode": "2", + "isoParent": "ALAJ" + }, + { + "name": "Valverde Vega", + "code": "212", + "parentCode": "2", + "isoParent": "ALAJ" + }, + { + "name": "Upala", + "code": "213", + "parentCode": "2", + "isoParent": "ALAJ" + }, + { + "name": "Los Chiles", + "code": "214", + "parentCode": "2", + "isoParent": "ALAJ" + }, + { + "name": "Guatuso", + "code": "215", + "parentCode": "2", + "isoParent": "ALAJ" + }, + { + "name": "Cartago", + "code": "301", + "parentCode": "3", + "isoParent": "CAR" + }, + { + "name": "Paraí­so", + "code": "302", + "parentCode": "3", + "isoParent": "CAR" + }, + { + "name": "La Unión", + "code": "303", + "parentCode": "3", + "isoParent": "CAR" + }, + { + "name": "Jiménez", + "code": "304", + "parentCode": "3", + "isoParent": "CAR" + }, + { + "name": "Turrialba", + "code": "305", + "parentCode": "3", + "isoParent": "CAR" + }, + { + "name": "Alvarado", + "code": "306", + "parentCode": "3", + "isoParent": "CAR" + }, + { + "name": "Oreamuno", + "code": "307", + "parentCode": "3", + "isoParent": "CAR" + }, + { + "name": "El Guarco", + "code": "308", + "parentCode": "3", + "isoParent": "CAR" + }, + { + "name": "Heredia", + "code": "401", + "parentCode": "4", + "isoParent": "HER" + }, + { + "name": "Barva", + "code": "402", + "parentCode": "4", + "isoParent": "HER" + }, + { + "name": "Santo Domingo", + "code": "403", + "parentCode": "4", + "isoParent": "HER" + }, + { + "name": "Santa Bárbara", + "code": "404", + "parentCode": "4", + "isoParent": "HER" + }, + { + "name": "San Rafael", + "code": "405", + "parentCode": "4", + "isoParent": "HER" + }, + { + "name": "San Isidro", + "code": "406", + "parentCode": "4", + "isoParent": "HER" + }, + { + "name": "Belén", + "code": "407", + "parentCode": "4", + "isoParent": "HER" + }, + { + "name": "Flores", + "code": "408", + "parentCode": "4", + "isoParent": "HER" + }, + { + "name": "San Pablo", + "code": "409", + "parentCode": "4", + "isoParent": "HER" + }, + { + "name": "Sarapiquí­ ", + "code": "410", + "parentCode": "4", + "isoParent": "HER" + }, + { + "name": "Liberia", + "code": "501", + "parentCode": "5", + "isoParent": "GUANA" + }, + { + "name": "Nicoya", + "code": "502", + "parentCode": "5", + "isoParent": "GUANA" + }, + { + "name": "Santa Cruz", + "code": "503", + "parentCode": "5", + "isoParent": "GUANA" + }, + { + "name": "Bagaces", + "code": "504", + "parentCode": "5", + "isoParent": "GUANA" + }, + { + "name": "Carrillo", + "code": "505", + "parentCode": "5", + "isoParent": "GUANA" + }, + { + "name": "Cañas", + "code": "506", + "parentCode": "5", + "isoParent": "GUANA" + }, + { + "name": "Abangares", + "code": "507", + "parentCode": "5", + "isoParent": "GUANA" + }, + { + "name": "Tilarán", + "code": "508", + "parentCode": "5", + "isoParent": "GUANA" + }, + { + "name": "Nandayure", + "code": "509", + "parentCode": "5", + "isoParent": "GUANA" + }, + { + "name": "La Cruz", + "code": "510", + "parentCode": "5", + "isoParent": "GUANA" + }, + { + "name": "Hojancha", + "code": "511", + "parentCode": "5", + "isoParent": "GUANA" + }, + { + "name": "Puntarenas", + "code": "601", + "parentCode": "6", + "isoParent": "PUNT" + }, + { + "name": "Esparza", + "code": "602", + "parentCode": "6", + "isoParent": "PUNT" + }, + { + "name": "Buenos Aires", + "code": "603", + "parentCode": "6", + "isoParent": "PUNT" + }, + { + "name": "Montes de Oro", + "code": "604", + "parentCode": "6", + "isoParent": "PUNT" + }, + { + "name": "Osa", + "code": "605", + "parentCode": "6", + "isoParent": "PUNT" + }, + { + "name": "Aguirre", + "code": "606", + "parentCode": "6", + "isoParent": "PUNT" + }, + { + "name": "Golfito", + "code": "607", + "parentCode": "6", + "isoParent": "PUNT" + }, + { + "name": "Coto Brus", + "code": "608", + "parentCode": "6", + "isoParent": "PUNT" + }, + { + "name": "Parrita", + "code": "609", + "parentCode": "6", + "isoParent": "PUNT" + }, + { + "name": "Corredores", + "code": "610", + "parentCode": "6", + "isoParent": "PUNT" + }, + { + "name": "Garabito", + "code": "611", + "parentCode": "6", + "isoParent": "PUNT" + }, + { + "name": "Limón", + "code": "701", + "parentCode": "7", + "isoParent": "LIM" + }, + { + "name": "Pococí­", + "code": "702", + "parentCode": "7", + "isoParent": "LIM" + }, + { + "name": "Siquirres ", + "code": "703", + "parentCode": "7", + "isoParent": "LIM" + }, + { + "name": "Talamanca", + "code": "704", + "parentCode": "7", + "isoParent": "LIM" + }, + { + "name": "Matina", + "code": "705", + "parentCode": "7", + "isoParent": "LIM" + }, + { + "name": "Guácimo", + "code": "706", + "parentCode": "7", + "isoParent": "LIM" + } + ] + \ No newline at end of file diff --git a/web-ui/web-react/public/assets/demo/data/distritos.json b/web-ui/web-react/public/assets/demo/data/distritos.json new file mode 100644 index 00000000..584e14bd --- /dev/null +++ b/web-ui/web-react/public/assets/demo/data/distritos.json @@ -0,0 +1,2352 @@ +[ + { + "name": "Carmen", + "code": "10101", + "parentCode": "101" + }, + { + "name": "Merced", + "code": "10102", + "parentCode": "101" + }, + { + "name": "Hospital", + "code": "10103", + "parentCode": "101" + }, + { + "name": "Catedral", + "code": "10104", + "parentCode": "101" + }, + { + "name": "Zapote", + "code": "10105", + "parentCode": "101" + }, + { + "name": "San Francisco de Dos Ríos", + "code": "10106", + "parentCode": "101" + }, + { + "name": "Uruca", + "code": "10107", + "parentCode": "101" + }, + { + "name": "Mata Redonda", + "code": "10108", + "parentCode": "101" + }, + { + "name": "Pavas", + "code": "10109", + "parentCode": "101" + }, + { + "name": "Hatillo", + "code": "10110", + "parentCode": "101" + }, + { + "name": "San Sebastián", + "code": "10111", + "parentCode": "101" + }, + { + "name": "Escazú", + "code": "10201", + "parentCode": "102" + }, + { + "name": "San Antonio", + "code": "10202", + "parentCode": "102" + }, + { + "name": "San Rafael", + "code": "10203", + "parentCode": "102" + }, + { + "name": "Desamparados", + "code": "10301", + "parentCode": "103" + }, + { + "name": "San Miguel", + "code": "10302", + "parentCode": "103" + }, + { + "name": "San Juan de Dios", + "code": "10303", + "parentCode": "103" + }, + { + "name": "San Rafael Arriba", + "code": "10304", + "parentCode": "103" + }, + { + "name": "San Antonio", + "code": "10305", + "parentCode": "103" + }, + { + "name": "Frailes", + "code": "10306", + "parentCode": "103" + }, + { + "name": "Patarrá", + "code": "10307", + "parentCode": "103" + }, + { + "name": "San Cristóbal", + "code": "10308", + "parentCode": "103" + }, + { + "name": "Rosario", + "code": "10309", + "parentCode": "103" + }, + { + "name": "Damas", + "code": "10310", + "parentCode": "103" + }, + { + "name": "San Rafael Abajo", + "code": "10311", + "parentCode": "103" + }, + { + "name": "Gravilias", + "code": "10312", + "parentCode": "103" + }, + { + "name": "Los Guido", + "code": "10313", + "parentCode": "103" + }, + { + "name": "Santiago", + "code": "10401", + "parentCode": "104" + }, + { + "name": "Mercedes Sur", + "code": "10402", + "parentCode": "104" + }, + { + "name": "Barbacoas", + "code": "10403", + "parentCode": "104" + }, + { + "name": "Grifo Alto", + "code": "10404", + "parentCode": "104" + }, + { + "name": "San Rafael", + "code": "10405", + "parentCode": "104" + }, + { + "name": "Candelaria", + "code": "10406", + "parentCode": "104" + }, + { + "name": "Desamparaditos", + "code": "10407", + "parentCode": "104" + }, + { + "name": "San Antonio", + "code": "10408", + "parentCode": "104" + }, + { + "name": "Chires", + "code": "10409", + "parentCode": "104" + }, + { + "name": "San Marcos", + "code": "10501", + "parentCode": "105" + }, + { + "name": "San Lorenzo", + "code": "10502", + "parentCode": "105" + }, + { + "name": "San Carlos", + "code": "10503", + "parentCode": "105" + }, + { + "name": "Aserrí", + "code": "10601", + "parentCode": "106" + }, + { + "name": "Tarbaca o Praga", + "code": "10602", + "parentCode": "106" + }, + { + "name": "Vuelta de Jorco", + "code": "10603", + "parentCode": "106" + }, + { + "name": "San Gabriel", + "code": "10604", + "parentCode": "106" + }, + { + "name": "La Legua", + "code": "10605", + "parentCode": "106" + }, + { + "name": "Monterrey", + "code": "10606", + "parentCode": "106" + }, + { + "name": "Salitrillos", + "code": "10607", + "parentCode": "106" + }, + { + "name": "Colón", + "code": "10701", + "parentCode": "107" + }, + { + "name": "Guayabo", + "code": "10702", + "parentCode": "107" + }, + { + "name": "Tabarcia", + "code": "10703", + "parentCode": "107" + }, + { + "name": "Piedras Negras", + "code": "10704", + "parentCode": "107" + }, + { + "name": "Picagres", + "code": "10705", + "parentCode": "107" + }, + { + "name": "Guadalupe", + "code": "10801", + "parentCode": "108" + }, + { + "name": "San Francisco", + "code": "10802", + "parentCode": "108" + }, + { + "name": "Calle Blancos", + "code": "10803", + "parentCode": "108" + }, + { + "name": "Mata de Plátano", + "code": "10804", + "parentCode": "108" + }, + { + "name": "Ipís", + "code": "10805", + "parentCode": "108" + }, + { + "name": "Rancho Redondo", + "code": "10806", + "parentCode": "108" + }, + { + "name": "Purral", + "code": "10807", + "parentCode": "108" + }, + { + "name": "Santa Ana", + "code": "10901", + "parentCode": "109" + }, + { + "name": "Salitral", + "code": "10902", + "parentCode": "109" + }, + { + "name": "Pozos o Concepción", + "code": "10903", + "parentCode": "109" + }, + { + "name": "Uruca o San Joaquín", + "code": "10904", + "parentCode": "109" + }, + { + "name": "Piedades", + "code": "10905", + "parentCode": "109" + }, + { + "name": "Brasil", + "code": "10906", + "parentCode": "109" + }, + { + "name": "Alajuelita", + "code": "11001", + "parentCode": "110" + }, + { + "name": "San Josecito", + "code": "11002", + "parentCode": "110" + }, + { + "name": "San Antonio", + "code": "11003", + "parentCode": "110" + }, + { + "name": "Concepción", + "code": "11004", + "parentCode": "110" + }, + { + "name": "San Felipe", + "code": "11005", + "parentCode": "110" + }, + { + "name": "San Isidro", + "code": "11101", + "parentCode": "111" + }, + { + "name": "San Rafael", + "code": "11102", + "parentCode": "111" + }, + { + "name": "Dulce Name de Jesús", + "code": "11103", + "parentCode": "111" + }, + { + "name": "Patalillo", + "code": "11104", + "parentCode": "111" + }, + { + "name": "Cascajal", + "code": "11105", + "parentCode": "111" + }, + { + "name": "San Ignacio", + "code": "11201", + "parentCode": "112" + }, + { + "name": "Guaitil", + "code": "11202", + "parentCode": "112" + }, + { + "name": "Palmichal", + "code": "11203", + "parentCode": "112" + }, + { + "name": "Cangrejal", + "code": "11204", + "parentCode": "112" + }, + { + "name": "Sabanillas", + "code": "11205", + "parentCode": "112" + }, + { + "name": "San Juan", + "code": "11301", + "parentCode": "113" + }, + { + "name": "Cinco Esquinas", + "code": "11302", + "parentCode": "113" + }, + { + "name": "Anselmo Llorente", + "code": "11303", + "parentCode": "113" + }, + { + "name": "León XIII", + "code": "11304", + "parentCode": "113" + }, + { + "name": "Colima", + "code": "11305", + "parentCode": "113" + }, + { + "name": "San Vicente", + "code": "11401", + "parentCode": "114" + }, + { + "name": "San Jerónimo", + "code": "11402", + "parentCode": "114" + }, + { + "name": "Trinidad", + "code": "11403", + "parentCode": "114" + }, + { + "name": "San Pedro", + "code": "11501", + "parentCode": "115" + }, + { + "name": "Sabanilla", + "code": "11502", + "parentCode": "115" + }, + { + "name": "Mercedes o Betania", + "code": "11503", + "parentCode": "115" + }, + { + "name": "San Rafael", + "code": "11504", + "parentCode": "115" + }, + { + "name": "San Pablo", + "code": "11601", + "parentCode": "116" + }, + { + "name": "San Pedro", + "code": "11602", + "parentCode": "116" + }, + { + "name": "San Juan de Mata", + "code": "11603", + "parentCode": "116" + }, + { + "name": "San Luis", + "code": "11604", + "parentCode": "116" + }, + { + "name": "Cárara", + "code": "11605", + "parentCode": "116" + }, + { + "name": "Santa María", + "code": "11701", + "parentCode": "117" + }, + { + "name": "Jardín", + "code": "11702", + "parentCode": "117" + }, + { + "name": "Copey", + "code": "11703", + "parentCode": "117" + }, + { + "name": "Curridabat", + "code": "11801", + "parentCode": "118" + }, + { + "name": "Granadilla", + "code": "11802", + "parentCode": "118" + }, + { + "name": "Sánchez", + "code": "11803", + "parentCode": "118" + }, + { + "name": "Tirrases", + "code": "11804", + "parentCode": "118" + }, + { + "name": "San Isidro de el General", + "code": "11901", + "parentCode": "119" + }, + { + "name": "General", + "code": "11902", + "parentCode": "119" + }, + { + "name": "Daniel Flores", + "code": "11903", + "parentCode": "119" + }, + { + "name": "Rivas", + "code": "11904", + "parentCode": "119" + }, + { + "name": "San Pedro", + "code": "11905", + "parentCode": "119" + }, + { + "name": "Platanares", + "code": "11906", + "parentCode": "119" + }, + { + "name": "Pejibaye", + "code": "11907", + "parentCode": "119" + }, + { + "name": "Cajón", + "code": "11908", + "parentCode": "119" + }, + { + "name": "Barú", + "code": "11909", + "parentCode": "119" + }, + { + "name": "Río Nuevo", + "code": "11910", + "parentCode": "119" + }, + { + "name": "Páramo", + "code": "11911", + "parentCode": "119" + }, + { + "name": "San Pablo", + "code": "12001", + "parentCode": "120" + }, + { + "name": "San Andrés", + "code": "12002", + "parentCode": "120" + }, + { + "name": "Llano Bonito", + "code": "12003", + "parentCode": "120" + }, + { + "name": "San Isidro", + "code": "12004", + "parentCode": "120" + }, + { + "name": "Santa Cruz", + "code": "12005", + "parentCode": "120" + }, + { + "name": "San Antonio", + "code": "12006", + "parentCode": "120" + }, + { + "name": "Alajuela", + "code": "20101", + "parentCode": "201" + }, + { + "name": "San José", + "code": "20102", + "parentCode": "201" + }, + { + "name": "Carrizal", + "code": "20103", + "parentCode": "201" + }, + { + "name": "San Antonio", + "code": "20104", + "parentCode": "201" + }, + { + "name": "Guácima", + "code": "20105", + "parentCode": "201" + }, + { + "name": "San Isidro", + "code": "20106", + "parentCode": "201" + }, + { + "name": "Sabanilla", + "code": "20107", + "parentCode": "201" + }, + { + "name": "San Rafael", + "code": "20108", + "parentCode": "201" + }, + { + "name": "Río Segundo", + "code": "20109", + "parentCode": "201" + }, + { + "name": "Desamparados", + "code": "20110", + "parentCode": "201" + }, + { + "name": "Turrucares", + "code": "20111", + "parentCode": "201" + }, + { + "name": "Tambor", + "code": "20112", + "parentCode": "201" + }, + { + "name": "La Garita", + "code": "20113", + "parentCode": "201" + }, + { + "name": "Sarapiquí", + "code": "20114", + "parentCode": "201" + }, + { + "name": "San Ramón", + "code": "20201", + "parentCode": "202" + }, + { + "name": "Santiago", + "code": "20202", + "parentCode": "202" + }, + { + "name": "San Juan", + "code": "20203", + "parentCode": "202" + }, + { + "name": "Piedades Norte", + "code": "20204", + "parentCode": "202" + }, + { + "name": "Piedades Sur", + "code": "20205", + "parentCode": "202" + }, + { + "name": "San Rafael", + "code": "20206", + "parentCode": "202" + }, + { + "name": "San Isidro", + "code": "20207", + "parentCode": "202" + }, + { + "name": "Angeles", + "code": "20208", + "parentCode": "202" + }, + { + "name": "Alfaro", + "code": "20209", + "parentCode": "202" + }, + { + "name": "Volio", + "code": "20210", + "parentCode": "202" + }, + { + "name": "Concepción", + "code": "20211", + "parentCode": "202" + }, + { + "name": "Zapotal", + "code": "20212", + "parentCode": "202" + }, + { + "name": "San Isidro de Peñas Blancas", + "code": "20213", + "parentCode": "202" + }, + { + "name": "Grecia", + "code": "20301", + "parentCode": "203" + }, + { + "name": "San Isidro", + "code": "20302", + "parentCode": "203" + }, + { + "name": "San José", + "code": "20303", + "parentCode": "203" + }, + { + "name": "San Roque", + "code": "20304", + "parentCode": "203" + }, + { + "name": "Tacares", + "code": "20305", + "parentCode": "203" + }, + { + "name": "Río Cuarto", + "code": "20306", + "parentCode": "203" + }, + { + "name": "Puente Piedra", + "code": "20307", + "parentCode": "203" + }, + { + "name": "Bolívar", + "code": "20308", + "parentCode": "203" + }, + { + "name": "San Mateo", + "code": "20401", + "parentCode": "204" + }, + { + "name": "Desmonte", + "code": "20402", + "parentCode": "204" + }, + { + "name": "Jesús María", + "code": "20403", + "parentCode": "204" + }, + { + "name": "Atenas", + "code": "20501", + "parentCode": "205" + }, + { + "name": "Jesús", + "code": "20502", + "parentCode": "205" + }, + { + "name": "Mercedes", + "code": "20503", + "parentCode": "205" + }, + { + "name": "San Isidro", + "code": "20504", + "parentCode": "205" + }, + { + "name": "Concepción", + "code": "20505", + "parentCode": "205" + }, + { + "name": "San José", + "code": "20506", + "parentCode": "205" + }, + { + "name": "Santa Eulalia", + "code": "20507", + "parentCode": "205" + }, + { + "name": "Escobal", + "code": "20508", + "parentCode": "205" + }, + { + "name": "Naranjo", + "code": "20601", + "parentCode": "206" + }, + { + "name": "San Miguel", + "code": "20602", + "parentCode": "206" + }, + { + "name": "San José", + "code": "20603", + "parentCode": "206" + }, + { + "name": "Cirrí Sur", + "code": "20604", + "parentCode": "206" + }, + { + "name": "San Jerónimo", + "code": "20605", + "parentCode": "206" + }, + { + "name": "San Juan", + "code": "20606", + "parentCode": "206" + }, + { + "name": "Rosario", + "code": "20607", + "parentCode": "206" + }, + { + "name": "Palmares", + "code": "20701", + "parentCode": "207" + }, + { + "name": "Zaragoza", + "code": "20702", + "parentCode": "207" + }, + { + "name": "Buenos Aires", + "code": "20703", + "parentCode": "207" + }, + { + "name": "Santiago", + "code": "20704", + "parentCode": "207" + }, + { + "name": "Candelaria", + "code": "20705", + "parentCode": "207" + }, + { + "name": "Esquipulas", + "code": "20706", + "parentCode": "207" + }, + { + "name": "La Granja", + "code": "20707", + "parentCode": "207" + }, + { + "name": "San Pedro", + "code": "20801", + "parentCode": "208" + }, + { + "name": "San Juan", + "code": "20802", + "parentCode": "208" + }, + { + "name": "San Rafael", + "code": "20803", + "parentCode": "208" + }, + { + "name": "Carrillos", + "code": "20804", + "parentCode": "208" + }, + { + "name": "Sabana Redonda", + "code": "20805", + "parentCode": "208" + }, + { + "name": "Orotina", + "code": "20901", + "parentCode": "209" + }, + { + "name": "Mastate", + "code": "20902", + "parentCode": "209" + }, + { + "name": "Hacienda Vieja", + "code": "20903", + "parentCode": "209" + }, + { + "name": "Coyolar", + "code": "20904", + "parentCode": "209" + }, + { + "name": "Ceiba", + "code": "20905", + "parentCode": "209" + }, + { + "name": "Quesada", + "code": "21001", + "parentCode": "210" + }, + { + "name": "Florencia", + "code": "21002", + "parentCode": "210" + }, + { + "name": "Buenavista", + "code": "21003", + "parentCode": "210" + }, + { + "name": "Aguas Zarcas", + "code": "21004", + "parentCode": "210" + }, + { + "name": "Venecia", + "code": "21005", + "parentCode": "210" + }, + { + "name": "Pital", + "code": "21006", + "parentCode": "210" + }, + { + "name": "Fortuna", + "code": "21007", + "parentCode": "210" + }, + { + "name": "Tigra", + "code": "21008", + "parentCode": "210" + }, + { + "name": "Palmera", + "code": "21009", + "parentCode": "210" + }, + { + "name": "Venado", + "code": "21010", + "parentCode": "210" + }, + { + "name": "Cutris", + "code": "21011", + "parentCode": "210" + }, + { + "name": "Monterrey", + "code": "21012", + "parentCode": "210" + }, + { + "name": "Pocosol", + "code": "21013", + "parentCode": "210" + }, + { + "name": "Zarcero", + "code": "21101", + "parentCode": "211" + }, + { + "name": "Laguna", + "code": "21102", + "parentCode": "211" + }, + { + "name": "Tapezco", + "code": "21103", + "parentCode": "211" + }, + { + "name": "Guadalupe", + "code": "21104", + "parentCode": "211" + }, + { + "name": "Palmira", + "code": "21105", + "parentCode": "211" + }, + { + "name": "Zapote", + "code": "21106", + "parentCode": "211" + }, + { + "name": "Las Brisas", + "code": "21107", + "parentCode": "211" + }, + { + "name": "Sarchí Norte", + "code": "21201", + "parentCode": "212" + }, + { + "name": "Sarchí Sur", + "code": "21202", + "parentCode": "212" + }, + { + "name": "Toro Amarillo", + "code": "21203", + "parentCode": "212" + }, + { + "name": "San Pedro", + "code": "21204", + "parentCode": "212" + }, + { + "name": "Rodríguez", + "code": "21205", + "parentCode": "212" + }, + { + "name": "Upala", + "code": "21301", + "parentCode": "213" + }, + { + "name": "Aguas Claras", + "code": "21302", + "parentCode": "213" + }, + { + "name": "San José o Pizote", + "code": "21303", + "parentCode": "213" + }, + { + "name": "Bijagua", + "code": "21304", + "parentCode": "213" + }, + { + "name": "Delicias", + "code": "21305", + "parentCode": "213" + }, + { + "name": "Dos Ríos", + "code": "21306", + "parentCode": "213" + }, + { + "name": "Yolillal", + "code": "21307", + "parentCode": "213" + }, + { + "name": "Los Chiles", + "code": "21401", + "parentCode": "214" + }, + { + "name": "Caño Negro", + "code": "21402", + "parentCode": "214" + }, + { + "name": "Amparo", + "code": "21403", + "parentCode": "214" + }, + { + "name": "San Jorge", + "code": "21404", + "parentCode": "214" + }, + { + "name": "San Rafael", + "code": "21501", + "parentCode": "215" + }, + { + "name": "Buenavista", + "code": "21502", + "parentCode": "215" + }, + { + "name": "Cote", + "code": "21503", + "parentCode": "215" + }, + { + "name": "Oriental", + "code": "30101", + "parentCode": "301" + }, + { + "name": "Occidental", + "code": "30102", + "parentCode": "301" + }, + { + "name": "Carmen", + "code": "30103", + "parentCode": "301" + }, + { + "name": "San Nicolás", + "code": "30104", + "parentCode": "301" + }, + { + "name": "Aguacaliente o San Francisco", + "code": "30105", + "parentCode": "301" + }, + { + "name": "Guadalupe o Arenilla", + "code": "30106", + "parentCode": "301" + }, + { + "name": "Corralillo", + "code": "30107", + "parentCode": "301" + }, + { + "name": "Tierra Blanca", + "code": "30108", + "parentCode": "301" + }, + { + "name": "Dulce Name", + "code": "30109", + "parentCode": "301" + }, + { + "name": "Llano Grande", + "code": "30110", + "parentCode": "301" + }, + { + "name": "Quebradilla", + "code": "30111", + "parentCode": "301" + }, + { + "name": "Paraíso", + "code": "30201", + "parentCode": "302" + }, + { + "name": "Santiago", + "code": "30202", + "parentCode": "302" + }, + { + "name": "Orosi", + "code": "30203", + "parentCode": "302" + }, + { + "name": "Cachí", + "code": "30204", + "parentCode": "302" + }, + { + "name": "Los Llanos de Santa Lucía", + "code": "30205", + "parentCode": "302" + }, + { + "name": "Tres Ríos", + "code": "30301", + "parentCode": "303" + }, + { + "name": "San Diego", + "code": "30302", + "parentCode": "303" + }, + { + "name": "San Juan", + "code": "30303", + "parentCode": "303" + }, + { + "name": "San Rafael", + "code": "30304", + "parentCode": "303" + }, + { + "name": "Concepción", + "code": "30305", + "parentCode": "303" + }, + { + "name": "Dulce Name", + "code": "30306", + "parentCode": "303" + }, + { + "name": "San Ramón", + "code": "30307", + "parentCode": "303" + }, + { + "name": "Río Azul", + "code": "30308", + "parentCode": "303" + }, + { + "name": "Juan Viñas", + "code": "30401", + "parentCode": "304" + }, + { + "name": "Tucurrique", + "code": "30402", + "parentCode": "304" + }, + { + "name": "Pejibaye", + "code": "30403", + "parentCode": "304" + }, + { + "name": "Turrialba", + "code": "30501", + "parentCode": "305" + }, + { + "name": "La Suiza", + "code": "30502", + "parentCode": "305" + }, + { + "name": "Peralta", + "code": "30503", + "parentCode": "305" + }, + { + "name": "Santa Cruz", + "code": "30504", + "parentCode": "305" + }, + { + "name": "Santa Teresita", + "code": "30505", + "parentCode": "305" + }, + { + "name": "Pavones", + "code": "30506", + "parentCode": "305" + }, + { + "name": "Tuis", + "code": "30507", + "parentCode": "305" + }, + { + "name": "Tayutic", + "code": "30508", + "parentCode": "305" + }, + { + "name": "Santa Rosa", + "code": "30509", + "parentCode": "305" + }, + { + "name": "Tres Equis", + "code": "30510", + "parentCode": "305" + }, + { + "name": "La Isabel", + "code": "30511", + "parentCode": "305" + }, + { + "name": "Chirripó", + "code": "30512", + "parentCode": "305" + }, + { + "name": "Pacayas", + "code": "30601", + "parentCode": "306" + }, + { + "name": "Cervantes", + "code": "30602", + "parentCode": "306" + }, + { + "name": "Capellades", + "code": "30603", + "parentCode": "306" + }, + { + "name": "San Rafael", + "code": "30701", + "parentCode": "307" + }, + { + "name": "Cot", + "code": "30702", + "parentCode": "307" + }, + { + "name": "Potrero Cerrado", + "code": "30703", + "parentCode": "307" + }, + { + "name": "Cipreses", + "code": "30704", + "parentCode": "307" + }, + { + "name": "Santa Rosa", + "code": "30705", + "parentCode": "307" + }, + { + "name": "El Tejar", + "code": "30801", + "parentCode": "308" + }, + { + "name": "San Isidro", + "code": "30802", + "parentCode": "308" + }, + { + "name": "Tobosi", + "code": "30803", + "parentCode": "308" + }, + { + "name": "Patio de Agua", + "code": "30804", + "parentCode": "308" + }, + { + "name": "Heredia", + "code": "40101", + "parentCode": "401" + }, + { + "name": "Mercedes", + "code": "40102", + "parentCode": "401" + }, + { + "name": "San Francisco", + "code": "40103", + "parentCode": "401" + }, + { + "name": "Ulloa", + "code": "40104", + "parentCode": "401" + }, + { + "name": "Varablanca", + "code": "40105", + "parentCode": "401" + }, + { + "name": "Barva", + "code": "40201", + "parentCode": "402" + }, + { + "name": "San Pedro", + "code": "40202", + "parentCode": "402" + }, + { + "name": "San Pablo", + "code": "40203", + "parentCode": "402" + }, + { + "name": "San Roque", + "code": "40204", + "parentCode": "402" + }, + { + "name": "Santa Lucía", + "code": "40205", + "parentCode": "402" + }, + { + "name": "San José de la Montaña", + "code": "40206", + "parentCode": "402" + }, + { + "name": "Santo Domingo", + "code": "40301", + "parentCode": "403" + }, + { + "name": "San Vicente", + "code": "40302", + "parentCode": "403" + }, + { + "name": "San Miguel", + "code": "40303", + "parentCode": "403" + }, + { + "name": "Paracito", + "code": "40304", + "parentCode": "403" + }, + { + "name": "Santo Tomás", + "code": "40305", + "parentCode": "403" + }, + { + "name": "Santa Rosa", + "code": "40306", + "parentCode": "403" + }, + { + "name": "Tures", + "code": "40307", + "parentCode": "403" + }, + { + "name": "Pará", + "code": "40308", + "parentCode": "403" + }, + { + "name": "Santa Bárbara", + "code": "40401", + "parentCode": "404" + }, + { + "name": "San Pedro", + "code": "40402", + "parentCode": "404" + }, + { + "name": "San Juan", + "code": "40403", + "parentCode": "404" + }, + { + "name": "Jesús", + "code": "40404", + "parentCode": "404" + }, + { + "name": "Santo Domingo del Roble", + "code": "40405", + "parentCode": "404" + }, + { + "name": "Puraba", + "code": "40406", + "parentCode": "404" + }, + { + "name": "San Rafael", + "code": "40501", + "parentCode": "405" + }, + { + "name": "San Josecito", + "code": "40502", + "parentCode": "405" + }, + { + "name": "Santiago", + "code": "40503", + "parentCode": "405" + }, + { + "name": "Angeles", + "code": "40504", + "parentCode": "405" + }, + { + "name": "Concepción", + "code": "40505", + "parentCode": "405" + }, + { + "name": "San Isidro", + "code": "40601", + "parentCode": "406" + }, + { + "name": "San José", + "code": "40602", + "parentCode": "406" + }, + { + "name": "Concepción", + "code": "40603", + "parentCode": "406" + }, + { + "name": "San Francisco", + "code": "40604", + "parentCode": "406" + }, + { + "name": "San Antonio", + "code": "40701", + "parentCode": "407" + }, + { + "name": "La Ribera", + "code": "40702", + "parentCode": "407" + }, + { + "name": "Asunción", + "code": "40703", + "parentCode": "407" + }, + { + "name": "San Joaquín", + "code": "40801", + "parentCode": "408" + }, + { + "name": "Barrantes", + "code": "40802", + "parentCode": "408" + }, + { + "name": "Llorente", + "code": "40803", + "parentCode": "408" + }, + { + "name": "San Pablo", + "code": "40901", + "parentCode": "409" + }, + { + "name": "Puerto Viejo", + "code": "41001", + "parentCode": "410" + }, + { + "name": "La Virgen", + "code": "41002", + "parentCode": "410" + }, + { + "name": "Horquetas", + "code": "41003", + "parentCode": "410" + }, + { + "name": "Llanuras de Gaspar", + "code": "41004", + "parentCode": "410" + }, + { + "name": "Cureña", + "code": "41005", + "parentCode": "410" + }, + { + "name": "Liberia", + "code": "50101", + "parentCode": "501" + }, + { + "name": "Cañas Dulces", + "code": "50102", + "parentCode": "501" + }, + { + "name": "Mayorga", + "code": "50103", + "parentCode": "501" + }, + { + "name": "Nacascolo", + "code": "50104", + "parentCode": "501" + }, + { + "name": "Curubande", + "code": "50105", + "parentCode": "501" + }, + { + "name": "Nicoya", + "code": "50201", + "parentCode": "502" + }, + { + "name": "Mansión", + "code": "50202", + "parentCode": "502" + }, + { + "name": "San Antonio", + "code": "50203", + "parentCode": "502" + }, + { + "name": "Quebrada Honda", + "code": "50204", + "parentCode": "502" + }, + { + "name": "Sámara", + "code": "50205", + "parentCode": "502" + }, + { + "name": "Nósara", + "code": "50206", + "parentCode": "502" + }, + { + "name": "Belén de Nosarita", + "code": "50207", + "parentCode": "502" + }, + { + "name": "Santa Cruz", + "code": "50301", + "parentCode": "503" + }, + { + "name": "Bolsón", + "code": "50302", + "parentCode": "503" + }, + { + "name": "Veintisiete de Abril", + "code": "50303", + "parentCode": "503" + }, + { + "name": "Tempate", + "code": "50304", + "parentCode": "503" + }, + { + "name": "Cartagena", + "code": "50305", + "parentCode": "503" + }, + { + "name": "Cuajiniquil", + "code": "50306", + "parentCode": "503" + }, + { + "name": "Diriá", + "code": "50307", + "parentCode": "503" + }, + { + "name": "Cabo Velas", + "code": "50308", + "parentCode": "503" + }, + { + "name": "Tamarindo", + "code": "50309", + "parentCode": "503" + }, + { + "name": "Bagaces", + "code": "50401", + "parentCode": "504" + }, + { + "name": "Fortuna", + "code": "50402", + "parentCode": "504" + }, + { + "name": "Mogote", + "code": "50403", + "parentCode": "504" + }, + { + "name": "Río Naranjo", + "code": "50404", + "parentCode": "504" + }, + { + "name": "Filadelfia", + "code": "50501", + "parentCode": "505" + }, + { + "name": "Palmira", + "code": "50502", + "parentCode": "505" + }, + { + "name": "Sardinal", + "code": "50503", + "parentCode": "505" + }, + { + "name": "Belén", + "code": "50504", + "parentCode": "505" + }, + { + "name": "Cañas", + "code": "50601", + "parentCode": "506" + }, + { + "name": "Palmira", + "code": "50602", + "parentCode": "506" + }, + { + "name": "San Miguel", + "code": "50603", + "parentCode": "506" + }, + { + "name": "Bebedero", + "code": "50604", + "parentCode": "506" + }, + { + "name": "Porozal", + "code": "50605", + "parentCode": "506" + }, + { + "name": "Juntas", + "code": "50701", + "parentCode": "507" + }, + { + "name": "Sierra", + "code": "50702", + "parentCode": "507" + }, + { + "name": "San Juan", + "code": "50703", + "parentCode": "507" + }, + { + "name": "Colorado", + "code": "50704", + "parentCode": "507" + }, + { + "name": "Tilarán", + "code": "50801", + "parentCode": "508" + }, + { + "name": "Quebrada Grande", + "code": "50802", + "parentCode": "508" + }, + { + "name": "Tronadora", + "code": "50803", + "parentCode": "508" + }, + { + "name": "Santa Rosa", + "code": "50804", + "parentCode": "508" + }, + { + "name": "Líbano", + "code": "50805", + "parentCode": "508" + }, + { + "name": "Tierras Morenas", + "code": "50806", + "parentCode": "508" + }, + { + "name": "Arenal", + "code": "50807", + "parentCode": "508" + }, + { + "name": "Carmona", + "code": "50901", + "parentCode": "509" + }, + { + "name": "Santa Rita", + "code": "50902", + "parentCode": "509" + }, + { + "name": "Zapotal", + "code": "50903", + "parentCode": "509" + }, + { + "name": "San Pablo", + "code": "50904", + "parentCode": "509" + }, + { + "name": "Porvenir", + "code": "50905", + "parentCode": "509" + }, + { + "name": "Bejuco", + "code": "50906", + "parentCode": "509" + }, + { + "name": "La Cruz", + "code": "51001", + "parentCode": "510" + }, + { + "name": "Santa Cecilia", + "code": "51002", + "parentCode": "510" + }, + { + "name": "Garita", + "code": "51003", + "parentCode": "510" + }, + { + "name": "Santa Elena", + "code": "51004", + "parentCode": "510" + }, + { + "name": "Hojancha", + "code": "51101", + "parentCode": "511" + }, + { + "name": "Monte Romo", + "code": "51102", + "parentCode": "511" + }, + { + "name": "Puerto Carrillo", + "code": "51103", + "parentCode": "511" + }, + { + "name": "Huacas", + "code": "51104", + "parentCode": "511" + }, + { + "name": "Puntarenas", + "code": "60101", + "parentCode": "601" + }, + { + "name": "Pitahaya", + "code": "60102", + "parentCode": "601" + }, + { + "name": "Chomes", + "code": "60103", + "parentCode": "601" + }, + { + "name": "Lepanto", + "code": "60104", + "parentCode": "601" + }, + { + "name": "Paquera", + "code": "60105", + "parentCode": "601" + }, + { + "name": "Manzanillo", + "code": "60106", + "parentCode": "601" + }, + { + "name": "Guacimal", + "code": "60107", + "parentCode": "601" + }, + { + "name": "Barranca", + "code": "60108", + "parentCode": "601" + }, + { + "name": "Monte Verde", + "code": "60109", + "parentCode": "601" + }, + { + "name": "Isla del Coco", + "code": "60110", + "parentCode": "601" + }, + { + "name": "Cóbano", + "code": "60111", + "parentCode": "601" + }, + { + "name": "Chacarita", + "code": "60112", + "parentCode": "601" + }, + { + "name": "Chira", + "code": "60113", + "parentCode": "601" + }, + { + "name": "Acapulco", + "code": "60114", + "parentCode": "601" + }, + { + "name": "Roble", + "code": "60115", + "parentCode": "601" + }, + { + "name": "Arancibia", + "code": "60116", + "parentCode": "601" + }, + { + "name": "Espíritu Santo", + "code": "60201", + "parentCode": "602" + }, + { + "name": "San Juan Grande", + "code": "60202", + "parentCode": "602" + }, + { + "name": "Macacona", + "code": "60203", + "parentCode": "602" + }, + { + "name": "San Rafael", + "code": "60204", + "parentCode": "602" + }, + { + "name": "San Jerónimo", + "code": "60205", + "parentCode": "602" + }, + { + "name": "Buenos Aires", + "code": "60301", + "parentCode": "603" + }, + { + "name": "Volcán", + "code": "60302", + "parentCode": "603" + }, + { + "name": "Potrero Grande", + "code": "60303", + "parentCode": "603" + }, + { + "name": "Boruca", + "code": "60304", + "parentCode": "603" + }, + { + "name": "Pilas", + "code": "60305", + "parentCode": "603" + }, + { + "name": "Colinas o Bajo de Maíz", + "code": "60306", + "parentCode": "603" + }, + { + "name": "Chánguena", + "code": "60307", + "parentCode": "603" + }, + { + "name": "Bioley", + "code": "60308", + "parentCode": "603" + }, + { + "name": "Brunka", + "code": "60309", + "parentCode": "603" + }, + { + "name": "Miramar", + "code": "60401", + "parentCode": "604" + }, + { + "name": "Unión", + "code": "60402", + "parentCode": "604" + }, + { + "name": "San Isidro", + "code": "60403", + "parentCode": "604" + }, + { + "name": "Puerto Cortés", + "code": "60501", + "parentCode": "605" + }, + { + "name": "Palmar", + "code": "60502", + "parentCode": "605" + }, + { + "name": "Sierpe", + "code": "60503", + "parentCode": "605" + }, + { + "name": "Bahía Ballena", + "code": "60504", + "parentCode": "605" + }, + { + "name": "Piedras Blancas", + "code": "60505", + "parentCode": "605" + }, + { + "name": "Quepos", + "code": "60601", + "parentCode": "606" + }, + { + "name": "Savegre", + "code": "60602", + "parentCode": "606" + }, + { + "name": "Naranjito", + "code": "60603", + "parentCode": "606" + }, + { + "name": "Golfito", + "code": "60701", + "parentCode": "607" + }, + { + "name": "Puerto Jiménez", + "code": "60702", + "parentCode": "607" + }, + { + "name": "Guaycará", + "code": "60703", + "parentCode": "607" + }, + { + "name": "Pavon", + "code": "60704", + "parentCode": "607" + }, + { + "name": "San Vito", + "code": "60801", + "parentCode": "608" + }, + { + "name": "Sabalito", + "code": "60802", + "parentCode": "608" + }, + { + "name": "Agua Buena", + "code": "60803", + "parentCode": "608" + }, + { + "name": "Limoncito", + "code": "60804", + "parentCode": "608" + }, + { + "name": "Pittier", + "code": "60805", + "parentCode": "608" + }, + { + "name": "Parrita", + "code": "60901", + "parentCode": "609" + }, + { + "name": "Corredor", + "code": "61001", + "parentCode": "610" + }, + { + "name": "La Cuesta", + "code": "61002", + "parentCode": "610" + }, + { + "name": "Paso Canoas", + "code": "61003", + "parentCode": "610" + }, + { + "name": "Laurel", + "code": "61004", + "parentCode": "610" + }, + { + "name": "Jacó", + "code": "61101", + "parentCode": "611" + }, + { + "name": "Tárcoles", + "code": "61102", + "parentCode": "611" + }, + { + "name": "Limón", + "code": "70101", + "parentCode": "701" + }, + { + "name": "Valle La Estrella", + "code": "70102", + "parentCode": "701" + }, + { + "name": "Río Blanco", + "code": "70103", + "parentCode": "701" + }, + { + "name": "Matama", + "code": "70104", + "parentCode": "701" + }, + { + "name": "Guápiles", + "code": "70201", + "parentCode": "702" + }, + { + "name": "Jiménez", + "code": "70202", + "parentCode": "702" + }, + { + "name": "Rita", + "code": "70203", + "parentCode": "702" + }, + { + "name": "Roxana", + "code": "70204", + "parentCode": "702" + }, + { + "name": "Cariari", + "code": "70205", + "parentCode": "702" + }, + { + "name": "Colorado", + "code": "70206", + "parentCode": "702" + }, + { + "name": "Siquirres", + "code": "70301", + "parentCode": "703" + }, + { + "name": "Pacuarito", + "code": "70302", + "parentCode": "703" + }, + { + "name": "Florida", + "code": "70303", + "parentCode": "703" + }, + { + "name": "Germania", + "code": "70304", + "parentCode": "703" + }, + { + "name": "Cairo", + "code": "70305", + "parentCode": "703" + }, + { + "name": "Alegría", + "code": "70306", + "parentCode": "703" + }, + { + "name": "Bratsi", + "code": "70401", + "parentCode": "704" + }, + { + "name": "Sixaola", + "code": "70402", + "parentCode": "704" + }, + { + "name": "Cahuita", + "code": "70403", + "parentCode": "704" + }, + { + "name": "Telire", + "code": "70404", + "parentCode": "704" + }, + { + "name": "Matina", + "code": "70501", + "parentCode": "705" + }, + { + "name": "Batán", + "code": "70502", + "parentCode": "705" + }, + { + "name": "Carrandí", + "code": "70503", + "parentCode": "705" + }, + { + "name": "Guácimo", + "code": "70601", + "parentCode": "706" + }, + { + "name": "Mercedes", + "code": "70602", + "parentCode": "706" + }, + { + "name": "Pocora", + "code": "70603", + "parentCode": "706" + }, + { + "name": "Río Jiménez", + "code": "70604", + "parentCode": "706" + }, + { + "name": "Duacarí", + "code": "70605", + "parentCode": "706" + } + ] \ No newline at end of file diff --git a/web-ui/web-react/public/assets/demo/data/provincias.json b/web-ui/web-react/public/assets/demo/data/provincias.json new file mode 100644 index 00000000..5674d7c1 --- /dev/null +++ b/web-ui/web-react/public/assets/demo/data/provincias.json @@ -0,0 +1,30 @@ +[ + { + "name":"San José", + "code":"1" + }, + { + "name":"Alajuela", + "code":"2" + }, + { + "name":"Cartago", + "code":"3" + }, + { + "name":"Heredia", + "code":"4" + }, + { + "name":"Guanacaste", + "code":"5" + }, + { + "name":"Puntarenas", + "code":"6" + }, + { + "name":"Limón", + "code":"7" + } + ] \ No newline at end of file diff --git a/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Bold.woff b/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Bold.woff new file mode 100644 index 00000000..eaf3d4bf Binary files /dev/null and b/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Bold.woff differ diff --git a/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Bold.woff2 b/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Bold.woff2 new file mode 100644 index 00000000..2846f29c Binary files /dev/null and b/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Bold.woff2 differ diff --git a/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Light.woff b/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Light.woff new file mode 100644 index 00000000..c496464d Binary files /dev/null and b/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Light.woff differ diff --git a/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Light.woff2 b/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Light.woff2 new file mode 100644 index 00000000..bc4be665 Binary files /dev/null and b/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Light.woff2 differ diff --git a/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Medium.woff b/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Medium.woff new file mode 100644 index 00000000..d546843f Binary files /dev/null and b/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Medium.woff differ diff --git a/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Medium.woff2 b/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Medium.woff2 new file mode 100644 index 00000000..f92498a2 Binary files /dev/null and b/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Medium.woff2 differ diff --git a/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Regular.woff b/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Regular.woff new file mode 100644 index 00000000..62d3a618 Binary files /dev/null and b/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Regular.woff differ diff --git a/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Regular.woff2 b/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Regular.woff2 new file mode 100644 index 00000000..6c2b6893 Binary files /dev/null and b/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-Regular.woff2 differ diff --git a/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-SemiBold.woff b/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-SemiBold.woff new file mode 100644 index 00000000..a815f43a Binary files /dev/null and b/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-SemiBold.woff differ diff --git a/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-SemiBold.woff2 b/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-SemiBold.woff2 new file mode 100644 index 00000000..611e90c9 Binary files /dev/null and b/web-ui/web-react/public/assets/themes/khaki/fonts/Inter-SemiBold.woff2 differ diff --git a/web-ui/web-react/public/assets/themes/khaki/theme.css b/web-ui/web-react/public/assets/themes/khaki/theme.css new file mode 100644 index 00000000..08d350a6 --- /dev/null +++ b/web-ui/web-react/public/assets/themes/khaki/theme.css @@ -0,0 +1,7120 @@ +:root { + --surface-a: #ffffff; + --surface-b: #f8f9fa; + --surface-c: #e9ecef; + --surface-d: #dee2e6; + --surface-e: #ffffff; + --surface-f: #ffffff; + --text-color: #495057; + --text-color-secondary: #6c757d; + --primary-color: #D7A86E; + --primary-color-text: #ffffff; + --font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji; + --surface-0: #ffffff; + --surface-50: #FAFAFA; + --surface-100: #F5F5F5; + --surface-200: #EEEEEE; + --surface-300: #E0E0E0; + --surface-400: #BDBDBD; + --surface-500: #9E9E9E; + --surface-600: #757575; + --surface-700: #616161; + --surface-800: #424242; + --surface-900: #212121; + --gray-50: #FAFAFA; + --gray-100: #F5F5F5; + --gray-200: #EEEEEE; + --gray-300: #E0E0E0; + --gray-400: #BDBDBD; + --gray-500: #9E9E9E; + --gray-600: #757575; + --gray-700: #616161; + --gray-800: #424242; + --gray-900: #212121; + --content-padding: 1.25rem; + --inline-spacing: 0.5rem; + --border-radius: 6px; + --surface-ground: #eff3f8; + --surface-section: #ffffff; + --surface-card: #ffffff; + --surface-overlay: #ffffff; + --surface-border: #dfe7ef; + --surface-hover: #f6f9fc; + --focus-ring: 0 0 0 0.2rem #ffd9ac; + --maskbg: rgba(0, 0, 0, 0.4); +} + +@font-face { + font-family: "Inter"; + font-style: normal; + font-weight: 300; + src: local(""), url("./fonts/Inter-Light.woff2") format("woff2"), url("./fonts/Inter-Light.woff") format("woff"); + /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +@font-face { + font-family: "Inter"; + font-style: normal; + font-weight: 400; + src: local(""), url("./fonts/Inter-Regular.woff2") format("woff2"), url("./fonts/Inter-Regular.woff") format("woff"); + /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +@font-face { + font-family: "Inter"; + font-style: normal; + font-weight: 500; + src: local(""), url("./fonts/Inter-Medium.woff2") format("woff2"), url("./fonts/Inter-Medium.woff") format("woff"); + /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +@font-face { + font-family: "Inter"; + font-style: normal; + font-weight: 600; + src: local(""), url("./fonts/Inter-SemiBold.woff2") format("woff2"), url("./fonts/Inter-SemiBold.woff") format("woff"); + /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +@font-face { + font-family: "Inter"; + font-style: normal; + font-weight: 700; + src: local(""), url("./fonts/Inter-Bold.woff2") format("woff2"), url("./fonts/Inter-Bold.woff") format("woff"); + /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} + +* { + box-sizing: border-box; +} + +.p-icon-input-khaki { + border-top-right-radius: 0!important; + border-bottom-right-radius: 0!important; + border-color: #C08135; +} + +.p-component { + font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + font-weight: normal; +} + +.p-component-overlay { + background-color: rgba(0, 0, 0, 0.4); + transition-duration: 0.2s; +} + +.p-disabled, +.p-component:disabled { + opacity: 0.6; +} + +.p-error { + color: #e24c4c; +} + +.p-text-secondary { + color: #6c757d; +} + +.pi { + font-size: 1rem; +} + +.p-link { + font-size: 1rem; + font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + border-radius: 6px; +} + +.p-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-component-overlay-enter { + animation: p-component-overlay-enter-animation 150ms forwards; +} + +.p-component-overlay-leave { + animation: p-component-overlay-leave-animation 150ms forwards; +} + +@keyframes p-component-overlay-enter-animation { + from { + background-color: transparent; + } + + to { + background-color: var(--maskbg); + } +} + +@keyframes p-component-overlay-leave-animation { + from { + background-color: var(--maskbg); + } + + to { + background-color: transparent; + } +} + +:root { + --blue-50: #f5f9ff; + --blue-100: #d0e1fd; + --blue-200: #abc9fb; + --blue-300: #85b2f9; + --blue-400: #609af8; + --blue-500: #3b82f6; + --blue-600: #326fd1; + --blue-700: #295bac; + --blue-800: #204887; + --blue-900: #183462; + --green-50: #f4fcf7; + --green-100: #caf1d8; + --green-200: #a0e6ba; + --green-300: #76db9b; + --green-400: #4cd07d; + --green-500: #22c55e; + --green-600: #1da750; + --green-700: #188a42; + --green-800: #136c34; + --green-900: #0e4f26; + --yellow-50: #fefbf3; + --yellow-100: #faedc4; + --yellow-200: #f6de95; + --yellow-300: #f2d066; + --yellow-400: #eec137; + --yellow-500: #eab308; + --yellow-600: #c79807; + --yellow-700: #a47d06; + --yellow-800: #816204; + --yellow-900: #5e4803; + --cyan-50: #f3fbfd; + --cyan-100: #c3edf5; + --cyan-200: #94e0ed; + --cyan-300: #65d2e4; + --cyan-400: #35c4dc; + --cyan-500: #06b6d4; + --cyan-600: #059bb4; + --cyan-700: #047f94; + --cyan-800: #036475; + --cyan-900: #024955; + --pink-50: #fef6fa; + --pink-100: #fad3e7; + --pink-200: #f7b0d3; + --pink-300: #f38ec0; + --pink-400: #f06bac; + --pink-500: #ec4899; + --pink-600: #c93d82; + --pink-700: #a5326b; + --pink-800: #822854; + --pink-900: #5e1d3d; + --indigo-50: #f7f7fe; + --indigo-100: #dadafc; + --indigo-200: #bcbdf9; + --indigo-300: #9ea0f6; + --indigo-400: #8183f4; + --indigo-500: #6366f1; + --indigo-600: #5457cd; + --indigo-700: #4547a9; + --indigo-800: #363885; + --indigo-900: #282960; + --teal-50: #f3fbfb; + --teal-100: #c7eeea; + --teal-200: #9ae0d9; + --teal-300: #6dd3c8; + --teal-400: #41c5b7; + --teal-500: #14b8a6; + --teal-600: #119c8d; + --teal-700: #0e8174; + --teal-800: #0b655b; + --teal-900: #084a42; + --orange-50: #fff8f3; + --orange-100: #feddc7; + --orange-200: #fcc39b; + --orange-300: #fba86f; + --orange-400: #fa8e42; + --orange-500: #f97316; + --orange-600: #d46213; + --orange-700: #ae510f; + --orange-800: #893f0c; + --orange-900: #642e09; + --bluegray-50: #f7f8f9; + --bluegray-100: #dadee3; + --bluegray-200: #bcc3cd; + --bluegray-300: #9fa9b7; + --bluegray-400: #818ea1; + --bluegray-500: #64748b; + --bluegray-600: #556376; + --bluegray-700: #465161; + --bluegray-800: #37404c; + --bluegray-900: #282e38; + --purple-50: #fbf7ff; + --purple-100: #ead6fd; + --purple-200: #dab6fc; + --purple-300: #c996fa; + --purple-400: #b975f9; + --purple-500: #a855f7; + --purple-600: #8f48d2; + --purple-700: #763cad; + --purple-800: #5c2f88; + --purple-900: #432263; +} + +.p-autocomplete .p-autocomplete-loader { + right: 0.75rem; +} + +.p-autocomplete.p-autocomplete-dd .p-autocomplete-loader { + right: 3.75rem; +} + +.p-autocomplete .p-autocomplete-multiple-container { + padding: 0.375rem 0.75rem; +} + +.p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled):hover { + border-color: #D7A86E; +} + +.p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; + border-color: #D7A86E; +} + +.p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token { + padding: 0.375rem 0; +} + +.p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input { + font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + color: #495057; + padding: 0; + margin: 0; +} + +.p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token { + padding: 0.375rem 0.75rem; + margin-right: 0.5rem; + background: #EEF2FF; + color: #C08135; + border-radius: 6px; +} + +.p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon { + margin-left: 0.5rem; +} + +.p-autocomplete.p-invalid.p-component>.p-inputtext { + border-color: #e24c4c; +} + +.p-autocomplete-panel { + background: #ffffff; + color: #495057; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); +} + +.p-autocomplete-panel .p-autocomplete-items { + padding: 0.75rem 0; +} + +.p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item { + margin: 0; + padding: 0.75rem 1.25rem; + border: 0 none; + color: #495057; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 0; +} + +.p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover { + color: #495057; + background: #e9ecef; +} + +.p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight { + color: #C08135; + background: #EEF2FF; +} + +.p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group { + margin: 0; + padding: 0.75rem 1.25rem; + color: #343a40; + background: #ffffff; + font-weight: 700; +} + +.p-calendar.p-invalid.p-component>.p-inputtext { + border-color: #e24c4c; +} + +.p-datepicker { + padding: 0.5rem; + background: #ffffff; + color: #495057; + border: 1px solid #ced4da; + border-radius: 6px; +} + +.p-datepicker:not(.p-datepicker-inline) { + background: #ffffff; + border: 0 none; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); +} + +.p-datepicker:not(.p-datepicker-inline) .p-datepicker-header { + background: #ffffff; +} + +.p-datepicker .p-datepicker-header { + padding: 0.5rem; + color: #495057; + background: #ffffff; + font-weight: 600; + margin: 0; + border-bottom: 1px solid #dee2e6; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} + +.p-datepicker .p-datepicker-header .p-datepicker-prev, +.p-datepicker .p-datepicker-header .p-datepicker-next { + width: 2rem; + height: 2rem; + color: #6c757d; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; +} + +.p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover, +.p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover { + color: #343a40; + border-color: transparent; + background: #e9ecef; +} + +.p-datepicker .p-datepicker-header .p-datepicker-prev:focus, +.p-datepicker .p-datepicker-header .p-datepicker-next:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-datepicker .p-datepicker-header .p-datepicker-title { + line-height: 2rem; +} + +.p-datepicker .p-datepicker-header .p-datepicker-title select { + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-datepicker .p-datepicker-header .p-datepicker-title select:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; + border-color: #D7A86E; +} + +.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month { + margin-right: 0.5rem; +} + +.p-datepicker table { + font-size: 1rem; + margin: 0.5rem 0; +} + +.p-datepicker table th { + padding: 0.5rem; +} + +.p-datepicker table th>span { + width: 2.5rem; + height: 2.5rem; +} + +.p-datepicker table td { + padding: 0.5rem; +} + +.p-datepicker table td>span { + width: 2.5rem; + height: 2.5rem; + border-radius: 50%; + transition: box-shadow 0.2s; + border: 1px solid transparent; +} + +.p-datepicker table td>span.p-highlight { + color: #C08135; + background: #EEF2FF; +} + +.p-datepicker table td>span:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-datepicker table td.p-datepicker-today>span { + background: #ced4da; + color: #495057; + border-color: transparent; +} + +.p-datepicker table td.p-datepicker-today>span.p-highlight { + color: #C08135; + background: #EEF2FF; +} + +.p-datepicker .p-datepicker-buttonbar { + padding: 1rem 0; + border-top: 1px solid #dee2e6; +} + +.p-datepicker .p-datepicker-buttonbar .p-button { + width: auto; +} + +.p-datepicker .p-timepicker { + border-top: 1px solid #dee2e6; + padding: 0.5rem; +} + +.p-datepicker .p-timepicker button { + width: 2rem; + height: 2rem; + color: #6c757d; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; +} + +.p-datepicker .p-timepicker button:enabled:hover { + color: #343a40; + border-color: transparent; + background: #e9ecef; +} + +.p-datepicker .p-timepicker button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-datepicker .p-timepicker button:last-child { + margin-top: 0.2em; +} + +.p-datepicker .p-timepicker span { + font-size: 1.25rem; +} + +.p-datepicker .p-timepicker>div { + padding: 0 0.5rem; +} + +.p-datepicker.p-datepicker-timeonly .p-timepicker { + border-top: 0 none; +} + +.p-datepicker .p-monthpicker { + margin: 0.5rem 0; +} + +.p-datepicker .p-monthpicker .p-monthpicker-month { + padding: 0.5rem; + transition: box-shadow 0.2s; + border-radius: 6px; +} + +.p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight { + color: #C08135; + background: #EEF2FF; +} + +.p-datepicker.p-datepicker-multiple-month .p-datepicker-group { + border-right: 1px solid #dee2e6; + padding-right: 0.5rem; + padding-left: 0.5rem; + padding-top: 0; + padding-bottom: 0; +} + +.p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child { + padding-left: 0; +} + +.p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child { + padding-right: 0; + border-right: 0 none; +} + +.p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover { + background: #e9ecef; +} + +.p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-highlight):not(.p-disabled):hover { + background: #e9ecef; +} + +.p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-highlight):not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +@media screen and (max-width: 769px) { + + .p-datepicker table th, + .p-datepicker table td { + padding: 0; + } +} + +.p-cascadeselect { + background: #ffffff; + border: 1px solid #ced4da; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; +} + +.p-cascadeselect:not(.p-disabled):hover { + border-color: #D7A86E; +} + +.p-cascadeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; + border-color: #D7A86E; +} + +.p-cascadeselect .p-cascadeselect-label { + background: transparent; + border: 0 none; + padding: 0.75rem 0.75rem; +} + +.p-cascadeselect .p-cascadeselect-label.p-placeholder { + color: #6c757d; +} + +.p-cascadeselect .p-cascadeselect-label:enabled:focus { + outline: 0 none; + box-shadow: none; +} + +.p-cascadeselect .p-cascadeselect-trigger { + background: transparent; + color: #6c757d; + width: 3rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} + +.p-cascadeselect.p-invalid.p-component { + border-color: #e24c4c; +} + +.p-cascadeselect-panel { + background: #ffffff; + color: #495057; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); +} + +.p-cascadeselect-panel .p-cascadeselect-items { + padding: 0.75rem 0; +} + +.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item { + margin: 0; + border: 0 none; + color: #495057; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 0; +} + +.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content { + padding: 0.75rem 1.25rem; +} + +.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 0 0 1px #ffd9ac; +} + +.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight { + color: #C08135; + background: #EEF2FF; +} + +.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #495057; + background: #e9ecef; +} + +.p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon { + font-size: 0.875rem; +} + +.p-input-filled .p-cascadeselect { + background: #e9ecef; +} + +.p-input-filled .p-cascadeselect:not(.p-disabled):hover { + background-color: #e9ecef; +} + +.p-input-filled .p-cascadeselect:not(.p-disabled).p-focus { + background-color: #ffffff; +} + +.p-checkbox { + width: 22px; + height: 22px; +} + +.p-checkbox .p-checkbox-box { + border: 2px solid #ced4da; + background: #ffffff; + width: 22px; + height: 22px; + color: #495057; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-checkbox .p-checkbox-box .p-checkbox-icon { + transition-duration: 0.2s; + color: #ffffff; + font-size: 14px; +} + +.p-checkbox .p-checkbox-box.p-highlight { + border-color: #D7A86E; + background: #D7A86E; +} + +.p-checkbox .p-checkbox-box.p-highlight:not(.p-disabled):hover { + border-color: #C08135; + background: #C08135; + color: #ffffff; +} + +.p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + border-color: #D7A86E; +} + +.p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; + border-color: #D7A86E; +} + +.p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + border-color: #C08135; + background: #C08135; + color: #ffffff; +} + +.p-checkbox.p-invalid>.p-checkbox-box { + border-color: #e24c4c; +} + +.p-input-filled .p-checkbox .p-checkbox-box { + background-color: #e9ecef; +} + +.p-input-filled .p-checkbox .p-checkbox-box.p-highlight { + background: #D7A86E; +} + +.p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover { + background-color: #e9ecef; +} + +.p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover { + background: #C08135; +} + +.p-chips .p-chips-multiple-container { + padding: 0.375rem 0.75rem; +} + +.p-chips .p-chips-multiple-container:not(.p-disabled):hover { + border-color: #D7A86E; +} + +.p-chips .p-chips-multiple-container:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; + border-color: #D7A86E; +} + +.p-chips .p-chips-multiple-container .p-chips-token { + padding: 0.375rem 0.75rem; + margin-right: 0.5rem; + background: #EEF2FF; + color: #C08135; + border-radius: 6px; +} + +.p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon { + margin-left: 0.5rem; +} + +.p-chips .p-chips-multiple-container .p-chips-input-token { + padding: 0.375rem 0; +} + +.p-chips .p-chips-multiple-container .p-chips-input-token input { + font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + color: #495057; + padding: 0; + margin: 0; +} + +.p-chips.p-invalid.p-component>.p-inputtext { + border-color: #e24c4c; +} + +.p-colorpicker-preview { + width: 2rem; + height: 2rem; +} + +.p-colorpicker-panel { + background: #323232; + border-color: #191919; +} + +.p-colorpicker-panel .p-colorpicker-color-handle, +.p-colorpicker-panel .p-colorpicker-hue-handle { + border-color: #ffffff; +} + +.p-colorpicker-overlay-panel { + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); +} + +.p-dropdown { + background: #ffffff; + border: 1px solid #ced4da; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; +} + +.p-dropdown:not(.p-disabled):hover { + border-color: #D7A86E; +} + +.p-dropdown:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; + border-color: #D7A86E; +} + +.p-dropdown.p-dropdown-clearable .p-dropdown-label { + padding-right: 1.75rem; +} + +.p-dropdown .p-dropdown-label { + background: transparent; + border: 0 none; +} + +.p-dropdown .p-dropdown-label.p-placeholder { + color: #6c757d; +} + +.p-dropdown .p-dropdown-label:enabled:focus { + outline: 0 none; + box-shadow: none; +} + +.p-dropdown .p-dropdown-trigger { + background: transparent; + color: #6c757d; + width: 3rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} + +.p-dropdown .p-dropdown-clear-icon { + color: #6c757d; + right: 3rem; +} + +.p-dropdown.p-invalid.p-component { + border-color: #e24c4c; +} + +.p-dropdown-panel { + background: #ffffff; + color: #495057; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); +} + +.p-dropdown-panel .p-dropdown-header { + padding: 0.75rem 1.25rem; + border-bottom: 1px solid #dee2e6; + color: #343a40; + background: #f8f9fa; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} + +.p-dropdown-panel .p-dropdown-header .p-dropdown-filter { + padding-right: 1.75rem; + margin-right: -1.75rem; +} + +.p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon { + right: 0.75rem; + color: #6c757d; +} + +.p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter { + padding-right: 3.5rem; + margin-right: -3.5rem; +} + +.p-dropdown-panel .p-dropdown-header .p-dropdown-clearable-filter .p-dropdown-filter-clear-icon { + right: 2.5rem; +} + +.p-dropdown-panel .p-dropdown-items { + padding: 0.75rem 0; +} + +.p-dropdown-panel .p-dropdown-items .p-dropdown-item { + margin: 0; + padding: 0.75rem 1.25rem; + border: 0 none; + color: #495057; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 0; +} + +.p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight { + color: #C08135; + background: #EEF2FF; +} + +.p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover { + color: #495057; + background: #e9ecef; +} + +.p-dropdown-panel .p-dropdown-items .p-dropdown-item-group { + margin: 0; + padding: 0.75rem 1.25rem; + color: #343a40; + background: #ffffff; + font-weight: 700; +} + +.p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message { + padding: 0.75rem 1.25rem; + color: #495057; + background: transparent; +} + + + +.p-input-filled .p-dropdown { + background: #e9ecef; +} + +.p-input-filled .p-dropdown:not(.p-disabled):hover { + background-color: #e9ecef; +} + +.p-input-filled .p-dropdown:not(.p-disabled).p-focus { + background-color: #ffffff; +} + +.p-editor-container .p-editor-toolbar { + background: #f8f9fa; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} + +.p-editor-container .p-editor-toolbar.ql-snow { + border: 1px solid #dee2e6; +} + +.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke { + stroke: #6c757d; +} + +.p-editor-container .p-editor-toolbar.ql-snow .ql-fill { + fill: #6c757d; +} + +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label { + border: 0 none; + color: #6c757d; +} + +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover { + color: #495057; +} + +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke { + stroke: #495057; +} + +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill { + fill: #495057; +} + +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label { + color: #495057; +} + +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke { + stroke: #495057; +} + +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill { + fill: #495057; +} + +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options { + background: #ffffff; + border: 0 none; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); + border-radius: 6px; + padding: 0.75rem 0; +} + +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item { + color: #495057; +} + +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover { + color: #495057; + background: #e9ecef; +} + +.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item { + padding: 0.75rem 1.25rem; +} + +.p-editor-container .p-editor-content { + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} + +.p-editor-container .p-editor-content.ql-snow { + border: 1px solid #dee2e6; +} + +.p-editor-container .p-editor-content .ql-editor { + background: #ffffff; + color: #495057; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} + +.p-editor-container .ql-snow.ql-toolbar button:hover, +.p-editor-container .ql-snow.ql-toolbar button:focus { + color: #495057; +} + +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke { + stroke: #495057; +} + +.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill, +.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill { + fill: #495057; +} + +.p-editor-container .ql-snow.ql-toolbar button.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected { + color: #D7A86E; +} + +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke { + stroke: #D7A86E; +} + +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill { + fill: #D7A86E; +} + +.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label, +.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label { + color: #D7A86E; +} + +.p-inputgroup-addon { + background: #e9ecef; + color: #6c757d; + border-top: 1px solid #ced4da; + border-left: 1px solid #ced4da; + border-bottom: 1px solid #ced4da; + padding: 0.75rem 0.75rem; + min-width: 3rem; +} + +.p-inputgroup-addon:last-child { + border-right: 1px solid #ced4da; +} + +.p-inputgroup>.p-component, +.p-inputgroup>.p-inputwrapper>.p-inputtext, +.p-inputgroup>.p-float-label>.p-component { + border-radius: 0; + margin: 0; +} + +.p-inputgroup>.p-component+.p-inputgroup-addon, +.p-inputgroup>.p-inputwrapper>.p-inputtext+.p-inputgroup-addon, +.p-inputgroup>.p-float-label>.p-component+.p-inputgroup-addon { + border-left: 0 none; +} + +.p-inputgroup>.p-component:focus, +.p-inputgroup>.p-inputwrapper>.p-inputtext:focus, +.p-inputgroup>.p-float-label>.p-component:focus { + z-index: 1; +} + +.p-inputgroup>.p-component:focus~label, +.p-inputgroup>.p-inputwrapper>.p-inputtext:focus~label, +.p-inputgroup>.p-float-label>.p-component:focus~label { + z-index: 1; +} + +.p-inputgroup-addon:first-child, +.p-inputgroup button:first-child, +.p-inputgroup input:first-child, +.p-inputgroup>.p-inputwrapper:first-child, +.p-inputgroup>.p-inputwrapper:first-child>.p-inputtext { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; +} + +.p-inputgroup .p-float-label:first-child input { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; +} + +.p-inputgroup-addon:last-child, +.p-inputgroup button:last-child, +.p-inputgroup input:last-child, +.p-inputgroup>.p-inputwrapper:last-child, +.p-inputgroup>.p-inputwrapper:last-child>.p-inputtext { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} + +.p-inputgroup .p-float-label:last-child input { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} + +.p-fluid .p-inputgroup .p-button { + width: auto; +} + +.p-fluid .p-inputgroup .p-button.p-button-icon-only { + width: 3rem; +} + +.p-inputnumber.p-invalid.p-component>.p-inputtext { + border-color: #e24c4c; +} + +.p-inputswitch { + width: 3rem; + height: 1.75rem; +} + +.p-inputswitch .p-inputswitch-slider { + background: #ced4da; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 30px; +} + +.p-inputswitch .p-inputswitch-slider:before { + background: #ffffff; + width: 1.25rem; + height: 1.25rem; + left: 0.25rem; + margin-top: -0.625rem; + border-radius: 50%; + transition-duration: 0.2s; +} + +.p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + transform: translateX(1.25rem); +} + +.p-inputswitch.p-focus .p-inputswitch-slider { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider { + background: #b6bfc8; +} + +.p-inputswitch.p-inputswitch-checked .p-inputswitch-slider { + background: #D7A86E; +} + +.p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before { + background: #ffffff; +} + +.p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider { + background: #C08135; +} + +.p-inputswitch.p-invalid { + border-color: #e24c4c; +} + +.p-inputtext { + font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + color: #495057; + background: #ffffff; + padding: 0.75rem 0.75rem; + border: 1px solid #ced4da; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + appearance: none; + border-radius: 6px; +} + +.p-inputtext:enabled:hover { + border-color: #D7A86E; +} + +.p-inputtext:enabled:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; + border-color: #D7A86E; +} + +.p-inputtext.p-invalid.p-component { + border-color: #e24c4c; +} + +.p-inputtext.p-inputtext-sm { + font-size: 0.875rem; + padding: 0.65625rem 0.65625rem; +} + +.p-inputtext.p-inputtext-lg { + font-size: 1.25rem; + padding: 0.9375rem 0.9375rem; +} + +.p-float-label>label { + left: 0.75rem; + color: #6c757d; + transition-duration: 0.2s; +} + +.p-float-label>label.p-error { + color: #e24c4c; +} + +.p-input-icon-left>i:first-of-type, +.p-input-icon-left>svg:first-of-type, +.p-input-icon-left>.p-input-prefix { + left: 0.75rem; + color: #6c757d; +} + +.p-input-icon-left>.p-inputtext { + padding-left: 2.5rem; +} + +.p-input-icon-left.p-float-label>label { + left: 2.5rem; +} + +.p-input-icon-right>i:last-of-type, +.p-input-icon-right>svg:last-of-type, +.p-input-icon-right>.p-input-suffix { + right: 0.75rem; + color: #6c757d; +} + +.p-input-icon-right>.p-inputtext { + padding-right: 2.5rem; +} + +::-webkit-input-placeholder { + color: #6c757d; +} + +:-moz-placeholder { + color: #6c757d; +} + +::-moz-placeholder { + color: #6c757d; +} + +:-ms-input-placeholder { + color: #6c757d; +} + +.p-input-filled .p-inputtext { + background-color: #e9ecef; +} + +.p-input-filled .p-inputtext:enabled:hover { + background-color: #e9ecef; +} + +.p-input-filled .p-inputtext:enabled:focus { + background-color: #ffffff; +} + +.p-inputtext-sm .p-inputtext { + font-size: 0.875rem; + padding: 0.65625rem 0.65625rem; +} + +.p-inputtext-lg .p-inputtext { + font-size: 1.25rem; + padding: 0.9375rem 0.9375rem; +} + +.p-listbox { + background: #ffffff; + color: #495057; + border: 1px solid #ced4da; + border-radius: 6px; +} + +.p-listbox .p-listbox-header { + padding: 0.75rem 1.25rem; + border-bottom: 1px solid #dee2e6; + color: #343a40; + background: #f8f9fa; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} + +.p-listbox .p-listbox-header .p-listbox-filter { + padding-right: 1.75rem; +} + +.p-listbox .p-listbox-header .p-listbox-filter-icon { + right: 0.75rem; + color: #6c757d; +} + +.p-listbox .p-listbox-list { + padding: 0.75rem 0; +} + +.p-listbox .p-listbox-list .p-listbox-item { + margin: 0; + padding: 0.75rem 1.25rem; + border: 0 none; + color: #495057; + transition: box-shadow 0.2s; + border-radius: 0; +} + +.p-listbox .p-listbox-list .p-listbox-item.p-highlight { + color: #C08135; + background: #EEF2FF; +} + +.p-listbox .p-listbox-list .p-listbox-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 0 0 1px #ffd9ac; +} + +.p-listbox .p-listbox-list .p-listbox-item-group { + margin: 0; + padding: 0.75rem 1.25rem; + color: #343a40; + background: #ffffff; + font-weight: 700; +} + +.p-listbox .p-listbox-list .p-listbox-empty-message { + padding: 0.75rem 1.25rem; + color: #495057; + background: transparent; +} + +.p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover { + color: #495057; + background: #e9ecef; +} + +.p-listbox.p-invalid { + border-color: #e24c4c; +} + +.p-mention-panel { + background: #ffffff; + color: #495057; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); +} + +.p-mention-panel .p-mention-items { + padding: 0.75rem 0; +} + +.p-mention-panel .p-mention-items .p-mention-item { + margin: 0; + padding: 0.75rem 1.25rem; + border: 0 none; + color: #495057; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 0; +} + +.p-mention-panel .p-mention-items .p-mention-item:hover { + color: #495057; + background: #e9ecef; +} + +.p-mention-panel .p-mention-items .p-mention-item.p-highlight { + color: #C08135; + background: #EEF2FF; +} + +.p-multiselect { + background: #ffffff; + border: 1px solid #ced4da; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; +} + +.p-multiselect:not(.p-disabled):hover { + border-color: #D7A86E; +} + +.p-multiselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; + border-color: #D7A86E; +} + +.p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.75rem; +} + +.p-multiselect .p-multiselect-label { + padding: 0.75rem 0.75rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-multiselect .p-multiselect-label.p-placeholder { + color: #6c757d; +} + +.p-multiselect.p-multiselect-chip .p-multiselect-token { + padding: 0.375rem 0.75rem; + margin-right: 0.5rem; + background: #EEF2FF; + color: #C08135; + border-radius: 6px; +} + +.p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon { + margin-left: 0.5rem; +} + +.p-multiselect .p-multiselect-trigger { + background: transparent; + color: #6c757d; + width: 3rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} + +.p-multiselect .p-multiselect-clear-icon { + color: #6c757d; + right: 3rem; +} + +.p-multiselect.p-invalid.p-component { + border-color: #e24c4c; +} + +.p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label { + padding: 0.375rem 0.75rem; +} + +.p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label.p-multiselect-items-label { + padding: 0.75rem 0.75rem; +} + +.p-inputwrapper-filled.p-multiselect.p-multiselect-clearable .p-multiselect-label { + padding-right: 1.75rem; +} + +.p-multiselect-panel { + background: #ffffff; + color: #495057; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); +} + +.p-multiselect-panel .p-multiselect-header { + padding: 0.75rem 1.25rem; + border-bottom: 1px solid #dee2e6; + color: #343a40; + background: #f8f9fa; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} + +.p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container { + margin: 0 0.5rem; +} + +.p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext { + padding-right: 1.75rem; +} + +.p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon { + right: 0.75rem; + color: #6c757d; +} + +.p-multiselect-panel .p-multiselect-header .p-multiselect-close { + width: 2rem; + height: 2rem; + color: #6c757d; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; +} + +.p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover { + color: #343a40; + border-color: transparent; + background: #e9ecef; +} + +.p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-multiselect-panel .p-multiselect-items { + padding: 0.75rem 0; +} + +.p-multiselect-panel .p-multiselect-items .p-multiselect-item { + margin: 0; + padding: 0.75rem 1.25rem; + border: 0 none; + color: #495057; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 0; +} + +.p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight { + color: #C08135; + background: #EEF2FF; +} + +.p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover { + color: #495057; + background: #e9ecef; +} + +.p-multiselect-panel .p-multiselect-items .p-multiselect-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 0 0 1px #ffd9ac; +} + +.p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox { + margin-right: 0.5rem; +} + +.p-multiselect-panel .p-multiselect-items .p-multiselect-item-group { + margin: 0; + padding: 0.75rem 1.25rem; + color: #343a40; + background: #ffffff; + font-weight: 700; +} + +.p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message { + padding: 0.75rem 1.25rem; + color: #495057; + background: transparent; +} + +.p-input-filled .p-multiselect { + background: #e9ecef; +} + +.p-input-filled .p-multiselect:not(.p-disabled):hover { + background-color: #e9ecef; +} + +.p-input-filled .p-multiselect:not(.p-disabled).p-focus { + background-color: #ffffff; +} + +.p-password.p-invalid.p-component>.p-inputtext { + border-color: #e24c4c; +} + +.p-password-panel { + padding: 1.25rem; + background: #ffffff; + color: #495057; + border: 0 none; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); + border-radius: 6px; +} + +.p-password-panel .p-password-meter { + margin-bottom: 0.5rem; + background: #dee2e6; +} + +.p-password-panel .p-password-meter .p-password-strength.weak { + background: #ea5455; +} + +.p-password-panel .p-password-meter .p-password-strength.medium { + background: #ff9f42; +} + +.p-password-panel .p-password-meter .p-password-strength.strong { + background: #29c76f; +} + +.p-radiobutton { + width: 22px; + height: 22px; +} + +.p-radiobutton .p-radiobutton-box { + border: 2px solid #ced4da; + background: #ffffff; + width: 22px; + height: 22px; + color: #495057; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover { + border-color: #D7A86E; +} + +.p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; + border-color: #D7A86E; +} + +.p-radiobutton .p-radiobutton-box .p-radiobutton-icon { + width: 12px; + height: 12px; + transition-duration: 0.2s; + background-color: #ffffff; +} + +.p-radiobutton .p-radiobutton-box.p-highlight { + border-color: #D7A86E; + background: #D7A86E; +} + +.p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + border-color: #C08135; + background: #C08135; + color: #ffffff; +} + +.p-radiobutton.p-invalid>.p-radiobutton-box { + border-color: #e24c4c; +} + +.p-radiobutton:focus { + outline: 0 none; +} + +.p-input-filled .p-radiobutton .p-radiobutton-box { + background-color: #e9ecef; +} + +.p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover { + background-color: #e9ecef; +} + +.p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight { + background: #D7A86E; +} + +.p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover { + background: #C08135; +} + +.p-rating .p-rating-icon { + color: #495057; + margin-left: 0.5rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + font-size: 1.143rem; +} + +.p-rating .p-rating-icon.p-rating-cancel { + color: #ea5455; +} + +.p-rating .p-rating-icon:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-rating .p-rating-icon:first-child { + margin-left: 0; +} + +.p-rating .p-rating-icon.pi-star-fill { + color: #D7A86E; +} + +.p-rating:not(.p-disabled):not(.p-readonly) .p-rating-icon:hover { + color: #D7A86E; +} + +.p-rating:not(.p-disabled):not(.p-readonly) .p-rating-icon.p-rating-cancel:hover { + color: #e73d3e; +} + +.p-selectbutton .p-button { + background: #ffffff; + border: 1px solid #ced4da; + color: #495057; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-selectbutton .p-button .p-button-icon-left, +.p-selectbutton .p-button .p-button-icon-right { + color: #6c757d; +} + +.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover { + background: #e9ecef; + border-color: #ced4da; + color: #495057; +} + +.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #343a40; +} + +.p-selectbutton .p-button.p-highlight { + background: #D7A86E; + border-color: #D7A86E; + color: #ffffff; +} + +.p-selectbutton .p-button.p-highlight .p-button-icon-left, +.p-selectbutton .p-button.p-highlight .p-button-icon-right { + color: #ffffff; +} + +.p-selectbutton .p-button.p-highlight:hover { + background: #C08135; + border-color: #C08135; + color: #ffffff; +} + +.p-selectbutton .p-button.p-highlight:hover .p-button-icon-left, +.p-selectbutton .p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; +} + +.p-selectbutton.p-invalid>.p-button { + border-color: #e24c4c; +} + +.p-slider { + background: #dee2e6; + border: 0 none; + border-radius: 6px; +} + +.p-slider.p-slider-horizontal { + height: 0.286rem; +} + +.p-slider.p-slider-horizontal .p-slider-handle { + margin-top: -0.5715rem; + margin-left: -0.5715rem; +} + +.p-slider.p-slider-vertical { + width: 0.286rem; +} + +.p-slider.p-slider-vertical .p-slider-handle { + margin-left: -0.5715rem; + margin-bottom: -0.5715rem; +} + +.p-slider .p-slider-handle { + height: 1.143rem; + width: 1.143rem; + background: #ffffff; + border: 2px solid #D7A86E; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-slider .p-slider-handle:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-slider .p-slider-range { + background: #D7A86E; +} + +.p-slider:not(.p-disabled) .p-slider-handle:hover { + background: #D7A86E; + border-color: #D7A86E; +} + +.p-treeselect { + background: #ffffff; + border: 1px solid #ced4da; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; +} + +.p-treeselect:not(.p-disabled):hover { + border-color: #D7A86E; +} + +.p-treeselect:not(.p-disabled).p-focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; + border-color: #D7A86E; +} + +.p-treeselect .p-treeselect-label { + padding: 0.75rem 0.75rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-treeselect .p-treeselect-label.p-placeholder { + color: #6c757d; +} + +.p-treeselect.p-treeselect-chip .p-treeselect-token { + padding: 0.375rem 0.75rem; + margin-right: 0.5rem; + background: #dee2e6; + color: #495057; + border-radius: 16px; +} + +.p-treeselect .p-treeselect-trigger { + background: transparent; + color: #6c757d; + width: 3rem; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} + +.p-treeselect.p-invalid.p-component { + border-color: #e24c4c; +} + +.p-inputwrapper-filled.p-treeselect.p-treeselect-chip .p-treeselect-label { + padding: 0.375rem 0.75rem; +} + +.p-treeselect-panel { + background: #ffffff; + color: #495057; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); +} + +.p-treeselect-panel .p-treeselect-header { + padding: 0.75rem 1.25rem; + border-bottom: 1px solid #dee2e6; + color: #343a40; + background: #f8f9fa; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} + +.p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container { + margin-right: 0.5rem; +} + +.p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter { + padding-right: 1.75rem; +} + +.p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter-icon { + right: 0.75rem; + color: #6c757d; +} + +.p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter { + padding-right: 3.5rem; +} + +.p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter-clear-icon { + right: 2.5rem; +} + +.p-treeselect-panel .p-treeselect-header .p-treeselect-close { + width: 2rem; + height: 2rem; + color: #6c757d; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; +} + +.p-treeselect-panel .p-treeselect-header .p-treeselect-close:enabled:hover { + color: #343a40; + border-color: transparent; + background: #e9ecef; +} + +.p-treeselect-panel .p-treeselect-header .p-treeselect-close:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-treeselect-panel .p-treeselect-items-wrapper .p-tree { + border: 0 none; +} + +.p-treeselect-panel .p-treeselect-items-wrapper .p-treeselect-empty-message { + padding: 0.75rem 1.25rem; + color: #495057; + background: transparent; +} + +.p-input-filled .p-treeselect { + background: #e9ecef; +} + +.p-input-filled .p-treeselect:not(.p-disabled):hover { + background-color: #e9ecef; +} + +.p-input-filled .p-treeselect:not(.p-disabled).p-focus { + background-color: #ffffff; +} + +.p-togglebutton.p-button { + background: #ffffff; + border: 1px solid #ced4da; + color: #495057; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-togglebutton.p-button .p-button-icon-left, +.p-togglebutton.p-button .p-button-icon-right { + color: #6c757d; +} + +.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover { + background: #e9ecef; + border-color: #ced4da; + color: #495057; +} + +.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left, +.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right { + color: #343a40; +} + +.p-togglebutton.p-button.p-highlight { + background: #D7A86E; + border-color: #D7A86E; + color: #ffffff; +} + +.p-togglebutton.p-button.p-highlight .p-button-icon-left, +.p-togglebutton.p-button.p-highlight .p-button-icon-right { + color: #ffffff; +} + +.p-togglebutton.p-button.p-highlight:hover { + background: #C08135; + border-color: #C08135; + color: #ffffff; +} + +.p-togglebutton.p-button.p-highlight:hover .p-button-icon-left, +.p-togglebutton.p-button.p-highlight:hover .p-button-icon-right { + color: #ffffff; +} + +.p-togglebutton.p-button.p-invalid>.p-button { + border-color: #e24c4c; +} + +.p-button { + color: #ffffff; + background: #D7A86E; + border: 1px solid #D7A86E; + padding: 0.75rem 1.25rem; + font-size: 1rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; +} + +.p-button:enabled:hover, +.p-button:not(button):not(a):not(.p-disabled):hover { + background: #C08135; + color: #ffffff; + border-color: #C08135; +} + +.p-button:enabled:active, +.p-button:not(button):not(a):not(.p-disabled):active { + background: #C08135; + color: #ffffff; + border-color: #C08135; +} + +.p-button.p-button-outlined { + background-color: transparent; + color: #D7A86E; + border: 1px solid; +} + +.p-button.p-button-outlined:enabled:hover, +.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):hover { + background: rgba(99, 102, 241, 0.04); + color: #D7A86E; + border: 1px solid; +} + +.p-button.p-button-outlined:enabled:active, +.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):active { + background: rgba(99, 102, 241, 0.16); + color: #D7A86E; + border: 1px solid; +} + +.p-button.p-button-outlined.p-button-plain { + color: #6c757d; + border-color: #6c757d; +} + +.p-button.p-button-outlined.p-button-plain:enabled:hover, +.p-button.p-button-outlined.p-button-plain:not(button):not(a):not(.p-disabled):hover { + background: #e9ecef; + color: #6c757d; +} + +.p-button.p-button-outlined.p-button-plain:enabled:active, +.p-button.p-button-outlined.p-button-plain:not(button):not(a):not(.p-disabled):active { + background: #dee2e6; + color: #6c757d; +} + +.p-button.p-button-text { + background-color: transparent; + color: #D7A86E; + border-color: transparent; +} + +.p-button.p-button-text:enabled:hover, +.p-button.p-button-text:not(button):not(a):not(.p-disabled):hover { + background: rgba(99, 102, 241, 0.04); + color: #D7A86E; + border-color: transparent; +} + +.p-button.p-button-text:enabled:active, +.p-button.p-button-text:not(button):not(a):not(.p-disabled):active { + background: rgba(99, 102, 241, 0.16); + color: #D7A86E; + border-color: transparent; +} + +.p-button.p-button-text.p-button-plain { + color: #6c757d; +} + +.p-button.p-button-text.p-button-plain:enabled:hover, +.p-button.p-button-text.p-button-plain:not(button):not(a):not(.p-disabled):hover { + background: #e9ecef; + color: #6c757d; +} + +.p-button.p-button-text.p-button-plain:enabled:active, +.p-button.p-button-text.p-button-plain:not(button):not(a):not(.p-disabled):active { + background: #dee2e6; + color: #6c757d; +} + +.p-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-button .p-button-icon-left { + margin-right: 0.5rem; +} + +.p-button .p-button-icon-right { + margin-left: 0.5rem; +} + +.p-button .p-button-icon-bottom { + margin-top: 0.5rem; +} + +.p-button .p-button-icon-top { + margin-bottom: 0.5rem; +} + +.p-button .p-badge { + margin-left: 0.5rem; + min-width: 1rem; + height: 1rem; + line-height: 1rem; + color: #D7A86E; + background-color: #ffffff; +} + +.p-button.p-button-raised { + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); +} + +.p-button.p-button-rounded { + border-radius: 2rem; +} + +.p-button.p-button-icon-only { + width: 3rem; + padding: 0.75rem 0; +} + +.p-button.p-button-icon-only .p-button-icon-left, +.p-button.p-button-icon-only .p-button-icon-right { + margin: 0; +} + +.p-button.p-button-icon-only.p-button-rounded { + border-radius: 50%; + height: 3rem; +} + +.p-button.p-button-sm { + font-size: 0.875rem; + padding: 0.65625rem 1.09375rem; +} + +.p-button.p-button-sm .p-button-icon { + font-size: 0.875rem; +} + +.p-button.p-button-lg { + font-size: 1.25rem; + padding: 0.9375rem 1.5625rem; +} + +.p-button.p-button-lg .p-button-icon { + font-size: 1.25rem; +} + +.p-button.p-button-loading-label-only.p-button-loading-left .p-button-label { + margin-left: 0.5rem; +} + +.p-button.p-button-loading-label-only.p-button-loading-right .p-button-label { + margin-right: 0.5rem; +} + +.p-button.p-button-loading-label-only.p-button-loading-top .p-button-label { + margin-top: 0.5rem; +} + +.p-button.p-button-loading-label-only.p-button-loading-bottom .p-button-label { + margin-bottom: 0.5rem; +} + +.p-button.p-button-loading-label-only .p-button-loading-icon { + margin: 0; +} + +.p-fluid .p-button { + width: 100%; +} + +.p-fluid .p-button-icon-only { + width: 3rem; +} + +.p-fluid .p-buttonset { + display: flex; +} + +.p-fluid .p-buttonset .p-button { + flex: 1; +} + +.p-button.p-button-secondary, +.p-buttonset.p-button-secondary>.p-button, +.p-splitbutton.p-button-secondary>.p-button, +.p-fileupload-choose.p-button-secondary { + color: #ffffff; + background: #64748B; + border: 1px solid #64748B; +} + +.p-button.p-button-secondary:enabled:hover, +.p-button.p-button-secondary:not(button):not(a):not(.p-disabled):hover, +.p-buttonset.p-button-secondary>.p-button:enabled:hover, +.p-buttonset.p-button-secondary>.p-button:not(button):not(a):not(.p-disabled):hover, +.p-splitbutton.p-button-secondary>.p-button:enabled:hover, +.p-splitbutton.p-button-secondary>.p-button:not(button):not(a):not(.p-disabled):hover, +.p-fileupload-choose.p-button-secondary:enabled:hover, +.p-fileupload-choose.p-button-secondary:not(button):not(a):not(.p-disabled):hover { + background: #475569; + color: #ffffff; + border-color: #475569; +} + +.p-button.p-button-secondary:enabled:focus, +.p-button.p-button-secondary:not(button):not(a):not(.p-disabled):focus, +.p-buttonset.p-button-secondary>.p-button:enabled:focus, +.p-buttonset.p-button-secondary>.p-button:not(button):not(a):not(.p-disabled):focus, +.p-splitbutton.p-button-secondary>.p-button:enabled:focus, +.p-splitbutton.p-button-secondary>.p-button:not(button):not(a):not(.p-disabled):focus, +.p-fileupload-choose.p-button-secondary:enabled:focus, +.p-fileupload-choose.p-button-secondary:not(button):not(a):not(.p-disabled):focus { + box-shadow: 0 0 0 0.2rem #E2E8F0; +} + +.p-button.p-button-secondary:enabled:active, +.p-button.p-button-secondary:not(button):not(a):not(.p-disabled):active, +.p-buttonset.p-button-secondary>.p-button:enabled:active, +.p-buttonset.p-button-secondary>.p-button:not(button):not(a):not(.p-disabled):active, +.p-splitbutton.p-button-secondary>.p-button:enabled:active, +.p-splitbutton.p-button-secondary>.p-button:not(button):not(a):not(.p-disabled):active, +.p-fileupload-choose.p-button-secondary:enabled:active, +.p-fileupload-choose.p-button-secondary:not(button):not(a):not(.p-disabled):active { + background: #334155; + color: #ffffff; + border-color: #334155; +} + +.p-button.p-button-secondary.p-button-outlined, +.p-buttonset.p-button-secondary>.p-button.p-button-outlined, +.p-splitbutton.p-button-secondary>.p-button.p-button-outlined, +.p-fileupload-choose.p-button-secondary.p-button-outlined { + background-color: transparent; + color: #64748B; + border: 1px solid; +} + +.p-button.p-button-secondary.p-button-outlined:enabled:hover, +.p-button.p-button-secondary.p-button-outlined:not(button):not(a):not(.p-disabled):hover, +.p-buttonset.p-button-secondary>.p-button.p-button-outlined:enabled:hover, +.p-buttonset.p-button-secondary>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):hover, +.p-splitbutton.p-button-secondary>.p-button.p-button-outlined:enabled:hover, +.p-splitbutton.p-button-secondary>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):hover, +.p-fileupload-choose.p-button-secondary.p-button-outlined:enabled:hover, +.p-fileupload-choose.p-button-secondary.p-button-outlined:not(button):not(a):not(.p-disabled):hover { + background: rgba(100, 116, 139, 0.04); + color: #64748B; + border: 1px solid; +} + +.p-button.p-button-secondary.p-button-outlined:enabled:active, +.p-button.p-button-secondary.p-button-outlined:not(button):not(a):not(.p-disabled):active, +.p-buttonset.p-button-secondary>.p-button.p-button-outlined:enabled:active, +.p-buttonset.p-button-secondary>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):active, +.p-splitbutton.p-button-secondary>.p-button.p-button-outlined:enabled:active, +.p-splitbutton.p-button-secondary>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):active, +.p-fileupload-choose.p-button-secondary.p-button-outlined:enabled:active, +.p-fileupload-choose.p-button-secondary.p-button-outlined:not(button):not(a):not(.p-disabled):active { + background: rgba(100, 116, 139, 0.16); + color: #64748B; + border: 1px solid; +} + +.p-button.p-button-secondary.p-button-text, +.p-buttonset.p-button-secondary>.p-button.p-button-text, +.p-splitbutton.p-button-secondary>.p-button.p-button-text, +.p-fileupload-choose.p-button-secondary.p-button-text { + background-color: transparent; + color: #64748B; + border-color: transparent; +} + +.p-button.p-button-secondary.p-button-text:enabled:hover, +.p-button.p-button-secondary.p-button-text:not(button):not(a):not(.p-disabled):hover, +.p-buttonset.p-button-secondary>.p-button.p-button-text:enabled:hover, +.p-buttonset.p-button-secondary>.p-button.p-button-text:not(button):not(a):not(.p-disabled):hover, +.p-splitbutton.p-button-secondary>.p-button.p-button-text:enabled:hover, +.p-splitbutton.p-button-secondary>.p-button.p-button-text:not(button):not(a):not(.p-disabled):hover, +.p-fileupload-choose.p-button-secondary.p-button-text:enabled:hover, +.p-fileupload-choose.p-button-secondary.p-button-text:not(button):not(a):not(.p-disabled):hover { + background: rgba(100, 116, 139, 0.04); + border-color: transparent; + color: #64748B; +} + +.p-button.p-button-secondary.p-button-text:enabled:active, +.p-button.p-button-secondary.p-button-text:not(button):not(a):not(.p-disabled):active, +.p-buttonset.p-button-secondary>.p-button.p-button-text:enabled:active, +.p-buttonset.p-button-secondary>.p-button.p-button-text:not(button):not(a):not(.p-disabled):active, +.p-splitbutton.p-button-secondary>.p-button.p-button-text:enabled:active, +.p-splitbutton.p-button-secondary>.p-button.p-button-text:not(button):not(a):not(.p-disabled):active, +.p-fileupload-choose.p-button-secondary.p-button-text:enabled:active, +.p-fileupload-choose.p-button-secondary.p-button-text:not(button):not(a):not(.p-disabled):active { + background: rgba(100, 116, 139, 0.16); + border-color: transparent; + color: #64748B; +} + +.p-button.p-button-info, +.p-buttonset.p-button-info>.p-button, +.p-splitbutton.p-button-info>.p-button, +.p-fileupload-choose.p-button-info { + color: #ffffff; + background: #3B82F6; + border: 1px solid #3B82F6; +} + +.p-button.p-button-info:enabled:hover, +.p-button.p-button-info:not(button):not(a):not(.p-disabled):hover, +.p-buttonset.p-button-info>.p-button:enabled:hover, +.p-buttonset.p-button-info>.p-button:not(button):not(a):not(.p-disabled):hover, +.p-splitbutton.p-button-info>.p-button:enabled:hover, +.p-splitbutton.p-button-info>.p-button:not(button):not(a):not(.p-disabled):hover, +.p-fileupload-choose.p-button-info:enabled:hover, +.p-fileupload-choose.p-button-info:not(button):not(a):not(.p-disabled):hover { + background: #2563EB; + color: #ffffff; + border-color: #2563EB; +} + +.p-button.p-button-info:enabled:focus, +.p-button.p-button-info:not(button):not(a):not(.p-disabled):focus, +.p-buttonset.p-button-info>.p-button:enabled:focus, +.p-buttonset.p-button-info>.p-button:not(button):not(a):not(.p-disabled):focus, +.p-splitbutton.p-button-info>.p-button:enabled:focus, +.p-splitbutton.p-button-info>.p-button:not(button):not(a):not(.p-disabled):focus, +.p-fileupload-choose.p-button-info:enabled:focus, +.p-fileupload-choose.p-button-info:not(button):not(a):not(.p-disabled):focus { + box-shadow: 0 0 0 0.2rem #BFDBFE; +} + +.p-button.p-button-info:enabled:active, +.p-button.p-button-info:not(button):not(a):not(.p-disabled):active, +.p-buttonset.p-button-info>.p-button:enabled:active, +.p-buttonset.p-button-info>.p-button:not(button):not(a):not(.p-disabled):active, +.p-splitbutton.p-button-info>.p-button:enabled:active, +.p-splitbutton.p-button-info>.p-button:not(button):not(a):not(.p-disabled):active, +.p-fileupload-choose.p-button-info:enabled:active, +.p-fileupload-choose.p-button-info:not(button):not(a):not(.p-disabled):active { + background: #1D4ED8; + color: #ffffff; + border-color: #1D4ED8; +} + +.p-button.p-button-info.p-button-outlined, +.p-buttonset.p-button-info>.p-button.p-button-outlined, +.p-splitbutton.p-button-info>.p-button.p-button-outlined, +.p-fileupload-choose.p-button-info.p-button-outlined { + background-color: transparent; + color: #3B82F6; + border: 1px solid; +} + +.p-button.p-button-info.p-button-outlined:enabled:hover, +.p-button.p-button-info.p-button-outlined:not(button):not(a):not(.p-disabled):hover, +.p-buttonset.p-button-info>.p-button.p-button-outlined:enabled:hover, +.p-buttonset.p-button-info>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):hover, +.p-splitbutton.p-button-info>.p-button.p-button-outlined:enabled:hover, +.p-splitbutton.p-button-info>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):hover, +.p-fileupload-choose.p-button-info.p-button-outlined:enabled:hover, +.p-fileupload-choose.p-button-info.p-button-outlined:not(button):not(a):not(.p-disabled):hover { + background: rgba(59, 130, 246, 0.04); + color: #3B82F6; + border: 1px solid; +} + +.p-button.p-button-info.p-button-outlined:enabled:active, +.p-button.p-button-info.p-button-outlined:not(button):not(a):not(.p-disabled):active, +.p-buttonset.p-button-info>.p-button.p-button-outlined:enabled:active, +.p-buttonset.p-button-info>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):active, +.p-splitbutton.p-button-info>.p-button.p-button-outlined:enabled:active, +.p-splitbutton.p-button-info>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):active, +.p-fileupload-choose.p-button-info.p-button-outlined:enabled:active, +.p-fileupload-choose.p-button-info.p-button-outlined:not(button):not(a):not(.p-disabled):active { + background: rgba(59, 130, 246, 0.16); + color: #3B82F6; + border: 1px solid; +} + +.p-button.p-button-info.p-button-text, +.p-buttonset.p-button-info>.p-button.p-button-text, +.p-splitbutton.p-button-info>.p-button.p-button-text, +.p-fileupload-choose.p-button-info.p-button-text { + background-color: transparent; + color: #3B82F6; + border-color: transparent; +} + +.p-button.p-button-info.p-button-text:enabled:hover, +.p-button.p-button-info.p-button-text:not(button):not(a):not(.p-disabled):hover, +.p-buttonset.p-button-info>.p-button.p-button-text:enabled:hover, +.p-buttonset.p-button-info>.p-button.p-button-text:not(button):not(a):not(.p-disabled):hover, +.p-splitbutton.p-button-info>.p-button.p-button-text:enabled:hover, +.p-splitbutton.p-button-info>.p-button.p-button-text:not(button):not(a):not(.p-disabled):hover, +.p-fileupload-choose.p-button-info.p-button-text:enabled:hover, +.p-fileupload-choose.p-button-info.p-button-text:not(button):not(a):not(.p-disabled):hover { + background: rgba(59, 130, 246, 0.04); + border-color: transparent; + color: #3B82F6; +} + +.p-button.p-button-info.p-button-text:enabled:active, +.p-button.p-button-info.p-button-text:not(button):not(a):not(.p-disabled):active, +.p-buttonset.p-button-info>.p-button.p-button-text:enabled:active, +.p-buttonset.p-button-info>.p-button.p-button-text:not(button):not(a):not(.p-disabled):active, +.p-splitbutton.p-button-info>.p-button.p-button-text:enabled:active, +.p-splitbutton.p-button-info>.p-button.p-button-text:not(button):not(a):not(.p-disabled):active, +.p-fileupload-choose.p-button-info.p-button-text:enabled:active, +.p-fileupload-choose.p-button-info.p-button-text:not(button):not(a):not(.p-disabled):active { + background: rgba(59, 130, 246, 0.16); + border-color: transparent; + color: #3B82F6; +} + +.p-button.p-button-success, +.p-buttonset.p-button-success>.p-button, +.p-splitbutton.p-button-success>.p-button, +.p-fileupload-choose.p-button-success { + color: #ffffff; + background: #22C55E; + border: 1px solid #22C55E; +} + +.p-button.p-button-success:enabled:hover, +.p-button.p-button-success:not(button):not(a):not(.p-disabled):hover, +.p-buttonset.p-button-success>.p-button:enabled:hover, +.p-buttonset.p-button-success>.p-button:not(button):not(a):not(.p-disabled):hover, +.p-splitbutton.p-button-success>.p-button:enabled:hover, +.p-splitbutton.p-button-success>.p-button:not(button):not(a):not(.p-disabled):hover, +.p-fileupload-choose.p-button-success:enabled:hover, +.p-fileupload-choose.p-button-success:not(button):not(a):not(.p-disabled):hover { + background: #16A34A; + color: #ffffff; + border-color: #16A34A; +} + +.p-button.p-button-success:enabled:focus, +.p-button.p-button-success:not(button):not(a):not(.p-disabled):focus, +.p-buttonset.p-button-success>.p-button:enabled:focus, +.p-buttonset.p-button-success>.p-button:not(button):not(a):not(.p-disabled):focus, +.p-splitbutton.p-button-success>.p-button:enabled:focus, +.p-splitbutton.p-button-success>.p-button:not(button):not(a):not(.p-disabled):focus, +.p-fileupload-choose.p-button-success:enabled:focus, +.p-fileupload-choose.p-button-success:not(button):not(a):not(.p-disabled):focus { + box-shadow: 0 0 0 0.2rem #BBF7D0; +} + +.p-button.p-button-success:enabled:active, +.p-button.p-button-success:not(button):not(a):not(.p-disabled):active, +.p-buttonset.p-button-success>.p-button:enabled:active, +.p-buttonset.p-button-success>.p-button:not(button):not(a):not(.p-disabled):active, +.p-splitbutton.p-button-success>.p-button:enabled:active, +.p-splitbutton.p-button-success>.p-button:not(button):not(a):not(.p-disabled):active, +.p-fileupload-choose.p-button-success:enabled:active, +.p-fileupload-choose.p-button-success:not(button):not(a):not(.p-disabled):active { + background: #15803D; + color: #ffffff; + border-color: #15803D; +} + +.p-button.p-button-success.p-button-outlined, +.p-buttonset.p-button-success>.p-button.p-button-outlined, +.p-splitbutton.p-button-success>.p-button.p-button-outlined, +.p-fileupload-choose.p-button-success.p-button-outlined { + background-color: transparent; + color: #22C55E; + border: 1px solid; +} + +.p-button.p-button-success.p-button-outlined:enabled:hover, +.p-button.p-button-success.p-button-outlined:not(button):not(a):not(.p-disabled):hover, +.p-buttonset.p-button-success>.p-button.p-button-outlined:enabled:hover, +.p-buttonset.p-button-success>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):hover, +.p-splitbutton.p-button-success>.p-button.p-button-outlined:enabled:hover, +.p-splitbutton.p-button-success>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):hover, +.p-fileupload-choose.p-button-success.p-button-outlined:enabled:hover, +.p-fileupload-choose.p-button-success.p-button-outlined:not(button):not(a):not(.p-disabled):hover { + background: rgba(34, 197, 94, 0.04); + color: #22C55E; + border: 1px solid; +} + +.p-button.p-button-success.p-button-outlined:enabled:active, +.p-button.p-button-success.p-button-outlined:not(button):not(a):not(.p-disabled):active, +.p-buttonset.p-button-success>.p-button.p-button-outlined:enabled:active, +.p-buttonset.p-button-success>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):active, +.p-splitbutton.p-button-success>.p-button.p-button-outlined:enabled:active, +.p-splitbutton.p-button-success>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):active, +.p-fileupload-choose.p-button-success.p-button-outlined:enabled:active, +.p-fileupload-choose.p-button-success.p-button-outlined:not(button):not(a):not(.p-disabled):active { + background: rgba(34, 197, 94, 0.16); + color: #22C55E; + border: 1px solid; +} + +.p-button.p-button-success.p-button-text, +.p-buttonset.p-button-success>.p-button.p-button-text, +.p-splitbutton.p-button-success>.p-button.p-button-text, +.p-fileupload-choose.p-button-success.p-button-text { + background-color: transparent; + color: #22C55E; + border-color: transparent; +} + +.p-button.p-button-success.p-button-text:enabled:hover, +.p-button.p-button-success.p-button-text:not(button):not(a):not(.p-disabled):hover, +.p-buttonset.p-button-success>.p-button.p-button-text:enabled:hover, +.p-buttonset.p-button-success>.p-button.p-button-text:not(button):not(a):not(.p-disabled):hover, +.p-splitbutton.p-button-success>.p-button.p-button-text:enabled:hover, +.p-splitbutton.p-button-success>.p-button.p-button-text:not(button):not(a):not(.p-disabled):hover, +.p-fileupload-choose.p-button-success.p-button-text:enabled:hover, +.p-fileupload-choose.p-button-success.p-button-text:not(button):not(a):not(.p-disabled):hover { + background: rgba(34, 197, 94, 0.04); + border-color: transparent; + color: #22C55E; +} + +.p-button.p-button-success.p-button-text:enabled:active, +.p-button.p-button-success.p-button-text:not(button):not(a):not(.p-disabled):active, +.p-buttonset.p-button-success>.p-button.p-button-text:enabled:active, +.p-buttonset.p-button-success>.p-button.p-button-text:not(button):not(a):not(.p-disabled):active, +.p-splitbutton.p-button-success>.p-button.p-button-text:enabled:active, +.p-splitbutton.p-button-success>.p-button.p-button-text:not(button):not(a):not(.p-disabled):active, +.p-fileupload-choose.p-button-success.p-button-text:enabled:active, +.p-fileupload-choose.p-button-success.p-button-text:not(button):not(a):not(.p-disabled):active { + background: rgba(34, 197, 94, 0.16); + border-color: transparent; + color: #22C55E; +} + +.p-button.p-button-warning, +.p-buttonset.p-button-warning>.p-button, +.p-splitbutton.p-button-warning>.p-button, +.p-fileupload-choose.p-button-warning { + color: #ffffff; + background: #F59E0B; + border: 1px solid #F59E0B; +} + +.p-button.p-button-warning:enabled:hover, +.p-button.p-button-warning:not(button):not(a):not(.p-disabled):hover, +.p-buttonset.p-button-warning>.p-button:enabled:hover, +.p-buttonset.p-button-warning>.p-button:not(button):not(a):not(.p-disabled):hover, +.p-splitbutton.p-button-warning>.p-button:enabled:hover, +.p-splitbutton.p-button-warning>.p-button:not(button):not(a):not(.p-disabled):hover, +.p-fileupload-choose.p-button-warning:enabled:hover, +.p-fileupload-choose.p-button-warning:not(button):not(a):not(.p-disabled):hover { + background: #D97706; + color: #ffffff; + border-color: #D97706; +} + +.p-button.p-button-warning:enabled:focus, +.p-button.p-button-warning:not(button):not(a):not(.p-disabled):focus, +.p-buttonset.p-button-warning>.p-button:enabled:focus, +.p-buttonset.p-button-warning>.p-button:not(button):not(a):not(.p-disabled):focus, +.p-splitbutton.p-button-warning>.p-button:enabled:focus, +.p-splitbutton.p-button-warning>.p-button:not(button):not(a):not(.p-disabled):focus, +.p-fileupload-choose.p-button-warning:enabled:focus, +.p-fileupload-choose.p-button-warning:not(button):not(a):not(.p-disabled):focus { + box-shadow: 0 0 0 0.2rem #FDE68A; +} + +.p-button.p-button-warning:enabled:active, +.p-button.p-button-warning:not(button):not(a):not(.p-disabled):active, +.p-buttonset.p-button-warning>.p-button:enabled:active, +.p-buttonset.p-button-warning>.p-button:not(button):not(a):not(.p-disabled):active, +.p-splitbutton.p-button-warning>.p-button:enabled:active, +.p-splitbutton.p-button-warning>.p-button:not(button):not(a):not(.p-disabled):active, +.p-fileupload-choose.p-button-warning:enabled:active, +.p-fileupload-choose.p-button-warning:not(button):not(a):not(.p-disabled):active { + background: #B45309; + color: #ffffff; + border-color: #B45309; +} + +.p-button.p-button-warning.p-button-outlined, +.p-buttonset.p-button-warning>.p-button.p-button-outlined, +.p-splitbutton.p-button-warning>.p-button.p-button-outlined, +.p-fileupload-choose.p-button-warning.p-button-outlined { + background-color: transparent; + color: #F59E0B; + border: 1px solid; +} + +.p-button.p-button-warning.p-button-outlined:enabled:hover, +.p-button.p-button-warning.p-button-outlined:not(button):not(a):not(.p-disabled):hover, +.p-buttonset.p-button-warning>.p-button.p-button-outlined:enabled:hover, +.p-buttonset.p-button-warning>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):hover, +.p-splitbutton.p-button-warning>.p-button.p-button-outlined:enabled:hover, +.p-splitbutton.p-button-warning>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):hover, +.p-fileupload-choose.p-button-warning.p-button-outlined:enabled:hover, +.p-fileupload-choose.p-button-warning.p-button-outlined:not(button):not(a):not(.p-disabled):hover { + background: rgba(245, 158, 11, 0.04); + color: #F59E0B; + border: 1px solid; +} + +.p-button.p-button-warning.p-button-outlined:enabled:active, +.p-button.p-button-warning.p-button-outlined:not(button):not(a):not(.p-disabled):active, +.p-buttonset.p-button-warning>.p-button.p-button-outlined:enabled:active, +.p-buttonset.p-button-warning>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):active, +.p-splitbutton.p-button-warning>.p-button.p-button-outlined:enabled:active, +.p-splitbutton.p-button-warning>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):active, +.p-fileupload-choose.p-button-warning.p-button-outlined:enabled:active, +.p-fileupload-choose.p-button-warning.p-button-outlined:not(button):not(a):not(.p-disabled):active { + background: rgba(245, 158, 11, 0.16); + color: #F59E0B; + border: 1px solid; +} + +.p-button.p-button-warning.p-button-text, +.p-buttonset.p-button-warning>.p-button.p-button-text, +.p-splitbutton.p-button-warning>.p-button.p-button-text, +.p-fileupload-choose.p-button-warning.p-button-text { + background-color: transparent; + color: #F59E0B; + border-color: transparent; +} + +.p-button.p-button-warning.p-button-text:enabled:hover, +.p-button.p-button-warning.p-button-text:not(button):not(a):not(.p-disabled):hover, +.p-buttonset.p-button-warning>.p-button.p-button-text:enabled:hover, +.p-buttonset.p-button-warning>.p-button.p-button-text:not(button):not(a):not(.p-disabled):hover, +.p-splitbutton.p-button-warning>.p-button.p-button-text:enabled:hover, +.p-splitbutton.p-button-warning>.p-button.p-button-text:not(button):not(a):not(.p-disabled):hover, +.p-fileupload-choose.p-button-warning.p-button-text:enabled:hover, +.p-fileupload-choose.p-button-warning.p-button-text:not(button):not(a):not(.p-disabled):hover { + background: rgba(245, 158, 11, 0.04); + border-color: transparent; + color: #F59E0B; +} + +.p-button.p-button-warning.p-button-text:enabled:active, +.p-button.p-button-warning.p-button-text:not(button):not(a):not(.p-disabled):active, +.p-buttonset.p-button-warning>.p-button.p-button-text:enabled:active, +.p-buttonset.p-button-warning>.p-button.p-button-text:not(button):not(a):not(.p-disabled):active, +.p-splitbutton.p-button-warning>.p-button.p-button-text:enabled:active, +.p-splitbutton.p-button-warning>.p-button.p-button-text:not(button):not(a):not(.p-disabled):active, +.p-fileupload-choose.p-button-warning.p-button-text:enabled:active, +.p-fileupload-choose.p-button-warning.p-button-text:not(button):not(a):not(.p-disabled):active { + background: rgba(245, 158, 11, 0.16); + border-color: transparent; + color: #F59E0B; +} + +.p-button.p-button-help, +.p-buttonset.p-button-help>.p-button, +.p-splitbutton.p-button-help>.p-button, +.p-fileupload-choose.p-button-help { + color: #ffffff; + background: #A855F7; + border: 1px solid #A855F7; +} + +.p-button.p-button-help:enabled:hover, +.p-button.p-button-help:not(button):not(a):not(.p-disabled):hover, +.p-buttonset.p-button-help>.p-button:enabled:hover, +.p-buttonset.p-button-help>.p-button:not(button):not(a):not(.p-disabled):hover, +.p-splitbutton.p-button-help>.p-button:enabled:hover, +.p-splitbutton.p-button-help>.p-button:not(button):not(a):not(.p-disabled):hover, +.p-fileupload-choose.p-button-help:enabled:hover, +.p-fileupload-choose.p-button-help:not(button):not(a):not(.p-disabled):hover { + background: #9333EA; + color: #ffffff; + border-color: #9333EA; +} + +.p-button.p-button-help:enabled:focus, +.p-button.p-button-help:not(button):not(a):not(.p-disabled):focus, +.p-buttonset.p-button-help>.p-button:enabled:focus, +.p-buttonset.p-button-help>.p-button:not(button):not(a):not(.p-disabled):focus, +.p-splitbutton.p-button-help>.p-button:enabled:focus, +.p-splitbutton.p-button-help>.p-button:not(button):not(a):not(.p-disabled):focus, +.p-fileupload-choose.p-button-help:enabled:focus, +.p-fileupload-choose.p-button-help:not(button):not(a):not(.p-disabled):focus { + box-shadow: 0 0 0 0.2rem #E9D5FF; +} + +.p-button.p-button-help:enabled:active, +.p-button.p-button-help:not(button):not(a):not(.p-disabled):active, +.p-buttonset.p-button-help>.p-button:enabled:active, +.p-buttonset.p-button-help>.p-button:not(button):not(a):not(.p-disabled):active, +.p-splitbutton.p-button-help>.p-button:enabled:active, +.p-splitbutton.p-button-help>.p-button:not(button):not(a):not(.p-disabled):active, +.p-fileupload-choose.p-button-help:enabled:active, +.p-fileupload-choose.p-button-help:not(button):not(a):not(.p-disabled):active { + background: #7E22CE; + color: #ffffff; + border-color: #7E22CE; +} + +.p-button.p-button-help.p-button-outlined, +.p-buttonset.p-button-help>.p-button.p-button-outlined, +.p-splitbutton.p-button-help>.p-button.p-button-outlined, +.p-fileupload-choose.p-button-help.p-button-outlined { + background-color: transparent; + color: #A855F7; + border: 1px solid; +} + +.p-button.p-button-help.p-button-outlined:enabled:hover, +.p-button.p-button-help.p-button-outlined:not(button):not(a):not(.p-disabled):hover, +.p-buttonset.p-button-help>.p-button.p-button-outlined:enabled:hover, +.p-buttonset.p-button-help>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):hover, +.p-splitbutton.p-button-help>.p-button.p-button-outlined:enabled:hover, +.p-splitbutton.p-button-help>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):hover, +.p-fileupload-choose.p-button-help.p-button-outlined:enabled:hover, +.p-fileupload-choose.p-button-help.p-button-outlined:not(button):not(a):not(.p-disabled):hover { + background: rgba(168, 85, 247, 0.04); + color: #A855F7; + border: 1px solid; +} + +.p-button.p-button-help.p-button-outlined:enabled:active, +.p-button.p-button-help.p-button-outlined:not(button):not(a):not(.p-disabled):active, +.p-buttonset.p-button-help>.p-button.p-button-outlined:enabled:active, +.p-buttonset.p-button-help>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):active, +.p-splitbutton.p-button-help>.p-button.p-button-outlined:enabled:active, +.p-splitbutton.p-button-help>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):active, +.p-fileupload-choose.p-button-help.p-button-outlined:enabled:active, +.p-fileupload-choose.p-button-help.p-button-outlined:not(button):not(a):not(.p-disabled):active { + background: rgba(168, 85, 247, 0.16); + color: #A855F7; + border: 1px solid; +} + +.p-button.p-button-help.p-button-text, +.p-buttonset.p-button-help>.p-button.p-button-text, +.p-splitbutton.p-button-help>.p-button.p-button-text, +.p-fileupload-choose.p-button-help.p-button-text { + background-color: transparent; + color: #A855F7; + border-color: transparent; +} + +.p-button.p-button-help.p-button-text:enabled:hover, +.p-button.p-button-help.p-button-text:not(button):not(a):not(.p-disabled):hover, +.p-buttonset.p-button-help>.p-button.p-button-text:enabled:hover, +.p-buttonset.p-button-help>.p-button.p-button-text:not(button):not(a):not(.p-disabled):hover, +.p-splitbutton.p-button-help>.p-button.p-button-text:enabled:hover, +.p-splitbutton.p-button-help>.p-button.p-button-text:not(button):not(a):not(.p-disabled):hover, +.p-fileupload-choose.p-button-help.p-button-text:enabled:hover, +.p-fileupload-choose.p-button-help.p-button-text:not(button):not(a):not(.p-disabled):hover { + background: rgba(168, 85, 247, 0.04); + border-color: transparent; + color: #A855F7; +} + +.p-button.p-button-help.p-button-text:enabled:active, +.p-button.p-button-help.p-button-text:not(button):not(a):not(.p-disabled):active, +.p-buttonset.p-button-help>.p-button.p-button-text:enabled:active, +.p-buttonset.p-button-help>.p-button.p-button-text:not(button):not(a):not(.p-disabled):active, +.p-splitbutton.p-button-help>.p-button.p-button-text:enabled:active, +.p-splitbutton.p-button-help>.p-button.p-button-text:not(button):not(a):not(.p-disabled):active, +.p-fileupload-choose.p-button-help.p-button-text:enabled:active, +.p-fileupload-choose.p-button-help.p-button-text:not(button):not(a):not(.p-disabled):active { + background: rgba(168, 85, 247, 0.16); + border-color: transparent; + color: #A855F7; +} + +.p-button.p-button-danger, +.p-buttonset.p-button-danger>.p-button, +.p-splitbutton.p-button-danger>.p-button, +.p-fileupload-choose.p-button-danger { + color: #ffffff; + background: #EF4444; + border: 1px solid #EF4444; +} + +.p-button.p-button-danger:enabled:hover, +.p-button.p-button-danger:not(button):not(a):not(.p-disabled):hover, +.p-buttonset.p-button-danger>.p-button:enabled:hover, +.p-buttonset.p-button-danger>.p-button:not(button):not(a):not(.p-disabled):hover, +.p-splitbutton.p-button-danger>.p-button:enabled:hover, +.p-splitbutton.p-button-danger>.p-button:not(button):not(a):not(.p-disabled):hover, +.p-fileupload-choose.p-button-danger:enabled:hover, +.p-fileupload-choose.p-button-danger:not(button):not(a):not(.p-disabled):hover { + background: #DC2626; + color: #ffffff; + border-color: #DC2626; +} + +.p-button.p-button-danger:enabled:focus, +.p-button.p-button-danger:not(button):not(a):not(.p-disabled):focus, +.p-buttonset.p-button-danger>.p-button:enabled:focus, +.p-buttonset.p-button-danger>.p-button:not(button):not(a):not(.p-disabled):focus, +.p-splitbutton.p-button-danger>.p-button:enabled:focus, +.p-splitbutton.p-button-danger>.p-button:not(button):not(a):not(.p-disabled):focus, +.p-fileupload-choose.p-button-danger:enabled:focus, +.p-fileupload-choose.p-button-danger:not(button):not(a):not(.p-disabled):focus { + box-shadow: 0 0 0 0.2rem #FECACA; +} + +.p-button.p-button-danger:enabled:active, +.p-button.p-button-danger:not(button):not(a):not(.p-disabled):active, +.p-buttonset.p-button-danger>.p-button:enabled:active, +.p-buttonset.p-button-danger>.p-button:not(button):not(a):not(.p-disabled):active, +.p-splitbutton.p-button-danger>.p-button:enabled:active, +.p-splitbutton.p-button-danger>.p-button:not(button):not(a):not(.p-disabled):active, +.p-fileupload-choose.p-button-danger:enabled:active, +.p-fileupload-choose.p-button-danger:not(button):not(a):not(.p-disabled):active { + background: #B91C1C; + color: #ffffff; + border-color: #B91C1C; +} + +.p-button.p-button-danger.p-button-outlined, +.p-buttonset.p-button-danger>.p-button.p-button-outlined, +.p-splitbutton.p-button-danger>.p-button.p-button-outlined, +.p-fileupload-choose.p-button-danger.p-button-outlined { + background-color: transparent; + color: #EF4444; + border: 1px solid; +} + +.p-button.p-button-danger.p-button-outlined:enabled:hover, +.p-button.p-button-danger.p-button-outlined:not(button):not(a):not(.p-disabled):hover, +.p-buttonset.p-button-danger>.p-button.p-button-outlined:enabled:hover, +.p-buttonset.p-button-danger>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):hover, +.p-splitbutton.p-button-danger>.p-button.p-button-outlined:enabled:hover, +.p-splitbutton.p-button-danger>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):hover, +.p-fileupload-choose.p-button-danger.p-button-outlined:enabled:hover, +.p-fileupload-choose.p-button-danger.p-button-outlined:not(button):not(a):not(.p-disabled):hover { + background: rgba(239, 68, 68, 0.04); + color: #EF4444; + border: 1px solid; +} + +.p-button.p-button-danger.p-button-outlined:enabled:active, +.p-button.p-button-danger.p-button-outlined:not(button):not(a):not(.p-disabled):active, +.p-buttonset.p-button-danger>.p-button.p-button-outlined:enabled:active, +.p-buttonset.p-button-danger>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):active, +.p-splitbutton.p-button-danger>.p-button.p-button-outlined:enabled:active, +.p-splitbutton.p-button-danger>.p-button.p-button-outlined:not(button):not(a):not(.p-disabled):active, +.p-fileupload-choose.p-button-danger.p-button-outlined:enabled:active, +.p-fileupload-choose.p-button-danger.p-button-outlined:not(button):not(a):not(.p-disabled):active { + background: rgba(239, 68, 68, 0.16); + color: #EF4444; + border: 1px solid; +} + +.p-button.p-button-danger.p-button-text, +.p-buttonset.p-button-danger>.p-button.p-button-text, +.p-splitbutton.p-button-danger>.p-button.p-button-text, +.p-fileupload-choose.p-button-danger.p-button-text { + background-color: transparent; + color: #EF4444; + border-color: transparent; +} + +.p-button.p-button-danger.p-button-text:enabled:hover, +.p-button.p-button-danger.p-button-text:not(button):not(a):not(.p-disabled):hover, +.p-buttonset.p-button-danger>.p-button.p-button-text:enabled:hover, +.p-buttonset.p-button-danger>.p-button.p-button-text:not(button):not(a):not(.p-disabled):hover, +.p-splitbutton.p-button-danger>.p-button.p-button-text:enabled:hover, +.p-splitbutton.p-button-danger>.p-button.p-button-text:not(button):not(a):not(.p-disabled):hover, +.p-fileupload-choose.p-button-danger.p-button-text:enabled:hover, +.p-fileupload-choose.p-button-danger.p-button-text:not(button):not(a):not(.p-disabled):hover { + background: rgba(239, 68, 68, 0.04); + border-color: transparent; + color: #EF4444; +} + +.p-button.p-button-danger.p-button-text:enabled:active, +.p-button.p-button-danger.p-button-text:not(button):not(a):not(.p-disabled):active, +.p-buttonset.p-button-danger>.p-button.p-button-text:enabled:active, +.p-buttonset.p-button-danger>.p-button.p-button-text:not(button):not(a):not(.p-disabled):active, +.p-splitbutton.p-button-danger>.p-button.p-button-text:enabled:active, +.p-splitbutton.p-button-danger>.p-button.p-button-text:not(button):not(a):not(.p-disabled):active, +.p-fileupload-choose.p-button-danger.p-button-text:enabled:active, +.p-fileupload-choose.p-button-danger.p-button-text:not(button):not(a):not(.p-disabled):active { + background: rgba(239, 68, 68, 0.16); + border-color: transparent; + color: #EF4444; +} + +.p-button.p-button-link { + color: #C08135; + background: transparent; + border: transparent; +} + +.p-button.p-button-link:enabled:hover, +.p-button.p-button-link:not(button):not(a):not(.p-disabled):hover { + background: transparent; + color: #C08135; + border-color: transparent; +} + +.p-button.p-button-link:enabled:hover .p-button-label, +.p-button.p-button-link:not(button):not(a):not(.p-disabled):hover .p-button-label { + text-decoration: underline; +} + +.p-button.p-button-link:enabled:focus, +.p-button.p-button-link:not(button):not(a):not(.p-disabled):focus { + background: transparent; + box-shadow: 0 0 0 0.2rem #ffd9ac; + border-color: transparent; +} + +.p-button.p-button-link:enabled:active, +.p-button.p-button-link:not(button):not(a):not(.p-disabled):active { + background: transparent; + color: #C08135; + border-color: transparent; +} + +.p-speeddial-button.p-button.p-button-icon-only { + width: 4rem; + height: 4rem; +} + +.p-speeddial-button.p-button.p-button-icon-only .p-button-icon { + font-size: 1.3rem; +} + +.p-speeddial-action { + width: 3rem; + height: 3rem; + background: #495057; + color: #fff; +} + +.p-speeddial-action:hover { + background: #022354; + color: #fff; +} + +.p-speeddial-direction-up .p-speeddial-item { + margin: 0.25rem; +} + +.p-speeddial-direction-up .p-speeddial-item:first-child { + margin-bottom: 0.5rem; +} + +.p-speeddial-direction-down .p-speeddial-item { + margin: 0.25rem; +} + +.p-speeddial-direction-down .p-speeddial-item:first-child { + margin-top: 0.5rem; +} + +.p-speeddial-direction-left .p-speeddial-item { + margin: 0 0.25rem; +} + +.p-speeddial-direction-left .p-speeddial-item:first-child { + margin-right: 0.5rem; +} + +.p-speeddial-direction-right .p-speeddial-item { + margin: 0 0.25rem; +} + +.p-speeddial-direction-right .p-speeddial-item:first-child { + margin-left: 0.5rem; +} + +.p-speeddial-circle .p-speeddial-item, +.p-speeddial-semi-circle .p-speeddial-item, +.p-speeddial-quarter-circle .p-speeddial-item { + margin: 0; +} + +.p-speeddial-circle .p-speeddial-item:first-child, +.p-speeddial-circle .p-speeddial-item:last-child, +.p-speeddial-semi-circle .p-speeddial-item:first-child, +.p-speeddial-semi-circle .p-speeddial-item:last-child, +.p-speeddial-quarter-circle .p-speeddial-item:first-child, +.p-speeddial-quarter-circle .p-speeddial-item:last-child { + margin: 0; +} + +.p-speeddial-mask { + background-color: rgba(0, 0, 0, 0.4); +} + +.p-carousel .p-carousel-content .p-carousel-prev, +.p-carousel .p-carousel-content .p-carousel-next { + width: 2rem; + height: 2rem; + color: #6c757d; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin: 0.5rem; +} + +.p-carousel .p-carousel-content .p-carousel-prev:enabled:hover, +.p-carousel .p-carousel-content .p-carousel-next:enabled:hover { + color: #343a40; + border-color: transparent; + background: #e9ecef; +} + +.p-carousel .p-carousel-content .p-carousel-prev:focus, +.p-carousel .p-carousel-content .p-carousel-next:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-carousel .p-carousel-indicators { + padding: 1rem; +} + +.p-carousel .p-carousel-indicators .p-carousel-indicator { + margin-right: 0.5rem; + margin-bottom: 0.5rem; +} + +.p-carousel .p-carousel-indicators .p-carousel-indicator button { + background-color: #ced4da; + width: 2rem; + height: 0.5rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 0; +} + +.p-carousel .p-carousel-indicators .p-carousel-indicator button:hover { + background: #adb5bd; +} + +.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background: #EEF2FF; + color: #C08135; +} + +.p-datatable .p-paginator-top { + border-width: 0 0 1px 0; + border-radius: 0; +} + +.p-datatable .p-paginator-bottom { + border-width: 0 0 1px 0; + border-radius: 0; +} + +.p-datatable .p-datatable-header { + background: #f8f9fa; + color: #343a40; + border: 1px solid #dee2e6; + border-width: 1px 0 1px 0; + padding: 1rem 1rem; + font-weight: 700; +} + +.p-datatable .p-datatable-footer { + background: #f8f9fa; + color: #343a40; + border: 1px solid #dee2e6; + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 700; +} + +.p-datatable .p-datatable-thead>tr>th { + text-align: left; + padding: 1rem 1rem; + border: 1px solid #dee2e6; + border-width: 0 0 1px 0; + font-weight: 700; + color: #343a40; + background: #f8f9fa; + transition: box-shadow 0.2s; +} + +.p-datatable .p-datatable-tfoot>tr>td { + text-align: left; + padding: 1rem 1rem; + border: 1px solid #dee2e6; + border-width: 0 0 1px 0; + font-weight: 700; + color: #343a40; + background: #f8f9fa; +} + +.p-datatable .p-sortable-column .p-sortable-column-icon { + color: #343a40; + margin-left: 0.5rem; +} + +.p-datatable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #C08135; + background: #EEF2FF; + margin-left: 0.5rem; +} + +.p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover { + background: #e9ecef; + color: #343a40; +} + +.p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #343a40; +} + +.p-datatable .p-sortable-column.p-highlight { + background: #EEF2FF; + color: #C08135; +} + +.p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #C08135; +} + +.p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover { + background: #EEF2FF; + color: #C08135; +} + +.p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover .p-sortable-column-icon { + color: #C08135; +} + +.p-datatable .p-sortable-column:focus { + box-shadow: inset 0 0 0 1px #ffd9ac; + outline: 0 none; +} + +.p-datatable .p-datatable-tbody>tr { + background: #ffffff; + color: #495057; + transition: box-shadow 0.2s; + outline-color: #ffd9ac; +} + +.p-datatable .p-datatable-tbody>tr>td { + text-align: left; + border: 1px solid #dee2e6; + border-width: 0 0 1px 0; + padding: 1rem 1rem; + outline-color: #ffd9ac; +} + +.p-datatable .p-datatable-tbody>tr>td .p-row-toggler, +.p-datatable .p-datatable-tbody>tr>td .p-row-editor-init, +.p-datatable .p-datatable-tbody>tr>td .p-row-editor-save, +.p-datatable .p-datatable-tbody>tr>td .p-row-editor-cancel { + width: 2rem; + height: 2rem; + color: #6c757d; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; +} + +.p-datatable .p-datatable-tbody>tr>td .p-row-toggler:enabled:hover, +.p-datatable .p-datatable-tbody>tr>td .p-row-editor-init:enabled:hover, +.p-datatable .p-datatable-tbody>tr>td .p-row-editor-save:enabled:hover, +.p-datatable .p-datatable-tbody>tr>td .p-row-editor-cancel:enabled:hover { + color: #343a40; + border-color: transparent; + background: #e9ecef; +} + +.p-datatable .p-datatable-tbody>tr>td .p-row-toggler:focus, +.p-datatable .p-datatable-tbody>tr>td .p-row-editor-init:focus, +.p-datatable .p-datatable-tbody>tr>td .p-row-editor-save:focus, +.p-datatable .p-datatable-tbody>tr>td .p-row-editor-cancel:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-datatable .p-datatable-tbody>tr>td .p-row-editor-save { + margin-right: 0.5rem; +} + +.p-datatable .p-datatable-tbody>tr>td>.p-column-title { + font-weight: 700; +} + +.p-datatable .p-datatable-tbody>tr>td.p-highlight { + background: #EEF2FF; + color: #C08135; +} + +.p-datatable .p-datatable-tbody>tr.p-highlight { + background: #EEF2FF; + color: #C08135; +} + +.p-datatable .p-datatable-tbody>tr.p-datatable-dragpoint-top>td { + box-shadow: inset 0 2px 0 0 #EEF2FF; +} + +.p-datatable .p-datatable-tbody>tr.p-datatable-dragpoint-bottom>td { + box-shadow: inset 0 -2px 0 0 #EEF2FF; +} + +.p-datatable.p-datatable-hoverable-rows .p-datatable-tbody>tr:not(.p-highlight):not(.p-datatable-emptymessage):hover { + background: #e9ecef; + color: #495057; +} + +.p-datatable .p-column-resizer-helper { + background: #D7A86E; +} + +.p-datatable .p-datatable-scrollable-header, +.p-datatable .p-datatable-scrollable-footer { + background: #f8f9fa; +} + +.p-datatable .p-datatable-loading-icon { + font-size: 2rem; +} + +.p-datatable.p-datatable-gridlines .p-datatable-header { + border-width: 1px 1px 0 1px; +} + +.p-datatable.p-datatable-gridlines .p-datatable-footer { + border-width: 0 1px 1px 1px; +} + +.p-datatable.p-datatable-gridlines .p-paginator-top { + border-width: 0 1px 0 1px; +} + +.p-datatable.p-datatable-gridlines .p-paginator-bottom { + border-width: 0 1px 1px 1px; +} + +.p-datatable.p-datatable-gridlines .p-datatable-thead>tr>th { + border-width: 1px 1px 1px 1px; +} + +.p-datatable.p-datatable-gridlines .p-datatable-tbody>tr>td { + border-width: 1px; +} + +.p-datatable.p-datatable-gridlines .p-datatable-tfoot>tr>td { + border-width: 1px; +} + +.p-datatable.p-datatable-striped .p-datatable-tbody>tr.p-row-odd { + background: #fcfcfc; +} + +.p-datatable.p-datatable-striped .p-datatable-tbody>tr.p-row-odd.p-highlight { + background: #EEF2FF; + color: #C08135; +} + +.p-datatable.p-datatable-striped .p-datatable-tbody>tr.p-row-odd.p-highlight .p-row-toggler { + color: #C08135; +} + +.p-datatable.p-datatable-striped .p-datatable-tbody>tr.p-row-odd.p-highlight .p-row-toggler:hover { + color: #C08135; +} + +.p-datatable.p-datatable-striped .p-datatable-tbody>tr.p-row-odd+.p-row-expanded { + background: #fcfcfc; +} + +.p-datatable.p-datatable-sm .p-datatable-header { + padding: 0.5rem 0.5rem; +} + +.p-datatable.p-datatable-sm .p-datatable-thead>tr>th { + padding: 0.5rem 0.5rem; +} + +.p-datatable.p-datatable-sm .p-datatable-tbody>tr>td { + padding: 0.5rem 0.5rem; +} + +.p-datatable.p-datatable-sm .p-datatable-tfoot>tr>td { + padding: 0.5rem 0.5rem; +} + +.p-datatable.p-datatable-sm .p-datatable-footer { + padding: 0.5rem 0.5rem; +} + +.p-datatable.p-datatable-lg .p-datatable-header { + padding: 1.25rem 1.25rem; +} + +.p-datatable.p-datatable-lg .p-datatable-thead>tr>th { + padding: 1.25rem 1.25rem; +} + +.p-datatable.p-datatable-lg .p-datatable-tbody>tr>td { + padding: 1.25rem 1.25rem; +} + +.p-datatable.p-datatable-lg .p-datatable-tfoot>tr>td { + padding: 1.25rem 1.25rem; +} + +.p-datatable.p-datatable-lg .p-datatable-footer { + padding: 1.25rem 1.25rem; +} + +.p-datatable-drag-selection-helper { + background: rgba(99, 102, 241, 0.16); +} + +.p-dataview .p-paginator-top { + border-width: 0 0 1px 0; + border-radius: 0; +} + +.p-dataview .p-paginator-bottom { + border-width: 0 0 1px 0; + border-radius: 0; +} + +.p-dataview .p-dataview-header { + background: #f8f9fa; + color: #343a40; + border: 1px solid #dee2e6; + border-width: 1px 0 1px 0; + padding: 1rem 1rem; + font-weight: 700; +} + +.p-dataview .p-dataview-content { + background: #ffffff; + color: #495057; + border: 0 none; + padding: 0; +} + +.p-dataview.p-dataview-list .p-dataview-content>.p-grid>div { + border: solid #dee2e6; + border-width: 0 0 1px 0; +} + +.p-dataview .p-dataview-footer { + background: #f8f9fa; + color: #343a40; + border: 1px solid #dee2e6; + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 700; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; +} + +.p-dataview .p-dataview-loading-icon { + font-size: 2rem; +} + +.p-datascroller .p-paginator-top { + border-width: 0 0 1px 0; + border-radius: 0; +} + +.p-datascroller .p-paginator-bottom { + border-width: 0 0 1px 0; + border-radius: 0; +} + +.p-datascroller .p-datascroller-header { + background: #f8f9fa; + color: #343a40; + border: 1px solid #dee2e6; + border-width: 1px 0 1px 0; + padding: 1rem 1rem; + font-weight: 700; +} + +.p-datascroller .p-datascroller-content { + background: #ffffff; + color: #495057; + border: 0 none; + padding: 0; +} + +.p-datascroller.p-datascroller-inline .p-datascroller-list>li { + border: solid #dee2e6; + border-width: 0 0 1px 0; +} + +.p-datascroller .p-datascroller-footer { + background: #f8f9fa; + color: #343a40; + border: 1px solid #dee2e6; + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 700; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; +} + +.p-column-filter-row .p-column-filter-menu-button, +.p-column-filter-row .p-column-filter-clear-button { + margin-left: 0.5rem; +} + +.p-column-filter-menu-button { + width: 2rem; + height: 2rem; + color: #6c757d; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; +} + +.p-column-filter-menu-button:hover { + color: #343a40; + border-color: transparent; + background: #e9ecef; +} + +.p-column-filter-menu-button.p-column-filter-menu-button-open, +.p-column-filter-menu-button.p-column-filter-menu-button-open:hover { + background: #e9ecef; + color: #343a40; +} + +.p-column-filter-menu-button.p-column-filter-menu-button-active, +.p-column-filter-menu-button.p-column-filter-menu-button-active:hover { + background: #EEF2FF; + color: #C08135; +} + +.p-column-filter-menu-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-column-filter-clear-button { + width: 2rem; + height: 2rem; + color: #6c757d; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; +} + +.p-column-filter-clear-button:hover { + color: #343a40; + border-color: transparent; + background: #e9ecef; +} + +.p-column-filter-clear-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-column-filter-overlay { + background: #ffffff; + color: #495057; + border: 0 none; + border-radius: 6px; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); + min-width: 12.5rem; +} + +.p-column-filter-overlay .p-column-filter-row-items { + padding: 0.75rem 0; +} + +.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item { + margin: 0; + padding: 0.75rem 1.25rem; + border: 0 none; + color: #495057; + background: transparent; + transition: box-shadow 0.2s; + border-radius: 0; +} + +.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight { + color: #C08135; + background: #EEF2FF; +} + +.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover { + color: #495057; + background: #e9ecef; +} + +.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 0 0 1px #ffd9ac; +} + +.p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator { + border-top: 1px solid #dee2e6; + margin: 0.25rem 0; +} + +.p-column-filter-overlay-menu .p-column-filter-operator { + padding: 0.75rem 1.25rem; + border-bottom: 1px solid #dee2e6; + color: #343a40; + background: #f8f9fa; + margin: 0; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} + +.p-column-filter-overlay-menu .p-column-filter-constraint { + padding: 1.25rem; + border-bottom: 1px solid #dee2e6; +} + +.p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown { + margin-bottom: 0.5rem; +} + +.p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button { + margin-top: 0.5rem; +} + +.p-column-filter-overlay-menu .p-column-filter-constraint:last-child { + border-bottom: 0 none; +} + +.p-column-filter-overlay-menu .p-column-filter-add-rule { + padding: 0.75rem 1.25rem; +} + +.p-column-filter-overlay-menu .p-column-filter-buttonbar { + padding: 1.25rem; +} + +.fc { + /* FullCalendar 4 */ + /* FullCalendar 5 */ +} + +.fc.fc-unthemed .fc-view-container th { + background: #f8f9fa; + border: 1px solid #dee2e6; + color: #343a40; +} + +.fc.fc-unthemed .fc-view-container td.fc-widget-content { + border: 1px solid #dee2e6; + color: #495057; +} + +.fc.fc-unthemed .fc-view-container td.fc-head-container { + border: 1px solid #dee2e6; +} + +.fc.fc-unthemed .fc-view-container .fc-view { + background: #ffffff; +} + +.fc.fc-unthemed .fc-view-container .fc-row { + border-right: 1px solid #dee2e6; +} + +.fc.fc-unthemed .fc-view-container .fc-event { + background: #C08135; + border: 1px solid #C08135; + color: #ffffff; +} + +.fc.fc-unthemed .fc-view-container .fc-divider { + background: #f8f9fa; + border: 1px solid #dee2e6; +} + +.fc.fc-unthemed .fc-toolbar .fc-button { + color: #ffffff; + background: #D7A86E; + border: 1px solid #D7A86E; + font-size: 1rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; + display: flex; + align-items: center; +} + +.fc.fc-unthemed .fc-toolbar .fc-button:enabled:hover { + background: #C08135; + color: #ffffff; + border-color: #C08135; +} + +.fc.fc-unthemed .fc-toolbar .fc-button:enabled:active { + background: #C08135; + color: #ffffff; + border-color: #C08135; +} + +.fc.fc-unthemed .fc-toolbar .fc-button:enabled:active:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.fc.fc-unthemed .fc-toolbar .fc-button .fc-icon-chevron-left { + font-family: "PrimeIcons" !important; + text-indent: 0; + font-size: 1rem; +} + +.fc.fc-unthemed .fc-toolbar .fc-button .fc-icon-chevron-left:before { + content: "\e900"; +} + +.fc.fc-unthemed .fc-toolbar .fc-button .fc-icon-chevron-right { + font-family: "PrimeIcons" !important; + text-indent: 0; + font-size: 1rem; +} + +.fc.fc-unthemed .fc-toolbar .fc-button .fc-icon-chevron-right:before { + content: "\e901"; +} + +.fc.fc-unthemed .fc-toolbar .fc-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.fc.fc-unthemed .fc-toolbar .fc-button.fc-dayGridMonth-button, +.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridWeek-button, +.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridDay-button { + background: #ffffff; + border: 1px solid #ced4da; + color: #495057; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.fc.fc-unthemed .fc-toolbar .fc-button.fc-dayGridMonth-button:hover, +.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridWeek-button:hover, +.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridDay-button:hover { + background: #e9ecef; + border-color: #ced4da; + color: #495057; +} + +.fc.fc-unthemed .fc-toolbar .fc-button.fc-dayGridMonth-button.fc-button-active, +.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridWeek-button.fc-button-active, +.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridDay-button.fc-button-active { + background: #D7A86E; + border-color: #D7A86E; + color: #ffffff; +} + +.fc.fc-unthemed .fc-toolbar .fc-button.fc-dayGridMonth-button.fc-button-active:hover, +.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridWeek-button.fc-button-active:hover, +.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridDay-button.fc-button-active:hover { + background: #C08135; + border-color: #C08135; + color: #ffffff; +} + +.fc.fc-unthemed .fc-toolbar .fc-button.fc-dayGridMonth-button:focus, +.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridWeek-button:focus, +.fc.fc-unthemed .fc-toolbar .fc-button.fc-timeGridDay-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; + z-index: 1; +} + +.fc.fc-unthemed .fc-toolbar .fc-button-group .fc-button { + border-radius: 0; +} + +.fc.fc-unthemed .fc-toolbar .fc-button-group .fc-button:first-child { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; +} + +.fc.fc-unthemed .fc-toolbar .fc-button-group .fc-button:last-child { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} + +.fc.fc-theme-standard .fc-view-harness .fc-scrollgrid { + border-color: #dee2e6; +} + +.fc.fc-theme-standard .fc-view-harness th { + background: #f8f9fa; + border-color: #dee2e6; + color: #343a40; +} + +.fc.fc-theme-standard .fc-view-harness td { + color: #495057; + border-color: #dee2e6; +} + +.fc.fc-theme-standard .fc-view-harness .fc-view { + background: #ffffff; +} + +.fc.fc-theme-standard .fc-view-harness .fc-popover { + background: none; + border: 0 none; +} + +.fc.fc-theme-standard .fc-view-harness .fc-popover .fc-popover-header { + border: 1px solid #dee2e6; + padding: 1.25rem; + background: #f8f9fa; + color: #343a40; +} + +.fc.fc-theme-standard .fc-view-harness .fc-popover .fc-popover-header .fc-popover-close { + opacity: 1; + display: flex; + align-items: center; + justify-content: center; + overflow: hidden; + font-family: "PrimeIcons" !important; + font-size: 1rem; + width: 2rem; + height: 2rem; + color: #6c757d; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; +} + +.fc.fc-theme-standard .fc-view-harness .fc-popover .fc-popover-header .fc-popover-close:before { + content: "\e90b"; +} + +.fc.fc-theme-standard .fc-view-harness .fc-popover .fc-popover-header .fc-popover-close:hover { + color: #343a40; + border-color: transparent; + background: #e9ecef; +} + +.fc.fc-theme-standard .fc-view-harness .fc-popover .fc-popover-header .fc-popover-close:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.fc.fc-theme-standard .fc-view-harness .fc-popover .fc-popover-body { + padding: 1.25rem; + border: 1px solid #dee2e6; + background: #ffffff; + color: #495057; + border-top: 0 none; +} + +.fc.fc-theme-standard .fc-view-harness .fc-event.fc-daygrid-block-event { + color: #ffffff; + background: #C08135; + border-color: #C08135; +} + +.fc.fc-theme-standard .fc-view-harness .fc-event.fc-daygrid-block-event .fc-event-main { + color: #ffffff; +} + +.fc.fc-theme-standard .fc-view-harness .fc-event.fc-daygrid-dot-event .fc-daygrid-event-dot { + background: #C08135; + border-color: #C08135; +} + +.fc.fc-theme-standard .fc-view-harness .fc-event.fc-daygrid-dot-event:hover { + background: #e9ecef; + color: #495057; +} + +.fc.fc-theme-standard .fc-view-harness .fc-cell-shaded { + background: #f8f9fa; +} + +.fc.fc-theme-standard .fc-toolbar .fc-button { + color: #ffffff; + background: #D7A86E; + border: 1px solid #D7A86E; + font-size: 1rem; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; + border-radius: 6px; +} + +.fc.fc-theme-standard .fc-toolbar .fc-button:enabled:hover { + background: #C08135; + color: #ffffff; + border-color: #C08135; +} + +.fc.fc-theme-standard .fc-toolbar .fc-button:enabled:active { + background: #C08135; + color: #ffffff; + border-color: #C08135; +} + +.fc.fc-theme-standard .fc-toolbar .fc-button:enabled:active:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.fc.fc-theme-standard .fc-toolbar .fc-button:disabled { + opacity: 0.6; + color: #ffffff; + background: #D7A86E; + border: 1px solid #D7A86E; +} + +.fc.fc-theme-standard .fc-toolbar .fc-button .fc-icon-chevron-left { + font-family: "PrimeIcons" !important; + text-indent: 0; + font-size: 1rem; +} + +.fc.fc-theme-standard .fc-toolbar .fc-button .fc-icon-chevron-left:before { + content: "\e900"; +} + +.fc.fc-theme-standard .fc-toolbar .fc-button .fc-icon-chevron-right { + font-family: "PrimeIcons" !important; + text-indent: 0; + font-size: 1rem; +} + +.fc.fc-theme-standard .fc-toolbar .fc-button .fc-icon-chevron-right:before { + content: "\e901"; +} + +.fc.fc-theme-standard .fc-toolbar .fc-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.fc.fc-theme-standard .fc-toolbar .fc-button.fc-dayGridMonth-button, +.fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridWeek-button, +.fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridDay-button { + background: #ffffff; + border: 1px solid #ced4da; + color: #495057; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.fc.fc-theme-standard .fc-toolbar .fc-button.fc-dayGridMonth-button:hover, +.fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridWeek-button:hover, +.fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridDay-button:hover { + background: #e9ecef; + border-color: #ced4da; + color: #495057; +} + +.fc.fc-theme-standard .fc-toolbar .fc-button.fc-dayGridMonth-button.fc-button-active, +.fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridWeek-button.fc-button-active, +.fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridDay-button.fc-button-active { + background: #D7A86E; + border-color: #D7A86E; + color: #ffffff; +} + +.fc.fc-theme-standard .fc-toolbar .fc-button.fc-dayGridMonth-button.fc-button-active:hover, +.fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridWeek-button.fc-button-active:hover, +.fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridDay-button.fc-button-active:hover { + background: #C08135; + border-color: #C08135; + color: #ffffff; +} + +.fc.fc-theme-standard .fc-toolbar .fc-button.fc-dayGridMonth-button:not(:disabled):focus, +.fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridWeek-button:not(:disabled):focus, +.fc.fc-theme-standard .fc-toolbar .fc-button.fc-timeGridDay-button:not(:disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; + z-index: 1; +} + +.fc.fc-theme-standard .fc-toolbar .fc-button-group .fc-button { + border-radius: 0; +} + +.fc.fc-theme-standard .fc-toolbar .fc-button-group .fc-button:first-child { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; +} + +.fc.fc-theme-standard .fc-toolbar .fc-button-group .fc-button:last-child { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} + +.fc.fc-theme-standard .fc-highlight { + color: #C08135; + background: #EEF2FF; +} + +.p-orderlist .p-orderlist-controls { + padding: 1.25rem; +} + +.p-orderlist .p-orderlist-controls .p-button { + margin-bottom: 0.5rem; +} + +.p-orderlist .p-orderlist-header { + background: #f8f9fa; + color: #343a40; + border: 1px solid #dee2e6; + padding: 1.25rem; + font-weight: 700; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} + +.p-orderlist .p-orderlist-list { + border: 1px solid #dee2e6; + background: #ffffff; + color: #495057; + padding: 0.75rem 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} + +.p-orderlist .p-orderlist-list .p-orderlist-item { + padding: 0.75rem 1.25rem; + margin: 0; + border: 0 none; + color: #495057; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; +} + +.p-orderlist .p-orderlist-list .p-orderlist-item:not(.p-highlight):hover { + background: #e9ecef; + color: #495057; +} + +.p-orderlist .p-orderlist-list .p-orderlist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 0 0 1px #ffd9ac; +} + +.p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight { + color: #C08135; + background: #EEF2FF; +} + +@media screen and (max-width: 769px) { + .p-orderlist { + flex-direction: column; + } + + .p-orderlist .p-orderlist-controls { + padding: 1.25rem; + flex-direction: row; + } + + .p-orderlist .p-orderlist-controls .p-button { + margin-right: 0.5rem; + margin-bottom: 0; + } + + .p-orderlist .p-orderlist-controls .p-button:last-child { + margin-right: 0; + } +} + +.p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover { + background: #e9ecef; + color: #495057; +} + +.p-organizationchart .p-organizationchart-node-content.p-highlight { + background: #EEF2FF; + color: #C08135; +} + +.p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i { + color: #6f91ff; +} + +.p-organizationchart .p-organizationchart-line-down { + background: #dee2e6; +} + +.p-organizationchart .p-organizationchart-line-left { + border-right: 1px solid #dee2e6; + border-color: #dee2e6; +} + +.p-organizationchart .p-organizationchart-line-top { + border-top: 1px solid #dee2e6; + border-color: #dee2e6; +} + +.p-organizationchart .p-organizationchart-node-content { + border: 1px solid #dee2e6; + background: #ffffff; + color: #495057; + padding: 1.25rem; +} + +.p-organizationchart .p-organizationchart-node-content .p-node-toggler { + background: inherit; + color: inherit; + border-radius: 50%; +} + +.p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-paginator { + background: #ffffff; + color: #6c757d; + border: solid #e9ecef; + border-width: 0; + padding: 0.5rem 1rem; + border-radius: 6px; +} + +.p-paginator .p-paginator-first, +.p-paginator .p-paginator-prev, +.p-paginator .p-paginator-next, +.p-paginator .p-paginator-last { + background-color: transparent; + border: 0 none; + color: #6c757d; + min-width: 3rem; + height: 3rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 50%; +} + +.p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover, +.p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover { + background: #e9ecef; + border-color: transparent; + color: #343a40; +} + +.p-paginator .p-paginator-first { + border-top-left-radius: 50%; + border-bottom-left-radius: 50%; +} + +.p-paginator .p-paginator-last { + border-top-right-radius: 50%; + border-bottom-right-radius: 50%; +} + +.p-paginator .p-dropdown { + margin-left: 0.5rem; + height: 3rem; +} + +.p-paginator .p-dropdown .p-dropdown-label { + padding-right: 0; +} + +.p-paginator .p-paginator-page-input { + margin-left: 0.5rem; + margin-right: 0.5rem; +} + +.p-paginator .p-paginator-page-input .p-inputtext { + max-width: 3rem; +} + +.p-paginator .p-paginator-current { + background-color: transparent; + border: 0 none; + color: #6c757d; + min-width: 3rem; + height: 3rem; + margin: 0.143rem; + padding: 0 0.5rem; +} + +.p-paginator .p-paginator-pages .p-paginator-page { + background-color: transparent; + border: 0 none; + color: #6c757d; + min-width: 3rem; + height: 3rem; + margin: 0.143rem; + transition: box-shadow 0.2s; + border-radius: 50%; +} + +.p-paginator .p-paginator-pages .p-paginator-page.p-highlight { + background: #EEF2FF; + border-color: #EEF2FF; + color: #C08135; +} + +.p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover { + background: #e9ecef; + border-color: transparent; + color: #343a40; +} + +.p-picklist .p-picklist-buttons { + padding: 1.25rem; +} + +.p-picklist .p-picklist-buttons .p-button { + margin-bottom: 0.5rem; +} + +.p-picklist .p-picklist-header { + background: #f8f9fa; + color: #343a40; + border: 1px solid #dee2e6; + padding: 1.25rem; + font-weight: 700; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} + +.p-picklist .p-picklist-list { + border: 1px solid #dee2e6; + background: #ffffff; + color: #495057; + padding: 0.75rem 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} + +.p-picklist .p-picklist-list .p-picklist-item { + padding: 0.75rem 1.25rem; + margin: 0; + border: 0 none; + color: #495057; + background: transparent; + transition: transform 0.2s, box-shadow 0.2s; +} + +.p-picklist .p-picklist-list .p-picklist-item:not(.p-highlight):hover { + background: #e9ecef; + color: #495057; +} + +.p-picklist .p-picklist-list .p-picklist-item:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 0 0 1px #ffd9ac; +} + +.p-picklist .p-picklist-list .p-picklist-item.p-highlight { + color: #C08135; + background: #EEF2FF; +} + +@media screen and (max-width: 769px) { + .p-picklist { + flex-direction: column; + } + + .p-picklist .p-picklist-buttons { + padding: 1.25rem; + flex-direction: row; + } + + .p-picklist .p-picklist-buttons .p-button { + margin-right: 0.5rem; + margin-bottom: 0; + } + + .p-picklist .p-picklist-buttons .p-button:last-child { + margin-right: 0; + } + + .p-picklist .p-picklist-transfer-buttons .pi-angle-right:before { + content: "\e930"; + } + + .p-picklist .p-picklist-transfer-buttons .pi-angle-double-right:before { + content: "\e92c"; + } + + .p-picklist .p-picklist-transfer-buttons .pi-angle-left:before { + content: "\e933"; + } + + .p-picklist .p-picklist-transfer-buttons .pi-angle-double-left:before { + content: "\e92f"; + } +} + +.p-tree { + border: 1px solid #dee2e6; + background: #ffffff; + color: #495057; + padding: 1.25rem; + border-radius: 6px; +} + +.p-tree .p-tree-container .p-treenode { + padding: 0.143rem; +} + +.p-tree .p-tree-container .p-treenode .p-treenode-content { + border-radius: 6px; + transition: box-shadow 0.2s; + padding: 0.5rem; +} + +.p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler { + margin-right: 0.5rem; + width: 2rem; + height: 2rem; + color: #6c757d; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; +} + +.p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover { + color: #343a40; + border-color: transparent; + background: #e9ecef; +} + +.p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon { + margin-right: 0.5rem; + color: #6c757d; +} + +.p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox { + margin-right: 0.5rem; +} + +.p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox .p-indeterminate .p-checkbox-icon { + color: #495057; +} + +.p-tree .p-tree-container .p-treenode .p-treenode-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight { + background: #EEF2FF; + color: #C08135; +} + +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon { + color: #C08135; +} + +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover, +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover { + color: #C08135; +} + +.p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover { + background: #e9ecef; + color: #495057; +} + +.p-tree .p-tree-filter-container { + margin-bottom: 0.5rem; +} + +.p-tree .p-tree-filter-container .p-tree-filter { + width: 100%; + padding-right: 1.75rem; +} + +.p-tree .p-tree-filter-container .p-tree-filter-icon { + right: 0.75rem; + color: #6c757d; +} + +.p-tree .p-treenode-children { + padding: 0 0 0 1rem; +} + +.p-tree .p-tree-loading-icon { + font-size: 2rem; +} + +.p-tree .p-treenode-droppoint { + height: 0.5rem; +} + +.p-tree .p-treenode-droppoint.p-treenode-droppoint-active { + background: #8ba7ff; +} + +.p-treetable .p-paginator-top { + border-width: 0 0 1px 0; + border-radius: 0; +} + +.p-treetable .p-paginator-bottom { + border-width: 0 0 1px 0; + border-radius: 0; +} + +.p-treetable .p-treetable-header { + background: #f8f9fa; + color: #343a40; + border: 1px solid #dee2e6; + border-width: 1px 0 1px 0; + padding: 1rem 1rem; + font-weight: 700; +} + +.p-treetable .p-treetable-footer { + background: #f8f9fa; + color: #343a40; + border: 1px solid #dee2e6; + border-width: 0 0 1px 0; + padding: 1rem 1rem; + font-weight: 700; +} + +.p-treetable .p-treetable-thead>tr>th { + text-align: left; + padding: 1rem 1rem; + border: 1px solid #dee2e6; + border-width: 0 0 1px 0; + font-weight: 700; + color: #343a40; + background: #f8f9fa; + transition: box-shadow 0.2s; +} + +.p-treetable .p-treetable-tfoot>tr>td { + text-align: left; + padding: 1rem 1rem; + border: 1px solid #dee2e6; + border-width: 0 0 1px 0; + font-weight: 700; + color: #343a40; + background: #f8f9fa; +} + +.p-treetable .p-sortable-column { + outline-color: #ffd9ac; +} + +.p-treetable .p-sortable-column .p-sortable-column-icon { + color: #343a40; + margin-left: 0.5rem; +} + +.p-treetable .p-sortable-column .p-sortable-column-badge { + border-radius: 50%; + height: 1.143rem; + min-width: 1.143rem; + line-height: 1.143rem; + color: #C08135; + background: #EEF2FF; + margin-left: 0.5rem; +} + +.p-treetable .p-sortable-column:not(.p-highlight):hover { + background: #e9ecef; + color: #343a40; +} + +.p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon { + color: #343a40; +} + +.p-treetable .p-sortable-column.p-highlight { + background: #EEF2FF; + color: #C08135; +} + +.p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon { + color: #C08135; +} + +.p-treetable .p-treetable-tbody>tr { + background: #ffffff; + color: #495057; + transition: box-shadow 0.2s; + outline-color: #ffd9ac; +} + +.p-treetable .p-treetable-tbody>tr>td { + text-align: left; + border: 1px solid #dee2e6; + border-width: 0 0 1px 0; + padding: 1rem 1rem; +} + +.p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler { + width: 2rem; + height: 2rem; + color: #6c757d; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; +} + +.p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler:enabled:hover { + color: #343a40; + border-color: transparent; + background: #e9ecef; +} + +.p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler+.p-checkbox { + margin-right: 0.5rem; +} + +.p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler+.p-checkbox .p-indeterminate .p-checkbox-icon { + color: #495057; +} + +.p-treetable .p-treetable-tbody>tr.p-highlight { + background: #EEF2FF; + color: #C08135; +} + +.p-treetable .p-treetable-tbody>tr.p-highlight .p-treetable-toggler { + color: #C08135; +} + +.p-treetable .p-treetable-tbody>tr.p-highlight .p-treetable-toggler:hover { + color: #C08135; +} + +.p-treetable.p-treetable-hoverable-rows .p-treetable-tbody>tr:not(.p-highlight):hover { + background: #e9ecef; + color: #495057; +} + +.p-treetable.p-treetable-hoverable-rows .p-treetable-tbody>tr:not(.p-highlight):hover .p-treetable-toggler { + color: #495057; +} + +.p-treetable .p-column-resizer-helper { + background: #D7A86E; +} + +.p-treetable .p-treetable-scrollable-header, +.p-treetable .p-treetable-scrollable-footer { + background: #f8f9fa; +} + +.p-treetable .p-treetable-loading-icon { + font-size: 2rem; +} + +.p-treetable.p-treetable-gridlines .p-datatable-header { + border-width: 1px 1px 0 1px; +} + +.p-treetable.p-treetable-gridlines .p-treetable-footer { + border-width: 0 1px 1px 1px; +} + +.p-treetable.p-treetable-gridlines .p-treetable-top { + border-width: 0 1px 0 1px; +} + +.p-treetable.p-treetable-gridlines .p-treetable-bottom { + border-width: 0 1px 1px 1px; +} + +.p-treetable.p-treetable-gridlines .p-treetable-thead>tr>th { + border-width: 1px; +} + +.p-treetable.p-treetable-gridlines .p-treetable-tbody>tr>td { + border-width: 1px; +} + +.p-treetable.p-treetable-gridlines .p-treetable-tfoot>tr>td { + border-width: 1px; +} + +.p-treetable.p-treetable-sm .p-treetable-header { + padding: 0.875rem 0.875rem; +} + +.p-treetable.p-treetable-sm .p-treetable-thead>tr>th { + padding: 0.5rem 0.5rem; +} + +.p-treetable.p-treetable-sm .p-treetable-tbody>tr>td { + padding: 0.5rem 0.5rem; +} + +.p-treetable.p-treetable-sm .p-treetable-tfoot>tr>td { + padding: 0.5rem 0.5rem; +} + +.p-treetable.p-treetable-sm .p-treetable-footer { + padding: 0.5rem 0.5rem; +} + +.p-treetable.p-treetable-lg .p-treetable-header { + padding: 1.25rem 1.25rem; +} + +.p-treetable.p-treetable-lg .p-treetable-thead>tr>th { + padding: 1.25rem 1.25rem; +} + +.p-treetable.p-treetable-lg .p-treetable-tbody>tr>td { + padding: 1.25rem 1.25rem; +} + +.p-treetable.p-treetable-lg .p-treetable-tfoot>tr>td { + padding: 1.25rem 1.25rem; +} + +.p-treetable.p-treetable-lg .p-treetable-footer { + padding: 1.25rem 1.25rem; +} + +.p-timeline .p-timeline-event-marker { + border: 2px solid #D7A86E; + border-radius: 50%; + width: 1rem; + height: 1rem; + background-color: #ffffff; +} + +.p-timeline .p-timeline-event-connector { + background-color: #dee2e6; +} + +.p-timeline.p-timeline-vertical .p-timeline-event-opposite, +.p-timeline.p-timeline-vertical .p-timeline-event-content { + padding: 0 1rem; +} + +.p-timeline.p-timeline-vertical .p-timeline-event-connector { + width: 2px; +} + +.p-timeline.p-timeline-horizontal .p-timeline-event-opposite, +.p-timeline.p-timeline-horizontal .p-timeline-event-content { + padding: 1rem 0; +} + +.p-timeline.p-timeline-horizontal .p-timeline-event-connector { + height: 2px; +} + +.p-accordion .p-accordion-header .p-accordion-header-link { + padding: 1.25rem; + border: 1px solid #dee2e6; + color: #6c757d; + background: #f8f9fa; + font-weight: 700; + border-radius: 6px; + transition: box-shadow 0.2s; +} + +.p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon { + margin-right: 0.5rem; +} + +.p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link { + background: #e9ecef; + border-color: #dee2e6; + color: #343a40; +} + +.p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link { + background: #f8f9fa; + border-color: #dee2e6; + color: #343a40; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link { + border-color: #dee2e6; + background: #e9ecef; + color: #343a40; +} + +.p-accordion .p-accordion-content { + padding: 1.25rem; + border: 1px solid #dee2e6; + background: #ffffff; + color: #495057; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} + +.p-accordion .p-accordion-tab { + margin-bottom: 4px; +} + +.p-card { + background: #ffffff; + color: #495057; + box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12); + border-radius: 6px; +} + +.p-card .p-card-body { + padding: 1.25rem; +} + +.p-card .p-card-title { + font-size: 1.5rem; + font-weight: 700; + margin-bottom: 0.5rem; +} + +.p-card .p-card-subtitle { + font-weight: 400; + margin-bottom: 0.5rem; + color: #6c757d; +} + +.p-card .p-card-content { + padding: 1.25rem 0; +} + +.p-card .p-card-footer { + padding: 1.25rem 0 0 0; +} + +.p-fieldset { + border: 1px solid #dee2e6; + background: #ffffff; + color: #495057; + border-radius: 6px; +} + +.p-fieldset .p-fieldset-legend { + padding: 1.25rem; + border: 1px solid #dee2e6; + color: #343a40; + background: #f8f9fa; + font-weight: 700; + border-radius: 6px; +} + +.p-fieldset.p-fieldset-toggleable .p-fieldset-legend { + padding: 0; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; +} + +.p-fieldset.p-fieldset-toggleable .p-fieldset-legend a { + padding: 1.25rem; + color: #343a40; + border-radius: 6px; + transition: box-shadow 0.2s; +} + +.p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler { + margin-right: 0.5rem; +} + +.p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover { + background: #e9ecef; + border-color: #dee2e6; + color: #343a40; +} + +.p-fieldset .p-fieldset-content { + padding: 1.25rem; +} + +.p-divider .p-divider-content { + background-color: #ffffff; +} + +.p-divider.p-divider-horizontal { + margin: 1.25rem 0; + padding: 0 1.25rem; +} + +.p-divider.p-divider-horizontal:before { + border-top: 1px #dee2e6; +} + +.p-divider.p-divider-horizontal .p-divider-content { + padding: 0 0.5rem; +} + +.p-divider.p-divider-vertical { + margin: 0 1.25rem; + padding: 1.25rem 0; +} + +.p-divider.p-divider-vertical:before { + border-left: 1px #dee2e6; +} + +.p-divider.p-divider-vertical .p-divider-content { + padding: 0.5rem 0; +} + +.p-panel .p-panel-header { + border: 1px solid #dee2e6; + padding: 1.25rem; + background: #f8f9fa; + color: #343a40; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} + +.p-panel .p-panel-header .p-panel-title { + font-weight: 700; +} + +.p-panel .p-panel-header .p-panel-header-icon { + width: 2rem; + height: 2rem; + color: #6c757d; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; +} + +.p-panel .p-panel-header .p-panel-header-icon:enabled:hover { + color: #343a40; + border-color: transparent; + background: #e9ecef; +} + +.p-panel .p-panel-header .p-panel-header-icon:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-panel.p-panel-toggleable .p-panel-header { + padding: 0.75rem 1.25rem; +} + +.p-panel .p-panel-content { + padding: 1.25rem; + border: 1px solid #dee2e6; + background: #ffffff; + color: #495057; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; + border-top: 0 none; +} + +.p-panel .p-panel-footer { + padding: 0.75rem 1.25rem; + border: 1px solid #dee2e6; + background: #ffffff; + color: #495057; + border-top: 0 none; +} + +.p-splitter { + border: 1px solid #dee2e6; + background: #ffffff; + border-radius: 6px; + color: #495057; +} + +.p-splitter .p-splitter-gutter { + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + background: #f8f9fa; +} + +.p-splitter .p-splitter-gutter .p-splitter-gutter-handle { + background: #dee2e6; +} + +.p-splitter .p-splitter-gutter-resizing { + background: #dee2e6; +} + +.p-scrollpanel .p-scrollpanel-bar { + background: #f8f9fa; + border: 0 none; +} + +.p-tabview .p-tabview-nav { + background: #ffffff; + border: 1px solid #dee2e6; + border-width: 0 0 2px 0; +} + +.p-tabview .p-tabview-nav li { + margin-right: 0; +} + +.p-tabview .p-tabview-nav li .p-tabview-nav-link { + border: solid #dee2e6; + border-width: 0 0 2px 0; + border-color: transparent transparent #dee2e6 transparent; + background: #ffffff; + color: #6c757d; + padding: 1.25rem; + font-weight: 700; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; +} + +.p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 0 0 0.2rem #ffd9ac; +} + +.p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link { + background: #ffffff; + border-color: #adb5bd; + color: #6c757d; +} + +.p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link { + background: #ffffff; + border-color: #D7A86E; + color: #D7A86E; +} + +.p-tabview .p-tabview-close { + margin-left: 0.5rem; +} + +.p-tabview .p-tabview-nav-btn.p-link { + background: #ffffff; + color: #D7A86E; + width: 3rem; + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + border-radius: 0; +} + +.p-tabview .p-tabview-nav-btn.p-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 0 0 0.2rem #ffd9ac; +} + +.p-tabview .p-tabview-panels { + background: #ffffff; + padding: 1.25rem; + border: 0 none; + color: #495057; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} + +.p-toolbar { + background: #f8f9fa; + border: 1px solid #dee2e6; + padding: 1.25rem; + border-radius: 6px; +} + +.p-toolbar .p-toolbar-separator { + margin: 0 0.5rem; +} + +.p-confirm-popup { + background: #ffffff; + color: #495057; + border: 0 none; + border-radius: 6px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); +} + +.p-confirm-popup .p-confirm-popup-content { + padding: 1.25rem; +} + +.p-confirm-popup .p-confirm-popup-footer { + text-align: right; + padding: 0 1.25rem 1.25rem 1.25rem; +} + +.p-confirm-popup .p-confirm-popup-footer button { + margin: 0 0.5rem 0 0; + width: auto; +} + +.p-confirm-popup .p-confirm-popup-footer button:last-child { + margin: 0; +} + +.p-confirm-popup:after { + border: solid transparent; + border-color: rgba(255, 255, 255, 0); + border-bottom-color: #ffffff; +} + +.p-confirm-popup:before { + border: solid transparent; + border-color: rgba(255, 255, 255, 0); + border-bottom-color: #ffffff; +} + +.p-confirm-popup.p-confirm-popup-flipped:after { + border-top-color: #ffffff; +} + +.p-confirm-popup.p-confirm-popup-flipped:before { + border-top-color: #ffffff; +} + +.p-confirm-popup .p-confirm-popup-icon { + font-size: 1.5rem; +} + +.p-confirm-popup .p-confirm-popup-message { + margin-left: 1rem; +} + +.p-dialog { + border-radius: 6px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); + border: 0 none; +} + +.p-dialog .p-dialog-header { + border-bottom: 0 none; + background: #ffffff; + color: #343a40; + padding: 1.5rem; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} + +.p-dialog .p-dialog-header .p-dialog-title { + font-weight: 700; + font-size: 1.25rem; +} + +.p-dialog .p-dialog-header .p-dialog-header-icon { + width: 2rem; + height: 2rem; + color: #6c757d; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; +} + +.p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover { + color: #343a40; + border-color: transparent; + background: #e9ecef; +} + +.p-dialog .p-dialog-header .p-dialog-header-icon:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-dialog .p-dialog-header .p-dialog-header-icon:last-child { + margin-right: 0; +} + +.p-dialog .p-dialog-content { + background: #ffffff; + color: #495057; + padding: 0 1.5rem 2rem 1.5rem; +} + +.p-dialog .p-dialog-footer { + border-top: 0 none; + background: #ffffff; + color: #495057; + padding: 0 1.5rem 1.5rem 1.5rem; + text-align: right; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} + +.p-dialog .p-dialog-footer button { + margin: 0 0.5rem 0 0; + width: auto; +} + +.p-dialog.p-confirm-dialog .p-confirm-dialog-icon { + font-size: 2rem; +} + +.p-dialog.p-confirm-dialog .p-confirm-dialog-message { + margin-left: 1rem; +} + +.p-overlaypanel { + background: #ffffff; + color: #495057; + border: 0 none; + border-radius: 6px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); +} + +.p-overlaypanel .p-overlaypanel-content { + padding: 1.25rem; +} + +.p-overlaypanel .p-overlaypanel-close { + background: #D7A86E; + color: #ffffff; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; + position: absolute; + top: -1rem; + right: -1rem; +} + +.p-overlaypanel .p-overlaypanel-close:enabled:hover { + background: #C08135; + color: #ffffff; +} + +.p-overlaypanel:after { + border: solid transparent; + border-color: rgba(255, 255, 255, 0); + border-bottom-color: #ffffff; +} + +.p-overlaypanel:before { + border: solid transparent; + border-color: rgba(255, 255, 255, 0); + border-bottom-color: #ffffff; +} + +.p-overlaypanel.p-overlaypanel-flipped:after { + border-top-color: #ffffff; +} + +.p-overlaypanel.p-overlaypanel-flipped:before { + border-top-color: #ffffff; +} + +.p-sidebar { + background: #ffffff; + color: #495057; + border: 0 none; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); +} + +.p-sidebar .p-sidebar-header { + padding: 1.25rem; +} + +.p-sidebar .p-sidebar-header .p-sidebar-close, +.p-sidebar .p-sidebar-header .p-sidebar-icon { + width: 2rem; + height: 2rem; + color: #6c757d; + border: 0 none; + background: transparent; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; +} + +.p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover, +.p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover { + color: #343a40; + border-color: transparent; + background: #e9ecef; +} + +.p-sidebar .p-sidebar-header .p-sidebar-close:focus, +.p-sidebar .p-sidebar-header .p-sidebar-icon:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-sidebar .p-sidebar-header+.p-sidebar-content { + padding-top: 0; +} + +.p-sidebar .p-sidebar-content { + padding: 1.25rem; +} + +.p-tooltip .p-tooltip-text { + background: #495057; + color: #ffffff; + padding: 0.75rem 0.75rem; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); + border-radius: 6px; +} + +.p-tooltip.p-tooltip-right .p-tooltip-arrow { + border-right-color: #495057; +} + +.p-tooltip.p-tooltip-left .p-tooltip-arrow { + border-left-color: #495057; +} + +.p-tooltip.p-tooltip-top .p-tooltip-arrow { + border-top-color: #495057; +} + +.p-tooltip.p-tooltip-bottom .p-tooltip-arrow { + border-bottom-color: #495057; +} + +.p-fileupload .p-fileupload-buttonbar { + background: #f8f9fa; + padding: 1.25rem; + border: 1px solid #dee2e6; + color: #343a40; + border-bottom: 0 none; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} + +.p-fileupload .p-fileupload-buttonbar .p-button { + margin-right: 0.5rem; +} + +.p-fileupload .p-fileupload-content { + background: #ffffff; + padding: 2rem 1rem; + border: 1px solid #dee2e6; + color: #495057; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} + +.p-fileupload .p-progressbar { + height: 0.25rem; +} + +.p-fileupload .p-fileupload-row>div { + padding: 1rem 1rem; +} + +.p-fileupload.p-fileupload-advanced .p-message { + margin-top: 0; +} + +.p-breadcrumb { + background: #ffffff; + border: 1px solid #dee2e6; + border-radius: 6px; + padding: 1rem; +} + +.p-breadcrumb ul li .p-menuitem-link { + transition: box-shadow 0.2s; + border-radius: 6px; +} + +.p-breadcrumb ul li .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-breadcrumb ul li .p-menuitem-link .p-menuitem-text { + color: #495057; +} + +.p-breadcrumb ul li .p-menuitem-link .p-menuitem-icon { + color: #6c757d; +} + +.p-breadcrumb ul li.p-breadcrumb-chevron { + margin: 0 0.5rem 0 0.5rem; + color: #495057; +} + +.p-breadcrumb ul li:last-child .p-menuitem-text { + color: #495057; +} + +.p-breadcrumb ul li:last-child .p-menuitem-icon { + color: #6c757d; +} + +.p-contextmenu { + padding: 0.25rem 0; + background: #ffffff; + color: #495057; + border: 0 none; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); + border-radius: 6px; + width: 12.5rem; +} + +.p-contextmenu .p-menuitem-link { + padding: 0.75rem 1.25rem; + color: #495057; + border-radius: 0; + transition: box-shadow 0.2s; + user-select: none; +} + +.p-contextmenu .p-menuitem-link .p-menuitem-text { + color: #495057; +} + +.p-contextmenu .p-menuitem-link .p-menuitem-icon { + color: #6c757d; + margin-right: 0.5rem; +} + +.p-contextmenu .p-menuitem-link .p-submenu-icon { + color: #6c757d; +} + +.p-contextmenu .p-menuitem-link:not(.p-disabled):hover { + background: #e9ecef; +} + +.p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #495057; +} + +.p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #6c757d; +} + +.p-contextmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #6c757d; +} + +.p-contextmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 0 0 1px #ffd9ac; +} + +.p-contextmenu .p-submenu-list { + padding: 0.25rem 0; + background: #ffffff; + border: 0 none; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); + border-radius: 6px; +} + +.p-contextmenu .p-menuitem.p-menuitem-active>.p-menuitem-link { + background: #EEF2FF; +} + +.p-contextmenu .p-menuitem.p-menuitem-active>.p-menuitem-link .p-menuitem-text { + color: #C08135; +} + +.p-contextmenu .p-menuitem.p-menuitem-active>.p-menuitem-link .p-menuitem-icon, +.p-contextmenu .p-menuitem.p-menuitem-active>.p-menuitem-link .p-submenu-icon { + color: #C08135; +} + +.p-contextmenu .p-menu-separator { + border-top: 1px solid #dee2e6; + margin: 0.25rem 0; +} + +.p-contextmenu .p-submenu-icon { + font-size: 0.875rem; +} + +.p-dock .p-dock-list { + background: rgba(255, 255, 255, 0.1); + border: 1px solid rgba(255, 255, 255, 0.2); + padding: 0.5rem 0.5rem; + border-radius: 0.5rem; +} + +.p-dock .p-dock-item { + padding: 0.5rem; +} + +.p-dock .p-dock-action { + width: 4rem; + height: 4rem; +} + +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-second-next { + margin: 0 0.9rem; +} + +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-next { + margin: 0 1.3rem; +} + +.p-dock.p-dock-magnification.p-dock-top .p-dock-item-current, +.p-dock.p-dock-magnification.p-dock-bottom .p-dock-item-current { + margin: 0 1.5rem; +} + +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-second-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-second-next { + margin: 0.9rem 0; +} + +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-next, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-prev, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-next { + margin: 1.3rem 0; +} + +.p-dock.p-dock-magnification.p-dock-left .p-dock-item-current, +.p-dock.p-dock-magnification.p-dock-right .p-dock-item-current { + margin: 1.5rem 0; +} + +@media screen and (max-width: 960px) { + + .p-dock.p-dock-top .p-dock-list-container, + .p-dock.p-dock-bottom .p-dock-list-container { + overflow-x: auto; + width: 100%; + } + + .p-dock.p-dock-top .p-dock-list-container .p-dock-list, + .p-dock.p-dock-bottom .p-dock-list-container .p-dock-list { + margin: 0 auto; + } + + .p-dock.p-dock-left .p-dock-list-container, + .p-dock.p-dock-right .p-dock-list-container { + overflow-y: auto; + height: 100%; + } + + .p-dock.p-dock-left .p-dock-list-container .p-dock-list, + .p-dock.p-dock-right .p-dock-list-container .p-dock-list { + margin: auto 0; + } + + .p-dock .p-dock-list .p-dock-item { + transform: none; + margin: 0; + } +} + +.p-megamenu { + padding: 0.5rem; + background: #f8f9fa; + color: #495057; + border: 1px solid #dee2e6; + border-radius: 6px; +} + +.p-megamenu .p-megamenu-root-list>.p-menuitem>.p-menuitem-link { + padding: 0.75rem 1.25rem; + color: #495057; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; +} + +.p-megamenu .p-megamenu-root-list>.p-menuitem>.p-menuitem-link .p-menuitem-text { + color: #495057; +} + +.p-megamenu .p-megamenu-root-list>.p-menuitem>.p-menuitem-link .p-menuitem-icon { + color: #6c757d; + margin-right: 0.5rem; +} + +.p-megamenu .p-megamenu-root-list>.p-menuitem>.p-menuitem-link .p-submenu-icon { + color: #6c757d; + margin-left: 0.5rem; +} + +.p-megamenu .p-megamenu-root-list>.p-menuitem>.p-menuitem-link:not(.p-disabled):hover { + background: #e9ecef; +} + +.p-megamenu .p-megamenu-root-list>.p-menuitem>.p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #495057; +} + +.p-megamenu .p-megamenu-root-list>.p-menuitem>.p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #6c757d; +} + +.p-megamenu .p-megamenu-root-list>.p-menuitem>.p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #6c757d; +} + +.p-megamenu .p-megamenu-root-list>.p-menuitem>.p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 0 0 1px #ffd9ac; +} + +.p-megamenu .p-megamenu-root-list>.p-menuitem.p-menuitem-active>.p-menuitem-link, +.p-megamenu .p-megamenu-root-list>.p-menuitem.p-menuitem-active>.p-menuitem-link:not(.p-disabled):hover { + background: #EEF2FF; +} + +.p-megamenu .p-megamenu-root-list>.p-menuitem.p-menuitem-active>.p-menuitem-link .p-menuitem-text, +.p-megamenu .p-megamenu-root-list>.p-menuitem.p-menuitem-active>.p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #C08135; +} + +.p-megamenu .p-megamenu-root-list>.p-menuitem.p-menuitem-active>.p-menuitem-link .p-menuitem-icon, +.p-megamenu .p-megamenu-root-list>.p-menuitem.p-menuitem-active>.p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #C08135; +} + +.p-megamenu .p-megamenu-root-list>.p-menuitem.p-menuitem-active>.p-menuitem-link .p-submenu-icon, +.p-megamenu .p-megamenu-root-list>.p-menuitem.p-menuitem-active>.p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #C08135; +} + +.p-megamenu .p-menuitem-link { + padding: 0.75rem 1.25rem; + color: #495057; + border-radius: 0; + transition: box-shadow 0.2s; + user-select: none; +} + +.p-megamenu .p-menuitem-link .p-menuitem-text { + color: #495057; +} + +.p-megamenu .p-menuitem-link .p-menuitem-icon { + color: #6c757d; + margin-right: 0.5rem; +} + +.p-megamenu .p-menuitem-link .p-submenu-icon { + color: #6c757d; +} + +.p-megamenu .p-menuitem-link:not(.p-disabled):hover { + background: #e9ecef; +} + +.p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #495057; +} + +.p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #6c757d; +} + +.p-megamenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #6c757d; +} + +.p-megamenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 0 0 1px #ffd9ac; +} + +.p-megamenu .p-megamenu-panel { + background: #ffffff; + color: #495057; + border: 0 none; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); +} + +.p-megamenu .p-megamenu-submenu-header { + margin: 0; + padding: 0.75rem 1.25rem; + color: #343a40; + background: #ffffff; + font-weight: 700; + border-top-right-radius: 6px; + border-top-left-radius: 6px; +} + +.p-megamenu .p-megamenu-submenu { + padding: 0.25rem 0; + width: 12.5rem; +} + +.p-megamenu .p-megamenu-submenu .p-menu-separator { + border-top: 1px solid #dee2e6; + margin: 0.25rem 0; +} + +.p-megamenu .p-menuitem.p-menuitem-active>.p-menuitem-link { + background: #EEF2FF; +} + +.p-megamenu .p-menuitem.p-menuitem-active>.p-menuitem-link .p-menuitem-text { + color: #C08135; +} + +.p-megamenu .p-menuitem.p-menuitem-active>.p-menuitem-link .p-menuitem-icon, +.p-megamenu .p-menuitem.p-menuitem-active>.p-menuitem-link .p-submenu-icon { + color: #C08135; +} + +.p-megamenu.p-megamenu-vertical { + width: 12.5rem; + padding: 0.25rem 0; +} + +.p-menu { + padding: 0.25rem 0; + background: #ffffff; + color: #495057; + border: 1px solid #dee2e6; + border-radius: 6px; + width: 12.5rem; +} + +.p-menu .p-menuitem-link { + padding: 0.75rem 1.25rem; + color: #495057; + border-radius: 0; + transition: box-shadow 0.2s; + user-select: none; +} + +.p-menu .p-menuitem-link .p-menuitem-text { + color: #495057; +} + +.p-menu .p-menuitem-link .p-menuitem-icon { + color: #6c757d; + margin-right: 0.5rem; +} + +.p-menu .p-menuitem-link .p-submenu-icon { + color: #6c757d; +} + +.p-menu .p-menuitem-link:not(.p-disabled):hover { + background: #e9ecef; +} + +.p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #495057; +} + +.p-menu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #6c757d; +} + +.p-menu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #6c757d; +} + +.p-menu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 0 0 1px #ffd9ac; +} + +.p-menu.p-menu-overlay { + background: #ffffff; + border: 0 none; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); +} + +.p-menu .p-submenu-header { + margin: 0; + padding: 0.75rem 1.25rem; + color: #343a40; + background: #ffffff; + font-weight: 700; + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.p-menu .p-menu-separator { + border-top: 1px solid #dee2e6; + margin: 0.25rem 0; +} + +.p-menubar { + padding: 0.5rem; + background: #f8f9fa; + color: #495057; + border: 1px solid #dee2e6; + border-radius: 6px; +} + +.p-menubar .p-menuitem-link { + padding: 0.75rem 1.25rem; + color: #495057; + border-radius: 0; + transition: box-shadow 0.2s; + user-select: none; +} + +.p-menubar .p-menuitem-link .p-menuitem-text { + color: #495057; +} + +.p-menubar .p-menuitem-link .p-menuitem-icon { + color: #6c757d; + margin-right: 0.5rem; +} + +.p-menubar .p-menuitem-link .p-submenu-icon { + color: #6c757d; +} + +.p-menubar .p-menuitem-link:not(.p-disabled):hover { + background: #e9ecef; +} + +.p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #495057; +} + +.p-menubar .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #6c757d; +} + +.p-menubar .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #6c757d; +} + +.p-menubar .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 0 0 1px #ffd9ac; +} + +.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link { + padding: 0.75rem 1.25rem; + color: #495057; + border-radius: 6px; + transition: box-shadow 0.2s; + user-select: none; +} + +.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link .p-menuitem-text { + color: #495057; +} + +.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link .p-menuitem-icon { + color: #6c757d; + margin-right: 0.5rem; +} + +.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link .p-submenu-icon { + color: #6c757d; + margin-left: 0.5rem; +} + +.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link:not(.p-disabled):hover { + background: #e9ecef; +} + +.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #495057; +} + +.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #6c757d; +} + +.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #6c757d; +} + +.p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 0 0 1px #ffd9ac; +} + +.p-menubar .p-menubar-root-list>.p-menuitem.p-menuitem-active>.p-menuitem-link, +.p-menubar .p-menubar-root-list>.p-menuitem.p-menuitem-active>.p-menuitem-link:not(.p-disabled):hover { + background: #EEF2FF; +} + +.p-menubar .p-menubar-root-list>.p-menuitem.p-menuitem-active>.p-menuitem-link .p-menuitem-text, +.p-menubar .p-menubar-root-list>.p-menuitem.p-menuitem-active>.p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #C08135; +} + +.p-menubar .p-menubar-root-list>.p-menuitem.p-menuitem-active>.p-menuitem-link .p-menuitem-icon, +.p-menubar .p-menubar-root-list>.p-menuitem.p-menuitem-active>.p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #C08135; +} + +.p-menubar .p-menubar-root-list>.p-menuitem.p-menuitem-active>.p-menuitem-link .p-submenu-icon, +.p-menubar .p-menubar-root-list>.p-menuitem.p-menuitem-active>.p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #C08135; +} + +.p-menubar .p-submenu-list { + padding: 0.25rem 0; + background: #ffffff; + border: 0 none; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); + width: 12.5rem; +} + +.p-menubar .p-submenu-list .p-menu-separator { + border-top: 1px solid #dee2e6; + margin: 0.25rem 0; +} + +.p-menubar .p-submenu-list .p-submenu-icon { + font-size: 0.875rem; +} + +.p-menubar .p-menuitem.p-menuitem-active>.p-menuitem-link { + background: #EEF2FF; +} + +.p-menubar .p-menuitem.p-menuitem-active>.p-menuitem-link .p-menuitem-text { + color: #C08135; +} + +.p-menubar .p-menuitem.p-menuitem-active>.p-menuitem-link .p-menuitem-icon, +.p-menubar .p-menuitem.p-menuitem-active>.p-menuitem-link .p-submenu-icon { + color: #C08135; +} + +@media screen and (max-width: 960px) { + .p-menubar { + position: relative; + } + + .p-menubar .p-menubar-button { + display: flex; + width: 2rem; + height: 2rem; + color: #6c757d; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + } + + .p-menubar .p-menubar-button:hover { + color: #6c757d; + background: #e9ecef; + } + + .p-menubar .p-menubar-button:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; + } + + .p-menubar .p-menubar-root-list { + position: absolute; + display: none; + padding: 0.25rem 0; + background: #ffffff; + border: 0 none; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); + width: 100%; + } + + .p-menubar .p-menubar-root-list .p-menu-separator { + border-top: 1px solid #dee2e6; + margin: 0.25rem 0; + } + + .p-menubar .p-menubar-root-list .p-submenu-icon { + font-size: 0.875rem; + } + + .p-menubar .p-menubar-root-list>.p-menuitem { + width: 100%; + position: static; + } + + .p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link { + padding: 0.75rem 1.25rem; + color: #495057; + border-radius: 0; + transition: box-shadow 0.2s; + user-select: none; + } + + .p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link .p-menuitem-text { + color: #495057; + } + + .p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link .p-menuitem-icon { + color: #6c757d; + margin-right: 0.5rem; + } + + .p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link .p-submenu-icon { + color: #6c757d; + } + + .p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link:not(.p-disabled):hover { + background: #e9ecef; + } + + .p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #495057; + } + + .p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #6c757d; + } + + .p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #6c757d; + } + + .p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 0 0 1px #ffd9ac; + } + + .p-menubar .p-menubar-root-list>.p-menuitem>.p-menuitem-link>.p-submenu-icon { + margin-left: auto; + transition: transform 0.2s; + } + + .p-menubar .p-menubar-root-list>.p-menuitem.p-menuitem-active>.p-menuitem-link>.p-submenu-icon { + transform: rotate(-180deg); + } + + .p-menubar .p-menubar-root-list .p-submenu-list { + width: 100%; + position: static; + box-shadow: none; + border: 0 none; + } + + .p-menubar .p-menubar-root-list .p-submenu-list .p-submenu-icon { + transition: transform 0.2s; + transform: rotate(90deg); + } + + .p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem-active>.p-menuitem-link>.p-submenu-icon { + transform: rotate(-90deg); + } + + .p-menubar .p-menubar-root-list .p-menuitem { + width: 100%; + position: static; + } + + .p-menubar .p-menubar-root-list ul li a { + padding-left: 2.25rem; + } + + .p-menubar .p-menubar-root-list ul li ul li a { + padding-left: 3.75rem; + } + + .p-menubar .p-menubar-root-list ul li ul li ul li a { + padding-left: 5.25rem; + } + + .p-menubar .p-menubar-root-list ul li ul li ul li ul li a { + padding-left: 6.75rem; + } + + .p-menubar .p-menubar-root-list ul li ul li ul li ul li ul li a { + padding-left: 8.25rem; + } + + .p-menubar.p-menubar-mobile-active .p-menubar-root-list { + display: flex; + flex-direction: column; + top: 100%; + left: 0; + z-index: 1; + } +} + +.p-panelmenu .p-panelmenu-header>a { + padding: 1.25rem; + border: 1px solid #dee2e6; + color: #6c757d; + background: #f8f9fa; + font-weight: 700; + border-radius: 6px; + transition: box-shadow 0.2s; +} + +.p-panelmenu .p-panelmenu-header>a .p-panelmenu-icon { + margin-right: 0.5rem; +} + +.p-panelmenu .p-panelmenu-header>a .p-menuitem-icon { + margin-right: 0.5rem; +} + +.p-panelmenu .p-panelmenu-header>a:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled)>a:hover { + background: #e9ecef; + border-color: #dee2e6; + color: #343a40; +} + +.p-panelmenu .p-panelmenu-header.p-highlight { + margin-bottom: 0; +} + +.p-panelmenu .p-panelmenu-header.p-highlight>a { + background: #f8f9fa; + border-color: #dee2e6; + color: #343a40; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.p-panelmenu .p-panelmenu-header.p-highlight:not(.p-disabled)>a:hover { + border-color: #dee2e6; + background: #e9ecef; + color: #343a40; +} + +.p-panelmenu .p-panelmenu-content { + padding: 0.25rem 0; + border: 1px solid #dee2e6; + background: #ffffff; + color: #495057; + margin-bottom: 4px; + border-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 6px; + border-bottom-left-radius: 6px; +} + +.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link { + padding: 0.75rem 1.25rem; + color: #495057; + border-radius: 0; + transition: box-shadow 0.2s; + user-select: none; +} + +.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-text { + color: #495057; +} + +.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-menuitem-icon { + color: #6c757d; + margin-right: 0.5rem; +} + +.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-submenu-icon { + color: #6c757d; +} + +.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover { + background: #e9ecef; +} + +.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #495057; +} + +.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #6c757d; +} + +.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #6c757d; +} + +.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 0 0 1px #ffd9ac; +} + +.p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-link .p-panelmenu-icon { + margin-right: 0.5rem; +} + +.p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-submenu) { + padding: 0 0 0 1rem; +} + +.p-panelmenu .p-panelmenu-panel { + margin-bottom: 4px; +} + +.p-slidemenu { + padding: 0.25rem 0; + background: #ffffff; + color: #495057; + border: 1px solid #dee2e6; + border-radius: 6px; + width: 12.5rem; +} + +.p-slidemenu .p-menuitem-link { + padding: 0.75rem 1.25rem; + color: #495057; + border-radius: 0; + transition: box-shadow 0.2s; + user-select: none; +} + +.p-slidemenu .p-menuitem-link .p-menuitem-text { + color: #495057; +} + +.p-slidemenu .p-menuitem-link .p-menuitem-icon { + color: #6c757d; + margin-right: 0.5rem; +} + +.p-slidemenu .p-menuitem-link .p-submenu-icon { + color: #6c757d; +} + +.p-slidemenu .p-menuitem-link:not(.p-disabled):hover { + background: #e9ecef; +} + +.p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #495057; +} + +.p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #6c757d; +} + +.p-slidemenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #6c757d; +} + +.p-slidemenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 0 0 1px #ffd9ac; +} + +.p-slidemenu.p-slidemenu-overlay { + background: #ffffff; + border: 0 none; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); +} + +.p-slidemenu .p-slidemenu-list { + padding: 0.25rem 0; + background: #ffffff; + border: 0 none; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); +} + +.p-slidemenu .p-slidemenu.p-slidemenu-active>.p-slidemenu-link { + background: #EEF2FF; +} + +.p-slidemenu .p-slidemenu.p-slidemenu-active>.p-slidemenu-link .p-slidemenu-text { + color: #C08135; +} + +.p-slidemenu .p-slidemenu.p-slidemenu-active>.p-slidemenu-link .p-slidemenu-icon, +.p-slidemenu .p-slidemenu.p-slidemenu-active>.p-slidemenu-link .p-slidemenu-icon { + color: #C08135; +} + +.p-slidemenu .p-slidemenu-separator { + border-top: 1px solid #dee2e6; + margin: 0.25rem 0; +} + +.p-slidemenu .p-slidemenu-icon { + font-size: 0.875rem; +} + +.p-slidemenu .p-slidemenu-backward { + padding: 0.75rem 1.25rem; + color: #495057; +} + +.p-steps .p-steps-item .p-menuitem-link { + background: transparent; + transition: box-shadow 0.2s; + border-radius: 6px; + background: #ffffff; +} + +.p-steps .p-steps-item .p-menuitem-link .p-steps-number { + color: #495057; + border: 1px solid #e9ecef; + background: #ffffff; + min-width: 2rem; + height: 2rem; + line-height: 2rem; + font-size: 1.143rem; + z-index: 1; + border-radius: 50%; +} + +.p-steps .p-steps-item .p-menuitem-link .p-steps-title { + margin-top: 0.5rem; + color: #6c757d; +} + +.p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-steps .p-steps-item.p-highlight .p-steps-number { + background: #EEF2FF; + color: #C08135; +} + +.p-steps .p-steps-item.p-highlight .p-steps-title { + font-weight: 700; + color: #495057; +} + +.p-steps .p-steps-item:before { + content: " "; + border-top: 1px solid #dee2e6; + width: 100%; + top: 50%; + left: 0; + display: block; + position: absolute; + margin-top: -1rem; +} + +.p-tabmenu .p-tabmenu-nav { + background: #ffffff; + border: 1px solid #dee2e6; + border-width: 0 0 2px 0; +} + +.p-tabmenu .p-tabmenu-nav .p-tabmenuitem { + margin-right: 0; +} + +.p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link { + border: solid #dee2e6; + border-width: 0 0 2px 0; + border-color: transparent transparent #dee2e6 transparent; + background: #ffffff; + color: #6c757d; + padding: 1.25rem; + font-weight: 700; + border-top-right-radius: 6px; + border-top-left-radius: 6px; + transition: box-shadow 0.2s; + margin: 0 0 -2px 0; +} + +.p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon { + margin-right: 0.5rem; +} + +.p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 0 0 0.2rem #ffd9ac; +} + +.p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link { + background: #ffffff; + border-color: #adb5bd; + color: #6c757d; +} + +.p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link { + background: #ffffff; + border-color: #D7A86E; + color: #D7A86E; +} + +.p-tieredmenu { + padding: 0.25rem 0; + background: #ffffff; + color: #495057; + border: 1px solid #dee2e6; + border-radius: 6px; + width: 12.5rem; +} + +.p-tieredmenu .p-menuitem-link { + padding: 0.75rem 1.25rem; + color: #495057; + border-radius: 0; + transition: box-shadow 0.2s; + user-select: none; +} + +.p-tieredmenu .p-menuitem-link .p-menuitem-text { + color: #495057; +} + +.p-tieredmenu .p-menuitem-link .p-menuitem-icon { + color: #6c757d; + margin-right: 0.5rem; +} + +.p-tieredmenu .p-menuitem-link .p-submenu-icon { + color: #6c757d; +} + +.p-tieredmenu .p-menuitem-link:not(.p-disabled):hover { + background: #e9ecef; +} + +.p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-text { + color: #495057; +} + +.p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-menuitem-icon { + color: #6c757d; +} + +.p-tieredmenu .p-menuitem-link:not(.p-disabled):hover .p-submenu-icon { + color: #6c757d; +} + +.p-tieredmenu .p-menuitem-link:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: inset 0 0 0 1px #ffd9ac; +} + +.p-tieredmenu.p-tieredmenu-overlay { + background: #ffffff; + border: 0 none; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); +} + +.p-tieredmenu .p-submenu-list { + padding: 0.25rem 0; + background: #ffffff; + border: 0 none; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); +} + +.p-tieredmenu .p-menuitem.p-menuitem-active>.p-menuitem-link { + background: #EEF2FF; +} + +.p-tieredmenu .p-menuitem.p-menuitem-active>.p-menuitem-link .p-menuitem-text { + color: #C08135; +} + +.p-tieredmenu .p-menuitem.p-menuitem-active>.p-menuitem-link .p-menuitem-icon, +.p-tieredmenu .p-menuitem.p-menuitem-active>.p-menuitem-link .p-submenu-icon { + color: #C08135; +} + +.p-tieredmenu .p-menu-separator { + border-top: 1px solid #dee2e6; + margin: 0.25rem 0; +} + +.p-tieredmenu .p-submenu-icon { + font-size: 0.875rem; +} + +.p-inline-message { + padding: 0.75rem 0.75rem; + margin: 0; + border-radius: 6px; +} + +.p-inline-message.p-inline-message-info { + background: #e9e9ff; + border: solid #696cff; + border-width: 0px; + color: #696cff; +} + +.p-inline-message.p-inline-message-info .p-inline-message-icon { + color: #696cff; +} + +.p-inline-message.p-inline-message-success { + background: #e4f8f0; + border: solid #1ea97c; + border-width: 0px; + color: #1ea97c; +} + +.p-inline-message.p-inline-message-success .p-inline-message-icon { + color: #1ea97c; +} + +.p-inline-message.p-inline-message-warn { + background: #fff2e2; + border: solid #cc8925; + border-width: 0px; + color: #cc8925; +} + +.p-inline-message.p-inline-message-warn .p-inline-message-icon { + color: #cc8925; +} + +.p-inline-message.p-inline-message-error { + background: #ffe7e6; + border: solid #ff5757; + border-width: 0px; + color: #ff5757; +} + +.p-inline-message.p-inline-message-error .p-inline-message-icon { + color: #ff5757; +} + +.p-inline-message .p-inline-message-icon { + font-size: 1rem; + margin-right: 0.5rem; +} + +.p-inline-message .p-inline-message-text { + font-size: 1rem; +} + +.p-inline-message.p-inline-message-icon-only .p-inline-message-icon { + margin-right: 0; +} + +.p-message { + margin: 1rem 0; + border-radius: 6px; +} + +.p-message .p-message-wrapper { + padding: 1.25rem 1.75rem; +} + +.p-message .p-message-close { + width: 2rem; + height: 2rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; +} + +.p-message .p-message-close:hover { + background: rgba(255, 255, 255, 0.3); +} + +.p-message .p-message-close:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-message.p-message-info { + background: #e9e9ff; + border: solid #696cff; + border-width: 0 0 0 6px; + color: #696cff; +} + +.p-message.p-message-info .p-message-icon { + color: #696cff; +} + +.p-message.p-message-info .p-message-close { + color: #696cff; +} + +.p-message.p-message-success { + background: #e4f8f0; + border: solid #1ea97c; + border-width: 0 0 0 6px; + color: #1ea97c; +} + +.p-message.p-message-success .p-message-icon { + color: #1ea97c; +} + +.p-message.p-message-success .p-message-close { + color: #1ea97c; +} + +.p-message.p-message-warn { + background: #fff2e2; + border: solid #cc8925; + border-width: 0 0 0 6px; + color: #cc8925; +} + +.p-message.p-message-warn .p-message-icon { + color: #cc8925; +} + +.p-message.p-message-warn .p-message-close { + color: #cc8925; +} + +.p-message.p-message-error { + background: #ffe7e6; + border: solid #ff5757; + border-width: 0 0 0 6px; + color: #ff5757; +} + +.p-message.p-message-error .p-message-icon { + color: #ff5757; +} + +.p-message.p-message-error .p-message-close { + color: #ff5757; +} + +.p-message .p-message-text { + font-size: 1rem; + font-weight: 400; +} + +.p-message .p-message-icon { + font-size: 1.5rem; + margin-right: 0.5rem; +} + +.p-toast { + opacity: 0.9; +} + +.p-toast .p-toast-message { + margin: 0 0 1rem 0; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); + border-radius: 6px; +} + +.p-toast .p-toast-message .p-toast-message-content { + padding: 1rem; + border-width: 0 0 0 6px; +} + +.p-toast .p-toast-message .p-toast-message-content .p-toast-message-text { + margin: 0 0 0 1rem; +} + +.p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon { + font-size: 2rem; +} + +.p-toast .p-toast-message .p-toast-message-content .p-toast-summary { + font-weight: 700; +} + +.p-toast .p-toast-message .p-toast-message-content .p-toast-detail { + margin: 0.5rem 0 0 0; +} + +.p-toast .p-toast-message .p-toast-icon-close { + width: 2rem; + height: 2rem; + border-radius: 50%; + background: transparent; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; +} + +.p-toast .p-toast-message .p-toast-icon-close:hover { + background: rgba(255, 255, 255, 0.3); +} + +.p-toast .p-toast-message .p-toast-icon-close:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-toast .p-toast-message.p-toast-message-info { + background: #e9e9ff; + border: solid #696cff; + border-width: 0 0 0 6px; + color: #696cff; +} + +.p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close { + color: #696cff; +} + +.p-toast .p-toast-message.p-toast-message-success { + background: #e4f8f0; + border: solid #1ea97c; + border-width: 0 0 0 6px; + color: #1ea97c; +} + +.p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close { + color: #1ea97c; +} + +.p-toast .p-toast-message.p-toast-message-warn { + background: #fff2e2; + border: solid #cc8925; + border-width: 0 0 0 6px; + color: #cc8925; +} + +.p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close { + color: #cc8925; +} + +.p-toast .p-toast-message.p-toast-message-error { + background: #ffe7e6; + border: solid #ff5757; + border-width: 0 0 0 6px; + color: #ff5757; +} + +.p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon, +.p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close { + color: #ff5757; +} + +.p-galleria .p-galleria-close { + margin: 0.5rem; + background: transparent; + color: #f8f9fa; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; +} + +.p-galleria .p-galleria-close .p-galleria-close-icon { + font-size: 2rem; +} + +.p-galleria .p-galleria-close:hover { + background: rgba(255, 255, 255, 0.1); + color: #f8f9fa; +} + +.p-galleria .p-galleria-item-nav { + background: transparent; + color: #f8f9fa; + width: 4rem; + height: 4rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 6px; + margin: 0 0.5rem; +} + +.p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon, +.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon { + font-size: 2rem; +} + +.p-galleria .p-galleria-item-nav:not(.p-disabled):hover { + background: rgba(255, 255, 255, 0.1); + color: #f8f9fa; +} + +.p-galleria .p-galleria-caption { + background: rgba(0, 0, 0, 0.5); + color: #f8f9fa; + padding: 1rem; +} + +.p-galleria .p-galleria-indicators { + padding: 1rem; +} + +.p-galleria .p-galleria-indicators .p-galleria-indicator button { + background-color: #ced4da; + width: 1rem; + height: 1rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; +} + +.p-galleria .p-galleria-indicators .p-galleria-indicator button:hover { + background: #adb5bd; +} + +.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: #EEF2FF; + color: #C08135; +} + +.p-galleria.p-galleria-indicators-bottom .p-galleria-indicator, +.p-galleria.p-galleria-indicators-top .p-galleria-indicator { + margin-right: 0.5rem; +} + +.p-galleria.p-galleria-indicators-left .p-galleria-indicator, +.p-galleria.p-galleria-indicators-right .p-galleria-indicator { + margin-bottom: 0.5rem; +} + +.p-galleria.p-galleria-indicator-onitem .p-galleria-indicators { + background: rgba(0, 0, 0, 0.5); +} + +.p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button { + background: rgba(255, 255, 255, 0.4); +} + +.p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover { + background: rgba(255, 255, 255, 0.6); +} + +.p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background: #EEF2FF; + color: #C08135; +} + +.p-galleria .p-galleria-thumbnail-container { + background: rgba(0, 0, 0, 0.9); + padding: 1rem 0.25rem; +} + +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next { + margin: 0.5rem; + background-color: transparent; + color: #f8f9fa; + width: 2rem; + height: 2rem; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + border-radius: 50%; +} + +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover, +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover { + background: rgba(255, 255, 255, 0.1); + color: #f8f9fa; +} + +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content { + transition: box-shadow 0.2s; +} + +.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-galleria-mask { + --maskbg: rgba(0, 0, 0, 0.9); +} + +.p-image-mask { + --maskbg: rgba(0, 0, 0, 0.9); +} + +.p-image-preview-indicator { + background-color: transparent; + color: #f8f9fa; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; +} + +.p-image-preview-container:hover>.p-image-preview-indicator { + background-color: rgba(0, 0, 0, 0.5); +} + +.p-image-toolbar { + padding: 1rem; +} + +.p-image-action.p-link { + color: #f8f9fa; + background-color: transparent; + width: 3rem; + height: 3rem; + border-radius: 50%; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-right: 0.5rem; +} + +.p-image-action.p-link:last-child { + margin-right: 0; +} + +.p-image-action.p-link:hover { + color: #f8f9fa; + background-color: rgba(255, 255, 255, 0.1); +} + +.p-image-action.p-link i { + font-size: 1.5rem; +} + +.p-avatar { + background-color: #dee2e6; + border-radius: 6px; +} + +.p-avatar.p-avatar-lg { + width: 3rem; + height: 3rem; + font-size: 1.5rem; +} + +.p-avatar.p-avatar-lg .p-avatar-icon { + font-size: 1.5rem; +} + +.p-avatar.p-avatar-xl { + width: 4rem; + height: 4rem; + font-size: 2rem; +} + +.p-avatar.p-avatar-xl .p-avatar-icon { + font-size: 2rem; +} + +.p-avatar-group .p-avatar { + border: 2px solid #ffffff; +} + +.p-chip { + background-color: #dee2e6; + color: #495057; + border-radius: 16px; + padding: 0 0.75rem; +} + +.p-chip .p-chip-text { + line-height: 1.5; + margin-top: 0.375rem; + margin-bottom: 0.375rem; +} + +.p-chip .p-chip-icon { + margin-right: 0.5rem; +} + +.p-chip img { + width: 2.25rem; + height: 2.25rem; + margin-left: -0.75rem; + margin-right: 0.5rem; +} + +.p-chip .p-chip-remove-icon { + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; + margin-left: 0.5rem; +} + +.p-chip .p-chip-remove-icon:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-scrolltop { + width: 3rem; + height: 3rem; + border-radius: 50%; + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); + transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; +} + +.p-scrolltop.p-link { + background: rgba(0, 0, 0, 0.7); +} + +.p-scrolltop.p-link:hover { + background: rgba(0, 0, 0, 0.8); +} + +.p-scrolltop .p-scrolltop-icon { + font-size: 1.5rem; + color: #f8f9fa; +} + +.p-skeleton { + background-color: #dee2e6; + border-radius: 6px; +} + +.p-skeleton:after { + background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0)); +} + +.p-tag { + background: #D7A86E; + color: #ffffff; + font-size: 0.75rem; + font-weight: 700; + padding: 0.25rem 0.4rem; + border-radius: 6px; +} + +.p-tag.p-tag-success { + background-color: #22C55E; + color: #ffffff; +} + +.p-tag.p-tag-info { + background-color: #3B82F6; + color: #ffffff; +} + +.p-tag.p-tag-warning { + background-color: #F59E0B; + color: #ffffff; +} + +.p-tag.p-tag-danger { + background-color: #EF4444; + color: #ffffff; +} + +.p-tag .p-tag-icon { + margin-right: 0.25rem; + font-size: 0.75rem; +} + +.p-inplace .p-inplace-display { + padding: 0.75rem 0.75rem; + border-radius: 6px; + transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-inplace .p-inplace-display:not(.p-disabled):hover { + background: #e9ecef; + color: #495057; +} + +.p-inplace .p-inplace-display:focus { + outline: 0 none; + outline-offset: 0; + box-shadow: 0 0 0 0.2rem #ffd9ac; +} + +.p-progressbar { + border: 0 none; + height: 1.5rem; + background: #dee2e6; + border-radius: 6px; +} + +.p-progressbar .p-progressbar-value { + border: 0 none; + margin: 0; + background: #D7A86E; +} + +.p-progressbar .p-progressbar-label { + color: #495057; + line-height: 1.5rem; +} + +.p-terminal { + background: #ffffff; + color: #495057; + border: 1px solid #dee2e6; + padding: 1.25rem; +} + +.p-terminal .p-terminal-input { + font-size: 1rem; + font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; +} + +.p-badge { + background: #D7A86E; + color: #ffffff; + font-size: 0.75rem; + font-weight: 700; + min-width: 1.5rem; + height: 1.5rem; + line-height: 1.5rem; +} + +.p-badge.p-badge-secondary { + background-color: #64748B; + color: #ffffff; +} + +.p-badge.p-badge-success { + background-color: #22C55E; + color: #ffffff; +} + +.p-badge.p-badge-info { + background-color: #3B82F6; + color: #ffffff; +} + +.p-badge.p-badge-warning { + background-color: #F59E0B; + color: #ffffff; +} + +.p-badge.p-badge-danger { + background-color: #EF4444; + color: #ffffff; +} + +.p-badge.p-badge-lg { + font-size: 1.125rem; + min-width: 2.25rem; + height: 2.25rem; + line-height: 2.25rem; +} + +.p-badge.p-badge-xl { + font-size: 1.5rem; + min-width: 3rem; + height: 3rem; + line-height: 3rem; +} + +.p-tag { + background: #D7A86E; + color: #ffffff; + font-size: 0.75rem; + font-weight: 700; + padding: 0.25rem 0.4rem; + border-radius: 6px; +} + +.p-tag.p-tag-success { + background-color: #22C55E; + color: #ffffff; +} + +.p-tag.p-tag-info { + background-color: #3B82F6; + color: #ffffff; +} + +.p-tag.p-tag-warning { + background-color: #F59E0B; + color: #ffffff; +} + +.p-tag.p-tag-danger { + background-color: #EF4444; + color: #ffffff; +} + +.p-virtualscroller-loading-icon { + font-size: 2rem; +} + +.p-button-label { + font-weight: 700; +} + +.p-accordion .p-accordion-header .p-accordion-header-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-tabview .p-tabview-nav li .p-tabview-nav-link { + transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; +} + +.p-tabview .p-tabview-nav .p-tabview-ink-bar { + z-index: 1; + display: block; + position: absolute; + bottom: 0; + height: 2px; + background-color: #D7A86E; + transition: 500ms cubic-bezier(0.35, 0, 0.25, 1); +} + +.p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button { + background-color: #D7A86E; +} + +.p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button { + background-color: #D7A86E; +} + +.p-button:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #b1b3f8, 0 1px 2px 0 black; +} + +.p-button.p-button-secondary:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #b0b9c6, 0 1px 2px 0 black; +} + +.p-button.p-button-success:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #88eaac, 0 1px 2px 0 black; +} + +.p-button.p-button-info:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #9dc1fb, 0 1px 2px 0 black; +} + +.p-button.p-button-warning:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #facf85, 0 1px 2px 0 black; +} + +.p-button.p-button-help:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #d4aafb, 0 1px 2px 0 black; +} + +.p-button.p-button-danger:enabled:focus { + box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #f7a2a2, 0 1px 2px 0 black; +} \ No newline at end of file diff --git a/web-ui/web-react/public/index.html b/web-ui/web-react/public/index.html index 19890d71..72e2d161 100644 --- a/web-ui/web-react/public/index.html +++ b/web-ui/web-react/public/index.html @@ -2,14 +2,14 @@ - PrimeReact - Sakai + Katoikia - + diff --git a/web-ui/web-react/src/App.js b/web-ui/web-react/src/App.js index 2ee76365..aa1e4a1b 100644 --- a/web-ui/web-react/src/App.js +++ b/web-ui/web-react/src/App.js @@ -31,6 +31,7 @@ import IconsDemo from './templates/IconsDemo'; import AdministradoresSistema from './components/AdministradoresSistema'; import AdministradoresComunidad from './components/AdministradoresComunidad'; import GuardasSeguridad from './components/GuardasSeguridad'; +import Communities from './components/ComunidadViviendas'; import Crud from './pages/Crud'; import EmptyPage from './pages/EmptyPage'; @@ -167,6 +168,7 @@ const App = () => { {label: 'Administradores del sistema', icon: 'pi pi-fw pi-id-card', to: '/administradoresSistema'}, {label: 'Administradores de comunidad', icon: 'pi pi-fw pi-id-card', to: '/administradoresComunidad'}, {label: 'Guardas de seguridad', icon: 'pi pi-fw pi-id-card', to: '/guardasSeguridad'}, + {label: 'Comunidadades', icon: 'pi pi-fw pi-id-card', to: '/comunidadesViviendas'}, {label: 'Log in', icon: 'pi pi-fw pi-id-card', to: '/logIn'} ] }, @@ -323,6 +325,7 @@ const App = () => { + diff --git a/web-ui/web-react/src/AppConfig.js b/web-ui/web-react/src/AppConfig.js index ceb14209..bc0bdb95 100644 --- a/web-ui/web-react/src/AppConfig.js +++ b/web-ui/web-react/src/AppConfig.js @@ -2,14 +2,14 @@ import React, { useCallback, useEffect, useRef, useState } from 'react'; import { RadioButton } from 'primereact/radiobutton'; import { InputSwitch } from 'primereact/inputswitch'; import classNames from 'classnames'; -import {Button} from "primereact/button"; +import { Button } from "primereact/button"; export const AppConfig = (props) => { const [active, setActive] = useState(false); const [scale, setScale] = useState(14); - const [scales] = useState([12,13,14,15,16]); - const [theme, setTheme] = useState('lara-light-indigo'); + const [scales] = useState([12, 13, 14, 15, 16]); + const [theme, setTheme] = useState('khaki'); const config = useRef(null); let outsideClickListener = useRef(null); @@ -96,14 +96,14 @@ export const AppConfig = (props) => { } }); } - },[]) + }, []) useEffect(() => { let themeElement = document.getElementById('theme-link'); const themeHref = 'assets/themes/' + theme + '/theme.css'; replaceLink(themeElement, themeHref); - },[theme,replaceLink]) + }, [theme, replaceLink]) const isIE = () => { return /(MSIE|Trident\/|Edge\/)/i.test(window.navigator.userAgent) @@ -119,7 +119,7 @@ export const AppConfig = (props) => { -
@@ -189,22 +189,27 @@ export const AppConfig = (props) => {
+
+
+
@@ -213,22 +218,22 @@ export const AppConfig = (props) => {
@@ -237,7 +242,7 @@ export const AppConfig = (props) => {
@@ -246,51 +251,56 @@ export const AppConfig = (props) => {
PrimeOne Design - 2022
+
+ +
@@ -299,62 +309,62 @@ export const AppConfig = (props) => {
diff --git a/web-ui/web-react/src/components/ComunidadViviendas.js b/web-ui/web-react/src/components/ComunidadViviendas.js new file mode 100644 index 00000000..c1e91666 --- /dev/null +++ b/web-ui/web-react/src/components/ComunidadViviendas.js @@ -0,0 +1,346 @@ +import React, { useEffect, useState, useRef } from 'react'; +import { InputText } from 'primereact/inputtext'; +import { Button } from 'primereact/button'; +import { DataTable } from 'primereact/datatable'; +import { Column } from 'primereact/column'; +import { Dropdown } from 'primereact/dropdown'; +import { Toast } from 'primereact/toast'; +import classNames from 'classnames'; + + +const Communities = () => { + + let emptyCommunity = { + name: '', + province: provinciaId, + canton: cantonId, + district: districtId, + phone: '', + num_houses: 0, + status: 'activo', + date_entry: new Date(), + houses: [], + }; + + + const [communitiesList, setCommunitiesList] = useState([]); + const [community, setCommunity] = useState(emptyCommunity); + + const [housesList, setHousesList] = useState([]); + const [provincesList, setProvincesList] = useState([]); + const [provinciaId, setProvinciaId] = useState(null); + const [cantonsList, setCantonsList] = useState([]); + const [cantonId, setCantonId] = useState(null); + const [districtsList, setDistrictsList] = useState([]); + const [districtId, setDistrictId] = useState(null); + const [codeHouses, setCodeHouses] = useState(null); + const [submitted, setSubmitted] = useState(false); + const toast = useRef(null); + const dt = useRef(null); + + + + const p = provincesList.map((item) => ({ + label: item.name, + value: item.code + })) + + + const c = cantonsList.map((item) => ({ + label: item.name, + value: item.code, + parent: item.parentCode + })) + + const d = districtsList.map((item) => ({ + label: item.name, + value: item.code, + parent: item.parentCode + })) + + + + + + useEffect(() => { + fillProvinces(); + + }, []) + + useEffect(() => { + fillCantons(); + }, [provinciaId]) + + useEffect(() => { + fillDistricts(); + }, [cantonId]) + + async function getProvinces() { + const response = await fetch('assets/demo/data/provincias.json', { method: 'GET' }); + return await response.json(); + } + + async function fillProvinces() { + const getP = await getProvinces(); + setProvincesList(await getP); + } + + async function getCantons() { + const response = await fetch('assets/demo/data/cantones.json', { method: 'GET' }); + return await response.json(); + } + + async function fillCantons() { + const resJson = await getCantons(); + const cantones = await resJson.filter(function (i, n) { + return i.parentCode === provinciaId; + }); + setCantonsList(await cantones); + } + + async function getDistricts() { + const response = await fetch('assets/demo/data/distritos.json', { method: 'GET' }); + return await response.json(); + } + + async function fillDistricts() { + const resJson = await getDistricts(); + const districts = await resJson.filter(function (i, n) { + return i.parentCode === cantonId; + }); + setDistrictsList(await districts); + } + + const handleProvinces = (event) => { + const getprovinciaId = event.target.value; + setProvinciaId(getprovinciaId); + } + + const handleCanton = (event) => { + const getCantonId = event.target.value; + setCantonId(getCantonId); + } + + const handleDistrict = (event) => { + const getDistrictId = event.target.value; + setDistrictId(getDistrictId); + } + + + const handleCodeHouses = (event) => { + const getcodehouse = event.target.value; + setCodeHouses(getcodehouse); + } + + async function getCommunites() { + let response = await fetch('http://localhost:4000/community/allCommunities', { method: 'GET' }); + let resJson = await response.json(); + let pList = await getProvinces(); + let cList = await getCantons(); + let dList = await getDistricts(); + await resJson.message.map((item) => { + item.province = pList.find(p => p.code === item.province).name + item.canton = cList.find(p => p.code === item.canton).name + item.district = dList.find(p => p.code === item.district).name + }) + setCommunitiesList(await resJson.message); + } + + useEffect(() => { + getCommunites(); + + }, []) + + + const saveCommunity = () => { + setSubmitted(true); + + + if (community.name.trim()) { + let _communities = [...communitiesList]; + let _community = { ...community }; + _community.province = provinciaId; + _community.canton = cantonId; + _community.district = districtId; + + + + for (let i = 0; i < _community.num_houses; i++){ + _community.houses.push({ + number_house: codeHouses + (i+1), + }) + } + // console.log(houses) + fetch('http://localhost:4000/community/createCommunity', { + cache: 'no-cache', + method: 'POST', + body: JSON.stringify(_community), + headers: { + 'Content-Type': 'application/json' + } + }) + .then( + function (response) { + if (response.status != 201) + console.log('Ocurrió un error con el servicio: ' + response.status); + else + return response.json(); + } + ) + .then(() => { + + _community.province = provincesList.find(p => p.code === _community.province).name + _community.canton = cantonsList.find(p => p.code === _community.canton).name + _community.district = districtsList.find(p => p.code === _community.district).name + + _communities.push(_community); + toast.current.show({ severity: 'success', summary: 'Registro exitoso', detail: 'Comunidad de vivienda Creada', life: 3000 }); + + setCommunitiesList(_communities); + + + setProvinciaId(''); + setCantonId(''); + setDistrictId(''); + setCodeHouses(''); + + setCommunity(emptyCommunity); + }) + .catch( + err => console.log('Ocurrió un error con el fetch', err) + ); + + + } + + } + + const onInputChange = (e, name) => { + const val = (e.target && e.target.value) || ''; + let _community = { ...community }; + _community[`${name}`] = val; + + setCommunity(_community); + } + + return ( +
+
+
+
Comunidades de Viviendas
+ + + + + + + + + + +
+
+
+
+ + +
Registro de comunidad de viviendas
+
+
+ +
+
+ + + + onInputChange(e, 'name')} required autoFocus className={classNames( submitted && community.name==='' ? 'p-invalid' : '' )} /> +
+ {submitted && community.name==='' && Nombre es requirido.} +
+
+
+ +
+
+ + + + +
+ {submitted && !provinciaId && Provincia es requirido.} +
+
+
+ +
+
+ + + + +
+ {submitted && !cantonId && Cantón es requirido.} +
+
+
+ +
+
+ + + + +
+ {submitted && !districtId && Distrito es requirido.} +
+
+
+ +
+
+ + + + onInputChange(e, 'phone')} required autoFocus className={classNames({ 'p-invalid': submitted && community.phone==='' } )} /> +
+ {submitted && community.phone==='' && Número de teléfono es requirido.} +
+
+
+ +
+
+ + + + onInputChange(e, 'num_houses')} required autoFocus className={classNames({ 'p-invalid': submitted && community.num_houses < 1 } )} /> +
+ {submitted && community.num_houses < 1 && Número de viviendas es requirido y debe ser mayor que 0.} +
+
+
+ +
+
+ + + + +
+ {submitted && !codeHouses && El código para las viviendas es requirido.} +
+
+
+ + +
+
+
+
+
+ + + ) +} + +export default React.memo(Communities); \ No newline at end of file