From a4724df5ef026ea6c8fbb728e25290b07420a791 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Thu, 17 Apr 2025 12:39:28 -0300 Subject: [PATCH 001/104] add environment configuration and improve recommendation engine tests --- .gitignore | 2 +- .../adaptive-recomendation-engine.spec.ts | 353 +++++++++++------- .../engine/adaptive-recommendation-engine.ts | 174 +++++---- 3 files changed, 324 insertions(+), 205 deletions(-) diff --git a/.gitignore b/.gitignore index b6f33a0..a99e22c 100644 --- a/.gitignore +++ b/.gitignore @@ -38,7 +38,7 @@ lerna-debug.log* # dotenv environment variable files .env .env.development.local -.env.test.local +.env.test .env.production.local .env.development diff --git a/src/module/checkin/entities/engine/adaptive-recomendation-engine.spec.ts b/src/module/checkin/entities/engine/adaptive-recomendation-engine.spec.ts index 47924fc..3a5204d 100644 --- a/src/module/checkin/entities/engine/adaptive-recomendation-engine.spec.ts +++ b/src/module/checkin/entities/engine/adaptive-recomendation-engine.spec.ts @@ -1,17 +1,25 @@ import { Test, TestingModule } from '@nestjs/testing'; import { AdaptiveRecommendationEngine } from './adaptive-recommendation-engine'; import { Task } from '../../../task/entities/task.entity'; -import { User } from '../../../auth/users/user.entity'; -import { Checkin } from '../checkin.entity'; -import { UserRole } from '../../../auth/users/user.schema'; import { TimeInterval } from '../../../task/entities/time-restriction.entity'; -import { Feature } from '../../../project/dto/create-project.dto'; +import { ConfigModule } from '@nestjs/config'; +import * as process from 'node:process'; +import { User } from '../../../auth/users/user.entity'; + +// Testear el arranque en frio, cuando al persona no completo tareas con un resultado aleatorio +// Ir completando tareas y verificar que se recomiende lo indicado describe('AdaptiveRecommendationEngine', () => { let recommendationEngine: AdaptiveRecommendationEngine; beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ + imports: [ + ConfigModule.forRoot({ + isGlobal: true, + envFilePath: '.env.test', + }), + ], providers: [AdaptiveRecommendationEngine], }).compile(); @@ -24,158 +32,241 @@ describe('AdaptiveRecommendationEngine', () => { expect(recommendationEngine).toBeDefined(); }); - describe('calculateUserSimilarity', () => { - it('should return a similarity score based on check-ins', () => { - const task = createTestTask('task1'); - const userA = createTestUser('1', [createTestCheckin('checkin1', task)]); - const userB = createTestUser('2', [createTestCheckin('checkin2', task)]); + /* + * Task similarity tests + */ + + describe('calculateTaskSimilarity', () => { + it('should return 1 for identical tasks', () => { + const task = createTask('task1', 'area1', 'morning', 'type1'); + expect(recommendationEngine['calculateTaskSimilarity'](task, task)).toBe( + 1, + ); + }); + + it('should return 0 for completely different tasks', () => { + const task = createTask('task1', 'area1', 'morning', 'type1'); + const task2 = createTask('task2', 'area2', 'afternoon', 'type2'); + expect(recommendationEngine['calculateTaskSimilarity'](task, task2)).toBe( + 0, + ); + }); + + it('should return a similarity score between 0 and 1', () => { + const task1 = createTask('task1', 'area1', 'morning', 'type1'); + const task2 = createTask('task2', 'area1', 'afternoon', 'type2'); + const similarity = recommendationEngine['calculateTaskSimilarity']( + task1, + task2, + ); + expect(similarity).toBeGreaterThan(0.33); + expect(similarity).toBeLessThan(0.34); + }); + }); + + /* + * getMostSimilarTasks tests + */ - const similarity = recommendationEngine['calculateUserSimilarity']( - userA, - userB, + describe('getMostSimilarTasks', () => { + it('should return K tasks', () => { + const targetTask = createTask('target', 'area1', 'morning', 'type1'); + const allTasks = [ + createTask('task1', 'area1', 'morning', 'type1'), + createTask('task2', 'area2', 'afternoon', 'type2'), + createTask('task3', 'area1', 'evening', 'type1'), + createTask('task4', 'area1', 'evening', 'type5'), + ]; + const similarTasks = recommendationEngine['getMostSimilarTasks']( + targetTask, + allTasks, ); - expect(similarity).toBe(3); + expect(similarTasks.length).toBeLessThanOrEqual(Number(process.env.K)); }); }); - describe('predictTaskScore', () => { - it('should return zero score for users with no tasks in common', () => { - const targetUser = createTestUser('1', []); - const task = createTestTask('task1'); - const relatedUser = createTestUser( - '2', + /* + * estimateTaskRating tests + */ + describe('estimateTaskRating', () => { + it('should return 0 if no similar tasks have ratings', () => { + const estimatedRating = recommendationEngine['estimateTaskRating']( [], - [ - { - score: 5, - checkinId: 'checkin1', - taskId: 'task1', - }, - ], + {}, ); - const allUsers = [relatedUser]; + expect(estimatedRating).toBe(0); + }); - const predictedScore = recommendationEngine['predictTaskScore']( - targetUser, - task, - allUsers, + it('should return a weighted average rating', () => { + const similarTasks = [ + { + task: createTask('task2', 'area1', 'morning', 'type1'), + similarity: 0.8, + }, + { + task: createTask('task3', 'area1', 'morning', 'type1'), + similarity: 0.6, + }, + ]; + const ratings = { task2: 5, task3: 3 }; + const estimatedRating = recommendationEngine['estimateTaskRating']( + similarTasks, + ratings, ); - expect(predictedScore).toBe(0); + expect(estimatedRating).toBeGreaterThan(0.828571); + expect(estimatedRating).toBeLessThan(0.828572); }); - }); - describe('generateRecommendations', () => { - it('should return a sorted list of recommended tasks', () => { - const targetUser = createTestUser('1', []); - const task1 = createTestTask('task1'); - const task2 = createTestTask( - 'task2', - 'afternoon', - { start: 12, end: 18 }, + it('should return a value between 0 and 1', () => { + const similarTasks = [ { - id: 'area2', - coordinates: [ - [ - [2, 2], - [3, 3], - [3, 2], - [2, 2], - ], - ], + task: createTask('task4', 'area3', 'morning', 'type4'), + similarity: 0.7, }, - 'type2', + { + task: createTask('task5', 'area3', 'morning', 'type4'), + similarity: 0.5, + }, + ]; + const ratings = { task4: 2, task5: 4 }; + const estimatedRating = recommendationEngine['estimateTaskRating']( + similarTasks, + ratings, ); - const tasks = [task1, task2]; - const allUsers: User[] = []; + expect(estimatedRating).toBeGreaterThanOrEqual(0); + expect(estimatedRating).toBeLessThanOrEqual(1); + }); + }); + + /* + * generateRecommendations tests + */ + describe('generateRecommendations', () => { + const user = { + contributions: ['task1', 'task2'], // IDs de tareas completadas + } as unknown as User; + + it('should return an empty list if no tasks are available', () => { const recommendations = recommendationEngine.generateRecommendations( - targetUser, - tasks, - allUsers, + user, + {}, + [], ); - expect(recommendations).toBeInstanceOf(Array); - expect(recommendations.length).toBe(2); - expect(recommendations[0].predictedScore).toBeGreaterThanOrEqual( - recommendations[1].predictedScore, + expect(recommendations).toEqual([]); + }); + + it('should generate ordered task recommendations', () => { + const completedTasksRatings = { task1: 5, task2: 3 }; + const allTasks = [ + createTask('task1', 'area1', 'morning', 'type1'), + createTask('task3', 'area2', 'afternoon', 'type2'), + ]; + const recommendations = recommendationEngine.generateRecommendations( + user, + completedTasksRatings, + allTasks, + ); + expect(recommendations.length).toBeGreaterThan(0); + expect(recommendations[0].estimatedRating).toBeGreaterThanOrEqual( + recommendations[1]?.estimatedRating ?? 0, + ); + recommendations.forEach((rec) => { + expect(rec.estimatedRating).toBeGreaterThanOrEqual(0); + expect(rec.estimatedRating).toBeLessThanOrEqual(1); + }); + }); + + /* + * cold start tests + */ + it('should handle cold start by assigning default or random ratings', () => { + const coldUser = { + contributions: [], + } as unknown as User; + + const allTasks = [ + createTask('task1', 'area1', 'morning', 'type1'), + createTask('task2', 'area2', 'afternoon', 'type2'), + createTask('task3', 'area1', 'evening', 'type1'), + ]; + + const recommendations = recommendationEngine.generateRecommendations( + coldUser, + {}, + allTasks, ); + + expect(recommendations.length).toBeGreaterThan(0); + recommendations.forEach((rec) => { + expect(rec.estimatedRating).toBeGreaterThanOrEqual(0); + expect(rec.estimatedRating).toBeLessThanOrEqual(1); + }); + }); + + it('should improve recommendations as more tasks are completed', () => { + const progressingUser = { + contributions: ['task1'], + } as unknown as User; + + const completedTasksRatings = { task1: 5 }; + const allTasks = [ + createTask('task1', 'area1', 'morning', 'type1'), + createTask('task2', 'area1', 'morning', 'type1'), + createTask('task3', 'area2', 'evening', 'type3'), + ]; + + const recommendations = recommendationEngine.generateRecommendations( + progressingUser, + completedTasksRatings, + allTasks, + ); + + expect(recommendations.length).toBeGreaterThan(0); + const ratedTask = recommendations.find((r) => r.task.getId() === 'task2'); + expect(ratedTask?.estimatedRating).toBeGreaterThan(0.5); + + recommendations.forEach((rec) => { + expect(rec.estimatedRating).toBeGreaterThanOrEqual(0); + expect(rec.estimatedRating).toBeLessThanOrEqual(1); + }); }); }); +}); - // Funciones auxiliares para crear objetos de prueba - function createTestTask( - id: string, - timeRestrictionName = 'morning', - timeRestrictionRange = { start: 6, end: 12 }, - areaProperties = { - id: 'area1', - coordinates: [ - [ - [0, 0], - [1, 1], - [1, 0], - [0, 0], - ], - ], - }, - taskType = 'type1', - ): Task { - const timeInterval = new TimeInterval( - timeRestrictionName, +function createTask( + id: string, + areaId: string, + timeName: string, + type: string, +): Task { + return new Task( + id, + `Task ${id}`, + `Description for ${id}`, + 'project1', + new TimeInterval( + timeName, [1, 2, 3, 4, 5], - timeRestrictionRange, + { start: 6, end: 12 }, new Date('2024-01-01'), new Date('2024-12-31'), - ); - const areaGeoJSON: Feature = { + ), + { type: 'Feature', - properties: { id: areaProperties.id }, + properties: { id: areaId }, geometry: { type: 'Polygon', - coordinates: areaProperties.coordinates, + coordinates: [ + [ + [0, 0], + [1, 1], + [1, 0], + [0, 0], + ], + ], }, - }; - return new Task( - id, - `Task ${id.slice(-1)}`, - `Description ${id.slice(-1)}`, - 'project1', - timeInterval, - areaGeoJSON, - taskType, - ); - } - - function createTestUser( - id: string, - checkins: Checkin[] = [], - ratings = [], - ): User { - return new User( - `User ${id}`, - `user${id}`, - `user${id}@example.com`, - 'password', - null, - true, - UserRole.Volunteer, - id, - [], - [], - ratings, - checkins, - ); - } - - function createTestCheckin(id: string, task: Task): Checkin { - return new Checkin( - '12.34', - '-56.78', - new Date(), - 'project1', - null, - 'type1', - id, - task, - ); - } -}); + }, + type, + ); +} diff --git a/src/module/checkin/entities/engine/adaptive-recommendation-engine.ts b/src/module/checkin/entities/engine/adaptive-recommendation-engine.ts index a087e42..9edf408 100644 --- a/src/module/checkin/entities/engine/adaptive-recommendation-engine.ts +++ b/src/module/checkin/entities/engine/adaptive-recommendation-engine.ts @@ -1,98 +1,126 @@ import { Injectable } from '@nestjs/common'; import { Task } from '../../../task/entities/task.entity'; import { User } from '../../../auth/users/user.entity'; -import { Checkin } from '../checkin.entity'; @Injectable() export class AdaptiveRecommendationEngine { - constructor() {} + private readonly k: number; + private readonly NEUTRAL_SCORE: number; + private RECOMMENDATIONS_LIMIT: number; + private MAX_STARS_AMOUNT: number; + + constructor() { + this.k = Number(process.env.K) || 5; // Valor por defecto si no se define en el entorno + this.NEUTRAL_SCORE = Number(process.env.NEUTRAL_SCORE) || 4; // Valor por defecto si no se define en el entorno + this.RECOMMENDATIONS_LIMIT = + Number(process.env.RECOMMENDATIONS_LIMIT) || 10; + this.MAX_STARS_AMOUNT = Number(process.env.MAX_STARS_AMOUNT) || 5; // Valor por defecto si no se define en el entorno + } /** - * Calcula la similitud entre dos usuarios según sus check-ins y movimientos. + * Calcula la similitud entre dos tareas usando el coeficiente de Dice. + * La similitud se basa en tres características clave: + * - Área geográfica + * - Intervalo de tiempo + * - Tipo de tarea + * @returns Un valor entre 0 y 1 indicando la similitud. */ - private calculateUserSimilarity(userA: User, userB: User): number { - let similarityScore = 0; - - /* { - userId: '1-areaId', - cantidad: 1, - }, - { - userId: '1-tipoDeTarea', - cantidad: 0, - }*/ + private calculateTaskSimilarity(task1: Task, task2: Task): number { + const task1Attributes = new Set([ + task1.areaGeoJSON.properties.id, + task1.timeInterval.name, + task1.type, + ]); + const task2Attributes = new Set([ + task2.areaGeoJSON.properties.id, + task2.timeInterval.name, + task2.type, + ]); - // Comparar check-ins en base a ubicación y tiempo - userA.checkins.forEach((checkinA: Checkin) => { - userB.checkins.forEach((checkinB: Checkin) => { - if ( - checkinA.relatedTask.areaGeoJSON.properties.id === - checkinB.relatedTask.areaGeoJSON.properties.id - ) { - similarityScore += 1; - } - if (checkinA.taskType === checkinB.taskType) { - similarityScore += 1; - } - if ( - checkinA.relatedTask.timeInterval.name === - checkinB.relatedTask.timeInterval.name - ) { - similarityScore += 1; - } - }); - }); + const intersectionSize = [...task1Attributes].filter((attr) => + task2Attributes.has(attr), + ).length; + return ( + (2 * intersectionSize) / (task1Attributes.size + task2Attributes.size) + ); + } - return similarityScore; + /** + * Obtiene las K tareas más similares a una dada, ordenadas por similitud. + * @param targetTask - La tarea para la que se buscan tareas similares. + * @param completedTasks - Lista de tareas completadas por el usuario. + * @returns Lista de tareas más similares con su respectiva puntuación de similitud. + */ + private getMostSimilarTasks( + targetTask: Task, + completedTasks: Task[], + ): { task: Task; similarity: number }[] { + return completedTasks + .map((task) => ({ + task, + similarity: this.calculateTaskSimilarity(targetTask, task), + })) + .sort((a, b) => b.similarity - a.similarity) + .slice(0, this.k); } /** - * Predice una puntuación para una tarea en función de la similitud con otros usuarios. + * Estima la valoración de una tarea en función de tareas similares y preferencias del usuario. + * Usa una media ponderada de las valoraciones de tareas similares. + * @param similarTasks - Lista de tareas similares con sus valores de similitud. + * @param completedTasksRatings - Diccionario de valoraciones de tareas completadas. + * @returns Valoración estimada entre 0 y 1. */ - private predictTaskScore( - targetUser: User, - task: Task, - allUsers: User[], + private estimateTaskRating( + similarTasks: { task: Task; similarity: number }[], + completedTasksRatings: Record, ): number { - let weightedSum = 0; - let similaritySum = 0; - - // Mockear los k mas cercanos - // Solamente evaluar los K mas cercanos! - // usar redis - // COmo hacer para poder tener precalculados los K mas cercanos, hacerlo en el checkin o aca? - // Cuando hacer el calculo de la similitud entre users - allUsers.forEach((user) => { - if ( - user.id !== targetUser.id && - user.checkins.find((c: Checkin) => task.getId() === c.contributesTo) - ) { - // Calcula que tan similares los usuarios - const similarity = this.calculateUserSimilarity(targetUser, user); - // Compara el score que hizo el usuario observado - const score = user.getRatingForTaskId(task.getId()) || 0; - // Pondera el score con la similarity - weightedSum += similarity * score; // TODO Este valor tiene que estar entre 0 y 1 - similaritySum += similarity; - } - }); + let tot = 0; + let sumaSim = 0; + // TODO Documentar que el resultado puede estar alterado por ese puntaje arbitrario + // que indica la preferencia del usuario por la realizacion de esa tarea y no otra + for (const { task, similarity } of similarTasks) { + let rating = completedTasksRatings[task.getId()]; + if (!rating) { + rating = this.NEUTRAL_SCORE; // Si no hay rating, pongo un valor neutral + } // Si no hay rating, pongo un valor no neutral definido por ENV var como 4 + tot += rating * similarity; + sumaSim += similarity; + } - return similaritySum === 0 ? 0 : weightedSum / similaritySum; + // Poner el 5 en env var como STARS_AMOUNT o algo asi. + return sumaSim === 0 ? 0 : tot / sumaSim / this.MAX_STARS_AMOUNT; } /** - * Genera recomendaciones personalizadas de tareas según múltiples criterios. + * Genera recomendaciones de tareas personalizadas según las tareas completadas. + * Filtra tareas ya completadas, encuentra las más similares y estima su valoración. + * @param user + * @param completedTasksRatings - Diccionario con las valoraciones de tareas completadas. + * @param allTasks - Lista de todas las tareas disponibles. + * @returns Lista de tareas recomendadas ordenadas por valoración estimada. */ generateRecommendations( - targetUser: User, + user: User, + completedTasksRatings: Record, allTasks: Task[], - allUsers: User[], - ): { task: Task; predictedScore: number }[] { - return allTasks - .map((task) => ({ - task: task, - predictedScore: this.predictTaskScore(targetUser, task, allUsers), - })) - .sort((a, b) => b.predictedScore - a.predictedScore); // Ordenar de mayor a menor puntuación + ): { task: Task; estimatedRating: number }[] { + const completedTasks = allTasks.filter((task) => + user.contributions.includes(task.getId()), + ); + const nonCompletedTasks = allTasks.filter((task) => !task.solved); + return nonCompletedTasks // Excluye tareas ya completadas + .map((task) => { + const similarTasks = this.getMostSimilarTasks(task, completedTasks); + return { + task, + estimatedRating: this.estimateTaskRating( + similarTasks, + completedTasksRatings, + ), + }; + }) + .sort((a, b) => b.estimatedRating - a.estimatedRating) + .slice(0, this.RECOMMENDATIONS_LIMIT); } } From 076f42931e46dcde7406f04fcb0e1d33c19630fb Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Fri, 2 May 2025 16:57:44 -0300 Subject: [PATCH 002/104] refactor: update import paths and implement recommendation engine factory --- src/app.module.ts | 2 +- src/module/auth/auth.controller.ts | 13 ++++ src/module/auth/auth.service.ts | 7 ++ src/module/auth/users/user.dao.ts | 5 ++ src/module/auth/users/user.entity.ts | 5 +- src/module/auth/users/user.service.ts | 4 ++ src/module/checkin/checkin.module.ts | 2 +- src/module/checkin/checkin.service.ts | 14 ++++ src/module/checkin/entities/game.entity.ts | 66 +++++++------------ .../gamification}/basic-badge-engine.ts | 16 ++--- .../gamification}/basic-leaderboard-engine.ts | 11 ++-- .../gamification}/basic-points-engine.ts | 23 +++---- .../gamification}/elastic-points-engine.ts | 8 +-- .../gamification}/elastic-reward.spec.ts | 10 +-- .../gamification-strategy-factory.ts | 58 ++++++++++++++++ .../adaptive-recomendation-engine.spec.ts | 6 +- .../adaptive-recommendation-engine.ts | 7 +- .../recommendation/i-recommendation-engine.ts | 10 +++ .../recommendation-engine-factory.ts | 24 +++++++ .../simple-recommendation-engine.ts | 16 +++++ .../entities/gamification.entity.ts | 8 +-- .../gamification/gamification.module.ts | 45 +++++++++++++ src/module/gamification/gamificationModule.ts | 28 -------- src/module/project/dto/create-project.dto.ts | 5 ++ src/module/project/entities/ProjectMapper.ts | 6 +- src/module/project/entities/project.ts | 4 ++ src/module/project/persistence/project.dao.ts | 2 + .../project/persistence/project.schema.ts | 8 ++- src/module/project/project.module.ts | 2 +- src/module/project/project.service.ts | 4 +- src/module/task/entities/task.entity.ts | 13 ++++ src/module/task/persistence/task.dao.ts | 12 ++-- src/module/task/task.controller.ts | 8 ++- src/module/task/task.module.ts | 11 +++- src/module/task/task.service.ts | 27 ++++++-- 35 files changed, 355 insertions(+), 135 deletions(-) rename src/module/{checkin/entities/engine => gamification/entities/engine/gamification}/basic-badge-engine.ts (81%) rename src/module/{checkin/entities/engine => gamification/entities/engine/gamification}/basic-leaderboard-engine.ts (78%) rename src/module/{checkin/entities/engine => gamification/entities/engine/gamification}/basic-points-engine.ts (72%) rename src/module/{checkin/entities/engine => gamification/entities/engine/gamification}/elastic-points-engine.ts (80%) rename src/module/{checkin/entities/engine => gamification/entities/engine/gamification}/elastic-reward.spec.ts (89%) create mode 100644 src/module/gamification/entities/engine/gamification/gamification-strategy-factory.ts rename src/module/{checkin/entities/engine => gamification/entities/engine/recommendation}/adaptive-recomendation-engine.spec.ts (97%) rename src/module/{checkin/entities/engine => gamification/entities/engine/recommendation}/adaptive-recommendation-engine.ts (94%) create mode 100644 src/module/gamification/entities/engine/recommendation/i-recommendation-engine.ts create mode 100644 src/module/gamification/entities/engine/recommendation/recommendation-engine-factory.ts create mode 100644 src/module/gamification/entities/engine/recommendation/simple-recommendation-engine.ts create mode 100644 src/module/gamification/gamification.module.ts delete mode 100644 src/module/gamification/gamificationModule.ts diff --git a/src/app.module.ts b/src/app.module.ts index 6c26ab3..8ecbaa2 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -8,7 +8,7 @@ import { AuthModule } from './module/auth/auth.module'; import { TaskModule } from './module/task/task.module'; import { CheckinModule } from './module/checkin/checkin.module'; import { VolunteerModule } from './module/volunteer/volunteer.module'; -import { GamificationModule } from './module/gamification/gamificationModule'; +import { GamificationModule } from './module/gamification/gamification.module'; import { LeaderboardModule } from './module/leaderboard/leaderboard.module'; @Module({ diff --git a/src/module/auth/auth.controller.ts b/src/module/auth/auth.controller.ts index 2648fe9..6c6673d 100644 --- a/src/module/auth/auth.controller.ts +++ b/src/module/auth/auth.controller.ts @@ -40,6 +40,19 @@ export class AuthController { return this.authService.login(user); } + @Post('recover-password') + async recoverPassword(@Body() body: { token: string; newPassword: string }) { + const { token, newPassword } = body; + + if (!token || !newPassword) { + throw new BadRequestException('Token and new password are required'); + } + + await this.authService.recoverPassword(token, newPassword); + return { + message: 'Password has been successfully updated', + }; + } @Post('forgot-password') async forgotPassword(@Body() body: { email: string }) { const { email } = body; diff --git a/src/module/auth/auth.service.ts b/src/module/auth/auth.service.ts index 801c94b..2f44574 100644 --- a/src/module/auth/auth.service.ts +++ b/src/module/auth/auth.service.ts @@ -109,4 +109,11 @@ export class AuthService { console.error('Error al enviar el correo:', error); } } + + async recoverPassword(token: string, newPassword: string) { + const u = await this.usersService.getUserByResetToken(token); + u.password = await this.hashPassword(newPassword); + u.resetToken = null; + return await this.usersService.update(u.id, u); + } } diff --git a/src/module/auth/users/user.dao.ts b/src/module/auth/users/user.dao.ts index dd5bc23..4a2c483 100644 --- a/src/module/auth/users/user.dao.ts +++ b/src/module/auth/users/user.dao.ts @@ -53,4 +53,9 @@ export class UserDao { return userDocuments.map((doc) => UserMapper.toEntity(doc)); } + + async getUserByResetToken(token: string) { + const u = await this.userModel.findOne({ resetToken: token }).exec(); + return UserMapper.toEntity(u); + } } diff --git a/src/module/auth/users/user.entity.ts b/src/module/auth/users/user.entity.ts index bc872d4..1c7df94 100644 --- a/src/module/auth/users/user.entity.ts +++ b/src/module/auth/users/user.entity.ts @@ -15,6 +15,9 @@ export interface UserRating { } export class User { + set password(value: string) { + this._password = value; + } get checkins(): Checkin[] { return this._checkins; } @@ -97,8 +100,6 @@ export class User { this._checkins = checkins; } - // Getters - get password(): string { return this._password; } diff --git a/src/module/auth/users/user.service.ts b/src/module/auth/users/user.service.ts index dc1fc0b..ecb1e2c 100644 --- a/src/module/auth/users/user.service.ts +++ b/src/module/auth/users/user.service.ts @@ -45,4 +45,8 @@ export class UserService { await this.update(u.id, u); return u; } + + getUserByResetToken(token: string) { + return this.userDao.getUserByResetToken(token); + } } diff --git a/src/module/checkin/checkin.module.ts b/src/module/checkin/checkin.module.ts index a38ed45..54145db 100644 --- a/src/module/checkin/checkin.module.ts +++ b/src/module/checkin/checkin.module.ts @@ -9,7 +9,7 @@ import { TaskModule } from '../task/task.module'; import { ProjectModule } from '../project/project.module'; import { MoveSchema, MoveTemplate } from './persistence/move.schema'; import { MoveDao } from './persistence/move.dao'; -import { GamificationModule } from '../gamification/gamificationModule'; +import { GamificationModule } from '../gamification/gamification.module'; @Module({ imports: [ diff --git a/src/module/checkin/checkin.service.ts b/src/module/checkin/checkin.service.ts index a4b9764..49abed8 100644 --- a/src/module/checkin/checkin.service.ts +++ b/src/module/checkin/checkin.service.ts @@ -13,6 +13,7 @@ import { MoveDao } from './persistence/move.dao'; import { GamificationService } from '../gamification/gamification.service'; import { Project } from '../project/entities/project'; import { User } from '../auth/users/user.entity'; +import { GamificationEngineFactory } from '../gamification/entities/engine/gamification/gamification-strategy-factory'; @Injectable() export class CheckinService { @@ -23,6 +24,7 @@ export class CheckinService { private readonly userService: UserService, private readonly projectService: ProjectService, private readonly gamificationService: GamificationService, + private readonly gamificationFactory: GamificationEngineFactory, ) {} async create(createCheckinDto: CreateCheckinDto) { @@ -73,7 +75,19 @@ export class CheckinService { users: User[], project: Project & { user?: UserStatus }, ) { + const badgeEngine = this.gamificationFactory.getBadgeEngine( + project.gamificationStrategy, + ); + const pointsEngine = this.gamificationFactory.getPointsEngine( + project.gamificationStrategy, + ); + const leaderboardEngine = this.gamificationFactory.getLeaderboardEngine( + project.gamificationStrategy, + ); return new GameBuilder() + .withBadgeEngine(badgeEngine) + .withPointsEngine(pointsEngine) + .withLeaderboardEngine(leaderboardEngine) .withTasks(tasks) .withUsers(users) .withProject(project) diff --git a/src/module/checkin/entities/game.entity.ts b/src/module/checkin/entities/game.entity.ts index c22c208..673db9e 100644 --- a/src/module/checkin/entities/game.entity.ts +++ b/src/module/checkin/entities/game.entity.ts @@ -3,10 +3,6 @@ import { Checkin } from './checkin.entity'; import { Task } from '../../task/entities/task.entity'; import { User } from '../../auth/users/user.entity'; import { BadgeRule } from '../../gamification/entities/gamification.entity'; -import { BasicPointsEngine } from './engine/basic-points-engine'; -import { BasicBadgeEngine } from './engine/basic-badge-engine'; -import { BasicLeaderbardEngine } from './engine/basic-leaderboard-engine'; -import { ElasticPointsEngine } from './engine/elastic-points-engine'; interface Engine { assignableTo(project: Project): boolean; @@ -97,16 +93,24 @@ export class GameBuilder { private project: Project | null = null; private tasks: Task[] | null = null; private users: User[] | null = null; + private pointsEngine: PointsEngine; + private badgeEngine: BadgeEngine; + private leaderboardEngine: LeaderboardEngine; - private availablePointsEngine: PointsEngine[] = [ - new BasicPointsEngine(), - new ElasticPointsEngine(), - ]; + withPointsEngine(pointsEngine: PointsEngine): this { + this.pointsEngine = pointsEngine; + return this; + } - private availableBadgeEngine: BadgeEngine[] = [new BasicBadgeEngine()]; - private availableLeaderboardEngine: LeaderboardEngine[] = [ - new BasicLeaderbardEngine(), - ]; + withBadgeEngine(badgeEngine: BadgeEngine): this { + this.badgeEngine = badgeEngine; + return this; + } + + withLeaderboardEngine(leaderboardEngine: LeaderboardEngine): this { + this.leaderboardEngine = leaderboardEngine; + return this; + } withProject(project: Project): this { this.project = project; @@ -124,43 +128,23 @@ export class GameBuilder { } build(): Game { - const pointsEngine = this.assignPointsEngine(this.project); - const leaderboardEngine = this.assignLeaderboardEngine(); - const badgeEngine = this.assignBadgeEngine(); - if (!this.project || !pointsEngine || !badgeEngine || !leaderboardEngine) { + if ( + !this.project || + !this.pointsEngine || + !this.badgeEngine || + !this.leaderboardEngine + ) { throw new Error( 'All dependencies must be provided before building the Game instance', ); } return new Game( this.project, - pointsEngine, - badgeEngine, - leaderboardEngine, + this.pointsEngine, + this.badgeEngine, + this.leaderboardEngine, this.tasks, this.users, ); } - - assignPointsEngine(project: Project): PointsEngine { - return ( - this.availablePointsEngine.find((pe) => pe.assignableTo(project)) || - this.availablePointsEngine[0] - ); - } - - private assignBadgeEngine(): BadgeEngine { - return ( - this.availableBadgeEngine.find((be) => be.assignableTo(this.project)) || - this.availableBadgeEngine[0] - ); - } - - private assignLeaderboardEngine(): LeaderboardEngine { - return ( - this.availableLeaderboardEngine.find((le) => - le.assignableTo(this.project), - ) || this.availableLeaderboardEngine[0] - ); - } } diff --git a/src/module/checkin/entities/engine/basic-badge-engine.ts b/src/module/gamification/entities/engine/gamification/basic-badge-engine.ts similarity index 81% rename from src/module/checkin/entities/engine/basic-badge-engine.ts rename to src/module/gamification/entities/engine/gamification/basic-badge-engine.ts index 78d4306..eccf2d7 100644 --- a/src/module/checkin/entities/engine/basic-badge-engine.ts +++ b/src/module/gamification/entities/engine/gamification/basic-badge-engine.ts @@ -1,12 +1,12 @@ -import { BadgeEngine } from '../game.entity'; -import { User } from '../../../auth/users/user.entity'; -import { Checkin } from '../checkin.entity'; -import { Project } from '../../../project/entities/project'; -import { BadgeRule } from '../../../gamification/entities/gamification.entity'; +import { BadgeEngine } from '../../../../checkin/entities/game.entity'; +import { User } from '../../../../auth/users/user.entity'; +import { Checkin } from '../../../../checkin/entities/checkin.entity'; +import { Project } from '../../../../project/entities/project'; +import { BadgeRule } from '../../gamification.entity'; import { BadRequestException } from '@nestjs/common'; -import { TimeInterval } from '../../../task/entities/time-restriction.entity'; -import { GeoUtils } from '../../../task/utils/geoUtils'; -import { GamificationStrategy } from '../../../project/dto/create-project.dto'; +import { TimeInterval } from '../../../../task/entities/time-restriction.entity'; +import { GeoUtils } from '../../../../task/utils/geoUtils'; +import { GamificationStrategy } from '../../../../project/dto/create-project.dto'; export class BasicBadgeEngine implements BadgeEngine { assignableTo(project: Project): boolean { diff --git a/src/module/checkin/entities/engine/basic-leaderboard-engine.ts b/src/module/gamification/entities/engine/gamification/basic-leaderboard-engine.ts similarity index 78% rename from src/module/checkin/entities/engine/basic-leaderboard-engine.ts rename to src/module/gamification/entities/engine/gamification/basic-leaderboard-engine.ts index 5b91876..ee8fbd2 100644 --- a/src/module/checkin/entities/engine/basic-leaderboard-engine.ts +++ b/src/module/gamification/entities/engine/gamification/basic-leaderboard-engine.ts @@ -1,7 +1,10 @@ -import { LeaderboardEngine, LeaderboardUser } from '../game.entity'; -import { User } from '../../../auth/users/user.entity'; -import { Project } from '../../../project/entities/project'; -import { GamificationStrategy } from '../../../project/dto/create-project.dto'; +import { + LeaderboardEngine, + LeaderboardUser, +} from '../../../../checkin/entities/game.entity'; +import { User } from '../../../../auth/users/user.entity'; +import { Project } from '../../../../project/entities/project'; +import { GamificationStrategy } from '../../../../project/dto/create-project.dto'; export class BasicLeaderbardEngine implements LeaderboardEngine { assignableTo(project: Project): boolean { diff --git a/src/module/checkin/entities/engine/basic-points-engine.ts b/src/module/gamification/entities/engine/gamification/basic-points-engine.ts similarity index 72% rename from src/module/checkin/entities/engine/basic-points-engine.ts rename to src/module/gamification/entities/engine/gamification/basic-points-engine.ts index 12acfed..6d05b22 100644 --- a/src/module/checkin/entities/engine/basic-points-engine.ts +++ b/src/module/gamification/entities/engine/gamification/basic-points-engine.ts @@ -1,16 +1,16 @@ -import { Game, PointsEngine } from '../game.entity'; -import { Checkin } from '../checkin.entity'; -import { PointRule } from '../../../gamification/entities/gamification.entity'; -import { Project } from '../../../project/entities/project'; +import { Game, PointsEngine } from '../../../../checkin/entities/game.entity'; +import { Checkin } from '../../../../checkin/entities/checkin.entity'; +import { PointRule } from '../../gamification.entity'; +import { Project } from '../../../../project/entities/project'; import { Feature, FeatureCollection, GamificationStrategy, -} from '../../../project/dto/create-project.dto'; -import { GeoUtils } from '../../../task/utils/geoUtils'; -import { TimeInterval } from '../../../task/entities/time-restriction.entity'; -import { TaskDocument } from '../../../task/persistence/task.schema'; -import { UserStatus } from '../../../project/project.service'; +} from '../../../../project/dto/create-project.dto'; +import { GeoUtils } from '../../../../task/utils/geoUtils'; +import { TimeInterval } from '../../../../task/entities/time-restriction.entity'; +import { UserStatus } from '../../../../project/project.service'; +import { Task } from '../../../../task/entities/task.entity'; export class BasicPointsEngine implements PointsEngine { assignableTo(project: Project): boolean { @@ -69,10 +69,7 @@ export class BasicPointsEngine implements PointsEngine { return timeIntervals.find((t) => t.name === timeIntervalId); } - calculatePoints( - task: TaskDocument, - project: Project & { user?: UserStatus }, - ) { + calculatePoints(task: Task, project: Project & { user?: UserStatus }) { return project.gamification.pointRules.reduce((acc, rule) => { return acc + (rule.matchTask(task) ? rule.score : 0); }, 0); diff --git a/src/module/checkin/entities/engine/elastic-points-engine.ts b/src/module/gamification/entities/engine/gamification/elastic-points-engine.ts similarity index 80% rename from src/module/checkin/entities/engine/elastic-points-engine.ts rename to src/module/gamification/entities/engine/gamification/elastic-points-engine.ts index 35c2c9d..b34d0e5 100644 --- a/src/module/checkin/entities/engine/elastic-points-engine.ts +++ b/src/module/gamification/entities/engine/gamification/elastic-points-engine.ts @@ -1,7 +1,7 @@ -import { Game, PointsEngine } from '../game.entity'; -import { Project } from '../../../project/entities/project'; -import { GamificationStrategy } from '../../../project/dto/create-project.dto'; -import { Checkin } from '../checkin.entity'; +import { Game, PointsEngine } from '../../../../checkin/entities/game.entity'; +import { Project } from '../../../../project/entities/project'; +import { GamificationStrategy } from '../../../../project/dto/create-project.dto'; +import { Checkin } from '../../../../checkin/entities/checkin.entity'; import { BasicPointsEngine } from './basic-points-engine'; export class ElasticPointsEngine implements PointsEngine { diff --git a/src/module/checkin/entities/engine/elastic-reward.spec.ts b/src/module/gamification/entities/engine/gamification/elastic-reward.spec.ts similarity index 89% rename from src/module/checkin/entities/engine/elastic-reward.spec.ts rename to src/module/gamification/entities/engine/gamification/elastic-reward.spec.ts index ac661ec..5aeb550 100644 --- a/src/module/checkin/entities/engine/elastic-reward.spec.ts +++ b/src/module/gamification/entities/engine/gamification/elastic-reward.spec.ts @@ -1,12 +1,12 @@ import { ElasticPointsEngine } from './elastic-points-engine'; -import { Checkin } from '../checkin.entity'; -import { GamificationStrategy } from '../../../project/dto/create-project.dto'; +import { Checkin } from '../../../../checkin/entities/checkin.entity'; +import { GamificationStrategy } from '../../../../project/dto/create-project.dto'; import { BasicPointsEngine } from './basic-points-engine'; -import { User } from '../../../auth/users/user.entity'; -import { Project } from '../../../project/entities/project'; +import { User } from '../../../../auth/users/user.entity'; +import { Project } from '../../../../project/entities/project'; import { BasicBadgeEngine } from './basic-badge-engine'; import { BasicLeaderbardEngine } from './basic-leaderboard-engine'; -import { Game } from '../game.entity'; +import { Game } from '../../../../checkin/entities/game.entity'; jest.mock('./basic-points-engine'); diff --git a/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.ts b/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.ts new file mode 100644 index 0000000..573a031 --- /dev/null +++ b/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.ts @@ -0,0 +1,58 @@ +import { Injectable } from '@nestjs/common'; +import { + BadgeEngine, + LeaderboardEngine, + PointsEngine, +} from '../../../../checkin/entities/game.entity'; +import { GamificationStrategy } from '../../../../project/dto/create-project.dto'; +import { BasicPointsEngine } from './basic-points-engine'; +import { ElasticPointsEngine } from './elastic-points-engine'; +import { BasicLeaderbardEngine } from './basic-leaderboard-engine'; +import { BasicBadgeEngine } from './basic-badge-engine'; + +@Injectable() +export class GamificationEngineFactory { + constructor( + private readonly basicPointEngine: BasicPointsEngine, + private readonly elasticPointEngine: ElasticPointsEngine, + private readonly leaderboardEngine: BasicLeaderbardEngine, + private readonly basicBadgeEngine: BasicBadgeEngine, + ) {} + + getBadgeEngine(gamificationStrategy: GamificationStrategy): BadgeEngine { + switch (gamificationStrategy) { + case GamificationStrategy.BASIC: + return this.basicBadgeEngine; + default: + throw new Error( + `Unknown gamification engine type: ${gamificationStrategy}`, + ); + } + } + + getPointsEngine(gamificationStrategy: GamificationStrategy): PointsEngine { + switch (gamificationStrategy) { + case GamificationStrategy.BASIC: + return this.basicPointEngine; + case GamificationStrategy.ELASTIC: + return this.elasticPointEngine; + default: + throw new Error( + `Unknown gamification engine type: ${gamificationStrategy}`, + ); + } + } + + getLeaderboardEngine( + gamificationStrategy: GamificationStrategy, + ): LeaderboardEngine { + switch (gamificationStrategy) { + case GamificationStrategy.BASIC: + return this.leaderboardEngine; + default: + throw new Error( + `Unknown gamification engine type: ${gamificationStrategy}`, + ); + } + } +} diff --git a/src/module/checkin/entities/engine/adaptive-recomendation-engine.spec.ts b/src/module/gamification/entities/engine/recommendation/adaptive-recomendation-engine.spec.ts similarity index 97% rename from src/module/checkin/entities/engine/adaptive-recomendation-engine.spec.ts rename to src/module/gamification/entities/engine/recommendation/adaptive-recomendation-engine.spec.ts index 3a5204d..a496cf0 100644 --- a/src/module/checkin/entities/engine/adaptive-recomendation-engine.spec.ts +++ b/src/module/gamification/entities/engine/recommendation/adaptive-recomendation-engine.spec.ts @@ -1,10 +1,10 @@ import { Test, TestingModule } from '@nestjs/testing'; import { AdaptiveRecommendationEngine } from './adaptive-recommendation-engine'; -import { Task } from '../../../task/entities/task.entity'; -import { TimeInterval } from '../../../task/entities/time-restriction.entity'; +import { Task } from '../../../../task/entities/task.entity'; +import { TimeInterval } from '../../../../task/entities/time-restriction.entity'; import { ConfigModule } from '@nestjs/config'; import * as process from 'node:process'; -import { User } from '../../../auth/users/user.entity'; +import { User } from '../../../../auth/users/user.entity'; // Testear el arranque en frio, cuando al persona no completo tareas con un resultado aleatorio // Ir completando tareas y verificar que se recomiende lo indicado diff --git a/src/module/checkin/entities/engine/adaptive-recommendation-engine.ts b/src/module/gamification/entities/engine/recommendation/adaptive-recommendation-engine.ts similarity index 94% rename from src/module/checkin/entities/engine/adaptive-recommendation-engine.ts rename to src/module/gamification/entities/engine/recommendation/adaptive-recommendation-engine.ts index 9edf408..30ffe60 100644 --- a/src/module/checkin/entities/engine/adaptive-recommendation-engine.ts +++ b/src/module/gamification/entities/engine/recommendation/adaptive-recommendation-engine.ts @@ -1,9 +1,10 @@ import { Injectable } from '@nestjs/common'; -import { Task } from '../../../task/entities/task.entity'; -import { User } from '../../../auth/users/user.entity'; +import { Task } from '../../../../task/entities/task.entity'; +import { User } from '../../../../auth/users/user.entity'; +import { IRecommendationEngine } from './i-recommendation-engine'; @Injectable() -export class AdaptiveRecommendationEngine { +export class AdaptiveRecommendationEngine implements IRecommendationEngine { private readonly k: number; private readonly NEUTRAL_SCORE: number; private RECOMMENDATIONS_LIMIT: number; diff --git a/src/module/gamification/entities/engine/recommendation/i-recommendation-engine.ts b/src/module/gamification/entities/engine/recommendation/i-recommendation-engine.ts new file mode 100644 index 0000000..d70187c --- /dev/null +++ b/src/module/gamification/entities/engine/recommendation/i-recommendation-engine.ts @@ -0,0 +1,10 @@ +import { User } from '../../../../auth/users/user.entity'; +import { Task } from '../../../../task/entities/task.entity'; + +export interface IRecommendationEngine { + generateRecommendations( + user: User, + completedTasksRatings: Record, + allTasks: Task[], + ): { task: Task; estimatedRating: number }[]; +} diff --git a/src/module/gamification/entities/engine/recommendation/recommendation-engine-factory.ts b/src/module/gamification/entities/engine/recommendation/recommendation-engine-factory.ts new file mode 100644 index 0000000..3cbb5e2 --- /dev/null +++ b/src/module/gamification/entities/engine/recommendation/recommendation-engine-factory.ts @@ -0,0 +1,24 @@ +import { Injectable } from '@nestjs/common'; +import { AdaptiveRecommendationEngine } from './adaptive-recommendation-engine'; +import { SimpleRecommendationEngine } from './simple-recommendation-engine'; +import { IRecommendationEngine } from './i-recommendation-engine'; +import { RecommendationStrategy } from '../../../../project/dto/create-project.dto'; + +@Injectable() +export class RecommendationEngineFactory { + constructor( + private readonly adaptiveEngine: AdaptiveRecommendationEngine, + private readonly simpleEngine: SimpleRecommendationEngine, + ) {} + + getEngine(strategy: string): IRecommendationEngine { + switch (strategy) { + case RecommendationStrategy.ADAPTIVE: + return this.adaptiveEngine; + case RecommendationStrategy.SIMPLE: + return this.simpleEngine; + default: + throw new Error(`Unknown strategy: ${strategy}`); + } + } +} diff --git a/src/module/gamification/entities/engine/recommendation/simple-recommendation-engine.ts b/src/module/gamification/entities/engine/recommendation/simple-recommendation-engine.ts new file mode 100644 index 0000000..15aebc7 --- /dev/null +++ b/src/module/gamification/entities/engine/recommendation/simple-recommendation-engine.ts @@ -0,0 +1,16 @@ +import { Task } from '../../../../task/entities/task.entity'; +import { User } from '../../../../auth/users/user.entity'; +import { IRecommendationEngine } from './i-recommendation-engine'; + +export class SimpleRecommendationEngine implements IRecommendationEngine { + generateRecommendations( + user: User, + completedTasksRatings: Record, + allTasks: Task[], + ): { task: Task; estimatedRating: number }[] { + return allTasks.map((task) => ({ + task, + estimatedRating: 0, + })); + } +} diff --git a/src/module/gamification/entities/gamification.entity.ts b/src/module/gamification/entities/gamification.entity.ts index 3d91cad..3ac7fdf 100644 --- a/src/module/gamification/entities/gamification.entity.ts +++ b/src/module/gamification/entities/gamification.entity.ts @@ -1,4 +1,4 @@ -import { TaskDocument } from '../../task/persistence/task.schema'; +import { Task } from '../../task/entities/task.entity'; export class Gamification { constructor( @@ -97,11 +97,11 @@ export class PointRule { return this.taskType === taskType || this.taskType === ANY_KIND; } - matchTask(task: TaskDocument) { + matchTask(task: Task) { return ( this.matchTaskType(task.type) && - this.matchArea(task.areaId.toString()) && - this.matchTimeInterval(task.timeIntervalId.toString()) + this.matchArea(task.areaGeoJSON.properties.id.toString()) && + this.matchTimeInterval(task.timeInterval.name.toString()) ); } } diff --git a/src/module/gamification/gamification.module.ts b/src/module/gamification/gamification.module.ts new file mode 100644 index 0000000..d902367 --- /dev/null +++ b/src/module/gamification/gamification.module.ts @@ -0,0 +1,45 @@ +import { Module } from '@nestjs/common'; +import { GamificationService } from './gamification.service'; +import { GamificationController } from './gamificationController'; +import { MongooseModule } from '@nestjs/mongoose'; +import { + GamificationTemplate, + GamificationTemplateSchema, +} from './persistence/gamification.schema'; +import { GamificationDao } from './persistence/gamification-dao.service'; +import { AuthModule } from '../auth/auth.module'; +import { LeaderboardModule } from '../leaderboard/leaderboard.module'; +import { GamificationEngineFactory } from './entities/engine/gamification/gamification-strategy-factory'; +import { SimpleRecommendationEngine } from './entities/engine/recommendation/simple-recommendation-engine'; +import { AdaptiveRecommendationEngine } from './entities/engine/recommendation/adaptive-recommendation-engine'; +import { ElasticPointsEngine } from './entities/engine/gamification/elastic-points-engine'; +import { BasicLeaderbardEngine } from './entities/engine/gamification/basic-leaderboard-engine'; +import { BasicPointsEngine } from './entities/engine/gamification/basic-points-engine'; +import { BasicBadgeEngine } from './entities/engine/gamification/basic-badge-engine'; + +const engines = [ + GamificationEngineFactory, + SimpleRecommendationEngine, + AdaptiveRecommendationEngine, + ElasticPointsEngine, + BasicLeaderbardEngine, + BasicPointsEngine, + BasicBadgeEngine, +]; + +@Module({ + imports: [ + MongooseModule.forFeature([ + { + name: GamificationTemplate.collectionName(), + schema: GamificationTemplateSchema, + }, + ]), + AuthModule, + LeaderboardModule, + ], + exports: [GamificationService, GamificationDao, ...engines], + controllers: [GamificationController], + providers: [GamificationService, GamificationDao, ...engines], +}) +export class GamificationModule {} diff --git a/src/module/gamification/gamificationModule.ts b/src/module/gamification/gamificationModule.ts deleted file mode 100644 index 7fa9659..0000000 --- a/src/module/gamification/gamificationModule.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { Module } from '@nestjs/common'; -import { GamificationService } from './gamification.service'; -import { GamificationController } from './gamificationController'; -import { MongooseModule } from '@nestjs/mongoose'; -import { - GamificationTemplate, - GamificationTemplateSchema, -} from './persistence/gamification.schema'; -import { GamificationDao } from './persistence/gamification-dao.service'; -import { AuthModule } from '../auth/auth.module'; -import { LeaderboardModule } from '../leaderboard/leaderboard.module'; - -@Module({ - imports: [ - MongooseModule.forFeature([ - { - name: GamificationTemplate.collectionName(), - schema: GamificationTemplateSchema, - }, - ]), - AuthModule, - LeaderboardModule, - ], - exports: [GamificationService, GamificationDao], - controllers: [GamificationController], - providers: [GamificationService, GamificationDao], -}) -export class GamificationModule {} diff --git a/src/module/project/dto/create-project.dto.ts b/src/module/project/dto/create-project.dto.ts index 88a9a85..da70e50 100644 --- a/src/module/project/dto/create-project.dto.ts +++ b/src/module/project/dto/create-project.dto.ts @@ -5,6 +5,11 @@ export enum GamificationStrategy { ELASTIC = 'ELASTICA', } +export enum RecommendationStrategy { + SIMPLE = 'SIMPLE', + ADAPTIVE = 'ADAPTIVE', +} + export class CreateProjectDto { name: string; description?: string; diff --git a/src/module/project/entities/ProjectMapper.ts b/src/module/project/entities/ProjectMapper.ts index 0483da8..7a53e6d 100644 --- a/src/module/project/entities/ProjectMapper.ts +++ b/src/module/project/entities/ProjectMapper.ts @@ -1,6 +1,9 @@ import { ProjectTemplate } from '../persistence/project.schema'; import { Project } from './project'; -import { GamificationStrategy } from '../dto/create-project.dto'; +import { + GamificationStrategy, + RecommendationStrategy, +} from '../dto/create-project.dto'; export class ProjectMapper { static toEntity(template: ProjectTemplate & { _id: string }): Project { @@ -17,6 +20,7 @@ export class ProjectMapper { template.ownerId, null, template.gamificationStrategy as GamificationStrategy, + template.recomemendationStrategy as RecommendationStrategy, ); } diff --git a/src/module/project/entities/project.ts b/src/module/project/entities/project.ts index e041532..d0b77e7 100644 --- a/src/module/project/entities/project.ts +++ b/src/module/project/entities/project.ts @@ -3,6 +3,7 @@ import { Gamification } from '../../gamification/entities/gamification.entity'; import { FeatureCollection, GamificationStrategy, + RecommendationStrategy, } from '../dto/create-project.dto'; export class Project { @@ -19,6 +20,7 @@ export class Project { ownerId: string, gamification: Gamification, gamificationStrategy: GamificationStrategy, + recommendationStrategy: RecommendationStrategy, ) { this.id = id; this.name = name; @@ -32,6 +34,7 @@ export class Project { this.ownerId = ownerId; this.gamification = gamification; this.gamificationStrategy = gamificationStrategy; + this.recommendationStrategy = recommendationStrategy; } id: string; @@ -46,4 +49,5 @@ export class Project { ownerId: string; gamification: Gamification; gamificationStrategy: GamificationStrategy; + recommendationStrategy: RecommendationStrategy; } diff --git a/src/module/project/persistence/project.dao.ts b/src/module/project/persistence/project.dao.ts index 70abee2..63828d6 100644 --- a/src/module/project/persistence/project.dao.ts +++ b/src/module/project/persistence/project.dao.ts @@ -6,6 +6,7 @@ import { CreateProjectDto, Feature, GamificationStrategy, + RecommendationStrategy, } from '../dto/create-project.dto'; import { UpdateProjectDto } from '../dto/update-project.dto'; import { Project } from '../entities/project'; @@ -53,6 +54,7 @@ export class ProjectDao { project.ownerId, gamification, project.gamificationStrategy as GamificationStrategy, + project.recomemendationStrategy as RecommendationStrategy, ); } diff --git a/src/module/project/persistence/project.schema.ts b/src/module/project/persistence/project.schema.ts index 8ab1296..2301e8d 100644 --- a/src/module/project/persistence/project.schema.ts +++ b/src/module/project/persistence/project.schema.ts @@ -1,7 +1,10 @@ import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose'; import { Document, Schema as MongooseSchema } from 'mongoose'; import { TimeInterval } from '../../task/entities/time-restriction.entity'; -import { GamificationStrategy } from '../dto/create-project.dto'; +import { + GamificationStrategy, + RecommendationStrategy, +} from '../dto/create-project.dto'; export type ProjectDocument = ProjectTemplate & Document; @@ -31,6 +34,9 @@ export class ProjectTemplate { @Prop({ default: GamificationStrategy.BASIC }) gamificationStrategy: string; + @Prop({ default: RecommendationStrategy.SIMPLE }) + recomemendationStrategy: string; + @Prop({ required: true, type: [ diff --git a/src/module/project/project.module.ts b/src/module/project/project.module.ts index 7b8fe68..004bafc 100644 --- a/src/module/project/project.module.ts +++ b/src/module/project/project.module.ts @@ -5,7 +5,7 @@ import { MongooseModule } from '@nestjs/mongoose'; import { ProjectTemplate, ProjectSchema } from './persistence/project.schema'; import { ProjectDao } from './persistence/project.dao'; import { AuthModule } from '../auth/auth.module'; -import { GamificationModule } from '../gamification/gamificationModule'; +import { GamificationModule } from '../gamification/gamification.module'; import { LeaderboardModule } from '../leaderboard/leaderboard.module'; @Module({ diff --git a/src/module/project/project.service.ts b/src/module/project/project.service.ts index c61f569..417e577 100644 --- a/src/module/project/project.service.ts +++ b/src/module/project/project.service.ts @@ -71,12 +71,12 @@ export class ProjectService { } async getTaskCombinations(id: string) { - const project: ProjectTemplate = await this.projectDao.findOne(id); + const project: Project = await this.projectDao.findOne(id); if (!project) { throw new NotFoundException('Project not Found'); } const combinations = []; - project.areas.forEach((area) => { + project.areas.features.map((area) => { project.taskTypes.forEach((type) => { project.timeIntervals.forEach((timeInterval) => { combinations.push([ diff --git a/src/module/task/entities/task.entity.ts b/src/module/task/entities/task.entity.ts index cf65a69..7a01bbf 100644 --- a/src/module/task/entities/task.entity.ts +++ b/src/module/task/entities/task.entity.ts @@ -113,4 +113,17 @@ export class Task { setSolved(solved: boolean) { this.#solved = solved; } + + toJSON() { + return { + id: this.#_id, + name: this.#name, + description: this.#description, + projectId: this.#projectId, + timeInterval: this.#timeInterval, + areaGeoJSON: this.#areaGeoJSON, + type: this.#type, + solved: this.#solved, + }; + } } diff --git a/src/module/task/persistence/task.dao.ts b/src/module/task/persistence/task.dao.ts index 5703b5c..64adb8c 100644 --- a/src/module/task/persistence/task.dao.ts +++ b/src/module/task/persistence/task.dao.ts @@ -80,7 +80,7 @@ export class TaskDao { doc.name, doc.description, doc.projectId.toString(), - this.mapTimeRestriction(doc.timeIntervalId, project), + this.mapTimeRestriction(doc.timeIntervalId.toString(), project), area, doc.type, doc.solved, @@ -88,8 +88,8 @@ export class TaskDao { } private mapTimeRestriction( - timeIntervalId, - project: ProjectTemplate, + timeIntervalId: string, + project: Project, ): TimeInterval { const ti = project.timeIntervals.find((t) => t.name === timeIntervalId); return new TimeInterval( @@ -117,7 +117,11 @@ export class TaskDao { if (!tasks) { throw new NotFoundException('No tasks found for this project'); } - return tasks; + const res: Task[] = []; + for (const task of tasks) { + res.push(await this.mapDocToTask(task)); + } + return res; } async setTaskAsSolved(id: string): Promise { diff --git a/src/module/task/task.controller.ts b/src/module/task/task.controller.ts index 1392d83..7b41de6 100644 --- a/src/module/task/task.controller.ts +++ b/src/module/task/task.controller.ts @@ -7,6 +7,7 @@ import { Param, Delete, UseGuards, + Req, } from '@nestjs/common'; import { TaskService } from './task.service'; import { CreateTaskDto } from './dto/create-task.dto'; @@ -39,8 +40,11 @@ export class TaskController { @UseGuards(JwtAuthGuard) @Get('/project/:id') - async findAllByProject(@Param('id') projectId: string) { - return await this.taskService.findRawByProjectId(projectId); + async findAllByProject(@Param('id') projectId: string, @Req() req) { + return await this.taskService.findRawByProjectId( + projectId, + req.user.username, + ); } @UseGuards(JwtAuthGuard) diff --git a/src/module/task/task.module.ts b/src/module/task/task.module.ts index f419291..796f73e 100644 --- a/src/module/task/task.module.ts +++ b/src/module/task/task.module.ts @@ -7,6 +7,9 @@ import { TaskDao } from './persistence/task.dao'; import { TaskSchema, TaskSchemaTemplate } from './persistence/task.schema'; import { ProjectModule } from '../project/project.module'; import { LeaderboardModule } from '../leaderboard/leaderboard.module'; +import { RecommendationEngineFactory } from '../gamification/entities/engine/recommendation/recommendation-engine-factory'; +import { AdaptiveRecommendationEngine } from '../gamification/entities/engine/recommendation/adaptive-recommendation-engine'; +import { SimpleRecommendationEngine } from '../gamification/entities/engine/recommendation/simple-recommendation-engine'; @Module({ imports: [ @@ -18,7 +21,13 @@ import { LeaderboardModule } from '../leaderboard/leaderboard.module'; LeaderboardModule, ], controllers: [TaskController], - providers: [TaskService, TaskDao], + providers: [ + TaskService, + TaskDao, + RecommendationEngineFactory, + AdaptiveRecommendationEngine, + SimpleRecommendationEngine, + ], exports: [TaskService], }) export class TaskModule {} diff --git a/src/module/task/task.service.ts b/src/module/task/task.service.ts index 50044e4..3f6df6d 100644 --- a/src/module/task/task.service.ts +++ b/src/module/task/task.service.ts @@ -8,13 +8,18 @@ import { UpdateTaskDto } from './dto/update-task.dto'; import { TaskDao } from './persistence/task.dao'; import { Task } from './entities/task.entity'; import { ProjectService } from '../project/project.service'; -import { BasicPointsEngine } from '../checkin/entities/engine/basic-points-engine'; +import { BasicPointsEngine } from '../gamification/entities/engine/gamification/basic-points-engine'; +import { AdaptiveRecommendationEngine } from '../gamification/entities/engine/recommendation/adaptive-recommendation-engine'; +import { UserService } from '../auth/users/user.service'; +import { RecommendationEngineFactory } from '../gamification/entities/engine/recommendation/recommendation-engine-factory'; @Injectable() export class TaskService { constructor( private readonly taskDao: TaskDao, private readonly projectService: ProjectService, + private readonly userService: UserService, + private readonly recommendationFactory: RecommendationEngineFactory, ) {} async create(createTaskDto: CreateTaskDto) { @@ -31,12 +36,22 @@ export class TaskService { return await this.taskDao.create(createTaskDto); } - async findRawByProjectId(projectId: string): Promise { + async findRawByProjectId(projectId: string, username: string): Promise { + const allTasks = await this.taskDao.getRawTasksByProject(projectId); + const user = await this.userService.findByEmailOrUsername('', username); const project = await this.projectService.findOne(projectId); - const rawTasks = await this.taskDao.getRawTasksByProject(projectId); - return rawTasks.map((task) => ({ - ...task['_doc'], - points: new BasicPointsEngine().calculatePoints(task, project), + const recommendationEngine = this.recommendationFactory.getEngine( + project.recommendationStrategy, + ); + + const recommendations = recommendationEngine.generateRecommendations( + user, + Object.fromEntries(user.ratings.map((r) => [r.taskId, r.score])), + allTasks, + ); + return recommendations.map((tr) => ({ + ...tr.task.toJSON(), + points: new BasicPointsEngine().calculatePoints(tr.task, project), })); } From 1b6bef4471dce2f9988947399211e0ecc32b0db2 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Mon, 5 May 2025 11:59:47 -0300 Subject: [PATCH 003/104] feat: add email verification process with token generation and validation --- src/module/auth/auth.controller.ts | 19 +++++++++ src/module/auth/auth.service.ts | 67 +++++++++++++++++++++++++----- 2 files changed, 75 insertions(+), 11 deletions(-) diff --git a/src/module/auth/auth.controller.ts b/src/module/auth/auth.controller.ts index 6c6673d..de10f03 100644 --- a/src/module/auth/auth.controller.ts +++ b/src/module/auth/auth.controller.ts @@ -68,6 +68,25 @@ export class AuthController { }; } + @Post('verify-email') + async verifyToken(@Body() body: { token: string }) { + const { token } = body; + + if (!token) { + throw new BadRequestException('Token is required'); + } + + const user = await this.authService.verifyEmail(token); + if (!user) { + throw new UnauthorizedException('Invalid or expired token'); + } + + return { + message: 'Token is valid', + user, + }; + } + @Post('register') async register( @Body() diff --git a/src/module/auth/auth.service.ts b/src/module/auth/auth.service.ts index 2f44574..a920644 100644 --- a/src/module/auth/auth.service.ts +++ b/src/module/auth/auth.service.ts @@ -41,7 +41,7 @@ export class AuthService { return null; } - async register(registerDto: RegisterUserDTO): Promise { + async register(registerDto: RegisterUserDTO): Promise { // Verifica que el correo y el username no estén ya en uso const existingUser = await this.usersService.findByEmailOrUsername( registerDto.email, @@ -52,17 +52,62 @@ export class AuthService { } const pw = await this.hashPassword(registerDto.password); - return await this.usersService.create( - new User( - registerDto.complete_name, - registerDto.username, - registerDto.email, - pw, - registerDto.profile_image, - false, - registerDto.role, - ), + // Genera un token de verificación + const verificationToken = uuidv4(); + + // Crea el usuario con el token de verificación + const newUser = new User( + registerDto.complete_name, + registerDto.username, + registerDto.email, + pw, + registerDto.profile_image, + false, // Usuario no verificado + registerDto.role, ); + newUser.resetToken = verificationToken; + + await this.usersService.create(newUser); + + await this.sendVerificationEmail(verificationToken, registerDto); + } + + async verifyEmail(token: string): Promise { + const user = await this.usersService.getUserByResetToken(token); + if (!user) { + throw new BadRequestException('Token inválido o expirado'); + } + user.verifyAccount(); + user.resetToken = null; + return await this.usersService.update(user.id, user); + } + + private async sendVerificationEmail( + verificationToken: string | Uint8Array, + registerDto: RegisterUserDTO, + ) { + // Envía el correo de verificación + const host = + process.env.NODE_ENV === 'production' + ? 'https://rayuela-frontend.vercel.app' + : 'http://localhost:5173'; + const verificationLink = `${host}/verify-email?token=${verificationToken}`; + const mailOptions = { + from: 'noreply@rayuela.com', + to: registerDto.email, + subject: 'Verificación de correo', + text: `Por favor, verifica tu correo haciendo clic en el siguiente enlace: ${verificationLink}`, + }; + + try { + await this.transporter.sendMail(mailOptions); + console.log('Correo de verificación enviado con éxito'); + } catch (error) { + console.error('Error al enviar el correo de verificación:', error); + throw new BadRequestException( + 'Error al enviar el correo de verificación', + ); + } } async hashPassword(password: string): Promise { From 7d9f2d78ca7b4aab6d2cec7e6037283a10112c77 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Sat, 4 Oct 2025 13:41:05 -0300 Subject: [PATCH 004/104] feat: add Docker support with build and push script, update app configuration for development --- Dockerfile | 38 +++++-------------- build-and-push-dockerhub.sh | 24 ++++++++++++ docker-compose.yml | 18 ++++++++- src/app.module.ts | 1 + src/module/auth/users/user.entity.ts | 4 ++ src/module/checkin/checkin.service.ts | 2 +- .../gamification/elastic-reward.spec.ts | 6 ++- .../gamification/gamification.service.ts | 1 - src/module/task/entities/task.entity.ts | 4 ++ 9 files changed, 66 insertions(+), 32 deletions(-) create mode 100644 build-and-push-dockerhub.sh diff --git a/Dockerfile b/Dockerfile index 5024577..c0fd831 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,36 +1,18 @@ -# Usa Node.js 20 como base para la etapa de construcción -FROM node:20 as builder +# Usar una imagen base de Node.js consistente +FROM node:20-alpine -# Establece el directorio de trabajo en /app -WORKDIR /app +# Establecer el directorio de trabajo +WORKDIR /usr/src/app -# Copia los archivos de package.json y package-lock.json +# Copiar solo los archivos de manifiesto del paquete para aprovechar el caché de Docker COPY package*.json ./ -# Instala las dependencias +# Instalar dependencias (esto se ejecutará dentro del contenedor Alpine) RUN npm install -# Copia el resto de los archivos de la aplicación +# Copiar el resto del código (esto será sobrescrito por el volumen de docker-compose, pero es buena práctica tenerlo) COPY . . -# Compila la aplicación TypeScript (asegúrate de que `npm run build` genere los archivos en /app/dist) -RUN npm run build - -# Usa una imagen más ligera para la etapa de producción -FROM node:20-alpine - -# Establece NODE_ENV en producción -ENV NODE_ENV=production - -# Establece el directorio de trabajo en /app -WORKDIR /app - -# Copia las dependencias instaladas y el código compilado de la etapa de construcción -COPY --from=builder /app/node_modules ./node_modules -COPY --from=builder /app/dist ./dist - -# Expone el puerto de la aplicación (ajusta el puerto si tu app usa otro) -EXPOSE 3000 - -# Comando para ejecutar la aplicación en modo producción -CMD ["node", "/app/dist/src/main.js"] +# El comando para iniciar la app en modo de desarrollo (usando ts-node-dev o similar) +# docker-compose anulará este CMD, pero lo dejamos como referencia. +CMD ["npm", "run", "start:dev"] diff --git a/build-and-push-dockerhub.sh b/build-and-push-dockerhub.sh new file mode 100644 index 0000000..781377f --- /dev/null +++ b/build-and-push-dockerhub.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +# Configurables +DOCKERHUB_USER="nicolasalv3" +IMAGE_NAME="rayuela-backend" +TAG="latest" # podés cambiarlo por `v1.0`, `$(date +%Y%m%d%H%M)`, etc. + +# Construir la imagen local +echo "🛠️ Construyendo imagen local..." +docker build -t $IMAGE_NAME:$TAG . + +# Etiquetar para Docker Hub +echo "🏷️ Taggeando imagen como $DOCKERHUB_USER/$IMAGE_NAME:$TAG..." +docker tag $IMAGE_NAME:$TAG $DOCKERHUB_USER/$IMAGE_NAME:$TAG + +# Login a Docker Hub +echo "🔐 Iniciando sesión en Docker Hub..." +docker login || { echo "❌ Error de login"; exit 1; } + +# Pushear la imagen +echo "🚀 Pusheando imagen a Docker Hub..." +docker push $DOCKERHUB_USER/$IMAGE_NAME:$TAG || { echo "❌ Error al pushear"; exit 1; } + +echo "✅ Imagen pusheada con éxito: https://hub.docker.com/r/$DOCKERHUB_USER/$IMAGE_NAME" diff --git a/docker-compose.yml b/docker-compose.yml index bfcac68..387895c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,5 +1,21 @@ version: "3.9" services: + app: + build: + context: . + dockerfile: Dockerfile + # Agrega este comando para iniciar en modo desarrollo + command: npm run start:dev + ports: + - '3000:3000' # El puerto por defecto de NestJS es 3000 + - '9229:9229' + environment: + - NODE_ENV=development + volumes: + - .:/usr/src/app + - /usr/src/app/node_modules + depends_on: + - mongodb x mongodb: image: mongo:latest container_name: mongodb @@ -12,4 +28,4 @@ services: - mongodb_data:/data/db volumes: - mongodb_data: \ No newline at end of file + mongodb_data: diff --git a/src/app.module.ts b/src/app.module.ts index 8ecbaa2..bf2aacd 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -11,6 +11,7 @@ import { VolunteerModule } from './module/volunteer/volunteer.module'; import { GamificationModule } from './module/gamification/gamification.module'; import { LeaderboardModule } from './module/leaderboard/leaderboard.module'; +console.log(process.env.DB_CONNECTION as string); @Module({ imports: [ ConfigModule.forRoot({ diff --git a/src/module/auth/users/user.entity.ts b/src/module/auth/users/user.entity.ts index 1c7df94..884b02d 100644 --- a/src/module/auth/users/user.entity.ts +++ b/src/module/auth/users/user.entity.ts @@ -247,4 +247,8 @@ export class User { }); } } + + getPointsFromProject(id: string): number { + return 5; + } } diff --git a/src/module/checkin/checkin.service.ts b/src/module/checkin/checkin.service.ts index 49abed8..5d10d20 100644 --- a/src/module/checkin/checkin.service.ts +++ b/src/module/checkin/checkin.service.ts @@ -34,7 +34,7 @@ export class CheckinService { const game = this.buildGame(tasks, users, project); checkin.contributesTo = tasks - .find((t) => t.accept(checkin) && !t.solved) + .find((t) => t.contributesToCheckin(checkin)) ?.getId(); const gameStatus = game.play(checkin); const move = new Move(checkin, gameStatus); diff --git a/src/module/gamification/entities/engine/gamification/elastic-reward.spec.ts b/src/module/gamification/entities/engine/gamification/elastic-reward.spec.ts index 5aeb550..f9d19fd 100644 --- a/src/module/gamification/entities/engine/gamification/elastic-reward.spec.ts +++ b/src/module/gamification/entities/engine/gamification/elastic-reward.spec.ts @@ -1,6 +1,9 @@ import { ElasticPointsEngine } from './elastic-points-engine'; import { Checkin } from '../../../../checkin/entities/checkin.entity'; -import { GamificationStrategy } from '../../../../project/dto/create-project.dto'; +import { + GamificationStrategy, + RecommendationStrategy, +} from '../../../../project/dto/create-project.dto'; import { BasicPointsEngine } from './basic-points-engine'; import { User } from '../../../../auth/users/user.entity'; import { Project } from '../../../../project/entities/project'; @@ -58,6 +61,7 @@ describe('ElasticPointsEngine', () => { 'user1', null, GamificationStrategy.ELASTIC, + RecommendationStrategy.SIMPLE, ); mockGame = new Game( diff --git a/src/module/gamification/gamification.service.ts b/src/module/gamification/gamification.service.ts index eff2cdb..d17a544 100644 --- a/src/module/gamification/gamification.service.ts +++ b/src/module/gamification/gamification.service.ts @@ -6,7 +6,6 @@ import { UpdateBadgeRuleDTO } from './dto/update-badge-rule-d-t.o'; import { CreateScoreRuleDto } from './dto/create-score-rule-dto'; import { UpdateScoreRuleDto } from './dto/update-score-rule.dto'; import { Move } from '../checkin/entities/move.entity'; -import { Task } from '../task/entities/task.entity'; @Injectable() export class GamificationService { diff --git a/src/module/task/entities/task.entity.ts b/src/module/task/entities/task.entity.ts index 7a01bbf..5d7fed4 100644 --- a/src/module/task/entities/task.entity.ts +++ b/src/module/task/entities/task.entity.ts @@ -126,4 +126,8 @@ export class Task { solved: this.#solved, }; } + + contributesToCheckin(checkin: Checkin) { + return this.accept(checkin) && !this.solved; + } } From 70083f970f43d20890870c5e2a9065a488451bac Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Sat, 4 Oct 2025 13:53:29 -0300 Subject: [PATCH 005/104] fix: correct mongodb service dependency in docker-compose.yml --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 387895c..73cc659 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,7 +15,7 @@ services: - .:/usr/src/app - /usr/src/app/node_modules depends_on: - - mongodb x + - mongodb mongodb: image: mongo:latest container_name: mongodb From 52742716d37d9e05d125e62200af66209f714109 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Sat, 4 Oct 2025 14:27:26 -0300 Subject: [PATCH 006/104] feat: update Docker setup for production build and environment variables --- docker-compose.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 73cc659..f62d3bd 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,11 +17,11 @@ services: depends_on: - mongodb mongodb: - image: mongo:latest + image: mongo:4.4 container_name: mongodb environment: - - MONGO_INITDB_ROOT_USERNAME=root - - MONGO_INITDB_ROOT_PASSWORD=root + - MONGO_INITDB_ROOT_USERNAME=${MONGO_USER} + - MONGO_INITDB_ROOT_PASSWORD=${MONGO_PASSWORD} ports: - "27017:27017" volumes: From 8aea2ff8e45c4a2d45853311486229f63d76429d Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Thu, 9 Oct 2025 22:21:04 -0300 Subject: [PATCH 007/104] feat: update docker-compose for MongoDB and enable HTTPS in main.ts --- .gitignore | 5 +++++ docker-compose.yml | 6 +++--- src/main.ts | 24 ++++++++++++++++-------- 3 files changed, 24 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index a99e22c..33247cb 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,11 @@ /node_modules /build +# Certificados SSL/TLS +certs/ + +docker-compose.yml + # Logs logs *.log diff --git a/docker-compose.yml b/docker-compose.yml index f62d3bd..73cc659 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,11 +17,11 @@ services: depends_on: - mongodb mongodb: - image: mongo:4.4 + image: mongo:latest container_name: mongodb environment: - - MONGO_INITDB_ROOT_USERNAME=${MONGO_USER} - - MONGO_INITDB_ROOT_PASSWORD=${MONGO_PASSWORD} + - MONGO_INITDB_ROOT_USERNAME=root + - MONGO_INITDB_ROOT_PASSWORD=root ports: - "27017:27017" volumes: diff --git a/src/main.ts b/src/main.ts index e2202df..2459a75 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,26 +1,34 @@ import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; -import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger'; -import { config } from 'dotenv'; - -config({ path: `.env.${process.env.NODE_ENV || 'development'}` }); - -console.log(`Current NODE_ENV: ${process.env.NODE_ENV}`); +import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger'; +import * as fs from 'fs'; +import * as path from 'path'; async function bootstrap() { + // Rutas a certificados dentro de 'dist/certs' después de compilar + const httpsOptions = { + key: fs.readFileSync(path.resolve(__dirname, '../../src/certs/key.pem')), + cert: fs.readFileSync(path.resolve(__dirname, '../../src/certs/cert.pem')), + }; + const app = await NestFactory.create(AppModule, { + httpsOptions, // Habilita HTTPS logger: ['error', 'warn', 'log'], }); + + // Prefijo global app.setGlobalPrefix('api/v1'); + + // Configuración de Swagger const config = new DocumentBuilder() .setTitle('Rayuela backend API') .setDescription('API para la app de rayuela') .setVersion('1.0') .build(); - const document = SwaggerModule.createDocument(app, config); - SwaggerModule.setup('docs', app, document); + + // CORS app.enableCors(); await app.listen(3000); } From 4f117b92736b4ea849e6780261c998b3250048de Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Mon, 13 Oct 2025 22:28:52 -0300 Subject: [PATCH 008/104] fix: update MongoDB image version to 4.4 and remove HTTPS options from main.ts --- docker-compose.yml | 3 ++- src/main.ts | 9 --------- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 73cc659..13ab3d6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,7 +17,7 @@ services: depends_on: - mongodb mongodb: - image: mongo:latest + image: mongo:4.4 container_name: mongodb environment: - MONGO_INITDB_ROOT_USERNAME=root @@ -29,3 +29,4 @@ services: volumes: mongodb_data: + diff --git a/src/main.ts b/src/main.ts index 2459a75..b685756 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,18 +1,9 @@ import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger'; -import * as fs from 'fs'; -import * as path from 'path'; async function bootstrap() { - // Rutas a certificados dentro de 'dist/certs' después de compilar - const httpsOptions = { - key: fs.readFileSync(path.resolve(__dirname, '../../src/certs/key.pem')), - cert: fs.readFileSync(path.resolve(__dirname, '../../src/certs/cert.pem')), - }; - const app = await NestFactory.create(AppModule, { - httpsOptions, // Habilita HTTPS logger: ['error', 'warn', 'log'], }); From b8e96d252cc3e50281f393a8c8d9dd772f472e6c Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Mon, 13 Oct 2025 22:53:48 -0300 Subject: [PATCH 009/104] feat: update MongoDB environment variables and adjust global API prefix --- docker-compose.yml | 12 +++++++++--- src/main.ts | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 13ab3d6..a3ff7a0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -16,17 +16,23 @@ services: - /usr/src/app/node_modules depends_on: - mongodb + networks: + - rayuela_net mongodb: image: mongo:4.4 container_name: mongodb environment: - - MONGO_INITDB_ROOT_USERNAME=root - - MONGO_INITDB_ROOT_PASSWORD=root + - MONGO_INITDB_ROOT_USERNAME={MONGO_USER} + - MONGO_INITDB_ROOT_PASSWORD={MONGO_PASSWORD} ports: - "27017:27017" volumes: - mongodb_data:/data/db - + networks: + - rayuela_net volumes: mongodb_data: +networks: + rayuela_net: + external: true diff --git a/src/main.ts b/src/main.ts index b685756..7654a7a 100644 --- a/src/main.ts +++ b/src/main.ts @@ -8,7 +8,7 @@ async function bootstrap() { }); // Prefijo global - app.setGlobalPrefix('api/v1'); + app.setGlobalPrefix('v1'); // Configuración de Swagger const config = new DocumentBuilder() From 5ae22975e4d01916c20279ca7b40692f3c59f141 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Mon, 13 Oct 2025 22:58:34 -0300 Subject: [PATCH 010/104] fix: use FRONTEND_URL environment variable for email verification link --- src/module/auth/auth.service.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/module/auth/auth.service.ts b/src/module/auth/auth.service.ts index a920644..2c2cb81 100644 --- a/src/module/auth/auth.service.ts +++ b/src/module/auth/auth.service.ts @@ -87,10 +87,7 @@ export class AuthService { registerDto: RegisterUserDTO, ) { // Envía el correo de verificación - const host = - process.env.NODE_ENV === 'production' - ? 'https://rayuela-frontend.vercel.app' - : 'http://localhost:5173'; + const host = process.env.FRONTEND_URL; const verificationLink = `${host}/verify-email?token=${verificationToken}`; const mailOptions = { from: 'noreply@rayuela.com', From 20b585ebf6a800a1a825929bd73b76fffebfa19e Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Mon, 13 Oct 2025 23:02:38 -0300 Subject: [PATCH 011/104] fix: use FRONTEND_URL environment variable for email verification link --- src/module/auth/auth.service.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/module/auth/auth.service.ts b/src/module/auth/auth.service.ts index 2c2cb81..4ece813 100644 --- a/src/module/auth/auth.service.ts +++ b/src/module/auth/auth.service.ts @@ -132,10 +132,8 @@ export class AuthService { const resetToken = uuidv4(); await this.usersService.saveResetToken(user.id, resetToken); - const host = - process.env.NODE_ENV === 'production' - ? 'https://rayuela-frontend.vercel.app' - : 'http://localhost:5173'; + const host = process.env.FRONTEND_URL; + const resetLink = `${host}/reset-password?token=${resetToken}`; const mailOptions = { from: 'noreply@rayuela.com', // Dirección de correo del remitente From 4a346eac0290dce55f307e48a9c50a20b3de3dfc Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Wed, 15 Oct 2025 21:13:07 -0300 Subject: [PATCH 012/104] fix: remove unnecessary await from sendMail calls in auth.service.ts --- src/module/auth/auth.service.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/module/auth/auth.service.ts b/src/module/auth/auth.service.ts index 4ece813..11ed764 100644 --- a/src/module/auth/auth.service.ts +++ b/src/module/auth/auth.service.ts @@ -97,7 +97,7 @@ export class AuthService { }; try { - await this.transporter.sendMail(mailOptions); + this.transporter.sendMail(mailOptions); console.log('Correo de verificación enviado con éxito'); } catch (error) { console.error('Error al enviar el correo de verificación:', error); @@ -143,7 +143,7 @@ export class AuthService { }; try { - await this.transporter.sendMail(mailOptions); + this.transporter.sendMail(mailOptions); console.log('Correo enviado con éxito'); } catch (error) { console.error('Error al enviar el correo:', error); From 11c2a61e24c0acdbb208d457d218d422708f67e9 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Thu, 16 Oct 2025 01:07:52 -0300 Subject: [PATCH 013/104] feat: add endpoint to remove useless tasks from a project and implement deletion logic --- src/module/project/persistence/project.dao.ts | 16 ++++++++------ src/module/project/project.service.ts | 3 ++- src/module/task/persistence/task.dao.ts | 22 ++++++++++++++++++- src/module/task/task.controller.ts | 7 ++++++ src/module/task/task.service.ts | 9 +++++--- 5 files changed, 45 insertions(+), 12 deletions(-) diff --git a/src/module/project/persistence/project.dao.ts b/src/module/project/persistence/project.dao.ts index 63828d6..039a9d2 100644 --- a/src/module/project/persistence/project.dao.ts +++ b/src/module/project/persistence/project.dao.ts @@ -73,13 +73,15 @@ export class ProjectDao { updateProjectDto: UpdateProjectDto, ): Promise { const oldProject = await this.projectModel.findById(id); - updateProjectDto.areas = { - type: 'FeatureCollection', - features: this.getNewFeaturesFor( - oldProject.areas.features, - updateProjectDto.areas.features, - ), - }; + if (updateProjectDto.areas) { + updateProjectDto.areas = { + type: 'FeatureCollection', + features: this.getNewFeaturesFor( + oldProject.areas.features, + updateProjectDto.areas.features, + ), + }; + } if (!oldProject) { throw new NotFoundException('Project not found'); } diff --git a/src/module/project/project.service.ts b/src/module/project/project.service.ts index 417e577..907bd7a 100644 --- a/src/module/project/project.service.ts +++ b/src/module/project/project.service.ts @@ -63,7 +63,8 @@ export class ProjectService { id: string, updateProjectDto: UpdateProjectDto, ): Promise { - return this.projectDao.update(id, updateProjectDto); + const p = this.projectDao.update(id, updateProjectDto); + return p; } async toggleAvailable(id: string): Promise { diff --git a/src/module/task/persistence/task.dao.ts b/src/module/task/persistence/task.dao.ts index 64adb8c..77a5626 100644 --- a/src/module/task/persistence/task.dao.ts +++ b/src/module/task/persistence/task.dao.ts @@ -6,7 +6,6 @@ import { Task } from '../entities/task.entity'; import { CreateTaskDto } from '../dto/create-task.dto'; import { ProjectDao } from '../../project/persistence/project.dao'; import { TimeInterval } from '../entities/time-restriction.entity'; -import { ProjectTemplate } from '../../project/persistence/project.schema'; import { Project } from '../../project/entities/project'; @Injectable() @@ -135,4 +134,25 @@ export class TaskDao { return updatedTask; } + + async deleteUseless(project: Project): Promise { + const validTaskTypes = project.taskTypes; + const validTimeIntervals = project.timeIntervals.map((ti) => ti.name); + const validAreaIds = project.areas.features.map((f) => + f.properties.id?.toString(), + ); + + const result = await this.taskModel + .deleteMany({ + projectId: project.id, + $or: [ + { type: { $nin: validTaskTypes } }, + { timeIntervalId: { $nin: validTimeIntervals } }, + { areaId: { $nin: validAreaIds } }, + ], + }) + .exec(); + + return result.deletedCount; + } } diff --git a/src/module/task/task.controller.ts b/src/module/task/task.controller.ts index 7b41de6..2ddb749 100644 --- a/src/module/task/task.controller.ts +++ b/src/module/task/task.controller.ts @@ -31,6 +31,13 @@ export class TaskController { return this.taskService.bulkSave(projectId, createTaskDtoList); } + @UseGuards(JwtAuthGuard, RolesGuard) + @Roles(UserRole.Admin) + @Delete('/project/:id/useless') + removeUselessFromProject(@Param('id') projectId: string) { + return this.taskService.removeUselessFrom(projectId); + } + @UseGuards(JwtAuthGuard, RolesGuard) @Roles(UserRole.Admin) @Post() diff --git a/src/module/task/task.service.ts b/src/module/task/task.service.ts index 3f6df6d..67fad43 100644 --- a/src/module/task/task.service.ts +++ b/src/module/task/task.service.ts @@ -9,7 +9,6 @@ import { TaskDao } from './persistence/task.dao'; import { Task } from './entities/task.entity'; import { ProjectService } from '../project/project.service'; import { BasicPointsEngine } from '../gamification/entities/engine/gamification/basic-points-engine'; -import { AdaptiveRecommendationEngine } from '../gamification/entities/engine/recommendation/adaptive-recommendation-engine'; import { UserService } from '../auth/users/user.service'; import { RecommendationEngineFactory } from '../gamification/entities/engine/recommendation/recommendation-engine-factory'; @@ -76,12 +75,16 @@ export class TaskService { } async bulkSave(projectId: string, createTaskDtoList: CreateTaskDto[]) { - const count = await this.taskDao.deleteByProjectId(projectId); - console.log(count + ' tasks deleted'); + await this.taskDao.deleteByProjectId(projectId); return await this.taskDao.bulkSave(createTaskDtoList); } async setTaskAsSolved(id: string) { return await this.taskDao.setTaskAsSolved(id); } + + async removeUselessFrom(projectId: string) { + const p = await this.projectService.findOne(projectId); + return await this.taskDao.deleteUseless(p); + } } From b87170baad2e51f205f1dfbb93d5bc70af1bf901 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Thu, 16 Oct 2025 01:09:55 -0300 Subject: [PATCH 014/104] refactor: simplify validation methods in task entity by removing unnecessary logging --- src/module/task/entities/task.entity.ts | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/src/module/task/entities/task.entity.ts b/src/module/task/entities/task.entity.ts index 5d7fed4..ff0ae94 100644 --- a/src/module/task/entities/task.entity.ts +++ b/src/module/task/entities/task.entity.ts @@ -76,34 +76,19 @@ export class Task { } private isValidTimeRestriction(date: Date): boolean { - const isValid = this.#timeInterval.satisfy(date); - !isValid && - console.log( - `[VALIDATION] Date ${date} is not valid for restriction: ${JSON.stringify(this.#timeInterval)}`, - ); - return isValid; + return this.#timeInterval.satisfy(date); } private isSameProject(checkin: Checkin) { - const isValid = checkin.projectId === this.#projectId; - !isValid && - console.log( - `[VALIDATION] Projects mismatch between ${checkin.projectId} and ${this.#projectId}`, - ); - return isValid; + return checkin.projectId === this.#projectId; } private isValidArea(checkin: Checkin) { - const isValid = GeoUtils.isPointInPolygon( + return GeoUtils.isPointInPolygon( parseFloat(checkin.longitude), parseFloat(checkin.latitude), this.#areaGeoJSON.geometry, ); - !isValid && - console.log( - `[VALIDATION] Point out of area ${checkin.latitude} ${checkin.longitude} and ${JSON.stringify(this.#areaGeoJSON.geometry)}`, - ); - return isValid; } private isSameTaskType(checkin: Checkin) { From 6574a35e107c038c891aa871ece09ea7fa632a24 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Thu, 16 Oct 2025 10:07:21 -0300 Subject: [PATCH 015/104] feat: add manualLocation property to project DTO and related files --- src/module/project/dto/create-project.dto.ts | 1 + src/module/project/entities/ProjectMapper.ts | 2 ++ src/module/project/entities/project.ts | 3 +++ src/module/project/persistence/project.dao.ts | 1 + src/module/project/persistence/project.schema.ts | 3 +++ src/module/project/project.controller.ts | 4 ++++ 6 files changed, 14 insertions(+) diff --git a/src/module/project/dto/create-project.dto.ts b/src/module/project/dto/create-project.dto.ts index da70e50..301a270 100644 --- a/src/module/project/dto/create-project.dto.ts +++ b/src/module/project/dto/create-project.dto.ts @@ -16,6 +16,7 @@ export class CreateProjectDto { image: string; web?: string; available: boolean; + manualLocation: boolean; areas: FeatureCollection; taskTypes: string[]; timeIntervals: TimeInterval[]; diff --git a/src/module/project/entities/ProjectMapper.ts b/src/module/project/entities/ProjectMapper.ts index 7a53e6d..9134c93 100644 --- a/src/module/project/entities/ProjectMapper.ts +++ b/src/module/project/entities/ProjectMapper.ts @@ -21,6 +21,7 @@ export class ProjectMapper { null, template.gamificationStrategy as GamificationStrategy, template.recomemendationStrategy as RecommendationStrategy, + template.manualLocation, ); } @@ -35,6 +36,7 @@ export class ProjectMapper { taskTypes: entity.taskTypes, timeIntervals: entity.timeIntervals, ownerId: entity.ownerId, + manualLocation: entity.manualLocation, }; } } diff --git a/src/module/project/entities/project.ts b/src/module/project/entities/project.ts index d0b77e7..a83f3d8 100644 --- a/src/module/project/entities/project.ts +++ b/src/module/project/entities/project.ts @@ -21,6 +21,7 @@ export class Project { gamification: Gamification, gamificationStrategy: GamificationStrategy, recommendationStrategy: RecommendationStrategy, + manualLocation: boolean, ) { this.id = id; this.name = name; @@ -35,6 +36,7 @@ export class Project { this.gamification = gamification; this.gamificationStrategy = gamificationStrategy; this.recommendationStrategy = recommendationStrategy; + this.manualLocation = manualLocation; } id: string; @@ -50,4 +52,5 @@ export class Project { gamification: Gamification; gamificationStrategy: GamificationStrategy; recommendationStrategy: RecommendationStrategy; + manualLocation: boolean; } diff --git a/src/module/project/persistence/project.dao.ts b/src/module/project/persistence/project.dao.ts index 039a9d2..f275e5c 100644 --- a/src/module/project/persistence/project.dao.ts +++ b/src/module/project/persistence/project.dao.ts @@ -55,6 +55,7 @@ export class ProjectDao { gamification, project.gamificationStrategy as GamificationStrategy, project.recomemendationStrategy as RecommendationStrategy, + project.manualLocation, ); } diff --git a/src/module/project/persistence/project.schema.ts b/src/module/project/persistence/project.schema.ts index 2301e8d..42bc63b 100644 --- a/src/module/project/persistence/project.schema.ts +++ b/src/module/project/persistence/project.schema.ts @@ -25,6 +25,9 @@ export class ProjectTemplate { @Prop({ required: true }) available: boolean; + @Prop({ required: true }) + manualLocation: boolean; + @Prop({ type: MongooseSchema.Types.Mixed, default: {} }) // Permite cualquier tipo areas: any; diff --git a/src/module/project/project.controller.ts b/src/module/project/project.controller.ts index 1684223..259ba3f 100644 --- a/src/module/project/project.controller.ts +++ b/src/module/project/project.controller.ts @@ -98,6 +98,7 @@ export class ProjectController { 'https://img.freepik.com/vector-gratis/paisaje-lago-diseno-plano_52683-76609.jpg', web: 'https://www.unq.edu.ar/', available: true, + manualLocation: true, areas: { type: 'FeatureCollection', features: [ @@ -1240,6 +1241,7 @@ export class ProjectController { 'https://img.freepik.com/vector-gratis/paisaje-lago-diseno-plano_52683-76609.jpg', web: 'https://www.unq.edu.ar/', available: true, + manualLocation: true, areas: { type: 'FeatureCollection', features: [ @@ -2382,6 +2384,7 @@ export class ProjectController { 'https://img.freepik.com/vector-gratis/paisaje-lago-diseno-plano_52683-76609.jpg', web: 'https://www.unq.edu.ar/', available: true, + manualLocation: true, areas: { type: 'FeatureCollection', features: [ @@ -3524,6 +3527,7 @@ export class ProjectController { 'https://img.freepik.com/vector-gratis/paisaje-lago-diseno-plano_52683-76609.jpg', web: 'https://www.unq.edu.ar/', available: true, + manualLocation: true, areas: { type: 'FeatureCollection', features: [ From 0650a4da2bebb76caa2697c8587c2501911eb80f Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Thu, 16 Oct 2025 12:53:20 -0300 Subject: [PATCH 016/104] fix: improve point-in-polygon check and refine date range validation logic --- src/module/task/entities/time-restriction.entity.ts | 3 +-- src/module/task/utils/geoUtils.ts | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/module/task/entities/time-restriction.entity.ts b/src/module/task/entities/time-restriction.entity.ts index 9b3f88f..5dee88f 100644 --- a/src/module/task/entities/time-restriction.entity.ts +++ b/src/module/task/entities/time-restriction.entity.ts @@ -19,8 +19,7 @@ export class TimeInterval { const isValidHour = hour >= this.time.start && hour < this.time.end; const isWithinDateRange = - datetime >= this.startDate && datetime <= this.endDate; - + !this.endDate || (datetime >= this.startDate && datetime <= this.endDate); return isValidDay && isValidHour && isWithinDateRange; } diff --git a/src/module/task/utils/geoUtils.ts b/src/module/task/utils/geoUtils.ts index 0e6d6bd..255538d 100644 --- a/src/module/task/utils/geoUtils.ts +++ b/src/module/task/utils/geoUtils.ts @@ -12,8 +12,9 @@ export class GeoUtils { const mapPoint = point([longitude, latitude]); // Verificar si el punto está dentro del polígono - return booleanPointInPolygon(mapPoint, polygonGeoJSON as Polygon, { + const res = booleanPointInPolygon(mapPoint, polygonGeoJSON as Polygon, { ignoreBoundary: false, }); + return res; } } From fca5ea4632b6095921a3e3b57b6cc75321405948 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Thu, 16 Oct 2025 22:59:28 -0300 Subject: [PATCH 017/104] feat: add public endpoint to retrieve project details by ID --- src/module/project/project.controller.ts | 5 +++++ src/module/project/project.service.ts | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/src/module/project/project.controller.ts b/src/module/project/project.controller.ts index 259ba3f..c79d4b4 100644 --- a/src/module/project/project.controller.ts +++ b/src/module/project/project.controller.ts @@ -50,6 +50,11 @@ export class ProjectController { return this.projectService.findOne(id, userId); } + @Get('public/:id') + findOnePublic(@Param('id') id: string) { + return this.projectService.findOnePublic(id); + } + @UseGuards(JwtAuthGuard, RolesGuard) @Roles(UserRole.Admin) @Patch(':id') diff --git a/src/module/project/project.service.ts b/src/module/project/project.service.ts index 907bd7a..55f5d52 100644 --- a/src/module/project/project.service.ts +++ b/src/module/project/project.service.ts @@ -96,4 +96,8 @@ export class ProjectService { }); return combinations; } + + findOnePublic(id: string) { + return this.projectDao.findOne(id); + } } From 838c87122a34b64c30c37929fa2632a03df4b2d2 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Fri, 17 Oct 2025 11:19:16 -0300 Subject: [PATCH 018/104] feat: enhance point rule logic to include contribution requirement in matching --- .../entities/engine/gamification/basic-points-engine.ts | 4 +++- src/module/gamification/entities/gamification.entity.ts | 7 +++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/module/gamification/entities/engine/gamification/basic-points-engine.ts b/src/module/gamification/entities/engine/gamification/basic-points-engine.ts index 6d05b22..8cd2476 100644 --- a/src/module/gamification/entities/engine/gamification/basic-points-engine.ts +++ b/src/module/gamification/entities/engine/gamification/basic-points-engine.ts @@ -53,7 +53,9 @@ export class BasicPointsEngine implements PointsEngine { const matchTime = ti?.satisfy(checkin.date) || r.timeIntervalId === 'Cualquiera'; - return matchType && matchArea && matchTime; + const contributes = r.mustContribute ? checkin.contributesTo : true; + + return matchType && matchArea && matchTime && contributes; } private findArea(areas: FeatureCollection, areaId: string) { diff --git a/src/module/gamification/entities/gamification.entity.ts b/src/module/gamification/entities/gamification.entity.ts index 3ac7fdf..c917f49 100644 --- a/src/module/gamification/entities/gamification.entity.ts +++ b/src/module/gamification/entities/gamification.entity.ts @@ -57,13 +57,16 @@ export class BadgeRule { } export class PointRule { + get mustContribute(): boolean { + return this._mustContribute; + } _id: string; projectId: string; taskType: string; areaId: string; timeIntervalId: string; score: number; - mustContribute: boolean; + private _mustContribute: boolean; constructor( id: string, @@ -80,7 +83,7 @@ export class PointRule { this.areaId = areaId; this.timeIntervalId = timeIntervalId; this.score = score; - this.mustContribute = mustContribute; + this._mustContribute = mustContribute; } matchTimeInterval(timeIntervalId: string) { From cb44281b1ebba5192b92dba0a4cb86c47ace7fa4 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Fri, 17 Oct 2025 11:26:37 -0300 Subject: [PATCH 019/104] feat: update point calculation to require contribution for scoring --- .../entities/engine/gamification/basic-points-engine.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/module/gamification/entities/engine/gamification/basic-points-engine.ts b/src/module/gamification/entities/engine/gamification/basic-points-engine.ts index 8cd2476..849ff87 100644 --- a/src/module/gamification/entities/engine/gamification/basic-points-engine.ts +++ b/src/module/gamification/entities/engine/gamification/basic-points-engine.ts @@ -73,7 +73,9 @@ export class BasicPointsEngine implements PointsEngine { calculatePoints(task: Task, project: Project & { user?: UserStatus }) { return project.gamification.pointRules.reduce((acc, rule) => { - return acc + (rule.matchTask(task) ? rule.score : 0); + return ( + acc + (rule.matchTask(task) && rule.mustContribute ? rule.score : 0) + ); }, 0); } } From 229af7b0f02278c309fbeca945e4f7954dbf9c5a Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Fri, 17 Oct 2025 13:42:42 -0300 Subject: [PATCH 020/104] feat: limit check-ins retrieved by project ID to 8 and set default for contributesTo --- src/module/checkin/persistence/checkin.dao.ts | 2 +- src/module/checkin/persistence/checkin.schema.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/module/checkin/persistence/checkin.dao.ts b/src/module/checkin/persistence/checkin.dao.ts index 4b3fb6e..a7cae0f 100644 --- a/src/module/checkin/persistence/checkin.dao.ts +++ b/src/module/checkin/persistence/checkin.dao.ts @@ -67,6 +67,6 @@ export class CheckInDao { } findByProjectId(userId: string, projectId: string) { - return this.checkInModel.find({ projectId, userId }).exec(); + return this.checkInModel.find({ projectId, userId }).limit(8).exec(); } } diff --git a/src/module/checkin/persistence/checkin.schema.ts b/src/module/checkin/persistence/checkin.schema.ts index 677f977..8b00ea0 100644 --- a/src/module/checkin/persistence/checkin.schema.ts +++ b/src/module/checkin/persistence/checkin.schema.ts @@ -23,7 +23,7 @@ export class CheckInTemplate { @Prop({ required: true }) taskType: string; - @Prop({ type: String }) + @Prop({ type: String, default: '' }) contributesTo: string; constructor( From bfefb935abe1eb1fb8c2b6705385b6077f0b46ca Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Fri, 17 Oct 2025 22:23:21 -0300 Subject: [PATCH 021/104] feat: sort check-ins by datetime in findByProjectId and retrieve users for task recommendations --- src/module/checkin/persistence/checkin.dao.ts | 6 +++++- src/module/task/task.service.ts | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/module/checkin/persistence/checkin.dao.ts b/src/module/checkin/persistence/checkin.dao.ts index a7cae0f..6cd9486 100644 --- a/src/module/checkin/persistence/checkin.dao.ts +++ b/src/module/checkin/persistence/checkin.dao.ts @@ -67,6 +67,10 @@ export class CheckInDao { } findByProjectId(userId: string, projectId: string) { - return this.checkInModel.find({ projectId, userId }).limit(8).exec(); + return this.checkInModel + .find({ projectId, userId }) + .sort({ datetime: -1 }) + .limit(8) + .exec(); } } diff --git a/src/module/task/task.service.ts b/src/module/task/task.service.ts index 67fad43..0abc5ee 100644 --- a/src/module/task/task.service.ts +++ b/src/module/task/task.service.ts @@ -38,6 +38,7 @@ export class TaskService { async findRawByProjectId(projectId: string, username: string): Promise { const allTasks = await this.taskDao.getRawTasksByProject(projectId); const user = await this.userService.findByEmailOrUsername('', username); + const users = await this.userService.findAllByProjectId(projectId); const project = await this.projectService.findOne(projectId); const recommendationEngine = this.recommendationFactory.getEngine( project.recommendationStrategy, @@ -50,6 +51,8 @@ export class TaskService { ); return recommendations.map((tr) => ({ ...tr.task.toJSON(), + solvedBy: users.find((u) => u.contributions.includes(tr.task.getId())) + ?.username, points: new BasicPointsEngine().calculatePoints(tr.task, project), })); } From 6959a136c1960aeda6382cddb55d7f8ca2f91d0f Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Fri, 17 Oct 2025 22:46:04 -0300 Subject: [PATCH 022/104] feat: improve user contribution check for task recommendations --- src/module/task/task.service.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/module/task/task.service.ts b/src/module/task/task.service.ts index 0abc5ee..dbe9609 100644 --- a/src/module/task/task.service.ts +++ b/src/module/task/task.service.ts @@ -51,8 +51,9 @@ export class TaskService { ); return recommendations.map((tr) => ({ ...tr.task.toJSON(), - solvedBy: users.find((u) => u.contributions.includes(tr.task.getId())) - ?.username, + solvedBy: users.find((u) => + u.contributions.map((id) => id.toString()).includes(tr.task.getId()), + )?.username, points: new BasicPointsEngine().calculatePoints(tr.task, project), })); } From f47ffb2d30cc4a7ba9586b5ed552e2bc4bab8e17 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Fri, 17 Oct 2025 22:59:22 -0300 Subject: [PATCH 023/104] feat: improve task recommendation logic for solvedBy user retrieval --- src/module/task/task.service.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/module/task/task.service.ts b/src/module/task/task.service.ts index dbe9609..616b09d 100644 --- a/src/module/task/task.service.ts +++ b/src/module/task/task.service.ts @@ -51,9 +51,11 @@ export class TaskService { ); return recommendations.map((tr) => ({ ...tr.task.toJSON(), - solvedBy: users.find((u) => - u.contributions.map((id) => id.toString()).includes(tr.task.getId()), - )?.username, + solvedBy: users.find((u) => { + return u.contributions + .map((id) => id.toString()) + .includes(tr.task.getId().toString()); + })?.username, points: new BasicPointsEngine().calculatePoints(tr.task, project), })); } From a1efa2fac5f3c28df5baeed888dd3434bd8389ca Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Tue, 21 Oct 2025 10:15:26 -0300 Subject: [PATCH 024/104] feat: set default value for manualLocation to false in project schema --- src/module/project/persistence/project.schema.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/module/project/persistence/project.schema.ts b/src/module/project/persistence/project.schema.ts index 42bc63b..17ebb87 100644 --- a/src/module/project/persistence/project.schema.ts +++ b/src/module/project/persistence/project.schema.ts @@ -25,7 +25,7 @@ export class ProjectTemplate { @Prop({ required: true }) available: boolean; - @Prop({ required: true }) + @Prop({ required: true, default: false }) manualLocation: boolean; @Prop({ type: MongooseSchema.Types.Mixed, default: {} }) // Permite cualquier tipo From b33a98b61b5b6792dbe61483d4257dff14b3b90f Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Wed, 22 Oct 2025 13:14:45 -0300 Subject: [PATCH 025/104] feat: refactor badge rule matching to include contribution verification --- .../engine/gamification/basic-badge-engine.ts | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/module/gamification/entities/engine/gamification/basic-badge-engine.ts b/src/module/gamification/entities/engine/gamification/basic-badge-engine.ts index eccf2d7..4d73b2b 100644 --- a/src/module/gamification/entities/engine/gamification/basic-badge-engine.ts +++ b/src/module/gamification/entities/engine/gamification/basic-badge-engine.ts @@ -26,11 +26,10 @@ export class BasicBadgeEngine implements BadgeEngine { private ruleMatch(r: BadgeRule, checkin: Checkin, project: Project, u: User) { return ( this.userHasPreviousBadges(r, u) && - (r.mustContribute - ? this.matchTaskType(r, checkin, project) && - this.matchTimeInterval(r, checkin, project) && - this.matchArea(r, checkin, project) - : true) + this.matchTaskType(r, checkin, project) && + this.matchTimeInterval(r, checkin, project) && + this.matchArea(r, checkin, project) && + this.verifyContributes(r, checkin) ); } @@ -88,4 +87,11 @@ export class BasicBadgeEngine implements BadgeEngine { private userHasPreviousBadges(r: BadgeRule, u: User) { return r.previousBadges.every((b) => u.hasBadgeWithName(b)); } + + private verifyContributes(r: BadgeRule, checkin: Checkin) { + if (r.mustContribute) { + return !!checkin.contributesTo; + } + return true; + } } From 0a21d921b02f20c0fcd346552634cdb6fe010244 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Wed, 22 Oct 2025 17:34:06 -0300 Subject: [PATCH 026/104] feat: change time fields to use Date type for better accuracy in time restrictions --- .../project/persistence/project.schema.ts | 4 +- src/module/project/project.controller.ts | 4580 ----------------- .../task/entities/time-restriction.entity.ts | 10 +- 3 files changed, 6 insertions(+), 4588 deletions(-) diff --git a/src/module/project/persistence/project.schema.ts b/src/module/project/persistence/project.schema.ts index 17ebb87..8106a5e 100644 --- a/src/module/project/persistence/project.schema.ts +++ b/src/module/project/persistence/project.schema.ts @@ -47,8 +47,8 @@ export class ProjectTemplate { name: { type: String, required: true }, days: { type: [Number], required: true }, // Lista de números para los días (1 a 7) time: { - start: { type: Number, required: true, min: 0, max: 23 }, // Hora de inicio - end: { type: Number, required: true, min: 0, max: 23 }, // Hora de fin + start: { type: String, required: true }, // Hora de inicio + end: { type: String, required: true }, // Hora de fin }, startDate: { type: Date, required: true }, endDate: { type: Date, required: true }, diff --git a/src/module/project/project.controller.ts b/src/module/project/project.controller.ts index c79d4b4..0185cf7 100644 --- a/src/module/project/project.controller.ts +++ b/src/module/project/project.controller.ts @@ -68,4584 +68,4 @@ export class ProjectController { toggleAvailable(@Param('id') id: string) { return this.projectService.toggleAvailable(id); } - - @Post('init') - init() { - const projects: CreateProjectDto[] = [ - { - name: 'Anticipando la crecida', - ownerId: '66e9ec13b985ec9c2d0fd9db', - timeIntervals: [ - { - name: 'a la tarde', - startDate: new Date(), - endDate: new Date('01/01/2026'), - days: [1, 2, 3, 4, 5], - time: { - start: 0, - end: 19, - }, - } as TimeInterval, - { - name: 'finde morning', - startDate: new Date(), - endDate: new Date('01/01/2026'), - days: [6, 7], - time: { - start: 0, - end: 11, - }, - } as TimeInterval, - ], - description: - 'Estrategias comunitarias para la reducción de desastres e inundaciones urbanas. Contribuir en la reducción de riesgos ante desastres asociados a eventos hidro-meteorológicos, mediante el diálogo con actores territoriales con el fin de fortalecer el sistema de alerta temprana comunitario centrado en la población.', - image: - 'https://img.freepik.com/vector-gratis/paisaje-lago-diseno-plano_52683-76609.jpg', - web: 'https://www.unq.edu.ar/', - available: true, - manualLocation: true, - areas: { - type: 'FeatureCollection', - features: [ - { - type: 'Feature', - properties: { - cid: '0', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 1, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72499997199998, -36.65485191799996], - [-69.7251911063333, -36.65485984966663], - [-69.72517993255157, -36.65512911127481], - [-69.72498879821825, -36.655121179608145], - [-69.72499997199998, -36.65485191799996], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '1', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 2, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.7251911063333, -36.65485984966663], - [-69.72538224066663, -36.6548677813333], - [-69.7253710668849, -36.65513704294148], - [-69.72517993255157, -36.65512911127481], - [-69.7251911063333, -36.65485984966663], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '2', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 3, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72538224066663, -36.6548677813333], - [-69.72557337499995, -36.65487571299997], - [-69.725525177603, -36.655138175770055], - [-69.7253710668849, -36.65513704294148], - [-69.72538224066663, -36.6548677813333], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '3', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 4, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72557337499995, -36.65487571299997], - [-69.72571614249995, -36.65492330199996], - [-69.72563092148776, -36.65517896593195], - [-69.725525177603, -36.655138175770055], - [-69.72557337499995, -36.65487571299997], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '4', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 5, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72571614249995, -36.65492330199996], - [-69.72585890999994, -36.65497089099995], - [-69.7258550186, -36.65522778689421], - [-69.72563092148776, -36.65517896593195], - [-69.72571614249995, -36.65492330199996], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '5', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 6, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72585890999994, -36.65497089099995], - [-69.72603736949995, -36.65491735324996], - [-69.72611480771225, -36.65517548110648], - [-69.7258550186, -36.65522778689421], - [-69.72585890999994, -36.65497089099995], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '6', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 7, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72603736949995, -36.65491735324996], - [-69.72621582899995, -36.654863815499965], - [-69.72629326721226, -36.65512194335649], - [-69.72611480771225, -36.65517548110648], - [-69.72603736949995, -36.65491735324996], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '7', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 8, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72621582899995, -36.654863815499965], - [-69.72639428849996, -36.654810277749974], - [-69.72647172671226, -36.6550684056065], - [-69.72629326721226, -36.65512194335649], - [-69.72621582899995, -36.654863815499965], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '8', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 9, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72639428849996, -36.654810277749974], - [-69.72657274799997, -36.65475673999998], - [-69.72661146710612, -36.65502055060449], - [-69.72647172671226, -36.6550684056065], - [-69.72639428849996, -36.654810277749974], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '9', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 10, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72657274799997, -36.65475673999998], - [-69.72677103666662, -36.65475673999998], - [-69.72677103666662, -36.65502623335248], - [-69.72661146710612, -36.65502055060449], - [-69.72657274799997, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '10', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 11, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72677103666662, -36.65475673999998], - [-69.72696932533329, -36.65475673999998], - [-69.72696932533329, -36.65502623335248], - [-69.72677103666662, -36.65502623335248], - [-69.72677103666662, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '11', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 12, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72696932533329, -36.65475673999998], - [-69.72716761399994, -36.65475673999998], - [-69.72719906031293, -36.6550225126132], - [-69.72696932533329, -36.65502623335248], - [-69.72696932533329, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '12', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 13, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72716761399994, -36.65475673999998], - [-69.72736590233329, -36.65470915066663], - [-69.72742879495927, -36.65497120254058], - [-69.72719906031293, -36.6550225126132], - [-69.72716761399994, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '13', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 14, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72736590233329, -36.65470915066663], - [-69.72756419066663, -36.654661561333285], - [-69.7276270832926, -36.65492361320723], - [-69.72742879495927, -36.65497120254058], - [-69.72736590233329, -36.65470915066663], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '14', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 15, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72756419066663, -36.654661561333285], - [-69.72776247899998, -36.654613971999936], - [-69.7277438816084, -36.65487010706685], - [-69.7276270832926, -36.65492361320723], - [-69.72756419066663, -36.654661561333285], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '15', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 16, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72776247899998, -36.654613971999936], - [-69.72792110966664, -36.65467742433327], - [-69.72782102225753, -36.65492764259315], - [-69.7277438816084, -36.65487010706685], - [-69.72776247899998, -36.654613971999936], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '16', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 17, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72792110966664, -36.65467742433327], - [-69.72807974033331, -36.65474087666661], - [-69.7279796529242, -36.65499109492649], - [-69.72782102225753, -36.65492764259315], - [-69.72792110966664, -36.65467742433327], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '17', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 18, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72807974033331, -36.65474087666661], - [-69.72823837099997, -36.654804328999944], - [-69.72816009392011, -36.65506119374942], - [-69.7279796529242, -36.65499109492649], - [-69.72807974033331, -36.65474087666661], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '18', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 19, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72823837099997, -36.654804328999944], - [-69.72840493349997, -36.654840020999956], - [-69.72834846674937, -36.655103532239025], - [-69.72816009392011, -36.65506119374942], - [-69.72823837099997, -36.654804328999944], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '19', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 20, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72840493349997, -36.654840020999956], - [-69.72857149599997, -36.65487571299997], - [-69.7285320727947, -36.65514174987086], - [-69.72834846674937, -36.655103532239025], - [-69.72840493349997, -36.654840020999956], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '20', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 21, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72857149599997, -36.65487571299997], - [-69.72871426349997, -36.654887609999975], - [-69.72869188384006, -36.655156172502686], - [-69.7285320727947, -36.65514174987086], - [-69.72857149599997, -36.65487571299997], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '21', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 22, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72871426349997, -36.654887609999975], - [-69.72885703099996, -36.65489950699998], - [-69.72883465134005, -36.65516806950269], - [-69.72869188384006, -36.655156172502686], - [-69.72871426349997, -36.654887609999975], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '0', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 23, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72499997199998, -36.65485191799996], - [-69.72528667349997, -36.654863815499965], - [-69.72529039809388, -36.65477406163057], - [-69.72500369659389, -36.65476216413057], - [-69.72499997199998, -36.65485191799996], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '1', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 24, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72500369659389, -36.65476216413057], - [-69.72529039809388, -36.65477406163057], - [-69.72529412268779, -36.65468430776117], - [-69.7250074211878, -36.65467241026117], - [-69.72500369659389, -36.65476216413057], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '2', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 25, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72528667349997, -36.654863815499965], - [-69.72557337499995, -36.65487571299997], - [-69.72558944079894, -36.65478822540994], - [-69.72529039809388, -36.65477406163057], - [-69.72528667349997, -36.654863815499965], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '3', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 26, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72529039809388, -36.65477406163057], - [-69.72558944079894, -36.65478822540994], - [-69.72560550659793, -36.65470073781991], - [-69.72529412268779, -36.65468430776117], - [-69.72529039809388, -36.65477406163057], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '4', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 27, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72557337499995, -36.65487571299997], - [-69.72585890999994, -36.65497089099995], - [-69.72586020713325, -36.6548852590352], - [-69.72558944079894, -36.65478822540994], - [-69.72557337499995, -36.65487571299997], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '5', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 28, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72558944079894, -36.65478822540994], - [-69.72586020713325, -36.6548852590352], - [-69.72586150426658, -36.654799627070446], - [-69.72560550659793, -36.65470073781991], - [-69.72558944079894, -36.65478822540994], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '6', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 29, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72585890999994, -36.65497089099995], - [-69.72621582899995, -36.654863815499965], - [-69.72619001626252, -36.65477777288112], - [-69.72586020713325, -36.6548852590352], - [-69.72585890999994, -36.65497089099995], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '7', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 30, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72586020713325, -36.6548852590352], - [-69.72619001626252, -36.65477777288112], - [-69.72616420352509, -36.65469173026228], - [-69.72586150426658, -36.654799627070446], - [-69.72586020713325, -36.6548852590352], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '8', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 31, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72621582899995, -36.654863815499965], - [-69.72657274799997, -36.65475673999998], - [-69.72655984163126, -36.65466880313181], - [-69.72619001626252, -36.65477777288112], - [-69.72621582899995, -36.654863815499965], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '9', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 32, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72619001626252, -36.65477777288112], - [-69.72655984163126, -36.65466880313181], - [-69.72654693526253, -36.65458086626364], - [-69.72616420352509, -36.65469173026228], - [-69.72619001626252, -36.65477777288112], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '10', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 33, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72657274799997, -36.65475673999998], - [-69.72687018099995, -36.65475673999998], - [-69.72687018099995, -36.65466690888248], - [-69.72655984163126, -36.65466880313181], - [-69.72657274799997, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '11', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 34, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72655984163126, -36.65466880313181], - [-69.72687018099995, -36.65466690888248], - [-69.72687018099995, -36.65457707776498], - [-69.72654693526253, -36.65458086626364], - [-69.72655984163126, -36.65466880313181], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '12', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 35, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72687018099995, -36.65475673999998], - [-69.72716761399994, -36.65475673999998], - [-69.72715713189561, -36.65466814912891], - [-69.72687018099995, -36.65466690888248], - [-69.72687018099995, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '13', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 36, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72687018099995, -36.65466690888248], - [-69.72715713189561, -36.65466814912891], - [-69.72714664979128, -36.654579558257836], - [-69.72687018099995, -36.65457707776498], - [-69.72687018099995, -36.65466690888248], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '14', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 37, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72716761399994, -36.65475673999998], - [-69.72746504649996, -36.65468535599996], - [-69.7274440822913, -36.654598005375306], - [-69.72715713189561, -36.65466814912891], - [-69.72716761399994, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '15', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 38, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72715713189561, -36.65466814912891], - [-69.7274440822913, -36.654598005375306], - [-69.72742311808264, -36.65451065475066], - [-69.72714664979128, -36.654579558257836], - [-69.72715713189561, -36.65466814912891], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '16', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 39, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72746504649996, -36.65468535599996], - [-69.72776247899998, -36.654613971999936], - [-69.7277686781305, -36.654528593644294], - [-69.7274440822913, -36.654598005375306], - [-69.72746504649996, -36.65468535599996], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '17', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 40, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.7274440822913, -36.654598005375306], - [-69.7277686781305, -36.654528593644294], - [-69.72777487726103, -36.65444321528866], - [-69.72742311808264, -36.65451065475066], - [-69.7274440822913, -36.654598005375306], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '18', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 41, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72776247899998, -36.654613971999936], - [-69.72800042499998, -36.65470915049994], - [-69.72803378746968, -36.65462574441331], - [-69.7277686781305, -36.654528593644294], - [-69.72776247899998, -36.654613971999936], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '19', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 42, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.7277686781305, -36.654528593644294], - [-69.72803378746968, -36.65462574441331], - [-69.72806714993939, -36.654542338326685], - [-69.72777487726103, -36.65444321528866], - [-69.7277686781305, -36.654528593644294], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '20', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 43, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72800042499998, -36.65470915049994], - [-69.72823837099997, -36.654804328999944], - [-69.72826446335993, -36.654718707416784], - [-69.72803378746968, -36.65462574441331], - [-69.72800042499998, -36.65470915049994], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '21', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 44, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72803378746968, -36.65462574441331], - [-69.72826446335993, -36.654718707416784], - [-69.7282905557199, -36.65463308583362], - [-69.72806714993939, -36.654542338326685], - [-69.72803378746968, -36.65462574441331], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '22', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 45, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72823837099997, -36.654804328999944], - [-69.72857149599997, -36.65487571299997], - [-69.7285846370684, -36.654787034043004], - [-69.72826446335993, -36.654718707416784], - [-69.72823837099997, -36.654804328999944], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '23', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 46, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72826446335993, -36.654718707416784], - [-69.7285846370684, -36.654787034043004], - [-69.72859777813682, -36.65469835508604], - [-69.7282905557199, -36.65463308583362], - [-69.72826446335993, -36.654718707416784], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '24', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 47, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72857149599997, -36.65487571299997], - [-69.72885703099996, -36.65489950699998], - [-69.7288644908866, -36.654809986165745], - [-69.7285846370684, -36.654787034043004], - [-69.72857149599997, -36.65487571299997], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '25', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 48, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.7285846370684, -36.654787034043004], - [-69.7288644908866, -36.654809986165745], - [-69.72887195077324, -36.65472046533151], - [-69.72859777813682, -36.65469835508604], - [-69.7285846370684, -36.654787034043004], - ], - ], - }, - }, - ], - }, - taskTypes: ['Sacar fotos', 'Llenar formularios'], - }, - { - name: 'Cyano', - ownerId: '66e9ec13b985ec9c2d0fd9db', - timeIntervals: [ - { - name: 'a la tarde', - startDate: new Date(), - endDate: new Date('01/01/2026'), - days: [1, 2, 3, 4, 5], - time: { - start: 0, - end: 19, - }, - } as TimeInterval, - { - name: 'finde morning', - startDate: new Date(), - endDate: new Date('01/01/2026'), - days: [6, 7], - time: { - start: 0, - end: 11, - }, - } as TimeInterval, - ], - description: - 'Eutrofización de cuerpos de agua y cianobacterias.Se aborda la eutrofización de cuerpos de agua superficiales de manera interrelacionada con su cuenca de aporte, los diferentes usos del agua y el Cianosemáforo, para la prevención del riesgo en aguas de uso recreativo', - image: - 'https://img.freepik.com/vector-gratis/paisaje-lago-diseno-plano_52683-76609.jpg', - web: 'https://www.unq.edu.ar/', - available: true, - manualLocation: true, - areas: { - type: 'FeatureCollection', - features: [ - { - type: 'Feature', - properties: { - cid: '0', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 1, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72499997199998, -36.65485191799996], - [-69.7251911063333, -36.65485984966663], - [-69.72517993255157, -36.65512911127481], - [-69.72498879821825, -36.655121179608145], - [-69.72499997199998, -36.65485191799996], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '1', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 2, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.7251911063333, -36.65485984966663], - [-69.72538224066663, -36.6548677813333], - [-69.7253710668849, -36.65513704294148], - [-69.72517993255157, -36.65512911127481], - [-69.7251911063333, -36.65485984966663], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '2', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 3, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72538224066663, -36.6548677813333], - [-69.72557337499995, -36.65487571299997], - [-69.725525177603, -36.655138175770055], - [-69.7253710668849, -36.65513704294148], - [-69.72538224066663, -36.6548677813333], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '3', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 4, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72557337499995, -36.65487571299997], - [-69.72571614249995, -36.65492330199996], - [-69.72563092148776, -36.65517896593195], - [-69.725525177603, -36.655138175770055], - [-69.72557337499995, -36.65487571299997], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '4', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 5, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72571614249995, -36.65492330199996], - [-69.72585890999994, -36.65497089099995], - [-69.7258550186, -36.65522778689421], - [-69.72563092148776, -36.65517896593195], - [-69.72571614249995, -36.65492330199996], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '5', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 6, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72585890999994, -36.65497089099995], - [-69.72603736949995, -36.65491735324996], - [-69.72611480771225, -36.65517548110648], - [-69.7258550186, -36.65522778689421], - [-69.72585890999994, -36.65497089099995], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '6', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 7, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72603736949995, -36.65491735324996], - [-69.72621582899995, -36.654863815499965], - [-69.72629326721226, -36.65512194335649], - [-69.72611480771225, -36.65517548110648], - [-69.72603736949995, -36.65491735324996], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '7', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 8, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72621582899995, -36.654863815499965], - [-69.72639428849996, -36.654810277749974], - [-69.72647172671226, -36.6550684056065], - [-69.72629326721226, -36.65512194335649], - [-69.72621582899995, -36.654863815499965], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '8', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 9, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72639428849996, -36.654810277749974], - [-69.72657274799997, -36.65475673999998], - [-69.72661146710612, -36.65502055060449], - [-69.72647172671226, -36.6550684056065], - [-69.72639428849996, -36.654810277749974], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '9', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 10, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72657274799997, -36.65475673999998], - [-69.72677103666662, -36.65475673999998], - [-69.72677103666662, -36.65502623335248], - [-69.72661146710612, -36.65502055060449], - [-69.72657274799997, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '10', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 11, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72677103666662, -36.65475673999998], - [-69.72696932533329, -36.65475673999998], - [-69.72696932533329, -36.65502623335248], - [-69.72677103666662, -36.65502623335248], - [-69.72677103666662, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '11', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 12, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72696932533329, -36.65475673999998], - [-69.72716761399994, -36.65475673999998], - [-69.72719906031293, -36.6550225126132], - [-69.72696932533329, -36.65502623335248], - [-69.72696932533329, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '12', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 13, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72716761399994, -36.65475673999998], - [-69.72736590233329, -36.65470915066663], - [-69.72742879495927, -36.65497120254058], - [-69.72719906031293, -36.6550225126132], - [-69.72716761399994, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '13', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 14, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72736590233329, -36.65470915066663], - [-69.72756419066663, -36.654661561333285], - [-69.7276270832926, -36.65492361320723], - [-69.72742879495927, -36.65497120254058], - [-69.72736590233329, -36.65470915066663], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '14', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 15, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72756419066663, -36.654661561333285], - [-69.72776247899998, -36.654613971999936], - [-69.7277438816084, -36.65487010706685], - [-69.7276270832926, -36.65492361320723], - [-69.72756419066663, -36.654661561333285], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '15', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 16, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72776247899998, -36.654613971999936], - [-69.72792110966664, -36.65467742433327], - [-69.72782102225753, -36.65492764259315], - [-69.7277438816084, -36.65487010706685], - [-69.72776247899998, -36.654613971999936], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '16', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 17, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72792110966664, -36.65467742433327], - [-69.72807974033331, -36.65474087666661], - [-69.7279796529242, -36.65499109492649], - [-69.72782102225753, -36.65492764259315], - [-69.72792110966664, -36.65467742433327], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '17', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 18, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72807974033331, -36.65474087666661], - [-69.72823837099997, -36.654804328999944], - [-69.72816009392011, -36.65506119374942], - [-69.7279796529242, -36.65499109492649], - [-69.72807974033331, -36.65474087666661], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '18', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 19, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72823837099997, -36.654804328999944], - [-69.72840493349997, -36.654840020999956], - [-69.72834846674937, -36.655103532239025], - [-69.72816009392011, -36.65506119374942], - [-69.72823837099997, -36.654804328999944], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '19', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 20, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72840493349997, -36.654840020999956], - [-69.72857149599997, -36.65487571299997], - [-69.7285320727947, -36.65514174987086], - [-69.72834846674937, -36.655103532239025], - [-69.72840493349997, -36.654840020999956], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '20', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 21, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72857149599997, -36.65487571299997], - [-69.72871426349997, -36.654887609999975], - [-69.72869188384006, -36.655156172502686], - [-69.7285320727947, -36.65514174987086], - [-69.72857149599997, -36.65487571299997], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '21', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 22, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72871426349997, -36.654887609999975], - [-69.72885703099996, -36.65489950699998], - [-69.72883465134005, -36.65516806950269], - [-69.72869188384006, -36.655156172502686], - [-69.72871426349997, -36.654887609999975], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '0', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 23, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72499997199998, -36.65485191799996], - [-69.72528667349997, -36.654863815499965], - [-69.72529039809388, -36.65477406163057], - [-69.72500369659389, -36.65476216413057], - [-69.72499997199998, -36.65485191799996], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '1', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 24, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72500369659389, -36.65476216413057], - [-69.72529039809388, -36.65477406163057], - [-69.72529412268779, -36.65468430776117], - [-69.7250074211878, -36.65467241026117], - [-69.72500369659389, -36.65476216413057], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '2', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 25, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72528667349997, -36.654863815499965], - [-69.72557337499995, -36.65487571299997], - [-69.72558944079894, -36.65478822540994], - [-69.72529039809388, -36.65477406163057], - [-69.72528667349997, -36.654863815499965], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '3', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 26, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72529039809388, -36.65477406163057], - [-69.72558944079894, -36.65478822540994], - [-69.72560550659793, -36.65470073781991], - [-69.72529412268779, -36.65468430776117], - [-69.72529039809388, -36.65477406163057], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '4', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 27, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72557337499995, -36.65487571299997], - [-69.72585890999994, -36.65497089099995], - [-69.72586020713325, -36.6548852590352], - [-69.72558944079894, -36.65478822540994], - [-69.72557337499995, -36.65487571299997], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '5', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 28, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72558944079894, -36.65478822540994], - [-69.72586020713325, -36.6548852590352], - [-69.72586150426658, -36.654799627070446], - [-69.72560550659793, -36.65470073781991], - [-69.72558944079894, -36.65478822540994], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '6', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 29, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72585890999994, -36.65497089099995], - [-69.72621582899995, -36.654863815499965], - [-69.72619001626252, -36.65477777288112], - [-69.72586020713325, -36.6548852590352], - [-69.72585890999994, -36.65497089099995], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '7', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 30, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72586020713325, -36.6548852590352], - [-69.72619001626252, -36.65477777288112], - [-69.72616420352509, -36.65469173026228], - [-69.72586150426658, -36.654799627070446], - [-69.72586020713325, -36.6548852590352], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '8', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 31, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72621582899995, -36.654863815499965], - [-69.72657274799997, -36.65475673999998], - [-69.72655984163126, -36.65466880313181], - [-69.72619001626252, -36.65477777288112], - [-69.72621582899995, -36.654863815499965], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '9', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 32, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72619001626252, -36.65477777288112], - [-69.72655984163126, -36.65466880313181], - [-69.72654693526253, -36.65458086626364], - [-69.72616420352509, -36.65469173026228], - [-69.72619001626252, -36.65477777288112], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '10', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 33, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72657274799997, -36.65475673999998], - [-69.72687018099995, -36.65475673999998], - [-69.72687018099995, -36.65466690888248], - [-69.72655984163126, -36.65466880313181], - [-69.72657274799997, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '11', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 34, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72655984163126, -36.65466880313181], - [-69.72687018099995, -36.65466690888248], - [-69.72687018099995, -36.65457707776498], - [-69.72654693526253, -36.65458086626364], - [-69.72655984163126, -36.65466880313181], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '12', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 35, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72687018099995, -36.65475673999998], - [-69.72716761399994, -36.65475673999998], - [-69.72715713189561, -36.65466814912891], - [-69.72687018099995, -36.65466690888248], - [-69.72687018099995, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '13', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 36, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72687018099995, -36.65466690888248], - [-69.72715713189561, -36.65466814912891], - [-69.72714664979128, -36.654579558257836], - [-69.72687018099995, -36.65457707776498], - [-69.72687018099995, -36.65466690888248], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '14', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 37, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72716761399994, -36.65475673999998], - [-69.72746504649996, -36.65468535599996], - [-69.7274440822913, -36.654598005375306], - [-69.72715713189561, -36.65466814912891], - [-69.72716761399994, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '15', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 38, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72715713189561, -36.65466814912891], - [-69.7274440822913, -36.654598005375306], - [-69.72742311808264, -36.65451065475066], - [-69.72714664979128, -36.654579558257836], - [-69.72715713189561, -36.65466814912891], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '16', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 39, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72746504649996, -36.65468535599996], - [-69.72776247899998, -36.654613971999936], - [-69.7277686781305, -36.654528593644294], - [-69.7274440822913, -36.654598005375306], - [-69.72746504649996, -36.65468535599996], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '17', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 40, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.7274440822913, -36.654598005375306], - [-69.7277686781305, -36.654528593644294], - [-69.72777487726103, -36.65444321528866], - [-69.72742311808264, -36.65451065475066], - [-69.7274440822913, -36.654598005375306], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '18', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 41, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72776247899998, -36.654613971999936], - [-69.72800042499998, -36.65470915049994], - [-69.72803378746968, -36.65462574441331], - [-69.7277686781305, -36.654528593644294], - [-69.72776247899998, -36.654613971999936], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '19', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 42, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.7277686781305, -36.654528593644294], - [-69.72803378746968, -36.65462574441331], - [-69.72806714993939, -36.654542338326685], - [-69.72777487726103, -36.65444321528866], - [-69.7277686781305, -36.654528593644294], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '20', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 43, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72800042499998, -36.65470915049994], - [-69.72823837099997, -36.654804328999944], - [-69.72826446335993, -36.654718707416784], - [-69.72803378746968, -36.65462574441331], - [-69.72800042499998, -36.65470915049994], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '21', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 44, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72803378746968, -36.65462574441331], - [-69.72826446335993, -36.654718707416784], - [-69.7282905557199, -36.65463308583362], - [-69.72806714993939, -36.654542338326685], - [-69.72803378746968, -36.65462574441331], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '22', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 45, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72823837099997, -36.654804328999944], - [-69.72857149599997, -36.65487571299997], - [-69.7285846370684, -36.654787034043004], - [-69.72826446335993, -36.654718707416784], - [-69.72823837099997, -36.654804328999944], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '23', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 46, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72826446335993, -36.654718707416784], - [-69.7285846370684, -36.654787034043004], - [-69.72859777813682, -36.65469835508604], - [-69.7282905557199, -36.65463308583362], - [-69.72826446335993, -36.654718707416784], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '24', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 47, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72857149599997, -36.65487571299997], - [-69.72885703099996, -36.65489950699998], - [-69.7288644908866, -36.654809986165745], - [-69.7285846370684, -36.654787034043004], - [-69.72857149599997, -36.65487571299997], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '25', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 48, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.7285846370684, -36.654787034043004], - [-69.7288644908866, -36.654809986165745], - [-69.72887195077324, -36.65472046533151], - [-69.72859777813682, -36.65469835508604], - [-69.7285846370684, -36.654787034043004], - ], - ], - }, - }, - ], - }, - taskTypes: ['Sacar fotos', 'Llenar formularios'], - }, - { - name: 'GeoVin', - ownerId: '36e9ec13b985ec9c2d0fd9db', - timeIntervals: [ - { - name: 'a la tarde', - startDate: new Date(), - endDate: new Date('01/01/2026'), - days: [1, 2, 3, 4, 5], - time: { - start: 0, - end: 19, - }, - } as TimeInterval, - { - name: 'finde morning', - startDate: new Date(), - endDate: new Date('01/01/2026'), - days: [6, 7], - time: { - start: 0, - end: 11, - }, - } as TimeInterval, - ], - description: - 'Estudio de enfermedades transmitidas por vectores (animales transmisores).Proveer de herramientas interactivas, educativas, lúdicas y gratuitas a personas usuarias no especializadas, que permitan contribuir a la problemática relacionada con las vinchucas en todo el país.Fomentar la concientización acerca de la problemática de salud relacionada con la Enfermedad de Chagas, involucrando a la ciudadanía en el monitoreo de su vector.', - image: - 'https://img.freepik.com/vector-gratis/paisaje-lago-diseno-plano_52683-76609.jpg', - web: 'https://www.unq.edu.ar/', - available: true, - manualLocation: true, - areas: { - type: 'FeatureCollection', - features: [ - { - type: 'Feature', - properties: { - cid: '0', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 1, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72499997199998, -36.65485191799996], - [-69.7251911063333, -36.65485984966663], - [-69.72517993255157, -36.65512911127481], - [-69.72498879821825, -36.655121179608145], - [-69.72499997199998, -36.65485191799996], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '1', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 2, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.7251911063333, -36.65485984966663], - [-69.72538224066663, -36.6548677813333], - [-69.7253710668849, -36.65513704294148], - [-69.72517993255157, -36.65512911127481], - [-69.7251911063333, -36.65485984966663], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '2', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 3, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72538224066663, -36.6548677813333], - [-69.72557337499995, -36.65487571299997], - [-69.725525177603, -36.655138175770055], - [-69.7253710668849, -36.65513704294148], - [-69.72538224066663, -36.6548677813333], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '3', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 4, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72557337499995, -36.65487571299997], - [-69.72571614249995, -36.65492330199996], - [-69.72563092148776, -36.65517896593195], - [-69.725525177603, -36.655138175770055], - [-69.72557337499995, -36.65487571299997], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '4', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 5, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72571614249995, -36.65492330199996], - [-69.72585890999994, -36.65497089099995], - [-69.7258550186, -36.65522778689421], - [-69.72563092148776, -36.65517896593195], - [-69.72571614249995, -36.65492330199996], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '5', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 6, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72585890999994, -36.65497089099995], - [-69.72603736949995, -36.65491735324996], - [-69.72611480771225, -36.65517548110648], - [-69.7258550186, -36.65522778689421], - [-69.72585890999994, -36.65497089099995], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '6', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 7, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72603736949995, -36.65491735324996], - [-69.72621582899995, -36.654863815499965], - [-69.72629326721226, -36.65512194335649], - [-69.72611480771225, -36.65517548110648], - [-69.72603736949995, -36.65491735324996], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '7', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 8, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72621582899995, -36.654863815499965], - [-69.72639428849996, -36.654810277749974], - [-69.72647172671226, -36.6550684056065], - [-69.72629326721226, -36.65512194335649], - [-69.72621582899995, -36.654863815499965], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '8', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 9, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72639428849996, -36.654810277749974], - [-69.72657274799997, -36.65475673999998], - [-69.72661146710612, -36.65502055060449], - [-69.72647172671226, -36.6550684056065], - [-69.72639428849996, -36.654810277749974], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '9', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 10, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72657274799997, -36.65475673999998], - [-69.72677103666662, -36.65475673999998], - [-69.72677103666662, -36.65502623335248], - [-69.72661146710612, -36.65502055060449], - [-69.72657274799997, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '10', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 11, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72677103666662, -36.65475673999998], - [-69.72696932533329, -36.65475673999998], - [-69.72696932533329, -36.65502623335248], - [-69.72677103666662, -36.65502623335248], - [-69.72677103666662, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '11', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 12, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72696932533329, -36.65475673999998], - [-69.72716761399994, -36.65475673999998], - [-69.72719906031293, -36.6550225126132], - [-69.72696932533329, -36.65502623335248], - [-69.72696932533329, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '12', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 13, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72716761399994, -36.65475673999998], - [-69.72736590233329, -36.65470915066663], - [-69.72742879495927, -36.65497120254058], - [-69.72719906031293, -36.6550225126132], - [-69.72716761399994, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '13', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 14, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72736590233329, -36.65470915066663], - [-69.72756419066663, -36.654661561333285], - [-69.7276270832926, -36.65492361320723], - [-69.72742879495927, -36.65497120254058], - [-69.72736590233329, -36.65470915066663], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '14', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 15, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72756419066663, -36.654661561333285], - [-69.72776247899998, -36.654613971999936], - [-69.7277438816084, -36.65487010706685], - [-69.7276270832926, -36.65492361320723], - [-69.72756419066663, -36.654661561333285], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '15', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 16, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72776247899998, -36.654613971999936], - [-69.72792110966664, -36.65467742433327], - [-69.72782102225753, -36.65492764259315], - [-69.7277438816084, -36.65487010706685], - [-69.72776247899998, -36.654613971999936], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '16', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 17, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72792110966664, -36.65467742433327], - [-69.72807974033331, -36.65474087666661], - [-69.7279796529242, -36.65499109492649], - [-69.72782102225753, -36.65492764259315], - [-69.72792110966664, -36.65467742433327], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '17', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 18, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72807974033331, -36.65474087666661], - [-69.72823837099997, -36.654804328999944], - [-69.72816009392011, -36.65506119374942], - [-69.7279796529242, -36.65499109492649], - [-69.72807974033331, -36.65474087666661], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '18', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 19, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72823837099997, -36.654804328999944], - [-69.72840493349997, -36.654840020999956], - [-69.72834846674937, -36.655103532239025], - [-69.72816009392011, -36.65506119374942], - [-69.72823837099997, -36.654804328999944], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '19', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 20, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72840493349997, -36.654840020999956], - [-69.72857149599997, -36.65487571299997], - [-69.7285320727947, -36.65514174987086], - [-69.72834846674937, -36.655103532239025], - [-69.72840493349997, -36.654840020999956], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '20', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 21, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72857149599997, -36.65487571299997], - [-69.72871426349997, -36.654887609999975], - [-69.72869188384006, -36.655156172502686], - [-69.7285320727947, -36.65514174987086], - [-69.72857149599997, -36.65487571299997], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '21', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 22, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72871426349997, -36.654887609999975], - [-69.72885703099996, -36.65489950699998], - [-69.72883465134005, -36.65516806950269], - [-69.72869188384006, -36.655156172502686], - [-69.72871426349997, -36.654887609999975], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '0', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 23, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72499997199998, -36.65485191799996], - [-69.72528667349997, -36.654863815499965], - [-69.72529039809388, -36.65477406163057], - [-69.72500369659389, -36.65476216413057], - [-69.72499997199998, -36.65485191799996], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '1', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 24, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72500369659389, -36.65476216413057], - [-69.72529039809388, -36.65477406163057], - [-69.72529412268779, -36.65468430776117], - [-69.7250074211878, -36.65467241026117], - [-69.72500369659389, -36.65476216413057], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '2', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 25, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72528667349997, -36.654863815499965], - [-69.72557337499995, -36.65487571299997], - [-69.72558944079894, -36.65478822540994], - [-69.72529039809388, -36.65477406163057], - [-69.72528667349997, -36.654863815499965], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '3', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 26, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72529039809388, -36.65477406163057], - [-69.72558944079894, -36.65478822540994], - [-69.72560550659793, -36.65470073781991], - [-69.72529412268779, -36.65468430776117], - [-69.72529039809388, -36.65477406163057], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '4', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 27, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72557337499995, -36.65487571299997], - [-69.72585890999994, -36.65497089099995], - [-69.72586020713325, -36.6548852590352], - [-69.72558944079894, -36.65478822540994], - [-69.72557337499995, -36.65487571299997], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '5', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 28, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72558944079894, -36.65478822540994], - [-69.72586020713325, -36.6548852590352], - [-69.72586150426658, -36.654799627070446], - [-69.72560550659793, -36.65470073781991], - [-69.72558944079894, -36.65478822540994], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '6', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 29, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72585890999994, -36.65497089099995], - [-69.72621582899995, -36.654863815499965], - [-69.72619001626252, -36.65477777288112], - [-69.72586020713325, -36.6548852590352], - [-69.72585890999994, -36.65497089099995], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '7', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 30, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72586020713325, -36.6548852590352], - [-69.72619001626252, -36.65477777288112], - [-69.72616420352509, -36.65469173026228], - [-69.72586150426658, -36.654799627070446], - [-69.72586020713325, -36.6548852590352], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '8', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 31, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72621582899995, -36.654863815499965], - [-69.72657274799997, -36.65475673999998], - [-69.72655984163126, -36.65466880313181], - [-69.72619001626252, -36.65477777288112], - [-69.72621582899995, -36.654863815499965], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '9', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 32, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72619001626252, -36.65477777288112], - [-69.72655984163126, -36.65466880313181], - [-69.72654693526253, -36.65458086626364], - [-69.72616420352509, -36.65469173026228], - [-69.72619001626252, -36.65477777288112], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '10', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 33, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72657274799997, -36.65475673999998], - [-69.72687018099995, -36.65475673999998], - [-69.72687018099995, -36.65466690888248], - [-69.72655984163126, -36.65466880313181], - [-69.72657274799997, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '11', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 34, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72655984163126, -36.65466880313181], - [-69.72687018099995, -36.65466690888248], - [-69.72687018099995, -36.65457707776498], - [-69.72654693526253, -36.65458086626364], - [-69.72655984163126, -36.65466880313181], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '12', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 35, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72687018099995, -36.65475673999998], - [-69.72716761399994, -36.65475673999998], - [-69.72715713189561, -36.65466814912891], - [-69.72687018099995, -36.65466690888248], - [-69.72687018099995, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '13', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 36, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72687018099995, -36.65466690888248], - [-69.72715713189561, -36.65466814912891], - [-69.72714664979128, -36.654579558257836], - [-69.72687018099995, -36.65457707776498], - [-69.72687018099995, -36.65466690888248], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '14', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 37, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72716761399994, -36.65475673999998], - [-69.72746504649996, -36.65468535599996], - [-69.7274440822913, -36.654598005375306], - [-69.72715713189561, -36.65466814912891], - [-69.72716761399994, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '15', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 38, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72715713189561, -36.65466814912891], - [-69.7274440822913, -36.654598005375306], - [-69.72742311808264, -36.65451065475066], - [-69.72714664979128, -36.654579558257836], - [-69.72715713189561, -36.65466814912891], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '16', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 39, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72746504649996, -36.65468535599996], - [-69.72776247899998, -36.654613971999936], - [-69.7277686781305, -36.654528593644294], - [-69.7274440822913, -36.654598005375306], - [-69.72746504649996, -36.65468535599996], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '17', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 40, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.7274440822913, -36.654598005375306], - [-69.7277686781305, -36.654528593644294], - [-69.72777487726103, -36.65444321528866], - [-69.72742311808264, -36.65451065475066], - [-69.7274440822913, -36.654598005375306], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '18', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 41, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72776247899998, -36.654613971999936], - [-69.72800042499998, -36.65470915049994], - [-69.72803378746968, -36.65462574441331], - [-69.7277686781305, -36.654528593644294], - [-69.72776247899998, -36.654613971999936], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '19', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 42, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.7277686781305, -36.654528593644294], - [-69.72803378746968, -36.65462574441331], - [-69.72806714993939, -36.654542338326685], - [-69.72777487726103, -36.65444321528866], - [-69.7277686781305, -36.654528593644294], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '20', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 43, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72800042499998, -36.65470915049994], - [-69.72823837099997, -36.654804328999944], - [-69.72826446335993, -36.654718707416784], - [-69.72803378746968, -36.65462574441331], - [-69.72800042499998, -36.65470915049994], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '21', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 44, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72803378746968, -36.65462574441331], - [-69.72826446335993, -36.654718707416784], - [-69.7282905557199, -36.65463308583362], - [-69.72806714993939, -36.654542338326685], - [-69.72803378746968, -36.65462574441331], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '22', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 45, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72823837099997, -36.654804328999944], - [-69.72857149599997, -36.65487571299997], - [-69.7285846370684, -36.654787034043004], - [-69.72826446335993, -36.654718707416784], - [-69.72823837099997, -36.654804328999944], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '23', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 46, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72826446335993, -36.654718707416784], - [-69.7285846370684, -36.654787034043004], - [-69.72859777813682, -36.65469835508604], - [-69.7282905557199, -36.65463308583362], - [-69.72826446335993, -36.654718707416784], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '24', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 47, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72857149599997, -36.65487571299997], - [-69.72885703099996, -36.65489950699998], - [-69.7288644908866, -36.654809986165745], - [-69.7285846370684, -36.654787034043004], - [-69.72857149599997, -36.65487571299997], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '25', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 48, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.7285846370684, -36.654787034043004], - [-69.7288644908866, -36.654809986165745], - [-69.72887195077324, -36.65472046533151], - [-69.72859777813682, -36.65469835508604], - [-69.7285846370684, -36.654787034043004], - ], - ], - }, - }, - ], - }, - taskTypes: ['Sacar fotos', 'Llenar formularios'], - }, - { - name: 'ArgentiNat.org', - ownerId: '66e9ec13b985ec9c2d0fd9db', - timeIntervals: [ - { - name: 'a la tarde', - startDate: new Date(), - endDate: new Date('01/01/2026'), - days: [1, 2, 3, 4, 5], - time: { - start: 0, - end: 19, - }, - } as TimeInterval, - { - name: 'finde morning', - startDate: new Date(), - endDate: new Date('01/01/2026'), - days: [6, 7], - time: { - start: 0, - end: 11, - }, - } as TimeInterval, - ], - description: - 'Biodiversidad.Conocer más acerca de los ciclos de vida, la distribución y la dinámica poblacional de todas las especies que habitan en Argentina', - image: - 'https://img.freepik.com/vector-gratis/paisaje-lago-diseno-plano_52683-76609.jpg', - web: 'https://www.unq.edu.ar/', - available: true, - manualLocation: true, - areas: { - type: 'FeatureCollection', - features: [ - { - type: 'Feature', - properties: { - cid: '0', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 1, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72499997199998, -36.65485191799996], - [-69.7251911063333, -36.65485984966663], - [-69.72517993255157, -36.65512911127481], - [-69.72498879821825, -36.655121179608145], - [-69.72499997199998, -36.65485191799996], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '1', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 2, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.7251911063333, -36.65485984966663], - [-69.72538224066663, -36.6548677813333], - [-69.7253710668849, -36.65513704294148], - [-69.72517993255157, -36.65512911127481], - [-69.7251911063333, -36.65485984966663], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '2', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 3, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72538224066663, -36.6548677813333], - [-69.72557337499995, -36.65487571299997], - [-69.725525177603, -36.655138175770055], - [-69.7253710668849, -36.65513704294148], - [-69.72538224066663, -36.6548677813333], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '3', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 4, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72557337499995, -36.65487571299997], - [-69.72571614249995, -36.65492330199996], - [-69.72563092148776, -36.65517896593195], - [-69.725525177603, -36.655138175770055], - [-69.72557337499995, -36.65487571299997], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '4', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 5, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72571614249995, -36.65492330199996], - [-69.72585890999994, -36.65497089099995], - [-69.7258550186, -36.65522778689421], - [-69.72563092148776, -36.65517896593195], - [-69.72571614249995, -36.65492330199996], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '5', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 6, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72585890999994, -36.65497089099995], - [-69.72603736949995, -36.65491735324996], - [-69.72611480771225, -36.65517548110648], - [-69.7258550186, -36.65522778689421], - [-69.72585890999994, -36.65497089099995], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '6', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 7, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72603736949995, -36.65491735324996], - [-69.72621582899995, -36.654863815499965], - [-69.72629326721226, -36.65512194335649], - [-69.72611480771225, -36.65517548110648], - [-69.72603736949995, -36.65491735324996], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '7', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 8, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72621582899995, -36.654863815499965], - [-69.72639428849996, -36.654810277749974], - [-69.72647172671226, -36.6550684056065], - [-69.72629326721226, -36.65512194335649], - [-69.72621582899995, -36.654863815499965], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '8', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 9, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72639428849996, -36.654810277749974], - [-69.72657274799997, -36.65475673999998], - [-69.72661146710612, -36.65502055060449], - [-69.72647172671226, -36.6550684056065], - [-69.72639428849996, -36.654810277749974], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '9', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 10, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72657274799997, -36.65475673999998], - [-69.72677103666662, -36.65475673999998], - [-69.72677103666662, -36.65502623335248], - [-69.72661146710612, -36.65502055060449], - [-69.72657274799997, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '10', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 11, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72677103666662, -36.65475673999998], - [-69.72696932533329, -36.65475673999998], - [-69.72696932533329, -36.65502623335248], - [-69.72677103666662, -36.65502623335248], - [-69.72677103666662, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '11', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 12, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72696932533329, -36.65475673999998], - [-69.72716761399994, -36.65475673999998], - [-69.72719906031293, -36.6550225126132], - [-69.72696932533329, -36.65502623335248], - [-69.72696932533329, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '12', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 13, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72716761399994, -36.65475673999998], - [-69.72736590233329, -36.65470915066663], - [-69.72742879495927, -36.65497120254058], - [-69.72719906031293, -36.6550225126132], - [-69.72716761399994, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '13', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 14, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72736590233329, -36.65470915066663], - [-69.72756419066663, -36.654661561333285], - [-69.7276270832926, -36.65492361320723], - [-69.72742879495927, -36.65497120254058], - [-69.72736590233329, -36.65470915066663], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '14', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 15, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72756419066663, -36.654661561333285], - [-69.72776247899998, -36.654613971999936], - [-69.7277438816084, -36.65487010706685], - [-69.7276270832926, -36.65492361320723], - [-69.72756419066663, -36.654661561333285], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '15', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 16, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72776247899998, -36.654613971999936], - [-69.72792110966664, -36.65467742433327], - [-69.72782102225753, -36.65492764259315], - [-69.7277438816084, -36.65487010706685], - [-69.72776247899998, -36.654613971999936], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '16', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 17, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72792110966664, -36.65467742433327], - [-69.72807974033331, -36.65474087666661], - [-69.7279796529242, -36.65499109492649], - [-69.72782102225753, -36.65492764259315], - [-69.72792110966664, -36.65467742433327], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '17', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 18, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72807974033331, -36.65474087666661], - [-69.72823837099997, -36.654804328999944], - [-69.72816009392011, -36.65506119374942], - [-69.7279796529242, -36.65499109492649], - [-69.72807974033331, -36.65474087666661], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '18', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 19, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72823837099997, -36.654804328999944], - [-69.72840493349997, -36.654840020999956], - [-69.72834846674937, -36.655103532239025], - [-69.72816009392011, -36.65506119374942], - [-69.72823837099997, -36.654804328999944], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '19', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 20, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72840493349997, -36.654840020999956], - [-69.72857149599997, -36.65487571299997], - [-69.7285320727947, -36.65514174987086], - [-69.72834846674937, -36.655103532239025], - [-69.72840493349997, -36.654840020999956], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '20', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 21, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72857149599997, -36.65487571299997], - [-69.72871426349997, -36.654887609999975], - [-69.72869188384006, -36.655156172502686], - [-69.7285320727947, -36.65514174987086], - [-69.72857149599997, -36.65487571299997], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '21', - pos: 'left', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 22, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72871426349997, -36.654887609999975], - [-69.72885703099996, -36.65489950699998], - [-69.72883465134005, -36.65516806950269], - [-69.72869188384006, -36.655156172502686], - [-69.72871426349997, -36.654887609999975], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '0', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 23, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72499997199998, -36.65485191799996], - [-69.72528667349997, -36.654863815499965], - [-69.72529039809388, -36.65477406163057], - [-69.72500369659389, -36.65476216413057], - [-69.72499997199998, -36.65485191799996], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '1', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 24, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72500369659389, -36.65476216413057], - [-69.72529039809388, -36.65477406163057], - [-69.72529412268779, -36.65468430776117], - [-69.7250074211878, -36.65467241026117], - [-69.72500369659389, -36.65476216413057], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '2', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 25, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72528667349997, -36.654863815499965], - [-69.72557337499995, -36.65487571299997], - [-69.72558944079894, -36.65478822540994], - [-69.72529039809388, -36.65477406163057], - [-69.72528667349997, -36.654863815499965], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '3', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 26, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72529039809388, -36.65477406163057], - [-69.72558944079894, -36.65478822540994], - [-69.72560550659793, -36.65470073781991], - [-69.72529412268779, -36.65468430776117], - [-69.72529039809388, -36.65477406163057], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '4', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 27, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72557337499995, -36.65487571299997], - [-69.72585890999994, -36.65497089099995], - [-69.72586020713325, -36.6548852590352], - [-69.72558944079894, -36.65478822540994], - [-69.72557337499995, -36.65487571299997], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '5', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 28, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72558944079894, -36.65478822540994], - [-69.72586020713325, -36.6548852590352], - [-69.72586150426658, -36.654799627070446], - [-69.72560550659793, -36.65470073781991], - [-69.72558944079894, -36.65478822540994], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '6', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 29, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72585890999994, -36.65497089099995], - [-69.72621582899995, -36.654863815499965], - [-69.72619001626252, -36.65477777288112], - [-69.72586020713325, -36.6548852590352], - [-69.72585890999994, -36.65497089099995], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '7', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 30, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72586020713325, -36.6548852590352], - [-69.72619001626252, -36.65477777288112], - [-69.72616420352509, -36.65469173026228], - [-69.72586150426658, -36.654799627070446], - [-69.72586020713325, -36.6548852590352], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '8', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 31, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72621582899995, -36.654863815499965], - [-69.72657274799997, -36.65475673999998], - [-69.72655984163126, -36.65466880313181], - [-69.72619001626252, -36.65477777288112], - [-69.72621582899995, -36.654863815499965], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '9', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 32, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72619001626252, -36.65477777288112], - [-69.72655984163126, -36.65466880313181], - [-69.72654693526253, -36.65458086626364], - [-69.72616420352509, -36.65469173026228], - [-69.72619001626252, -36.65477777288112], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '10', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 33, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72657274799997, -36.65475673999998], - [-69.72687018099995, -36.65475673999998], - [-69.72687018099995, -36.65466690888248], - [-69.72655984163126, -36.65466880313181], - [-69.72657274799997, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '11', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 34, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72655984163126, -36.65466880313181], - [-69.72687018099995, -36.65466690888248], - [-69.72687018099995, -36.65457707776498], - [-69.72654693526253, -36.65458086626364], - [-69.72655984163126, -36.65466880313181], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '12', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 35, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72687018099995, -36.65475673999998], - [-69.72716761399994, -36.65475673999998], - [-69.72715713189561, -36.65466814912891], - [-69.72687018099995, -36.65466690888248], - [-69.72687018099995, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '13', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 36, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72687018099995, -36.65466690888248], - [-69.72715713189561, -36.65466814912891], - [-69.72714664979128, -36.654579558257836], - [-69.72687018099995, -36.65457707776498], - [-69.72687018099995, -36.65466690888248], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '14', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 37, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72716761399994, -36.65475673999998], - [-69.72746504649996, -36.65468535599996], - [-69.7274440822913, -36.654598005375306], - [-69.72715713189561, -36.65466814912891], - [-69.72716761399994, -36.65475673999998], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '15', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 38, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72715713189561, -36.65466814912891], - [-69.7274440822913, -36.654598005375306], - [-69.72742311808264, -36.65451065475066], - [-69.72714664979128, -36.654579558257836], - [-69.72715713189561, -36.65466814912891], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '16', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 39, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72746504649996, -36.65468535599996], - [-69.72776247899998, -36.654613971999936], - [-69.7277686781305, -36.654528593644294], - [-69.7274440822913, -36.654598005375306], - [-69.72746504649996, -36.65468535599996], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '17', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 40, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.7274440822913, -36.654598005375306], - [-69.7277686781305, -36.654528593644294], - [-69.72777487726103, -36.65444321528866], - [-69.72742311808264, -36.65451065475066], - [-69.7274440822913, -36.654598005375306], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '18', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 41, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72776247899998, -36.654613971999936], - [-69.72800042499998, -36.65470915049994], - [-69.72803378746968, -36.65462574441331], - [-69.7277686781305, -36.654528593644294], - [-69.72776247899998, -36.654613971999936], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '19', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 42, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.7277686781305, -36.654528593644294], - [-69.72803378746968, -36.65462574441331], - [-69.72806714993939, -36.654542338326685], - [-69.72777487726103, -36.65444321528866], - [-69.7277686781305, -36.654528593644294], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '20', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 43, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72800042499998, -36.65470915049994], - [-69.72823837099997, -36.654804328999944], - [-69.72826446335993, -36.654718707416784], - [-69.72803378746968, -36.65462574441331], - [-69.72800042499998, -36.65470915049994], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '21', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 44, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72803378746968, -36.65462574441331], - [-69.72826446335993, -36.654718707416784], - [-69.7282905557199, -36.65463308583362], - [-69.72806714993939, -36.654542338326685], - [-69.72803378746968, -36.65462574441331], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '22', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 45, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72823837099997, -36.654804328999944], - [-69.72857149599997, -36.65487571299997], - [-69.7285846370684, -36.654787034043004], - [-69.72826446335993, -36.654718707416784], - [-69.72823837099997, -36.654804328999944], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '23', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 46, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72826446335993, -36.654718707416784], - [-69.7285846370684, -36.654787034043004], - [-69.72859777813682, -36.65469835508604], - [-69.7282905557199, -36.65463308583362], - [-69.72826446335993, -36.654718707416784], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '24', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 47, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.72857149599997, -36.65487571299997], - [-69.72885703099996, -36.65489950699998], - [-69.7288644908866, -36.654809986165745], - [-69.7285846370684, -36.654787034043004], - [-69.72857149599997, -36.65487571299997], - ], - ], - }, - }, - { - type: 'Feature', - properties: { - cid: '25', - pos: 'right', - gid: '264890', - source_object: 'Acueducto', - source_gna: 'Acueducto', - id: 48, - }, - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-69.7285846370684, -36.654787034043004], - [-69.7288644908866, -36.654809986165745], - [-69.72887195077324, -36.65472046533151], - [-69.72859777813682, -36.65469835508604], - [-69.7285846370684, -36.654787034043004], - ], - ], - }, - }, - ], - }, - taskTypes: ['Sacar fotos', 'Llenar formularios'], - }, - ]; - - return projects.map(async (p) => await this.projectService.create(p)); - } } diff --git a/src/module/task/entities/time-restriction.entity.ts b/src/module/task/entities/time-restriction.entity.ts index 5dee88f..edf2167 100644 --- a/src/module/task/entities/time-restriction.entity.ts +++ b/src/module/task/entities/time-restriction.entity.ts @@ -5,18 +5,16 @@ export class TimeInterval { endDate: Date; time: { // Between 00 and 23 - start: number; - end: number; + start: Date; + end: Date; }; satisfy(date: Date | string): boolean { const datetime = new Date(date); const dayOfWeek = datetime.getDay() === 0 ? 7 : datetime.getDay(); - const hour = datetime.getHours(); - const isValidDay = this.days.includes(dayOfWeek); - const isValidHour = hour >= this.time.start && hour < this.time.end; + const isValidHour = datetime >= this.time.start && datetime < this.time.end; const isWithinDateRange = !this.endDate || (datetime >= this.startDate && datetime <= this.endDate); @@ -26,7 +24,7 @@ export class TimeInterval { constructor( name: string, days: number[], - time: { start: number; end: number }, + time: { start: Date; end: Date }, startDate: Date, endDate: Date, ) { From 1f5a70db277faee30e64f8a363a11fd54d349663 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Wed, 22 Oct 2025 22:24:06 -0300 Subject: [PATCH 027/104] solve #7 and fix tests --- .../adaptive-recomendation-engine.spec.ts | 5 +++- src/module/project/entities/project.ts | 2 +- .../project/persistence/project.schema.ts | 4 ++-- src/module/task/entities/task.spec.ts | 4 ++-- .../task/entities/time-restriction.entity.ts | 23 +++++++++++++++---- .../task/entities/time-restriction.spec.ts | 8 +++---- 6 files changed, 32 insertions(+), 14 deletions(-) diff --git a/src/module/gamification/entities/engine/recommendation/adaptive-recomendation-engine.spec.ts b/src/module/gamification/entities/engine/recommendation/adaptive-recomendation-engine.spec.ts index a496cf0..4163e93 100644 --- a/src/module/gamification/entities/engine/recommendation/adaptive-recomendation-engine.spec.ts +++ b/src/module/gamification/entities/engine/recommendation/adaptive-recomendation-engine.spec.ts @@ -248,7 +248,10 @@ function createTask( new TimeInterval( timeName, [1, 2, 3, 4, 5], - { start: 6, end: 12 }, + { + start: '06:00:00', + end: '12:00:00', + }, new Date('2024-01-01'), new Date('2024-12-31'), ), diff --git a/src/module/project/entities/project.ts b/src/module/project/entities/project.ts index a83f3d8..ecfa152 100644 --- a/src/module/project/entities/project.ts +++ b/src/module/project/entities/project.ts @@ -21,7 +21,7 @@ export class Project { gamification: Gamification, gamificationStrategy: GamificationStrategy, recommendationStrategy: RecommendationStrategy, - manualLocation: boolean, + manualLocation: boolean = false, ) { this.id = id; this.name = name; diff --git a/src/module/project/persistence/project.schema.ts b/src/module/project/persistence/project.schema.ts index 8106a5e..e7ab7e9 100644 --- a/src/module/project/persistence/project.schema.ts +++ b/src/module/project/persistence/project.schema.ts @@ -50,8 +50,8 @@ export class ProjectTemplate { start: { type: String, required: true }, // Hora de inicio end: { type: String, required: true }, // Hora de fin }, - startDate: { type: Date, required: true }, - endDate: { type: Date, required: true }, + startDate: { type: String, required: true }, + endDate: { type: String, required: true }, }, ], }) diff --git a/src/module/task/entities/task.spec.ts b/src/module/task/entities/task.spec.ts index ae26e8e..dbb45a6 100644 --- a/src/module/task/entities/task.spec.ts +++ b/src/module/task/entities/task.spec.ts @@ -17,8 +17,8 @@ describe('Task', () => { '', [1, 3, 5], { - start: 13, - end: 19, + start: '13:00:00', + end: '19:00:00', }, new Date('01/01/2024'), new Date('12/31/2024'), diff --git a/src/module/task/entities/time-restriction.entity.ts b/src/module/task/entities/time-restriction.entity.ts index edf2167..14ca8df 100644 --- a/src/module/task/entities/time-restriction.entity.ts +++ b/src/module/task/entities/time-restriction.entity.ts @@ -5,8 +5,8 @@ export class TimeInterval { endDate: Date; time: { // Between 00 and 23 - start: Date; - end: Date; + start: string; // e.g., "08:00" or "14:30:00" + end: string; }; satisfy(date: Date | string): boolean { @@ -14,17 +14,32 @@ export class TimeInterval { const dayOfWeek = datetime.getDay() === 0 ? 7 : datetime.getDay(); const isValidDay = this.days.includes(dayOfWeek); - const isValidHour = datetime >= this.time.start && datetime < this.time.end; + + const isValidHour = this.isValidHour(datetime); const isWithinDateRange = !this.endDate || (datetime >= this.startDate && datetime <= this.endDate); return isValidDay && isValidHour && isWithinDateRange; } + private isValidHour(datetime: Date) { + const [startHour, startMinute] = this.time.start.split(':').map(Number); + const [endHour, endMinute] = this.time.end.split(':').map(Number); + const currentHour = datetime.getHours(); + const currentMinute = datetime.getMinutes(); + + return ( + (currentHour > startHour || + (currentHour === startHour && currentMinute >= startMinute)) && + (currentHour < endHour || + (currentHour === endHour && currentMinute < endMinute)) + ); + } + constructor( name: string, days: number[], - time: { start: Date; end: Date }, + time: { start: string; end: string }, startDate: Date, endDate: Date, ) { diff --git a/src/module/task/entities/time-restriction.spec.ts b/src/module/task/entities/time-restriction.spec.ts index a26e510..2d41244 100644 --- a/src/module/task/entities/time-restriction.spec.ts +++ b/src/module/task/entities/time-restriction.spec.ts @@ -8,8 +8,8 @@ describe('TaskTimeRestriction', () => { '', [1, 3, 5], { - start: 13, - end: 19, + start: '13:00:00', + end: '19:00:00', }, new Date('01/01/2024'), new Date('12/31/2024'), @@ -18,8 +18,8 @@ describe('TaskTimeRestriction', () => { it('should initialize with correct values', () => { expect(taskTimeRestriction.days).toEqual([1, 3, 5]); // Días Lunes, Miércoles y Viernes - expect(taskTimeRestriction.time.start).toBe(13); // Hora de inicio 13 - expect(taskTimeRestriction.time.end).toBe(19); // Hora de fin 19 + expect(taskTimeRestriction.time.start).toBe('13:00:00'); // Hora de inicio 13 + expect(taskTimeRestriction.time.end).toBe('19:00:00'); // Hora de fin 19 }); describe('satisfy method', () => { From c7f8e6f3bb2d5f59e96d9cd9f153abb4f04f7fcd Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Wed, 22 Oct 2025 22:44:47 -0300 Subject: [PATCH 028/104] feat: add endpoint to retrieve public projects --- src/module/volunteer/volunteer.controller.ts | 5 +++++ src/module/volunteer/volunteer.service.ts | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/src/module/volunteer/volunteer.controller.ts b/src/module/volunteer/volunteer.controller.ts index c3866e3..1753c3f 100644 --- a/src/module/volunteer/volunteer.controller.ts +++ b/src/module/volunteer/volunteer.controller.ts @@ -25,4 +25,9 @@ export class VolunteerController { findProjects(@Req() req) { return this.volunteerService.findProjects(req.user.userId); } + + @Get('/public/projects') + findPublicProjects(@Req() req) { + return this.volunteerService.findPublicProjects(); + } } diff --git a/src/module/volunteer/volunteer.service.ts b/src/module/volunteer/volunteer.service.ts index dccf8db..1785edc 100644 --- a/src/module/volunteer/volunteer.service.ts +++ b/src/module/volunteer/volunteer.service.ts @@ -51,4 +51,8 @@ export class VolunteerService { return a.subscribed === b.subscribed ? 0 : a.subscribed ? -1 : 1; }); } + + findPublicProjects() { + return this.projectService.findAll(); + } } From d0522fcf1a5e7f032805ac18f956b1bc73d7b20b Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Thu, 23 Oct 2025 09:41:15 -0300 Subject: [PATCH 029/104] fix lint --- src/module/auth/users/user.entity.ts | 4 ---- src/module/checkin/persistence/checkin.dao.ts | 1 - src/module/leaderboard/leaderboard.controller.ts | 7 +++---- src/module/leaderboard/leaderboard.service.ts | 5 +---- src/module/project/project.controller.ts | 1 - src/module/volunteer/volunteer.controller.ts | 2 +- 6 files changed, 5 insertions(+), 15 deletions(-) diff --git a/src/module/auth/users/user.entity.ts b/src/module/auth/users/user.entity.ts index 884b02d..1c7df94 100644 --- a/src/module/auth/users/user.entity.ts +++ b/src/module/auth/users/user.entity.ts @@ -247,8 +247,4 @@ export class User { }); } } - - getPointsFromProject(id: string): number { - return 5; - } } diff --git a/src/module/checkin/persistence/checkin.dao.ts b/src/module/checkin/persistence/checkin.dao.ts index 6cd9486..7886f6a 100644 --- a/src/module/checkin/persistence/checkin.dao.ts +++ b/src/module/checkin/persistence/checkin.dao.ts @@ -5,7 +5,6 @@ import { CheckInTemplate, CheckInDocument } from './checkin.schema'; import { UpdateCheckinDto } from '../dto/update-checkin.dto'; import { Checkin } from '../entities/checkin.entity'; import { CheckinMapper } from './CheckinMapper'; -import { UserService } from '../../auth/users/user.service'; @Injectable() export class CheckInDao { diff --git a/src/module/leaderboard/leaderboard.controller.ts b/src/module/leaderboard/leaderboard.controller.ts index 1053513..7e14f99 100644 --- a/src/module/leaderboard/leaderboard.controller.ts +++ b/src/module/leaderboard/leaderboard.controller.ts @@ -1,4 +1,4 @@ -import { Controller, Get, Param, Req, UseGuards } from '@nestjs/common'; +import { Controller, Get, Param, UseGuards } from '@nestjs/common'; import { LeaderboardService } from './leaderboard.service'; import { JwtAuthGuard } from '../auth/auth.guard'; @@ -8,8 +8,7 @@ export class LeaderboardController { @UseGuards(JwtAuthGuard) @Get('/:projectId') - leaderboard(@Param('projectId') projectId: string, @Req() req) { - const userId = req.user.userId; - return this.leaderboardService.getLeaderboardFor(projectId, userId); + leaderboard(@Param('projectId') projectId: string) { + return this.leaderboardService.getLeaderboardFor(projectId); } } diff --git a/src/module/leaderboard/leaderboard.service.ts b/src/module/leaderboard/leaderboard.service.ts index 70b57b8..b62adf7 100644 --- a/src/module/leaderboard/leaderboard.service.ts +++ b/src/module/leaderboard/leaderboard.service.ts @@ -6,10 +6,7 @@ import { Leaderboard } from './persistence/leaderboard-user-schema'; export class LeaderboardService { constructor(private leaderboardDao: LeaderboardDao) {} - async getLeaderboardFor( - projectId: string, - userId: string, - ): Promise { + async getLeaderboardFor(projectId: string): Promise { return this.leaderboardDao.findByProjectId(projectId); } } diff --git a/src/module/project/project.controller.ts b/src/module/project/project.controller.ts index 0185cf7..a6bfe6e 100644 --- a/src/module/project/project.controller.ts +++ b/src/module/project/project.controller.ts @@ -15,7 +15,6 @@ import { RolesGuard } from '../auth/roles.guard'; import { CreateProjectDto } from './dto/create-project.dto'; import { ProjectService } from './project.service'; import { UserService } from '../auth/users/user.service'; -import { TimeInterval } from '../task/entities/time-restriction.entity'; import { UpdateProjectDto } from './dto/update-project.dto'; @Controller('projects') diff --git a/src/module/volunteer/volunteer.controller.ts b/src/module/volunteer/volunteer.controller.ts index 1753c3f..1d267c4 100644 --- a/src/module/volunteer/volunteer.controller.ts +++ b/src/module/volunteer/volunteer.controller.ts @@ -27,7 +27,7 @@ export class VolunteerController { } @Get('/public/projects') - findPublicProjects(@Req() req) { + findPublicProjects() { return this.volunteerService.findPublicProjects(); } } From 3f600648f4c6b2ba87299a5305e2b13537718e98 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Thu, 23 Oct 2025 17:25:16 -0300 Subject: [PATCH 030/104] refactor: remove unused userId parameter from leaderboard retrieval --- src/module/project/project.service.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/module/project/project.service.ts b/src/module/project/project.service.ts index 55f5d52..ee5087f 100644 --- a/src/module/project/project.service.ts +++ b/src/module/project/project.service.ts @@ -47,7 +47,6 @@ export class ProjectService { points: gp?.points, leaderboard: await this.leaderboardService.getLeaderboardFor( project.id, - userId, ), }, }; From ed9770a9b429869f721c72afed47c28d738e5d7e Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Thu, 23 Oct 2025 22:50:56 -0300 Subject: [PATCH 031/104] feat: update date range validation to use Date objects for improved accuracy --- src/module/task/entities/time-restriction.entity.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/module/task/entities/time-restriction.entity.ts b/src/module/task/entities/time-restriction.entity.ts index 14ca8df..f1b53b6 100644 --- a/src/module/task/entities/time-restriction.entity.ts +++ b/src/module/task/entities/time-restriction.entity.ts @@ -18,7 +18,8 @@ export class TimeInterval { const isValidHour = this.isValidHour(datetime); const isWithinDateRange = - !this.endDate || (datetime >= this.startDate && datetime <= this.endDate); + datetime >= new Date(this.startDate) && + datetime <= new Date(this.endDate); return isValidDay && isValidHour && isWithinDateRange; } From 1d881c78ae0f36b37a9a540ea8c621a879b70144 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Tue, 4 Nov 2025 15:19:35 -0300 Subject: [PATCH 032/104] feat: add support for ELASTIC gamification strategy in badge and leaderboard engines --- .../engine/gamification/gamification-strategy-factory.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.ts b/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.ts index 573a031..ecff61f 100644 --- a/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.ts +++ b/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.ts @@ -23,6 +23,8 @@ export class GamificationEngineFactory { switch (gamificationStrategy) { case GamificationStrategy.BASIC: return this.basicBadgeEngine; + case GamificationStrategy.ELASTIC: + return this.basicBadgeEngine; default: throw new Error( `Unknown gamification engine type: ${gamificationStrategy}`, @@ -49,6 +51,8 @@ export class GamificationEngineFactory { switch (gamificationStrategy) { case GamificationStrategy.BASIC: return this.leaderboardEngine; + case GamificationStrategy.ELASTIC: + return this.leaderboardEngine; default: throw new Error( `Unknown gamification engine type: ${gamificationStrategy}`, From 1337c2449c989acec8bfb5dde32bddb580bd26ca Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Tue, 4 Nov 2025 15:46:59 -0300 Subject: [PATCH 033/104] fix: add null checks to prevent errors in gamification and task entities --- .../gamification/entities/gamification.entity.ts | 2 +- src/module/task/entities/task.entity.ts | 3 +++ src/module/task/entities/time-restriction.entity.ts | 3 +++ src/module/task/persistence/task.dao.ts | 13 +++++-------- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/module/gamification/entities/gamification.entity.ts b/src/module/gamification/entities/gamification.entity.ts index c917f49..c8b86c1 100644 --- a/src/module/gamification/entities/gamification.entity.ts +++ b/src/module/gamification/entities/gamification.entity.ts @@ -103,7 +103,7 @@ export class PointRule { matchTask(task: Task) { return ( this.matchTaskType(task.type) && - this.matchArea(task.areaGeoJSON.properties.id.toString()) && + this.matchArea(task.areaGeoJSON?.properties?.id?.toString()) && this.matchTimeInterval(task.timeInterval.name.toString()) ); } diff --git a/src/module/task/entities/task.entity.ts b/src/module/task/entities/task.entity.ts index ff0ae94..8a13710 100644 --- a/src/module/task/entities/task.entity.ts +++ b/src/module/task/entities/task.entity.ts @@ -66,6 +66,9 @@ export class Task { } accept(checkin: Checkin) { + if (!this.areaGeoJSON) { + return false; + } const validations = [ this.isSameTaskType(checkin), this.isSameProject(checkin), diff --git a/src/module/task/entities/time-restriction.entity.ts b/src/module/task/entities/time-restriction.entity.ts index f1b53b6..255aedb 100644 --- a/src/module/task/entities/time-restriction.entity.ts +++ b/src/module/task/entities/time-restriction.entity.ts @@ -10,6 +10,9 @@ export class TimeInterval { }; satisfy(date: Date | string): boolean { + if (this.name === 'unavailable') { + return false; + } const datetime = new Date(date); const dayOfWeek = datetime.getDay() === 0 ? 7 : datetime.getDay(); diff --git a/src/module/task/persistence/task.dao.ts b/src/module/task/persistence/task.dao.ts index 77a5626..53c85c0 100644 --- a/src/module/task/persistence/task.dao.ts +++ b/src/module/task/persistence/task.dao.ts @@ -71,9 +71,6 @@ export class TaskDao { const area = project.areas.features.find( (f) => f.properties.id?.toString() === doc.areaId?.toString(), ); - if (!area) { - throw new NotFoundException('Area not found'); - } return new Task( doc._id, doc.name, @@ -92,11 +89,11 @@ export class TaskDao { ): TimeInterval { const ti = project.timeIntervals.find((t) => t.name === timeIntervalId); return new TimeInterval( - ti.name, - ti.days, - ti.time, - ti.startDate, - ti.endDate, + ti?.name || 'unavailable', + ti?.days, + ti?.time, + ti?.startDate, + ti?.endDate, ); } From 0e2d98ea3c95f8483fcd3aed2d2775d4cf6e7d89 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Thu, 6 Nov 2025 11:11:22 -0300 Subject: [PATCH 034/104] feat: implement badges-first leaderboard engine and refactor leaderboard strategy handling --- src/module/checkin/checkin.service.ts | 2 +- .../badge-first-leaderboard-engine.ts | 55 +++++++++++++++++++ .../gamification/basic-leaderboard-engine.ts | 27 ++------- .../gamification/elastic-reward.spec.ts | 6 +- .../gamification-strategy-factory.ts | 25 +++++---- .../gamification/gamification.module.ts | 6 +- .../persistence/leaderboard.dao.ts | 2 - src/module/project/dto/create-project.dto.ts | 5 ++ src/module/project/entities/ProjectMapper.ts | 2 + src/module/project/entities/project.ts | 4 ++ src/module/project/persistence/project.dao.ts | 2 + .../project/persistence/project.schema.ts | 4 ++ 12 files changed, 101 insertions(+), 39 deletions(-) create mode 100644 src/module/gamification/entities/engine/gamification/badge-first-leaderboard-engine.ts diff --git a/src/module/checkin/checkin.service.ts b/src/module/checkin/checkin.service.ts index 5d10d20..9714304 100644 --- a/src/module/checkin/checkin.service.ts +++ b/src/module/checkin/checkin.service.ts @@ -82,7 +82,7 @@ export class CheckinService { project.gamificationStrategy, ); const leaderboardEngine = this.gamificationFactory.getLeaderboardEngine( - project.gamificationStrategy, + project.leaderboardStrategy, ); return new GameBuilder() .withBadgeEngine(badgeEngine) diff --git a/src/module/gamification/entities/engine/gamification/badge-first-leaderboard-engine.ts b/src/module/gamification/entities/engine/gamification/badge-first-leaderboard-engine.ts new file mode 100644 index 0000000..afc4e46 --- /dev/null +++ b/src/module/gamification/entities/engine/gamification/badge-first-leaderboard-engine.ts @@ -0,0 +1,55 @@ +import { + LeaderboardEngine, + LeaderboardUser, +} from '../../../../checkin/entities/game.entity'; +import { User } from '../../../../auth/users/user.entity'; +import { Project } from '../../../../project/entities/project'; +import { GamificationStrategy } from '../../../../project/dto/create-project.dto'; + +export function mapLeaderboardUser(u: User, project: Project) { + return (us) => { + if (us.id.toString() === u.id.toString()) { + return { + username: u.username, + _id: u.id, + points: u.getGameProfileFromProject(project.id).points, + badges: u.getGameProfileFromProject(project.id).badges, + completeName: u.completeName, + }; + } else { + return { + username: us.username, + _id: us.id, + points: us.getGameProfileFromProject(project.id).points, + badges: us.getGameProfileFromProject(project.id).badges, + completeName: us.completeName, + }; + } + }; +} + +export class BadgesFirstLBEngine implements LeaderboardEngine { + private sortCriteria = (project) => (a, b) => { + const profileA = a.getGameProfileFromProject(project.id); + const profileB = b.getGameProfileFromProject(project.id); + + // Criterio primario: ordenar por cantidad de insignias (descendente) + const badgeDifference = profileB.badges.length - profileA.badges.length; + if (badgeDifference !== 0) { + return badgeDifference; + } + + // Criterio secundario: si las insignias son iguales, ordenar por puntos (descendente) + return profileB.points - profileA.points; + }; + + assignableTo(project: Project): boolean { + return project.gamificationStrategy === GamificationStrategy.BASIC; + } + + build(usersList: User[], u: User, project: Project): LeaderboardUser[] { + return usersList + .sort(this.sortCriteria(project)) + .map(mapLeaderboardUser(u, project)); + } +} diff --git a/src/module/gamification/entities/engine/gamification/basic-leaderboard-engine.ts b/src/module/gamification/entities/engine/gamification/basic-leaderboard-engine.ts index ee8fbd2..63c7aab 100644 --- a/src/module/gamification/entities/engine/gamification/basic-leaderboard-engine.ts +++ b/src/module/gamification/entities/engine/gamification/basic-leaderboard-engine.ts @@ -4,11 +4,12 @@ import { } from '../../../../checkin/entities/game.entity'; import { User } from '../../../../auth/users/user.entity'; import { Project } from '../../../../project/entities/project'; -import { GamificationStrategy } from '../../../../project/dto/create-project.dto'; +import { LeaderboardStrategy } from '../../../../project/dto/create-project.dto'; +import { mapLeaderboardUser } from './badge-first-leaderboard-engine'; -export class BasicLeaderbardEngine implements LeaderboardEngine { +export class PointsFirstLBEngine implements LeaderboardEngine { assignableTo(project: Project): boolean { - return project.gamificationStrategy === GamificationStrategy.BASIC; + return project.leaderboardStrategy === LeaderboardStrategy.POINTS_FIRST; } build(usersList: User[], u: User, project: Project): LeaderboardUser[] { @@ -18,24 +19,6 @@ export class BasicLeaderbardEngine implements LeaderboardEngine { b.getGameProfileFromProject(project.id).points - a.getGameProfileFromProject(project.id).points, ) - .map((us) => { - if (us.id.toString() === u.id.toString()) { - return { - username: u.username, - _id: u.id, - points: u.getGameProfileFromProject(project.id).points, - badges: u.getGameProfileFromProject(project.id).badges, - completeName: u.completeName, - }; - } else { - return { - username: us.username, - _id: us.id, - points: us.getGameProfileFromProject(project.id).points, - badges: us.getGameProfileFromProject(project.id).badges, - completeName: us.completeName, - }; - } - }); + .map(mapLeaderboardUser(u, project)); } } diff --git a/src/module/gamification/entities/engine/gamification/elastic-reward.spec.ts b/src/module/gamification/entities/engine/gamification/elastic-reward.spec.ts index f9d19fd..375750a 100644 --- a/src/module/gamification/entities/engine/gamification/elastic-reward.spec.ts +++ b/src/module/gamification/entities/engine/gamification/elastic-reward.spec.ts @@ -2,13 +2,14 @@ import { ElasticPointsEngine } from './elastic-points-engine'; import { Checkin } from '../../../../checkin/entities/checkin.entity'; import { GamificationStrategy, + LeaderboardStrategy, RecommendationStrategy, } from '../../../../project/dto/create-project.dto'; import { BasicPointsEngine } from './basic-points-engine'; import { User } from '../../../../auth/users/user.entity'; import { Project } from '../../../../project/entities/project'; import { BasicBadgeEngine } from './basic-badge-engine'; -import { BasicLeaderbardEngine } from './basic-leaderboard-engine'; +import { PointsFirstLBEngine } from './basic-leaderboard-engine'; import { Game } from '../../../../checkin/entities/game.entity'; jest.mock('./basic-points-engine'); @@ -61,6 +62,7 @@ describe('ElasticPointsEngine', () => { 'user1', null, GamificationStrategy.ELASTIC, + LeaderboardStrategy.POINTS_FIRST, RecommendationStrategy.SIMPLE, ); @@ -68,7 +70,7 @@ describe('ElasticPointsEngine', () => { mockProject, new ElasticPointsEngine(), new BasicBadgeEngine(), - new BasicLeaderbardEngine(), + new PointsFirstLBEngine(), [], [user, user2, user3], ); diff --git a/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.ts b/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.ts index ecff61f..d6f83b2 100644 --- a/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.ts +++ b/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.ts @@ -4,18 +4,23 @@ import { LeaderboardEngine, PointsEngine, } from '../../../../checkin/entities/game.entity'; -import { GamificationStrategy } from '../../../../project/dto/create-project.dto'; +import { + GamificationStrategy, + LeaderboardStrategy, +} from '../../../../project/dto/create-project.dto'; import { BasicPointsEngine } from './basic-points-engine'; import { ElasticPointsEngine } from './elastic-points-engine'; -import { BasicLeaderbardEngine } from './basic-leaderboard-engine'; +import { PointsFirstLBEngine } from './basic-leaderboard-engine'; import { BasicBadgeEngine } from './basic-badge-engine'; +import { BadgesFirstLBEngine } from './badge-first-leaderboard-engine'; @Injectable() export class GamificationEngineFactory { constructor( private readonly basicPointEngine: BasicPointsEngine, private readonly elasticPointEngine: ElasticPointsEngine, - private readonly leaderboardEngine: BasicLeaderbardEngine, + private readonly pointsFirstLBEngine: PointsFirstLBEngine, + private readonly badgesFirstLBEngine: BadgesFirstLBEngine, private readonly basicBadgeEngine: BasicBadgeEngine, ) {} @@ -46,16 +51,16 @@ export class GamificationEngineFactory { } getLeaderboardEngine( - gamificationStrategy: GamificationStrategy, + leaderboardStrategy: LeaderboardStrategy, ): LeaderboardEngine { - switch (gamificationStrategy) { - case GamificationStrategy.BASIC: - return this.leaderboardEngine; - case GamificationStrategy.ELASTIC: - return this.leaderboardEngine; + switch (leaderboardStrategy) { + case LeaderboardStrategy.POINTS_FIRST: + return this.pointsFirstLBEngine; + case LeaderboardStrategy.BADGES_FIRST: + return this.badgesFirstLBEngine; default: throw new Error( - `Unknown gamification engine type: ${gamificationStrategy}`, + `Unknown gamification engine type: ${leaderboardStrategy}`, ); } } diff --git a/src/module/gamification/gamification.module.ts b/src/module/gamification/gamification.module.ts index d902367..eb6a0bb 100644 --- a/src/module/gamification/gamification.module.ts +++ b/src/module/gamification/gamification.module.ts @@ -13,16 +13,18 @@ import { GamificationEngineFactory } from './entities/engine/gamification/gamifi import { SimpleRecommendationEngine } from './entities/engine/recommendation/simple-recommendation-engine'; import { AdaptiveRecommendationEngine } from './entities/engine/recommendation/adaptive-recommendation-engine'; import { ElasticPointsEngine } from './entities/engine/gamification/elastic-points-engine'; -import { BasicLeaderbardEngine } from './entities/engine/gamification/basic-leaderboard-engine'; +import { PointsFirstLBEngine } from './entities/engine/gamification/basic-leaderboard-engine'; import { BasicPointsEngine } from './entities/engine/gamification/basic-points-engine'; import { BasicBadgeEngine } from './entities/engine/gamification/basic-badge-engine'; +import { BadgesFirstLBEngine } from './entities/engine/gamification/badge-first-leaderboard-engine'; const engines = [ GamificationEngineFactory, SimpleRecommendationEngine, AdaptiveRecommendationEngine, ElasticPointsEngine, - BasicLeaderbardEngine, + PointsFirstLBEngine, + BadgesFirstLBEngine, BasicPointsEngine, BasicBadgeEngine, ]; diff --git a/src/module/leaderboard/persistence/leaderboard.dao.ts b/src/module/leaderboard/persistence/leaderboard.dao.ts index 5706e3b..5aa739b 100644 --- a/src/module/leaderboard/persistence/leaderboard.dao.ts +++ b/src/module/leaderboard/persistence/leaderboard.dao.ts @@ -22,7 +22,6 @@ export class LeaderboardDao { lastUpdated: new Date(), }); } - leaderboard.users.sort((a, b) => b.points - a.points); return leaderboard; } @@ -49,7 +48,6 @@ export class LeaderboardDao { projectId: string, users: Leaderboard['users'], ): Promise { - users.sort((a, b) => b.points - a.points); const leaderboard = await this.leaderboardModel .findOneAndUpdate( { projectId }, diff --git a/src/module/project/dto/create-project.dto.ts b/src/module/project/dto/create-project.dto.ts index 301a270..fd10f33 100644 --- a/src/module/project/dto/create-project.dto.ts +++ b/src/module/project/dto/create-project.dto.ts @@ -5,6 +5,11 @@ export enum GamificationStrategy { ELASTIC = 'ELASTICA', } +export enum LeaderboardStrategy { + POINTS_FIRST = 'PUNTOS PRIMERO', + BADGES_FIRST = 'MEDALLAS PRIMERO', +} + export enum RecommendationStrategy { SIMPLE = 'SIMPLE', ADAPTIVE = 'ADAPTIVE', diff --git a/src/module/project/entities/ProjectMapper.ts b/src/module/project/entities/ProjectMapper.ts index 9134c93..70028a0 100644 --- a/src/module/project/entities/ProjectMapper.ts +++ b/src/module/project/entities/ProjectMapper.ts @@ -2,6 +2,7 @@ import { ProjectTemplate } from '../persistence/project.schema'; import { Project } from './project'; import { GamificationStrategy, + LeaderboardStrategy, RecommendationStrategy, } from '../dto/create-project.dto'; @@ -20,6 +21,7 @@ export class ProjectMapper { template.ownerId, null, template.gamificationStrategy as GamificationStrategy, + template.leaderboardStrategy as LeaderboardStrategy, template.recomemendationStrategy as RecommendationStrategy, template.manualLocation, ); diff --git a/src/module/project/entities/project.ts b/src/module/project/entities/project.ts index ecfa152..85d8713 100644 --- a/src/module/project/entities/project.ts +++ b/src/module/project/entities/project.ts @@ -3,6 +3,7 @@ import { Gamification } from '../../gamification/entities/gamification.entity'; import { FeatureCollection, GamificationStrategy, + LeaderboardStrategy, RecommendationStrategy, } from '../dto/create-project.dto'; @@ -20,6 +21,7 @@ export class Project { ownerId: string, gamification: Gamification, gamificationStrategy: GamificationStrategy, + leaderboardStrategy: LeaderboardStrategy, recommendationStrategy: RecommendationStrategy, manualLocation: boolean = false, ) { @@ -37,6 +39,7 @@ export class Project { this.gamificationStrategy = gamificationStrategy; this.recommendationStrategy = recommendationStrategy; this.manualLocation = manualLocation; + this.leaderboardStrategy = leaderboardStrategy; } id: string; @@ -53,4 +56,5 @@ export class Project { gamificationStrategy: GamificationStrategy; recommendationStrategy: RecommendationStrategy; manualLocation: boolean; + leaderboardStrategy: LeaderboardStrategy; } diff --git a/src/module/project/persistence/project.dao.ts b/src/module/project/persistence/project.dao.ts index f275e5c..b4d5dd6 100644 --- a/src/module/project/persistence/project.dao.ts +++ b/src/module/project/persistence/project.dao.ts @@ -6,6 +6,7 @@ import { CreateProjectDto, Feature, GamificationStrategy, + LeaderboardStrategy, RecommendationStrategy, } from '../dto/create-project.dto'; import { UpdateProjectDto } from '../dto/update-project.dto'; @@ -54,6 +55,7 @@ export class ProjectDao { project.ownerId, gamification, project.gamificationStrategy as GamificationStrategy, + project.leaderboardStrategy as LeaderboardStrategy, project.recomemendationStrategy as RecommendationStrategy, project.manualLocation, ); diff --git a/src/module/project/persistence/project.schema.ts b/src/module/project/persistence/project.schema.ts index e7ab7e9..3bb5cf7 100644 --- a/src/module/project/persistence/project.schema.ts +++ b/src/module/project/persistence/project.schema.ts @@ -3,6 +3,7 @@ import { Document, Schema as MongooseSchema } from 'mongoose'; import { TimeInterval } from '../../task/entities/time-restriction.entity'; import { GamificationStrategy, + LeaderboardStrategy, RecommendationStrategy, } from '../dto/create-project.dto'; @@ -40,6 +41,9 @@ export class ProjectTemplate { @Prop({ default: RecommendationStrategy.SIMPLE }) recomemendationStrategy: string; + @Prop({ default: LeaderboardStrategy.POINTS_FIRST }) + leaderboardStrategy: string; + @Prop({ required: true, type: [ From 3646192c3f7d42f7ac863319c382c81b431a43c9 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Fri, 7 Nov 2025 09:07:39 -0300 Subject: [PATCH 035/104] fix: correct spelling of recommendationStrategy and update related references --- src/module/project/dto/create-project.dto.ts | 5 +++-- src/module/project/entities/ProjectMapper.ts | 2 +- src/module/project/persistence/project.dao.ts | 2 +- src/module/project/persistence/project.schema.ts | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/module/project/dto/create-project.dto.ts b/src/module/project/dto/create-project.dto.ts index fd10f33..71893cd 100644 --- a/src/module/project/dto/create-project.dto.ts +++ b/src/module/project/dto/create-project.dto.ts @@ -12,7 +12,7 @@ export enum LeaderboardStrategy { export enum RecommendationStrategy { SIMPLE = 'SIMPLE', - ADAPTIVE = 'ADAPTIVE', + ADAPTIVE = 'ADAPTATIVO', } export class CreateProjectDto { @@ -26,7 +26,8 @@ export class CreateProjectDto { taskTypes: string[]; timeIntervals: TimeInterval[]; ownerId: string; - gamificationStrategy?: GamificationStrategy = GamificationStrategy.BASIC; + gamificationStrategy?: GamificationStrategy; + recommendationStrategy?: RecommendationStrategy; } export interface FeatureCollection { diff --git a/src/module/project/entities/ProjectMapper.ts b/src/module/project/entities/ProjectMapper.ts index 70028a0..9f7eff9 100644 --- a/src/module/project/entities/ProjectMapper.ts +++ b/src/module/project/entities/ProjectMapper.ts @@ -22,7 +22,7 @@ export class ProjectMapper { null, template.gamificationStrategy as GamificationStrategy, template.leaderboardStrategy as LeaderboardStrategy, - template.recomemendationStrategy as RecommendationStrategy, + template.recommendationStrategy as RecommendationStrategy, template.manualLocation, ); } diff --git a/src/module/project/persistence/project.dao.ts b/src/module/project/persistence/project.dao.ts index b4d5dd6..134fab9 100644 --- a/src/module/project/persistence/project.dao.ts +++ b/src/module/project/persistence/project.dao.ts @@ -56,7 +56,7 @@ export class ProjectDao { gamification, project.gamificationStrategy as GamificationStrategy, project.leaderboardStrategy as LeaderboardStrategy, - project.recomemendationStrategy as RecommendationStrategy, + project.recommendationStrategy as RecommendationStrategy, project.manualLocation, ); } diff --git a/src/module/project/persistence/project.schema.ts b/src/module/project/persistence/project.schema.ts index 3bb5cf7..c943e32 100644 --- a/src/module/project/persistence/project.schema.ts +++ b/src/module/project/persistence/project.schema.ts @@ -39,7 +39,7 @@ export class ProjectTemplate { gamificationStrategy: string; @Prop({ default: RecommendationStrategy.SIMPLE }) - recomemendationStrategy: string; + recommendationStrategy: string; @Prop({ default: LeaderboardStrategy.POINTS_FIRST }) leaderboardStrategy: string; From b305675c9de8f23dddadbb42c288f0ddb48246f0 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Thu, 4 Dec 2025 16:43:47 -0300 Subject: [PATCH 036/104] test: add unit tests for UserController, AuthService, and UserService --- src/module/auth/auth.service.spec.ts | 334 ++++++++++++++++++ src/module/auth/users/user.controller.spec.ts | 43 +++ src/module/auth/users/user.service.spec.ts | 99 ++++++ 3 files changed, 476 insertions(+) create mode 100644 src/module/auth/auth.service.spec.ts create mode 100644 src/module/auth/users/user.controller.spec.ts create mode 100644 src/module/auth/users/user.service.spec.ts diff --git a/src/module/auth/auth.service.spec.ts b/src/module/auth/auth.service.spec.ts new file mode 100644 index 0000000..4543aaa --- /dev/null +++ b/src/module/auth/auth.service.spec.ts @@ -0,0 +1,334 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { AuthService } from './auth.service'; +import { UserService } from './users/user.service'; +import { JwtService } from '@nestjs/jwt'; +import { BadRequestException } from '@nestjs/common'; +import { User } from './users/user.entity'; +import { UserRole } from './users/user.schema'; +import * as bcrypt from 'bcrypt'; +import * as nodemailer from 'nodemailer'; +import { v4 as uuidv4 } from 'uuid'; +import { RegisterUserDTO } from './auth.controller'; + +// Mock de dependencias externas +jest.mock('bcrypt'); +jest.mock('uuid'); +jest.mock('nodemailer'); + +describe('AuthService', () => { + let service: AuthService; + + const mockUserService = { + findByEmailOrUsername: jest.fn(), + create: jest.fn(), + getUserByResetToken: jest.fn(), + update: jest.fn(), + saveResetToken: jest.fn(), + }; + + const mockJwtService = { + sign: jest.fn(), + }; + + const mockTransporter = { + sendMail: jest.fn(), + }; + + beforeEach(async () => { + (nodemailer.createTransport as jest.Mock).mockReturnValue(mockTransporter); + + const module: TestingModule = await Test.createTestingModule({ + providers: [ + AuthService, + { provide: UserService, useValue: mockUserService }, + { provide: JwtService, useValue: mockJwtService }, + ], + }).compile(); + + service = module.get(AuthService); + + jest.clearAllMocks(); + }); + + it('should be defined', () => { + expect(service).toBeDefined(); + }); + + describe('validateUser', () => { + it('should return user if validation is successful', async () => { + const user = new User( + 'Test', + 'testuser', + 'test@test.com', + 'hashedpassword', + '', + false, + UserRole.Volunteer, + ); + mockUserService.findByEmailOrUsername.mockResolvedValue(user); + (bcrypt.compare as jest.Mock).mockResolvedValue(true); + + const result = await service.validateUser('testuser', 'password'); + expect(result).toEqual(user); + expect(mockUserService.findByEmailOrUsername).toHaveBeenCalledWith( + '', + 'testuser', + ); + expect(bcrypt.compare).toHaveBeenCalledWith('password', 'hashedpassword'); + }); + + it('should return null if user not found', async () => { + mockUserService.findByEmailOrUsername.mockResolvedValue(null); + const result = await service.validateUser('testuser', 'password'); + expect(result).toBeNull(); + }); + + it('should return null if password does not match', async () => { + const user = new User( + 'Test', + 'testuser', + 'test@test.com', + 'hashedpassword', + '', + false, + UserRole.Volunteer, + ); + mockUserService.findByEmailOrUsername.mockResolvedValue(user); + (bcrypt.compare as jest.Mock).mockResolvedValue(false); + + const result = await service.validateUser('testuser', 'password'); + expect(result).toBeNull(); + }); + }); + + describe('register', () => { + const registerDto: RegisterUserDTO = { + complete_name: 'Test User', + username: 'testuser', + email: 'test@test.com', + password: 'password', + profile_image: '', + role: UserRole.Volunteer, + }; + + it('should register a new user and send verification email', async () => { + mockUserService.findByEmailOrUsername.mockResolvedValue(null); + (bcrypt.genSalt as jest.Mock).mockResolvedValue('salt'); + (bcrypt.hash as jest.Mock).mockResolvedValue('hashedpassword'); + (uuidv4 as jest.Mock).mockReturnValue('test-token'); + mockUserService.create.mockResolvedValue(null); + await service.register(registerDto); + + expect(mockUserService.findByEmailOrUsername).toHaveBeenCalledWith( + registerDto.email, + registerDto.username, + ); + expect(bcrypt.hash).toHaveBeenCalledWith('password', 'salt'); + expect(mockUserService.create).toHaveBeenCalled(); + expect(mockTransporter.sendMail).toHaveBeenCalled(); + }); + + it('should throw BadRequestException if email or username is already in use', async () => { + const user = new User( + 'Test', + 'testuser', + 'test@test.com', + 'hashedpassword', + '', + false, + UserRole.Volunteer, + ); + mockUserService.findByEmailOrUsername.mockResolvedValue(user); + await expect(service.register(registerDto)).rejects.toThrow( + BadRequestException, + ); + }); + + it('should throw BadRequestException if sending email fails', async () => { + mockUserService.findByEmailOrUsername.mockResolvedValue(null); + (bcrypt.genSalt as jest.Mock).mockResolvedValue('salt'); + (bcrypt.hash as jest.Mock).mockResolvedValue('hashedpassword'); + (uuidv4 as jest.Mock).mockReturnValue('test-token'); + mockUserService.create.mockResolvedValue(null); + mockTransporter.sendMail.mockImplementation(() => { + throw new Error('Mail error'); + }); + + await expect(service.register(registerDto)).rejects.toThrow( + new BadRequestException('Error al enviar el correo de verificación'), + ); + }); + }); + + describe('verifyEmail', () => { + it('should verify user email', async () => { + const user = new User( + 'Test', + 'testuser', + 'test@test.com', + 'hashedpassword', + '', + false, + UserRole.Volunteer, + ); + user.resetToken = 'valid-token'; + user.verifyAccount = jest.fn(); + mockUserService.getUserByResetToken.mockResolvedValue(user); + mockUserService.update.mockResolvedValue(user); + + const result = await service.verifyEmail('valid-token'); + + expect(mockUserService.getUserByResetToken).toHaveBeenCalledWith( + 'valid-token', + ); + expect(user.verifyAccount).toHaveBeenCalled(); + expect(result.resetToken).toBeNull(); + expect(mockUserService.update).toHaveBeenCalledWith(user.id, user); + }); + + it('should throw BadRequestException for invalid token', async () => { + mockUserService.getUserByResetToken.mockResolvedValue(null); + await expect(service.verifyEmail('invalid-token')).rejects.toThrow( + new BadRequestException('Token inválido o expirado'), + ); + }); + }); + + describe('hashPassword', () => { + it('should return a hashed password', async () => { + (bcrypt.genSalt as jest.Mock).mockResolvedValue('salt'); + (bcrypt.hash as jest.Mock).mockResolvedValue('hashedpassword'); + + const result = await service.hashPassword('password'); + expect(result).toBe('hashedpassword'); + }); + }); + + describe('login', () => { + it('should return an access token', async () => { + const user = new User( + 'Test', + 'testuser', + 'test@test.com', + 'hashedpassword', + '', + false, + UserRole.Volunteer, + ); + user.id = 'user-id'; + mockJwtService.sign.mockReturnValue('test-token'); + + const result = await service.login(user); + + expect(result).toEqual({ access_token: 'test-token' }); + expect(mockJwtService.sign).toHaveBeenCalledWith({ + username: user.username, + sub: user.id, + role: user.role, + }); + }); + }); + + describe('forgotPassword', () => { + it('should send a password reset email', async () => { + const user = new User( + 'Test', + 'testuser', + 'test@test.com', + 'hashedpassword', + '', + false, + UserRole.Volunteer, + ); + user.id = 'user-id'; + mockUserService.findByEmailOrUsername.mockResolvedValue(user); + (uuidv4 as jest.Mock).mockReturnValue('reset-token'); + mockTransporter.sendMail.mockImplementation((options, callback) => + callback(null, {}), + ); + + await service.forgotPassword('test@test.com'); + + expect(mockUserService.findByEmailOrUsername).toHaveBeenCalledWith( + 'test@test.com', + '', + ); + expect(mockUserService.saveResetToken).toHaveBeenCalledWith( + 'user-id', + 'reset-token', + ); + expect(mockTransporter.sendMail).toHaveBeenCalled(); + }); + + it('should throw BadRequestException if email not found', async () => { + mockUserService.findByEmailOrUsername.mockResolvedValue(null); + await expect(service.forgotPassword('test@test.com')).rejects.toThrow( + new BadRequestException('Email not found'), + ); + }); + + it('should handle error when sending email', async () => { + const user = new User( + 'Test', + 'testuser', + 'test@test.com', + 'hashedpassword', + '', + false, + UserRole.Volunteer, + ); + user.id = 'user-id'; + mockUserService.findByEmailOrUsername.mockResolvedValue(user); + (uuidv4 as jest.Mock).mockReturnValue('reset-token'); + mockTransporter.sendMail.mockImplementation(() => { + throw new Error('Mail error'); + }); + const consoleErrorSpy = jest + .spyOn(console, 'error') + .mockImplementation(() => {}); + + await service.forgotPassword('test@test.com'); + expect(consoleErrorSpy).toHaveBeenCalled(); + consoleErrorSpy.mockRestore(); + }); + }); + + describe('recoverPassword', () => { + it('should recover user password', async () => { + const user = new User( + 'Test', + 'testuser', + 'test@test.com', + 'oldpassword', + '', + false, + UserRole.Volunteer, + ); + user.id = 'user-id'; + mockUserService.getUserByResetToken.mockResolvedValue(user); + (bcrypt.genSalt as jest.Mock).mockResolvedValue('salt'); + (bcrypt.hash as jest.Mock).mockResolvedValue('newhashedpassword'); + mockUserService.update.mockResolvedValue({ + ...user, + password: 'newhashedpassword', + resetToken: null, + }); + + const result = await service.recoverPassword( + 'reset-token', + 'newpassword', + ); + + expect(mockUserService.getUserByResetToken).toHaveBeenCalledWith( + 'reset-token', + ); + expect(bcrypt.hash).toHaveBeenCalledWith('newpassword', 'salt'); + expect(mockUserService.update).toHaveBeenCalledWith( + 'user-id', + expect.any(User), + ); + expect(result.password).toBe('newhashedpassword'); + expect(result.resetToken).toBeNull(); + }); + }); +}); diff --git a/src/module/auth/users/user.controller.spec.ts b/src/module/auth/users/user.controller.spec.ts new file mode 100644 index 0000000..5e7a31a --- /dev/null +++ b/src/module/auth/users/user.controller.spec.ts @@ -0,0 +1,43 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { UserController } from './user.controller'; +import { UserService } from './user.service'; + +describe('UserController', () => { + let controller: UserController; + + const mockUserService = { + findByEmailOrUsername: jest.fn(), + }; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [UserController], + providers: [{ provide: UserService, useValue: mockUserService }], + }).compile(); + + controller = module.get(UserController); + }); + + it('debería estar definido', () => { + expect(controller).toBeDefined(); + }); + + describe('getUserInfo', () => { + it('debería llamar a userService.findByEmailOrUsername con los argumentos correctos y retornar el resultado', async () => { + const req = { user: { username: 'testuser' } }; + const expectedResult = { + username: 'testuser', + email: 'test@example.com', + }; + mockUserService.findByEmailOrUsername.mockResolvedValue(expectedResult); + + const result = await controller.getUserInfo(req); + + expect(mockUserService.findByEmailOrUsername).toHaveBeenCalledWith( + '', + 'testuser', + ); + expect(result).toBe(expectedResult); + }); + }); +}); diff --git a/src/module/auth/users/user.service.spec.ts b/src/module/auth/users/user.service.spec.ts new file mode 100644 index 0000000..ac0e82f --- /dev/null +++ b/src/module/auth/users/user.service.spec.ts @@ -0,0 +1,99 @@ +import { UserService } from './user.service'; +import { UserDao } from './user.dao'; +import { User } from './user.entity'; +import { Checkin } from '../../checkin/entities/checkin.entity'; + +describe('UserService', () => { + let service: UserService; + let userDao: jest.Mocked; + + beforeEach(() => { + userDao = { + findByEmailOrUsername: jest.fn(), + create: jest.fn(), + update: jest.fn(), + getUserById: jest.fn(), + getAllByProjectId: jest.fn(), + getUserByResetToken: jest.fn(), + } as any; + service = new UserService(userDao); + }); + + it('findByEmailOrUsername debe delegar en userDao', async () => { + const user = { id: '1' } as User; + userDao.findByEmailOrUsername.mockResolvedValue(user); + const result = await service.findByEmailOrUsername('mail', 'user'); + expect(userDao.findByEmailOrUsername).toHaveBeenCalledWith('mail', 'user'); + expect(result).toBe(user); + }); + + it('create debe delegar en userDao', async () => { + const user = { id: '1' } as User; + userDao.create.mockResolvedValue(user); + const result = await service.create(user); + expect(userDao.create).toHaveBeenCalledWith(user); + expect(result).toBe(user); + }); + + it('update debe delegar en userDao', async () => { + const user = { id: '1' } as User; + userDao.update.mockResolvedValue(user); + const result = await service.update('1', user); + expect(userDao.update).toHaveBeenCalledWith('1', user); + expect(result).toBe(user); + }); + + it('getByUserId debe delegar en userDao', async () => { + const user = { id: '1' } as User; + userDao.getUserById.mockResolvedValue(user); + const result = await service.getByUserId('1'); + expect(userDao.getUserById).toHaveBeenCalledWith('1'); + expect(result).toBe(user); + }); + + it('findAllByProjectId debe delegar en userDao', async () => { + const users = [{ id: '1' }] as User[]; + userDao.getAllByProjectId.mockResolvedValue(users); + const result = await service.findAllByProjectId('p1'); + expect(userDao.getAllByProjectId).toHaveBeenCalledWith('p1'); + expect(result).toBe(users); + }); + + it('saveResetToken debe actualizar el resetToken y llamar a update', async () => { + const user = { id: '1', resetToken: '' } as User; + userDao.getUserById.mockResolvedValue(user); + userDao.update.mockResolvedValue(user); + await service.saveResetToken('1', 'token123'); + expect(userDao.getUserById).toHaveBeenCalledWith('1'); + expect(user.resetToken).toBe('token123'); + expect(userDao.update).toHaveBeenCalledWith('1', user); + }); + + it('rate debe agregar rating y actualizar el usuario', async () => { + const user = { id: '1', addRating: jest.fn() } as unknown as User; + userDao.getUserById.mockResolvedValue(user); + userDao.update.mockResolvedValue(user); + const checkin = {} as Checkin; + const result = await service.rate('1', checkin, 5); + expect(userDao.getUserById).toHaveBeenCalledWith('1'); + expect(user.addRating).toHaveBeenCalledWith(checkin, 5); + expect(userDao.update).toHaveBeenCalledWith('1', user); + expect(result).toBe(user); + }); + + it('rate debe lanzar error si el usuario no existe', async () => { + userDao.getUserById.mockResolvedValue(null); + await expect(service.rate('1', {} as Checkin, 5)).rejects.toThrow( + 'User not found', + ); + }); + + it('getUserByResetToken debe delegar en userDao', () => { + userDao.getUserByResetToken.mockReturnValue( + Promise.resolve({ id: '1' } as User), + ); + const result = service.getUserByResetToken('token'); + expect(userDao.getUserByResetToken).toHaveBeenCalledWith('token'); + expect(result).toEqual(Promise.resolve({ id: '1' } as User)); + }); +}); From 3e91e0ee7266fff79d6a5ab301bce7123c0194b3 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Sat, 6 Dec 2025 11:33:12 -0300 Subject: [PATCH 037/104] feat: add CheckinBuilder and ProjectBuilder classes with fluent interfaces --- src/module/auth/auth.service.spec.ts | 3 - src/module/checkin/checkin.builder.ts | 85 +++++++ src/module/checkin/checkin.service.spec.ts | 257 +++++++++++++++++++++ src/module/project/project.builder.ts | 144 ++++++++++++ src/module/task/task.builder.ts | 86 +++++++ 5 files changed, 572 insertions(+), 3 deletions(-) create mode 100644 src/module/checkin/checkin.builder.ts create mode 100644 src/module/checkin/checkin.service.spec.ts create mode 100644 src/module/project/project.builder.ts create mode 100644 src/module/task/task.builder.ts diff --git a/src/module/auth/auth.service.spec.ts b/src/module/auth/auth.service.spec.ts index 4543aaa..214ee18 100644 --- a/src/module/auth/auth.service.spec.ts +++ b/src/module/auth/auth.service.spec.ts @@ -243,9 +243,6 @@ describe('AuthService', () => { user.id = 'user-id'; mockUserService.findByEmailOrUsername.mockResolvedValue(user); (uuidv4 as jest.Mock).mockReturnValue('reset-token'); - mockTransporter.sendMail.mockImplementation((options, callback) => - callback(null, {}), - ); await service.forgotPassword('test@test.com'); diff --git a/src/module/checkin/checkin.builder.ts b/src/module/checkin/checkin.builder.ts new file mode 100644 index 0000000..d353c13 --- /dev/null +++ b/src/module/checkin/checkin.builder.ts @@ -0,0 +1,85 @@ +import { Checkin } from './entities/checkin.entity'; +import { User } from '../auth/users/user.entity'; +import { Task } from '../task/entities/task.entity'; + +class CheckinBuilder { + private id: string; + private latitude: string; + private longitude: string; + private datetime: Date; + private projectId: string; + private user: User; + private taskType: string; + private relatedTask: Task; + + constructor() { + this.id = 'default-checkin-id'; + this.latitude = '0'; + this.longitude = '0'; + this.datetime = new Date(); + this.projectId = 'default-project-id'; + this.user = new User( + 'default@user.com', + 'defaultuser', + 'password', + 'Default User', + ); + this.taskType = 'default-task-type'; + this.relatedTask = null; + } + + withId(id: string): this { + this.id = id; + return this; + } + + withLatitude(latitude: string): this { + this.latitude = latitude; + return this; + } + + withLongitude(longitude: string): this { + this.longitude = longitude; + return this; + } + + withDatetime(datetime: Date): this { + this.datetime = datetime; + return this; + } + + withProjectId(projectId: string): this { + this.projectId = projectId; + return this; + } + + withUser(user: User): this { + this.user = user; + return this; + } + + withTaskType(taskType: string): this { + this.taskType = taskType; + return this; + } + + withRelatedTask(relatedTask: Task): this { + this.relatedTask = relatedTask; + return this; + } + + build(): Checkin { + return new Checkin( + this.latitude, + this.longitude, + this.datetime, + this.projectId, + this.user, + this.taskType, + this.id, + this.relatedTask, + ); + } +} + +export default new CheckinBuilder(); diff --git a/src/module/checkin/checkin.service.spec.ts b/src/module/checkin/checkin.service.spec.ts new file mode 100644 index 0000000..d5a9775 --- /dev/null +++ b/src/module/checkin/checkin.service.spec.ts @@ -0,0 +1,257 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { CheckinService } from './checkin.service'; +import { CheckInDao } from './persistence/checkin.dao'; +import { TaskService } from '../task/task.service'; +import { UserService } from '../auth/users/user.service'; +import { ProjectService } from '../project/project.service'; +import { MoveDao } from './persistence/move.dao'; +import { GamificationService } from '../gamification/gamification.service'; +import { GamificationEngineFactory } from '../gamification/entities/engine/gamification/gamification-strategy-factory'; +import { CreateCheckinDto } from './dto/create-checkin.dto'; +import { User } from '../auth/users/user.entity'; +import { UpdateCheckinDto } from './dto/update-checkin.dto'; +import ProjectBuilder from '../project/project.builder'; +import TaskBuilder from '../task/task.builder'; +import CheckinBuilder from './checkin.builder'; + +const mockCheckInDao = { + create: jest.fn(), + findAll: jest.fn(), + findOne: jest.fn(), + update: jest.fn(), + remove: jest.fn(), + findByProjectId: jest.fn(), +}; + +const mockMoveDao = { + create: jest.fn(), +}; + +const mockTaskService = { + findByProjectId: jest.fn(), + setTaskAsSolved: jest.fn(), +}; + +const mockUserService = { + getByUserId: jest.fn(), + findAllByProjectId: jest.fn(), + update: jest.fn(), + rate: jest.fn(), +}; + +const mockProjectService = { + findOne: jest.fn(), +}; + +const mockGamificationService = { + saveMove: jest.fn(), +}; + +const mockGamificationFactory = { + getBadgeEngine: jest.fn(() => ({ + newBadgesFor: jest.fn(() => []), + })), + getPointsEngine: jest.fn(() => ({ + reward: jest.fn(() => 0), + })), + getLeaderboardEngine: jest.fn(() => ({ + build: jest.fn(() => ({ leaderboard: [] })), + })), +}; + +describe('CheckinService', () => { + let service: CheckinService; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + CheckinService, + { provide: CheckInDao, useValue: mockCheckInDao }, + { provide: MoveDao, useValue: mockMoveDao }, + { provide: TaskService, useValue: mockTaskService }, + { provide: UserService, useValue: mockUserService }, + { provide: ProjectService, useValue: mockProjectService }, + { provide: GamificationService, useValue: mockGamificationService }, + { + provide: GamificationEngineFactory, + useValue: mockGamificationFactory, + }, + ], + }).compile(); + + service = module.get(CheckinService); + jest.clearAllMocks(); + }); + + it('should be defined', () => { + expect(service).toBeDefined(); + }); + + describe('create', () => { + it('should create a checkin, play the game, and save the results', async () => { + const createCheckinDto: CreateCheckinDto = { + datetime: new Date(), + taskType: '', + userId: 'user1', + projectId: 'project1', + latitude: '0', + longitude: '0', + }; + + const user = new User( + 'test@test.com', + 'testuser', + 'password', + 'Test User', + ); + user.id = 'user1'; + user.addBadgeFromProject = jest.fn(); + user.addContribution = jest.fn(); + + const task = TaskBuilder.withId('task1').withName('Test Task').build(); + jest.spyOn(task, 'contributesToCheckin').mockReturnValue(true); + jest.spyOn(task, 'setSolved'); + + const project = ProjectBuilder.build(); + user.addProject(project.id); + + mockTaskService.findByProjectId.mockResolvedValue([task]); + mockUserService.getByUserId.mockResolvedValue(user); + mockUserService.findAllByProjectId.mockResolvedValue([user]); + mockProjectService.findOne.mockResolvedValue(project); + mockCheckInDao.create.mockResolvedValue({ _id: 'checkin1' }); + + const result = await service.create(createCheckinDto); + + expect(mockTaskService.findByProjectId).toHaveBeenCalledWith('project1'); + expect(mockUserService.getByUserId).toHaveBeenCalledWith('user1'); + expect(mockProjectService.findOne).toHaveBeenCalledWith('project1'); + expect(mockCheckInDao.create).toHaveBeenCalled(); + expect(mockMoveDao.create).toHaveBeenCalled(); + expect(task.setSolved).toHaveBeenCalledWith(true); + expect(user.addContribution).toHaveBeenCalledWith('task1'); + expect(mockTaskService.setTaskAsSolved).toHaveBeenCalledWith('task1'); + expect(mockUserService.update).toHaveBeenCalledWith('user1', user); + expect(mockGamificationService.saveMove).toHaveBeenCalled(); + expect(result).toHaveProperty('id', 'checkin1'); + expect(result.contributesTo).toEqual({ + name: 'Test Task', + id: 'task1', + }); + }); + + it('should create a checkin without a contribution', async () => { + const createCheckinDto: CreateCheckinDto = { + datetime: new Date(), + taskType: 'type', + userId: 'user1', + projectId: 'project1', + latitude: '0', + longitude: '0', + }; + + const user = new User( + 'test@test.com', + 'testuser', + 'password', + 'Test User', + ); + user.id = 'user1'; + user.addBadgeFromProject = jest.fn(); + user.addContribution = jest.fn(); + + const task = TaskBuilder.build(); + jest.spyOn(task, 'contributesToCheckin').mockReturnValue(false); // No contribution + jest.spyOn(task, 'setSolved'); + + const project = ProjectBuilder.build(); + user.addProject(project.id); + + mockTaskService.findByProjectId.mockResolvedValue([task]); + mockUserService.getByUserId.mockResolvedValue(user); + mockUserService.findAllByProjectId.mockResolvedValue([user]); + mockProjectService.findOne.mockResolvedValue(project); + mockCheckInDao.create.mockResolvedValue({ _id: 'checkin1' }); + + const result = await service.create(createCheckinDto); + + expect(mockCheckInDao.create).toHaveBeenCalled(); + expect(mockMoveDao.create).toHaveBeenCalled(); + expect(task.setSolved).not.toHaveBeenCalled(); + expect(user.addContribution).not.toHaveBeenCalled(); + expect(mockTaskService.setTaskAsSolved).not.toHaveBeenCalled(); + expect(mockUserService.update).toHaveBeenCalledWith('user1', user); + expect(mockGamificationService.saveMove).toHaveBeenCalled(); + expect(result).toHaveProperty('id', 'checkin1'); + expect(result.contributesTo).toBe(undefined); + }); + }); + + describe('findAll', () => { + it('should return all checkins', async () => { + const checkins = [CheckinBuilder.build()]; + mockCheckInDao.findAll.mockResolvedValue(checkins); + expect(await service.findAll()).toBe(checkins); + expect(mockCheckInDao.findAll).toHaveBeenCalled(); + }); + }); + + describe('findOne', () => { + it('should return a single checkin', async () => { + const checkin = CheckinBuilder.build(); + mockCheckInDao.findOne.mockResolvedValue(checkin); + expect(await service.findOne('1')).toBe(checkin); + expect(mockCheckInDao.findOne).toHaveBeenCalledWith('1'); + }); + }); + + describe('update', () => { + it('should update a checkin', async () => { + const updateDto: UpdateCheckinDto = {}; + const result = { id: '1' }; + mockCheckInDao.update.mockResolvedValue(result); + expect(await service.update('1', updateDto)).toBe(result); + expect(mockCheckInDao.update).toHaveBeenCalledWith('1', updateDto); + }); + }); + + describe('remove', () => { + it('should remove a checkin', async () => { + const result = { id: '1' }; + mockCheckInDao.remove.mockResolvedValue(result); + expect(await service.remove('1')).toBe(result); + expect(mockCheckInDao.remove).toHaveBeenCalledWith('1'); + }); + }); + + describe('findByProjectId', () => { + it('should find checkins by project id', async () => { + const checkins = [CheckinBuilder.build()]; + mockCheckInDao.findByProjectId.mockResolvedValue(checkins); + expect(await service.findByProjectId('user1', 'project1')).toBe(checkins); + expect(mockCheckInDao.findByProjectId).toHaveBeenCalledWith( + 'user1', + 'project1', + ); + }); + }); + + describe('rate', () => { + it('should rate a checkin', async () => { + const params = { checkinId: 'c1', rate: 5, userId: 'u1' }; + const checkin = CheckinBuilder.build(); + mockCheckInDao.findOne.mockResolvedValue(checkin); + mockUserService.rate.mockResolvedValue({ success: true }); + + const result = await service.rate(params); + + expect(mockCheckInDao.findOne).toHaveBeenCalledWith(params.checkinId); + expect(mockUserService.rate).toHaveBeenCalledWith( + params.userId, + checkin, + params.rate, + ); + expect(result).toEqual({ success: true }); + }); + }); +}); diff --git a/src/module/project/project.builder.ts b/src/module/project/project.builder.ts new file mode 100644 index 0000000..b36f8a2 --- /dev/null +++ b/src/module/project/project.builder.ts @@ -0,0 +1,144 @@ +import { Project } from './entities/project'; +import { TimeInterval } from '../task/entities/time-restriction.entity'; +import { Gamification } from '../gamification/entities/gamification.entity'; +import { + FeatureCollection, + GamificationStrategy, + LeaderboardStrategy, + RecommendationStrategy, +} from './dto/create-project.dto'; + +class ProjectBuilder { + private id: string; + private name: string; + private description: string; + private image: string; + private web: string; + private available: boolean; + private areas: FeatureCollection; + private taskTypes: string[]; + private timeIntervals: TimeInterval[]; + private ownerId: string; + private gamification: Gamification; + private gamificationStrategy: GamificationStrategy; + private leaderboardStrategy: LeaderboardStrategy; + private recommendationStrategy: RecommendationStrategy; + private manualLocation: boolean; + + constructor() { + this.id = 'default-id'; + this.name = 'Default Project'; + this.description = 'Default description'; + this.image = 'default.png'; + this.web = 'default.com'; + this.available = true; + this.areas = { type: 'FeatureCollection', features: [] }; + this.taskTypes = []; + this.timeIntervals = []; + this.ownerId = 'default-owner'; + this.gamification = new Gamification(this.id, [], []); + this.gamificationStrategy = GamificationStrategy.BASIC; + this.leaderboardStrategy = LeaderboardStrategy.POINTS_FIRST; + this.recommendationStrategy = RecommendationStrategy.SIMPLE; + this.manualLocation = false; + } + + withId(id: string): this { + this.id = id; + return this; + } + + withName(name: string): this { + this.name = name; + return this; + } + + withDescription(description: string): this { + this.description = description; + return this; + } + + withImage(image: string): this { + this.image = image; + return this; + } + + withWeb(web: string): this { + this.web = web; + return this; + } + + withAvailable(available: boolean): this { + this.available = available; + return this; + } + + withAreas(areas: FeatureCollection): this { + this.areas = areas; + return this; + } + + withTaskTypes(taskTypes: string[]): this { + this.taskTypes = taskTypes; + return this; + } + + withTimeIntervals(timeIntervals: TimeInterval[]): this { + this.timeIntervals = timeIntervals; + return this; + } + + withOwnerId(ownerId: string): this { + this.ownerId = ownerId; + return this; + } + + withGamification(gamification: Gamification): this { + this.gamification = gamification; + return this; + } + + withGamificationStrategy(gamificationStrategy: GamificationStrategy): this { + this.gamificationStrategy = gamificationStrategy; + return this; + } + + withLeaderboardStrategy(leaderboardStrategy: LeaderboardStrategy): this { + this.leaderboardStrategy = leaderboardStrategy; + return this; + } + + withRecommendationStrategy( + recommendationStrategy: RecommendationStrategy, + ): this { + this.recommendationStrategy = recommendationStrategy; + return this; + } + + withManualLocation(manualLocation: boolean): this { + this.manualLocation = manualLocation; + return this; + } + + build(): Project { + return new Project( + this.id, + this.name, + this.description, + this.image, + this.web, + this.available, + this.areas, + this.taskTypes, + this.timeIntervals, + this.ownerId, + this.gamification, + this.gamificationStrategy, + this.leaderboardStrategy, + this.recommendationStrategy, + this.manualLocation, + ); + } +} + +export default new ProjectBuilder(); diff --git a/src/module/task/task.builder.ts b/src/module/task/task.builder.ts new file mode 100644 index 0000000..f93f7fe --- /dev/null +++ b/src/module/task/task.builder.ts @@ -0,0 +1,86 @@ +import { Task } from './entities/task.entity'; +import { TimeInterval } from './entities/time-restriction.entity'; +import { Feature } from '../project/dto/create-project.dto'; + +class TaskBuilder { + private id: string; + private name: string; + private description: string; + private projectId: string; + private timeRestriction: TimeInterval; + private area: Feature; + private type: string; + private solved: boolean; + + constructor() { + this.id = 'default-task-id'; + this.name = 'Default Task'; + this.description = 'Default task description'; + this.projectId = 'default-project-id'; + this.timeRestriction = new TimeInterval( + 'daily', + [], + { start: '00:00', end: '23:59' }, + new Date(), + new Date(), + ); + this.area = null; + this.type = 'default-type'; + this.solved = false; + } + + withId(id: string): this { + this.id = id; + return this; + } + + withName(name: string): this { + this.name = name; + return this; + } + + withDescription(description: string): this { + this.description = description; + return this; + } + + withProjectId(projectId: string): this { + this.projectId = projectId; + return this; + } + + withTimeRestriction(timeRestriction: TimeInterval): this { + this.timeRestriction = timeRestriction; + return this; + } + + withArea(area: Feature): this { + this.area = area; + return this; + } + + withType(type: string): this { + this.type = type; + return this; + } + + withSolved(solved: boolean): this { + this.solved = solved; + return this; + } + + build(): Task { + return new Task( + this.id, + this.name, + this.description, + this.projectId, + this.timeRestriction, + this.area, + this.type, + this.solved, + ); + } +} + +export default new TaskBuilder(); From 7b3c54041a434e71ec7826067261bd46f37ec5ff Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Sat, 6 Dec 2025 11:37:30 -0300 Subject: [PATCH 038/104] test: add unit tests for GamificationService methods --- src/module/gamification/gamification.spec.ts | 178 +++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 src/module/gamification/gamification.spec.ts diff --git a/src/module/gamification/gamification.spec.ts b/src/module/gamification/gamification.spec.ts new file mode 100644 index 0000000..d365d90 --- /dev/null +++ b/src/module/gamification/gamification.spec.ts @@ -0,0 +1,178 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { GamificationService } from './gamification.service'; +import { GamificationDao } from './persistence/gamification-dao.service'; +import { CreateBadgeRuleDTO } from './dto/create-badge-rule-d-t.o'; +import { UpdateGamificationDto } from './dto/update-gamification.dto'; +import { UpdateBadgeRuleDTO } from './dto/update-badge-rule-d-t.o'; +import { CreateScoreRuleDto } from './dto/create-score-rule-dto'; +import { UpdateScoreRuleDto } from './dto/update-score-rule.dto'; +import { Move } from '../checkin/entities/move.entity'; + +const mockGamificationDao = { + addBadge: jest.fn(), + getGamificationByProjectId: jest.fn(), + updateGamification: jest.fn(), + deleteBadge: jest.fn(), + updateBadge: jest.fn(), + addScoreRule: jest.fn(), + updatePointRule: jest.fn(), + deletePointRule: jest.fn(), + saveMove: jest.fn(), +}; + +describe('GamificationService', () => { + let service: GamificationService; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + GamificationService, + { + provide: GamificationDao, + useValue: mockGamificationDao, + }, + ], + }).compile(); + + service = module.get(GamificationService); + jest.clearAllMocks(); + }); + + it('should be defined', () => { + expect(service).toBeDefined(); + }); + + describe('createBadge', () => { + it('should call gamificationDao.addBadge with correct parameters', async () => { + const dto: CreateBadgeRuleDTO = { + _id: '', + areaId: '', + checkinsAmount: 0, + description: '', + imageUrl: '', + mustContribute: false, + name: '', + previousBadges: [], + projectId: '', + taskType: '', + timeIntervalId: '', + }; + mockGamificationDao.addBadge.mockResolvedValue(dto); + await service.createBadge(dto); + expect(mockGamificationDao.addBadge).toHaveBeenCalledWith( + dto.projectId, + dto, + ); + }); + }); + + describe('findByProjectId', () => { + it('should call gamificationDao.getGamificationByProjectId', async () => { + const projectId = 'p1'; + mockGamificationDao.getGamificationByProjectId.mockResolvedValue({}); + await service.findByProjectId(projectId); + expect( + mockGamificationDao.getGamificationByProjectId, + ).toHaveBeenCalledWith(projectId); + }); + }); + + describe('update', () => { + it('should call gamificationDao.updateGamification', async () => { + const projectId = 'p1'; + const dto: UpdateGamificationDto = { + badgesRules: [], + pointRules: [], + projectId: '', + }; + mockGamificationDao.updateGamification.mockResolvedValue({}); + await service.update(projectId, dto); + expect(mockGamificationDao.updateGamification).toHaveBeenCalledWith( + projectId, + dto, + ); + }); + }); + + describe('removeBadge', () => { + it('should call gamificationDao.deleteBadge', async () => { + const projectId = 'p1'; + const badgeId = 'b1'; + mockGamificationDao.deleteBadge.mockResolvedValue({}); + await service.removeBadge(projectId, badgeId); + expect(mockGamificationDao.deleteBadge).toHaveBeenCalledWith( + projectId, + badgeId, + ); + }); + }); + + describe('updateBadge', () => { + it('should call gamificationDao.updateBadge', async () => { + const badgeId = 'b1'; + const dto: UpdateBadgeRuleDTO = {}; + mockGamificationDao.updateBadge.mockResolvedValue({}); + await service.updateBadge(badgeId, dto); + expect(mockGamificationDao.updateBadge).toHaveBeenCalledWith( + badgeId, + dto, + ); + }); + }); + + describe('createScoreRule', () => { + it('should call gamificationDao.addScoreRule', async () => { + const dto: CreateScoreRuleDto = { + _id: '', + areaId: '', + mustContribute: false, + projectId: '', + score: 0, + taskType: '', + timeIntervalId: '', + }; + mockGamificationDao.addScoreRule.mockResolvedValue({}); + await service.createScoreRule(dto); + expect(mockGamificationDao.addScoreRule).toHaveBeenCalledWith( + dto.projectId, + dto, + ); + }); + }); + + describe('updateScoreRule', () => { + it('should call gamificationDao.updatePointRule', async () => { + const dto: UpdateScoreRuleDto = { + projectId: 'p1', + }; + mockGamificationDao.updatePointRule.mockResolvedValue({}); + await service.updateScoreRule(dto); + expect(mockGamificationDao.updatePointRule).toHaveBeenCalledWith( + dto.projectId, + dto, + ); + }); + }); + + describe('removeScoreRule', () => { + it('should call gamificationDao.deletePointRule', async () => { + const projectId = 'p1'; + const ruleId = 's1'; + mockGamificationDao.deletePointRule.mockResolvedValue({}); + await service.removeScoreRule(projectId, ruleId); + expect(mockGamificationDao.deletePointRule).toHaveBeenCalledWith( + projectId, + ruleId, + ); + }); + }); + + describe('saveMove', () => { + it('should call gamificationDao.saveMove', async () => { + const move = {} as Move; + mockGamificationDao.saveMove.mockResolvedValue({}); + await service.saveMove(move); + expect(mockGamificationDao.saveMove).toHaveBeenCalledWith(move); + }); + }); +}); From 3e00836e7914ba3bbaeee405a8978b8cdf4a7bd8 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Sat, 6 Dec 2025 11:45:38 -0300 Subject: [PATCH 039/104] test: add unit tests for TaskService and enhance time restriction tests --- src/module/auth/users/user.entity.ts | 3 + .../task/entities/time-restriction.spec.ts | 38 +++ src/module/task/task.service.spec.ts | 256 ++++++++++++++++++ 3 files changed, 297 insertions(+) create mode 100644 src/module/task/task.service.spec.ts diff --git a/src/module/auth/users/user.entity.ts b/src/module/auth/users/user.entity.ts index 1c7df94..1179101 100644 --- a/src/module/auth/users/user.entity.ts +++ b/src/module/auth/users/user.entity.ts @@ -15,6 +15,9 @@ export interface UserRating { } export class User { + set contributions(value: string[]) { + this._contributions = value; + } set password(value: string) { this._password = value; } diff --git a/src/module/task/entities/time-restriction.spec.ts b/src/module/task/entities/time-restriction.spec.ts index 2d41244..4a6e2bb 100644 --- a/src/module/task/entities/time-restriction.spec.ts +++ b/src/module/task/entities/time-restriction.spec.ts @@ -28,6 +28,16 @@ describe('TaskTimeRestriction', () => { expect(taskTimeRestriction.satisfy(validDate)).toBe(true); // Debería ser válido }); + it('should return true for a date at the exact start time', () => { + const validDate = new Date('2024-09-16T13:00:00'); // Lunes (día 1) a las 13:00 + expect(taskTimeRestriction.satisfy(validDate)).toBe(true); + }); + + it('should return false for a date at the exact end time', () => { + const invalidDate = new Date('2024-09-16T19:00:00'); // Lunes (día 1) a las 19:00 + expect(taskTimeRestriction.satisfy(invalidDate)).toBe(false); + }); + it('should return false for invalid day', () => { const invalidDate = new Date('2024-09-17T15:00:00'); // Martes (día 2) a las 15:00 expect(taskTimeRestriction.satisfy(invalidDate)).toBe(false); // Día no permitido @@ -43,6 +53,34 @@ describe('TaskTimeRestriction', () => { expect(taskTimeRestriction.satisfy(invalidDayAndTime)).toBe(false); // Ni el día ni la hora son válidos }); + it('should return false for a date outside the date range (before)', () => { + const invalidDate = new Date('2023-12-31T15:00:00'); + expect(taskTimeRestriction.satisfy(invalidDate)).toBe(false); + }); + + it('should return false for a date outside the date range (after)', () => { + const invalidDate = new Date('2025-01-01T15:00:00'); + expect(taskTimeRestriction.satisfy(invalidDate)).toBe(false); + }); + + it('should return false if the restriction name is "unavailable"', () => { + taskTimeRestriction.name = 'unavailable'; + const validDate = new Date('2024-09-16T15:00:00'); + expect(taskTimeRestriction.satisfy(validDate)).toBe(false); + }); + + it('should handle Sunday correctly', () => { + const sundayRestriction = new TimeInterval( + '', + [7], // Domingo + { start: '10:00', end: '12:00' }, + new Date('2024-01-01'), + new Date('2024-12-31'), + ); + const sundayDate = new Date('2024-09-22T11:00:00'); // Domingo + expect(sundayRestriction.satisfy(sundayDate)).toBe(true); + }); + it('should handle string date inputs correctly', () => { const validStringDate = '2024-09-16T14:00:00'; // Lunes a las 14:00, válido expect(taskTimeRestriction.satisfy(validStringDate)).toBe(true); // Debería ser válido con un string diff --git a/src/module/task/task.service.spec.ts b/src/module/task/task.service.spec.ts new file mode 100644 index 0000000..f38b67b --- /dev/null +++ b/src/module/task/task.service.spec.ts @@ -0,0 +1,256 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { TaskService } from './task.service'; +import { TaskDao } from './persistence/task.dao'; +import { ProjectService } from '../project/project.service'; +import { UserService } from '../auth/users/user.service'; +import { RecommendationEngineFactory } from '../gamification/entities/engine/recommendation/recommendation-engine-factory'; +import { BadRequestException, NotFoundException } from '@nestjs/common'; +import { CreateTaskDto } from './dto/create-task.dto'; +import ProjectBuilder from '../project/project.builder'; +import { User } from '../auth/users/user.entity'; +import { UpdateTaskDto } from './dto/update-task.dto'; +import TaskBuilder from './task.builder'; + +const mockTaskDao = { + create: jest.fn(), + getRawTasksByProject: jest.fn(), + getTasksByProject: jest.fn(), + getTaskById: jest.fn(), + updateTask: jest.fn(), + deleteTask: jest.fn(), + deleteByProjectId: jest.fn(), + bulkSave: jest.fn(), + setTaskAsSolved: jest.fn(), + deleteUseless: jest.fn(), +}; + +const mockProjectService = { + findOne: jest.fn(), +}; + +const mockUserService = { + findByEmailOrUsername: jest.fn(), + findAllByProjectId: jest.fn(), +}; + +const mockRecommendationEngine = { + generateRecommendations: jest.fn(), +}; + +const mockRecommendationFactory = { + getEngine: jest.fn().mockReturnValue(mockRecommendationEngine), +}; + +describe('TaskService', () => { + let service: TaskService; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + TaskService, + { provide: TaskDao, useValue: mockTaskDao }, + { provide: ProjectService, useValue: mockProjectService }, + { provide: UserService, useValue: mockUserService }, + { + provide: RecommendationEngineFactory, + useValue: mockRecommendationFactory, + }, + ], + }).compile(); + + service = module.get(TaskService); + jest.clearAllMocks(); + }); + + it('should be defined', () => { + expect(service).toBeDefined(); + }); + + describe('create', () => { + it('should create a task successfully', async () => { + const createTaskDto: CreateTaskDto = { + solved: false, + timeIntervalId: '', + projectId: 'p1', + type: 'type1', + areaId: 'area1', + name: 'test', + description: 'test', + }; + const project = ProjectBuilder.withTaskTypes(['type1']) + .withAreas({ + type: 'FeatureCollection', + features: [{ type: 'Feature', properties: { id: 'area1' } } as any], + }) + .build(); + mockProjectService.findOne.mockResolvedValue(project); + mockTaskDao.create.mockResolvedValue({}); + + await service.create(createTaskDto); + + expect(mockProjectService.findOne).toHaveBeenCalledWith('p1'); + expect(mockTaskDao.create).toHaveBeenCalledWith(createTaskDto); + }); + + it('should throw BadRequestException for invalid task type', async () => { + const createTaskDto: CreateTaskDto = { + solved: false, + timeIntervalId: '', + projectId: 'p1', + type: 'invalid_type', + areaId: 'area1', + name: 'test', + description: 'test', + }; + const project = ProjectBuilder.withTaskTypes(['type1']).build(); + mockProjectService.findOne.mockResolvedValue(project); + + await expect(service.create(createTaskDto)).rejects.toThrow( + BadRequestException, + ); + }); + + it('should throw BadRequestException for invalid area', async () => { + const createTaskDto: CreateTaskDto = { + solved: false, + timeIntervalId: '', + projectId: 'p1', + type: 'type1', + areaId: 'invalid_area', + name: 'test', + description: 'test', + }; + const project = ProjectBuilder.withTaskTypes(['type1']) + .withAreas({ + type: 'FeatureCollection', + features: [{ type: 'Feature', properties: { id: 'area1' } } as any], + }) + .build(); + mockProjectService.findOne.mockResolvedValue(project); + + await expect(service.create(createTaskDto)).rejects.toThrow( + BadRequestException, + ); + }); + }); + + describe('findRawByProjectId', () => { + it('should return recommended tasks with solver and points', async () => { + const user = new User('a', 'user1', 'p', 'n'); + user.ratings = []; + user.contributions = []; + const solver = new User('b', 'solver', 'p', 'n'); + solver.contributions = ['task1']; + const task = TaskBuilder.withId('task1').build(); + const project = ProjectBuilder.build(); + + mockTaskDao.getRawTasksByProject.mockResolvedValue([task]); + mockUserService.findByEmailOrUsername.mockResolvedValue(user); + mockUserService.findAllByProjectId.mockResolvedValue([user, solver]); + mockProjectService.findOne.mockResolvedValue(project); + mockRecommendationEngine.generateRecommendations.mockReturnValue([ + { task, score: 1 }, + ]); + + const result = await service.findRawByProjectId('p1', 'user1'); + + expect(result[0].solvedBy).toBe('solver'); + expect(result[0].points).toBeDefined(); + }); + + it('should return recommended tasks without solver if not solved', async () => { + const user = new User('a', 'user1', 'p', 'n'); + user.ratings = []; + user.contributions = []; + const task = TaskBuilder.withId('task1').build(); + const project = ProjectBuilder.build(); + + mockTaskDao.getRawTasksByProject.mockResolvedValue([task]); + mockUserService.findByEmailOrUsername.mockResolvedValue(user); + mockUserService.findAllByProjectId.mockResolvedValue([user]); + mockProjectService.findOne.mockResolvedValue(project); + mockRecommendationEngine.generateRecommendations.mockReturnValue([ + { task, score: 1 }, + ]); + + const result = await service.findRawByProjectId('p1', 'user1'); + + expect(result[0].solvedBy).toBeUndefined(); + }); + }); + + describe('findByProjectId', () => { + it('should return tasks for a project', async () => { + const tasks = [TaskBuilder.build()]; + mockTaskDao.getTasksByProject.mockResolvedValue(tasks); + const result = await service.findByProjectId('p1'); + expect(result).toEqual(tasks); + expect(mockTaskDao.getTasksByProject).toHaveBeenCalledWith('p1'); + }); + }); + + describe('findOne', () => { + it('should return a single task', async () => { + const task = TaskBuilder.build(); + mockTaskDao.getTaskById.mockResolvedValue(task); + const result = await service.findOne('t1'); + expect(result).toEqual(task); + }); + + it('should throw NotFoundException if task not found', async () => { + mockTaskDao.getTaskById.mockResolvedValue(null); + await expect(service.findOne('t1')).rejects.toThrow(NotFoundException); + }); + }); + + describe('update', () => { + it('should update a task', async () => { + const dto: UpdateTaskDto = {}; + await service.update('t1', dto); + expect(mockTaskDao.updateTask).toHaveBeenCalledWith('t1', dto); + }); + }); + + describe('remove', () => { + it('should remove a task', async () => { + await service.remove('t1'); + expect(mockTaskDao.deleteTask).toHaveBeenCalledWith('t1'); + }); + }); + + describe('bulkSave', () => { + it('should delete existing tasks and bulk save new ones', async () => { + const dtoList: CreateTaskDto[] = [ + { + name: '', + description: '', + projectId: '', + timeIntervalId: '', + areaId: '', + type: '', + solved: false, + }, + ]; + await service.bulkSave('p1', dtoList); + expect(mockTaskDao.deleteByProjectId).toHaveBeenCalledWith('p1'); + expect(mockTaskDao.bulkSave).toHaveBeenCalledWith(dtoList); + }); + }); + + describe('setTaskAsSolved', () => { + it('should set a task as solved', async () => { + await service.setTaskAsSolved('t1'); + expect(mockTaskDao.setTaskAsSolved).toHaveBeenCalledWith('t1'); + }); + }); + + describe('removeUselessFrom', () => { + it('should remove useless tasks from a project', async () => { + const project = ProjectBuilder.build(); + mockProjectService.findOne.mockResolvedValue(project); + await service.removeUselessFrom('p1'); + expect(mockProjectService.findOne).toHaveBeenCalledWith('p1'); + expect(mockTaskDao.deleteUseless).toHaveBeenCalledWith(project); + }); + }); +}); From e2013631873ccf62d2058a4017443b24ccb4a0bd Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Sat, 6 Dec 2025 11:52:17 -0300 Subject: [PATCH 040/104] test: add unit tests for ProjectService methods --- src/module/project/project-service.spec.ts | 171 +++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 src/module/project/project-service.spec.ts diff --git a/src/module/project/project-service.spec.ts b/src/module/project/project-service.spec.ts new file mode 100644 index 0000000..91d54fb --- /dev/null +++ b/src/module/project/project-service.spec.ts @@ -0,0 +1,171 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { ProjectService } from './project.service'; +import { ProjectDao } from './persistence/project.dao'; +import { UserService } from '../auth/users/user.service'; +import { NotFoundException } from '@nestjs/common'; +import ProjectBuilder from './project.builder'; +import { User } from '../auth/users/user.entity'; +import { CreateProjectDto } from './dto/create-project.dto'; +import { UpdateProjectDto } from './dto/update-project.dto'; +import { LeaderboardService } from '../leaderboard/leaderboard.service'; +import { BadgeRule } from '../gamification/entities/gamification.entity'; + +const mockProjectDao = { + create: jest.fn(), + findAll: jest.fn(), + findOne: jest.fn(), + update: jest.fn(), + toggleAvailable: jest.fn(), +}; + +const mockUserService = { + getByUserId: jest.fn(), +}; + +const mockLeaderboardService = { + getLeaderboardFor: jest.fn(), +}; + +describe('ProjectService', () => { + let service: ProjectService; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + ProjectService, + { provide: ProjectDao, useValue: mockProjectDao }, + { provide: UserService, useValue: mockUserService }, + { provide: LeaderboardService, useValue: mockLeaderboardService }, + ], + }).compile(); + + service = module.get(ProjectService); + jest.clearAllMocks(); + }); + + it('should be defined', () => { + expect(service).toBeDefined(); + }); + + describe('create', () => { + it('should create a project', async () => { + const dto: CreateProjectDto = {} as any; + const project = ProjectBuilder.build(); + mockProjectDao.create.mockResolvedValue(project); + + const result = await service.create(dto); + + expect(mockProjectDao.create).toHaveBeenCalledWith(dto); + expect(result).toEqual(project); + }); + }); + + describe('findAll', () => { + it('should find all projects and return their _doc property', async () => { + const projects = [{ _doc: ProjectBuilder.build() }]; + mockProjectDao.findAll.mockResolvedValue(projects); + + const result = await service.findAll(); + + expect(mockProjectDao.findAll).toHaveBeenCalled(); + expect(result).toEqual([projects[0]._doc]); + }); + }); + + describe('findOne', () => { + it('should find a project by id without user status', async () => { + const project = ProjectBuilder.build(); + mockProjectDao.findOne.mockResolvedValue(project); + const result = await service.findOne('p1'); + expect(result).toEqual(project); + expect(mockUserService.getByUserId).not.toHaveBeenCalled(); + }); + + it('should find a project and include user status if userId is provided', async () => { + const project = ProjectBuilder.withId('p1').build(); + project.gamification.badgesRules = [ + { name: 'badge1' } as BadgeRule, + { name: 'badge2' } as BadgeRule, + ]; + const user = new User('a', 'b', 'c', 'd'); + const gameProfile = { points: 100, badges: ['badge1'] }; + user.getGameProfileFromProject = jest.fn().mockReturnValue(gameProfile); + user.isSubscribedToProject = jest.fn().mockReturnValue(true); + mockProjectDao.findOne.mockResolvedValue(project); + mockUserService.getByUserId.mockResolvedValue(user); + mockLeaderboardService.getLeaderboardFor.mockResolvedValue([]); + + const result = await service.findOne('p1', 'u1'); + + expect(result).toHaveProperty('user'); + expect(result.user.isSubscribed).toBe(true); + expect(result.user.points).toBe(100); + expect(result.user.badges[0]['active']).toBe(true); + expect(result.user.badges[1]['active']).toBe(false); + }); + + it('should handle user status when user has no game profile for the project', async () => { + const project = ProjectBuilder.withId('p1').build(); + const user = new User('a', 'b', 'c', 'd'); + user.getGameProfileFromProject = jest.fn().mockReturnValue(null); + mockProjectDao.findOne.mockResolvedValue(project); + mockUserService.getByUserId.mockResolvedValue(user); + + const result = await service.findOne('p1', 'u1'); + + expect(result.user).toBe(null); + }); + }); + + describe('update', () => { + it('should update a project', async () => { + const dto: UpdateProjectDto = {}; + const project = ProjectBuilder.build(); + mockProjectDao.update.mockResolvedValue(project); + const result = await service.update('p1', dto); + expect(mockProjectDao.update).toHaveBeenCalledWith('p1', dto); + expect(result).toEqual(project); + }); + }); + + describe('toggleAvailable', () => { + it('should toggle project availability', async () => { + await service.toggleAvailable('p1'); + expect(mockProjectDao.toggleAvailable).toHaveBeenCalledWith('p1'); + }); + }); + + describe('getTaskCombinations', () => { + it('should generate task combinations for a project', async () => { + const project = ProjectBuilder.withAreas({ + type: 'FeatureCollection', + features: [{ type: 'Feature', properties: {} } as any], + }) + .withTaskTypes(['type1']) + .withTimeIntervals([{} as any]) + .build(); + mockProjectDao.findOne.mockResolvedValue(project); + + const combinations = await service.getTaskCombinations('p1'); + + expect(combinations).toHaveLength(1); + expect(combinations[0][0].name).toBe('T1'); + }); + + it('should throw NotFoundException if project not found', async () => { + mockProjectDao.findOne.mockResolvedValue(null); + await expect(service.getTaskCombinations('p1')).rejects.toThrow( + NotFoundException, + ); + }); + }); + + describe('findOnePublic', () => { + it('should find a public project', async () => { + const project = ProjectBuilder.build(); + mockProjectDao.findOne.mockResolvedValue(project); + await service.findOnePublic('p1'); + expect(mockProjectDao.findOne).toHaveBeenCalledWith('p1'); + }); + }); +}); From 8bebc2490bf46699a17acea71856ee08cd4231d0 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Wed, 31 Dec 2025 11:43:34 -0300 Subject: [PATCH 041/104] add test to improve coverage --- package.json | 11 +- src/module/auth/auth.controller.spec.ts | 116 ++++++++++ src/module/auth/auth.service.spec.ts | 16 +- src/module/auth/auth.service.ts | 2 +- src/module/auth/jwt.strategy.spec.ts | 31 +++ src/module/auth/roles.guard.spec.ts | 63 ++++++ src/module/auth/users/UserMapper.spec.ts | 41 ++++ src/module/auth/users/user.dao.spec.ts | 109 ++++++++++ src/module/auth/users/user.entity.spec.ts | 133 ++++++++++++ src/module/checkin/checkin.builder.spec.ts | 37 ++++ src/module/checkin/checkin.controller.spec.ts | 91 ++++++++ src/module/checkin/checkin.service.spec.ts | 38 ++++ .../checkin/entities/checkin.entity.spec.ts | 51 +++++ .../checkin/entities/game.entity.spec.ts | 28 +++ .../checkin/entities/move.entity.spec.ts | 14 ++ .../checkin/persistence/CheckinMapper.spec.ts | 54 +++++ .../checkin/persistence/checkin.dao.spec.ts | 114 ++++++++++ .../checkin/persistence/move.dao.spec.ts | 78 +++++++ .../badge-first-leaderboard-engine.spec.ts | 43 ++++ .../gamification/basic-badge-engine.spec.ts | 137 ++++++++++++ .../basic-leaderboard-engine.spec.ts | 34 +++ .../gamification/basic-points-engine.spec.ts | 124 +++++++++++ .../gamification-strategy-factory.spec.ts | 42 ++++ .../adaptive-recomendation-engine.spec.ts | 29 +++ .../recommendation-engine-factory.spec.ts | 30 +++ .../simple-recommendation-engine.spec.ts | 11 + .../entities/gamification.entity.spec.ts | 48 +++++ .../gamificationController.spec.ts | 86 ++++++++ .../gamification-dao.service.spec.ts | 166 +++++++++++++++ .../leaderboard.controller.spec.ts | 37 ++++ .../leaderboard/leaderboard.service.spec.ts | 34 +++ .../persistence/leaderboard.dao.spec.ts | 121 +++++++++++ .../project/entities/ProjectMapper.spec.ts | 43 ++++ .../project/persistence/project.dao.spec.ts | 150 +++++++++++++ src/module/project/project.builder.spec.ts | 36 ++++ src/module/project/project.controller.spec.ts | 83 ++++++++ src/module/task/entities/task.spec.ts | 34 +++ src/module/task/persistence/task.dao.spec.ts | 198 ++++++++++++++++++ src/module/task/task.builder.spec.ts | 23 ++ src/module/task/task.controller.spec.ts | 82 ++++++++ src/module/task/task.service.spec.ts | 2 +- .../entities/volunteer.entity.spec.ts | 7 + .../volunteer/volunteer.controller.spec.ts | 57 +++++ .../volunteer/volunteer.service.spec.ts | 122 +++++++++++ 44 files changed, 2799 insertions(+), 7 deletions(-) create mode 100644 src/module/auth/auth.controller.spec.ts create mode 100644 src/module/auth/jwt.strategy.spec.ts create mode 100644 src/module/auth/roles.guard.spec.ts create mode 100644 src/module/auth/users/UserMapper.spec.ts create mode 100644 src/module/auth/users/user.dao.spec.ts create mode 100644 src/module/auth/users/user.entity.spec.ts create mode 100644 src/module/checkin/checkin.builder.spec.ts create mode 100644 src/module/checkin/checkin.controller.spec.ts create mode 100644 src/module/checkin/entities/checkin.entity.spec.ts create mode 100644 src/module/checkin/entities/game.entity.spec.ts create mode 100644 src/module/checkin/entities/move.entity.spec.ts create mode 100644 src/module/checkin/persistence/CheckinMapper.spec.ts create mode 100644 src/module/checkin/persistence/checkin.dao.spec.ts create mode 100644 src/module/checkin/persistence/move.dao.spec.ts create mode 100644 src/module/gamification/entities/engine/gamification/badge-first-leaderboard-engine.spec.ts create mode 100644 src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts create mode 100644 src/module/gamification/entities/engine/gamification/basic-leaderboard-engine.spec.ts create mode 100644 src/module/gamification/entities/engine/gamification/basic-points-engine.spec.ts create mode 100644 src/module/gamification/entities/engine/gamification/gamification-strategy-factory.spec.ts create mode 100644 src/module/gamification/entities/engine/recommendation/recommendation-engine-factory.spec.ts create mode 100644 src/module/gamification/entities/engine/recommendation/simple-recommendation-engine.spec.ts create mode 100644 src/module/gamification/entities/gamification.entity.spec.ts create mode 100644 src/module/gamification/gamificationController.spec.ts create mode 100644 src/module/gamification/persistence/gamification-dao.service.spec.ts create mode 100644 src/module/leaderboard/leaderboard.controller.spec.ts create mode 100644 src/module/leaderboard/leaderboard.service.spec.ts create mode 100644 src/module/leaderboard/persistence/leaderboard.dao.spec.ts create mode 100644 src/module/project/entities/ProjectMapper.spec.ts create mode 100644 src/module/project/persistence/project.dao.spec.ts create mode 100644 src/module/project/project.builder.spec.ts create mode 100644 src/module/project/project.controller.spec.ts create mode 100644 src/module/task/persistence/task.dao.spec.ts create mode 100644 src/module/task/task.builder.spec.ts create mode 100644 src/module/task/task.controller.spec.ts create mode 100644 src/module/volunteer/entities/volunteer.entity.spec.ts create mode 100644 src/module/volunteer/volunteer.controller.spec.ts create mode 100644 src/module/volunteer/volunteer.service.spec.ts diff --git a/package.json b/package.json index 1a1e14d..69ab61a 100644 --- a/package.json +++ b/package.json @@ -80,9 +80,16 @@ "^.+\\.(t|j)s$": "ts-jest" }, "collectCoverageFrom": [ - "**/*.(t|j)s" + "**/*.(t|j)s", + "!main.ts", + "!**/*.module.ts", + "!**/*.schema.ts", + "!**/*.dto.ts", + "!app.controller.ts", + "!app.service.ts", + "!app.module.ts" ], "coverageDirectory": "../coverage", "testEnvironment": "node" } -} +} \ No newline at end of file diff --git a/src/module/auth/auth.controller.spec.ts b/src/module/auth/auth.controller.spec.ts new file mode 100644 index 0000000..2aba96a --- /dev/null +++ b/src/module/auth/auth.controller.spec.ts @@ -0,0 +1,116 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { AuthController } from './auth.controller'; +import { AuthService } from './auth.service'; +import { BadRequestException, UnauthorizedException } from '@nestjs/common'; +import { UserRole } from './users/user.schema'; + +describe('AuthController', () => { + let controller: AuthController; + let service: AuthService; + + const mockAuthService = { + validateUser: jest.fn(), + login: jest.fn(), + recoverPassword: jest.fn(), + forgotPassword: jest.fn(), + verifyEmail: jest.fn(), + register: jest.fn(), + }; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [AuthController], + providers: [ + { provide: AuthService, useValue: mockAuthService }, + ], + }).compile(); + + controller = module.get(AuthController); + service = module.get(AuthService); + }); + + it('should be defined', () => { + expect(controller).toBeDefined(); + }); + + describe('login', () => { + it('should login successfully', async () => { + const body = { username: 'test', password: 'password' }; + const user = { username: 'test' }; + mockAuthService.validateUser.mockResolvedValue(user); + mockAuthService.login.mockResolvedValue({ access_token: 'token' }); + + const result = await controller.login(body); + expect(result).toEqual({ access_token: 'token' }); + }); + + it('should throw BadRequestException if missing fields', async () => { + await expect(controller.login({ username: '', password: '' })).rejects.toThrow(BadRequestException); + }); + + it('should throw UnauthorizedException if invalid credentials', async () => { + mockAuthService.validateUser.mockResolvedValue(null); + await expect(controller.login({ username: 'test', password: 'wrong' })).rejects.toThrow(UnauthorizedException); + }); + }); + + describe('recoverPassword', () => { + it('should recover password successfully', async () => { + const body = { token: 'token', newPassword: 'new' }; + await controller.recoverPassword(body); + expect(service.recoverPassword).toHaveBeenCalledWith('token', 'new'); + }); + + it('should throw BadRequestException if missing fields', async () => { + await expect(controller.recoverPassword({ token: '', newPassword: '' })).rejects.toThrow(BadRequestException); + }); + }); + + describe('forgotPassword', () => { + it('should send forgot password email', async () => { + await controller.forgotPassword({ email: 'test@test.com' }); + expect(service.forgotPassword).toHaveBeenCalledWith('test@test.com'); + }); + + it('should throw BadRequestException if missing email', async () => { + await expect(controller.forgotPassword({ email: '' })).rejects.toThrow(BadRequestException); + }); + }); + + describe('verifyToken', () => { + it('should verify token successfully', async () => { + const user = { username: 'test' }; + mockAuthService.verifyEmail.mockResolvedValue(user); + const result = await controller.verifyToken({ token: 'token' }); + expect(result.user).toEqual(user); + }); + + it('should throw BadRequestException if missing token', async () => { + await expect(controller.verifyToken({ token: '' })).rejects.toThrow(BadRequestException); + }); + + it('should throw UnauthorizedException if token invalid', async () => { + mockAuthService.verifyEmail.mockResolvedValue(null); + await expect(controller.verifyToken({ token: 'invalid' })).rejects.toThrow(UnauthorizedException); + }); + }); + + describe('register', () => { + const registerDto = { + complete_name: 'Test', + username: 'test', + email: 'test@test.com', + password: 'pass', + role: UserRole.Volunteer, + }; + + it('should register successfully', async () => { + await controller.register(registerDto); + expect(service.register).toHaveBeenCalledWith(registerDto); + }); + + it('should throw BadRequestException if missing fields', async () => { + await expect(controller.register({ ...registerDto, username: '' })).rejects.toThrow(BadRequestException); + }); + }); +}); diff --git a/src/module/auth/auth.service.spec.ts b/src/module/auth/auth.service.spec.ts index 214ee18..3b187e1 100644 --- a/src/module/auth/auth.service.spec.ts +++ b/src/module/auth/auth.service.spec.ts @@ -150,7 +150,7 @@ describe('AuthService', () => { (bcrypt.hash as jest.Mock).mockResolvedValue('hashedpassword'); (uuidv4 as jest.Mock).mockReturnValue('test-token'); mockUserService.create.mockResolvedValue(null); - mockTransporter.sendMail.mockImplementation(() => { + mockTransporter.sendMail.mockImplementationOnce(() => { throw new Error('Mail error'); }); @@ -277,17 +277,27 @@ describe('AuthService', () => { user.id = 'user-id'; mockUserService.findByEmailOrUsername.mockResolvedValue(user); (uuidv4 as jest.Mock).mockReturnValue('reset-token'); - mockTransporter.sendMail.mockImplementation(() => { + mockTransporter.sendMail.mockImplementationOnce(() => { throw new Error('Mail error'); }); const consoleErrorSpy = jest .spyOn(console, 'error') - .mockImplementation(() => {}); + .mockImplementation(() => { }); await service.forgotPassword('test@test.com'); expect(consoleErrorSpy).toHaveBeenCalled(); consoleErrorSpy.mockRestore(); }); + + it('should log success message', async () => { + const user = new User('T', 'u', 'test@test.com', 'p'); + mockUserService.findByEmailOrUsername.mockResolvedValue(user); + const logSpy = jest.spyOn(console, 'log').mockImplementation(() => { }); + mockTransporter.sendMail.mockResolvedValueOnce(undefined); + await service.forgotPassword('test@test.com'); + expect(logSpy).toHaveBeenCalledWith('Correo enviado con éxito'); + logSpy.mockRestore(); + }); }); describe('recoverPassword', () => { diff --git a/src/module/auth/auth.service.ts b/src/module/auth/auth.service.ts index 11ed764..f10d0fd 100644 --- a/src/module/auth/auth.service.ts +++ b/src/module/auth/auth.service.ts @@ -143,7 +143,7 @@ export class AuthService { }; try { - this.transporter.sendMail(mailOptions); + await this.transporter.sendMail(mailOptions); console.log('Correo enviado con éxito'); } catch (error) { console.error('Error al enviar el correo:', error); diff --git a/src/module/auth/jwt.strategy.spec.ts b/src/module/auth/jwt.strategy.spec.ts new file mode 100644 index 0000000..242a517 --- /dev/null +++ b/src/module/auth/jwt.strategy.spec.ts @@ -0,0 +1,31 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { JwtStrategy } from './jwt.strategy'; + +describe('JwtStrategy', () => { + let strategy: JwtStrategy; + + beforeEach(async () => { + process.env.JWT_SECRET = 'test-secret'; + const module: TestingModule = await Test.createTestingModule({ + providers: [JwtStrategy], + }).compile(); + + strategy = module.get(JwtStrategy); + }); + + it('should be defined', () => { + expect(strategy).toBeDefined(); + }); + + describe('validate', () => { + it('should return user object from payload', async () => { + const payload = { sub: '123', username: 'testuser', role: 'admin' }; + const result = await strategy.validate(payload as any); + expect(result).toEqual({ + userId: '123', + username: 'testuser', + role: 'admin', + }); + }); + }); +}); diff --git a/src/module/auth/roles.guard.spec.ts b/src/module/auth/roles.guard.spec.ts new file mode 100644 index 0000000..14373e5 --- /dev/null +++ b/src/module/auth/roles.guard.spec.ts @@ -0,0 +1,63 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { RolesGuard } from './roles.guard'; +import { Reflector } from '@nestjs/core'; +import { ExecutionContext } from '@nestjs/common'; +import { UserRole } from './users/user.schema'; + +describe('RolesGuard', () => { + let guard: RolesGuard; + let reflector: Reflector; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + RolesGuard, + { + provide: Reflector, + useValue: { + get: jest.fn(), + }, + }, + ], + }).compile(); + + guard = module.get(RolesGuard); + reflector = module.get(Reflector); + }); + + it('should be defined', () => { + expect(guard).toBeDefined(); + }); + + describe('canActivate', () => { + let context: ExecutionContext; + + beforeEach(() => { + context = { + getHandler: jest.fn(), + switchToHttp: jest.fn().mockReturnValue({ + getRequest: jest.fn(), + }), + } as any; + }); + + it('should return true if no roles are required', () => { + (reflector.get as jest.Mock).mockReturnValue(null); + expect(guard.canActivate(context)).toBe(true); + }); + + it('should return true if user has required role', () => { + (reflector.get as jest.Mock).mockReturnValue([UserRole.Admin]); + const request = { user: { role: UserRole.Admin } }; + (context.switchToHttp().getRequest as jest.Mock).mockReturnValue(request); + expect(guard.canActivate(context)).toBe(true); + }); + + it('should return false if user does not have required role', () => { + (reflector.get as jest.Mock).mockReturnValue([UserRole.Admin]); + const request = { user: { role: UserRole.Volunteer } }; + (context.switchToHttp().getRequest as jest.Mock).mockReturnValue(request); + expect(guard.canActivate(context)).toBe(false); + }); + }); +}); diff --git a/src/module/auth/users/UserMapper.spec.ts b/src/module/auth/users/UserMapper.spec.ts new file mode 100644 index 0000000..9c65ac3 --- /dev/null +++ b/src/module/auth/users/UserMapper.spec.ts @@ -0,0 +1,41 @@ +import { UserMapper } from './UserMapper'; +import { User } from './user.entity'; +import { UserRole } from './user.schema'; + +describe('UserMapper', () => { + it('should map document to entity', () => { + const doc = { + complete_name: 'Name', + username: 'user', + email: 'e@e.com', + password: 'p', + profile_image: 'img', + verified: true, + role: UserRole.Volunteer, + _id: '1', + gameProfiles: [], + contributions: [], + } as any; + const entity = UserMapper.toEntity(doc); + expect(entity.id).toBe('1'); + expect(entity.completeName).toBe('Name'); + }); + + it('should map entity to template', () => { + const entity = new User('Name', 'user', 'e@e.com', 'p'); + entity.id = '1'; + const template = UserMapper.toTemplate(entity); + expect(template.complete_name).toBe('Name'); + expect(template.username).toBe('user'); + }); + + it('should map entity to template with ratings', () => { + const entity = new User('Name', 'user', 'e@e.com', 'p'); + entity.id = '1'; + entity.addRating({ id: 'c1', contributesTo: 't1' } as any, 5); + const template = UserMapper.toTemplate(entity); + expect(template.complete_name).toBe('Name'); + expect(template.ratings).toHaveLength(1); + expect(template.ratings[0].score).toBe(5); + }); +}); diff --git a/src/module/auth/users/user.dao.spec.ts b/src/module/auth/users/user.dao.spec.ts new file mode 100644 index 0000000..a8cd700 --- /dev/null +++ b/src/module/auth/users/user.dao.spec.ts @@ -0,0 +1,109 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { getModelToken } from '@nestjs/mongoose'; +import { UserDao } from './user.dao'; +import { UserTemplate } from './user.schema'; +import { User } from './user.entity'; + +describe('UserDao', () => { + let dao: UserDao; + let model: any; + + const mockModel = { + findOne: jest.fn().mockReturnThis(), + findById: jest.fn().mockReturnThis(), + findOneAndUpdate: jest.fn().mockReturnThis(), + find: jest.fn().mockReturnThis(), + exec: jest.fn(), + }; + + class MockModel { + constructor(data: any) { Object.assign(this, data); } + save = jest.fn().mockResolvedValue(this); + static findOne = mockModel.findOne; + static findById = mockModel.findById; + static findOneAndUpdate = mockModel.findOneAndUpdate; + static find = mockModel.find; + static exec = mockModel.exec; + } + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + UserDao, + { + provide: getModelToken(UserTemplate.collectionName()), + useValue: MockModel, + }, + ], + }).compile(); + + dao = module.get(UserDao); + model = MockModel; + }); + + it('should find by email or username', async () => { + model.findOne.mockReturnThis(); + model.exec.mockResolvedValue({ _id: '1', email: 'e', username: 'u', gameProfiles: [], contributions: [] }); + const res = await dao.findByEmailOrUsername('e', 'u'); + expect(res?.id).toBe('1'); + }); + + it('should return null if user not found by email/username', async () => { + model.findOne.mockReturnThis(); + model.exec.mockResolvedValue(null); + const res = await dao.findByEmailOrUsername('e', 'u'); + expect(res).toBeNull(); + }); + + it('should create user', async () => { + const user = new User('N', 'u', 'e', 'p'); + const res = await dao.create(user); + expect(res).toBeDefined(); + }); + + it('should get user by id', async () => { + model.findById.mockReturnThis(); + model.exec.mockResolvedValue({ _id: '1', gameProfiles: [], contributions: [] }); + const res = await dao.getUserById('1'); + expect(res?.id).toBe('1'); + }); + + it('should return null if user not found by id', async () => { + model.findById.mockReturnThis(); + model.exec.mockResolvedValue(null); + const res = await dao.getUserById('1'); + expect(res).toBeNull(); + }); + + it('should update user', async () => { + const user = new User('N', 'u', 'e', 'p'); + const userDoc = { _id: '1', complete_name: 'N', username: 'u', email: 'e', password: 'p', gameProfiles: [], contributions: [] }; + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({ _doc: userDoc }); + const res = await dao.update('1', user); + expect(res?.id).toBe('1'); + }); + + it('should return null if update fails (user not found)', async () => { + const user = new User('N', 'u', 'e', 'p'); + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue(null); + const res = await dao.update('1', user); + expect(res).toBeNull(); + }); + + it('should get all by project id and map results', async () => { + model.find.mockReturnThis(); + model.exec.mockResolvedValue([{ _id: '1', gameProfiles: [], contributions: [] }]); + const res = await dao.getAllByProjectId('p1'); + expect(res).toHaveLength(1); + expect(res[0].id).toBe('1'); + }); + + it('should get user by reset token', async () => { + model.findOne.mockReturnThis(); + model.exec.mockResolvedValue({ _id: '1', gameProfiles: [], contributions: [] }); + const res = await dao.getUserByResetToken('token'); + expect(res.id).toBe('1'); + }); +}); diff --git a/src/module/auth/users/user.entity.spec.ts b/src/module/auth/users/user.entity.spec.ts new file mode 100644 index 0000000..3472784 --- /dev/null +++ b/src/module/auth/users/user.entity.spec.ts @@ -0,0 +1,133 @@ +import { User } from './user.entity'; +import { UserRole } from './user.schema'; + +describe('User Entity', () => { + let user: User; + + beforeEach(() => { + user = new User('Name', 'user', 'e@e.com', 'pass'); + }); + + it('should manage account verification', () => { + expect(user.verified).toBe(false); + user.verifyAccount(); + expect(user.verified).toBe(true); + }); + + it('should manage projects', () => { + user.subscribeToProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(true); + user.unsubscribeFromProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(false); + user.subscribeToProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(true); + }); + + it('should manage points and badges', () => { + user.subscribeToProject('p1'); + user.addPointsFromProject(10, 'p1'); + expect(user.getGameProfileFromProject('p1').points).toBe(10); + user.addBadgeFromProject(['badge1'], 'p1'); + expect(user.hasBadgeWithName('badge1')).toBe(true); + }); + + it('should manage ratings', () => { + const checkin = { id: 'c1', contributesTo: 't1' } as any; + user.addRating(checkin, 5); + expect(user.getRatingForTaskId('t1')).toBe(5); + }); + + it('should manage contributions', () => { + user.addContribution('t1'); + expect(user.contributions).toContain('t1'); + }); + + it('should manage reset token', () => { + user.resetToken = 'token'; + expect(user.resetToken).toBe('token'); + }); + + it('should toggle project with addProject', () => { + user.addProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(true); + user.addProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(false); + }); + + it('should remove project', () => { + user.addProject('p1'); + user.removeProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(false); + }); + + it('should test setters', () => { + user.completeName = 'New'; + user.username = 'new'; + user.email = 'new@e.com'; + user.profileImage = 'new.png'; + user.verified = true; + user.role = UserRole.Admin; + user.checkins = []; + user.contributions = ['t1']; + + expect(user.completeName).toBe('New'); + expect(user.username).toBe('new'); + expect(user.email).toBe('new@e.com'); + expect(user.profileImage).toBe('new.png'); + expect(user.verified).toBe(true); + expect(user.role).toBe(UserRole.Admin); + expect(user.checkins).toEqual([]); + expect(user.contributions).toEqual(['t1']); + }); + + it('should unsubscribe from project', () => { + const user = new User('N', 'u', 'e', 'p'); + user.subscribeToProject('p1'); + user.unsubscribeFromProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(false); + }); + + it('should resubscribe to project', () => { + const user = new User('N', 'u', 'e', 'p'); + user.subscribeToProject('p1'); + user.unsubscribeFromProject('p1'); + user.subscribeToProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(true); + }); + + it('should remove project', () => { + const user = new User('N', 'u', 'e', 'p'); + user.subscribeToProject('p1'); + user.removeProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(false); + }); + + it('should add and get ratings', () => { + const user = new User('N', 'u', 'e', 'p'); + const checkin = { id: 'c1', contributesTo: 't1' } as any; + user.addRating(checkin, 5); + expect(user.getRatingForTaskId('t1')).toBe(5); + }); + + it('should handle duplicate subscription to already active project', () => { + user.subscribeToProject('p1'); + user.subscribeToProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(true); + }); + + it('should maintain other project active state when unsubscribing', () => { + user.subscribeToProject('p1'); + user.subscribeToProject('p2'); + user.unsubscribeFromProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(false); + expect(user.isSubscribedToProject('p2')).toBe(true); + }); + + it('should cover branch in subscribeToProject else', () => { + user.subscribeToProject('p1'); + user.subscribeToProject('p2'); + user.subscribeToProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(true); + expect(user.isSubscribedToProject('p2')).toBe(true); + }); +}); diff --git a/src/module/checkin/checkin.builder.spec.ts b/src/module/checkin/checkin.builder.spec.ts new file mode 100644 index 0000000..e527e0f --- /dev/null +++ b/src/module/checkin/checkin.builder.spec.ts @@ -0,0 +1,37 @@ +import checkinBuilder from './checkin.builder'; +import { User } from '../auth/users/user.entity'; + +describe('CheckinBuilder', () => { + it('should build a checkin with default values', () => { + const checkin = checkinBuilder.build(); + expect(checkin.id).toBe('default-checkin-id'); + }); + + it('should build a checkin with custom values', () => { + const user = new User('t@t.com', 'u', 'p', 'T'); + const date = new Date(); + const checkin = checkinBuilder + .withId('c1') + .withLatitude('10') + .withLongitude('20') + .withDatetime(date) + .withProjectId('p1') + .withUser(user) + .withTaskType('type1') + .build(); + + expect(checkin.id).toBe('c1'); + expect(checkin.latitude).toBe('10'); + expect(checkin.longitude).toBe('20'); + expect(checkin.date).toBe(date); + expect(checkin.projectId).toBe('p1'); + expect(checkin.user).toBe(user); + expect(checkin.taskType).toBe('type1'); + }); + + it('should set related task', () => { + const task = { getId: () => 't1' } as any; + const checkin = checkinBuilder.withRelatedTask(task).build(); + expect(checkin.contributesTo).toBe(''); + }); +}); diff --git a/src/module/checkin/checkin.controller.spec.ts b/src/module/checkin/checkin.controller.spec.ts new file mode 100644 index 0000000..ab8a3fa --- /dev/null +++ b/src/module/checkin/checkin.controller.spec.ts @@ -0,0 +1,91 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { CheckinController } from './checkin.controller'; +import { CheckinService } from './checkin.service'; +import { CreateCheckinDto } from './dto/create-checkin.dto'; +import { UpdateCheckinDto } from './dto/update-checkin.dto'; + +describe('CheckinController', () => { + let controller: CheckinController; + let service: CheckinService; + + const mockCheckinService = { + create: jest.fn(), + findAll: jest.fn(), + findOne: jest.fn(), + update: jest.fn(), + remove: jest.fn(), + findByProjectId: jest.fn(), + rate: jest.fn(), + }; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [CheckinController], + providers: [ + { provide: CheckinService, useValue: mockCheckinService }, + ], + }).compile(); + + controller = module.get(CheckinController); + service = module.get(CheckinService); + }); + + it('should be defined', () => { + expect(controller).toBeDefined(); + }); + + describe('create', () => { + it('should call service.create', async () => { + const dto: CreateCheckinDto = { userId: '1', projectId: '1' } as any; + const req = { user: { userId: '1' } }; + await controller.create(dto, req); + expect(service.create).toHaveBeenCalled(); + }); + }); + + describe('findAll', () => { + it('should call service.findAll', async () => { + await controller.findAll(); + expect(service.findAll).toHaveBeenCalled(); + }); + }); + + describe('findOne', () => { + it('should call service.findOne', async () => { + await controller.findOne('1'); + expect(service.findOne).toHaveBeenCalledWith('1'); + }); + }); + + describe('update', () => { + it('should call service.update', async () => { + const dto: UpdateCheckinDto = {}; + await controller.update('1', dto); + expect(service.update).toHaveBeenCalledWith('1', dto); + }); + }); + + describe('remove', () => { + it('should call service.remove', async () => { + await controller.remove('1'); + expect(service.remove).toHaveBeenCalledWith('1'); + }); + }); + + describe('findByProjectId', () => { + it('should call service.findByProjectId', async () => { + const req = { user: { userId: '1' } }; + await controller.findUserCheckins(req, 'proj1'); + expect(service.findByProjectId).toHaveBeenCalledWith('1', 'proj1'); + }); + }); + + describe('rate', () => { + it('should call service.rate', async () => { + const req = { user: { userId: '1' } }; + const body = { checkinId: 'c1', rate: 5 }; + await controller.rate(body, req); + expect(service.rate).toHaveBeenCalledWith({ ...body, userId: '1' }); + }); + }); +}); diff --git a/src/module/checkin/checkin.service.spec.ts b/src/module/checkin/checkin.service.spec.ts index d5a9775..4268d12 100644 --- a/src/module/checkin/checkin.service.spec.ts +++ b/src/module/checkin/checkin.service.spec.ts @@ -185,6 +185,44 @@ describe('CheckinService', () => { expect(result).toHaveProperty('id', 'checkin1'); expect(result.contributesTo).toBe(undefined); }); + + it('should add badges to user if game results in new badges', async () => { + const createCheckinDto: CreateCheckinDto = { + datetime: new Date(), + taskType: 'type', + userId: 'user1', + projectId: 'project1', + latitude: '0', + longitude: '0', + }; + + const project = ProjectBuilder.build(); + const task = TaskBuilder.build(); + const user = new User('t@t.com', 'u', 'p', 'T'); + user.id = 'user1'; + user.addBadgeFromProject = jest.fn(); + user.addProject(project.id); // Ensure game profile exists + + mockTaskService.findByProjectId.mockResolvedValue([task]); + mockUserService.getByUserId.mockResolvedValue(user); + mockUserService.findAllByProjectId.mockResolvedValue([user]); + mockProjectService.findOne.mockResolvedValue(project); + mockCheckInDao.create.mockResolvedValue({ _id: 'checkin1' }); + + // Mock badge engine to return a new badge + mockGamificationFactory.getBadgeEngine.mockReturnValue({ + newBadgesFor: jest.fn().mockReturnValue([{ name: 'New Badge' }]), + }); + + await service.create(createCheckinDto); + + expect(user.addBadgeFromProject).toHaveBeenCalledWith(['New Badge'], 'project1'); + + // Reset mock for other tests + mockGamificationFactory.getBadgeEngine.mockReturnValue({ + newBadgesFor: jest.fn().mockReturnValue([]), + }); + }); }); describe('findAll', () => { diff --git a/src/module/checkin/entities/checkin.entity.spec.ts b/src/module/checkin/entities/checkin.entity.spec.ts new file mode 100644 index 0000000..50a247c --- /dev/null +++ b/src/module/checkin/entities/checkin.entity.spec.ts @@ -0,0 +1,51 @@ +import { Checkin } from './checkin.entity'; +import { User } from '../../auth/users/user.entity'; +import { Task } from '../../task/entities/task.entity'; + +describe('Checkin Entity', () => { + it('should test getters and setters', () => { + const user = new User('N', 'u', 'e', 'p'); + const date = new Date(); + const checkin = new Checkin('lat', 'long', date, 'p1', user, 'T', 'id1'); + + expect(checkin.latitude).toBe('lat'); + expect(checkin.longitude).toBe('long'); + expect(checkin.date).toBe(date); + expect(checkin.projectId).toBe('p1'); + expect(checkin.user).toBe(user); + expect(checkin.taskType).toBe('T'); + expect(checkin.id).toBe('id1'); + expect(checkin.contributesTo).toBe(''); + + const newTask = {} as Task; + checkin.relatedTask = newTask; + expect(checkin.relatedTask).toBe(newTask); + + const newUser = {} as User; + checkin.user = newUser; + expect(checkin.user).toBe(newUser); + + checkin.contributesTo = 't1'; + expect(checkin.contributesTo).toBe('t1'); + + checkin.id = 'id2'; + expect(checkin.id).toBe('id2'); + + const newDate = new Date(); + checkin.date = newDate; + expect(checkin.date).toBe(newDate); + + checkin.projectId = 'p2'; + expect(checkin.projectId).toBe('p2'); + + checkin.validateContribution('t2'); + expect(checkin.contributesTo).toBe('t2'); + }); + + it('should create from DTO', () => { + const dto = { latitude: 'lat', longitude: 'long', datetime: new Date(), projectId: 'p1', taskType: 'T' }; + const user = {} as User; + const checkin = Checkin.fromDTO(dto as any, user); + expect(checkin.latitude).toBe('lat'); + }); +}); diff --git a/src/module/checkin/entities/game.entity.spec.ts b/src/module/checkin/entities/game.entity.spec.ts new file mode 100644 index 0000000..b2f0051 --- /dev/null +++ b/src/module/checkin/entities/game.entity.spec.ts @@ -0,0 +1,28 @@ +import { Game, GameBuilder } from './game.entity'; +import { Project } from '../../project/entities/project'; + +describe('Game Entity', () => { + it('should throw error if build is missing dependencies', () => { + const builder = new GameBuilder(); + expect(() => builder.build()).toThrow('All dependencies must be provided before building the Game instance'); + }); + + it('should build game successfully', () => { + const project = { id: 'p1' } as Project; + const builder = new GameBuilder() + .withProject(project) + .withPointsEngine({} as any) + .withBadgeEngine({} as any) + .withLeaderboardEngine({} as any) + .withTasks([]) + .withUsers([]); + + const game = builder.build(); + expect(game).toBeDefined(); + expect(game.project).toBe(project); + + const newUsers = []; + game.users = newUsers; + expect(game.users).toBe(newUsers); + }); +}); diff --git a/src/module/checkin/entities/move.entity.spec.ts b/src/module/checkin/entities/move.entity.spec.ts new file mode 100644 index 0000000..6c5f44f --- /dev/null +++ b/src/module/checkin/entities/move.entity.spec.ts @@ -0,0 +1,14 @@ +import { Move, ScoreRate } from './move.entity'; + +describe('Move Entity', () => { + it('should test getters', () => { + const checkin = { id: 'c1' } as any; + const gameStatus = { newPoints: 10 } as any; + const move = new Move(checkin, gameStatus); + + expect(move.checkin).toBe(checkin); + expect(move.gameStatus).toBe(gameStatus); + expect(move.score).toBe(ScoreRate.NO_RATE); + expect(move.timestamp).toBeDefined(); + }); +}); diff --git a/src/module/checkin/persistence/CheckinMapper.spec.ts b/src/module/checkin/persistence/CheckinMapper.spec.ts new file mode 100644 index 0000000..0197a36 --- /dev/null +++ b/src/module/checkin/persistence/CheckinMapper.spec.ts @@ -0,0 +1,54 @@ +import { CheckinMapper } from './CheckinMapper'; +import { Checkin } from '../entities/checkin.entity'; +import { User } from '../../auth/users/user.entity'; + +describe('CheckinMapper', () => { + const user = new User('t@t.com', 'u', 'p', 'T'); + user.id = 'user1'; + + describe('toTemplate', () => { + it('should map checkin entity to template', () => { + const checkin = new Checkin('1', '2', new Date(), 'p1', user, 'type', 'id1'); + checkin.contributesTo = 'task1'; + const template = CheckinMapper.toTemplate(checkin); + expect(template.latitude).toBe('1'); + expect(template.longitude).toBe('2'); + expect(template.userId).toBe('user1'); + expect(template.contributesTo).toBe('task1'); + }); + }); + + describe('toEntity', () => { + it('should map template to checkin entity', () => { + const template = { + latitude: '1', + longitude: '2', + datetime: new Date(), + projectId: 'p1', + userId: 'user1', + taskType: 'type', + _id: 'id1', + contributesTo: 'task1', + } as any; + const entity = CheckinMapper.toEntity(template, user); + expect(entity.latitude).toBe('1'); + expect(entity.longitude).toBe('2'); + expect(entity.id).toBe('id1'); + expect(entity.contributesTo).toBe('task1'); + }); + + it('should map template to checkin entity without contribution', () => { + const template = { + latitude: '1', + longitude: '2', + datetime: new Date(), + projectId: 'p1', + userId: 'user1', + taskType: 'type', + _id: 'id1', + } as any; + const entity = CheckinMapper.toEntity(template, user); + expect(entity.contributesTo).toBe(''); + }); + }); +}); diff --git a/src/module/checkin/persistence/checkin.dao.spec.ts b/src/module/checkin/persistence/checkin.dao.spec.ts new file mode 100644 index 0000000..670dffc --- /dev/null +++ b/src/module/checkin/persistence/checkin.dao.spec.ts @@ -0,0 +1,114 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { getModelToken } from '@nestjs/mongoose'; +import { CheckInDao } from './checkin.dao'; +import { CheckInTemplate } from './checkin.schema'; +import { NotFoundException } from '@nestjs/common'; + +describe('CheckInDao', () => { + let dao: CheckInDao; + let model: any; + + const mockModel = { + find: jest.fn().mockReturnThis(), + findById: jest.fn().mockReturnThis(), + findByIdAndUpdate: jest.fn().mockReturnThis(), + findByIdAndDelete: jest.fn().mockReturnThis(), + exec: jest.fn(), + sort: jest.fn().mockReturnThis(), + limit: jest.fn().mockReturnThis(), + save: jest.fn(), + }; + + class MockModel { + constructor(private data: any) { + Object.assign(this, data); + } + save = jest.fn().mockResolvedValue(this); + static find = mockModel.find; + static findById = mockModel.findById; + static findByIdAndUpdate = mockModel.findByIdAndUpdate; + static findByIdAndDelete = mockModel.findByIdAndDelete; + static sort = mockModel.sort; + static limit = mockModel.limit; + static exec = mockModel.exec; + } + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + CheckInDao, + { + provide: getModelToken(CheckInTemplate.collectionName()), + useValue: MockModel, + }, + ], + }).compile(); + + dao = module.get(CheckInDao); + model = MockModel; + }); + + it('should find all', async () => { + model.find.mockReturnThis(); + model.exec.mockResolvedValue([]); + const res = await dao.findAll(); + expect(res).toEqual([]); + }); + + it('should find one', async () => { + const doc = { _id: '1', latitude: '0', longitude: '0', datetime: new Date(), projectId: 'p1', userId: 'u1', contributesTo: '', taskType: 'T' }; + model.findById.mockReturnThis(); + model.exec.mockResolvedValue(doc); + const res = await dao.findOne('1'); + expect(res.projectId).toBe('p1'); + }); + + it('should throw NotFound if one not found', async () => { + model.findById.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.findOne('1')).rejects.toThrow(NotFoundException); + }); + + it('should create', async () => { + const checkin = { + latitude: '0', longitude: '0', date: new Date(), projectId: 'p1', user: { id: 'u1' }, contributesTo: '', taskType: 'T' + } as any; + const res = await dao.create(checkin); + expect(res).toBeDefined(); + }); + + it('should update', async () => { + model.findByIdAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({}); + const res = await dao.update('1', {} as any); + expect(res).toBeDefined(); + }); + + it('should throw NotFound on update if not found', async () => { + model.findByIdAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.update('1', {} as any)).rejects.toThrow(NotFoundException); + }); + + it('should remove', async () => { + model.findByIdAndDelete.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.remove('1'); + expect(model.findByIdAndDelete).toHaveBeenCalledWith('1'); + }); + + it('should throw NotFound on remove if not found', async () => { + model.findByIdAndDelete.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.remove('1')).rejects.toThrow(NotFoundException); + }); + + it('should find by project id', async () => { + model.find.mockReturnThis(); + model.sort.mockReturnThis(); + model.limit.mockReturnThis(); + model.exec.mockResolvedValue([]); + await dao.findByProjectId('u1', 'p1'); + expect(model.find).toHaveBeenCalledWith({ projectId: 'p1', userId: 'u1' }); + }); +}); diff --git a/src/module/checkin/persistence/move.dao.spec.ts b/src/module/checkin/persistence/move.dao.spec.ts new file mode 100644 index 0000000..43e0737 --- /dev/null +++ b/src/module/checkin/persistence/move.dao.spec.ts @@ -0,0 +1,78 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { getModelToken } from '@nestjs/mongoose'; +import { MoveDao } from './move.dao'; +import { MoveTemplate } from './move.schema'; +import { NotFoundException } from '@nestjs/common'; + +describe('MoveDao', () => { + let dao: MoveDao; + let model: any; + + const mockModel = { + findByIdAndUpdate: jest.fn().mockReturnThis(), + findByIdAndDelete: jest.fn().mockReturnThis(), + exec: jest.fn(), + }; + + class MockModel { + constructor(data: any) { Object.assign(this, data); } + save = jest.fn().mockResolvedValue(this); + static findByIdAndUpdate = mockModel.findByIdAndUpdate; + static findByIdAndDelete = mockModel.findByIdAndDelete; + static exec = mockModel.exec; + } + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + MoveDao, + { + provide: getModelToken(MoveTemplate.collectionName()), + useValue: MockModel, + }, + ], + }).compile(); + + dao = module.get(MoveDao); + model = MockModel; + }); + + it('should create move', async () => { + const move = { + checkin: { id: 'c1', user: { id: 'u1' } }, + gameStatus: { newBadges: [{ name: 'B1' }] }, + score: 10, + timestamp: new Date() + } as any; + const res = await dao.create(move); + expect(res).toBe(move); + }); + + it('should update move', async () => { + const move = { checkin: { id: 'c1', user: { id: 'u1' } }, gameStatus: { newBadges: [] } } as any; + model.findByIdAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.update('1', move); + expect(model.findByIdAndUpdate).toHaveBeenCalled(); + }); + + it('should throw if update not found', async () => { + const move = { checkin: { id: 'c1', user: { id: 'u1' } }, gameStatus: { newBadges: [] } } as any; + model.findByIdAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.update('1', move)).rejects.toThrow(NotFoundException); + }); + + it('should remove move', async () => { + model.findByIdAndDelete.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.remove('1'); + expect(model.findByIdAndDelete).toHaveBeenCalledWith('1'); + }); + + it('should throw if remove not found', async () => { + model.findByIdAndDelete.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.remove('1')).rejects.toThrow(NotFoundException); + }); +}); diff --git a/src/module/gamification/entities/engine/gamification/badge-first-leaderboard-engine.spec.ts b/src/module/gamification/entities/engine/gamification/badge-first-leaderboard-engine.spec.ts new file mode 100644 index 0000000..02312c0 --- /dev/null +++ b/src/module/gamification/entities/engine/gamification/badge-first-leaderboard-engine.spec.ts @@ -0,0 +1,43 @@ +import { BadgesFirstLBEngine } from './badge-first-leaderboard-engine'; +import { GamificationStrategy } from '../../../../project/dto/create-project.dto'; + +describe('BadgesFirstLBEngine', () => { + let engine: BadgesFirstLBEngine; + + beforeEach(() => { + engine = new BadgesFirstLBEngine(); + }); + + it('should be assignable to BASIC strategy', () => { + const project = { gamificationStrategy: GamificationStrategy.BASIC } as any; + expect(engine.assignableTo(project)).toBe(true); + }); + + it('should sort users by badges then points', () => { + const project = { id: 'p1' } as any; + const user1 = { + id: 'u1', + username: 'user1', + getGameProfileFromProject: jest.fn().mockReturnValue({ points: 10, badges: ['b1'] }), + } as any; + const user2 = { + id: 'u2', + username: 'user2', + getGameProfileFromProject: jest.fn().mockReturnValue({ points: 20, badges: ['b1', 'b2'] }), + } as any; + const user3 = { + id: 'u3', + username: 'user3', + getGameProfileFromProject: jest.fn().mockReturnValue({ points: 30, badges: ['b1'] }), + } as any; + const currentUser = user1; + + const result = engine.build([user1, user2, user3], currentUser, project); + // user2 has 2 badges (highest) + // user3 has 1 badge, 30 points + // user1 has 1 badge, 10 points + expect(result[0]._id).toBe('u2'); + expect(result[1]._id).toBe('u3'); + expect(result[2]._id).toBe('u1'); + }); +}); diff --git a/src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts b/src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts new file mode 100644 index 0000000..98e980d --- /dev/null +++ b/src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts @@ -0,0 +1,137 @@ +import { BasicBadgeEngine } from './basic-badge-engine'; +import { GamificationStrategy } from '../../../../project/dto/create-project.dto'; +import { User } from '../../../../auth/users/user.entity'; +import { BadgeRule } from '../../gamification.entity'; +import { TimeInterval } from '../../../../task/entities/time-restriction.entity'; +import { BadRequestException } from '@nestjs/common'; + +describe('BasicBadgeEngine', () => { + let engine: BasicBadgeEngine; + + beforeEach(() => { + engine = new BasicBadgeEngine(); + }); + + it('should be assignable to BASIC strategy', () => { + const project = { gamificationStrategy: GamificationStrategy.BASIC } as any; + expect(engine.assignableTo(project)).toBe(true); + }); + + describe('newBadgesFor', () => { + it('should return badges the user does not have and matches the rule', () => { + const rule = new BadgeRule( + 'r1', 'p1', 'Badge1', 'desc', 'img', 1, false, [], 'Cualquiera', 'Cualquiera', 'Cualquiera' + ); + const project = { + id: 'p1', + gamification: { badgesRules: [rule] }, + taskTypes: ['type1'], + timeIntervals: [], + areas: { features: [] } + } as any; + const user = new User('t@t.com', 'u', 'p', 'T'); + user.id = 'u1'; + user.addProject('p1'); + + const checkin = { + date: new Date(), + taskType: 'type1', + longitude: '0', + latitude: '0', + contributesTo: '', + projectId: 'p1' + } as any; + + const result = engine.newBadgesFor(user, checkin, project); + expect(result).toContain(rule); + }); + }); + + describe('internal matches', () => { + it('should match task type', () => { + const rule = new BadgeRule('r1', 'p1', 'B1', 'd', 'i', 1, false, [], 'Type1', 'Cualquiera', 'Cualquiera'); + const project = { taskTypes: ['Type1'] } as any; + const checkin = { taskType: 'Type1' } as any; + expect((engine as any).matchTaskType(rule, checkin, project)).toBe(true); + expect((engine as any).matchTaskType(rule, { taskType: 'Other' }, project)).toBe(false); + }); + + it('should match time interval', () => { + const rule = { timeIntervalId: 'Cualquiera' } as any; + expect((engine as any).matchTimeInterval(rule, {}, {})).toBe(true); + + const rule2 = { timeIntervalId: 'Morning' } as any; + const morning = new TimeInterval( + 'Morning', + [1, 2, 3, 4, 5, 6, 7], + { start: '08:00', end: '12:00' }, + new Date(2020, 0, 1), + new Date(2030, 0, 1) + ); + const project = { timeIntervals: [morning] } as any; + const checkin = { date: new Date(2023, 0, 1, 9, 0) } as any; + expect((engine as any).matchTimeInterval(rule2, checkin, project)).toBe(true); + }); + + it('should match any task type', () => { + const rule = { taskType: 'Cualquiera' } as any; + expect((engine as any).matchTaskType(rule, {}, {})).toBe(true); + }); + + it('should check if user already has badge', () => { + const user = { getGameProfileFromProject: () => ({ badges: ['B1'] }) } as any; + const project = { + id: 'p1', + taskTypes: [], + timeIntervals: [], + areas: { features: [] }, + gamification: { badgesRules: [{ name: 'B1', previousBadges: [], taskType: 'Cualquiera', timeIntervalId: 'Cualquiera', areaId: 'Cualquiera' }] } + } as any; + const res = engine.newBadgesFor(user, {} as any, project); + expect(res).toHaveLength(0); + }); + + it('should verify contributes', () => { + const rule = { mustContribute: true } as any; + const checkin = { contributesTo: 'T1' } as any; + expect((engine as any).verifyContributes(rule, checkin)).toBe(true); + expect((engine as any).verifyContributes(rule, { contributesTo: '' })).toBe(false); + }); + + it('should throw if time interval not found', () => { + const rule = { timeIntervalId: 'Missing' } as any; + const project = { timeIntervals: [] } as any; + expect(() => (engine as any).getTimeInterval(rule, project)).toThrow(BadRequestException); + }); + + it('should return falsy if area not found', () => { + const rule = { areaId: 'A' } as any; + const project = { areas: { features: [] } } as any; + expect((engine as any).matchArea(rule, {}, project)).toBeFalsy(); + }); + + it('should match area', () => { + const rule = { areaId: 'Cualquiera' } as any; + expect((engine as any).matchArea(rule, {}, {})).toBe(true); + + const rule2 = { areaId: 'A1' } as any; + const feature = { + properties: { id: 'A1' }, + geometry: { type: 'Polygon', coordinates: [[[0, 0], [1, 0], [1, 1], [0, 1], [0, 0]]] } + }; + const project = { areas: { features: [feature] } } as any; + const checkin = { longitude: '0.5', latitude: '0.5' } as any; + expect((engine as any).matchArea(rule2, checkin, project)).toBe(true); + }); + it('should check if user has previous badges', () => { + const rule = { previousBadges: ['B1'] } as any; + const user = { hasBadgeWithName: jest.fn() } as any; + + user.hasBadgeWithName.mockReturnValue(true); + expect((engine as any).userHasPreviousBadges(rule, user)).toBe(true); + + user.hasBadgeWithName.mockReturnValue(false); + expect((engine as any).userHasPreviousBadges(rule, user)).toBe(false); + }); + }); +}); diff --git a/src/module/gamification/entities/engine/gamification/basic-leaderboard-engine.spec.ts b/src/module/gamification/entities/engine/gamification/basic-leaderboard-engine.spec.ts new file mode 100644 index 0000000..793432d --- /dev/null +++ b/src/module/gamification/entities/engine/gamification/basic-leaderboard-engine.spec.ts @@ -0,0 +1,34 @@ +import { PointsFirstLBEngine } from './basic-leaderboard-engine'; +import { LeaderboardStrategy } from '../../../../project/dto/create-project.dto'; + +describe('PointsFirstLBEngine', () => { + let engine: PointsFirstLBEngine; + + beforeEach(() => { + engine = new PointsFirstLBEngine(); + }); + + it('should be assignable to POINTS_FIRST strategy', () => { + const project = { leaderboardStrategy: LeaderboardStrategy.POINTS_FIRST } as any; + expect(engine.assignableTo(project)).toBe(true); + }); + + it('should sort users by points', () => { + const project = { id: 'p1' } as any; + const user1 = { + id: 'u1', + username: 'user1', + getGameProfileFromProject: jest.fn().mockReturnValue({ points: 10, badges: [] }), + } as any; + const user2 = { + id: 'u2', + username: 'user2', + getGameProfileFromProject: jest.fn().mockReturnValue({ points: 20, badges: [] }), + } as any; + const currentUser = user1; + + const result = engine.build([user1, user2], currentUser, project); + expect(result[0]._id).toBe('u2'); + expect(result[1]._id).toBe('u1'); + }); +}); diff --git a/src/module/gamification/entities/engine/gamification/basic-points-engine.spec.ts b/src/module/gamification/entities/engine/gamification/basic-points-engine.spec.ts new file mode 100644 index 0000000..19f104f --- /dev/null +++ b/src/module/gamification/entities/engine/gamification/basic-points-engine.spec.ts @@ -0,0 +1,124 @@ +import { BasicPointsEngine } from './basic-points-engine'; +import { GamificationStrategy } from '../../../../project/dto/create-project.dto'; +import { GeoUtils } from '../../../../task/utils/geoUtils'; + +describe('BasicPointsEngine', () => { + let engine: BasicPointsEngine; + + beforeEach(() => { + engine = new BasicPointsEngine(); + }); + + it('should be assignable to BASIC strategy', () => { + const project = { gamificationStrategy: GamificationStrategy.BASIC } as any; + expect(engine.assignableTo(project)).toBe(true); + }); + + describe('reward', () => { + it('should calculate points based on rules', () => { + const ch = { + latitude: '0', + longitude: '0', + taskType: 'type1', + date: new Date(), + contributesTo: 'task1', + } as any; + const game = { + project: { + areas: { features: [] }, + timeIntervals: [], + gamification: { + pointRules: [ + { taskType: 'type1', areaId: 'Cualquiera', timeIntervalId: 'Cualquiera', score: 10, mustContribute: true }, + { taskType: 'type2', areaId: 'Cualquiera', timeIntervalId: 'Cualquiera', score: 5, mustContribute: false }, + ], + }, + }, + } as any; + + const result = engine.reward(ch, game); + expect(result).toBe(10); + }); + + it('should return 0 if area is not found and not "Cualquiera"', () => { + const ch = { latitude: '0', longitude: '0', taskType: 'type1', date: new Date(), contributesTo: 'task1' } as any; + const game = { + project: { + areas: { features: [] }, + timeIntervals: [], + gamification: { + pointRules: [{ taskType: 'type1', areaId: 'specificArea', timeIntervalId: 'Cualquiera', score: 10, mustContribute: false }], + }, + }, + } as any; + expect(engine.reward(ch, game)).toBe(0); + }); + + it('should return points if area matches via GeoUtils', () => { + const ch = { latitude: '0.5', longitude: '0.5', taskType: 'type1', date: new Date(), contributesTo: 'task1' } as any; + const area = { properties: { id: 'a1' }, geometry: {} }; + const game = { + project: { + areas: { features: [area] }, + timeIntervals: [], + gamification: { + pointRules: [{ taskType: 'type1', areaId: 'a1', timeIntervalId: 'Cualquiera', score: 10, mustContribute: false }], + }, + }, + } as any; + + jest.spyOn(GeoUtils, 'isPointInPolygon').mockReturnValue(true); + expect(engine.reward(ch, game)).toBe(10); + (GeoUtils.isPointInPolygon as jest.Mock).mockRestore(); + }); + + it('should return 0 if area matches but point is not inside', () => { + const ch = { latitude: '0.5', longitude: '0.5', taskType: 'type1', date: new Date(), contributesTo: 'task1' } as any; + const area = { properties: { id: 'a1' }, geometry: {} }; + const game = { + project: { + areas: { features: [area] }, + timeIntervals: [], + gamification: { + pointRules: [{ taskType: 'type1', areaId: 'a1', timeIntervalId: 'Cualquiera', score: 10, mustContribute: false }], + }, + }, + } as any; + + jest.spyOn(GeoUtils, 'isPointInPolygon').mockReturnValue(false); + expect(engine.reward(ch, game)).toBe(0); + (GeoUtils.isPointInPolygon as jest.Mock).mockRestore(); + }); + }); + + describe('calculatePoints', () => { + it('should calculate points for a task', () => { + const task = {} as any; + const project = { + gamification: { + pointRules: [ + { matchTask: jest.fn().mockReturnValue(true), score: 10, mustContribute: true }, + { matchTask: jest.fn().mockReturnValue(false), score: 5, mustContribute: true }, + ], + }, + } as any; + + const result = engine.calculatePoints(task, project); + expect(result).toBe(10); + }); + + it('should return 0 if no rule matches', () => { + const task = {} as any; + const project = { + gamification: { + pointRules: [ + { matchTask: jest.fn().mockReturnValue(false), score: 10, mustContribute: true }, + ], + }, + } as any; + + const result = engine.calculatePoints(task, project); + expect(result).toBe(0); + }); + }); +}); diff --git a/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.spec.ts b/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.spec.ts new file mode 100644 index 0000000..ddc1c35 --- /dev/null +++ b/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.spec.ts @@ -0,0 +1,42 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { GamificationEngineFactory } from './gamification-strategy-factory'; +import { BasicPointsEngine } from './basic-points-engine'; +import { ElasticPointsEngine } from './elastic-points-engine'; +import { PointsFirstLBEngine } from './basic-leaderboard-engine'; +import { BadgesFirstLBEngine } from './badge-first-leaderboard-engine'; +import { BasicBadgeEngine } from './basic-badge-engine'; +import { GamificationStrategy, LeaderboardStrategy } from '../../../../project/dto/create-project.dto'; + +describe('GamificationEngineFactory', () => { + let factory: GamificationEngineFactory; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + GamificationEngineFactory, + { provide: BasicPointsEngine, useValue: {} }, + { provide: ElasticPointsEngine, useValue: {} }, + { provide: PointsFirstLBEngine, useValue: {} }, + { provide: BadgesFirstLBEngine, useValue: {} }, + { provide: BasicBadgeEngine, useValue: {} }, + ], + }).compile(); + + factory = module.get(GamificationEngineFactory); + }); + + it('should return correct engines', () => { + expect(factory.getBadgeEngine(GamificationStrategy.BASIC)).toBeDefined(); + expect(factory.getBadgeEngine(GamificationStrategy.ELASTIC)).toBeDefined(); + expect(factory.getPointsEngine(GamificationStrategy.BASIC)).toBeDefined(); + expect(factory.getPointsEngine(GamificationStrategy.ELASTIC)).toBeDefined(); + expect(factory.getLeaderboardEngine(LeaderboardStrategy.POINTS_FIRST)).toBeDefined(); + expect(factory.getLeaderboardEngine(LeaderboardStrategy.BADGES_FIRST)).toBeDefined(); + }); + + it('should throw error for unknown strategies', () => { + expect(() => factory.getBadgeEngine('UNKNOWN' as any)).toThrow(); + expect(() => factory.getPointsEngine('UNKNOWN' as any)).toThrow(); + expect(() => factory.getLeaderboardEngine('UNKNOWN' as any)).toThrow(); + }); +}); diff --git a/src/module/gamification/entities/engine/recommendation/adaptive-recomendation-engine.spec.ts b/src/module/gamification/entities/engine/recommendation/adaptive-recomendation-engine.spec.ts index 4163e93..48de53b 100644 --- a/src/module/gamification/entities/engine/recommendation/adaptive-recomendation-engine.spec.ts +++ b/src/module/gamification/entities/engine/recommendation/adaptive-recomendation-engine.spec.ts @@ -32,6 +32,29 @@ describe('AdaptiveRecommendationEngine', () => { expect(recommendationEngine).toBeDefined(); }); + it('should use default values if env vars are missing', () => { + const originalK = process.env.K; + const originalNeutral = process.env.NEUTRAL_SCORE; + const originalLimit = process.env.RECOMMENDATIONS_LIMIT; + const originalMaxStars = process.env.MAX_STARS_AMOUNT; + + delete process.env.K; + delete process.env.NEUTRAL_SCORE; + delete process.env.RECOMMENDATIONS_LIMIT; + delete process.env.MAX_STARS_AMOUNT; + + const engine = new AdaptiveRecommendationEngine(); + expect(engine['k']).toBe(5); + expect(engine['NEUTRAL_SCORE']).toBe(4); + expect(engine['RECOMMENDATIONS_LIMIT']).toBe(10); + expect(engine['MAX_STARS_AMOUNT']).toBe(5); + + if (originalK) process.env.K = originalK; + if (originalNeutral) process.env.NEUTRAL_SCORE = originalNeutral; + if (originalLimit) process.env.RECOMMENDATIONS_LIMIT = originalLimit; + if (originalMaxStars) process.env.MAX_STARS_AMOUNT = originalMaxStars; + }); + /* * Task similarity tests */ @@ -137,6 +160,12 @@ describe('AdaptiveRecommendationEngine', () => { expect(estimatedRating).toBeGreaterThanOrEqual(0); expect(estimatedRating).toBeLessThanOrEqual(1); }); + + it('should use neutral score if rating is missing for a similar task', () => { + const similarTasks = [{ task: createTask('task1', 'a', 'm', 't'), similarity: 1 }]; + const estimatedRating = recommendationEngine['estimateTaskRating'](similarTasks, {}); + expect(estimatedRating).toBe(0.8); + }); }); /* diff --git a/src/module/gamification/entities/engine/recommendation/recommendation-engine-factory.spec.ts b/src/module/gamification/entities/engine/recommendation/recommendation-engine-factory.spec.ts new file mode 100644 index 0000000..6617c8f --- /dev/null +++ b/src/module/gamification/entities/engine/recommendation/recommendation-engine-factory.spec.ts @@ -0,0 +1,30 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { RecommendationEngineFactory } from './recommendation-engine-factory'; +import { AdaptiveRecommendationEngine } from './adaptive-recommendation-engine'; +import { SimpleRecommendationEngine } from './simple-recommendation-engine'; +import { RecommendationStrategy } from '../../../../project/dto/create-project.dto'; + +describe('RecommendationEngineFactory', () => { + let factory: RecommendationEngineFactory; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + RecommendationEngineFactory, + { provide: AdaptiveRecommendationEngine, useValue: {} }, + { provide: SimpleRecommendationEngine, useValue: {} }, + ], + }).compile(); + + factory = module.get(RecommendationEngineFactory); + }); + + it('should return correct engines', () => { + expect(factory.getEngine(RecommendationStrategy.ADAPTIVE)).toBeDefined(); + expect(factory.getEngine(RecommendationStrategy.SIMPLE)).toBeDefined(); + }); + + it('should throw for unknown strategy', () => { + expect(() => factory.getEngine('UNKNOWN')).toThrow(); + }); +}); diff --git a/src/module/gamification/entities/engine/recommendation/simple-recommendation-engine.spec.ts b/src/module/gamification/entities/engine/recommendation/simple-recommendation-engine.spec.ts new file mode 100644 index 0000000..3ba3cbd --- /dev/null +++ b/src/module/gamification/entities/engine/recommendation/simple-recommendation-engine.spec.ts @@ -0,0 +1,11 @@ +import { SimpleRecommendationEngine } from './simple-recommendation-engine'; + +describe('SimpleRecommendationEngine', () => { + it('should return all tasks with rating 0', () => { + const engine = new SimpleRecommendationEngine(); + const tasks = [{ id: '1' }, { id: '2' }] as any; + const result = engine.generateRecommendations({} as any, {}, tasks); + expect(result.length).toBe(2); + expect(result[0].estimatedRating).toBe(0); + }); +}); diff --git a/src/module/gamification/entities/gamification.entity.spec.ts b/src/module/gamification/entities/gamification.entity.spec.ts new file mode 100644 index 0000000..8bc706f --- /dev/null +++ b/src/module/gamification/entities/gamification.entity.spec.ts @@ -0,0 +1,48 @@ +import { Gamification, BadgeRule, PointRule } from './gamification.entity'; + +describe('Gamification Entities', () => { + describe('Gamification', () => { + it('should create a Gamification instance', () => { + const g = new Gamification('p1', [], []); + expect(g.projectId).toBe('p1'); + }); + }); + + describe('BadgeRule', () => { + it('should create a BadgeRule instance', () => { + const b = new BadgeRule('id', 'p1', 'name', 'desc', 'img', 10, true, [], 'type', 'area', 'time'); + expect(b._id).toBe('id'); + expect(b.name).toBe('name'); + }); + }); + + describe('PointRule', () => { + it('should match correctly', () => { + const p = new PointRule('id', 'p1', 'type1', 'area1', 'time1', 10, true); + expect(p.matchTaskType('type1')).toBe(true); + expect(p.matchTaskType('type2')).toBe(false); + expect(p.matchArea('area1')).toBe(true); + expect(p.matchArea('area2')).toBe(false); + expect(p.matchTimeInterval('time1')).toBe(true); + expect(p.matchTimeInterval('time2')).toBe(false); + expect(p.mustContribute).toBe(true); + }); + + it('should match ANY_KIND', () => { + const p = new PointRule('id', 'p1', 'Cualquiera', 'Cualquiera', 'Cualquiera', 10, true); + expect(p.matchTaskType('anything')).toBe(true); + expect(p.matchArea('anything')).toBe(true); + expect(p.matchTimeInterval('anything')).toBe(true); + }); + + it('should match task', () => { + const p = new PointRule('id', 'p1', 'type1', 'area1', 'time1', 10, true); + const task = { + type: 'type1', + areaGeoJSON: { properties: { id: 'area1' } }, + timeInterval: { name: 'time1' }, + } as any; + expect(p.matchTask(task)).toBe(true); + }); + }); +}); diff --git a/src/module/gamification/gamificationController.spec.ts b/src/module/gamification/gamificationController.spec.ts new file mode 100644 index 0000000..61de0a9 --- /dev/null +++ b/src/module/gamification/gamificationController.spec.ts @@ -0,0 +1,86 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { GamificationController } from './gamificationController'; +import { GamificationService } from './gamification.service'; + +describe('GamificationController', () => { + let controller: GamificationController; + let service: GamificationService; + + const mockGamificationService = { + createBadge: jest.fn(), + updateBadge: jest.fn(), + removeBadge: jest.fn(), + createScoreRule: jest.fn(), + updateScoreRule: jest.fn(), + removeScoreRule: jest.fn(), + update: jest.fn(), + findByProjectId: jest.fn(), + }; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [GamificationController], + providers: [ + { provide: GamificationService, useValue: mockGamificationService }, + ], + }).compile(); + + controller = module.get(GamificationController); + service = module.get(GamificationService); + }); + + it('should be defined', () => { + expect(controller).toBeDefined(); + }); + + describe('badge operations', () => { + it('should create badge', async () => { + const dto = {} as any; + await controller.create(dto); + expect(service.createBadge).toHaveBeenCalledWith(dto); + }); + + it('should update badge', async () => { + const dto = {} as any; + await controller.updateBadge(dto, '1'); + expect(service.updateBadge).toHaveBeenCalledWith('1', dto); + }); + + it('should remove badge', async () => { + await controller.remove('p1', 'b1'); + expect(service.removeBadge).toHaveBeenCalledWith('p1', 'b1'); + }); + }); + + describe('score rule operations', () => { + it('should create score rule', async () => { + const dto = {} as any; + await controller.createScoreRule(dto); + expect(service.createScoreRule).toHaveBeenCalledWith(dto); + }); + + it('should update score rule', async () => { + const dto = {} as any; + await controller.updateScoreRule(dto); + expect(service.updateScoreRule).toHaveBeenCalledWith(dto); + }); + + it('should remove score rule', async () => { + await controller.removeScoreRule('p1', 's1'); + expect(service.removeScoreRule).toHaveBeenCalledWith('p1', 's1'); + }); + }); + + describe('general operations', () => { + it('should update gamification', async () => { + const dto = {} as any; + await controller.update('p1', dto); + expect(service.update).toHaveBeenCalledWith('p1', dto); + }); + + it('should find by project id', async () => { + await controller.findAll('p1'); + expect(service.findByProjectId).toHaveBeenCalledWith('p1'); + }); + }); +}); diff --git a/src/module/gamification/persistence/gamification-dao.service.spec.ts b/src/module/gamification/persistence/gamification-dao.service.spec.ts new file mode 100644 index 0000000..0bec561 --- /dev/null +++ b/src/module/gamification/persistence/gamification-dao.service.spec.ts @@ -0,0 +1,166 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { getModelToken } from '@nestjs/mongoose'; +import { GamificationDao } from './gamification-dao.service'; +import { GamificationTemplate } from './gamification.schema'; +import { LeaderboardDao } from '../../leaderboard/persistence/leaderboard.dao'; + +describe('GamificationDao', () => { + let dao: GamificationDao; + let model: any; + + const mockModel = { + findOne: jest.fn().mockReturnThis(), + findOneAndUpdate: jest.fn().mockReturnThis(), + create: jest.fn(), + exec: jest.fn(), + }; + + const mockLeaderboardDao = { + updateLeaderboardUsers: jest.fn(), + }; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + GamificationDao, + { + provide: getModelToken(GamificationTemplate.collectionName()), + useValue: mockModel, + }, + { provide: LeaderboardDao, useValue: mockLeaderboardDao }, + ], + }).compile(); + + dao = module.get(GamificationDao); + model = module.get(getModelToken(GamificationTemplate.collectionName())); + }); + + it('should be defined', () => { + expect(dao).toBeDefined(); + }); + + it('should add badge', async () => { + const template = { + badges: [], + save: jest.fn().mockResolvedValue({}), + }; + model.findOne.mockResolvedValue(template); + await dao.addBadge('p1', { name: 'B1' } as any); + expect(template.badges).toHaveLength(1); + }); + + it('should throw error if badge name exists', async () => { + const template = { + badges: [{ name: 'B1' }], + }; + model.findOne.mockResolvedValue(template); + await expect(dao.addBadge('p1', { name: 'B1' } as any)).rejects.toThrow('Ya existe una insignia con ese nombre'); + }); + + it('should throw if project not found when adding badge', async () => { + model.findOne.mockResolvedValue(null); + await expect(dao.addBadge('p1', { name: 'B' } as any)).rejects.toThrow('Project not found'); + }); + + it('should get point rules by project', async () => { + model.findOne.mockReturnThis(); + model.exec.mockResolvedValue({ pointRules: [] }); + const res = await dao.getPointRulesByProject('p1'); + expect(res.pointRules).toEqual([]); + }); + + it('should find badge by id', async () => { + model.findOne.mockReturnThis(); + model.exec.mockResolvedValue({ badges: [{ name: 'B1' }] }); + const res = await dao.findBadgeById('p1', 'b1'); + expect(res.badges).toHaveLength(1); + }); + + it('should update gamification', async () => { + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.updateGamification('p1', {} as any); + expect(model.findOneAndUpdate).toHaveBeenCalled(); + }); + + it('should add score rule', async () => { + const template = { pointRules: [], save: jest.fn().mockResolvedValue({}) }; + model.findOne.mockResolvedValue(template); + await dao.addScoreRule('p1', { score: 10 } as any); + expect(template.pointRules).toHaveLength(1); + }); + + it('should update point rule', async () => { + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.updatePointRule('p1', { _id: 'r1' } as any); + expect(model.findOneAndUpdate).toHaveBeenCalled(); + }); + + it('should delete point rule', async () => { + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.deletePointRule('p1', 'r1'); + expect(model.findOneAndUpdate).toHaveBeenCalled(); + }); + + it('should update badge', async () => { + const template = { + badges: [{ _id: 'b1', name: 'Old' }], + save: jest.fn().mockResolvedValue({}) + }; + model.findOne.mockResolvedValue(template); + await dao.updateBadge('b1', { projectId: 'p1', name: 'New' } as any); + expect(template.badges).toHaveLength(1); + expect(template.badges[0].name).toBe('New'); + }); + + it('should throw if project not found when updating badge', async () => { + model.findOne.mockResolvedValue(null); + await expect(dao.updateBadge('b1', { projectId: 'p1' } as any)).rejects.toThrow('Project not found'); + }); + + it('should get badges by project', async () => { + model.findOne.mockReturnThis(); + model.exec.mockResolvedValue([]); + const res = await dao.getBadgesByProject('p1'); + expect(res).toEqual([]); + }); + + it('should delete badge', async () => { + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.deleteBadge('p1', 'b1'); + expect(model.findOneAndUpdate).toHaveBeenCalled(); + }); + + it('should get gamification by project id', async () => { + const saved = { + badges: [{ _id: 'b1', projectId: 'p1', name: 'N', description: 'D', imageUrl: 'I', checkinsAmount: 1, mustContribute: false, previousBadges: [], taskType: 'T', areaId: 'A', timeIntervalId: 'TI' }], + pointRules: [{ _id: 'r1', taskType: 'T', areaId: 'A', timeIntervalId: 'TI', score: 10, mustContribute: false }] + }; + model.findOne.mockReturnThis(); + model.exec.mockResolvedValue(saved); + const res = await dao.getGamificationByProjectId('p1'); + expect(res.projectId).toBe('p1'); + expect(res.badgesRules).toHaveLength(1); + expect(res.pointRules).toHaveLength(1); + }); + + it('should throw if project not found when adding score rule', async () => { + model.findOne.mockResolvedValue(null); + await expect(dao.addScoreRule('p1', { score: 10 } as any)).rejects.toThrow('Project not found'); + }); + + it('should create new gamification', async () => { + model.create.mockResolvedValue({}); + await dao.createNewGamificationFor('p1'); + expect(model.create).toHaveBeenCalledWith({ projectId: 'p1', badges: [], pointRules: [] }); + }); + + it('should save move', async () => { + const move = { checkin: { projectId: 'p1' }, gameStatus: { newLeaderboard: [] } } as any; + await dao.saveMove(move); + expect(mockLeaderboardDao.updateLeaderboardUsers).toHaveBeenCalledWith('p1', []); + }); +}); diff --git a/src/module/leaderboard/leaderboard.controller.spec.ts b/src/module/leaderboard/leaderboard.controller.spec.ts new file mode 100644 index 0000000..1b1bc09 --- /dev/null +++ b/src/module/leaderboard/leaderboard.controller.spec.ts @@ -0,0 +1,37 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { LeaderboardController } from './leaderboard.controller'; +import { LeaderboardService } from './leaderboard.service'; +import { JwtAuthGuard } from '../auth/auth.guard'; + +describe('LeaderboardController', () => { + let controller: LeaderboardController; + let service: LeaderboardService; + + const mockLeaderboardService = { + getLeaderboardFor: jest.fn(), + }; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [LeaderboardController], + providers: [ + { provide: LeaderboardService, useValue: mockLeaderboardService }, + ], + }) + .overrideGuard(JwtAuthGuard) + .useValue({ canActivate: () => true }) + .compile(); + + controller = module.get(LeaderboardController); + service = module.get(LeaderboardService); + }); + + it('should be defined', () => { + expect(controller).toBeDefined(); + }); + + it('should call service.getLeaderboardFor', async () => { + await controller.leaderboard('p1'); + expect(service.getLeaderboardFor).toHaveBeenCalledWith('p1'); + }); +}); diff --git a/src/module/leaderboard/leaderboard.service.spec.ts b/src/module/leaderboard/leaderboard.service.spec.ts new file mode 100644 index 0000000..bce2423 --- /dev/null +++ b/src/module/leaderboard/leaderboard.service.spec.ts @@ -0,0 +1,34 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { LeaderboardService } from './leaderboard.service'; +import { LeaderboardDao } from './persistence/leaderboard.dao'; + +describe('LeaderboardService', () => { + let service: LeaderboardService; + let dao: LeaderboardDao; + + const mockLeaderboardDao = { + findByProjectId: jest.fn(), + }; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + LeaderboardService, + { provide: LeaderboardDao, useValue: mockLeaderboardDao }, + ], + }).compile(); + + service = module.get(LeaderboardService); + dao = module.get(LeaderboardDao); + }); + + it('should be defined', () => { + expect(service).toBeDefined(); + }); + + it('should call dao.findByProjectId', async () => { + mockLeaderboardDao.findByProjectId.mockResolvedValue({} as any); + await service.getLeaderboardFor('p1'); + expect(dao.findByProjectId).toHaveBeenCalledWith('p1'); + }); +}); diff --git a/src/module/leaderboard/persistence/leaderboard.dao.spec.ts b/src/module/leaderboard/persistence/leaderboard.dao.spec.ts new file mode 100644 index 0000000..ac44b71 --- /dev/null +++ b/src/module/leaderboard/persistence/leaderboard.dao.spec.ts @@ -0,0 +1,121 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { getModelToken } from '@nestjs/mongoose'; +import { LeaderboardDao } from './leaderboard.dao'; +import { Leaderboard, LeaderboardSchema } from './leaderboard-user-schema'; +import { NotFoundException } from '@nestjs/common'; + +describe('LeaderboardDao', () => { + let dao: LeaderboardDao; + let model: any; + + const mockModel = { + findOne: jest.fn().mockReturnThis(), + findOneAndUpdate: jest.fn().mockReturnThis(), + findOneAndDelete: jest.fn().mockReturnThis(), + create: jest.fn(), + exec: jest.fn(), + }; + + class MockModel { + constructor(data: any) { Object.assign(this, data); } + save = jest.fn().mockResolvedValue(this); + static findOne = mockModel.findOne; + static findOneAndUpdate = mockModel.findOneAndUpdate; + static findOneAndDelete = mockModel.findOneAndDelete; + static create = mockModel.create; + static exec = mockModel.exec; + } + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + LeaderboardDao, + { + provide: getModelToken(Leaderboard.name), + useValue: MockModel, + }, + ], + }).compile(); + + dao = module.get(LeaderboardDao); + model = MockModel; + }); + + it('should return collection name', () => { + expect((LeaderboardSchema.statics as any).collectionName()).toBe('Leaderboards'); + }); + + it('should find by project id or create', async () => { + model.findOne.mockReturnThis(); + model.exec.mockResolvedValue(null); + model.create.mockResolvedValue({ projectId: 'p1' }); + const res = await dao.findByProjectId('p1'); + expect(res.projectId).toBe('p1'); + expect(model.create).toHaveBeenCalled(); + }); + + it('should update leaderboard users', async () => { + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({ projectId: 'p1' }); + await dao.updateLeaderboardUsers('p1', []); + expect(model.findOneAndUpdate).toHaveBeenCalled(); + }); + + it('should throw if update not found', async () => { + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.updateLeaderboardUsers('p1', [])).rejects.toThrow(NotFoundException); + }); + + it('should add user to leaderboard', async () => { + const lb = { users: [{ points: 10 }, { points: 20 }] }; + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockImplementation(() => { + lb.users.push({ points: 15 } as any); + return Promise.resolve(lb); + }); + const res = await dao.addUserToLeaderboard('p1', { points: 15 } as any); + expect(res.users[0].points).toBe(20); + expect(res.users[1].points).toBe(15); + expect(res.users[2].points).toBe(10); + }); + + it('should remove user from leaderboard', async () => { + const lb = { users: [{ _id: 'u1', points: 10 }, { _id: 'u2', points: 20 }] }; + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue(lb); + const res = await dao.removeUserFromLeaderboard('p1', 'u1'); + expect(res.users).toHaveLength(2); // Since mock isn't actually pulling, but we check sort + expect(res.users[0].points).toBe(20); + }); + + it('should delete leaderboard', async () => { + model.findOneAndDelete.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.deleteLeaderboardByProjectId('p1'); + expect(model.findOneAndDelete).toHaveBeenCalled(); + }); + + it('should throw if delete not found', async () => { + model.findOneAndDelete.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.deleteLeaderboardByProjectId('p1')).rejects.toThrow(NotFoundException); + }); + + it('should create leaderboard', async () => { + const res = await dao.createLeaderboard('p1'); + expect(res).toBeDefined(); + }); + + it('should throw if add user not found', async () => { + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.addUserToLeaderboard('p1', { points: 1 } as any)).rejects.toThrow(NotFoundException); + }); + + it('should throw if remove user not found', async () => { + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.removeUserFromLeaderboard('p1', 'u1')).rejects.toThrow(NotFoundException); + }); +}); diff --git a/src/module/project/entities/ProjectMapper.spec.ts b/src/module/project/entities/ProjectMapper.spec.ts new file mode 100644 index 0000000..85029e4 --- /dev/null +++ b/src/module/project/entities/ProjectMapper.spec.ts @@ -0,0 +1,43 @@ +import { ProjectMapper } from './ProjectMapper'; +import { Project } from './project'; +import { GamificationStrategy, LeaderboardStrategy, RecommendationStrategy } from '../dto/create-project.dto'; + +describe('ProjectMapper', () => { + const template = { + _id: '1', + name: 'p1', + description: 'desc', + image: 'img', + web: 'web', + available: true, + areas: { type: 'FeatureCollection', features: [] }, + taskTypes: [], + timeIntervals: [], + ownerId: 'o1', + gamificationStrategy: GamificationStrategy.BASIC, + leaderboardStrategy: LeaderboardStrategy.POINTS_FIRST, + recommendationStrategy: RecommendationStrategy.SIMPLE, + manualLocation: false, + } as any; + + it('should map template to entity', () => { + const entity = ProjectMapper.toEntity(template); + expect(entity.id).toBe('1'); + expect(entity.name).toBe('p1'); + }); + + it('should map entity to template', () => { + const entity = new Project( + '1', 'p1', 'desc', 'img', 'web', true, + { type: 'FeatureCollection', features: [] } as any, + [], [], 'o1', null, + GamificationStrategy.BASIC, + LeaderboardStrategy.POINTS_FIRST, + RecommendationStrategy.SIMPLE, + false + ); + const result = ProjectMapper.toTemplate(entity); + expect(result.name).toBe('p1'); + expect(result.ownerId).toBe('o1'); + }); +}); diff --git a/src/module/project/persistence/project.dao.spec.ts b/src/module/project/persistence/project.dao.spec.ts new file mode 100644 index 0000000..41134c3 --- /dev/null +++ b/src/module/project/persistence/project.dao.spec.ts @@ -0,0 +1,150 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { getModelToken } from '@nestjs/mongoose'; +import { ProjectDao } from './project.dao'; +import { ProjectTemplate } from './project.schema'; +import { GamificationDao } from '../../gamification/persistence/gamification-dao.service'; +import { NotFoundException } from '@nestjs/common'; + +describe('ProjectDao', () => { + let dao: ProjectDao; + let model: any; + let gamificationDao: any; + + const mockModel = { + find: jest.fn().mockReturnThis(), + findById: jest.fn().mockReturnThis(), + findByIdAndUpdate: jest.fn().mockReturnThis(), + exec: jest.fn(), + }; + + class MockModel { + constructor(data: any) { Object.assign(this, data); } + save = jest.fn().mockResolvedValue(this); + static find = mockModel.find; + static findById = mockModel.findById; + static findByIdAndUpdate = mockModel.findByIdAndUpdate; + static exec = mockModel.exec; + } + + const mockGamificationDao = { + getGamificationByProjectId: jest.fn(), + createNewGamificationFor: jest.fn(), + }; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + ProjectDao, + { + provide: getModelToken(ProjectTemplate.collectionName()), + useValue: MockModel, + }, + { provide: GamificationDao, useValue: mockGamificationDao }, + ], + }).compile(); + + dao = module.get(ProjectDao); + model = MockModel; + gamificationDao = module.get(GamificationDao); + }); + + it('should find all', async () => { + model.find.mockReturnThis(); + model.exec.mockResolvedValue([{ name: 'P1' }]); + const res = await dao.findAll(); + expect(res).toHaveLength(1); + }); + + it('should map time interval from db', () => { + const ti = { _doc: { name: 'T1', days: [1], time: { start: '08:00', end: '12:00' }, startDate: new Date(), endDate: new Date() } }; + const res = dao.mapTimeIntervalFromDB(ti); + expect(res.name).toBe('T1'); + }); + + it('should throw if findOne not found', async () => { + model.findById.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.findOne('1')).rejects.toThrow(NotFoundException); + }); + + it('should find one and filter disabled areas', async () => { + const doc = { + name: 'P1', + areas: { + features: [ + { properties: { id: 'a1' } }, + { properties: { id: 'a2', disabled: true } } + ] + }, + taskTypes: [], + timeIntervals: [], + ownerId: 'o1' + }; + model.findById.mockReturnThis(); + model.exec.mockResolvedValue(doc); + gamificationDao.getGamificationByProjectId.mockResolvedValue({}); + jest.spyOn(dao as any, 'mapTimeIntervalFromDB').mockReturnValue({}); + + const res = await dao.findOne('1'); + expect(res.areas.features).toHaveLength(1); + expect(res.areas.features[0].properties.id).toBe('a1'); + }); + + it('should update and handle new areas', async () => { + const oldProject = { + areas: { features: [{ properties: { id: 'old' } }] } + }; + model.findById.mockResolvedValue(oldProject); + model.findByIdAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({ _id: '1' }); + + const updateDto = { areas: { type: 'FeatureCollection', features: [{ properties: { id: 'new' } }] } }; + await dao.update('1', updateDto as any); + + expect(model.findByIdAndUpdate).toHaveBeenCalled(); + const callArgs = model.findByIdAndUpdate.mock.calls[0][1]; + expect(callArgs.$set.areas.features).toHaveLength(2); + expect(callArgs.$set.areas.features.find(f => f.properties.id === 'old').properties.disabled).toBe(true); + }); + + it('should throw if update not found', async () => { + model.findById.mockResolvedValue(null); + await expect(dao.update('1', {})).rejects.toThrow(NotFoundException); + }); + + it('should find one', async () => { + const doc = { + name: 'P1', areas: { features: [] }, taskTypes: [], timeIntervals: [], ownerId: 'o1' + }; + model.findById.mockReturnThis(); + model.exec.mockResolvedValue(doc); + gamificationDao.getGamificationByProjectId.mockResolvedValue({}); + + jest.spyOn(dao, 'mapTimeIntervalFromDB').mockReturnValue({} as any); + + const res = await dao.findOne('1'); + expect(res.name).toBe('P1'); + }); + + it('should create project', async () => { + const res = await dao.create({ name: 'P1' } as any); + expect(res).toBeDefined(); + expect(gamificationDao.createNewGamificationFor).toHaveBeenCalled(); + }); + + it('should toggle available', async () => { + const project = { available: true, name: 'P' } as any; + jest.spyOn(dao, 'findOne').mockResolvedValue(project); + model.findByIdAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.toggleAvailable('1'); + expect(model.findByIdAndUpdate).toHaveBeenCalled(); + }); + + it('should throw if toggleAvailable not found', async () => { + jest.spyOn(dao, 'findOne').mockResolvedValue({ available: true } as any); + model.findByIdAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.toggleAvailable('1')).rejects.toThrow(NotFoundException); + }); +}); diff --git a/src/module/project/project.builder.spec.ts b/src/module/project/project.builder.spec.ts new file mode 100644 index 0000000..e4d3f8d --- /dev/null +++ b/src/module/project/project.builder.spec.ts @@ -0,0 +1,36 @@ +import ProjectBuilder from './project.builder'; +import { GamificationStrategy, LeaderboardStrategy, RecommendationStrategy } from './dto/create-project.dto'; + +describe('ProjectBuilder', () => { + it('should build a project with custom values', () => { + const project = ProjectBuilder + .withId('1') + .withName('Name') + .withDescription('Desc') + .withImage('img') + .withWeb('web') + .withAvailable(false) + .withAreas({ type: 'FeatureCollection', features: [] } as any) + .withTaskTypes(['type1']) + .withTimeIntervals([]) + .withOwnerId('owner') + .withGamification(null) + .withGamificationStrategy(GamificationStrategy.ELASTIC) + .withLeaderboardStrategy(LeaderboardStrategy.BADGES_FIRST) + .withRecommendationStrategy(RecommendationStrategy.ADAPTIVE) + .withManualLocation(true) + .build(); + + expect(project.id).toBe('1'); + expect(project.name).toBe('Name'); + expect(project.description).toBe('Desc'); + expect(project.image).toBe('img'); + expect(project.web).toBe('web'); + expect(project.available).toBe(false); + expect(project.ownerId).toBe('owner'); + expect(project.gamificationStrategy).toBe(GamificationStrategy.ELASTIC); + expect(project.leaderboardStrategy).toBe(LeaderboardStrategy.BADGES_FIRST); + expect(project.recommendationStrategy).toBe(RecommendationStrategy.ADAPTIVE); + expect(project.manualLocation).toBe(true); + }); +}); diff --git a/src/module/project/project.controller.spec.ts b/src/module/project/project.controller.spec.ts new file mode 100644 index 0000000..60e2fb9 --- /dev/null +++ b/src/module/project/project.controller.spec.ts @@ -0,0 +1,83 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { ProjectController } from './project.controller'; +import { ProjectService } from './project.service'; +import { UserService } from '../auth/users/user.service'; +import { JwtAuthGuard } from '../auth/auth.guard'; +import { RolesGuard } from '../auth/roles.guard'; + +describe('ProjectController', () => { + let controller: ProjectController; + let service: ProjectService; + + const mockProjectService = { + getTaskCombinations: jest.fn(), + findAll: jest.fn(), + create: jest.fn(), + findOne: jest.fn(), + findOnePublic: jest.fn(), + update: jest.fn(), + toggleAvailable: jest.fn(), + }; + + const mockUserService = {}; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [ProjectController], + providers: [ + { provide: ProjectService, useValue: mockProjectService }, + { provide: UserService, useValue: mockUserService }, + ], + }) + .overrideGuard(JwtAuthGuard) + .useValue({ canActivate: () => true }) + .overrideGuard(RolesGuard) + .useValue({ canActivate: () => true }) + .compile(); + + controller = module.get(ProjectController); + service = module.get(ProjectService); + }); + + it('should be defined', () => { + expect(controller).toBeDefined(); + }); + + it('should call getTaskCombinations', async () => { + await controller.getTaskCombination('1'); + expect(service.getTaskCombinations).toHaveBeenCalledWith('1'); + }); + + it('should call findAll', async () => { + await controller.findAll(); + expect(service.findAll).toHaveBeenCalled(); + }); + + it('should call create', async () => { + const dto = {} as any; + await controller.create(dto); + expect(service.create).toHaveBeenCalledWith(dto); + }); + + it('should call findOne', async () => { + const req = { user: { userId: 'u1' } }; + await controller.findOne('1', req); + expect(service.findOne).toHaveBeenCalledWith('1', 'u1'); + }); + + it('should call findOnePublic', async () => { + await controller.findOnePublic('1'); + expect(service.findOnePublic).toHaveBeenCalledWith('1'); + }); + + it('should call update', async () => { + const dto = {} as any; + await controller.update('1', dto); + expect(service.update).toHaveBeenCalledWith('1', dto); + }); + + it('should call toggleAvailable', async () => { + await controller.toggleAvailable('1'); + expect(service.toggleAvailable).toHaveBeenCalledWith('1'); + }); +}); diff --git a/src/module/task/entities/task.spec.ts b/src/module/task/entities/task.spec.ts index dbb45a6..37248b0 100644 --- a/src/module/task/entities/task.spec.ts +++ b/src/module/task/entities/task.spec.ts @@ -148,4 +148,38 @@ describe('Task', () => { expect(result).toBe(false); }); }); + + it('should manage solved state', () => { + expect(task.solved).toBe(false); + task.setSolved(true); + expect(task.solved).toBe(true); + }); + + it('should test contributesToCheckin', () => { + (GeoUtils.isPointInPolygon as jest.Mock).mockReturnValue(true); + task.setSolved(false); + expect(task.contributesToCheckin(checkin)).toBe(true); + + task.setSolved(true); + expect(task.contributesToCheckin(checkin)).toBe(false); + + task.setSolved(false); + (GeoUtils.isPointInPolygon as jest.Mock).mockReturnValue(false); + expect(task.contributesToCheckin(checkin)).toBe(false); + }); + + it('should test toJSON and getters', () => { + expect(task.timeInterval).toBe(taskTimeRestriction); + expect(task.type).toBe('type'); + expect(task.areaGeoJSON).toBe(area); + expect(task.description).toBe('Test Description'); + expect(task.name).toBe('Test Task'); + expect(task.getId()).toBe('id'); + expect(task.toJSON().id).toBe('id'); + }); + + it('should return false in accept if areaGeoJSON is missing', () => { + const taskNoArea = new Task('id', 'name', 'desc', 'p', {} as any, null, 'type'); + expect(taskNoArea.accept(checkin)).toBe(false); + }); }); diff --git a/src/module/task/persistence/task.dao.spec.ts b/src/module/task/persistence/task.dao.spec.ts new file mode 100644 index 0000000..1e2ba8f --- /dev/null +++ b/src/module/task/persistence/task.dao.spec.ts @@ -0,0 +1,198 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { getModelToken } from '@nestjs/mongoose'; +import { TaskDao } from './task.dao'; +import { TaskSchemaTemplate } from './task.schema'; +import { ProjectDao } from '../../project/persistence/project.dao'; +import { NotFoundException } from '@nestjs/common'; + +describe('TaskDao', () => { + let dao: TaskDao; + let model: any; + let projectDao: any; + + const mockModel = { + find: jest.fn().mockReturnThis(), + findById: jest.fn().mockReturnThis(), + findByIdAndUpdate: jest.fn().mockReturnThis(), + findByIdAndDelete: jest.fn().mockReturnThis(), + deleteMany: jest.fn().mockReturnThis(), + findOne: jest.fn().mockReturnThis(), + insertMany: jest.fn(), + exec: jest.fn(), + }; + + class MockModel { + constructor(data: any) { Object.assign(this, data); } + save = jest.fn().mockResolvedValue(this); + static find = mockModel.find; + static findById = mockModel.findById; + static findByIdAndUpdate = mockModel.findByIdAndUpdate; + static findByIdAndDelete = mockModel.findByIdAndDelete; + static findOne = mockModel.findOne; + static deleteMany = mockModel.deleteMany; + static insertMany = mockModel.insertMany; + static exec = mockModel.exec; + } + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + TaskDao, + { + provide: getModelToken(TaskSchemaTemplate.collectionName()), + useValue: MockModel, + }, + { provide: ProjectDao, useValue: mockProjectDao }, + ], + }).compile(); + + dao = module.get(TaskDao); + model = MockModel; + projectDao = module.get(ProjectDao); + }); + + const mockProjectDao = { + findOne: jest.fn(), + }; + + it('should get task by id', async () => { + const doc = { + _doc: { + _id: '1', name: 'T1', description: 'D1', projectId: 'p1', type: 't1', solved: false, areaId: 'a1', timeIntervalId: 'i1' + } + }; + const project = { + id: 'p1', + areas: { features: [{ properties: { id: 'a1' }, geometry: {} }] }, + timeIntervals: [{ name: 'i1' }] + }; + model.findById.mockReturnThis(); + model.exec.mockResolvedValue(doc); + projectDao.findOne.mockResolvedValue(project); + + const res = await dao.getTaskById('1'); + expect(res.name).toBe('T1'); + }); + + it('should create task', async () => { + const dto = { name: 'T' }; + await dao.create(dto as any); + // Constructor of MockModel was called + }); + + it('should get all tasks', async () => { + model.find.mockReturnThis(); + model.exec.mockResolvedValue([]); + const res = await dao.getAllTasks(); + expect(res).toEqual([]); + }); + + it('should get tasks by project', async () => { + const docs = [{ _id: '1', projectId: 'p1', areaId: 'a1', timeIntervalId: 'i1', name: 'T1' }]; + const project = { areas: { features: [] }, timeIntervals: [] }; + model.find.mockReturnThis(); + model.exec.mockResolvedValue(docs); + projectDao.findOne.mockResolvedValue(project); + const res = await dao.getTasksByProject('p1'); + expect(res).toHaveLength(1); + }); + + it('should return empty if no tasks for project', async () => { + model.find.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.getTasksByProject('p1')).rejects.toThrow('No tasks found for this project'); + }); + + it('should delete task', async () => { + model.findByIdAndDelete.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.deleteTask('1'); + expect(model.findByIdAndDelete).toHaveBeenCalled(); + }); + + it('should find by name or description', async () => { + model.findOne.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.findByNameOrDescription('n', 'd'); + expect(model.findOne).toHaveBeenCalled(); + }); + + it('should set task as solved', async () => { + model.findByIdAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.setTaskAsSolved('1'); + expect(model.findByIdAndUpdate).toHaveBeenCalledWith('1', { solved: true }, { new: true }); + }); + + it('should throw if setting solved for missing task', async () => { + model.findByIdAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.setTaskAsSolved('1')).rejects.toThrow('Task with id 1 not found'); + }); + + it('should delete by project id', async () => { + model.deleteMany.mockReturnThis(); + model.exec.mockResolvedValue({ deletedCount: 5 }); + const res = await dao.deleteByProjectId('p1'); + expect(res).toBe(5); + }); + + it('should bulk save', async () => { + model.insertMany.mockResolvedValue([]); + await dao.bulkSave([]); + expect(model.insertMany).toHaveBeenCalled(); + }); + + it('should delete useless', async () => { + const project = { + id: 'p1', + taskTypes: [], + timeIntervals: [], + areas: { features: [{ properties: { id: 'a1' } }] } + } as any; + model.find.mockReturnThis(); + model.exec.mockResolvedValue([]); + model.deleteMany.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.deleteUseless(project); + expect(model.deleteMany).toHaveBeenCalled(); + }); + + it('should update task', async () => { + model.findByIdAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.updateTask('1', {}); + expect(model.findByIdAndUpdate).toHaveBeenCalled(); + }); + + it('should get raw tasks and map them', async () => { + const docs = [{ _id: '1', projectId: 'p1', areaId: 'a1', timeIntervalId: 'i1', name: 'T1' }]; + const project = { areas: { features: [] }, timeIntervals: [] }; + model.find.mockReturnThis(); + model.exec.mockResolvedValue(docs); + projectDao.findOne.mockResolvedValue(project); + const res = await dao.getRawTasksByProject('p1'); + expect(res).toHaveLength(1); + }); + + it('should throw if no raw tasks found', async () => { + model.find.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.getRawTasksByProject('p1')).rejects.toThrow('No tasks found for this project'); + }); + + it('should delete useless with missing property ids', async () => { + const project = { + id: 'p1', + taskTypes: [], + timeIntervals: [], + areas: { features: [{ properties: { id: undefined } }, { properties: {} }] } + } as any; + model.find.mockReturnThis(); + model.exec.mockResolvedValue([]); + model.deleteMany.mockReturnThis(); + model.exec.mockResolvedValue({ deletedCount: 0 }); + await dao.deleteUseless(project); + expect(model.deleteMany).toHaveBeenCalled(); + }); +}); diff --git a/src/module/task/task.builder.spec.ts b/src/module/task/task.builder.spec.ts new file mode 100644 index 0000000..b27a010 --- /dev/null +++ b/src/module/task/task.builder.spec.ts @@ -0,0 +1,23 @@ +import TaskBuilder from './task.builder'; + +describe('TaskBuilder', () => { + it('should build a task with custom values', () => { + const task = TaskBuilder + .withId('1') + .withName('Name') + .withDescription('Desc') + .withProjectId('p1') + .withTimeRestriction(null) + .withArea(null) + .withType('type1') + .withSolved(true) + .build(); + + expect(task.getId()).toBe('1'); + expect(task.name).toBe('Name'); + expect(task.description).toBe('Desc'); + expect(task.projectId).toBe('p1'); + expect(task.type).toBe('type1'); + expect(task.solved).toBe(true); + }); +}); diff --git a/src/module/task/task.controller.spec.ts b/src/module/task/task.controller.spec.ts new file mode 100644 index 0000000..f12a97e --- /dev/null +++ b/src/module/task/task.controller.spec.ts @@ -0,0 +1,82 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { TaskController } from './task.controller'; +import { TaskService } from './task.service'; +import { JwtAuthGuard } from '../auth/auth.guard'; +import { RolesGuard } from '../auth/roles.guard'; +import { CreateTaskDto } from './dto/create-task.dto'; + +describe('TaskController', () => { + let controller: TaskController; + let service: TaskService; + + const mockTaskService = { + bulkSave: jest.fn(), + removeUselessFrom: jest.fn(), + create: jest.fn(), + findRawByProjectId: jest.fn(), + findOne: jest.fn(), + update: jest.fn(), + remove: jest.fn(), + }; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [TaskController], + providers: [ + { provide: TaskService, useValue: mockTaskService }, + ], + }) + .overrideGuard(JwtAuthGuard) + .useValue({ canActivate: () => true }) + .overrideGuard(RolesGuard) + .useValue({ canActivate: () => true }) + .compile(); + + controller = module.get(TaskController); + service = module.get(TaskService); + }); + + it('should be defined', () => { + expect(controller).toBeDefined(); + }); + + it('should call bulkSave', async () => { + await controller.postBulk('p1', []); + expect(service.bulkSave).toHaveBeenCalledWith('p1', []); + }); + + it('should call removeUselessFromProject', async () => { + await controller.removeUselessFromProject('p1'); + expect(service.removeUselessFrom).toHaveBeenCalledWith('p1'); + }); + + it('should call create', async () => { + const dto = { name: 't1' } as any; + // Mock CreateTaskDto.fromDTO if needed, but since it's a static method on the class itself + // and we're just testing the controller call, we can mock the service.create + await controller.create(dto); + expect(service.create).toHaveBeenCalled(); + }); + + it('should call findAllByProject', async () => { + const req = { user: { username: 'u1' } }; + await controller.findAllByProject('p1', req); + expect(service.findRawByProjectId).toHaveBeenCalledWith('p1', 'u1'); + }); + + it('should call findOne', async () => { + await controller.findOne('1'); + expect(service.findOne).toHaveBeenCalledWith('1'); + }); + + it('should call update', async () => { + const dto = {} as any; + await controller.update('1', dto); + expect(service.update).toHaveBeenCalledWith('1', dto); + }); + + it('should call remove', async () => { + await controller.remove('1'); + expect(service.remove).toHaveBeenCalledWith('1'); + }); +}); diff --git a/src/module/task/task.service.spec.ts b/src/module/task/task.service.spec.ts index f38b67b..7a20c58 100644 --- a/src/module/task/task.service.spec.ts +++ b/src/module/task/task.service.spec.ts @@ -137,7 +137,7 @@ describe('TaskService', () => { describe('findRawByProjectId', () => { it('should return recommended tasks with solver and points', async () => { const user = new User('a', 'user1', 'p', 'n'); - user.ratings = []; + user.ratings = [{ taskId: 'task1', score: 5, checkinId: 'c1' } as any]; user.contributions = []; const solver = new User('b', 'solver', 'p', 'n'); solver.contributions = ['task1']; diff --git a/src/module/volunteer/entities/volunteer.entity.spec.ts b/src/module/volunteer/entities/volunteer.entity.spec.ts new file mode 100644 index 0000000..78cd527 --- /dev/null +++ b/src/module/volunteer/entities/volunteer.entity.spec.ts @@ -0,0 +1,7 @@ +import { Volunteer } from './volunteer.entity'; + +describe('Volunteer', () => { + it('should create an instance', () => { + expect(new Volunteer()).toBeDefined(); + }); +}); diff --git a/src/module/volunteer/volunteer.controller.spec.ts b/src/module/volunteer/volunteer.controller.spec.ts new file mode 100644 index 0000000..2652fdc --- /dev/null +++ b/src/module/volunteer/volunteer.controller.spec.ts @@ -0,0 +1,57 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { VolunteerController } from './volunteer.controller'; +import { VolunteerService } from './volunteer.service'; +import { JwtAuthGuard } from '../auth/auth.guard'; + +describe('VolunteerController', () => { + let controller: VolunteerController; + let service: VolunteerService; + + const mockVolunteerService = { + subscribeToProject: jest.fn(), + findProjects: jest.fn(), + findPublicProjects: jest.fn(), + }; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [VolunteerController], + providers: [ + { provide: VolunteerService, useValue: mockVolunteerService }, + ], + }) + .overrideGuard(JwtAuthGuard) + .useValue({ canActivate: () => true }) + .compile(); + + controller = module.get(VolunteerController); + service = module.get(VolunteerService); + }); + + it('should be defined', () => { + expect(controller).toBeDefined(); + }); + + describe('subscribe', () => { + it('should call service.subscribeToProject', async () => { + const req = { user: { userId: '1' } }; + await controller.subscribe(req, 'proj1'); + expect(service.subscribeToProject).toHaveBeenCalledWith(req.user, 'proj1'); + }); + }); + + describe('findProjects', () => { + it('should call service.findProjects', async () => { + const req = { user: { userId: '1' } }; + await controller.findProjects(req); + expect(service.findProjects).toHaveBeenCalledWith('1'); + }); + }); + + describe('findPublicProjects', () => { + it('should call service.findPublicProjects', async () => { + await controller.findPublicProjects(); + expect(service.findPublicProjects).toHaveBeenCalled(); + }); + }); +}); diff --git a/src/module/volunteer/volunteer.service.spec.ts b/src/module/volunteer/volunteer.service.spec.ts new file mode 100644 index 0000000..d164af6 --- /dev/null +++ b/src/module/volunteer/volunteer.service.spec.ts @@ -0,0 +1,122 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { VolunteerService } from './volunteer.service'; +import { UserService } from '../auth/users/user.service'; +import { ProjectService } from '../project/project.service'; +import { User } from '../auth/users/user.entity'; +import { UserRole } from '../auth/users/user.schema'; + +describe('VolunteerService', () => { + let service: VolunteerService; + let userService: UserService; + let projectService: ProjectService; + + const mockUserService = { + getByUserId: jest.fn(), + update: jest.fn(), + }; + + const mockProjectService = { + findAll: jest.fn(), + }; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + VolunteerService, + { provide: UserService, useValue: mockUserService }, + { provide: ProjectService, useValue: mockProjectService }, + ], + }).compile(); + + service = module.get(VolunteerService); + userService = module.get(UserService); + projectService = module.get(ProjectService); + }); + + it('should be defined', () => { + expect(service).toBeDefined(); + }); + + describe('subscribeToProject', () => { + it('should subscribe if not already subscribed', async () => { + const userJwt = { userId: 'user1', username: 'test', role: UserRole.Volunteer }; + const user = new User('Test', 'test', 'test@test.com', 'pass', '', false, UserRole.Volunteer); + user.isSubscribedToProject = jest.fn().mockReturnValue(false); + user.subscribeToProject = jest.fn(); + + mockUserService.getByUserId.mockResolvedValue(user); + mockUserService.update.mockResolvedValue(user); + + await service.subscribeToProject(userJwt, 'proj1'); + + expect(user.subscribeToProject).toHaveBeenCalledWith('proj1'); + expect(mockUserService.update).toHaveBeenCalledWith('user1', user); + }); + + it('should unsubscribe if already subscribed', async () => { + const userJwt = { userId: 'user1', username: 'test', role: UserRole.Volunteer }; + const user = new User('Test', 'test', 'test@test.com', 'pass', '', false, UserRole.Volunteer); + user.isSubscribedToProject = jest.fn().mockReturnValue(true); + user.unsubscribeFromProject = jest.fn(); + + mockUserService.getByUserId.mockResolvedValue(user); + mockUserService.update.mockResolvedValue(user); + + await service.subscribeToProject(userJwt, 'proj1'); + + expect(user.unsubscribeFromProject).toHaveBeenCalledWith('proj1'); + expect(mockUserService.update).toHaveBeenCalledWith('user1', user); + }); + }); + + describe('findProjects', () => { + it('should return projects with subscription status sorted', async () => { + const userId = 'user1'; + const user = { + gameProfiles: [ + { projectId: 'proj1', active: true }, + ], + } as any; + const projects = [ + { _id: 'proj1', name: 'Project 1' }, + { _id: 'proj2', name: 'Project 2' }, + ] as any; + + mockUserService.getByUserId.mockResolvedValue(user); + mockProjectService.findAll.mockResolvedValue(projects); + + const result = await service.findProjects(userId); + + expect(result).toHaveLength(2); + expect(result[0]._id).toBe('proj1'); + expect(result[0].subscribed).toBe(true); + expect(result[1]._id).toBe('proj2'); + expect(result[1].subscribed).toBe(false); + }); + + it('should handle sorting logic comprehensively', async () => { + const p1 = { subscribed: true }; + const p2 = { subscribed: false }; + const p3 = { subscribed: true }; + const p4 = { subscribed: false }; + + const sorted = (service as any).sortSubscriptions([p2, p1]); + expect(sorted[0].subscribed).toBe(true); + expect(sorted[1].subscribed).toBe(false); + + const equalTrue = (service as any).sortSubscriptions([p1, p3]); + expect(equalTrue).toEqual([p1, p3]); + + const equalFalse = (service as any).sortSubscriptions([p2, p4]); + expect(equalFalse).toEqual([p2, p4]); + }); + }); + + describe('findPublicProjects', () => { + it('should call projectService.findAll', async () => { + mockProjectService.findAll.mockResolvedValue([]); + await service.findPublicProjects(); + expect(mockProjectService.findAll).toHaveBeenCalled(); + }); + }); +}); From c585ad494cac9538dfeb2f7ec7a94ee7fd4d9275 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Wed, 31 Dec 2025 11:49:46 -0300 Subject: [PATCH 042/104] fix eslint --- src/module/auth/auth.controller.spec.ts | 194 +++++---- src/module/auth/auth.service.spec.ts | 4 +- src/module/auth/jwt.strategy.spec.ts | 42 +- src/module/auth/roles.guard.spec.ts | 100 ++--- src/module/auth/users/UserMapper.spec.ts | 66 +-- src/module/auth/users/user.dao.spec.ts | 194 +++++---- src/module/auth/users/user.entity.spec.ts | 256 +++++------ src/module/checkin/checkin.builder.spec.ts | 58 +-- src/module/checkin/checkin.controller.spec.ts | 128 +++--- src/module/checkin/checkin.service.spec.ts | 5 +- .../checkin/entities/checkin.entity.spec.ts | 96 ++-- .../checkin/entities/game.entity.spec.ts | 44 +- .../checkin/entities/move.entity.spec.ts | 18 +- .../checkin/persistence/CheckinMapper.spec.ts | 94 ++-- .../checkin/persistence/checkin.dao.spec.ts | 199 +++++---- .../checkin/persistence/move.dao.spec.ts | 128 +++--- .../badge-first-leaderboard-engine.spec.ts | 74 ++-- .../gamification/basic-badge-engine.spec.ts | 293 ++++++++----- .../basic-leaderboard-engine.spec.ts | 56 +-- .../gamification/basic-points-engine.spec.ts | 270 +++++++----- .../gamification-strategy-factory.spec.ts | 63 +-- .../adaptive-recomendation-engine.spec.ts | 9 +- .../recommendation-engine-factory.spec.ts | 38 +- .../simple-recommendation-engine.spec.ts | 14 +- .../entities/gamification.entity.spec.ts | 94 ++-- .../gamificationController.spec.ts | 130 +++--- .../gamification-dao.service.spec.ts | 353 ++++++++------- .../leaderboard.controller.spec.ts | 50 +-- .../leaderboard/leaderboard.service.spec.ts | 46 +- .../persistence/leaderboard.dao.spec.ts | 239 +++++----- .../project/entities/ProjectMapper.spec.ts | 84 ++-- .../project/persistence/project.dao.spec.ts | 300 +++++++------ src/module/project/project.builder.spec.ts | 67 +-- src/module/project/project.controller.spec.ts | 124 +++--- src/module/task/entities/task.spec.ts | 10 +- src/module/task/persistence/task.dao.spec.ts | 412 ++++++++++-------- src/module/task/task.builder.spec.ts | 35 +- src/module/task/task.controller.spec.ts | 123 +++--- .../entities/volunteer.entity.spec.ts | 6 +- .../volunteer/volunteer.controller.spec.ts | 93 ++-- .../volunteer/volunteer.service.spec.ts | 224 +++++----- 41 files changed, 2617 insertions(+), 2216 deletions(-) diff --git a/src/module/auth/auth.controller.spec.ts b/src/module/auth/auth.controller.spec.ts index 2aba96a..7600828 100644 --- a/src/module/auth/auth.controller.spec.ts +++ b/src/module/auth/auth.controller.spec.ts @@ -5,112 +5,124 @@ import { BadRequestException, UnauthorizedException } from '@nestjs/common'; import { UserRole } from './users/user.schema'; describe('AuthController', () => { - let controller: AuthController; - let service: AuthService; - - const mockAuthService = { - validateUser: jest.fn(), - login: jest.fn(), - recoverPassword: jest.fn(), - forgotPassword: jest.fn(), - verifyEmail: jest.fn(), - register: jest.fn(), - }; + let controller: AuthController; + let service: AuthService; + + const mockAuthService = { + validateUser: jest.fn(), + login: jest.fn(), + recoverPassword: jest.fn(), + forgotPassword: jest.fn(), + verifyEmail: jest.fn(), + register: jest.fn(), + }; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [AuthController], + providers: [{ provide: AuthService, useValue: mockAuthService }], + }).compile(); + + controller = module.get(AuthController); + service = module.get(AuthService); + }); + + it('should be defined', () => { + expect(controller).toBeDefined(); + }); + + describe('login', () => { + it('should login successfully', async () => { + const body = { username: 'test', password: 'password' }; + const user = { username: 'test' }; + mockAuthService.validateUser.mockResolvedValue(user); + mockAuthService.login.mockResolvedValue({ access_token: 'token' }); + + const result = await controller.login(body); + expect(result).toEqual({ access_token: 'token' }); + }); - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - controllers: [AuthController], - providers: [ - { provide: AuthService, useValue: mockAuthService }, - ], - }).compile(); + it('should throw BadRequestException if missing fields', async () => { + await expect( + controller.login({ username: '', password: '' }), + ).rejects.toThrow(BadRequestException); + }); - controller = module.get(AuthController); - service = module.get(AuthService); + it('should throw UnauthorizedException if invalid credentials', async () => { + mockAuthService.validateUser.mockResolvedValue(null); + await expect( + controller.login({ username: 'test', password: 'wrong' }), + ).rejects.toThrow(UnauthorizedException); }); + }); - it('should be defined', () => { - expect(controller).toBeDefined(); + describe('recoverPassword', () => { + it('should recover password successfully', async () => { + const body = { token: 'token', newPassword: 'new' }; + await controller.recoverPassword(body); + expect(service.recoverPassword).toHaveBeenCalledWith('token', 'new'); }); - describe('login', () => { - it('should login successfully', async () => { - const body = { username: 'test', password: 'password' }; - const user = { username: 'test' }; - mockAuthService.validateUser.mockResolvedValue(user); - mockAuthService.login.mockResolvedValue({ access_token: 'token' }); - - const result = await controller.login(body); - expect(result).toEqual({ access_token: 'token' }); - }); - - it('should throw BadRequestException if missing fields', async () => { - await expect(controller.login({ username: '', password: '' })).rejects.toThrow(BadRequestException); - }); - - it('should throw UnauthorizedException if invalid credentials', async () => { - mockAuthService.validateUser.mockResolvedValue(null); - await expect(controller.login({ username: 'test', password: 'wrong' })).rejects.toThrow(UnauthorizedException); - }); + it('should throw BadRequestException if missing fields', async () => { + await expect( + controller.recoverPassword({ token: '', newPassword: '' }), + ).rejects.toThrow(BadRequestException); }); + }); - describe('recoverPassword', () => { - it('should recover password successfully', async () => { - const body = { token: 'token', newPassword: 'new' }; - await controller.recoverPassword(body); - expect(service.recoverPassword).toHaveBeenCalledWith('token', 'new'); - }); + describe('forgotPassword', () => { + it('should send forgot password email', async () => { + await controller.forgotPassword({ email: 'test@test.com' }); + expect(service.forgotPassword).toHaveBeenCalledWith('test@test.com'); + }); - it('should throw BadRequestException if missing fields', async () => { - await expect(controller.recoverPassword({ token: '', newPassword: '' })).rejects.toThrow(BadRequestException); - }); + it('should throw BadRequestException if missing email', async () => { + await expect(controller.forgotPassword({ email: '' })).rejects.toThrow( + BadRequestException, + ); + }); + }); + + describe('verifyToken', () => { + it('should verify token successfully', async () => { + const user = { username: 'test' }; + mockAuthService.verifyEmail.mockResolvedValue(user); + const result = await controller.verifyToken({ token: 'token' }); + expect(result.user).toEqual(user); }); - describe('forgotPassword', () => { - it('should send forgot password email', async () => { - await controller.forgotPassword({ email: 'test@test.com' }); - expect(service.forgotPassword).toHaveBeenCalledWith('test@test.com'); - }); + it('should throw BadRequestException if missing token', async () => { + await expect(controller.verifyToken({ token: '' })).rejects.toThrow( + BadRequestException, + ); + }); - it('should throw BadRequestException if missing email', async () => { - await expect(controller.forgotPassword({ email: '' })).rejects.toThrow(BadRequestException); - }); + it('should throw UnauthorizedException if token invalid', async () => { + mockAuthService.verifyEmail.mockResolvedValue(null); + await expect( + controller.verifyToken({ token: 'invalid' }), + ).rejects.toThrow(UnauthorizedException); }); + }); + + describe('register', () => { + const registerDto = { + complete_name: 'Test', + username: 'test', + email: 'test@test.com', + password: 'pass', + role: UserRole.Volunteer, + }; - describe('verifyToken', () => { - it('should verify token successfully', async () => { - const user = { username: 'test' }; - mockAuthService.verifyEmail.mockResolvedValue(user); - const result = await controller.verifyToken({ token: 'token' }); - expect(result.user).toEqual(user); - }); - - it('should throw BadRequestException if missing token', async () => { - await expect(controller.verifyToken({ token: '' })).rejects.toThrow(BadRequestException); - }); - - it('should throw UnauthorizedException if token invalid', async () => { - mockAuthService.verifyEmail.mockResolvedValue(null); - await expect(controller.verifyToken({ token: 'invalid' })).rejects.toThrow(UnauthorizedException); - }); + it('should register successfully', async () => { + await controller.register(registerDto); + expect(service.register).toHaveBeenCalledWith(registerDto); }); - describe('register', () => { - const registerDto = { - complete_name: 'Test', - username: 'test', - email: 'test@test.com', - password: 'pass', - role: UserRole.Volunteer, - }; - - it('should register successfully', async () => { - await controller.register(registerDto); - expect(service.register).toHaveBeenCalledWith(registerDto); - }); - - it('should throw BadRequestException if missing fields', async () => { - await expect(controller.register({ ...registerDto, username: '' })).rejects.toThrow(BadRequestException); - }); + it('should throw BadRequestException if missing fields', async () => { + await expect( + controller.register({ ...registerDto, username: '' }), + ).rejects.toThrow(BadRequestException); }); + }); }); diff --git a/src/module/auth/auth.service.spec.ts b/src/module/auth/auth.service.spec.ts index 3b187e1..469c697 100644 --- a/src/module/auth/auth.service.spec.ts +++ b/src/module/auth/auth.service.spec.ts @@ -282,7 +282,7 @@ describe('AuthService', () => { }); const consoleErrorSpy = jest .spyOn(console, 'error') - .mockImplementation(() => { }); + .mockImplementation(() => {}); await service.forgotPassword('test@test.com'); expect(consoleErrorSpy).toHaveBeenCalled(); @@ -292,7 +292,7 @@ describe('AuthService', () => { it('should log success message', async () => { const user = new User('T', 'u', 'test@test.com', 'p'); mockUserService.findByEmailOrUsername.mockResolvedValue(user); - const logSpy = jest.spyOn(console, 'log').mockImplementation(() => { }); + const logSpy = jest.spyOn(console, 'log').mockImplementation(() => {}); mockTransporter.sendMail.mockResolvedValueOnce(undefined); await service.forgotPassword('test@test.com'); expect(logSpy).toHaveBeenCalledWith('Correo enviado con éxito'); diff --git a/src/module/auth/jwt.strategy.spec.ts b/src/module/auth/jwt.strategy.spec.ts index 242a517..e9fe3c7 100644 --- a/src/module/auth/jwt.strategy.spec.ts +++ b/src/module/auth/jwt.strategy.spec.ts @@ -2,30 +2,30 @@ import { Test, TestingModule } from '@nestjs/testing'; import { JwtStrategy } from './jwt.strategy'; describe('JwtStrategy', () => { - let strategy: JwtStrategy; + let strategy: JwtStrategy; - beforeEach(async () => { - process.env.JWT_SECRET = 'test-secret'; - const module: TestingModule = await Test.createTestingModule({ - providers: [JwtStrategy], - }).compile(); + beforeEach(async () => { + process.env.JWT_SECRET = 'test-secret'; + const module: TestingModule = await Test.createTestingModule({ + providers: [JwtStrategy], + }).compile(); - strategy = module.get(JwtStrategy); - }); + strategy = module.get(JwtStrategy); + }); - it('should be defined', () => { - expect(strategy).toBeDefined(); - }); + it('should be defined', () => { + expect(strategy).toBeDefined(); + }); - describe('validate', () => { - it('should return user object from payload', async () => { - const payload = { sub: '123', username: 'testuser', role: 'admin' }; - const result = await strategy.validate(payload as any); - expect(result).toEqual({ - userId: '123', - username: 'testuser', - role: 'admin', - }); - }); + describe('validate', () => { + it('should return user object from payload', async () => { + const payload = { sub: '123', username: 'testuser', role: 'admin' }; + const result = await strategy.validate(payload as any); + expect(result).toEqual({ + userId: '123', + username: 'testuser', + role: 'admin', + }); }); + }); }); diff --git a/src/module/auth/roles.guard.spec.ts b/src/module/auth/roles.guard.spec.ts index 14373e5..c1560cd 100644 --- a/src/module/auth/roles.guard.spec.ts +++ b/src/module/auth/roles.guard.spec.ts @@ -5,59 +5,59 @@ import { ExecutionContext } from '@nestjs/common'; import { UserRole } from './users/user.schema'; describe('RolesGuard', () => { - let guard: RolesGuard; - let reflector: Reflector; - - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - RolesGuard, - { - provide: Reflector, - useValue: { - get: jest.fn(), - }, - }, - ], - }).compile(); - - guard = module.get(RolesGuard); - reflector = module.get(Reflector); + let guard: RolesGuard; + let reflector: Reflector; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + RolesGuard, + { + provide: Reflector, + useValue: { + get: jest.fn(), + }, + }, + ], + }).compile(); + + guard = module.get(RolesGuard); + reflector = module.get(Reflector); + }); + + it('should be defined', () => { + expect(guard).toBeDefined(); + }); + + describe('canActivate', () => { + let context: ExecutionContext; + + beforeEach(() => { + context = { + getHandler: jest.fn(), + switchToHttp: jest.fn().mockReturnValue({ + getRequest: jest.fn(), + }), + } as any; }); - it('should be defined', () => { - expect(guard).toBeDefined(); + it('should return true if no roles are required', () => { + (reflector.get as jest.Mock).mockReturnValue(null); + expect(guard.canActivate(context)).toBe(true); }); - describe('canActivate', () => { - let context: ExecutionContext; - - beforeEach(() => { - context = { - getHandler: jest.fn(), - switchToHttp: jest.fn().mockReturnValue({ - getRequest: jest.fn(), - }), - } as any; - }); - - it('should return true if no roles are required', () => { - (reflector.get as jest.Mock).mockReturnValue(null); - expect(guard.canActivate(context)).toBe(true); - }); - - it('should return true if user has required role', () => { - (reflector.get as jest.Mock).mockReturnValue([UserRole.Admin]); - const request = { user: { role: UserRole.Admin } }; - (context.switchToHttp().getRequest as jest.Mock).mockReturnValue(request); - expect(guard.canActivate(context)).toBe(true); - }); - - it('should return false if user does not have required role', () => { - (reflector.get as jest.Mock).mockReturnValue([UserRole.Admin]); - const request = { user: { role: UserRole.Volunteer } }; - (context.switchToHttp().getRequest as jest.Mock).mockReturnValue(request); - expect(guard.canActivate(context)).toBe(false); - }); + it('should return true if user has required role', () => { + (reflector.get as jest.Mock).mockReturnValue([UserRole.Admin]); + const request = { user: { role: UserRole.Admin } }; + (context.switchToHttp().getRequest as jest.Mock).mockReturnValue(request); + expect(guard.canActivate(context)).toBe(true); }); + + it('should return false if user does not have required role', () => { + (reflector.get as jest.Mock).mockReturnValue([UserRole.Admin]); + const request = { user: { role: UserRole.Volunteer } }; + (context.switchToHttp().getRequest as jest.Mock).mockReturnValue(request); + expect(guard.canActivate(context)).toBe(false); + }); + }); }); diff --git a/src/module/auth/users/UserMapper.spec.ts b/src/module/auth/users/UserMapper.spec.ts index 9c65ac3..ec02db6 100644 --- a/src/module/auth/users/UserMapper.spec.ts +++ b/src/module/auth/users/UserMapper.spec.ts @@ -3,39 +3,39 @@ import { User } from './user.entity'; import { UserRole } from './user.schema'; describe('UserMapper', () => { - it('should map document to entity', () => { - const doc = { - complete_name: 'Name', - username: 'user', - email: 'e@e.com', - password: 'p', - profile_image: 'img', - verified: true, - role: UserRole.Volunteer, - _id: '1', - gameProfiles: [], - contributions: [], - } as any; - const entity = UserMapper.toEntity(doc); - expect(entity.id).toBe('1'); - expect(entity.completeName).toBe('Name'); - }); + it('should map document to entity', () => { + const doc = { + complete_name: 'Name', + username: 'user', + email: 'e@e.com', + password: 'p', + profile_image: 'img', + verified: true, + role: UserRole.Volunteer, + _id: '1', + gameProfiles: [], + contributions: [], + } as any; + const entity = UserMapper.toEntity(doc); + expect(entity.id).toBe('1'); + expect(entity.completeName).toBe('Name'); + }); - it('should map entity to template', () => { - const entity = new User('Name', 'user', 'e@e.com', 'p'); - entity.id = '1'; - const template = UserMapper.toTemplate(entity); - expect(template.complete_name).toBe('Name'); - expect(template.username).toBe('user'); - }); + it('should map entity to template', () => { + const entity = new User('Name', 'user', 'e@e.com', 'p'); + entity.id = '1'; + const template = UserMapper.toTemplate(entity); + expect(template.complete_name).toBe('Name'); + expect(template.username).toBe('user'); + }); - it('should map entity to template with ratings', () => { - const entity = new User('Name', 'user', 'e@e.com', 'p'); - entity.id = '1'; - entity.addRating({ id: 'c1', contributesTo: 't1' } as any, 5); - const template = UserMapper.toTemplate(entity); - expect(template.complete_name).toBe('Name'); - expect(template.ratings).toHaveLength(1); - expect(template.ratings[0].score).toBe(5); - }); + it('should map entity to template with ratings', () => { + const entity = new User('Name', 'user', 'e@e.com', 'p'); + entity.id = '1'; + entity.addRating({ id: 'c1', contributesTo: 't1' } as any, 5); + const template = UserMapper.toTemplate(entity); + expect(template.complete_name).toBe('Name'); + expect(template.ratings).toHaveLength(1); + expect(template.ratings[0].score).toBe(5); + }); }); diff --git a/src/module/auth/users/user.dao.spec.ts b/src/module/auth/users/user.dao.spec.ts index a8cd700..070c112 100644 --- a/src/module/auth/users/user.dao.spec.ts +++ b/src/module/auth/users/user.dao.spec.ts @@ -5,105 +5,131 @@ import { UserTemplate } from './user.schema'; import { User } from './user.entity'; describe('UserDao', () => { - let dao: UserDao; - let model: any; + let dao: UserDao; + let model: any; - const mockModel = { - findOne: jest.fn().mockReturnThis(), - findById: jest.fn().mockReturnThis(), - findOneAndUpdate: jest.fn().mockReturnThis(), - find: jest.fn().mockReturnThis(), - exec: jest.fn(), - }; + const mockModel = { + findOne: jest.fn().mockReturnThis(), + findById: jest.fn().mockReturnThis(), + findOneAndUpdate: jest.fn().mockReturnThis(), + find: jest.fn().mockReturnThis(), + exec: jest.fn(), + }; - class MockModel { - constructor(data: any) { Object.assign(this, data); } - save = jest.fn().mockResolvedValue(this); - static findOne = mockModel.findOne; - static findById = mockModel.findById; - static findOneAndUpdate = mockModel.findOneAndUpdate; - static find = mockModel.find; - static exec = mockModel.exec; + class MockModel { + constructor(data: any) { + Object.assign(this, data); } + save = jest.fn().mockResolvedValue(this); + static findOne = mockModel.findOne; + static findById = mockModel.findById; + static findOneAndUpdate = mockModel.findOneAndUpdate; + static find = mockModel.find; + static exec = mockModel.exec; + } - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - UserDao, - { - provide: getModelToken(UserTemplate.collectionName()), - useValue: MockModel, - }, - ], - }).compile(); + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + UserDao, + { + provide: getModelToken(UserTemplate.collectionName()), + useValue: MockModel, + }, + ], + }).compile(); - dao = module.get(UserDao); - model = MockModel; - }); + dao = module.get(UserDao); + model = MockModel; + }); - it('should find by email or username', async () => { - model.findOne.mockReturnThis(); - model.exec.mockResolvedValue({ _id: '1', email: 'e', username: 'u', gameProfiles: [], contributions: [] }); - const res = await dao.findByEmailOrUsername('e', 'u'); - expect(res?.id).toBe('1'); + it('should find by email or username', async () => { + model.findOne.mockReturnThis(); + model.exec.mockResolvedValue({ + _id: '1', + email: 'e', + username: 'u', + gameProfiles: [], + contributions: [], }); + const res = await dao.findByEmailOrUsername('e', 'u'); + expect(res?.id).toBe('1'); + }); - it('should return null if user not found by email/username', async () => { - model.findOne.mockReturnThis(); - model.exec.mockResolvedValue(null); - const res = await dao.findByEmailOrUsername('e', 'u'); - expect(res).toBeNull(); - }); + it('should return null if user not found by email/username', async () => { + model.findOne.mockReturnThis(); + model.exec.mockResolvedValue(null); + const res = await dao.findByEmailOrUsername('e', 'u'); + expect(res).toBeNull(); + }); - it('should create user', async () => { - const user = new User('N', 'u', 'e', 'p'); - const res = await dao.create(user); - expect(res).toBeDefined(); - }); + it('should create user', async () => { + const user = new User('N', 'u', 'e', 'p'); + const res = await dao.create(user); + expect(res).toBeDefined(); + }); - it('should get user by id', async () => { - model.findById.mockReturnThis(); - model.exec.mockResolvedValue({ _id: '1', gameProfiles: [], contributions: [] }); - const res = await dao.getUserById('1'); - expect(res?.id).toBe('1'); + it('should get user by id', async () => { + model.findById.mockReturnThis(); + model.exec.mockResolvedValue({ + _id: '1', + gameProfiles: [], + contributions: [], }); + const res = await dao.getUserById('1'); + expect(res?.id).toBe('1'); + }); - it('should return null if user not found by id', async () => { - model.findById.mockReturnThis(); - model.exec.mockResolvedValue(null); - const res = await dao.getUserById('1'); - expect(res).toBeNull(); - }); + it('should return null if user not found by id', async () => { + model.findById.mockReturnThis(); + model.exec.mockResolvedValue(null); + const res = await dao.getUserById('1'); + expect(res).toBeNull(); + }); - it('should update user', async () => { - const user = new User('N', 'u', 'e', 'p'); - const userDoc = { _id: '1', complete_name: 'N', username: 'u', email: 'e', password: 'p', gameProfiles: [], contributions: [] }; - model.findOneAndUpdate.mockReturnThis(); - model.exec.mockResolvedValue({ _doc: userDoc }); - const res = await dao.update('1', user); - expect(res?.id).toBe('1'); - }); + it('should update user', async () => { + const user = new User('N', 'u', 'e', 'p'); + const userDoc = { + _id: '1', + complete_name: 'N', + username: 'u', + email: 'e', + password: 'p', + gameProfiles: [], + contributions: [], + }; + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({ _doc: userDoc }); + const res = await dao.update('1', user); + expect(res?.id).toBe('1'); + }); - it('should return null if update fails (user not found)', async () => { - const user = new User('N', 'u', 'e', 'p'); - model.findOneAndUpdate.mockReturnThis(); - model.exec.mockResolvedValue(null); - const res = await dao.update('1', user); - expect(res).toBeNull(); - }); + it('should return null if update fails (user not found)', async () => { + const user = new User('N', 'u', 'e', 'p'); + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue(null); + const res = await dao.update('1', user); + expect(res).toBeNull(); + }); - it('should get all by project id and map results', async () => { - model.find.mockReturnThis(); - model.exec.mockResolvedValue([{ _id: '1', gameProfiles: [], contributions: [] }]); - const res = await dao.getAllByProjectId('p1'); - expect(res).toHaveLength(1); - expect(res[0].id).toBe('1'); - }); + it('should get all by project id and map results', async () => { + model.find.mockReturnThis(); + model.exec.mockResolvedValue([ + { _id: '1', gameProfiles: [], contributions: [] }, + ]); + const res = await dao.getAllByProjectId('p1'); + expect(res).toHaveLength(1); + expect(res[0].id).toBe('1'); + }); - it('should get user by reset token', async () => { - model.findOne.mockReturnThis(); - model.exec.mockResolvedValue({ _id: '1', gameProfiles: [], contributions: [] }); - const res = await dao.getUserByResetToken('token'); - expect(res.id).toBe('1'); + it('should get user by reset token', async () => { + model.findOne.mockReturnThis(); + model.exec.mockResolvedValue({ + _id: '1', + gameProfiles: [], + contributions: [], }); + const res = await dao.getUserByResetToken('token'); + expect(res.id).toBe('1'); + }); }); diff --git a/src/module/auth/users/user.entity.spec.ts b/src/module/auth/users/user.entity.spec.ts index 3472784..229989e 100644 --- a/src/module/auth/users/user.entity.spec.ts +++ b/src/module/auth/users/user.entity.spec.ts @@ -2,132 +2,132 @@ import { User } from './user.entity'; import { UserRole } from './user.schema'; describe('User Entity', () => { - let user: User; - - beforeEach(() => { - user = new User('Name', 'user', 'e@e.com', 'pass'); - }); - - it('should manage account verification', () => { - expect(user.verified).toBe(false); - user.verifyAccount(); - expect(user.verified).toBe(true); - }); - - it('should manage projects', () => { - user.subscribeToProject('p1'); - expect(user.isSubscribedToProject('p1')).toBe(true); - user.unsubscribeFromProject('p1'); - expect(user.isSubscribedToProject('p1')).toBe(false); - user.subscribeToProject('p1'); - expect(user.isSubscribedToProject('p1')).toBe(true); - }); - - it('should manage points and badges', () => { - user.subscribeToProject('p1'); - user.addPointsFromProject(10, 'p1'); - expect(user.getGameProfileFromProject('p1').points).toBe(10); - user.addBadgeFromProject(['badge1'], 'p1'); - expect(user.hasBadgeWithName('badge1')).toBe(true); - }); - - it('should manage ratings', () => { - const checkin = { id: 'c1', contributesTo: 't1' } as any; - user.addRating(checkin, 5); - expect(user.getRatingForTaskId('t1')).toBe(5); - }); - - it('should manage contributions', () => { - user.addContribution('t1'); - expect(user.contributions).toContain('t1'); - }); - - it('should manage reset token', () => { - user.resetToken = 'token'; - expect(user.resetToken).toBe('token'); - }); - - it('should toggle project with addProject', () => { - user.addProject('p1'); - expect(user.isSubscribedToProject('p1')).toBe(true); - user.addProject('p1'); - expect(user.isSubscribedToProject('p1')).toBe(false); - }); - - it('should remove project', () => { - user.addProject('p1'); - user.removeProject('p1'); - expect(user.isSubscribedToProject('p1')).toBe(false); - }); - - it('should test setters', () => { - user.completeName = 'New'; - user.username = 'new'; - user.email = 'new@e.com'; - user.profileImage = 'new.png'; - user.verified = true; - user.role = UserRole.Admin; - user.checkins = []; - user.contributions = ['t1']; - - expect(user.completeName).toBe('New'); - expect(user.username).toBe('new'); - expect(user.email).toBe('new@e.com'); - expect(user.profileImage).toBe('new.png'); - expect(user.verified).toBe(true); - expect(user.role).toBe(UserRole.Admin); - expect(user.checkins).toEqual([]); - expect(user.contributions).toEqual(['t1']); - }); - - it('should unsubscribe from project', () => { - const user = new User('N', 'u', 'e', 'p'); - user.subscribeToProject('p1'); - user.unsubscribeFromProject('p1'); - expect(user.isSubscribedToProject('p1')).toBe(false); - }); - - it('should resubscribe to project', () => { - const user = new User('N', 'u', 'e', 'p'); - user.subscribeToProject('p1'); - user.unsubscribeFromProject('p1'); - user.subscribeToProject('p1'); - expect(user.isSubscribedToProject('p1')).toBe(true); - }); - - it('should remove project', () => { - const user = new User('N', 'u', 'e', 'p'); - user.subscribeToProject('p1'); - user.removeProject('p1'); - expect(user.isSubscribedToProject('p1')).toBe(false); - }); - - it('should add and get ratings', () => { - const user = new User('N', 'u', 'e', 'p'); - const checkin = { id: 'c1', contributesTo: 't1' } as any; - user.addRating(checkin, 5); - expect(user.getRatingForTaskId('t1')).toBe(5); - }); - - it('should handle duplicate subscription to already active project', () => { - user.subscribeToProject('p1'); - user.subscribeToProject('p1'); - expect(user.isSubscribedToProject('p1')).toBe(true); - }); - - it('should maintain other project active state when unsubscribing', () => { - user.subscribeToProject('p1'); - user.subscribeToProject('p2'); - user.unsubscribeFromProject('p1'); - expect(user.isSubscribedToProject('p1')).toBe(false); - expect(user.isSubscribedToProject('p2')).toBe(true); - }); - - it('should cover branch in subscribeToProject else', () => { - user.subscribeToProject('p1'); - user.subscribeToProject('p2'); - user.subscribeToProject('p1'); - expect(user.isSubscribedToProject('p1')).toBe(true); - expect(user.isSubscribedToProject('p2')).toBe(true); - }); + let user: User; + + beforeEach(() => { + user = new User('Name', 'user', 'e@e.com', 'pass'); + }); + + it('should manage account verification', () => { + expect(user.verified).toBe(false); + user.verifyAccount(); + expect(user.verified).toBe(true); + }); + + it('should manage projects', () => { + user.subscribeToProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(true); + user.unsubscribeFromProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(false); + user.subscribeToProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(true); + }); + + it('should manage points and badges', () => { + user.subscribeToProject('p1'); + user.addPointsFromProject(10, 'p1'); + expect(user.getGameProfileFromProject('p1').points).toBe(10); + user.addBadgeFromProject(['badge1'], 'p1'); + expect(user.hasBadgeWithName('badge1')).toBe(true); + }); + + it('should manage ratings', () => { + const checkin = { id: 'c1', contributesTo: 't1' } as any; + user.addRating(checkin, 5); + expect(user.getRatingForTaskId('t1')).toBe(5); + }); + + it('should manage contributions', () => { + user.addContribution('t1'); + expect(user.contributions).toContain('t1'); + }); + + it('should manage reset token', () => { + user.resetToken = 'token'; + expect(user.resetToken).toBe('token'); + }); + + it('should toggle project with addProject', () => { + user.addProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(true); + user.addProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(false); + }); + + it('should remove project', () => { + user.addProject('p1'); + user.removeProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(false); + }); + + it('should test setters', () => { + user.completeName = 'New'; + user.username = 'new'; + user.email = 'new@e.com'; + user.profileImage = 'new.png'; + user.verified = true; + user.role = UserRole.Admin; + user.checkins = []; + user.contributions = ['t1']; + + expect(user.completeName).toBe('New'); + expect(user.username).toBe('new'); + expect(user.email).toBe('new@e.com'); + expect(user.profileImage).toBe('new.png'); + expect(user.verified).toBe(true); + expect(user.role).toBe(UserRole.Admin); + expect(user.checkins).toEqual([]); + expect(user.contributions).toEqual(['t1']); + }); + + it('should unsubscribe from project', () => { + const user = new User('N', 'u', 'e', 'p'); + user.subscribeToProject('p1'); + user.unsubscribeFromProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(false); + }); + + it('should resubscribe to project', () => { + const user = new User('N', 'u', 'e', 'p'); + user.subscribeToProject('p1'); + user.unsubscribeFromProject('p1'); + user.subscribeToProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(true); + }); + + it('should remove project', () => { + const user = new User('N', 'u', 'e', 'p'); + user.subscribeToProject('p1'); + user.removeProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(false); + }); + + it('should add and get ratings', () => { + const user = new User('N', 'u', 'e', 'p'); + const checkin = { id: 'c1', contributesTo: 't1' } as any; + user.addRating(checkin, 5); + expect(user.getRatingForTaskId('t1')).toBe(5); + }); + + it('should handle duplicate subscription to already active project', () => { + user.subscribeToProject('p1'); + user.subscribeToProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(true); + }); + + it('should maintain other project active state when unsubscribing', () => { + user.subscribeToProject('p1'); + user.subscribeToProject('p2'); + user.unsubscribeFromProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(false); + expect(user.isSubscribedToProject('p2')).toBe(true); + }); + + it('should cover branch in subscribeToProject else', () => { + user.subscribeToProject('p1'); + user.subscribeToProject('p2'); + user.subscribeToProject('p1'); + expect(user.isSubscribedToProject('p1')).toBe(true); + expect(user.isSubscribedToProject('p2')).toBe(true); + }); }); diff --git a/src/module/checkin/checkin.builder.spec.ts b/src/module/checkin/checkin.builder.spec.ts index e527e0f..e0976ed 100644 --- a/src/module/checkin/checkin.builder.spec.ts +++ b/src/module/checkin/checkin.builder.spec.ts @@ -2,36 +2,36 @@ import checkinBuilder from './checkin.builder'; import { User } from '../auth/users/user.entity'; describe('CheckinBuilder', () => { - it('should build a checkin with default values', () => { - const checkin = checkinBuilder.build(); - expect(checkin.id).toBe('default-checkin-id'); - }); + it('should build a checkin with default values', () => { + const checkin = checkinBuilder.build(); + expect(checkin.id).toBe('default-checkin-id'); + }); - it('should build a checkin with custom values', () => { - const user = new User('t@t.com', 'u', 'p', 'T'); - const date = new Date(); - const checkin = checkinBuilder - .withId('c1') - .withLatitude('10') - .withLongitude('20') - .withDatetime(date) - .withProjectId('p1') - .withUser(user) - .withTaskType('type1') - .build(); + it('should build a checkin with custom values', () => { + const user = new User('t@t.com', 'u', 'p', 'T'); + const date = new Date(); + const checkin = checkinBuilder + .withId('c1') + .withLatitude('10') + .withLongitude('20') + .withDatetime(date) + .withProjectId('p1') + .withUser(user) + .withTaskType('type1') + .build(); - expect(checkin.id).toBe('c1'); - expect(checkin.latitude).toBe('10'); - expect(checkin.longitude).toBe('20'); - expect(checkin.date).toBe(date); - expect(checkin.projectId).toBe('p1'); - expect(checkin.user).toBe(user); - expect(checkin.taskType).toBe('type1'); - }); + expect(checkin.id).toBe('c1'); + expect(checkin.latitude).toBe('10'); + expect(checkin.longitude).toBe('20'); + expect(checkin.date).toBe(date); + expect(checkin.projectId).toBe('p1'); + expect(checkin.user).toBe(user); + expect(checkin.taskType).toBe('type1'); + }); - it('should set related task', () => { - const task = { getId: () => 't1' } as any; - const checkin = checkinBuilder.withRelatedTask(task).build(); - expect(checkin.contributesTo).toBe(''); - }); + it('should set related task', () => { + const task = { getId: () => 't1' } as any; + const checkin = checkinBuilder.withRelatedTask(task).build(); + expect(checkin.contributesTo).toBe(''); + }); }); diff --git a/src/module/checkin/checkin.controller.spec.ts b/src/module/checkin/checkin.controller.spec.ts index ab8a3fa..65b37d7 100644 --- a/src/module/checkin/checkin.controller.spec.ts +++ b/src/module/checkin/checkin.controller.spec.ts @@ -5,87 +5,85 @@ import { CreateCheckinDto } from './dto/create-checkin.dto'; import { UpdateCheckinDto } from './dto/update-checkin.dto'; describe('CheckinController', () => { - let controller: CheckinController; - let service: CheckinService; + let controller: CheckinController; + let service: CheckinService; - const mockCheckinService = { - create: jest.fn(), - findAll: jest.fn(), - findOne: jest.fn(), - update: jest.fn(), - remove: jest.fn(), - findByProjectId: jest.fn(), - rate: jest.fn(), - }; + const mockCheckinService = { + create: jest.fn(), + findAll: jest.fn(), + findOne: jest.fn(), + update: jest.fn(), + remove: jest.fn(), + findByProjectId: jest.fn(), + rate: jest.fn(), + }; - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - controllers: [CheckinController], - providers: [ - { provide: CheckinService, useValue: mockCheckinService }, - ], - }).compile(); + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [CheckinController], + providers: [{ provide: CheckinService, useValue: mockCheckinService }], + }).compile(); - controller = module.get(CheckinController); - service = module.get(CheckinService); - }); + controller = module.get(CheckinController); + service = module.get(CheckinService); + }); - it('should be defined', () => { - expect(controller).toBeDefined(); - }); + it('should be defined', () => { + expect(controller).toBeDefined(); + }); - describe('create', () => { - it('should call service.create', async () => { - const dto: CreateCheckinDto = { userId: '1', projectId: '1' } as any; - const req = { user: { userId: '1' } }; - await controller.create(dto, req); - expect(service.create).toHaveBeenCalled(); - }); + describe('create', () => { + it('should call service.create', async () => { + const dto: CreateCheckinDto = { userId: '1', projectId: '1' } as any; + const req = { user: { userId: '1' } }; + await controller.create(dto, req); + expect(service.create).toHaveBeenCalled(); }); + }); - describe('findAll', () => { - it('should call service.findAll', async () => { - await controller.findAll(); - expect(service.findAll).toHaveBeenCalled(); - }); + describe('findAll', () => { + it('should call service.findAll', async () => { + await controller.findAll(); + expect(service.findAll).toHaveBeenCalled(); }); + }); - describe('findOne', () => { - it('should call service.findOne', async () => { - await controller.findOne('1'); - expect(service.findOne).toHaveBeenCalledWith('1'); - }); + describe('findOne', () => { + it('should call service.findOne', async () => { + await controller.findOne('1'); + expect(service.findOne).toHaveBeenCalledWith('1'); }); + }); - describe('update', () => { - it('should call service.update', async () => { - const dto: UpdateCheckinDto = {}; - await controller.update('1', dto); - expect(service.update).toHaveBeenCalledWith('1', dto); - }); + describe('update', () => { + it('should call service.update', async () => { + const dto: UpdateCheckinDto = {}; + await controller.update('1', dto); + expect(service.update).toHaveBeenCalledWith('1', dto); }); + }); - describe('remove', () => { - it('should call service.remove', async () => { - await controller.remove('1'); - expect(service.remove).toHaveBeenCalledWith('1'); - }); + describe('remove', () => { + it('should call service.remove', async () => { + await controller.remove('1'); + expect(service.remove).toHaveBeenCalledWith('1'); }); + }); - describe('findByProjectId', () => { - it('should call service.findByProjectId', async () => { - const req = { user: { userId: '1' } }; - await controller.findUserCheckins(req, 'proj1'); - expect(service.findByProjectId).toHaveBeenCalledWith('1', 'proj1'); - }); + describe('findByProjectId', () => { + it('should call service.findByProjectId', async () => { + const req = { user: { userId: '1' } }; + await controller.findUserCheckins(req, 'proj1'); + expect(service.findByProjectId).toHaveBeenCalledWith('1', 'proj1'); }); + }); - describe('rate', () => { - it('should call service.rate', async () => { - const req = { user: { userId: '1' } }; - const body = { checkinId: 'c1', rate: 5 }; - await controller.rate(body, req); - expect(service.rate).toHaveBeenCalledWith({ ...body, userId: '1' }); - }); + describe('rate', () => { + it('should call service.rate', async () => { + const req = { user: { userId: '1' } }; + const body = { checkinId: 'c1', rate: 5 }; + await controller.rate(body, req); + expect(service.rate).toHaveBeenCalledWith({ ...body, userId: '1' }); }); + }); }); diff --git a/src/module/checkin/checkin.service.spec.ts b/src/module/checkin/checkin.service.spec.ts index 4268d12..8efe011 100644 --- a/src/module/checkin/checkin.service.spec.ts +++ b/src/module/checkin/checkin.service.spec.ts @@ -216,7 +216,10 @@ describe('CheckinService', () => { await service.create(createCheckinDto); - expect(user.addBadgeFromProject).toHaveBeenCalledWith(['New Badge'], 'project1'); + expect(user.addBadgeFromProject).toHaveBeenCalledWith( + ['New Badge'], + 'project1', + ); // Reset mock for other tests mockGamificationFactory.getBadgeEngine.mockReturnValue({ diff --git a/src/module/checkin/entities/checkin.entity.spec.ts b/src/module/checkin/entities/checkin.entity.spec.ts index 50a247c..6fca3ed 100644 --- a/src/module/checkin/entities/checkin.entity.spec.ts +++ b/src/module/checkin/entities/checkin.entity.spec.ts @@ -3,49 +3,55 @@ import { User } from '../../auth/users/user.entity'; import { Task } from '../../task/entities/task.entity'; describe('Checkin Entity', () => { - it('should test getters and setters', () => { - const user = new User('N', 'u', 'e', 'p'); - const date = new Date(); - const checkin = new Checkin('lat', 'long', date, 'p1', user, 'T', 'id1'); - - expect(checkin.latitude).toBe('lat'); - expect(checkin.longitude).toBe('long'); - expect(checkin.date).toBe(date); - expect(checkin.projectId).toBe('p1'); - expect(checkin.user).toBe(user); - expect(checkin.taskType).toBe('T'); - expect(checkin.id).toBe('id1'); - expect(checkin.contributesTo).toBe(''); - - const newTask = {} as Task; - checkin.relatedTask = newTask; - expect(checkin.relatedTask).toBe(newTask); - - const newUser = {} as User; - checkin.user = newUser; - expect(checkin.user).toBe(newUser); - - checkin.contributesTo = 't1'; - expect(checkin.contributesTo).toBe('t1'); - - checkin.id = 'id2'; - expect(checkin.id).toBe('id2'); - - const newDate = new Date(); - checkin.date = newDate; - expect(checkin.date).toBe(newDate); - - checkin.projectId = 'p2'; - expect(checkin.projectId).toBe('p2'); - - checkin.validateContribution('t2'); - expect(checkin.contributesTo).toBe('t2'); - }); - - it('should create from DTO', () => { - const dto = { latitude: 'lat', longitude: 'long', datetime: new Date(), projectId: 'p1', taskType: 'T' }; - const user = {} as User; - const checkin = Checkin.fromDTO(dto as any, user); - expect(checkin.latitude).toBe('lat'); - }); + it('should test getters and setters', () => { + const user = new User('N', 'u', 'e', 'p'); + const date = new Date(); + const checkin = new Checkin('lat', 'long', date, 'p1', user, 'T', 'id1'); + + expect(checkin.latitude).toBe('lat'); + expect(checkin.longitude).toBe('long'); + expect(checkin.date).toBe(date); + expect(checkin.projectId).toBe('p1'); + expect(checkin.user).toBe(user); + expect(checkin.taskType).toBe('T'); + expect(checkin.id).toBe('id1'); + expect(checkin.contributesTo).toBe(''); + + const newTask = {} as Task; + checkin.relatedTask = newTask; + expect(checkin.relatedTask).toBe(newTask); + + const newUser = {} as User; + checkin.user = newUser; + expect(checkin.user).toBe(newUser); + + checkin.contributesTo = 't1'; + expect(checkin.contributesTo).toBe('t1'); + + checkin.id = 'id2'; + expect(checkin.id).toBe('id2'); + + const newDate = new Date(); + checkin.date = newDate; + expect(checkin.date).toBe(newDate); + + checkin.projectId = 'p2'; + expect(checkin.projectId).toBe('p2'); + + checkin.validateContribution('t2'); + expect(checkin.contributesTo).toBe('t2'); + }); + + it('should create from DTO', () => { + const dto = { + latitude: 'lat', + longitude: 'long', + datetime: new Date(), + projectId: 'p1', + taskType: 'T', + }; + const user = {} as User; + const checkin = Checkin.fromDTO(dto as any, user); + expect(checkin.latitude).toBe('lat'); + }); }); diff --git a/src/module/checkin/entities/game.entity.spec.ts b/src/module/checkin/entities/game.entity.spec.ts index b2f0051..1a53868 100644 --- a/src/module/checkin/entities/game.entity.spec.ts +++ b/src/module/checkin/entities/game.entity.spec.ts @@ -1,28 +1,30 @@ -import { Game, GameBuilder } from './game.entity'; +import { GameBuilder } from './game.entity'; import { Project } from '../../project/entities/project'; describe('Game Entity', () => { - it('should throw error if build is missing dependencies', () => { - const builder = new GameBuilder(); - expect(() => builder.build()).toThrow('All dependencies must be provided before building the Game instance'); - }); + it('should throw error if build is missing dependencies', () => { + const builder = new GameBuilder(); + expect(() => builder.build()).toThrow( + 'All dependencies must be provided before building the Game instance', + ); + }); - it('should build game successfully', () => { - const project = { id: 'p1' } as Project; - const builder = new GameBuilder() - .withProject(project) - .withPointsEngine({} as any) - .withBadgeEngine({} as any) - .withLeaderboardEngine({} as any) - .withTasks([]) - .withUsers([]); + it('should build game successfully', () => { + const project = { id: 'p1' } as Project; + const builder = new GameBuilder() + .withProject(project) + .withPointsEngine({} as any) + .withBadgeEngine({} as any) + .withLeaderboardEngine({} as any) + .withTasks([]) + .withUsers([]); - const game = builder.build(); - expect(game).toBeDefined(); - expect(game.project).toBe(project); + const game = builder.build(); + expect(game).toBeDefined(); + expect(game.project).toBe(project); - const newUsers = []; - game.users = newUsers; - expect(game.users).toBe(newUsers); - }); + const newUsers = []; + game.users = newUsers; + expect(game.users).toBe(newUsers); + }); }); diff --git a/src/module/checkin/entities/move.entity.spec.ts b/src/module/checkin/entities/move.entity.spec.ts index 6c5f44f..742cea7 100644 --- a/src/module/checkin/entities/move.entity.spec.ts +++ b/src/module/checkin/entities/move.entity.spec.ts @@ -1,14 +1,14 @@ import { Move, ScoreRate } from './move.entity'; describe('Move Entity', () => { - it('should test getters', () => { - const checkin = { id: 'c1' } as any; - const gameStatus = { newPoints: 10 } as any; - const move = new Move(checkin, gameStatus); + it('should test getters', () => { + const checkin = { id: 'c1' } as any; + const gameStatus = { newPoints: 10 } as any; + const move = new Move(checkin, gameStatus); - expect(move.checkin).toBe(checkin); - expect(move.gameStatus).toBe(gameStatus); - expect(move.score).toBe(ScoreRate.NO_RATE); - expect(move.timestamp).toBeDefined(); - }); + expect(move.checkin).toBe(checkin); + expect(move.gameStatus).toBe(gameStatus); + expect(move.score).toBe(ScoreRate.NO_RATE); + expect(move.timestamp).toBeDefined(); + }); }); diff --git a/src/module/checkin/persistence/CheckinMapper.spec.ts b/src/module/checkin/persistence/CheckinMapper.spec.ts index 0197a36..7f7aeae 100644 --- a/src/module/checkin/persistence/CheckinMapper.spec.ts +++ b/src/module/checkin/persistence/CheckinMapper.spec.ts @@ -3,52 +3,60 @@ import { Checkin } from '../entities/checkin.entity'; import { User } from '../../auth/users/user.entity'; describe('CheckinMapper', () => { - const user = new User('t@t.com', 'u', 'p', 'T'); - user.id = 'user1'; + const user = new User('t@t.com', 'u', 'p', 'T'); + user.id = 'user1'; - describe('toTemplate', () => { - it('should map checkin entity to template', () => { - const checkin = new Checkin('1', '2', new Date(), 'p1', user, 'type', 'id1'); - checkin.contributesTo = 'task1'; - const template = CheckinMapper.toTemplate(checkin); - expect(template.latitude).toBe('1'); - expect(template.longitude).toBe('2'); - expect(template.userId).toBe('user1'); - expect(template.contributesTo).toBe('task1'); - }); + describe('toTemplate', () => { + it('should map checkin entity to template', () => { + const checkin = new Checkin( + '1', + '2', + new Date(), + 'p1', + user, + 'type', + 'id1', + ); + checkin.contributesTo = 'task1'; + const template = CheckinMapper.toTemplate(checkin); + expect(template.latitude).toBe('1'); + expect(template.longitude).toBe('2'); + expect(template.userId).toBe('user1'); + expect(template.contributesTo).toBe('task1'); }); + }); - describe('toEntity', () => { - it('should map template to checkin entity', () => { - const template = { - latitude: '1', - longitude: '2', - datetime: new Date(), - projectId: 'p1', - userId: 'user1', - taskType: 'type', - _id: 'id1', - contributesTo: 'task1', - } as any; - const entity = CheckinMapper.toEntity(template, user); - expect(entity.latitude).toBe('1'); - expect(entity.longitude).toBe('2'); - expect(entity.id).toBe('id1'); - expect(entity.contributesTo).toBe('task1'); - }); + describe('toEntity', () => { + it('should map template to checkin entity', () => { + const template = { + latitude: '1', + longitude: '2', + datetime: new Date(), + projectId: 'p1', + userId: 'user1', + taskType: 'type', + _id: 'id1', + contributesTo: 'task1', + } as any; + const entity = CheckinMapper.toEntity(template, user); + expect(entity.latitude).toBe('1'); + expect(entity.longitude).toBe('2'); + expect(entity.id).toBe('id1'); + expect(entity.contributesTo).toBe('task1'); + }); - it('should map template to checkin entity without contribution', () => { - const template = { - latitude: '1', - longitude: '2', - datetime: new Date(), - projectId: 'p1', - userId: 'user1', - taskType: 'type', - _id: 'id1', - } as any; - const entity = CheckinMapper.toEntity(template, user); - expect(entity.contributesTo).toBe(''); - }); + it('should map template to checkin entity without contribution', () => { + const template = { + latitude: '1', + longitude: '2', + datetime: new Date(), + projectId: 'p1', + userId: 'user1', + taskType: 'type', + _id: 'id1', + } as any; + const entity = CheckinMapper.toEntity(template, user); + expect(entity.contributesTo).toBe(''); }); + }); }); diff --git a/src/module/checkin/persistence/checkin.dao.spec.ts b/src/module/checkin/persistence/checkin.dao.spec.ts index 670dffc..3186f2e 100644 --- a/src/module/checkin/persistence/checkin.dao.spec.ts +++ b/src/module/checkin/persistence/checkin.dao.spec.ts @@ -5,110 +5,125 @@ import { CheckInTemplate } from './checkin.schema'; import { NotFoundException } from '@nestjs/common'; describe('CheckInDao', () => { - let dao: CheckInDao; - let model: any; + let dao: CheckInDao; + let model: any; - const mockModel = { - find: jest.fn().mockReturnThis(), - findById: jest.fn().mockReturnThis(), - findByIdAndUpdate: jest.fn().mockReturnThis(), - findByIdAndDelete: jest.fn().mockReturnThis(), - exec: jest.fn(), - sort: jest.fn().mockReturnThis(), - limit: jest.fn().mockReturnThis(), - save: jest.fn(), - }; + const mockModel = { + find: jest.fn().mockReturnThis(), + findById: jest.fn().mockReturnThis(), + findByIdAndUpdate: jest.fn().mockReturnThis(), + findByIdAndDelete: jest.fn().mockReturnThis(), + exec: jest.fn(), + sort: jest.fn().mockReturnThis(), + limit: jest.fn().mockReturnThis(), + save: jest.fn(), + }; - class MockModel { - constructor(private data: any) { - Object.assign(this, data); - } - save = jest.fn().mockResolvedValue(this); - static find = mockModel.find; - static findById = mockModel.findById; - static findByIdAndUpdate = mockModel.findByIdAndUpdate; - static findByIdAndDelete = mockModel.findByIdAndDelete; - static sort = mockModel.sort; - static limit = mockModel.limit; - static exec = mockModel.exec; + class MockModel { + constructor(private data: any) { + Object.assign(this, data); } + save = jest.fn().mockResolvedValue(this); + static find = mockModel.find; + static findById = mockModel.findById; + static findByIdAndUpdate = mockModel.findByIdAndUpdate; + static findByIdAndDelete = mockModel.findByIdAndDelete; + static sort = mockModel.sort; + static limit = mockModel.limit; + static exec = mockModel.exec; + } - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - CheckInDao, - { - provide: getModelToken(CheckInTemplate.collectionName()), - useValue: MockModel, - }, - ], - }).compile(); + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + CheckInDao, + { + provide: getModelToken(CheckInTemplate.collectionName()), + useValue: MockModel, + }, + ], + }).compile(); - dao = module.get(CheckInDao); - model = MockModel; - }); + dao = module.get(CheckInDao); + model = MockModel; + }); - it('should find all', async () => { - model.find.mockReturnThis(); - model.exec.mockResolvedValue([]); - const res = await dao.findAll(); - expect(res).toEqual([]); - }); + it('should find all', async () => { + model.find.mockReturnThis(); + model.exec.mockResolvedValue([]); + const res = await dao.findAll(); + expect(res).toEqual([]); + }); - it('should find one', async () => { - const doc = { _id: '1', latitude: '0', longitude: '0', datetime: new Date(), projectId: 'p1', userId: 'u1', contributesTo: '', taskType: 'T' }; - model.findById.mockReturnThis(); - model.exec.mockResolvedValue(doc); - const res = await dao.findOne('1'); - expect(res.projectId).toBe('p1'); - }); + it('should find one', async () => { + const doc = { + _id: '1', + latitude: '0', + longitude: '0', + datetime: new Date(), + projectId: 'p1', + userId: 'u1', + contributesTo: '', + taskType: 'T', + }; + model.findById.mockReturnThis(); + model.exec.mockResolvedValue(doc); + const res = await dao.findOne('1'); + expect(res.projectId).toBe('p1'); + }); - it('should throw NotFound if one not found', async () => { - model.findById.mockReturnThis(); - model.exec.mockResolvedValue(null); - await expect(dao.findOne('1')).rejects.toThrow(NotFoundException); - }); + it('should throw NotFound if one not found', async () => { + model.findById.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.findOne('1')).rejects.toThrow(NotFoundException); + }); - it('should create', async () => { - const checkin = { - latitude: '0', longitude: '0', date: new Date(), projectId: 'p1', user: { id: 'u1' }, contributesTo: '', taskType: 'T' - } as any; - const res = await dao.create(checkin); - expect(res).toBeDefined(); - }); + it('should create', async () => { + const checkin = { + latitude: '0', + longitude: '0', + date: new Date(), + projectId: 'p1', + user: { id: 'u1' }, + contributesTo: '', + taskType: 'T', + } as any; + const res = await dao.create(checkin); + expect(res).toBeDefined(); + }); - it('should update', async () => { - model.findByIdAndUpdate.mockReturnThis(); - model.exec.mockResolvedValue({}); - const res = await dao.update('1', {} as any); - expect(res).toBeDefined(); - }); + it('should update', async () => { + model.findByIdAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({}); + const res = await dao.update('1', {} as any); + expect(res).toBeDefined(); + }); - it('should throw NotFound on update if not found', async () => { - model.findByIdAndUpdate.mockReturnThis(); - model.exec.mockResolvedValue(null); - await expect(dao.update('1', {} as any)).rejects.toThrow(NotFoundException); - }); + it('should throw NotFound on update if not found', async () => { + model.findByIdAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.update('1', {} as any)).rejects.toThrow(NotFoundException); + }); - it('should remove', async () => { - model.findByIdAndDelete.mockReturnThis(); - model.exec.mockResolvedValue({}); - await dao.remove('1'); - expect(model.findByIdAndDelete).toHaveBeenCalledWith('1'); - }); + it('should remove', async () => { + model.findByIdAndDelete.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.remove('1'); + expect(model.findByIdAndDelete).toHaveBeenCalledWith('1'); + }); - it('should throw NotFound on remove if not found', async () => { - model.findByIdAndDelete.mockReturnThis(); - model.exec.mockResolvedValue(null); - await expect(dao.remove('1')).rejects.toThrow(NotFoundException); - }); + it('should throw NotFound on remove if not found', async () => { + model.findByIdAndDelete.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.remove('1')).rejects.toThrow(NotFoundException); + }); - it('should find by project id', async () => { - model.find.mockReturnThis(); - model.sort.mockReturnThis(); - model.limit.mockReturnThis(); - model.exec.mockResolvedValue([]); - await dao.findByProjectId('u1', 'p1'); - expect(model.find).toHaveBeenCalledWith({ projectId: 'p1', userId: 'u1' }); - }); + it('should find by project id', async () => { + model.find.mockReturnThis(); + model.sort.mockReturnThis(); + model.limit.mockReturnThis(); + model.exec.mockResolvedValue([]); + await dao.findByProjectId('u1', 'p1'); + expect(model.find).toHaveBeenCalledWith({ projectId: 'p1', userId: 'u1' }); + }); }); diff --git a/src/module/checkin/persistence/move.dao.spec.ts b/src/module/checkin/persistence/move.dao.spec.ts index 43e0737..b69f974 100644 --- a/src/module/checkin/persistence/move.dao.spec.ts +++ b/src/module/checkin/persistence/move.dao.spec.ts @@ -5,74 +5,82 @@ import { MoveTemplate } from './move.schema'; import { NotFoundException } from '@nestjs/common'; describe('MoveDao', () => { - let dao: MoveDao; - let model: any; + let dao: MoveDao; + let model: any; - const mockModel = { - findByIdAndUpdate: jest.fn().mockReturnThis(), - findByIdAndDelete: jest.fn().mockReturnThis(), - exec: jest.fn(), - }; + const mockModel = { + findByIdAndUpdate: jest.fn().mockReturnThis(), + findByIdAndDelete: jest.fn().mockReturnThis(), + exec: jest.fn(), + }; - class MockModel { - constructor(data: any) { Object.assign(this, data); } - save = jest.fn().mockResolvedValue(this); - static findByIdAndUpdate = mockModel.findByIdAndUpdate; - static findByIdAndDelete = mockModel.findByIdAndDelete; - static exec = mockModel.exec; + class MockModel { + constructor(data: any) { + Object.assign(this, data); } + save = jest.fn().mockResolvedValue(this); + static findByIdAndUpdate = mockModel.findByIdAndUpdate; + static findByIdAndDelete = mockModel.findByIdAndDelete; + static exec = mockModel.exec; + } - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - MoveDao, - { - provide: getModelToken(MoveTemplate.collectionName()), - useValue: MockModel, - }, - ], - }).compile(); + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + MoveDao, + { + provide: getModelToken(MoveTemplate.collectionName()), + useValue: MockModel, + }, + ], + }).compile(); - dao = module.get(MoveDao); - model = MockModel; - }); + dao = module.get(MoveDao); + model = MockModel; + }); - it('should create move', async () => { - const move = { - checkin: { id: 'c1', user: { id: 'u1' } }, - gameStatus: { newBadges: [{ name: 'B1' }] }, - score: 10, - timestamp: new Date() - } as any; - const res = await dao.create(move); - expect(res).toBe(move); - }); + it('should create move', async () => { + const move = { + checkin: { id: 'c1', user: { id: 'u1' } }, + gameStatus: { newBadges: [{ name: 'B1' }] }, + score: 10, + timestamp: new Date(), + } as any; + const res = await dao.create(move); + expect(res).toBe(move); + }); - it('should update move', async () => { - const move = { checkin: { id: 'c1', user: { id: 'u1' } }, gameStatus: { newBadges: [] } } as any; - model.findByIdAndUpdate.mockReturnThis(); - model.exec.mockResolvedValue({}); - await dao.update('1', move); - expect(model.findByIdAndUpdate).toHaveBeenCalled(); - }); + it('should update move', async () => { + const move = { + checkin: { id: 'c1', user: { id: 'u1' } }, + gameStatus: { newBadges: [] }, + } as any; + model.findByIdAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.update('1', move); + expect(model.findByIdAndUpdate).toHaveBeenCalled(); + }); - it('should throw if update not found', async () => { - const move = { checkin: { id: 'c1', user: { id: 'u1' } }, gameStatus: { newBadges: [] } } as any; - model.findByIdAndUpdate.mockReturnThis(); - model.exec.mockResolvedValue(null); - await expect(dao.update('1', move)).rejects.toThrow(NotFoundException); - }); + it('should throw if update not found', async () => { + const move = { + checkin: { id: 'c1', user: { id: 'u1' } }, + gameStatus: { newBadges: [] }, + } as any; + model.findByIdAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.update('1', move)).rejects.toThrow(NotFoundException); + }); - it('should remove move', async () => { - model.findByIdAndDelete.mockReturnThis(); - model.exec.mockResolvedValue({}); - await dao.remove('1'); - expect(model.findByIdAndDelete).toHaveBeenCalledWith('1'); - }); + it('should remove move', async () => { + model.findByIdAndDelete.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.remove('1'); + expect(model.findByIdAndDelete).toHaveBeenCalledWith('1'); + }); - it('should throw if remove not found', async () => { - model.findByIdAndDelete.mockReturnThis(); - model.exec.mockResolvedValue(null); - await expect(dao.remove('1')).rejects.toThrow(NotFoundException); - }); + it('should throw if remove not found', async () => { + model.findByIdAndDelete.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.remove('1')).rejects.toThrow(NotFoundException); + }); }); diff --git a/src/module/gamification/entities/engine/gamification/badge-first-leaderboard-engine.spec.ts b/src/module/gamification/entities/engine/gamification/badge-first-leaderboard-engine.spec.ts index 02312c0..10d3d39 100644 --- a/src/module/gamification/entities/engine/gamification/badge-first-leaderboard-engine.spec.ts +++ b/src/module/gamification/entities/engine/gamification/badge-first-leaderboard-engine.spec.ts @@ -2,42 +2,48 @@ import { BadgesFirstLBEngine } from './badge-first-leaderboard-engine'; import { GamificationStrategy } from '../../../../project/dto/create-project.dto'; describe('BadgesFirstLBEngine', () => { - let engine: BadgesFirstLBEngine; + let engine: BadgesFirstLBEngine; - beforeEach(() => { - engine = new BadgesFirstLBEngine(); - }); + beforeEach(() => { + engine = new BadgesFirstLBEngine(); + }); - it('should be assignable to BASIC strategy', () => { - const project = { gamificationStrategy: GamificationStrategy.BASIC } as any; - expect(engine.assignableTo(project)).toBe(true); - }); + it('should be assignable to BASIC strategy', () => { + const project = { gamificationStrategy: GamificationStrategy.BASIC } as any; + expect(engine.assignableTo(project)).toBe(true); + }); - it('should sort users by badges then points', () => { - const project = { id: 'p1' } as any; - const user1 = { - id: 'u1', - username: 'user1', - getGameProfileFromProject: jest.fn().mockReturnValue({ points: 10, badges: ['b1'] }), - } as any; - const user2 = { - id: 'u2', - username: 'user2', - getGameProfileFromProject: jest.fn().mockReturnValue({ points: 20, badges: ['b1', 'b2'] }), - } as any; - const user3 = { - id: 'u3', - username: 'user3', - getGameProfileFromProject: jest.fn().mockReturnValue({ points: 30, badges: ['b1'] }), - } as any; - const currentUser = user1; + it('should sort users by badges then points', () => { + const project = { id: 'p1' } as any; + const user1 = { + id: 'u1', + username: 'user1', + getGameProfileFromProject: jest + .fn() + .mockReturnValue({ points: 10, badges: ['b1'] }), + } as any; + const user2 = { + id: 'u2', + username: 'user2', + getGameProfileFromProject: jest + .fn() + .mockReturnValue({ points: 20, badges: ['b1', 'b2'] }), + } as any; + const user3 = { + id: 'u3', + username: 'user3', + getGameProfileFromProject: jest + .fn() + .mockReturnValue({ points: 30, badges: ['b1'] }), + } as any; + const currentUser = user1; - const result = engine.build([user1, user2, user3], currentUser, project); - // user2 has 2 badges (highest) - // user3 has 1 badge, 30 points - // user1 has 1 badge, 10 points - expect(result[0]._id).toBe('u2'); - expect(result[1]._id).toBe('u3'); - expect(result[2]._id).toBe('u1'); - }); + const result = engine.build([user1, user2, user3], currentUser, project); + // user2 has 2 badges (highest) + // user3 has 1 badge, 30 points + // user1 has 1 badge, 10 points + expect(result[0]._id).toBe('u2'); + expect(result[1]._id).toBe('u3'); + expect(result[2]._id).toBe('u1'); + }); }); diff --git a/src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts b/src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts index 98e980d..8db5429 100644 --- a/src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts +++ b/src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts @@ -6,132 +6,185 @@ import { TimeInterval } from '../../../../task/entities/time-restriction.entity' import { BadRequestException } from '@nestjs/common'; describe('BasicBadgeEngine', () => { - let engine: BasicBadgeEngine; + let engine: BasicBadgeEngine; + + beforeEach(() => { + engine = new BasicBadgeEngine(); + }); + + it('should be assignable to BASIC strategy', () => { + const project = { gamificationStrategy: GamificationStrategy.BASIC } as any; + expect(engine.assignableTo(project)).toBe(true); + }); + + describe('newBadgesFor', () => { + it('should return badges the user does not have and matches the rule', () => { + const rule = new BadgeRule( + 'r1', + 'p1', + 'Badge1', + 'desc', + 'img', + 1, + false, + [], + 'Cualquiera', + 'Cualquiera', + 'Cualquiera', + ); + const project = { + id: 'p1', + gamification: { badgesRules: [rule] }, + taskTypes: ['type1'], + timeIntervals: [], + areas: { features: [] }, + } as any; + const user = new User('t@t.com', 'u', 'p', 'T'); + user.id = 'u1'; + user.addProject('p1'); + + const checkin = { + date: new Date(), + taskType: 'type1', + longitude: '0', + latitude: '0', + contributesTo: '', + projectId: 'p1', + } as any; + + const result = engine.newBadgesFor(user, checkin, project); + expect(result).toContain(rule); + }); + }); + + describe('internal matches', () => { + it('should match task type', () => { + const rule = new BadgeRule( + 'r1', + 'p1', + 'B1', + 'd', + 'i', + 1, + false, + [], + 'Type1', + 'Cualquiera', + 'Cualquiera', + ); + const project = { taskTypes: ['Type1'] } as any; + const checkin = { taskType: 'Type1' } as any; + expect((engine as any).matchTaskType(rule, checkin, project)).toBe(true); + expect( + (engine as any).matchTaskType(rule, { taskType: 'Other' }, project), + ).toBe(false); + }); + + it('should match time interval', () => { + const rule = { timeIntervalId: 'Cualquiera' } as any; + expect((engine as any).matchTimeInterval(rule, {}, {})).toBe(true); + + const rule2 = { timeIntervalId: 'Morning' } as any; + const morning = new TimeInterval( + 'Morning', + [1, 2, 3, 4, 5, 6, 7], + { start: '08:00', end: '12:00' }, + new Date(2020, 0, 1), + new Date(2030, 0, 1), + ); + const project = { timeIntervals: [morning] } as any; + const checkin = { date: new Date(2023, 0, 1, 9, 0) } as any; + expect((engine as any).matchTimeInterval(rule2, checkin, project)).toBe( + true, + ); + }); + + it('should match any task type', () => { + const rule = { taskType: 'Cualquiera' } as any; + expect((engine as any).matchTaskType(rule, {}, {})).toBe(true); + }); - beforeEach(() => { - engine = new BasicBadgeEngine(); + it('should check if user already has badge', () => { + const user = { + getGameProfileFromProject: () => ({ badges: ['B1'] }), + } as any; + const project = { + id: 'p1', + taskTypes: [], + timeIntervals: [], + areas: { features: [] }, + gamification: { + badgesRules: [ + { + name: 'B1', + previousBadges: [], + taskType: 'Cualquiera', + timeIntervalId: 'Cualquiera', + areaId: 'Cualquiera', + }, + ], + }, + } as any; + const res = engine.newBadgesFor(user, {} as any, project); + expect(res).toHaveLength(0); }); - it('should be assignable to BASIC strategy', () => { - const project = { gamificationStrategy: GamificationStrategy.BASIC } as any; - expect(engine.assignableTo(project)).toBe(true); + it('should verify contributes', () => { + const rule = { mustContribute: true } as any; + const checkin = { contributesTo: 'T1' } as any; + expect((engine as any).verifyContributes(rule, checkin)).toBe(true); + expect( + (engine as any).verifyContributes(rule, { contributesTo: '' }), + ).toBe(false); }); - describe('newBadgesFor', () => { - it('should return badges the user does not have and matches the rule', () => { - const rule = new BadgeRule( - 'r1', 'p1', 'Badge1', 'desc', 'img', 1, false, [], 'Cualquiera', 'Cualquiera', 'Cualquiera' - ); - const project = { - id: 'p1', - gamification: { badgesRules: [rule] }, - taskTypes: ['type1'], - timeIntervals: [], - areas: { features: [] } - } as any; - const user = new User('t@t.com', 'u', 'p', 'T'); - user.id = 'u1'; - user.addProject('p1'); - - const checkin = { - date: new Date(), - taskType: 'type1', - longitude: '0', - latitude: '0', - contributesTo: '', - projectId: 'p1' - } as any; - - const result = engine.newBadgesFor(user, checkin, project); - expect(result).toContain(rule); - }); + it('should throw if time interval not found', () => { + const rule = { timeIntervalId: 'Missing' } as any; + const project = { timeIntervals: [] } as any; + expect(() => (engine as any).getTimeInterval(rule, project)).toThrow( + BadRequestException, + ); }); - describe('internal matches', () => { - it('should match task type', () => { - const rule = new BadgeRule('r1', 'p1', 'B1', 'd', 'i', 1, false, [], 'Type1', 'Cualquiera', 'Cualquiera'); - const project = { taskTypes: ['Type1'] } as any; - const checkin = { taskType: 'Type1' } as any; - expect((engine as any).matchTaskType(rule, checkin, project)).toBe(true); - expect((engine as any).matchTaskType(rule, { taskType: 'Other' }, project)).toBe(false); - }); - - it('should match time interval', () => { - const rule = { timeIntervalId: 'Cualquiera' } as any; - expect((engine as any).matchTimeInterval(rule, {}, {})).toBe(true); - - const rule2 = { timeIntervalId: 'Morning' } as any; - const morning = new TimeInterval( - 'Morning', - [1, 2, 3, 4, 5, 6, 7], - { start: '08:00', end: '12:00' }, - new Date(2020, 0, 1), - new Date(2030, 0, 1) - ); - const project = { timeIntervals: [morning] } as any; - const checkin = { date: new Date(2023, 0, 1, 9, 0) } as any; - expect((engine as any).matchTimeInterval(rule2, checkin, project)).toBe(true); - }); - - it('should match any task type', () => { - const rule = { taskType: 'Cualquiera' } as any; - expect((engine as any).matchTaskType(rule, {}, {})).toBe(true); - }); - - it('should check if user already has badge', () => { - const user = { getGameProfileFromProject: () => ({ badges: ['B1'] }) } as any; - const project = { - id: 'p1', - taskTypes: [], - timeIntervals: [], - areas: { features: [] }, - gamification: { badgesRules: [{ name: 'B1', previousBadges: [], taskType: 'Cualquiera', timeIntervalId: 'Cualquiera', areaId: 'Cualquiera' }] } - } as any; - const res = engine.newBadgesFor(user, {} as any, project); - expect(res).toHaveLength(0); - }); - - it('should verify contributes', () => { - const rule = { mustContribute: true } as any; - const checkin = { contributesTo: 'T1' } as any; - expect((engine as any).verifyContributes(rule, checkin)).toBe(true); - expect((engine as any).verifyContributes(rule, { contributesTo: '' })).toBe(false); - }); - - it('should throw if time interval not found', () => { - const rule = { timeIntervalId: 'Missing' } as any; - const project = { timeIntervals: [] } as any; - expect(() => (engine as any).getTimeInterval(rule, project)).toThrow(BadRequestException); - }); - - it('should return falsy if area not found', () => { - const rule = { areaId: 'A' } as any; - const project = { areas: { features: [] } } as any; - expect((engine as any).matchArea(rule, {}, project)).toBeFalsy(); - }); - - it('should match area', () => { - const rule = { areaId: 'Cualquiera' } as any; - expect((engine as any).matchArea(rule, {}, {})).toBe(true); - - const rule2 = { areaId: 'A1' } as any; - const feature = { - properties: { id: 'A1' }, - geometry: { type: 'Polygon', coordinates: [[[0, 0], [1, 0], [1, 1], [0, 1], [0, 0]]] } - }; - const project = { areas: { features: [feature] } } as any; - const checkin = { longitude: '0.5', latitude: '0.5' } as any; - expect((engine as any).matchArea(rule2, checkin, project)).toBe(true); - }); - it('should check if user has previous badges', () => { - const rule = { previousBadges: ['B1'] } as any; - const user = { hasBadgeWithName: jest.fn() } as any; - - user.hasBadgeWithName.mockReturnValue(true); - expect((engine as any).userHasPreviousBadges(rule, user)).toBe(true); - - user.hasBadgeWithName.mockReturnValue(false); - expect((engine as any).userHasPreviousBadges(rule, user)).toBe(false); - }); + it('should return falsy if area not found', () => { + const rule = { areaId: 'A' } as any; + const project = { areas: { features: [] } } as any; + expect((engine as any).matchArea(rule, {}, project)).toBeFalsy(); + }); + + it('should match area', () => { + const rule = { areaId: 'Cualquiera' } as any; + expect((engine as any).matchArea(rule, {}, {})).toBe(true); + + const rule2 = { areaId: 'A1' } as any; + const feature = { + properties: { id: 'A1' }, + geometry: { + type: 'Polygon', + coordinates: [ + [ + [0, 0], + [1, 0], + [1, 1], + [0, 1], + [0, 0], + ], + ], + }, + }; + const project = { areas: { features: [feature] } } as any; + const checkin = { longitude: '0.5', latitude: '0.5' } as any; + expect((engine as any).matchArea(rule2, checkin, project)).toBe(true); + }); + it('should check if user has previous badges', () => { + const rule = { previousBadges: ['B1'] } as any; + const user = { hasBadgeWithName: jest.fn() } as any; + + user.hasBadgeWithName.mockReturnValue(true); + expect((engine as any).userHasPreviousBadges(rule, user)).toBe(true); + + user.hasBadgeWithName.mockReturnValue(false); + expect((engine as any).userHasPreviousBadges(rule, user)).toBe(false); }); + }); }); diff --git a/src/module/gamification/entities/engine/gamification/basic-leaderboard-engine.spec.ts b/src/module/gamification/entities/engine/gamification/basic-leaderboard-engine.spec.ts index 793432d..b68033a 100644 --- a/src/module/gamification/entities/engine/gamification/basic-leaderboard-engine.spec.ts +++ b/src/module/gamification/entities/engine/gamification/basic-leaderboard-engine.spec.ts @@ -2,33 +2,39 @@ import { PointsFirstLBEngine } from './basic-leaderboard-engine'; import { LeaderboardStrategy } from '../../../../project/dto/create-project.dto'; describe('PointsFirstLBEngine', () => { - let engine: PointsFirstLBEngine; + let engine: PointsFirstLBEngine; - beforeEach(() => { - engine = new PointsFirstLBEngine(); - }); + beforeEach(() => { + engine = new PointsFirstLBEngine(); + }); - it('should be assignable to POINTS_FIRST strategy', () => { - const project = { leaderboardStrategy: LeaderboardStrategy.POINTS_FIRST } as any; - expect(engine.assignableTo(project)).toBe(true); - }); + it('should be assignable to POINTS_FIRST strategy', () => { + const project = { + leaderboardStrategy: LeaderboardStrategy.POINTS_FIRST, + } as any; + expect(engine.assignableTo(project)).toBe(true); + }); - it('should sort users by points', () => { - const project = { id: 'p1' } as any; - const user1 = { - id: 'u1', - username: 'user1', - getGameProfileFromProject: jest.fn().mockReturnValue({ points: 10, badges: [] }), - } as any; - const user2 = { - id: 'u2', - username: 'user2', - getGameProfileFromProject: jest.fn().mockReturnValue({ points: 20, badges: [] }), - } as any; - const currentUser = user1; + it('should sort users by points', () => { + const project = { id: 'p1' } as any; + const user1 = { + id: 'u1', + username: 'user1', + getGameProfileFromProject: jest + .fn() + .mockReturnValue({ points: 10, badges: [] }), + } as any; + const user2 = { + id: 'u2', + username: 'user2', + getGameProfileFromProject: jest + .fn() + .mockReturnValue({ points: 20, badges: [] }), + } as any; + const currentUser = user1; - const result = engine.build([user1, user2], currentUser, project); - expect(result[0]._id).toBe('u2'); - expect(result[1]._id).toBe('u1'); - }); + const result = engine.build([user1, user2], currentUser, project); + expect(result[0]._id).toBe('u2'); + expect(result[1]._id).toBe('u1'); + }); }); diff --git a/src/module/gamification/entities/engine/gamification/basic-points-engine.spec.ts b/src/module/gamification/entities/engine/gamification/basic-points-engine.spec.ts index 19f104f..40879cf 100644 --- a/src/module/gamification/entities/engine/gamification/basic-points-engine.spec.ts +++ b/src/module/gamification/entities/engine/gamification/basic-points-engine.spec.ts @@ -3,122 +3,188 @@ import { GamificationStrategy } from '../../../../project/dto/create-project.dto import { GeoUtils } from '../../../../task/utils/geoUtils'; describe('BasicPointsEngine', () => { - let engine: BasicPointsEngine; + let engine: BasicPointsEngine; - beforeEach(() => { - engine = new BasicPointsEngine(); - }); + beforeEach(() => { + engine = new BasicPointsEngine(); + }); - it('should be assignable to BASIC strategy', () => { - const project = { gamificationStrategy: GamificationStrategy.BASIC } as any; - expect(engine.assignableTo(project)).toBe(true); - }); + it('should be assignable to BASIC strategy', () => { + const project = { gamificationStrategy: GamificationStrategy.BASIC } as any; + expect(engine.assignableTo(project)).toBe(true); + }); - describe('reward', () => { - it('should calculate points based on rules', () => { - const ch = { - latitude: '0', - longitude: '0', + describe('reward', () => { + it('should calculate points based on rules', () => { + const ch = { + latitude: '0', + longitude: '0', + taskType: 'type1', + date: new Date(), + contributesTo: 'task1', + } as any; + const game = { + project: { + areas: { features: [] }, + timeIntervals: [], + gamification: { + pointRules: [ + { taskType: 'type1', - date: new Date(), - contributesTo: 'task1', - } as any; - const game = { - project: { - areas: { features: [] }, - timeIntervals: [], - gamification: { - pointRules: [ - { taskType: 'type1', areaId: 'Cualquiera', timeIntervalId: 'Cualquiera', score: 10, mustContribute: true }, - { taskType: 'type2', areaId: 'Cualquiera', timeIntervalId: 'Cualquiera', score: 5, mustContribute: false }, - ], - }, - }, - } as any; + areaId: 'Cualquiera', + timeIntervalId: 'Cualquiera', + score: 10, + mustContribute: true, + }, + { + taskType: 'type2', + areaId: 'Cualquiera', + timeIntervalId: 'Cualquiera', + score: 5, + mustContribute: false, + }, + ], + }, + }, + } as any; - const result = engine.reward(ch, game); - expect(result).toBe(10); - }); + const result = engine.reward(ch, game); + expect(result).toBe(10); + }); - it('should return 0 if area is not found and not "Cualquiera"', () => { - const ch = { latitude: '0', longitude: '0', taskType: 'type1', date: new Date(), contributesTo: 'task1' } as any; - const game = { - project: { - areas: { features: [] }, - timeIntervals: [], - gamification: { - pointRules: [{ taskType: 'type1', areaId: 'specificArea', timeIntervalId: 'Cualquiera', score: 10, mustContribute: false }], - }, - }, - } as any; - expect(engine.reward(ch, game)).toBe(0); - }); + it('should return 0 if area is not found and not "Cualquiera"', () => { + const ch = { + latitude: '0', + longitude: '0', + taskType: 'type1', + date: new Date(), + contributesTo: 'task1', + } as any; + const game = { + project: { + areas: { features: [] }, + timeIntervals: [], + gamification: { + pointRules: [ + { + taskType: 'type1', + areaId: 'specificArea', + timeIntervalId: 'Cualquiera', + score: 10, + mustContribute: false, + }, + ], + }, + }, + } as any; + expect(engine.reward(ch, game)).toBe(0); + }); - it('should return points if area matches via GeoUtils', () => { - const ch = { latitude: '0.5', longitude: '0.5', taskType: 'type1', date: new Date(), contributesTo: 'task1' } as any; - const area = { properties: { id: 'a1' }, geometry: {} }; - const game = { - project: { - areas: { features: [area] }, - timeIntervals: [], - gamification: { - pointRules: [{ taskType: 'type1', areaId: 'a1', timeIntervalId: 'Cualquiera', score: 10, mustContribute: false }], - }, - }, - } as any; + it('should return points if area matches via GeoUtils', () => { + const ch = { + latitude: '0.5', + longitude: '0.5', + taskType: 'type1', + date: new Date(), + contributesTo: 'task1', + } as any; + const area = { properties: { id: 'a1' }, geometry: {} }; + const game = { + project: { + areas: { features: [area] }, + timeIntervals: [], + gamification: { + pointRules: [ + { + taskType: 'type1', + areaId: 'a1', + timeIntervalId: 'Cualquiera', + score: 10, + mustContribute: false, + }, + ], + }, + }, + } as any; - jest.spyOn(GeoUtils, 'isPointInPolygon').mockReturnValue(true); - expect(engine.reward(ch, game)).toBe(10); - (GeoUtils.isPointInPolygon as jest.Mock).mockRestore(); - }); + jest.spyOn(GeoUtils, 'isPointInPolygon').mockReturnValue(true); + expect(engine.reward(ch, game)).toBe(10); + (GeoUtils.isPointInPolygon as jest.Mock).mockRestore(); + }); - it('should return 0 if area matches but point is not inside', () => { - const ch = { latitude: '0.5', longitude: '0.5', taskType: 'type1', date: new Date(), contributesTo: 'task1' } as any; - const area = { properties: { id: 'a1' }, geometry: {} }; - const game = { - project: { - areas: { features: [area] }, - timeIntervals: [], - gamification: { - pointRules: [{ taskType: 'type1', areaId: 'a1', timeIntervalId: 'Cualquiera', score: 10, mustContribute: false }], - }, - }, - } as any; + it('should return 0 if area matches but point is not inside', () => { + const ch = { + latitude: '0.5', + longitude: '0.5', + taskType: 'type1', + date: new Date(), + contributesTo: 'task1', + } as any; + const area = { properties: { id: 'a1' }, geometry: {} }; + const game = { + project: { + areas: { features: [area] }, + timeIntervals: [], + gamification: { + pointRules: [ + { + taskType: 'type1', + areaId: 'a1', + timeIntervalId: 'Cualquiera', + score: 10, + mustContribute: false, + }, + ], + }, + }, + } as any; - jest.spyOn(GeoUtils, 'isPointInPolygon').mockReturnValue(false); - expect(engine.reward(ch, game)).toBe(0); - (GeoUtils.isPointInPolygon as jest.Mock).mockRestore(); - }); + jest.spyOn(GeoUtils, 'isPointInPolygon').mockReturnValue(false); + expect(engine.reward(ch, game)).toBe(0); + (GeoUtils.isPointInPolygon as jest.Mock).mockRestore(); }); + }); - describe('calculatePoints', () => { - it('should calculate points for a task', () => { - const task = {} as any; - const project = { - gamification: { - pointRules: [ - { matchTask: jest.fn().mockReturnValue(true), score: 10, mustContribute: true }, - { matchTask: jest.fn().mockReturnValue(false), score: 5, mustContribute: true }, - ], - }, - } as any; + describe('calculatePoints', () => { + it('should calculate points for a task', () => { + const task = {} as any; + const project = { + gamification: { + pointRules: [ + { + matchTask: jest.fn().mockReturnValue(true), + score: 10, + mustContribute: true, + }, + { + matchTask: jest.fn().mockReturnValue(false), + score: 5, + mustContribute: true, + }, + ], + }, + } as any; - const result = engine.calculatePoints(task, project); - expect(result).toBe(10); - }); + const result = engine.calculatePoints(task, project); + expect(result).toBe(10); + }); - it('should return 0 if no rule matches', () => { - const task = {} as any; - const project = { - gamification: { - pointRules: [ - { matchTask: jest.fn().mockReturnValue(false), score: 10, mustContribute: true }, - ], - }, - } as any; + it('should return 0 if no rule matches', () => { + const task = {} as any; + const project = { + gamification: { + pointRules: [ + { + matchTask: jest.fn().mockReturnValue(false), + score: 10, + mustContribute: true, + }, + ], + }, + } as any; - const result = engine.calculatePoints(task, project); - expect(result).toBe(0); - }); + const result = engine.calculatePoints(task, project); + expect(result).toBe(0); }); + }); }); diff --git a/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.spec.ts b/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.spec.ts index ddc1c35..29557eb 100644 --- a/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.spec.ts +++ b/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.spec.ts @@ -5,38 +5,45 @@ import { ElasticPointsEngine } from './elastic-points-engine'; import { PointsFirstLBEngine } from './basic-leaderboard-engine'; import { BadgesFirstLBEngine } from './badge-first-leaderboard-engine'; import { BasicBadgeEngine } from './basic-badge-engine'; -import { GamificationStrategy, LeaderboardStrategy } from '../../../../project/dto/create-project.dto'; +import { + GamificationStrategy, + LeaderboardStrategy, +} from '../../../../project/dto/create-project.dto'; describe('GamificationEngineFactory', () => { - let factory: GamificationEngineFactory; + let factory: GamificationEngineFactory; - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - GamificationEngineFactory, - { provide: BasicPointsEngine, useValue: {} }, - { provide: ElasticPointsEngine, useValue: {} }, - { provide: PointsFirstLBEngine, useValue: {} }, - { provide: BadgesFirstLBEngine, useValue: {} }, - { provide: BasicBadgeEngine, useValue: {} }, - ], - }).compile(); + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + GamificationEngineFactory, + { provide: BasicPointsEngine, useValue: {} }, + { provide: ElasticPointsEngine, useValue: {} }, + { provide: PointsFirstLBEngine, useValue: {} }, + { provide: BadgesFirstLBEngine, useValue: {} }, + { provide: BasicBadgeEngine, useValue: {} }, + ], + }).compile(); - factory = module.get(GamificationEngineFactory); - }); + factory = module.get(GamificationEngineFactory); + }); - it('should return correct engines', () => { - expect(factory.getBadgeEngine(GamificationStrategy.BASIC)).toBeDefined(); - expect(factory.getBadgeEngine(GamificationStrategy.ELASTIC)).toBeDefined(); - expect(factory.getPointsEngine(GamificationStrategy.BASIC)).toBeDefined(); - expect(factory.getPointsEngine(GamificationStrategy.ELASTIC)).toBeDefined(); - expect(factory.getLeaderboardEngine(LeaderboardStrategy.POINTS_FIRST)).toBeDefined(); - expect(factory.getLeaderboardEngine(LeaderboardStrategy.BADGES_FIRST)).toBeDefined(); - }); + it('should return correct engines', () => { + expect(factory.getBadgeEngine(GamificationStrategy.BASIC)).toBeDefined(); + expect(factory.getBadgeEngine(GamificationStrategy.ELASTIC)).toBeDefined(); + expect(factory.getPointsEngine(GamificationStrategy.BASIC)).toBeDefined(); + expect(factory.getPointsEngine(GamificationStrategy.ELASTIC)).toBeDefined(); + expect( + factory.getLeaderboardEngine(LeaderboardStrategy.POINTS_FIRST), + ).toBeDefined(); + expect( + factory.getLeaderboardEngine(LeaderboardStrategy.BADGES_FIRST), + ).toBeDefined(); + }); - it('should throw error for unknown strategies', () => { - expect(() => factory.getBadgeEngine('UNKNOWN' as any)).toThrow(); - expect(() => factory.getPointsEngine('UNKNOWN' as any)).toThrow(); - expect(() => factory.getLeaderboardEngine('UNKNOWN' as any)).toThrow(); - }); + it('should throw error for unknown strategies', () => { + expect(() => factory.getBadgeEngine('UNKNOWN' as any)).toThrow(); + expect(() => factory.getPointsEngine('UNKNOWN' as any)).toThrow(); + expect(() => factory.getLeaderboardEngine('UNKNOWN' as any)).toThrow(); + }); }); diff --git a/src/module/gamification/entities/engine/recommendation/adaptive-recomendation-engine.spec.ts b/src/module/gamification/entities/engine/recommendation/adaptive-recomendation-engine.spec.ts index 48de53b..0879082 100644 --- a/src/module/gamification/entities/engine/recommendation/adaptive-recomendation-engine.spec.ts +++ b/src/module/gamification/entities/engine/recommendation/adaptive-recomendation-engine.spec.ts @@ -162,8 +162,13 @@ describe('AdaptiveRecommendationEngine', () => { }); it('should use neutral score if rating is missing for a similar task', () => { - const similarTasks = [{ task: createTask('task1', 'a', 'm', 't'), similarity: 1 }]; - const estimatedRating = recommendationEngine['estimateTaskRating'](similarTasks, {}); + const similarTasks = [ + { task: createTask('task1', 'a', 'm', 't'), similarity: 1 }, + ]; + const estimatedRating = recommendationEngine['estimateTaskRating']( + similarTasks, + {}, + ); expect(estimatedRating).toBe(0.8); }); }); diff --git a/src/module/gamification/entities/engine/recommendation/recommendation-engine-factory.spec.ts b/src/module/gamification/entities/engine/recommendation/recommendation-engine-factory.spec.ts index 6617c8f..d9c49f1 100644 --- a/src/module/gamification/entities/engine/recommendation/recommendation-engine-factory.spec.ts +++ b/src/module/gamification/entities/engine/recommendation/recommendation-engine-factory.spec.ts @@ -5,26 +5,28 @@ import { SimpleRecommendationEngine } from './simple-recommendation-engine'; import { RecommendationStrategy } from '../../../../project/dto/create-project.dto'; describe('RecommendationEngineFactory', () => { - let factory: RecommendationEngineFactory; + let factory: RecommendationEngineFactory; - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - RecommendationEngineFactory, - { provide: AdaptiveRecommendationEngine, useValue: {} }, - { provide: SimpleRecommendationEngine, useValue: {} }, - ], - }).compile(); + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + RecommendationEngineFactory, + { provide: AdaptiveRecommendationEngine, useValue: {} }, + { provide: SimpleRecommendationEngine, useValue: {} }, + ], + }).compile(); - factory = module.get(RecommendationEngineFactory); - }); + factory = module.get( + RecommendationEngineFactory, + ); + }); - it('should return correct engines', () => { - expect(factory.getEngine(RecommendationStrategy.ADAPTIVE)).toBeDefined(); - expect(factory.getEngine(RecommendationStrategy.SIMPLE)).toBeDefined(); - }); + it('should return correct engines', () => { + expect(factory.getEngine(RecommendationStrategy.ADAPTIVE)).toBeDefined(); + expect(factory.getEngine(RecommendationStrategy.SIMPLE)).toBeDefined(); + }); - it('should throw for unknown strategy', () => { - expect(() => factory.getEngine('UNKNOWN')).toThrow(); - }); + it('should throw for unknown strategy', () => { + expect(() => factory.getEngine('UNKNOWN')).toThrow(); + }); }); diff --git a/src/module/gamification/entities/engine/recommendation/simple-recommendation-engine.spec.ts b/src/module/gamification/entities/engine/recommendation/simple-recommendation-engine.spec.ts index 3ba3cbd..6304b93 100644 --- a/src/module/gamification/entities/engine/recommendation/simple-recommendation-engine.spec.ts +++ b/src/module/gamification/entities/engine/recommendation/simple-recommendation-engine.spec.ts @@ -1,11 +1,11 @@ import { SimpleRecommendationEngine } from './simple-recommendation-engine'; describe('SimpleRecommendationEngine', () => { - it('should return all tasks with rating 0', () => { - const engine = new SimpleRecommendationEngine(); - const tasks = [{ id: '1' }, { id: '2' }] as any; - const result = engine.generateRecommendations({} as any, {}, tasks); - expect(result.length).toBe(2); - expect(result[0].estimatedRating).toBe(0); - }); + it('should return all tasks with rating 0', () => { + const engine = new SimpleRecommendationEngine(); + const tasks = [{ id: '1' }, { id: '2' }] as any; + const result = engine.generateRecommendations({} as any, {}, tasks); + expect(result.length).toBe(2); + expect(result[0].estimatedRating).toBe(0); + }); }); diff --git a/src/module/gamification/entities/gamification.entity.spec.ts b/src/module/gamification/entities/gamification.entity.spec.ts index 8bc706f..1198aae 100644 --- a/src/module/gamification/entities/gamification.entity.spec.ts +++ b/src/module/gamification/entities/gamification.entity.spec.ts @@ -1,48 +1,68 @@ import { Gamification, BadgeRule, PointRule } from './gamification.entity'; describe('Gamification Entities', () => { - describe('Gamification', () => { - it('should create a Gamification instance', () => { - const g = new Gamification('p1', [], []); - expect(g.projectId).toBe('p1'); - }); + describe('Gamification', () => { + it('should create a Gamification instance', () => { + const g = new Gamification('p1', [], []); + expect(g.projectId).toBe('p1'); }); + }); - describe('BadgeRule', () => { - it('should create a BadgeRule instance', () => { - const b = new BadgeRule('id', 'p1', 'name', 'desc', 'img', 10, true, [], 'type', 'area', 'time'); - expect(b._id).toBe('id'); - expect(b.name).toBe('name'); - }); + describe('BadgeRule', () => { + it('should create a BadgeRule instance', () => { + const b = new BadgeRule( + 'id', + 'p1', + 'name', + 'desc', + 'img', + 10, + true, + [], + 'type', + 'area', + 'time', + ); + expect(b._id).toBe('id'); + expect(b.name).toBe('name'); }); + }); - describe('PointRule', () => { - it('should match correctly', () => { - const p = new PointRule('id', 'p1', 'type1', 'area1', 'time1', 10, true); - expect(p.matchTaskType('type1')).toBe(true); - expect(p.matchTaskType('type2')).toBe(false); - expect(p.matchArea('area1')).toBe(true); - expect(p.matchArea('area2')).toBe(false); - expect(p.matchTimeInterval('time1')).toBe(true); - expect(p.matchTimeInterval('time2')).toBe(false); - expect(p.mustContribute).toBe(true); - }); + describe('PointRule', () => { + it('should match correctly', () => { + const p = new PointRule('id', 'p1', 'type1', 'area1', 'time1', 10, true); + expect(p.matchTaskType('type1')).toBe(true); + expect(p.matchTaskType('type2')).toBe(false); + expect(p.matchArea('area1')).toBe(true); + expect(p.matchArea('area2')).toBe(false); + expect(p.matchTimeInterval('time1')).toBe(true); + expect(p.matchTimeInterval('time2')).toBe(false); + expect(p.mustContribute).toBe(true); + }); - it('should match ANY_KIND', () => { - const p = new PointRule('id', 'p1', 'Cualquiera', 'Cualquiera', 'Cualquiera', 10, true); - expect(p.matchTaskType('anything')).toBe(true); - expect(p.matchArea('anything')).toBe(true); - expect(p.matchTimeInterval('anything')).toBe(true); - }); + it('should match ANY_KIND', () => { + const p = new PointRule( + 'id', + 'p1', + 'Cualquiera', + 'Cualquiera', + 'Cualquiera', + 10, + true, + ); + expect(p.matchTaskType('anything')).toBe(true); + expect(p.matchArea('anything')).toBe(true); + expect(p.matchTimeInterval('anything')).toBe(true); + }); - it('should match task', () => { - const p = new PointRule('id', 'p1', 'type1', 'area1', 'time1', 10, true); - const task = { - type: 'type1', - areaGeoJSON: { properties: { id: 'area1' } }, - timeInterval: { name: 'time1' }, - } as any; - expect(p.matchTask(task)).toBe(true); - }); + it('should match task', () => { + const p = new PointRule('id', 'p1', 'type1', 'area1', 'time1', 10, true); + const task = { + type: 'type1', + areaGeoJSON: { properties: { id: 'area1' } }, + timeInterval: { name: 'time1' }, + } as any; + expect(p.matchTask(task)).toBe(true); }); + }); }); diff --git a/src/module/gamification/gamificationController.spec.ts b/src/module/gamification/gamificationController.spec.ts index 61de0a9..7c71113 100644 --- a/src/module/gamification/gamificationController.spec.ts +++ b/src/module/gamification/gamificationController.spec.ts @@ -3,84 +3,84 @@ import { GamificationController } from './gamificationController'; import { GamificationService } from './gamification.service'; describe('GamificationController', () => { - let controller: GamificationController; - let service: GamificationService; + let controller: GamificationController; + let service: GamificationService; - const mockGamificationService = { - createBadge: jest.fn(), - updateBadge: jest.fn(), - removeBadge: jest.fn(), - createScoreRule: jest.fn(), - updateScoreRule: jest.fn(), - removeScoreRule: jest.fn(), - update: jest.fn(), - findByProjectId: jest.fn(), - }; + const mockGamificationService = { + createBadge: jest.fn(), + updateBadge: jest.fn(), + removeBadge: jest.fn(), + createScoreRule: jest.fn(), + updateScoreRule: jest.fn(), + removeScoreRule: jest.fn(), + update: jest.fn(), + findByProjectId: jest.fn(), + }; - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - controllers: [GamificationController], - providers: [ - { provide: GamificationService, useValue: mockGamificationService }, - ], - }).compile(); + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [GamificationController], + providers: [ + { provide: GamificationService, useValue: mockGamificationService }, + ], + }).compile(); - controller = module.get(GamificationController); - service = module.get(GamificationService); - }); + controller = module.get(GamificationController); + service = module.get(GamificationService); + }); - it('should be defined', () => { - expect(controller).toBeDefined(); - }); + it('should be defined', () => { + expect(controller).toBeDefined(); + }); - describe('badge operations', () => { - it('should create badge', async () => { - const dto = {} as any; - await controller.create(dto); - expect(service.createBadge).toHaveBeenCalledWith(dto); - }); + describe('badge operations', () => { + it('should create badge', async () => { + const dto = {} as any; + await controller.create(dto); + expect(service.createBadge).toHaveBeenCalledWith(dto); + }); - it('should update badge', async () => { - const dto = {} as any; - await controller.updateBadge(dto, '1'); - expect(service.updateBadge).toHaveBeenCalledWith('1', dto); - }); + it('should update badge', async () => { + const dto = {} as any; + await controller.updateBadge(dto, '1'); + expect(service.updateBadge).toHaveBeenCalledWith('1', dto); + }); - it('should remove badge', async () => { - await controller.remove('p1', 'b1'); - expect(service.removeBadge).toHaveBeenCalledWith('p1', 'b1'); - }); + it('should remove badge', async () => { + await controller.remove('p1', 'b1'); + expect(service.removeBadge).toHaveBeenCalledWith('p1', 'b1'); }); + }); - describe('score rule operations', () => { - it('should create score rule', async () => { - const dto = {} as any; - await controller.createScoreRule(dto); - expect(service.createScoreRule).toHaveBeenCalledWith(dto); - }); + describe('score rule operations', () => { + it('should create score rule', async () => { + const dto = {} as any; + await controller.createScoreRule(dto); + expect(service.createScoreRule).toHaveBeenCalledWith(dto); + }); - it('should update score rule', async () => { - const dto = {} as any; - await controller.updateScoreRule(dto); - expect(service.updateScoreRule).toHaveBeenCalledWith(dto); - }); + it('should update score rule', async () => { + const dto = {} as any; + await controller.updateScoreRule(dto); + expect(service.updateScoreRule).toHaveBeenCalledWith(dto); + }); - it('should remove score rule', async () => { - await controller.removeScoreRule('p1', 's1'); - expect(service.removeScoreRule).toHaveBeenCalledWith('p1', 's1'); - }); + it('should remove score rule', async () => { + await controller.removeScoreRule('p1', 's1'); + expect(service.removeScoreRule).toHaveBeenCalledWith('p1', 's1'); }); + }); - describe('general operations', () => { - it('should update gamification', async () => { - const dto = {} as any; - await controller.update('p1', dto); - expect(service.update).toHaveBeenCalledWith('p1', dto); - }); + describe('general operations', () => { + it('should update gamification', async () => { + const dto = {} as any; + await controller.update('p1', dto); + expect(service.update).toHaveBeenCalledWith('p1', dto); + }); - it('should find by project id', async () => { - await controller.findAll('p1'); - expect(service.findByProjectId).toHaveBeenCalledWith('p1'); - }); + it('should find by project id', async () => { + await controller.findAll('p1'); + expect(service.findByProjectId).toHaveBeenCalledWith('p1'); }); + }); }); diff --git a/src/module/gamification/persistence/gamification-dao.service.spec.ts b/src/module/gamification/persistence/gamification-dao.service.spec.ts index 0bec561..4e74988 100644 --- a/src/module/gamification/persistence/gamification-dao.service.spec.ts +++ b/src/module/gamification/persistence/gamification-dao.service.spec.ts @@ -5,162 +5,203 @@ import { GamificationTemplate } from './gamification.schema'; import { LeaderboardDao } from '../../leaderboard/persistence/leaderboard.dao'; describe('GamificationDao', () => { - let dao: GamificationDao; - let model: any; - - const mockModel = { - findOne: jest.fn().mockReturnThis(), - findOneAndUpdate: jest.fn().mockReturnThis(), - create: jest.fn(), - exec: jest.fn(), + let dao: GamificationDao; + let model: any; + + const mockModel = { + findOne: jest.fn().mockReturnThis(), + findOneAndUpdate: jest.fn().mockReturnThis(), + create: jest.fn(), + exec: jest.fn(), + }; + + const mockLeaderboardDao = { + updateLeaderboardUsers: jest.fn(), + }; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + GamificationDao, + { + provide: getModelToken(GamificationTemplate.collectionName()), + useValue: mockModel, + }, + { provide: LeaderboardDao, useValue: mockLeaderboardDao }, + ], + }).compile(); + + dao = module.get(GamificationDao); + model = module.get(getModelToken(GamificationTemplate.collectionName())); + }); + + it('should be defined', () => { + expect(dao).toBeDefined(); + }); + + it('should add badge', async () => { + const template = { + badges: [], + save: jest.fn().mockResolvedValue({}), }; - - const mockLeaderboardDao = { - updateLeaderboardUsers: jest.fn(), + model.findOne.mockResolvedValue(template); + await dao.addBadge('p1', { name: 'B1' } as any); + expect(template.badges).toHaveLength(1); + }); + + it('should throw error if badge name exists', async () => { + const template = { + badges: [{ name: 'B1' }], }; - - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - GamificationDao, - { - provide: getModelToken(GamificationTemplate.collectionName()), - useValue: mockModel, - }, - { provide: LeaderboardDao, useValue: mockLeaderboardDao }, - ], - }).compile(); - - dao = module.get(GamificationDao); - model = module.get(getModelToken(GamificationTemplate.collectionName())); - }); - - it('should be defined', () => { - expect(dao).toBeDefined(); - }); - - it('should add badge', async () => { - const template = { - badges: [], - save: jest.fn().mockResolvedValue({}), - }; - model.findOne.mockResolvedValue(template); - await dao.addBadge('p1', { name: 'B1' } as any); - expect(template.badges).toHaveLength(1); - }); - - it('should throw error if badge name exists', async () => { - const template = { - badges: [{ name: 'B1' }], - }; - model.findOne.mockResolvedValue(template); - await expect(dao.addBadge('p1', { name: 'B1' } as any)).rejects.toThrow('Ya existe una insignia con ese nombre'); - }); - - it('should throw if project not found when adding badge', async () => { - model.findOne.mockResolvedValue(null); - await expect(dao.addBadge('p1', { name: 'B' } as any)).rejects.toThrow('Project not found'); - }); - - it('should get point rules by project', async () => { - model.findOne.mockReturnThis(); - model.exec.mockResolvedValue({ pointRules: [] }); - const res = await dao.getPointRulesByProject('p1'); - expect(res.pointRules).toEqual([]); - }); - - it('should find badge by id', async () => { - model.findOne.mockReturnThis(); - model.exec.mockResolvedValue({ badges: [{ name: 'B1' }] }); - const res = await dao.findBadgeById('p1', 'b1'); - expect(res.badges).toHaveLength(1); - }); - - it('should update gamification', async () => { - model.findOneAndUpdate.mockReturnThis(); - model.exec.mockResolvedValue({}); - await dao.updateGamification('p1', {} as any); - expect(model.findOneAndUpdate).toHaveBeenCalled(); - }); - - it('should add score rule', async () => { - const template = { pointRules: [], save: jest.fn().mockResolvedValue({}) }; - model.findOne.mockResolvedValue(template); - await dao.addScoreRule('p1', { score: 10 } as any); - expect(template.pointRules).toHaveLength(1); - }); - - it('should update point rule', async () => { - model.findOneAndUpdate.mockReturnThis(); - model.exec.mockResolvedValue({}); - await dao.updatePointRule('p1', { _id: 'r1' } as any); - expect(model.findOneAndUpdate).toHaveBeenCalled(); - }); - - it('should delete point rule', async () => { - model.findOneAndUpdate.mockReturnThis(); - model.exec.mockResolvedValue({}); - await dao.deletePointRule('p1', 'r1'); - expect(model.findOneAndUpdate).toHaveBeenCalled(); - }); - - it('should update badge', async () => { - const template = { - badges: [{ _id: 'b1', name: 'Old' }], - save: jest.fn().mockResolvedValue({}) - }; - model.findOne.mockResolvedValue(template); - await dao.updateBadge('b1', { projectId: 'p1', name: 'New' } as any); - expect(template.badges).toHaveLength(1); - expect(template.badges[0].name).toBe('New'); - }); - - it('should throw if project not found when updating badge', async () => { - model.findOne.mockResolvedValue(null); - await expect(dao.updateBadge('b1', { projectId: 'p1' } as any)).rejects.toThrow('Project not found'); - }); - - it('should get badges by project', async () => { - model.findOne.mockReturnThis(); - model.exec.mockResolvedValue([]); - const res = await dao.getBadgesByProject('p1'); - expect(res).toEqual([]); - }); - - it('should delete badge', async () => { - model.findOneAndUpdate.mockReturnThis(); - model.exec.mockResolvedValue({}); - await dao.deleteBadge('p1', 'b1'); - expect(model.findOneAndUpdate).toHaveBeenCalled(); - }); - - it('should get gamification by project id', async () => { - const saved = { - badges: [{ _id: 'b1', projectId: 'p1', name: 'N', description: 'D', imageUrl: 'I', checkinsAmount: 1, mustContribute: false, previousBadges: [], taskType: 'T', areaId: 'A', timeIntervalId: 'TI' }], - pointRules: [{ _id: 'r1', taskType: 'T', areaId: 'A', timeIntervalId: 'TI', score: 10, mustContribute: false }] - }; - model.findOne.mockReturnThis(); - model.exec.mockResolvedValue(saved); - const res = await dao.getGamificationByProjectId('p1'); - expect(res.projectId).toBe('p1'); - expect(res.badgesRules).toHaveLength(1); - expect(res.pointRules).toHaveLength(1); - }); - - it('should throw if project not found when adding score rule', async () => { - model.findOne.mockResolvedValue(null); - await expect(dao.addScoreRule('p1', { score: 10 } as any)).rejects.toThrow('Project not found'); - }); - - it('should create new gamification', async () => { - model.create.mockResolvedValue({}); - await dao.createNewGamificationFor('p1'); - expect(model.create).toHaveBeenCalledWith({ projectId: 'p1', badges: [], pointRules: [] }); - }); - - it('should save move', async () => { - const move = { checkin: { projectId: 'p1' }, gameStatus: { newLeaderboard: [] } } as any; - await dao.saveMove(move); - expect(mockLeaderboardDao.updateLeaderboardUsers).toHaveBeenCalledWith('p1', []); - }); + model.findOne.mockResolvedValue(template); + await expect(dao.addBadge('p1', { name: 'B1' } as any)).rejects.toThrow( + 'Ya existe una insignia con ese nombre', + ); + }); + + it('should throw if project not found when adding badge', async () => { + model.findOne.mockResolvedValue(null); + await expect(dao.addBadge('p1', { name: 'B' } as any)).rejects.toThrow( + 'Project not found', + ); + }); + + it('should get point rules by project', async () => { + model.findOne.mockReturnThis(); + model.exec.mockResolvedValue({ pointRules: [] }); + const res = await dao.getPointRulesByProject('p1'); + expect(res.pointRules).toEqual([]); + }); + + it('should find badge by id', async () => { + model.findOne.mockReturnThis(); + model.exec.mockResolvedValue({ badges: [{ name: 'B1' }] }); + const res = await dao.findBadgeById('p1', 'b1'); + expect(res.badges).toHaveLength(1); + }); + + it('should update gamification', async () => { + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.updateGamification('p1', {} as any); + expect(model.findOneAndUpdate).toHaveBeenCalled(); + }); + + it('should add score rule', async () => { + const template = { pointRules: [], save: jest.fn().mockResolvedValue({}) }; + model.findOne.mockResolvedValue(template); + await dao.addScoreRule('p1', { score: 10 } as any); + expect(template.pointRules).toHaveLength(1); + }); + + it('should update point rule', async () => { + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.updatePointRule('p1', { _id: 'r1' } as any); + expect(model.findOneAndUpdate).toHaveBeenCalled(); + }); + + it('should delete point rule', async () => { + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.deletePointRule('p1', 'r1'); + expect(model.findOneAndUpdate).toHaveBeenCalled(); + }); + + it('should update badge', async () => { + const template = { + badges: [{ _id: 'b1', name: 'Old' }], + save: jest.fn().mockResolvedValue({}), + }; + model.findOne.mockResolvedValue(template); + await dao.updateBadge('b1', { projectId: 'p1', name: 'New' } as any); + expect(template.badges).toHaveLength(1); + expect(template.badges[0].name).toBe('New'); + }); + + it('should throw if project not found when updating badge', async () => { + model.findOne.mockResolvedValue(null); + await expect( + dao.updateBadge('b1', { projectId: 'p1' } as any), + ).rejects.toThrow('Project not found'); + }); + + it('should get badges by project', async () => { + model.findOne.mockReturnThis(); + model.exec.mockResolvedValue([]); + const res = await dao.getBadgesByProject('p1'); + expect(res).toEqual([]); + }); + + it('should delete badge', async () => { + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.deleteBadge('p1', 'b1'); + expect(model.findOneAndUpdate).toHaveBeenCalled(); + }); + + it('should get gamification by project id', async () => { + const saved = { + badges: [ + { + _id: 'b1', + projectId: 'p1', + name: 'N', + description: 'D', + imageUrl: 'I', + checkinsAmount: 1, + mustContribute: false, + previousBadges: [], + taskType: 'T', + areaId: 'A', + timeIntervalId: 'TI', + }, + ], + pointRules: [ + { + _id: 'r1', + taskType: 'T', + areaId: 'A', + timeIntervalId: 'TI', + score: 10, + mustContribute: false, + }, + ], + }; + model.findOne.mockReturnThis(); + model.exec.mockResolvedValue(saved); + const res = await dao.getGamificationByProjectId('p1'); + expect(res.projectId).toBe('p1'); + expect(res.badgesRules).toHaveLength(1); + expect(res.pointRules).toHaveLength(1); + }); + + it('should throw if project not found when adding score rule', async () => { + model.findOne.mockResolvedValue(null); + await expect(dao.addScoreRule('p1', { score: 10 } as any)).rejects.toThrow( + 'Project not found', + ); + }); + + it('should create new gamification', async () => { + model.create.mockResolvedValue({}); + await dao.createNewGamificationFor('p1'); + expect(model.create).toHaveBeenCalledWith({ + projectId: 'p1', + badges: [], + pointRules: [], + }); + }); + + it('should save move', async () => { + const move = { + checkin: { projectId: 'p1' }, + gameStatus: { newLeaderboard: [] }, + } as any; + await dao.saveMove(move); + expect(mockLeaderboardDao.updateLeaderboardUsers).toHaveBeenCalledWith( + 'p1', + [], + ); + }); }); diff --git a/src/module/leaderboard/leaderboard.controller.spec.ts b/src/module/leaderboard/leaderboard.controller.spec.ts index 1b1bc09..48b4498 100644 --- a/src/module/leaderboard/leaderboard.controller.spec.ts +++ b/src/module/leaderboard/leaderboard.controller.spec.ts @@ -4,34 +4,34 @@ import { LeaderboardService } from './leaderboard.service'; import { JwtAuthGuard } from '../auth/auth.guard'; describe('LeaderboardController', () => { - let controller: LeaderboardController; - let service: LeaderboardService; + let controller: LeaderboardController; + let service: LeaderboardService; - const mockLeaderboardService = { - getLeaderboardFor: jest.fn(), - }; + const mockLeaderboardService = { + getLeaderboardFor: jest.fn(), + }; - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - controllers: [LeaderboardController], - providers: [ - { provide: LeaderboardService, useValue: mockLeaderboardService }, - ], - }) - .overrideGuard(JwtAuthGuard) - .useValue({ canActivate: () => true }) - .compile(); + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [LeaderboardController], + providers: [ + { provide: LeaderboardService, useValue: mockLeaderboardService }, + ], + }) + .overrideGuard(JwtAuthGuard) + .useValue({ canActivate: () => true }) + .compile(); - controller = module.get(LeaderboardController); - service = module.get(LeaderboardService); - }); + controller = module.get(LeaderboardController); + service = module.get(LeaderboardService); + }); - it('should be defined', () => { - expect(controller).toBeDefined(); - }); + it('should be defined', () => { + expect(controller).toBeDefined(); + }); - it('should call service.getLeaderboardFor', async () => { - await controller.leaderboard('p1'); - expect(service.getLeaderboardFor).toHaveBeenCalledWith('p1'); - }); + it('should call service.getLeaderboardFor', async () => { + await controller.leaderboard('p1'); + expect(service.getLeaderboardFor).toHaveBeenCalledWith('p1'); + }); }); diff --git a/src/module/leaderboard/leaderboard.service.spec.ts b/src/module/leaderboard/leaderboard.service.spec.ts index bce2423..bbbdef4 100644 --- a/src/module/leaderboard/leaderboard.service.spec.ts +++ b/src/module/leaderboard/leaderboard.service.spec.ts @@ -3,32 +3,32 @@ import { LeaderboardService } from './leaderboard.service'; import { LeaderboardDao } from './persistence/leaderboard.dao'; describe('LeaderboardService', () => { - let service: LeaderboardService; - let dao: LeaderboardDao; + let service: LeaderboardService; + let dao: LeaderboardDao; - const mockLeaderboardDao = { - findByProjectId: jest.fn(), - }; + const mockLeaderboardDao = { + findByProjectId: jest.fn(), + }; - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - LeaderboardService, - { provide: LeaderboardDao, useValue: mockLeaderboardDao }, - ], - }).compile(); + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + LeaderboardService, + { provide: LeaderboardDao, useValue: mockLeaderboardDao }, + ], + }).compile(); - service = module.get(LeaderboardService); - dao = module.get(LeaderboardDao); - }); + service = module.get(LeaderboardService); + dao = module.get(LeaderboardDao); + }); - it('should be defined', () => { - expect(service).toBeDefined(); - }); + it('should be defined', () => { + expect(service).toBeDefined(); + }); - it('should call dao.findByProjectId', async () => { - mockLeaderboardDao.findByProjectId.mockResolvedValue({} as any); - await service.getLeaderboardFor('p1'); - expect(dao.findByProjectId).toHaveBeenCalledWith('p1'); - }); + it('should call dao.findByProjectId', async () => { + mockLeaderboardDao.findByProjectId.mockResolvedValue({} as any); + await service.getLeaderboardFor('p1'); + expect(dao.findByProjectId).toHaveBeenCalledWith('p1'); + }); }); diff --git a/src/module/leaderboard/persistence/leaderboard.dao.spec.ts b/src/module/leaderboard/persistence/leaderboard.dao.spec.ts index ac44b71..f8f3acc 100644 --- a/src/module/leaderboard/persistence/leaderboard.dao.spec.ts +++ b/src/module/leaderboard/persistence/leaderboard.dao.spec.ts @@ -5,117 +5,134 @@ import { Leaderboard, LeaderboardSchema } from './leaderboard-user-schema'; import { NotFoundException } from '@nestjs/common'; describe('LeaderboardDao', () => { - let dao: LeaderboardDao; - let model: any; - - const mockModel = { - findOne: jest.fn().mockReturnThis(), - findOneAndUpdate: jest.fn().mockReturnThis(), - findOneAndDelete: jest.fn().mockReturnThis(), - create: jest.fn(), - exec: jest.fn(), - }; - - class MockModel { - constructor(data: any) { Object.assign(this, data); } - save = jest.fn().mockResolvedValue(this); - static findOne = mockModel.findOne; - static findOneAndUpdate = mockModel.findOneAndUpdate; - static findOneAndDelete = mockModel.findOneAndDelete; - static create = mockModel.create; - static exec = mockModel.exec; + let dao: LeaderboardDao; + let model: any; + + const mockModel = { + findOne: jest.fn().mockReturnThis(), + findOneAndUpdate: jest.fn().mockReturnThis(), + findOneAndDelete: jest.fn().mockReturnThis(), + create: jest.fn(), + exec: jest.fn(), + }; + + class MockModel { + constructor(data: any) { + Object.assign(this, data); } - - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - LeaderboardDao, - { - provide: getModelToken(Leaderboard.name), - useValue: MockModel, - }, - ], - }).compile(); - - dao = module.get(LeaderboardDao); - model = MockModel; - }); - - it('should return collection name', () => { - expect((LeaderboardSchema.statics as any).collectionName()).toBe('Leaderboards'); - }); - - it('should find by project id or create', async () => { - model.findOne.mockReturnThis(); - model.exec.mockResolvedValue(null); - model.create.mockResolvedValue({ projectId: 'p1' }); - const res = await dao.findByProjectId('p1'); - expect(res.projectId).toBe('p1'); - expect(model.create).toHaveBeenCalled(); - }); - - it('should update leaderboard users', async () => { - model.findOneAndUpdate.mockReturnThis(); - model.exec.mockResolvedValue({ projectId: 'p1' }); - await dao.updateLeaderboardUsers('p1', []); - expect(model.findOneAndUpdate).toHaveBeenCalled(); - }); - - it('should throw if update not found', async () => { - model.findOneAndUpdate.mockReturnThis(); - model.exec.mockResolvedValue(null); - await expect(dao.updateLeaderboardUsers('p1', [])).rejects.toThrow(NotFoundException); - }); - - it('should add user to leaderboard', async () => { - const lb = { users: [{ points: 10 }, { points: 20 }] }; - model.findOneAndUpdate.mockReturnThis(); - model.exec.mockImplementation(() => { - lb.users.push({ points: 15 } as any); - return Promise.resolve(lb); - }); - const res = await dao.addUserToLeaderboard('p1', { points: 15 } as any); - expect(res.users[0].points).toBe(20); - expect(res.users[1].points).toBe(15); - expect(res.users[2].points).toBe(10); - }); - - it('should remove user from leaderboard', async () => { - const lb = { users: [{ _id: 'u1', points: 10 }, { _id: 'u2', points: 20 }] }; - model.findOneAndUpdate.mockReturnThis(); - model.exec.mockResolvedValue(lb); - const res = await dao.removeUserFromLeaderboard('p1', 'u1'); - expect(res.users).toHaveLength(2); // Since mock isn't actually pulling, but we check sort - expect(res.users[0].points).toBe(20); - }); - - it('should delete leaderboard', async () => { - model.findOneAndDelete.mockReturnThis(); - model.exec.mockResolvedValue({}); - await dao.deleteLeaderboardByProjectId('p1'); - expect(model.findOneAndDelete).toHaveBeenCalled(); - }); - - it('should throw if delete not found', async () => { - model.findOneAndDelete.mockReturnThis(); - model.exec.mockResolvedValue(null); - await expect(dao.deleteLeaderboardByProjectId('p1')).rejects.toThrow(NotFoundException); - }); - - it('should create leaderboard', async () => { - const res = await dao.createLeaderboard('p1'); - expect(res).toBeDefined(); - }); - - it('should throw if add user not found', async () => { - model.findOneAndUpdate.mockReturnThis(); - model.exec.mockResolvedValue(null); - await expect(dao.addUserToLeaderboard('p1', { points: 1 } as any)).rejects.toThrow(NotFoundException); - }); - - it('should throw if remove user not found', async () => { - model.findOneAndUpdate.mockReturnThis(); - model.exec.mockResolvedValue(null); - await expect(dao.removeUserFromLeaderboard('p1', 'u1')).rejects.toThrow(NotFoundException); + save = jest.fn().mockResolvedValue(this); + static findOne = mockModel.findOne; + static findOneAndUpdate = mockModel.findOneAndUpdate; + static findOneAndDelete = mockModel.findOneAndDelete; + static create = mockModel.create; + static exec = mockModel.exec; + } + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + LeaderboardDao, + { + provide: getModelToken(Leaderboard.name), + useValue: MockModel, + }, + ], + }).compile(); + + dao = module.get(LeaderboardDao); + model = MockModel; + }); + + it('should return collection name', () => { + expect((LeaderboardSchema.statics as any).collectionName()).toBe( + 'Leaderboards', + ); + }); + + it('should find by project id or create', async () => { + model.findOne.mockReturnThis(); + model.exec.mockResolvedValue(null); + model.create.mockResolvedValue({ projectId: 'p1' }); + const res = await dao.findByProjectId('p1'); + expect(res.projectId).toBe('p1'); + expect(model.create).toHaveBeenCalled(); + }); + + it('should update leaderboard users', async () => { + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({ projectId: 'p1' }); + await dao.updateLeaderboardUsers('p1', []); + expect(model.findOneAndUpdate).toHaveBeenCalled(); + }); + + it('should throw if update not found', async () => { + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.updateLeaderboardUsers('p1', [])).rejects.toThrow( + NotFoundException, + ); + }); + + it('should add user to leaderboard', async () => { + const lb = { users: [{ points: 10 }, { points: 20 }] }; + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockImplementation(() => { + lb.users.push({ points: 15 } as any); + return Promise.resolve(lb); }); + const res = await dao.addUserToLeaderboard('p1', { points: 15 } as any); + expect(res.users[0].points).toBe(20); + expect(res.users[1].points).toBe(15); + expect(res.users[2].points).toBe(10); + }); + + it('should remove user from leaderboard', async () => { + const lb = { + users: [ + { _id: 'u1', points: 10 }, + { _id: 'u2', points: 20 }, + ], + }; + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue(lb); + const res = await dao.removeUserFromLeaderboard('p1', 'u1'); + expect(res.users).toHaveLength(2); // Since mock isn't actually pulling, but we check sort + expect(res.users[0].points).toBe(20); + }); + + it('should delete leaderboard', async () => { + model.findOneAndDelete.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.deleteLeaderboardByProjectId('p1'); + expect(model.findOneAndDelete).toHaveBeenCalled(); + }); + + it('should throw if delete not found', async () => { + model.findOneAndDelete.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.deleteLeaderboardByProjectId('p1')).rejects.toThrow( + NotFoundException, + ); + }); + + it('should create leaderboard', async () => { + const res = await dao.createLeaderboard('p1'); + expect(res).toBeDefined(); + }); + + it('should throw if add user not found', async () => { + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect( + dao.addUserToLeaderboard('p1', { points: 1 } as any), + ).rejects.toThrow(NotFoundException); + }); + + it('should throw if remove user not found', async () => { + model.findOneAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.removeUserFromLeaderboard('p1', 'u1')).rejects.toThrow( + NotFoundException, + ); + }); }); diff --git a/src/module/project/entities/ProjectMapper.spec.ts b/src/module/project/entities/ProjectMapper.spec.ts index 85029e4..f35efa4 100644 --- a/src/module/project/entities/ProjectMapper.spec.ts +++ b/src/module/project/entities/ProjectMapper.spec.ts @@ -1,43 +1,55 @@ import { ProjectMapper } from './ProjectMapper'; import { Project } from './project'; -import { GamificationStrategy, LeaderboardStrategy, RecommendationStrategy } from '../dto/create-project.dto'; +import { + GamificationStrategy, + LeaderboardStrategy, + RecommendationStrategy, +} from '../dto/create-project.dto'; describe('ProjectMapper', () => { - const template = { - _id: '1', - name: 'p1', - description: 'desc', - image: 'img', - web: 'web', - available: true, - areas: { type: 'FeatureCollection', features: [] }, - taskTypes: [], - timeIntervals: [], - ownerId: 'o1', - gamificationStrategy: GamificationStrategy.BASIC, - leaderboardStrategy: LeaderboardStrategy.POINTS_FIRST, - recommendationStrategy: RecommendationStrategy.SIMPLE, - manualLocation: false, - } as any; + const template = { + _id: '1', + name: 'p1', + description: 'desc', + image: 'img', + web: 'web', + available: true, + areas: { type: 'FeatureCollection', features: [] }, + taskTypes: [], + timeIntervals: [], + ownerId: 'o1', + gamificationStrategy: GamificationStrategy.BASIC, + leaderboardStrategy: LeaderboardStrategy.POINTS_FIRST, + recommendationStrategy: RecommendationStrategy.SIMPLE, + manualLocation: false, + } as any; - it('should map template to entity', () => { - const entity = ProjectMapper.toEntity(template); - expect(entity.id).toBe('1'); - expect(entity.name).toBe('p1'); - }); + it('should map template to entity', () => { + const entity = ProjectMapper.toEntity(template); + expect(entity.id).toBe('1'); + expect(entity.name).toBe('p1'); + }); - it('should map entity to template', () => { - const entity = new Project( - '1', 'p1', 'desc', 'img', 'web', true, - { type: 'FeatureCollection', features: [] } as any, - [], [], 'o1', null, - GamificationStrategy.BASIC, - LeaderboardStrategy.POINTS_FIRST, - RecommendationStrategy.SIMPLE, - false - ); - const result = ProjectMapper.toTemplate(entity); - expect(result.name).toBe('p1'); - expect(result.ownerId).toBe('o1'); - }); + it('should map entity to template', () => { + const entity = new Project( + '1', + 'p1', + 'desc', + 'img', + 'web', + true, + { type: 'FeatureCollection', features: [] } as any, + [], + [], + 'o1', + null, + GamificationStrategy.BASIC, + LeaderboardStrategy.POINTS_FIRST, + RecommendationStrategy.SIMPLE, + false, + ); + const result = ProjectMapper.toTemplate(entity); + expect(result.name).toBe('p1'); + expect(result.ownerId).toBe('o1'); + }); }); diff --git a/src/module/project/persistence/project.dao.spec.ts b/src/module/project/persistence/project.dao.spec.ts index 41134c3..7d15006 100644 --- a/src/module/project/persistence/project.dao.spec.ts +++ b/src/module/project/persistence/project.dao.spec.ts @@ -6,145 +6,167 @@ import { GamificationDao } from '../../gamification/persistence/gamification-dao import { NotFoundException } from '@nestjs/common'; describe('ProjectDao', () => { - let dao: ProjectDao; - let model: any; - let gamificationDao: any; - - const mockModel = { - find: jest.fn().mockReturnThis(), - findById: jest.fn().mockReturnThis(), - findByIdAndUpdate: jest.fn().mockReturnThis(), - exec: jest.fn(), - }; - - class MockModel { - constructor(data: any) { Object.assign(this, data); } - save = jest.fn().mockResolvedValue(this); - static find = mockModel.find; - static findById = mockModel.findById; - static findByIdAndUpdate = mockModel.findByIdAndUpdate; - static exec = mockModel.exec; + let dao: ProjectDao; + let model: any; + let gamificationDao: any; + + const mockModel = { + find: jest.fn().mockReturnThis(), + findById: jest.fn().mockReturnThis(), + findByIdAndUpdate: jest.fn().mockReturnThis(), + exec: jest.fn(), + }; + + class MockModel { + constructor(data: any) { + Object.assign(this, data); } - - const mockGamificationDao = { - getGamificationByProjectId: jest.fn(), - createNewGamificationFor: jest.fn(), + save = jest.fn().mockResolvedValue(this); + static find = mockModel.find; + static findById = mockModel.findById; + static findByIdAndUpdate = mockModel.findByIdAndUpdate; + static exec = mockModel.exec; + } + + const mockGamificationDao = { + getGamificationByProjectId: jest.fn(), + createNewGamificationFor: jest.fn(), + }; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + ProjectDao, + { + provide: getModelToken(ProjectTemplate.collectionName()), + useValue: MockModel, + }, + { provide: GamificationDao, useValue: mockGamificationDao }, + ], + }).compile(); + + dao = module.get(ProjectDao); + model = MockModel; + gamificationDao = module.get(GamificationDao); + }); + + it('should find all', async () => { + model.find.mockReturnThis(); + model.exec.mockResolvedValue([{ name: 'P1' }]); + const res = await dao.findAll(); + expect(res).toHaveLength(1); + }); + + it('should map time interval from db', () => { + const ti = { + _doc: { + name: 'T1', + days: [1], + time: { start: '08:00', end: '12:00' }, + startDate: new Date(), + endDate: new Date(), + }, }; - - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - ProjectDao, - { - provide: getModelToken(ProjectTemplate.collectionName()), - useValue: MockModel, - }, - { provide: GamificationDao, useValue: mockGamificationDao }, - ], - }).compile(); - - dao = module.get(ProjectDao); - model = MockModel; - gamificationDao = module.get(GamificationDao); - }); - - it('should find all', async () => { - model.find.mockReturnThis(); - model.exec.mockResolvedValue([{ name: 'P1' }]); - const res = await dao.findAll(); - expect(res).toHaveLength(1); - }); - - it('should map time interval from db', () => { - const ti = { _doc: { name: 'T1', days: [1], time: { start: '08:00', end: '12:00' }, startDate: new Date(), endDate: new Date() } }; - const res = dao.mapTimeIntervalFromDB(ti); - expect(res.name).toBe('T1'); - }); - - it('should throw if findOne not found', async () => { - model.findById.mockReturnThis(); - model.exec.mockResolvedValue(null); - await expect(dao.findOne('1')).rejects.toThrow(NotFoundException); - }); - - it('should find one and filter disabled areas', async () => { - const doc = { - name: 'P1', - areas: { - features: [ - { properties: { id: 'a1' } }, - { properties: { id: 'a2', disabled: true } } - ] - }, - taskTypes: [], - timeIntervals: [], - ownerId: 'o1' - }; - model.findById.mockReturnThis(); - model.exec.mockResolvedValue(doc); - gamificationDao.getGamificationByProjectId.mockResolvedValue({}); - jest.spyOn(dao as any, 'mapTimeIntervalFromDB').mockReturnValue({}); - - const res = await dao.findOne('1'); - expect(res.areas.features).toHaveLength(1); - expect(res.areas.features[0].properties.id).toBe('a1'); - }); - - it('should update and handle new areas', async () => { - const oldProject = { - areas: { features: [{ properties: { id: 'old' } }] } - }; - model.findById.mockResolvedValue(oldProject); - model.findByIdAndUpdate.mockReturnThis(); - model.exec.mockResolvedValue({ _id: '1' }); - - const updateDto = { areas: { type: 'FeatureCollection', features: [{ properties: { id: 'new' } }] } }; - await dao.update('1', updateDto as any); - - expect(model.findByIdAndUpdate).toHaveBeenCalled(); - const callArgs = model.findByIdAndUpdate.mock.calls[0][1]; - expect(callArgs.$set.areas.features).toHaveLength(2); - expect(callArgs.$set.areas.features.find(f => f.properties.id === 'old').properties.disabled).toBe(true); - }); - - it('should throw if update not found', async () => { - model.findById.mockResolvedValue(null); - await expect(dao.update('1', {})).rejects.toThrow(NotFoundException); - }); - - it('should find one', async () => { - const doc = { - name: 'P1', areas: { features: [] }, taskTypes: [], timeIntervals: [], ownerId: 'o1' - }; - model.findById.mockReturnThis(); - model.exec.mockResolvedValue(doc); - gamificationDao.getGamificationByProjectId.mockResolvedValue({}); - - jest.spyOn(dao, 'mapTimeIntervalFromDB').mockReturnValue({} as any); - - const res = await dao.findOne('1'); - expect(res.name).toBe('P1'); - }); - - it('should create project', async () => { - const res = await dao.create({ name: 'P1' } as any); - expect(res).toBeDefined(); - expect(gamificationDao.createNewGamificationFor).toHaveBeenCalled(); - }); - - it('should toggle available', async () => { - const project = { available: true, name: 'P' } as any; - jest.spyOn(dao, 'findOne').mockResolvedValue(project); - model.findByIdAndUpdate.mockReturnThis(); - model.exec.mockResolvedValue({}); - await dao.toggleAvailable('1'); - expect(model.findByIdAndUpdate).toHaveBeenCalled(); - }); - - it('should throw if toggleAvailable not found', async () => { - jest.spyOn(dao, 'findOne').mockResolvedValue({ available: true } as any); - model.findByIdAndUpdate.mockReturnThis(); - model.exec.mockResolvedValue(null); - await expect(dao.toggleAvailable('1')).rejects.toThrow(NotFoundException); - }); + const res = dao.mapTimeIntervalFromDB(ti); + expect(res.name).toBe('T1'); + }); + + it('should throw if findOne not found', async () => { + model.findById.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.findOne('1')).rejects.toThrow(NotFoundException); + }); + + it('should find one and filter disabled areas', async () => { + const doc = { + name: 'P1', + areas: { + features: [ + { properties: { id: 'a1' } }, + { properties: { id: 'a2', disabled: true } }, + ], + }, + taskTypes: [], + timeIntervals: [], + ownerId: 'o1', + }; + model.findById.mockReturnThis(); + model.exec.mockResolvedValue(doc); + gamificationDao.getGamificationByProjectId.mockResolvedValue({}); + jest.spyOn(dao as any, 'mapTimeIntervalFromDB').mockReturnValue({}); + + const res = await dao.findOne('1'); + expect(res.areas.features).toHaveLength(1); + expect(res.areas.features[0].properties.id).toBe('a1'); + }); + + it('should update and handle new areas', async () => { + const oldProject = { + areas: { features: [{ properties: { id: 'old' } }] }, + }; + model.findById.mockResolvedValue(oldProject); + model.findByIdAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({ _id: '1' }); + + const updateDto = { + areas: { + type: 'FeatureCollection', + features: [{ properties: { id: 'new' } }], + }, + }; + await dao.update('1', updateDto as any); + + expect(model.findByIdAndUpdate).toHaveBeenCalled(); + const callArgs = model.findByIdAndUpdate.mock.calls[0][1]; + expect(callArgs.$set.areas.features).toHaveLength(2); + expect( + callArgs.$set.areas.features.find((f) => f.properties.id === 'old') + .properties.disabled, + ).toBe(true); + }); + + it('should throw if update not found', async () => { + model.findById.mockResolvedValue(null); + await expect(dao.update('1', {})).rejects.toThrow(NotFoundException); + }); + + it('should find one', async () => { + const doc = { + name: 'P1', + areas: { features: [] }, + taskTypes: [], + timeIntervals: [], + ownerId: 'o1', + }; + model.findById.mockReturnThis(); + model.exec.mockResolvedValue(doc); + gamificationDao.getGamificationByProjectId.mockResolvedValue({}); + + jest.spyOn(dao, 'mapTimeIntervalFromDB').mockReturnValue({} as any); + + const res = await dao.findOne('1'); + expect(res.name).toBe('P1'); + }); + + it('should create project', async () => { + const res = await dao.create({ name: 'P1' } as any); + expect(res).toBeDefined(); + expect(gamificationDao.createNewGamificationFor).toHaveBeenCalled(); + }); + + it('should toggle available', async () => { + const project = { available: true, name: 'P' } as any; + jest.spyOn(dao, 'findOne').mockResolvedValue(project); + model.findByIdAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.toggleAvailable('1'); + expect(model.findByIdAndUpdate).toHaveBeenCalled(); + }); + + it('should throw if toggleAvailable not found', async () => { + jest.spyOn(dao, 'findOne').mockResolvedValue({ available: true } as any); + model.findByIdAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.toggleAvailable('1')).rejects.toThrow(NotFoundException); + }); }); diff --git a/src/module/project/project.builder.spec.ts b/src/module/project/project.builder.spec.ts index e4d3f8d..10670f7 100644 --- a/src/module/project/project.builder.spec.ts +++ b/src/module/project/project.builder.spec.ts @@ -1,36 +1,41 @@ import ProjectBuilder from './project.builder'; -import { GamificationStrategy, LeaderboardStrategy, RecommendationStrategy } from './dto/create-project.dto'; +import { + GamificationStrategy, + LeaderboardStrategy, + RecommendationStrategy, +} from './dto/create-project.dto'; describe('ProjectBuilder', () => { - it('should build a project with custom values', () => { - const project = ProjectBuilder - .withId('1') - .withName('Name') - .withDescription('Desc') - .withImage('img') - .withWeb('web') - .withAvailable(false) - .withAreas({ type: 'FeatureCollection', features: [] } as any) - .withTaskTypes(['type1']) - .withTimeIntervals([]) - .withOwnerId('owner') - .withGamification(null) - .withGamificationStrategy(GamificationStrategy.ELASTIC) - .withLeaderboardStrategy(LeaderboardStrategy.BADGES_FIRST) - .withRecommendationStrategy(RecommendationStrategy.ADAPTIVE) - .withManualLocation(true) - .build(); + it('should build a project with custom values', () => { + const project = ProjectBuilder.withId('1') + .withName('Name') + .withDescription('Desc') + .withImage('img') + .withWeb('web') + .withAvailable(false) + .withAreas({ type: 'FeatureCollection', features: [] } as any) + .withTaskTypes(['type1']) + .withTimeIntervals([]) + .withOwnerId('owner') + .withGamification(null) + .withGamificationStrategy(GamificationStrategy.ELASTIC) + .withLeaderboardStrategy(LeaderboardStrategy.BADGES_FIRST) + .withRecommendationStrategy(RecommendationStrategy.ADAPTIVE) + .withManualLocation(true) + .build(); - expect(project.id).toBe('1'); - expect(project.name).toBe('Name'); - expect(project.description).toBe('Desc'); - expect(project.image).toBe('img'); - expect(project.web).toBe('web'); - expect(project.available).toBe(false); - expect(project.ownerId).toBe('owner'); - expect(project.gamificationStrategy).toBe(GamificationStrategy.ELASTIC); - expect(project.leaderboardStrategy).toBe(LeaderboardStrategy.BADGES_FIRST); - expect(project.recommendationStrategy).toBe(RecommendationStrategy.ADAPTIVE); - expect(project.manualLocation).toBe(true); - }); + expect(project.id).toBe('1'); + expect(project.name).toBe('Name'); + expect(project.description).toBe('Desc'); + expect(project.image).toBe('img'); + expect(project.web).toBe('web'); + expect(project.available).toBe(false); + expect(project.ownerId).toBe('owner'); + expect(project.gamificationStrategy).toBe(GamificationStrategy.ELASTIC); + expect(project.leaderboardStrategy).toBe(LeaderboardStrategy.BADGES_FIRST); + expect(project.recommendationStrategy).toBe( + RecommendationStrategy.ADAPTIVE, + ); + expect(project.manualLocation).toBe(true); + }); }); diff --git a/src/module/project/project.controller.spec.ts b/src/module/project/project.controller.spec.ts index 60e2fb9..8cb836e 100644 --- a/src/module/project/project.controller.spec.ts +++ b/src/module/project/project.controller.spec.ts @@ -6,78 +6,78 @@ import { JwtAuthGuard } from '../auth/auth.guard'; import { RolesGuard } from '../auth/roles.guard'; describe('ProjectController', () => { - let controller: ProjectController; - let service: ProjectService; + let controller: ProjectController; + let service: ProjectService; - const mockProjectService = { - getTaskCombinations: jest.fn(), - findAll: jest.fn(), - create: jest.fn(), - findOne: jest.fn(), - findOnePublic: jest.fn(), - update: jest.fn(), - toggleAvailable: jest.fn(), - }; + const mockProjectService = { + getTaskCombinations: jest.fn(), + findAll: jest.fn(), + create: jest.fn(), + findOne: jest.fn(), + findOnePublic: jest.fn(), + update: jest.fn(), + toggleAvailable: jest.fn(), + }; - const mockUserService = {}; + const mockUserService = {}; - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - controllers: [ProjectController], - providers: [ - { provide: ProjectService, useValue: mockProjectService }, - { provide: UserService, useValue: mockUserService }, - ], - }) - .overrideGuard(JwtAuthGuard) - .useValue({ canActivate: () => true }) - .overrideGuard(RolesGuard) - .useValue({ canActivate: () => true }) - .compile(); + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [ProjectController], + providers: [ + { provide: ProjectService, useValue: mockProjectService }, + { provide: UserService, useValue: mockUserService }, + ], + }) + .overrideGuard(JwtAuthGuard) + .useValue({ canActivate: () => true }) + .overrideGuard(RolesGuard) + .useValue({ canActivate: () => true }) + .compile(); - controller = module.get(ProjectController); - service = module.get(ProjectService); - }); + controller = module.get(ProjectController); + service = module.get(ProjectService); + }); - it('should be defined', () => { - expect(controller).toBeDefined(); - }); + it('should be defined', () => { + expect(controller).toBeDefined(); + }); - it('should call getTaskCombinations', async () => { - await controller.getTaskCombination('1'); - expect(service.getTaskCombinations).toHaveBeenCalledWith('1'); - }); + it('should call getTaskCombinations', async () => { + await controller.getTaskCombination('1'); + expect(service.getTaskCombinations).toHaveBeenCalledWith('1'); + }); - it('should call findAll', async () => { - await controller.findAll(); - expect(service.findAll).toHaveBeenCalled(); - }); + it('should call findAll', async () => { + await controller.findAll(); + expect(service.findAll).toHaveBeenCalled(); + }); - it('should call create', async () => { - const dto = {} as any; - await controller.create(dto); - expect(service.create).toHaveBeenCalledWith(dto); - }); + it('should call create', async () => { + const dto = {} as any; + await controller.create(dto); + expect(service.create).toHaveBeenCalledWith(dto); + }); - it('should call findOne', async () => { - const req = { user: { userId: 'u1' } }; - await controller.findOne('1', req); - expect(service.findOne).toHaveBeenCalledWith('1', 'u1'); - }); + it('should call findOne', async () => { + const req = { user: { userId: 'u1' } }; + await controller.findOne('1', req); + expect(service.findOne).toHaveBeenCalledWith('1', 'u1'); + }); - it('should call findOnePublic', async () => { - await controller.findOnePublic('1'); - expect(service.findOnePublic).toHaveBeenCalledWith('1'); - }); + it('should call findOnePublic', async () => { + await controller.findOnePublic('1'); + expect(service.findOnePublic).toHaveBeenCalledWith('1'); + }); - it('should call update', async () => { - const dto = {} as any; - await controller.update('1', dto); - expect(service.update).toHaveBeenCalledWith('1', dto); - }); + it('should call update', async () => { + const dto = {} as any; + await controller.update('1', dto); + expect(service.update).toHaveBeenCalledWith('1', dto); + }); - it('should call toggleAvailable', async () => { - await controller.toggleAvailable('1'); - expect(service.toggleAvailable).toHaveBeenCalledWith('1'); - }); + it('should call toggleAvailable', async () => { + await controller.toggleAvailable('1'); + expect(service.toggleAvailable).toHaveBeenCalledWith('1'); + }); }); diff --git a/src/module/task/entities/task.spec.ts b/src/module/task/entities/task.spec.ts index 37248b0..7f35781 100644 --- a/src/module/task/entities/task.spec.ts +++ b/src/module/task/entities/task.spec.ts @@ -179,7 +179,15 @@ describe('Task', () => { }); it('should return false in accept if areaGeoJSON is missing', () => { - const taskNoArea = new Task('id', 'name', 'desc', 'p', {} as any, null, 'type'); + const taskNoArea = new Task( + 'id', + 'name', + 'desc', + 'p', + {} as any, + null, + 'type', + ); expect(taskNoArea.accept(checkin)).toBe(false); }); }); diff --git a/src/module/task/persistence/task.dao.spec.ts b/src/module/task/persistence/task.dao.spec.ts index 1e2ba8f..dda15de 100644 --- a/src/module/task/persistence/task.dao.spec.ts +++ b/src/module/task/persistence/task.dao.spec.ts @@ -3,196 +3,232 @@ import { getModelToken } from '@nestjs/mongoose'; import { TaskDao } from './task.dao'; import { TaskSchemaTemplate } from './task.schema'; import { ProjectDao } from '../../project/persistence/project.dao'; -import { NotFoundException } from '@nestjs/common'; describe('TaskDao', () => { - let dao: TaskDao; - let model: any; - let projectDao: any; - - const mockModel = { - find: jest.fn().mockReturnThis(), - findById: jest.fn().mockReturnThis(), - findByIdAndUpdate: jest.fn().mockReturnThis(), - findByIdAndDelete: jest.fn().mockReturnThis(), - deleteMany: jest.fn().mockReturnThis(), - findOne: jest.fn().mockReturnThis(), - insertMany: jest.fn(), - exec: jest.fn(), - }; - - class MockModel { - constructor(data: any) { Object.assign(this, data); } - save = jest.fn().mockResolvedValue(this); - static find = mockModel.find; - static findById = mockModel.findById; - static findByIdAndUpdate = mockModel.findByIdAndUpdate; - static findByIdAndDelete = mockModel.findByIdAndDelete; - static findOne = mockModel.findOne; - static deleteMany = mockModel.deleteMany; - static insertMany = mockModel.insertMany; - static exec = mockModel.exec; + let dao: TaskDao; + let model: any; + let projectDao: any; + + const mockModel = { + find: jest.fn().mockReturnThis(), + findById: jest.fn().mockReturnThis(), + findByIdAndUpdate: jest.fn().mockReturnThis(), + findByIdAndDelete: jest.fn().mockReturnThis(), + deleteMany: jest.fn().mockReturnThis(), + findOne: jest.fn().mockReturnThis(), + insertMany: jest.fn(), + exec: jest.fn(), + }; + + class MockModel { + constructor(data: any) { + Object.assign(this, data); } - - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - TaskDao, - { - provide: getModelToken(TaskSchemaTemplate.collectionName()), - useValue: MockModel, - }, - { provide: ProjectDao, useValue: mockProjectDao }, - ], - }).compile(); - - dao = module.get(TaskDao); - model = MockModel; - projectDao = module.get(ProjectDao); - }); - - const mockProjectDao = { - findOne: jest.fn(), + save = jest.fn().mockResolvedValue(this); + static find = mockModel.find; + static findById = mockModel.findById; + static findByIdAndUpdate = mockModel.findByIdAndUpdate; + static findByIdAndDelete = mockModel.findByIdAndDelete; + static findOne = mockModel.findOne; + static deleteMany = mockModel.deleteMany; + static insertMany = mockModel.insertMany; + static exec = mockModel.exec; + } + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + TaskDao, + { + provide: getModelToken(TaskSchemaTemplate.collectionName()), + useValue: MockModel, + }, + { provide: ProjectDao, useValue: mockProjectDao }, + ], + }).compile(); + + dao = module.get(TaskDao); + model = MockModel; + projectDao = module.get(ProjectDao); + }); + + const mockProjectDao = { + findOne: jest.fn(), + }; + + it('should get task by id', async () => { + const doc = { + _doc: { + _id: '1', + name: 'T1', + description: 'D1', + projectId: 'p1', + type: 't1', + solved: false, + areaId: 'a1', + timeIntervalId: 'i1', + }, }; - - it('should get task by id', async () => { - const doc = { - _doc: { - _id: '1', name: 'T1', description: 'D1', projectId: 'p1', type: 't1', solved: false, areaId: 'a1', timeIntervalId: 'i1' - } - }; - const project = { - id: 'p1', - areas: { features: [{ properties: { id: 'a1' }, geometry: {} }] }, - timeIntervals: [{ name: 'i1' }] - }; - model.findById.mockReturnThis(); - model.exec.mockResolvedValue(doc); - projectDao.findOne.mockResolvedValue(project); - - const res = await dao.getTaskById('1'); - expect(res.name).toBe('T1'); - }); - - it('should create task', async () => { - const dto = { name: 'T' }; - await dao.create(dto as any); - // Constructor of MockModel was called - }); - - it('should get all tasks', async () => { - model.find.mockReturnThis(); - model.exec.mockResolvedValue([]); - const res = await dao.getAllTasks(); - expect(res).toEqual([]); - }); - - it('should get tasks by project', async () => { - const docs = [{ _id: '1', projectId: 'p1', areaId: 'a1', timeIntervalId: 'i1', name: 'T1' }]; - const project = { areas: { features: [] }, timeIntervals: [] }; - model.find.mockReturnThis(); - model.exec.mockResolvedValue(docs); - projectDao.findOne.mockResolvedValue(project); - const res = await dao.getTasksByProject('p1'); - expect(res).toHaveLength(1); - }); - - it('should return empty if no tasks for project', async () => { - model.find.mockReturnThis(); - model.exec.mockResolvedValue(null); - await expect(dao.getTasksByProject('p1')).rejects.toThrow('No tasks found for this project'); - }); - - it('should delete task', async () => { - model.findByIdAndDelete.mockReturnThis(); - model.exec.mockResolvedValue({}); - await dao.deleteTask('1'); - expect(model.findByIdAndDelete).toHaveBeenCalled(); - }); - - it('should find by name or description', async () => { - model.findOne.mockReturnThis(); - model.exec.mockResolvedValue({}); - await dao.findByNameOrDescription('n', 'd'); - expect(model.findOne).toHaveBeenCalled(); - }); - - it('should set task as solved', async () => { - model.findByIdAndUpdate.mockReturnThis(); - model.exec.mockResolvedValue({}); - await dao.setTaskAsSolved('1'); - expect(model.findByIdAndUpdate).toHaveBeenCalledWith('1', { solved: true }, { new: true }); - }); - - it('should throw if setting solved for missing task', async () => { - model.findByIdAndUpdate.mockReturnThis(); - model.exec.mockResolvedValue(null); - await expect(dao.setTaskAsSolved('1')).rejects.toThrow('Task with id 1 not found'); - }); - - it('should delete by project id', async () => { - model.deleteMany.mockReturnThis(); - model.exec.mockResolvedValue({ deletedCount: 5 }); - const res = await dao.deleteByProjectId('p1'); - expect(res).toBe(5); - }); - - it('should bulk save', async () => { - model.insertMany.mockResolvedValue([]); - await dao.bulkSave([]); - expect(model.insertMany).toHaveBeenCalled(); - }); - - it('should delete useless', async () => { - const project = { - id: 'p1', - taskTypes: [], - timeIntervals: [], - areas: { features: [{ properties: { id: 'a1' } }] } - } as any; - model.find.mockReturnThis(); - model.exec.mockResolvedValue([]); - model.deleteMany.mockReturnThis(); - model.exec.mockResolvedValue({}); - await dao.deleteUseless(project); - expect(model.deleteMany).toHaveBeenCalled(); - }); - - it('should update task', async () => { - model.findByIdAndUpdate.mockReturnThis(); - model.exec.mockResolvedValue({}); - await dao.updateTask('1', {}); - expect(model.findByIdAndUpdate).toHaveBeenCalled(); - }); - - it('should get raw tasks and map them', async () => { - const docs = [{ _id: '1', projectId: 'p1', areaId: 'a1', timeIntervalId: 'i1', name: 'T1' }]; - const project = { areas: { features: [] }, timeIntervals: [] }; - model.find.mockReturnThis(); - model.exec.mockResolvedValue(docs); - projectDao.findOne.mockResolvedValue(project); - const res = await dao.getRawTasksByProject('p1'); - expect(res).toHaveLength(1); - }); - - it('should throw if no raw tasks found', async () => { - model.find.mockReturnThis(); - model.exec.mockResolvedValue(null); - await expect(dao.getRawTasksByProject('p1')).rejects.toThrow('No tasks found for this project'); - }); - - it('should delete useless with missing property ids', async () => { - const project = { - id: 'p1', - taskTypes: [], - timeIntervals: [], - areas: { features: [{ properties: { id: undefined } }, { properties: {} }] } - } as any; - model.find.mockReturnThis(); - model.exec.mockResolvedValue([]); - model.deleteMany.mockReturnThis(); - model.exec.mockResolvedValue({ deletedCount: 0 }); - await dao.deleteUseless(project); - expect(model.deleteMany).toHaveBeenCalled(); - }); + const project = { + id: 'p1', + areas: { features: [{ properties: { id: 'a1' }, geometry: {} }] }, + timeIntervals: [{ name: 'i1' }], + }; + model.findById.mockReturnThis(); + model.exec.mockResolvedValue(doc); + projectDao.findOne.mockResolvedValue(project); + + const res = await dao.getTaskById('1'); + expect(res.name).toBe('T1'); + }); + + it('should create task', async () => { + const dto = { name: 'T' }; + await dao.create(dto as any); + // Constructor of MockModel was called + }); + + it('should get all tasks', async () => { + model.find.mockReturnThis(); + model.exec.mockResolvedValue([]); + const res = await dao.getAllTasks(); + expect(res).toEqual([]); + }); + + it('should get tasks by project', async () => { + const docs = [ + { + _id: '1', + projectId: 'p1', + areaId: 'a1', + timeIntervalId: 'i1', + name: 'T1', + }, + ]; + const project = { areas: { features: [] }, timeIntervals: [] }; + model.find.mockReturnThis(); + model.exec.mockResolvedValue(docs); + projectDao.findOne.mockResolvedValue(project); + const res = await dao.getTasksByProject('p1'); + expect(res).toHaveLength(1); + }); + + it('should return empty if no tasks for project', async () => { + model.find.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.getTasksByProject('p1')).rejects.toThrow( + 'No tasks found for this project', + ); + }); + + it('should delete task', async () => { + model.findByIdAndDelete.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.deleteTask('1'); + expect(model.findByIdAndDelete).toHaveBeenCalled(); + }); + + it('should find by name or description', async () => { + model.findOne.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.findByNameOrDescription('n', 'd'); + expect(model.findOne).toHaveBeenCalled(); + }); + + it('should set task as solved', async () => { + model.findByIdAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.setTaskAsSolved('1'); + expect(model.findByIdAndUpdate).toHaveBeenCalledWith( + '1', + { solved: true }, + { new: true }, + ); + }); + + it('should throw if setting solved for missing task', async () => { + model.findByIdAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.setTaskAsSolved('1')).rejects.toThrow( + 'Task with id 1 not found', + ); + }); + + it('should delete by project id', async () => { + model.deleteMany.mockReturnThis(); + model.exec.mockResolvedValue({ deletedCount: 5 }); + const res = await dao.deleteByProjectId('p1'); + expect(res).toBe(5); + }); + + it('should bulk save', async () => { + model.insertMany.mockResolvedValue([]); + await dao.bulkSave([]); + expect(model.insertMany).toHaveBeenCalled(); + }); + + it('should delete useless', async () => { + const project = { + id: 'p1', + taskTypes: [], + timeIntervals: [], + areas: { features: [{ properties: { id: 'a1' } }] }, + } as any; + model.find.mockReturnThis(); + model.exec.mockResolvedValue([]); + model.deleteMany.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.deleteUseless(project); + expect(model.deleteMany).toHaveBeenCalled(); + }); + + it('should update task', async () => { + model.findByIdAndUpdate.mockReturnThis(); + model.exec.mockResolvedValue({}); + await dao.updateTask('1', {}); + expect(model.findByIdAndUpdate).toHaveBeenCalled(); + }); + + it('should get raw tasks and map them', async () => { + const docs = [ + { + _id: '1', + projectId: 'p1', + areaId: 'a1', + timeIntervalId: 'i1', + name: 'T1', + }, + ]; + const project = { areas: { features: [] }, timeIntervals: [] }; + model.find.mockReturnThis(); + model.exec.mockResolvedValue(docs); + projectDao.findOne.mockResolvedValue(project); + const res = await dao.getRawTasksByProject('p1'); + expect(res).toHaveLength(1); + }); + + it('should throw if no raw tasks found', async () => { + model.find.mockReturnThis(); + model.exec.mockResolvedValue(null); + await expect(dao.getRawTasksByProject('p1')).rejects.toThrow( + 'No tasks found for this project', + ); + }); + + it('should delete useless with missing property ids', async () => { + const project = { + id: 'p1', + taskTypes: [], + timeIntervals: [], + areas: { + features: [{ properties: { id: undefined } }, { properties: {} }], + }, + } as any; + model.find.mockReturnThis(); + model.exec.mockResolvedValue([]); + model.deleteMany.mockReturnThis(); + model.exec.mockResolvedValue({ deletedCount: 0 }); + await dao.deleteUseless(project); + expect(model.deleteMany).toHaveBeenCalled(); + }); }); diff --git a/src/module/task/task.builder.spec.ts b/src/module/task/task.builder.spec.ts index b27a010..0c52dbc 100644 --- a/src/module/task/task.builder.spec.ts +++ b/src/module/task/task.builder.spec.ts @@ -1,23 +1,22 @@ import TaskBuilder from './task.builder'; describe('TaskBuilder', () => { - it('should build a task with custom values', () => { - const task = TaskBuilder - .withId('1') - .withName('Name') - .withDescription('Desc') - .withProjectId('p1') - .withTimeRestriction(null) - .withArea(null) - .withType('type1') - .withSolved(true) - .build(); + it('should build a task with custom values', () => { + const task = TaskBuilder.withId('1') + .withName('Name') + .withDescription('Desc') + .withProjectId('p1') + .withTimeRestriction(null) + .withArea(null) + .withType('type1') + .withSolved(true) + .build(); - expect(task.getId()).toBe('1'); - expect(task.name).toBe('Name'); - expect(task.description).toBe('Desc'); - expect(task.projectId).toBe('p1'); - expect(task.type).toBe('type1'); - expect(task.solved).toBe(true); - }); + expect(task.getId()).toBe('1'); + expect(task.name).toBe('Name'); + expect(task.description).toBe('Desc'); + expect(task.projectId).toBe('p1'); + expect(task.type).toBe('type1'); + expect(task.solved).toBe(true); + }); }); diff --git a/src/module/task/task.controller.spec.ts b/src/module/task/task.controller.spec.ts index f12a97e..5424a47 100644 --- a/src/module/task/task.controller.spec.ts +++ b/src/module/task/task.controller.spec.ts @@ -3,80 +3,77 @@ import { TaskController } from './task.controller'; import { TaskService } from './task.service'; import { JwtAuthGuard } from '../auth/auth.guard'; import { RolesGuard } from '../auth/roles.guard'; -import { CreateTaskDto } from './dto/create-task.dto'; describe('TaskController', () => { - let controller: TaskController; - let service: TaskService; + let controller: TaskController; + let service: TaskService; - const mockTaskService = { - bulkSave: jest.fn(), - removeUselessFrom: jest.fn(), - create: jest.fn(), - findRawByProjectId: jest.fn(), - findOne: jest.fn(), - update: jest.fn(), - remove: jest.fn(), - }; + const mockTaskService = { + bulkSave: jest.fn(), + removeUselessFrom: jest.fn(), + create: jest.fn(), + findRawByProjectId: jest.fn(), + findOne: jest.fn(), + update: jest.fn(), + remove: jest.fn(), + }; - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - controllers: [TaskController], - providers: [ - { provide: TaskService, useValue: mockTaskService }, - ], - }) - .overrideGuard(JwtAuthGuard) - .useValue({ canActivate: () => true }) - .overrideGuard(RolesGuard) - .useValue({ canActivate: () => true }) - .compile(); + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [TaskController], + providers: [{ provide: TaskService, useValue: mockTaskService }], + }) + .overrideGuard(JwtAuthGuard) + .useValue({ canActivate: () => true }) + .overrideGuard(RolesGuard) + .useValue({ canActivate: () => true }) + .compile(); - controller = module.get(TaskController); - service = module.get(TaskService); - }); + controller = module.get(TaskController); + service = module.get(TaskService); + }); - it('should be defined', () => { - expect(controller).toBeDefined(); - }); + it('should be defined', () => { + expect(controller).toBeDefined(); + }); - it('should call bulkSave', async () => { - await controller.postBulk('p1', []); - expect(service.bulkSave).toHaveBeenCalledWith('p1', []); - }); + it('should call bulkSave', async () => { + await controller.postBulk('p1', []); + expect(service.bulkSave).toHaveBeenCalledWith('p1', []); + }); - it('should call removeUselessFromProject', async () => { - await controller.removeUselessFromProject('p1'); - expect(service.removeUselessFrom).toHaveBeenCalledWith('p1'); - }); + it('should call removeUselessFromProject', async () => { + await controller.removeUselessFromProject('p1'); + expect(service.removeUselessFrom).toHaveBeenCalledWith('p1'); + }); - it('should call create', async () => { - const dto = { name: 't1' } as any; - // Mock CreateTaskDto.fromDTO if needed, but since it's a static method on the class itself - // and we're just testing the controller call, we can mock the service.create - await controller.create(dto); - expect(service.create).toHaveBeenCalled(); - }); + it('should call create', async () => { + const dto = { name: 't1' } as any; + // Mock CreateTaskDto.fromDTO if needed, but since it's a static method on the class itself + // and we're just testing the controller call, we can mock the service.create + await controller.create(dto); + expect(service.create).toHaveBeenCalled(); + }); - it('should call findAllByProject', async () => { - const req = { user: { username: 'u1' } }; - await controller.findAllByProject('p1', req); - expect(service.findRawByProjectId).toHaveBeenCalledWith('p1', 'u1'); - }); + it('should call findAllByProject', async () => { + const req = { user: { username: 'u1' } }; + await controller.findAllByProject('p1', req); + expect(service.findRawByProjectId).toHaveBeenCalledWith('p1', 'u1'); + }); - it('should call findOne', async () => { - await controller.findOne('1'); - expect(service.findOne).toHaveBeenCalledWith('1'); - }); + it('should call findOne', async () => { + await controller.findOne('1'); + expect(service.findOne).toHaveBeenCalledWith('1'); + }); - it('should call update', async () => { - const dto = {} as any; - await controller.update('1', dto); - expect(service.update).toHaveBeenCalledWith('1', dto); - }); + it('should call update', async () => { + const dto = {} as any; + await controller.update('1', dto); + expect(service.update).toHaveBeenCalledWith('1', dto); + }); - it('should call remove', async () => { - await controller.remove('1'); - expect(service.remove).toHaveBeenCalledWith('1'); - }); + it('should call remove', async () => { + await controller.remove('1'); + expect(service.remove).toHaveBeenCalledWith('1'); + }); }); diff --git a/src/module/volunteer/entities/volunteer.entity.spec.ts b/src/module/volunteer/entities/volunteer.entity.spec.ts index 78cd527..1c71775 100644 --- a/src/module/volunteer/entities/volunteer.entity.spec.ts +++ b/src/module/volunteer/entities/volunteer.entity.spec.ts @@ -1,7 +1,7 @@ import { Volunteer } from './volunteer.entity'; describe('Volunteer', () => { - it('should create an instance', () => { - expect(new Volunteer()).toBeDefined(); - }); + it('should create an instance', () => { + expect(new Volunteer()).toBeDefined(); + }); }); diff --git a/src/module/volunteer/volunteer.controller.spec.ts b/src/module/volunteer/volunteer.controller.spec.ts index 2652fdc..80f52e9 100644 --- a/src/module/volunteer/volunteer.controller.spec.ts +++ b/src/module/volunteer/volunteer.controller.spec.ts @@ -4,54 +4,57 @@ import { VolunteerService } from './volunteer.service'; import { JwtAuthGuard } from '../auth/auth.guard'; describe('VolunteerController', () => { - let controller: VolunteerController; - let service: VolunteerService; - - const mockVolunteerService = { - subscribeToProject: jest.fn(), - findProjects: jest.fn(), - findPublicProjects: jest.fn(), - }; - - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - controllers: [VolunteerController], - providers: [ - { provide: VolunteerService, useValue: mockVolunteerService }, - ], - }) - .overrideGuard(JwtAuthGuard) - .useValue({ canActivate: () => true }) - .compile(); - - controller = module.get(VolunteerController); - service = module.get(VolunteerService); + let controller: VolunteerController; + let service: VolunteerService; + + const mockVolunteerService = { + subscribeToProject: jest.fn(), + findProjects: jest.fn(), + findPublicProjects: jest.fn(), + }; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [VolunteerController], + providers: [ + { provide: VolunteerService, useValue: mockVolunteerService }, + ], + }) + .overrideGuard(JwtAuthGuard) + .useValue({ canActivate: () => true }) + .compile(); + + controller = module.get(VolunteerController); + service = module.get(VolunteerService); + }); + + it('should be defined', () => { + expect(controller).toBeDefined(); + }); + + describe('subscribe', () => { + it('should call service.subscribeToProject', async () => { + const req = { user: { userId: '1' } }; + await controller.subscribe(req, 'proj1'); + expect(service.subscribeToProject).toHaveBeenCalledWith( + req.user, + 'proj1', + ); }); + }); - it('should be defined', () => { - expect(controller).toBeDefined(); + describe('findProjects', () => { + it('should call service.findProjects', async () => { + const req = { user: { userId: '1' } }; + await controller.findProjects(req); + expect(service.findProjects).toHaveBeenCalledWith('1'); }); + }); - describe('subscribe', () => { - it('should call service.subscribeToProject', async () => { - const req = { user: { userId: '1' } }; - await controller.subscribe(req, 'proj1'); - expect(service.subscribeToProject).toHaveBeenCalledWith(req.user, 'proj1'); - }); - }); - - describe('findProjects', () => { - it('should call service.findProjects', async () => { - const req = { user: { userId: '1' } }; - await controller.findProjects(req); - expect(service.findProjects).toHaveBeenCalledWith('1'); - }); - }); - - describe('findPublicProjects', () => { - it('should call service.findPublicProjects', async () => { - await controller.findPublicProjects(); - expect(service.findPublicProjects).toHaveBeenCalled(); - }); + describe('findPublicProjects', () => { + it('should call service.findPublicProjects', async () => { + await controller.findPublicProjects(); + expect(service.findPublicProjects).toHaveBeenCalled(); }); + }); }); diff --git a/src/module/volunteer/volunteer.service.spec.ts b/src/module/volunteer/volunteer.service.spec.ts index d164af6..0572502 100644 --- a/src/module/volunteer/volunteer.service.spec.ts +++ b/src/module/volunteer/volunteer.service.spec.ts @@ -6,117 +6,135 @@ import { User } from '../auth/users/user.entity'; import { UserRole } from '../auth/users/user.schema'; describe('VolunteerService', () => { - let service: VolunteerService; - let userService: UserService; - let projectService: ProjectService; - - const mockUserService = { - getByUserId: jest.fn(), - update: jest.fn(), - }; - - const mockProjectService = { - findAll: jest.fn(), - }; - - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [ - VolunteerService, - { provide: UserService, useValue: mockUserService }, - { provide: ProjectService, useValue: mockProjectService }, - ], - }).compile(); - - service = module.get(VolunteerService); - userService = module.get(UserService); - projectService = module.get(ProjectService); + let service: VolunteerService; + + const mockUserService = { + getByUserId: jest.fn(), + update: jest.fn(), + }; + + const mockProjectService = { + findAll: jest.fn(), + }; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + VolunteerService, + { provide: UserService, useValue: mockUserService }, + { provide: ProjectService, useValue: mockProjectService }, + ], + }).compile(); + + service = module.get(VolunteerService); + }); + + it('should be defined', () => { + expect(service).toBeDefined(); + }); + + describe('subscribeToProject', () => { + it('should subscribe if not already subscribed', async () => { + const userJwt = { + userId: 'user1', + username: 'test', + role: UserRole.Volunteer, + }; + const user = new User( + 'Test', + 'test', + 'test@test.com', + 'pass', + '', + false, + UserRole.Volunteer, + ); + user.isSubscribedToProject = jest.fn().mockReturnValue(false); + user.subscribeToProject = jest.fn(); + + mockUserService.getByUserId.mockResolvedValue(user); + mockUserService.update.mockResolvedValue(user); + + await service.subscribeToProject(userJwt, 'proj1'); + + expect(user.subscribeToProject).toHaveBeenCalledWith('proj1'); + expect(mockUserService.update).toHaveBeenCalledWith('user1', user); }); - it('should be defined', () => { - expect(service).toBeDefined(); + it('should unsubscribe if already subscribed', async () => { + const userJwt = { + userId: 'user1', + username: 'test', + role: UserRole.Volunteer, + }; + const user = new User( + 'Test', + 'test', + 'test@test.com', + 'pass', + '', + false, + UserRole.Volunteer, + ); + user.isSubscribedToProject = jest.fn().mockReturnValue(true); + user.unsubscribeFromProject = jest.fn(); + + mockUserService.getByUserId.mockResolvedValue(user); + mockUserService.update.mockResolvedValue(user); + + await service.subscribeToProject(userJwt, 'proj1'); + + expect(user.unsubscribeFromProject).toHaveBeenCalledWith('proj1'); + expect(mockUserService.update).toHaveBeenCalledWith('user1', user); + }); + }); + + describe('findProjects', () => { + it('should return projects with subscription status sorted', async () => { + const userId = 'user1'; + const user = { + gameProfiles: [{ projectId: 'proj1', active: true }], + } as any; + const projects = [ + { _id: 'proj1', name: 'Project 1' }, + { _id: 'proj2', name: 'Project 2' }, + ] as any; + + mockUserService.getByUserId.mockResolvedValue(user); + mockProjectService.findAll.mockResolvedValue(projects); + + const result = await service.findProjects(userId); + + expect(result).toHaveLength(2); + expect(result[0]._id).toBe('proj1'); + expect(result[0].subscribed).toBe(true); + expect(result[1]._id).toBe('proj2'); + expect(result[1].subscribed).toBe(false); }); - describe('subscribeToProject', () => { - it('should subscribe if not already subscribed', async () => { - const userJwt = { userId: 'user1', username: 'test', role: UserRole.Volunteer }; - const user = new User('Test', 'test', 'test@test.com', 'pass', '', false, UserRole.Volunteer); - user.isSubscribedToProject = jest.fn().mockReturnValue(false); - user.subscribeToProject = jest.fn(); - - mockUserService.getByUserId.mockResolvedValue(user); - mockUserService.update.mockResolvedValue(user); - - await service.subscribeToProject(userJwt, 'proj1'); - - expect(user.subscribeToProject).toHaveBeenCalledWith('proj1'); - expect(mockUserService.update).toHaveBeenCalledWith('user1', user); - }); - - it('should unsubscribe if already subscribed', async () => { - const userJwt = { userId: 'user1', username: 'test', role: UserRole.Volunteer }; - const user = new User('Test', 'test', 'test@test.com', 'pass', '', false, UserRole.Volunteer); - user.isSubscribedToProject = jest.fn().mockReturnValue(true); - user.unsubscribeFromProject = jest.fn(); - - mockUserService.getByUserId.mockResolvedValue(user); - mockUserService.update.mockResolvedValue(user); + it('should handle sorting logic comprehensively', async () => { + const p1 = { subscribed: true }; + const p2 = { subscribed: false }; + const p3 = { subscribed: true }; + const p4 = { subscribed: false }; - await service.subscribeToProject(userJwt, 'proj1'); + const sorted = (service as any).sortSubscriptions([p2, p1]); + expect(sorted[0].subscribed).toBe(true); + expect(sorted[1].subscribed).toBe(false); - expect(user.unsubscribeFromProject).toHaveBeenCalledWith('proj1'); - expect(mockUserService.update).toHaveBeenCalledWith('user1', user); - }); - }); + const equalTrue = (service as any).sortSubscriptions([p1, p3]); + expect(equalTrue).toEqual([p1, p3]); - describe('findProjects', () => { - it('should return projects with subscription status sorted', async () => { - const userId = 'user1'; - const user = { - gameProfiles: [ - { projectId: 'proj1', active: true }, - ], - } as any; - const projects = [ - { _id: 'proj1', name: 'Project 1' }, - { _id: 'proj2', name: 'Project 2' }, - ] as any; - - mockUserService.getByUserId.mockResolvedValue(user); - mockProjectService.findAll.mockResolvedValue(projects); - - const result = await service.findProjects(userId); - - expect(result).toHaveLength(2); - expect(result[0]._id).toBe('proj1'); - expect(result[0].subscribed).toBe(true); - expect(result[1]._id).toBe('proj2'); - expect(result[1].subscribed).toBe(false); - }); - - it('should handle sorting logic comprehensively', async () => { - const p1 = { subscribed: true }; - const p2 = { subscribed: false }; - const p3 = { subscribed: true }; - const p4 = { subscribed: false }; - - const sorted = (service as any).sortSubscriptions([p2, p1]); - expect(sorted[0].subscribed).toBe(true); - expect(sorted[1].subscribed).toBe(false); - - const equalTrue = (service as any).sortSubscriptions([p1, p3]); - expect(equalTrue).toEqual([p1, p3]); - - const equalFalse = (service as any).sortSubscriptions([p2, p4]); - expect(equalFalse).toEqual([p2, p4]); - }); + const equalFalse = (service as any).sortSubscriptions([p2, p4]); + expect(equalFalse).toEqual([p2, p4]); }); + }); - describe('findPublicProjects', () => { - it('should call projectService.findAll', async () => { - mockProjectService.findAll.mockResolvedValue([]); - await service.findPublicProjects(); - expect(mockProjectService.findAll).toHaveBeenCalled(); - }); + describe('findPublicProjects', () => { + it('should call projectService.findAll', async () => { + mockProjectService.findAll.mockResolvedValue([]); + await service.findPublicProjects(); + expect(mockProjectService.findAll).toHaveBeenCalled(); }); + }); }); From d497dfb3224576367ad1f4d9503030f305a397cd Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Wed, 31 Dec 2025 11:58:41 -0300 Subject: [PATCH 043/104] add license --- CONTENT-LICENSE.md | 19 ++ LICENSE | 621 +++++++++++++++++++++++++++++++++++++++++++++ README.md | 5 +- 3 files changed, 644 insertions(+), 1 deletion(-) create mode 100644 CONTENT-LICENSE.md create mode 100644 LICENSE diff --git a/CONTENT-LICENSE.md b/CONTENT-LICENSE.md new file mode 100644 index 0000000..241596a --- /dev/null +++ b/CONTENT-LICENSE.md @@ -0,0 +1,19 @@ +# Content License + +The content of the Rayuela site is registered under the **Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)** license. + +To view a copy of this license, visit [http://creativecommons.org/licenses/by-nc-sa/4.0/](http://creativecommons.org/licenses/by-nc-sa/4.0/) or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. + +## You are free to: + +* **Share** — copy and redistribute the material in any medium or format +* **Adapt** — remix, transform, and build upon the material + +The licensor cannot revoke these freedoms as long as you follow the license terms. + +## Under the following terms: + +* **Attribution** — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. +* **NonCommercial** — You may not use the material for commercial purposes. +* **ShareAlike** — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. +* **No additional restrictions** — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..810fce6 --- /dev/null +++ b/LICENSE @@ -0,0 +1,621 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS diff --git a/README.md b/README.md index 18989e9..4375618 100644 --- a/README.md +++ b/README.md @@ -39,4 +39,7 @@ $ npm run test:cov ## License -Rayuela backend is [MIT licensed](LICENSE). +Rayuela is a free software and content project: + +- The source code is licensed under the **GNU General Public License v3.0 or later (GPLv3+)**. See the [LICENSE](LICENSE) file for details. +- The site content is licensed under the **Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)**. See the [CONTENT-LICENSE.md](CONTENT-LICENSE.md) file for details. From 37b2a1e97adc63a9169d4db900abe29b7afbb2a4 Mon Sep 17 00:00:00 2001 From: Nico Alvarez Date: Sat, 21 Feb 2026 08:54:44 -0300 Subject: [PATCH 044/104] update docker compose --- docker-compose.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index a3ff7a0..ea5f03d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -22,8 +22,8 @@ services: image: mongo:4.4 container_name: mongodb environment: - - MONGO_INITDB_ROOT_USERNAME={MONGO_USER} - - MONGO_INITDB_ROOT_PASSWORD={MONGO_PASSWORD} + - MONGO_INITDB_ROOT_USERNAME=${MONGO_USER} + - MONGO_INITDB_ROOT_PASSWORD=${MONGO_PASSWORD} ports: - "27017:27017" volumes: @@ -35,4 +35,4 @@ volumes: networks: rayuela_net: - external: true + driver: bridge From 1b5b5cc23f9e9c16613669e535961c0faaef9b9d Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Mon, 23 Feb 2026 20:52:38 -0300 Subject: [PATCH 045/104] fix(auth): replace bcrypt with bcryptjs This resolves the native module bindings error when running in docker. --- package-lock.json | 437 +-------------------------- package.json | 5 +- src/module/auth/auth.service.spec.ts | 8 +- src/module/auth/auth.service.ts | 2 +- 4 files changed, 22 insertions(+), 430 deletions(-) diff --git a/package-lock.json b/package-lock.json index fddabf0..d823555 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,6 @@ "@nestjs/swagger": "^7.4.0", "@turf/helpers": "^7.1.0", "@turf/turf": "^7.1.0", - "bcrypt": "^5.1.1", "bcryptjs": "^2.4.3", "dotenv": "^16.4.5", "mongoose": "^8.2.2", @@ -36,7 +35,7 @@ "@nestjs/cli": "^10.0.0", "@nestjs/schematics": "^10.0.0", "@nestjs/testing": "^10.0.0", - "@types/bcrypt": "^5.0.2", + "@types/bcryptjs": "^2.4.6", "@types/express": "^4.17.17", "@types/jest": "^29.5.2", "@types/node": "^20.3.1", @@ -1877,109 +1876,6 @@ "node": ">=8" } }, - "node_modules/@mapbox/node-pre-gyp": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", - "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", - "license": "BSD-3-Clause", - "dependencies": { - "detect-libc": "^2.0.0", - "https-proxy-agent": "^5.0.0", - "make-dir": "^3.1.0", - "node-fetch": "^2.6.7", - "nopt": "^5.0.0", - "npmlog": "^5.0.1", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.11" - }, - "bin": { - "node-pre-gyp": "bin/node-pre-gyp" - } - }, - "node_modules/@mapbox/node-pre-gyp/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@mapbox/node-pre-gyp/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@mapbox/node-pre-gyp/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "license": "MIT", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@mapbox/node-pre-gyp/node_modules/make-dir/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@mapbox/node-pre-gyp/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@mapbox/node-pre-gyp/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@microsoft/tsdoc": { "version": "0.15.0", "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.15.0.tgz", @@ -4632,15 +4528,12 @@ "@babel/types": "^7.20.7" } }, - "node_modules/@types/bcrypt": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@types/bcrypt/-/bcrypt-5.0.2.tgz", - "integrity": "sha512-6atioO8Y75fNcbmj0G7UjI9lXN2pQ/IGJ2FWT4a/btd0Lk9lQalHLKhkgKVZ3r+spnmWUKfbMi1GEe9wyHQfNQ==", + "node_modules/@types/bcryptjs": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/@types/bcryptjs/-/bcryptjs-2.4.6.tgz", + "integrity": "sha512-9xlo6R2qDs5uixm0bcIqCeMCE6HiQsIyel9KQySStiyqNl2tnj2mP3DX1Nf56MD6KMenNNlBBsy3LJ7gUEQPXQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } + "license": "MIT" }, "node_modules/@types/body-parser": { "version": "1.19.5", @@ -5292,12 +5185,6 @@ "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==", - "license": "ISC" - }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -5349,18 +5236,6 @@ "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==", - "license": "MIT", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, "node_modules/ajv": { "version": "8.12.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", @@ -5518,40 +5393,6 @@ "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==" }, - "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "license": "ISC" - }, - "node_modules/are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "deprecated": "This package is no longer supported.", - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", @@ -5763,20 +5604,6 @@ } ] }, - "node_modules/bcrypt": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.1.1.tgz", - "integrity": "sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww==", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "@mapbox/node-pre-gyp": "^1.0.11", - "node-addon-api": "^5.0.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/bcryptjs": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", @@ -6196,15 +6023,6 @@ "fsevents": "~2.3.2" } }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, "node_modules/chrome-trace-event": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", @@ -6378,15 +6196,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "license": "ISC", - "bin": { - "color-support": "bin.js" - } - }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -6436,7 +6245,8 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "devOptional": true }, "node_modules/concat-stream": { "version": "1.6.2", @@ -6480,12 +6290,6 @@ "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "license": "ISC" - }, "node_modules/constantinople": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz", @@ -6786,12 +6590,6 @@ "node": ">=0.4.0" } }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "license": "MIT" - }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -6819,15 +6617,6 @@ "node": ">=8" } }, - "node_modules/detect-libc": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", - "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -8108,36 +7897,6 @@ "node": ">=12" } }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fs-minipass/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, "node_modules/fs-monkey": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", @@ -8147,13 +7906,13 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -8171,33 +7930,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "deprecated": "This package is no longer supported.", - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/gauge/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "license": "ISC" - }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -8507,12 +8239,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "license": "ISC" - }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", @@ -8630,19 +8356,6 @@ "node": ">= 0.8" } }, - "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==", - "license": "MIT", - "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", @@ -8740,6 +8453,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -10641,37 +10355,6 @@ "node": ">=16 || 14 >=14.17" } }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "license": "MIT", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, "node_modules/mjml": { "version": "4.15.3", "resolved": "https://registry.npmjs.org/mjml/-/mjml-4.15.3.tgz", @@ -11342,12 +11025,6 @@ "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", "dev": true }, - "node_modules/node-addon-api": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", - "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==", - "license": "MIT" - }, "node_modules/node-emoji": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", @@ -11397,21 +11074,6 @@ "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==", - "license": "ISC", - "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", @@ -11433,19 +11095,6 @@ "node": ">=8" } }, - "node_modules/npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "deprecated": "This package is no longer supported.", - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" - } - }, "node_modules/nth-check": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", @@ -11490,6 +11139,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, "dependencies": { "wrappy": "1" } @@ -11815,6 +11465,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -13063,12 +12714,6 @@ "node": ">= 0.8.0" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "license": "ISC" - }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -13566,50 +13211,6 @@ "node": ">=6" } }, - "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", - "license": "ISC", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "license": "ISC", - "engines": { - "node": ">=8" - } - }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, "node_modules/terser": { "version": "5.29.2", "resolved": "https://registry.npmjs.org/terser/-/terser-5.29.2.tgz", @@ -14567,15 +14168,6 @@ "node": ">= 8" } }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "license": "ISC", - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, "node_modules/with": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz", @@ -14633,7 +14225,8 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true }, "node_modules/write-file-atomic": { "version": "4.0.2", diff --git a/package.json b/package.json index 69ab61a..f11beb1 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,6 @@ "@nestjs/swagger": "^7.4.0", "@turf/helpers": "^7.1.0", "@turf/turf": "^7.1.0", - "bcrypt": "^5.1.1", "bcryptjs": "^2.4.3", "dotenv": "^16.4.5", "mongoose": "^8.2.2", @@ -47,7 +46,7 @@ "@nestjs/cli": "^10.0.0", "@nestjs/schematics": "^10.0.0", "@nestjs/testing": "^10.0.0", - "@types/bcrypt": "^5.0.2", + "@types/bcryptjs": "^2.4.6", "@types/express": "^4.17.17", "@types/jest": "^29.5.2", "@types/node": "^20.3.1", @@ -92,4 +91,4 @@ "coverageDirectory": "../coverage", "testEnvironment": "node" } -} \ No newline at end of file +} diff --git a/src/module/auth/auth.service.spec.ts b/src/module/auth/auth.service.spec.ts index 469c697..740114e 100644 --- a/src/module/auth/auth.service.spec.ts +++ b/src/module/auth/auth.service.spec.ts @@ -5,13 +5,13 @@ import { JwtService } from '@nestjs/jwt'; import { BadRequestException } from '@nestjs/common'; import { User } from './users/user.entity'; import { UserRole } from './users/user.schema'; -import * as bcrypt from 'bcrypt'; +import * as bcrypt from 'bcryptjs'; import * as nodemailer from 'nodemailer'; import { v4 as uuidv4 } from 'uuid'; import { RegisterUserDTO } from './auth.controller'; // Mock de dependencias externas -jest.mock('bcrypt'); +jest.mock('bcryptjs'); jest.mock('uuid'); jest.mock('nodemailer'); @@ -282,7 +282,7 @@ describe('AuthService', () => { }); const consoleErrorSpy = jest .spyOn(console, 'error') - .mockImplementation(() => {}); + .mockImplementation(() => { }); await service.forgotPassword('test@test.com'); expect(consoleErrorSpy).toHaveBeenCalled(); @@ -292,7 +292,7 @@ describe('AuthService', () => { it('should log success message', async () => { const user = new User('T', 'u', 'test@test.com', 'p'); mockUserService.findByEmailOrUsername.mockResolvedValue(user); - const logSpy = jest.spyOn(console, 'log').mockImplementation(() => {}); + const logSpy = jest.spyOn(console, 'log').mockImplementation(() => { }); mockTransporter.sendMail.mockResolvedValueOnce(undefined); await service.forgotPassword('test@test.com'); expect(logSpy).toHaveBeenCalledWith('Correo enviado con éxito'); diff --git a/src/module/auth/auth.service.ts b/src/module/auth/auth.service.ts index f10d0fd..ad48a4d 100644 --- a/src/module/auth/auth.service.ts +++ b/src/module/auth/auth.service.ts @@ -2,7 +2,7 @@ import { BadRequestException, Injectable } from '@nestjs/common'; import { JwtService } from '@nestjs/jwt'; import { UserRole } from './users/user.schema'; import { UserService } from './users/user.service'; -import * as bcrypt from 'bcrypt'; +import * as bcrypt from 'bcryptjs'; import { User } from './users/user.entity'; import { RegisterUserDTO } from './auth.controller'; import { v4 as uuidv4 } from 'uuid'; From 39bc02ae16e4685a43432e3a5084ea437308f585 Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Sun, 8 Mar 2026 12:00:39 -0300 Subject: [PATCH 046/104] feat: allow image checkin in backend --- README.md | 25 +- docker-compose.yml | 25 +- garage.toml | 20 + package-lock.json | 4772 +++++++++++------ package.json | 2 + src/app.module.ts | 3 + src/module/checkin/checkin.controller.ts | 12 +- src/module/checkin/checkin.module.ts | 3 + src/module/checkin/checkin.service.ts | 13 +- src/module/checkin/dto/create-checkin.dto.ts | 4 + src/module/checkin/entities/checkin.entity.ts | 12 + .../checkin/persistence/CheckinMapper.ts | 4 + .../checkin/persistence/checkin.schema.ts | 6 + src/module/project/project.controller.ts | 3 +- src/module/storage/storage.module.ts | 8 + src/module/storage/storage.service.spec.ts | 49 + src/module/storage/storage.service.ts | 53 + 17 files changed, 3428 insertions(+), 1586 deletions(-) create mode 100644 garage.toml create mode 100644 src/module/storage/storage.module.ts create mode 100644 src/module/storage/storage.service.spec.ts create mode 100644 src/module/storage/storage.service.ts diff --git a/README.md b/README.md index 4375618..0d7f544 100644 --- a/README.md +++ b/README.md @@ -13,16 +13,21 @@ $ npm install ## Running the app -```bash -# development -$ npm run start - -# watch mode -$ npm run start:dev - -# production mode -$ npm run start:prod -``` +1. **Start Docker Services** (MongoDB & Garage): + ```bash + $ docker-compose up -d + ``` + +2. **Initialize Garage** (First time only): + ```bash + $ bash ../init-garage.sh + ``` + +3. **Start Backend**: + ```bash + # watch mode + $ npm run start:dev + ``` ## Test diff --git a/docker-compose.yml b/docker-compose.yml index ea5f03d..7d4a169 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,18 +4,24 @@ services: build: context: . dockerfile: Dockerfile - # Agrega este comando para iniciar en modo desarrollo command: npm run start:dev ports: - - '3000:3000' # El puerto por defecto de NestJS es 3000 + - '3000:3000' - '9229:9229' environment: - NODE_ENV=development + - DB_CONNECTION=mongodb://root:root@mongodb:27017 + - S3_ENDPOINT=http://garage:3900 + - S3_ACCESS_KEY=GKeb4b3ddceb7b51753a68f6ea + - S3_SECRET_KEY=65cbf335e26752e15e0d3d88c3479d273b7355af1e8102007e7b27e4a0475150 + - S3_BUCKET=rayuela-checkins + - S3_REGION=garage volumes: - .:/usr/src/app - /usr/src/app/node_modules depends_on: - mongodb + - garage networks: - rayuela_net mongodb: @@ -30,8 +36,23 @@ services: - mongodb_data:/data/db networks: - rayuela_net + garage: + image: dxflrs/garage:v2.2.0 + container_name: garage + ports: + - "3900:3900" # S3 API + - "3901:3901" # RPC + - "3902:3902" # Web + - "3903:3903" # Admin API + volumes: + - ./garage.toml:/etc/garage.toml + - garage_data:/data + networks: + - rayuela_net + volumes: mongodb_data: + garage_data: networks: rayuela_net: diff --git a/garage.toml b/garage.toml new file mode 100644 index 0000000..351a194 --- /dev/null +++ b/garage.toml @@ -0,0 +1,20 @@ +metadata_dir = "/data/meta" +data_dir = "/data/data" +db_engine = "sqlite" +replication_factor = 1 + +rpc_bind_addr = "0.0.0.0:3901" +rpc_secret = "f0f1352d3244af9b9d8d596df6945f81e0d8e2d94128cff373310c70c8264511" + +[s3_api] +s3_region = "garage" +api_bind_addr = "0.0.0.0:3900" +root_domain = ".s3.localhost" + +[s3_web] +bind_addr = "0.0.0.0:3902" +root_domain = ".web.localhost" + +[admin] +api_bind_addr = "0.0.0.0:3903" +admin_token = "GK565f128362694b2605389657" diff --git a/package-lock.json b/package-lock.json index d823555..c0438e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.1", "license": "UNLICENSED", "dependencies": { + "@aws-sdk/client-s3": "^3.999.0", "@nestjs-modules/mailer": "^2.0.2", "@nestjs/common": "^10.0.0", "@nestjs/config": "^3.2.0", @@ -38,6 +39,7 @@ "@types/bcryptjs": "^2.4.6", "@types/express": "^4.17.17", "@types/jest": "^29.5.2", + "@types/multer": "^2.0.0", "@types/node": "^20.3.1", "@types/supertest": "^6.0.0", "@typescript-eslint/eslint-plugin": "^6.0.0", @@ -251,332 +253,869 @@ "node": ">=0.12.0" } }, - "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "dev": true, + "node_modules/@aws-crypto/crc32": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-5.2.0.tgz", + "integrity": "sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==", + "license": "Apache-2.0", "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=16.0.0" } }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, + "node_modules/@aws-crypto/crc32c": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-5.2.0.tgz", + "integrity": "sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==", + "license": "Apache-2.0", "dependencies": { - "color-convert": "^1.9.0" + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/sha1-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-5.2.0.tgz", + "integrity": "sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">=14.0.0" } }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, + "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "license": "Apache-2.0", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">=14.0.0" } }, - "node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, + "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "license": "Apache-2.0", "dependencies": { - "color-name": "1.1.3" + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" + "node_modules/@aws-crypto/sha256-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", + "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-js": "^5.2.0", + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" } }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, "engines": { - "node": ">=4" + "node": ">=14.0.0" } }, - "node_modules/@babel/code-frame/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "license": "Apache-2.0", "dependencies": { - "has-flag": "^3.0.0" + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">=14.0.0" } }, - "node_modules/@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", - "dev": true, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/core": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.0.tgz", - "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==", - "dev": true, + "node_modules/@aws-crypto/sha256-js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", + "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", + "license": "Apache-2.0", "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.24.0", - "@babel/parser": "^7.24.0", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.0", - "@babel/types": "^7.24.0", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "node": ">=16.0.0" } }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", + "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" } }, - "node_modules/@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", - "dev": true, + "node_modules/@aws-crypto/util": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", + "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", + "license": "Apache-2.0", "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "@aws-sdk/types": "^3.222.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", - "dev": true, + "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "license": "Apache-2.0", "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, + "node_modules/@aws-sdk/client-s3": { + "version": "3.999.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.999.0.tgz", + "integrity": "sha512-6ML2ls4nnOxm1kKzy2RgM+i8aS/9wgw6V91iqSibBYU/isYs8BvC2xcv8AsaWG5mOQjytjRzsBO5COxfWVPg3A==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha1-browser": "5.2.0", + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.15", + "@aws-sdk/credential-provider-node": "^3.972.14", + "@aws-sdk/middleware-bucket-endpoint": "^3.972.6", + "@aws-sdk/middleware-expect-continue": "^3.972.6", + "@aws-sdk/middleware-flexible-checksums": "^3.973.1", + "@aws-sdk/middleware-host-header": "^3.972.6", + "@aws-sdk/middleware-location-constraint": "^3.972.6", + "@aws-sdk/middleware-logger": "^3.972.6", + "@aws-sdk/middleware-recursion-detection": "^3.972.6", + "@aws-sdk/middleware-sdk-s3": "^3.972.15", + "@aws-sdk/middleware-ssec": "^3.972.6", + "@aws-sdk/middleware-user-agent": "^3.972.15", + "@aws-sdk/region-config-resolver": "^3.972.6", + "@aws-sdk/signature-v4-multi-region": "^3.996.3", + "@aws-sdk/types": "^3.973.4", + "@aws-sdk/util-endpoints": "^3.996.3", + "@aws-sdk/util-user-agent-browser": "^3.972.6", + "@aws-sdk/util-user-agent-node": "^3.973.0", + "@smithy/config-resolver": "^4.4.9", + "@smithy/core": "^3.23.6", + "@smithy/eventstream-serde-browser": "^4.2.10", + "@smithy/eventstream-serde-config-resolver": "^4.3.10", + "@smithy/eventstream-serde-node": "^4.2.10", + "@smithy/fetch-http-handler": "^5.3.11", + "@smithy/hash-blob-browser": "^4.2.11", + "@smithy/hash-node": "^4.2.10", + "@smithy/hash-stream-node": "^4.2.10", + "@smithy/invalid-dependency": "^4.2.10", + "@smithy/md5-js": "^4.2.10", + "@smithy/middleware-content-length": "^4.2.10", + "@smithy/middleware-endpoint": "^4.4.20", + "@smithy/middleware-retry": "^4.4.37", + "@smithy/middleware-serde": "^4.2.11", + "@smithy/middleware-stack": "^4.2.10", + "@smithy/node-config-provider": "^4.3.10", + "@smithy/node-http-handler": "^4.4.12", + "@smithy/protocol-http": "^5.3.10", + "@smithy/smithy-client": "^4.12.0", + "@smithy/types": "^4.13.0", + "@smithy/url-parser": "^4.2.10", + "@smithy/util-base64": "^4.3.1", + "@smithy/util-body-length-browser": "^4.2.1", + "@smithy/util-body-length-node": "^4.2.2", + "@smithy/util-defaults-mode-browser": "^4.3.36", + "@smithy/util-defaults-mode-node": "^4.2.39", + "@smithy/util-endpoints": "^3.3.1", + "@smithy/util-middleware": "^4.2.10", + "@smithy/util-retry": "^4.2.10", + "@smithy/util-stream": "^4.5.15", + "@smithy/util-utf8": "^4.2.1", + "@smithy/util-waiter": "^4.2.10", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=20.0.0" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, + "node_modules/@aws-sdk/core": { + "version": "3.973.15", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.973.15.tgz", + "integrity": "sha512-AlC0oQ1/mdJ8vCIqu524j5RB7M8i8E24bbkZmya1CuiQxkY7SdIZAyw7NDNMGaNINQFq/8oGRMX0HeOfCVsl/A==", + "license": "Apache-2.0", "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" + "@aws-sdk/types": "^3.973.4", + "@aws-sdk/xml-builder": "^3.972.8", + "@smithy/core": "^3.23.6", + "@smithy/node-config-provider": "^4.3.10", + "@smithy/property-provider": "^4.2.10", + "@smithy/protocol-http": "^5.3.10", + "@smithy/signature-v4": "^5.3.10", + "@smithy/smithy-client": "^4.12.0", + "@smithy/types": "^4.13.0", + "@smithy/util-base64": "^4.3.1", + "@smithy/util-middleware": "^4.2.10", + "@smithy/util-utf8": "^4.2.1", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=20.0.0" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, + "node_modules/@aws-sdk/crc64-nvme": { + "version": "3.972.3", + "resolved": "https://registry.npmjs.org/@aws-sdk/crc64-nvme/-/crc64-nvme-3.972.3.tgz", + "integrity": "sha512-UExeK+EFiq5LAcbHm96CQLSia+5pvpUVSAsVApscBzayb7/6dJBJKwV4/onsk4VbWSmqxDMcfuTD+pC4RxgZHg==", + "license": "Apache-2.0", "dependencies": { - "@babel/types": "^7.22.5" + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=20.0.0" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "dev": true, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.972.13", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.972.13.tgz", + "integrity": "sha512-6ljXKIQ22WFKyIs1jbORIkGanySBHaPPTOI4OxACP5WXgbcR0nDYfqNJfXEGwCK7IzHdNbCSFsNKKs0qCexR8Q==", + "license": "Apache-2.0", "dependencies": { - "@babel/types": "^7.22.15" + "@aws-sdk/core": "^3.973.15", + "@aws-sdk/types": "^3.973.4", + "@smithy/property-provider": "^4.2.10", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=20.0.0" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", - "dev": true, + "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.972.15", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.15.tgz", + "integrity": "sha512-dJuSTreu/T8f24SHDNTjd7eQ4rabr0TzPh2UTCwYexQtzG3nTDKm1e5eIdhiroTMDkPEJeY+WPkA6F9wod/20A==", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" + "@aws-sdk/core": "^3.973.15", + "@aws-sdk/types": "^3.973.4", + "@smithy/fetch-http-handler": "^5.3.11", + "@smithy/node-http-handler": "^4.4.12", + "@smithy/property-provider": "^4.2.10", + "@smithy/protocol-http": "^5.3.10", + "@smithy/smithy-client": "^4.12.0", + "@smithy/types": "^4.13.0", + "@smithy/util-stream": "^4.5.15", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=20.0.0" } }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", - "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", - "dev": true, + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.972.13", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.972.13.tgz", + "integrity": "sha512-JKSoGb7XeabZLBJptpqoZIFbROUIS65NuQnEHGOpuT9GuuZwag2qciKANiDLFiYk4u8nSrJC9JIOnWKVvPVjeA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.15", + "@aws-sdk/credential-provider-env": "^3.972.13", + "@aws-sdk/credential-provider-http": "^3.972.15", + "@aws-sdk/credential-provider-login": "^3.972.13", + "@aws-sdk/credential-provider-process": "^3.972.13", + "@aws-sdk/credential-provider-sso": "^3.972.13", + "@aws-sdk/credential-provider-web-identity": "^3.972.13", + "@aws-sdk/nested-clients": "^3.996.3", + "@aws-sdk/types": "^3.973.4", + "@smithy/credential-provider-imds": "^4.2.10", + "@smithy/property-provider": "^4.2.10", + "@smithy/shared-ini-file-loader": "^4.4.5", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=20.0.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, + "node_modules/@aws-sdk/credential-provider-login": { + "version": "3.972.13", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-login/-/credential-provider-login-3.972.13.tgz", + "integrity": "sha512-RtYcrxdnJHKY8MFQGLltCURcjuMjnaQpAxPE6+/QEdDHHItMKZgabRe/KScX737F9vJMQsmJy9EmMOkCnoC1JQ==", + "license": "Apache-2.0", "dependencies": { - "@babel/types": "^7.22.5" + "@aws-sdk/core": "^3.973.15", + "@aws-sdk/nested-clients": "^3.996.3", + "@aws-sdk/types": "^3.973.4", + "@smithy/property-provider": "^4.2.10", + "@smithy/protocol-http": "^5.3.10", + "@smithy/shared-ini-file-loader": "^4.4.5", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=20.0.0" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.972.14", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.14.tgz", + "integrity": "sha512-WqoC2aliIjQM/L3oFf6j+op/enT2i9Cc4UTxxMEKrJNECkq4/PlKE5BOjSYFcq6G9mz65EFbXJh7zOU4CvjSKQ==", + "license": "Apache-2.0", "dependencies": { - "@babel/types": "^7.22.5" + "@aws-sdk/credential-provider-env": "^3.972.13", + "@aws-sdk/credential-provider-http": "^3.972.15", + "@aws-sdk/credential-provider-ini": "^3.972.13", + "@aws-sdk/credential-provider-process": "^3.972.13", + "@aws-sdk/credential-provider-sso": "^3.972.13", + "@aws-sdk/credential-provider-web-identity": "^3.972.13", + "@aws-sdk/types": "^3.973.4", + "@smithy/credential-provider-imds": "^4.2.10", + "@smithy/property-provider": "^4.2.10", + "@smithy/shared-ini-file-loader": "^4.4.5", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=20.0.0" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", - "devOptional": true, + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.972.13", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.972.13.tgz", + "integrity": "sha512-rsRG0LQA4VR+jnDyuqtXi2CePYSmfm5GNL9KxiW8DSe25YwJSr06W8TdUfONAC+rjsTI+aIH2rBGG5FjMeANrw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.15", + "@aws-sdk/types": "^3.973.4", + "@smithy/property-provider": "^4.2.10", + "@smithy/shared-ini-file-loader": "^4.4.5", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=20.0.0" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "devOptional": true, + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.972.13", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.972.13.tgz", + "integrity": "sha512-fr0UU1wx8kNHDhTQBXioc/YviSW8iXuAxHvnH7eQUtn8F8o/FU3uu6EUMvAQgyvn7Ne5QFnC0Cj0BFlwCk+RFw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.15", + "@aws-sdk/nested-clients": "^3.996.3", + "@aws-sdk/token-providers": "3.999.0", + "@aws-sdk/types": "^3.973.4", + "@smithy/property-provider": "^4.2.10", + "@smithy/shared-ini-file-loader": "^4.4.5", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=20.0.0" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", - "dev": true, + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.972.13", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.972.13.tgz", + "integrity": "sha512-a6iFMh1pgUH0TdcouBppLJUfPM7Yd3R9S1xFodPtCRoLqCz2RQFA3qjA8x4112PVYXEd4/pHX2eihapq39w0rA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.15", + "@aws-sdk/nested-clients": "^3.996.3", + "@aws-sdk/types": "^3.973.4", + "@smithy/property-provider": "^4.2.10", + "@smithy/shared-ini-file-loader": "^4.4.5", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=20.0.0" } }, - "node_modules/@babel/helpers": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz", - "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", - "dev": true, + "node_modules/@aws-sdk/middleware-bucket-endpoint": { + "version": "3.972.6", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.972.6.tgz", + "integrity": "sha512-3H2bhvb7Cb/S6WFsBy/Dy9q2aegC9JmGH1inO8Lb2sWirSqpLJlZmvQHPE29h2tIxzv6el/14X/tLCQ8BQU6ZQ==", + "license": "Apache-2.0", "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.0", - "@babel/types": "^7.24.0" + "@aws-sdk/types": "^3.973.4", + "@aws-sdk/util-arn-parser": "^3.972.2", + "@smithy/node-config-provider": "^4.3.10", + "@smithy/protocol-http": "^5.3.10", + "@smithy/types": "^4.13.0", + "@smithy/util-config-provider": "^4.2.1", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=20.0.0" } }, - "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "node_modules/@aws-sdk/middleware-expect-continue": { + "version": "3.972.6", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.972.6.tgz", + "integrity": "sha512-QMdffpU+GkSGC+bz6WdqlclqIeCsOfgX8JFZ5xvwDtX+UTj4mIXm3uXu7Ko6dBseRcJz1FA6T9OmlAAY6JgJUg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.4", + "@smithy/protocol-http": "^5.3.10", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-flexible-checksums": { + "version": "3.973.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.973.1.tgz", + "integrity": "sha512-QLXsxsI6VW8LuGK+/yx699wzqP/NMCGk/hSGP+qtB+Lcff+23UlbahyouLlk+nfT7Iu021SkXBhnAuVd6IZcPw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/crc32": "5.2.0", + "@aws-crypto/crc32c": "5.2.0", + "@aws-crypto/util": "5.2.0", + "@aws-sdk/core": "^3.973.15", + "@aws-sdk/crc64-nvme": "^3.972.3", + "@aws-sdk/types": "^3.973.4", + "@smithy/is-array-buffer": "^4.2.1", + "@smithy/node-config-provider": "^4.3.10", + "@smithy/protocol-http": "^5.3.10", + "@smithy/types": "^4.13.0", + "@smithy/util-middleware": "^4.2.10", + "@smithy/util-stream": "^4.5.15", + "@smithy/util-utf8": "^4.2.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.972.6", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.972.6.tgz", + "integrity": "sha512-5XHwjPH1lHB+1q4bfC7T8Z5zZrZXfaLcjSMwTd1HPSPrCmPFMbg3UQ5vgNWcVj0xoX4HWqTGkSf2byrjlnRg5w==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.4", + "@smithy/protocol-http": "^5.3.10", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-location-constraint": { + "version": "3.972.6", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.972.6.tgz", + "integrity": "sha512-XdZ2TLwyj3Am6kvUc67vquQvs6+D8npXvXgyEUJAdkUDx5oMFJKOqpK+UpJhVDsEL068WAJl2NEGzbSik7dGJQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.4", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.972.6", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.972.6.tgz", + "integrity": "sha512-iFnaMFMQdljAPrvsCVKYltPt2j40LQqukAbXvW7v0aL5I+1GO7bZ/W8m12WxW3gwyK5p5u1WlHg8TSAizC5cZw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.4", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.972.6", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.972.6.tgz", + "integrity": "sha512-dY4v3of5EEMvik6+UDwQ96KfUFDk8m1oZDdkSc5lwi4o7rFrjnv0A+yTV+gu230iybQZnKgDLg/rt2P3H+Vscw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.4", + "@aws/lambda-invoke-store": "^0.2.2", + "@smithy/protocol-http": "^5.3.10", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-s3": { + "version": "3.972.15", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.972.15.tgz", + "integrity": "sha512-WDLgssevOU5BFx1s8jA7jj6cE5HuImz28sy9jKOaVtz0AW1lYqSzotzdyiybFaBcQTs5zxXOb2pUfyMxgEKY3Q==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.15", + "@aws-sdk/types": "^3.973.4", + "@aws-sdk/util-arn-parser": "^3.972.2", + "@smithy/core": "^3.23.6", + "@smithy/node-config-provider": "^4.3.10", + "@smithy/protocol-http": "^5.3.10", + "@smithy/signature-v4": "^5.3.10", + "@smithy/smithy-client": "^4.12.0", + "@smithy/types": "^4.13.0", + "@smithy/util-config-provider": "^4.2.1", + "@smithy/util-middleware": "^4.2.10", + "@smithy/util-stream": "^4.5.15", + "@smithy/util-utf8": "^4.2.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-ssec": { + "version": "3.972.6", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.972.6.tgz", + "integrity": "sha512-acvMUX9jF4I2Ew+Z/EA6gfaFaz9ehci5wxBmXCZeulLuv8m+iGf6pY9uKz8TPjg39bdAz3hxoE0eLP8Qz+IYlA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.4", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.972.15", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.972.15.tgz", + "integrity": "sha512-ABlFVcIMmuRAwBT+8q5abAxOr7WmaINirDJBnqGY5b5jSDo00UMlg/G4a0xoAgwm6oAECeJcwkvDlxDwKf58fQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.15", + "@aws-sdk/types": "^3.973.4", + "@aws-sdk/util-endpoints": "^3.996.3", + "@smithy/core": "^3.23.6", + "@smithy/protocol-http": "^5.3.10", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/nested-clients": { + "version": "3.996.3", + "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.996.3.tgz", + "integrity": "sha512-AU5TY1V29xqwg/MxmA2odwysTez+ccFAhmfRJk+QZT5HNv90UTA9qKd1J9THlsQkvmH7HWTEV1lDNxkQO5PzNw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.15", + "@aws-sdk/middleware-host-header": "^3.972.6", + "@aws-sdk/middleware-logger": "^3.972.6", + "@aws-sdk/middleware-recursion-detection": "^3.972.6", + "@aws-sdk/middleware-user-agent": "^3.972.15", + "@aws-sdk/region-config-resolver": "^3.972.6", + "@aws-sdk/types": "^3.973.4", + "@aws-sdk/util-endpoints": "^3.996.3", + "@aws-sdk/util-user-agent-browser": "^3.972.6", + "@aws-sdk/util-user-agent-node": "^3.973.0", + "@smithy/config-resolver": "^4.4.9", + "@smithy/core": "^3.23.6", + "@smithy/fetch-http-handler": "^5.3.11", + "@smithy/hash-node": "^4.2.10", + "@smithy/invalid-dependency": "^4.2.10", + "@smithy/middleware-content-length": "^4.2.10", + "@smithy/middleware-endpoint": "^4.4.20", + "@smithy/middleware-retry": "^4.4.37", + "@smithy/middleware-serde": "^4.2.11", + "@smithy/middleware-stack": "^4.2.10", + "@smithy/node-config-provider": "^4.3.10", + "@smithy/node-http-handler": "^4.4.12", + "@smithy/protocol-http": "^5.3.10", + "@smithy/smithy-client": "^4.12.0", + "@smithy/types": "^4.13.0", + "@smithy/url-parser": "^4.2.10", + "@smithy/util-base64": "^4.3.1", + "@smithy/util-body-length-browser": "^4.2.1", + "@smithy/util-body-length-node": "^4.2.2", + "@smithy/util-defaults-mode-browser": "^4.3.36", + "@smithy/util-defaults-mode-node": "^4.2.39", + "@smithy/util-endpoints": "^3.3.1", + "@smithy/util-middleware": "^4.2.10", + "@smithy/util-retry": "^4.2.10", + "@smithy/util-utf8": "^4.2.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.972.6", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.972.6.tgz", + "integrity": "sha512-Aa5PusHLXAqLTX1UKDvI3pHQJtIsF7Q+3turCHqfz/1F61/zDMWfbTC8evjhrrYVAtz9Vsv3SJ/waSUeu7B6gw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.4", + "@smithy/config-resolver": "^4.4.9", + "@smithy/node-config-provider": "^4.3.10", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/signature-v4-multi-region": { + "version": "3.996.3", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.996.3.tgz", + "integrity": "sha512-gQYI/Buwp0CAGQxY7mR5VzkP56rkWq2Y1ROkFuXh5XY94DsSjJw62B3I0N0lysQmtwiL2ht2KHI9NylM/RP4FA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/middleware-sdk-s3": "^3.972.15", + "@aws-sdk/types": "^3.973.4", + "@smithy/protocol-http": "^5.3.10", + "@smithy/signature-v4": "^5.3.10", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/token-providers": { + "version": "3.999.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.999.0.tgz", + "integrity": "sha512-cx0hHUlgXULfykx4rdu/ciNAJaa3AL5xz3rieCz7NKJ68MJwlj3664Y8WR5MGgxfyYJBdamnkjNSx5Kekuc0cg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.15", + "@aws-sdk/nested-clients": "^3.996.3", + "@aws-sdk/types": "^3.973.4", + "@smithy/property-provider": "^4.2.10", + "@smithy/shared-ini-file-loader": "^4.4.5", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/types": { + "version": "3.973.4", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.973.4.tgz", + "integrity": "sha512-RW60aH26Bsc016Y9B98hC0Plx6fK5P2v/iQYwMzrSjiDh1qRMUCP6KrXHYEHe3uFvKiOC93Z9zk4BJsUi6Tj1Q==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/util-arn-parser": { + "version": "3.972.2", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.972.2.tgz", + "integrity": "sha512-VkykWbqMjlSgBFDyrY3nOSqupMc6ivXuGmvci6Q3NnLq5kC+mKQe2QBZ4nrWRE/jqOxeFP2uYzLtwncYYcvQDg==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.996.3", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.996.3.tgz", + "integrity": "sha512-yWIQSNiCjykLL+ezN5A+DfBb1gfXTytBxm57e64lYmwxDHNmInYHRJYYRAGWG1o77vKEiWaw4ui28e3yb1k5aQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.4", + "@smithy/types": "^4.13.0", + "@smithy/url-parser": "^4.2.10", + "@smithy/util-endpoints": "^3.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.965.4", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.965.4.tgz", + "integrity": "sha512-H1onv5SkgPBK2P6JR2MjGgbOnttoNzSPIRoeZTNPZYyaplwGg50zS3amXvXqF0/qfXpWEC9rLWU564QTB9bSog==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.972.6", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.972.6.tgz", + "integrity": "sha512-Fwr/llD6GOrFgQnKaI2glhohdGuBDfHfora6iG9qsBBBR8xv1SdCSwbtf5CWlUdCw5X7g76G/9Hf0Inh0EmoxA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.4", + "@smithy/types": "^4.13.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.973.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.973.0.tgz", + "integrity": "sha512-A9J2G4Nf236e9GpaC1JnA8wRn6u6GjnOXiTwBLA6NUJhlBTIGfrTy+K1IazmF8y+4OFdW3O5TZlhyspJMqiqjA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/middleware-user-agent": "^3.972.15", + "@aws-sdk/types": "^3.973.4", + "@smithy/node-config-provider": "^4.3.10", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/xml-builder": { + "version": "3.972.8", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.972.8.tgz", + "integrity": "sha512-Ql8elcUdYCha83Ol7NznBsgN5GVZnv3vUd86fEc6waU6oUdY0T1O9NODkEEOS/Uaogr87avDrUC6DSeM4oXjZg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.13.0", + "fast-xml-parser": "5.3.6", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws/lambda-invoke-store": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@aws/lambda-invoke-store/-/lambda-invoke-store-0.2.3.tgz", + "integrity": "sha512-oLvsaPMTBejkkmHhjf09xTgk71mOqyr/409NKhRIL08If7AhVfUsJhVsx386uJaqNd42v9kWamQ9lFbkoC2dYw==", + "license": "Apache-2.0", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { + "node_modules/@babel/code-frame/node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", @@ -588,7 +1127,7 @@ "node": ">=4" } }, - "node_modules/@babel/highlight/node_modules/chalk": { + "node_modules/@babel/code-frame/node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", @@ -602,7 +1141,7 @@ "node": ">=4" } }, - "node_modules/@babel/highlight/node_modules/color-convert": { + "node_modules/@babel/code-frame/node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", @@ -611,13 +1150,13 @@ "color-name": "1.1.3" } }, - "node_modules/@babel/highlight/node_modules/color-name": { + "node_modules/@babel/code-frame/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", @@ -626,7 +1165,7 @@ "node": ">=0.8.0" } }, - "node_modules/@babel/highlight/node_modules/has-flag": { + "node_modules/@babel/code-frame/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", @@ -635,7 +1174,7 @@ "node": ">=4" } }, - "node_modules/@babel/highlight/node_modules/supports-color": { + "node_modules/@babel/code-frame/node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", @@ -647,1811 +1186,2855 @@ "node": ">=4" } }, - "node_modules/@babel/parser": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", - "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", - "devOptional": true, - "bin": { - "parser": "bin/babel-parser.js" - }, + "node_modules/@babel/compat-data": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "dev": true, "engines": { - "node": ">=6.0.0" + "node": ">=6.9.0" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "node_modules/@babel/core": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.0.tgz", + "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.0", + "@babel/parser": "^7.24.0", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "node_modules/@babel/generator": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", - "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/types": "^7.22.5" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/types": "^7.22.15" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", - "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/runtime": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.9.tgz", - "integrity": "sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==", - "license": "MIT", - "optional": true, - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "devOptional": true, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" - }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "devOptional": true, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/traverse": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz", - "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", "dev": true, - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "node_modules/@babel/helpers": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz", + "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", "dev": true, + "dependencies": { + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0" + }, "engines": { - "node": ">=4" + "node": ">=6.9.0" } }, - "node_modules/@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", - "devOptional": true, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "optional": true, + "dependencies": { + "color-convert": "^1.9.0" + }, "engines": { - "node": ">=0.1.90" + "node": ">=4" } }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=12" + "node": ">=4" } }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "color-name": "1.1.3" } }, - "node_modules/@css-inline/css-inline": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/@css-inline/css-inline/-/css-inline-0.14.1.tgz", - "integrity": "sha512-u4eku+hnPqqHIGq/ZUQcaP0TrCbYeLIYBaK7qClNRGZbnh8RC4gVxLEIo8Pceo1nOK9E5G4Lxzlw5KnXcvflfA==", - "license": "MIT", - "engines": { - "node": ">= 10" - }, - "optionalDependencies": { - "@css-inline/css-inline-android-arm-eabi": "0.14.1", - "@css-inline/css-inline-android-arm64": "0.14.1", - "@css-inline/css-inline-darwin-arm64": "0.14.1", - "@css-inline/css-inline-darwin-x64": "0.14.1", - "@css-inline/css-inline-linux-arm-gnueabihf": "0.14.1", - "@css-inline/css-inline-linux-arm64-gnu": "0.14.1", - "@css-inline/css-inline-linux-arm64-musl": "0.14.1", - "@css-inline/css-inline-linux-x64-gnu": "0.14.1", - "@css-inline/css-inline-linux-x64-musl": "0.14.1", - "@css-inline/css-inline-win32-x64-msvc": "0.14.1" - } + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true }, - "node_modules/@css-inline/css-inline-android-arm-eabi": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/@css-inline/css-inline-android-arm-eabi/-/css-inline-android-arm-eabi-0.14.1.tgz", - "integrity": "sha512-LNUR8TY4ldfYi0mi/d4UNuHJ+3o8yLQH9r2Nt6i4qeg1i7xswfL3n/LDLRXvGjBYqeEYNlhlBQzbPwMX1qrU6A==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, "engines": { - "node": ">= 10" + "node": ">=0.8.0" } }, - "node_modules/@css-inline/css-inline-android-arm64": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/@css-inline/css-inline-android-arm64/-/css-inline-android-arm64-0.14.1.tgz", - "integrity": "sha512-tH5us0NYGoTNBHOUHVV7j9KfJ4DtFOeTLA3cM0XNoMtArNu2pmaaBMFJPqECzavfXkLc7x5Z22UPZYjoyHfvCA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, "engines": { - "node": ">= 10" + "node": ">=4" } }, - "node_modules/@css-inline/css-inline-darwin-arm64": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/@css-inline/css-inline-darwin-arm64/-/css-inline-darwin-arm64-0.14.1.tgz", - "integrity": "sha512-QE5W1YRIfRayFrtrcK/wqEaxNaqLULPI0gZB4ArbFRd3d56IycvgBasDTHPre5qL2cXCO3VyPx+80XyHOaVkag==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, "engines": { - "node": ">= 10" + "node": ">=4" } }, - "node_modules/@css-inline/css-inline-darwin-x64": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/@css-inline/css-inline-darwin-x64/-/css-inline-darwin-x64-0.14.1.tgz", - "integrity": "sha512-mAvv2sN8awNFsbvBzlFkZPbCNZ6GCWY5/YcIz7V5dPYw+bHHRbjnlkNTEZq5BsDxErVrMIGvz05PGgzuNvZvdQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "node_modules/@babel/parser": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", + "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", + "devOptional": true, + "bin": { + "parser": "bin/babel-parser.js" + }, "engines": { - "node": ">= 10" + "node": ">=6.0.0" } }, - "node_modules/@css-inline/css-inline-linux-arm-gnueabihf": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/@css-inline/css-inline-linux-arm-gnueabihf/-/css-inline-linux-arm-gnueabihf-0.14.1.tgz", - "integrity": "sha512-AWC44xL0X7BgKvrWEqfSqkT2tJA5kwSGrAGT+m0gt11wnTYySvQ6YpX0fTY9i3ppYGu4bEdXFjyK2uY1DTQMHA==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@css-inline/css-inline-linux-arm64-gnu": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/@css-inline/css-inline-linux-arm64-gnu/-/css-inline-linux-arm64-gnu-0.14.1.tgz", - "integrity": "sha512-drj0ciiJgdP3xKXvNAt4W+FH4KKMs8vB5iKLJ3HcH07sNZj58Sx++2GxFRS1el3p+GFp9OoYA6dgouJsGEqt0Q==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@css-inline/css-inline-linux-arm64-musl": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/@css-inline/css-inline-linux-arm64-musl/-/css-inline-linux-arm64-musl-0.14.1.tgz", - "integrity": "sha512-FzknI+st8eA8YQSdEJU9ykcM0LZjjigBuynVF5/p7hiMm9OMP8aNhWbhZ8LKJpKbZrQsxSGS4g9Vnr6n6FiSdQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@css-inline/css-inline-linux-x64-gnu": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/@css-inline/css-inline-linux-x64-gnu/-/css-inline-linux-x64-gnu-0.14.1.tgz", - "integrity": "sha512-yubbEye+daDY/4vXnyASAxH88s256pPati1DfVoZpU1V0+KP0BZ1dByZOU1ktExurbPH3gZOWisAnBE9xon0Uw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@css-inline/css-inline-linux-x64-musl": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/@css-inline/css-inline-linux-x64-musl/-/css-inline-linux-x64-musl-0.14.1.tgz", - "integrity": "sha512-6CRAZzoy1dMLPC/tns2rTt1ZwPo0nL/jYBEIAsYTCWhfAnNnpoLKVh5Nm+fSU3OOwTTqU87UkGrFJhObD/wobQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@css-inline/css-inline-win32-x64-msvc": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/@css-inline/css-inline-win32-x64-msvc/-/css-inline-win32-x64-msvc-0.14.1.tgz", - "integrity": "sha512-nzotGiaiuiQW78EzsiwsHZXbxEt6DiMUFcDJ6dhiliomXxnlaPyBfZb6/FMBgRJOf6sknDt/5695OttNmbMYzg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", "dev": true, "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.9.0" }, - "funding": { - "url": "https://opencollective.com/eslint" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@eslint/eslintrc/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@babel/helper-plugin-utils": "^7.10.4" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": "*" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", - "debug": "^4.3.1", - "minimatch": "^3.0.5" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=10.10.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { - "node": "*" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, "engines": { - "node": ">=12.22" + "node": ">=6.9.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", - "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", - "dev": true - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "node_modules/@babel/runtime": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.9.tgz", + "integrity": "sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==", + "license": "MIT", + "optional": true, "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" + "regenerator-runtime": "^0.14.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=6.9.0" } }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "node_modules/@babel/template": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "dev": true, "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6.9.0" } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/@babel/traverse": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz", + "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", + "dev": true, "dependencies": { - "ansi-regex": "^6.0.1" + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", + "globals": "^11.1.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=6.9.0" } }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=4" } }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, + "node_modules/@babel/types": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "devOptional": true, "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, + "optional": true, "engines": { - "node": ">=8" + "node": ">=0.1.90" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "@jridgewell/trace-mapping": "0.3.9" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=12" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dev": true, "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, + "node_modules/@css-inline/css-inline": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@css-inline/css-inline/-/css-inline-0.14.1.tgz", + "integrity": "sha512-u4eku+hnPqqHIGq/ZUQcaP0TrCbYeLIYBaK7qClNRGZbnh8RC4gVxLEIo8Pceo1nOK9E5G4Lxzlw5KnXcvflfA==", + "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 10" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optionalDependencies": { + "@css-inline/css-inline-android-arm-eabi": "0.14.1", + "@css-inline/css-inline-android-arm64": "0.14.1", + "@css-inline/css-inline-darwin-arm64": "0.14.1", + "@css-inline/css-inline-darwin-x64": "0.14.1", + "@css-inline/css-inline-linux-arm-gnueabihf": "0.14.1", + "@css-inline/css-inline-linux-arm64-gnu": "0.14.1", + "@css-inline/css-inline-linux-arm64-musl": "0.14.1", + "@css-inline/css-inline-linux-x64-gnu": "0.14.1", + "@css-inline/css-inline-linux-x64-musl": "0.14.1", + "@css-inline/css-inline-win32-x64-msvc": "0.14.1" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, + "node_modules/@css-inline/css-inline-android-arm-eabi": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@css-inline/css-inline-android-arm-eabi/-/css-inline-android-arm-eabi-0.14.1.tgz", + "integrity": "sha512-LNUR8TY4ldfYi0mi/d4UNuHJ+3o8yLQH9r2Nt6i4qeg1i7xswfL3n/LDLRXvGjBYqeEYNlhlBQzbPwMX1qrU6A==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=8" + "node": ">= 10" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, + "node_modules/@css-inline/css-inline-android-arm64": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@css-inline/css-inline-android-arm64/-/css-inline-android-arm64-0.14.1.tgz", + "integrity": "sha512-tH5us0NYGoTNBHOUHVV7j9KfJ4DtFOeTLA3cM0XNoMtArNu2pmaaBMFJPqECzavfXkLc7x5Z22UPZYjoyHfvCA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=8" + "node": ">= 10" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "node_modules/@css-inline/css-inline-darwin-arm64": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@css-inline/css-inline-darwin-arm64/-/css-inline-darwin-arm64-0.14.1.tgz", + "integrity": "sha512-QE5W1YRIfRayFrtrcK/wqEaxNaqLULPI0gZB4ArbFRd3d56IycvgBasDTHPre5qL2cXCO3VyPx+80XyHOaVkag==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@css-inline/css-inline-darwin-x64": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@css-inline/css-inline-darwin-x64/-/css-inline-darwin-x64-0.14.1.tgz", + "integrity": "sha512-mAvv2sN8awNFsbvBzlFkZPbCNZ6GCWY5/YcIz7V5dPYw+bHHRbjnlkNTEZq5BsDxErVrMIGvz05PGgzuNvZvdQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@css-inline/css-inline-linux-arm-gnueabihf": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@css-inline/css-inline-linux-arm-gnueabihf/-/css-inline-linux-arm-gnueabihf-0.14.1.tgz", + "integrity": "sha512-AWC44xL0X7BgKvrWEqfSqkT2tJA5kwSGrAGT+m0gt11wnTYySvQ6YpX0fTY9i3ppYGu4bEdXFjyK2uY1DTQMHA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@css-inline/css-inline-linux-arm64-gnu": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@css-inline/css-inline-linux-arm64-gnu/-/css-inline-linux-arm64-gnu-0.14.1.tgz", + "integrity": "sha512-drj0ciiJgdP3xKXvNAt4W+FH4KKMs8vB5iKLJ3HcH07sNZj58Sx++2GxFRS1el3p+GFp9OoYA6dgouJsGEqt0Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@css-inline/css-inline-linux-arm64-musl": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@css-inline/css-inline-linux-arm64-musl/-/css-inline-linux-arm64-musl-0.14.1.tgz", + "integrity": "sha512-FzknI+st8eA8YQSdEJU9ykcM0LZjjigBuynVF5/p7hiMm9OMP8aNhWbhZ8LKJpKbZrQsxSGS4g9Vnr6n6FiSdQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@css-inline/css-inline-linux-x64-gnu": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@css-inline/css-inline-linux-x64-gnu/-/css-inline-linux-x64-gnu-0.14.1.tgz", + "integrity": "sha512-yubbEye+daDY/4vXnyASAxH88s256pPati1DfVoZpU1V0+KP0BZ1dByZOU1ktExurbPH3gZOWisAnBE9xon0Uw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@css-inline/css-inline-linux-x64-musl": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@css-inline/css-inline-linux-x64-musl/-/css-inline-linux-x64-musl-0.14.1.tgz", + "integrity": "sha512-6CRAZzoy1dMLPC/tns2rTt1ZwPo0nL/jYBEIAsYTCWhfAnNnpoLKVh5Nm+fSU3OOwTTqU87UkGrFJhObD/wobQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@css-inline/css-inline-win32-x64-msvc": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@css-inline/css-inline-win32-x64-msvc/-/css-inline-win32-x64-msvc-0.14.1.tgz", + "integrity": "sha512-nzotGiaiuiQW78EzsiwsHZXbxEt6DiMUFcDJ6dhiliomXxnlaPyBfZb6/FMBgRJOf6sknDt/5695OttNmbMYzg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@jest/console": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", - "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@jest/core": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", - "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "dependencies": { - "@jest/console": "^29.7.0", - "@jest/reporters": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.7.0", - "jest-config": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-resolve-dependencies": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "jest-watcher": "^29.7.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@jest/reporters/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@jest/reporters/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@ljharb/through": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.13.tgz", + "integrity": "sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/@lukeed/csprng": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", + "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@microsoft/tsdoc": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.15.0.tgz", + "integrity": "sha512-HZpPoABogPvjeJOdzCOSJsXeL/SMCBgBZMVC3X3d7YYp2gf31MfxhUoYUNwf1ERPJOnQc0wkFn9trqI6ZEdZuA==", + "license": "MIT" + }, + "node_modules/@mongodb-js/saslprep": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.5.tgz", + "integrity": "sha512-XLNOMH66KhJzUJNwT/qlMnS4WsNDWD5ASdyaSH3EtK+F4r/CFGa3jT4GNi4mfOitGvWXtdLgQJkQjxSVrio+jA==", + "dependencies": { + "sparse-bitfield": "^3.0.3" + } + }, + "node_modules/@nestjs-modules/mailer": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@nestjs-modules/mailer/-/mailer-2.0.2.tgz", + "integrity": "sha512-+z4mADQasg0H1ZaGu4zZTuKv2pu+XdErqx99PLFPzCDNTN/q9U59WPgkxVaHnsvKHNopLj5Xap7G4ZpptduoYw==", + "license": "MIT", + "dependencies": { + "@css-inline/css-inline": "0.14.1", + "glob": "10.3.12" + }, + "optionalDependencies": { + "@types/ejs": "^3.1.5", + "@types/mjml": "^4.7.4", + "@types/pug": "^2.0.10", + "ejs": "^3.1.10", + "handlebars": "^4.7.8", + "liquidjs": "^10.11.1", + "mjml": "^4.15.3", + "preview-email": "^3.0.19", + "pug": "^3.0.2" + }, + "peerDependencies": { + "@nestjs/common": ">=7.0.9", + "@nestjs/core": ">=7.0.9", + "@types/ejs": ">=3.0.3", + "@types/mjml": ">=4.7.4", + "@types/pug": ">=2.0.6", + "ejs": ">=3.1.2", + "handlebars": ">=4.7.6", + "liquidjs": ">=10.8.2", + "mjml": ">=4.15.3", + "nodemailer": ">=6.4.6", + "preview-email": ">=3.0.19", + "pug": ">=3.0.1" + } + }, + "node_modules/@nestjs-modules/mailer/node_modules/glob": { + "version": "10.3.12", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", + "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.6", + "minimatch": "^9.0.1", + "minipass": "^7.0.4", + "path-scurry": "^1.10.2" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nestjs/cli": { + "version": "10.3.2", + "resolved": "https://registry.npmjs.org/@nestjs/cli/-/cli-10.3.2.tgz", + "integrity": "sha512-aWmD1GLluWrbuC4a1Iz/XBk5p74Uj6nIVZj6Ov03JbTfgtWqGFLtXuMetvzMiHxfrHehx/myt2iKAPRhKdZvTg==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "17.1.2", + "@angular-devkit/schematics": "17.1.2", + "@angular-devkit/schematics-cli": "17.1.2", + "@nestjs/schematics": "^10.0.1", + "chalk": "4.1.2", + "chokidar": "3.6.0", + "cli-table3": "0.6.3", + "commander": "4.1.1", + "fork-ts-checker-webpack-plugin": "9.0.2", + "glob": "10.3.10", + "inquirer": "8.2.6", + "node-emoji": "1.11.0", + "ora": "5.4.1", + "rimraf": "4.4.1", + "shelljs": "0.8.5", + "source-map-support": "0.5.21", + "tree-kill": "1.2.2", + "tsconfig-paths": "4.2.0", + "tsconfig-paths-webpack-plugin": "4.1.0", + "typescript": "5.3.3", + "webpack": "5.90.1", + "webpack-node-externals": "3.0.0" + }, + "bin": { + "nest": "bin/nest.js" + }, + "engines": { + "node": ">= 16.14" + }, + "peerDependencies": { + "@swc/cli": "^0.1.62 || ^0.3.0", + "@swc/core": "^1.3.62" + }, + "peerDependenciesMeta": { + "@swc/cli": { + "optional": true + }, + "@swc/core": { + "optional": true + } + } + }, + "node_modules/@nestjs/cli/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nestjs/cli/node_modules/estraverse": { + "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" + } + }, + "node_modules/@nestjs/cli/node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/@nestjs/cli/node_modules/webpack": { + "version": "5.90.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.1.tgz", + "integrity": "sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/@nestjs/common": { + "version": "10.3.3", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-10.3.3.tgz", + "integrity": "sha512-LAkTe8/CF0uNWM0ecuDwUNTHCi1lVSITmmR4FQ6Ftz1E7ujQCnJ5pMRzd8JRN14vdBkxZZ8VbVF0BDUKoKNxMQ==", + "dependencies": { + "iterare": "1.2.1", + "tslib": "2.6.2", + "uid": "2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "class-transformer": "*", + "class-validator": "*", + "reflect-metadata": "^0.1.12 || ^0.2.0", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "class-transformer": { + "optional": true + }, + "class-validator": { + "optional": true + } + } + }, + "node_modules/@nestjs/config": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@nestjs/config/-/config-3.2.0.tgz", + "integrity": "sha512-BpYRn57shg7CH35KGT6h+hT7ZucB6Qn2B3NBNdvhD4ApU8huS5pX/Wc2e/aO5trIha606Bz2a9t9/vbiuTBTww==", + "dependencies": { + "dotenv": "16.4.1", + "dotenv-expand": "10.0.0", + "lodash": "4.17.21", + "uuid": "9.0.1" + }, + "peerDependencies": { + "@nestjs/common": "^8.0.0 || ^9.0.0 || ^10.0.0", + "rxjs": "^7.1.0" + } + }, + "node_modules/@nestjs/config/node_modules/dotenv": { + "version": "16.4.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.1.tgz", + "integrity": "sha512-CjA3y+Dr3FyFDOAMnxZEGtnW9KBR2M0JvvUtXNW+dYJL5ROWxP9DUHCwgFqpMk0OXCc0ljhaNTr2w/kutYIcHQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/motdotla/dotenv?sponsor=1" + } + }, + "node_modules/@nestjs/config/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@nestjs/core": { + "version": "10.3.3", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-10.3.3.tgz", + "integrity": "sha512-kxJWggQAPX3RuZx9JVec69eSLaYLNIox2emkZJpfBJ5Qq7cAq7edQIt1r4LGjTKq6kFubNTPsqhWf5y7yFRBPw==", + "hasInstallScript": true, + "dependencies": { + "@nuxtjs/opencollective": "0.3.2", + "fast-safe-stringify": "2.1.1", + "iterare": "1.2.1", + "path-to-regexp": "3.2.0", + "tslib": "2.6.2", + "uid": "2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^10.0.0", + "@nestjs/microservices": "^10.0.0", + "@nestjs/platform-express": "^10.0.0", + "@nestjs/websockets": "^10.0.0", + "reflect-metadata": "^0.1.12 || ^0.2.0", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "@nestjs/microservices": { + "optional": true + }, + "@nestjs/platform-express": { + "optional": true + }, + "@nestjs/websockets": { + "optional": true + } + } + }, + "node_modules/@nestjs/jwt": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@nestjs/jwt/-/jwt-10.2.0.tgz", + "integrity": "sha512-x8cG90SURkEiLOehNaN2aRlotxT0KZESUliOPKKnjWiyJOcWurkF3w345WOX0P4MgFzUjGoZ1Sy0aZnxeihT0g==", + "license": "MIT", + "dependencies": { + "@types/jsonwebtoken": "9.0.5", + "jsonwebtoken": "9.0.2" + }, + "peerDependencies": { + "@nestjs/common": "^8.0.0 || ^9.0.0 || ^10.0.0" + } + }, + "node_modules/@nestjs/mapped-types": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-2.0.5.tgz", + "integrity": "sha512-bSJv4pd6EY99NX9CjBIyn4TVDoSit82DUZlL4I3bqNfy5Gt+gXTa86i3I/i0iIV9P4hntcGM5GyO+FhZAhxtyg==", + "peerDependencies": { + "@nestjs/common": "^8.0.0 || ^9.0.0 || ^10.0.0", + "class-transformer": "^0.4.0 || ^0.5.0", + "class-validator": "^0.13.0 || ^0.14.0", + "reflect-metadata": "^0.1.12 || ^0.2.0" + }, + "peerDependenciesMeta": { + "class-transformer": { + "optional": true + }, + "class-validator": { + "optional": true + } + } + }, + "node_modules/@nestjs/mongoose": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/@nestjs/mongoose/-/mongoose-10.0.4.tgz", + "integrity": "sha512-OXcguhrv+ahXmpPD3FJgnCLU3eUSBcbE7OwClJL+3inpPAyvMbhLrYvk3Zi7/34aMCzBOILdCBh95AQ7ghd1sg==", + "peerDependencies": { + "@nestjs/common": "^8.0.0 || ^9.0.0 || ^10.0.0", + "@nestjs/core": "^8.0.0 || ^9.0.0 || ^10.0.0", + "mongoose": "^6.0.2 || ^7.0.0 || ^8.0.0", + "rxjs": "^7.0.0" + } + }, + "node_modules/@nestjs/passport": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/@nestjs/passport/-/passport-10.0.3.tgz", + "integrity": "sha512-znJ9Y4S8ZDVY+j4doWAJ8EuuVO7SkQN3yOBmzxbGaXbvcSwFDAdGJ+OMCg52NdzIO4tQoN4pYKx8W6M0ArfFRQ==", + "license": "MIT", + "peerDependencies": { + "@nestjs/common": "^8.0.0 || ^9.0.0 || ^10.0.0", + "passport": "^0.4.0 || ^0.5.0 || ^0.6.0 || ^0.7.0" + } + }, + "node_modules/@nestjs/platform-express": { + "version": "10.3.3", + "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-10.3.3.tgz", + "integrity": "sha512-GGKSEU48Os7nYFIsUM0nutuFUGn5AbeP8gzFBiBCAtiuJWrXZXpZ58pMBYxAbMf7IrcOZFInHEukjHGAQU0OZw==", + "dependencies": { + "body-parser": "1.20.2", + "cors": "2.8.5", + "express": "4.18.2", + "multer": "1.4.4-lts.1", + "tslib": "2.6.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^10.0.0", + "@nestjs/core": "^10.0.0" + } + }, + "node_modules/@nestjs/schematics": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@nestjs/schematics/-/schematics-10.1.1.tgz", + "integrity": "sha512-o4lfCnEeIkfJhGBbLZxTuVWcGuqDCFwg5OrvpgRUBM7vI/vONvKKiB5riVNpO+JqXoH0I42NNeDb0m4V5RREig==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "17.1.2", + "@angular-devkit/schematics": "17.1.2", + "comment-json": "4.2.3", + "jsonc-parser": "3.2.1", + "pluralize": "8.0.0" + }, + "peerDependencies": { + "typescript": ">=4.8.2" + } + }, + "node_modules/@nestjs/schematics/node_modules/jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "dev": true + }, + "node_modules/@nestjs/swagger": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@nestjs/swagger/-/swagger-7.4.0.tgz", + "integrity": "sha512-dCiwKkRxcR7dZs5jtrGspBAe/nqJd1AYzOBTzw9iCdbq3BGrLpwokelk6lFZPe4twpTsPQqzNKBwKzVbI6AR/g==", + "license": "MIT", + "dependencies": { + "@microsoft/tsdoc": "^0.15.0", + "@nestjs/mapped-types": "2.0.5", + "js-yaml": "4.1.0", + "lodash": "4.17.21", + "path-to-regexp": "3.2.0", + "swagger-ui-dist": "5.17.14" + }, + "peerDependencies": { + "@fastify/static": "^6.0.0 || ^7.0.0", + "@nestjs/common": "^9.0.0 || ^10.0.0", + "@nestjs/core": "^9.0.0 || ^10.0.0", + "class-transformer": "*", + "class-validator": "*", + "reflect-metadata": "^0.1.12 || ^0.2.0" + }, + "peerDependenciesMeta": { + "@fastify/static": { + "optional": true + }, + "class-transformer": { + "optional": true + }, + "class-validator": { + "optional": true + } + } + }, + "node_modules/@nestjs/testing": { + "version": "10.3.3", + "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-10.3.3.tgz", + "integrity": "sha512-kX20GfjAImL5grd/i69uD/x7sc00BaqGcP2dRG3ilqshQUuy5DOmspLCr3a2C8xmVU7kzK4spT0oTxhe6WcCAA==", + "dev": true, + "dependencies": { + "tslib": "2.6.2" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" }, "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "@nestjs/common": "^10.0.0", + "@nestjs/core": "^10.0.0", + "@nestjs/microservices": "^10.0.0", + "@nestjs/platform-express": "^10.0.0" }, "peerDependenciesMeta": { - "node-notifier": { + "@nestjs/microservices": { + "optional": true + }, + "@nestjs/platform-express": { "optional": true } } }, - "node_modules/@jest/environment": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", - "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "dependencies": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 8" } }, - "node_modules/@jest/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, - "dependencies": { - "expect": "^29.7.0", - "jest-snapshot": "^29.7.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 8" } }, - "node_modules/@jest/expect-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", - "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "dependencies": { - "jest-get-type": "^29.6.3" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 8" } }, - "node_modules/@jest/fake-timers": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", - "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", - "dev": true, + "node_modules/@nuxtjs/opencollective": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", + "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", "dependencies": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" + "chalk": "^4.1.0", + "consola": "^2.15.0", + "node-fetch": "^2.6.1" + }, + "bin": { + "opencollective": "bin/opencollective.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8.0.0", + "npm": ">=5.0.0" } }, - "node_modules/@jest/globals": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", - "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/types": "^29.6.3", - "jest-mock": "^29.7.0" - }, + "node_modules/@one-ini/wasm": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", + "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", + "license": "MIT", + "optional": true + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=14" } }, - "node_modules/@jest/reporters": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", - "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "funding": { + "url": "https://opencollective.com/unts" } }, - "node_modules/@jest/reporters/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, + "node_modules/@selderee/plugin-htmlparser2": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.11.0.tgz", + "integrity": "sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==", + "license": "MIT", + "optional": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "domhandler": "^5.0.3", + "selderee": "^0.11.0" + }, + "funding": { + "url": "https://ko-fi.com/killymxi" } }, - "node_modules/@jest/reporters/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "type-detect": "4.0.8" } }, - "node_modules/@jest/reporters/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" + "@sinonjs/commons": "^3.0.0" } }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "dev": true, + "node_modules/@smithy/abort-controller": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-4.2.10.tgz", + "integrity": "sha512-qocxM/X4XGATqQtUkbE9SPUB6wekBi+FyJOMbPj0AhvyvFGYEmOlz6VB22iMePCQsFmMIvFSeViDvA7mZJG47g==", + "license": "Apache-2.0", "dependencies": { - "@sinclair/typebox": "^0.27.8" + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18.0.0" } }, - "node_modules/@jest/source-map": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", - "dev": true, + "node_modules/@smithy/chunked-blob-reader": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-5.2.1.tgz", + "integrity": "sha512-y5d4xRiD6TzeP5BWlb+Ig/VFqF+t9oANNhGeMqyzU7obw7FYgTgVi50i5JqBTeKp+TABeDIeeXFZdz65RipNtA==", + "license": "Apache-2.0", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" + "tslib": "^2.6.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18.0.0" } }, - "node_modules/@jest/test-result": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", - "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", - "dev": true, + "node_modules/@smithy/chunked-blob-reader-native": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-4.2.2.tgz", + "integrity": "sha512-QzzYIlf4yg0w5TQaC9VId3B3ugSk1MI/wb7tgcHtd7CBV9gNRKZrhc2EPSxSZuDy10zUZ0lomNMgkc6/VVe8xg==", + "license": "Apache-2.0", "dependencies": { - "@jest/console": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "@smithy/util-base64": "^4.3.1", + "tslib": "^2.6.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18.0.0" } }, - "node_modules/@jest/test-sequencer": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", - "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", - "dev": true, + "node_modules/@smithy/config-resolver": { + "version": "4.4.9", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.4.9.tgz", + "integrity": "sha512-ejQvXqlcU30h7liR9fXtj7PIAau1t/sFbJpgWPfiYDs7zd16jpH0IsSXKcba2jF6ChTXvIjACs27kNMc5xxE2Q==", + "license": "Apache-2.0", "dependencies": { - "@jest/test-result": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "slash": "^3.0.0" + "@smithy/node-config-provider": "^4.3.10", + "@smithy/types": "^4.13.0", + "@smithy/util-config-provider": "^4.2.1", + "@smithy/util-endpoints": "^3.3.1", + "@smithy/util-middleware": "^4.2.10", + "tslib": "^2.6.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18.0.0" } }, - "node_modules/@jest/transform": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", - "dev": true, + "node_modules/@smithy/core": { + "version": "3.23.6", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.23.6.tgz", + "integrity": "sha512-4xE+0L2NrsFKpEVFlFELkIHQddBvMbQ41LRIP74dGCXnY1zQ9DgksrBcRBDJT+iOzGy4VEJIeU3hkUK5mn06kg==", + "license": "Apache-2.0", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" + "@smithy/middleware-serde": "^4.2.11", + "@smithy/protocol-http": "^5.3.10", + "@smithy/types": "^4.13.0", + "@smithy/util-base64": "^4.3.1", + "@smithy/util-body-length-browser": "^4.2.1", + "@smithy/util-middleware": "^4.2.10", + "@smithy/util-stream": "^4.5.15", + "@smithy/util-utf8": "^4.2.1", + "@smithy/uuid": "^1.1.1", + "tslib": "^2.6.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18.0.0" } }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "dev": true, + "node_modules/@smithy/credential-provider-imds": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.2.10.tgz", + "integrity": "sha512-3bsMLJJLTZGZqVGGeBVFfLzuRulVsGTj12BzRKODTHqUABpIr0jMN1vN3+u6r2OfyhAQ2pXaMZWX/swBK5I6PQ==", + "license": "Apache-2.0", "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "@smithy/node-config-provider": "^4.3.10", + "@smithy/property-provider": "^4.2.10", + "@smithy/types": "^4.13.0", + "@smithy/url-parser": "^4.2.10", + "tslib": "^2.6.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18.0.0" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dev": true, + "node_modules/@smithy/eventstream-codec": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-4.2.10.tgz", + "integrity": "sha512-A4ynrsFFfSXUHicfTcRehytppFBcY3HQxEGYiyGktPIOye3Ot7fxpiy4VR42WmtGI4Wfo6OXt/c1Ky1nUFxYYQ==", + "license": "Apache-2.0", "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" + "@aws-crypto/crc32": "5.2.0", + "@smithy/types": "^4.13.0", + "@smithy/util-hex-encoding": "^4.2.1", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.0.0" + "node": ">=18.0.0" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, + "node_modules/@smithy/eventstream-serde-browser": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-4.2.10.tgz", + "integrity": "sha512-0xupsu9yj9oDVuQ50YCTS9nuSYhGlrwqdaKQel9y2Fz7LU9fNErVlw9N0o4pm4qqvWEGbSTI4HKc6XJfB30MVw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/eventstream-serde-universal": "^4.2.10", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.0.0" + "node": ">=18.0.0" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, + "node_modules/@smithy/eventstream-serde-config-resolver": { + "version": "4.3.10", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-4.3.10.tgz", + "integrity": "sha512-8kn6sinrduk0yaYHMJDsNuiFpXwQwibR7n/4CDUqn4UgaG+SeBHu5jHGFdU9BLFAM7Q4/gvr9RYxBHz9/jKrhA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.0.0" + "node": ">=18.0.0" } }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "dev": true, + "node_modules/@smithy/eventstream-serde-node": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-4.2.10.tgz", + "integrity": "sha512-uUrxPGgIffnYfvIOUmBM5i+USdEBRTdh7mLPttjphgtooxQ8CtdO1p6K5+Q4BBAZvKlvtJ9jWyrWpBJYzBKsyQ==", + "license": "Apache-2.0", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" + "@smithy/eventstream-serde-universal": "^4.2.10", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, + "node_modules/@smithy/eventstream-serde-universal": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-4.2.10.tgz", + "integrity": "sha512-aArqzOEvcs2dK+xQVCgLbpJQGfZihw8SD4ymhkwNTtwKbnrzdhJsFDKuMQnam2kF69WzgJYOU5eJlCx+CA32bw==", + "license": "Apache-2.0", "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "@smithy/eventstream-codec": "^4.2.10", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@ljharb/through": { - "version": "2.3.13", - "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.13.tgz", - "integrity": "sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==", - "dev": true, + "node_modules/@smithy/fetch-http-handler": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.3.11.tgz", + "integrity": "sha512-wbTRjOxdFuyEg0CpumjZO0hkUl+fetJFqxNROepuLIoijQh51aMBmzFLfoQdwRjxsuuS2jizzIUTjPWgd8pd7g==", + "license": "Apache-2.0", "dependencies": { - "call-bind": "^1.0.7" + "@smithy/protocol-http": "^5.3.10", + "@smithy/querystring-builder": "^4.2.10", + "@smithy/types": "^4.13.0", + "@smithy/util-base64": "^4.3.1", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 0.4" + "node": ">=18.0.0" } }, - "node_modules/@lukeed/csprng": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", - "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", + "node_modules/@smithy/hash-blob-browser": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-4.2.11.tgz", + "integrity": "sha512-DrcAx3PM6AEbWZxsKl6CWAGnVwiz28Wp1ZhNu+Hi4uI/6C1PIZBIaPM2VoqBDAsOWbM6ZVzOEQMxFLLdmb4eBQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/chunked-blob-reader": "^5.2.1", + "@smithy/chunked-blob-reader-native": "^4.2.2", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=8" + "node": ">=18.0.0" } }, - "node_modules/@microsoft/tsdoc": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.15.0.tgz", - "integrity": "sha512-HZpPoABogPvjeJOdzCOSJsXeL/SMCBgBZMVC3X3d7YYp2gf31MfxhUoYUNwf1ERPJOnQc0wkFn9trqI6ZEdZuA==", - "license": "MIT" - }, - "node_modules/@mongodb-js/saslprep": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.5.tgz", - "integrity": "sha512-XLNOMH66KhJzUJNwT/qlMnS4WsNDWD5ASdyaSH3EtK+F4r/CFGa3jT4GNi4mfOitGvWXtdLgQJkQjxSVrio+jA==", + "node_modules/@smithy/hash-node": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.2.10.tgz", + "integrity": "sha512-1VzIOI5CcsvMDvP3iv1vG/RfLJVVVc67dCRyLSB2Hn9SWCZrDO3zvcIzj3BfEtqRW5kcMg5KAeVf1K3dR6nD3w==", + "license": "Apache-2.0", "dependencies": { - "sparse-bitfield": "^3.0.3" + "@smithy/types": "^4.13.0", + "@smithy/util-buffer-from": "^4.2.1", + "@smithy/util-utf8": "^4.2.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@nestjs-modules/mailer": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@nestjs-modules/mailer/-/mailer-2.0.2.tgz", - "integrity": "sha512-+z4mADQasg0H1ZaGu4zZTuKv2pu+XdErqx99PLFPzCDNTN/q9U59WPgkxVaHnsvKHNopLj5Xap7G4ZpptduoYw==", - "license": "MIT", + "node_modules/@smithy/hash-stream-node": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-4.2.10.tgz", + "integrity": "sha512-w78xsYrOlwXKwN5tv1GnKIRbHb1HygSpeZMP6xDxCPGf1U/xDHjCpJu64c5T35UKyEPwa0bPeIcvU69VY3khUA==", + "license": "Apache-2.0", "dependencies": { - "@css-inline/css-inline": "0.14.1", - "glob": "10.3.12" - }, - "optionalDependencies": { - "@types/ejs": "^3.1.5", - "@types/mjml": "^4.7.4", - "@types/pug": "^2.0.10", - "ejs": "^3.1.10", - "handlebars": "^4.7.8", - "liquidjs": "^10.11.1", - "mjml": "^4.15.3", - "preview-email": "^3.0.19", - "pug": "^3.0.2" + "@smithy/types": "^4.13.0", + "@smithy/util-utf8": "^4.2.1", + "tslib": "^2.6.2" }, - "peerDependencies": { - "@nestjs/common": ">=7.0.9", - "@nestjs/core": ">=7.0.9", - "@types/ejs": ">=3.0.3", - "@types/mjml": ">=4.7.4", - "@types/pug": ">=2.0.6", - "ejs": ">=3.1.2", - "handlebars": ">=4.7.6", - "liquidjs": ">=10.8.2", - "mjml": ">=4.15.3", - "nodemailer": ">=6.4.6", - "preview-email": ">=3.0.19", - "pug": ">=3.0.1" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@nestjs-modules/mailer/node_modules/glob": { - "version": "10.3.12", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", - "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", - "license": "ISC", + "node_modules/@smithy/invalid-dependency": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.2.10.tgz", + "integrity": "sha512-vy9KPNSFUU0ajFYk0sDZIYiUlAWGEAhRfehIr5ZkdFrRFTAuXEPUd41USuqHU6vvLX4r6Q9X7MKBco5+Il0Org==", + "license": "Apache-2.0", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.6", - "minimatch": "^9.0.1", - "minipass": "^7.0.4", - "path-scurry": "^1.10.2" - }, - "bin": { - "glob": "dist/esm/bin.mjs" + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=18.0.0" } }, - "node_modules/@nestjs/cli": { - "version": "10.3.2", - "resolved": "https://registry.npmjs.org/@nestjs/cli/-/cli-10.3.2.tgz", - "integrity": "sha512-aWmD1GLluWrbuC4a1Iz/XBk5p74Uj6nIVZj6Ov03JbTfgtWqGFLtXuMetvzMiHxfrHehx/myt2iKAPRhKdZvTg==", - "dev": true, + "node_modules/@smithy/is-array-buffer": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.2.1.tgz", + "integrity": "sha512-Yfu664Qbf1B4IYIsYgKoABt010daZjkaCRvdU/sPnZG6TtHOB0md0RjNdLGzxe5UIdn9js4ftPICzmkRa9RJ4Q==", + "license": "Apache-2.0", "dependencies": { - "@angular-devkit/core": "17.1.2", - "@angular-devkit/schematics": "17.1.2", - "@angular-devkit/schematics-cli": "17.1.2", - "@nestjs/schematics": "^10.0.1", - "chalk": "4.1.2", - "chokidar": "3.6.0", - "cli-table3": "0.6.3", - "commander": "4.1.1", - "fork-ts-checker-webpack-plugin": "9.0.2", - "glob": "10.3.10", - "inquirer": "8.2.6", - "node-emoji": "1.11.0", - "ora": "5.4.1", - "rimraf": "4.4.1", - "shelljs": "0.8.5", - "source-map-support": "0.5.21", - "tree-kill": "1.2.2", - "tsconfig-paths": "4.2.0", - "tsconfig-paths-webpack-plugin": "4.1.0", - "typescript": "5.3.3", - "webpack": "5.90.1", - "webpack-node-externals": "3.0.0" - }, - "bin": { - "nest": "bin/nest.js" + "tslib": "^2.6.2" }, "engines": { - "node": ">= 16.14" - }, - "peerDependencies": { - "@swc/cli": "^0.1.62 || ^0.3.0", - "@swc/core": "^1.3.62" + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/md5-js": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-4.2.10.tgz", + "integrity": "sha512-Op+Dh6dPLWTjWITChFayDllIaCXRofOed8ecpggTC5fkh8yXes0vAEX7gRUfjGK+TlyxoCAA05gHbZW/zB9JwQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.13.0", + "@smithy/util-utf8": "^4.2.1", + "tslib": "^2.6.2" }, - "peerDependenciesMeta": { - "@swc/cli": { - "optional": true - }, - "@swc/core": { - "optional": true - } + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@nestjs/cli/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, + "node_modules/@smithy/middleware-content-length": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.2.10.tgz", + "integrity": "sha512-TQZ9kX5c6XbjhaEBpvhSvMEZ0klBs1CFtOdPFwATZSbC9UeQfKHPLPN9Y+I6wZGMOavlYTOlHEPDrt42PMSH9w==", + "license": "Apache-2.0", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "@smithy/protocol-http": "^5.3.10", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8.0.0" + "node": ">=18.0.0" } }, - "node_modules/@nestjs/cli/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, + "node_modules/@smithy/middleware-endpoint": { + "version": "4.4.20", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.4.20.tgz", + "integrity": "sha512-9W6Np4ceBP3XCYAGLoMCmn8t2RRVzuD1ndWPLBbv7H9CrwM9Bprf6Up6BM9ZA/3alodg0b7Kf6ftBK9R1N04vw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^3.23.6", + "@smithy/middleware-serde": "^4.2.11", + "@smithy/node-config-provider": "^4.3.10", + "@smithy/shared-ini-file-loader": "^4.4.5", + "@smithy/types": "^4.13.0", + "@smithy/url-parser": "^4.2.10", + "@smithy/util-middleware": "^4.2.10", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=4.0" + "node": ">=18.0.0" } }, - "node_modules/@nestjs/cli/node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "node_modules/@smithy/middleware-retry": { + "version": "4.4.37", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.4.37.tgz", + "integrity": "sha512-/1psZZllBBSQ7+qo5+hhLz7AEPGLx3Z0+e3ramMBEuPK2PfvLK4SrncDB9VegX5mBn+oP/UTDrM6IHrFjvX1ZA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^4.3.10", + "@smithy/protocol-http": "^5.3.10", + "@smithy/service-error-classification": "^4.2.10", + "@smithy/smithy-client": "^4.12.0", + "@smithy/types": "^4.13.0", + "@smithy/util-middleware": "^4.2.10", + "@smithy/util-retry": "^4.2.10", + "@smithy/uuid": "^1.1.1", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.17" + "node": ">=18.0.0" } }, - "node_modules/@nestjs/cli/node_modules/webpack": { - "version": "5.90.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.1.tgz", - "integrity": "sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog==", - "dev": true, + "node_modules/@smithy/middleware-serde": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.2.11.tgz", + "integrity": "sha512-STQdONGPwbbC7cusL60s7vOa6He6A9w2jWhoapL0mgVjmR19pr26slV+yoSP76SIssMTX/95e5nOZ6UQv6jolg==", + "license": "Apache-2.0", "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.21.10", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" + "@smithy/protocol-http": "^5.3.10", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } + "node": ">=18.0.0" } }, - "node_modules/@nestjs/common": { - "version": "10.3.3", - "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-10.3.3.tgz", - "integrity": "sha512-LAkTe8/CF0uNWM0ecuDwUNTHCi1lVSITmmR4FQ6Ftz1E7ujQCnJ5pMRzd8JRN14vdBkxZZ8VbVF0BDUKoKNxMQ==", + "node_modules/@smithy/middleware-stack": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.2.10.tgz", + "integrity": "sha512-pmts/WovNcE/tlyHa8z/groPeOtqtEpp61q3W0nW1nDJuMq/x+hWa/OVQBtgU0tBqupeXq0VBOLA4UZwE8I0YA==", + "license": "Apache-2.0", "dependencies": { - "iterare": "1.2.1", - "tslib": "2.6.2", - "uid": "2.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "class-transformer": "*", - "class-validator": "*", - "reflect-metadata": "^0.1.12 || ^0.2.0", - "rxjs": "^7.1.0" + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" }, - "peerDependenciesMeta": { - "class-transformer": { - "optional": true - }, - "class-validator": { - "optional": true - } + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@nestjs/config": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@nestjs/config/-/config-3.2.0.tgz", - "integrity": "sha512-BpYRn57shg7CH35KGT6h+hT7ZucB6Qn2B3NBNdvhD4ApU8huS5pX/Wc2e/aO5trIha606Bz2a9t9/vbiuTBTww==", + "node_modules/@smithy/node-config-provider": { + "version": "4.3.10", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.3.10.tgz", + "integrity": "sha512-UALRbJtVX34AdP2VECKVlnNgidLHA2A7YgcJzwSBg1hzmnO/bZBHl/LDQQyYifzUwp1UOODnl9JJ3KNawpUJ9w==", + "license": "Apache-2.0", "dependencies": { - "dotenv": "16.4.1", - "dotenv-expand": "10.0.0", - "lodash": "4.17.21", - "uuid": "9.0.1" + "@smithy/property-provider": "^4.2.10", + "@smithy/shared-ini-file-loader": "^4.4.5", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" }, - "peerDependencies": { - "@nestjs/common": "^8.0.0 || ^9.0.0 || ^10.0.0", - "rxjs": "^7.1.0" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@nestjs/config/node_modules/dotenv": { - "version": "16.4.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.1.tgz", - "integrity": "sha512-CjA3y+Dr3FyFDOAMnxZEGtnW9KBR2M0JvvUtXNW+dYJL5ROWxP9DUHCwgFqpMk0OXCc0ljhaNTr2w/kutYIcHQ==", - "engines": { - "node": ">=12" + "node_modules/@smithy/node-http-handler": { + "version": "4.4.12", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.4.12.tgz", + "integrity": "sha512-zo1+WKJkR9x7ZtMeMDAAsq2PufwiLDmkhcjpWPRRkmeIuOm6nq1qjFICSZbnjBvD09ei8KMo26BWxsu2BUU+5w==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/abort-controller": "^4.2.10", + "@smithy/protocol-http": "^5.3.10", + "@smithy/querystring-builder": "^4.2.10", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" }, - "funding": { - "url": "https://github.com/motdotla/dotenv?sponsor=1" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@nestjs/config/node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "node_modules/@smithy/property-provider": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.2.10.tgz", + "integrity": "sha512-5jm60P0CU7tom0eNrZ7YrkgBaoLFXzmqB0wVS+4uK8PPGmosSrLNf6rRd50UBvukztawZ7zyA8TxlrKpF5z9jw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@nestjs/core": { - "version": "10.3.3", - "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-10.3.3.tgz", - "integrity": "sha512-kxJWggQAPX3RuZx9JVec69eSLaYLNIox2emkZJpfBJ5Qq7cAq7edQIt1r4LGjTKq6kFubNTPsqhWf5y7yFRBPw==", - "hasInstallScript": true, + "node_modules/@smithy/protocol-http": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.3.10.tgz", + "integrity": "sha512-2NzVWpYY0tRdfeCJLsgrR89KE3NTWT2wGulhNUxYlRmtRmPwLQwKzhrfVaiNlA9ZpJvbW7cjTVChYKgnkqXj1A==", + "license": "Apache-2.0", "dependencies": { - "@nuxtjs/opencollective": "0.3.2", - "fast-safe-stringify": "2.1.1", - "iterare": "1.2.1", - "path-to-regexp": "3.2.0", - "tslib": "2.6.2", - "uid": "2.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "@nestjs/common": "^10.0.0", - "@nestjs/microservices": "^10.0.0", - "@nestjs/platform-express": "^10.0.0", - "@nestjs/websockets": "^10.0.0", - "reflect-metadata": "^0.1.12 || ^0.2.0", - "rxjs": "^7.1.0" + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" }, - "peerDependenciesMeta": { - "@nestjs/microservices": { - "optional": true - }, - "@nestjs/platform-express": { - "optional": true - }, - "@nestjs/websockets": { - "optional": true - } + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@nestjs/jwt": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/@nestjs/jwt/-/jwt-10.2.0.tgz", - "integrity": "sha512-x8cG90SURkEiLOehNaN2aRlotxT0KZESUliOPKKnjWiyJOcWurkF3w345WOX0P4MgFzUjGoZ1Sy0aZnxeihT0g==", - "license": "MIT", + "node_modules/@smithy/querystring-builder": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.2.10.tgz", + "integrity": "sha512-HeN7kEvuzO2DmAzLukE9UryiUvejD3tMp9a1D1NJETerIfKobBUCLfviP6QEk500166eD2IATaXM59qgUI+YDA==", + "license": "Apache-2.0", "dependencies": { - "@types/jsonwebtoken": "9.0.5", - "jsonwebtoken": "9.0.2" + "@smithy/types": "^4.13.0", + "@smithy/util-uri-escape": "^4.2.1", + "tslib": "^2.6.2" }, - "peerDependencies": { - "@nestjs/common": "^8.0.0 || ^9.0.0 || ^10.0.0" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@nestjs/mapped-types": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-2.0.5.tgz", - "integrity": "sha512-bSJv4pd6EY99NX9CjBIyn4TVDoSit82DUZlL4I3bqNfy5Gt+gXTa86i3I/i0iIV9P4hntcGM5GyO+FhZAhxtyg==", - "peerDependencies": { - "@nestjs/common": "^8.0.0 || ^9.0.0 || ^10.0.0", - "class-transformer": "^0.4.0 || ^0.5.0", - "class-validator": "^0.13.0 || ^0.14.0", - "reflect-metadata": "^0.1.12 || ^0.2.0" + "node_modules/@smithy/querystring-parser": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.2.10.tgz", + "integrity": "sha512-4Mh18J26+ao1oX5wXJfWlTT+Q1OpDR8ssiC9PDOuEgVBGloqg18Fw7h5Ct8DyT9NBYwJgtJ2nLjKKFU6RP1G1Q==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" }, - "peerDependenciesMeta": { - "class-transformer": { - "optional": true - }, - "class-validator": { - "optional": true - } + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@nestjs/mongoose": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/@nestjs/mongoose/-/mongoose-10.0.4.tgz", - "integrity": "sha512-OXcguhrv+ahXmpPD3FJgnCLU3eUSBcbE7OwClJL+3inpPAyvMbhLrYvk3Zi7/34aMCzBOILdCBh95AQ7ghd1sg==", - "peerDependencies": { - "@nestjs/common": "^8.0.0 || ^9.0.0 || ^10.0.0", - "@nestjs/core": "^8.0.0 || ^9.0.0 || ^10.0.0", - "mongoose": "^6.0.2 || ^7.0.0 || ^8.0.0", - "rxjs": "^7.0.0" + "node_modules/@smithy/service-error-classification": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.2.10.tgz", + "integrity": "sha512-0R/+/Il5y8nB/By90o8hy/bWVYptbIfvoTYad0igYQO5RefhNCDmNzqxaMx7K1t/QWo0d6UynqpqN5cCQt1MCg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.13.0" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@nestjs/passport": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/@nestjs/passport/-/passport-10.0.3.tgz", - "integrity": "sha512-znJ9Y4S8ZDVY+j4doWAJ8EuuVO7SkQN3yOBmzxbGaXbvcSwFDAdGJ+OMCg52NdzIO4tQoN4pYKx8W6M0ArfFRQ==", - "license": "MIT", - "peerDependencies": { - "@nestjs/common": "^8.0.0 || ^9.0.0 || ^10.0.0", - "passport": "^0.4.0 || ^0.5.0 || ^0.6.0 || ^0.7.0" + "node_modules/@smithy/shared-ini-file-loader": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.4.5.tgz", + "integrity": "sha512-pHgASxl50rrtOztgQCPmOXFjRW+mCd7ALr/3uXNzRrRoGV5G2+78GOsQ3HlQuBVHCh9o6xqMNvlIKZjWn4Euug==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@nestjs/platform-express": { - "version": "10.3.3", - "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-10.3.3.tgz", - "integrity": "sha512-GGKSEU48Os7nYFIsUM0nutuFUGn5AbeP8gzFBiBCAtiuJWrXZXpZ58pMBYxAbMf7IrcOZFInHEukjHGAQU0OZw==", + "node_modules/@smithy/signature-v4": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.3.10.tgz", + "integrity": "sha512-Wab3wW8468WqTKIxI+aZe3JYO52/RYT/8sDOdzkUhjnLakLe9qoQqIcfih/qxcF4qWEFoWBszY0mj5uxffaVXA==", + "license": "Apache-2.0", "dependencies": { - "body-parser": "1.20.2", - "cors": "2.8.5", - "express": "4.18.2", - "multer": "1.4.4-lts.1", - "tslib": "2.6.2" + "@smithy/is-array-buffer": "^4.2.1", + "@smithy/protocol-http": "^5.3.10", + "@smithy/types": "^4.13.0", + "@smithy/util-hex-encoding": "^4.2.1", + "@smithy/util-middleware": "^4.2.10", + "@smithy/util-uri-escape": "^4.2.1", + "@smithy/util-utf8": "^4.2.1", + "tslib": "^2.6.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/smithy-client": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.12.0.tgz", + "integrity": "sha512-R8bQ9K3lCcXyZmBnQqUZJF4ChZmtWT5NLi6x5kgWx5D+/j0KorXcA0YcFg/X5TOgnTCy1tbKc6z2g2y4amFupQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^3.23.6", + "@smithy/middleware-endpoint": "^4.4.20", + "@smithy/middleware-stack": "^4.2.10", + "@smithy/protocol-http": "^5.3.10", + "@smithy/types": "^4.13.0", + "@smithy/util-stream": "^4.5.15", + "tslib": "^2.6.2" }, - "peerDependencies": { - "@nestjs/common": "^10.0.0", - "@nestjs/core": "^10.0.0" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@nestjs/schematics": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/@nestjs/schematics/-/schematics-10.1.1.tgz", - "integrity": "sha512-o4lfCnEeIkfJhGBbLZxTuVWcGuqDCFwg5OrvpgRUBM7vI/vONvKKiB5riVNpO+JqXoH0I42NNeDb0m4V5RREig==", - "dev": true, + "node_modules/@smithy/types": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.13.0.tgz", + "integrity": "sha512-COuLsZILbbQsdrwKQpkkpyep7lCsByxwj7m0Mg5v66/ZTyenlfBc40/QFQ5chO0YN/PNEH1Bi3fGtfXPnYNeDw==", + "license": "Apache-2.0", "dependencies": { - "@angular-devkit/core": "17.1.2", - "@angular-devkit/schematics": "17.1.2", - "comment-json": "4.2.3", - "jsonc-parser": "3.2.1", - "pluralize": "8.0.0" + "tslib": "^2.6.2" }, - "peerDependencies": { - "typescript": ">=4.8.2" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@nestjs/schematics/node_modules/jsonc-parser": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", - "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", - "dev": true - }, - "node_modules/@nestjs/swagger": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@nestjs/swagger/-/swagger-7.4.0.tgz", - "integrity": "sha512-dCiwKkRxcR7dZs5jtrGspBAe/nqJd1AYzOBTzw9iCdbq3BGrLpwokelk6lFZPe4twpTsPQqzNKBwKzVbI6AR/g==", - "license": "MIT", + "node_modules/@smithy/url-parser": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.2.10.tgz", + "integrity": "sha512-uypjF7fCDsRk26u3qHmFI/ePL7bxxB9vKkE+2WKEciHhz+4QtbzWiHRVNRJwU3cKhrYDYQE3b0MRFtqfLYdA4A==", + "license": "Apache-2.0", "dependencies": { - "@microsoft/tsdoc": "^0.15.0", - "@nestjs/mapped-types": "2.0.5", - "js-yaml": "4.1.0", - "lodash": "4.17.21", - "path-to-regexp": "3.2.0", - "swagger-ui-dist": "5.17.14" - }, - "peerDependencies": { - "@fastify/static": "^6.0.0 || ^7.0.0", - "@nestjs/common": "^9.0.0 || ^10.0.0", - "@nestjs/core": "^9.0.0 || ^10.0.0", - "class-transformer": "*", - "class-validator": "*", - "reflect-metadata": "^0.1.12 || ^0.2.0" + "@smithy/querystring-parser": "^4.2.10", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" }, - "peerDependenciesMeta": { - "@fastify/static": { - "optional": true - }, - "class-transformer": { - "optional": true - }, - "class-validator": { - "optional": true - } + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@nestjs/testing": { - "version": "10.3.3", - "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-10.3.3.tgz", - "integrity": "sha512-kX20GfjAImL5grd/i69uD/x7sc00BaqGcP2dRG3ilqshQUuy5DOmspLCr3a2C8xmVU7kzK4spT0oTxhe6WcCAA==", - "dev": true, + "node_modules/@smithy/util-base64": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-4.3.1.tgz", + "integrity": "sha512-BKGuawX4Doq/bI/uEmg+Zyc36rJKWuin3py89PquXBIBqmbnJwBBsmKhdHfNEp0+A4TDgLmT/3MSKZ1SxHcR6w==", + "license": "Apache-2.0", "dependencies": { - "tslib": "2.6.2" + "@smithy/util-buffer-from": "^4.2.1", + "@smithy/util-utf8": "^4.2.1", + "tslib": "^2.6.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-body-length-browser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-4.2.1.tgz", + "integrity": "sha512-SiJeLiozrAoCrgDBUgsVbmqHmMgg/2bA15AzcbcW+zan7SuyAVHN4xTSbq0GlebAIwlcaX32xacnrG488/J/6g==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" }, - "peerDependencies": { - "@nestjs/common": "^10.0.0", - "@nestjs/core": "^10.0.0", - "@nestjs/microservices": "^10.0.0", - "@nestjs/platform-express": "^10.0.0" + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-body-length-node": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-4.2.2.tgz", + "integrity": "sha512-4rHqBvxtJEBvsZcFQSPQqXP2b/yy/YlB66KlcEgcH2WNoOKCKB03DSLzXmOsXjbl8dJ4OEYTn31knhdznwk7zw==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" }, - "peerDependenciesMeta": { - "@nestjs/microservices": { - "optional": true - }, - "@nestjs/platform-express": { - "optional": true - } + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, + "node_modules/@smithy/util-buffer-from": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.2.1.tgz", + "integrity": "sha512-/swhmt1qTiVkaejlmMPPDgZhEaWb/HWMGRBheaxwuVkusp/z+ErJyQxO6kaXumOciZSWlmq6Z5mNylCd33X7Ig==", + "license": "Apache-2.0", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@smithy/is-array-buffer": "^4.2.1", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 8" + "node": ">=18.0.0" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, + "node_modules/@smithy/util-config-provider": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-4.2.1.tgz", + "integrity": "sha512-462id/00U8JWFw6qBuTSWfN5TxOHvDu4WliI97qOIOnuC/g+NDAknTU8eoGXEPlLkRVgWEr03jJBLV4o2FL8+A==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, "engines": { - "node": ">= 8" + "node": ">=18.0.0" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "4.3.36", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.3.36.tgz", + "integrity": "sha512-R0smq7EHQXRVMxkAxtH5akJ/FvgAmNF6bUy/GwY/N20T4GrwjT633NFm0VuRpC+8Bbv8R9A0DoJ9OiZL/M3xew==", + "license": "Apache-2.0", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@smithy/property-provider": "^4.2.10", + "@smithy/smithy-client": "^4.12.0", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 8" + "node": ">=18.0.0" } }, - "node_modules/@nuxtjs/opencollective": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", - "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", + "node_modules/@smithy/util-defaults-mode-node": { + "version": "4.2.39", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.2.39.tgz", + "integrity": "sha512-otWuoDm35btJV1L8MyHrPl462B07QCdMTktKc7/yM+Psv6KbED/ziXiHnmr7yPHUjfIwE9S8Max0LO24Mo3ZVg==", + "license": "Apache-2.0", "dependencies": { - "chalk": "^4.1.0", - "consola": "^2.15.0", - "node-fetch": "^2.6.1" + "@smithy/config-resolver": "^4.4.9", + "@smithy/credential-provider-imds": "^4.2.10", + "@smithy/node-config-provider": "^4.3.10", + "@smithy/property-provider": "^4.2.10", + "@smithy/smithy-client": "^4.12.0", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" }, - "bin": { - "opencollective": "bin/opencollective.js" + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-endpoints": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.3.1.tgz", + "integrity": "sha512-xyctc4klmjmieQiF9I1wssBWleRV0RhJ2DpO8+8yzi2LO1Z+4IWOZNGZGNj4+hq9kdo+nyfrRLmQTzc16Op2Vg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^4.3.10", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8.0.0", - "npm": ">=5.0.0" + "node": ">=18.0.0" } }, - "node_modules/@one-ini/wasm": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", - "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", - "license": "MIT", - "optional": true + "node_modules/@smithy/util-hex-encoding": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-4.2.1.tgz", + "integrity": "sha512-c1hHtkgAWmE35/50gmdKajgGAKV3ePJ7t6UtEmpfCWJmQE9BQAQPz0URUVI89eSkcDqCtzqllxzG28IQoZPvwA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "optional": true, + "node_modules/@smithy/util-middleware": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.2.10.tgz", + "integrity": "sha512-LxaQIWLp4y0r72eA8mwPNQ9va4h5KeLM0I3M/HV9klmFaY2kN766wf5vsTzmaOpNNb7GgXAd9a25P3h8T49PSA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=14" + "node": ">=18.0.0" } }, - "node_modules/@pkgr/core": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", - "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", - "dev": true, + "node_modules/@smithy/util-retry": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.2.10.tgz", + "integrity": "sha512-HrBzistfpyE5uqTwiyLsFHscgnwB0kgv8vySp7q5kZ0Eltn/tjosaSGGDj/jJ9ys7pWzIP/icE2d+7vMKXLv7A==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/service-error-classification": "^4.2.10", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-stream": { + "version": "4.5.15", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.5.15.tgz", + "integrity": "sha512-OlOKnaqnkU9X+6wEkd7mN+WB7orPbCVDauXOj22Q7VtiTkvy7ZdSsOg4QiNAZMgI4OkvNf+/VLUC3VXkxuWJZw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/fetch-http-handler": "^5.3.11", + "@smithy/node-http-handler": "^4.4.12", + "@smithy/types": "^4.13.0", + "@smithy/util-base64": "^4.3.1", + "@smithy/util-buffer-from": "^4.2.1", + "@smithy/util-hex-encoding": "^4.2.1", + "@smithy/util-utf8": "^4.2.1", + "tslib": "^2.6.2" }, - "funding": { - "url": "https://opencollective.com/unts" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@selderee/plugin-htmlparser2": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.11.0.tgz", - "integrity": "sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==", - "license": "MIT", - "optional": true, + "node_modules/@smithy/util-uri-escape": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-4.2.1.tgz", + "integrity": "sha512-YmiUDn2eo2IOiWYYvGQkgX5ZkBSiTQu4FlDo5jNPpAxng2t6Sjb6WutnZV9l6VR4eJul1ABmCrnWBC9hKHQa6Q==", + "license": "Apache-2.0", "dependencies": { - "domhandler": "^5.0.3", - "selderee": "^0.11.0" + "tslib": "^2.6.2" }, - "funding": { - "url": "https://ko-fi.com/killymxi" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "node_modules/@smithy/util-utf8": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.2.1.tgz", + "integrity": "sha512-DSIwNaWtmzrNQHv8g7DBGR9mulSit65KSj5ymGEIAknmIN8IpbZefEep10LaMG/P/xquwbmJ1h9ectz8z6mV6g==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^4.2.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } }, - "node_modules/@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", - "dev": true, + "node_modules/@smithy/util-waiter": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-4.2.10.tgz", + "integrity": "sha512-4eTWph/Lkg1wZEDAyObwme0kmhEb7J/JjibY2znJdrYRgKbKqB7YoEhhJVJ4R1g/SYih4zuwX7LpJaM8RsnTVg==", + "license": "Apache-2.0", "dependencies": { - "type-detect": "4.0.8" + "@smithy/abort-controller": "^4.2.10", + "@smithy/types": "^4.13.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, + "node_modules/@smithy/uuid": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@smithy/uuid/-/uuid-1.1.1.tgz", + "integrity": "sha512-dSfDCeihDmZlV2oyr0yWPTUfh07suS+R5OB+FZGiv/hHyK3hrFBW5rR1UYjfa57vBsrP9lciFkRPzebaV1Qujw==", + "license": "Apache-2.0", "dependencies": { - "@sinonjs/commons": "^3.0.0" + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, "node_modules/@tsconfig/node10": { @@ -4722,6 +6305,16 @@ "license": "MIT", "optional": true }, + "node_modules/@types/multer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/multer/-/multer-2.0.0.tgz", + "integrity": "sha512-C3Z9v9Evij2yST3RSBktxP9STm6OdMc5uR1xF1SGr98uv8dUlAL2hqwrZ3GVB3uyMyiegnscEK6PGtYvNrjTjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, "node_modules/@types/node": { "version": "20.11.27", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.27.tgz", @@ -5687,6 +7280,12 @@ "license": "ISC", "optional": true }, + "node_modules/bowser": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.14.1.tgz", + "integrity": "sha512-tzPjzCxygAKWFOJP011oxFHs57HzIhOEracIgAePE4pqB3LikALKnSzUyU4MGs9/iCEUuHlAJTjTc5M+u7YEGg==", + "license": "MIT" + }, "node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -7529,6 +9128,24 @@ "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" }, + "node_modules/fast-xml-parser": { + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.3.6.tgz", + "integrity": "sha512-QNI3sAvSvaOiaMl8FYU4trnEzCwiRr8XMWgAHzlrWpTSj+QaCSvOf1h82OEP1s4hiAXhnbXSyFWCf4ldZzZRVA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "dependencies": { + "strnum": "^2.1.2" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, "node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", @@ -7913,6 +9530,7 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -13078,6 +14696,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strnum": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.2.tgz", + "integrity": "sha512-l63NF9y/cLROq/yqKXSLtcMeeyOfnSQlfMSlzFt/K73oIaD8DGaQWd7Z34X9GPiKqP5rbSh84Hl4bOlLcjiSrQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" + }, "node_modules/superagent": { "version": "8.1.2", "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", diff --git a/package.json b/package.json index f11beb1..a1ed964 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "test:e2e": "jest --config ./test/jest-e2e.json" }, "dependencies": { + "@aws-sdk/client-s3": "^3.999.0", "@nestjs-modules/mailer": "^2.0.2", "@nestjs/common": "^10.0.0", "@nestjs/config": "^3.2.0", @@ -49,6 +50,7 @@ "@types/bcryptjs": "^2.4.6", "@types/express": "^4.17.17", "@types/jest": "^29.5.2", + "@types/multer": "^2.0.0", "@types/node": "^20.3.1", "@types/supertest": "^6.0.0", "@typescript-eslint/eslint-plugin": "^6.0.0", diff --git a/src/app.module.ts b/src/app.module.ts index bf2aacd..b1afc0a 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -10,6 +10,7 @@ import { CheckinModule } from './module/checkin/checkin.module'; import { VolunteerModule } from './module/volunteer/volunteer.module'; import { GamificationModule } from './module/gamification/gamification.module'; import { LeaderboardModule } from './module/leaderboard/leaderboard.module'; +import { StorageModule } from './module/storage/storage.module'; console.log(process.env.DB_CONNECTION as string); @Module({ @@ -26,8 +27,10 @@ console.log(process.env.DB_CONNECTION as string); VolunteerModule, GamificationModule, LeaderboardModule, + StorageModule, ], controllers: [AppController], providers: [AppService], }) export class AppModule {} + diff --git a/src/module/checkin/checkin.controller.ts b/src/module/checkin/checkin.controller.ts index 3243f74..7fd0525 100644 --- a/src/module/checkin/checkin.controller.ts +++ b/src/module/checkin/checkin.controller.ts @@ -8,11 +8,14 @@ import { Delete, UseGuards, Req, + UseInterceptors, + UploadedFile, } from '@nestjs/common'; import { CheckinService } from './checkin.service'; import { CreateCheckinDto } from './dto/create-checkin.dto'; import { UpdateCheckinDto } from './dto/update-checkin.dto'; import { JwtAuthGuard } from '../auth/auth.guard'; +import { FileInterceptor } from '@nestjs/platform-express'; @Controller('checkin') export class CheckinController { @@ -20,7 +23,12 @@ export class CheckinController { @UseGuards(JwtAuthGuard) @Post() - async create(@Body() createCheckinDto: CreateCheckinDto, @Req() req) { + @UseInterceptors(FileInterceptor('image')) + async create( + @Body() createCheckinDto: CreateCheckinDto, + @Req() req, + @UploadedFile() file: Express.Multer.File, + ) { const userId = req.user.userId; return this.checkinService.create( new CreateCheckinDto({ @@ -31,9 +39,11 @@ export class CheckinController { userId: userId, taskType: createCheckinDto.taskType, }), + file, ); } + @UseGuards(JwtAuthGuard) @Post('/rate') async rate( diff --git a/src/module/checkin/checkin.module.ts b/src/module/checkin/checkin.module.ts index 54145db..3b51961 100644 --- a/src/module/checkin/checkin.module.ts +++ b/src/module/checkin/checkin.module.ts @@ -10,6 +10,7 @@ import { ProjectModule } from '../project/project.module'; import { MoveSchema, MoveTemplate } from './persistence/move.schema'; import { MoveDao } from './persistence/move.dao'; import { GamificationModule } from '../gamification/gamification.module'; +import { StorageModule } from '../storage/storage.module'; @Module({ imports: [ @@ -21,7 +22,9 @@ import { GamificationModule } from '../gamification/gamification.module'; TaskModule, ProjectModule, GamificationModule, + StorageModule, ], + exports: [CheckinService], controllers: [CheckinController], providers: [CheckinService, CheckInDao, MoveDao], diff --git a/src/module/checkin/checkin.service.ts b/src/module/checkin/checkin.service.ts index 9714304..aea4517 100644 --- a/src/module/checkin/checkin.service.ts +++ b/src/module/checkin/checkin.service.ts @@ -14,6 +14,7 @@ import { GamificationService } from '../gamification/gamification.service'; import { Project } from '../project/entities/project'; import { User } from '../auth/users/user.entity'; import { GamificationEngineFactory } from '../gamification/entities/engine/gamification/gamification-strategy-factory'; +import { StorageService } from '../storage/storage.service'; @Injectable() export class CheckinService { @@ -25,14 +26,24 @@ export class CheckinService { private readonly projectService: ProjectService, private readonly gamificationService: GamificationService, private readonly gamificationFactory: GamificationEngineFactory, + private readonly storageService: StorageService, ) {} - async create(createCheckinDto: CreateCheckinDto) { + async create( + createCheckinDto: CreateCheckinDto, + file?: Express.Multer.File, + ) { const { tasks, user, users, checkin, project } = await this.getDataFromDB(createCheckinDto); + if (file) { + const imageRef = await this.storageService.uploadFile(file, 'checkins'); + checkin.imageRef = imageRef; + } + const game = this.buildGame(tasks, users, project); + checkin.contributesTo = tasks .find((t) => t.contributesToCheckin(checkin)) ?.getId(); diff --git a/src/module/checkin/dto/create-checkin.dto.ts b/src/module/checkin/dto/create-checkin.dto.ts index a34158e..566aff8 100644 --- a/src/module/checkin/dto/create-checkin.dto.ts +++ b/src/module/checkin/dto/create-checkin.dto.ts @@ -5,6 +5,7 @@ export class CreateCheckinDto { projectId: string; userId: string; taskType: string; + imageRef?: string; constructor({ datetime, @@ -13,6 +14,7 @@ export class CreateCheckinDto { userId, longitude, taskType, + imageRef, }: CreateCheckinDto) { this.datetime = datetime; this.latitude = latitude; @@ -20,5 +22,7 @@ export class CreateCheckinDto { this.userId = userId; this.projectId = projectId; this.taskType = taskType; + this.imageRef = imageRef; } + } diff --git a/src/module/checkin/entities/checkin.entity.ts b/src/module/checkin/entities/checkin.entity.ts index f4e9a0f..af81a23 100644 --- a/src/module/checkin/entities/checkin.entity.ts +++ b/src/module/checkin/entities/checkin.entity.ts @@ -63,6 +63,14 @@ export class Checkin { return this.#date; } + get imageRef(): string { + return this.#imageRef; + } + + set imageRef(value: string) { + this.#imageRef = value; + } + #latitude: string; #longitude: string; #date: Date; @@ -71,6 +79,7 @@ export class Checkin { #contributesTo: string; #taskType: string; #id: string; + #imageRef: string; private _relatedTask: Task; constructor( @@ -82,6 +91,7 @@ export class Checkin { taskType: string, id: string, relatedTask?: Task, + imageRef?: string, ) { this.#latitude = latitude; this.#longitude = longitude; @@ -92,8 +102,10 @@ export class Checkin { this._relatedTask = relatedTask; this.#contributesTo = ''; this.#id = id; + this.#imageRef = imageRef || ''; } + validateContribution(id: string): void { this.#contributesTo = id; } diff --git a/src/module/checkin/persistence/CheckinMapper.ts b/src/module/checkin/persistence/CheckinMapper.ts index e2b1731..8fc1ef5 100644 --- a/src/module/checkin/persistence/CheckinMapper.ts +++ b/src/module/checkin/persistence/CheckinMapper.ts @@ -17,6 +17,7 @@ export class CheckinMapper { checkin.user.id, checkin.contributesTo, checkin.taskType, + checkin.imageRef, ); } @@ -36,6 +37,8 @@ export class CheckinMapper { user, template.taskType, // taskType (valor por defecto o asignar otro si lo tienes disponible) template._id, // id (valor por defecto o asignar el id si está disponible en otro campo) + undefined, + template.imageRef, ); // Si el template tiene información de contributesTo, se actualiza en la entidad if (template.contributesTo) { @@ -43,4 +46,5 @@ export class CheckinMapper { } return checkin; } + } diff --git a/src/module/checkin/persistence/checkin.schema.ts b/src/module/checkin/persistence/checkin.schema.ts index 8b00ea0..d4e8328 100644 --- a/src/module/checkin/persistence/checkin.schema.ts +++ b/src/module/checkin/persistence/checkin.schema.ts @@ -26,6 +26,9 @@ export class CheckInTemplate { @Prop({ type: String, default: '' }) contributesTo: string; + @Prop({ type: String, default: '' }) + imageRef: string; + constructor( latitude: string, longitude: string, @@ -34,6 +37,7 @@ export class CheckInTemplate { userId: string, contributesTo: string, taskType: string, + imageRef?: string, ) { this.latitude = latitude; this.longitude = longitude; @@ -42,8 +46,10 @@ export class CheckInTemplate { this.userId = userId; this.contributesTo = contributesTo; this.taskType = taskType; + this.imageRef = imageRef || ''; } + static collectionName() { return 'Checkin'; } diff --git a/src/module/project/project.controller.ts b/src/module/project/project.controller.ts index a6bfe6e..4f6f714 100644 --- a/src/module/project/project.controller.ts +++ b/src/module/project/project.controller.ts @@ -38,7 +38,8 @@ export class ProjectController { @UseGuards(JwtAuthGuard, RolesGuard) @Roles(UserRole.Admin) @Post() - create(@Body() createProjectDto: CreateProjectDto) { + create(@Body() createProjectDto: CreateProjectDto, @Req() req) { + createProjectDto.ownerId = req.user.userId; return this.projectService.create(createProjectDto); } diff --git a/src/module/storage/storage.module.ts b/src/module/storage/storage.module.ts new file mode 100644 index 0000000..9183e1b --- /dev/null +++ b/src/module/storage/storage.module.ts @@ -0,0 +1,8 @@ +import { Module } from '@nestjs/common'; +import { StorageService } from './storage.service'; + +@Module({ + providers: [StorageService], + exports: [StorageService], +}) +export class StorageModule {} diff --git a/src/module/storage/storage.service.spec.ts b/src/module/storage/storage.service.spec.ts new file mode 100644 index 0000000..d7a48d2 --- /dev/null +++ b/src/module/storage/storage.service.spec.ts @@ -0,0 +1,49 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { StorageService } from './storage.service'; +import { ConfigService } from '@nestjs/config'; +import { S3Client } from '@aws-sdk/client-s3'; + +jest.mock('@aws-sdk/client-s3'); + +describe('StorageService', () => { + let service: StorageService; + let configService: ConfigService; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + StorageService, + { + provide: ConfigService, + useValue: { + get: jest.fn((key: string) => { + if (key === 'S3_BUCKET') return 'test-bucket'; + return 'test-value'; + }), + }, + }, + ], + }).compile(); + + service = module.get(StorageService); + configService = module.get(ConfigService); + }); + + it('should be defined', () => { + expect(service).toBeDefined(); + }); + + it('should upload a file and return the key', async () => { + const mockFile = { + originalname: 'test.png', + buffer: Buffer.from('test'), + mimetype: 'image/png', + }; + + const result = await service.uploadFile(mockFile, 'test-folder'); + + expect(result).toContain('test-folder/'); + expect(result).toContain('.png'); + expect(S3Client.prototype.send).toHaveBeenCalled(); + }); +}); diff --git a/src/module/storage/storage.service.ts b/src/module/storage/storage.service.ts new file mode 100644 index 0000000..3db7b7b --- /dev/null +++ b/src/module/storage/storage.service.ts @@ -0,0 +1,53 @@ +import { Injectable, Logger } from '@nestjs/common'; +import { ConfigService } from '@nestjs/config'; +import { S3Client, PutObjectCommand } from '@aws-sdk/client-s3'; +import { v4 as uuidv4 } from 'uuid'; + +@Injectable() +export class StorageService { + private readonly s3Client: S3Client; + private readonly bucketName: string; + private readonly logger = new Logger(StorageService.name); + + constructor(private readonly configService: ConfigService) { + const endpoint = this.configService.get('S3_ENDPOINT'); + const accessKeyId = this.configService.get('S3_ACCESS_KEY'); + const secretAccessKey = this.configService.get('S3_SECRET_KEY'); + const region = this.configService.get('S3_REGION'); + this.bucketName = this.configService.get('S3_BUCKET'); + + this.s3Client = new S3Client({ + endpoint: endpoint || 'http://localhost:3900', + region: region || 'garage', + credentials: { + accessKeyId: accessKeyId || 'placeholder', + secretAccessKey: secretAccessKey || 'placeholder', + }, + forcePathStyle: true, // Required for Garage/S3-compatible + }); + + if (!endpoint || !accessKeyId || !secretAccessKey || !this.bucketName) { + this.logger.warn('S3 Storage configuration is incomplete. Image uploads may fail.'); + } + } + + async uploadFile(file: any, folder: string): Promise { + const fileExtension = file.originalname.split('.').pop(); + const fileName = `${folder}/${uuidv4()}.${fileExtension}`; + + const command = new PutObjectCommand({ + Bucket: this.bucketName, + Key: fileName, + Body: file.buffer, + ContentType: file.mimetype, + }); + + try { + await this.s3Client.send(command); + return fileName; + } catch (error) { + this.logger.error(`Failed to upload file to S3: ${error.message}`); + throw error; + } + } +} From 0730fd210d7d04fb5cd47f67016215861384a86f Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Sun, 8 Mar 2026 13:10:25 -0300 Subject: [PATCH 047/104] test: fix backend tests broken by image checkin and req parameter changes --- src/module/checkin/checkin.controller.spec.ts | 3 ++- src/module/checkin/checkin.service.spec.ts | 14 +++++++++++++- src/module/project/project.controller.spec.ts | 3 ++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/module/checkin/checkin.controller.spec.ts b/src/module/checkin/checkin.controller.spec.ts index 65b37d7..0ddf9a9 100644 --- a/src/module/checkin/checkin.controller.spec.ts +++ b/src/module/checkin/checkin.controller.spec.ts @@ -36,7 +36,8 @@ describe('CheckinController', () => { it('should call service.create', async () => { const dto: CreateCheckinDto = { userId: '1', projectId: '1' } as any; const req = { user: { userId: '1' } }; - await controller.create(dto, req); + const file = { buffer: Buffer.from('test') } as any; + await controller.create(dto, req, file); expect(service.create).toHaveBeenCalled(); }); }); diff --git a/src/module/checkin/checkin.service.spec.ts b/src/module/checkin/checkin.service.spec.ts index 8efe011..6bca614 100644 --- a/src/module/checkin/checkin.service.spec.ts +++ b/src/module/checkin/checkin.service.spec.ts @@ -13,6 +13,7 @@ import { UpdateCheckinDto } from './dto/update-checkin.dto'; import ProjectBuilder from '../project/project.builder'; import TaskBuilder from '../task/task.builder'; import CheckinBuilder from './checkin.builder'; +import { StorageService } from '../storage/storage.service'; const mockCheckInDao = { create: jest.fn(), @@ -23,6 +24,10 @@ const mockCheckInDao = { findByProjectId: jest.fn(), }; +const mockStorageService = { + uploadFile: jest.fn().mockResolvedValue('image-ref'), +}; + const mockMoveDao = { create: jest.fn(), }; @@ -72,6 +77,7 @@ describe('CheckinService', () => { { provide: UserService, useValue: mockUserService }, { provide: ProjectService, useValue: mockProjectService }, { provide: GamificationService, useValue: mockGamificationService }, + { provide: StorageService, useValue: mockStorageService }, { provide: GamificationEngineFactory, useValue: mockGamificationFactory, @@ -121,13 +127,19 @@ describe('CheckinService', () => { mockProjectService.findOne.mockResolvedValue(project); mockCheckInDao.create.mockResolvedValue({ _id: 'checkin1' }); - const result = await service.create(createCheckinDto); + const file = { + originalname: 'test.jpg', + buffer: Buffer.from('test'), + mimetype: 'image/jpeg', + } as any; + const result = await service.create(createCheckinDto, file); expect(mockTaskService.findByProjectId).toHaveBeenCalledWith('project1'); expect(mockUserService.getByUserId).toHaveBeenCalledWith('user1'); expect(mockProjectService.findOne).toHaveBeenCalledWith('project1'); expect(mockCheckInDao.create).toHaveBeenCalled(); expect(mockMoveDao.create).toHaveBeenCalled(); + expect(mockStorageService.uploadFile).toHaveBeenCalledWith(file, 'checkins'); expect(task.setSolved).toHaveBeenCalledWith(true); expect(user.addContribution).toHaveBeenCalledWith('task1'); expect(mockTaskService.setTaskAsSolved).toHaveBeenCalledWith('task1'); diff --git a/src/module/project/project.controller.spec.ts b/src/module/project/project.controller.spec.ts index 8cb836e..3ed4960 100644 --- a/src/module/project/project.controller.spec.ts +++ b/src/module/project/project.controller.spec.ts @@ -55,7 +55,8 @@ describe('ProjectController', () => { it('should call create', async () => { const dto = {} as any; - await controller.create(dto); + const req = { user: { userId: 'u1' } }; + await controller.create(dto, req); expect(service.create).toHaveBeenCalledWith(dto); }); From 0ac4c4b66cad758ae874d0dd6f717ea57725b06a Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Tue, 10 Mar 2026 18:19:16 -0300 Subject: [PATCH 048/104] chore: ignore all .env files --- .gitignore | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 33247cb..c4c8676 100644 --- a/.gitignore +++ b/.gitignore @@ -41,11 +41,7 @@ lerna-debug.log* !.vscode/extensions.json # dotenv environment variable files -.env -.env.development.local -.env.test -.env.production.local -.env.development +.env* # temp directory .temp From 1359e8f16876931644aca4bacf53314680c263fa Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Tue, 10 Mar 2026 22:27:20 -0300 Subject: [PATCH 049/104] feat: move secrets to .env and refactor checkin service --- docker-compose.yml | 12 ++++-------- src/module/checkin/checkin.controller.ts | 17 ++++------------- src/module/checkin/checkin.service.spec.ts | 11 +++++++---- src/module/checkin/checkin.service.ts | 14 +++++++++----- src/module/checkin/persistence/CheckinMapper.ts | 10 ++++++---- 5 files changed, 30 insertions(+), 34 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7d4a169..05460f1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,14 +8,11 @@ services: ports: - '3000:3000' - '9229:9229' + env_file: + - .env environment: - - NODE_ENV=development - DB_CONNECTION=mongodb://root:root@mongodb:27017 - S3_ENDPOINT=http://garage:3900 - - S3_ACCESS_KEY=GKeb4b3ddceb7b51753a68f6ea - - S3_SECRET_KEY=65cbf335e26752e15e0d3d88c3479d273b7355af1e8102007e7b27e4a0475150 - - S3_BUCKET=rayuela-checkins - - S3_REGION=garage volumes: - .:/usr/src/app - /usr/src/app/node_modules @@ -27,9 +24,8 @@ services: mongodb: image: mongo:4.4 container_name: mongodb - environment: - - MONGO_INITDB_ROOT_USERNAME=${MONGO_USER} - - MONGO_INITDB_ROOT_PASSWORD=${MONGO_PASSWORD} + env_file: + - .env ports: - "27017:27017" volumes: diff --git a/src/module/checkin/checkin.controller.ts b/src/module/checkin/checkin.controller.ts index 7fd0525..7b10b85 100644 --- a/src/module/checkin/checkin.controller.ts +++ b/src/module/checkin/checkin.controller.ts @@ -26,24 +26,15 @@ export class CheckinController { @UseInterceptors(FileInterceptor('image')) async create( @Body() createCheckinDto: CreateCheckinDto, - @Req() req, + @Req() req: any, @UploadedFile() file: Express.Multer.File, ) { - const userId = req.user.userId; - return this.checkinService.create( - new CreateCheckinDto({ - latitude: createCheckinDto.latitude, - longitude: createCheckinDto.longitude, - datetime: createCheckinDto.datetime, - projectId: createCheckinDto.projectId, - userId: userId, - taskType: createCheckinDto.taskType, - }), - file, - ); + createCheckinDto.userId = req.user.userId; + return this.checkinService.create({ createCheckinDto, file }); } + @UseGuards(JwtAuthGuard) @Post('/rate') async rate( diff --git a/src/module/checkin/checkin.service.spec.ts b/src/module/checkin/checkin.service.spec.ts index 6bca614..2a38462 100644 --- a/src/module/checkin/checkin.service.spec.ts +++ b/src/module/checkin/checkin.service.spec.ts @@ -132,14 +132,17 @@ describe('CheckinService', () => { buffer: Buffer.from('test'), mimetype: 'image/jpeg', } as any; - const result = await service.create(createCheckinDto, file); + const result = await service.create({ createCheckinDto, file }); expect(mockTaskService.findByProjectId).toHaveBeenCalledWith('project1'); expect(mockUserService.getByUserId).toHaveBeenCalledWith('user1'); expect(mockProjectService.findOne).toHaveBeenCalledWith('project1'); expect(mockCheckInDao.create).toHaveBeenCalled(); expect(mockMoveDao.create).toHaveBeenCalled(); - expect(mockStorageService.uploadFile).toHaveBeenCalledWith(file, 'checkins'); + expect(mockStorageService.uploadFile).toHaveBeenCalledWith( + file, + 'checkins/user1', + ); expect(task.setSolved).toHaveBeenCalledWith(true); expect(user.addContribution).toHaveBeenCalledWith('task1'); expect(mockTaskService.setTaskAsSolved).toHaveBeenCalledWith('task1'); @@ -185,7 +188,7 @@ describe('CheckinService', () => { mockProjectService.findOne.mockResolvedValue(project); mockCheckInDao.create.mockResolvedValue({ _id: 'checkin1' }); - const result = await service.create(createCheckinDto); + const result = await service.create({ createCheckinDto }); expect(mockCheckInDao.create).toHaveBeenCalled(); expect(mockMoveDao.create).toHaveBeenCalled(); @@ -226,7 +229,7 @@ describe('CheckinService', () => { newBadgesFor: jest.fn().mockReturnValue([{ name: 'New Badge' }]), }); - await service.create(createCheckinDto); + await service.create({ createCheckinDto }); expect(user.addBadgeFromProject).toHaveBeenCalledWith( ['New Badge'], diff --git a/src/module/checkin/checkin.service.ts b/src/module/checkin/checkin.service.ts index aea4517..0bc6244 100644 --- a/src/module/checkin/checkin.service.ts +++ b/src/module/checkin/checkin.service.ts @@ -29,15 +29,19 @@ export class CheckinService { private readonly storageService: StorageService, ) {} - async create( - createCheckinDto: CreateCheckinDto, - file?: Express.Multer.File, - ) { + async create(params: { + createCheckinDto: CreateCheckinDto; + file?: Express.Multer.File; + }) { + const { createCheckinDto, file } = params; const { tasks, user, users, checkin, project } = await this.getDataFromDB(createCheckinDto); if (file) { - const imageRef = await this.storageService.uploadFile(file, 'checkins'); + const imageRef = await this.storageService.uploadFile( + file, + `checkins/${createCheckinDto.userId}`, + ); checkin.imageRef = imageRef; } diff --git a/src/module/checkin/persistence/CheckinMapper.ts b/src/module/checkin/persistence/CheckinMapper.ts index 8fc1ef5..e53a6d2 100644 --- a/src/module/checkin/persistence/CheckinMapper.ts +++ b/src/module/checkin/persistence/CheckinMapper.ts @@ -35,11 +35,13 @@ export class CheckinMapper { template.datetime, template.projectId, user, - template.taskType, // taskType (valor por defecto o asignar otro si lo tienes disponible) - template._id, // id (valor por defecto o asignar el id si está disponible en otro campo) - undefined, - template.imageRef, + template.taskType, + template._id, ); + + if (template.imageRef) { + checkin.imageRef = template.imageRef; + } // Si el template tiene información de contributesTo, se actualiza en la entidad if (template.contributesTo) { checkin.validateContribution(template.contributesTo); From 50686a1c595b46a4aaa50373cc7e0c358d21c0d9 Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Wed, 11 Mar 2026 22:35:11 -0300 Subject: [PATCH 050/104] fix(checkin): correctly map imageRef in CheckInDao to persist in MongoDB --- init-garage.sh | 24 +++++++++++++++++++ .../checkin/persistence/CheckinMapper.spec.ts | 4 ++++ .../checkin/persistence/CheckinMapper.ts | 6 ++--- .../checkin/persistence/checkin.dao.spec.ts | 2 ++ src/module/checkin/persistence/checkin.dao.ts | 14 +---------- 5 files changed, 33 insertions(+), 17 deletions(-) create mode 100644 init-garage.sh diff --git a/init-garage.sh b/init-garage.sh new file mode 100644 index 0000000..e8a836d --- /dev/null +++ b/init-garage.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +# Get Node ID from logs +NODE_ID=$(docker logs garage 2>&1 | grep "Node ID" | tail -n 1 | awk '{print $NF}') + +if [ -z "$NODE_ID" ]; then + echo "Error: Could not find Garage Node ID. Is the container running?" + exit 1 +fi + +echo "Initializing Garage Cluster with Node ID: $NODE_ID" + +# Assign and Apply layout +docker exec garage /garage layout assign -z local -c 10G "$NODE_ID" +docker exec garage /garage layout apply --version 2 + +# Import key (matching .env defaults) +docker exec garage /garage key import GKeb4b3ddceb7b51753a68f6ea 65cbf335e26752e15e0d3d88c3479d273b7355af1e8102007e7b27e4a0475150 -n rayuela --yes + +# Create bucket +docker exec garage /garage bucket create rayuela-checkins +docker exec garage /garage bucket allow --read --write --owner rayuela-checkins --key rayuela + +echo "Garage initialization complete." diff --git a/src/module/checkin/persistence/CheckinMapper.spec.ts b/src/module/checkin/persistence/CheckinMapper.spec.ts index 7f7aeae..e356295 100644 --- a/src/module/checkin/persistence/CheckinMapper.spec.ts +++ b/src/module/checkin/persistence/CheckinMapper.spec.ts @@ -18,11 +18,13 @@ describe('CheckinMapper', () => { 'id1', ); checkin.contributesTo = 'task1'; + checkin.imageRef = 'image-ref-123'; const template = CheckinMapper.toTemplate(checkin); expect(template.latitude).toBe('1'); expect(template.longitude).toBe('2'); expect(template.userId).toBe('user1'); expect(template.contributesTo).toBe('task1'); + expect(template.imageRef).toBe('image-ref-123'); }); }); @@ -37,12 +39,14 @@ describe('CheckinMapper', () => { taskType: 'type', _id: 'id1', contributesTo: 'task1', + imageRef: 'image-ref-123', } as any; const entity = CheckinMapper.toEntity(template, user); expect(entity.latitude).toBe('1'); expect(entity.longitude).toBe('2'); expect(entity.id).toBe('id1'); expect(entity.contributesTo).toBe('task1'); + expect(entity.imageRef).toBe('image-ref-123'); }); it('should map template to checkin entity without contribution', () => { diff --git a/src/module/checkin/persistence/CheckinMapper.ts b/src/module/checkin/persistence/CheckinMapper.ts index e53a6d2..9287d14 100644 --- a/src/module/checkin/persistence/CheckinMapper.ts +++ b/src/module/checkin/persistence/CheckinMapper.ts @@ -28,7 +28,6 @@ export class CheckinMapper { * @returns Una instancia de Checkin con los datos mapeados */ static toEntity(template: CheckInDocument, user: User): Checkin { - // Como el template no tiene taskType ni id, se asignan valores por defecto const checkin = new Checkin( template.latitude, template.longitude, @@ -37,11 +36,10 @@ export class CheckinMapper { user, template.taskType, template._id, + null, + template.imageRef, ); - if (template.imageRef) { - checkin.imageRef = template.imageRef; - } // Si el template tiene información de contributesTo, se actualiza en la entidad if (template.contributesTo) { checkin.validateContribution(template.contributesTo); diff --git a/src/module/checkin/persistence/checkin.dao.spec.ts b/src/module/checkin/persistence/checkin.dao.spec.ts index 3186f2e..bfb8da4 100644 --- a/src/module/checkin/persistence/checkin.dao.spec.ts +++ b/src/module/checkin/persistence/checkin.dao.spec.ts @@ -87,9 +87,11 @@ describe('CheckInDao', () => { user: { id: 'u1' }, contributesTo: '', taskType: 'T', + imageRef: 'image-ref-123', } as any; const res = await dao.create(checkin); expect(res).toBeDefined(); + expect(res.imageRef).toBe('image-ref-123'); }); it('should update', async () => { diff --git a/src/module/checkin/persistence/checkin.dao.ts b/src/module/checkin/persistence/checkin.dao.ts index 7886f6a..464dedc 100644 --- a/src/module/checkin/persistence/checkin.dao.ts +++ b/src/module/checkin/persistence/checkin.dao.ts @@ -28,7 +28,7 @@ export class CheckInDao { } async create(checkin: Checkin): Promise { - const checkinDB = this.mapCheckinDB(checkin); + const checkinDB = CheckinMapper.toTemplate(checkin); const checkIn = new this.checkInModel(checkinDB); return checkIn.save(); } @@ -53,18 +53,6 @@ export class CheckInDao { } } - private mapCheckinDB(checkin: Checkin): CheckInTemplate { - return new CheckInTemplate( - checkin.latitude, - checkin.longitude, - checkin.date, - checkin.projectId, - checkin.user.id, - checkin.contributesTo, - checkin.taskType, - ); - } - findByProjectId(userId: string, projectId: string) { return this.checkInModel .find({ projectId, userId }) From 55609da5aa10eda47d40a330ac4ac644c59a66ed Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Sat, 14 Mar 2026 13:56:02 -0300 Subject: [PATCH 051/104] feat: support multiple images per check-in (up to 3) --- src/module/checkin/checkin.controller.ts | 10 +++--- src/module/checkin/checkin.service.spec.ts | 34 +++++++++++++------ src/module/checkin/checkin.service.ts | 17 ++++++---- src/module/checkin/dto/create-checkin.dto.ts | 6 ++-- src/module/checkin/entities/checkin.entity.ts | 14 ++++---- .../checkin/persistence/CheckinMapper.spec.ts | 23 ++++++++++--- .../checkin/persistence/CheckinMapper.ts | 12 +++++-- .../checkin/persistence/checkin.dao.spec.ts | 4 +-- .../checkin/persistence/checkin.schema.ts | 8 ++--- 9 files changed, 82 insertions(+), 46 deletions(-) diff --git a/src/module/checkin/checkin.controller.ts b/src/module/checkin/checkin.controller.ts index 7b10b85..143c3a1 100644 --- a/src/module/checkin/checkin.controller.ts +++ b/src/module/checkin/checkin.controller.ts @@ -9,13 +9,13 @@ import { UseGuards, Req, UseInterceptors, - UploadedFile, + UploadedFiles, } from '@nestjs/common'; import { CheckinService } from './checkin.service'; import { CreateCheckinDto } from './dto/create-checkin.dto'; import { UpdateCheckinDto } from './dto/update-checkin.dto'; import { JwtAuthGuard } from '../auth/auth.guard'; -import { FileInterceptor } from '@nestjs/platform-express'; +import { FilesInterceptor } from '@nestjs/platform-express'; @Controller('checkin') export class CheckinController { @@ -23,14 +23,14 @@ export class CheckinController { @UseGuards(JwtAuthGuard) @Post() - @UseInterceptors(FileInterceptor('image')) + @UseInterceptors(FilesInterceptor('image', 3)) async create( @Body() createCheckinDto: CreateCheckinDto, @Req() req: any, - @UploadedFile() file: Express.Multer.File, + @UploadedFiles() files: Express.Multer.File[], ) { createCheckinDto.userId = req.user.userId; - return this.checkinService.create({ createCheckinDto, file }); + return this.checkinService.create({ createCheckinDto, files }); } diff --git a/src/module/checkin/checkin.service.spec.ts b/src/module/checkin/checkin.service.spec.ts index 2a38462..6e57412 100644 --- a/src/module/checkin/checkin.service.spec.ts +++ b/src/module/checkin/checkin.service.spec.ts @@ -94,7 +94,7 @@ describe('CheckinService', () => { }); describe('create', () => { - it('should create a checkin, play the game, and save the results', async () => { + it('should create a checkin with multiple images, play the game, and save the results', async () => { const createCheckinDto: CreateCheckinDto = { datetime: new Date(), taskType: '', @@ -127,22 +127,34 @@ describe('CheckinService', () => { mockProjectService.findOne.mockResolvedValue(project); mockCheckInDao.create.mockResolvedValue({ _id: 'checkin1' }); - const file = { - originalname: 'test.jpg', - buffer: Buffer.from('test'), - mimetype: 'image/jpeg', - } as any; - const result = await service.create({ createCheckinDto, file }); + const files = [ + { + originalname: 'test1.jpg', + buffer: Buffer.from('test1'), + mimetype: 'image/jpeg', + }, + { + originalname: 'test2.jpg', + buffer: Buffer.from('test2'), + mimetype: 'image/jpeg', + }, + ] as any[]; + + mockStorageService.uploadFile + .mockResolvedValueOnce('ref1') + .mockResolvedValueOnce('ref2'); + + const result = await service.create({ createCheckinDto, files }); expect(mockTaskService.findByProjectId).toHaveBeenCalledWith('project1'); expect(mockUserService.getByUserId).toHaveBeenCalledWith('user1'); expect(mockProjectService.findOne).toHaveBeenCalledWith('project1'); expect(mockCheckInDao.create).toHaveBeenCalled(); expect(mockMoveDao.create).toHaveBeenCalled(); - expect(mockStorageService.uploadFile).toHaveBeenCalledWith( - file, - 'checkins/user1', - ); + expect(mockStorageService.uploadFile).toHaveBeenCalledTimes(2); + expect(mockStorageService.uploadFile).toHaveBeenCalledWith(files[0], 'checkins/user1'); + expect(mockStorageService.uploadFile).toHaveBeenCalledWith(files[1], 'checkins/user1'); + expect(task.setSolved).toHaveBeenCalledWith(true); expect(user.addContribution).toHaveBeenCalledWith('task1'); expect(mockTaskService.setTaskAsSolved).toHaveBeenCalledWith('task1'); diff --git a/src/module/checkin/checkin.service.ts b/src/module/checkin/checkin.service.ts index 0bc6244..d9cdd81 100644 --- a/src/module/checkin/checkin.service.ts +++ b/src/module/checkin/checkin.service.ts @@ -31,18 +31,21 @@ export class CheckinService { async create(params: { createCheckinDto: CreateCheckinDto; - file?: Express.Multer.File; + files?: Express.Multer.File[]; }) { - const { createCheckinDto, file } = params; + const { createCheckinDto, files } = params; const { tasks, user, users, checkin, project } = await this.getDataFromDB(createCheckinDto); - if (file) { - const imageRef = await this.storageService.uploadFile( - file, - `checkins/${createCheckinDto.userId}`, + if (files && files.length > 0) { + const uploadPromises = files.map((file) => + this.storageService.uploadFile( + file, + `checkins/${createCheckinDto.userId}`, + ), ); - checkin.imageRef = imageRef; + const imageRefs = await Promise.all(uploadPromises); + checkin.imageRefs = imageRefs; } const game = this.buildGame(tasks, users, project); diff --git a/src/module/checkin/dto/create-checkin.dto.ts b/src/module/checkin/dto/create-checkin.dto.ts index 566aff8..ef00137 100644 --- a/src/module/checkin/dto/create-checkin.dto.ts +++ b/src/module/checkin/dto/create-checkin.dto.ts @@ -5,7 +5,7 @@ export class CreateCheckinDto { projectId: string; userId: string; taskType: string; - imageRef?: string; + imageRefs?: string[]; constructor({ datetime, @@ -14,7 +14,7 @@ export class CreateCheckinDto { userId, longitude, taskType, - imageRef, + imageRefs, }: CreateCheckinDto) { this.datetime = datetime; this.latitude = latitude; @@ -22,7 +22,7 @@ export class CreateCheckinDto { this.userId = userId; this.projectId = projectId; this.taskType = taskType; - this.imageRef = imageRef; + this.imageRefs = imageRefs; } } diff --git a/src/module/checkin/entities/checkin.entity.ts b/src/module/checkin/entities/checkin.entity.ts index af81a23..d80ff0e 100644 --- a/src/module/checkin/entities/checkin.entity.ts +++ b/src/module/checkin/entities/checkin.entity.ts @@ -63,12 +63,12 @@ export class Checkin { return this.#date; } - get imageRef(): string { - return this.#imageRef; + get imageRefs(): string[] { + return this.#imageRefs; } - set imageRef(value: string) { - this.#imageRef = value; + set imageRefs(value: string[]) { + this.#imageRefs = value; } #latitude: string; @@ -79,7 +79,7 @@ export class Checkin { #contributesTo: string; #taskType: string; #id: string; - #imageRef: string; + #imageRefs: string[]; private _relatedTask: Task; constructor( @@ -91,7 +91,7 @@ export class Checkin { taskType: string, id: string, relatedTask?: Task, - imageRef?: string, + imageRefs?: string[], ) { this.#latitude = latitude; this.#longitude = longitude; @@ -102,7 +102,7 @@ export class Checkin { this._relatedTask = relatedTask; this.#contributesTo = ''; this.#id = id; - this.#imageRef = imageRef || ''; + this.#imageRefs = imageRefs || []; } diff --git a/src/module/checkin/persistence/CheckinMapper.spec.ts b/src/module/checkin/persistence/CheckinMapper.spec.ts index e356295..c0cb6dd 100644 --- a/src/module/checkin/persistence/CheckinMapper.spec.ts +++ b/src/module/checkin/persistence/CheckinMapper.spec.ts @@ -18,13 +18,13 @@ describe('CheckinMapper', () => { 'id1', ); checkin.contributesTo = 'task1'; - checkin.imageRef = 'image-ref-123'; + checkin.imageRefs = ['image-ref-123', 'image-ref-456']; const template = CheckinMapper.toTemplate(checkin); expect(template.latitude).toBe('1'); expect(template.longitude).toBe('2'); expect(template.userId).toBe('user1'); expect(template.contributesTo).toBe('task1'); - expect(template.imageRef).toBe('image-ref-123'); + expect(template.imageRefs).toEqual(['image-ref-123', 'image-ref-456']); }); }); @@ -39,14 +39,29 @@ describe('CheckinMapper', () => { taskType: 'type', _id: 'id1', contributesTo: 'task1', - imageRef: 'image-ref-123', + imageRefs: ['image-ref-123', 'image-ref-456'], } as any; const entity = CheckinMapper.toEntity(template, user); expect(entity.latitude).toBe('1'); expect(entity.longitude).toBe('2'); expect(entity.id).toBe('id1'); expect(entity.contributesTo).toBe('task1'); - expect(entity.imageRef).toBe('image-ref-123'); + expect(entity.imageRefs).toEqual(['image-ref-123', 'image-ref-456']); + }); + + it('should map template with legacy imageRef to checkin entity with imageRefs', () => { + const template = { + latitude: '1', + longitude: '2', + datetime: new Date(), + projectId: 'p1', + userId: 'user1', + taskType: 'type', + _id: 'id1', + imageRef: 'legacy-image-123', + } as any; + const entity = CheckinMapper.toEntity(template, user); + expect(entity.imageRefs).toEqual(['legacy-image-123']); }); it('should map template to checkin entity without contribution', () => { diff --git a/src/module/checkin/persistence/CheckinMapper.ts b/src/module/checkin/persistence/CheckinMapper.ts index 9287d14..d62fba6 100644 --- a/src/module/checkin/persistence/CheckinMapper.ts +++ b/src/module/checkin/persistence/CheckinMapper.ts @@ -17,7 +17,7 @@ export class CheckinMapper { checkin.user.id, checkin.contributesTo, checkin.taskType, - checkin.imageRef, + checkin.imageRefs, ); } @@ -27,7 +27,13 @@ export class CheckinMapper { * @param user Instancia completa del usuario asociado * @returns Una instancia de Checkin con los datos mapeados */ - static toEntity(template: CheckInDocument, user: User): Checkin { + static toEntity(template: any, user: User): Checkin { + // Handle migration from imageRef to imageRefs + let imageRefs = template.imageRefs || []; + if (imageRefs.length === 0 && template.imageRef) { + imageRefs = [template.imageRef]; + } + const checkin = new Checkin( template.latitude, template.longitude, @@ -37,7 +43,7 @@ export class CheckinMapper { template.taskType, template._id, null, - template.imageRef, + imageRefs, ); // Si el template tiene información de contributesTo, se actualiza en la entidad diff --git a/src/module/checkin/persistence/checkin.dao.spec.ts b/src/module/checkin/persistence/checkin.dao.spec.ts index bfb8da4..51f24c8 100644 --- a/src/module/checkin/persistence/checkin.dao.spec.ts +++ b/src/module/checkin/persistence/checkin.dao.spec.ts @@ -87,11 +87,11 @@ describe('CheckInDao', () => { user: { id: 'u1' }, contributesTo: '', taskType: 'T', - imageRef: 'image-ref-123', + imageRefs: ['image-ref-123', 'image-ref-456'], } as any; const res = await dao.create(checkin); expect(res).toBeDefined(); - expect(res.imageRef).toBe('image-ref-123'); + expect(res.imageRefs).toEqual(['image-ref-123', 'image-ref-456']); }); it('should update', async () => { diff --git a/src/module/checkin/persistence/checkin.schema.ts b/src/module/checkin/persistence/checkin.schema.ts index d4e8328..4087637 100644 --- a/src/module/checkin/persistence/checkin.schema.ts +++ b/src/module/checkin/persistence/checkin.schema.ts @@ -26,8 +26,8 @@ export class CheckInTemplate { @Prop({ type: String, default: '' }) contributesTo: string; - @Prop({ type: String, default: '' }) - imageRef: string; + @Prop({ type: [String], default: [] }) + imageRefs: string[]; constructor( latitude: string, @@ -37,7 +37,7 @@ export class CheckInTemplate { userId: string, contributesTo: string, taskType: string, - imageRef?: string, + imageRefs?: string[], ) { this.latitude = latitude; this.longitude = longitude; @@ -46,7 +46,7 @@ export class CheckInTemplate { this.userId = userId; this.contributesTo = contributesTo; this.taskType = taskType; - this.imageRef = imageRef || ''; + this.imageRefs = imageRefs || []; } From cac451d6281e000122c7970a8d89d03f6f2fcde8 Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Thu, 19 Mar 2026 23:13:42 -0300 Subject: [PATCH 052/104] fix: make init-garage.sh robust by dynamic layout versioning --- init-garage.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/init-garage.sh b/init-garage.sh index e8a836d..23bf611 100644 --- a/init-garage.sh +++ b/init-garage.sh @@ -10,9 +10,13 @@ fi echo "Initializing Garage Cluster with Node ID: $NODE_ID" +# Get current layout version and increment it +CURRENT_VERSION=$(docker exec garage /garage layout show | grep "Current cluster layout version" | awk '{print $NF}') +NEXT_VERSION=$((CURRENT_VERSION + 1)) + # Assign and Apply layout docker exec garage /garage layout assign -z local -c 10G "$NODE_ID" -docker exec garage /garage layout apply --version 2 +docker exec garage /garage layout apply --version "$NEXT_VERSION" # Import key (matching .env defaults) docker exec garage /garage key import GKeb4b3ddceb7b51753a68f6ea 65cbf335e26752e15e0d3d88c3479d273b7355af1e8102007e7b27e4a0475150 -n rayuela --yes From 72e760d0fbbeee5ca3b9b175bd5ffaf1cb4852dc Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Thu, 19 Mar 2026 23:48:00 -0300 Subject: [PATCH 053/104] refactor: replace magic number 3 with MAX_IMAGES_PER_CHECKIN constant --- src/module/checkin/checkin.constants.ts | 1 + src/module/checkin/checkin.controller.ts | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 src/module/checkin/checkin.constants.ts diff --git a/src/module/checkin/checkin.constants.ts b/src/module/checkin/checkin.constants.ts new file mode 100644 index 0000000..60005b9 --- /dev/null +++ b/src/module/checkin/checkin.constants.ts @@ -0,0 +1 @@ +export const MAX_IMAGES_PER_CHECKIN = 3; diff --git a/src/module/checkin/checkin.controller.ts b/src/module/checkin/checkin.controller.ts index 143c3a1..bd92777 100644 --- a/src/module/checkin/checkin.controller.ts +++ b/src/module/checkin/checkin.controller.ts @@ -16,6 +16,7 @@ import { CreateCheckinDto } from './dto/create-checkin.dto'; import { UpdateCheckinDto } from './dto/update-checkin.dto'; import { JwtAuthGuard } from '../auth/auth.guard'; import { FilesInterceptor } from '@nestjs/platform-express'; +import { MAX_IMAGES_PER_CHECKIN } from './checkin.constants'; @Controller('checkin') export class CheckinController { @@ -23,7 +24,7 @@ export class CheckinController { @UseGuards(JwtAuthGuard) @Post() - @UseInterceptors(FilesInterceptor('image', 3)) + @UseInterceptors(FilesInterceptor('image', MAX_IMAGES_PER_CHECKIN)) async create( @Body() createCheckinDto: CreateCheckinDto, @Req() req: any, From 0ad909419ba78764c55fe982fd2d150f5c9a6e27 Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Sat, 21 Mar 2026 14:02:44 -0300 Subject: [PATCH 054/104] feat(backend): add StorageController for file serving and update StorageService with getFile method --- src/module/storage/storage.controller.spec.ts | 69 +++++++++++++++++++ src/module/storage/storage.controller.ts | 29 ++++++++ src/module/storage/storage.module.ts | 2 + src/module/storage/storage.service.spec.ts | 16 +++++ src/module/storage/storage.service.ts | 20 +++++- 5 files changed, 135 insertions(+), 1 deletion(-) create mode 100644 src/module/storage/storage.controller.spec.ts create mode 100644 src/module/storage/storage.controller.ts diff --git a/src/module/storage/storage.controller.spec.ts b/src/module/storage/storage.controller.spec.ts new file mode 100644 index 0000000..a2e6426 --- /dev/null +++ b/src/module/storage/storage.controller.spec.ts @@ -0,0 +1,69 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { StorageController } from './storage.controller'; +import { StorageService } from './storage.service'; +import { NotFoundException } from '@nestjs/common'; +import { Response } from 'express'; +import { Stream } from 'stream'; + +describe('StorageController', () => { + let controller: StorageController; + let service: StorageService; + + const mockStorageService = { + getFile: jest.fn(), + }; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [StorageController], + providers: [ + { + provide: StorageService, + useValue: mockStorageService, + }, + ], + }).compile(); + + controller = module.get(StorageController); + service = module.get(StorageService); + }); + + it('should be defined', () => { + expect(controller).toBeDefined(); + }); + + describe('getFile', () => { + it('should return a file stream', async () => { + const mockKey = 'test-key'; + const mockStream = new Stream.PassThrough(); + const mockResponse = { + body: mockStream, + contentType: 'image/png', + }; + + const mockRes = { + setHeader: jest.fn(), + send: jest.fn(), + } as unknown as Response; + + mockStorageService.getFile.mockResolvedValue(mockResponse); + + // We need to mock pipe because PassThrough has it + const pipeSpy = jest.spyOn(mockStream, 'pipe').mockImplementation((res) => res as any); + + await controller.getFile(mockKey, mockRes); + + expect(mockRes.setHeader).toHaveBeenCalledWith('Content-Type', 'image/png'); + expect(pipeSpy).toHaveBeenCalledWith(mockRes); + }); + + it('should throw NotFoundException when file not found', async () => { + const mockKey = 'invalid-key'; + const mockRes = {} as Response; + + mockStorageService.getFile.mockRejectedValue(new Error('S3 Error')); + + await expect(controller.getFile(mockKey, mockRes)).rejects.toThrow(NotFoundException); + }); + }); +}); diff --git a/src/module/storage/storage.controller.ts b/src/module/storage/storage.controller.ts new file mode 100644 index 0000000..baad3d3 --- /dev/null +++ b/src/module/storage/storage.controller.ts @@ -0,0 +1,29 @@ +import { Controller, Get, Query, Res, NotFoundException } from '@nestjs/common'; +import { StorageService } from './storage.service'; +import { Response } from 'express'; +import { Stream } from 'stream'; + +@Controller('storage') +export class StorageController { + constructor(private readonly storageService: StorageService) {} + + @Get('file') + async getFile(@Query('key') key: string, @Res() res: Response) { + try { + const { body, contentType } = await this.storageService.getFile(key); + + res.setHeader('Content-Type', contentType || 'application/octet-stream'); + + if (body instanceof Stream) { + body.pipe(res); + } else if (body && typeof body.pipe === 'function') { + body.pipe(res); + } else { + // Fallback for cases where it's not a stream (though S3 usually returns one) + res.send(body); + } + } catch (error) { + throw new NotFoundException('File not found'); + } + } +} diff --git a/src/module/storage/storage.module.ts b/src/module/storage/storage.module.ts index 9183e1b..17e6f87 100644 --- a/src/module/storage/storage.module.ts +++ b/src/module/storage/storage.module.ts @@ -1,7 +1,9 @@ import { Module } from '@nestjs/common'; import { StorageService } from './storage.service'; +import { StorageController } from './storage.controller'; @Module({ + controllers: [StorageController], providers: [StorageService], exports: [StorageService], }) diff --git a/src/module/storage/storage.service.spec.ts b/src/module/storage/storage.service.spec.ts index d7a48d2..d0d73ef 100644 --- a/src/module/storage/storage.service.spec.ts +++ b/src/module/storage/storage.service.spec.ts @@ -46,4 +46,20 @@ describe('StorageService', () => { expect(result).toContain('.png'); expect(S3Client.prototype.send).toHaveBeenCalled(); }); + + it('should get a file from S3', async () => { + const mockKey = 'test-key'; + const mockResponse = { + Body: 'test-body', + ContentType: 'image/png', + }; + + (S3Client.prototype.send as jest.Mock).mockResolvedValueOnce(mockResponse); + + const result = await service.getFile(mockKey); + + expect(result.body).toBe('test-body'); + expect(result.contentType).toBe('image/png'); + expect(S3Client.prototype.send).toHaveBeenCalled(); + }); }); diff --git a/src/module/storage/storage.service.ts b/src/module/storage/storage.service.ts index 3db7b7b..5aeeeb9 100644 --- a/src/module/storage/storage.service.ts +++ b/src/module/storage/storage.service.ts @@ -1,6 +1,6 @@ import { Injectable, Logger } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; -import { S3Client, PutObjectCommand } from '@aws-sdk/client-s3'; +import { S3Client, PutObjectCommand, GetObjectCommand } from '@aws-sdk/client-s3'; import { v4 as uuidv4 } from 'uuid'; @Injectable() @@ -50,4 +50,22 @@ export class StorageService { throw error; } } + + async getFile(key: string): Promise<{ body: any; contentType: string }> { + const command = new GetObjectCommand({ + Bucket: this.bucketName, + Key: key, + }); + + try { + const response = await this.s3Client.send(command); + return { + body: response.Body, + contentType: response.ContentType, + }; + } catch (error) { + this.logger.error(`Failed to get file from S3: ${error.message}`); + throw error; + } + } } From 9847b2ceb83f2d915493cd13d89d6e9abb7cf6bc Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Sun, 29 Mar 2026 11:16:16 -0300 Subject: [PATCH 055/104] feat: setup multi-stage build for Northflank production deployment --- Dockerfile | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/Dockerfile b/Dockerfile index c0fd831..226de75 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,18 +1,16 @@ -# Usar una imagen base de Node.js consistente -FROM node:20-alpine - -# Establecer el directorio de trabajo +# Stage 1: Build +FROM node:20-alpine AS build WORKDIR /usr/src/app - -# Copiar solo los archivos de manifiesto del paquete para aprovechar el caché de Docker COPY package*.json ./ - -# Instalar dependencias (esto se ejecutará dentro del contenedor Alpine) RUN npm install - -# Copiar el resto del código (esto será sobrescrito por el volumen de docker-compose, pero es buena práctica tenerlo) COPY . . +RUN npm run build -# El comando para iniciar la app en modo de desarrollo (usando ts-node-dev o similar) -# docker-compose anulará este CMD, pero lo dejamos como referencia. -CMD ["npm", "run", "start:dev"] +# Stage 2: Runtime +FROM node:20-alpine +WORKDIR /usr/src/app +COPY package*.json ./ +RUN npm install --only=production +COPY --from=build /usr/src/app/dist ./dist +EXPOSE 3000 +CMD ["node", "dist/main"] From 1446d226a9d60a4550388d43fd34d2ec86546b9f Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Sun, 29 Mar 2026 11:24:08 -0300 Subject: [PATCH 056/104] fix: update Dockerfile CMD to point to dist/src/main.js --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 226de75..4cbcc43 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,4 +13,4 @@ COPY package*.json ./ RUN npm install --only=production COPY --from=build /usr/src/app/dist ./dist EXPOSE 3000 -CMD ["node", "dist/main"] +CMD ["node", "dist/src/main"] From 2ce4b0acbcce73fdf386e433e73e342ff4b6ec66 Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Sun, 29 Mar 2026 16:38:07 -0300 Subject: [PATCH 057/104] Configure production deployment for Northflank --- postman_collection.json | 607 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 607 insertions(+) create mode 100644 postman_collection.json diff --git a/postman_collection.json b/postman_collection.json new file mode 100644 index 0000000..5219225 --- /dev/null +++ b/postman_collection.json @@ -0,0 +1,607 @@ +{ + "info": { + "_postman_id": "73d28522-2b67-4f4c-a4a1-ca59fccc7ebd", + "name": "Rayuela Backend API (Updated)", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" + }, + "item": [ + { + "name": "Auth", + "item": [ + { + "name": "Register", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"complete_name\": \"Test User\",\n \"username\": \"testuser\",\n \"email\": \"test@example.com\",\n \"password\": \"password123\",\n \"profile_image\": \"\",\n \"role\": \"Volunteer\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{base_url}}/auth/register", + "host": ["{{base_url}}"], + "path": ["auth", "register"] + } + } + }, + { + "name": "Login", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "var jsonData = pm.response.json();", + "if (jsonData.access_token) {", + " pm.collectionVariables.set(\"jwt_token\", jsonData.access_token);", + "}" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"username\": \"testuser\",\n \"password\": \"password123\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{base_url}}/auth/login", + "host": ["{{base_url}}"], + "path": ["auth", "login"] + } + } + }, + { + "name": "Recover Password", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"token\": \"your_recovery_token\",\n \"newPassword\": \"new_password123\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{base_url}}/auth/recover-password", + "host": ["{{base_url}}"], + "path": ["auth", "recover-password"] + } + } + }, + { + "name": "Forgot Password", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"email\": \"test@example.com\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{base_url}}/auth/forgot-password", + "host": ["{{base_url}}"], + "path": ["auth", "forgot-password"] + } + } + }, + { + "name": "Verify Email", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"token\": \"your_verification_token\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{base_url}}/auth/verify-email", + "host": ["{{base_url}}"], + "path": ["auth", "verify-email"] + } + } + } + ] + }, + { + "name": "User", + "item": [ + { + "name": "Get User Info", + "request": { + "method": "GET", + "header": [ + { "key": "Authorization", "value": "Bearer {{jwt_token}}" } + ], + "url": { + "raw": "{{base_url}}/user", + "host": ["{{base_url}}"], + "path": ["user"] + } + } + } + ] + }, + { + "name": "Project", + "item": [ + { + "name": "Create Project (Admin)", + "request": { + "method": "POST", + "header": [ + { "key": "Authorization", "value": "Bearer {{jwt_token}}" } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"New Project\",\n \"description\": \"Project Description\",\n \"image\": \"http://example.com/image.png\",\n \"available\": true,\n \"manualLocation\": false,\n \"areas\": {\n \"type\": \"FeatureCollection\",\n \"features\": [\n {\n \"type\": \"Feature\",\n \"properties\": { \"id\": \"area_01\" },\n \"geometry\": {\n \"type\": \"Polygon\",\n \"coordinates\": [[[0,0], [0,10], [10,10], [10,0], [0,0]]]\n }\n }\n ]\n },\n \"taskTypes\": [\"Observation\"],\n \"timeIntervals\": [],\n \"gamificationStrategy\": \"SIN ADAPTACION\",\n \"recommendationStrategy\": \"SIMPLE\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{base_url}}/projects", + "host": ["{{base_url}}"], + "path": ["projects"] + } + } + }, + { + "name": "Get All Projects", + "request": { + "method": "GET", + "header": [ + { "key": "Authorization", "value": "Bearer {{jwt_token}}" } + ], + "url": { + "raw": "{{base_url}}/projects", + "host": ["{{base_url}}"], + "path": ["projects"] + } + } + }, + { + "name": "Get Project by ID", + "request": { + "method": "GET", + "header": [ + { "key": "Authorization", "value": "Bearer {{jwt_token}}" } + ], + "url": { + "raw": "{{base_url}}/projects/:id", + "host": ["{{base_url}}"], + "path": ["projects", ":id"], + "variable": [{ "key": "id", "value": "PROJECT_ID" }] + } + } + }, + { + "name": "Get Project Public", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/projects/public/:id", + "host": ["{{base_url}}"], + "path": ["projects", "public", ":id"], + "variable": [{ "key": "id", "value": "PROJECT_ID" }] + } + } + }, + { + "name": "Update Project (Admin)", + "request": { + "method": "PATCH", + "header": [ + { "key": "Authorization", "value": "Bearer {{jwt_token}}" } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Updated Project Name\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{base_url}}/projects/:id", + "host": ["{{base_url}}"], + "path": ["projects", ":id"], + "variable": [{ "key": "id", "value": "PROJECT_ID" }] + } + } + }, + { + "name": "Toggle Availability (Admin)", + "request": { + "method": "POST", + "header": [ + { "key": "Authorization", "value": "Bearer {{jwt_token}}" } + ], + "url": { + "raw": "{{base_url}}/projects/availability/:id", + "host": ["{{base_url}}"], + "path": ["projects", "availability", ":id"], + "variable": [{ "key": "id", "value": "PROJECT_ID" }] + } + } + }, + { + "name": "Get Task Combinations", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/projects/task-combinations/:id", + "host": ["{{base_url}}"], + "path": ["projects", "task-combinations", ":id"], + "variable": [{ "key": "id", "value": "PROJECT_ID" }] + } + } + } + ] + }, + { + "name": "Task", + "item": [ + { + "name": "Create Task (Admin)", + "request": { + "method": "POST", + "header": [ + { "key": "Authorization", "value": "Bearer {{jwt_token}}" } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"New Task\",\n \"description\": \"Description\",\n \"projectId\": \"PROJECT_ID\",\n \"timeIntervalId\": \"INTERVAL_ID\",\n \"areaId\": \"area_01\",\n \"type\": \"Observation\",\n \"solved\": false\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{base_url}}/task", + "host": ["{{base_url}}"], + "path": ["task"] + } + } + }, + { + "name": "Bulk Create Tasks (Admin)", + "request": { + "method": "POST", + "header": [ + { "key": "Authorization", "value": "Bearer {{jwt_token}}" } + ], + "body": { + "mode": "raw", + "raw": "[\n {\n \"name\": \"Task 1\",\n \"description\": \"Desc\",\n \"projectId\": \"PROJECT_ID\",\n \"timeIntervalId\": \"INT_1\",\n \"areaId\": \"area_1\",\n \"type\": \"Type\",\n \"solved\": false\n }\n]", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{base_url}}/task/project/:id/bulk", + "host": ["{{base_url}}"], + "path": ["task", "project", ":id", "bulk"], + "variable": [{ "key": "id", "value": "PROJECT_ID" }] + } + } + }, + { + "name": "Get Tasks by Project", + "request": { + "method": "GET", + "header": [ + { "key": "Authorization", "value": "Bearer {{jwt_token}}" } + ], + "url": { + "raw": "{{base_url}}/task/project/:id", + "host": ["{{base_url}}"], + "path": ["task", "project", ":id"], + "variable": [{ "key": "id", "value": "PROJECT_ID" }] + } + } + }, + { + "name": "Get Task by ID", + "request": { + "method": "GET", + "header": [ + { "key": "Authorization", "value": "Bearer {{jwt_token}}" } + ], + "url": { + "raw": "{{base_url}}/task/:id", + "host": ["{{base_url}}"], + "path": ["task", ":id"], + "variable": [{ "key": "id", "value": "TASK_ID" }] + } + } + }, + { + "name": "Update Task (Admin)", + "request": { + "method": "PATCH", + "header": [ + { "key": "Authorization", "value": "Bearer {{jwt_token}}" } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Updated Task Name\"\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{base_url}}/task/:id", + "host": ["{{base_url}}"], + "path": ["task", ":id"], + "variable": [{ "key": "id", "value": "TASK_ID" }] + } + } + }, + { + "name": "Delete Task (Admin)", + "request": { + "method": "DELETE", + "header": [ + { "key": "Authorization", "value": "Bearer {{jwt_token}}" } + ], + "url": { + "raw": "{{base_url}}/task/:id", + "host": ["{{base_url}}"], + "path": ["task", ":id"], + "variable": [{ "key": "id", "value": "TASK_ID" }] + } + } + } + ] + }, + { + "name": "Checkin", + "item": [ + { + "name": "Create Checkin", + "request": { + "method": "POST", + "header": [ + { "key": "Authorization", "value": "Bearer {{jwt_token}}" } + ], + "body": { + "mode": "formdata", + "formdata": [ + { "key": "latitude", "value": "-34.6037", "type": "text" }, + { "key": "longitude", "value": "-58.3816", "type": "text" }, + { "key": "datetime", "value": "2023-10-27T10:00:00Z", "type": "text" }, + { "key": "projectId", "value": "PROJECT_ID", "type": "text" }, + { "key": "taskType", "value": "Observation", "type": "text" }, + { "key": "image", "type": "file", "src": [] } + ] + }, + "url": { + "raw": "{{base_url}}/checkin", + "host": ["{{base_url}}"], + "path": ["checkin"] + } + } + }, + { + "name": "Rate Checkin", + "request": { + "method": "POST", + "header": [ + { "key": "Authorization", "value": "Bearer {{jwt_token}}" } + ], + "body": { + "mode": "raw", + "raw": "{\n \"checkinId\": \"CHECKIN_ID\",\n \"rate\": 5\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{base_url}}/checkin/rate", + "host": ["{{base_url}}"], + "path": ["checkin", "rate"] + } + } + }, + { + "name": "Get User Checkins for Project", + "request": { + "method": "GET", + "header": [ + { "key": "Authorization", "value": "Bearer {{jwt_token}}" } + ], + "url": { + "raw": "{{base_url}}/checkin/user/:projectId", + "host": ["{{base_url}}"], + "path": ["checkin", "user", ":projectId"], + "variable": [{ "key": "projectId", "value": "PROJECT_ID" }] + } + } + } + ] + }, + { + "name": "Gamification", + "item": [ + { + "name": "Get Gamification Config", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/gamification/:projectId", + "host": ["{{base_url}}"], + "path": ["gamification", ":projectId"], + "variable": [{ "key": "projectId", "value": "PROJECT_ID" }] + } + } + }, + { + "name": "Create Badge Rule", + "request": { + "method": "POST", + "body": { + "mode": "raw", + "raw": "{\n \"projectId\": \"PROJECT_ID\",\n \"name\": \"Explorer\",\n \"description\": \"Complete 5 checkins\",\n \"imageUrl\": \"url\",\n \"checkinsAmount\": 5,\n \"mustContribute\": true,\n \"previousBadges\": [],\n \"taskType\": \"Observation\",\n \"areaId\": \"area_01\",\n \"timeIntervalId\": \"int_01\"\n}", + "options": { "raw": { "language": "json" } } + }, + "url": { + "raw": "{{base_url}}/gamification/badge", + "host": ["{{base_url}}"], + "path": ["gamification", "badge"] + } + } + }, + { + "name": "Create Score Rule", + "request": { + "method": "POST", + "body": { + "mode": "raw", + "raw": "{\n \"projectId\": \"PROJECT_ID\",\n \"score\": 10,\n \"taskType\": \"Observation\",\n \"areaId\": \"area_01\",\n \"timeIntervalId\": \"int_01\",\n \"mustContribute\": true\n}", + "options": { "raw": { "language": "json" } } + }, + "url": { + "raw": "{{base_url}}/gamification/score-rule", + "host": ["{{base_url}}"], + "path": ["gamification", "score-rule"] + } + } + } + ] + }, + { + "name": "Leaderboard", + "item": [ + { + "name": "Get Leaderboard", + "request": { + "method": "GET", + "header": [ + { "key": "Authorization", "value": "Bearer {{jwt_token}}" } + ], + "url": { + "raw": "{{base_url}}/leaderboard/:projectId", + "host": ["{{base_url}}"], + "path": ["leaderboard", ":projectId"], + "variable": [{ "key": "projectId", "value": "PROJECT_ID" }] + } + } + } + ] + }, + { + "name": "Volunteer", + "item": [ + { + "name": "Subscribe to Project", + "request": { + "method": "POST", + "header": [ + { "key": "Authorization", "value": "Bearer {{jwt_token}}" } + ], + "url": { + "raw": "{{base_url}}/volunteer/subscription/:id", + "host": ["{{base_url}}"], + "path": ["volunteer", "subscription", ":id"], + "variable": [{ "key": "id", "value": "PROJECT_ID" }] + } + } + }, + { + "name": "My Projects", + "request": { + "method": "GET", + "header": [ + { "key": "Authorization", "value": "Bearer {{jwt_token}}" } + ], + "url": { + "raw": "{{base_url}}/volunteer/projects", + "host": ["{{base_url}}"], + "path": ["volunteer", "projects"] + } + } + }, + { + "name": "Public Projects", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/volunteer/public/projects", + "host": ["{{base_url}}"], + "path": ["volunteer", "public", "projects"] + } + } + } + ] + }, + { + "name": "Storage", + "item": [ + { + "name": "Get File", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/storage/file?key=YOUR_FILE_KEY", + "host": ["{{base_url}}"], + "path": ["storage", "file"], + "query": [{ "key": "key", "value": "YOUR_FILE_KEY" }] + } + } + } + ] + }, + { + "name": "Health Check", + "request": { + "method": "GET", + "url": { + "raw": "{{base_url}}/", + "host": ["{{base_url}}"], + "path": [""] + } + } + } + ], + "variable": [ + { "key": "base_url", "value": "http://localhost:3000/v1" }, + { "key": "jwt_token", "value": "" } + ] +} From a552f1579e8c4308f3a406bd2dc17850a3446e35 Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Sat, 4 Apr 2026 11:49:11 -0300 Subject: [PATCH 058/104] fix(auth): await sendMail and use NestJS Logger for email errors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sendMail was called without await in both sendVerificationEmail and forgotPassword, causing SMTP failures to become silent unhandled promise rejections — the catch block never fired and no error was logged or returned to the client. Added await so errors propagate correctly, and replaced console.log/ console.error with NestJS Logger so errors appear in structured logs (e.g. Northflank). Co-Authored-By: Claude Sonnet 4.6 --- src/module/auth/auth.service.ts | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/module/auth/auth.service.ts b/src/module/auth/auth.service.ts index ad48a4d..195f46f 100644 --- a/src/module/auth/auth.service.ts +++ b/src/module/auth/auth.service.ts @@ -1,4 +1,4 @@ -import { BadRequestException, Injectable } from '@nestjs/common'; +import { BadRequestException, Injectable, Logger } from '@nestjs/common'; import { JwtService } from '@nestjs/jwt'; import { UserRole } from './users/user.schema'; import { UserService } from './users/user.service'; @@ -17,6 +17,7 @@ export interface UserJWT { @Injectable() export class AuthService { + private readonly logger = new Logger(AuthService.name); private transporter; constructor( @@ -97,10 +98,13 @@ export class AuthService { }; try { - this.transporter.sendMail(mailOptions); - console.log('Correo de verificación enviado con éxito'); + await this.transporter.sendMail(mailOptions); + this.logger.log(`Verification email sent to ${registerDto.email}`); } catch (error) { - console.error('Error al enviar el correo de verificación:', error); + this.logger.error( + `Failed to send verification email to ${registerDto.email}`, + error instanceof Error ? error.stack : String(error), + ); throw new BadRequestException( 'Error al enviar el correo de verificación', ); @@ -144,9 +148,12 @@ export class AuthService { try { await this.transporter.sendMail(mailOptions); - console.log('Correo enviado con éxito'); + this.logger.log(`Password reset email sent to ${email}`); } catch (error) { - console.error('Error al enviar el correo:', error); + this.logger.error( + `Failed to send password reset email to ${email}`, + error instanceof Error ? error.stack : String(error), + ); } } From 956939644ae2746f9e62568d70adf89a8a350c26 Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Sat, 4 Apr 2026 12:57:23 -0300 Subject: [PATCH 059/104] test(auth): update specs for async sendMail and NestJS Logger - Replace sync throw mocks with mockRejectedValueOnce to properly test the awaited sendMail path - Replace console.error/log spies with logger instance spies - Add test asserting sendMail rejection is not silently swallowed in register - Add test asserting forgotPassword logs success via NestJS Logger --- src/module/auth/auth.service.spec.ts | 46 ++++++++++++++++++---------- 1 file changed, 29 insertions(+), 17 deletions(-) diff --git a/src/module/auth/auth.service.spec.ts b/src/module/auth/auth.service.spec.ts index 740114e..d95c797 100644 --- a/src/module/auth/auth.service.spec.ts +++ b/src/module/auth/auth.service.spec.ts @@ -150,14 +150,26 @@ describe('AuthService', () => { (bcrypt.hash as jest.Mock).mockResolvedValue('hashedpassword'); (uuidv4 as jest.Mock).mockReturnValue('test-token'); mockUserService.create.mockResolvedValue(null); - mockTransporter.sendMail.mockImplementationOnce(() => { - throw new Error('Mail error'); - }); + mockTransporter.sendMail.mockRejectedValueOnce(new Error('SMTP auth error')); await expect(service.register(registerDto)).rejects.toThrow( new BadRequestException('Error al enviar el correo de verificación'), ); }); + + it('should propagate sendMail rejection — not swallow it silently', async () => { + mockUserService.findByEmailOrUsername.mockResolvedValue(null); + (bcrypt.genSalt as jest.Mock).mockResolvedValue('salt'); + (bcrypt.hash as jest.Mock).mockResolvedValue('hashedpassword'); + (uuidv4 as jest.Mock).mockReturnValue('test-token'); + mockUserService.create.mockResolvedValue(null); + mockTransporter.sendMail.mockRejectedValueOnce(new Error('SMTP auth error')); + + const loggerErrorSpy = jest.spyOn(service['logger'], 'error'); + + await expect(service.register(registerDto)).rejects.toThrow(BadRequestException); + expect(loggerErrorSpy).toHaveBeenCalled(); + }); }); describe('verifyEmail', () => { @@ -264,7 +276,7 @@ describe('AuthService', () => { ); }); - it('should handle error when sending email', async () => { + it('should not throw when sending email fails — logs error and continues', async () => { const user = new User( 'Test', 'testuser', @@ -277,26 +289,26 @@ describe('AuthService', () => { user.id = 'user-id'; mockUserService.findByEmailOrUsername.mockResolvedValue(user); (uuidv4 as jest.Mock).mockReturnValue('reset-token'); - mockTransporter.sendMail.mockImplementationOnce(() => { - throw new Error('Mail error'); - }); - const consoleErrorSpy = jest - .spyOn(console, 'error') - .mockImplementation(() => { }); + mockTransporter.sendMail.mockRejectedValueOnce(new Error('SMTP auth error')); - await service.forgotPassword('test@test.com'); - expect(consoleErrorSpy).toHaveBeenCalled(); - consoleErrorSpy.mockRestore(); + const loggerErrorSpy = jest.spyOn(service['logger'], 'error'); + + await expect(service.forgotPassword('test@test.com')).resolves.toBeUndefined(); + expect(loggerErrorSpy).toHaveBeenCalled(); }); - it('should log success message', async () => { + it('should log success when email is sent', async () => { const user = new User('T', 'u', 'test@test.com', 'p'); + user.id = 'user-id'; mockUserService.findByEmailOrUsername.mockResolvedValue(user); - const logSpy = jest.spyOn(console, 'log').mockImplementation(() => { }); mockTransporter.sendMail.mockResolvedValueOnce(undefined); + + const loggerLogSpy = jest.spyOn(service['logger'], 'log'); + await service.forgotPassword('test@test.com'); - expect(logSpy).toHaveBeenCalledWith('Correo enviado con éxito'); - logSpy.mockRestore(); + expect(loggerLogSpy).toHaveBeenCalledWith( + expect.stringContaining('test@test.com'), + ); }); }); From 7b348ce9ad1770833e6bdeaaf98165ddeb704ca2 Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Sun, 5 Apr 2026 12:41:27 -0300 Subject: [PATCH 060/104] feat(http): add HTTP request logging middleware Logs all incoming requests with method, URL, and response status. Uses NestJS Logger with warn for 4xx and error for 5xx responses. Co-Authored-By: Claude Sonnet 4.6 --- src/app.module.ts | 9 ++++++-- src/common/middleware/logger.middleware.ts | 24 ++++++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 src/common/middleware/logger.middleware.ts diff --git a/src/app.module.ts b/src/app.module.ts index b1afc0a..bcffa00 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -1,4 +1,5 @@ -import { Module } from '@nestjs/common'; +import { MiddlewareConsumer, Module, NestModule } from '@nestjs/common'; +import { LoggerMiddleware } from './common/middleware/logger.middleware'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { ConfigModule } from '@nestjs/config'; @@ -32,5 +33,9 @@ console.log(process.env.DB_CONNECTION as string); controllers: [AppController], providers: [AppService], }) -export class AppModule {} +export class AppModule implements NestModule { + configure(consumer: MiddlewareConsumer) { + consumer.apply(LoggerMiddleware).forRoutes('*'); + } +} diff --git a/src/common/middleware/logger.middleware.ts b/src/common/middleware/logger.middleware.ts new file mode 100644 index 0000000..f7ca2a0 --- /dev/null +++ b/src/common/middleware/logger.middleware.ts @@ -0,0 +1,24 @@ +import { Injectable, NestMiddleware, Logger } from '@nestjs/common'; +import { Request, Response, NextFunction } from 'express'; + +@Injectable() +export class LoggerMiddleware implements NestMiddleware { + private logger = new Logger('HTTP'); + + use(req: Request, res: Response, next: NextFunction) { + const { method, originalUrl } = req; + + res.on('finish', () => { + const { statusCode } = res; + if (statusCode >= 500) { + this.logger.error(`${method} ${originalUrl} ${statusCode}`); + } else if (statusCode >= 400) { + this.logger.warn(`${method} ${originalUrl} ${statusCode}`); + } else { + this.logger.log(`${method} ${originalUrl} ${statusCode}`); + } + }); + + next(); + } +} From 3b6ca1642d2a966debe3789dd10fc7704e484488 Mon Sep 17 00:00:00 2001 From: FranciscoPerezRamos Date: Sun, 5 Apr 2026 21:10:38 -0300 Subject: [PATCH 061/104] bug fix: Leaderbord update after checkin with points --- src/module/checkin/entities/game.entity.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/module/checkin/entities/game.entity.ts b/src/module/checkin/entities/game.entity.ts index 673db9e..60e3e0e 100644 --- a/src/module/checkin/entities/game.entity.ts +++ b/src/module/checkin/entities/game.entity.ts @@ -73,6 +73,13 @@ export class Game { play(checkin: Checkin): GameStatus { const newPoints = this.pointsEngine.reward(checkin, this); checkin.user.addPointsFromProject(newPoints, this._project.id); + // After earning points, the stale copy of checkin.user in _users + // is replaced with the updated instance before build() sorts. This way both + // PointsFirstLBEngine and BadgesFirstLBEngine see the correct post-checkin points/badges + // without touching engine code. + this._users = this._users.map((u) => + u.id.toString() === checkin.user.id.toString() ? checkin.user : u, + ); return { newBadges: this.badgeEngine.newBadgesFor( checkin.user, From 3658905c7ef30d4e8f5d23f9a775c2c21396415e Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Sun, 5 Apr 2026 21:12:19 -0300 Subject: [PATCH 062/104] fix: replace stale user reference in _users before leaderboard sort When a checkin occurs, checkin.user and the matching entry in _users are loaded as separate DB instances. Updating points on checkin.user left the stale copy in _users, causing the leaderboard sort to use outdated points. Co-Authored-By: Claude Sonnet 4.6 --- src/module/checkin/entities/game.entity.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/module/checkin/entities/game.entity.ts b/src/module/checkin/entities/game.entity.ts index 673db9e..bdec058 100644 --- a/src/module/checkin/entities/game.entity.ts +++ b/src/module/checkin/entities/game.entity.ts @@ -73,6 +73,9 @@ export class Game { play(checkin: Checkin): GameStatus { const newPoints = this.pointsEngine.reward(checkin, this); checkin.user.addPointsFromProject(newPoints, this._project.id); + this._users = this._users.map((u) => + u.id.toString() === checkin.user.id.toString() ? checkin.user : u, + ); return { newBadges: this.badgeEngine.newBadgesFor( checkin.user, From a68aae8dc6972b7d5dfd7c0ca68b03b65f4f2cb9 Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Mon, 6 Apr 2026 11:20:44 -0300 Subject: [PATCH 063/104] chore: restore code comment removed during conflict resolution Co-Authored-By: Claude Sonnet 4.6 --- src/module/checkin/entities/game.entity.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/module/checkin/entities/game.entity.ts b/src/module/checkin/entities/game.entity.ts index bdec058..60e3e0e 100644 --- a/src/module/checkin/entities/game.entity.ts +++ b/src/module/checkin/entities/game.entity.ts @@ -73,6 +73,10 @@ export class Game { play(checkin: Checkin): GameStatus { const newPoints = this.pointsEngine.reward(checkin, this); checkin.user.addPointsFromProject(newPoints, this._project.id); + // After earning points, the stale copy of checkin.user in _users + // is replaced with the updated instance before build() sorts. This way both + // PointsFirstLBEngine and BadgesFirstLBEngine see the correct post-checkin points/badges + // without touching engine code. this._users = this._users.map((u) => u.id.toString() === checkin.user.id.toString() ? checkin.user : u, ); From fdd2aac29c92a8d1138aa68c18c65535675a7bfb Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Mon, 6 Apr 2026 14:01:04 -0300 Subject: [PATCH 064/104] chore: remove postman collection and add Spanish comments to Dockerfile Co-Authored-By: Claude Sonnet 4.6 --- Dockerfile | 29 +- postman_collection.json | 607 ---------------------------------------- 2 files changed, 27 insertions(+), 609 deletions(-) delete mode 100644 postman_collection.json diff --git a/Dockerfile b/Dockerfile index 4cbcc43..a722d9f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,41 @@ -# Stage 1: Build +# ─── Stage 1: Build ─────────────────────────────────────────────────────────── +# Usamos Node 20 sobre Alpine (imagen liviana) como entorno de compilación FROM node:20-alpine AS build + +# Directorio de trabajo dentro del contenedor donde se copiará el código WORKDIR /usr/src/app + +# Copiamos solo los manifiestos de dependencias primero para aprovechar +# la caché de capas de Docker: si package*.json no cambia, npm install no se repite COPY package*.json ./ + +# Instalamos todas las dependencias (incluyendo devDependencies necesarias para compilar) RUN npm install + +# Copiamos el resto del código fuente COPY . . + +# Compilamos TypeScript a JavaScript (genera la carpeta dist/) RUN npm run build -# Stage 2: Runtime +# ─── Stage 2: Runtime ───────────────────────────────────────────────────────── +# Nueva imagen limpia de Node 20 Alpine; no incluye el código fuente ni devDependencies FROM node:20-alpine + +# Mismo directorio de trabajo que en la etapa de build WORKDIR /usr/src/app + +# Copiamos los manifiestos para instalar solo dependencias de producción COPY package*.json ./ + +# Instalamos únicamente las dependencias de producción (sin devDependencies) RUN npm install --only=production + +# Copiamos el código compilado desde la etapa de build COPY --from=build /usr/src/app/dist ./dist + +# Exponemos el puerto en el que escucha la aplicación NestJS EXPOSE 3000 + +# Comando de inicio: ejecuta el archivo principal compilado CMD ["node", "dist/src/main"] diff --git a/postman_collection.json b/postman_collection.json deleted file mode 100644 index 5219225..0000000 --- a/postman_collection.json +++ /dev/null @@ -1,607 +0,0 @@ -{ - "info": { - "_postman_id": "73d28522-2b67-4f4c-a4a1-ca59fccc7ebd", - "name": "Rayuela Backend API (Updated)", - "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" - }, - "item": [ - { - "name": "Auth", - "item": [ - { - "name": "Register", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"complete_name\": \"Test User\",\n \"username\": \"testuser\",\n \"email\": \"test@example.com\",\n \"password\": \"password123\",\n \"profile_image\": \"\",\n \"role\": \"Volunteer\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{base_url}}/auth/register", - "host": ["{{base_url}}"], - "path": ["auth", "register"] - } - } - }, - { - "name": "Login", - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "var jsonData = pm.response.json();", - "if (jsonData.access_token) {", - " pm.collectionVariables.set(\"jwt_token\", jsonData.access_token);", - "}" - ], - "type": "text/javascript" - } - } - ], - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"username\": \"testuser\",\n \"password\": \"password123\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{base_url}}/auth/login", - "host": ["{{base_url}}"], - "path": ["auth", "login"] - } - } - }, - { - "name": "Recover Password", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"token\": \"your_recovery_token\",\n \"newPassword\": \"new_password123\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{base_url}}/auth/recover-password", - "host": ["{{base_url}}"], - "path": ["auth", "recover-password"] - } - } - }, - { - "name": "Forgot Password", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"email\": \"test@example.com\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{base_url}}/auth/forgot-password", - "host": ["{{base_url}}"], - "path": ["auth", "forgot-password"] - } - } - }, - { - "name": "Verify Email", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"token\": \"your_verification_token\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{base_url}}/auth/verify-email", - "host": ["{{base_url}}"], - "path": ["auth", "verify-email"] - } - } - } - ] - }, - { - "name": "User", - "item": [ - { - "name": "Get User Info", - "request": { - "method": "GET", - "header": [ - { "key": "Authorization", "value": "Bearer {{jwt_token}}" } - ], - "url": { - "raw": "{{base_url}}/user", - "host": ["{{base_url}}"], - "path": ["user"] - } - } - } - ] - }, - { - "name": "Project", - "item": [ - { - "name": "Create Project (Admin)", - "request": { - "method": "POST", - "header": [ - { "key": "Authorization", "value": "Bearer {{jwt_token}}" } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"New Project\",\n \"description\": \"Project Description\",\n \"image\": \"http://example.com/image.png\",\n \"available\": true,\n \"manualLocation\": false,\n \"areas\": {\n \"type\": \"FeatureCollection\",\n \"features\": [\n {\n \"type\": \"Feature\",\n \"properties\": { \"id\": \"area_01\" },\n \"geometry\": {\n \"type\": \"Polygon\",\n \"coordinates\": [[[0,0], [0,10], [10,10], [10,0], [0,0]]]\n }\n }\n ]\n },\n \"taskTypes\": [\"Observation\"],\n \"timeIntervals\": [],\n \"gamificationStrategy\": \"SIN ADAPTACION\",\n \"recommendationStrategy\": \"SIMPLE\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{base_url}}/projects", - "host": ["{{base_url}}"], - "path": ["projects"] - } - } - }, - { - "name": "Get All Projects", - "request": { - "method": "GET", - "header": [ - { "key": "Authorization", "value": "Bearer {{jwt_token}}" } - ], - "url": { - "raw": "{{base_url}}/projects", - "host": ["{{base_url}}"], - "path": ["projects"] - } - } - }, - { - "name": "Get Project by ID", - "request": { - "method": "GET", - "header": [ - { "key": "Authorization", "value": "Bearer {{jwt_token}}" } - ], - "url": { - "raw": "{{base_url}}/projects/:id", - "host": ["{{base_url}}"], - "path": ["projects", ":id"], - "variable": [{ "key": "id", "value": "PROJECT_ID" }] - } - } - }, - { - "name": "Get Project Public", - "request": { - "method": "GET", - "url": { - "raw": "{{base_url}}/projects/public/:id", - "host": ["{{base_url}}"], - "path": ["projects", "public", ":id"], - "variable": [{ "key": "id", "value": "PROJECT_ID" }] - } - } - }, - { - "name": "Update Project (Admin)", - "request": { - "method": "PATCH", - "header": [ - { "key": "Authorization", "value": "Bearer {{jwt_token}}" } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Updated Project Name\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{base_url}}/projects/:id", - "host": ["{{base_url}}"], - "path": ["projects", ":id"], - "variable": [{ "key": "id", "value": "PROJECT_ID" }] - } - } - }, - { - "name": "Toggle Availability (Admin)", - "request": { - "method": "POST", - "header": [ - { "key": "Authorization", "value": "Bearer {{jwt_token}}" } - ], - "url": { - "raw": "{{base_url}}/projects/availability/:id", - "host": ["{{base_url}}"], - "path": ["projects", "availability", ":id"], - "variable": [{ "key": "id", "value": "PROJECT_ID" }] - } - } - }, - { - "name": "Get Task Combinations", - "request": { - "method": "GET", - "url": { - "raw": "{{base_url}}/projects/task-combinations/:id", - "host": ["{{base_url}}"], - "path": ["projects", "task-combinations", ":id"], - "variable": [{ "key": "id", "value": "PROJECT_ID" }] - } - } - } - ] - }, - { - "name": "Task", - "item": [ - { - "name": "Create Task (Admin)", - "request": { - "method": "POST", - "header": [ - { "key": "Authorization", "value": "Bearer {{jwt_token}}" } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"New Task\",\n \"description\": \"Description\",\n \"projectId\": \"PROJECT_ID\",\n \"timeIntervalId\": \"INTERVAL_ID\",\n \"areaId\": \"area_01\",\n \"type\": \"Observation\",\n \"solved\": false\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{base_url}}/task", - "host": ["{{base_url}}"], - "path": ["task"] - } - } - }, - { - "name": "Bulk Create Tasks (Admin)", - "request": { - "method": "POST", - "header": [ - { "key": "Authorization", "value": "Bearer {{jwt_token}}" } - ], - "body": { - "mode": "raw", - "raw": "[\n {\n \"name\": \"Task 1\",\n \"description\": \"Desc\",\n \"projectId\": \"PROJECT_ID\",\n \"timeIntervalId\": \"INT_1\",\n \"areaId\": \"area_1\",\n \"type\": \"Type\",\n \"solved\": false\n }\n]", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{base_url}}/task/project/:id/bulk", - "host": ["{{base_url}}"], - "path": ["task", "project", ":id", "bulk"], - "variable": [{ "key": "id", "value": "PROJECT_ID" }] - } - } - }, - { - "name": "Get Tasks by Project", - "request": { - "method": "GET", - "header": [ - { "key": "Authorization", "value": "Bearer {{jwt_token}}" } - ], - "url": { - "raw": "{{base_url}}/task/project/:id", - "host": ["{{base_url}}"], - "path": ["task", "project", ":id"], - "variable": [{ "key": "id", "value": "PROJECT_ID" }] - } - } - }, - { - "name": "Get Task by ID", - "request": { - "method": "GET", - "header": [ - { "key": "Authorization", "value": "Bearer {{jwt_token}}" } - ], - "url": { - "raw": "{{base_url}}/task/:id", - "host": ["{{base_url}}"], - "path": ["task", ":id"], - "variable": [{ "key": "id", "value": "TASK_ID" }] - } - } - }, - { - "name": "Update Task (Admin)", - "request": { - "method": "PATCH", - "header": [ - { "key": "Authorization", "value": "Bearer {{jwt_token}}" } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Updated Task Name\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{base_url}}/task/:id", - "host": ["{{base_url}}"], - "path": ["task", ":id"], - "variable": [{ "key": "id", "value": "TASK_ID" }] - } - } - }, - { - "name": "Delete Task (Admin)", - "request": { - "method": "DELETE", - "header": [ - { "key": "Authorization", "value": "Bearer {{jwt_token}}" } - ], - "url": { - "raw": "{{base_url}}/task/:id", - "host": ["{{base_url}}"], - "path": ["task", ":id"], - "variable": [{ "key": "id", "value": "TASK_ID" }] - } - } - } - ] - }, - { - "name": "Checkin", - "item": [ - { - "name": "Create Checkin", - "request": { - "method": "POST", - "header": [ - { "key": "Authorization", "value": "Bearer {{jwt_token}}" } - ], - "body": { - "mode": "formdata", - "formdata": [ - { "key": "latitude", "value": "-34.6037", "type": "text" }, - { "key": "longitude", "value": "-58.3816", "type": "text" }, - { "key": "datetime", "value": "2023-10-27T10:00:00Z", "type": "text" }, - { "key": "projectId", "value": "PROJECT_ID", "type": "text" }, - { "key": "taskType", "value": "Observation", "type": "text" }, - { "key": "image", "type": "file", "src": [] } - ] - }, - "url": { - "raw": "{{base_url}}/checkin", - "host": ["{{base_url}}"], - "path": ["checkin"] - } - } - }, - { - "name": "Rate Checkin", - "request": { - "method": "POST", - "header": [ - { "key": "Authorization", "value": "Bearer {{jwt_token}}" } - ], - "body": { - "mode": "raw", - "raw": "{\n \"checkinId\": \"CHECKIN_ID\",\n \"rate\": 5\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{base_url}}/checkin/rate", - "host": ["{{base_url}}"], - "path": ["checkin", "rate"] - } - } - }, - { - "name": "Get User Checkins for Project", - "request": { - "method": "GET", - "header": [ - { "key": "Authorization", "value": "Bearer {{jwt_token}}" } - ], - "url": { - "raw": "{{base_url}}/checkin/user/:projectId", - "host": ["{{base_url}}"], - "path": ["checkin", "user", ":projectId"], - "variable": [{ "key": "projectId", "value": "PROJECT_ID" }] - } - } - } - ] - }, - { - "name": "Gamification", - "item": [ - { - "name": "Get Gamification Config", - "request": { - "method": "GET", - "url": { - "raw": "{{base_url}}/gamification/:projectId", - "host": ["{{base_url}}"], - "path": ["gamification", ":projectId"], - "variable": [{ "key": "projectId", "value": "PROJECT_ID" }] - } - } - }, - { - "name": "Create Badge Rule", - "request": { - "method": "POST", - "body": { - "mode": "raw", - "raw": "{\n \"projectId\": \"PROJECT_ID\",\n \"name\": \"Explorer\",\n \"description\": \"Complete 5 checkins\",\n \"imageUrl\": \"url\",\n \"checkinsAmount\": 5,\n \"mustContribute\": true,\n \"previousBadges\": [],\n \"taskType\": \"Observation\",\n \"areaId\": \"area_01\",\n \"timeIntervalId\": \"int_01\"\n}", - "options": { "raw": { "language": "json" } } - }, - "url": { - "raw": "{{base_url}}/gamification/badge", - "host": ["{{base_url}}"], - "path": ["gamification", "badge"] - } - } - }, - { - "name": "Create Score Rule", - "request": { - "method": "POST", - "body": { - "mode": "raw", - "raw": "{\n \"projectId\": \"PROJECT_ID\",\n \"score\": 10,\n \"taskType\": \"Observation\",\n \"areaId\": \"area_01\",\n \"timeIntervalId\": \"int_01\",\n \"mustContribute\": true\n}", - "options": { "raw": { "language": "json" } } - }, - "url": { - "raw": "{{base_url}}/gamification/score-rule", - "host": ["{{base_url}}"], - "path": ["gamification", "score-rule"] - } - } - } - ] - }, - { - "name": "Leaderboard", - "item": [ - { - "name": "Get Leaderboard", - "request": { - "method": "GET", - "header": [ - { "key": "Authorization", "value": "Bearer {{jwt_token}}" } - ], - "url": { - "raw": "{{base_url}}/leaderboard/:projectId", - "host": ["{{base_url}}"], - "path": ["leaderboard", ":projectId"], - "variable": [{ "key": "projectId", "value": "PROJECT_ID" }] - } - } - } - ] - }, - { - "name": "Volunteer", - "item": [ - { - "name": "Subscribe to Project", - "request": { - "method": "POST", - "header": [ - { "key": "Authorization", "value": "Bearer {{jwt_token}}" } - ], - "url": { - "raw": "{{base_url}}/volunteer/subscription/:id", - "host": ["{{base_url}}"], - "path": ["volunteer", "subscription", ":id"], - "variable": [{ "key": "id", "value": "PROJECT_ID" }] - } - } - }, - { - "name": "My Projects", - "request": { - "method": "GET", - "header": [ - { "key": "Authorization", "value": "Bearer {{jwt_token}}" } - ], - "url": { - "raw": "{{base_url}}/volunteer/projects", - "host": ["{{base_url}}"], - "path": ["volunteer", "projects"] - } - } - }, - { - "name": "Public Projects", - "request": { - "method": "GET", - "url": { - "raw": "{{base_url}}/volunteer/public/projects", - "host": ["{{base_url}}"], - "path": ["volunteer", "public", "projects"] - } - } - } - ] - }, - { - "name": "Storage", - "item": [ - { - "name": "Get File", - "request": { - "method": "GET", - "url": { - "raw": "{{base_url}}/storage/file?key=YOUR_FILE_KEY", - "host": ["{{base_url}}"], - "path": ["storage", "file"], - "query": [{ "key": "key", "value": "YOUR_FILE_KEY" }] - } - } - } - ] - }, - { - "name": "Health Check", - "request": { - "method": "GET", - "url": { - "raw": "{{base_url}}/", - "host": ["{{base_url}}"], - "path": [""] - } - } - } - ], - "variable": [ - { "key": "base_url", "value": "http://localhost:3000/v1" }, - { "key": "jwt_token", "value": "" } - ] -} From f2a19f40689ca25e42223ab2cfc798b293cd1b0f Mon Sep 17 00:00:00 2001 From: Lucas Gabriel Matwiejczuk Date: Sat, 18 Apr 2026 21:52:38 -0300 Subject: [PATCH 065/104] feat: implement docsify documentation for backend documentation (#36) * docs: implement docsify documentation for backend * docs: restore all documentation files from previous branch --- docs/.nojekyll | 0 docs/README.md | 9 +++++++ docs/_sidebar.md | 2 ++ docs/deployment.md | 61 ++++++++++++++++++++++++++++++++++++++++++++++ docs/index.html | 51 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 123 insertions(+) create mode 100644 docs/.nojekyll create mode 100644 docs/README.md create mode 100644 docs/_sidebar.md create mode 100644 docs/deployment.md create mode 100644 docs/index.html diff --git a/docs/.nojekyll b/docs/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..d7d4b09 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,9 @@ +# Rayuela Backend Documentation + +Welcome to the official documentation for the **Rayuela Backend**. + +This repository contains the NestJS-based REST API and management backend for the Rayuela platform. + +## Quick Links +- [Deployment](deployment) +- [GitHub Repository](https://github.com/lucas-matw-unq/rayuela-NodeBackend) diff --git a/docs/_sidebar.md b/docs/_sidebar.md new file mode 100644 index 0000000..0ce497a --- /dev/null +++ b/docs/_sidebar.md @@ -0,0 +1,2 @@ +- [Home](README.md) +- [Deployment](deployment.md) diff --git a/docs/deployment.md b/docs/deployment.md new file mode 100644 index 0000000..3db2708 --- /dev/null +++ b/docs/deployment.md @@ -0,0 +1,61 @@ +# Deployment: Stage Environment + +This page describes the architecture and deployment process for the Rayuela stage environment. + +## Architecture Diagram + +```mermaid +flowchart TB + Browser["🌐 Browser"] + + subgraph Vercel["☁️ Vercel (Frontend)"] + VFE["rayuela-frontend\nStatic Site (SPA)"] + end + + subgraph Atlas["🍃 MongoDB Atlas (Free Tier)"] + DB[("free-mongo-cluster\n.5pdg0du.mongodb.net/rayuela")] + end + + subgraph Northflank["🚀 Northflank — Proyecto: rayuela (us-central)"] + subgraph ns["Namespace: ns-9v9rbv2pxhtx"] + BE["rayuela-NodeBackend\nNode.js :3000\np01--rayuela-nodebackend--9v9rbv2pxhtx.code.run\n[PUBLIC]"] + GR["garage\ndxflrs/garage:v2.2.0 :3900\np01--garage--9v9rbv2pxhtx.code.run\n[INTERNAL]"] + end + end + + subgraph GitHub["🐙 GitHub (lucas-matw-unq)"] + REPO_BE["rayuela-NodeBackend\nbranch: feat/northflank-deployment"] + REPO_FE["rayuela-frontend"] + end + + Browser -->|"HTTPS"| VFE + VFE -->|"VITE_ROOT_API\nhttps://.../v1"| BE + BE -->|"mongodb+srv://"| DB + BE -->|"http://garage:3900\nS3 API"| GR + + REPO_BE -->|"CI build → deploy"| BE + REPO_FE -->|"CI deploy"| VFE +``` + +## Overview +Rayuela uses a distributed cloud architecture: +- **Frontend**: Hosted on Vercel as a Vue.js SPA. +- **Backend**: NestJS application running on Northflank. +- **Database**: Managed MongoDB Atlas cluster. +- **Storage**: Garage (S3-compatible) running alongside the backend in Northflank. + +## Environment Variables +The backend service (`rayuela-NodeBackend`) requires the following configuration: + +| Variable | Description | Value (Stage) | +|----------|-------------|---------------| +| `DB_CONNECTION` | MongoDB connection string | `mongodb+srv://...` | +| `JWT_SECRET` | Secret key for JWT signing | `fda6c62...` | +| `S3_ENDPOINT` | Garage S3 API endpoint | `http://garage:3900` | +| `S3_ACCESS_KEY` | Garage Access Key | `GKeb4b3...` | +| `S3_SECRET_KEY` | Garage Secret Key | `65cbf33...` | +| `S3_BUCKET` | S3 bucket for check-ins | `rayuela-checkins` | +| `S3_REGION` | S3 region identifier | `garage` | +| `NOREPLY_EMAIL` | Email for notifications | `unqarq2@gmail.com` | +| `FRONTEND_URL` | Production Frontend URL | `https://rayuela-frontend-nine.vercel.app` | +| `NODE_ENV` | Environment mode | `production` | diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..7447d72 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,51 @@ + + + + + Rayuela Backend Docs + + + + + + +
+ + + + + + + + + From 4e025cf53447ed3a41be7182aa8ba44d799a7a00 Mon Sep 17 00:00:00 2001 From: Lucas Gabriel Matwiejczuk Date: Sat, 18 Apr 2026 22:35:07 -0300 Subject: [PATCH 066/104] docs: consolidate CI/CD and detailed garage info into deployment (#37) --- docs/_sidebar.md | 2 +- docs/deployment.md | 61 +++++++++++++++++++++++++++++++++++++--------- 2 files changed, 51 insertions(+), 12 deletions(-) diff --git a/docs/_sidebar.md b/docs/_sidebar.md index 0ce497a..f63da08 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -1,2 +1,2 @@ - [Home](README.md) -- [Deployment](deployment.md) +- [Deployment & Infrastructure](deployment.md) diff --git a/docs/deployment.md b/docs/deployment.md index 3db2708..0b8e172 100644 --- a/docs/deployment.md +++ b/docs/deployment.md @@ -1,6 +1,6 @@ -# Deployment: Stage Environment +# Deployment & Infrastructure -This page describes the architecture and deployment process for the Rayuela stage environment. +This page describes the architecture, infrastructure, and continuous integration process for the Rayuela platform. ## Architecture Diagram @@ -24,7 +24,7 @@ flowchart TB end subgraph GitHub["🐙 GitHub (lucas-matw-unq)"] - REPO_BE["rayuela-NodeBackend\nbranch: feat/northflank-deployment"] + REPO_BE["rayuela-NodeBackend\nbranch: main"] REPO_FE["rayuela-frontend"] end @@ -37,15 +37,54 @@ flowchart TB REPO_FE -->|"CI deploy"| VFE ``` -## Overview -Rayuela uses a distributed cloud architecture: -- **Frontend**: Hosted on Vercel as a Vue.js SPA. -- **Backend**: NestJS application running on Northflank. -- **Database**: Managed MongoDB Atlas cluster. -- **Storage**: Garage (S3-compatible) running alongside the backend in Northflank. +## Core Infrastructure -## Environment Variables -The backend service (`rayuela-NodeBackend`) requires the following configuration: +### 1. Backend: Northflank +The backend services are orchestrated in a Northflank project named `rayuela`. + +- **rayuela-NodeBackend**: + - NestJS application running on Node.js. + - Exposed publicly via Northflank's generated domain on port 3000. + - Connected to GitHub for automated Continuous Deployment. +- **garage**: + - S3-compatible object storage provider. + - **Docker Image**: `dxflrs/garage:v2.2.0` (Docker Hub). + - **Internal Service**: Accessible only within the Northflank project network at `http://garage:3900`. + - **Configuration**: Managed via a custom runtime file at `/etc/garage.toml`. + - **Command**: `/garage -c /etc/garage.toml server`. + +### 2. Frontend: Vercel +The frontend is a Vue.js Single Page Application (SPA). +- **Hosting**: Vercel. +- **Deployment**: Automatic deployments from the `main` branch. +- **Rewrites**: Configured via `vercel.json` to handle SPA routing. + +### 3. Database: MongoDB Atlas +- **Tier**: M0 (Free Tier). +- **Cluster**: `free-mongo-cluster`. +- **Access**: IP whitelist configured for Northflank egress IPs. + +--- + +## Continuous Integration & Delivery + +Rayuela implements a robust CI/CD pipeline to ensure code quality and automated updates. + +### GitHub Actions (CI) +Every pull request and push to the `main` branch triggers the **Node.js CI** workflow: +- **Environment**: Tested against multiple Node.js versions (16.x, 18.x). +- **Quality Gates**: + - `npm install`: Verifies dependency resolution. + - `npm run lint`: Enforces code style consistency (ESLint). + - `npm test`: Executes the Jest test suite. +- **Requirement**: CI must pass before any deployment to the stage environment. + +### Automated Delivery (CD) +- **Frontend (Vercel)**: Pushes to `main` are automatically built and deployed. +- **Backend (Northflank)**: Northflank tracks the GitHub repository and triggers a new build/deployment cycle upon code changes, provided CI checks pass. +- **Secrets**: Production secrets (JWT, S3 keys, DB URIs) are injected at runtime via Northflank Secret Groups and Vercel Environment Variables, never stored in the repository. + +## Environment Variables (Backend) | Variable | Description | Value (Stage) | |----------|-------------|---------------| From 753cfd88b6b88eb7f187641c5a09530f590febca Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Sun, 19 Apr 2026 15:40:12 -0300 Subject: [PATCH 067/104] feat: implement Analytics API --- CLAUDE.md | 115 ++++++++ src/app.module.ts | 2 + src/module/analytics/analytics.controller.ts | 71 +++++ src/module/analytics/analytics.dao.ts | 275 +++++++++++++++++++ src/module/analytics/analytics.module.ts | 23 ++ src/module/analytics/analytics.service.ts | 36 +++ src/module/analytics/analytics.types.ts | 44 +++ src/module/auth/users/UserMapper.ts | 5 +- src/module/auth/users/user.entity.ts | 11 + src/module/auth/users/user.schema.ts | 3 + 10 files changed, 584 insertions(+), 1 deletion(-) create mode 100644 CLAUDE.md create mode 100644 src/module/analytics/analytics.controller.ts create mode 100644 src/module/analytics/analytics.dao.ts create mode 100644 src/module/analytics/analytics.module.ts create mode 100644 src/module/analytics/analytics.service.ts create mode 100644 src/module/analytics/analytics.types.ts diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..2db8b19 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,115 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Commands + +```bash +npm run start:dev # Development with watch mode +npm run build # Compile TypeScript to dist/ +npm run start:prod # Run compiled app (dist/main) +npm run test # Jest unit tests +npm run test:watch # Jest in watch mode +npm run test:cov # Coverage report +npm run test:e2e # End-to-end tests +npm run lint # ESLint with auto-fix +npm run format # Prettier formatting +``` + +Run a single test file: +```bash +npx jest src/module/auth/auth.service.spec.ts +``` + +Start local infrastructure (MongoDB + Garage S3): +```bash +docker-compose up -d +bash ../init-garage.sh # First time only +``` + +## Architecture + +All API routes are prefixed with `/v1`. Swagger at `/v1/docs`. Port 3000. + +### Module structure + +Every module under `src/module/` follows a strict 4-layer pattern: + +``` +controller → service → DAO → schema +``` + +- **controller**: HTTP entry; delegates all logic to service +- **service**: orchestrates domain logic and calls DAOs +- **DAO**: thin Mongoose wrapper; CRUD only, no business logic +- **schema**: `@Schema` class with `@Prop` decorators; has static `collectionName()` +- **entities/**: rich domain classes with business methods + Builder classes +- **persistence/**: Mappers (entity↔template), DAOs, schemas + +**Mapper pattern** — every entity has `toEntity(doc)` and `toTemplate(entity)` static methods to convert between MongoDB documents and domain objects. Never pass raw Mongoose docs to services. + +### Auth + +JWT via Passport. Login returns `{ access_token }`. Token payload: `{ username, sub, role }`. Expiry: 1 day. + +Guards: +- `JwtAuthGuard` — validates JWT signature and expiry +- `RolesGuard` — checks `@Roles()` decorator metadata against `request.user.role` +- Both guards must be applied together for role-restricted routes + +Roles: `UserRole.Admin` and `UserRole.Volunteer` (stored in User document and JWT). + +Registration flow: user created with `verified: false` → email sent with UUID token → `POST /auth/verify-email` → sets `verified: true`. + +### Gamification engine + +Located in `src/module/gamification/entities/engine/`. Strategy + Factory pattern — engines are swappable per project config. + +**Points engines** (`gamification/`): +- `BasicPointsEngine` — fixed points per rule match +- `ElasticPointsEngine` — weighted points: `w = 1 + a × d` where `a` = contribution ratio, `d` = distance-to-leader normalizer; rewards engaged users who are behind the leader + +**Badge engine**: `BasicBadgeEngine` — grants badges when checkin count matches rule threshold + +**Leaderboard engines**: `PointsFirstLBEngine` (sort by points), `BadgesFirstLBEngine` (sort by badges count, then points) + +`GamificationEngineFactory` instantiates the correct strategy based on project config. + +**Recommendation engines** (`recommendation/`): `SimpleRecommendationEngine` and `AdaptiveRecommendationEngine` (rating-based); both implement `IRecommendationEngine`. + +### Game lifecycle (`checkin` module) + +`Game.play(checkin)` runs the state machine on each checkin: +1. `pointsEngine.reward()` → compute new points +2. Replace old user instance in users list with updated one (stale-copy update, needed before leaderboard build) +3. `badgeEngine.newBadgesFor()` → compute earned badges +4. `leaderboardEngine.build()` → rank all users +5. Returns `GameStatus { newPoints, newBadges, newLeaderboard }` + +`GameBuilder` uses a fluent API; `build()` throws if required fields are missing. + +`CheckinService.create()` wires everything: fetches project/users/tasks, uploads images, builds `Game`, calls `game.play()`, persists `Checkin` + `Move`, updates user's `GameProfile`. + +### Multi-project scoring + +Users have a `gameProfiles[]` array — one `GameProfile` per project (`{ projectId, points, badges[], active }`). This isolates scoring across projects. `user.subscribeToProject()` creates a profile; `unsubscribeFromProject()` deactivates it. + +### Rule matching + +`PointRule` and `BadgeRule` have `match*()` methods. Rules match on `taskType`, `areaId`, and `timeIntervalId`. The value `'Cualquiera'` acts as a wildcard. This enables declarative configuration without custom engine logic. + +### GeoJSON areas + +Projects store areas as GeoJSON `FeatureCollection`. Rules reference areas by ID in GeoJSON properties. `GeoUtils.isPointInPolygon()` (Turf.js) validates checkin coordinates against polygon boundaries. + +### Environment config + +`.env.development` or `.env.production` loaded at startup based on `NODE_ENV`. Key vars: + +``` +DB_CONNECTION # MongoDB URI +JWT_SECRET +FRONTEND_URL +S3_ENDPOINT, S3_ACCESS_KEY, S3_SECRET_KEY, S3_BUCKET, S3_REGION +K, RECOMMENDATION_LIMIT, MAX_STARS_AMOUNT, NEUTRAL_SCORE # Gamification tuning +``` diff --git a/src/app.module.ts b/src/app.module.ts index bcffa00..6af6fbe 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -12,6 +12,7 @@ import { VolunteerModule } from './module/volunteer/volunteer.module'; import { GamificationModule } from './module/gamification/gamification.module'; import { LeaderboardModule } from './module/leaderboard/leaderboard.module'; import { StorageModule } from './module/storage/storage.module'; +import { AnalyticsModule } from './module/analytics/analytics.module'; console.log(process.env.DB_CONNECTION as string); @Module({ @@ -29,6 +30,7 @@ console.log(process.env.DB_CONNECTION as string); GamificationModule, LeaderboardModule, StorageModule, + AnalyticsModule, ], controllers: [AppController], providers: [AppService], diff --git a/src/module/analytics/analytics.controller.ts b/src/module/analytics/analytics.controller.ts new file mode 100644 index 0000000..2674dcc --- /dev/null +++ b/src/module/analytics/analytics.controller.ts @@ -0,0 +1,71 @@ +import { Controller, Get, Query, UseGuards } from '@nestjs/common'; +import { AnalyticsService } from './analytics.service'; +import { + ActiveUsersSeries, + ContributionRate, + Granularity, + PointsSeries, + StrategyBreakdown, + SummaryStats, + TimeSeries, +} from './analytics.types'; +import { JwtAuthGuard } from '../auth/auth.guard'; +import { RolesGuard } from '../auth/roles.guard'; +import { Roles } from '../auth/role.decorator'; +import { UserRole } from '../auth/users/user.schema'; + +@Controller('analytics') +@UseGuards(JwtAuthGuard, RolesGuard) +@Roles(UserRole.Admin) +export class AnalyticsController { + constructor(private readonly analyticsService: AnalyticsService) {} + + @Get('checkins-over-time') + getCheckinsOverTime( + @Query('projectId') projectId?: string, + @Query('granularity') granularity: Granularity = 'week', + ): Promise { + return this.analyticsService.getCheckinsOverTime(projectId, granularity); + } + + @Get('active-users-over-time') + getActiveUsersOverTime( + @Query('projectId') projectId?: string, + @Query('granularity') granularity: Granularity = 'week', + ): Promise { + return this.analyticsService.getActiveUsersOverTime(projectId, granularity); + } + + @Get('by-strategy') + getByStrategy(): Promise { + return this.analyticsService.getByStrategy(); + } + + @Get('points-over-time') + getPointsOverTime( + @Query('projectId') projectId?: string, + @Query('granularity') granularity: Granularity = 'week', + ): Promise { + return this.analyticsService.getPointsOverTime(projectId, granularity); + } + + @Get('contribution-rate') + getContributionRate( + @Query('projectId') projectId?: string, + ): Promise { + return this.analyticsService.getContributionRate(projectId); + } + + @Get('badge-acquisition-over-time') + getBadgeAcquisitionOverTime( + @Query('projectId') projectId?: string, + @Query('granularity') granularity: Granularity = 'week', + ): Promise { + return this.analyticsService.getBadgeAcquisitionOverTime(projectId, granularity); + } + + @Get('summary') + getSummary(): Promise { + return this.analyticsService.getSummary(); + } +} diff --git a/src/module/analytics/analytics.dao.ts b/src/module/analytics/analytics.dao.ts new file mode 100644 index 0000000..f16f88b --- /dev/null +++ b/src/module/analytics/analytics.dao.ts @@ -0,0 +1,275 @@ +import { Injectable } from '@nestjs/common'; +import { InjectModel } from '@nestjs/mongoose'; +import { Model, Document } from 'mongoose'; +import { CheckInDocument, CheckInTemplate } from '../checkin/persistence/checkin.schema'; +import { MoveDocument, MoveTemplate } from '../checkin/persistence/move.schema'; +import { ProjectDocument, ProjectTemplate } from '../project/persistence/project.schema'; +import { UserDocument, UserTemplate } from '../auth/users/user.schema'; +import { + ActiveUsersSeries, + ContributionRate, + Granularity, + PointsSeries, + StrategyBreakdown, + SummaryStats, + TimeSeries, +} from './analytics.types'; + +@Injectable() +export class AnalyticsDao { + constructor( + @InjectModel(CheckInTemplate.collectionName()) + private readonly checkinModel: Model, + + @InjectModel(MoveTemplate.collectionName()) + private readonly moveModel: Model, + + @InjectModel(ProjectTemplate.collectionName()) + private readonly projectModel: Model, + + @InjectModel(UserTemplate.collectionName()) + private readonly userModel: Model, + ) {} + + private buildDateBucket(granularity: Granularity, field: string) { + const d = `$${field}`; + if (granularity === 'day') { + return { $dateToString: { format: '%Y-%m-%d', date: d } }; + } + if (granularity === 'week') { + return { + $dateFromParts: { + isoWeekYear: { $isoWeekYear: d }, + isoWeek: { $isoWeek: d }, + isoDayOfWeek: 1, + }, + }; + } + return { $dateToString: { format: '%Y-%m-01', date: d } }; + } + + private lookupByStringId(from: string, localField: string, as: string) { + return { + $lookup: { + from, + let: { refId: `$${localField}` }, + pipeline: [ + { $match: { $expr: { $eq: [{ $toString: '$_id' }, '$$refId'] } } }, + ], + as, + }, + }; + } + + private projectMatch(projectId?: string) { + return projectId ? [{ $match: { projectId } }] : []; + } + + async checkinsOverTime(projectId: string | undefined, granularity: Granularity): Promise { + return this.checkinModel.aggregate([ + ...this.projectMatch(projectId), + { + $group: { + _id: this.buildDateBucket(granularity, 'datetime'), + count: { $sum: 1 }, + }, + }, + { $sort: { _id: 1 } }, + { $project: { _id: 0, period: '$_id', count: 1 } }, + ]); + } + + async activeUsersOverTime(projectId: string | undefined, granularity: Granularity): Promise { + return this.checkinModel.aggregate([ + ...this.projectMatch(projectId), + { + $group: { + _id: { + period: this.buildDateBucket(granularity, 'datetime'), + userId: '$userId', + }, + }, + }, + { + $group: { + _id: '$_id.period', + uniqueUsers: { $sum: 1 }, + }, + }, + { $sort: { _id: 1 } }, + { $project: { _id: 0, period: '$_id', uniqueUsers: 1 } }, + ]); + } + + async byStrategy(): Promise { + return this.checkinModel.aggregate([ + this.lookupByStringId(ProjectTemplate.collectionName(), 'projectId', 'project'), + { $unwind: '$project' }, + { + $lookup: { + from: MoveTemplate.collectionName(), + let: { cid: { $toString: '$_id' } }, + pipeline: [ + { $match: { $expr: { $eq: ['$checkinId', '$$cid'] } } }, + ], + as: 'move', + }, + }, + { $unwind: { path: '$move', preserveNullAndEmptyArrays: true } }, + { + $group: { + _id: '$projectId', + projectName: { $first: '$project.name' }, + gamificationStrategy: { $first: '$project.gamificationStrategy' }, + recommendationStrategy: { $first: '$project.recommendationStrategy' }, + leaderboardStrategy: { $first: '$project.leaderboardStrategy' }, + checkinCount: { $sum: 1 }, + totalPoints: { $sum: { $ifNull: ['$move.newPoints', 0] } }, + users: { $addToSet: '$userId' }, + }, + }, + { + $project: { + _id: 0, + projectId: '$_id', + projectName: 1, + gamificationStrategy: 1, + recommendationStrategy: 1, + leaderboardStrategy: 1, + checkinCount: 1, + avgPointsPerCheckin: { + $cond: [ + { $eq: ['$checkinCount', 0] }, + 0, + { $divide: ['$totalPoints', '$checkinCount'] }, + ], + }, + activeUsers: { $size: '$users' }, + }, + }, + ]); + } + + async pointsOverTime(projectId: string | undefined, granularity: Granularity): Promise { + return this.moveModel.aggregate([ + ...(projectId + ? [ + this.lookupByStringId(CheckInTemplate.collectionName(), 'checkinId', 'checkin'), + { $unwind: '$checkin' }, + { $match: { 'checkin.projectId': projectId } }, + ] + : []), + { + $group: { + _id: this.buildDateBucket(granularity, 'timestamp'), + totalPoints: { $sum: '$newPoints' }, + checkinCount: { $sum: 1 }, + }, + }, + { $sort: { _id: 1 } }, + { + $project: { + _id: 0, + period: '$_id', + totalPoints: 1, + avgPointsPerCheckin: { + $cond: [ + { $eq: ['$checkinCount', 0] }, + 0, + { $divide: ['$totalPoints', '$checkinCount'] }, + ], + }, + }, + }, + ]); + } + + async contributionRate(projectId?: string): Promise { + return this.checkinModel.aggregate([ + ...this.projectMatch(projectId), + { + $group: { + _id: '$projectId', + total: { $sum: 1 }, + withContribution: { + $sum: { $cond: [{ $gt: [{ $strLenCP: '$contributesTo' }, 0] }, 1, 0] }, + }, + }, + }, + { + $lookup: { + from: ProjectTemplate.collectionName(), + let: { pid: '$_id' }, + pipeline: [ + { $match: { $expr: { $eq: [{ $toString: '$_id' }, '$$pid'] } } }, + ], + as: 'project', + }, + }, + { $unwind: '$project' }, + { + $project: { + _id: 0, + projectId: '$_id', + projectName: '$project.name', + total: 1, + withContribution: 1, + rate: { + $cond: [ + { $eq: ['$total', 0] }, + 0, + { $divide: ['$withContribution', '$total'] }, + ], + }, + }, + }, + ]); + } + + async badgeAcquisitionOverTime(projectId: string | undefined, granularity: Granularity): Promise { + return this.moveModel.aggregate([ + ...(projectId + ? [ + this.lookupByStringId(CheckInTemplate.collectionName(), 'checkinId', 'checkin'), + { $unwind: '$checkin' }, + { $match: { 'checkin.projectId': projectId } }, + ] + : []), + { $unwind: '$newBadges' }, + { + $group: { + _id: this.buildDateBucket(granularity, 'timestamp'), + count: { $sum: 1 }, + }, + }, + { $sort: { _id: 1 } }, + { $project: { _id: 0, period: '$_id', count: 1 } }, + ]); + } + + async summary(): Promise { + const [checkins, activeUsers, badgesResult, pointsResult] = await Promise.all([ + this.checkinModel.countDocuments(), + this.checkinModel.distinct('userId'), + this.moveModel.aggregate([ + { $unwind: '$newBadges' }, + { $count: 'total' }, + ]), + this.moveModel.aggregate([ + { $group: { _id: null, total: { $sum: '$newPoints' } } }, + ]), + ]); + + const contributionData = await this.contributionRate(); + const totalContrib = contributionData.reduce((s, p) => s + p.withContribution, 0); + const totalAll = contributionData.reduce((s, p) => s + p.total, 0); + + return { + totalCheckins: checkins, + totalActiveUsers: activeUsers.length, + overallContributionRate: totalAll === 0 ? 0 : totalContrib / totalAll, + totalBadgesEarned: badgesResult[0]?.total ?? 0, + totalPointsAwarded: pointsResult[0]?.total ?? 0, + }; + } +} diff --git a/src/module/analytics/analytics.module.ts b/src/module/analytics/analytics.module.ts new file mode 100644 index 0000000..0521384 --- /dev/null +++ b/src/module/analytics/analytics.module.ts @@ -0,0 +1,23 @@ +import { Module } from '@nestjs/common'; +import { MongooseModule } from '@nestjs/mongoose'; +import { AnalyticsController } from './analytics.controller'; +import { AnalyticsService } from './analytics.service'; +import { AnalyticsDao } from './analytics.dao'; +import { CheckInSchema, CheckInTemplate } from '../checkin/persistence/checkin.schema'; +import { MoveSchema, MoveTemplate } from '../checkin/persistence/move.schema'; +import { ProjectSchema, ProjectTemplate } from '../project/persistence/project.schema'; +import { UserSchema, UserTemplate } from '../auth/users/user.schema'; + +@Module({ + imports: [ + MongooseModule.forFeature([ + { name: CheckInTemplate.collectionName(), schema: CheckInSchema }, + { name: MoveTemplate.collectionName(), schema: MoveSchema }, + { name: ProjectTemplate.collectionName(), schema: ProjectSchema }, + { name: UserTemplate.collectionName(), schema: UserSchema }, + ]), + ], + controllers: [AnalyticsController], + providers: [AnalyticsService, AnalyticsDao], +}) +export class AnalyticsModule {} diff --git a/src/module/analytics/analytics.service.ts b/src/module/analytics/analytics.service.ts new file mode 100644 index 0000000..20856b1 --- /dev/null +++ b/src/module/analytics/analytics.service.ts @@ -0,0 +1,36 @@ +import { Injectable } from '@nestjs/common'; +import { AnalyticsDao } from './analytics.dao'; +import { Granularity } from './analytics.types'; + +@Injectable() +export class AnalyticsService { + constructor(private readonly analyticsDao: AnalyticsDao) {} + + getCheckinsOverTime(projectId?: string, granularity?: Granularity) { + return this.analyticsDao.checkinsOverTime(projectId, granularity ?? 'week'); + } + + getActiveUsersOverTime(projectId?: string, granularity?: Granularity) { + return this.analyticsDao.activeUsersOverTime(projectId, granularity ?? 'week'); + } + + getByStrategy() { + return this.analyticsDao.byStrategy(); + } + + getPointsOverTime(projectId?: string, granularity?: Granularity) { + return this.analyticsDao.pointsOverTime(projectId, granularity ?? 'week'); + } + + getContributionRate(projectId?: string) { + return this.analyticsDao.contributionRate(projectId); + } + + getBadgeAcquisitionOverTime(projectId?: string, granularity?: Granularity) { + return this.analyticsDao.badgeAcquisitionOverTime(projectId, granularity ?? 'week'); + } + + getSummary() { + return this.analyticsDao.summary(); + } +} diff --git a/src/module/analytics/analytics.types.ts b/src/module/analytics/analytics.types.ts new file mode 100644 index 0000000..0efa4d8 --- /dev/null +++ b/src/module/analytics/analytics.types.ts @@ -0,0 +1,44 @@ +export type Granularity = 'day' | 'week' | 'month'; + +export interface TimeSeries { + period: string; // ISO date string of the bucket start + count: number; +} + +export interface ActiveUsersSeries { + period: string; + uniqueUsers: number; +} + +export interface StrategyBreakdown { + gamificationStrategy: string; + recommendationStrategy: string; + leaderboardStrategy: string; + projectId: string; + projectName: string; + checkinCount: number; + avgPointsPerCheckin: number; + activeUsers: number; +} + +export interface PointsSeries { + period: string; + totalPoints: number; + avgPointsPerCheckin: number; +} + +export interface ContributionRate { + projectId: string; + projectName: string; + total: number; + withContribution: number; + rate: number; // 0–1 +} + +export interface SummaryStats { + totalCheckins: number; + totalActiveUsers: number; // users with at least 1 checkin + overallContributionRate: number; + totalBadgesEarned: number; + totalPointsAwarded: number; +} diff --git a/src/module/auth/users/UserMapper.ts b/src/module/auth/users/UserMapper.ts index 99dc715..28cd421 100644 --- a/src/module/auth/users/UserMapper.ts +++ b/src/module/auth/users/UserMapper.ts @@ -14,7 +14,9 @@ export class UserMapper { userDocument._id, userDocument.gameProfiles, userDocument.contributions, - [], + [], // ratings + [], // checkins + userDocument.createdAt, ); } @@ -31,6 +33,7 @@ export class UserMapper { resetToken: user.resetToken, gameProfiles: user.gameProfiles, contributions: user.contributions, + createdAt: user.createdAt, ratings: user.ratings.map((r) => ({ score: r.score, checkinId: r.checkinId, diff --git a/src/module/auth/users/user.entity.ts b/src/module/auth/users/user.entity.ts index 1179101..d350d00 100644 --- a/src/module/auth/users/user.entity.ts +++ b/src/module/auth/users/user.entity.ts @@ -49,6 +49,14 @@ export class User { return this._contributions; } + get createdAt(): Date { + return this._createdAt; + } + + set createdAt(value: Date) { + this._createdAt = value; + } + get gameProfiles(): GameProfile[] { return this._gameProfiles; } @@ -74,6 +82,7 @@ export class User { private _resetToken: string; private _ratings: UserRating[]; private _checkins: Checkin[]; + private _createdAt: Date; constructor( completeName: string, @@ -88,6 +97,7 @@ export class User { contributions: string[] = [], ratings: UserRating[] = [], checkins: Checkin[] = [], + createdAt: Date = new Date(), ) { this._completeName = completeName; this._username = username; @@ -101,6 +111,7 @@ export class User { this._contributions = contributions; this._ratings = ratings; this._checkins = checkins; + this._createdAt = createdAt; } get password(): string { diff --git a/src/module/auth/users/user.schema.ts b/src/module/auth/users/user.schema.ts index f103a96..32a662d 100644 --- a/src/module/auth/users/user.schema.ts +++ b/src/module/auth/users/user.schema.ts @@ -42,6 +42,9 @@ export class UserTemplate { @Prop({ required: true }) password: string; // Contraseña (hash) + @Prop({ type: Date, default: Date.now }) + createdAt: Date; + @Prop({ default: null }) profile_image: string; // Imagen de perfil (puede ser una URL) From 13228181582d514150fd09c7e2fc4be545e89eff Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Tue, 21 Apr 2026 22:30:44 -0300 Subject: [PATCH 068/104] fix(backend): support projectId filter in summary endpoint --- src/module/analytics/analytics.controller.ts | 6 ++-- src/module/analytics/analytics.dao.ts | 32 ++++++++++++++------ src/module/analytics/analytics.service.ts | 4 +-- 3 files changed, 29 insertions(+), 13 deletions(-) diff --git a/src/module/analytics/analytics.controller.ts b/src/module/analytics/analytics.controller.ts index 2674dcc..6714ab7 100644 --- a/src/module/analytics/analytics.controller.ts +++ b/src/module/analytics/analytics.controller.ts @@ -65,7 +65,9 @@ export class AnalyticsController { } @Get('summary') - getSummary(): Promise { - return this.analyticsService.getSummary(); + getSummary( + @Query('projectId') projectId?: string, + ): Promise { + return this.analyticsService.getSummary(projectId); } } diff --git a/src/module/analytics/analytics.dao.ts b/src/module/analytics/analytics.dao.ts index f16f88b..22664ad 100644 --- a/src/module/analytics/analytics.dao.ts +++ b/src/module/analytics/analytics.dao.ts @@ -103,11 +103,11 @@ export class AnalyticsDao { async byStrategy(): Promise { return this.checkinModel.aggregate([ - this.lookupByStringId(ProjectTemplate.collectionName(), 'projectId', 'project'), + this.lookupByStringId('projects', 'projectId', 'project'), { $unwind: '$project' }, { $lookup: { - from: MoveTemplate.collectionName(), + from: 'moves', let: { cid: { $toString: '$_id' } }, pipeline: [ { $match: { $expr: { $eq: ['$checkinId', '$$cid'] } } }, @@ -154,7 +154,7 @@ export class AnalyticsDao { return this.moveModel.aggregate([ ...(projectId ? [ - this.lookupByStringId(CheckInTemplate.collectionName(), 'checkinId', 'checkin'), + this.lookupByStringId('checkins', 'checkinId', 'checkin'), { $unwind: '$checkin' }, { $match: { 'checkin.projectId': projectId } }, ] @@ -198,7 +198,7 @@ export class AnalyticsDao { }, { $lookup: { - from: ProjectTemplate.collectionName(), + from: 'projects', let: { pid: '$_id' }, pipeline: [ { $match: { $expr: { $eq: [{ $toString: '$_id' }, '$$pid'] } } }, @@ -230,7 +230,7 @@ export class AnalyticsDao { return this.moveModel.aggregate([ ...(projectId ? [ - this.lookupByStringId(CheckInTemplate.collectionName(), 'checkinId', 'checkin'), + this.lookupByStringId('checkins', 'checkinId', 'checkin'), { $unwind: '$checkin' }, { $match: { 'checkin.projectId': projectId } }, ] @@ -247,20 +247,34 @@ export class AnalyticsDao { ]); } - async summary(): Promise { + async summary(projectId?: string): Promise { const [checkins, activeUsers, badgesResult, pointsResult] = await Promise.all([ - this.checkinModel.countDocuments(), - this.checkinModel.distinct('userId'), + this.checkinModel.countDocuments(projectId ? { projectId } : {}), + this.checkinModel.distinct('userId', projectId ? { projectId } : {}), this.moveModel.aggregate([ + ...(projectId + ? [ + this.lookupByStringId('checkins', 'checkinId', 'checkin'), + { $unwind: '$checkin' }, + { $match: { 'checkin.projectId': projectId } }, + ] + : []), { $unwind: '$newBadges' }, { $count: 'total' }, ]), this.moveModel.aggregate([ + ...(projectId + ? [ + this.lookupByStringId('checkins', 'checkinId', 'checkin'), + { $unwind: '$checkin' }, + { $match: { 'checkin.projectId': projectId } }, + ] + : []), { $group: { _id: null, total: { $sum: '$newPoints' } } }, ]), ]); - const contributionData = await this.contributionRate(); + const contributionData = await this.contributionRate(projectId); const totalContrib = contributionData.reduce((s, p) => s + p.withContribution, 0); const totalAll = contributionData.reduce((s, p) => s + p.total, 0); diff --git a/src/module/analytics/analytics.service.ts b/src/module/analytics/analytics.service.ts index 20856b1..e953cca 100644 --- a/src/module/analytics/analytics.service.ts +++ b/src/module/analytics/analytics.service.ts @@ -30,7 +30,7 @@ export class AnalyticsService { return this.analyticsDao.badgeAcquisitionOverTime(projectId, granularity ?? 'week'); } - getSummary() { - return this.analyticsDao.summary(); + getSummary(projectId?: string) { + return this.analyticsDao.summary(projectId); } } From 62b3c6ef3e8464852f03b385fd805fb9118c4713 Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Sat, 25 Apr 2026 18:47:48 -0300 Subject: [PATCH 069/104] feat(05-01): add startDate/endDate query params to analytics controller - Add @Query('startDate') and @Query('endDate') to getCheckinsOverTime - Add @Query('startDate') and @Query('endDate') to getActiveUsersOverTime - Add @Query('startDate') and @Query('endDate') to getPointsOverTime - Add @Query('startDate') and @Query('endDate') to getBadgeAcquisitionOverTime - Add @Query('startDate') and @Query('endDate') to getSummary - Pass startDate/endDate through to corresponding service methods --- src/module/analytics/analytics.controller.ts | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/module/analytics/analytics.controller.ts b/src/module/analytics/analytics.controller.ts index 6714ab7..f11bef1 100644 --- a/src/module/analytics/analytics.controller.ts +++ b/src/module/analytics/analytics.controller.ts @@ -24,16 +24,20 @@ export class AnalyticsController { getCheckinsOverTime( @Query('projectId') projectId?: string, @Query('granularity') granularity: Granularity = 'week', + @Query('startDate') startDate?: string, + @Query('endDate') endDate?: string, ): Promise { - return this.analyticsService.getCheckinsOverTime(projectId, granularity); + return this.analyticsService.getCheckinsOverTime(projectId, granularity, startDate, endDate); } @Get('active-users-over-time') getActiveUsersOverTime( @Query('projectId') projectId?: string, @Query('granularity') granularity: Granularity = 'week', + @Query('startDate') startDate?: string, + @Query('endDate') endDate?: string, ): Promise { - return this.analyticsService.getActiveUsersOverTime(projectId, granularity); + return this.analyticsService.getActiveUsersOverTime(projectId, granularity, startDate, endDate); } @Get('by-strategy') @@ -45,8 +49,10 @@ export class AnalyticsController { getPointsOverTime( @Query('projectId') projectId?: string, @Query('granularity') granularity: Granularity = 'week', + @Query('startDate') startDate?: string, + @Query('endDate') endDate?: string, ): Promise { - return this.analyticsService.getPointsOverTime(projectId, granularity); + return this.analyticsService.getPointsOverTime(projectId, granularity, startDate, endDate); } @Get('contribution-rate') @@ -60,14 +66,18 @@ export class AnalyticsController { getBadgeAcquisitionOverTime( @Query('projectId') projectId?: string, @Query('granularity') granularity: Granularity = 'week', + @Query('startDate') startDate?: string, + @Query('endDate') endDate?: string, ): Promise { - return this.analyticsService.getBadgeAcquisitionOverTime(projectId, granularity); + return this.analyticsService.getBadgeAcquisitionOverTime(projectId, granularity, startDate, endDate); } @Get('summary') getSummary( @Query('projectId') projectId?: string, + @Query('startDate') startDate?: string, + @Query('endDate') endDate?: string, ): Promise { - return this.analyticsService.getSummary(projectId); + return this.analyticsService.getSummary(projectId, startDate, endDate); } } From ce0402d2940f3e49c6e1c5c81b4528f35cd01a98 Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Sat, 25 Apr 2026 18:48:38 -0300 Subject: [PATCH 070/104] feat(05-01): add date-range filtering to analytics DAO - Add private dateRangeMatch helper: returns $match stage for date field - Add private buildDateFilter helper: returns filter object for countDocuments/distinct - Update checkinsOverTime to accept startDate/endDate, prepend dateRangeMatch('datetime') - Update activeUsersOverTime to accept startDate/endDate, prepend dateRangeMatch('datetime') - Update pointsOverTime to accept startDate/endDate, prepend dateRangeMatch('timestamp') - Update badgeAcquisitionOverTime to accept startDate/endDate, prepend dateRangeMatch('timestamp') - Update summary to accept startDate/endDate, use buildDateFilter for countDocuments/distinct - endDate is inclusive (set to 23:59:59.999 UTC) --- src/module/analytics/analytics.dao.ts | 47 +++++++++++++++++++++++---- 1 file changed, 40 insertions(+), 7 deletions(-) diff --git a/src/module/analytics/analytics.dao.ts b/src/module/analytics/analytics.dao.ts index 22664ad..33bd694 100644 --- a/src/module/analytics/analytics.dao.ts +++ b/src/module/analytics/analytics.dao.ts @@ -65,9 +65,34 @@ export class AnalyticsDao { return projectId ? [{ $match: { projectId } }] : []; } - async checkinsOverTime(projectId: string | undefined, granularity: Granularity): Promise { + private dateRangeMatch(field: string, startDate?: string, endDate?: string): object[] { + if (!startDate && !endDate) return []; + const cond: Record = {}; + if (startDate) cond.$gte = new Date(startDate); + if (endDate) { + const end = new Date(endDate); + end.setUTCHours(23, 59, 59, 999); + cond.$lte = end; + } + return [{ $match: { [field]: cond } }]; + } + + private buildDateFilter(field: string, startDate?: string, endDate?: string) { + if (!startDate && !endDate) return {}; + const cond: Record = {}; + if (startDate) cond.$gte = new Date(startDate); + if (endDate) { + const end = new Date(endDate); + end.setUTCHours(23, 59, 59, 999); + cond.$lte = end; + } + return { [field]: cond }; + } + + async checkinsOverTime(projectId: string | undefined, granularity: Granularity, startDate?: string, endDate?: string): Promise { return this.checkinModel.aggregate([ ...this.projectMatch(projectId), + ...this.dateRangeMatch('datetime', startDate, endDate), { $group: { _id: this.buildDateBucket(granularity, 'datetime'), @@ -79,9 +104,10 @@ export class AnalyticsDao { ]); } - async activeUsersOverTime(projectId: string | undefined, granularity: Granularity): Promise { + async activeUsersOverTime(projectId: string | undefined, granularity: Granularity, startDate?: string, endDate?: string): Promise { return this.checkinModel.aggregate([ ...this.projectMatch(projectId), + ...this.dateRangeMatch('datetime', startDate, endDate), { $group: { _id: { @@ -150,8 +176,9 @@ export class AnalyticsDao { ]); } - async pointsOverTime(projectId: string | undefined, granularity: Granularity): Promise { + async pointsOverTime(projectId: string | undefined, granularity: Granularity, startDate?: string, endDate?: string): Promise { return this.moveModel.aggregate([ + ...this.dateRangeMatch('timestamp', startDate, endDate), ...(projectId ? [ this.lookupByStringId('checkins', 'checkinId', 'checkin'), @@ -226,8 +253,9 @@ export class AnalyticsDao { ]); } - async badgeAcquisitionOverTime(projectId: string | undefined, granularity: Granularity): Promise { + async badgeAcquisitionOverTime(projectId: string | undefined, granularity: Granularity, startDate?: string, endDate?: string): Promise { return this.moveModel.aggregate([ + ...this.dateRangeMatch('timestamp', startDate, endDate), ...(projectId ? [ this.lookupByStringId('checkins', 'checkinId', 'checkin'), @@ -247,11 +275,15 @@ export class AnalyticsDao { ]); } - async summary(projectId?: string): Promise { + async summary(projectId?: string, startDate?: string, endDate?: string): Promise { + const dateFilter = this.buildDateFilter('datetime', startDate, endDate); + const baseMatch = { ...(projectId ? { projectId } : {}), ...dateFilter }; + const [checkins, activeUsers, badgesResult, pointsResult] = await Promise.all([ - this.checkinModel.countDocuments(projectId ? { projectId } : {}), - this.checkinModel.distinct('userId', projectId ? { projectId } : {}), + this.checkinModel.countDocuments(baseMatch), + this.checkinModel.distinct('userId', baseMatch), this.moveModel.aggregate([ + ...this.dateRangeMatch('timestamp', startDate, endDate), ...(projectId ? [ this.lookupByStringId('checkins', 'checkinId', 'checkin'), @@ -263,6 +295,7 @@ export class AnalyticsDao { { $count: 'total' }, ]), this.moveModel.aggregate([ + ...this.dateRangeMatch('timestamp', startDate, endDate), ...(projectId ? [ this.lookupByStringId('checkins', 'checkinId', 'checkin'), From aa94a62d9dd6d57bd9eb9d11a24080bdcc7dd64b Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Sat, 25 Apr 2026 18:48:51 -0300 Subject: [PATCH 071/104] feat(05-01): pass startDate/endDate through analytics service layer - Update getCheckinsOverTime signature to accept startDate/endDate - Update getActiveUsersOverTime signature to accept startDate/endDate - Update getPointsOverTime signature to accept startDate/endDate - Update getBadgeAcquisitionOverTime signature to accept startDate/endDate - Update getSummary signature to accept startDate/endDate - Pass params through to corresponding DAO methods (thin passthrough) --- src/module/analytics/analytics.service.ts | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/module/analytics/analytics.service.ts b/src/module/analytics/analytics.service.ts index e953cca..54786d7 100644 --- a/src/module/analytics/analytics.service.ts +++ b/src/module/analytics/analytics.service.ts @@ -6,31 +6,31 @@ import { Granularity } from './analytics.types'; export class AnalyticsService { constructor(private readonly analyticsDao: AnalyticsDao) {} - getCheckinsOverTime(projectId?: string, granularity?: Granularity) { - return this.analyticsDao.checkinsOverTime(projectId, granularity ?? 'week'); + getCheckinsOverTime(projectId?: string, granularity?: Granularity, startDate?: string, endDate?: string) { + return this.analyticsDao.checkinsOverTime(projectId, granularity ?? 'week', startDate, endDate); } - getActiveUsersOverTime(projectId?: string, granularity?: Granularity) { - return this.analyticsDao.activeUsersOverTime(projectId, granularity ?? 'week'); + getActiveUsersOverTime(projectId?: string, granularity?: Granularity, startDate?: string, endDate?: string) { + return this.analyticsDao.activeUsersOverTime(projectId, granularity ?? 'week', startDate, endDate); } getByStrategy() { return this.analyticsDao.byStrategy(); } - getPointsOverTime(projectId?: string, granularity?: Granularity) { - return this.analyticsDao.pointsOverTime(projectId, granularity ?? 'week'); + getPointsOverTime(projectId?: string, granularity?: Granularity, startDate?: string, endDate?: string) { + return this.analyticsDao.pointsOverTime(projectId, granularity ?? 'week', startDate, endDate); } getContributionRate(projectId?: string) { return this.analyticsDao.contributionRate(projectId); } - getBadgeAcquisitionOverTime(projectId?: string, granularity?: Granularity) { - return this.analyticsDao.badgeAcquisitionOverTime(projectId, granularity ?? 'week'); + getBadgeAcquisitionOverTime(projectId?: string, granularity?: Granularity, startDate?: string, endDate?: string) { + return this.analyticsDao.badgeAcquisitionOverTime(projectId, granularity ?? 'week', startDate, endDate); } - getSummary(projectId?: string) { - return this.analyticsDao.summary(projectId); + getSummary(projectId?: string, startDate?: string, endDate?: string) { + return this.analyticsDao.summary(projectId, startDate, endDate); } } From 3b6e33f26fb9ea35f08d03c257413c66a8135616 Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Sat, 25 Apr 2026 18:49:37 -0300 Subject: [PATCH 072/104] fix(05-01): fix PipelineStage type for dateRangeMatch return value - Import PipelineStage from mongoose - Change dateRangeMatch return type from object[] to PipelineStage[] - Cast the dynamic-key $match object as PipelineStage to satisfy Mongoose types - Resolves TS2769 type errors in aggregate() calls --- src/module/analytics/analytics.dao.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/module/analytics/analytics.dao.ts b/src/module/analytics/analytics.dao.ts index 33bd694..41f7567 100644 --- a/src/module/analytics/analytics.dao.ts +++ b/src/module/analytics/analytics.dao.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; import { InjectModel } from '@nestjs/mongoose'; -import { Model, Document } from 'mongoose'; +import { Model, Document, PipelineStage } from 'mongoose'; import { CheckInDocument, CheckInTemplate } from '../checkin/persistence/checkin.schema'; import { MoveDocument, MoveTemplate } from '../checkin/persistence/move.schema'; import { ProjectDocument, ProjectTemplate } from '../project/persistence/project.schema'; @@ -65,7 +65,7 @@ export class AnalyticsDao { return projectId ? [{ $match: { projectId } }] : []; } - private dateRangeMatch(field: string, startDate?: string, endDate?: string): object[] { + private dateRangeMatch(field: string, startDate?: string, endDate?: string): PipelineStage[] { if (!startDate && !endDate) return []; const cond: Record = {}; if (startDate) cond.$gte = new Date(startDate); @@ -74,7 +74,7 @@ export class AnalyticsDao { end.setUTCHours(23, 59, 59, 999); cond.$lte = end; } - return [{ $match: { [field]: cond } }]; + return [{ $match: { [field]: cond } } as PipelineStage]; } private buildDateFilter(field: string, startDate?: string, endDate?: string) { From 28e0abf1e3faf7d09a4e58c551cd74edd6dc7423 Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Sat, 25 Apr 2026 20:38:26 -0300 Subject: [PATCH 073/104] docs: add analytics data extraction guide with performance analysis --- docs/_sidebar.md | 1 + docs/analytics-queries.md | 177 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 178 insertions(+) create mode 100644 docs/analytics-queries.md diff --git a/docs/_sidebar.md b/docs/_sidebar.md index f63da08..1ae5670 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -1,2 +1,3 @@ - [Home](README.md) - [Deployment & Infrastructure](deployment.md) +- [Analytics Data Extraction](analytics-queries.md) diff --git a/docs/analytics-queries.md b/docs/analytics-queries.md new file mode 100644 index 0000000..6eb4e94 --- /dev/null +++ b/docs/analytics-queries.md @@ -0,0 +1,177 @@ +# Analytics & Queries + +```mermaid +graph TD + subgraph "Data Sources (MongoDB)" + C[Checkins] + M[Moves] + P[Projects] + end + + subgraph "Aggregation Pipeline" + Filter[Match: Filter by Project/Date] + Lookup[Lookup: Join Collections] + Bucket[Group: Bucket by Day/Week/Month] + Compute[Project: Compute Rates/Averages] + end + + C --> Filter + Filter --> Lookup + M -.->|Join via checkinId| Lookup + P -.->|Join via projectId| Lookup + Lookup --> Bucket + Bucket --> Compute + Compute --> Charts[Dashboard Charts] + + style C fill:#f9f,stroke:#333 + style M fill:#f9f,stroke:#333 + style P fill:#f9f,stroke:#333 + style Charts fill:#00ff00,stroke:#333 +``` + +# Analytics Data Extraction Guide (MongoDB) + +This document explains how data is extracted from MongoDB to power the Rayuela Analytics Dashboard. It details the aggregation pipelines, technical constraints, and data modeling strategies used in the `AnalyticsDao`. + +## 1. Data Model Overview + +The analytics engine primarily queries three collections: + +- **Checkins (`checkins`)**: Recorded events when a volunteer performs a task. + - Key fields: `userId`, `projectId`, `datetime`, `contributesTo`. +- **Moves (`moves`)**: Gamification events associated with a checkin. + - Key fields: `checkinId` (String), `newPoints`, `newBadges`. +- **Projects (`projects`)**: Context for checkins. + - Key fields: `_id` (ObjectId), `name`, `gamificationStrategy`, etc. + +## 2. Technical Constraints & Helpers + +### 2.1 MongoDB Version Compatibility +The environment uses MongoDB versions that may not support `$dateTrunc` (requires 5.0+). To ensure compatibility with MongoDB 3.6+, we use a custom `buildDateBucket` helper. + +**Helper: `buildDateBucket(granularity, field)`** +Groups dates by day, week (ISO), or month using `$dateToString` and `$dateFromParts`. + +```javascript +// Example: Weekly bucket (ISO Monday) +{ + $dateFromParts: { + isoWeekYear: { $isoWeekYear: "$datetime" }, + isoWeek: { $isoWeek: "$datetime" }, + isoDayOfWeek: 1 + } +} +``` + +### 2.2 Type Mismatch Handling (String vs ObjectId) +In the Rayuela schema, `projectId` and `checkinId` are often stored as `String` in secondary collections, while the primary `_id` is an `ObjectId`. Standard `localField/foreignField` lookups fail silently. + +**Helper: `lookupByStringId(from, localField, as)`** +Uses an expressive `$lookup` with `$toString` to match types. + +```javascript +{ + $lookup: { + from: "projects", + let: { refId: "$projectId" }, + pipeline: [ + { $match: { $expr: { $eq: [{ $toString: "$_id" }, "$$refId"] } } } + ], + as: "project" + } +} +``` + +--- + +## 3. Core Aggregation Pipelines + +### 3.1 Checkins Over Time +**Endpoint**: `/analytics/checkins-over-time` +**Goal**: Count checkins grouped by the selected granularity. + +```javascript +[ + { $match: { projectId: "..." } }, // Optional + { $match: { datetime: { $gte: ISODate("..."), $lte: ISODate("...") } } }, // Optional + { + $group: { + _id: buildDateBucket(granularity, "datetime"), + count: { $sum: 1 } + } + }, + { $sort: { _id: 1 } } +] +``` + +### 3.2 Active Users Over Time +**Endpoint**: `/analytics/active-users-over-time` +**Goal**: Count unique `userId`s per time bucket. + +```javascript +[ + { $match: { ... } }, + { + $group: { + _id: { + period: buildDateBucket(granularity, "datetime"), + userId: "$userId" + } + } + }, + { + $group: { + _id: "$_id.period", + uniqueUsers: { $sum: 1 } + } + }, + { $sort: { _id: 1 } } +] +``` + +### 3.3 Strategy Breakdown +**Endpoint**: `/analytics/by-strategy` +**Goal**: Compare project performance (checkins, points, users) based on their active gamification strategies. + +**Pipeline Steps**: +1. **Join Project**: Get strategy metadata. +2. **Join Move**: Get points awarded for each checkin. +3. **Group by Project**: Calculate totals. +4. **Project Results**: Compute `avgPointsPerCheckin` and `activeUsers` (via `$size` of a `$addToSet` array). + +--- + +## 4. Conceptual Execution + +To understand how these queries work, let's take **Checkins Over Time** as an example of the "Filter -> Transform -> Aggregate" flow: + +1. **Filtering (`$match`)**: The database first narrows down the documents. Instead of looking at millions of checkins, it only keeps those belonging to a specific `projectId` or within a `startDate`/`endDate` range. **Conceptual thought: "Only give me checkins from Project A in 2024."** +2. **Bucketization (`$group._id`)**: This is the most complex step. The query looks at each checkin's `datetime` (e.g., `2024-05-15T14:30:00Z`) and "truncates" it into a bucket. If the granularity is "month", every checkin in May 2024 gets the same ID: `2024-05-01`. **Conceptual thought: "Put every checkin into a box labeled with its month."** +3. **Counting (`$sum: 1`)**: Once the "boxes" (buckets) are created, the database counts how many checkins are inside each one. **Conceptual thought: "Count the items in each box."** +4. **Sorting (`$sort`)**: Finally, the buckets are ordered by date so the dashboard can draw a continuous line from past to present. + +--- + +## 5. Performance Analysis & Warnings + +As the platform scales to **thousands or millions of records**, certain queries will degrade significantly. Developers should be aware of the following bottlenecks: + +### 5.1 The "Cross-Collection" Penalty (`$lookup`) +Queries like **Points Over Time** or **Badge Acquisition** are the most dangerous. Because `Moves` do not store `projectId`, we must perform a `$lookup` join to the `Checkins` collection for every single Move to filter by project. +- **Risk**: If there are 1 million Moves, the database might perform 1 million lookups. +- **Warning**: These queries will become extremely slow unless `checkinId` is indexed in the `moves` collection and `projectId` is indexed in `checkins`. + +### 5.2 Array Expansion Memory Leak (`$unwind`) +The **Badge Acquisition** query uses `$unwind: "$newBadges"`. +- **Risk**: If a user earns 10 badges in a single checkin, `$unwind` transforms that 1 document into 10 separate documents in-memory. +- **Degradation**: If you are processing 500k checkins and each has several badges, the intermediate data size can explode, potentially hitting MongoDB's 100MB aggregation memory limit. + +### 5.3 Double-Grouping Bottleneck +**Active Users Over Time** groups data twice: first to find unique users per period, and then to count those users. +- **Risk**: The first `$group` creates a unique entry for every user-period combination. If 10,000 users check in daily over a year, that's 3.65 million intermediate entries. +- **Degradation**: This query's execution time grows linearly with the number of unique user interactions. + +### 5.4 Recommendation for Massive Scale +If the data grows to millions of records, we should consider **Pre-aggregation (Materialized Views)**: +- Instead of calculating metrics on the fly, a background task could update a `daily_stats` collection every night. +- The dashboard would then query the 365 rows of `daily_stats` instead of 1,000,000 rows of `checkins`. From 3cdef069aa70d51af72b5c41807dc2d801231876 Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Sat, 25 Apr 2026 22:09:15 -0300 Subject: [PATCH 074/104] docs: add screenshots of the analytics dashboard --- docs/images/analytics-dashboard-1.png | Bin 0 -> 208259 bytes docs/images/analytics-dashboard-2.png | Bin 0 -> 74984 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/images/analytics-dashboard-1.png create mode 100644 docs/images/analytics-dashboard-2.png diff --git a/docs/images/analytics-dashboard-1.png b/docs/images/analytics-dashboard-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5ce1bbba0000c27af0ff02e02c543574b143601b GIT binary patch literal 208259 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ⅆ`D$63Xo@QIvX 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

G@fbWT2Zw| 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 z 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 Fy7$lNf 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%0Ae2RNDIAxs{v{kf=0p5@nYl>*k)TA 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 literal 0 HcmV?d00001 diff --git a/docs/images/analytics-dashboard-2.png b/docs/images/analytics-dashboard-2.png new file mode 100644 index 0000000000000000000000000000000000000000..134222bc4ef2bbe82af1c6c6140ec2e5036941f9 GIT binary patch literal 74984 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 z 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 Date: Sat, 25 Apr 2026 22:16:19 -0300 Subject: [PATCH 075/104] docs: fix screenshots to show the actual analytics dashboard --- docs/images/analytics-dashboard-1.png | Bin 208259 -> 52244 bytes docs/images/analytics-dashboard-2.png | Bin 74984 -> 55074 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/images/analytics-dashboard-1.png b/docs/images/analytics-dashboard-1.png index 5ce1bbba0000c27af0ff02e02c543574b143601b..5033eec7595fb61ed9070e2342b265b1996d0930 100644 GIT binary patch literal 52244 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�abOoK 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ⅆ`D$63Xo@QIvX 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

G@fbWT2Zw| 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 z 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 Fy7$lNf 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%0Ae2RNDIAxs{v{kf=0p5@nYl>*k)TA z{NBP}Gmr5*=OKvt=H>`N*+2TJqyzHf5F)u<3=MZirRtv#La*%{5bO@DS@mYW&5ci> z#hb3!k-Cqea-I3^L$2~kaq>AnI(Xh`?YiX!J+1adu^W*O48k-iT5GpDw$Mz*v$sfI zEK3%jL;8So@$IVGrWct&iDj?=d#4nQg|QzjZ_QW4 zYj});3XknJ9XB9%xAFF-Cz9jDbA}sV?JJfc8CQp35!R1c3^lGWW>64FKII-}@a0PO z>3&r__H%CCF9KR@mb!1WXX5KG^XpmTc)F_}YuWDv@8Q!ST2RhA%90Ffv~+rlrcIM!<~8?+h@iznhh zYaU)&JsVZ|PbtZqC07R7i!`oR6OD{<=Ev7!zKgba%%_`;_p=R5CV0uG-J$r#4PU-n zV+>z}=1u8X54ZDG9zntA00Y8s$|oM0pe4gDId9l2jJzwa^&67Q(6g0Bz^{>U*-vQq z3MdH>bs?{wI$q9S0Coc9E=Xiff{XRkDL<^{5r}+3Otw4D(3hf?&v*pueGpKf_C4-% zfhAq#(ztex>+tJRHA^>d;%yf#nIUuwOFe3D4k|^dzDUO!s5QS{k4!n6f5>p=Ys-kE zSJ}6+Ot8lWA1a(7u2Jrw7GO7`n3t-KZbu6`Hm_A#ZB}^*j$YjW=_x3Pv6dOQJ(9KD zg6mBf1>UVbhNgeUjP0j*-*=0tY}MG2Q845}p+{3GM~-3s*9&kioZ0L4P;j`F8yjG1 zxp*K;Y%JiwhZ#{5Bxzt7@{XvLkyZbO!w;Q5k>*19aa5b_v38>Cc7FN;7N9e?3_Ro~w-VK@&z<-QS8i9hqliz)TEi zD6Wg#%QILPD;b67!IO8@jB_q_zQ27VEdyDscIty;fj?;mBx-mN84WM=6#S8O?%u6J z85u^J{-zrXX|5XIL5wbTX=hc79>Zg9uG}H;P~BRKv%0w<_%@Y>_cMLfeaz%h)Wq%7 z_h^0NO;Y{%DF&qDgMtJR0w++l|M`o;4kxr*X|!a>cCPj8HblMF{G9IFCrp|q?KfR3 zqGD!GRJ!MvjjNE74Y9xfByC|RWSqa?`|C2Ep}_PU3QpTbIl};hzMy_}Vkd44Bt4Iz zpEEjm{0*Myrqy387IXzarDI1vlx;lG_9`h%Qf0&cVQ_8u{V7K1dcDyvT28=BD*|-k zPp;B~Qz^usli%?aoqh?Q^wQgqi7xnDH)QU9lG&(|9rQz=>eE7DrcvT|T`+iG)qNT& z`*G0AEIpJ6=x*fu>%UpAxO4lxxnthWDwB47a9^Y}eUy?b?&wU$+A=YZ|KXT=K zxaUZf^$avH9J7Z#4Z|9!Czwl;KHL5k#5`ingB=a~!k6h}khT}=o`}2un zFuKp7D4>_nS5{V*mL4$^y!re)RquH^xl;x4R7QdTD!1j(!)J4ohDraaz+Z1bv?Ix5otz&Iq_sX>~P$KsCo~0 zLg0Z&s>yPW4*UNLD9RhxH3#x2U~B&Fhabnsub1GS(aT-)yZC}6@iLujrFCRv5WR5< z>g0o{u^>}_56x!yIR%V~9QSgf5apP~-FjHoY9<8aSK~h;?2$berOax=dx-<)>vUyw zB$O9~@iwD@=#z?8CQP*CKK(*qh2>YP(0vj@KoL^$=*L7xHwcD$&Gz?XU`U(HNoGxP z_@hA6n;;cmpnrR!5dATBH7fKN^kBh|Dx;xcvz~*T$Yav1uV`;s_=i4=*X39Z{5mx7 zevf4)M=a!gh=C%1ZPZ4<9O|NUU6Y3#))nVq9|>G5#TS`PKL+GbRY)PAs$L33TlIJY zdU8VIGL36|+m0p7o2OmPyrfx(%3XQ;W?xGVTxFH~$m&GaHNY(~0Pq}v(j~l9Yj$hO zDT1;yfTn9s^*1@JrsLydi6!3HS*u<*R)J0=+uRh~eYD-TU3z{|J$Hv}XX9k`+5YZ=Th?n#PH-AYh1hj zS*dRA(B<}f&!m6lBJU?Qsap}Q_NEVoyOJC^BMig*)^?86;hd$yN`=RX_XDnNL<2_F z=BWa~av^?uECH|;X`H=7x*uF17Uqr|hc+6a`c?EAe8GIrq0iCf)v+b#qTU^{o{xys zEn@P0PMkwbOt{tc2}C=})5DX_3uQUJY6>$j8^N5@h9W^bayDHn)jir0RyDzz{H3T) zZKEQ3e_9@RJj5E-#ODIK>$-;8EKw-o;0^p~S4SY@8sB&1>>;5~cO~tg&U=bhKJJ&F zK!L* zr=>MFhJZJJBE8=&?>7xgYku75Ab5B&Jzo3A<}=ZkhYKIql?FVwGtc+t1HkU#a67n_ zn_HW!@C6?wsAo$Z1?$L|Dn1x8&OmDVRKZYLn#W7ft_36*M@~o;k4SOT5MMOiFI!dL00|Fp5fF$Tr_}?3?^iMKf!#BRqB_@0RCSa8Qb&VJ zVZEx%&HrqYO&+qPjsgfM@zdUc?2p%j#ip0@RtE^z_s0Ptxcrl|GfJzNq40TU-Y7ds zoIxosdkdvto0SItV&xff4H_Yylx5Z=p3lsYW+~2L0+kx20kLYe^T(=baTf7PaimfX z%LQ|TIhnDRLzc#&Ge>Zs>;JOEA8(%CbhFV(tFiQQpER>3X#(_+~c!cwn4u|O+Ve8i-D=am)(fGOxwwJI78*>RPyInARyuK z7Or{}ZB>OBL71D*_Fdz3aE77FXN$;vEQ+idl@O)fvBt4!kA2|9 zrry8-IV&C&c017RU0U-DbyF*Mz9ZObg(qE4R@!J_WLgSf zj`V)5E>pyToYxyz{ds0|$SBTV0h`AoSfobbQCu#|OV771{^kA(JKFVn@srCPsugI% zpD1K&|LFWr!XMxJ?!DZ=mokzS;LSHKKOUeVHM49dG9ur+VZfl&O%HDzDZ+X5k zp*w!DzOgndAH2o*vt|s`{{CeC+*!n4=v`e#rJ~eTNNOKdkXdFfE@OJ|G2fv#SnYU= zPD+np*n6xH&|6vLxTN*#3b#mbHCy z=5gk^yie@)0uRel%RVVjvhg_aCLV=?x)or_Ofm?63PsIlHLPw$FD+s1-iJIF%&ghr z&NOelKrHf52|dtD$}I`j)kM=>?S%P8_59i{nTbnwc2?u(6P}xsWG80O?0nH`&y|Jmygs^mpmoZRd)9OP%7{ zuazczADnCq4i3hk(5_AD`2on!bB)ygsmCQG1R*~5SXfxF1Oavz zGB5xojmyf47WmJkx@bJz8zzA?cODsuVrOSJ_;a*3PWXUkP4DL%D!uF9#UUAKf|Cfs zV}&?>sR1ypkIe-s#fF`-Q&}(I%jl0GohU)}VR$VWI+|YhD|Yoc(~}w0oc?;M?9*PD zi1TksGdL~+4vKtCX{mD(qJf&g1iLH9TD?Sco@`)J2Kvd2!sFKTbgIZsF9DT*BO@cj z(aBMUcYkJsP?6KdMo~iD-#=~6P486ty=|4B`bqraT0X$xuek|JV=)aA9k0VS%rT;a zgTv4ruB-_aB$^|Sg0|MO@i><;Cr?^l-Azrci9PBG=L4n0X5jTipU z-95HP@#`^or>~q(RB4it@OP`3gCfkc>!lGV+z+G5%inOu2x|1-NXDV+O=|eDlH8k zTywm2v0(RpIg(vPX1tj4X-j6F4wCqN8|%StvF4@KC7nz&hb4K9lQ1usvHhfBshF{o zY_-Nqi0!kP=LGT1T!^O<>=GKG{Yo}`Zos%Mi%IGeWT&*$#cwZ(0+Gx)dI^l{ad0HbWgVksfNRV9(*(y{4Cyf{_4}N zCg6xp=qvdgyopVEF8H*$rdRpovojC2cMuJPKG$oIP_BdicX^tBT^57VH5WQ6I{d(p z%FI-@BZd~7^#``zSU1Wd)#v!In{}-JH#0l?yTE{UWyu34k%EI`7XNdLNb+zKuiX5X z9RllrW0xZij0A2dkpv+jT6}!?gWT)m^SGV{!oR0VoC^1GYnrS~)Z*#Aeag#iWcURH z40N7X_?ntqaq)1dd#P`cPm?qL#HFh(PJk=R6_U+;A5#fF@7ts96(%;ky%2Ju9|x`= z4F>@vb7>e}G2M~NI$8*E~8AcZ_D zC1tSx_RqlA7H7npt;g?Uh8zgRN$KJL>jmiiHgL~PNntYykBLD?>7-Yy(5Izv&KC6f zq6}n>O=R+gT6YnpoGFX|Y-}_Hgw6~=WUJ@x{`BikE@Np;E-x2rk22>fKSHwh)q0J= zZkLWwLgUQCfsQqn2Zx!Mx(~NLnQ8i*r`8N%rsp!LPw7dF-&k>x`kq3ZDR-?)iq-QQ zpwZwO*z?0?pl3dyaF*_hJ|!knk8A|$KJ<0F_&Nm9atQI0qdi#vvy%fpljDTC+1Ys< z-zS_c?#Ips*9P-0gNIKqnCnwRh-%&!VYPEtE+f{viM+-t21cK=?KX|~^(R*$7L3hT zDZbG$nbSy*bKcdNv+wMlk;1XTkDw8)wwld2Jk8HnS^rq+63s0xK&c1S?~vyF&5BEW z+0vRQV+!~nx67+l6=K7!uvV0$9VI%$f#qzAa{c~zTlRr?egN+u#2$eYTH5eqdq_h^ znVf`P%R>D6)0Z)sI{{5|xF-osOu7edzu{6#S<&Fcq+jY<8g<)GW$q?}>K7VeG%eK} z#bZckz{7e>NHDwy?YC670}T}#Dy?ssx4)NrBO?5u8z%p{tHHXGJf4}aW@XjYJ$IK@*VOEpwX!aLxVo}; zbgrqdRt3EHqDD48`BCM8&B3tWvac9Qi;HP!nM_53XI70A6n+GF460PC)0GiVhsnBi zi+f7NMHwG=r2qOAlVRRg77!3HIx0g%=k569Rt^ih;e8`(Y)nz0>EZE|D;oL^FiJ@T zz1;z^V=}W|ba?pjLghx2!_Jrf_rs71Jega&7kwiS0A#`+he@#uhJK?1W)Q?~^`fDtp1IK@( z(vQoWx%j3cbcw3+y0b5C#le>R+Z#-+y4X1zV`8137#%#!dF+optzfE9omX9mkFOpG zc=b*QYS^XYvyyPb!^7LzKS0q0@~Z@WHlB@csMq*FaOb#+oG};WeuJ&_jSa?)h4wz_f)+V@ zoQ`!;#53Fy5UlgAUPfgc9pfI`G(^t6wD_KfM^{kt^CM@y@+XD)MqE;Uuod;sw;Je4 zHid=+*1Ea8M}F~2#$9NH2>1ZZ{5PPu-7W0Rh>K3@iT5Sr{>h~&$JX>*dYoJz_V3Lm zG$Ou70yVREuAdTfdX{aqy0m*iiNEgjC*oPY5>Pt=`*vin98H^4%GZnp8MPDY_>MHC z$!27Y%E+LCTHg}(&}0mx6e4{}XWTWkfCEJnHp>c|FkE&uD-$tU8M1T&u0_oS4b9!9 zWVKcv4UZO$xq05@l>^g*-R;F(Q)b;rVj|9_jtWjjfu7-I0!?zR#=)_^YCFA)^yKt| ztJyxVjYIP%pHnQlDAOlRBib}+{p~KKii*!xB@IQ-8Oet3JMB(daK!DML>4@ zReQ|qqTOwwLPs6dw?=7u&qa2Aj5TI4%Ygy)S`I$L;U>|)&iAqlo~)G2FPTB3#`#F8 z0J_Jc(+|?u*OxV!$>Zg*lhjlk>S>?_(rJuS&?*MwWIEbQMM@2vp-Py_h-qasKPLW{ z=~P+AMEse^Ev>dTw;O4l~^$_xK@|sCAoT=$|M2E-Ha`dyC z#u4k>mVj_GQ5AebIzMA24~hKD6GZ-7w|`y;-FmqikKlAkTn+yZ#Gy9(kWMC>y37T3 zr)O7<#399yMXW1@U!O$Dzy=+5_Sf{wjBbu?9{ASus1;M(`G)&(vN!ln;Xq3|diubk zprj^9lf4oP3tZg&2F`{#jyYP3)OFn~jCPTnoz>&N1kmxPf3CUE=47>Pd!M0%|B5(} z#ck(_1g{jFiOuZK&bKr4FVP*oUT(sO2u)J6O;K@1G5LNulXxDPh}cD zk8Zr62YTDv*{O9sTizQ3lRz2^@Tjvoh_}y#s2hzk)+U$xS#-xr>DUQP)oTl1=KO8#t`M z@QIL@8)S0_j~iHird}zApjQ9&Yfje=Hr4P8t2{HaYqSJEAD`CY{4CWj_0Z>Glxs)F zVwjDf9{m4Pjq!!Ir6p2mi6jOWVY)YN=lUJV|=OVJ>g zUjeIVT?{uSd$jSicMwBR1oxq7-Vvfyu!@Fs`9p+$?@x)8UO9wUE$MJ=KArTayQq_> zsFkSExAh#c`9oVP>r(tY0y?X{a2ysd@fecKtSmH_Q1-2F=!Bdo2QNVIVb5b@8V#@&GdylI6El}$K!g4S`x#V*__45^TeQUQPWulDSo+*;|a(B=1**%^s zo19Z{Gc`43A=4-e$~2@gWzVU4Y?lg+BK{6pV|ymD0>fEdSBHI#wSX2yWsOj++F9{i zb4Hgov`%_`WD!Irdd8m} zTXgPC+y|W3K18e7q-=`(3rhRvT(hdnob${2s_oVPhK5ID(*j{< zc{|(YnZ}4A=NMXo_%$aW{GtH0AJkvgV-Fw{^!NMxIh#=6;5MGZfLV86B z7W3`P4hw~w(R;Y$k0UZ(dkbFh-GBB;I7y=@C~$-o72Q(!PFNXy$OkdhXDZj$r?ql2 zw{VCIqEZQ3-77wb$UXnjDvTxS=Qx-*+aZZSt7ov93Ac&j3bs{=_?7Z%ke}a0*S~^@ z>1yC3KL~9AvY5olb>V`QYH zqhe-ceZ1ULS6AmPZQ>Z)^fpjlW1%J&+stdJZ^&;On%G=fnJdk%D5GMoWoR%wvR+YD znO0I-$KGj*v#W>kP;d{9Fw?>?#rx2_pVs@)115mfiKlI`Wt?p@X&c6Z)F7k!AP<DR=eoG~MI0b?r`ea6_=t)7oKMBDoDH!~Ap7!oNJ@ZI*2*}i~CB8=d3 ze}*pCn_Yk}Z9V+9eZHZ`pxx#9vQVZVnM|Vxl0#Tkquu%g14Bh#9vKS@+AQkDmiwk8 zB?V(buc)GM*Edbn0L9cg{ms;1^In{YCMq#6f?9>#56JTtR{gF~I5t1E}ZbB0Y9 zH1zA7B>jJ#XaWKP45vHz{a~BzCe!cWw0(QMKc~hk*xBq_-QL3oaImX;L5$y|B_+9m ziM8+m{MUY7wqFGY2HpciH85tHm_5x3zx`D=4K~mrz5)`zd1xl&Ste3X-O64&&8_r6 z3gPO;8sQBi8lxsp=1c5)OyzWm{csxgg#OqmH#)&LvN}aaHzg~xwIEiL7Ah($AE_+b zP&TtpGGUHnEG{jJ>9nD@G7OBU^F<38C?%MMrB#I)f$C@;F6`>!<6h~N>*+3N|5j5| z3(!Zkvl~XDMJe|wm$_CC@jWy}HT5Ti5`>+b)XpkqIP{R0ZIP5*5<}AcEgm`kW2Uj`qS#F zsx9s9LVpEt$3mo&8S+_|na&fQxeXUS>yQ|S^XEQ!mEgC>WxSmwl%lL53Wa9RIpGsvk_I$;BU518-h48t#x!GCRvbkLl)^L36VGhEolIgU}jf{d= zRykDr)EH#fOF4n4GEdVt4-iTX4UN6}Xk5M3zFfi!zh#l3g8bS zgR0>^ihGc2d+D{3Bp>gJXiCONT4usf;a3Ece0PAuJBkd9>cCKEH?*|I;nYlC9ObPlmB2~G43*M2g)L4-Dg0Q7OBg6o>a+51 zlL7VN?f5}h>QH1vnOqgd4D%a(-^rMlddgLG^3DvctuFL3}jV5|?4q#4Eb)}0p3UPh^ zphJ%-kGo!}zdA^Oycie-S&9*>gDzkXE3vSkva=<-yS6ajobT>3*>3aW`gV8!^3KZ4 zJU>6T6$NCPSZtP<`;1Hj(MS5wMub$;eFcK5c+zV5}mP(R8yQ zAXri^1s(?l-#k1>E3G_iKi}+`?(yFVn3++c6G5)zUtimDw`Vw0Se);v!?L+J+6UWZ zxn8Kt+aW)K|LP#lj$v{eDJ>U)C0|=z&*VZo+u2D>Og+6i%Fa>%a#hr|v{3N*t~aKA zXz$NF)+UxZ#&mOoqz#M|l+@(2GQ2=l3KG);NWF&a6WAVw4H_i9=Ll8*yK?wDV|9kj zvmzwBV$;bXI?y*B5tZoCFy7=yxQ$FuC}ORO#gw~+rtM;r^ada0!5CeEsdP6Li;}(a zsnyiVs{6h+I>h!TQgujk^ogb?HBCh?F|_D8MsWX%5Nl9gryxwO(TuSE7ms8^2gmsD zas-tYl_5|srr%duS~7#lXbdQV>i+tC1A);uFsPd<6i>K@CDtkqy(6)Vh^(@~qL6&` z<`mhoJg26kL&$!gArj)En8TNu0b({@1?K{xh3tyz|JpM#*=uTA^Mst8;lRPchr^6t zoL5#@YHt3@{xvp2+Ov^QM$g^fR6Q#E5+8Nlh`oEnKj{p&flNwD`U6i_=_+NJ3pM$) zp_mgFTGyX2R9jF3jDg&Z(Da67p{B?vCj93nauif4QY}<64Mpi6{A^wi=d}hi;8td3 zMf(6vo){|*^)^tv7`+@MV(Mq_BI20PoRtBkR=^-qiVwAAz=R@LfuIj*^p)!_l28lIYk{CIXtJIw?kOHf`*@o&s> zGP?gyC6rs>esin{^e#iS%wW#vPqMW@fMOC7I9tC3iKL|GMbu?&Z!n&@a; zQws}u6^-?+OdYnB!_I^gW?CM>sw^WT%``Vs`nf~p;^5b88${9LG@tRiK(Ono5_#k< zDGB*l%y!Ky(Bo9Yu%>y=6j68R^Vm)cUNNdnyzn&}$Ct;5z=eeyWZ`!D`ecIF{JBcD zri)Vf0*?GNnWm=D?7)GVI6LOHwzjbacw1W1a}>6QhI)M=RiW*rr6oaPGxvy_(?@Gd z%kQvld3Cd^t7&DL&J5R+xgRabmy8;~oFB6^bdG)v_A+PfSaOw@5KO^im?{-zgowX4 zFmU;()@twQ^s20^+5y$ja9K$G(=y=v_=t{@~4KnG9w{}Z~NlF5NX%zWeKR@>+1TNtyOM7HHT0O%$%gI zSndZdHw$DNz0dht^XoAD-{Q!+=z8Fl#+Ap>7Nw!X0o==z|FS5xUz+PH z@BV5-=FXf}mQZ{Oze=s@yKun0q%MTl?rgxfw}7-eJ2>HTloFF7_RNI5w2hD?d>Va$-{$1E30ZMiAeyKtERR?h11%$#>us!uAbhP z`gCL0T+4tg10UTGfkkkx_jLB~&L^r|eYoTVT+lV~=wq}dgFG~5Yr(%iz$CtMo~^&6 zEpwT3Ir&}Yv#_vuKim!N=z)sDCAlE<;$0p4W=K3?k}oNvBRn>tTU{c!yh}McPAm>z zX^g=HmX(DCbY@jWu`a6tw2HFQvh9Vmk&=^Dg{ZQr%k^eoZ^OSg^BU@E^c||-^nQ4L zbDW=DUWl9b5yrCe?TNYzi;F6X%63+wCXY>$C8k(G-;;f>yHwgkiPMSRQd)w3pPPCq zpxZNb#pQJv&~9iWA|f`4 zjjYYZ|1sDZUpf5z!8LsLqgai_{swY1eduggIEJk8gUJdz|p*7PYJdPd_`q7gGZ+(_vLf_WP!3Yu=@p@VwQe?^DXiM>FXGKQKj05=% zWa87&x#4Sj@`xkeF^s9>BDgiErw)6q9jN!yf+4$=L#|Ku_nZ%q~;7 z^z`(m1}v{aIIuZ%2CS_|<@Ud^Z7}2P(eTB02|GK2Yh_o66-yaP8y_{|RU%^sABll9 z*)&UE(}o^4wr*n8x9=t^yWi?U;oUJXQI83>V>Wu~e&(R&{22eD_EgzeS)foDF<}dt zN5LhD^lCZ29w{i;qot9W&g|qdI=$}en+vos8;;h&=IEj4<(=;T*IHWY*+2B*a1=Q; zF+sq}6lfKFS6)s*U}mDh+hcz5GC|6gU5zfIhSti8{xAW31O;wYX8(Is^h8biyDGaH zryIll>&pu&dddKKF~`d4DN@L>CMNl!O+G zWjk11tUvwv?|r+}H{vqUk90B!;*=++LI$ahNeqms-n;`)ReW;;*$2R z&aBM!H%^7x;$sz675m6sqYQexp-PdSHg zc9_p63Yv>LyBj-i@n!GMqxw?g=Q!eZDck<~06(0SVQp$(Dkq~`PQJcEXo6=_A_#d7 zHkv5zKCr+#Fsopc6rP!_wt}a(rC7AVNRZYxH6f^QcGp6Q9iLr{s<#LASz1^H^#Qyf zKK6c1`o(RgREM>tA?p6t@FFB4yJxkdA5}&CEl3!-q@$x8pPIxlsh>M3MJFPnrkR{XQJAw8dbz*p zf$uddb^?ckjD(F#(AnNS_SK^JhpiuLld|_C&MB`K#I-dS)77nIRaIm6B{oAP^bdK* z4+)9!di&d(7JkvX^M|u_u|{8T@aJ-L21Bj-eBUTM)%|&QNig!`b&U=x9A=Lo36;D%(pbsV2G6u@KJ!F9Ev1jEo=FQ;Gj( zM&!mNG>D8E$O!FxeCSI7#*mC!5=979?YEDP8VUyP`TWcZhi&dwXdF=pq7Drm&A-O8 zfe9?)fv{~)yFVznRu+)!mfe}WlXHvzHb^^vh7b#f;^{W3XueX*?xv?J6N6M{0J=1t zFxd{Psf8<_7tnmE<+kd6e1hse|4KaW6e^|g= zeYlU;`y}3-$vLlUM`5L>+!w#)?QpeMWQhUIdtMAIlP3X1wbZPO+w=Hc{wg<$BFEOJbd?wGc9;(Dxu(UiI$Z3xfP;wfQFja7qyqk zXV)+X6CxvAwc1iu-Q`ylnSch@6EHmeet)KnVqn0NN<~#6Di-*w!ISYV^KdRHP_|1A z(kt5VW`D@D$k4{HU{?scw3wWr!@|}yc8z!;ai`n*110_9>+=OsZ}P$iFVOkp_)B|$ zCEDZx5yuwuyrZ_@ErnJvyR;ZlT2EszOPRV&DXj5+m#k!+?eujOWtS$q)2~`0P&x)q9TBo z@#6{x@qJwL%0*T((ChGEh+vdQ8ZC$B1$^3lG3^)>UM*SidEU~X=SA+g_yqz-(!fpR zpgqTXSlx;d1o?T$AqGY=4*T&xtxUpjv>~*<%azw7=mPzx*;eB>=cfZ%oDZ)zo{t%O zy+fPzC(Y2PxA$K)w&^gz63F^$b(XW0pu%tz8WErz{t)gLgb67EYSTh-%} z^ek*_{y#(`pvS^|w)o0VY*sr7WYG-qHoG31mR#twBW@q}16%+N;`PF6ME85$TZrr? zGRbAo_{~=Jzx&m09p~C+qt&;qD?EXoMQHP3;x^|BC=JDu{ zWoXxv-0?p9=ZDS(Mjc)F@rdxpD+#qY69e>yvv24jCl-Ti=WGWJ14lzg>DM%z4-f2HxEx5-fgvF&DJknK z$C&CO`s_|YP8%DG>UtDFA$mR+d|r%udQ}wG)K88TobJ4jgQ#wr`}l9|fo35OI2%{yiRj z0$MZ_WWE_GzCZr6=Vg1BUbjk$bT&B^WDR>)>rc7Lo%*Bib_KzGAung!Hqm>{@`PvM*4*?gn(l-^{Tf|3H4Y1iD z)@k8kK}0yXlaPSG*ns^zM;ABOLA*;k8R*e6o%idC=XU*lIFjN1CmMWCM_VJM#c7;o zpVy1m=C2p9isNRw{-l+zqnSmE(J#+i5X?NeDnRrVt$>4$PUYGPhkI(WRb>)#x^o)Y z5tLk7IroMF0QiH-z6)tQ*83kW|BOv6s;-ofKuJ&bb-#dl()(>&guL8v7cU}IGP|x424=3r}^XH+%zUZ z-(p9e!OU`Cj2i<6q3Mw&C`I#(@A)LC_V;fICG8&`<#O3bfj?Z``9G*8E#uKK)rw_p z^mtZ)tP5~A=(pvDmk7frDQy8N9U{#Ky6_IJf2)gmLoR z`@3(9vpS$^Y;3M?V^g&@o9;CcpOC;j`d3z{M|NUieh&<-ncr-fA@Q&_I$e1DPWL7Av*d8P{P~6=^Dilor1+0| zim|;p#Aom6Il*yE$aljD1w^`G17TH=_Kdh~{9Ug4|Ut4qb9P$%rX{;uI@kXnQ2?h@)WmvU9%2 z_m>@6x`j|Mb)D@}A^nyI9w(X4&C2>@8kJ3AkXK1V`m>xJx~ZCKouOZTGhzvbI#c-0 z;VE1axVUBh9H_*R5>k(!(cymYgV8^o+3TB=Zf*VYq@ANZr=z|!4v0zyhuanTeuyux zXOfbU(asQ=+)P<)Za{;Ew(YPB^@PteW!9NE*Sjce7MN`8lg;M?EdlpZoE_6?&Eo6 z=Om4@ykPi(+kR~R-@~R6?1g2eoz1Qpv-T`Su1!UEhp$^(7%b-P<8~c$9}GwQLBvrR zIs>JSj~y>~nDnxH6cU*fagAz&?2S}7NHJLJE*KFqTYgem8D*s+wTK~EsWgSG>)-0? z>dVVZe3)wj6?S%V6B9@=F+f*%I|&RQ>Qn z6h9~$4+$H_EiE~l&-gxS(?mNv+rnELbP!MhtN`Nc;@F+uKFH|M*k(?w0`Q%x+n#$s4W@3)P=Y0hvBSl5UebiGEV_aUZEcagK z=BGe+CZQ@d6;%TPzQ-nv)-cg@ZqY$rVdQ>ii?o#V{+_Rfx~e)cWR=yqka zhVQw(qobg=es)w;RU=yYi!z5a&_QQd(^_`Jql4o^&!?=+A43Cj5l|#v*hvB~ZSg%9 z7z-QisS3~XrPjs8CVJS50`CR{!-9;;dEx3B8d?s2v)7i_6?V1j?eFTWN-1Iy>Hex0 zv_ypzLI;VUd!IYr^SVs*v+T2Y6WOb08B4g6l^{*`;fA6^K{WgV@?8w7f2ysx^ud^= zagr7pwTS07>hgPi++C^cCO|wQ0%rqqburTty?hVhk$pJXw*jTt;TFc$)|MU-zgx{~ z_(l+n3NKq5s~T*L$u4$=1Z%YwNq!k^7xL{O(SiR!F5q3m?#XfUD(~y^`m?=C~*DT=IC-mA0U+hWZfsdG8kWe!Oq{EG;csv?k68aB9B2 zJ(j}SqhOkN9eTn|h2`PlH-(pXUpGG=7GSt!@UsWK_-0?k73hUuhKzty}bhOXLs6Akctu?xA&Y z7RqZ#A!Ju_mVRm;+JA^>-MBg;w?IThw95$!f$(2-^8)K!&>0RA()JNKLB;M^616H! z9s&yH>GIs1Jy6UpcP@8zaBv`3=+xM_LPbjpFUo=d(T8bMeMU*?_wgzsD%wXq^gcE= zwqIBX0t%5Et*)r*dcIP(y}f;WY`UO{L8}R66{7`w5`hHzrK6f#Ys9#80y^SO$A%^b zTSKapGanaM&lW+5Ug;dWm{|v%vGqEYD3k$xZ*g$351bQqMfE|b^6YHQuOB_}{Oi$w zBs)5@to-y@%KCQWW4g5?((9rcNsZOZ2T&PfJ)u{x6-}k%>+LlV#9?jwoiBMO+y!#@ zT+Bv#kd{iCoy-KWM{}T-l*fkER3|8ho_p!dU*1sZeuC~|`xkcP!*ILby$nC%@_;0L z&p;N%1)Cltg=O#ysB5;k!GnSm*PF=p6xqd~A5KY5f~Cg9!AdKQv@cW%rnY-fzXfiz zA!nESrZxsfWt22gr+I?$C)8h##;7F^;&~rb6gMlKk^$d6V{*biPmi{)!9py(pR)($ zt}V;{Xs=R#3YS&LN8*$@7C)mpstgxr;NEphvCw^=oSqpJ3ZcyXW#GB-M?^HR>!*i+fPWB)-u3 z%(M5rwAMm3e7B60EDx2&of8AHtVLp(em~VVdvu2)v0|65W#SIEdvBY}?2fkq;{UH+ zbF8JEJo39aO%|uYP*?(aR#xUV1Obrk%fo|<;4EQI^$4rgX?3N~q`xz+SBqb*o3NctN zna=c+t|IZBpPzqobsLqHwX3vLwM>@3t%+zQ3ktFHT`sJG=B=@wbK?7U`1_kASfiEV z%^>m2;r_wjD@1wm$+1zNqat!}*vq)1twZ&o<`iyn0%$h&mYkZYB<|x_o_|_iot=b= zz@NY>!TWI?wd1dzLiVGV85X!B-tbMwN`44n%~!#F>-Vz^~}Omrj*~q?$1v51GM+|(ZL`$CPp(iJXt2|v&`EPGx;L% zIM4g(eW<8wgkKU7J1Q}&GvT`{jg}=SGWYS045|f{`qY#(eivd8T{N`$0x$Qf7pu2K zJK_|Y)KMB87To`K;UZMq=-Q>f8rq4K8$7dg`!$>C>FT}E%bGpsZ;)fKsm}`Ei=e$u ztm0zVp3S@UC>sLX_$&O|>?=YDx9o)e4-04`h06Dmf6Z1#TY@ecAnsVyo6Q=_0+ zRe#~n6TKxIf(f*$gMXV)eb4$^k%5y)rD64WzS^<-jZ8W{FeD(Ws;W1Y(Ym^NadGj% z$!WPp=jkyyByD7DOfbvj{&<#YuzzWD6JK^2;JNJfhO|1}(Tr~a4TdcVQm4bwl#{(< zBw$WJg!R}N#0Y`Mfq267iN<97Nl%Yx{P1#j1PE*2YJ5J%XL<<9*)gaI1tcSIl)-F# z3*uwkM!(}Z$|D$b)XySeAYhJKn#Hs1MLc9D?dSdqxp}DIosO+^VCQ z8~9-eJe2WiNx5oNnT z9)-uqaqB0T`?=RBdXo^L^BkDZ7y@VXRmt>~5E@wk!Du|e!;XwZ}(CF~xj zUhp{4l{3w4Ofp&sN}WG42t;&gyi#XHhPomG6|&tgnby)L=&YzF?u0TcSp%7Y$oOAn;&~MGtbsxoEHks4jX5ajI|MlRKd+~M%qCLE7oCTbIF@l^R&PnVtKjzY+Xx)oyV|tXOne8hYM*(Szf?v z0o%*6pFuxFNcbce zkccLJ&b`6GL&W6M_yPjwCLz?R zGj(+3-R!SMaM;mMQPHWrts@)@2?+)Kw*{FJg;bN42vF>-*si=qXAT?$YYr&&c-J}Z zrb3bQA)twc66=Mu9RZItp^@x9XJ)fQ3L(p%(}UTaC|kTId@c|lSJ#zqsUZLmM_OQu zPGOv?Jn0jrB0%BiDl3qk)$X`B3KCTS!2wWR(QtSh1V%vgHR>{K-ObDp(&&GY{H@M7u(jrK;R&{ zHCu>VuZZziV!ZiH$gZpyB;*TssT*>3#pmZIuvX19Gk8P7VSanD0&YnsCt<=nL5CF~uef!}Q7LSL@U|WA|2H(s5h1`MwD_$4G%nh7 zdb4!p08mRA96Wg$zWT6Q&#qa150-$XdU7a{Zn2tDr14L7 zz4dEfve|rCg4D4O=WBSP)fn;owJ@9GW;iI@ZLQU9MsChEL-c%if!K}ejE&5P)Mq*E zXF!9Kg?EwD;)6ARDq%WmTZ!lg299}mFg>D*i)Js1dGxY6to)xTd-0d$_P!9^3tzqc zD6sq|nZNes2`25x#eJ5GUA_Pg)xfu#G~l-_6^q>A>lzz^m?W1epQnT?#rfHI`9Cw> zXx8{uVK>wj_@WLF(MYX+osn3`-pf`FfoQqvdAodX*1YP5c68KNnuG(r{_nvQK@*}f zyQ^1MXHm@X*AIsc+7hI4`??r5Z+F|Puqj)BnbnCJ?# z&wD!_#QS*N!+Xs4`+L9c9GFt~vJU37h+|A-7P8@?)*j(&gnfU!Xp=UT>?_J)cIq&v zF*?cl3}05nTMv^9a`Fq-pi8z=wEE)@ziwbfi}*MMlPZPhD!aI_kgLD8GP9EVEj=yF zMAz7Oh)ilysw{z1z|kv}Vr~9HdUOgU%;Gsy#|xhass)+M&9=;lrt{|G;R8AVp^fG@(#q1~y^E>_Zhs3a z7Y1#WTIgz}W5!tV8t|WY5}v!{U+!TF_sAlPY7cwj&*}`9+mI67KVpS~)4Q`uE6YVu z;#i=d&UDcmTb2zO2Gxt*LC z_1LLGOu7`~A(fJrTH&`d&w1&SGL%tM1E(hO??I{|UZ6_!9=uB;i%kT`yX6o0NiMbV zo9aaw(=oat=mofIBwx$F_4PlD`*L$%6SPYY*_Pi)^B591FQm}+Qo;-^JnH3(!!wksb;04Pl7X2avB;HHK3LMo)@jZ?DxMlV@UOs`nwc$1=L_$ zTx5}Y6A!Xpj3%Y##!p2m#vTbrs2NGjKEOJy1tniLeX+U@s+ zbd~>(>w>!oDMwuwg;i&gAm^&-o9x82Sci=kNO(PH$c`8o&$Ez%uSRP(-ZoO!Qg{Q1 zJEManfVA5tnF$Y-b}uUE^cD9hH>D2;Oi<1kDiR=j50QZ+H-B@q{fj3|Y5=>Y{hw}$ zHtS6)sO^iX8`=N zCP|JYJdB)^dh7G`27@>NBzjcf5vR+Elx!sVS3bc*{^WI7u%^aL3dC%I{IAafa4T#_ z$!2oMD=1(konsA)z%_a8zh*L;P=V`8hCm6Ug2B#U#)fW)`ZMbsQC5z z{=`uE;{|h{n}TCwHil{MKDX;Se4ETQP<}KhRsCVhN58){3m-{VG5?Kd<3B5ID~6zN zYvfA#63eaCQtz0U2?8xNUcx*V!9W^HUtTXnmvo|>b5 zvJUBMDzC3)n4cRi6l%X6TW|_*s;fHzA^vfaWW&VU9{qPaEh#Cf)Ta)lj&P@=qk}_G z7_h0*cfa2PWm!NWAuk2R$lxG&I*NWvTN^g`geGz>{!h2@WLjV)YHV1zQ7*5k!HB9X zfMgnFvln9a7lfeMh*%LK!$~7_hnSp9sf1VfykUp}p_J3qoFH?2^jCf>siiHc7Go)y zhEl}^l3f_C-2XkbFA&8&0eQJ~b>9$?HE{mrP`KDlNJ%duP%bC*oHa4mB$gx6WD`qK zM_mZpV$<%+Jp{`YoFhu8{ye0(Xx`gF=-z(DuVe$|B&4wQ!U(tM<*rUE&&r#x_B zcvYP67kK(Bu38hK)io6+Flxn^oXTb+boFu2`Dgux8GWK`g&>4Ua;LD)78iEz-9G^3 zs+EXG%rQO^j4D}GbK=0FA~FlwS=TsapO~Gnq+BdeUCnB>#v%m(9ANe6yG^;dgv7+4 zWDK~vhHC(p_FrY`z<}_CW`pT0P!&*+pRbGE?`dmq|DO?&fsT?=t=Jg9UC7u$V{)3BUcoV59#G6yb5d zKc1P9gEF>+ih~o+%+3a!ZNjF;En_o_fY@+m5m;sVLl8so`G5?uA2E@U0L|0T+}vDW zPxWW}2tXE5hev)dmCJ5CVAn(>7!$+7r1kM3(*i-%|Az$((3WVC=)?$YH4`oO#(pCM z#MKw2NsSWBjlXrWGM=7qG8?+rin^cU%ov`e&;ml^m1m^ z6U!Zt=J;2C5a#%_r>6%n+6saK&=g?7kWFWS4l^`17F4X!>E@%RJ_8yg`pkjDr3!yy z8-9rYZI#kR!P&%xF9r`mE<))-NBvvlOTgIO65`c?Y1X zUdQuhPz$IfFd9R3ad9!#qVc~EGV1``q5lOLd{VK695>d*iTU;`mo5XY6@J0JwO%ZI z7E>gPrk;a{u&`F(ZvrsdQk6ysUawH_1)OyBByhRi7Bs-1ai-vwad!EQ8v#olv3wp_ zD+?G{qn1UGeh@*bM#{k-|EyvAAKynHo8y=k<%qiu35oRYhKQ5Bx<|pXZRpoY84xl; zi7Q~ zUx2PZfm}BD9iLHu;6Jw!fa~=N4gJy4*^MACYNC05oZz5P%DM`r4fD}6zY;RzlUR_<~npcg1qUf%F30=A}(`` zLxbWe3L0~f`q;$Evgo~oev3RdL~7My>T?vFnh4;afQjL`2|Efq@N3kkloJC-Tv&{# zWnckT9VYx43!;xj%uz2_1`ijPfzf{dx1O=BEkmS^rm$ugpVz*?vU0U179QTk;UPLc zel&FH>glQZ$S=SOL#CNWmG=WsPVfBpxNCQNdyU4E#*W3s#jQ8n4AbRi68Y9)!|9Q9 z0W+@E;Yj~#X71WgHir*>6uuD-!yN!VEDJ4u{ra`is+!l*g87E_6W`%ArQ-GZN!nlM zu;Fng8OY=Cm-EAB9BiP&47@)|>XQB6=SlcX{^L@`YS~oLLEh-doqa8%XY~!oiA;~s zG@m=)@gfsV_d7Zx7*+e2WC|S`mv9eK@B!=r96dWQTJ@FiC)bzIQB-QQvltB^jO$s` zhAj*X0-%9d10C?u(NVw`(rvrbx7{1CT%`dSfvKPB6$_L`89|9x*4k|G9bZ7BkYxg% zs*0q<#Gb8S)L};c==x{ziE=aoHwCY#$~-~kgo3-bAdMf7VU~vZ5yUtBpMX>!cRPAS z^nXr+FzhozXy5{Uampoudt<>8;p)}(TPRm2vC zjwkZ&%+^*8EgqjIhay3wk*S~sIDcwoLw&#CM0hP%Y5}S61U(fM6+Qja^)-k4Jw@Pamdhq3L1T4wKHUkd+9>^>u;8iEcU3g$mtwYg za|??!O0j#0fh|nx#TC^6s5fk^NKD4>-2mrk;?wsz2$Mi2El8=}U@C8CcLSVSB2(~1 z$UIlzi3UP3fLB6GFM~HIC@6q@5oP@S`}gAFq7K!4Wncj8?&ADBw`~<<0o5ci`z0qR zpsFZC!$2sivM!mqVVeuH6VTj}1bUTIR>g^V0CRJoieGe(uc@%Y3u19e7xTZT+(r0d zhd#UDv4BtJAG^2tm!iGR3d@^rea76-`Jbv5YNP1N7fG{)g^Kd>SQVO58i59IW!RdU znvh9YaHv^Ww+^p2=h9v7%a%QWI`I9E<@yE>_r$@<>NJ)}xl&HWzDco@{eJd>RwVt2 z(vPjR$>IdP*9PjoI>HW7UtB9I4C%WLKNuP8jmp2CIWt1)h@irq_b8hjy7o({gmu!a zE)mRj8g%-u#(R^4$Fc`dRdE1TM5p7TV-Bayh_3ILNmtfuKdT=_%F?yenWXhaL5h_$ zwX}eP&*6Xk&2aMLBB-=4wO_QsSPSvgqQYWo!{$i%75+>F4WF0 zNM-o>xxaDQ%=)TXWf@JVNdLYs%4rC$kO$Y5xhWiXOVWF9$Q_xpZHHwSdUI+4X#jC- z)>FRS%A2#pjNCxGkbGUYj2`CN4xkZ=z;sjeMN4K z4DYVZ-3I{yc{{;B$&0pE*Qck~du29t=(=k$At%VH z2go@&*Zyjma#8{InP?%TQA6?I+SK~g^;ddlwXJLq+H#i$!4D< z!i@#2L0+d>+j9z-Bz{Y*kS-J?zD|D)u6C$z!sf|@tygYKK&IK*SSQoiylqWq{!=5} zR#w!ovod<$5Fmnq-yfhZKLg=eh&enFtQm$(?{ulGZnNiU!)X07=kR1r;YAz zBOv`g8$K%50z1LKoDJH#x_SX1XVC<|>2DnS03d*WKbpTHY^{Uh_KzO?DdxdV6W$ts zy*S;?Yxh-ev-FP8jUg!=8AZ@-b5dJ7V^A{vRcAr4#OY1;D!dQ`q!n&3+O$0u{Dks1 zh3#ng{hQYbx6;|O5jHNCBcHTXn#m>#BS_-V(aDcEG}_ljV})FrjS2W?i`QPkatQh{ zd{?BtgRNE?2W>KCi^sm_o*S|FTD_BSxc`>s6iA8gh?-7i+fY5_Ih zBQ6)R(^tJn9J1a_kp}|)R>z%%Gu8QNWhY#~u&`=;-A93@95N z?Q6MRZpMbUD*plK?uA21UZv;lB-cu}4d0ilZ;gww^QM?ijoa59!Pe&y3I{~;0-z() zEd#i>NK=X(0=9QXN87KUzhu+dT$h{VI$8`4Kj!o-PI-WD9EuSzot|PEVt1jS=S~kP z>ix{Cua8IZ`c(`QSobX3L`!M7n@l(>n%t) z)m%_A`eAA|ARqBFFcF2rTKOf1pFZ6`X|%EpQme6Q?tz$<%HzCWSa+)m=$&2GGt0u3 z=O6KT=zdGfx-0|fjRt*7L*`@8ae)5Naec#VD*7=M^lNEykdl-acD@X26<}Giy&Oe; z{UUfjIoNqU9wW8sXyziKbOI9IBw=2cN@5_%1OvVUAKhTF71y`>gB;RhF<{wE5g2!# zkYa*@ol(RM`Qm6Of;)Qg{BL7Y&<>LyqpadadR~;l_yP^|Txd)sHY+9SFmDTuxkq8X zYax$SUe`c&U0`Pxyh3+RpC+GZendh+?ZVJneN#08ifw>}xrNa8kAZcFr@H_p4Gr=u z%BWv&t}W0JfOHy7oHH~5u<8sCJS@P;e7*pE%`aF@P*b!S^iaBhI$W>c`;%{jueu{& zLg}02e+Lh$@wmd3b5f$EA_(L>z4Y;xv@legkxLSre)7K^v8A!0CQ4IHNloRCm|hMS zq`O?GnbsHmh1<#yE*T(21T|~blvC`ZT&Q;?`y41JDQy|}r^FYXKLDGoq8hjbxE(@G zuyL?h!#B@%uk}UK2~__?hZBZwLTr^=PgrdPRbn7UQt~#JVKh)(Xec{Tnb&<=+6Bgy z)P}kvm7z>dt!$sG7V2Z!1qCmGJExV|XL5X0)rk3zo(pIP7YBP-Kx7z{#@YHpHZ)W{ z741%XP=tB+(mH&p^rO1@u@u-k8jla2%=6iW1|=186Ep&63G3tg03k z%^%TErm_T2mi<4PzA~VywP~B~?iK_=q*FjZLg^AE1nHD+X;A4#0YRi&8Y$@(k!}eI z=>{nY`DUNzd(S`r?6X<>UUSb}b46K^1hqTU-OO?khIe{+o_`l#w>b+Yn%gf@#B)D?$o=g(ED}1a++onKXvr%ZD!vg zo$oNs^-bz<=g#$-Nde09)p=@7alkY$FfKRxujSQNDajH_zU(nMJRCRT-0B~_cX!@nMZC@p$}i6l zT-9V-VZdJWu+-JvfStwpcH1EW=RTui*#ImUv*8uW3#juL1O6$jptG(ERa8|~RHBw>UE!S>I3UATeBCvckWMRRFU$Wu zapNO_Q{ylNEn>bjzzi3zDtQ&;cN@7R=pB;78Yqh`}@w}HYqz+Yq5KC#Vevjj~r#+qZSF4KC@WTn=}x?zg|wzHeUQ|X3J4TUcNot z@Zw#~v6P5=Nf8rpt6C&pM&cr&%yUun4M|N;{B;hoaoFxr{Tv?&Pq!~BKk*-v%RqJ ztYg_B{i~&Eb_}{68#Uw{BsOcsJUO_IbfG3dd|gX(D=jp3)qlsm~Sa z!{7PUD2RyKhzAOzUw7GF=hu-kBCEiZU5(nbqM%^SvyL?YUsJ{h?>o4Y5&&y%zQH{` zJsn2>q@*M|XAT6M2feWyX08H1mvEKo!Sje!f6_GRz=>=L)YX#8JP~ivH0TC(yqa( z<1vWyrz=cGvL6>~m+I9!F|i(4IXF0g0C;VBW@c}`@eH7`x0r+s5Bs$qHJ*G8*8?8-=@T8;iFB!XFb+L>7KD z`0#x3?KpaKBy$b|>+mC5D7D$=*}R|DC6rephnTLj&pPTp(|$4h-*NL0w1}DcyK~7G zGklAxm8gx9#}HoNG)X@(G0}D^MSU;XY^yd2fw-^$CSKfPg zcntTLn3#ZRATUb*El2V&_#Kb*_V(_#T*jdBw!@2vHsUd3aTOU;Z*=Y<$`1!KJ2m@) zf@tVTL|AVT?oB2Q=M#4saeEUJWQz`W%xWuw0&YBv0uu7KV{EQ*0=>6ltn=Zcp--|E z=mlkg9%LhEf9M+;;^E}%|M7!X!u$B}_ctcL$_}uk+Fx7iA%66rU70uTyBw=GuV)zr zCFP%ix0bkh2A4rIMryL8@3zuzul`~}9I%n%P2Xrt;!%S)HMMtKy?wW(){!Rkw6wb2 zS$aK^d&nBzZ}@t?WZ-8v&rThko(4C_lTw|PVVb}k^Fvez$|5?)qFE$#yG-Vdn)W4eEdDt&3r)z3$(aB1Q+{_Rw2=q(s}VBnJ74u?tpEFnw+Dw`N%TG{ z)T{lkv@v0~T;FDL$3^BmG(VxaP`*^5K~~0|ylZTpTUmB{!=$D|SNuJ57=v`(-Tu;w z_->r%;ypDp_IaMY=FAH&&v2zUj#}SxQzQP2uwMj-Mo&|7(Z`4-w|0dE8$22tmc?9E zw6Ja8_0dTar9Gy#H#fAEw~gtLbe9zqUH{*yxM)9{R8XMbZHD5HLR}`To~bi7I%-E| zeHi+6t)c2PYQmhkSji%WF>FvKJGvj9M46I~zva9CKoK!QX_lNfqopV5r#e2{hF2_s ziNgueCnqOo0OLT(h>VQ90gum*DJd@%bMy1%E^##N%-IoV`^|<5w4Hm}&|`RU4k!9d zQnmbDONFlq7ZT}b)ioOqG&!95U$1Qf9@ZoZZwS(0D&qx}0a`xu7o0x5u1}^01_tii z&yX=Nv_Q_s)s-(BTS2VkMeoeaOm}x)Rn;gUDI5@N{987Z;QH@+2J`LP<9m74)z2Db zEKdxK3z1eQbzg_0JVm!dX|*Hf_=PcWS1SQKd*b*VG1@F;UhO@(92DX9HEWwK5^V>K zz;*SsFmH4_;`trZIJ4ec&iZc?uxnaBh0p}sXe;;ox*#sUFny%QG9*M@yrONU)yHCT ze&YiJ_~dDsnVEommg&{lY>gLqsp;tY!^M_l6 z>(Th>k&o{wPQ!)XI|rfE5L9%r9>s+GcZFu58g9$C`WDNDvfh$S)Yl~3=(DD51M=U) ztAkE(6l;YTn2#T6zzRtOtj0S-@Xbum0kH!A4cHA8Cd!aso&Sza{tK-~%TXT(?@M5g zB775pwtNu5gTa)`$LDiuH_5jIcPz79l#~Gemw0JQ%QXmQt$4a)F`BEW^yWDm$+vCI znsoE6#W2J0eC61qht|W4l$0NUVpvthKZiU1ani6CI-y{B%=uJPy(x6POP`A7U+>&} z;7AbJES`kV7wmuZy&oPl{v9e;PIJRc8ylQ?T4G}4{j+XLqbAS8+g+c(e)R&6x`bW0 zFOdJ*fMdIr)%xOMTt>$J)|NLwZ*XV#w~HyP0DA=%cluxqTKh(r8#LN??<%ON_1x~Y zylbBO7anZD@rb-`P)bEifqDic$ezT-5z)1Qp(xn<%v84g5Yzj@Jy{}KlafMhUYnPf z2W?D{gxa?T>i(|VbfS~Q4Tfg=CI|Z2^4UdAus2CeO0u-Ff(z4bk)lmSa1z`|7ZoE< zGXbWp9BimZuZTHyi6j@1xuyGstm?y_Bp>}XzLUO7DwI$tsjbMLPLy6x(P4*gqi?u> zeCDMo^F9(?y59Ud$&j%muOO^W{c2iaae2b>Fa&+8ZU&oZDB_k8G z8l>yhv9hx2Um^3rcSA8}A>%(r<+Q+32*c#;8yE=w+?C-J1(~=6^Rul10cuPF2iyDm zgeI_psE2EvE!}e&+_7F0$XBfoWk7&<_c1tZ3h?vy#LyR)E6;7=5o?@8v+q1rml^wm zwoGx#6M@+$JZUlzdH$Gs@W+oo2M29jZ~xxCvBs7;?76s$I^3U(ML?jYsMx+6*s;H| z@=RZ!_SUV3#%)N|rNg9(Muq4~QS~YM3wE0ub}avu+ztE%hWNOKOQ~T~y{z>_;Vhf? zB>eb%apSk$o?-Meg9(yp0Jwy`Rh2^O%$9zfVR5qa^UKZoZ^8|8&u$GYjX|RCahRV> zbvaq;VM+JF$e;QfQchwX_yAz6z6p)$eA^eiPC-pAYBOH={EH=1@Oz!m8}gw`-Kk2z)~1@NPeW|lP4xtR-rPH@4~AviGQ&7JeMNH6SRNv;suz* zDkxy#Jk@A|!40L576Q)ZYEXkG2p(Cs+K9-_&4q=oDTinG zdGJN|ZM)#E6B^lKfvgJkc}i6;f`a?^?%|A5ic!dMciBLPNmc>|OIN=Ds`hM!QUJc* zs5G*xhF@K}=jZ9){G6Pmc=P=3N(l!~f`EUeC>M1fZf@Z4s-~dO#%*e9ih)m) z0PddOqXn0ktSl|F=fA;!v$Lt&rNie#N?0SwiHky^>C0lcByAVcu|6_^bF^=UgFX|M zOj28(@Rq&G{Bt6WqMJDATXrvc9%rg97Ui(N9f$W2(rZBDli5J%g~Wl!kEC}2wqLJ{ z@rsbr0zYOf(!P2Sw<{)JrDe-poY+S<;&0ujZUi)7>jYx&jBG9pC34k=1Ox;`Jq2oz zQc-KUP$|oslZC0yKxTHx?Q|0SZ&ai8^z>AtSA|V>gP%MapD8w;@n2WVB6%zV;BWp( zk^gT*+-l+z;Y=#G~{em%p}ylorELN(xCYphC~ij1?(vgTABEh@dXXd)wR!qV2U!Gzv%@ zBfAa3xbNPgyl@2!sQC5^%C$cN_B%^UOopI5#8ZZq#6g(l8|v&2_-ZkK+0;G-p5b;< z|AB27Q^*pAEN`br2u9ECLW?<+Y3-|SX~)3yCDY>u`vK$NB3p&mu8<$ycEv5DDZ6Y%-_Pndqx>VIMhHhV}z`5=Qv%RKQFJZkLG9pq9iv+apXMSw)r@D zUo|^2Cr{_gOrizXrFi75eDHuGDyalvi^OfFlaNMP*3yT>TB%)FrKo6G=m1wvXpr1% z{(L0+tDH)80#%hX4G(*fVk4o^`=zmWvd7Z|v{H(M@p9dZd*Ag&yvF_y3ossSL(57s z6e6nD3$nt3Zg7KMsTx;;6>u+N1G@I_EcI&)N4v@oEP1dOQ+rw59DfUjnW(ykIYg_t zWHMJ?XuWICeU1GltG2!Ho13cLgJWMJ*%-Q!mu?>_)ZOIWoHwYs^WC2?h;b1rA}vU< zE70!jq>%k*`IbG@;{)*6u9av-XQ3=2w#1(|OF(x|4*OtBYV}e3fJEXZpe8 zqr=0)Zy);R;n?akDu3D#a|^Cehn@sVjR=V>ItC6P2h(Wsb2h!m6k|!*+;?balP3hR zCh^Vnw<{PwSxOu)Cr(?r0v@3~1Ay2?7+jyaRZ|GWQ zr?!9Vb_}E7+n)FZP4&m*tP;2Qzb(vYO}bpkrijTVGd4)tTf zG^BUj?-BF11G3`-Oz&qT64>mgnI0y1#I~lU*^ik76r+ql-bnTP!-QDZQL_7AZB1zY z>*&4B!{goULle;|dMy2yh+TQlaEgp%ZclL>Ju$v2dEq(0hopc?YCr+TlXZ+~U@Ps1 zt+Ie5u#u99qxCKPS4hHPLp5;lt2$I_Qghnl*;g7G#I8EjDQ0`$yyv`Yp4C{xm@F!T z%6SIS0%S5Z)Y&WT6pAjsDW<29n%#%mgYYs;oc_W74Ys%Wu3Yk+x5IwDHSC~r zuS#dSnHi;!Qpdg%mr_yCl@SrX%gzTQ#O)cX)9|0Y&^Lc%uAme~z4`GSUTHz*F!N^x z4J}9xIX{a@T>=xOg!P_3cOFP|$B2kfA&b{4d7TL92V8)thAryTo`zpz3*plKoSS>m z7|qF0R9sc13Cg@m8H!hxmQM3TByFZMqjYnkai}FxC97>L)LO?UJX!be3iC(!KRWjI zbU&=rT8Nx?peu>-ta-Ysh`q!tr~Q1&kj+68bIQg1iK@mRY0y1;yi2rrJHXB!GySd{ zfg-J%?SJkL<p4-lg<$y|6E z@Vm=;@XhuvA; zR_)7sm7G?RpnIBnF>WD#qh)c8&!*XI*hzDm)9N_P$wb@w?#}zuNmt|Kb;!m(&Tec| zc6C0{YNC5AGm0Z|J7HK83+`3W!l!=tU}a}#XKx?9wewNP7MfV>f$;ea=2E{fJ$B)$ z%s9TRqMRDuQXrDZgI_58e2TvBYbBsSF2ej#sqDj0>qzh(sRj9^K{hGl)Q1hPgVL?j z60~_5NUP1s6HiD;(ACv_rlrO8ylN$w(hvp+|Bb9rJ!?p8^ zi)BhJ!z&7Ma*3l}W&l?ME!EW3Vd}slBwRm63(Xbi!zJx0k&F3UJL+lh34``|VKCxQ z5$#2m-8v2TeiQamxl~F?xK^TA5y|$7TlvSl43SuTct{|{+JPXN;E3&_k1DW?3W}y^ zgVM2;V7x0VAfOSnUh7W*81QXA*lko+RnZ7o_OA`3hT>6^(9z-H+c`SkfJpHC{2W?C zl{7K((Q4SCf+no;8-sq0jTWG)GBPr){@064#e3*ACIEt|1+c_S-T4o!MPmx)COO3> zq>HhZ+d-;3EV|?D>USoCQjb3VH^th>{GO}{oSn8;#R>|$Sbn#&=vQL%mAKF<^78K3 zWW&rvR0-q_MMXtumw`V@I&NobdRw^3|JvIK-O$kRAfN@NQWzoCK8f&2O8$d1zeozM zH}@pHkHPqJ7J{lpzIJ^Um=ZI<8ON;u5b zAO5@Cx57-x$hbvLE@aYyMyKiFA)H$e2=wd&J%F&@Sj(TQVP8I~OQ%XR5}rTW`5(08 zM&?Tx9h6JoEN;SOT7EyL$UEV~hxLsOT^*hK@TtI$6m?yDrlSMS^TvaqDmPgN&tY(X zZt;Qa2mnzsJ(;wdo12%W!4bWKC`2LTG2SgI3g;(JM#4$i=;-KBP*5_BTQ9aadVeD( zlI)r9-?3wePHVhRwqU*r_%m=H5NkPlZ-_^EBY=nA;xOOvaxDM)a^c2*J?&Ks*m5$W zSLA=KO%p+&x@!5mCK-r5!T7|Jr`+!Tdnbm-C1bzu+)B2_{cMmqQ6{Udl0DlFj^z>~ zDNMPF3B#jzc`f^?>Z@RbhM<(ibMyy*<8^S%vC~`8$M@HYo)*ZUJ_K_KjW4`Tmi@^~ zo10z`l3+a!P(hd$2L}h1p0%-$&m{~Xw}ZiezjODs4_*M(1MjQDZv)YnU~0oDtGEOL;yt*`%%tB@2XL*otn-UL%HFkz@H`O!pkkM>({42_Hk z+v%vOzrNZxR9FV~qd}vGwAr`rZfWe|^eK47m`1=uAoF!MTd;(T3(xbaT=H_fbXcuD zVw0iw>Z*H^)aAd3mk)&y)28mQ_2W|r9P?f^dbnvFa z7E6bfk)EEuKsB`%APM%T`A#^UNu|DkPC$C^B4p*fUXBhA$0j5UeKz?0d;0_(pDCK4 z6O0G%pdl6!e$5qy?U4l>#tItkgR`@585&b@lSC`A;ztUGh79HhK%Igg)r3+uW1rUQFT?R`aTKaXzR)d_{Sb~g2N04dqU$gQ5$cB33F$+9~8@9KKl}r zn6w`$XwEx=aYg8X7h4B3FDUFq^6`u8v{vsc6yrkgXf>Mfw=NdrpG)~9m5R(qS1~Y0X>^Zqz>3@ux7dWch;&g z|JgY;Gn#4Ssir1lLFE#xcQW&AZEX?wjL={WCW4zOg8i1^>|W5^M&B9Ff2U|Ui79M_ zfj#gJj_B3{w*1CeslVWf9(nVqsJ5ntUf3=<{{)Ea%4Gh!jqdL56#-d6CX4}q(h`*s zwZQ{z9|Zz-3Hx~^*rfqn0gO!DJ%X5rt(!&55Re-hy6mdbJM~gAKr}+h>w?KWo6}cF?jJ} z5d#1R+48EGpRaKMop@eFR2@ml^KU8i7O(S4FLAG>!eL1XXZ@sO(_s%3Zt(bLP}qZ8 z`!@m$c>s>|vk-pKV`GsD8LUf}L5BaSM`hCTSq=f*aYGt`{E@9XV7I67K( zYez5)NWMQ}lj>Gckw0JBO>bU7T3DoLaX_`7yZl*SGzjr!k@r-Vz43VnK0W*;#8OkW z*z()RS%Pe|`O#3|exQOvvuG5W1VxwIE6n=)$MLB1!+sdQeB&nZsEZMqx`gh7Z5ozzI0yeG+kpXqf zTV|${3XL|Fr5Tjx%OoS*zo15mUX|%qqO__@{xw%r#Ae}8vNSN52d*b_ETzq)3i8S} z0C%{!xF!z(FM>uYBsBEPBLH19lPXchIam0iHkOx7pE-fh1bO{00G?6d;Y(y%hP^uo z4GO@(SAcu%H=h|=??X3W*yw?eLw7_g%>M#9iPakVLL*Q$de{-K0sX^SIm?oaZ~itb z3bt{yoBzqGrn6qoj%Bf;rWd!on^o`r9dGfbf0pH}cji>lo$9bWr<*g`tT2%;b&^9A zX#t?8p|OP8Hm3d%-?`Da9Yw*yWB};Nj`I!V%O0@ob_z)egBOp=_xFPTC4Ro!fF9e*lK2e$NurZ_egs(P43Q56%7(cRkC75 zDgO@(uo6fOcev(r=3S3StL&zlVpL}SA}gw6syrI)`8LIH>AGZ||1%CBTY0|9OF!mc zPF0skW~iNC&=o%@3w(S;F7(Q^kvFtOT6hn}OCE}X{AVj){`zZkcYeBh7Q1Wh;OpVe z#~L@|IThEU%{|#;Ilc8_>7=?3rIz3{viUb}HqN`AuOVor&^S$wMT)Z;b}Q;n$K-(Oyx|2zy)cbj)rIJrOM8gVLd zd@eSQl-X@MAS6xIRO@_p%Y5IDlZU|`NApwxOtgH98~C;pQ5NhGJe#rS#q?NulZVKT zjm!|R5NN~t<=4n3(@!=gtSlRFVW6^O-J%-P7%ZHJcrap`>7k)md-Q0W?>MjVx6g;O zWRss88WKFDAbACT2nW$wE+*_>x++EIbi!uAdEXR$WBvHp?Mg<5?arO{90DAi3n(cL z(91x_W;y^6@{;FtLGP0%Pe2>g9pi+gFaVfojNmqP8HJtu`N0w_kCnYD4xp4fzvLh;|Pz(ZDyBjwsQpL5$0+7IV)1l8M}+KmHNUGED5`byc! zC+`dM>h0a9@FpL7br~(1M0wT|tZKKa=#a%jsCT#Jd8^`dE8i*$tIUpg>Z_?Y$9=c4 zjMZ^NZ*W^Xzl|y;8_kX%EF{~9x|W-I8)lfqr44@)kmw8%?OTWpu<8y&=OtK+Zm)}V z*<(}tdp7>msC%Du=&$@il$T#f)ux5NS-R+#H9aqa`~ke^gu_f3~wvRYS$;L3%icyr1W2*#@t$;Y<)6WEqbD2Z`S-FFDE$u<#Rv$u7V2xdRe3T zE_s*Vc2NWNs+>(+X)w7nVP!p8z-jG_TfZ5M`MWpM{%MP(pL%QKgI+vgc}+_ZUrrSk z1^4B;{id~r9fr}xdTysyw0kV3I_>ges?pO^t*Zr%aX(Iadeu^yohIRe^d1H)PXZ62 zy6%TQPk%tg=1$B_<7qPdrNInFwRVaNPw=bqZ;=r0^@}((#pFQ0#Q6|S1`aOSf zR^t* zXeT(b>)QX@kx|LIp+|kFSN9D3HjNbP<3Hv1oSW>mQH6{i|sn zjN?7=ZxP&8Exdj|MlPUu!foB{Cr#i)xeRYw_|4Vg(cnV?9;|?WpFEROs)?#AoS-`E zyrD332HkZx3tD*yIETc(VOs}A$e9f zBuvi>8VEmaP~fDcXvXung{H4kV~9p4^}pi2ZjYKXdKY_>@Q_@oMdPK( zF|$+ZPp>7k(0ead;Ulj~Jczd>88aVK}{0H|d7Z?6xt|p^i%js5_Zp=QD zdvM#Cgst3BPFlP#B61E)tKsVI?(Vpj;aT34c-9E~M^&YzT)8|eZua)2X=(F_fFKA1 zg+cTdLWQA;SXgMZx^0rUZ9@MOGv6K@Qitb`gX*q9bBw0IMwW}8~!eNN~=beTmAk~_484g%-8mR!56D!5q#zO zco)N6ncaVmr93!O11G4plJSJLt#;o$e7n115SDfChP)-Hlvi^^R-|k2X_Hrg{t(;c zP*>MkIA%_y=5#;YmI_MAZT^#GwLNQN;+S9lT87*=@|pVaM-YD@_;(O4{-NlES=`(3 zJ3)0@YoZg~GUYF+W{BE^dnk@N9rpg>nGCU36-NpbM^wBSjqjYFu#E*G1xgDl&`SoK zD`u=uw}Q;mN$i3Q%PbyekU|fX-7{F#^|%AK?np2kw>E&ho#@$ z31VisPY(ka_70)Tmb^NUr5Z%UDMoxlH2jCl-CX*$#so>PPrPox>$bPbG^XS`y}F=ecoG{Q&LirCA+%d!6#IFZD!W4Ha^a%V3N^5R*zHH zw68gprSFT>ACI)B+2rT^Ws6Z4r7x%3NsNe1OHU`<2$%V(*{|X6;~xi(D_tnG@0Jyp zINAuV;7{|8$K-1}hH&-teLGtAZ}ykbwRgzKf~wi+yVG2ig`rlp z(&&G8F~)k64Y>r3|0giW#O3MQG{nS0DXdCMlPBL zJ-DCUI~Hb`FKYPUs7=(_(O%fm5WBTwuLh5oKoBd5YKiM-H^go@#iFzB{_HRp-nG4R z=KrNQV%s8ms;`Rq6AHn~i+@vjTsHTETKqWd_yl?B)^2+2DA!VHKZ+BJ(`UcZzxbI! zLik}qC-xP-SF=T({jNBPAi3VLi(*eBpZ=F(A1yxq;PnOh4LdiB zij>Ut@_m`t6>#HAcJMso^EWw_sR1A(kxNNg`R&*?@E2ECCkoVWO^@hyxv^fpxi2P0 zqdbE1wgcmi?{XKmg0%{45^tbp0BwkQO{&w(6qt=h{(tZ6SQolc{U~v*0pV=*AwucS z(0MmxYM|vjc#8lJ?`pFk!|9pbr(Nh+%nEda5>N2aPOMxy8s&_6hLux3_PTWJ_} zIEIsSA!m3`O_lRU%8I0MQ1*LQ7cU0?@+3=XBzcj)KF>wWpOKpknr6gb?~1$HD*c@9 zRX@uhH{E_drhC&9yiiQD9fUT|wUfN+lgEO(MM>CE#DFU5cc8s7G2VxAdcBJ`#Jf4m znzY`QBP`6@H0!A1HsY?rvmwy`t4q^g?oJAQrTm+XRY1ObN_21#cqmKo-l)p2zt!2} zir9zu{*}GEW*6@AbWcyN?-?SNAm-pGevRrlX>QCai}Zy9Awm7ZD(Z0px>JBSP`JQn z^BCOdn1qCCs;k{rdgBj*va%tMm9UY@hCNR0cQviu*@IOgg~VzR1G{98NLSZO;i&7@2+SY%?ckW~*E6IdNY zSppl0isgT?{rmImUyV-oeV5X_%v#@*uuB>X)exKs9O+BfcTLjHPy33V3|^zy&$Wj8 zVvUac8h;lo^hUmq{Wi;hhVM^XYvY4o6^%jTEsY+=M%pl2C6-opyP~cQp3*GaIM}|- zH7Z^S&Q9RtZin9c;%7azQ!CAV_9^FfFAWk?ztXSCle6v) z#cYO20I!`AL_Id-D@c(~wvlk9gr!`<=9{37T4ShD`d&thcd>J)%y>VPcMAx*jCZ7_ zK=^INecVAlfjK2Ru435@o+Ch8ZIK{!hf-M4_o9bVxcdiY(v!*Wg)#(A0#~h-`PX#g z;zfmj(B+2?lB&ztKAgTACSFC9pVid!>-TfA1)g{b-!X^#^gg)lG?;o?B{%S-U!n^; zCcjlrzU@FXH*%|tUOdi~daMjb>pQ!c46YHbYs9}Hh4tVs+eXyY!?U9=_X`kg&?7ZB zHT6W(zPi3}-!NHX42Uf+xAzEmPsEk`e^`LL4|Q(hq2KP`>#1>E5*^!LUCFNeLSciG z`MMgN5#McIG~{iigxui zTU%<(U&Kz7H9cI+cSo>Qy3X6P9{D{PE(~$-51inKj~bG^3BY_ zJlmq4Crv6^pEh-MB0=#*>#mO-`t0qDHKFQPM`W1E8?1#bj9spRe!oAj>g)!2e$+z# zsvl}tP_o%|B4%4C5@U_wXy|EegE|B|D=A@cWRL(79 z^yM37Z+xZKEt#HAv_}lz17VPw8o_*&VL`cUfu{M+u zt2%rP@`gx$Vb6o;IJz6LCzn6Ez10p!_N|R_K4T1yMT9a`@-Lg>&`NOP%X!mulMDT$ z&<~Igs|@GM&>elIG2zCp{La+5VmX$(Zbb}9D|l|av_q0_HiMZAwxn6o@UBcOj`f_yS1CFLgoX=w94kP3+i z4t#74Y|!D(@}{Fc@bSYerxJRG6@}=o;f{r2ObpyD;5wwErw7Qc@_~p;hhZG6e|*X4 zFT^Hcz{}g)M#5JDkB^I)FudU9N>+M=rl>TkDhy+M#8gyaMukRd#0=D}6)``5AHT+A z2*eh*o8~36q#D#k3(%!%$Mt+ZuP`=0)7BnTUSvPxRkKupzLv6DMP&6hn`Uo9R;ZP; z!rE@}pUO*5>x%DxU;Mlz9gvjJx3U_1pnt$NO0$km{UF)d@mBG*NzC6Lp*F64A64+{ zkNKa!kK*_oXCG7E%2jxsqu_BiNa>~%F|vvDD*pek{uF}uPvYaMb2hss2EVC9Fcd|w zB4b};*U{ZUo7@A2or;PIqc&Vyt&m>~ZE~B3RGKH4{(i9>c*7Esg7M`(6BF_%rE-=h zP-P)p91Zm^V5tXVE$7RT@Sd9b^)3Pev_IbnEN1*98rF(Pt8_0`fXpeeKIYcfPeUE0 zq2=g||4o*MUL%r=Z_!CoVh~n+th6#u#=H_iLJrd&%?#lZNRuE!{4^r z(`@F@bxp!t_vX+kdeFY4XuXz2NSwm*&3bWN>FeSSel{f(2l{D&rk%A{daY5wl5&fn}V?I}85wqnso^wg)}j{57kI|&YA zd>=86h7*+Q?g1m@OpyD7`JCUes~R5`g*@mR4i7HmWk##3i>$ie$BpW?5#KidC@)=H zRD`h92t-C@d;l2`)YR0^H8hMZEYN>qtKxpe-9H240bWmF+Y)eKQ&6iIi_{Sl6YB;& z-}gZ;`cWA0eqmvXj`I=uTLz$r0uW~p zfdJciu)yU7uqlA4@S^T7j(0B0Q zy@t3|Vd|1>XLM`y=hkGO-_jA6n`xcy^^2Zl5{>fzgyybii(QJ%mES}kaai1$sG>V> znA$2hr}A^D9ZX)wDK=*ieqoWuS+1l#+eUp*rNEOj-9hVN8)r7Po42sl7-9<=V`_9{ zhj7i1>f5ejY!4OT32vp*Jny{)407R)SGwSKBCBG2>bz6>SzST=r|??1rz=oThDXu8 z+uxvn>TrCm5_~K2CEPbx9aH3ec;@%?sRwzRj6|A0-3}Z8%oxbOXA?R`?M=Zk!O_5i z2@xG0g6#`YF(4RmHNZe8B3BUR=H7#6(vwj)?=c&MP0G*DA4l+rUzv^r@_P{uoi=p( z(0Gw$Kn5f%(mUTyVc6m2)zigf>eyilR8D{ocRjOq6vz`2f~ z!4jd6yUcvLrWakmOB{J5In@kI6B>(tt5LXlOXr_v4y2&)sHSoLQBlA;CC?|Ya#@>a4`3F zYV;!b3Hh)C-rd;1k{4rPLHj50$?ERz&Gml3&Bat}LYdG%ai_&LIKn2{ve>f4vZAo< zbJ|5#H_7nk2*J3rZ|^z(_AiRVx}WodMbdr9lU>G1T_IiFlKf`9=QYOiJEC}%gYL<( z*S}M`-12OW8sxg$bJGJ=p%2S*7lhtKN4+FzL$SA`-&5K6h)B1sV~}Ryz>k@6AO2_K zI3JmTRsjp+0Fw2ui;XfDRY{b(?KyJMrrXm$e{z8jK2A!?5DGvb=KyP&Fq&EPn%%l} z%UUOFHz9#6!EnP|I64p3lC#i>WJEi3wP9dJ~LWDc=8hU$fI1;PIW z9&W_M&OigO+g@3zww)>izhAR#@c0rIdZ5SEM~Xwo-qsbOSoX!b#&m@#?LRTS4cY^0 zj0Z3EnZDqC)=kplzOk^O9$U>eksDAI(ZT)KJ(6#Bq4A1bh`!W$|LGG-M&vot#o4*D z*p1a;fq2HQgM0Jo6OxusCiWEZx0JHpCBW{vi_3QxN8Rr5v9m@Xws47Hs;C}v>K?2n zH8n|ILW*wUO6qV&h%| z?&y6!zLBA!{jP9Q-aK$L$*d!!7ZWt=!Rs~ioY5Gcrl4Vv6FmL{H;+iSL~oQ4OW5yt zl3$9X2&J*N;J6BNzB{4QF7>qZ&)HdY-c7^hB&k^C?9dUh(qfO7jzn!J$9IXwY>mF% z#c;sk&~AX3T+pl6G#Osp;CWO;5!w1Mn5}KFXfy zYkWyP^L9PdZ*zzkWid2wRuT!+mJi_WV7?)ph4y?I zMX9W)2t{EM?9gmx%#T*Sp9kYK`(KM4|3SzU_x2=VwW9D7wqK-c_nItVR0mI^`Yv$( zx!L(L#Q662@83&!oum|+JqWr)0BAfRei~TS*cJ~g`VzE?wddjM_?+!^(^(@J4PooR z`eA-fr)6%w0$oj}8t847o}F!ug?@KTVq7_doeRdF=kKY@=nXTFgkjgUp;CASM7B$J zHY;XqV~YguGiS6B%R)xtX3R7f9h`YRB;|*y-u!p7?qKmUp|4>y-fin*%kb?uB3-6v z)yM@8=-~-)pamIh@ZIi=;Reuw0$bRwgeMN-XUu!!z_1LlLa{n$0| z07Hd7fT>8`fFo@Me2^iy@>K9ojo_j3e=CKKS8aClTgRpx^XajMO~L@O}qZlPxIJ zA7RQkK6*pcdA6aT@R0>%b;(8Z6Av?==cb+=to%xnB6X)SAHI7ycfv!F&M-TOPs_gBb)cOhII?iZW zgm;Bsq&5Z+Ju1(GVmgYg6_%LEJ!}wRjQ-*azqx?(>r8(>KDes^Rt8}n5D(%Fggl!{ z-X6l;$EZ}Gl5(3x2&Nj~xb@$FY|!M9ESFKM|2$Bk@||z~UEf@6^Zcii)A$OVm0bbR z_k;J~i_K%$6eeLxS@QcBSV2yJt+brZ*dnBlEmucBfHlJD?%@#i=N@NS#t}XJ&wxKj*@Fx(`7F<>v_)NJeS)xJlT#xY9(N zZ%=lq%&`*<#SH^Q%p3jW8DlFc35hW=AP}a@F%R~nmR`TcdkL7{%bjJQG|+*(UKptM z*Wg6(?%li0xU7{r`&n%*tvgiX@TL;=@1C@ohz2$<8dumB`i)ttkQuWkRrMj+@)YW1 zNh5D7a{D&)HwiU70C-x@KYH^qDM zL>Gakoy3oZf_0`GQyg0r6zW*0?A8gdr3^9?+wK@Udnf4Oh3^qW>fucn;MbSLL53Q@ z;wD(Kw?Jq~cBFf?i|YFuZu$1#s;a8<6(*=;LW0mD@(UN0l)R`gM($!sl4;)q%SU!8 z?zNSb>Dk%NJL!^s4FCi`5(;_+864GTP|IPk(bClw0g@z~W_VJfVq)N3FU8jRt>;&{ zVYA+oC&)LVoSacl@q!Hu4Py+9+1-RjpZM4m9vam|9yYY#uWI( zEtr7bj(!qb9AYAFC*eP2B?dmEJLv|kG2c8#2mz3Agm^u!n>gu`ykhmK|N>>E2uH8!Jq*A&jc^W7EXdhwwlv2kqjKhw@HV$nt>m1c_k-@u?CkCvJ!bdTq;<{ zTz2NuuuymW)s&mdqF|)^4ft9tlZxu<-*ASjd0*e0wcc>)RxHBWJlNtIP~%X5+q$}7 zN>~To@ZIc#IKbHCcdViG15FK~GKQBV`Ag}lAXD%4^>z1XUA6XU`R|$l16%9ylI{}K zWL{w$4}S9_k?HS90w?&FT~F5|lQbm5Mt;!^H$-jK@7zHyiLx=IrJ-uNzcFYus^%~t zKGpT)Re+2H2HnF2vt9$q_>g010%_|Io%>tB{)8SLk?^KW06jk)Bji2TSis6ZvDf6 z(j_6?AR$P1DAFpWgoJcAh;(-ek`jV+Hwe-oC8g3W-6bs`%73nN&NJQ*@BXyM{;&sY zt^2;NIe&S0=x-J+V%ty&=?z+A&?Txxi$(rHMpkzD2W%5k6%KRtxFwVy1#PVpK{R*_ z;}<>!e>kZnKgEOz{Iaqm+p}CU>OvPK4{fGM zp*YqNH9+WxD0p;7MIT*jt{YX7bP(8w$%KZCcyiLeq53F@@~OP(j=jA$J+s+ z8jQ6MH}LdH@DlW-q;19d`}NvNT~X-6bx|wp0745BNT0 zsB|j!p*?O=$o7$^Sz+^6dMCZj&{@)R&)nzu&way_o1=GrS?-ciQi+26{DwL8^{(>` zPO9aItk|w}DJ1E-PUnAsGkk|M6qscHTwF*FL%~^>RjYMCOC@&G%1lQAtGRKglf^cqJ^eeEivWB14nVTjKp0o5%RK_9yz9t(xX^ejP znqusk?#ZYA`^jcWLULyPv@K}jq${R}M>u@=rLG6wBV7j+O-DVS^8W*4FP1T*YvGlK z9p$_W=y?_riM^&&Ro6WH^ufRNBHuBwC0*aIr8+!>?@Jyo_I$V_qY^kJP~yxk7bf>D zez#uXkpZ|Jp50jj$v8X`kHw+D6rYBoI}{Ayw{NM-xVY4T&1|+Dw5Iq}!b@PHb}=$G z?%WQXvRI?PE{U1yvEuHwT+2QPpZzgHE@f~_(@<-=5N0@R_P202x5HXPi`9P%U)*2n zxR=r)s~;_gGz58H7~nF5Cn6Rh&1Mo7EWwjp)j&!nE4r`SW{{? zk{TV7H2d+n67Rul-?5WFHohq)c(huBX)PZ!xB!FjcH8oPEL2BUjkJ-k{WvYQ!Cdzk zreEF_iWGg3K}}}zd9~$kv7forITZQwHd57 z&D+xL>^5!g&};1k)R!7uU9*2Gg*fndDb~yze(3}?mmAp;`Q2;pA5R=CkIztaXozRw z(jz^l5b7ECw*ipy0#_ZWr#5Q<&d7@|A&DUeJ|Ok?_V(5) zmOS#m4@qP#@KvM^|J{6aa|to|A3l80)z-eex&ovO3=#2Xq<_Jy&%nqC3Aaa755b%9 zmYfgbPjfm!Z=3Jn;DCQiT?*zmo2P!bc7u{e|7KSmdWCr>_9P_luO1zVB%c- z%geUpDY_t$a)~0$Kvh}yqVqld;nNqYQiF6_!__5x&(Db8p|pZVT<{1^uv#6qA+5*v zr3n$)_p@h*%U!V6OL&`L=wKLbAm!$jgO}*?cpc_d?f`Hy@&M}90rIS{Pqs5PfY@T} z!4x7bYw`^YKp25U4{O=V_)$|l0O7M-1w7Vh3ic1xaX2%3-hhHA=CM|7^nY~5y(8(1 zEqyD$FG5X5r!1Hb)$YgmW`9^cf&c3l0wU1_vF&*Z~a|2EzT2p9aYkp_$??JL5qAc1h!5 zV+V=hdXeAr1{`C!7r^7N%%K>W2%kUakBho0X@niKROifBG!w?|Nl15NY5xK37OZI> zP2UTAS&e459lD=j_I|K%75kn5hp5hB=68Nxb^#dn=eGy4;=1<_Kc?Xh^r`JwxZ}u$y+L)WGLQ|xZ9S&Kp(M94h5wVZ%)P3 zw?%N|6J^tk{G{s8(9vsM=u~-d1@yJGt?cY@GcZ-A|C6Ng2aGiU$b~Rag9xwCF`M3| zrypjm6U1P?8#M~hm)pU-2*lJ~U0neL*j`W&`Yp^HmI6Swq9aNRjqm&)77!7zcLT2~ z_YKHw0K=}-z|9AIN;*JVmXV+!efe2eM(8VpYGc%?dK|zaC1_MAZ>dmncB$ye0 ztZOjcBCO18Ea2iJ!@%v835F8Ij@ppUV09=~xJ^P0uhgccjSaSoo|YCFR8>(^XFvdn zb`+xsI78D-FS-C641A6E!oQqOteQ7iH24&(!E~Kbk&$w5$pS95_Tl`OyNZd45mvXw zMyHI_^ZGmlV>}be-EU981$X9dtLQw`-wS@P1-1BwO#Bn9!&y zSiTG9Q*g|ne*m5ar0cZ2!q7eOnsntlKUp6t!N&lI@rA<#6`KU^D>MqSSsF}ZY7ASl zDbS6`i-P+WCiSWedY}B?8TOWz!v}=VXe*x;(EH<7ZuUvv9+A!JWGisNofOTGt>^+` z1|@%obc&a_N>R#|DStdTNhIe_*3<)*=Le%f@mqF>`y*@x7DCm0F5LtYzaR8haGfMT zOc%U)LmOQ|J-;B=FKQ8C&P}_+n^bOFDXD;Lg8)10I?;Q(f#=RP0m+OZh6O+;Qh(UP zqoQ=ddknPH%Ia$N4=@2@vBmKJ{P{BuFW43>we%SrySct7Ak5s`RC|7DsR|Nn*yJrN*50mJy5?r@?m7xb!&#%5dtOU`NwR&IqK6B z&|6M$`fQ|H2#2J?u*C~{bOiWwbtP5l>FN0on8B{hA~&f@sVKM$yExkr>SNwK4i2;F zb`Dmabc>=HL<52iM5JM3VS$1oI~AYy;e5N_O=bH(irI@G{D%sFbJK-AZZ-Lem(t(B zYGq{wm!AjtIR#a~j;Ekth#rbNw;NASeK91g9`2ZqUDK%(kc4s_k*amy+dbkvV>$<3 zLrv;^)Rc(YE<02wyk9yO{;7=Nc>cZ5NEu!I&%V9ajgMYKDh(j@Xt&-x)M*wS`#Zck z@+RWal{y=w`47Bnz2<+eDjx25x?xw%ib&iOF6W8GKqJn|gdm>hxpF*<7l`G5O*$eH zTuo>Q-QDf%s@c}x3ts;bREC3F+7d%HTpwczKyE+>=exRcTUw|nrPif%J865b0Yz#6 zcvbZyfT{44`tH|FE%^M_V_i$u_l(Hz@2!i0CJx7C6ec%#oy$zf`oJ>II_elY_fWYG z3E0)}3iP{_Jfga3c^1jt0&^)hO#T9$rBV1CilqZ4Ic}ZL{xPT1VIXUm6=^cKjyYAi z_y26q7D|zqAHG$4H~cR1A1ya1_bMs9{PV{PEOU}lOsk}0Kzala>VxC}azkfC`}|B$ zhpUIXSUVj3<2K-R!mjf^T9Hi|0w%(Ak*`Z%u2FW|XFchqp#8i%sMR@8tFnG%KEe<1 znX~)+7fhJon*>`p)u*k|{Aa1&A(@C07~^h?yjSY#-Doo#pHSpUjrHdryn67WO^$@P z=KQFsyHl&Ui}W$Ks(X<__(&rCD0QxKC}jD#f1^FJZhSqySg@Hr75(&w417X_pZoDg zhAr$c?t$O| zUZ31VFi88Oh8Pz=PL#SO&CsbKhm26LiT4g%nEgxvDKR%KGvB8JxO|gRQ!yu^Q(?;J zK`zt%j7MpF0`Z{W(LaC_$m;t?3CcDnb#-EO(R4c!c`UYEV_c;QHKg6(LLjgHJkD@S zR2_(|$OLiay=+-b8|~CBjbRrSPx=?84;CSzw+PEw0y|$#4p(HQV8P%x7`*Z-##Dn&me_=G9TL9M63ffKsYUc-{IpA8USYP668jDG3-4ofQJ*`hc3N{ z;ukzSf6+h?IV~;&E|sf;Zn@LI%PW ze9~nc=_7DQeg~KpA<$ZLbfafprlA#c<>2Qh{w$}bM}6=YTBU)mhQrhmi~8SE5WcaG zxwgYh4XPE;l3=!KoyPhTVwox8%)G`PFY362G-QF{o`)&Be{is%|H}sWE^b7c!0y?U zES3o7lHlWai1q-y{HRlYo2c&fI^WHqovYRsPT9Yh&D2#MGr_8Fv@LvzHvl_ZaGBC; z$m$}-_#m11@N8Tyz0)#8KjfCU)o31!Wm{WYu+)EE@MISg^V*#(hqG+B0!SoC!vOD1 zz;vh~@Oq(%xEL6QPoR6K^{^8gjC9jfy~jZ21J9^zz5pR)s5K%I5Uq#@X=0d65O*8AJXeklyF)JyD)YZz?xu@-)D+}*w(b@A zt8Hl%L^_o_ks^R(E%Y&biBnZ;>-(mHpE#MER8@yzrXb;b)h8Gh@Rs_qBtVIvYhGeQ z4j3Rg+n*z?A@6T$Y^+vE{Jl5Rb^9=eT5Pfs;skIayx?4cA|Jpj4iSEs%(r@PX&=!j z9|H;rSPw}42M2$oi`*g~dibcKveM$Aps>erUSS~%_Qre@hjBSt8X6Ljt*McvjS>HC zCBd4}=q>_koVu9^f-7s6T=D;;&pv)5a>02A^NE2IyN^#kf)+KBta~|>Vjrf6Tv4OX zh<`-fQ6SF^fq_SvozR$~gNXdabZ@`Vt1<0g>4`%9eEA=Fy{2TfcGH_}guQ^Ayr1N8 z9UR~}#LJjJ`X-z^%-!)$sBV%2Q6IWsrk;HBv_2`Ifm z{ckS!XQVbSIjPa&*JsDAA*ql>oMRPMVkX+fp0V9HdzcStP!RP@feY zYZJ(It-~5%;GrI&8XlQ>_MfC>OWKPCV$2AK{aC}a+mA~6TAlehHjr$z1LSBJPNk~i z^oTJ|5S*tBlkaM@kg7U2I=eKE^dgwvd=^?fR3y%b#TS6*0M2?5BD2q;dar=SgP*#L zk-rZ#%DEb#x6uU6fyckg&1G>Db4$xD*hrR{;4$Un=DxGQ%j5M5)u+X z9?s9tFR^qzg-f{Omjbk38D%CrQ(qUd8k&mBTsG!G$lA$YiGe+oS7X>A)f_`55`Q-j#0?SBiNI;l zK_*ZAA#9&W7GyCz>DU zRQf3An+*U)!yV8>6o^z&l#nshK=5zBn1H!IU+L>81*d6=+jN z>yGvtMS%~Ljfi{z+gHf(T4aG*qWs5q=uxZbh|#yeXWsEE18cf2l+ZjQfB9-f z1yoHC>xE-Y(lR)!Qt{#np=Ez|ePsweU;tDb7RLV`;s$s;1(fwYpl=aqGs zzb%ZVA1B!sg=L53f61X+efe%OScGym?eNJxrR3L?x2SQhrpXg0`tMVk%96)_)N`OM zIr_}^@;IPQGJ}i%@$Y7`BO4vN?}z(#=k*ddVuwB|5a)U-uD(dIBGSqKLG@4J@VdsC z%26=4orA-oNF8pgaD4owYnBy^*>3`?NGHJ><*mw3i@)K(J3hW6g`VqS1~%Nx;bN{qcm%BV6N3B!@Js z{xNz_T~-#-Jy!^c0$@FM0Ql>GWt^|>a2bJJkno|OaN^|Q1!v=HnhkqLuc9aBvSVpm zO)gO!c=>|UA5L6w=e-JT{8H@N__CK@JFR9s?)^YSu|Q^bwelrRJ}fQ$yM0T_PyXo% zB*A?^j$Ie6L^i%g&c0U){~SWmE>R)jfR#~nf33it=KM(knS8n1`Q&qK9al#sjSu3& zNv?M))?GH$L;HaEPRZ9no7KPHhl~jS7R7=>fnwc+DO=#4;6`*9>qzT1Qda&BI(JZh z#Xf^%i-js9X-7v#z;Lt4L92(DTL1t6hKcr(ulM>ul4B@nd>|natJ=ukK8Am}UIOxc zp6*ciRV2=SZ~s3mK)V*ra}|OVHi=zkz~)}|LymINBb^ZU|I=}Y%|>nIA`!9n8i(K{ zHLMF>dpr4f=E)71j+!EF%kwtlz!v#UzSyne60E$9gsnusmnIihL0!2R%tK#VJuOLjw|xs#0%P% zec2zo-e002s{GMl9i{@cyf#NbUD9?TS)d|g*Nnl>s#{4e+iChq(*6vpLl zf#RoR*j3te+S$s>R|Wa`Ao7ytgZ@J4yImxqZL<2ZGBWO-o;m4|vt9w<6A0pg^8yH{ z2g~bx&j{HH?(qh^Kjom8=X!uUR9q16070NfW zD)3Gj8J-Luh&6y9gMZ*&=ykBNVjH)DBOeWi%wHC<{rvTUX9Ykq;3fNh{*+*6$37;z zJO|&VUb`>#`X-EAegL0ad`mk6d_ij6xES;hb3L*2(%wEkrKP1jCt#Qe4Zx{;Yf7&K zBL?(##V&z71m|1XPX_Zg2^M6?Uz%#663qv7xOiIEjse2X+cCem9N^_h_fB~1-*L{orV_;Mnh{)ff;L2Jqe zzU^b&>T~yB_Sz>7XL?;OlGBB*ao(*76(?{0FDu^r2c*-Vk1e}2e$g>?gp&d^lBOCj z50DpJKVcY#{{ZL};%{1ydMWR;YVFThWcDDEI;eK|AwJ4@0#MizvNmYSWN0y-ZXeEp z21t7&?ud1ScvkW5t<$CX+p;xj~V*QOp@Z1~0W zhaAm?Sv!51QDYe%F|2X;;hnP8V$*Pr{YM5xOHt_C|EAv$mLYiKjp4sS<6_-?)+D&> z_-)lkvId}zbP4UZ`cDQjff5ew8kv1>k`A;NB(4?QC*T5pPB?n#0IWBsUej#?FF;WN zb*6sgdkx}qfPF$z;GALNHmZ}#Y?L*3-zf3Ge3Ud@BV_2 zJQz2I*Y;AD`Erd=q$tEfD8kS}Ni)*YBDaBAhhQzGbYX(0a}YW_1-%S-Cp=&3&=F`X zsutNvmjup{%AlwdYP2Ga#s5jGtv}x1d%{;=IZ|q(sEF(JE6J|1N+o6HS({2+;I!3d z6aIfMScxUw31qDShJTv!Qq}@b(K)=)%HGJO4e4t-s5YbA`p0y7H;*`dh^9a>n4oGd zrX>2U2rOJg|AMo6xG0DbD=&<{Y;x-!z+vFgK77l&@#~j?jt;00-%0TSHU~-H2p76) z4|nWytI)s<2`@p#4MbR)e(%-rMAa6&ZJ5|;JuLwaI2kzKsECN1fprIDh2HF11Qd^pX@q- zybo1?SH;G+>Y2)c!YHQ#)p`tS0|VLUSO2vp!vA~?;dnARhLbUh&PCI%GMm};2d~`q zXm6G389ce0JE@_r9xUP*wCsJJ$CD%0h@MefdjbqK-Su{fzmoKoRGCzW6sCzMz|O*g z?wt_kHq_VW@AXPc%N>6B*H{`NHj^CmaR7EPp{TfnIza386LC;VLBzI67oZRw(xK^c z1E9Z_wRQ|OQu2dI5-`|*kncqwim;5bi}CRxWc*L%u|Ze{MJwJ=Oaq~1;f;+V&8LtJ zMlIp_MmI75T5pynW5i`Xq5KD$j zkMvBwFnppWqJY@_8>2#$9|RfO8&NzZv&MQ|+Ki7k-;a`_#?N4>)6I0xb`BJen&Bsy zb0qDMSC}?HKmH5QRk#(hY?ry48yc3H5Q0WflDvzKHX|^gkAR@IWqLkFie4@muGQu$n&R&aMetg}_cS$5SFI6XAZ)olkR1NKm5(jl%~IYt75gM@2)E z$}%>aeDrDz)0jQ)k5%vCDd@mTf!4T~k^Sti;w;nIvmwwXJ zy*|FJp}$L~)iU{TboPO<0^@X0U+UGBCk9Qp5g#9)rJw?rJ26Ldldo)fsem0uhxyBl z;%(LHno1N!Y}zY?F0LKX-SXWD>Iwk5#lgf3_%`?+?e=ZJl+@MLmpp+zT_XL+S9tio z+6Xe7ngg}aUnBCe`a6x}PS6Ftp_~DBig;+|fonkdqxdCMyh;z;*@w+$d$Iin(c${Z zNVuyK0^lRwzBMJVr0+>}51oFWvMDO2bAr$b`>6I4kG&^RWSg0Oto;*DVhqNgaQ%>- zC~0x|6wS2Z<5E{Caa?JfotRzs@iwCTbn3z%R@SL(PSS$NpYJ5yI*%*dIdc4F^qTG+ z{qyNcNz&>ix-dtQk~l-pyA7sr6j_J;2^9q3A@u7XIF8}bC3^4R?(Y8P%_$g(VLobd zTI~g27acx$Y0%j(fcpixLf~+Sa_r7?FhxCJZSr4zh%mw z*5M6V64tO6sS6Pcj0+?RMisqn?b70W@PHZ^rP(exzIu_dAA0C28&Itveos9r@fsac zmKOOJnwpct!&z@Kty5M1s)-w17w&v25GnU>8-`VfZk9-iizQzuU4Q#chEtXL;_y?8 zy!G1?8~(G8>V}Aak)}P4rCqt~-} zPLAhE0j^SK%6sE3ti0cNVmvoy4dM zgsT8uOifOnLpGA*hoh+Xc;oW0i)XpRv845jI2z_EopS zWn#pxrz)u>qV1>rut|#i$$a`0_Z|M7npcG#C*{A$dTgk%)26PSxL7W486H)-8>AO; zRmWzHe%i@=RVy{Q(1tYeMbRYJd^)oeJ;$zWQPu7R)?V{E41QIQ0F#lvMvO}&I(Pn^ zWZoE3FkAw48yg7jGvN9=H-WDf$kr4^1g|3!1Q*YcT#yDAlESt1#~eVTwwJhsA!X}*w|Re?}S<`DtmoHL%LV%MqQy+ zFG<&sKBMNh^zdK5Fmksxr{**N@$uXINK1=&-%k*q0OjwXMIMcN<%x1=x!Byn8F8`tAYy5QKi`H3bFb9O9=3^au))p<{juf(^m(@DHd1&|MzP z)?o*VgDx@N3zp~foFW-{c@r+Ms+A=NBv#~2ld6jX$=`$m-7>Lt9#mnv@tOaERj-JHy2+YA>vd4iGkKBYX}k$t_RcGU7c{BMfQKh+SdZSm`loC zieE-@<>6!ti~zYpq}r^kRUy^^mJ$M19x=hUIAGdj8pj{E;iDfJzv5%>(!EjU$BIZ2SAAhYG%?(8 z{zJX}h!4vV+MVjrNJ%swXc@!zdV$$H-RR8nsu`Z{N3gyOzBlem82vvi-~oI?X}o4w z+>j^lho2HDfuexaOUEEX3vxV28n7xWbyZUv167Y9U+2{=rY_b3r+>8t(*fje=b99K zPbpJ{H10{UVP}=<d8k_g#4*vVt(aqN;dwgiuqerRCR>W8eAU(L%PAp&w}uu zM+e@IKR$jf+}bBngoVtMtGou(F#K?o!j5!g?l66WJZllOS=DE-pFx~2iY$b&eakuk zD>i){94HKhtH_tkzV8 zcB_~Ebo3br3>%Dluo~=y7Tg(q8IZ(v4R=6mSN-<*3eIv+hQ%Br z7|!E!gay%6A z3+lUrT7ars z;M*_tJ=OvLtb*^8y`ljnm7LqV|6Z~o`~5euUT|aCy!#rYL+K3^CoLHcS*U!p44@wo zVJMBH#mkm)3DpMq35fde@g=&q$F~Va2Kw|1&a=u=&Li+=WIutP(0G=Gy12}R(|Yw{$FQ)JDjCw{3qHWNwOm`Efb=^=a?RAy4%^G4n2i}_!h9a-yXbYc3HB$v=WYMbuL4k={M7;WViZ|>u;yyP>Y_z-Tn}7^$YM5pc{JJf@HY& z1{9UyF@N%39*hj$Em&t--3z{jMzL+Dq4Tv<@<1ejCH2W*UQ<;WGN0y0TB7$xmz{fN z?A87p=p;SSa{rL&Rbnt*55REx7yhT$$I0z73Xo~6ofkR;82C_un{ji)LDMc$7kKRq zKHF257^)i7f|NIJczU`4Zqc;~0Hv4NI(TdN<7Ep#r7!dv232QOH)lw$?GT}fgqeOx zh~ahBCequh43K4#>wfXfskX{|+r`bTnNwpcte-q8{czQpSK8oJf}r1)!n1B8#zxnj zp`01*kzXABMdS|zY;~W#@J02R8Yg<0>&9F4zZU=}e5d(K8hujk9SfOpTUIV>OB5ER zmYRP^BmCxX*?(h)`@l8uyul9^Jjq(1P=KUiwKMq!sv{*6Uk48lXgDx46V`!UP-gk# zOv&NbJE$={MYpOS{@LRzvp5-R1Azd<@gbU(fE0&-gy2knD#7=JCS+OzFi!i|EOqv_ zJ*9Yaw!%yu*Dd<%@ex{$cgZ7`UoMKq`@Y(rRbJ6fQWHPLa}R#&GWg&#s~<1R``%e~ zX|2$)D2I!#DQe%-)}2Pdg{;AXULA7pvM?gHo}L`(r?& zRqePcW?i#0FD@*JKx0r52y|BO+!~~hWRpSnmJGgZ_Y?pVK%M1(#_OIE-O-Ja>LZ=wI4?bV8-H>G5zni>(E$eW+R(|YF~C$kTJ<%R#vq>)P{Y6k z`&)OOt_55Q~_uwxHD8uE&#mL-2VMcffTKkwJhu(THF-}i`Pu~bHx1D0>q89+Mu9uw#^x%Gmw%Os0elUa11Xn$cP?bK-b-@i8A>77SE znfoXizRu=kMxtqGiJV772Jy6A29C)Y8*&_>BJsVW!tWiJoa%2q{m#U;8LM&%0=Dei zNZ7CpV47*EFN$eY7zNQJw6R#5qo`$s4x=GkrvDzy3pDC2I!zRLyQ`+DS^s+d>EVN? zn{*lv7w$%Gb2l$NZH439{xhYzzk@zT+g{Be64DZKeezv)%|i*i@FyNfX)pcB?pv`7 zV@kbOIjb-YQa<6yFK!E?y-{;$f164W8tp^PHHn{!&p7ncR7VrioqcVWBTu1h8-BTpVMq|30^*KpTUcFDEy``Vrp4ihuZhCx9_9e@yK$OehPiaY3TD9 z^sh4~RE1pXGS6h5Pf4C7eKCsF_QHMl$mmyfKk45+>F7Wm_vzeZJVD;CCd0hC=7PLs ztCmDIly&_^Z0zG>xaEJM%EnQMY--4O^^%qU_f9xOF)tXA={`sL#(`vGY)AMU$2~>o z&^Jk8=t9#<9x+`)t_B=oK$C?1om*J=J_*4OAliBdApubhTG4|sMU+l zS~w8acw3k0?tfVU1Qt$j#{ z0Eez|D8}a0t;ccTHpPKt*cdA0(-rz26O8l)Xcf6%c%eFRD7Y&=lJUKXjL zA^w}KH^^-L^h)~1x!q*(@9O%v{0Ov~xh|S@^$xB%UF&%DlLzEBVlqcrHD6RmCOr9p zAwNo>_$Z)D4vl8_&g-d@gYUWbD*Q*K%>`eNOUDqto(imvRvcR3{=1Ibai8Q;Wo*iP zQG^S*1FAu!q_#-~c6n^>Rov&ECrlok5WC6Jj8WrjSqQv4eD7!Tg|+<(TUDkvGgBL3 zA~4=Mj=v;+&j*cSmKnasXyGE+fHvs$fXgr4nQ=5rR!?25yH%eM@$$Kl@A4WHsm5kI<(?+h1H zZCTHS2kcS)T9ZdKNH_!FH{OHHo+`BPs7wI?0e5at8OrqrD>=qH2|?sR_R#%iW!H6U z!+o2@+Z9ySC;e+-V^jyPwySa5D1X$FiuUcaeo;+Xo8IBcZc~MylWWRz9!As20}8>{ zpJ-p>ymgxLv}mc&SCzVnPa7E5#`xdh^UgA`jdQ|*uq-*;x;}n^w9XJk4I4K*Lb=&e zjaxI6p6A62yQcm6IYeIA01ELJu+0cSV$x`9tWifRiHPP&Vniz8aqRQAnwL$QRodIZ zl(!kpH!HAA96NfmY$69dO~2cj1~s&>^U9mqGxIsrawWd|A!KGU z$RgGb5_dX(i))VRURYv~%N%T$eoa^I=H<|%&lIC1@J+$%ve)9?uEA4p9zS9-J zeK}$l(_`Z^uzGWC>8`8fULt09mz6yAyts{VlwvCv!(@6`^eSg*)rC!BEkGm~-}D<= z-2tg!&DoRetJz(J|GnM3aN|vOsqvvFq3&*Nft7=)HHZIW7LA~;k>Ti15@syxc$1)& znxpEZ9&E_B*QX&_;d?{xGD&if4s)UD%%zGv?_jEtBSQ~ZBHGCf>H?0S>V&zcUNl^Xb- zCv5$t*5I%cp{O{Q@$aqM=S}L<<|KUIFLV}{&Y_d2w2a9`W@6w*ciXV{I9K=DuR+3M zWU+%>;{)B9){{&s>lj0HLhGNTd!4M( zN7DFr(_UoGp9Do0x_=RHFurECXQX5rY%!jsPyH>q5j!NWO7t{WJ$ZcJwYIvf@t~=r zt?7P4t>E!7sb2KjZz0*kfZw}E0|pbJK}H@9CZ@-Rb0e_=>kwi;h#p zCMS!vK8z>g!++<&pf+Fs#Ej5BPnyAYzTO%Av@sH&9k-nPZtXx#@42MHcL9u>pl8(h zDhCW}UYs>IhUIR9aSyvY3TogFQ~8tkDb6b_c2(`*!>>F4JEdChTMLra9HA&K1qPyw zvgC^w=aHvu3Ax7@sM@bbvKYk+U%eR2@D(81v`cBMEKOCGGRw`2GG^<2+Q~N+^}$lw z=I(I8y`0zVwQ;yBIc@%RbsMWXCua3@wrj*1P?gz!Tx?U5?6-DP@Nf@5L*JuJz>^lg z=jw{a2G?)iXK3>qde<#yD;vpwV+WS$pWAUK>j%29x5wsCx=!*--a9&%vAxNTiecUJ z`}|hulX($U>@`|It?k-E^|_?hzx|iUZf(I>Aw6nTx-stk|b->p+T(h$QLnSaSN`O4vp3*oosxC62Q<6eju=lyvjzmCP5JoSsMY z70UIcJ^J2eo0f2@`vtw%Yh!{-_vW+I6f!6K`+pCGEDW4Y7v?g8u=9Rz%7smRJblru zVl&?86qHA+w^1fazMx4N`i$z5^Ep9noCmwjH>=F!bV9mRYh0bsmp(A7YkX1`(x=lA zF4xJ5_-*|}xfA)n>*I%_x|p`K-Qw@l&zZh+oVkkw@VBLwZ*A>?#BD-5ZH#1Q-Jh15A`XFK4+cdy#Ub1$r!G4<3 zT}>{dC|Y6O$VbmZDdMYY^N~4|GBxURo%tb$?V7vUlQ*XH4@c`5-*k<;cl5s2Flm@1 z>M`N?Wi?KQoi;&b`wtxRLc`c%kdD z%Gg`ZQTbfEU6mSWnQ6;qwvqgvYd7up{utVEo6TTFmPa8ND_~81#J$pww zCp5^AXW4IR_w3k;&ui12qk_d8H~R?#j^d{@33d_HgN2bPf8Vp=m(HzJyAMlFT?DjW zCKQ*s)hK=PHp!1AHgGW>$mun&<7q1FZ0aQ)5DvQclK&Igh+#Y0ZZsunieQihytjnx zAGB&K`a0z%6PqPplg6@LG3p=_+srX&M929n7QCMcJ!@TP$BbC#8SnN$k^5mQuX-N3 zMwonBTdb%5+o2v^ioiHQLAb&KM+*N^m?$ItP# z8yT-#u><4tDny@4j1;I??!0rPFhD`^4*{iWaC{=0c%D#GJU((qnHWQVdeJ{itzvHO zh#>t|CEI(4NCGI=FN&%(6J95YY1A8qR!050P|lY5dcwc1rNo~T@uo%qgNSxC67?zJ zp5kDxD&M9yeosQE@Y!e>2u*8k=pI_`jyZE;q znuj@O`YJ*X=~XU5DD{4L(~yb#qxc(Ku}t-U?~6s*{+x;ausEhoJ;U|&jqumqqySCY zZTaI1wtsZfiFyNtZzm#kJPzLOe&=QQ-)SpxkNuo&f`VvpoVrH}=uRgmC$8%t9rUv` zvJ^|B@`AgHE8JRK)XW-Dmc&$-bVIhb_XX)$@H>e3g}LJC{t?(jzb|(#JMxWw#}siY zFqTKMcN&a0bQ;UAEtE8riB(w;GE|&eN7Mc!;%nLnIi|DVhEKc*{qN3QsUrEFojp-$ zX3g`M-0WKq;-1UKb1~g`=lU%R|2br^Qb48_QYaA~DbM6WI_u%Og(uc{SY|1J?B1|q zy0*F7j5Z_Xj>Jtuk}TGn`1Iy8V?! z=V|B~@l2mz7SdjwWSCyQVY#(57&g73pMK`#Qq)Q6bJQj{hw9hHFYmcs+A+B^HW9;# zE>fv*9K7De@~0wt$X@2gC+mM3W4_w>?BVyxRSFpg8=Jws@L~1#X5Q+d4o~cEsXrF= zLn7}hUn*5ZIo#Xbp?>g$WM5&$?wv;e=xsaGF)eYQG+QDw5`V72(@IpZK^v z>AFASAnUNcVp(IKR$QMtIuGPGWDHJxvkj)3Z37iJxJ4Qg2<0aD^J>7 zyuOc~wf&8bYq9mzk06d1jvBBv$lN+-#u?;oS?ndbY~0neaYaY&xHogUN61DNPdT?n z((e7+^3RS#5SI_ZMVD>zSC-`Uk@uGPrZcoT_^q2Cc<0ZX#a?~>S3O24ZGPzLRra2F z>TwvUf}5T#ms8w8!idDv#G$s~Ht&R+oG&kAee#B79r5T)_l{VS#e|V8X8Iy2^>kxG z@c89vKBk}j+P!vnzPaAn`zj=(w|cp{SLsJ>=k7frQr~oL`R80PBtLq{ro2SZX!|eM z7HaLW@sG0qeZOZ9w6o3XF<(tBEPVX%VQ%cEra<2Kp0W5mq4ep!Q1PM9yf&Y6bAwcb z^Q^l#SQfqtWFs+Ae=ON}x*o?Os{BIgs|he>?hX_$@$t?^>2>NG*_c?=xeTotDKoLF zCF^^u((df;tm{Sv)QU?UdO?n4?YC_cVTz zxHIdk^|O8TtKUAaS79qv26N+2T95V8rTl!thSP6)Ul<>ZG$#JLYMm#_I2QX8i2i|r z2z|yFkNfY0z)bt}ir6f1|6qtSWf6EFzR{e!Rt`q3(NDN*C8ZEWSfSC*UTdrdx?AY;l#obUsYbb^#1tOIq~-Td4`4j z|He!-nPwGVn;!njSBID0OA;3y3rD92eiO;HU2jhBwb7uc*dQxkjgKnO0O6BK%gsjNb z;PUVDF$VXtPtJ;IQlc~CSE3qN1JxVc%6%IJ4DmV$Qn|0pt}H9_zod2XUbfUzGWn_A zz1oswC1c*xYtH3tDP*HqdL;CRB*y72l_c%;hsp<&g+gCxT>Q1mUZKxS5qs3~3cFS% zZswFz9}k`E8&JJ_OUto7o9m8)bdHAkeSL=jx?Iu^h{S7DOK#(TjrUmnu*IW7WlQ-; zRY!Qlw?(h5DsQ*@L(6en=;49r=rT*t$yTh?c7>a0?f%-=WD&RVD|!4xEZb8Vi?t*2 zikpQUv3c(+(V^Dqwo=_hA_L{{W|WjOhRX diff --git a/docs/images/analytics-dashboard-2.png b/docs/images/analytics-dashboard-2.png index 134222bc4ef2bbe82af1c6c6140ec2e5036941f9..d281eaaee9891841186924fbbc7b87d06d29619c 100644 GIT binary patch literal 55074 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

a>l>6!QTUgQ!+u~K52 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 H^6~!yP%jx( literal 74984 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 z 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 Date: Sun, 26 Apr 2026 15:04:33 -0300 Subject: [PATCH 076/104] infra: implement AGENTS.md for shared agent instructions (#40) * docs: add AGENTS.md for shared agent rules * infra: ignore agent-specific local files --- .gitignore | 2 + AGENTS.md | 54 +++++++++++++++++++++++++ CLAUDE.md | 115 ----------------------------------------------------- 3 files changed, 56 insertions(+), 115 deletions(-) create mode 100644 AGENTS.md delete mode 100644 CLAUDE.md diff --git a/.gitignore b/.gitignore index c4c8676..0b360fd 100644 --- a/.gitignore +++ b/.gitignore @@ -55,3 +55,5 @@ pids # Diagnostic reports (https://nodejs.org/api/report.html) report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json +CLAUDE.md +GEMINI.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..226e30d --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,54 @@ +# AGENTS.md + +This file serves as the unified source of truth for all AI agents (Claude Code, Gemini CLI, etc.) working on the Rayuela project. + +## Project Overview + +Rayuela is a full-stack citizen science platform with adaptive gamification for crowdsourced data collection. It is a monorepo with two main packages: + +- `rayuela-NodeBackend/` — NestJS + TypeScript REST API (MongoDB + Garage S3) +- `rayuela-frontend/` — Vue 3 + Vite SPA (Vuetify + Vuex) + +**GitHub Project:** [Rayuela Workspace Board](https://github.com/users/lucas-matw-unq/projects/1) + +## Mandatory Development Rules +- **FORKED REPOS ONLY:** ALWAYS work exclusively in the forked repositories under the `lucas-matw-unq` account. NEVER perform actions in `cientopolis` source repositories. +- **ISSUE TRACKING:** All issues are tracked in: [lucas-matw-unq/rayuela-NodeBackend](https://github.com/lucas-matw-unq/rayuela-NodeBackend) +- **NO AI SIGNATURES:** Do not include agent signatures or attribution lines in PR descriptions or commits. + +## Development Commands + +### Backend (`rayuela-NodeBackend/`) +- `npm run start:dev` — Development with watch mode +- `npm run build` — Compile TypeScript to dist/ +- `npm run test` — Jest unit tests +- `npm run test:e2e` — End-to-end tests +- `npm run lint` — ESLint with auto-fix +- `npm run format` — Prettier formatting +- **Infrastructure:** `docker-compose up -d mongodb garage` (then `bash ../init-garage.sh` if first time) + +### Frontend (`rayuela-frontend/`) +- `npm run dev` — Vite dev server (http://localhost:5173) +- `npm run build` — Production build +- `npm run test:unit` — Vitest unit tests +- `npm run test:e2e` — Playwright e2e tests +- `npm run lint` — ESLint with auto-fix + +## Architecture + +### Backend (NestJS) +- API Prefix: `/v1` +- Swagger Docs: `/docs` +- Pattern: `controller → service → DAO/schema (persistence/) → entities/ + dto/` +- **Gamification Engine:** Pluggable strategy-pattern engine in `src/module/gamification/entities/engine/`. + +### Frontend (Vue 3) +- UI Library: Vuetify 3 +- State: Vuex +- API Layer: `src/services/` +- i18n: `src/locales/` (ES primary, EN secondary) + +## Environment Variables +- Backend uses `.env.development` or `.env.production`. +- Frontend uses `.env` with `VITE_` prefix. +- Key secrets: `DB_CONNECTION`, `JWT_SECRET`, `S3_ACCESS_KEY`, `S3_SECRET_KEY`. diff --git a/CLAUDE.md b/CLAUDE.md deleted file mode 100644 index 2db8b19..0000000 --- a/CLAUDE.md +++ /dev/null @@ -1,115 +0,0 @@ -# CLAUDE.md - -This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. - -## Commands - -```bash -npm run start:dev # Development with watch mode -npm run build # Compile TypeScript to dist/ -npm run start:prod # Run compiled app (dist/main) -npm run test # Jest unit tests -npm run test:watch # Jest in watch mode -npm run test:cov # Coverage report -npm run test:e2e # End-to-end tests -npm run lint # ESLint with auto-fix -npm run format # Prettier formatting -``` - -Run a single test file: -```bash -npx jest src/module/auth/auth.service.spec.ts -``` - -Start local infrastructure (MongoDB + Garage S3): -```bash -docker-compose up -d -bash ../init-garage.sh # First time only -``` - -## Architecture - -All API routes are prefixed with `/v1`. Swagger at `/v1/docs`. Port 3000. - -### Module structure - -Every module under `src/module/` follows a strict 4-layer pattern: - -``` -controller → service → DAO → schema -``` - -- **controller**: HTTP entry; delegates all logic to service -- **service**: orchestrates domain logic and calls DAOs -- **DAO**: thin Mongoose wrapper; CRUD only, no business logic -- **schema**: `@Schema` class with `@Prop` decorators; has static `collectionName()` -- **entities/**: rich domain classes with business methods + Builder classes -- **persistence/**: Mappers (entity↔template), DAOs, schemas - -**Mapper pattern** — every entity has `toEntity(doc)` and `toTemplate(entity)` static methods to convert between MongoDB documents and domain objects. Never pass raw Mongoose docs to services. - -### Auth - -JWT via Passport. Login returns `{ access_token }`. Token payload: `{ username, sub, role }`. Expiry: 1 day. - -Guards: -- `JwtAuthGuard` — validates JWT signature and expiry -- `RolesGuard` — checks `@Roles()` decorator metadata against `request.user.role` -- Both guards must be applied together for role-restricted routes - -Roles: `UserRole.Admin` and `UserRole.Volunteer` (stored in User document and JWT). - -Registration flow: user created with `verified: false` → email sent with UUID token → `POST /auth/verify-email` → sets `verified: true`. - -### Gamification engine - -Located in `src/module/gamification/entities/engine/`. Strategy + Factory pattern — engines are swappable per project config. - -**Points engines** (`gamification/`): -- `BasicPointsEngine` — fixed points per rule match -- `ElasticPointsEngine` — weighted points: `w = 1 + a × d` where `a` = contribution ratio, `d` = distance-to-leader normalizer; rewards engaged users who are behind the leader - -**Badge engine**: `BasicBadgeEngine` — grants badges when checkin count matches rule threshold - -**Leaderboard engines**: `PointsFirstLBEngine` (sort by points), `BadgesFirstLBEngine` (sort by badges count, then points) - -`GamificationEngineFactory` instantiates the correct strategy based on project config. - -**Recommendation engines** (`recommendation/`): `SimpleRecommendationEngine` and `AdaptiveRecommendationEngine` (rating-based); both implement `IRecommendationEngine`. - -### Game lifecycle (`checkin` module) - -`Game.play(checkin)` runs the state machine on each checkin: -1. `pointsEngine.reward()` → compute new points -2. Replace old user instance in users list with updated one (stale-copy update, needed before leaderboard build) -3. `badgeEngine.newBadgesFor()` → compute earned badges -4. `leaderboardEngine.build()` → rank all users -5. Returns `GameStatus { newPoints, newBadges, newLeaderboard }` - -`GameBuilder` uses a fluent API; `build()` throws if required fields are missing. - -`CheckinService.create()` wires everything: fetches project/users/tasks, uploads images, builds `Game`, calls `game.play()`, persists `Checkin` + `Move`, updates user's `GameProfile`. - -### Multi-project scoring - -Users have a `gameProfiles[]` array — one `GameProfile` per project (`{ projectId, points, badges[], active }`). This isolates scoring across projects. `user.subscribeToProject()` creates a profile; `unsubscribeFromProject()` deactivates it. - -### Rule matching - -`PointRule` and `BadgeRule` have `match*()` methods. Rules match on `taskType`, `areaId`, and `timeIntervalId`. The value `'Cualquiera'` acts as a wildcard. This enables declarative configuration without custom engine logic. - -### GeoJSON areas - -Projects store areas as GeoJSON `FeatureCollection`. Rules reference areas by ID in GeoJSON properties. `GeoUtils.isPointInPolygon()` (Turf.js) validates checkin coordinates against polygon boundaries. - -### Environment config - -`.env.development` or `.env.production` loaded at startup based on `NODE_ENV`. Key vars: - -``` -DB_CONNECTION # MongoDB URI -JWT_SECRET -FRONTEND_URL -S3_ENDPOINT, S3_ACCESS_KEY, S3_SECRET_KEY, S3_BUCKET, S3_REGION -K, RECOMMENDATION_LIMIT, MAX_STARS_AMOUNT, NEUTRAL_SCORE # Gamification tuning -``` From 3aa3cbfc6ca280bfa0523fe63a261bb9436e0d70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francisco=20Ramiro=20P=C3=A9rez=20Ramos?= <31168967+FranciscoPerezRamos@users.noreply.github.com> Date: Sun, 26 Apr 2026 20:58:20 -0300 Subject: [PATCH 077/104] Add Google Auth login (#38) * Add Google Auth login * Removing unnecesary google id index validation. It was added to save from bad scenarios while testing. --------- Co-authored-by: Lucas Matwiejczuk --- README.md | 4 + src/module/auth/auth.controller.spec.ts | 38 ++++- src/module/auth/auth.controller.ts | 16 ++ src/module/auth/auth.service.spec.ts | 179 +++++++++++++++++++- src/module/auth/auth.service.ts | 186 ++++++++++++++++++++- src/module/auth/users/UserMapper.spec.ts | 6 + src/module/auth/users/UserMapper.ts | 4 +- src/module/auth/users/user.dao.spec.ts | 23 +++ src/module/auth/users/user.dao.ts | 11 +- src/module/auth/users/user.entity.spec.ts | 2 + src/module/auth/users/user.entity.ts | 11 ++ src/module/auth/users/user.schema.ts | 13 ++ src/module/auth/users/user.service.spec.ts | 9 + src/module/auth/users/user.service.ts | 6 +- 14 files changed, 500 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 0d7f544..b4bbfb6 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,10 @@ $ npm install $ npm run start:dev ``` +## Google auth setup + +Para habilitar el login y registro con Google, configurar `GOOGLE_CLIENT_ID` con el Client ID Web generado en Google Cloud en `.env` or `.env.development`. + ## Test ```bash diff --git a/src/module/auth/auth.controller.spec.ts b/src/module/auth/auth.controller.spec.ts index 7600828..33269ea 100644 --- a/src/module/auth/auth.controller.spec.ts +++ b/src/module/auth/auth.controller.spec.ts @@ -4,6 +4,10 @@ import { AuthService } from './auth.service'; import { BadRequestException, UnauthorizedException } from '@nestjs/common'; import { UserRole } from './users/user.schema'; +jest.mock('@nestjs/jwt', () => ({ + JwtService: class JwtService {}, +})); + describe('AuthController', () => { let controller: AuthController; let service: AuthService; @@ -11,6 +15,7 @@ describe('AuthController', () => { const mockAuthService = { validateUser: jest.fn(), login: jest.fn(), + authenticateWithGoogle: jest.fn(), recoverPassword: jest.fn(), forgotPassword: jest.fn(), verifyEmail: jest.fn(), @@ -36,10 +41,13 @@ describe('AuthController', () => { const body = { username: 'test', password: 'password' }; const user = { username: 'test' }; mockAuthService.validateUser.mockResolvedValue(user); - mockAuthService.login.mockResolvedValue({ access_token: 'token' }); + mockAuthService.login.mockResolvedValue({ + access_token: 'token', + username: 'test', + }); const result = await controller.login(body); - expect(result).toEqual({ access_token: 'token' }); + expect(result).toEqual({ access_token: 'token', username: 'test' }); }); it('should throw BadRequestException if missing fields', async () => { @@ -125,4 +133,30 @@ describe('AuthController', () => { ).rejects.toThrow(BadRequestException); }); }); + + describe('authenticateWithGoogle', () => { + it('should authenticate with Google successfully', async () => { + mockAuthService.authenticateWithGoogle.mockResolvedValue({ + access_token: 'token', + username: 'test', + }); + + const result = await controller.authenticateWithGoogle({ + credential: 'google-token', + username: 'chosen-user', + }); + + expect(result).toEqual({ access_token: 'token', username: 'test' }); + expect(service.authenticateWithGoogle).toHaveBeenCalledWith( + 'google-token', + 'chosen-user', + ); + }); + + it('should throw BadRequestException if credential is missing', async () => { + await expect( + controller.authenticateWithGoogle({ credential: '' }), + ).rejects.toThrow(BadRequestException); + }); + }); }); diff --git a/src/module/auth/auth.controller.ts b/src/module/auth/auth.controller.ts index de10f03..5fa107f 100644 --- a/src/module/auth/auth.controller.ts +++ b/src/module/auth/auth.controller.ts @@ -17,6 +17,11 @@ export interface RegisterUserDTO { role?: UserRole; // Por default es volunteer } +export interface GoogleAuthDTO { + credential: string; + username?: string; +} + @Controller('auth') export class AuthController { constructor(private authService: AuthService) {} @@ -111,4 +116,15 @@ export class AuthController { role, }); } + + @Post('google') + async authenticateWithGoogle(@Body() body: GoogleAuthDTO) { + const { credential, username } = body; + + if (!credential) { + throw new BadRequestException('Google credential is required'); + } + + return this.authService.authenticateWithGoogle(credential, username); + } } diff --git a/src/module/auth/auth.service.spec.ts b/src/module/auth/auth.service.spec.ts index d95c797..c5a34cc 100644 --- a/src/module/auth/auth.service.spec.ts +++ b/src/module/auth/auth.service.spec.ts @@ -14,12 +14,16 @@ import { RegisterUserDTO } from './auth.controller'; jest.mock('bcryptjs'); jest.mock('uuid'); jest.mock('nodemailer'); +jest.mock('@nestjs/jwt', () => ({ + JwtService: class JwtService {}, +})); describe('AuthService', () => { let service: AuthService; const mockUserService = { findByEmailOrUsername: jest.fn(), + findByGoogleId: jest.fn(), create: jest.fn(), getUserByResetToken: jest.fn(), update: jest.fn(), @@ -36,6 +40,8 @@ describe('AuthService', () => { beforeEach(async () => { (nodemailer.createTransport as jest.Mock).mockReturnValue(mockTransporter); + process.env.GOOGLE_CLIENT_ID = 'google-client-id'; + global.fetch = jest.fn(); const module: TestingModule = await Test.createTestingModule({ providers: [ @@ -232,7 +238,10 @@ describe('AuthService', () => { const result = await service.login(user); - expect(result).toEqual({ access_token: 'test-token' }); + expect(result).toEqual({ + access_token: 'test-token', + username: 'testuser', + }); expect(mockJwtService.sign).toHaveBeenCalledWith({ username: user.username, sub: user.id, @@ -241,6 +250,174 @@ describe('AuthService', () => { }); }); + describe('authenticateWithGoogle', () => { + const googlePayload = { + sub: 'google-123', + email: 'google@test.com', + email_verified: true, + name: 'Google User', + picture: 'https://example.com/avatar.png', + }; + + it('should link an existing email account and return a session', async () => { + const user = new User( + 'Test', + 'testuser', + 'google@test.com', + 'hashedpassword', + '', + false, + UserRole.Volunteer, + ); + user.id = 'user-id'; + mockUserService.findByGoogleId.mockResolvedValue(null); + mockUserService.findByEmailOrUsername.mockResolvedValue(user); + mockUserService.update.mockImplementation(async (_id, updatedUser) => updatedUser); + mockJwtService.sign.mockReturnValue('google-token'); + (global.fetch as jest.Mock).mockResolvedValue({ + ok: true, + json: async () => ({ + ...googlePayload, + aud: 'google-client-id', + }), + }); + + const result = await service.authenticateWithGoogle('credential'); + + expect(mockUserService.findByGoogleId).toHaveBeenCalledWith('google-123'); + expect(mockUserService.update).toHaveBeenCalledWith('user-id', user); + expect(user.googleId).toBe('google-123'); + expect(user.verified).toBe(true); + expect(result).toEqual({ + access_token: 'google-token', + username: 'testuser', + isNewUser: false, + }); + }); + + it('should create a verified user when the Google account is new and a username is provided', async () => { + mockUserService.findByGoogleId.mockResolvedValue(null); + mockUserService.findByEmailOrUsername + .mockResolvedValueOnce(null) + .mockResolvedValueOnce(null); + mockUserService.create.mockImplementation(async (user) => { + user.id = 'new-user-id'; + return user; + }); + mockJwtService.sign.mockReturnValue('google-token'); + (bcrypt.genSalt as jest.Mock).mockResolvedValue('salt'); + (bcrypt.hash as jest.Mock).mockResolvedValue('hashedpassword'); + (uuidv4 as jest.Mock).mockReturnValue('generated-secret'); + (global.fetch as jest.Mock).mockResolvedValue({ + ok: true, + json: async () => ({ + ...googlePayload, + aud: 'google-client-id', + }), + }); + + const result = await service.authenticateWithGoogle( + 'credential', + 'google_user', + ); + + expect(mockUserService.create).toHaveBeenCalled(); + expect(result).toEqual({ + access_token: 'google-token', + username: 'google_user', + isNewUser: true, + }); + }); + + it('should request a username for a new Google signup when none is provided', async () => { + mockUserService.findByGoogleId.mockResolvedValue(null); + mockUserService.findByEmailOrUsername + .mockResolvedValueOnce(null) + .mockResolvedValueOnce(null); + (global.fetch as jest.Mock).mockResolvedValue({ + ok: true, + json: async () => ({ + ...googlePayload, + aud: 'google-client-id', + }), + }); + + await expect(service.authenticateWithGoogle('credential')).rejects.toMatchObject({ + response: { + message: 'Username is required for new Google signup', + requiresUsername: true, + suggestedUsername: 'google_user', + }, + }); + }); + + it('should create a verified user with the requested username', async () => { + mockUserService.findByGoogleId.mockResolvedValue(null); + mockUserService.findByEmailOrUsername + .mockResolvedValueOnce(null) + .mockResolvedValueOnce(null); + mockUserService.create.mockImplementation(async (user) => { + user.id = 'new-user-id'; + return user; + }); + mockJwtService.sign.mockReturnValue('google-token'); + (bcrypt.genSalt as jest.Mock).mockResolvedValue('salt'); + (bcrypt.hash as jest.Mock).mockResolvedValue('hashedpassword'); + (uuidv4 as jest.Mock).mockReturnValue('generated-secret'); + (global.fetch as jest.Mock).mockResolvedValue({ + ok: true, + json: async () => ({ + ...googlePayload, + aud: 'google-client-id', + }), + }); + + const result = await service.authenticateWithGoogle( + 'credential', + 'chosen-user', + ); + + expect(mockUserService.create).toHaveBeenCalledWith( + expect.objectContaining({ + username: 'chosen-user', + }), + ); + expect(result).toEqual({ + access_token: 'google-token', + username: 'chosen-user', + isNewUser: true, + }); + }); + + it('should reject requested usernames already in use for a new Google user', async () => { + mockUserService.findByGoogleId.mockResolvedValue(null); + mockUserService.findByEmailOrUsername + .mockResolvedValueOnce(null) + .mockResolvedValueOnce(new User('Taken', 'taken-user', 'taken@test.com', 'password')); + (global.fetch as jest.Mock).mockResolvedValue({ + ok: true, + json: async () => ({ + ...googlePayload, + aud: 'google-client-id', + }), + }); + + await expect( + service.authenticateWithGoogle('credential', 'taken-user'), + ).rejects.toThrow('Username already in use'); + }); + + it('should reject invalid Google credentials', async () => { + (global.fetch as jest.Mock).mockResolvedValue({ + ok: false, + }); + + await expect(service.authenticateWithGoogle('credential')).rejects.toThrow( + 'Invalid Google credentials', + ); + }); + }); + describe('forgotPassword', () => { it('should send a password reset email', async () => { const user = new User( diff --git a/src/module/auth/auth.service.ts b/src/module/auth/auth.service.ts index 195f46f..5e67820 100644 --- a/src/module/auth/auth.service.ts +++ b/src/module/auth/auth.service.ts @@ -1,4 +1,9 @@ -import { BadRequestException, Injectable, Logger } from '@nestjs/common'; +import { + BadRequestException, + Injectable, + Logger, + UnauthorizedException, +} from '@nestjs/common'; import { JwtService } from '@nestjs/jwt'; import { UserRole } from './users/user.schema'; import { UserService } from './users/user.service'; @@ -15,6 +20,15 @@ export interface UserJWT { role: UserRole; } +interface GoogleTokenPayload { + aud: string; + email: string; + email_verified: boolean | string; + name?: string; + picture?: string; + sub: string; +} + @Injectable() export class AuthService { private readonly logger = new Logger(AuthService.name); @@ -73,6 +87,80 @@ export class AuthService { await this.sendVerificationEmail(verificationToken, registerDto); } + async authenticateWithGoogle(credential: string, username?: string) { + const googleUser = await this.verifyGoogleToken(credential); + let user = await this.usersService.findByGoogleId(googleUser.sub); + let isNewUser = false; + + if (!user) { + user = await this.usersService.findByEmailOrUsername(googleUser.email, ''); + } + + if (user) { + let shouldUpdate = false; + + if (user.googleId !== googleUser.sub) { + user.googleId = googleUser.sub; + shouldUpdate = true; + } + + if (!user.verified) { + user.verified = true; + shouldUpdate = true; + } + + if (!user.profileImage && googleUser.picture) { + user.profileImage = googleUser.picture; + shouldUpdate = true; + } + + if (shouldUpdate) { + user = await this.usersService.update(user.id, user); + } + } else { + if (!username?.trim()) { + throw new BadRequestException({ + message: 'Username is required for new Google signup', + requiresUsername: true, + suggestedUsername: await this.generateAvailableUsername( + googleUser.email, + googleUser.name, + ), + }); + } + + const selectedUsername = await this.resolveGoogleSignupUsername( + username, + googleUser.email, + googleUser.name, + ); + const generatedPassword = await this.hashPassword(uuidv4()); + const newUser = new User( + googleUser.name || selectedUsername, + selectedUsername, + googleUser.email, + generatedPassword, + googleUser.picture || null, + true, + UserRole.Volunteer, + undefined, + [], + [], + [], + [], + googleUser.sub, + ); + + user = await this.usersService.create(newUser); + isNewUser = true; + } + + return { + ...(await this.login(user)), + isNewUser, + }; + } + async verifyEmail(token: string): Promise { const user = await this.usersService.getUserByResetToken(token); if (!user) { @@ -124,6 +212,7 @@ export class AuthService { }; return { access_token: this.jwtService.sign(payload), + username: user.username, }; } @@ -163,4 +252,99 @@ export class AuthService { u.resetToken = null; return await this.usersService.update(u.id, u); } + + private async verifyGoogleToken( + credential: string, + ): Promise { + if (!process.env.GOOGLE_CLIENT_ID) { + throw new BadRequestException('Google login is not configured'); + } + + try { + const response = await fetch( + `https://oauth2.googleapis.com/tokeninfo?id_token=${encodeURIComponent(credential)}`, + ); + + if (!response.ok) { + throw new UnauthorizedException('Invalid Google credentials'); + } + + const payload = (await response.json()) as GoogleTokenPayload; + + if (!payload?.sub || !payload.email) { + throw new UnauthorizedException('Invalid Google credentials'); + } + + if (payload.aud !== process.env.GOOGLE_CLIENT_ID) { + throw new UnauthorizedException('Invalid Google credentials'); + } + + if (`${payload.email_verified}` !== 'true') { + throw new UnauthorizedException('Google email is not verified'); + } + + return payload; + } catch (error) { + if ( + error instanceof BadRequestException || + error instanceof UnauthorizedException + ) { + throw error; + } + + this.logger.warn( + `Google authentication failed: ${error instanceof Error ? error.message : String(error)}`, + ); + throw new UnauthorizedException('Invalid Google credentials'); + } + } + + private async generateAvailableUsername(email: string, name?: string | null) { + const baseUsername = + this.normalizeUsernameSeed(name) || + this.normalizeUsernameSeed(email.split('@')[0]) || + 'rayuela_user'; + + let candidate = baseUsername; + let suffix = 1; + + while (await this.usersService.findByEmailOrUsername('', candidate)) { + const suffixLabel = `_${suffix}`; + candidate = `${baseUsername.slice(0, 30 - suffixLabel.length)}${suffixLabel}`; + suffix += 1; + } + + return candidate; + } + + private async resolveGoogleSignupUsername( + requestedUsername: string | undefined, + email: string, + name?: string | null, + ) { + const normalizedRequestedUsername = requestedUsername?.trim(); + + if (normalizedRequestedUsername) { + const existingUser = await this.usersService.findByEmailOrUsername( + '', + normalizedRequestedUsername, + ); + + if (existingUser) { + throw new BadRequestException('Username already in use'); + } + + return normalizedRequestedUsername; + } + + return this.generateAvailableUsername(email, name); + } + + private normalizeUsernameSeed(seed?: string | null) { + return (seed || '') + .toLowerCase() + .replace(/[^a-z0-9._-]+/g, '_') + .replace(/^[_\-.]+|[_\-.]+$/g, '') + .slice(0, 30); + } } diff --git a/src/module/auth/users/UserMapper.spec.ts b/src/module/auth/users/UserMapper.spec.ts index ec02db6..205c9b5 100644 --- a/src/module/auth/users/UserMapper.spec.ts +++ b/src/module/auth/users/UserMapper.spec.ts @@ -9,24 +9,29 @@ describe('UserMapper', () => { username: 'user', email: 'e@e.com', password: 'p', + googleId: 'google-123', profile_image: 'img', verified: true, role: UserRole.Volunteer, _id: '1', gameProfiles: [], contributions: [], + ratings: [], } as any; const entity = UserMapper.toEntity(doc); expect(entity.id).toBe('1'); expect(entity.completeName).toBe('Name'); + expect(entity.googleId).toBe('google-123'); }); it('should map entity to template', () => { const entity = new User('Name', 'user', 'e@e.com', 'p'); entity.id = '1'; + entity.googleId = 'google-123'; const template = UserMapper.toTemplate(entity); expect(template.complete_name).toBe('Name'); expect(template.username).toBe('user'); + expect(template.googleId).toBe('google-123'); }); it('should map entity to template with ratings', () => { @@ -37,5 +42,6 @@ describe('UserMapper', () => { expect(template.complete_name).toBe('Name'); expect(template.ratings).toHaveLength(1); expect(template.ratings[0].score).toBe(5); + expect(template.googleId).toBeUndefined(); }); }); diff --git a/src/module/auth/users/UserMapper.ts b/src/module/auth/users/UserMapper.ts index 28cd421..215eaba 100644 --- a/src/module/auth/users/UserMapper.ts +++ b/src/module/auth/users/UserMapper.ts @@ -14,8 +14,9 @@ export class UserMapper { userDocument._id, userDocument.gameProfiles, userDocument.contributions, - [], // ratings + userDocument.ratings || [], [], // checkins + userDocument.googleId ?? null, userDocument.createdAt, ); } @@ -31,6 +32,7 @@ export class UserMapper { verified: user.verified, role: user.role, resetToken: user.resetToken, + ...(user.googleId ? { googleId: user.googleId } : {}), gameProfiles: user.gameProfiles, contributions: user.contributions, createdAt: user.createdAt, diff --git a/src/module/auth/users/user.dao.spec.ts b/src/module/auth/users/user.dao.spec.ts index 070c112..15ebec6 100644 --- a/src/module/auth/users/user.dao.spec.ts +++ b/src/module/auth/users/user.dao.spec.ts @@ -63,6 +63,21 @@ describe('UserDao', () => { expect(res).toBeNull(); }); + it('should find by google id', async () => { + model.findOne.mockReturnThis(); + model.exec.mockResolvedValue({ + _id: '1', + email: 'e', + username: 'u', + googleId: 'google-123', + gameProfiles: [], + contributions: [], + ratings: [], + }); + const res = await dao.findByGoogleId('google-123'); + expect(res?.googleId).toBe('google-123'); + }); + it('should create user', async () => { const user = new User('N', 'u', 'e', 'p'); const res = await dao.create(user); @@ -128,8 +143,16 @@ describe('UserDao', () => { _id: '1', gameProfiles: [], contributions: [], + ratings: [], }); const res = await dao.getUserByResetToken('token'); expect(res.id).toBe('1'); }); + + it('should return null when reset token does not match a user', async () => { + model.findOne.mockReturnThis(); + model.exec.mockResolvedValue(null); + const res = await dao.getUserByResetToken('token'); + expect(res).toBeNull(); + }); }); diff --git a/src/module/auth/users/user.dao.ts b/src/module/auth/users/user.dao.ts index 4a2c483..efeb064 100644 --- a/src/module/auth/users/user.dao.ts +++ b/src/module/auth/users/user.dao.ts @@ -1,4 +1,4 @@ -import { Injectable } from '@nestjs/common'; +import { Injectable, Logger } from '@nestjs/common'; import { InjectModel } from '@nestjs/mongoose'; import { Model } from 'mongoose'; import { UserDocument, UserTemplate } from './user.schema'; @@ -7,6 +7,8 @@ import { UserMapper } from './UserMapper'; @Injectable() export class UserDao { + private readonly logger = new Logger(UserDao.name); + constructor( @InjectModel(UserTemplate.collectionName()) private userModel: Model, @@ -22,6 +24,11 @@ export class UserDao { return userDocument ? UserMapper.toEntity(userDocument) : null; } + async findByGoogleId(googleId: string): Promise { + const userDocument = await this.userModel.findOne({ googleId }).exec(); + return userDocument ? UserMapper.toEntity(userDocument) : null; + } + async create(userData: User): Promise { const createdUser = new this.userModel(UserMapper.toTemplate(userData)); const savedUser = await createdUser.save(); @@ -56,6 +63,6 @@ export class UserDao { async getUserByResetToken(token: string) { const u = await this.userModel.findOne({ resetToken: token }).exec(); - return UserMapper.toEntity(u); + return u ? UserMapper.toEntity(u) : null; } } diff --git a/src/module/auth/users/user.entity.spec.ts b/src/module/auth/users/user.entity.spec.ts index 229989e..15f1c02 100644 --- a/src/module/auth/users/user.entity.spec.ts +++ b/src/module/auth/users/user.entity.spec.ts @@ -69,6 +69,7 @@ describe('User Entity', () => { user.role = UserRole.Admin; user.checkins = []; user.contributions = ['t1']; + user.googleId = 'google-123'; expect(user.completeName).toBe('New'); expect(user.username).toBe('new'); @@ -78,6 +79,7 @@ describe('User Entity', () => { expect(user.role).toBe(UserRole.Admin); expect(user.checkins).toEqual([]); expect(user.contributions).toEqual(['t1']); + expect(user.googleId).toBe('google-123'); }); it('should unsubscribe from project', () => { diff --git a/src/module/auth/users/user.entity.ts b/src/module/auth/users/user.entity.ts index d350d00..a5e5d45 100644 --- a/src/module/auth/users/user.entity.ts +++ b/src/module/auth/users/user.entity.ts @@ -15,6 +15,14 @@ export interface UserRating { } export class User { + get googleId(): string | null { + return this._googleId; + } + + set googleId(value: string | null) { + this._googleId = value; + } + set contributions(value: string[]) { this._contributions = value; } @@ -82,6 +90,7 @@ export class User { private _resetToken: string; private _ratings: UserRating[]; private _checkins: Checkin[]; + private _googleId: string | null; private _createdAt: Date; constructor( @@ -97,6 +106,7 @@ export class User { contributions: string[] = [], ratings: UserRating[] = [], checkins: Checkin[] = [], + googleId: string | null = null, createdAt: Date = new Date(), ) { this._completeName = completeName; @@ -111,6 +121,7 @@ export class User { this._contributions = contributions; this._ratings = ratings; this._checkins = checkins; + this._googleId = googleId; this._createdAt = createdAt; } diff --git a/src/module/auth/users/user.schema.ts b/src/module/auth/users/user.schema.ts index 32a662d..8b00527 100644 --- a/src/module/auth/users/user.schema.ts +++ b/src/module/auth/users/user.schema.ts @@ -42,6 +42,9 @@ export class UserTemplate { @Prop({ required: true }) password: string; // Contraseña (hash) + @Prop({ required: false }) + googleId?: string; // Identificador estable de Google + @Prop({ type: Date, default: Date.now }) createdAt: Date; @@ -69,3 +72,13 @@ export class UserTemplate { } export const UserSchema = SchemaFactory.createForClass(UserTemplate); +UserSchema.index( + { googleId: 1 }, + { + unique: true, + partialFilterExpression: { + googleId: { $exists: true, $type: 'string' }, + }, + name: 'googleId_1', + }, +); diff --git a/src/module/auth/users/user.service.spec.ts b/src/module/auth/users/user.service.spec.ts index ac0e82f..23b56a9 100644 --- a/src/module/auth/users/user.service.spec.ts +++ b/src/module/auth/users/user.service.spec.ts @@ -10,6 +10,7 @@ describe('UserService', () => { beforeEach(() => { userDao = { findByEmailOrUsername: jest.fn(), + findByGoogleId: jest.fn(), create: jest.fn(), update: jest.fn(), getUserById: jest.fn(), @@ -35,6 +36,14 @@ describe('UserService', () => { expect(result).toBe(user); }); + it('findByGoogleId debe delegar en userDao', async () => { + const user = { id: '1' } as User; + userDao.findByGoogleId.mockResolvedValue(user); + const result = await service.findByGoogleId('google-id'); + expect(userDao.findByGoogleId).toHaveBeenCalledWith('google-id'); + expect(result).toBe(user); + }); + it('update debe delegar en userDao', async () => { const user = { id: '1' } as User; userDao.update.mockResolvedValue(user); diff --git a/src/module/auth/users/user.service.ts b/src/module/auth/users/user.service.ts index ecb1e2c..7c318ab 100644 --- a/src/module/auth/users/user.service.ts +++ b/src/module/auth/users/user.service.ts @@ -14,6 +14,10 @@ export class UserService { return this.userDao.findByEmailOrUsername(email, username); } + async findByGoogleId(googleId: string): Promise { + return this.userDao.findByGoogleId(googleId); + } + async create(userData: User): Promise { return this.userDao.create(userData); } @@ -46,7 +50,7 @@ export class UserService { return u; } - getUserByResetToken(token: string) { + getUserByResetToken(token: string): Promise { return this.userDao.getUserByResetToken(token); } } From 98e9f6825d5c05aa3f89da71605f333e07d796dc Mon Sep 17 00:00:00 2001 From: FranciscoPerezRamos Date: Fri, 1 May 2026 15:29:12 -0300 Subject: [PATCH 078/104] feature: Refresh token rotation. Automatic token refresh, the user doesn't have to login each 24hs --- src/module/auth/auth.constants.ts | 26 +++ src/module/auth/auth.controller.spec.ts | 70 ++++++- src/module/auth/auth.controller.ts | 21 ++ src/module/auth/auth.module.ts | 3 +- src/module/auth/auth.service.spec.ts | 253 +++++++++++++++++++++++- src/module/auth/auth.service.ts | 96 ++++++++- src/module/auth/users/UserMapper.ts | 4 + src/module/auth/users/user.entity.ts | 22 +++ src/module/auth/users/user.schema.ts | 6 + 9 files changed, 492 insertions(+), 9 deletions(-) create mode 100644 src/module/auth/auth.constants.ts diff --git a/src/module/auth/auth.constants.ts b/src/module/auth/auth.constants.ts new file mode 100644 index 0000000..7981490 --- /dev/null +++ b/src/module/auth/auth.constants.ts @@ -0,0 +1,26 @@ +/** + * How long an access token (JWT) stays valid, in seconds. + * + * Single source of truth shared by: + * - `JwtModule.register({ signOptions: { expiresIn } })` in auth.module.ts + * - the `expires_in` field returned by `AuthService.login()` + * + * Keep them coupled — drift here causes the client to refresh too late. + */ +export const ACCESS_TOKEN_TTL_SECONDS = 60 * 60; // 1 hour + +/** + * How long a refresh token stays valid, in days. + * + * Instagram-style infinite-session: ~60–90 days. If a user doesn't open the + * app for this long, they'll be forced to log in again. + */ +export const REFRESH_TOKEN_TTL_DAYS = 90; + +/** + * Refresh tokens are shaped as `${userId}${SEPARATOR}${secret}` so the server + * can locate the owner without an extra lookup field. The userId portion is a + * Mongo ObjectId (24 hex chars, no dots) and the secret is a uuid v4 (hex + + * dashes, no dots), so splitting on the first '.' is unambiguous. + */ +export const REFRESH_TOKEN_SEPARATOR = '.'; diff --git a/src/module/auth/auth.controller.spec.ts b/src/module/auth/auth.controller.spec.ts index 33269ea..cfb08f6 100644 --- a/src/module/auth/auth.controller.spec.ts +++ b/src/module/auth/auth.controller.spec.ts @@ -7,6 +7,15 @@ import { UserRole } from './users/user.schema'; jest.mock('@nestjs/jwt', () => ({ JwtService: class JwtService {}, })); +jest.mock('@nestjs/passport', () => ({ + AuthGuard: () => { + return class MockGuard { + canActivate() { + return true; + } + }; + }, +})); describe('AuthController', () => { let controller: AuthController; @@ -20,6 +29,8 @@ describe('AuthController', () => { forgotPassword: jest.fn(), verifyEmail: jest.fn(), register: jest.fn(), + refreshAccessToken: jest.fn(), + logout: jest.fn(), }; beforeEach(async () => { @@ -43,11 +54,18 @@ describe('AuthController', () => { mockAuthService.validateUser.mockResolvedValue(user); mockAuthService.login.mockResolvedValue({ access_token: 'token', + refresh_token: 'refresh', + expires_in: 3600, username: 'test', }); const result = await controller.login(body); - expect(result).toEqual({ access_token: 'token', username: 'test' }); + expect(result).toEqual({ + access_token: 'token', + refresh_token: 'refresh', + expires_in: 3600, + username: 'test', + }); }); it('should throw BadRequestException if missing fields', async () => { @@ -138,6 +156,8 @@ describe('AuthController', () => { it('should authenticate with Google successfully', async () => { mockAuthService.authenticateWithGoogle.mockResolvedValue({ access_token: 'token', + refresh_token: 'refresh', + expires_in: 3600, username: 'test', }); @@ -146,7 +166,12 @@ describe('AuthController', () => { username: 'chosen-user', }); - expect(result).toEqual({ access_token: 'token', username: 'test' }); + expect(result).toEqual({ + access_token: 'token', + refresh_token: 'refresh', + expires_in: 3600, + username: 'test', + }); expect(service.authenticateWithGoogle).toHaveBeenCalledWith( 'google-token', 'chosen-user', @@ -159,4 +184,45 @@ describe('AuthController', () => { ).rejects.toThrow(BadRequestException); }); }); + + describe('refresh', () => { + it('should refresh tokens successfully', async () => { + mockAuthService.refreshAccessToken.mockResolvedValue({ + access_token: 'new-token', + refresh_token: 'new-refresh', + expires_in: 3600, + username: 'test', + }); + + const result = await controller.refresh({ + refreshToken: 'user-id.old-refresh', + }); + + expect(result).toEqual({ + access_token: 'new-token', + refresh_token: 'new-refresh', + expires_in: 3600, + username: 'test', + }); + expect(service.refreshAccessToken).toHaveBeenCalledWith( + 'user-id.old-refresh', + ); + }); + + it('should throw BadRequestException if refreshToken is missing', async () => { + await expect( + controller.refresh({ refreshToken: '' }), + ).rejects.toThrow(BadRequestException); + }); + }); + + describe('logout', () => { + it('should logout successfully', async () => { + const req = { user: { userId: 'user-id' } }; + const result = await controller.logout(req); + + expect(result).toEqual({ message: 'Logged out successfully' }); + expect(service.logout).toHaveBeenCalledWith('user-id'); + }); + }); }); diff --git a/src/module/auth/auth.controller.ts b/src/module/auth/auth.controller.ts index 5fa107f..5bbebe8 100644 --- a/src/module/auth/auth.controller.ts +++ b/src/module/auth/auth.controller.ts @@ -4,7 +4,10 @@ import { Body, UnauthorizedException, BadRequestException, + UseGuards, + Req, } from '@nestjs/common'; +import { AuthGuard } from '@nestjs/passport'; import { AuthService } from './auth.service'; import { UserRole } from './users/user.schema'; @@ -127,4 +130,22 @@ export class AuthController { return this.authService.authenticateWithGoogle(credential, username); } + + @Post('refresh') + async refresh(@Body() body: { refreshToken: string }) { + const { refreshToken } = body; + + if (!refreshToken) { + throw new BadRequestException('Refresh token is required'); + } + + return this.authService.refreshAccessToken(refreshToken); + } + + @Post('logout') + @UseGuards(AuthGuard('jwt')) + async logout(@Req() req) { + await this.authService.logout(req.user.userId); + return { message: 'Logged out successfully' }; + } } diff --git a/src/module/auth/auth.module.ts b/src/module/auth/auth.module.ts index 253c08d..d9533fe 100644 --- a/src/module/auth/auth.module.ts +++ b/src/module/auth/auth.module.ts @@ -10,6 +10,7 @@ import { UserService } from './users/user.service'; import { UserController } from './users/user.controller'; import { ConfigModule } from '@nestjs/config'; import { UserDao } from './users/user.dao'; +import { ACCESS_TOKEN_TTL_SECONDS } from './auth.constants'; @Module({ imports: [ @@ -20,7 +21,7 @@ import { UserDao } from './users/user.dao'; PassportModule, JwtModule.register({ secret: process.env.JWT_SECRET, - signOptions: { expiresIn: '1d' }, + signOptions: { expiresIn: ACCESS_TOKEN_TTL_SECONDS }, }), MongooseModule.forFeature([ { name: UserTemplate.collectionName(), schema: UserSchema }, diff --git a/src/module/auth/auth.service.spec.ts b/src/module/auth/auth.service.spec.ts index c5a34cc..9185f6c 100644 --- a/src/module/auth/auth.service.spec.ts +++ b/src/module/auth/auth.service.spec.ts @@ -8,6 +8,7 @@ import { UserRole } from './users/user.schema'; import * as bcrypt from 'bcryptjs'; import * as nodemailer from 'nodemailer'; import { v4 as uuidv4 } from 'uuid'; +import { createHash } from 'node:crypto'; import { RegisterUserDTO } from './auth.controller'; // Mock de dependencias externas @@ -18,6 +19,10 @@ jest.mock('@nestjs/jwt', () => ({ JwtService: class JwtService {}, })); +// Refresh-token hashing is SHA-256 (real, deterministic) — no mocking needed. +const sha256Hex = (s: string) => + createHash('sha256').update(s).digest('hex'); + describe('AuthService', () => { let service: AuthService; @@ -28,6 +33,7 @@ describe('AuthService', () => { getUserByResetToken: jest.fn(), update: jest.fn(), saveResetToken: jest.fn(), + getByUserId: jest.fn(), }; const mockJwtService = { @@ -223,7 +229,7 @@ describe('AuthService', () => { }); describe('login', () => { - it('should return an access token', async () => { + it('should return access token, refresh token, expires_in, and username', async () => { const user = new User( 'Test', 'testuser', @@ -235,11 +241,18 @@ describe('AuthService', () => { ); user.id = 'user-id'; mockJwtService.sign.mockReturnValue('test-token'); + (uuidv4 as jest.Mock).mockReturnValue('refresh-token-uuid'); + mockUserService.update.mockImplementation(async (_id, u) => u); const result = await service.login(user); + const expectedRefreshToken = 'user-id.refresh-token-uuid'; expect(result).toEqual({ access_token: 'test-token', + // Token is shaped as `${user.id}.${uuidv4()}` so the server can find + // the owner on /auth/refresh. + refresh_token: expectedRefreshToken, + expires_in: 3600, username: 'testuser', }); expect(mockJwtService.sign).toHaveBeenCalledWith({ @@ -247,6 +260,14 @@ describe('AuthService', () => { sub: user.id, role: user.role, }); + // The persisted hash must be SHA-256 of the token we returned to the + // client — anything else means refresh would never validate. + expect(mockUserService.update).toHaveBeenCalledWith( + 'user-id', + expect.objectContaining({ + refreshTokenHash: sha256Hex(expectedRefreshToken), + }), + ); }); }); @@ -285,14 +306,16 @@ describe('AuthService', () => { const result = await service.authenticateWithGoogle('credential'); expect(mockUserService.findByGoogleId).toHaveBeenCalledWith('google-123'); - expect(mockUserService.update).toHaveBeenCalledWith('user-id', user); + expect(mockUserService.update).toHaveBeenCalled(); expect(user.googleId).toBe('google-123'); expect(user.verified).toBe(true); - expect(result).toEqual({ + expect(result).toMatchObject({ access_token: 'google-token', username: 'testuser', isNewUser: false, }); + expect(result).toHaveProperty('refresh_token'); + expect(result).toHaveProperty('expires_in', 3600); }); it('should create a verified user when the Google account is new and a username is provided', async () => { @@ -322,11 +345,13 @@ describe('AuthService', () => { ); expect(mockUserService.create).toHaveBeenCalled(); - expect(result).toEqual({ + expect(result).toMatchObject({ access_token: 'google-token', username: 'google_user', isNewUser: true, }); + expect(result).toHaveProperty('refresh_token'); + expect(result).toHaveProperty('expires_in', 3600); }); it('should request a username for a new Google signup when none is provided', async () => { @@ -382,11 +407,13 @@ describe('AuthService', () => { username: 'chosen-user', }), ); - expect(result).toEqual({ + expect(result).toMatchObject({ access_token: 'google-token', username: 'chosen-user', isNewUser: true, }); + expect(result).toHaveProperty('refresh_token'); + expect(result).toHaveProperty('expires_in', 3600); }); it('should reject requested usernames already in use for a new Google user', async () => { @@ -527,4 +554,220 @@ describe('AuthService', () => { expect(result.resetToken).toBeNull(); }); }); + + describe('refreshAccessToken', () => { + /** Helper: build a user whose stored hash matches `refreshToken`. */ + const userWithHashFor = (refreshToken: string, expiry: Date) => { + const u = new User( + 'Test', + 'testuser', + 'test@test.com', + 'hashedpassword', + '', + true, + UserRole.Volunteer, + ); + u.id = 'user-id'; + u.refreshTokenHash = sha256Hex(refreshToken); + u.refreshTokenExpiry = expiry; + return u; + }; + + it('should return new tokens for a valid refresh token', async () => { + const validToken = 'user-id.valid-secret'; + const user = userWithHashFor(validToken, new Date(Date.now() + 1000 * 60 * 60)); + + mockUserService.getByUserId.mockResolvedValue(user); + mockJwtService.sign.mockReturnValue('new-access-token'); + (uuidv4 as jest.Mock).mockReturnValue('new-refresh-uuid'); + mockUserService.update.mockImplementation(async (_id, u) => u); + + const result = await service.refreshAccessToken(validToken); + + expect(mockUserService.getByUserId).toHaveBeenCalledWith('user-id'); + expect(result).toMatchObject({ + access_token: 'new-access-token', + // The new refresh token also follows the `${userId}.${uuid}` shape. + refresh_token: 'user-id.new-refresh-uuid', + expires_in: 3600, + username: 'testuser', + }); + }); + + it('should throw UnauthorizedException for invalid refresh token', async () => { + const user = userWithHashFor( + 'user-id.correct-secret', + new Date(Date.now() + 1000 * 60 * 60), + ); + mockUserService.getByUserId.mockResolvedValue(user); + + await expect( + service.refreshAccessToken('user-id.wrong-secret'), + ).rejects.toThrow('Invalid refresh token'); + }); + + it('should throw UnauthorizedException for expired refresh token', async () => { + const user = userWithHashFor( + 'user-id.some-secret', + new Date(Date.now() - 1000), // already expired + ); + mockUserService.getByUserId.mockResolvedValue(user); + mockUserService.update.mockImplementation(async (_id, u) => u); + + await expect( + service.refreshAccessToken('user-id.some-secret'), + ).rejects.toThrow('Refresh token expired'); + // Should have wiped the token + expect(mockUserService.update).toHaveBeenCalledWith( + 'user-id', + expect.objectContaining({ + refreshTokenHash: null, + refreshTokenExpiry: null, + }), + ); + }); + + it('should throw UnauthorizedException if user has no refresh token', async () => { + const user = new User( + 'Test', + 'testuser', + 'test@test.com', + 'hashedpassword', + ); + user.id = 'user-id'; + // No refresh token fields set + + mockUserService.getByUserId.mockResolvedValue(user); + + await expect( + service.refreshAccessToken('user-id.some-secret'), + ).rejects.toThrow('Invalid refresh token'); + }); + + it('should throw UnauthorizedException if user not found', async () => { + mockUserService.getByUserId.mockResolvedValue(null); + + await expect( + service.refreshAccessToken('nonexistent.some-secret'), + ).rejects.toThrow('Invalid refresh token'); + }); + + it('should throw UnauthorizedException if token is malformed (no separator)', async () => { + await expect( + service.refreshAccessToken('no-separator-here'), + ).rejects.toThrow('Invalid refresh token'); + expect(mockUserService.getByUserId).not.toHaveBeenCalled(); + }); + + it('should throw UnauthorizedException if token has empty userId portion', async () => { + await expect(service.refreshAccessToken('.secret')).rejects.toThrow( + 'Invalid refresh token', + ); + expect(mockUserService.getByUserId).not.toHaveBeenCalled(); + }); + + // ----- Rotation invariants ----------------------------------------------- + + it('should rotate: persisted hash after refresh matches the NEW token', async () => { + const oldToken = 'user-id.old-secret'; + const user = userWithHashFor(oldToken, new Date(Date.now() + 1000 * 60 * 60)); + + // Store the user state mongo would persist. + let persisted: User = user; + mockUserService.getByUserId.mockImplementation(async () => persisted); + mockUserService.update.mockImplementation(async (_id, u) => { + persisted = u; + return u; + }); + mockJwtService.sign.mockReturnValue('new-access-token'); + (uuidv4 as jest.Mock).mockReturnValue('new-secret'); + + const result = await service.refreshAccessToken(oldToken); + + // Persisted hash should now correspond to the brand-new token, not the + // old one — that's what makes the old token unusable. + expect(persisted.refreshTokenHash).toBe(sha256Hex(result.refresh_token)); + expect(persisted.refreshTokenHash).not.toBe(sha256Hex(oldToken)); + }); + + it('should reject the old token after a successful rotation', async () => { + const oldToken = 'user-id.old-secret'; + const newToken = 'user-id.new-secret'; + let persisted: User = userWithHashFor( + oldToken, + new Date(Date.now() + 1000 * 60 * 60), + ); + + mockUserService.getByUserId.mockImplementation(async () => persisted); + mockUserService.update.mockImplementation(async (_id, u) => { + persisted = u; + return u; + }); + mockJwtService.sign.mockReturnValue('new-access-token'); + (uuidv4 as jest.Mock).mockReturnValue('new-secret'); + + // 1) First refresh succeeds. + const result = await service.refreshAccessToken(oldToken); + expect(result.refresh_token).toBe(newToken); + + // 2) Replaying the old token must now fail. + await expect(service.refreshAccessToken(oldToken)).rejects.toThrow( + 'Invalid refresh token', + ); + }); + + it('should reject the refresh token after logout', async () => { + const token = 'user-id.some-secret'; + let persisted: User = userWithHashFor( + token, + new Date(Date.now() + 1000 * 60 * 60), + ); + + mockUserService.getByUserId.mockImplementation(async () => persisted); + mockUserService.update.mockImplementation(async (_id, u) => { + persisted = u; + return u; + }); + + await service.logout('user-id'); + expect(persisted.refreshTokenHash).toBeNull(); + expect(persisted.refreshTokenExpiry).toBeNull(); + + await expect(service.refreshAccessToken(token)).rejects.toThrow( + 'Invalid refresh token', + ); + }); + }); + + describe('logout', () => { + it('should clear the refresh token for the user', async () => { + const user = new User( + 'Test', + 'testuser', + 'test@test.com', + 'hashedpassword', + ); + user.id = 'user-id'; + user.refreshTokenHash = 'hashed-refresh'; + user.refreshTokenExpiry = new Date(); + + mockUserService.getByUserId.mockResolvedValue(user); + mockUserService.update.mockImplementation(async (_id, u) => u); + + await service.logout('user-id'); + + expect(mockUserService.update).toHaveBeenCalledWith( + 'user-id', + expect.objectContaining({ + refreshTokenHash: null, + refreshTokenExpiry: null, + }), + ); + }); + + it('should not throw if user not found', async () => { + mockUserService.getByUserId.mockResolvedValue(null); + await expect(service.logout('nonexistent')).resolves.toBeUndefined(); + }); + }); }); diff --git a/src/module/auth/auth.service.ts b/src/module/auth/auth.service.ts index 5e67820..b08179c 100644 --- a/src/module/auth/auth.service.ts +++ b/src/module/auth/auth.service.ts @@ -13,6 +13,12 @@ import { RegisterUserDTO } from './auth.controller'; import { v4 as uuidv4 } from 'uuid'; import * as nodemailer from 'nodemailer'; import * as process from 'node:process'; +import { createHash, timingSafeEqual } from 'node:crypto'; +import { + ACCESS_TOKEN_TTL_SECONDS, + REFRESH_TOKEN_SEPARATOR, + REFRESH_TOKEN_TTL_DAYS, +} from './auth.constants'; export interface UserJWT { userId: string; @@ -20,6 +26,32 @@ export interface UserJWT { role: UserRole; } +/** + * SHA-256 of a refresh token, hex-encoded. + * + * We deliberately use SHA-256 (not bcrypt) for refresh-token storage: + * - The token already carries 122 bits of UUID v4 entropy, so a slow KDF + * adds no meaningful protection — brute-forcing it from the hash is + * computationally infeasible regardless of speed. + * - bcrypt silently truncates input to 72 bytes. Since the token is shaped + * as `${userId}.${uuid}`, a longer userId could one day cross that limit + * and cause silent collisions. SHA-256 has no such cap. + * - Hash comparison becomes a constant-time string compare, simplifying + * `refreshAccessToken`. + * + * Standard recommendation for refresh-token storage in OAuth2 / OIDC + * implementations. + */ +function hashRefreshToken(token: string): string { + return createHash('sha256').update(token).digest('hex'); +} + +/** Constant-time hex-string comparison to avoid timing attacks. */ +function safeHashCompare(a: string, b: string): boolean { + if (a.length !== b.length) return false; + return timingSafeEqual(Buffer.from(a, 'hex'), Buffer.from(b, 'hex')); +} + interface GoogleTokenPayload { aud: string; email: string; @@ -210,12 +242,74 @@ export class AuthService { sub: user.id, role: user.role, }; + + const accessToken = this.jwtService.sign(payload); + + // Generate and persist a refresh token. The userId is prefixed onto the + // token so we can look up the owner on /auth/refresh without requiring + // the client to also send a userId. + const refreshToken = `${user.id}${REFRESH_TOKEN_SEPARATOR}${uuidv4()}`; + const refreshTokenExpiry = new Date( + Date.now() + REFRESH_TOKEN_TTL_DAYS * 24 * 60 * 60 * 1000, + ); + + user.refreshTokenHash = hashRefreshToken(refreshToken); + user.refreshTokenExpiry = refreshTokenExpiry; + await this.usersService.update(user.id, user); + return { - access_token: this.jwtService.sign(payload), + access_token: accessToken, + refresh_token: refreshToken, + expires_in: ACCESS_TOKEN_TTL_SECONDS, username: user.username, }; } + /** + * Validates a refresh token, rotates the pair, and returns new tokens. + * The userId is recovered from the refresh token itself + * (`${userId}.${secret}`), so the client only needs to send the token. + */ + async refreshAccessToken(refreshToken: string) { + const separatorIndex = refreshToken.indexOf(REFRESH_TOKEN_SEPARATOR); + if (separatorIndex <= 0) { + throw new UnauthorizedException('Invalid refresh token'); + } + const userId = refreshToken.slice(0, separatorIndex); + + const user = await this.usersService.getByUserId(userId); + if (!user || !user.refreshTokenHash || !user.refreshTokenExpiry) { + throw new UnauthorizedException('Invalid refresh token'); + } + + // Check expiry + if (user.refreshTokenExpiry < new Date()) { + // Expired — wipe the token so it can never be reused + user.refreshTokenHash = null; + user.refreshTokenExpiry = null; + await this.usersService.update(user.id, user); + throw new UnauthorizedException('Refresh token expired'); + } + + // Verify hash (constant-time) + if (!safeHashCompare(hashRefreshToken(refreshToken), user.refreshTokenHash)) { + throw new UnauthorizedException('Invalid refresh token'); + } + + // Rotate: issue a brand-new pair of tokens. The new login() overwrites + // user.refreshTokenHash, so the token we just consumed cannot be reused. + return this.login(user); + } + + /** Invalidates the refresh token for the given user (server-side logout). */ + async logout(userId: string): Promise { + const user = await this.usersService.getByUserId(userId); + if (!user) return; + user.refreshTokenHash = null; + user.refreshTokenExpiry = null; + await this.usersService.update(user.id, user); + } + async forgotPassword(email: string) { const user = await this.usersService.findByEmailOrUsername(email, ''); if (!user) { diff --git a/src/module/auth/users/UserMapper.ts b/src/module/auth/users/UserMapper.ts index 215eaba..596bbbe 100644 --- a/src/module/auth/users/UserMapper.ts +++ b/src/module/auth/users/UserMapper.ts @@ -18,6 +18,8 @@ export class UserMapper { [], // checkins userDocument.googleId ?? null, userDocument.createdAt, + userDocument.refreshTokenHash ?? null, + userDocument.refreshTokenExpiry ?? null, ); } @@ -36,6 +38,8 @@ export class UserMapper { gameProfiles: user.gameProfiles, contributions: user.contributions, createdAt: user.createdAt, + refreshTokenHash: user.refreshTokenHash, + refreshTokenExpiry: user.refreshTokenExpiry, ratings: user.ratings.map((r) => ({ score: r.score, checkinId: r.checkinId, diff --git a/src/module/auth/users/user.entity.ts b/src/module/auth/users/user.entity.ts index a5e5d45..3246225 100644 --- a/src/module/auth/users/user.entity.ts +++ b/src/module/auth/users/user.entity.ts @@ -92,6 +92,8 @@ export class User { private _checkins: Checkin[]; private _googleId: string | null; private _createdAt: Date; + private _refreshTokenHash: string | null; + private _refreshTokenExpiry: Date | null; constructor( completeName: string, @@ -108,6 +110,8 @@ export class User { checkins: Checkin[] = [], googleId: string | null = null, createdAt: Date = new Date(), + refreshTokenHash: string | null = null, + refreshTokenExpiry: Date | null = null, ) { this._completeName = completeName; this._username = username; @@ -123,6 +127,8 @@ export class User { this._checkins = checkins; this._googleId = googleId; this._createdAt = createdAt; + this._refreshTokenHash = refreshTokenHash; + this._refreshTokenExpiry = refreshTokenExpiry; } get password(): string { @@ -272,4 +278,20 @@ export class User { }); } } + + get refreshTokenHash(): string | null { + return this._refreshTokenHash; + } + + set refreshTokenHash(value: string | null) { + this._refreshTokenHash = value; + } + + get refreshTokenExpiry(): Date | null { + return this._refreshTokenExpiry; + } + + set refreshTokenExpiry(value: Date | null) { + this._refreshTokenExpiry = value; + } } diff --git a/src/module/auth/users/user.schema.ts b/src/module/auth/users/user.schema.ts index 8b00527..faac46e 100644 --- a/src/module/auth/users/user.schema.ts +++ b/src/module/auth/users/user.schema.ts @@ -60,6 +60,12 @@ export class UserTemplate { @Prop({ type: Array, default: [] }) gameProfiles: GameProfile[]; + @Prop({ default: null }) + refreshTokenHash: string; // bcrypt hash of the refresh token + + @Prop({ type: Date, default: null }) + refreshTokenExpiry: Date; // when the refresh token expires + @Prop({ type: Array, default: [] }) contributions: string[]; // tasks id From 42c7ddbce7543d9cd55a52bb6ec6d716fbd9fe47 Mon Sep 17 00:00:00 2001 From: Lucas Matwiejczuk Date: Sat, 9 May 2026 11:56:33 -0300 Subject: [PATCH 079/104] docs: integrate mobile architecture documentation into docsify --- docs/README.md | 1 + docs/_sidebar.md | 8 ++ docs/index.html | 2 +- docs/mobile/README.md | 71 +++++++++++ docs/mobile/architecture.md | 83 +++++++++++++ docs/mobile/reference.md | 41 +++++++ docs/mobile/technical-details.md | 113 ++++++++++++++++++ docs/mobile/ui-dissection.md | 199 +++++++++++++++++++++++++++++++ docs/mobile/workflows.md | 43 +++++++ 9 files changed, 560 insertions(+), 1 deletion(-) create mode 100644 docs/mobile/README.md create mode 100644 docs/mobile/architecture.md create mode 100644 docs/mobile/reference.md create mode 100644 docs/mobile/technical-details.md create mode 100644 docs/mobile/ui-dissection.md create mode 100644 docs/mobile/workflows.md diff --git a/docs/README.md b/docs/README.md index d7d4b09..2c453e3 100644 --- a/docs/README.md +++ b/docs/README.md @@ -6,4 +6,5 @@ This repository contains the NestJS-based REST API and management backend for th ## Quick Links - [Deployment](deployment) +- [Mobile Architecture](mobile/) - [GitHub Repository](https://github.com/lucas-matw-unq/rayuela-NodeBackend) diff --git a/docs/_sidebar.md b/docs/_sidebar.md index 1ae5670..1121269 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -1,3 +1,11 @@ - [Home](README.md) - [Deployment & Infrastructure](deployment.md) - [Analytics Data Extraction](analytics-queries.md) + +- **Mobile Application** + - [Architecture Overview](mobile/README.md) + - [Project & Feature Structure](mobile/architecture.md) + - [Technical Details](mobile/technical-details.md) + - [Core Workflows](mobile/workflows.md) + - [UI Dissected](mobile/ui-dissection.md) + - [Reference & Stats](mobile/reference.md) diff --git a/docs/index.html b/docs/index.html index 7447d72..6301411 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,7 +12,7 @@
+ + + + + +
+
+ +
+

Rayuela Badge & Gamification Map

+
Interactive concept explorer & schema visualizer
+
+
+ +
+
+ + Adaptive Gamification +
+
+
+ +
+ + + + diff --git a/docs/gamification-badges.md b/docs/gamification-badges.md new file mode 100644 index 0000000..4d6ff7a --- /dev/null +++ b/docs/gamification-badges.md @@ -0,0 +1,73 @@ +# Gamification & Badges Architecture + +Rayuela incorporates a pluggable, adaptive gamification engine designed to reward user contributions through points, badges, and leaderboards. + +This page explains how the gamification entities are structured in the database, how badge prerequisite DAGs work, and provides an interactive concept map. + +--- + +## 🗺️ Interactive Concepts & Badge Map + +Below is an interactive explorer that visualizes Rayuela's gamification architecture. +* **Concepts Tab**: Explores relationships between Projects, Users, Tasks, and Gamification engines. +* **Prerequisite DAG Tab**: Explores the Directed Acyclic Graph (DAG) for badge requirements. +* *Click nodes to slide open detail cards showing database attributes and source code references.* + + + +--- + +## 🧬 Core Database Schemas + +### 1. Gamification Configuration (`GamificationTemplate`) +Configured per **Project** (connected via `projectId`), the gamification configuration defines what points and badges are active. +* **File Reference**: `src/module/gamification/persistence/gamification.schema.ts` + +```typescript +export class BadgeTemplate { + _id: string; + projectId: string; + name: string; + description: string; + imageUrl: string; + checkinsAmount: number; // Checkin quantity trigger threshold + mustContribute: boolean; // Must resolve a Task (not just check coordinates) + previousBadges: string[]; // Prerequisite badge dependencies (DAG) + taskType: string; // Filter by task type (e.g. photo, audio, text) + areaId: string; // Filter by Area ID boundary + timeIntervalId: string; // Filter by TimeInterval schedule +} +``` + +### 2. User Game Profile (`GameProfile`) +Tracks the individual user's score and earned badges in the context of a single project. +* **File Reference**: `src/module/auth/users/user.entity.ts` + +```typescript +export interface GameProfile { + projectId: string; + points: number; + badges: string[]; // List of earned badge names + active: boolean; // Project subscription state +} +``` + +--- + +## 🏆 Pluggable Gamification Engines + +Rayuela uses a strategy pattern to calculate rewards and standing layouts: + +| Engine Type | Strategy Interface | Default Implementation | Responsibility | +| :--- | :--- | :--- | :--- | +| **Badge Engine** | `BadgeEngine` | `BasicBadgeEngine` | Evaluates if a new check-in unlocks any Badge Rules. | +| **Points Engine** | `PointsEngine` | `PointsEngine` | Calculates score rewards based on active point multipliers. | +| **Leaderboard Engine** | `LeaderboardEngine` | `BasicLeaderboardEngine` | Rebuilds user standings (Points-first or Badges-first). | + +### Rules Validation Sequence +During a user check-in, `BasicBadgeEngine` evaluates matching badge rules. A rule matches if and only if: +1. **Prerequisites Check**: The user already possesses all badges in `previousBadges`. +2. **Task Type Match**: The check-in matches the rule's `taskType` filter. +3. **Time Slot Match**: The check-in timestamp satisfies the rule's `timeIntervalId` schedule. +4. **Geo-fence Match**: The coordinates lie within the polygon bound to `areaId`. +5. **Contribution Match**: If `mustContribute` is true, the check-in must resolve an active `Task` (`contributesTo` is populated). From 68e7bf8adb85e58d591f193a3146cc502bf4611d Mon Sep 17 00:00:00 2001 From: Lucas Gabriel Matwiejczuk Date: Sun, 5 Jul 2026 16:40:06 -0300 Subject: [PATCH 090/104] docs: add badge graph drawing and simulation tool to project docs (#55) --- docs/_sidebar.md | 2 +- docs/directed_graph_tool.html | 2856 +++++++++++++++++++++++++++++++++ 2 files changed, 2857 insertions(+), 1 deletion(-) create mode 100644 docs/directed_graph_tool.html diff --git a/docs/_sidebar.md b/docs/_sidebar.md index 71e28ef..3cb6aaa 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -2,7 +2,7 @@ - [Deployment & Infrastructure](deployment.md) - [Analytics Data Extraction](analytics-queries.md) - [Gamification & Badges Architecture](gamification-badges.md) - +- Badge Graph Drawing Tool - **Mobile Application** - [Architecture Overview](mobile/README.md) diff --git a/docs/directed_graph_tool.html b/docs/directed_graph_tool.html new file mode 100644 index 0000000..c8ba5f6 --- /dev/null +++ b/docs/directed_graph_tool.html @@ -0,0 +1,2856 @@ + + + + + + Directed Graph Drawing & Cost Emulation Tool + + + + + + + + + + + + +
+
+
+ +
+
+

+ Rayuela PathFinder + v1.0 +

+

+ Directed Graph Design & Dijkstra Emulation Tool +

+
+
+ + +
+ +
+ Presets: + + + + + + +
+ + +
+ + + +
+
+
+ + +
+ + + + +
+ +
+ + + +
+ + +
+
+ Double Click + Create Node +
+
+ Drag Node + Reposition +
+
+ Drag from Node + Link (in Add Edge Mode) +
+
+ Click + Select or Delete (in Eraser Mode) +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + + + From 8f8c07e7a843a0aef3114c0c878cca67c9e2497f Mon Sep 17 00:00:00 2001 From: FranciscoPerezRamos Date: Wed, 29 Jul 2026 16:17:03 +0200 Subject: [PATCH 091/104] Fix: La sesion del usuario se estaba expirando. Ahora para el usuario su sesion es infinita aunque exista un refresh de tokens --- src/module/auth/auth.constants.ts | 14 +- src/module/auth/auth.controller.spec.ts | 15 +- src/module/auth/auth.controller.ts | 6 +- src/module/auth/auth.service.spec.ts | 313 +++++++++++++----------- src/module/auth/auth.service.ts | 95 ++++--- src/module/auth/users/user.dao.ts | 92 +++++++ src/module/auth/users/user.schema.ts | 19 +- src/module/auth/users/user.service.ts | 21 ++ 8 files changed, 389 insertions(+), 186 deletions(-) diff --git a/src/module/auth/auth.constants.ts b/src/module/auth/auth.constants.ts index 7981490..83161ef 100644 --- a/src/module/auth/auth.constants.ts +++ b/src/module/auth/auth.constants.ts @@ -10,13 +10,19 @@ export const ACCESS_TOKEN_TTL_SECONDS = 60 * 60; // 1 hour /** - * How long a refresh token stays valid, in days. - * - * Instagram-style infinite-session: ~60–90 days. If a user doesn't open the - * app for this long, they'll be forced to log in again. + * How long a refresh token stays valid, in days — counted from its LAST use, + * not from login. Every `/auth/refresh` slides the expiry forward, so a user + * who opens the app at least once every 90 days never gets logged out. */ export const REFRESH_TOKEN_TTL_DAYS = 90; +/** + * Refresh tokens are per-session, not per-user: each login pushes one entry + * onto `user.refreshTokens`, so signing in on a second device (or on the web) + * doesn't kill the first one. Oldest entries fall off past this cap. + */ +export const MAX_REFRESH_SESSIONS = 10; + /** * Refresh tokens are shaped as `${userId}${SEPARATOR}${secret}` so the server * can locate the owner without an extra lookup field. The userId portion is a diff --git a/src/module/auth/auth.controller.spec.ts b/src/module/auth/auth.controller.spec.ts index a87237f..6b2c3ce 100644 --- a/src/module/auth/auth.controller.spec.ts +++ b/src/module/auth/auth.controller.spec.ts @@ -217,12 +217,21 @@ describe('AuthController', () => { }); describe('logout', () => { - it('should logout successfully', async () => { + it('should logout only the calling device', async () => { const req = { user: { userId: 'user-id' } }; - const result = await controller.logout(req); + const result = await controller.logout(req, { + refreshToken: 'user-id.secret', + }); expect(result).toEqual({ message: 'Logged out successfully' }); - expect(service.logout).toHaveBeenCalledWith('user-id'); + expect(service.logout).toHaveBeenCalledWith('user-id', 'user-id.secret'); + }); + + it('should logout every device when no refresh token is sent', async () => { + const req = { user: { userId: 'user-id' } }; + await controller.logout(req, {}); + + expect(service.logout).toHaveBeenCalledWith('user-id', undefined); }); }); }); diff --git a/src/module/auth/auth.controller.ts b/src/module/auth/auth.controller.ts index 5bbebe8..2615256 100644 --- a/src/module/auth/auth.controller.ts +++ b/src/module/auth/auth.controller.ts @@ -144,8 +144,10 @@ export class AuthController { @Post('logout') @UseGuards(AuthGuard('jwt')) - async logout(@Req() req) { - await this.authService.logout(req.user.userId); + async logout(@Req() req, @Body() body: { refreshToken?: string }) { + // Only this device's session is dropped when the client sends its + // refresh token; other devices stay signed in. + await this.authService.logout(req.user.userId, body?.refreshToken); return { message: 'Logged out successfully' }; } } diff --git a/src/module/auth/auth.service.spec.ts b/src/module/auth/auth.service.spec.ts index 3d6c58b..1084315 100644 --- a/src/module/auth/auth.service.spec.ts +++ b/src/module/auth/auth.service.spec.ts @@ -33,6 +33,45 @@ describe('AuthService', () => { update: jest.fn(), saveResetToken: jest.fn(), getByUserId: jest.fn(), + addRefreshSession: jest.fn(), + touchRefreshSession: jest.fn(), + removeRefreshSession: jest.fn(), + clearRefreshSessions: jest.fn(), + }; + + /** + * In-memory stand-in for the `user.refreshTokens` array that UserDao + * mutates with atomic operators. Returns the live array so tests can + * assert on it. + */ + const useFakeSessionStore = () => { + const sessions: { hash: string; expiry: Date }[] = []; + mockUserService.addRefreshSession.mockImplementation( + async (_id, hash, expiry, max) => { + sessions.push({ hash, expiry }); + if (sessions.length > max) sessions.splice(0, sessions.length - max); + }, + ); + mockUserService.touchRefreshSession.mockImplementation( + async (_id, hash, expiry) => { + const hit = sessions.find( + (s) => s.hash === hash && s.expiry > new Date(), + ); + if (!hit) return false; + hit.expiry = expiry; + return true; + }, + ); + mockUserService.removeRefreshSession.mockImplementation( + async (_id, hash) => { + const i = sessions.findIndex((s) => s.hash === hash); + if (i >= 0) sessions.splice(i, 1); + }, + ); + mockUserService.clearRefreshSessions.mockImplementation(async () => { + sessions.length = 0; + }); + return sessions; }; const mockJwtService = { @@ -247,7 +286,7 @@ describe('AuthService', () => { user.id = 'user-id'; mockJwtService.sign.mockReturnValue('test-token'); (uuidv4 as jest.Mock).mockReturnValue('refresh-token-uuid'); - mockUserService.update.mockImplementation(async (_id, u) => u); + const sessions = useFakeSessionStore(); const result = await service.login(user); @@ -267,12 +306,35 @@ describe('AuthService', () => { }); // The persisted hash must be SHA-256 of the token we returned to the // client — anything else means refresh would never validate. - expect(mockUserService.update).toHaveBeenCalledWith( - 'user-id', - expect.objectContaining({ - refreshTokenHash: sha256Hex(expectedRefreshToken), - }), + expect(sessions).toEqual([ + { hash: sha256Hex(expectedRefreshToken), expiry: expect.any(Date) }, + ]); + }); + + it('should add a session per device instead of replacing the previous one', async () => { + const user = new User( + 'Test', + 'testuser', + 'test@test.com', + 'hashedpassword', + '', + false, + UserRole.Volunteer, ); + user.id = 'user-id'; + mockJwtService.sign.mockReturnValue('test-token'); + const sessions = useFakeSessionStore(); + + (uuidv4 as jest.Mock).mockReturnValue('phone'); + const phone = await service.login(user); + (uuidv4 as jest.Mock).mockReturnValue('laptop'); + const laptop = await service.login(user); + + // Signing in on a second device must not invalidate the first. + expect(sessions.map((s) => s.hash)).toEqual([ + sha256Hex(phone.refresh_token), + sha256Hex(laptop.refresh_token), + ]); }); }); @@ -571,8 +633,8 @@ describe('AuthService', () => { }); describe('refreshAccessToken', () => { - /** Helper: build a user whose stored hash matches `refreshToken`. */ - const userWithHashFor = (refreshToken: string, expiry: Date) => { + /** Helper: a user with one live session for `refreshToken`. */ + const signedInUser = () => { const u = new User( 'Test', 'testuser', @@ -583,41 +645,78 @@ describe('AuthService', () => { UserRole.Volunteer, ); u.id = 'user-id'; - u.refreshTokenHash = sha256Hex(refreshToken); - u.refreshTokenExpiry = expiry; return u; }; - it('should return new tokens for a valid refresh token', async () => { - const validToken = 'user-id.valid-secret'; - const user = userWithHashFor( - validToken, - new Date(Date.now() + 1000 * 60 * 60), - ); - + it('should return a new access token and keep the same refresh token', async () => { + const user = signedInUser(); + const sessions = useFakeSessionStore(); + sessions.push({ + hash: sha256Hex('user-id.valid-secret'), + expiry: new Date(Date.now() + 1000 * 60 * 60), + }); mockUserService.getByUserId.mockResolvedValue(user); mockJwtService.sign.mockReturnValue('new-access-token'); - (uuidv4 as jest.Mock).mockReturnValue('new-refresh-uuid'); - mockUserService.update.mockImplementation(async (_id, u) => u); - const result = await service.refreshAccessToken(validToken); + const result = await service.refreshAccessToken('user-id.valid-secret'); - expect(mockUserService.getByUserId).toHaveBeenCalledWith('user-id'); expect(result).toMatchObject({ access_token: 'new-access-token', - // The new refresh token also follows the `${userId}.${uuid}` shape. - refresh_token: 'user-id.new-refresh-uuid', + // Not rotated: the client keeps the token it already has. + refresh_token: 'user-id.valid-secret', expires_in: 3600, username: 'testuser', }); }); - it('should throw UnauthorizedException for invalid refresh token', async () => { - const user = userWithHashFor( - 'user-id.correct-secret', - new Date(Date.now() + 1000 * 60 * 60), + it('should slide the expiry forward on every refresh', async () => { + const user = signedInUser(); + const sessions = useFakeSessionStore(); + const nearlyExpired = new Date(Date.now() + 1000 * 60); + sessions.push({ + hash: sha256Hex('user-id.valid-secret'), + expiry: nearlyExpired, + }); + mockUserService.getByUserId.mockResolvedValue(user); + mockJwtService.sign.mockReturnValue('new-access-token'); + + await service.refreshAccessToken('user-id.valid-secret'); + + // A user who keeps opening the app never runs out of session. + expect(sessions[0].expiry.getTime()).toBeGreaterThan( + nearlyExpired.getTime(), ); + }); + + it('should survive two concurrent refreshes with the same token', async () => { + const user = signedInUser(); + const sessions = useFakeSessionStore(); + sessions.push({ + hash: sha256Hex('user-id.valid-secret'), + expiry: new Date(Date.now() + 1000 * 60 * 60), + }); mockUserService.getByUserId.mockResolvedValue(user); + mockJwtService.sign.mockReturnValue('new-access-token'); + + // The mobile app refreshes from the UI isolate and the background + // sync isolate; under rotation the loser used to be signed out. + const [a, b] = await Promise.all([ + service.refreshAccessToken('user-id.valid-secret'), + service.refreshAccessToken('user-id.valid-secret'), + ]); + + expect(a.refresh_token).toBe('user-id.valid-secret'); + expect(b.refresh_token).toBe('user-id.valid-secret'); + expect(sessions).toHaveLength(1); + }); + + it('should throw UnauthorizedException for invalid refresh token', async () => { + const sessions = useFakeSessionStore(); + sessions.push({ + hash: sha256Hex('user-id.correct-secret'), + expiry: new Date(Date.now() + 1000 * 60 * 60), + }); + mockUserService.getByUserId.mockResolvedValue(signedInUser()); await expect( service.refreshAccessToken('user-id.wrong-secret'), @@ -625,37 +724,21 @@ describe('AuthService', () => { }); it('should throw UnauthorizedException for expired refresh token', async () => { - const user = userWithHashFor( - 'user-id.some-secret', - new Date(Date.now() - 1000), // already expired - ); - mockUserService.getByUserId.mockResolvedValue(user); - mockUserService.update.mockImplementation(async (_id, u) => u); + const sessions = useFakeSessionStore(); + sessions.push({ + hash: sha256Hex('user-id.some-secret'), + expiry: new Date(Date.now() - 1000), + }); + mockUserService.getByUserId.mockResolvedValue(signedInUser()); await expect( service.refreshAccessToken('user-id.some-secret'), - ).rejects.toThrow('Refresh token expired'); - // Should have wiped the token - expect(mockUserService.update).toHaveBeenCalledWith( - 'user-id', - expect.objectContaining({ - refreshTokenHash: null, - refreshTokenExpiry: null, - }), - ); + ).rejects.toThrow('Invalid refresh token'); }); - it('should throw UnauthorizedException if user has no refresh token', async () => { - const user = new User( - 'Test', - 'testuser', - 'test@test.com', - 'hashedpassword', - ); - user.id = 'user-id'; - // No refresh token fields set - - mockUserService.getByUserId.mockResolvedValue(user); + it('should throw UnauthorizedException if the user has no session', async () => { + useFakeSessionStore(); + mockUserService.getByUserId.mockResolvedValue(signedInUser()); await expect( service.refreshAccessToken('user-id.some-secret'), @@ -663,6 +746,11 @@ describe('AuthService', () => { }); it('should throw UnauthorizedException if user not found', async () => { + const sessions = useFakeSessionStore(); + sessions.push({ + hash: sha256Hex('nonexistent.some-secret'), + expiry: new Date(Date.now() + 1000 * 60 * 60), + }); mockUserService.getByUserId.mockResolvedValue(null); await expect( @@ -674,85 +762,26 @@ describe('AuthService', () => { await expect( service.refreshAccessToken('no-separator-here'), ).rejects.toThrow('Invalid refresh token'); - expect(mockUserService.getByUserId).not.toHaveBeenCalled(); + expect(mockUserService.touchRefreshSession).not.toHaveBeenCalled(); }); it('should throw UnauthorizedException if token has empty userId portion', async () => { await expect(service.refreshAccessToken('.secret')).rejects.toThrow( 'Invalid refresh token', ); - expect(mockUserService.getByUserId).not.toHaveBeenCalled(); - }); - - // ----- Rotation invariants ----------------------------------------------- - - it('should rotate: persisted hash after refresh matches the NEW token', async () => { - const oldToken = 'user-id.old-secret'; - const user = userWithHashFor( - oldToken, - new Date(Date.now() + 1000 * 60 * 60), - ); - - // Store the user state mongo would persist. - let persisted: User = user; - mockUserService.getByUserId.mockImplementation(async () => persisted); - mockUserService.update.mockImplementation(async (_id, u) => { - persisted = u; - return u; - }); - mockJwtService.sign.mockReturnValue('new-access-token'); - (uuidv4 as jest.Mock).mockReturnValue('new-secret'); - - const result = await service.refreshAccessToken(oldToken); - - // Persisted hash should now correspond to the brand-new token, not the - // old one — that's what makes the old token unusable. - expect(persisted.refreshTokenHash).toBe(sha256Hex(result.refresh_token)); - expect(persisted.refreshTokenHash).not.toBe(sha256Hex(oldToken)); - }); - - it('should reject the old token after a successful rotation', async () => { - const oldToken = 'user-id.old-secret'; - const newToken = 'user-id.new-secret'; - let persisted: User = userWithHashFor( - oldToken, - new Date(Date.now() + 1000 * 60 * 60), - ); - - mockUserService.getByUserId.mockImplementation(async () => persisted); - mockUserService.update.mockImplementation(async (_id, u) => { - persisted = u; - return u; - }); - mockJwtService.sign.mockReturnValue('new-access-token'); - (uuidv4 as jest.Mock).mockReturnValue('new-secret'); - - // 1) First refresh succeeds. - const result = await service.refreshAccessToken(oldToken); - expect(result.refresh_token).toBe(newToken); - - // 2) Replaying the old token must now fail. - await expect(service.refreshAccessToken(oldToken)).rejects.toThrow( - 'Invalid refresh token', - ); + expect(mockUserService.touchRefreshSession).not.toHaveBeenCalled(); }); it('should reject the refresh token after logout', async () => { const token = 'user-id.some-secret'; - let persisted: User = userWithHashFor( - token, - new Date(Date.now() + 1000 * 60 * 60), - ); - - mockUserService.getByUserId.mockImplementation(async () => persisted); - mockUserService.update.mockImplementation(async (_id, u) => { - persisted = u; - return u; + const sessions = useFakeSessionStore(); + sessions.push({ + hash: sha256Hex(token), + expiry: new Date(Date.now() + 1000 * 60 * 60), }); + mockUserService.getByUserId.mockResolvedValue(signedInUser()); - await service.logout('user-id'); - expect(persisted.refreshTokenHash).toBeNull(); - expect(persisted.refreshTokenExpiry).toBeNull(); + await service.logout('user-id', token); await expect(service.refreshAccessToken(token)).rejects.toThrow( 'Invalid refresh token', @@ -761,32 +790,40 @@ describe('AuthService', () => { }); describe('logout', () => { - it('should clear the refresh token for the user', async () => { - const user = new User( - 'Test', - 'testuser', - 'test@test.com', - 'hashedpassword', + it('should drop only the calling device session', async () => { + const sessions = useFakeSessionStore(); + sessions.push( + { + hash: sha256Hex('user-id.phone'), + expiry: new Date(Date.now() + 1000), + }, + { + hash: sha256Hex('user-id.laptop'), + expiry: new Date(Date.now() + 1000), + }, ); - user.id = 'user-id'; - user.refreshTokenHash = 'hashed-refresh'; - user.refreshTokenExpiry = new Date(); - mockUserService.getByUserId.mockResolvedValue(user); - mockUserService.update.mockImplementation(async (_id, u) => u); + await service.logout('user-id', 'user-id.phone'); + + expect(sessions.map((s) => s.hash)).toEqual([ + sha256Hex('user-id.laptop'), + ]); + }); + + it('should drop every session when no refresh token is given', async () => { + const sessions = useFakeSessionStore(); + sessions.push({ + hash: sha256Hex('user-id.phone'), + expiry: new Date(Date.now() + 1000), + }); await service.logout('user-id'); - expect(mockUserService.update).toHaveBeenCalledWith( - 'user-id', - expect.objectContaining({ - refreshTokenHash: null, - refreshTokenExpiry: null, - }), - ); + expect(sessions).toHaveLength(0); }); it('should not throw if user not found', async () => { + useFakeSessionStore(); mockUserService.getByUserId.mockResolvedValue(null); await expect(service.logout('nonexistent')).resolves.toBeUndefined(); }); diff --git a/src/module/auth/auth.service.ts b/src/module/auth/auth.service.ts index 6a9807d..a3590ba 100644 --- a/src/module/auth/auth.service.ts +++ b/src/module/auth/auth.service.ts @@ -16,10 +16,16 @@ import * as process from 'node:process'; import { createHash, timingSafeEqual } from 'node:crypto'; import { ACCESS_TOKEN_TTL_SECONDS, + MAX_REFRESH_SESSIONS, REFRESH_TOKEN_SEPARATOR, REFRESH_TOKEN_TTL_DAYS, } from './auth.constants'; +/** Sliding expiry: TTL counted from now, refreshed on every use. */ +function refreshExpiry(): Date { + return new Date(Date.now() + REFRESH_TOKEN_TTL_DAYS * 24 * 60 * 60 * 1000); +} + export interface UserJWT { userId: string; username: string; @@ -248,17 +254,17 @@ export class AuthService { const accessToken = this.jwtService.sign(payload); - // Generate and persist a refresh token. The userId is prefixed onto the - // token so we can look up the owner on /auth/refresh without requiring - // the client to also send a userId. + // Generate and persist a refresh token for THIS device. The userId is + // prefixed onto the token so we can look up the owner on /auth/refresh + // without requiring the client to also send a userId. const refreshToken = `${user.id}${REFRESH_TOKEN_SEPARATOR}${uuidv4()}`; - const refreshTokenExpiry = new Date( - Date.now() + REFRESH_TOKEN_TTL_DAYS * 24 * 60 * 60 * 1000, - ); - user.refreshTokenHash = hashRefreshToken(refreshToken); - user.refreshTokenExpiry = refreshTokenExpiry; - await this.usersService.update(user.id, user); + await this.usersService.addRefreshSession( + user.id, + hashRefreshToken(refreshToken), + refreshExpiry(), + MAX_REFRESH_SESSIONS, + ); return { access_token: accessToken, @@ -269,9 +275,17 @@ export class AuthService { } /** - * Validates a refresh token, rotates the pair, and returns new tokens. - * The userId is recovered from the refresh token itself - * (`${userId}.${secret}`), so the client only needs to send the token. + * Validates a refresh token and issues a fresh access token. The userId is + * recovered from the refresh token itself (`${userId}.${secret}`), so the + * client only needs to send the token. + * + * ponytail: the refresh token is deliberately NOT rotated — its expiry is + * slid forward instead. Rotation needs a grace window for the old token, + * otherwise any concurrent refresh (this app runs one in the background + * isolate too) or any lost response permanently kills the session, which + * is exactly the random-logout bug this replaces. If replay detection is + * ever needed, add `{ prevHash, prevExpiry }` to the session entry and + * accept the previous hash for ~60s rather than reverting to bare rotation. */ async refreshAccessToken(refreshToken: string) { const separatorIndex = refreshToken.indexOf(REFRESH_TOKEN_SEPARATOR); @@ -280,39 +294,46 @@ export class AuthService { } const userId = refreshToken.slice(0, separatorIndex); - const user = await this.usersService.getByUserId(userId); - if (!user || !user.refreshTokenHash || !user.refreshTokenExpiry) { + const alive = await this.usersService.touchRefreshSession( + userId, + hashRefreshToken(refreshToken), + refreshExpiry(), + MAX_REFRESH_SESSIONS, + ); + if (!alive) { throw new UnauthorizedException('Invalid refresh token'); } - // Check expiry - if (user.refreshTokenExpiry < new Date()) { - // Expired — wipe the token so it can never be reused - user.refreshTokenHash = null; - user.refreshTokenExpiry = null; - await this.usersService.update(user.id, user); - throw new UnauthorizedException('Refresh token expired'); - } - - // Verify hash (constant-time) - if ( - !safeHashCompare(hashRefreshToken(refreshToken), user.refreshTokenHash) - ) { + const user = await this.usersService.getByUserId(userId); + if (!user) { throw new UnauthorizedException('Invalid refresh token'); } - // Rotate: issue a brand-new pair of tokens. The new login() overwrites - // user.refreshTokenHash, so the token we just consumed cannot be reused. - return this.login(user); + return { + access_token: this.jwtService.sign({ + username: user.username, + sub: user.id, + role: user.role, + }), + refresh_token: refreshToken, + expires_in: ACCESS_TOKEN_TTL_SECONDS, + username: user.username, + }; } - /** Invalidates the refresh token for the given user (server-side logout). */ - async logout(userId: string): Promise { - const user = await this.usersService.getByUserId(userId); - if (!user) return; - user.refreshTokenHash = null; - user.refreshTokenExpiry = null; - await this.usersService.update(user.id, user); + /** + * Server-side logout. With a refresh token, only that device's session is + * dropped; without one (older clients) every session is dropped. + */ + async logout(userId: string, refreshToken?: string): Promise { + if (refreshToken) { + await this.usersService.removeRefreshSession( + userId, + hashRefreshToken(refreshToken), + ); + return; + } + await this.usersService.clearRefreshSessions(userId); } async forgotPassword(email: string) { diff --git a/src/module/auth/users/user.dao.ts b/src/module/auth/users/user.dao.ts index efeb064..e30c8e2 100644 --- a/src/module/auth/users/user.dao.ts +++ b/src/module/auth/users/user.dao.ts @@ -49,6 +49,98 @@ export class UserDao { return updatedUser ? UserMapper.toEntity(updatedUser['_doc']) : null; } + // ------------------------------------------------------------------- + // Refresh sessions + // + // These bypass the User entity / UserMapper on purpose: they are the + // only writers of `refreshTokens`, and they use atomic array operators + // so two devices refreshing at the same moment can't overwrite each + // other with a stale read-modify-write. + // ------------------------------------------------------------------- + + /** Adds a session, evicting the oldest once `max` is exceeded. */ + async addRefreshSession( + userId: string, + hash: string, + expiry: Date, + max: number, + ): Promise { + await this.userModel + .updateOne( + { _id: userId }, + { + $push: { + refreshTokens: { $each: [{ hash, expiry }], $slice: -max }, + }, + }, + ) + .exec(); + } + + /** + * Slides a live session's expiry forward. Returns false only when the + * hash matches no live session — the single condition that means "this + * refresh token is dead, sign this device out". + * + * Falls back to the pre-multi-session `refreshTokenHash` field and + * migrates it in place, so deploying this change doesn't log out every + * user who is currently signed in. + */ + async touchRefreshSession( + userId: string, + hash: string, + expiry: Date, + max: number, + ): Promise { + const now = new Date(); + const live = await this.userModel + .updateOne( + { + _id: userId, + refreshTokens: { $elemMatch: { hash, expiry: { $gt: now } } }, + }, + { $set: { 'refreshTokens.$.expiry': expiry } }, + ) + .exec(); + if (live.matchedCount === 1) return true; + + const legacy = await this.userModel + .updateOne( + { _id: userId, refreshTokenHash: hash, refreshTokenExpiry: { $gt: now } }, + { + $set: { refreshTokenHash: null, refreshTokenExpiry: null }, + $push: { + refreshTokens: { $each: [{ hash, expiry }], $slice: -max }, + }, + }, + ) + .exec(); + return legacy.matchedCount === 1; + } + + /** Signs one device out. Other sessions are untouched. */ + async removeRefreshSession(userId: string, hash: string): Promise { + await this.userModel + .updateOne({ _id: userId }, { $pull: { refreshTokens: { hash } } }) + .exec(); + } + + /** Signs every device out (password reset, account recovery). */ + async clearRefreshSessions(userId: string): Promise { + await this.userModel + .updateOne( + { _id: userId }, + { + $set: { + refreshTokens: [], + refreshTokenHash: null, + refreshTokenExpiry: null, + }, + }, + ) + .exec(); + } + async getAllByProjectId(projectId: string): Promise { const userDocuments = await this.userModel .find({ diff --git a/src/module/auth/users/user.schema.ts b/src/module/auth/users/user.schema.ts index faac46e..92a5c12 100644 --- a/src/module/auth/users/user.schema.ts +++ b/src/module/auth/users/user.schema.ts @@ -8,6 +8,12 @@ export enum UserRole { Volunteer = 'Volunteer', } +/** One signed-in device: the SHA-256 of its refresh token + its expiry. */ +export interface RefreshSession { + hash: string; + expiry: Date; +} + export class Rating { @Prop({ required: true, @@ -61,10 +67,19 @@ export class UserTemplate { gameProfiles: GameProfile[]; @Prop({ default: null }) - refreshTokenHash: string; // bcrypt hash of the refresh token + refreshTokenHash: string; // legacy single-session field, migrated on first refresh @Prop({ type: Date, default: null }) - refreshTokenExpiry: Date; // when the refresh token expires + refreshTokenExpiry: Date; // legacy single-session field + + /** + * One entry per signed-in device. Written only through the atomic + * `$push` / `$set` / `$pull` helpers in UserDao — never through + * `UserMapper.toTemplate`, so a concurrent profile update can't clobber + * someone else's session. + */ + @Prop({ type: [{ hash: String, expiry: Date, _id: false }], default: [] }) + refreshTokens?: RefreshSession[]; @Prop({ type: Array, default: [] }) contributions: string[]; // tasks id diff --git a/src/module/auth/users/user.service.ts b/src/module/auth/users/user.service.ts index 7c318ab..58a75f0 100644 --- a/src/module/auth/users/user.service.ts +++ b/src/module/auth/users/user.service.ts @@ -30,6 +30,27 @@ export class UserService { return await this.userDao.getUserById(userId); } + addRefreshSession(userId: string, hash: string, expiry: Date, max: number) { + return this.userDao.addRefreshSession(userId, hash, expiry, max); + } + + touchRefreshSession( + userId: string, + hash: string, + expiry: Date, + max: number, + ): Promise { + return this.userDao.touchRefreshSession(userId, hash, expiry, max); + } + + removeRefreshSession(userId: string, hash: string) { + return this.userDao.removeRefreshSession(userId, hash); + } + + clearRefreshSessions(userId: string) { + return this.userDao.clearRefreshSessions(userId); + } + async findAllByProjectId(projectId: string): Promise { return await this.userDao.getAllByProjectId(projectId); } From a325bc0a0a6598c20f7d74889930f8152bf4081f Mon Sep 17 00:00:00 2001 From: FranciscoPerezRamos Date: Fri, 31 Jul 2026 14:48:04 +0200 Subject: [PATCH 092/104] New updateUserInfo endpoint. Add description to the user schema --- src/module/auth/users/UserMapper.ts | 2 + src/module/auth/users/user.controller.ts | 14 +++++- src/module/auth/users/user.entity.ts | 11 +++++ src/module/auth/users/user.schema.ts | 5 ++- src/module/auth/users/user.service.spec.ts | 51 +++++++++++++++++++++- src/module/auth/users/user.service.ts | 47 +++++++++++++++++++- 6 files changed, 125 insertions(+), 5 deletions(-) diff --git a/src/module/auth/users/UserMapper.ts b/src/module/auth/users/UserMapper.ts index 596bbbe..bd7cd35 100644 --- a/src/module/auth/users/UserMapper.ts +++ b/src/module/auth/users/UserMapper.ts @@ -20,6 +20,7 @@ export class UserMapper { userDocument.createdAt, userDocument.refreshTokenHash ?? null, userDocument.refreshTokenExpiry ?? null, + userDocument.description ?? '', ); } @@ -31,6 +32,7 @@ export class UserMapper { email: user.email, password: user.password, profile_image: user.profileImage, + description: user.description ?? '', verified: user.verified, role: user.role, resetToken: user.resetToken, diff --git a/src/module/auth/users/user.controller.ts b/src/module/auth/users/user.controller.ts index e91b4b5..29c374a 100644 --- a/src/module/auth/users/user.controller.ts +++ b/src/module/auth/users/user.controller.ts @@ -1,7 +1,7 @@ -import { Controller, Get, Req, UseGuards } from '@nestjs/common'; +import { Body, Controller, Get, Patch, Req, UseGuards } from '@nestjs/common'; import { JwtAuthGuard } from '../auth.guard'; import { RolesGuard } from '../roles.guard'; -import { UserService } from './user.service'; +import { UpdateProfileDTO, UserService } from './user.service'; @Controller('user') export class UserController { @@ -12,4 +12,14 @@ export class UserController { async getUserInfo(@Req() req) { return await this.userService.findByEmailOrUsername('', req.user.username); } + + /** + * Edición del propio perfil. El usuario del token es el único que se puede + * modificar — no se acepta un id por parámetro. + */ + @UseGuards(JwtAuthGuard, RolesGuard) + @Patch() + async updateUserInfo(@Req() req, @Body() body: UpdateProfileDTO) { + return await this.userService.updateProfile(req.user.username, body ?? {}); + } } diff --git a/src/module/auth/users/user.entity.ts b/src/module/auth/users/user.entity.ts index 3246225..69d7a57 100644 --- a/src/module/auth/users/user.entity.ts +++ b/src/module/auth/users/user.entity.ts @@ -94,6 +94,7 @@ export class User { private _createdAt: Date; private _refreshTokenHash: string | null; private _refreshTokenExpiry: Date | null; + private _description: string; constructor( completeName: string, @@ -112,6 +113,7 @@ export class User { createdAt: Date = new Date(), refreshTokenHash: string | null = null, refreshTokenExpiry: Date | null = null, + description: string = '', ) { this._completeName = completeName; this._username = username; @@ -129,6 +131,15 @@ export class User { this._createdAt = createdAt; this._refreshTokenHash = refreshTokenHash; this._refreshTokenExpiry = refreshTokenExpiry; + this._description = description ?? ''; + } + + get description(): string { + return this._description; + } + + set description(value: string) { + this._description = value ?? ''; } get password(): string { diff --git a/src/module/auth/users/user.schema.ts b/src/module/auth/users/user.schema.ts index 92a5c12..93956d8 100644 --- a/src/module/auth/users/user.schema.ts +++ b/src/module/auth/users/user.schema.ts @@ -55,7 +55,10 @@ export class UserTemplate { createdAt: Date; @Prop({ default: null }) - profile_image: string; // Imagen de perfil (puede ser una URL) + profile_image: string; // Imagen de perfil (URL, o un id de avatar `avatar:`) + + @Prop({ default: '' }) + description: string; // Bio corta que el usuario edita desde su perfil @Prop({ default: false }) verified: boolean; // Indica si el usuario ha verificado su cuenta diff --git a/src/module/auth/users/user.service.spec.ts b/src/module/auth/users/user.service.spec.ts index 23b56a9..223512a 100644 --- a/src/module/auth/users/user.service.spec.ts +++ b/src/module/auth/users/user.service.spec.ts @@ -1,4 +1,4 @@ -import { UserService } from './user.service'; +import { PROFILE_LIMITS, UserService } from './user.service'; import { UserDao } from './user.dao'; import { User } from './user.entity'; import { Checkin } from '../../checkin/entities/checkin.entity'; @@ -97,6 +97,55 @@ describe('UserService', () => { ); }); + describe('updateProfile', () => { + const makeUser = () => + new User('Nombre Viejo', 'user', 'a@b.com', 'hash', 'avatar:explorador'); + + it('solo pisa los campos presentes en el patch', async () => { + const user = makeUser(); + user.description = 'bio vieja'; + userDao.findByEmailOrUsername.mockResolvedValue(user); + userDao.update.mockImplementation(async (_id, u) => u); + + await service.updateProfile('user', { complete_name: ' Ana Paz ' }); + + expect(user.completeName).toBe('Ana Paz'); + expect(user.description).toBe('bio vieja'); + expect(user.profileImage).toBe('avatar:explorador'); + }); + + it('recorta la descripción al límite e ignora un nombre vacío', async () => { + const user = makeUser(); + userDao.findByEmailOrUsername.mockResolvedValue(user); + userDao.update.mockImplementation(async (_id, u) => u); + + await service.updateProfile('user', { + complete_name: ' ', + description: 'x'.repeat(PROFILE_LIMITS.description + 50), + }); + + expect(user.completeName).toBe('Nombre Viejo'); + expect(user.description).toHaveLength(PROFILE_LIMITS.description); + }); + + it('un profile_image vacío limpia el avatar', async () => { + const user = makeUser(); + userDao.findByEmailOrUsername.mockResolvedValue(user); + userDao.update.mockImplementation(async (_id, u) => u); + + await service.updateProfile('user', { profile_image: '' }); + + expect(user.profileImage).toBeNull(); + }); + + it('falla si el usuario no existe', async () => { + userDao.findByEmailOrUsername.mockResolvedValue(null); + await expect(service.updateProfile('user', {})).rejects.toThrow( + 'User not found', + ); + }); + }); + it('getUserByResetToken debe delegar en userDao', () => { userDao.getUserByResetToken.mockReturnValue( Promise.resolve({ id: '1' } as User), diff --git a/src/module/auth/users/user.service.ts b/src/module/auth/users/user.service.ts index 58a75f0..66f8f6d 100644 --- a/src/module/auth/users/user.service.ts +++ b/src/module/auth/users/user.service.ts @@ -1,8 +1,21 @@ -import { Injectable } from '@nestjs/common'; +import { Injectable, NotFoundException } from '@nestjs/common'; import { UserDao } from './user.dao'; import { User } from './user.entity'; import { Checkin } from '../../checkin/entities/checkin.entity'; +/** Campos que el propio usuario puede editar desde su perfil. */ +export interface UpdateProfileDTO { + complete_name?: string; + description?: string; + profile_image?: string; +} + +export const PROFILE_LIMITS = { + completeName: 80, + description: 280, + profileImage: 300, +}; + @Injectable() export class UserService { constructor(private readonly userDao: UserDao) {} @@ -26,6 +39,32 @@ export class UserService { return this.userDao.update(id, userData); } + /** + * Actualiza los campos editables del propio perfil. Solo toca las claves + * presentes en el patch: mandar `{ description }` no borra el avatar. + * `email`, `username` y `role` no son editables por acá a propósito — + * el email identifica la cuenta. + */ + async updateProfile(username: string, patch: UpdateProfileDTO): Promise { + const user = await this.userDao.findByEmailOrUsername('', username); + if (!user) { + throw new NotFoundException('User not found'); + } + if (patch.complete_name !== undefined) { + const name = clamp(patch.complete_name, PROFILE_LIMITS.completeName); + // Un nombre vacío dejaría la UI sin nada que mostrar: se ignora. + if (name) user.completeName = name; + } + if (patch.description !== undefined) { + user.description = clamp(patch.description, PROFILE_LIMITS.description); + } + if (patch.profile_image !== undefined) { + const image = clamp(patch.profile_image, PROFILE_LIMITS.profileImage); + user.profileImage = image || null; + } + return this.userDao.update(user.id, user); + } + async getByUserId(userId: string): Promise { return await this.userDao.getUserById(userId); } @@ -75,3 +114,9 @@ export class UserService { return this.userDao.getUserByResetToken(token); } } + +/** Trimea y corta al límite. Entrada no-string se trata como vacía. */ +function clamp(value: unknown, max: number): string { + if (typeof value !== 'string') return ''; + return value.trim().slice(0, max); +} From eb1fcbf00aebd007d58a062c487164de653ff9c5 Mon Sep 17 00:00:00 2001 From: FranciscoPerezRamos Date: Fri, 31 Jul 2026 17:14:17 +0200 Subject: [PATCH 093/104] Add statsByUser endpoint to get all the stas in the profile --- src/module/checkin/checkin.controller.ts | 11 +++ src/module/checkin/checkin.service.spec.ts | 73 ++++++++++++++++++- src/module/checkin/checkin.service.ts | 49 +++++++++++++ src/module/checkin/persistence/checkin.dao.ts | 41 +++++++++++ 4 files changed, 173 insertions(+), 1 deletion(-) diff --git a/src/module/checkin/checkin.controller.ts b/src/module/checkin/checkin.controller.ts index 4d76eef..b2f6ca9 100644 --- a/src/module/checkin/checkin.controller.ts +++ b/src/module/checkin/checkin.controller.ts @@ -100,6 +100,17 @@ export class CheckinController { return this.checkinService.findByProjectId(userId, projectId); } + /** + * Aggregated activity of the signed-in volunteer, for the profile screen. + * Mounted under `me/...` so it can't collide with `GET /checkin/:id`, and + * declared before it so Nest matches this route first. + */ + @UseGuards(JwtAuthGuard) + @Get('me/stats') + async myStats(@Req() req) { + return this.checkinService.statsForUser(req.user.userId); + } + /** * Admin-only listing of every checkin for `projectId`. Supports filters * (taskName, taskType, hasPhotos, location radius, userId, dateRange, diff --git a/src/module/checkin/checkin.service.spec.ts b/src/module/checkin/checkin.service.spec.ts index ca71889..867f6bd 100644 --- a/src/module/checkin/checkin.service.spec.ts +++ b/src/module/checkin/checkin.service.spec.ts @@ -1,5 +1,5 @@ import { Test, TestingModule } from '@nestjs/testing'; -import { CheckinService } from './checkin.service'; +import { CheckinService, currentStreak } from './checkin.service'; import { CheckInDao } from './persistence/checkin.dao'; import { TaskService } from '../task/task.service'; import { UserService } from '../auth/users/user.service'; @@ -25,6 +25,7 @@ const mockCheckInDao = { remove: jest.fn(), findByProjectId: jest.fn(), findForAdmin: jest.fn(), + statsByUser: jest.fn(), }; const mockIdempotencyDao = { @@ -588,4 +589,74 @@ describe('CheckinService', () => { }); }); }); + + describe('statsForUser', () => { + it('suma totales y arma la racha desde los días del DAO', async () => { + mockCheckInDao.statsByUser.mockResolvedValue({ + byProject: [ + { projectId: 'p1', count: 4 }, + { projectId: 'p2', count: 3 }, + ], + days: ['2026-07-31', '2026-07-30', '2026-07-28'], + }); + jest.useFakeTimers().setSystemTime(new Date('2026-07-31T10:00:00Z')); + + const stats = await service.statsForUser('user1'); + + expect(stats.total).toBe(7); + expect(stats.activeDays).toBe(3); + expect(stats.streakDays).toBe(2); + expect(stats.lastCheckinDay).toBe('2026-07-31'); + jest.useRealTimers(); + }); + + it('devuelve ceros cuando el usuario no tiene check-ins', async () => { + mockCheckInDao.statsByUser.mockResolvedValue({ byProject: [], days: [] }); + const stats = await service.statsForUser('user1'); + expect(stats).toEqual({ + total: 0, + byProject: [], + activeDays: 0, + streakDays: 0, + lastCheckinDay: null, + }); + }); + }); +}); + +describe('currentStreak', () => { + const today = new Date('2026-07-31T23:00:00Z'); + + it('cuenta días consecutivos terminando hoy', () => { + expect( + currentStreak(['2026-07-31', '2026-07-30', '2026-07-29'], today), + ).toBe(3); + }); + + it('ayer todavía cuenta — la racha no se rompe hasta perder un día entero', () => { + expect(currentStreak(['2026-07-30', '2026-07-29'], today)).toBe(2); + }); + + it('se corta si el último check-in tiene más de un día', () => { + expect(currentStreak(['2026-07-29', '2026-07-28'], today)).toBe(0); + }); + + it('para en el primer hueco', () => { + expect( + currentStreak(['2026-07-31', '2026-07-29', '2026-07-28'], today), + ).toBe(1); + }); + + it('cruza el límite de mes', () => { + expect( + currentStreak( + ['2026-08-01', '2026-07-31'], + new Date('2026-08-01T05:00:00Z'), + ), + ).toBe(2); + }); + + it('sin días, sin racha', () => { + expect(currentStreak([], today)).toBe(0); + }); }); diff --git a/src/module/checkin/checkin.service.ts b/src/module/checkin/checkin.service.ts index 1110188..440a317 100644 --- a/src/module/checkin/checkin.service.ts +++ b/src/module/checkin/checkin.service.ts @@ -219,6 +219,21 @@ export class CheckinService { return this.checkInDao.findByProjectId(userId, projectId); } + /** + * Aggregated activity for the profile screen: how many missions, where, + * on how many distinct days, and the current streak. + */ + async statsForUser(userId: string): Promise { + const { byProject, days } = await this.checkInDao.statsByUser(userId); + return { + total: byProject.reduce((sum, p) => sum + p.count, 0), + byProject, + activeDays: days.length, + streakDays: currentStreak(days), + lastCheckinDay: days[0] ?? null, + }; + } + /** * Admin endpoint: list every checkin for the project with optional filters * and pagination. The "task name" filter is resolved here because tasks @@ -380,3 +395,37 @@ function parseDate(value: string | undefined): Date | undefined { function clamp(value: number, min: number, max: number): number { return Math.min(Math.max(value, min), max); } + +export interface UserCheckinStats { + total: number; + byProject: { projectId: string; count: number }[]; + activeDays: number; + streakDays: number; + /** `YYYY-MM-DD` of the most recent check-in, or null when there are none. */ + lastCheckinDay: string | null; +} + +const DAY_MS = 86_400_000; + +/** + * Consecutive active days ending today or yesterday. Yesterday still counts, + * so a streak doesn't read as broken just because the volunteer hasn't been + * out yet today. Expects distinct `YYYY-MM-DD` days sorted descending. + */ +export function currentStreak(daysDesc: string[], today = new Date()): number { + if (daysDesc.length === 0) return 0; + const asUtc = (day: string) => Date.parse(`${day}T00:00:00Z`); + const todayUtc = Date.UTC( + today.getUTCFullYear(), + today.getUTCMonth(), + today.getUTCDate(), + ); + if ((todayUtc - asUtc(daysDesc[0])) / DAY_MS > 1) return 0; + + let streak = 1; + for (let i = 1; i < daysDesc.length; i++) { + if ((asUtc(daysDesc[i - 1]) - asUtc(daysDesc[i])) / DAY_MS !== 1) break; + streak++; + } + return streak; +} diff --git a/src/module/checkin/persistence/checkin.dao.ts b/src/module/checkin/persistence/checkin.dao.ts index ba1a651..1a3ff24 100644 --- a/src/module/checkin/persistence/checkin.dao.ts +++ b/src/module/checkin/persistence/checkin.dao.ts @@ -99,6 +99,47 @@ export class CheckInDao { } } + /** + * Per-user check-in totals for the profile screen, in one round trip. + * + * `days` are UTC calendar days (`$dateToString` on `datetime`) — enough to + * compute an activity streak. ponytail: UTC, not the volunteer's local + * timezone; if a streak flipping at the wrong hour ever bothers anyone, + * pass a tz offset into `$dateToString`. + */ + async statsByUser( + userId: string, + ): Promise<{ byProject: { projectId: string; count: number }[]; days: string[] }> { + const [result] = await this.checkInModel + .aggregate([ + { $match: { userId } }, + { + $facet: { + byProject: [ + { $group: { _id: '$projectId', count: { $sum: 1 } } }, + { $project: { _id: 0, projectId: '$_id', count: 1 } }, + ], + days: [ + { + $group: { + _id: { + $dateToString: { format: '%Y-%m-%d', date: '$datetime' }, + }, + }, + }, + { $sort: { _id: -1 } }, + ], + }, + }, + ]) + .exec(); + + return { + byProject: result?.byProject ?? [], + days: (result?.days ?? []).map((d: { _id: string }) => d._id), + }; + } + findByProjectId(userId: string, projectId: string) { return this.checkInModel .find({ projectId, userId }) From a39789d23c00b74ac905b226e49d1c90b6669ec3 Mon Sep 17 00:00:00 2001 From: Lucas Gabriel Matwiejczuk Date: Sat, 1 Aug 2026 15:02:25 -0300 Subject: [PATCH 094/104] feat: replace bipartite matching with recursive DAG evaluation in gamification engine (#56) Co-authored-by: Lucas Matwiejczuk --- src/module/checkin/checkin.service.spec.ts | 1 + src/module/checkin/checkin.service.ts | 6 + src/module/checkin/persistence/checkin.dao.ts | 11 + .../gamification/basic-badge-engine.spec.ts | 275 +++++++++++++++++- .../engine/gamification/basic-badge-engine.ts | 99 +++++-- .../entities/gamification.entity.ts | 3 + .../gamification/gamification.service.ts | 4 + .../gamificationController.spec.ts | 10 + .../gamification/gamificationController.ts | 12 + .../persistence/gamification-dao.service.ts | 15 + .../persistence/gamification.schema.ts | 7 + src/module/project/project-service.spec.ts | 12 + src/module/project/project.module.ts | 6 + src/module/project/project.service.ts | 26 ++ 14 files changed, 463 insertions(+), 24 deletions(-) diff --git a/src/module/checkin/checkin.service.spec.ts b/src/module/checkin/checkin.service.spec.ts index 867f6bd..2ad7ddf 100644 --- a/src/module/checkin/checkin.service.spec.ts +++ b/src/module/checkin/checkin.service.spec.ts @@ -25,6 +25,7 @@ const mockCheckInDao = { remove: jest.fn(), findByProjectId: jest.fn(), findForAdmin: jest.fn(), + findAllByProjectIdAndUser: jest.fn().mockResolvedValue([]), statsByUser: jest.fn(), }; diff --git a/src/module/checkin/checkin.service.ts b/src/module/checkin/checkin.service.ts index 440a317..b12051c 100644 --- a/src/module/checkin/checkin.service.ts +++ b/src/module/checkin/checkin.service.ts @@ -348,6 +348,12 @@ export class CheckinService { createCheckinDto.projectId, ); const user = await this.userService.getByUserId(createCheckinDto.userId); + + user.checkins = await this.checkInDao.findAllByProjectIdAndUser( + createCheckinDto.userId, + createCheckinDto.projectId, + ); + const users = await this.userService.findAllByProjectId( createCheckinDto.projectId, ); diff --git a/src/module/checkin/persistence/checkin.dao.ts b/src/module/checkin/persistence/checkin.dao.ts index 1a3ff24..e14efb0 100644 --- a/src/module/checkin/persistence/checkin.dao.ts +++ b/src/module/checkin/persistence/checkin.dao.ts @@ -148,6 +148,17 @@ export class CheckInDao { .exec(); } + async findAllByProjectIdAndUser( + userId: string, + projectId: string, + ): Promise { + const list = await this.checkInModel + .find({ projectId, userId }) + .sort({ datetime: 1 }) + .exec(); + return list.map((c) => CheckinMapper.toEntity(c, null)); + } + /** * Admin endpoint backbone: builds a Mongo filter from `AdminCheckinFilter`, * paginates, and returns total count for the UI to render page controls. diff --git a/src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts b/src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts index 8db5429..b48fa94 100644 --- a/src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts +++ b/src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts @@ -55,6 +55,102 @@ describe('BasicBadgeEngine', () => { const result = engine.newBadgesFor(user, checkin, project); expect(result).toContain(rule); }); + + it('should bypass faded prerequisite badges and award active child badge', () => { + const ruleA = new BadgeRule( + 'rA', + 'p1', + 'BadgeA', + 'desc', + 'img', + 1, + false, + [], + 'Cualquiera', + 'A1', + 'Cualquiera', + 'faded', + ); + const ruleB = new BadgeRule( + 'rB', + 'p1', + 'BadgeB', + 'desc', + 'img', + 1, + false, + ['BadgeA'], + 'Cualquiera', + 'A2', + 'Cualquiera', + 'active', + ); + + const featureA1 = { + properties: { id: 'A1' }, + geometry: { + type: 'Polygon', + coordinates: [ + [ + [0, 0], + [1, 0], + [1, 1], + [0, 1], + [0, 0], + ], + ], + }, + }; + const featureA2 = { + properties: { id: 'A2' }, + geometry: { + type: 'Polygon', + coordinates: [ + [ + [2, 2], + [3, 2], + [3, 3], + [2, 3], + [2, 2], + ], + ], + }, + }; + + const project = { + id: 'p1', + gamification: { badgesRules: [ruleA, ruleB] }, + taskTypes: ['type1'], + timeIntervals: [], + areas: { features: [featureA1, featureA2] }, + } as any; + + const user = new User('t@t.com', 'u', 'p', 'T'); + user.id = 'u1'; + user.addProject('p1'); + const checkin1 = { + date: new Date(), + taskType: 'type1', + longitude: '0.5', + latitude: '0.5', + contributesTo: '', + projectId: 'p1', + } as any; + user.checkins = [checkin1]; + + const checkin2 = { + date: new Date(), + taskType: 'type1', + longitude: '2.5', + latitude: '2.5', + contributesTo: '', + projectId: 'p1', + } as any; + + const result = engine.newBadgesFor(user, checkin2, project); + expect(result).toContain(ruleB); + expect(result).not.toContain(ruleA); + }); }); describe('internal matches', () => { @@ -176,15 +272,180 @@ describe('BasicBadgeEngine', () => { const checkin = { longitude: '0.5', latitude: '0.5' } as any; expect((engine as any).matchArea(rule2, checkin, project)).toBe(true); }); - it('should check if user has previous badges', () => { - const rule = { previousBadges: ['B1'] } as any; - const user = { hasBadgeWithName: jest.fn() } as any; + it('should check if user has previous badges satisfied recursively', () => { + const b1 = new BadgeRule( + 'r1', + 'p1', + 'B1', + 'd', + 'i', + 1, + false, + [], + 'Cualquiera', + 'Cualquiera', + 'Cualquiera', + 'faded', + ); + const b2 = new BadgeRule( + 'r2', + 'p1', + 'B2', + 'd', + 'i', + 1, + false, + ['B1'], + 'Cualquiera', + 'Cualquiera', + 'Cualquiera', + ); + const proj = { + gamification: { badgesRules: [b1, b2] }, + } as any; + + const checkinsEmpty: any[] = []; + const checkinOk = { + date: new Date(), + taskType: 'type1', + longitude: '0', + latitude: '0', + } as any; + + expect( + engine.isBadgeSatisfied(b2, checkinsEmpty, proj, [], new Map()), + ).toBe(false); + expect( + engine.isBadgeSatisfied( + b2, + [checkinOk, checkinOk], + proj, + [], + new Map(), + ), + ).toBe(true); + }); + + it('should evaluate 3-layer faded badge chain (A -> B -> C) as satisfied recursively with check-ins', () => { + const a = new BadgeRule( + 'rA', + 'p1', + 'A', + 'd', + 'i', + 1, + false, + [], + 'Cualquiera', + 'Cualquiera', + 'Cualquiera', + 'faded', + ); + const b = new BadgeRule( + 'rB', + 'p1', + 'B', + 'd', + 'i', + 1, + false, + ['A'], + 'Cualquiera', + 'Cualquiera', + 'Cualquiera', + 'faded', + ); + const c = new BadgeRule( + 'rC', + 'p1', + 'C', + 'd', + 'i', + 1, + false, + ['B'], + 'Cualquiera', + 'Cualquiera', + 'Cualquiera', + 'active', + ); + const proj = { + gamification: { badgesRules: [a, b, c] }, + } as any; + + const ch = { + date: new Date(), + taskType: 'type1', + longitude: '0', + latitude: '0', + } as any; + + // 0 check-ins should NOT satisfy C + expect(engine.isBadgeSatisfied(c, [], proj, [], new Map())).toBe(false); + + // 1 check-in should satisfy C recursively + expect(engine.isBadgeSatisfied(c, [ch], proj, [], new Map())).toBe(true); + }); + + it('should evaluate branching faded prerequisites correctly (B, C -> A) recursively', () => { + const b = new BadgeRule( + 'rB', + 'p1', + 'B', + 'd', + 'i', + 1, + false, + [], + 'Cualquiera', + 'Cualquiera', + 'Cualquiera', + 'faded', + ); + const c = new BadgeRule( + 'rC', + 'p1', + 'C', + 'd', + 'i', + 1, + false, + [], + 'Cualquiera', + 'Cualquiera', + 'Cualquiera', + 'faded', + ); + const a = new BadgeRule( + 'rA', + 'p1', + 'A', + 'd', + 'i', + 1, + false, + ['B', 'C'], + 'Cualquiera', + 'Cualquiera', + 'Cualquiera', + 'active', + ); + const proj = { + gamification: { badgesRules: [b, c, a] }, + } as any; + + const ch = { + date: new Date(), + taskType: 'type1', + longitude: '0', + latitude: '0', + } as any; - user.hasBadgeWithName.mockReturnValue(true); - expect((engine as any).userHasPreviousBadges(rule, user)).toBe(true); + // 0 check-ins should NOT satisfy A + expect(engine.isBadgeSatisfied(a, [], proj, [], new Map())).toBe(false); - user.hasBadgeWithName.mockReturnValue(false); - expect((engine as any).userHasPreviousBadges(rule, user)).toBe(false); + // 1 check-in should satisfy A recursively + expect(engine.isBadgeSatisfied(a, [ch], proj, [], new Map())).toBe(true); }); }); }); diff --git a/src/module/gamification/entities/engine/gamification/basic-badge-engine.ts b/src/module/gamification/entities/engine/gamification/basic-badge-engine.ts index 41f0948..c532065 100644 --- a/src/module/gamification/entities/engine/gamification/basic-badge-engine.ts +++ b/src/module/gamification/entities/engine/gamification/basic-badge-engine.ts @@ -8,29 +8,98 @@ import { TimeInterval } from '../../../../task/entities/time-restriction.entity' import { GeoUtils } from '../../../../task/utils/geoUtils'; import { GamificationStrategy } from '../../../../project/dto/create-project.dto'; import { getTaskTypeName } from '../../../../project/entities/task-type'; - export class BasicBadgeEngine implements BadgeEngine { assignableTo(project: Project): boolean { return project.gamificationStrategy === GamificationStrategy.BASIC; } newBadgesFor(u: User, ch: Checkin, project: Project): BadgeRule[] { - return project.gamification.badgesRules.filter( - (r) => - this.ruleMatch(r, ch, project, u) && - !u - .getGameProfileFromProject(project.id) - .badges.find((b) => b === r.name), + const memo = new Map(); + const allCheckins = [...(u.checkins || []), ch]; + const currentBadges = u.getGameProfileFromProject(project.id)?.badges || []; + + const satisfiedBadges = project.gamification.badgesRules.filter((badge) => + this.isBadgeSatisfied(badge, allCheckins, project, currentBadges, memo), + ); + + const earnableBadges = satisfiedBadges.filter( + (badge) => badge.status === 'active', + ); + + return earnableBadges.filter( + (badge) => !currentBadges.includes(badge.name), + ); + } + + /** + * Recursively evaluates if a badge is satisfied based on check-in history. + * A badge is satisfied if: + * 1. All previous prerequisite badges are recursively satisfied. + * 2. The user has enough check-ins satisfying the criteria for this badge specifically. + */ + isBadgeSatisfied( + badge: BadgeRule, + checkins: Checkin[], + project: Project, + currentBadges: string[], + memo: Map, + ): boolean { + if (memo.has(badge.name)) { + return memo.get(badge.name)!; + } + + // 1. Evaluate prerequisite badges recursively (DAG evaluation) + let prereqsSatisfied = true; + for (const prereqName of badge.previousBadges || []) { + const prereqRule = project.gamification.badgesRules.find( + (rule) => rule.name === prereqName, + ); + if (!prereqRule) { + prereqsSatisfied = false; + break; + } + + const isPrereqSatisfied = this.isBadgeSatisfied( + prereqRule, + checkins, + project, + currentBadges, + memo, + ); + + if (!isPrereqSatisfied) { + prereqsSatisfied = false; + break; + } + } + + if (!prereqsSatisfied) { + memo.set(badge.name, false); + return false; + } + + // 2. Validate current badge's own check-in requirements + const matchingCheckins = checkins.filter((ch) => + this.matchesBadgeCriteria(badge, ch, project), ); + const selfSatisfied = + matchingCheckins.length >= (badge.checkinsAmount || 1); + + const isSatisfied = selfSatisfied; + memo.set(badge.name, isSatisfied); + return isSatisfied; } - private ruleMatch(r: BadgeRule, checkin: Checkin, project: Project, u: User) { + matchesBadgeCriteria( + badge: BadgeRule, + ch: Checkin, + project: Project, + ): boolean { return ( - this.userHasPreviousBadges(r, u) && - this.matchTaskType(r, checkin, project) && - this.matchTimeInterval(r, checkin, project) && - this.matchArea(r, checkin, project) && - this.verifyContributes(r, checkin) + this.matchTaskType(badge, ch, project) && + this.matchTimeInterval(badge, ch, project) && + this.matchArea(badge, ch, project) && + this.verifyContributes(badge, ch) ); } @@ -85,10 +154,6 @@ export class BasicBadgeEngine implements BadgeEngine { ); } - private userHasPreviousBadges(r: BadgeRule, u: User) { - return r.previousBadges.every((b) => u.hasBadgeWithName(b)); - } - private verifyContributes(r: BadgeRule, checkin: Checkin) { if (r.mustContribute) { return !!checkin.contributesTo; diff --git a/src/module/gamification/entities/gamification.entity.ts b/src/module/gamification/entities/gamification.entity.ts index c8b86c1..0227a13 100644 --- a/src/module/gamification/entities/gamification.entity.ts +++ b/src/module/gamification/entities/gamification.entity.ts @@ -29,6 +29,7 @@ export class BadgeRule { taskType: string, areaId: string, timeIntervalId: string, + status = 'active', ) { this._id = id; this.projectId = projectId; @@ -41,6 +42,7 @@ export class BadgeRule { this.taskType = taskType; this.areaId = areaId; this.timeIntervalId = timeIntervalId; + this.status = status; } _id: string; @@ -54,6 +56,7 @@ export class BadgeRule { taskType: string; areaId: string; timeIntervalId: string; + status: string; } export class PointRule { diff --git a/src/module/gamification/gamification.service.ts b/src/module/gamification/gamification.service.ts index d17a544..7e99606 100644 --- a/src/module/gamification/gamification.service.ts +++ b/src/module/gamification/gamification.service.ts @@ -30,6 +30,10 @@ export class GamificationService { return this.gamificationDao.deleteBadge(projectId, id); } + updateBadgeStatus(projectId: string, id: string, status: string) { + return this.gamificationDao.updateBadgeStatus(projectId, id, status); + } + updateBadge(id: string, updateBadgeDTO: UpdateBadgeRuleDTO) { return this.gamificationDao.updateBadge(id, updateBadgeDTO); } diff --git a/src/module/gamification/gamificationController.spec.ts b/src/module/gamification/gamificationController.spec.ts index 7c71113..736ee50 100644 --- a/src/module/gamification/gamificationController.spec.ts +++ b/src/module/gamification/gamificationController.spec.ts @@ -10,6 +10,7 @@ describe('GamificationController', () => { createBadge: jest.fn(), updateBadge: jest.fn(), removeBadge: jest.fn(), + updateBadgeStatus: jest.fn(), createScoreRule: jest.fn(), updateScoreRule: jest.fn(), removeScoreRule: jest.fn(), @@ -50,6 +51,15 @@ describe('GamificationController', () => { await controller.remove('p1', 'b1'); expect(service.removeBadge).toHaveBeenCalledWith('p1', 'b1'); }); + + it('should update badge status', async () => { + await controller.updateBadgeStatus('p1', 'b1', 'active'); + expect(service.updateBadgeStatus).toHaveBeenCalledWith( + 'p1', + 'b1', + 'active', + ); + }); }); describe('score rule operations', () => { diff --git a/src/module/gamification/gamificationController.ts b/src/module/gamification/gamificationController.ts index 1d1f4f9..0af59a0 100644 --- a/src/module/gamification/gamificationController.ts +++ b/src/module/gamification/gamificationController.ts @@ -6,7 +6,9 @@ import { Patch, Param, Delete, + UseGuards, } from '@nestjs/common'; +import { AuthGuard } from '@nestjs/passport'; import { GamificationService } from './gamification.service'; import { CreateBadgeRuleDTO } from './dto/create-badge-rule-d-t.o'; import { UpdateGamificationDto } from './dto/update-gamification.dto'; @@ -36,6 +38,16 @@ export class GamificationController { return this.gamificationService.removeBadge(projectId, id); } + @Patch('/:projectId/badge/:id/status/:status') + @UseGuards(AuthGuard('jwt')) + updateBadgeStatus( + @Param('projectId') projectId: string, + @Param('id') id: string, + @Param('status') status: string, + ) { + return this.gamificationService.updateBadgeStatus(projectId, id, status); + } + @Post('score-rule') createScoreRule(@Body() dto: CreateScoreRuleDto) { return this.gamificationService.createScoreRule(dto); diff --git a/src/module/gamification/persistence/gamification-dao.service.ts b/src/module/gamification/persistence/gamification-dao.service.ts index 133ea1b..a2c9d49 100644 --- a/src/module/gamification/persistence/gamification-dao.service.ts +++ b/src/module/gamification/persistence/gamification-dao.service.ts @@ -94,6 +94,20 @@ export class GamificationDao { .exec(); } + async updateBadgeStatus( + projectId: string, + badgeId: string, + status: string, + ): Promise { + return this.gamificationModel + .findOneAndUpdate( + { projectId, 'badges._id': badgeId }, + { $set: { 'badges.$.status': status } }, + { new: true }, + ) + .exec(); + } + async addScoreRule( projectId: string, pointRule: CreateScoreRuleDto, @@ -154,6 +168,7 @@ export class GamificationDao { b.taskType, b.areaId, b.timeIntervalId, + b.status || 'active', ), ), saved.pointRules.map( diff --git a/src/module/gamification/persistence/gamification.schema.ts b/src/module/gamification/persistence/gamification.schema.ts index 054649a..4d22443 100644 --- a/src/module/gamification/persistence/gamification.schema.ts +++ b/src/module/gamification/persistence/gamification.schema.ts @@ -35,6 +35,13 @@ export class BadgeTemplate { @Prop({ required: true }) timeIntervalId: string; + + @Prop({ + required: true, + default: 'active', + enum: ['active', 'faded', 'expired'], + }) + status?: string; } const BadgeTemplateSchema = SchemaFactory.createForClass(BadgeTemplate); diff --git a/src/module/project/project-service.spec.ts b/src/module/project/project-service.spec.ts index 91d54fb..38c8b97 100644 --- a/src/module/project/project-service.spec.ts +++ b/src/module/project/project-service.spec.ts @@ -9,6 +9,14 @@ import { CreateProjectDto } from './dto/create-project.dto'; import { UpdateProjectDto } from './dto/update-project.dto'; import { LeaderboardService } from '../leaderboard/leaderboard.service'; import { BadgeRule } from '../gamification/entities/gamification.entity'; +import { getModelToken } from '@nestjs/mongoose'; +import { CheckInTemplate } from '../checkin/persistence/checkin.schema'; + +const mockCheckInModel = { + find: jest.fn().mockReturnThis(), + sort: jest.fn().mockReturnThis(), + exec: jest.fn().mockResolvedValue([]), +}; const mockProjectDao = { create: jest.fn(), @@ -36,6 +44,10 @@ describe('ProjectService', () => { { provide: ProjectDao, useValue: mockProjectDao }, { provide: UserService, useValue: mockUserService }, { provide: LeaderboardService, useValue: mockLeaderboardService }, + { + provide: getModelToken(CheckInTemplate.collectionName()), + useValue: mockCheckInModel, + }, ], }).compile(); diff --git a/src/module/project/project.module.ts b/src/module/project/project.module.ts index 004bafc..ef3eee1 100644 --- a/src/module/project/project.module.ts +++ b/src/module/project/project.module.ts @@ -8,11 +8,17 @@ import { AuthModule } from '../auth/auth.module'; import { GamificationModule } from '../gamification/gamification.module'; import { LeaderboardModule } from '../leaderboard/leaderboard.module'; +import { + CheckInSchema, + CheckInTemplate, +} from '../checkin/persistence/checkin.schema'; + @Module({ imports: [ LeaderboardModule, MongooseModule.forFeature([ { name: ProjectTemplate.collectionName(), schema: ProjectSchema }, + { name: CheckInTemplate.collectionName(), schema: CheckInSchema }, ]), AuthModule, GamificationModule, diff --git a/src/module/project/project.service.ts b/src/module/project/project.service.ts index ec217c2..ac3e2a2 100644 --- a/src/module/project/project.service.ts +++ b/src/module/project/project.service.ts @@ -9,6 +9,14 @@ import { getTaskTypeName } from './entities/task-type'; import { BadgeRule } from '../gamification/entities/gamification.entity'; import { LeaderboardService } from '../leaderboard/leaderboard.service'; import { Leaderboard } from '../leaderboard/persistence/leaderboard-user-schema'; +import { InjectModel } from '@nestjs/mongoose'; +import { Model } from 'mongoose'; +import { + CheckInTemplate, + CheckInDocument, +} from '../checkin/persistence/checkin.schema'; +import { CheckinMapper } from '../checkin/persistence/CheckinMapper'; +import { BasicBadgeEngine } from '../gamification/entities/engine/gamification/basic-badge-engine'; export interface UserStatus { isSubscribed: boolean; @@ -23,6 +31,8 @@ export class ProjectService { private readonly projectDao: ProjectDao, private readonly userService: UserService, private readonly leaderboardService: LeaderboardService, + @InjectModel(CheckInTemplate.collectionName()) + private readonly checkInModel: Model, ) {} async findAll(): Promise<(ProjectTemplate & { _id: string })[]> { @@ -37,6 +47,15 @@ export class ProjectService { if (userId) { const user = await this.userService.getByUserId(userId); const gp = user.getGameProfileFromProject(project.id); + + const checkinDocs = await this.checkInModel + .find({ projectId: project.id, userId }) + .sort({ datetime: 1 }) + .exec(); + const checkins = checkinDocs.map((c) => CheckinMapper.toEntity(c, null)); + const badgeEngine = new BasicBadgeEngine(); + const memo = new Map(); + return { ...project, user: gp && { @@ -44,6 +63,13 @@ export class ProjectService { badges: project.gamification.badgesRules.map((b) => ({ ...b, active: gp.badges.includes(b.name), + satisfied: badgeEngine.isBadgeSatisfied( + b, + checkins, + project, + gp.badges || [], + memo, + ), })), points: gp?.points, leaderboard: await this.leaderboardService.getLeaderboardFor( From 45bc027b30a85504f6407e4b1322a526a444de9c Mon Sep 17 00:00:00 2001 From: Lucas Gabriel Matwiejczuk Date: Sat, 1 Aug 2026 17:58:26 -0300 Subject: [PATCH 095/104] fix(gamification): handle HTTP exceptions and auto-create template when saving badges (#57) * feat: replace bipartite matching with recursive DAG evaluation in gamification engine * fix(gamification): handle validation errors and auto-create templates when saving badges --------- Co-authored-by: Lucas Matwiejczuk --- .../persistence/gamification-dao.service.ts | 96 +++++++++++++++---- 1 file changed, 79 insertions(+), 17 deletions(-) diff --git a/src/module/gamification/persistence/gamification-dao.service.ts b/src/module/gamification/persistence/gamification-dao.service.ts index a2c9d49..a680ef6 100644 --- a/src/module/gamification/persistence/gamification-dao.service.ts +++ b/src/module/gamification/persistence/gamification-dao.service.ts @@ -1,4 +1,9 @@ -import { Injectable } from '@nestjs/common'; +import { + Injectable, + ConflictException, + NotFoundException, + BadRequestException, +} from '@nestjs/common'; import { InjectModel } from '@nestjs/mongoose'; import { Model, Types } from 'mongoose'; import { @@ -31,22 +36,33 @@ export class GamificationDao { projectId: string, createBadgeDto: CreateBadgeRuleDTO, ): Promise { - const gamificationTemplate = await this.gamificationModel.findOne({ + let gamificationTemplate = await this.gamificationModel.findOne({ projectId, }); if (!gamificationTemplate) { - throw new Error('Project not found'); + gamificationTemplate = await this.createNewGamificationFor(projectId); + } + if (!gamificationTemplate || !gamificationTemplate.badges) { + throw new NotFoundException('Project not found'); } if ( gamificationTemplate.badges.find((b) => b.name === createBadgeDto.name) ) { - throw new Error('Ya existe una insignia con ese nombre'); + throw new ConflictException('Ya existe una insignia con ese nombre'); } gamificationTemplate.badges.push({ _id: new Types.ObjectId(), ...createBadgeDto, + checkinsAmount: Math.max(1, createBadgeDto.checkinsAmount || 1), }); - return gamificationTemplate.save(); + try { + return await gamificationTemplate.save(); + } catch (err: any) { + if (err.name === 'ValidationError') { + throw new BadRequestException(err.message); + } + throw err; + } } async getBadgesByProject( @@ -112,17 +128,27 @@ export class GamificationDao { projectId: string, pointRule: CreateScoreRuleDto, ): Promise { - const gamificationTemplate = await this.gamificationModel.findOne({ + let gamificationTemplate = await this.gamificationModel.findOne({ projectId, }); if (!gamificationTemplate) { - throw new Error('Project not found'); + gamificationTemplate = await this.createNewGamificationFor(projectId); + } + if (!gamificationTemplate || !gamificationTemplate.pointRules) { + throw new NotFoundException('Project not found'); } gamificationTemplate.pointRules.push({ _id: new Types.ObjectId(), ...pointRule, }); - return gamificationTemplate.save(); + try { + return await gamificationTemplate.save(); + } catch (err: any) { + if (err.name === 'ValidationError') { + throw new BadRequestException(err.message); + } + throw err; + } } async updatePointRule( @@ -151,10 +177,13 @@ export class GamificationDao { } async getGamificationByProjectId(projectId: string): Promise { - const saved = await this.gamificationModel.findOne({ projectId }).exec(); + let saved = await this.gamificationModel.findOne({ projectId }).exec(); + if (!saved) { + saved = await this.createNewGamificationFor(projectId); + } return new Gamification( projectId, - saved.badges.map( + (saved?.badges || []).map( (b) => new BadgeRule( b._id, @@ -171,7 +200,7 @@ export class GamificationDao { b.status || 'active', ), ), - saved.pointRules.map( + (saved?.pointRules || []).map( (r) => new PointRule( r._id, @@ -187,16 +216,47 @@ export class GamificationDao { } async updateBadge(id: string, updateBadgeDTO: UpdateBadgeRuleDTO) { - const gamificationTemplate = await this.gamificationModel.findOne({ + let gamificationTemplate = await this.gamificationModel.findOne({ projectId: updateBadgeDTO.projectId, }); if (!gamificationTemplate) { - throw new Error('Project not found'); + gamificationTemplate = await this.createNewGamificationFor( + updateBadgeDTO.projectId, + ); + } + if (!gamificationTemplate || !gamificationTemplate.badges) { + throw new NotFoundException('Project not found'); + } + const existingIndex = gamificationTemplate.badges.findIndex( + (b) => String(b._id) === String(id), + ); + + if (existingIndex === -1) { + throw new NotFoundException('Insignia no encontrada'); + } + + const duplicate = gamificationTemplate.badges.find( + (b, idx) => idx !== existingIndex && b.name === updateBadgeDTO.name, + ); + if (duplicate) { + throw new ConflictException('Ya existe una insignia con ese nombre'); + } + + gamificationTemplate.badges[existingIndex] = { + ...gamificationTemplate.badges[existingIndex], + ...updateBadgeDTO, + checkinsAmount: Math.max(1, updateBadgeDTO.checkinsAmount || 1), + _id: gamificationTemplate.badges[existingIndex]._id, + } as BadgeTemplate; + + try { + return await gamificationTemplate.save(); + } catch (err: any) { + if (err.name === 'ValidationError') { + throw new BadRequestException(err.message); + } + throw err; } - gamificationTemplate.badges = gamificationTemplate.badges - .filter((b) => b._id !== id) - .concat([updateBadgeDTO as BadgeTemplate]); - return gamificationTemplate.save(); } async createNewGamificationFor(projectId: string) { @@ -214,3 +274,5 @@ export class GamificationDao { ); } } + + From 6953699bf0970955b4142129aac6d9547b37a7ac Mon Sep 17 00:00:00 2001 From: FranciscoPerezRamos Date: Mon, 10 Aug 2026 16:39:54 +0200 Subject: [PATCH 096/104] Ahora se guarda un expiresAt y mas data sobre porque se puse en faded una medalla para poder mostrar en la UI --- .../dto/update-badge-status.dto.ts | 14 +++ .../gamification/basic-badge-engine.spec.ts | 101 +++++++++++++++++- .../engine/gamification/basic-badge-engine.ts | 21 +++- .../entities/gamification.entity.spec.ts | 65 ++++++++++- .../entities/gamification.entity.ts | 92 ++++++++++++++++ .../gamification/gamification.service.ts | 54 +++++++++- src/module/gamification/gamification.spec.ts | 51 +++++++++ .../gamificationController.spec.ts | 14 ++- .../gamification/gamificationController.ts | 22 +++- .../gamification-dao.service.spec.ts | 48 +++++++++ .../persistence/gamification-dao.service.ts | 67 ++++++++++-- .../persistence/gamification.schema.ts | 12 +++ src/module/project/project.service.ts | 33 +++++- 13 files changed, 570 insertions(+), 24 deletions(-) create mode 100644 src/module/gamification/dto/update-badge-status.dto.ts diff --git a/src/module/gamification/dto/update-badge-status.dto.ts b/src/module/gamification/dto/update-badge-status.dto.ts new file mode 100644 index 0000000..e0b6857 --- /dev/null +++ b/src/module/gamification/dto/update-badge-status.dto.ts @@ -0,0 +1,14 @@ +/** + * Optional body of `PATCH /gamification/:projectId/badge/:id/status/:status`. + * + * Only meaningful when moving a badge to `faded`: it carries the window the + * countdown is drawn from. The status itself stays in the path so the + * existing route shape keeps working. + */ +export class UpdateBadgeStatusDto { + /** ISO-8601 instant when the fading window closes. Required for `faded`. */ + expiresAt?: string; + + /** Motive shown to the community next to the countdown. */ + fadeReason?: string; +} diff --git a/src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts b/src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts index b48fa94..fc9e449 100644 --- a/src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts +++ b/src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts @@ -56,7 +56,7 @@ describe('BasicBadgeEngine', () => { expect(result).toContain(rule); }); - it('should bypass faded prerequisite badges and award active child badge', () => { + it('should bypass expired prerequisite badges and award active child badge', () => { const ruleA = new BadgeRule( 'rA', 'p1', @@ -70,6 +70,8 @@ describe('BasicBadgeEngine', () => { 'A1', 'Cualquiera', 'faded', + undefined, + new Date(Date.now() - 60_000), // window already closed ); const ruleB = new BadgeRule( 'rB', @@ -151,6 +153,103 @@ describe('BasicBadgeEngine', () => { expect(result).toContain(ruleB); expect(result).not.toContain(ruleA); }); + + it('keeps an already-earned badge counting as a prerequisite after the rule changes', + () => { + // The user earned "BadgeA" back when it needed 1 check-in; an admin has + // since raised the bar to 99. They keep the badge, so the chain below it + // must stay reachable. + const ruleA = new BadgeRule( + 'rA', 'p1', 'BadgeA', 'd', 'i', 99, false, [], + 'Cualquiera', 'Cualquiera', 'Cualquiera', + ); + const ruleB = new BadgeRule( + 'rB', 'p1', 'BadgeB', 'd', 'i', 1, false, ['BadgeA'], + 'Cualquiera', 'Cualquiera', 'Cualquiera', + ); + const proj = { + id: 'p1', + gamification: { badgesRules: [ruleA, ruleB] }, + taskTypes: ['type1'], + timeIntervals: [], + areas: { features: [] }, + } as any; + const ch = { + date: new Date(), + taskType: 'type1', + longitude: '0', + latitude: '0', + } as any; + + expect( + engine.isBadgeSatisfied(ruleB, [ch], proj, [], new Map()), + ).toBe(false); + expect( + engine.isBadgeSatisfied(ruleB, [ch], proj, ['BadgeA'], new Map()), + ).toBe(true); + }); + + describe('fading window', () => { + // Minimal project + user that satisfy any 'Cualquiera' rule with one check-in. + const buildCase = (rule: BadgeRule) => { + const project = { + id: 'p1', + gamification: { badgesRules: [rule] }, + taskTypes: ['type1'], + timeIntervals: [], + areas: { features: [] }, + } as any; + const user = new User('t@t.com', 'u', 'p', 'T'); + user.id = 'u1'; + user.addProject('p1'); + const checkin = { + date: new Date(), + taskType: 'type1', + longitude: '0', + latitude: '0', + contributesTo: '', + projectId: 'p1', + } as any; + return { project, user, checkin }; + }; + + const fadingRule = (expiresAt?: Date) => + new BadgeRule( + 'r1', + 'p1', + 'Badge1', + 'desc', + 'img', + 1, + false, + [], + 'Cualquiera', + 'Cualquiera', + 'Cualquiera', + 'faded', + new Date(), + expiresAt, + ); + + it('still awards a fading badge while the window is open', () => { + const rule = fadingRule(new Date(Date.now() + 3 * 86_400_000)); + const { project, user, checkin } = buildCase(rule); + expect(engine.newBadgesFor(user, checkin, project)).toContain(rule); + }); + + it('stops awarding it once the window closed', () => { + const rule = fadingRule(new Date(Date.now() - 1_000)); + const { project, user, checkin } = buildCase(rule); + expect(engine.newBadgesFor(user, checkin, project)).not.toContain(rule); + }); + + it('never awards an expired badge', () => { + const rule = fadingRule(new Date(Date.now() + 86_400_000)); + rule.status = 'expired'; + const { project, user, checkin } = buildCase(rule); + expect(engine.newBadgesFor(user, checkin, project)).not.toContain(rule); + }); + }); }); describe('internal matches', () => { diff --git a/src/module/gamification/entities/engine/gamification/basic-badge-engine.ts b/src/module/gamification/entities/engine/gamification/basic-badge-engine.ts index c532065..60a2343 100644 --- a/src/module/gamification/entities/engine/gamification/basic-badge-engine.ts +++ b/src/module/gamification/entities/engine/gamification/basic-badge-engine.ts @@ -2,7 +2,7 @@ import { BadgeEngine } from '../../../../checkin/entities/game.entity'; import { User } from '../../../../auth/users/user.entity'; import { Checkin } from '../../../../checkin/entities/checkin.entity'; import { Project } from '../../../../project/entities/project'; -import { BadgeRule } from '../../gamification.entity'; +import { BadgeRule, isBadgeAwardable } from '../../gamification.entity'; import { BadRequestException } from '@nestjs/common'; import { TimeInterval } from '../../../../task/entities/time-restriction.entity'; import { GeoUtils } from '../../../../task/utils/geoUtils'; @@ -22,8 +22,12 @@ export class BasicBadgeEngine implements BadgeEngine { this.isBadgeSatisfied(badge, allCheckins, project, currentBadges, memo), ); - const earnableBadges = satisfiedBadges.filter( - (badge) => badge.status === 'active', + // One clock for the whole pass so a badge can't expire halfway through it. + // `faded` rules stay earnable until their window closes — that limited + // availability is the point of the strategy, not a leftover state. + const now = new Date(); + const earnableBadges = satisfiedBadges.filter((badge) => + isBadgeAwardable(badge, now), ); return earnableBadges.filter( @@ -48,6 +52,17 @@ export class BasicBadgeEngine implements BadgeEngine { return memo.get(badge.name)!; } + // Holding the badge settles the question. Everything below re-derives + // satisfaction from raw check-ins, which silently stops matching when the + // rule is edited (a higher `checkinsAmount`, a renamed area, a task type + // dropped from the project) or when the rule expires. Without this, a + // badge someone already earned stops counting as a prerequisite and the + // whole chain below it becomes unreachable *for the people furthest along*. + if (currentBadges.includes(badge.name)) { + memo.set(badge.name, true); + return true; + } + // 1. Evaluate prerequisite badges recursively (DAG evaluation) let prereqsSatisfied = true; for (const prereqName of badge.previousBadges || []) { diff --git a/src/module/gamification/entities/gamification.entity.spec.ts b/src/module/gamification/entities/gamification.entity.spec.ts index 1198aae..d6a576e 100644 --- a/src/module/gamification/entities/gamification.entity.spec.ts +++ b/src/module/gamification/entities/gamification.entity.spec.ts @@ -1,4 +1,10 @@ -import { Gamification, BadgeRule, PointRule } from './gamification.entity'; +import { + Gamification, + BadgeRule, + PointRule, + effectiveBadgeStatus, + isBadgeAwardable, +} from './gamification.entity'; describe('Gamification Entities', () => { describe('Gamification', () => { @@ -28,6 +34,63 @@ describe('Gamification Entities', () => { }); }); + describe('fading window', () => { + const now = new Date('2026-06-15T12:00:00.000Z'); + const future = new Date('2026-06-20T12:00:00.000Z'); + const past = new Date('2026-06-10T12:00:00.000Z'); + + it('reads a fading badge as faded while the window is open', () => { + const badge = { status: 'faded', expiresAt: future }; + expect(effectiveBadgeStatus(badge, now)).toBe('faded'); + // Still earnable — the limited availability IS the time pressure. + expect(isBadgeAwardable(badge, now)).toBe(true); + }); + + it('reads a fading badge as expired once the window closed', () => { + const badge = { status: 'faded', expiresAt: past }; + expect(effectiveBadgeStatus(badge, now)).toBe('expired'); + expect(isBadgeAwardable(badge, now)).toBe(false); + }); + + it('expires exactly at the boundary, not a tick later', () => { + const badge = { status: 'faded', expiresAt: now }; + expect(effectiveBadgeStatus(badge, now)).toBe('expired'); + }); + + it('accepts an ISO string as well as a Date (JSON round-trips)', () => { + expect( + effectiveBadgeStatus( + { status: 'faded', expiresAt: future.toISOString() }, + now, + ), + ).toBe('faded'); + }); + + it('keeps a fading badge open when it has no usable window', () => { + expect(effectiveBadgeStatus({ status: 'faded' }, now)).toBe('faded'); + expect( + effectiveBadgeStatus({ status: 'faded', expiresAt: 'not-a-date' }, now), + ).toBe('faded'); + }); + + it('never resurrects an expired badge, whatever the dates say', () => { + const badge = { status: 'expired', expiresAt: future }; + expect(effectiveBadgeStatus(badge, now)).toBe('expired'); + expect(isBadgeAwardable(badge, now)).toBe(false); + }); + + it('ignores a window on an active badge', () => { + expect( + effectiveBadgeStatus({ status: 'active', expiresAt: past }, now), + ).toBe('active'); + }); + + it('treats missing or unknown statuses as active', () => { + expect(effectiveBadgeStatus({}, now)).toBe('active'); + expect(effectiveBadgeStatus({ status: 'pizza' }, now)).toBe('active'); + }); + }); + describe('PointRule', () => { it('should match correctly', () => { const p = new PointRule('id', 'p1', 'type1', 'area1', 'time1', 10, true); diff --git a/src/module/gamification/entities/gamification.entity.ts b/src/module/gamification/entities/gamification.entity.ts index 0227a13..90339c4 100644 --- a/src/module/gamification/entities/gamification.entity.ts +++ b/src/module/gamification/entities/gamification.entity.ts @@ -1,5 +1,84 @@ import { Task } from '../../task/entities/task.entity'; +/** + * Lifecycle of a badge rule under the community fading strategy + * (see `desvanecimiento-comunitario-medallas-diseno.md` §3): + * + * active → awarded normally. + * faded → still awarded, but only until `expiresAt`. That limited + * availability *is* the time pressure the strategy relies on, + * so a fading badge stays earnable for the whole window. + * expired → no longer awarded to anyone new. Never deleted: whoever + * already earned it keeps it and the rule stays visible in the + * dependency graph for admins and collaborators alike. + * + * Declared as a const object rather than a TS `enum` so `Object.values` + * feeds `ParseEnumPipe` directly while the exported type stays a plain + * string union (what the schema, DTOs and mobile payloads all speak). + */ +export const BadgeStatus = { + Active: 'active', + Faded: 'faded', + Expired: 'expired', +} as const; + +export type BadgeStatus = (typeof BadgeStatus)[keyof typeof BadgeStatus]; + +/** Shape needed to resolve a status — accepts entities and raw Mongo/JSON rows. */ +export interface BadgeFadingWindow { + status?: string; + expiresAt?: Date | string | null; +} + +/** + * Resolves the status a badge *actually* has right now. + * + * The `faded → expired` transition is derived from the clock instead of + * being written by a scheduled job: a stored `expiresAt` in the past always + * reads as `expired`. No `@nestjs/schedule` dependency, nothing to drift + * across restarts, and no window where half the rows have been migrated. + * + * ponytail: derived, not persisted. If the strategy later needs to *emit* + * something at the moment a badge expires (an awareness event, a push), + * that needs a real job — this function stays the source of truth and the + * job just records what it already says. + */ +export function effectiveBadgeStatus( + badge: BadgeFadingWindow, + now: Date = new Date(), +): BadgeStatus { + // Unknown/missing status means `active`, matching the schema default and + // the `status || 'active'` fallback the DAO and the mobile DTO already use. + if ( + badge.status !== BadgeStatus.Faded && + badge.status !== BadgeStatus.Expired + ) { + return BadgeStatus.Active; + } + if (badge.status === BadgeStatus.Expired) { + return BadgeStatus.Expired; + } + + const expiresAt = badge.expiresAt ? new Date(badge.expiresAt) : null; + // ponytail: a `faded` rule with no usable window never expires on its own — + // an admin has to close it. Always hand `expiresAt` in when marking a badge + // as fading so runs stay idempotent. + if (!expiresAt || Number.isNaN(expiresAt.getTime())) { + return BadgeStatus.Faded; + } + return expiresAt.getTime() <= now.getTime() + ? BadgeStatus.Expired + : BadgeStatus.Faded; +} + +/** True while the rule can still be handed out — `active`, or `faded` mid-window. */ +export function isBadgeAwardable( + badge: BadgeFadingWindow, + now: Date = new Date(), +): boolean { + return effectiveBadgeStatus(badge, now) !== BadgeStatus.Expired; +} + export class Gamification { constructor( projectId: string, @@ -30,6 +109,9 @@ export class BadgeRule { areaId: string, timeIntervalId: string, status = 'active', + fadedSince?: Date, + expiresAt?: Date, + fadeReason?: string, ) { this._id = id; this.projectId = projectId; @@ -43,6 +125,9 @@ export class BadgeRule { this.areaId = areaId; this.timeIntervalId = timeIntervalId; this.status = status; + this.fadedSince = fadedSince; + this.expiresAt = expiresAt; + this.fadeReason = fadeReason; } _id: string; @@ -57,6 +142,13 @@ export class BadgeRule { areaId: string; timeIntervalId: string; status: string; + + /** When the rule entered `faded`. Audit trail; not used for the transition. */ + fadedSince?: Date; + /** End of the fading window. Past this instant the rule reads as `expired`. */ + expiresAt?: Date; + /** Human-readable motive shown alongside the countdown. */ + fadeReason?: string; } export class PointRule { diff --git a/src/module/gamification/gamification.service.ts b/src/module/gamification/gamification.service.ts index 7e99606..12a29f8 100644 --- a/src/module/gamification/gamification.service.ts +++ b/src/module/gamification/gamification.service.ts @@ -1,5 +1,7 @@ -import { Injectable } from '@nestjs/common'; +import { BadRequestException, Injectable } from '@nestjs/common'; import { CreateBadgeRuleDTO } from './dto/create-badge-rule-d-t.o'; +import { UpdateBadgeStatusDto } from './dto/update-badge-status.dto'; +import { BadgeStatus } from './entities/gamification.entity'; import { GamificationDao } from './persistence/gamification-dao.service'; import { UpdateGamificationDto } from './dto/update-gamification.dto'; import { UpdateBadgeRuleDTO } from './dto/update-badge-rule-d-t.o'; @@ -30,8 +32,54 @@ export class GamificationService { return this.gamificationDao.deleteBadge(projectId, id); } - updateBadgeStatus(projectId: string, id: string, status: string) { - return this.gamificationDao.updateBadgeStatus(projectId, id, status); + // `async` so a rejected window surfaces as a rejected promise rather than a + // synchronous throw from a method that otherwise returns one. + async updateBadgeStatus( + projectId: string, + id: string, + status: BadgeStatus, + dto: UpdateBadgeStatusDto = {}, + ) { + return this.gamificationDao.updateBadgeStatus( + projectId, + id, + status, + this.parseFadingWindow(status, dto), + ); + } + + /** + * Turns the request body into a validated fading window. + * + * A `faded` badge without a future `expiresAt` would be a badge that is + * announced as disappearing and then never does (or one that is already + * gone the moment it is announced) — neither is a state the strategy has, + * so both are rejected here rather than stored. + */ + private parseFadingWindow( + status: BadgeStatus, + dto: UpdateBadgeStatusDto, + ): { expiresAt?: Date; fadeReason?: string } { + const fadeReason = dto.fadeReason?.trim() || undefined; + if (status !== BadgeStatus.Faded) { + return { fadeReason }; + } + + if (!dto.expiresAt) { + throw new BadRequestException( + 'Una insignia en desvanecimiento necesita una fecha de expiración (expiresAt)', + ); + } + const expiresAt = new Date(dto.expiresAt); + if (Number.isNaN(expiresAt.getTime())) { + throw new BadRequestException('expiresAt no es una fecha válida'); + } + if (expiresAt.getTime() <= Date.now()) { + throw new BadRequestException( + 'expiresAt debe ser una fecha futura: la ventana de desvanecimiento no puede nacer cerrada', + ); + } + return { expiresAt, fadeReason }; } updateBadge(id: string, updateBadgeDTO: UpdateBadgeRuleDTO) { diff --git a/src/module/gamification/gamification.spec.ts b/src/module/gamification/gamification.spec.ts index d365d90..dd25f32 100644 --- a/src/module/gamification/gamification.spec.ts +++ b/src/module/gamification/gamification.spec.ts @@ -17,6 +17,7 @@ const mockGamificationDao = { addScoreRule: jest.fn(), updatePointRule: jest.fn(), deletePointRule: jest.fn(), + updateBadgeStatus: jest.fn(), saveMove: jest.fn(), }; @@ -120,6 +121,56 @@ describe('GamificationService', () => { }); }); + describe('updateBadgeStatus', () => { + beforeEach(() => { + mockGamificationDao.updateBadgeStatus.mockResolvedValue({}); + }); + + it('should pass a future window through when fading', async () => { + const expiresAt = new Date(Date.now() + 7 * 86_400_000); + await service.updateBadgeStatus('p1', 'b1', 'faded', { + expiresAt: expiresAt.toISOString(), + fadeReason: ' poca actividad ', + }); + expect(mockGamificationDao.updateBadgeStatus).toHaveBeenCalledWith( + 'p1', + 'b1', + 'faded', + { expiresAt, fadeReason: 'poca actividad' }, + ); + }); + + it('should reject fading without a window', async () => { + await expect( + service.updateBadgeStatus('p1', 'b1', 'faded', {}), + ).rejects.toThrow('expiresAt'); + expect(mockGamificationDao.updateBadgeStatus).not.toHaveBeenCalled(); + }); + + it('should reject a window that is already closed', async () => { + await expect( + service.updateBadgeStatus('p1', 'b1', 'faded', { + expiresAt: new Date(Date.now() - 1_000).toISOString(), + }), + ).rejects.toThrow('futura'); + expect(mockGamificationDao.updateBadgeStatus).not.toHaveBeenCalled(); + }); + + it('should reject an unparseable window', async () => { + await expect( + service.updateBadgeStatus('p1', 'b1', 'faded', { + expiresAt: 'mañana', + }), + ).rejects.toThrow('válida'); + }); + + it('should not require a window when restoring or expiring', async () => { + await service.updateBadgeStatus('p1', 'b1', 'active', {}); + await service.updateBadgeStatus('p1', 'b1', 'expired', {}); + expect(mockGamificationDao.updateBadgeStatus).toHaveBeenCalledTimes(2); + }); + }); + describe('createScoreRule', () => { it('should call gamificationDao.addScoreRule', async () => { const dto: CreateScoreRuleDto = { diff --git a/src/module/gamification/gamificationController.spec.ts b/src/module/gamification/gamificationController.spec.ts index 736ee50..a0920ba 100644 --- a/src/module/gamification/gamificationController.spec.ts +++ b/src/module/gamification/gamificationController.spec.ts @@ -53,11 +53,23 @@ describe('GamificationController', () => { }); it('should update badge status', async () => { - await controller.updateBadgeStatus('p1', 'b1', 'active'); + await controller.updateBadgeStatus('p1', 'b1', 'active', {}); expect(service.updateBadgeStatus).toHaveBeenCalledWith( 'p1', 'b1', 'active', + {}, + ); + }); + + it('should forward the fading window body', async () => { + const body = { expiresAt: '2030-01-01T00:00:00.000Z', fadeReason: 'why' }; + await controller.updateBadgeStatus('p1', 'b1', 'faded', body); + expect(service.updateBadgeStatus).toHaveBeenCalledWith( + 'p1', + 'b1', + 'faded', + body, ); }); }); diff --git a/src/module/gamification/gamificationController.ts b/src/module/gamification/gamificationController.ts index 0af59a0..526d789 100644 --- a/src/module/gamification/gamificationController.ts +++ b/src/module/gamification/gamificationController.ts @@ -7,6 +7,7 @@ import { Param, Delete, UseGuards, + ParseEnumPipe, } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; import { GamificationService } from './gamification.service'; @@ -15,6 +16,8 @@ import { UpdateGamificationDto } from './dto/update-gamification.dto'; import { UpdateBadgeRuleDTO } from './dto/update-badge-rule-d-t.o'; import { CreateScoreRuleDto } from './dto/create-score-rule-dto'; import { UpdateScoreRuleDto } from './dto/update-score-rule.dto'; +import { UpdateBadgeStatusDto } from './dto/update-badge-status.dto'; +import { BadgeStatus } from './entities/gamification.entity'; @Controller('gamification') export class GamificationController { @@ -38,14 +41,29 @@ export class GamificationController { return this.gamificationService.removeBadge(projectId, id); } + /** + * Drives a badge through the fading lifecycle. The body is only read when + * moving to `faded`, where `expiresAt` sets the countdown window. + * + * `ParseEnumPipe` is what keeps an arbitrary path segment out of the + * document: Mongoose does not run the schema `enum` on `findOneAndUpdate` + * unless `runValidators` is on, so without this a bogus status would be + * stored and then rendered as a plain active badge by every client. + */ @Patch('/:projectId/badge/:id/status/:status') @UseGuards(AuthGuard('jwt')) updateBadgeStatus( @Param('projectId') projectId: string, @Param('id') id: string, - @Param('status') status: string, + @Param('status', new ParseEnumPipe(BadgeStatus)) status: BadgeStatus, + @Body() body: UpdateBadgeStatusDto, ) { - return this.gamificationService.updateBadgeStatus(projectId, id, status); + return this.gamificationService.updateBadgeStatus( + projectId, + id, + status, + body, + ); } @Post('score-rule') diff --git a/src/module/gamification/persistence/gamification-dao.service.spec.ts b/src/module/gamification/persistence/gamification-dao.service.spec.ts index 4e74988..ee81414 100644 --- a/src/module/gamification/persistence/gamification-dao.service.spec.ts +++ b/src/module/gamification/persistence/gamification-dao.service.spec.ts @@ -140,6 +140,54 @@ describe('GamificationDao', () => { expect(model.findOneAndUpdate).toHaveBeenCalled(); }); + describe('updateBadgeStatus', () => { + const update = () => model.findOneAndUpdate.mock.calls.at(-1)[1]; + + beforeEach(() => { + model.findOneAndUpdate.mockClear().mockReturnThis(); + model.exec.mockResolvedValue({}); + }); + + it('should open the window when fading', async () => { + const expiresAt = new Date('2030-01-01T00:00:00.000Z'); + await dao.updateBadgeStatus('p1', 'b1', 'faded', { + expiresAt, + fadeReason: 'poca actividad', + }); + expect(update().$set).toMatchObject({ + 'badges.$.status': 'faded', + 'badges.$.expiresAt': expiresAt, + 'badges.$.fadeReason': 'poca actividad', + }); + expect(update().$set['badges.$.fadedSince']).toBeInstanceOf(Date); + expect(update().$unset).toBeUndefined(); + }); + + it('should back-date the window when expiring by hand', async () => { + await dao.updateBadgeStatus('p1', 'b1', 'expired'); + expect(update().$set['badges.$.status']).toBe('expired'); + // Without this the stored status and the derived one would disagree. + expect(update().$set['badges.$.expiresAt']).toBeInstanceOf(Date); + }); + + it('should wipe the fade record when restoring to active', async () => { + await dao.updateBadgeStatus('p1', 'b1', 'active'); + expect(update().$set).toEqual({ 'badges.$.status': 'active' }); + expect(update().$unset).toEqual({ + 'badges.$.fadedSince': '', + 'badges.$.expiresAt': '', + 'badges.$.fadeReason': '', + }); + }); + + it('should throw when the badge does not exist', async () => { + model.exec.mockResolvedValue(null); + await expect( + dao.updateBadgeStatus('p1', 'nope', 'active'), + ).rejects.toThrow('Insignia no encontrada'); + }); + }); + it('should get gamification by project id', async () => { const saved = { badges: [ diff --git a/src/module/gamification/persistence/gamification-dao.service.ts b/src/module/gamification/persistence/gamification-dao.service.ts index a680ef6..f83f348 100644 --- a/src/module/gamification/persistence/gamification-dao.service.ts +++ b/src/module/gamification/persistence/gamification-dao.service.ts @@ -14,6 +14,7 @@ import { import { CreateBadgeRuleDTO } from '../dto/create-badge-rule-d-t.o'; import { BadgeRule, + BadgeStatus, Gamification, PointRule, } from '../entities/gamification.entity'; @@ -110,18 +111,65 @@ export class GamificationDao { .exec(); } + /** + * Moves a badge rule through the fading lifecycle, keeping the window + * fields consistent with the status so `effectiveBadgeStatus` never has + * to reconcile a contradictory row: + * + * → faded opens the window (`fadedSince` now, `expiresAt` as given). + * → expired closes it immediately, back-dating `expiresAt` so the + * derived status agrees with the stored one. + * → active is the manual restitution: the whole fade record is dropped. + */ async updateBadgeStatus( projectId: string, badgeId: string, - status: string, + status: BadgeStatus, + window: { expiresAt?: Date; fadeReason?: string } = {}, ): Promise { - return this.gamificationModel - .findOneAndUpdate( - { projectId, 'badges._id': badgeId }, - { $set: { 'badges.$.status': status } }, - { new: true }, - ) + const now = new Date(); + const set: Record = { 'badges.$.status': status }; + const unset: Record = {}; + + if (status === BadgeStatus.Faded) { + set['badges.$.fadedSince'] = now; + if (window.expiresAt) { + set['badges.$.expiresAt'] = window.expiresAt; + } else { + unset['badges.$.expiresAt'] = ''; + } + if (window.fadeReason) { + set['badges.$.fadeReason'] = window.fadeReason; + } else { + unset['badges.$.fadeReason'] = ''; + } + } else if (status === BadgeStatus.Expired) { + set['badges.$.expiresAt'] = now; + if (window.fadeReason) { + set['badges.$.fadeReason'] = window.fadeReason; + } + } else { + unset['badges.$.fadedSince'] = ''; + unset['badges.$.expiresAt'] = ''; + unset['badges.$.fadeReason'] = ''; + } + + // Mongo rejects an empty `$unset`, so only attach it when it has keys. + const update: Record = { $set: set }; + if (Object.keys(unset).length > 0) { + update.$unset = unset; + } + + const updated = await this.gamificationModel + .findOneAndUpdate({ projectId, 'badges._id': badgeId }, update, { + new: true, + }) .exec(); + + if (!updated) { + throw new NotFoundException('Insignia no encontrada'); + } + return updated; } async addScoreRule( @@ -198,6 +246,9 @@ export class GamificationDao { b.areaId, b.timeIntervalId, b.status || 'active', + b.fadedSince, + b.expiresAt, + b.fadeReason, ), ), (saved?.pointRules || []).map( @@ -274,5 +325,3 @@ export class GamificationDao { ); } } - - diff --git a/src/module/gamification/persistence/gamification.schema.ts b/src/module/gamification/persistence/gamification.schema.ts index 4d22443..376f98f 100644 --- a/src/module/gamification/persistence/gamification.schema.ts +++ b/src/module/gamification/persistence/gamification.schema.ts @@ -42,6 +42,18 @@ export class BadgeTemplate { enum: ['active', 'faded', 'expired'], }) status?: string; + + // Fading window. `expiresAt` is the only field the lifecycle reads: past + // it, `effectiveBadgeStatus` reports `expired` with nothing else to run. + // The other two are for the awareness copy and the audit trail. + @Prop({ type: Date }) + fadedSince?: Date; + + @Prop({ type: Date }) + expiresAt?: Date; + + @Prop() + fadeReason?: string; } const BadgeTemplateSchema = SchemaFactory.createForClass(BadgeTemplate); diff --git a/src/module/project/project.service.ts b/src/module/project/project.service.ts index ac3e2a2..e271b36 100644 --- a/src/module/project/project.service.ts +++ b/src/module/project/project.service.ts @@ -6,7 +6,10 @@ import { UpdateProjectDto } from './dto/update-project.dto'; import { UserService } from '../auth/users/user.service'; import { Project } from './entities/project'; import { getTaskTypeName } from './entities/task-type'; -import { BadgeRule } from '../gamification/entities/gamification.entity'; +import { + BadgeRule, + effectiveBadgeStatus, +} from '../gamification/entities/gamification.entity'; import { LeaderboardService } from '../leaderboard/leaderboard.service'; import { Leaderboard } from '../leaderboard/persistence/leaderboard-user-schema'; import { InjectModel } from '@nestjs/mongoose'; @@ -44,6 +47,14 @@ export class ProjectService { userId?: string, ): Promise { const project = await this.projectDao.findOne(id); + const now = new Date(); + + // Resolve the fading window once, server-side, so no client has to + // re-derive `faded` vs `expired` against its own clock — mobile caches + // this payload and reads it back offline, where "now" is anyone's guess. + // `expiresAt` still ships raw so the countdown stays live. + const resolved = this.withEffectiveBadgeStatus(project, now); + if (userId) { const user = await this.userService.getByUserId(userId); const gp = user.getGameProfileFromProject(project.id); @@ -57,10 +68,10 @@ export class ProjectService { const memo = new Map(); return { - ...project, + ...resolved, user: gp && { isSubscribed: user.isSubscribedToProject(project.id), - badges: project.gamification.badgesRules.map((b) => ({ + badges: resolved.gamification.badgesRules.map((b) => ({ ...b, active: gp.badges.includes(b.name), satisfied: badgeEngine.isBadgeSatisfied( @@ -78,7 +89,21 @@ export class ProjectService { }, }; } - return project; + return resolved; + } + + /** Copy of the project whose badge rules report their status as of [now]. */ + private withEffectiveBadgeStatus(project: Project, now: Date): Project { + return { + ...project, + gamification: { + ...project.gamification, + badgesRules: project.gamification.badgesRules.map((b) => ({ + ...b, + status: effectiveBadgeStatus(b, now), + })), + }, + }; } async create(createProjectDto: CreateProjectDto): Promise { From fef77638a6fe47e34268f2a69c00ea355d0c6e6f Mon Sep 17 00:00:00 2001 From: Lucas Gabriel Matwiejczuk Date: Sat, 22 Aug 2026 13:37:50 -0300 Subject: [PATCH 097/104] refactor(auth): extract email templates and align sender header with NOREPLY_EMAIL (#59) (#60) --- src/module/auth/auth.service.ts | 25 +++-- src/module/auth/mail.templates.spec.ts | 98 +++++++++++++++++++ src/module/auth/mail.templates.ts | 129 +++++++++++++++++++++++++ 3 files changed, 238 insertions(+), 14 deletions(-) create mode 100644 src/module/auth/mail.templates.spec.ts create mode 100644 src/module/auth/mail.templates.ts diff --git a/src/module/auth/auth.service.ts b/src/module/auth/auth.service.ts index a3590ba..fca981c 100644 --- a/src/module/auth/auth.service.ts +++ b/src/module/auth/auth.service.ts @@ -20,6 +20,10 @@ import { REFRESH_TOKEN_SEPARATOR, REFRESH_TOKEN_TTL_DAYS, } from './auth.constants'; +import { + buildPasswordResetEmail, + buildVerificationEmail, +} from './mail.templates'; /** Sliding expiry: TTL counted from now, refreshed on every use. */ function refreshExpiry(): Date { @@ -216,15 +220,14 @@ export class AuthService { verificationToken: string | Uint8Array, registerDto: RegisterUserDTO, ) { - // Envía el correo de verificación const host = process.env.FRONTEND_URL; const verificationLink = `${host}/verify-email?token=${verificationToken}`; - const mailOptions = { - from: 'noreply@rayuela.com', - to: registerDto.email, - subject: 'Verificación de correo', - text: `Por favor, verifica tu correo haciendo clic en el siguiente enlace: ${verificationLink}`, - }; + const name = registerDto.complete_name || registerDto.username; + const mailOptions = buildVerificationEmail( + registerDto.email, + name, + verificationLink, + ); try { await this.transporter.sendMail(mailOptions); @@ -346,14 +349,8 @@ export class AuthService { await this.usersService.saveResetToken(user.id, resetToken); const host = process.env.FRONTEND_URL; - const resetLink = `${host}/reset-password?token=${resetToken}`; - const mailOptions = { - from: 'noreply@rayuela.com', // Dirección de correo del remitente - to: email, // Dirección de correo del destinatario - subject: 'Contraseña olvidada', // Asunto del correo - text: `Parece que has olvidado tu contraseña! Puedes resetearla en este link ${resetLink} `, - }; + const mailOptions = buildPasswordResetEmail(email, resetLink); try { await this.transporter.sendMail(mailOptions); diff --git a/src/module/auth/mail.templates.spec.ts b/src/module/auth/mail.templates.spec.ts new file mode 100644 index 0000000..8baa06c --- /dev/null +++ b/src/module/auth/mail.templates.spec.ts @@ -0,0 +1,98 @@ +import { + buildPasswordResetEmail, + buildVerificationEmail, + getDefaultFromAddress, + renderEmailLayout, +} from './mail.templates'; + +describe('mail.templates', () => { + const originalEnv = process.env; + + beforeEach(() => { + process.env = { ...originalEnv }; + }); + + afterAll(() => { + process.env = originalEnv; + }); + + describe('getDefaultFromAddress', () => { + it('should format sender with NOREPLY_EMAIL when set', () => { + process.env.NOREPLY_EMAIL = 'support@rayuela.org'; + expect(getDefaultFromAddress()).toBe('"Rayuela" '); + }); + + it('should fallback to default noreply address when NOREPLY_EMAIL is not set', () => { + delete process.env.NOREPLY_EMAIL; + expect(getDefaultFromAddress()).toBe('"Rayuela" '); + }); + }); + + describe('renderEmailLayout', () => { + it('should render HTML layout with provided props', () => { + const html = renderEmailLayout({ + title: 'Test Title', + heading: 'Test Heading', + description: 'Test description text', + buttonText: 'Click Here', + buttonUrl: 'https://example.com/test', + footerNote: 'Optional footer note', + }); + + expect(html).toContain('Test Title'); + expect(html).toContain('Test Heading'); + expect(html).toContain('Test description text'); + expect(html).toContain('Click Here'); + expect(html).toContain('https://example.com/test'); + expect(html).toContain('Optional footer note'); + }); + + it('should omit footer note section when footerNote is not provided', () => { + const html = renderEmailLayout({ + title: 'Test Title', + heading: 'Test Heading', + description: 'Test description text', + buttonText: 'Click Here', + buttonUrl: 'https://example.com/test', + }); + + expect(html).not.toContain('
'); + expect(email.to).toBe('user@example.com'); + expect(email.subject).toBe('Verifica tu correo - Rayuela'); + expect(email.text).toContain('Lucas'); + expect(email.text).toContain('https://app.rayuela.org/verify?token=123'); + expect(email.html).toContain('https://app.rayuela.org/verify?token=123'); + expect(email.html).toContain('Verificar mi correo'); + }); + }); + + describe('buildPasswordResetEmail', () => { + it('should build email options for password reset', () => { + process.env.NOREPLY_EMAIL = 'noreply@rayuela.org'; + const email = buildPasswordResetEmail( + 'user@example.com', + 'https://app.rayuela.org/reset?token=456', + ); + + expect(email.from).toBe('"Rayuela" '); + expect(email.to).toBe('user@example.com'); + expect(email.subject).toBe('Restablecer contraseña - Rayuela'); + expect(email.text).toContain('https://app.rayuela.org/reset?token=456'); + expect(email.html).toContain('https://app.rayuela.org/reset?token=456'); + expect(email.html).toContain('Restablecer mi contraseña'); + }); + }); +}); diff --git a/src/module/auth/mail.templates.ts b/src/module/auth/mail.templates.ts new file mode 100644 index 0000000..e080a9c --- /dev/null +++ b/src/module/auth/mail.templates.ts @@ -0,0 +1,129 @@ +export interface EmailOptions { + from: string; + to: string; + subject: string; + text: string; + html: string; +} + +interface EmailLayoutProps { + title: string; + heading: string; + description: string; + buttonText: string; + buttonUrl: string; + helperText?: string; + footerNote?: string; +} + +/** + * Returns the configured 'From' header matching the SMTP sender address. + */ +export function getDefaultFromAddress(): string { + return process.env.NOREPLY_EMAIL + ? `"Rayuela" <${process.env.NOREPLY_EMAIL}>` + : '"Rayuela" '; +} + +/** + * Shared responsive HTML email layout with Rayuela branding. + */ +export function renderEmailLayout(props: EmailLayoutProps): string { + const { + title, + heading, + description, + buttonText, + buttonUrl, + helperText = 'Si el botón no funciona, copia y pega el siguiente enlace en tu navegador:', + footerNote, + } = props; + + return ` + + + + + + ${title} + + + + + + + + + +
+

Rayuela

+
+

${heading}

+

${description}

+ +

${helperText}

+

${buttonUrl}

+ ${ + footerNote + ? `
+

${footerNote}

` + : '' + } +
+ + + `.trim(); +} + +/** + * Builds the verification email payload. + */ +export function buildVerificationEmail( + to: string, + name: string, + verificationLink: string, +): EmailOptions { + return { + from: getDefaultFromAddress(), + to, + subject: 'Verifica tu correo - Rayuela', + text: `¡Hola ${name}!\n\nGracias por unirte a Rayuela. Por favor, verifica tu correo haciendo clic en el siguiente enlace:\n${verificationLink}\n\nSi no te registraste en Rayuela, ignora este mensaje.`, + html: renderEmailLayout({ + title: 'Verifica tu correo', + heading: '¡Bienvenido a Rayuela!', + description: + 'Gracias por registrarte. Para activar tu cuenta y comenzar a participar en proyectos de ciencia ciudadana, por favor verifica tu correo electrónico:', + buttonText: 'Verificar mi correo', + buttonUrl: verificationLink, + footerNote: + 'Si no te registraste en Rayuela, puedes desestimar este mensaje de forma segura.', + }), + }; +} + +/** + * Builds the password reset email payload. + */ +export function buildPasswordResetEmail( + to: string, + resetLink: string, +): EmailOptions { + return { + from: getDefaultFromAddress(), + to, + subject: 'Restablecer contraseña - Rayuela', + text: `¡Hola!\n\nRecibimos una solicitud para restablecer la contraseña de tu cuenta en Rayuela. Puedes hacerlo haciendo clic en el siguiente enlace:\n${resetLink}\n\nSi no solicitaste este cambio, puedes ignorar este correo de forma segura. Tu contraseña no cambiará.`, + html: renderEmailLayout({ + title: 'Restablecer contraseña', + heading: 'Restablecer tu contraseña', + description: + 'Recibimos una solicitud para restablecer la contraseña de tu cuenta en Rayuela. Haz clic en el botón siguiente para elegir una nueva:', + buttonText: 'Restablecer mi contraseña', + buttonUrl: resetLink, + footerNote: + 'Si no solicitaste este cambio, puedes desestimar este mensaje de forma segura. Tu contraseña actual permanecerá sin cambios.', + }), + }; +} From ea4701678df7e1710810d0fec1636a67a1af3d26 Mon Sep 17 00:00:00 2001 From: Lucas Gabriel Matwiejczuk Date: Mon, 24 Aug 2026 21:27:42 -0300 Subject: [PATCH 098/104] docs: add badge fading documentation under adaptive gamification strategies (#62) * docs: add badge fading documentation under adaptive gamification strategies * docs: add visual walkthrough and mobile UI examples to badge fading documentation --- docs/README.md | 2 + docs/_sidebar.md | 3 + docs/adaptive-gamification/badge-fading.md | 387 ++++++++++++++++++ .../badge-fading/screen_badge_detail.png | Bin 0 -> 219114 bytes docs/images/badge-fading/screen_dashboard.png | Bin 0 -> 527345 bytes .../badge-fading/screen_dashboard_bell.png | Bin 0 -> 812294 bytes .../badge-fading/screen_deeplink_badge_a.png | Bin 0 -> 221194 bytes .../screen_notifications_center.png | Bin 0 -> 102095 bytes .../badge-fading/screen_popup_dialog.png | Bin 0 -> 246093 bytes .../badge-fading/screen_project_badges.png | Bin 0 -> 469441 bytes 10 files changed, 392 insertions(+) create mode 100644 docs/adaptive-gamification/badge-fading.md create mode 100644 docs/images/badge-fading/screen_badge_detail.png create mode 100644 docs/images/badge-fading/screen_dashboard.png create mode 100644 docs/images/badge-fading/screen_dashboard_bell.png create mode 100644 docs/images/badge-fading/screen_deeplink_badge_a.png create mode 100644 docs/images/badge-fading/screen_notifications_center.png create mode 100644 docs/images/badge-fading/screen_popup_dialog.png create mode 100644 docs/images/badge-fading/screen_project_badges.png diff --git a/docs/README.md b/docs/README.md index 8858eec..69f413f 100644 --- a/docs/README.md +++ b/docs/README.md @@ -6,5 +6,7 @@ This repository contains the NestJS-based REST API and management backend for th ## Quick Links - [Deployment](deployment) +- [Gamification Architecture](gamification-badges) +- [Adaptive Gamification: Badge Fading](adaptive-gamification/badge-fading) - [Mobile Architecture](mobile/) - [GitHub Repository](https://github.com/Rayuela-v2/rayuela-NodeBackend) diff --git a/docs/_sidebar.md b/docs/_sidebar.md index 3cb6aaa..6aacc2c 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -4,6 +4,9 @@ - [Gamification & Badges Architecture](gamification-badges.md) - Badge Graph Drawing Tool +- **Adaptive Gamification Strategies** + - [Badge Fading](adaptive-gamification/badge-fading.md) + - **Mobile Application** - [Architecture Overview](mobile/README.md) - [Offline Sync Architecture](mobile/offline-sync.md) diff --git a/docs/adaptive-gamification/badge-fading.md b/docs/adaptive-gamification/badge-fading.md new file mode 100644 index 0000000..fa13d84 --- /dev/null +++ b/docs/adaptive-gamification/badge-fading.md @@ -0,0 +1,387 @@ +# Adaptive Gamification: Badge Fading + +Badge Fading is an adaptive gamification mechanism in Rayuela designed to dynamically react to volunteer engagement and project activity levels. When volunteer participation drops in a project or a time window begins to lapse, badges enter a temporary "fading" phase before expiring completely, providing a time-bounded incentive for the community to contribute. + +--- + +## 1. Conceptual Model & Lifecycle + +### What is Badge Fading? +Instead of immediately revoking or abruptly expiring badges, the platform transitions badges into a **Fading** state with an explicit expiration timestamp (`expiresAt`). During this fading period: +* **Community Incentive**: Volunteers can still complete missions and earn the badge before the countdown reaches zero. +* **Permanent Ownership**: When an individual volunteer earns a fading badge, it is awarded **permanently** (`earned: true` / retained forever). +* **Project-Level Rule Persistence**: A user earning the badge does **not** reset the badge rule status back to `active` for the rest of the project. The badge rule remains fading for the community until `expiresAt` elapses or until an administrator manually restores it. + +```mermaid +stateDiagram-v2 + [*] --> Active: Badge created in project + Active --> Fading: Inactivity window starts (expiresAt set) + Fading --> Active: Admin restores badge via PATCH active + Fading --> Expired: Window closes (expiresAt passed) + Expired --> [*]: Unearnable for new users + + note right of Fading + While Fading (before expiresAt): + Volunteers can still earn the badge + Completing missions awards it permanently + Earned badges are kept forever + end note +``` + +### Availability Computation +In the domain model (`lib/features/dashboard/domain/entities/project_detail.dart`), badge availability is deterministically evaluated using `availabilityAt(DateTime now)`: + +| Status Attribute | Temporal Condition | Computed Availability | UI & Notification Behavior | +| :--- | :--- | :--- | :--- | +| `active` | Default state | `active` | Standard badge display; no warnings or countdowns. | +| `faded` | `expiresAt > now` | `fading` | Amber warning hourglass icon, active countdown ("X days left", "Y hours left"), popup alerts, and scheduled OS alarms. | +| `faded` / `expired` | `expiresAt <= now` | `expired` | Disabled/greyed-out badge; historical expiration notification; window permanently closed. | + +--- + +## 2. System Architecture + +Rayuela implements an **offline-first, zero-server-queue** notification and alert system. The backend simply exposes the gamification state on project resources; the mobile client deterministically derives events, schedules local OS reminders, and updates reactive state. + +```mermaid +flowchart TD + subgraph DataSync["Data & Synchronization Layer"] + API["Remote API (NestJS)"] -->|fetchProjectDetail| Rep["ProjectsRepositoryImpl"] + Rep -->|writeDetailCache| LocalDB["ProjectsLocalSource (SQLite)"] + Rep -->|onDetailSynced| Hook["Sync Hook Callback"] + end + + subgraph NotifProc["Notification Processing & Scheduling"] + Hook --> Recorder["BadgeNotificationRecorder"] + Hook --> Scheduler["BadgeReminderScheduler"] + Recorder -->|INSERT OR IGNORE| Dao["NotificationsDao (app_notifications)"] + Scheduler -->|zonedSchedule| OS["Local Notifications / OS Alarms"] + end + + subgraph ReactiveState["Reactive State Management"] + Dao --> RevProv["notificationsRevisionProvider"] + RevProv --> ListProv["notificationsListProvider"] + RevProv --> UnreadProv["unreadNotificationsCountProvider"] + RevProv --> PopupProv["pendingPopupProvider"] + end + + subgraph UIPresentation["UI Presentation Layer"] + UnreadProv --> Bell["NotificationBell Widget"] + ListProv --> NotifScreen["NotificationsScreen"] + PopupProv --> ProjScreen["ProjectDetailScreen & Popup Dialog"] + end +``` + +--- + +## 3. Implementation Details + +### 3.1 Backend REST API & Trigger Mechanisms +Backend administrators or automated gamification decay workers update a badge rule's state by sending a `PATCH` request: + +```http +PATCH /v1/gamification/:projectId/badge/:badgeId/status/faded +Content-Type: application/json + +{ + "expiresAt": "2026-08-25T16:00:00Z", + "fadeReason": "Low activity detected during the last month" +} +``` + +To restore a badge back to normal operation: +```http +PATCH /v1/gamification/:projectId/badge/:badgeId/status/active +``` + +The response is embedded in the project details payload returned to mobile clients (`GET /v1/projects/:id`). + +--- + +### 3.2 Mobile Persistence Layer (`AppDatabase` & `NotificationsDao`) +A local SQLite table `app_notifications` stores derived notifications: + +* **File Reference**: `lib/core/database/database.dart`, `lib/features/notifications/data/notifications_dao.dart` +* **Schema Fields**: + * `id TEXT PRIMARY KEY`: Deterministic fingerprint format (`$userId|$type|$projectId|$badgeName|$window`). + * `user_id TEXT`: User isolation key (ensures multi-user separation on a shared device). + * `type TEXT`: Event type (`badgeFading` or `badgeExpired`). + * `project_id TEXT`: Associated project identifier. + * `badge_name TEXT`: Target badge identifier. + * `expires_at TEXT`: Target deadline in UTC ISO-8601 string format. + * `fade_reason TEXT`: Contextual reason provided by project administrators. + * `created_at TEXT`: Local derivation timestamp. + * `read_at TEXT`: Timestamp when the user opened the Notifications screen. + * `seen_at TEXT`: Timestamp when the in-app popup dialog was displayed or dismissed. + +--- + +### 3.3 Event Derivation (`BadgeNotificationRecorder`) +* **File Reference**: `lib/features/notifications/domain/badge_notification_recorder.dart` +* On every project detail sync (`onDetailSynced` hook), `BadgeNotificationRecorder` evaluates all badges in the project against the current clock: + 1. **Fading Detection**: When a badge is `faded` with `expiresAt > now`, a `badgeFading` record is generated. + 2. **Expiration Detection**: When a badge has expired (`expiresAt <= now`), a `badgeExpired` record is generated **only if** the user previously received a `badgeFading` notification. This prevents *historical poisoning* (bombarding fresh app installs with years of old expired badge alerts). + 3. **Idempotency**: Records are inserted using `INSERT OR IGNORE`. If new rows are inserted, `notificationsRevisionProvider` is invalidated. + +--- + +### 3.4 Out-of-App OS Reminders (`BadgeReminderScheduler`) +* **File Reference**: `lib/features/notifications/domain/badge_reminder_scheduler.dart` +* Leverages `flutter_local_notifications` to schedule background operating system reminders: + * **Heads-Up Reminder**: Scheduled for 3 days before `expiresAt`. + * **Final Call Reminder**: Scheduled for 2 hours before `expiresAt`. +* **Alarm Synchronization**: Existing scheduled alarms for the project are replaced on sync. If a badge is restored to active or expires, obsolete alarms are cancelled. +* **Payload**: Carries JSON payload `{ "projectId": "...", "badgeName": "..." }` to power deep links. + +--- + +### 3.5 Reactive State Management (Riverpod) +* **File Reference**: `lib/features/notifications/presentation/notifications_providers.dart` +* **`notificationsRevisionProvider`**: An integer state counter incremented when DB changes occur. +* **`notificationsListProvider`**: Automatically recalculates the full list of notifications ordered by `created_at DESC`. +* **`unreadNotificationsCountProvider`**: Evaluates the number of notifications where `read_at IS NULL` for the active user. +* **`pendingPopupProvider(projectId)`**: Returns the most recent unseen (`seen_at IS NULL`) fading or expired notification for a specific project. + +--- + +### 3.6 Presentation Views & User Journeys + +#### 1. Dashboard Screen (`DashboardScreen`) +* Features the **`NotificationBell`** in the `AppBar` for authenticated users. +* Displays a badge with the unread count from `unreadNotificationsCountProvider`. +* Tapping routes the user to `/notifications`. + +#### 2. Notifications Screen (`NotificationsScreen`) +* Displays notification tiles with distinct color themes: + * **Amber / Warning**: Fading badge with dynamic countdown ("X days left", "Y hours left"). + * **Grey / Neutral**: Expired badge notice. +* **Read-State Latching**: Unread items are marked with `read_at` on screen entry using post-frame callbacks to avoid reactive build loops. +* **Tap Navigation**: Tapping a tile marks it `seen` and pushes `ProjectDetailScreen` with query parameter `?badge=`. + +#### 3. Project Detail Screen (`ProjectDetailScreen`) +* **In-App Transition Alert (`showPendingBadgePopup`)**: When entering a project with an unseen fading badge, an `AlertDialog` pops up detailing the expiration countdown and fade reason. +* The popup immediately sets `seen_at` in SQLite so the user is only interrupted once. +* Actions: + * *"Not now"*: Dismisses dialog. + * *"See badge"*: Automatically opens the Badge Details bottom sheet. +* **Deep Link Badge Focus**: If navigated via `?badge=`, the screen immediately triggers `_showBadgeDetails()` on first frame. + +--- + +### 3.7 Deep Linking & Cold Launches (`NotificationTapRouter`) +* **File Reference**: `lib/features/notifications/domain/notification_tap_router.dart` +* Handles user interaction with background OS notification alerts: + 1. Catches notification payload upon tap. + 2. If the application is cold-starting, waits for authentication state to be initialized. + 3. Directs `GoRouter` to `/project/:id?badge=:badgeName`. + +--- + +## 4. Sequence Workflows + +### 4.1 Project Sync & Local Derivation +```mermaid +sequenceDiagram + autonumber + actor User + participant View as "ProjectDetailScreen / Dashboard" + participant Repo as "ProjectsRepositoryImpl" + participant Rec as "BadgeNotificationRecorder" + participant DAO as "NotificationsDao (SQLite)" + participant Sched as "BadgeReminderScheduler" + participant OS as "OS Notification System" + + User->>View: Opens Project (App syncs) + View->>Repo: getProjectDetail for project + Repo->>Repo: writeDetailCache to SQLite + + par SQLite Cache + Repo->>DAO: Save project cache + and Trigger Sync Hook + Repo->>Rec: record events for project + Rec->>Rec: derive events from badges + Rec->>DAO: recordAll (INSERT OR IGNORE) + DAO-->>Rec: Return count of new rows + + opt When new rows inserted + Rec-->>View: Bump notificationsRevisionProvider + end + + Repo->>Sched: sync reminders for project + Sched->>OS: Cancel previous alarms for project + Sched->>OS: Schedule heads-up and final call alarms + end +``` + +### 4.2 In-App Dialog Alert Flow +```mermaid +sequenceDiagram + autonumber + actor User + participant PView as "ProjectDetailScreen" + participant Prov as "pendingPopupProvider" + participant Pop as "showPendingBadgePopup Dialog" + participant Ctrl as "NotificationsController" + participant Sheet as "Badge Details Bottom Sheet" + + User->>PView: Enters Project Screen + PView->>Prov: watch pendingPopupProvider + Note over PView,Prov: Sync runs and writes new event then provider updates + Prov-->>PView: Returns AppNotification for fading badge + + PView->>Ctrl: markSeen notification + PView->>Pop: Display AlertDialog with countdown and reason + + alt User taps See badge + Pop-->>PView: Returns badge name + PView->>Sheet: Open badge details modal sheet + else User taps Not now + Pop-->>PView: Returns null (Dismissed) + end +``` + +### 4.3 Cold-Start Background Notification Deep Link +```mermaid +sequenceDiagram + autonumber + actor User + participant OS as "Mobile OS Tray" + participant Main as "main.dart" + participant TapRouter as "NotificationTapRouter" + participant Auth as "AuthController" + participant Router as "GoRouter" + participant PView as "ProjectDetailScreen" + + OS->>User: Shows badge fading reminder + User->>OS: Taps Notification + OS->>Main: Launches App (Cold Start) + Main->>TapRouter: bind router on startup + TapRouter->>TapRouter: launchTarget retrieves payload for badge + + Note over TapRouter: Await session initialization + TapRouter->>Auth: Listen for authenticated state + Auth-->>TapRouter: Session restored (Authenticated) + + TapRouter->>Router: Navigate to project with badge query param + Router->>PView: Builds ProjectDetailScreen with focusBadge + PView->>PView: Open badge detail modal on first frame + PView-->>User: Badge Detail Sheet visible immediately +``` + +--- + +## 5. Engineering & Robustness Considerations + +1. **Deterministic Deduplication**: + Composite primary keys (`$userId|$type|$projectId|$badgeName|$window`) combined with `INSERT OR IGNORE` guarantee idempotency regardless of sync frequency. +2. **Historical Poisoning Protection**: + Newly registered users or clean installations do not receive notifications for badges that expired in the past without having gone through the active fading phase on that client. +3. **Multi-User Isolation**: + All database queries, unread counters, and in-app notifications are filtered by `user_id`, maintaining user boundaries when multiple accounts switch on the same device. +4. **Reactive Render Safety**: + Transitions from unread to read status use latched state checks (`_markedRead`) executed inside post-frame callbacks to prevent cyclic UI re-renders in Flutter. + +--- + +## 6. End-to-End Walkthrough & Visual Example + +Below is a complete step-by-step walkthrough illustrating the lifecycle of a fading badge from the initial administrator trigger to user discovery, dialog alerts, and deep-linked exploration on mobile. + +### Step 1: Administrator Triggers Badge Fading (Backend) +An administrator initiates a fading window by sending a `PATCH` request specifying an expiration deadline (e.g., 5 days in the future) and an explanatory rationale: + +```http +PATCH /v1/gamification/6a41715197daf01ca5f165a1/badge/6a4a7e9b59f9a50103a3cda7/status/faded +Authorization: Bearer +Content-Type: application/json + +{ + "expiresAt": "2026-08-29T00:38:13Z", + "fadeReason": "Poca actividad en la zona en el último mes" +} +``` + +The backend updates the gamification rule to `status: "faded"`, recording `expiresAt` and `fadeReason` on the project. + +

+ Step 1: Dashboard with active projects +
+ Figure 1: Authenticated Dashboard displaying active citizen science projects. +

+ +--- + +### Step 2: In-App Transition Alert Dialog (Mobile) +When a volunteer opens the project card (e.g., *Test Badge Fading*), the mobile client synchronizes the project details: +* `BadgeNotificationRecorder` creates records in the local SQLite table for fading badges (`Badge A`, `Badge B`). +* `showPendingBadgePopup` intercepts the unseen notification and presents a modal `AlertDialog` with the live countdown and context reason. +* The event is immediately marked `seen_at` so reopening the project does not nag the volunteer again. + +

+ Step 2: In-App Popup Transition Alert +
+ Figure 2: In-App popup alert notifying the volunteer of the fading badge window. +

+ +--- + +### Step 3: Faded Badge Details & Earning Requirements +Tapping **"Ver insignia"** directly opens the Badge Details modal bottom sheet: +* Displays the amber **¡Se desvanece!** warning chip (*"Todavía podés conseguirla. Después, no."*). +* Summarizes the required missions (e.g., *2 misiones*), zone boundaries (e.g., *Zone B*), and prerequisite badges (e.g., *Badge Wellcome*). + +

+ Step 3: Faded Badge Detail Sheet +
+ Figure 3: Badge detail sheet displaying expiration warning and contribution criteria. +

+ +--- + +### Step 4: Dashboard Notification Bell +Back on the main application dashboard, the `NotificationBell` in the `AppBar` reflects unread items derived from synced projects: +* Reads reactively from `unreadNotificationsCountProvider`. +* Fully accessible for screen readers with localized labels. +* Tapping routes the volunteer to the dedicated Notification Center (`/notifications`). + +

+ Step 4: Dashboard Notification Bell +
+ Figure 4: AppBar Notification Bell badge indicating unread notifications. +

+ +--- + +### Step 5: Notification Center Screen (`Novedades`) +The Notification Center aggregates announcements across all subscribed projects for the volunteer: +* **Dynamic Countdown Chip**: Displays computed time remaining (e.g., *Quedan 4 días*) against the local clock. +* **Contextual Rationale**: Displays the administrator's `fadeReason` in italic subtitle. +* **Read-State Latching**: Softly highlights unread items upon entry and marks them `read_at` safely without triggering UI rebuild loops. + +

+ Step 5: Notification Center Screen +
+ Figure 5: Notification Center list with dynamic countdown tags and reason details. +

+ +--- + +### Step 6: Direct Deep-Link Navigation to Badge +Tapping any notification card (e.g., *«Badge A» se está desvaneciendo*) marks the notification as seen and deep-links directly via `GoRouter`: + +```dart +context.pushNamed( + AppRoute.projectDetail, + pathParameters: {'projectId': '6a41715197daf01ca5f165a1'}, + queryParameters: {'badge': 'Badge A'}, +); +``` + +Upon landing on `ProjectDetailScreen`, the app recognizes the `focusBadge` query parameter and immediately presents the badge modal sheet on the first frame. + +

+ Step 6: Deep-linked Badge Sheet on arrival +
+ Figure 6: Target badge detail sheet displayed automatically upon arrival. +

+ diff --git a/docs/images/badge-fading/screen_badge_detail.png b/docs/images/badge-fading/screen_badge_detail.png new file mode 100644 index 0000000000000000000000000000000000000000..41f6821db218da61a04b953eebf815c3c9f6dd40 GIT binary patch literal 219114 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 literal 0 HcmV?d00001 diff --git a/docs/images/badge-fading/screen_dashboard.png b/docs/images/badge-fading/screen_dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..52e55c81bcad4188ae57be1d84cc868760b5666c GIT binary patch literal 527345 zcmeFYWn9z!7e9<0h+JM0N~)B!BAqHF-5{-Whja{V6a*wEEiD@%F$RoKi3tdk7&RE( zjAo+-_h(-I?$`bB|KR`d<_X`ycb`1*KJRnRdtGf+nu|;qsi>%E)E+76Q&F9kq@ud; z0JpyzdV1QkB>D^apCpl?1cNz zbx$s)Y#vQ^e!G*b0meQR# z_vh)3?8(c29-aiAX8H5*ZT&ph0r+`7dBy9`164D}#D5QORllA1^K>cp`Kdn-*Vz6~ z2HFck{dxO-Ph5O_PECzuYg-$in3z$ys!dXA>Xf9X_&L6Mm6~4;l|P!B=@}RbzJ0qd zY#ci4zcQ4q63rBZx@2+lzjfZ8)XtJFSrF_Q`Ioii)2B}?W#biGBa4!^ZaviE;GiEC z)u-n(zWqgnx~15(vPy#c?epAgck&AghZ`(UQl9r-Qo&_rUadrV zO=6p1ZucsNdh%=}?cep?)YsP+U7S~AV=a$M`t<3V*6soa!gbK<)Hxaf{bk>OJm_?+ zXeC8NMCh(w%?;jJD)L?I-K#tP8OISB6=k5WA1{!S!sjjyw|R3BW(rT{GlCgX8EGso zE=q^)ew~_{@;y2XQq$Mf{RlHG$}vN@6ltc2>@AUo%59}X7ru6<%jJI9_DvE`GvXCB z1oIm2U2IG3qzL2Zg?G`>*w?Y#l7iRFuI1zy^Gi#cfqm)+1_ox!<5+)0Pj&L2h#2!Q zadRsc_Z-PHf*UU%?)d~05QAHEUXM$ROU!E3x8}O~hASN_>Pv&R7?uJI6pTtOhOg## zI#fEhM$)G$c!nio1X*>>EKvalm`pi)@iZT-Cm7J7JH04F#@{YTE8;RM7P&@qk=I1X z8bJ}F+bKE5s?NQ6Sq;R){(icKEh4UNt2^6eurXtB>Bi`7{6(>eN1B@b)g?GOdW6}z z%PcFy9a%VD(j)_kpJUl}tKpR)>-j{A#nG~0j4Ymk5=t45d_9_{V!))4NAix2RQezB;H z+}~cL2oUdQ-{;*~3S}kcNEf0)WukMtq0N*jgp3_zy63MMm)iW_<-a#$HM08=P3@qW zCFJAmlN~byj`sRR*@@l2AE%MIVlD&4Ma>bk^R-P4AtaaK3j3Jpr_HPSY1QuOr57$< z)JM2r4dKRu5ZR|MIeB>(>yw2nVQB{>%+@_FXK>MGwa?y62kx#zd#h1y(BvmHrGShz`}6*WZ#7Dq&>%Clz`eeXUpd#%%qw_#x^$ z^!s5D!=y^P{=^B@`}dy*Z!ct{vjQJt*(lU*RDzJ7hWa5`A3_{uY_={E33cKH=L zHj2G{E(7$`_{~N72FtgcMGxOZGKmHIX3Iu-<<9V~^YX<;GjWB7hsSRF5m!v@%|uwy zKy|w|GB=^o?|%OLFl9#Dre>{B84 zfp_Or=sL_^zGmh!cyW#;^P)uF@yX{0t0>H(B#$#R`k5Ef-8D3{zL88cN0&D>HTCr~ zu(M~$mIcHm2XC;)bR_ZDHq33hd-wJARgM{pi(&WJIeySk=BvHJ##Wl${B~)%tchqw z1J2(lFt9sZpiv)8X7WNuZzHe5z7uA;H5XG>?9W}>-%}%rCW*NY7^aBWTa-$LAJzA5 z4BvAstr?ID5fYl~`~2V(a?r3yUwN*V@l>>8#ASQje0~%{-0Al>t{Z=jxmYy%gJBl4 z$9hNQ!Kl}(zReS7-gxEO-81|aXX1~tgy-h4pxtq`*7- zUaxjc%ByzA6@iauj#z%s(CyOEdyZ7Qr`euMn3(tnXk7=vFJC>Ww>efer_!;T@6PQz z;~X5ly}fh|Qf7UHIssKX?00V9l#N1&D@72Xy1+_BzJK2%F&>&5M&2(1?sIcvL(jpX zfVeW8s}Odq`2M{km)cmJAAjQZRj`)(8~2>nZ?v|t>5X#bj!~-vwLMG2W;lVlIr`l2 z!>JfBsnbZmbIkOES7#ki4iT}jv3!Qb9}681x2JW~H8c`{$I$N$VwDel3=}thW^KOg z=+wCx$=)As;>(#Kt371~1x~nuk`aVYp+8}i*T=cCuE6x}2e0{9==`Dtq9>g9h?|`I)+fFSS*sw6g0@UI_E4*Sw&PoTW?p@Zply{w!mL zl#f|_f1MvQ!fCj78Z(Ua%&K;KKQK^Y?mO}AM4^}MkY#g!z6R9d%$1w79nM2vpTaCr z)wzOVf<`>rECClK>UueLHbRWa{Sa+qySz&Kg!1ZxKsUk~JZuv4H)jQ?%-u zn!n1kfKzfF4Vm^`pLn2ZzO#h=V~YqT4Q|6C5aME?x@5{kEh9zrJ}X_Mr5(%&xGeaw zajm{`B0%%z=(pL(G2Q2;l@3x2yP|2Q{4nbwbSy0C&6ayxzdqfKS#uXp`}f~}s~`vd zT`6*^yu9te5jDiH#}3-&s@O{j@B_$V9ln=jo7c9}5CYej?*=YcyEmLVpG_{<5P%tD z-)#qqUA7L}%U6jBRhsR93V$4=T)}5MC*XXirfd*_8#b{!!wn$;2v_T`)G7aZe9N#A zdua)l5|@@pjbDPFg=|Mlo<}ZSnz&IAw83sT09*yGkmraifWiY+}qke zLanh*wz(t6N`Y8P{h(13NzuGWP2IO15&_prJN6HFAFEJc&8?H%<-k8-@@E+}%%Xu` zZ{4~j+iRkv^cqOzN?c>b!j=JQv0kT!c^OWqYHEH6JDgNSZwMmsumN|okn&rLu(LEQ z<5@rmFI*^Hc33$)_It=#6coj4pz7uIHC5DoNiydB`;GhgV0bF^Isj{FSj9Ex zdgnsNJc0H6{j~X_FPiQL%}mSs2~_}-8u#{@?ahvuZ+a_^H!h7J;81w{%a<>KQmsk) zBZn5=PxG*hoBW&&X39=_$O|!bs0Gdf($(a9oeU zg~IKw!SUN%T&BI@QN!DdeduY7l>f>ndGd?_dSgpiHp^DTxpJ5#JBkx&j!Ne9yGvF6 zSfCcx8r<#|7S>o>_a{(zmJ56sxPjv9eTDP;nGar_gFD;Vy}&BfyciW(IUnOQ-@TaT z**H*SaI8gk8Z2$tr@j4&@Z?mN0~dFuUucGGkO(?NC@UUF?9?-@)<{NGTNb%sQ4<7< zwC{pV7F0lm5<*dB{-(&9dm7487Z}09)iD&~W5L(VKdBYZvN$_C?{7q~1F7Oyi~QhL zfb(e5YHU1nFXv{Sg%q~P0PS7xG7Do_Ge!BAOdq&lVZ5TE{j;fOX@pDr%Ad{h0URcT zlc!~o{5*yVkck0+AkCJQGU-PX;9R=AdwRZp{Tiy{+)e}TBWd#F<*3%2_9jjL(BGcF zKfhRI2`)S&lYMILg``Qi_v$DdNI3}O_Hi(4uk#|9V~84I(*_lLbL3bk4P3m(om^e^<7 z3Q4;F(fHDnOT97-wocnz^8K!3H;emd&3A7%k(6y*)%a$=YD5gHVN)0c?fw7tt^j?^ z`s!>k2m-5cxx^Bs5-$o6DdH(P7~zIhPdW9;iM8UdNzQ_IV6 z5DLN#=Cvc=z59vXN&_!Q`z<+Pm#}6HE{N`QDZ(=?;3lR0m-2wK>2&KJ$M^pyNQ4oj zfrUjegRoUGkX^Xt!KmQ|}!;4AT(@rN^Ts)VeQGs2ba)+e|X_C!3szxa=PdHyh&7v4Rh z@7wEdRY+)8ugLGb<(hf0kxCHzXJGYuFo|Z2*-sl zf_kbYj(**ld??vt?@`W#ms$=+B*DTZ`I{nX>OqIsmFfSIJ7-$BQB&^krJb~XJDWet zR%m*u^U>wtEexjfF4T^1d!CW|FN-Am>lXa7sm|hOu?Iy&O;0EXSTzEoXw-?!IgDJS zWBA`|E!=6B&2*fzc3$@q7(AiVx4z931~(=d;gC6@k;5nR|8h}*-@I{Bgen$;c)2cI z{>+yTMOCFlcmbdMcf3%m?O#E!Ik`yGBz$EvNZHT$HTMnXu^S*DC8`Blg5m$*@fh`(!LvFm_E zCo4+ZYi#=SzL`oCRAUy5NaTfs-HH7@!HTCzT50!a`LkcYW@h9Zim#H|`dVBOgi5ry zIq_$b8_YNXZ)p#id4fp&)DQ6*m2bClDgT(TFKgJV6G-V^W|iGsZ-(jDMnd_1oVhzN zEo~zQ=#KiOcRN)lwerFCtBy%O#mm8Wp1*ipYz&~HhH4Cp9`FkNpC2gh?J>C)o~m)_ zDahB(@;~~gA@F+>%%Cs^%J*`6eBsSb$~k*R_B1V#qNH$lqm2the_m6Y(-bK2}c8|u-_w5BJGHpErInaJl;{P^TA;EFtcQoDORUo%;kY%^Oy*kYj zmBjS^d#k_|d@l z@nOmD-@0QVBrlp;+jlQtMXmbB+}HE{8LYnOABF6^^V%1s98p|oh(T5$HN2nvxj5aH z!+Xo@JB{VB_>gdm(jUW2A9|HRgkbtl`RwUmkwmEpIP-Z{vZbtQXY7LOQ@Psm1e( z$(1a$2!g5ZU$Czn-Uedgw3%ovhbMiMdAqPcf z@9S-J1&li|dx+N6#d$0RB$$bMmPXR^!Q6%`qyvu9wX@_)qSM5k=f>|LeCD;0q$80% zMr@I#If~n|e%@lF61hjfN*mC}jdL+~^# zf)B=!W0`PEcycE50pOQbxDwiDd`q9rcIe9$X)TKfPaIuImGLaa2hY2+zL%To#V~s| z6#Xpd>aR0`pA4e89SE2#?1ynjNrYwJ0+U!{K{=F*3rH}j9ZSANd%Ap<;B zl+w5FoU#)lKnn~}VXTE^;SS_!LIt>vyJC*3EG6S#@%at55i$FR37BW}9u}~Ndz<^4 zmBRg{?lMpx*TIrLpbVRq{PjFHZ$7XN+e$Jp2kc#`V{iw3XQI)2q9M3`C-BR@V~HU0 zpXKm;hFnzvWIH}^$1h3HT-+LR_T0JU=s_z0)cmDL%l*82OIP%e*EGx{tBtX zri*;;M^^Zr>HGKHeYf9^Lt+74Ft_+jBmG`A-Eh=z<3bfXsHLMDFJ7oQ(7;ePFcbnY zN*~Zm2e!#@;)xu5w^`g6_pr9bPw|jMe zJR?97(Im5K=|>n5Lpwjp3MIbRH^?Z|9Sy;Fy@`kjsUL`6sDk?IIA0%ryw)hf-MO_a z?$NW|WKozXC$$-7bh+f?EF_!0Qr_fa{f@j<xp6^0hCK^!&kj$9zff zg}F43fvWKWDTRP#Hbf!^~zAXJkAKTxvN0K@6s|JZpqr zrEhVsw&pR*eHaC-$#^K?nb6(4dbj|$L5h3%`0*dPyZaX??nSkF%nTXUU=>85cONew zn;l*3D?~VNag%|?xwWLakOZ|dMqg$v+fBj$6E17DR!=HDO5ZE&ti8&k?KE8wz3(v< zu=Km}l@(-1n3QlnPEI8qg^fgyCUUr2 z91z#~IiT{=4D4&Y_^*>#Hb^(t1Vv;7yi{IZUZ}85vj)uVr>w<qugXbIy$G#;ImOfE zvEhHARXueqM}&I~(q_Y$A2>;Co1y9X^`t{)PT4qm#tLM#zCL`nSyJ zTV|*RNQO}hH+`X%54HA}fpdWyUVEhG-8B6zpZ%F!_QN33)<#177;U)fcZzcm$`!UD zwk^D2%!0N)+h``18H8c;thsAPk2j-)`ET5~VS0=Gp%KOr?(R>S!&0 z$jw$I7`a0p^*seSuA|~*_uU4uRLhuU(w}-8>Z8RZp$AelRRL@AtkR)B7e{A!n?M$4 zDR?_BZZCNChA(AIGkdCd`_c<$hY0=+ zyB!)r;U^Yx^Jo2*`b{YuIS9G8w}cbY865Yg;KJAfKW4wR0ZXwTt_yt^vL40H30r&y zn4+_&Y_2PH86WaiBmUvTicB7WNBgg7eYvfet+w6kCvX?8UqY6Tgd#mCXc8rt<0)P@bbRHh!Q=HcOSU98Ao z3b1Xer?$n3e1YwA;uX99F77dgNt6`o2rsUx`L|M4XzlTkG!O>SA+0b{ZZx{a4xhLg$AqW~NsraA-V?}Bxir~iqTzc*k%G!_jxSWL!w zdYdU9qO-#FNgiWHMfzN0LnIZoV{%sa>a}aa z@cG;cztw(ITDjeijk}xFg+$;o-~cS`Z!QaGsQ5h62l~JBQ;~Ll|GIdZR$qZm=jP!D zg)p9pkBK)y*mK*so*c%I#>@BT&`dl)G8!VWAyZfltPF&>;TYqk7!SNCc6lUo-)r<7 zG+?r#*W1HV-ex9MW$=q<7IXT@VJKv*I|WzWbq)TMhnsr|wbm5i;)*Y>#RpFd7QQii zb@J5C0tbg>wOZQYvR&cytB7>fo=49vz7}#C$$Q@!QtLoqGA%yL1xDrhkDVco*g8wq zHH3s!A7IVWM_gVH{ytc15Uw0fUp~r3D!I;gXP9PMSNOiijpu4GMP*=4X3hW!7&^_8 zNmm(A);VBG8uimj=BE$XJGL|w5}S^_4st1-Tb1EQla9)sLo2(f(m|0pY>A?xqEQKK z>*J43Mp{1DK&kn%=#EnSDr;DoI#h^2+&>{f3XsOvxx-^vW#%M_Bp=pyRi4N4NQj&S zQA*IXs%1lLK1<4mK#8B|#4Cr3X~&Q61BGcP);)htMS*G1ak7s{NOw9*S#4-buv$xG zXyz<|l<>Scnt(&rR{1S`A`5X1?ySuErl+SD%iX-;JK`P-y3^w{=>+AM#~xYhE@NP0!fkxkT2FK~=IJ?N|3 zeR)}%e&KonoAGB%x0W~Eu__AU>c((o>(HJ2P6WWeEUsy%&zy1o{ro}Q{A!3HNUZUf z0yjYQv#eEvVfni%TL+Q$(^}(kCZ+gczr3gRveeO`Yk>xifW#LNWc($`db;rrm=vR& zQ!)CtCe}H@(Q4{>H)qDCCai%cviG5<$)Y6ii6 zGHuLH?83^0tk7Z-K3r$OLX+n`a6I*UTj?Vm$%1fgR+%E5HN4Q^vAAt;Kt^odF|+|0 z1F-8{u;ZtkywIS*o;yuidxAO;JH&*mon7874vw8AjWQ>nZHE#|q%qvMtha7wIis}l zu>jN7%44JAYp_hY(yqQr5Y{~Bzw3Dpy3}<=^?Zvb_=~0`&y~a6xkP%c_H1 zGyss5hq{7l=&5PT5k3=Gdf_}bCufb@3u&is_ksQn%XZcBFa7xO!(zk*TU^wUv_%ZF z=ed3R5vz=^A;n_uenHa%FjLf|h2_bTqHRxG-#Gn;Z=g#Z_L*OpjH5-#4d(kWYF#^y zYdl=ifb4V)3e7hGE}-|G$aY7RaOe2=j_|B_S{Gp|hjD;kG)0pV=toLjU-tqLLIMSyXcNql?tZ8_3hgrC z9DckNkUXh^EFIe(MrXl7Yd4v;wy#0Q&4qXEH-(vi5A-OkR`Ps5(48TZG2$`^o83ML zz_1N=U@&`%3-S3HzQ4OvsJLEah0b=OZDQAxVhaRVvd%X%Gc9?pPP}zC%Gt_mWvE5^Y1|3~3EJ-LVWL*5V=GoZ z51y$qA$rwQR~1~3>M_7BJRb>zu;)5|1Odf9~Cy`Et8H_B4yf?%w_qev%}O0OX4k2&fS}4zami9!S^LjwB|6 z18!KxCj(ru zOGesJJf;E+B{60tHx(nC2GWP?0$Ly=)sVEl2FSs-pY+jWA-m<>rGE_q_ z8%lV7m6FU`JA6aUax(%I#|buk-`L?$UNJW-bd*pFRLJk5gwXoV4)&goT<#Up*c!3X zwbWyV;zw5egViyvA$3(_Gu#uOMBF0XfThy7P|TxOa%wk*;Lv5_6+-eTd_E77r@@5iK~cX=Lv(+J%uzrDw@ym&%#59yK41mU z;zb@I$DXB`RXg1Te%5wlW8Zd;T}YAmmWFjn#0J!A-8pmSjMRR@kw#S-(j&XhZwb^# z8AO_;kQ2Fpp-G={oNt`kK8&{ks7`EdxZDG?Q&(LmzrW4_zE>-^2J%vObzap10u;AU87*6);fb-FE@>sjZJy1c#Lx8Po! z{WUADtO_Y>!*AEV$DL8Iwr<#KOLM_iBz4wmrAaui*4KJ8M+3mPGwiW`)zlptx1+>=ok9CL!>9KLcht}@_Uv% z+2+?!+NV0rV|U%d!t3Tt%`rZTL&^g+YYe@@9)2X&H;aF8>Rc`1-i;ggkz>Iqje`}b z%8HWw8osrww-X{U1()$p;?-s$6?ng@um5=2<*Lu}?XNC-`VIbmDrLn?N0(QQ`G7@v zHZ4~)Dp`qo4p@vs$Rz;r{oG8YK&U&br=XKA7cN`?@cd_Wc$QmrBA*+;_}G~&9@n7^ zsivm*{^Pl$)XmN^m^revvvzf?&J{RJY@T<5#m>&eyK~#Ej@Gw-uN+0J11glS!nx04 z2h=}&WW0X;dNA?Lyy!IPx>bqo{)ffj)z&M(R8VTu)*#CU1#p*I15t0lcHm(LktH&KQ2Wx%ipBWi=PYGMU`SeT5 z`kesywMp7MnftGS;WN5_|IIP64l`0*y_UnJ0d?`~cLCwuBOaYh!^b;IF!RDvX}^^` zumyN(8o_=mSMlKTJ_x-51DSb54v3>fn!koCDeu+!t`>uXFLH=ZH3R;!PghJ0@D~li z*5fjrjazl=&JWyxL-pUY|i>uFJx{ouvE`DI5-qB^2fyvc9pk-`%}d>Nu<%T#o;s8 z`W!W(oDDnsX`uEt5uIt;3ps99Y9O|`dSJ$Wqhj&wq_E_0r_PQyA9K}{I$TCt_F{tp zyz#AVG_||ODj9em#PD9YEKn8&Dtb2Lf13J@Kf?<> zh__SM(y=Xu+$91&d7%qA{){DjZ92S8efV=;(bF_ z+nD!VMp4ri1$ovN05{YqF}@(eD$`WwM<`%#Ok0R+{J@FL%vQdh8APj*A3aq)Q z)?=O{$Kdg(m*QC0f8UJVainuF;5FKA50j&-G3hDPj5{yEc{0WZAZwr0d!#9=A;DDS zZ=)+$tcuT5%7{`o4la?8=GpN=9OmFyg*U|*{6In00Puq#Kb}6=SW`5v#RRxzHd+Zz zXJWdPly#!&7UM5cV3vw*r$j%F>zcmccqCp3^mgiu#i1h%SiYz=9a zC16_118hZow?pmp-N$u7N^{Gf_pKgI!cbn>Daw-Jx?lmNhPSM7&&)cEoDVZ9DaZ;x zG)1^#H~me)KB;79UPQ3_4zm%-0cd9+5kX7yQDu$&sA;^P3o2yDGI%!Mq_jpQxBMrp z^*Soi0~v@)yd?~>s;l`-9cAa;XhTk%P`w)fF40sV1!i5=h}58DWhQO{dUC11r1B3l zJW%{Wzcn(*{OZ%=Bl42>7(&|}l;)Z>geHMn(6Soi++k0-BG%+wDeK2S#5Uojb&W~j z@U9koq4W7L0!F*j2zXDw&6#$VGPp%;#R$UP%>NZ)0V<%= zL?EE*FFK}BCH%0ycP5FVX`K>C0d@prsTc!!dD>Bg6@(un>4q$#f*{JKUVBRw#HT09}Q*JAL- z;!6EZDXC$?cH(jw>L~J{apP^Hkh?*FR$Qw~!&GDR?Qb(>ZDCJEK%z~zp`9~<>EI3T zx0yA9enpEAAK2>i7jC#lEkH9%2QGYE>Mtz;Hk6VE@`S#5SmAyku9dk7H!y$X^|eh_ zZZ7hGLd=o729un<@wfb1AROx3bClHZi2Hkz|8=XuZ)LDsq3}S|2e-dsSW6}o_Inh>5W2PVuyr(;p}JrmroxC@H};I z(C~{6NW$uWc?jwFk`k`9$HXapMf!bc@nL#T zjs6F&FST*;)Z{(-(3gh5=m4uXV>?9Fd-lJIgNGkoFu(Q8b7IUeOX+fm`_)jf_Pi$v zrodqp)#<$ZRiMunuA-;>U-!@bn;>20=*}w*Y8U#5c3i`~_Hkku@@~6{edtNU?{s+p zY#Md*=pMEDUR2lq-%?H%SMZK`=)vR+7CQ{<#%@IwS7?YVHr?R>Mv7{$({0lP?6$Gh zE&DhBga78Cx)l3`!X8jj{hxIi{r|N|e-7*aVr|mjVw3-~-mrO42XiqE>tdw;EdDT* zOn2=XXk?io#Q#~;H+nwe2~~CVNdJ|QY??H27r?!=wzam~ARfhowl6?$@f$W9yM1#XnJf9=iKq_m%hXdzoXefLmRed;OhfLzqMX1&|zdW`&%89eI|lx(7ilPRyn4^ zF7q6*@Sc;bQ3~8@W)0lxpmGneXKi2nyUeVDSQ+5T9Be_q_4+>I)_!LoX*bjbTa`gk zrToDXwfjiDnx#xYPeT9=w5+TQ*?BVZbeKHY@Dtxw7sjL==E3FYfN|f~%vhLlpO20L zoHQP+Be6p$91(Nn1vQ%Sb|NWs7S+W};!a<1p0!$8(Z@=(c+zul^qh+mlZwH6J5ayF z7Von9WC}Y7sj=VXEuL2LJJV8E+->x;aunm@c1qv=beRIe zha}_)JxzE0Fchrk+d`z)H}8e@n+*q(l4$SBg05|R+S(T%w07-2f8L+0F+Puk4>Wm- zZRS+t(a!9z*bvp$&nt@Y2|+@(e8hvx6;uA z%q!eT1_hI9@p&pH61~*6Sq8dKbTbbCuF13tUo?^@$SZK>hEf+a9;llw4L4Y^#nZ!o+F|%3Xq-_pj*EZER7bFPEQz zLvoUSk#Y`97D_Cr4PskLM zW?q)?@Y1Yw_VwdH4*XG`$&XYjnGv{$RJIFXlH23sdIzgr1_~{kyYE3NJyL z*0p0Bv|7k`9Av=^OXFvEmc>g4XNsC!es`Vn>%tD&1zGmBY4sn};ZtS8OMCnJ#2k-U z#>Dcx{AVB6yS<-2I3ck!xS7OX<<=?!MBZtv4NwT?u@*bFNF0JUIKjBoDj&4wEh_y` zGlJ_InJA0uLO}w#%KIubBr|OFx;t)?>1dmENGIOc60^L$`%^E5D2S_e`9*EZitgjl z@wotvH;5P8jWK6Mdo~dZQpMcos^^Ak9#hn)2UooS`WWN$C}_$avm!v@HYK)oAMaL}RBUUkf;m{^V=w{3EyXYwF=$Wl5kQ3%gSJ#bRPhINI&Mie% zo0PgH=3V8{aa!E8ANlJ1DyF3kFnuOsuKk9~$tBnlACuUX$Dr>H0hzyC5^0w2E>pey z`0#Ghg^T(i-;OOXa`hvOa_Mluw7Jv!NB6d>9LQ#^XfzzuNxR@+(H=F8v7qT8i_id) zPOgJxeM<rD3XrXlpC5LnCE^4K<)3k-4Bn z8RGeKeVCP?reGRUcRnVg;!t9j94qhjK|5r#oTne*!w5oX%}$e&{ui$fl0bVRoY|^m zxs;F(`X<%m0g1J}*4s)cT_Cbc-bjd5qq$Y8kL(`nFH%IaAh)&E)Or93gzzVuvC8^B z;^pN9y%`2kKj)Tui=td!M>vKk0EPI_4B8Y%dn5_(hdCCTdYBtZ35(^8=kTKUedaMq zoPw5(nu^B(g`uGr{eNp5ZcLk1dPH*;fu1Xu0Zx5!xKXFEKmsQjW#?UbGA1#R4szJa zV^$ZMVi2O)Yt_1fgPZy|7J05UGTl9t2Mk}wmM~{5$ghND?L~y`?x~ssfNt^yN}meQZowc4~y9Q7-4c+ zqqc_!ttAP3oMdD{=YBM^D2S-HTXJ);Ii^vv_3DmAMMe9-_FEPhadB};9gz;v*5OO7 z2TVp;0iuKNEq=}#p6OS>2h#dg(F>x?ibk~ zzaa0s4vg1TA0UE3>}DtA-d&y?L_NQpAT004VlDr&qpwVkr^g(*fE+L6pEP`#E4X2i z6VuAx2Q14Hg3;ROevy7Kfgs_#|I4{BIEGCIR=YJ1)+78y5k=f9eR`C0=Ff7ghvmID z^Ta)ei`)Ccu(`C+h9se}3IflnQ@T|s*&e-sqBd488GwDk)~&6EU~^pq8aD9eBjr93 zTVjPrsJY}5ufz^ZLn=bsfG`Jp9v(!>FwOU81`6rP_^94}Z}eH!3Ap>^unC3PSI zy4%;~C*I-fS~noTkUiVU=0XDTfIofpb_5XurL6zOt8<2B9&)ieYuf!Ix6vd^X+L9N z$oq?(@9pjF1CQ@CJr^Ar9c2{wcp%)bYS=9}{6~aYgToG2S^is?3A_|&nzaAh6tRG0 z^>e2e8ben7ECPTvqU7Po_YT-w*_&!!{aQz@#sP8?W>hrS4qd(zf@gsoGzY{?0}?*c zt=AAxXJ*$C>V?`F6l%6DI^6mx7AA9~Pf!De0{RElrs34d_}L#5aT>JdYbK8Zz@cp^M}T?9wr(PM+)sHlgF!ul{6rb1pS7dT(c0 z6AWn;qNr8s&DxW271WIAG#+Y3L52LQ5Fl>{8u)sP3<|44u@`|ozAY|f?Ab`F=KjE3 z)|;>4h?|FdHgK!KEGv^Ab|m$IDU;IeWhZn0R|^m?u-HV~Y7mwNQ)Opbd}a;MfK|wW zAEC~U6q_pM0yD$9Nc--7o({)EF$jZ=MrMZW53?}dXcQg&$eDm?rTuLc)?#v-BuHvx(Fd|7d)0EDA7)hR`P@P^8yPMi(N))r-H&oMqvq^7Q zsiKu34N+IMiIwaQr(8=G7huHCUZF`$PtW@V31J;PB%*!&oCfiPFNw{nmzVcUtbL2S zILQ*T!oOL*Scdom1EdB3(YW@Zc7?{PecE4J2b5%7PV4#!^dv_F>$rsXz1b;saKvpJ zFL+mndQQ?v0#m_oi2Ch4I(e+%cJACcxKCks46VMN>!8#6^Wsx6v-~EKkZa*#zkHU4 zN?(DxM1XI0<`wSkkYlfMsoirpDqRk-T)S2<21kc;JaNH(DPpt^8SX)UPCLgiwD70v zFmoS1y-PIr=mYr7J9PJOyac&C49y(;u6QmfE-ss*-`@||)&p6y=@oZ+D}`(10^}F# z!C|qof2;FdSrIX6F(|X`@HAkZRMCC%F*9V&6nF)0(C|HzXh&Y(irshYJ}wU!e`<^k zm_jQ+dAD!z-TM6G``d;mr+ThMb1~RNseNFwtW+B??9;N@>{}5Y*3!%M2=?E?^>?K@ z7`nyXdO7w^|57BqveK1n*Bok^6u5m-Isq2{w0Eg&aBEkV1lm`8VglYeb{~XcNFf?& z^PBtegVQ17P1)O_hdt9%%}~f~(AY+Ig$6ktdQi94R$SV#M;mxI`<*8~lB${Tt z>FzBil?$VO7)$RdoQ}m>Im=z*y5v#KwC%+66MCkmh+zx_Qd+yT)Qf2bsAIY*oE)|5 zmw?-*3^7G56d90l_bwklf9_*}wmj78yS1>jk#|nl8tyC?nR*Z1j6fWO9PbS%K-scF zr_?s$Xv1o@w;*`a`8Mo$4L4iZcHFynHG4Wup7*?zltS0zJE!^+wBN&Eu-gn#cis1^ zYUa|8&8oY~r+Hc;gbs8sEsWoBq2y3D-jrFGMq1rt5B_XA0p9hVrajK3lTabZipX!Z z>p)*lZO(R1^BnK=?RFB7DoTo)QoG+?iEBunp?cD(rqJ%xmpy``!B;nvn#lgRB(|m= zyPt=1cSwstcaKx{uJo*X92{xQU38Mp3+=TGPy#KD@PobPtYh8aP-07^&1jtKnn4*1 z7Fmgr<-e@p>*k!M$`+E>-2K$He_)^u)t!C~Y89$x5xl|Wz0X^i)KDq!H1Sz-mX!yZ zc}!r>rL9i1DZi$0G_0fUZTpjmL!T3FC^lVRe7E(uKG6HnucIM=B4(gD*Gl1N^WZ#a>wBk#S3wjGDGC1z{|IhJKK=a)8?x+y(WYCf~v6}}Hy+*4jd z-HDMseAg?_$ImyN!IQ;Qm=$d1oR)UHdmtVjd+XL^P+qj#J74<2Ta}IVAbPmWt-pIt zlC*QZ0k>+eKx<@VmT*YM@vP$3SD0~pTx#~ zm-wzC3l!>ypi>GnuH>r3MCx&y4`&+}yHWO{a3|>ZDyH+9FdZ0ORiDYQH80OdOR1CqaJ4e zgVvHP6;*9X6?2u|6dftCZVK}rxb99%J6^3;AH2FZ4>ZK1JY?=zdKO<1l@$w_$-Ntx zHkTmm-x4HC{xuRc(Gl4px%4hKm0$}&8YwA_D%cWAvCOZ*a-tImN>#aH*R$y^%F_Jw1%ulG%VBh%iF;*Vf`Hgq=jlC%31 z7F=W7DO$O&{;0+-By;uj*WPI^PjOmItXv~;pcO*I^APc_YYsSYyRD0bnGAztfeIw{B0ORxGZpdo-?wU0@rxhb{l+AR-d*ORT+kEM+Cj6joYgNW} z_v@th4;EYcHtJD4kQa zIL68mopvNiV~(1>1W2jvC>K=mQU;klyD8ng3CB;OiOK+~w@MEj!CC^^AIKFs~HE4CY&zDot z04o=g%!VX}SQ^z5k6j^SZLFQ`Jed}$q=jl3k650}bb6k80-=0K2fmilMN`o|P0R@x>X#tf~Ktzykq@*P`9nvLAr*wCB zhjjO*ySwAA?e9G2j624C^NexFeeu8Nh3vik=2~mUXU3XSsnTLW%qxXR)8To&%}zy^ z7?!D#1Btz&#%`bud)C4c(ky5Q}&H$H^`E&MTda6PE_v4w;F}B`4=U-ZwP@h958X z+N&G*A&}*tFDyh}iUgn4UDe^X`D$LL!JEQKP7SL^R^4uIbQekRb??}&+8W(GlZ%U~X=P$R#Sq&_UL?l45`_rf8j8H^ z@jEOEaeC>%19w`f5gHy^MdQ^S}5DWF^BF*r!1RRqZ>WJ z!vm<$rOS+vl^7k=sAHP6zYa(N1k3tBxwybH@Xp{ubuWvI0Vt75;Nzv0i6`$M7Z4P5 zx#*Zu8_muOwSqtj*@jSqeO*O@kLJj5S3-52EmJneL-@a{kyqZiAJhn4n_q8MGz6=f z)jZQsKmO{pBdHi(?r60UYdLp=nG*^GAIs@P-AU4Itj-@Y^Va1oxh_F2^Y|(;m2Z1t ze|nKSs@LkBE)I!VwQgFr`G-p$B`}G)`}(pttv<4R{R>@zMx|j?-wL+)NBKar;T*Pc zA*6ZPL_FD^hk;9BMJX*lQ(L?~s!*Y7hvh$Zii>;DJ~Xx#Y~;YuHjpGdE#Q!1X*A&L z{YSB&esfbl)FNYnzwM?7#&U>uta-&TTZ!>aax7O_j&IiYkk@u9CnwI)U_!eS%d)Sv zWGT+ipo5{H9?xp6H^7nhuB_Byc-cr!r}GDu@tccXWEQ2OP`77^>7Np%(8bhq)1@8yJ2DfayIwCCxdvnd-8Ui#N^CmmEB0=mpB4Q-akeK!^7*pv(DNUblN0P8) zh^GC5mwk#CIsr{`?|3fIg{N?X9VSI-#d@W2Ije*h0+hpDaSu$R`3syr2idUf(@?Jp zO&_XJQ5dbokIn8D&R3zPP1lW;floavu0Z11%WvIV!=L+{C4p1GPqcu^AMx**v>DPQ zm_fGNb<2a5eoYbth}u|ktzD5JJK0kap8zQ=k|BvvCn7mHRo8WYQtLe{NM;uAZSB9H`8-r35oXC=uFN= zK9wbZoG>$LmzFE9h3|$o%Q-nY4`#8|aKINsJrK(j#!2oD52t&`gg;*jA_nY6W=aW>dE$cz_n z{}7AAQ{7c%{=6h1=CS7Glp=Mqc0vdge(tG%M@w$IpLCFtc*{dgN_(ePI@=4TW^*-mdpx^Qx|02Sl~;ZG zM2ZHrRy$sBbC?#3RbEU}_UFsZiW+{?dvWr7vr|)3L&XWwWv9X0>D5=W zj$O=`LYE66<-AD-auk-7fV{}fU8fJy)`V^@`WF|(q0ddv#)>Nz#f7d8970wmbZNsB zW|R)w$t*$IT6oY`rSq=l^S+b0=K@ec6MJ%(^$ASgUUnMqJj{D`cP9zOgVdlzQBbVQ zM@nlhYuM`PCaBpZ1>oP%QQ}R*UEl^sdgN`x=;(Nx=`XVY1neH-!tal&d`DEOzA{r0 z2Dh88JFdAsY>r&&2eW*7q{>LB>+oyE&u6z#IG`Kf9Q|s$OoqJh4k>MI9B!dLnJo;` z079VG%RYJ)$Yy=Mn2^SZP=|Zs#-O?wX$9QUF%C9GBCDju^gPRLl>=r4ehzn#T6a$-jPY zRI|Cc$#aq_x9Dni3m57$aHzdI5Z7JqqtX5I^O&&9%4(51U z;_czugv<2K;)cO3WdIS2*(oQ3V&2ShW?8;h0b`)+-EKvfpzT(w>eAS|itQ*5;a`tAy^FTn_5aybb5s~ zVSbmHnHi`o)BDvn*SxMQH(bE9+AkxK1pC#oR!;&4KPYtdSo3N;NA;#kXw#Qw>0B2W z408nx@mCS7z-F|+b7c12yE{k29b_fl028dcCvfV&nJ{{=yqy8uvrq<8S74E&6`hB3FWrU{rxVRC9$THZ9uXV z!vuo`RwuX=DGW>ZqMW;DN#bqqN{jo?)(2_w&nM_~f$)6~bv#HTT59rvnhLa?;n*kqK7 zE~f!{3rlH{n*LQstL?xd&;id_inEKan>~tVy^T8Wq06V=$tW-9qIA42Dy}TrDW7gv zY_R^k&7FSXL`9}^UZ{Pr5#pN7_*C$;qGJhgelV!{)~4aO`*);cSya z^P)L&u}~O`!8tcA@v5R>=e%-pDRF9f8n=1~h*N{wqvOhRkAV06iB6k;&f(BoZkLN# z&G5FMvp7eWIO}G9z9k$<+gYQv^Gn47zxWtNaelkm8T<1=A4$uU;$-&QjYY{NbpxsG z+?IQg-zYXUxa7Ywq=89os5Eur?nCJ-PU-xVHo-+dkbiR>p*UjHM-UVU42;D-$KBv} zb{}3i*8+_#2)m$*$@3TtO>o-GvWG2nr>%(x!V6XJIh=j1lwOf>y|5B_Ig|eFmUoZ2 zW?&QSByl?ZmFR~bB1Dxw%gvM!!@;kidabfu*)l*}(jUd6Kf~6$`%ZJ*u}?s#oTAor z=4RY+aT2w^-3zxg$en$ z0jh)ZIZ77C4r}!kTS}6-i`9xHV7nm%VaE}$!4Lvi7h8Z4F~H;9QGS=Bnz@Ko%4iNd zGYq)4Vb0YSBZUnm8r1%y+TD)v(%7_l02-wWtA?wy<@QURHDbGw!Gqw6L}F}#YHcfi za_)u73A>*9gYoBQ?ZVhX1PFJ)F`!wo-CCmc-vOib^u<*ydVG-B{8Pp@RzhjkL(* z`g%bz3@Gl^PK`OjZrz>|6%!7eH9f05oom4VmGQw3A%YAN;-L%*xj>kDcf3I(C+MKG zG65rATGK{?{5F0*lB*JZ#neWKFnSN*d+OsR_wT5t&7n2B#l|N5_BEL~suTg5n&beU z2BmG)1_*w++F2?|yfoP^8J|@>EJV11gGQK8#6?=zGaIgV3YHQa_a^5HvVgoRp-Xt2 z(QtH(nV^IR;uY&oa4w6NAU)Nr$KFC8m;z~|7d-9T0<`TEHr5DlA~S3nkvlL@ZU*Hc zeH_q+K&bXs8$U+ z`?uV}@jXN_-6sO>h&xKi%!9v>A^iUy`u|`yUhrQ*iXC8slJU+U^%P<)%x@-?TY^oM z_O>@Wysb~rH~&Kq`2XJ=ew15u7Nu_y1)F{|;PI=_TD+wC3V!_Xn<$EC#BBx}{2*26 z6soX!94_#6{X_ZcK+z~OK7$$fH2^p19j{h}KM2mdXai?zZ55RTtxjZ%S@^Xq0T7>LWv;2SE{s`r9-k3GQ8#)uL1{Hz+$dGH-lZnl9UZueXod>v4(ZYi_b zY#gM}Kpa_rSgfg=f%UflG_D_t_-QeCU5L8$s_{}~X7MM~S-EdWbB0g8tHIl;rh zoN7f7ei79Z9lz#C%CBcuDA1r_Fjn-Z00mmdue(tp6N{kYHtx;UafrXaf1h9&*JlNJ zF+EW|M9`-Aakoxy3}?Kv1mrc578Vxd2{rZQ@#gT#l9(KbG!14bCiV$pKz;|{@Ic%$ z0bJb7-UKgVo0FftTU;>&fv83R-I7XLRg~Y;fd#Q9H-|wWgDC^o0wJHva+38wOVg1{ zZ#kT8QwZdMO;x#Rx@eGcL7dCmO{=*!qtHnZdPB3muPy@Wa%e_YNS zF0i+l*-Qh7@KDO@jkLy)*HGggO;?2I9~Q zS5XLr>FaYY`C~%?vyt)f4zM>$7t}Fg+AWYN5M&YyE?)#R5m*t?@HpqIqG>A$SQC6e z8-}trpKXpeMl+6Ulf@B}@qR{04hk~L0xmgEigZ@|F@wp;@VFJm^MY46yAgwtj_^Z; zsEiWR0I%a$eltdMU$P*DTs2(a?sHH$GbwjY)NrQu#|06zy!IeaIJ^}QPcjHP9~Xfe zq=+Yp1A?+?%|e2}0|8BxW-0b-43<cd1txw-M4_0Bc8L6)gGx!j7r?OParp zUjSZC5g&J8N&QG~eM$xJWEhy1)|kZ@edv}loCB=E_V*N{#E4)D$i$^}UWFdS?SrhQ z=G>%D;UGJdA2MJG=Hm&-{_o&&M4&S_SDmCyr>F!Q4YE#My{gF! zd7S~4P_`tS_N&6ENYY2&x7K-|CH-XyIKfl{HhvudCW}B=3Tzxi-2T6)>whQQ{tMRs zYr6c`TKliu0D|*>1&aPFH~wFd8;X;YXoX4l%}b;Wpa}oUfapI(S^rP+p!~HhAduWS ziW4jTE1dEdbn@GSlRmHcAAeQIW3)YeW8(YS1{eki@1Sbn@4+&Y-lh}-y}drc@0ipG zN0K#Fv)Fh!r#F^+iYEfNzqX?_SuW=E`p@sDCd=iV-~aQQ+Qga#&TIVzog9HQArsB5 zLAxEsQx^#5mK#&2m&Msi*^U~*Wz|Tyh+KJfL~2KgaHnZKvRJ4&*;lc{`umH+s;TDW zAjTZ__e}lew{}}AWpl-U@6y|f%ItE#ocx~?Ewmr0D(D$NU)x#F!qz%cLIlbuPlb$z zOxeDz#Y^_z?aVbi7P=e^;WxR%7G$Nl1e?!Sxg;YP{Wga8LX>3$NlNs4{S`HxIW?SZ zWRG+6gDJeRf(BFULQt@Io&@tO?oa4Ns!z>~myN4Kxo7R=d?@a!>yLKK+n#5{&FmH! z@7;|zd7^dLPMZ?d?A5CVl5o(rQ`%148SK@kB=gkpK<)@}a8TcDP``hi`Vg6Vj94;I zEQPJ8BcDxdI8YXR6U9#v)Ac8n9GSrX)vtkzgKP8&H7xm<+QZtSLFk92cf5LpUZmcM z;F?8W-*%W?HwK6{ooRrEal%h4>4g?M}42POIMf%vHP))*!;GxPrO zzFSI)r~K8=)ZAPQ+|bZU7zZ)fBG%c{^Y+6Bte)OpEi?V#UHHzz)-+kZnVDfu9z55X zQy(;s;&Ip}Hb@8$f83YIPg887pulw>%R$=gO5^atAPOX~$#-)(^%oZxgEkKCSPl-X zoE)BY@k|b<+vuP*K~!|~`xyme0m27V-*Mhb9I0hXx8m41>Txfni6dbRJ>}))ohUQr z4yF)t@9KIVx+V!(CL(yk#YK2`ZAA)U)oCSDDx61|n4BuNFjiI2)}{jcZbGA?d_lJ; zB#1+G%~Fc!qlNK|keO3CIXTa`IP&G?WoOyQN$k&71UtCz; z7qn7n2(A!o2ol1kT*Nf=Enm;HxC>$AgZeuD zAh3CKpS$&9t5Y_Rl7mn&U+uHj*5BEF0OOQ(^OOJu8gin9T#C@9^Oy@f^nVz70lKDr4+<)4 zwb|KT=6)$AER50}!L;I>fBuebXc)S8i$QvU982g&ow}2;4`ge{46Zk0fep|+uP)`Yo;c-3#*&=QBa%- z2neZP9%F$mVg^30bsb4=ZZ50d;g_n?q`dO-nevl8*So{}4EHhCLq;_V7JKRT|Ih^#Id}9=RG2q( zT20$+H|Ec|>ZaG#)h+DoFco1^@L4ymCAw0vyPoDogNo-RFIj|{rwk2WUe+@!AM)1U z-J)HC(nZw$rjyl}pmwZVc^Eq1oRihP?VYxeVaa#znl{br+wxSYsQbaKluX=G%F78s zz34SeB_3X05Q>%rjD`+2Dd@XMOJkbNVzjqQ$Nq?ON-X*C?aB;&Bu z<%Tbi>_1TRu(^!lP13V{5{mGslZ%EONd&Rl01$3nYC$ z^=qX)2m}?L(^J&luP{e}( zG7m&1zw2z@RRYAVsEAF$weI0BIvG3|Gb<~Ow)Vm|bB2Fbwt)Jf1rB0+#E&R?QZJXS zJlTQa;a`>cF)^g+AL5&@)YQ~!)uzT(vT|~kT2LR^Cq8=g=+{;~2ER@7_p{l@(VB8{ zG`93@O`bj?tDxJDcFW~SkW0RIJRkU0R@+a(`%T`TFee>s2tDZ2EIVW<1zpnyPlQy? zsmzVwV9OO}jVXe{j3`uu_b~5%;{+z&QXQS8R*FnYFNTNz3NYs~Yw_q;TyU6Y(&P52 zeM;Z>=1X!$4#ViTu`z|(qoc#a<;ggOKZAovtNQxXM~_2)49iOO`TqQ=6AA+@`Wi=b z#zj{99&Y%9`U$H<_NUb9>S|wq45Euzc2U8LH!2+NppH4b z+P}y3aM^F>EG;FagyLhAjZH2Kxk z?>FEV(3_pLz*(5|y6dp^FOUBGqQCa!h4-}FrPvR{{PMBak)tT(Dei((``2dAQnS`o zMMzKD$y$m^-b@aH9I>Sw$oo)qPZoI(Rzb%szfPT41?r>sVNgdWZ3VJ3c9@@-nTLS^`fb=x^tAC zo@m%fl~MdN+IzFkl~!w5giiZNm!~J5>FMb|RVMgWR#&Nk=>Jmh<>fVVX0v+@3x!=? zUa~H|Lnfo3nQCcHF^~yOO%5{3$-}hc<_>L5J~&{}ba`C=l|w~Eg_V=jbjTL8tr~bC zxq%0kRODoIOt59tO-p~OsgD%>9mo+#TCh`9cN11seMIApA#cmkDd~+&&XNVBxwYN; zV5$vu^WHv|&H7N`SXf%ViRCi=Vs_Q- zQ2-o-00(v32!T>u%^(q0bTx$Zg4X;~cWy3YC~Pr%;bl5V-lIkezP@&fE>C;V9a+$L zxWbUC;j%IGEQ(jxyYrelL0eQzOw2mtucX1yTa%ZlPV@-usn)2AAY6^&(k726xS)hs zaL&_;h1jcalBsO~;@)g_&XY>5F#?RuweDATx5YxIL=0-Sv~LQsx>p$Pt9e z4T_#`n+s1Og&-qvrz_JfzS+437^>HUY8y0Jwu8>jE_aX@#MmRfu(66E1eICe}>3dZ_rxn(*#h@J2XX1XZ;72g{`f} z>n9)I283rMCnKX_Q#SX3m4tnelzilTa~)IW419e*f8qf-x_I1hw>Xg0QhOE6W0~A} zot^!H;BeW|kZuXb?{r6Wyt}hA%t$qlWbPx)rr(>tVBqOf#-Fg6h7fL(T*kr483K~% z$<9B$;%|pgcz9n5)^aiM6REnw1JJTI;x5{r$%Ou}hi3F^GzY%h)9U;q#?40Y~I(ersLJ=7CeBvasf)c}h|4t`H^P_L)I?uK9Dm7tG3^KRD zZR(9k*++nVOu-P>XY2S~&Rt4cha#etmCtX^)Di#o4-T5Pl{rAl;9Mm2fUJhBdqZp3 zTPEjAg2~BA9@mBBi5F}DWO@LBFmgq9GDaLdRrTf1T451x-mWYaEq_@=gh@+4DeTaX zfQTq1J$*H86aG<_Dn=^|Pa79deQFtfL1rVTLe^)yNXn0La>A~fEY~)NLXg)MhW05) z!E|lUlxkpT-;N$e!A{E+3^P(ZTd$teGcgI<*l@bc-4R*aOsCkf*g?<&{PZ7J;8zRZkwqm-oA z2Vgl=L)^CGUR~F&$vk~JD-MLC3*3%)&b35pmCQBO<~O86a(j(pI=0kFcl6`LD**w7 z`5+^7bMJQi#`1IqHdF7cx_zivpe}4Jh2b(=L}6xjJ<6@253-+Hy)m~4KD|jxsEH*5 zxw**L*w{tgzBz_+%F54%1sS@!MOQaAH_KyY$v%AeptRrQloh$gu=QyF%pxm4E3``e zuTnWAux1E^&Ge54Z1Ac>wV=m@Azd$CMx4^xuNoeL*N8n5j}tZqvDC_ z*vNseZ?LG55ea*V)sLU2IHz0+4`I@nK3Pv`Ga83)M44;O9sl$!2?|mgPDfnva|0nn zyPlFUO?i|qvwY7^N;M0VgX=V_H&oe4HfmltRmM4aLF1Z{Oe#|Z zK;cL6SR&JYh;u7Fw!VjYf8pE@-!}k1FEunW(g*dCU~7`FYqDyE*+X+x6A|1gLqK6h?5fNRb{TVW%<6ARTC&xq4uV6pbf>G+f z)jWIF_DT|=HNKbTdNfnt^YP{w-eqQai22|i^6}A0bJ9`<62!eJNe6}e57@g5G|2B= zmFBjrnojne>9Up|?#`hxw>YoWUARS!c%+`u-cr&v;!-|td9_NGfJf>Q343MzQD`=S zL7%pLeQnFjZN6ILxoi6)>)=pnwMy~Io*3-WrtVI7 z1;aa9?K8EG)d!dfDcC23vTLLs^al=wdBU|yjvmk) zW;f?uT}?_!B=BbDh>~0-CWg9-1E5XZ#PehypS-g3*qq?gaw#_&s)PDkO=KhOSkHyNv&r8L{6~VzmO^sJpR`w|p3&pLtm^~Ci2;t%J z6}$Qz&nr_92F(2B)m5(N1yUgDWS%^33%Z|d)X^bW0BJLOOC8%GRISu}PlK8pw?-wZ zCEJ)NHFXp|P>pX%MB|NxH>qGW8IaU*d6}1@Lhcy#Uc&{6QvXYG?7P3!xBkfmNJHIy zCZH8@umyj_hw1Ge$w@4hN0)?=>t0WJ#6!mdeVeqOR)c%>A_;;Px;`@JDonrJSF$~X zs-aOws;($5js|ru{rD6_<7Dkp~jyp{T zj{R0}=eLt4Oh_dmP9QhHPJRLQz<+RjwBwcHnh3&&bhIh4X{gCdnqfXGWC?FI)B#oF z-JCBeg#OIftL6BR4MBq_sUFc$;3pKI8Z0v?{crn!3VNE#J_3a%}vxbsZ)y_#P@hTv!J|r&2liH_A9NJ z_Y2%}s>SDPw)CUhn!m23%Wc{ic?u}{E#N)ZYJJ}{*U7vU5nA%FsR zgiOWt($=xPl7ziG^Zu@;Yy#EhX%Nd(aZB`f^z=>#HKtpa;XL(w21TxWGUOeMj!aL8 z!^3ChSjxxXQL)Uxr{k-QiISzLt{$X$M%lbdQBw%(U?zA)cmvN&KV8HtDL;+wJd*w_ zB$YN>;96T5y|%K@Rq+tg7<)3)mV*>WPIChAl7+y&C>A~ddD?&chlb{&6_HSRd_`Kk zv6q-atMq&Mwr7vf09vpg$A9Qm=>mr$JQdEfK)_X%AANp`^T0kQU0y*!=gwW|S^m~^ z4YxNY*$Z|dYIZyh{k~?<(;=E&`vhzj$Hl|**x=AVq$Q%@{Pxu01dl0aWn-gh+WUm8 zURb5tkf_Vo_kqc|8ONEXeejzlN_(wDdVD9Xx{=U-P| zkn=i7E%O3kaJ;d^a8`~`amy3ETQe_lXU)eZ>;Ez#rFPWacg*MAc= zl$}C(+y2016*PiT#BasMj=nOqi^XffKbP7u)rgA@dCI3(h+0+F)Dt7$q*mU845Ukw z@z@YiBz)>Guwz*-H}A+jnx1XxseY~gb}-&i<657KgL5@3=~=elH;dZTE`}HT1Mt^$Q8w6qGT z72;}YuhKunVv&&<+dDYC)zpLn%6#zXQOnI0wta@T!v85^S{6*60HfFjMXGd9yHdF!%Lf-8-E<$5PCsgp_5+`Rdno!)3V zoCo_Wk(y5!88HCnk6X)EtMUgU+%9Au^9dj zAEz!qH=DuGOTTg8PJkAaR6XA|&5fcWc|*0ZKKg4KMQ28}1()!%;(IQBI&4j+8w!)W z>SR!~<*9&#u+c_9Y^>ZI*&~21LvNI9VWDmU4Zm>$8m-We`3_3RGwudokEo6(!`1SNf7u?<>?u zfWGknPqprnEP9OWdg=)+&`~Wu*e#1~0fna1GSuCKgoKB)(S#kXt@kt;m8s=weCdJj zqsmG@;2sY|Yp(uAsqWIaXp5ADMEgocwa8+DI`ok(q|)`yeZuX2Y*jQ#xhdTLL;N|u z-otyyPF2?E?Q>P0hxea-l9ZIRJY3EaJ6iytIE0Aht2M7+F*(}NTJK|Y3y51%5>>g$ z4KCDapK1>$1{CuuLJIN*UOyCW?gRJ>gnRsLtDkT1(lUpYU8tF%sOFpo03!Pe^y$*} zWcPD_7E&Br7cG`x7wwEYOBD|-6PU4#0*7!E=ZX69?n++`HX1)!B_Hp+nTa}fC_u%j zsRG{>WhPzEUgoAFOHcxG@9)6xPY`I?MG;3Z3y|ZXN!%2e#|I1BS+#%O`)wvsy%2fv zNH8iynykSyAwgs5QGm9wu_waC*CX}qjCbgzhK5G%JK;ONZv^lD{CQhi?#_{X)(XkQ3u_DEINK!=w!+^V%C{Y=H`oPZKQjoud|)GP*}<;u4-zk1aML7#K$g0y7Zm= znfK0pSVMK=H%@i?OVy8~4tI%p_@`Q4H=yv@jQG?9(CB|434zwD-&dsb(JzxG409D` z%S1y9omw9>Z|X0=zP&zr5=<^IX2{;<0K7a=Y`T23GBFR-)zwie4o7Kl9}qxU!5zkW8yEDA@ zXYd0cA;m2$SU-LGbU;so!aF&+{(BAyFneJ|g%7Yff$Vknd$;8*fWTOxAwVlv%ExAI z>;F&)bTFq6{#{%AHgj7{BBfZYG#48&sR;Xu3qZr4nL2L5k}0N3kIIn4JU#y&K>T?T zf=vF;X*ks4+4epOr5KlH^n|E92$BZJMf%p?M!Xc6LvKrgp#AHHIB(@C|8oM;dayv2 z_?%b78zd~m_IM+E|)ijM)6z(nO06?M;`uJgbX9d`j-Te9-< z_b@T}C~$`GKzS4k7Pio6m(%TNJk{Y#d3kx(JL9q$qb~=4jL>` zR9!C7AzEf;!8@wuuYpAVllMvbE}qxZ_3jEA^yO*tfE{TW8fI?Omc8%z5Ql?qX1zIq z3xv4+={CtdWcQycVj6mbY-|%Z9Z($PC=M%HwYd0j_|v~6lAKK6nDkUJUtO2d0JtW& zn6dJinctg)etp5n*qTu1hy(#RuhM$uA#MFx!cWy_u^elC+T#fV5C~|C!g#UGQDs{5 z`!^)x_QEH6cWEoY=oekf$cVhz)e{jyG;FAtiUS{HKE(N|aK#52Hbec-GqdUcWa6a? zIr-KM4#vUU-@JMMHR$WG;qd*K+*;fz6_xiU(pxqxY`6gXK-^AurnGP4cnM~n-f%m`+^-vT+d5O9;TIq>i$M`qAfPfv4KW0r@F z$ba|pp`qm>tb)PlT@LSgi-{FhlnBe%*&Q#!m;g_(t=yc!Du@Wk1Ap7iYNtm!AD}wb z*2Rvb-=JYHnk(oGI)L%&)nh|IKpl5$JU6tG3Ff4L4Hak>hr0GiCBAYX00wI1w;fV5 zukTNom@pA8oZxV;HHGMP^yaSP?o&=%9=-DDuGDbeTRdoe=0_ufXfqQe+ zUQrWDU)Gj^{D7v@(t>633W+2#501#)HgRg)G(BiDNK6VTC}_1+ue3&QxIP7G>@qUg zHLf?0V`5@@jv98RysU_rA&^-TenL4~X}rn%S56$?S|9Wz@Ztk0R%B^e`54c`(a*25 ztII>f2MaONz(sF=viZzLFB>G3%%DFK?%bKKyqiaQ`0$~Yi3x_IqvN?ftO>waWOoRZ zS>=0Rj})Y_9$u4FP{1;Jy7C6RJRj|SkSZimX@?C+W8kBrL7%Ds9KNtVKd}5&0(4!f z#HS1f9TNZnQn3g@?_XZ7kCic~sjDxnZ3O@uOR_8vxF1B|bpf53^fQuDB7kOr_|r1^ za?fWMzOb=?#I2~9rhvil{CQKaY6T7@W$^OVnXI}T3cjxH#Kc5n3!EZ>l2ZC>;;T6! zNM>%Xh>|@|GYw5>OpO2bw#mB9dLwyk-75jIn>$7Z(e0Y5jtJ^LUcgowW(4zwZ&1Cw z_OU@e+xpg4%V--a7^Wv0=G#x-*dg=!7KJk?z7D%(^+@iP@5VKUcqBvAFX$BC2k7V9l2LUq2iE*p2dCltEo9}o~4754pzh^2X~ z{l1lc@7HgIZ+?Q{SR9}!Ae85OSe`#eFssheqQ&*{I}GO=o1Qp93V@OEDimd9-GyCm zyzctqaACVfM$bWNg5|-`vk4_t-GgSY!qU>PX=5XF|Lfdht8e>DV|j@6GjOr$8ck16 z)9&btm#BA5knqO*7DDK#3tkAjBL zc<_r336i9(9dw^3Sywl@BNz)y$CC_1dM8TEp&n+l%RMX%48r>Qw9Pcs7U!L~Qt_`y z%+aC!l(Nu81mfmH0x7#-`-9QRSI9)KcNvCc`L+N57bTH3@>2efi^umA68 z0KByX!dXy5WG{3mG)LA{=SO?9(Ql`O9o=S@YYAkZTr-u!{K`I+bzh|S*?d2nA zU*g>Q84D-pV+7~=y?aO9A08Gqf9r|HW3@{j7av!sHTx=xVVzq2r(5Ie?aL)>5Vx~h zB_blCdCp6+#-ip{@(Z8PW&cgeyQr0$Tcp=gCX6m~C1@M{IS)s3?lgSFMYQ&AZ-|A= z$lF86=*9zVMYmNcI~0t0))3H^2|;jF73LfvXxOCp^41;;)jFIs7u47yL6|k_1MS*_ zO^=&Z6cE~SV+R5O&>dvh1&Nc8(6g|heT<}Au28S}ou40^RM0TH&IQ%`qIEQu7dL+& zGFzhsN@+~g+Ashi9Ss92u&}J?4N!-nq0xT8NrD9Vxi{C5ZC>A0%u?@G6B{d45Sf>q z{ZO^sRMKqN~_ZY_Btqsr4$GY#N{FE^d*n@k7} z#saciSXJ^7iL!D}NZS=QrPf7PxYE^51%j<1uS=xKYK8P3mY6lyIX*zgM1=s~OKaop zP4wEAEc?Zo6tv?6&Bi%rmo*}YiK)qa$EEv(hGL|hv#6_rs_W&uru2tRiaT-5lIAG z!qqVRl609hd2*x7g%Afp0L_$YTm&cu?`FW3H7`^kbj6I6N$~LS5Gor48n$njut92D zpu>@LAJ^r{PPdxLOf3xGO21EppY6@}#YG(;7eS`fD}lChO_d8&R0PudE-nJe%xNBK zYerU{oQ$*jC}BuHwF75hYY?}5ht6d(^%M^$M~EdIpcwFo84Rp;knIy?^+ghqkvHaY zMgeTeXqcF{_xe;B191L(gT7H9XAC)W>*9o!28AJl*$Xs_Yu!n>zA{fAmlY64Ln9_8 zo=2pi$w)vxo{^YMl%fMAgbPY5G}hz+p{`V7Mv)K^!G5%DVyX?$An(`hLM99oYlef@&ks`u(!Dl}a&QP3~^ zmoILSZ05$Lg{~XrYmgzpyAu@~om5&%02l|z*?SOjAsAkCbToo*tKu36ip*h@s$GKr zCUvT}Nk4w6l~#mcA63d_eAwR_Mtj3;o?KZ;46;_@)>bw&bf`f!DYm7Xv%v;Up>=_V zN}_V$9ZeiqhSQ;$JfjHr!GS!XdC7KILT zR9R^$E4T^UZ%v`qW@(_3E^eK-;SErL+rfLbf`a0{d)#Iwr4&IIM*~!}#7P+$J{MN2 zjUCgm=vp8O@Py~-J&+Oi8ss)3dwR@oEV#eXaS6MQMMWY&*8|~6ie8}hUcP{1)Vz0487Co=ns0tCB?mah z<9PcDi~Q9Ch;N{OGpI7gs)8QQzv)TV_u&IEyFIIvv~*H>dONzw)YL@d&=4MIM+T&Y zI6#H398QtdJaZm;o%E=!x_A$ zN*~~!)YNpHId>E(lHHu~0^J@}bH5#4o8@)cKGcbG%ccGHLhbd5A{w{q-4j{6y~V~P z;kfakPaxs8a3v!V3^_XM`D#y08_6mtR28(}DX~3Uf(9%L(5|EdbfGMCSb1M$m%k?_ zZpGX;=d^@b%V9>2p(Jc}czC$Kw$M^}P&>YG8qcq7tc&t!%nk_x+CUebAZ{$iA|oRe z&4UZCw$Y8i1!@5_IdHky;ReElil3j%HBm5#w?zNXg8Emrf!^4-aelp_r-8(RanB_g z2_7O;b|OGmU`p-J*Ku$8Y%w0K_AbE_0MPi&%yR`)t(03*Mh*XLB40SVH;T>P(Mpb@ z<^22`P@RXGo`<--z1`k*b40(E!+*NsRS1(_q7|^hGYQ|bPrb$a^>hEpGt}2`bv;!w zvc9A3T3pN;_3r8H#|*3hv(bWmo&eSD@4(3zBA9d?BIG|SF1Z@?zb}&p*;FQK6<9Rl zfe3A6lAE_MP{(f&4U8q8JEvTMkC808=L1P`HA4W)02@K+b|n(5HR{K4QQNuO8}dstuM`L}HXhFwZ;oMVGHEjZ3=jb^*k80#S{@F-5IhI@u1h8zjg4-@ zD89}WrAfYPcIxic{<1NjmPbOp!Fws>DSA+c(r1jq`sN;ott0g10ySmavin$TCoCHg({YH=uTp`o~h&gWDdrODvv z9oIS7ENL%tuQ&ls3pfA|HaehI9%QfK21`pTURAkPTcca!vIn(_Zq$z>!?d`K=_foc zjt=@Jih3MB&(-gqp2p4a60xW+9$RPA?VZWc6X^8M)=6QbD-sbg-dtOKa09blX6!SV zBBs6If!b5sAd@KO5w%zGlAz2S235^lhy!UjA~ql0QoIT~YOpC^N<8g%iw$^me0&TU z!PEn7!(}D-#e&Gu0rW2FR|VdVoxzmo4ba{rAdtljrXza*ChcFvpQJ* zgAa0?p93YwX4L#$>=%hcakb*y0}PSJIWsJ(JPhZ9psVomMe*UcIGty4&aRvCAKZRP zKf%!&=?v{TwsCb0T`+LIJl3XMyngQkf&7yTfOZe{z?KD6`+m#H5H&9OLA}ieh-lY7 z@}eqEkeW0YIa=?74LxM;FpC8)+l=JT!oZA)+q0Jhmhe(s1+8=x#EOHXsM`+croAFO z{JWz$S5OlUN0}LjPV{nPz-e8remY0bjDYjHxn_@j7&soNr$J1q^}5Q6&2?9;CxH!x z56@e+s`&OSEHaWth(%@_jDhBf8;QgE=As7`-uoi34wl|_MUJAQzs{~AqrzG-8X#^Y zdkrj>zMBAH@zxRbNx<+uLXuDOe03$G*T{i8CEE*`oC!eSK)JGJVAF=`m6nyU*$+I? zSCJ)ZqDVlKeX4y%`y7Dz_g}MHS89M+9z%mjc8`MwfOK`!QVIb5Ej9-|qw}FwbMhbz z7k4%saw6;(QXWC*q%8dX{M)mc2N+){vB}s|2V0}I$D1O*7jPP7^>?+kiI(3#)S3&* z%gz_mSBRL<>+R{WSe}2gDl^36D0*;k8j=0>hh8MJh0|G=&)~d?8o3s=zIvxxE7FPKg z-l4d6oun_$A7R_i`BxPvCF%2k4n9F&UV@HZ=bPTcI-)#~c0>;gq(boo!{YZl2G-Gu zX;Gp1VgA><{XeyX+TaTg&tHOJKJ92 zmpYu?-E~5&8mC`(6%#{OGeOVU*49or2!kN2d!8E1Y>}528+ynrYCmm;{Iz0f#WRR~ z4WXLdah2M$aejVLAOio&m92xr?T626rbz+Jh* zA=<&>@OZ=|YjAKd&a#*X-_%3v58A8~z8SLh7=CGLHk<5u(bUZ7Q47Ac$as)Lx7_wV zH*z`J*utXI{*33=t*P;-g8cmZQ@f{<@Oah~0&AH+;|fYXEf(85*cw+e0-lnp3O(WjdotM4GJ zHd+rL94@pm$-QiekQP-V`jnAl?5;g`cK$?D)4GK1K2M^{ni2ilX2=gzeyfRcR5uzG zdQP-IrOta0ApvR@tH0l)O2tp=S4a0(W5vxs4ZrXT`POQA^7`ShLxV$WU(VMI4o4wLYEF$)R4ITOyMsP z>A#kSN_fa`g$2ETv15A!Srg&2=$MVWx7mG}zi6;990PK`>;US*xZT?YKq7jdod^W; zHb8!Vskt|A92@HxwYVo@PC;|9@@l@}^9u>alE$rEz?3Y8e+E-ufgyg+XH|v0$RGje zKdAiQW}x6)u5RAwDEr5~G(;Map9!8PMAI$weC`gd`X(-ER<^F=-4dX`Ve zG|X$M{Sm)_p1yt;HSu^XK;C|nWev-Ny^oZh>h+CWrZa7--g-Uk|AfrJ3X`6mKF&q? zr|B=`c<1}aE2`JlZtp^51{v7rSZDpgTf4=dDBo~$0(W8rE-K zT`*>0x`p?cO-&x?7!sF7qGFXdYaEkXPWiWZVmMmvD;wi#jkIW)+}MZwsL$tRyijMN ztMi_9sS6kl&-~&t(Z6~6f7o$zR0yROp9#Da%+8dN-SM~pTPZsBMyZ?sKwZ&>!vAxT z)qO^t9G5PjDf?_+1%+V3nPWE18XYrmR@@b}#^yi?p^~E8+kL!lN%tADltWr$PCpWh zl^K~(Pc|8$ycDZFYew31_QmX{REm{9R}+9)VV41^>oi1}84u%p=yghLIp)?zDq>K9 z?r)UEM^j{RZ`R0bIS9czlD>77e?D`6Z%^cj1r5I;eZx$9Mtf>Sm4r%CM3E;*w$S;+ z;kHS}-nU>7qbt7FdDMXK>5!E4*C!F_oj6d+mrZ6X2a&ZZ=6rzY-4}J--jWCFB{~nS zu@IxeRHOal7cKD4V6CB$EY@6cFnJhVgVdPQ%-Z4lJa###k` zSk&*UnV_fGeRA#96)Y?))u^}u`SvBucaAOJk4|R4)IhuV@mGJ(DIS6gyX_})9f(&NT*vRl+(9!!<{*zVtl7om5GL$!XKo@FFTLmV1OG3u}0bvc!cSTiTUo$pEK)Di5 zsej;nrue@t4`9uhB0@u^y02J2(D5P6TIH+jA_TGUQ_J<74>QJGLBFJcsVf@~+k~vx zt+F!K{Gf;4=F_LhxC(wmtX$|rQ_Gh)Z~i9cTqH_xJ}HQWn$@C?{oP#?27^zjF%OL& zkpUbR{&uWn_OvOqvg2p8K34l_-izxbc!j28LT>x}Lx(G?1)}N1M^v=5cAw_9S$keM zRzShVo4wsX7V7d(NXK<`V>kAJTnjR;LQdv&hZ0w4ngCb;^Pv2zJ8x}GKE}uqw}zC& z>qC$F%hCP@*_^XmSSJz{Zu3`io>9Jao9i7*VFxVgpHIhz+<2%ZgqQ;kY z4`=2(RQlv30X2ng%#trhLHQR~kqCMw)h_SauS~iw`ma?JaM{_P{;;6-Kvu=0y38-C z-Qz0c0J&V)3jF~b%Q!p?%EHTYMbzwrK`OpYDy z)`nKKAX+gBX9J7c_2E9~g;muem1B59B@X%+B^$#N#YA_%(VzdNTWd@ONOjnA%Byi# z7L9ejoqYd`R%nZ;;KSkx?f_w#p|;nd37&Y4A|h0bLkOqQr7TX#V#<*oqBTs?8;46amM_90`f~hfbsCI%$$CJ7zwbb z21lf4xBd1IyjuL9!|j0&xuN*b3%Xh5qRA;6XvT%W3| zd)-+bnzghSTy#^{(FxrO!pl3^5L+03YxX7-x)%64#)GC1z$?v{$DL(%BGy}9TgwW; zWmg=m)gd$01Xim~y2O~rXnSg;b`Rk)zc--(p;HBbubGizvsO^rEko!Bb>||^E{OBV z$2)%^OX<&0G0Nc4EAx3P<`6WOkd>W%4~7il=-|>rr$(UF?y9M=LC^}o72qa@0kQrH za#Mj^I&#%kK*FJc(BGTGb)Bwujd*~aDxPTl9ImEtw`gy zC%)TH9S2NPfT20sT}WAKBhQH6n`Tk4-aE7@6%kAG1ssc#;yQrSsvbVhb_=|wOEfeR zudi-MIeC2;E71TtBH81d+Lf5j3-ZsOf_Fg1G*YcGdIv%h|LEvza2OjD zwS>Z1eD$3JS26G0dGC6%ey!jjC9hlQn%?c(g@)&D78gfmh1XZz6pD1go&yY#^;KX75+sg5z zF64P}CZ$O~8<2M;FV6E}LjV#0+)VvKz7BxtxIomRb#CM1x?Q}OAf7-gKkQ%M2sQ%v zb?stTtxNpL5{INiCsiZc4PKMO)$YsJ62)Yp@x(GQBR}Qz&F1Dms*grAVfYVUY#ZlI z6k?2wjG!@BE%#kQK)6>o4DtORC@RnHt?>#Ax3q*_yQd?gdJW(_l`p&)fe~~Vh*S4t z!L9@ee88xosuTmBFDN{CI&XJ7^?t%vgDN;uZAxAmLH?l%$fMQs^UnJMVnIgc=D}cZ zZi=w6Ti;YmQwWoBa1i2_WVCc-VL}LFVj5bR;X=oVo0MwqZKepPw^P#Z=>-BDU3c6r zyvlcnGD9g%`WOCW<>xo8_o$B(5&Hj%qUh}GRM*!J_j5&wT*OyaRRWsW__B&8WV|Fb zg6mnAs3*Nd`)T*_J_^|zpQ%6y!Q`NVgveE|L;*DY{4yhh|81b&`gM^Ta>l3^=3!Kl zbarOl0Wj&%nSq3X)H}YeE@2A&Z=fMD`swwP0M{r4brGM-z^#{Pv>zy068qhoi#}yg zm~`ke-+ptR=VPO^0VAh&UhP(jY@9O$<-jHQcuFHSiK}a zGSEtsFDBTzfN_TxyL1T~Xb`C9K$CoAfgH=rE5^+~%@dq~_=3(LeudcOw!+^!Vd(*L zUfyWz{7M5roA!POzPb;nwO;iY%PXJ9}{bJsA z$-12WJY(+)nJLAaQX!-fmGcPXj*YFr%(0>g?2&o{XmbsAdXK z)R5)x;}v@}u@s@5_Q;X8MlfC&53Cf1mdpYGo+b>tTr zkC}yUQRqwS?&iMzr#;I0g?sX+__(cS&;QY1J958#nB2wgngp}~Ee1v@`L*Ut!oY8B zpMPdQ-0~&9ae(t-=tR4_WsDXEqlusju@az!Gf^1~##hzL2so4J{s^gPouelJaP+oB z=Om%of?EvxQy+?Vc5HR4U83SPknfqiWl(XwB)`ZrMN2TK>$HJBye@GRACTA=S`b>&Bv~R zprL+hNM9D1yHpe75AiX9K$^x<(WV8au>iyE18#a?fF^>Ch*5|jBO{~K33AH3bl_q$ z$)uGZEts+5BPXk%D#{0}ASo?vD3HouK{fVzWd+1pK2?eI&}jp>shdw+1Bq#I%*@OV zk)_@h-4PTZ#fy#mQa{pmxys$G2eNKhtG{ZYGXhL-P4Xg=YM{n5G7#&T{l@!(n&T^= za)X601E3J}kbr7l3>I10;gONLVl%b9ojo~7AHPjn8c0dK%<2QZLi%xa3BbI^hqi5G zXl2Y+zD{ZKC!cyBOez}cx*}IcKz5cJl3dS zGN2sFxGBbf`L;M6U}Zzt7@;ACJK|FBtu`k?*ySzFR9l!L+ncUTiFnm(7XS(xfa`-{ zrtzxmaM2W-kvtBtV_*A!bCugKW16wC9Ug3OJ@I;wv}qs#|FRe@!~lne7x7*Wl*SN- z^yq6-{-ZjwxmTcHHTP&Fj};wh=VmV^D3aftTJFzu+L^oD97eBPB@9(5tgIlbRS&jM zj=D47Zt2qwXCbqZ+sE;nlbKnpbr^yatTS;Dq+pg>>cJ$;@e;16nHm8zXq_tj)@6Ak z<0haT-7(yz84(P3ZxjjgT$j81gF%PqL^Kc(7+NmEqdhuJ!NJld=oj;CFefXkcAr)l zn2C6!7*mgDg@Gc}R8;ELz9ga_=Z9S={!#P1fV4DqXP5$8GhIjgI!`3@&dKmmfS6sU zG9)|?B2CcfedC~|wmlKrEseQyL!DJF?y9>*_6quzK{LIBOd95ZcO;P6tzEM9BWcQo zo3_^qyzJrvzD9Y(jBr?f)MfFnn(X|D%-c( zZfQJ&EXS-XarVWEuz3cc1}dxx+=srkW(Tb9RF8!Zj8=s*?l0UC?9R=Li77lKMbV`pQ3$9hWaAo!mUywL;jG znw5nIWNGK=!sj_wzXxn^pWLCmdm0*~W**?dd4Z_?Jdl&o-{0Q=G*Z#K69B(7nLk+HFcfLvqH+@7+IG6iC{4m})$=P8 z6Eg>gt#9hB!zC7NhI?h0etx)kH$rr$@jh~T(|xe`vAEW0KeQRKl6L$hE-_K!<-zU( zg#%R6R+ML!m#>Ts4yFX4`}d%mYNe&uW4;gUN{%QpX_+}dUNCG{o^T@!*UR5kk4@6y zuGL6&iJaLB3JVk4^9OUNibmwW=CBJ2%DUjIy+>gtql^#5%0bY$I^tLu!H;o#DNQXTSEE23ww_^ouW(?W#ZwR19@ue=7)wUN_ z2A$pwa#S81uRg7C;JVG;%kLq6Fm6J;Rl|^LceR=Qn>~P|$JA(uN`> z!;A~wQrkOX2eP1lKLLrOFU}0vQf|40T!Dj#(4QybI3oZ3G;0Q)Snl5sMFa*B^S_@Q zCjx6|(~ACRG?{q${`cD)3|Msk{j%mZ)fDt^Mt@R6S`fJZ{__91^#7LuX{%F3?CY6n z4;iv~A1j*3Ho$Z-Z^tsN&_+wZaBBurO=U@2R1z{CTm8XN@DS$?YG-p2FFL&rW3N<; zQ1CaL4WnAao3*(o$eUmiW=af`L1;=~O<-eDtMPeya(D`UB0}|w6@EYEJx2KT5JC}- zW@~)=tx_hMyLT(f10IgZ!i}Q5;b%c%A}jf?iS4&ynP|S`RIQPtT%N zBU#hrJiGZVbB>U>YH(1{t6PR%CP9YtAKKHO?~q}6$VK_L+(zGD2uCCUp@o+{&QX=3 z(Pqv@v*C0~MoQXiXyj$`p@{jxSvJ|OHfu&)(5Vw0Ir@9J4oMN_1FV!!JI`3tqk?v3 zx8ZP8Ijk^@@O$+kjD+8mTCJi!$TP3dGYrA^f*+`+s4nGg^%_#OA6eeY3=29AXc0!= z`6`YG4i%@1oQL?$pd7{sJD3t0JQxiot*uvue8gn%2uJAGJ%cM_)Q8X$QpmFN5T*b8 zXTfWj!g7B_MRUd5Kji}sGtE=+4S35eDZW}h#M2ZOX68pusyARr&g&7ly}Wl~!w7_| z|JfZ`<5W{iW)`jR1V`KB575{52G?O^!AnC8-F@I|QVq`sL=KoaBkC5dru@{EyBig+ z-o9;ulcau@`~sl_Mw)y?^O8nd;p|UyDn8>zL$=7Epd4K@ZAuzi8XPfdxTNNNcxjw( zpV4+9Pq&P$JO8P7S6A1tGkNeOI9HLeGf9H>q&q20ljDvTdwL!3hp_i4WP7VCD>9CE z_4*tmgD=TPFz78@ML!LxhC%Q~(oecIxvObxLlVP^OHnC(A9RXe5?(u-=W$w|k8wSl zfI`LD0e}1=Wc5isuaofOJG7S2M}WcklILlEveNO!+Sx$^v@O$yOA@NB)qyF|q<$T_ z@0;kCT8OI<#s84p({=0Kxcg=mD~}1NWlF)A@u9x@ZZR61^V2*fO_!wNs3T;ix$6{< zwoXyxSaeTrC92LkI*xm1COc=`?r?QDvb8u~Vo9+3`)t_bWWD1@=PgVX(SDdxxRm6X5@68rXA;o zXvqJU7JwJZ^6FHzdO2*8VY!nMzN@^S&PcEj^}1hhdv(mRp}$*F=fG4gksljbwI%bO zPV~oG$N3nNp)pGP94}7grbCiRxF`+sWYRHkfGJCO!d}4RWNd5#1x-RUn-1)kHxVs{ z^ppiv=XW>CQ2Ke$;j6W~W+$CzI*TQuv*LXT(t{RRbGp;oeN!dYYc@jS8n`!uzliai zCk4}~q1^SjjBZq7-If*WA-Uhnuk>d;@+C&EjU!=F`|fpO;ublro8 znPYPG@9*P9CS}p+E4ebJUQ={@)^}%(zQ97 zkF7#_-2Zbid9pbxT!IYGbJ(w-i@yELN13OplXCpQ&Bzqa{s{4%Ti;7(0(l=6=dEV0 z?APHkPOT(ghzpf!5W!*AEmoE_^c~5r-z_?H!6$Y}o+PMSrxo=gN!(_`gl#s;7L9fn zxZIx`KuycR-Dji{=>#m(uE`HHwE`QJ#uv~0OA62{zl^t5E!7Fnk?i-sSjYBSlH(bGjO3{BeAJEo}OcdLJ=!^JjkIqL<>VQTB` zv(PzBVZ;iU5qTWSW;NZR6|n3db>aDx>;p2prJ66VAsX4c7r1S5lR$Zu~%LD zSxn`v=+9)K=P1w6B&jGRql+^X#Dnmj!|?FiaPl|h{=`Mqg$JEeErw~?6Vs6&nOoZ} zj1`+a)rYRJ!dBl;JX+`-8=>!Lfalq22RaBrOl?$bPM@u4e*S&nfZAU+IO8}-7QmH8 zCZ+Pf*{qt#%(58&c^O$gg^8$bi5Euk{c0E6tn_77jxOD-IrvpDQ=EME{={Q#xae>} zxVsL{sNG&l3&qGXnR#Py^13aeAW_0qsxwJXSM7Vs9P)f!^K`5x@$PWjEyeT=v?2e; zfAQ1iaSrm->|D`z-XDb7J1uPBZ6{L4gEJOL6|T}x4gY>ioAmU@CAMVyM~dcyTm~C@ z`n5Y{tMI+E>~40_OGHBE+#_jyKeBGcwrNGpelVNz2kWB>h}r;MB$LW>vWfx zX9OHQFje4rMyr+g)O&wb*s$-L;;`q1s0d6tpZjrFifP`{B22TSBQOR~f6O*9)Gbvr zK14WC^lnv4e7lkCw!t~wq}wjx&k{%U|BaP&H=}dg5_j8)OkNxE<_sjS8mkegeI@#A zbp4ThoF(7kqLjg2mDItoiOeqE^{tU^k7h#a7vL;*+H*w?r<_^yci#(i)wf4+Vju*} zx*F*nPq_uVV`@$ro#vyo5r~UzMuR%x8fT(Oca((qUXSe4YB$lp-}M4BGWdqAYDPr1 z8_9X!{GG%e8jCSO+s#0R73{k;=llIOf1jB(f6py0#)mD4m*i&44jn;!U+@R(ImCIh zM2KT5(7(IN;BiQ*>v05K)X?_U;Nn=iX2aL`po}H5ZR%)Idn(Q>sR?#-5PGNvvNU4( zO|L9;N#H5a*<5OlV5B^85ByBVQ?*BizP!HEGJ@B%B*W` zcpeU8{9cXPthw+|#2}hD-e;V#@^mH9*4>sxKE4BnehXIpY=q}2dG&50e!GkRA^M4l zJ)KyE-j2@2Z{+QwCmVX`YU{czr>DHln54}ne2|N}$`SKtbh{6L$Y|5=`s-no{Kk!V zD)B;Gw$*UBUmNOty#&cETHC7wWcAaZOP)6SgHpR;iT!{72B0Qg8Q~DX`t%qNMz&-+ z#!K|ACew+IlXd=-`hIuboX^LfgKIGc1LCxlqEL9UQL+CzZhjcI$q8UFoB1fI`cR(g zx%f%A6xu3`m?bwAc)HVam(3Z|InR+6bu6!~HNqP`M$dNjGT7<{Fy%o}oZ2%P@s`cY znVy7Z3ERo;9Agm21mWO=gJnuoHJL|V=nqt8YhH2fP6#%CoEeaje44Fhv^^VPGTR)s zQHpIN2~M{Xb$&8z-a@ae>gebwEMze}Rm~{n;kH&;XV{$akTI%Kzh&W%jy0S;*yNGa zF~2p-cyY<3MQC=bp^CE!?eIWZjDdjH-*I2eN(*mn{g{S81WYr|EJSJR*Bvc-c2KIs z3783iBz5~Q097z97+-P1#V<~Gx5tp@IOJ@qYh&_6b|7+hFp#Qn6AhO8TLwjwx zMUQt%JqIB7ih|6C@z>fF!l4w}2##djh!ok|+%Iw6C@Yx~2is}VnN*d$DQrzJS5#=) zaV^1d^5|)arQVu&x8%v~r1km8%;R$6kZqWR8Cs-B3+1IRg67N_590$MUn|Fmhw#j8 z)0Gk|#LKnfZpoDS2khGojOTc8XskmfD8vmHI;(o1IqYJx!SwmHnxj8fMpQUm;=AuZ z_37qJZ)Lp(tF_`uV6ExxIO&Y5M_ST+TV&-{XS^6CaLHK(xw7u=643F(L}68GW~;%b zaXJuI^u~szy~Ded;$re#?Sf`{&qLW)=fX(0Vl|9#`@8F|$yOh#42Acz*0}~*V|3pi z?Jk<^Eolt@G$#iKs6TGglDM&0b2|S^Wa+E#_}==D4(`&qPn&4vZ}TAox$B5&Of!+8 z^T~RR9W5!S^-Ir>SI0M|qD`lHJj)oh^^aH(wasDi)3O9mV6qmlZ&|HwLGgPjv-A*BbwQoNlMW-xk1Q%*I3SE(pe#lW*$f6u9#TI zk8|UPUj#{!$A6EYX|vGE>gqqk4ePVcBtim58XGT$%k_%EVZC|ECed7xHF%w4A6i^` zdnR!3v|u#v+LqD5aku`omZg^q4rZ=NDHt5w7LSa8FIl1siV0_H&i)ofVV%sR9Kl^6^2%_%L=ndK3i@zCHD6KS-)bPoMmD)9Au%s{ zGvwX+uc4X32BL=6k1QWmZt|J7U)8nmy^wvhdYzm?kgCzojKS~EP5Am`BqkE&f=jnFK^impS>HIem%-w}Q`-IXbodVs) zaG4a-eEqYG%`?hs>o2t92+hs1;_icHiuQS1r}bYm%`aeVnQ4@UebcU3^fRz!SL_ef z1bimLrFSxH>wwt4#O5qaSl&Zx&58c(Ui;4N#aNS6Tx;?DfyaffKB6?gQ0gDD5sA)y z_%vifh4U!;vunXQ=#j6d6JT3{J#<}KTC#rhXy-WKQyq=d5Ff-NHl4i+vmX^0u@U00 z4fGuCulDZVLk2+CYNNrNCmSad&_SW){#@FlC`qcy>tg(Fs5qpa;R}Xg&r* z4yh#cp`{+2+S)4nL0Pvu4$DuQXLMt4OY{^wc-}EyZQv!i{cOi?)BQ7GnJ1H0(5Vd! z-}Xc08>gAagtS5d3vr@$Jmc=DKP{1~}yS$Xsl`nyrL zFgogLR0-RAUbIMAcNBO~lt(p^4%vPCbi<_CWcb~X9-s5hi;_1d@mAH;q6S4|!IvOH ze0n<1gTg{Ez+wWHV%m>991hjqT$uFf2TfAuzWPs3sdYi=usmx~I(2H*faG8KoHEwgj(T z7UImNehuljtPJL2WML>#ay^HgcegW949ey@n<0=h3Z!>f+ARm#5A$G3vPHNg`xW;8%4pnyXzBxd(IIA@~sT0s>;mLni37 zsMW`x0YNyW?iSbS>EaMVz3L@*#hNXu*m-xs=wNLGOq~?YD$I9QDtf*{vR_FZ9L@qa zT1P2)apbeht@k_6&>CyWm2%-lAEQOv5DA`#mbUg#<~z!?va&Y!iEDPW>Q>OWov7w` zkn3>s;+*CDbWtj;`0<_N{$)XQ<^*vy0ue58K$YOUK>dVriR#Kt)mSfRur*a`64AtX zeyD)@9fdsIaD-^P+FLR5=FtLF=C*8ZR+2Nif5X&8?|D|_iT<o*UJ`@+>g(t>G3Bf^bPZiimqFg^^P%Ex=-LXy@Jc6$LKH67Jt*sOmv`e z7`I^?hrp>?0i=|>JbCa3?T4tOJm|XauBs$h*I#zW`w58&DIo)nNRITD{)!0HH~E`k z@|L%9MmBNtsJd6x6!lI_&f)`wJ1jaMPAhChcvgDFTbA?fFnDrAkcW#AK?LayAZ(sq#WhL;7xr+e zgQsgh`&GfXp;MV_Qs<>$qrAG^7X;2|#u29_!uIx!$VsO3J;GZf!y--+IZAvaEk63H z_6`ofMrWqF+(PGV;BgkEE<_WYW-iC_8Zpa<(OkZM>7T&ZZJYHz*XCDWqDF6A1}{jN z-d3LOC_9}WML8Xen2jU)(N6VfUfXbgICH8BHE@UnyD%sbH5(yy0EzTT9}f2I=+Aw^8}*0Vv(Uv9 z9sX>Lm&J-Xa(9U?TIA`J5TTG4UMH<1pfR3ah_`Cy@z5CUr_U+``=)Dsess9p?GXTJ z+>7F8r}N&p#)}utac0J-35Qjb{c;t>r00cuY(}sgGwByAh$=^!5~P)top+a{m%B}j z)}DIu6hq?FB6++Aq1>|j%ts2R|#`f>W~R6RiS+YVQy9 z<2Q%Xhe8PfIzBDx$jQxZc+XGppah~guo)DbTFjAchYSWwctks*zgi6+UXM1FSM}We zGq`a`izsYis6d%ZeUNz_Qs-pOVS66H~Ib`W~%vBiFS#6rln z8s2h@et;NpFmA`Al1M`&f}KqF@y|IX1PE%j))p6zjn=Dmw7)Dqgw*1*qbTUd4(E9a?&qEjB^tB!3GGB37*`Nu_EQXev)8T}x+)J!>hn z^@E>`M%5-dwtL<=T*AgbPI{GP*z`?NKW5wDbcW`(ekE06V&aEKGY}^<5PNK4fhGBy zXf|CBfTA!$*L}Zxs}_qG;4z^G>_w1ToE{IAOn<=ilB^gQuUrkbUK;WL^ zIA4ojl8{Eu@v#d4rv8>#CSYnxmzdxEx(l(ycV-6nJxn^6rPCjIV*ns(BTAWV-4R>s z04pA}+id-f$}Kpj{$71-hVTkx^ys0lFo7Vl1)I_hUt8aq0%3TxvuHgN%w~jiM>Un& zjF~h9ggI?DQMz{=9}lT*u4e3CsR$ybH%okXGs$&B6y0SP@y|Hsmz;C(M?ga^Y=fir z7+jV(R_Y}ah{2&vyPIvcs}6*_;-O|q&cF8vsh9u?sfRpw!bSw$xzcS}*+5=TkKVQ{ zfk!%}zs1xh!C`a}4I2VLIgsxWW8i^pSvIfLnIK9Y&APqQ!E@3q`bAhxA}0nND)a$t zP9bV|amHunV4uEsj>}N%ne+~DO4Q`=*e%3V_Qi?R=}<`xJ?*VHUL#CZK%!c^mELXD z?QTUT>-v+joT_=_3C)E|or}0#oW$%M+k_t_*fe{VgS_YXQTA29R&hn9yv|H&Y5>_j z{{DN_C*rqWsr7a4s=bp}7JHbNc`COs8Jy=d416si=RKXFlxl!k?^#`^&Y==tP7Eez zn`x%CYE<=3(yS9NN5kU*wBJz@&go>3Ve`7|-O_bkzXJ&4p^bgGqzeX-q?3Nz>Jkqe z0>VHfwx*8!2^lPoFdRDJv+1^oiCl~qKEZu~qp4Q>=KB#gME4|)qu?jE(5PzLCsy#b zKG^uy0B$W1+WrHaKgp}p{3yrl-CuM3#BHxv!3kA`YOg+p7H@95YsDw&e7_9qFgw5O zUqVvZ>+J@^-hSTPI<+*Y7L5P=aEH54LB+Z zA{e-I)(BPcZ9jD^fmU7u^e{q_ANREKkPjFJ92WWawXn&3K*G^;%9iX#Ms#;c8XXp* znS)<%hK&0&!d_W2grZ|nTsmG{SeQ<|5$EYEzW`dCLW7E|%1Mp=YEr%cG7{$J>+pKG z;RE33hz15>t*20k$#+OI;ESylVtMSw8_WVSQTK^e%@}ZZ2wjF@#}>jH(m4#LKoGH6 zx(kw`#b=|n<`x!>-5w5iATkXB8-ZC+bAI=^P6?c!vn;aLbA(3zK0crV44d|&Y9>Zj z-IoY4ZaVw7fQ#N4I;G>(KBtG1YZ@TC2!@xa|8WC7L(hs|8l9i283Pn(%43Fa$%ge6 zjnCaotzhHA?-n|Av7G>_N1yt=w>&+Xl({pcM_FD_#RI}6>kZLGLoI(Pp)E*L8XcXr<~jVO~m)F=)=s)$-4<8vS`0o%bNJinJYqom|=u#@+^EE6@*a znt$^)`EpZL@~Hn1SQrdM3!RBxno=M{UF{@xwFoxOYj~R`N}r5Kp^xF6LvdFX&N2KkC)kP4+Anc@>neeUHY>5 zM`DSI&ULRhR@`|9@$EBCzqN(onuOiW=8GZEs69Q&@{%6_Op}4~2onJ@>wf7*`6{2~ zxQL+O0I+bxGHNVG)5HZ+Z{MJEHHr|7a3jM`sF*H!tXh|;cK0$`?J(&yOX#+@-GZhl z!O8I2&OHDGHVqC$fN-Z4!Vfv34~hfYz7xf5e9nD0RJi-o!p&ca&42bsXE;2b&RhVu zB5DbpmY@P_D{)ho#O3wn{p4vXT{I1S-h@z)qTvV=Rp5_ne81e!XL7t(r+S67*Na4E z>RY6w|Iw~gFr1_@4Jk;=8&Hxxacg72s%rKNFqo3acz#1u9B_LbB z)|LCT&-%P_GT9`Ao3uY-SJU9b5yKb^j}k#o9s0(gRY3E$b;3C3K><7r7jS_A17KAV zd7ZuL0&uE?`U5O3wQ(^GAugZAPT7!tEku(4!%EfSDQ`Z z(BIR*_wOmBS9qclN;pK<@iyk(-XbQ=GMdpGtn z!82<5aGW#hV>*RN4VVo z6n59RLB{B-?<>Qif20H{;jqOTa=e}Fgol&|NZ}^_=JLdD(m6j|4kkfrSv*f zTjhTwF1LvOA0;l8Ay=$5`=)N9*B*SL^7=-nC@B7y8iqLplmY)NAXq|`A^6ss&nc<@ zdsd~#!EZO=tN)}mq}czP_@;mvi!N&T2^t?l4=kDH>-Y-z>fd|F$(4r?T5GuwQ_9q?`?yQAOHH5lFRWwlA(sj zgV-WDT$uO&eN0Wu!C{B*<#3fmsed&Fq#B}{Z{o{1u;`@s&kg^3ne?26-?oD|aN+am z|1Rv3HaZ4p8>mWq+IiF_>7tl2{r>&QtEnfhh7B5n5+e2u^SJ*_x-CKG@2x`U{oAk_ z`0rP#({D?EdFP&Ai(;DmA@lEj1}#dlh3Fb`a04w%&!_%-!m0o}9mnDQsh%R?|7Pil z?=;=8HNh$((AWDv{Zoz{frS&*RL>H%Z{2@i(S%S91T`ZR2yn#yd$24+^)y}_kr0xo zk5qgAN}*EEYYpYisitm`3ef#Gh&_B3jO1uDrFX?=?SE+j(9bgXkN5g#`2UaE3OykI zzsS!j=M34temdR4tqDGoJD$9J-FSg~%X6-3I|JX*xvysU(`8cC$mb3=oI%K>DYLru zjuOes>=+oAW$~ysehl#6xbf{w0^jR%{rR}pRZKF>N0=F=^@3aggCv-zX0rJL8D#Os zN;et~&e zcDOCtvYh2WrqQ8g6W>g%gSET+G1;^4?{P1zR=60ge;Yh>+^O&of8ccTfSz2nymC(Q zB)M8DG;twa4Ugr6B=zBHdT))m-|s&d+A^bxJu$Ot$)?%wTrO_MzPy$Z=W7~w zV2hBY;(dRKfW=!*=1hR#&co8NrEjwEH!PW;Aor}$j@dq`hlfhvdn5-t3MWZqhQ~<5 zD_m>tX&z;%p$f!eW2$zP48rYW7`sj;H)*3{luZg`pB}t9DOfs_#D8?8#>$Jd(e32p z_LG*Of?n${idz?Kc^~3On=Z;WNHc%*Vr5n7km(Zaok*0wI}yf}pMSVC8__#5;{C4* zV$5_`=v%)8)t%Q@0X7RJ4GV(?q6&I?Tx6HAg8eXLhv$7h7v6@;VLqz&YCma{BWrs> z=ymA^L6%x2a!?GXzNJcg^3~Db$<4k`ugBJA|DK6-?=XEUe&Kj_ezum^J(26Yqc&an zr0YkS@H;Q#EM$9o#cBQOKs!xJjF>ln)+LvbmCB)ug_Cg8XWpA{=5uu>bKd8kQ}N0f zeu+0*)AlYmbb6jb*naWxGrw*R{&c>KYre;|Y%Z;6fj4sB3Or*rudHiYRZT88jLgWG zbEGF34Ph`1yp_C;u^e@WL*lh_-^1d&+Eg;NBrC!~T*^^(8GfdiaVkX1Neloo znKU#<6x#GFz@Z)uhud7QUcZ)cRS+8;9sBqIPf$?kYf1_cG@#1LRlfewey6~Gx8V9E zzw3s0SeQ5jSv7@7e0HX9)7|9(KY5bhEDD=3zLC2BS^bCGjm zHr+U0;`}Z{H;8w;MUBNRO5b(adw)(RCW-sv4dVXWl4`D$bz9Z?=y`7CUo4tNH`jfi z%VgmssAK0|4Y<3<_2j5E?xsq=++RV!g+8{u?1hr(?8g~joh<}@#ND&3?__r>EUO896UUAGhhL zg=)1$tE#JEkKd+vTa0C;dS5Yz$;;Y@R`CW|TPq^)%4;VKqF-UEtn{Qa?Os96{(6db zm|XMizI7HcJc--uWS&j3Jjo3$**`;>s>sL&nZlmSXMal+%H{}Hy}iCXn>B zy&!v?tmE}_P5zs|T)i~^M``})s7Or2ZL#hV=h07?8Q57uzZj;hF<;cl`zF?4_V3_| zBzOh?t~4ZJEfp7w5FtE2bf2iGExp1WXNqsT6n0k4gKyoga>2YypG%rtc8`#!72lxj zS^1I)%lF%R3pO6I60IrGX2W4L1@B2^<_V3Q_PNbyeCC6yxy@Yj^({=QgMvO6uKmPW zeN}%UWx!GY_B6|Up5)2jYmc&~*7Z0h_AAD;r%tL(#8*l;=LMg95xqmlM1^OQnf*@r ztd#fR(~QeTcu&+G-o%JQ7&4hXZ+-D&X}RrdRT?=xeIixG!~x*IIB+DZ-|qvVpTFM9 z3dLai`I*l5fNALJa){MZO^ms;hQKu}bsq8BWt^IG7ppZo>Uey8?d?E>nOXeais!h; zkOw)&iLS|w_9q=Z=l36KFYkxb@>r8fB=@Y`>)qEZsJ#4FaZvD`O+oCuKNjzW>&2h+ z^#CI;2@%YLqei}}^Kd+DksZz3vp4T9N>%mtuYQ(GC-mCV?sJwDRs6tcM2{-Jho1}#i#VK?OYh@ z@{5$s&7(d|+5TjGtxe`DAyV1ytzE|V-ft{a7F&dj#Gyy_)k!bXSGEepu~fybm%5-$ zD9y$--^$Zf9ht(n8EJ|ND@xoWn1cb@DuL(AtORT}1M&dMKMie~oI zn&J|}UpH%vU99BxXVg0cr)sFC636^E#cAjb32_>qSpSjnc>agezzge<@*A6@yq^rh z>FjUIj#eL5NpSDzI~5O6o_`t&+ME!~6#O+rUY?bfZ*bR65h++eWLVcZZwM}p0P9Zn z)z^>M5jaeQbGA2K_^H3SLQ8z5G_i>=3n46aE-`f`!yA_jbEZIEdQVM_X4#(7HiL3% z%ZJW^n26#v9-52jaM0L>9MbXFT&hP5_i+nCxI#0Q~z>i5ckdcX(9b_MSVH#2Per@3=;C} zMni8VlydDtLykKI6B+14;jQ@N2=11b_l)!gXDqx_iS6UL}T5yQ5QqvF<@i`v6UbzxnT4mlwj zz4&>_nJ2MwCY^^jq9VgM6T1&{(~Ugu>4{o>UkTOOu=vwC7%8;mY zQSG@sed@~vnE~$eqZ3_L5B)-*Rl^YM;LhLRa8hvus%+VekCf_3J!WkC?t&V-nlBN z?x)(hSlee-KpP}%WhE7$en3|Q`U3#@mzI}{cE1zQvn6 z->8GW+ckP@2o?@(ZvN>hS?3ly%G8IxT#i>|ysy#|-jwxOho~~)X#b!z(yX;TGmYM|pcxaBgpxT7l*Hs^XPHdm_ z0hry6&U<+8IDdV7Fj|uJK)A4XWY9lfXRPp@4(*pOEyjzWTmj&-XL2&&ceq3BOQHY_ zF((Ao!7tgUz zXGXOOBYJK&yavl>RmP?Ltz(`i_Za$r%ZCz*Uz(p7%@a!ExY_OLe5I?k7~GIk@>WT7VI zYk|Ox4Z+_(e;ao!aAoBd0664lu3b7dR&qT`DW$ra0VGpYy~AD*IHHTZ`Lit*KKA+i zR9W{h7LyqZO-}2vim4gfnfmmoUhpBZYG6K9`}8!b_VncT_dr?E2bbRs3N0L356%BN zVE)~rlVrykq`kbOy47UBwdX?{ok*F!S6(4DkvhSNTc2%_#W@i@F*uq3?Y`#sklb3O zbw64?OA1C_cH_7A&#Rlh^B9z^Fh(?TM))AvH}hXuwj)GLV`vQ0=|I7NEi~SJd-*_` z_tMw%#W}Wy{8HsuudVX!+)3)376r`)60dSXR&(6NDLUDlH+J>vC0RGfE=%xv30w=D zaMupHg7Ar~3Yw%Qx))JMp81LaF|E$)lKAYs`o$McHw|%+A|GPgDvN?m6!` z^398=Gu8ZG0Bu2%zDd1o1(M06eH#-{jsStBW*IPIHKj@{_r!ai5o0bxZ2d$ZXb zve_KEy1LQU-ifxhb|jKXm{Ovyt`^Cp-NQh@4rnA$TU&#=x>__fjmDU!(MY9|DxWyF zpbDq#@h+kWX_vQlU|C4RzD30;<1PC?6KeboC*9H8R%n`DCoN~auQyfPLiJOp7rFC3 zYMx@IIn$kGmgTcg>^7m3EyYM9HY)WaVLUa zpWB50uUbdcJ?TX)E&qC?K8qJ&^l!ITU`xx_g988(68053rY0gK%9vn_Wo!8P`p`EYoh@G!-52xpbgfotZ8mGVx3ThP&FQ8&TAYpHhQ_-+1 zB<>X$;j84jM8r!sprilQw^_Jv`==gU>~CDC0Uw^`u!s&5jS8AmNSSrxsj5`Au zu8eTC-k{JkI<&)-7ldD!oO_yZ{dZ-m)*rR@_H*@eZ{}--sHu?>Czi% z!EEPmz$xyyLc%}2xOGH-mM_2&7u*g7pY4Em!breKB;4Xqz+e7H{#JTEEVPS7L?}(4 z7I^KOE#`%9uIR2L>ZSI7=cSCCCx&~{kC{<8W0Uw+;h!aHxxwRDIK3~WeG#m8<)=G$ zV7nsrR{VF1nL*@RX2d?#>I%NU_6gUr3`o<2(~nw>QCEXxGT{q`s#{fh(9lqi+S(es zd{yTjXPgW#KJ3)Ayt&aQsec8tT zZDm}8KUB8+r~4+^|Cern#@_A%^?RRSKK=LSoNWEZc}ka_0Q#U$eE@JaHLg$!$=rNB%MmK z3De9%2&l^S$OeoWH4>vojf5p7a=EM;w8>txGpLao&{1!|2KQP1*NVUBF6$Tughrx4ZC*e z1~dTZx17ZNb1D?xZ4>I1;RZLH0aCpy+D>84?I)~^ z8Z`%mO;L$1ou15B+sYxN3tWo8^CGCM3?QM4dh=|vP$0CR;TZ$=j zLgy~0y%oq~-tt0giCCxpKD4lWsfkIW_jx&c!YTRpo8E{B2RovVJ#U}dWo*oeu29c| zd{;$_32e9x82gwN!VbXLPvBDH6gcIV;g*rU)W$WE?5zv_9{T5@Wkf8`KU@4~rEt^c zp3`DyEb4RBE7lHT7W-YBf7{g*XHf3m=V$55wt<>j+&7T#IE*SQ@|GXcU)S(o$O+dS zASFywz%uP)7yyJo(o%y}Iz69~H8n_Q(n$AoBUM|c0vt*8gg4k1P6V7=QSACSoUzW} z4HE*(tbFK>2$71;MLCkC4{LVQ508b>T8h8W=Y3wxcS3szQc5hkZy6SzGCz7pR*tTsO>gwz4tAeW1oJgo!Pno`u7}el#PHO((hkFuq0v}Ssa)KPrlPR>% zeD9q=hjc3WYCuuvF`a6V(S#b9O50~nuMRZ;sdqa|@UghT-_SW}d+kCQIluc_#(maH z!W-1AeEB(MQCedv)UJvNZ3zhbae3uSn~cmur7P#Y)0bpPy8&T2l{u(m#}M{oVkJz| zLQhYR>c!FBjZ8MH-Bu;E{F;Q6u*d31qrJTymSrMoKPJ|z1gplRW!Yx{sRA6yr0T&T zVGlALd$kSl@^*NdH@`D296Z$<-G$mt;Q)u!1}$|L<1SwoIn8+`^(VaKPf4EQOgsPj z0uAL7-LP{u$1CIP>A}C+BBFn*=nadz)j${5#a;hy-r$Dxder$FJNlC*gl~FWUi0_# z@O}&L!a~0M8kN7}*HsSwMqmD8A%C9Idm(DQ9ev-4Uw+&+`+C=uMX+9@r7nEJDEN8& zvF6`ae?Im%y!HKW*-ugNE`JESlbcWj?PqdG_hiuCwiVr7od6_EGYctANNK8Zk6ALlny8sBBdDdt0r>%+%n?XiTJmE|3Yp>zpm#=$jzDAH9X)OouiY>H8 zhLhzBXXxl<=2=c}D(r401-?Xxh*!P_e`p%u3_v988naiJs-Ono3^3|cs8wG&38)?% z(!NE-9)lxi=8(%~(UVRiolax>apN#?@??w}JsKSy9q8=nRDl$sDxbMrMm;*#R3lOY zKy508+ElG}r5pBr=$5x7dG=vs9tzZO)%KM6uq)f*io1#uq!-Bk#c2h;2+rpO7rdqD z@72E47bx|)v}sX0yvS)nXzK}=2*Kc#o(}(K!TDk;Gr=H+7R>NpC37m*CQQ?L0)?vJ zI6X29BjI+FHtb4=u#XD>@I6JveQoc-xC*iN)4)9no!=v(oNxm)zWr0WUYAD&mgNkD z8KO6+@=fbU{@=p)Nib1GO%rZjHc&V(7oH|9OI4yR3vkLqr$4iVeZ|y5&K_jcw4bsf zr9?WNMyLH0m6nzkw6wHDJSH{)Y2UkSnK@Wi4${o2-^~yZ_7km)gyEhe>_b-D3(ixv z^nI%D*QlUsM7|Fl+rc_&F}cFOd^ZrJ@7rSYT~vTWDZ0S`6N{i<^@BdWJlupEjCYUJz15hX6jp$9jdTgfE6+c)(*rUy9+h@MqEMw|`-G|H#0+`4Sy{tcRD;H%@QI=wqYMx}x@bIC$z` zhQ3Ux{dR%ZaLPdmz`12movCvRx5z_)3#RlP` zFQ()#m*ewZ_Bs0*IUb3ihZuo zp3D+ABu z@8fPk@=o^Q00)4;dsTr^Po>EEjyZ4qjf8!hN0qat}e8vi5g`{@v&^3mIVy}XIrx50fC_1&mt^rr4s?!nCS<&{#((o()V5Vzw1{=ved z^X#C65*P*Z1dt#qc zKU4ELbwqDKWQiSi*b8gdz8bxwt4P)N;5h57i{Nj-colPhhR@fnv$%$9x%eZGUb_5g zh)-{Hq&T`_RD8qSTc&q4qnN@e?h1ty_ z_^%{+K@V@9xM@L7^gr&`@CP{5c0^yPaqf}L<#P6uHlhL?+V~spNm6M0M!VV|{FODg z7mT($+}#lPt@Nub!R)P`*rHbk`mVgOx_lMU@aOrDCH=~4Uy10~(s>^h;3#&QZ($`* zQ%{sqf1U2JUL{MFn>kAjE}F?^kv`r2knsm`;QQV({I{s+ z4MKl#BVQgX)Nso8c{pF@zg5M{%YDz!Ugh7L7OXQwP4mh=Z@N=%8Fn{#|9bK_IP(QL z3SA6{3UCB_aX3%7a>__Au;KmQ#RQF_>JV|?i>qJc3;dKba21u_pxy>J3O7E((+UMQ z${pYkM$GZ!)IoyBunfKoO^BFX24>TG6u|kbPqWK<`)PmDp3jm{kLu2v$Yt#TpEDV> zwRNDatsSFAkHM6wQ!#G*c(iwPprf-LfJ99yiDZq_Du=lvW|9$0hn0C z2bZVUkM;Vee;sZBOv=D~`o-b!cYpu;>ru_BI>2%7y^9fbk`JE9l>7mXe4qO(GUX7J zuINBPc-z9uh&qtN%M5pS)R&_#*V}*o#!sAl%LSww4caoDYN0yF?b%g;!>c%|0EZf6 zR6R=8xkbf9&Qy;Iwvp5T03ZNKL_t)@+PHBeHf-Do0H{eNVVM?MTU)VZb1Rygo6*uT z9^=Msk1=D$plQq)SeA)wRvTng2=y4lL;^;_zCX^}n!vt`YxKmO8HN4a@$x+G4=8to zFx-gsug6~*4X-<#nD~=eu%K7dgorNuoxEpR`mrk!-q!;)O;4s)Db91{%-@T{TTZyb zr=sts-Frwcv-Dd}5(#xhMK#`p9ldvsO{enb&F@Qc=-BlF8&N-5_&AOVI1L>tub42+ zJR`YBG&bWJpy~>%8k?tYydZ&;(jFw!|CybV!1Vmnq?GO;pk9SlUuN&7Ipek%Lcp{v zH4ca69e<`B%*bZ5=*eW&i2Z5RCAzh>6(4>45jr|M(bO~sO-)V6WU}b!=s-4`MN`ul zj2SZqBS((Fh{i@VG}O6eu5jwf!mBi@!R&;3glsaYu0{zsAw~GJvXk%CYwt6EMbf_y z)jsQeu-I9?c0Pbp0gk>3>_1kD%X{AE`O+4w59s?LV(vgdrmx(K6QT1%)Hx$MxS?Oj zaK;%5rZ27shyFUMQIjt~6xV~pdG8G}>Wr|fw%0KH^#J|%)_b~z_f>R&BW}L9@5Rll zkIz&trCj9e&Hm0ef4;Qj>-|zHC%93lE>vh*UJzyt-3JmfPzw_{d)M-7kIV zWK^rFy+!5jyC1bPhJ^n~BzocMO%oy*>C!**mXlBU0?5INSibu?_32I*C;v1cz5(I| zDI!13``!4!OXS=Ul`pL!CcGem6E&80MA&fW7w){$sYV6@OUYyc$r{y78j$u?!W{hj zNSzFmi3DnDY9OVmNLh9-4oGPSA-sDJ1w_R53OB7$zgg72Q~{21J&B?GqJC3y71Qv{;1$cY12w;P=?Ygq}!t*I-0M4H?GpJf9@>H3iRL*0Q@~ToQ9Pi z;PB>k1{igYB;hvr!dX=Y@^^UOMFm>R5#T7}1vmgs#UrXBqgSXy-^x?o3HPZreIwjt zSXNY}zLXabA&@i@FboyoFikbksH)6K`}RQ#*<218JHXM^ zRg0RME@ZMkTR2TKXZt5u7LZ&wpF91qj&V!}tSS z-Xpog%hvZ(@H`vt{S%$WsGw9-gG$w3$`On$UUYy1h|06&3vlSYXM%%gmoDw%LpDj(d$s>$>43``N~Ou zohq0vr%oCbkcdu?zC69m3zwPx@P?H^-f$ri3-ZW z*s5dM8E(hBUB#_13gefQE*8)YaCauCC52?4+dzP!dAB|JL$7*&(iCQfv>7V!N;op6DJay$x)*OB2z{ z^D9&_(3b~9-E&{6=wMVKaf!7nY;HwHMl3pCC11i{Ht7|>U=I!fVPD~NZc(wLf?5zr z?=tN@LB$Y;Kfn=4r|`Xw{!O)aW&J(MU5*+tgN*7GiRjPb@^U$jUAtl^;{rpy4M?bI z`tJ;c8&%4sS^#Dg? za05^k_s|C-x^$NI6It>VM#1k3Ezs_+OZ~p#-e&pb3t$uuZaB%wmpAop)oOXAoXZQO z0CDGua9I~MO>ZzojVTl_D!38czGAKr=L>E)$AA#92gZsChXf&vgl6tVDsiyY~Ip}#>NqtG-(pH-+nu6YimPWdmDt1 zsI5z(wl;-C(m*nqfV%GH3^E$X*YJ95IOlye%^qY_&y#j_#2X|t{9E=Wz!7y^`5XHp z^0+6xtX0UbZR&3e4S?gA&PPB#)NG1|UCKAYIv&dvJFiq1d+=D@lh~K986KuHy9OcP> z#WvugDj`vafMEoe8CQWXE|8W;B+A|crf)q=@-0|zJVq=bRLKuk`kZ6dU-^y;aHy`2 zLOb5|z=rx~gdQiW(iuKC2FFaXXBENs2?WRY=)33!Xs?%Is7H#{)YODN%YP*oDA(~6 zO$9f+3QBNmOABx~JtGo{gqx52^Mxy!h2|4d3xjB7oe*9C+O$-;>jatA=>2KrvN;H0 zpr$5;hWbY2YI2a4bknHj?LtR;hZ={&Qsd32a@e~?Fp)6q$7xBxlFq3C5^w`Ak$bs_ z^P5g@%tkCNRQ?C2Ip+yyV$K=(+A1zD6{2T%Hm;70% zcSkYj|NPrr{tJx$^%tMcxMiully@%Q{9bP|eccieQk9Q}cblFiC2~1wKS9OmRhL6o zcN(2tX>7NhdMvjyXs?tOGMNn0J!x2$iLUNWba!{cG;?sr;1GbJ1rLNU>_CRovq}XZ z4e3ntj#VRJz(_hhYKkwP82ltzF*0zD!_5V@n6JtW5;=oPUru6T^@F2 zO}|nTbD)VlpG7KLT|sJ9PLX$e{9p6Fr*jEPaa>?FZ5~@<9$}7Nq zB&HOA0Xv|fSCpND^9Mof018aFEzWW&)9v z)Dwf89vsPp8f4T+*qx%K*Na04XYgrt_45C-_bxxPC0l;bFJkYVncwR?>QtR`tLol1 ztriW9B{OU2femW<55R!HvL!P?0*e6ygk+c?GqUgigw;a892$vc+-@vkAt69LLRJrv zZ@atRbI#fper8w>xH%|qp} zt_ff)b*U64%*{9r)*b ztR=NB6zh-&M*MrqXei~812y8C_k{41Gy0OYowRu^oF#e`T9>h=M;Yy&yr_w zOgyAHtCTjw*D_{(o>xo*pMS(8?X)m89%v5E#1B7`kQT8lg=jn&JR|kqfY7L<@nq9l zV^kwBDhLeF8ip_3Rk3z!p#@j8(+wm5X>@N1Y}RLJ>Kb%I5P=&Gv;#cA;cjfBEh`d2 zSE0Nm)g#j?Q#_n+l6m$=*t{uo`F5lqeoIpdkc2rBkUSQ^kHpe@i4JhiUT zFbjBA%#sMksI@yhry2%SgIO^gh7k_G(nbUecV2-JR7y!`2XMfmuo6w(VAV9J>jrgg z4smk#ezUU0F3BE~Ilw3xWd78!_)6R%fMW&#;-h*ub2hUe1TcKr^Pq=+PWuU$x@Ol* z-swShX~f77OoDmN-3L9LjX_~2OH%l>W(K7-OocJ#U?)$KRdl|FiC{Dc?Y231quDjH zyX#%JG|GB6CH#`uLz(&tBtVGPGBmVL2+jyva%|WT%x~?#5i;7XY#&N*Vcj)^becz$$J4nDN@Rh$sMGCK$a}N@7&kp!M`4+Wq$w*GE zmpGw+OJ>C|mW#B)Ic<#Q72j<6Xzs|R%+B8;`?d7eQ$yZ+!Tqu{W~@Zx{IE>&?+J3A zSXDoEUYzpYpmF6^ZO0m8rF^}GAJe>?zRsS%ybeZsO-M`XJkgiQbD{}=PB1$;P&p?U z$If2q181`_9n{G_#xIA)U#>j-HH+v#ejZQs>_Yx?=9u`}*+W2G)?2{IYI{wrfH@$4 z7-7ztQ&4Jz8jVLYfg9xI?3|TB9?AB+4M=P@HLB{&tyQ>%DM31tT@)13cz{~HLO@y% z4zC|;0HYeAw93!r#|j@!Hyw`Yqf$GuSNh*x7c(0$bx@pGcMH47k7e&sYv@|5pnQ}^ z4(JF<73dY3(b!uvWr%gka(d11R2pl!g~jmmcYf#J!aw|n{|kN*!Y>TKVXmReqgx3Y zr&QLpRrttYQn{E<_-r|qAptnjLgrF=#?30=zCOI3ffvG5nGTjZpQdGoKqm?3L1pAP6i!(nCw~9kwP7fL>znmJT>XCak8K3m~K*7l< zpCn-2?{I~Wg0ho|p6T{|FtEw{aERZj)9WSK z5NOA5NfE4A<~Mh5qyr)o`I3}72XI7NS*)V46u?1x$dbG~JvO`|R8(ELu4MagSuD{F z4o<~m0S--G13&_BnDIpwiU5uPB=Gsc=IJpq#!I$s9l&8hj=meP+wJgRuZdl+H>m5{ z8HNB**A3R|l?OhVk|>2aB(aioHMhNONFEj0;9vz5^7+NL^|2QGk{Wgk=v@0ix-F7R+RiU71#xl z8kMv+SVe#N7x)=2_M~;66a8^aUkShikuZb?7;yV(@&UTpZ6}ZGBGJ?PQJo{0|XvSY22|65Yo&w#RlLo3w-@x zyx-c^$l$g$fBV*46I<8!INO|~t{b~ZA|OPCx&o@YM$=T-Y*yH88sjY|8NdPa2|?#E z+4DBo!jRNO}4#bi`-ob~>H(g*VJ|I;D?o$cnY8pChR|0-ZkM zu`KXpc~#rn#2ml@c>C%AuX3-!qn1r<-P{}AN2pLc}p0ATcDt5z9OZ&L=b0P9mhuD42#nY z3GUdSbt?Ez2{C{1pE-e@@KW$FGPV#3R~LenJ+2BNVjG>3P6!^{n9(1JvK`e4F!hQR zZf-CVMbktRD$XVg?cyjkLThtHCu|zwzzqX%RI)++&8+DCO0 zQ9WI-MqHuEjtNCEacY=UhRv6po|=0`O7Bu3?+qgG7=R=62+_=7p>0gc*N1y>1pG>h zrM+#+D!HQ??W!D8p6s~khtVEv*I~Ca*Ti05U*qljci8QA_~esM@bSkVqitK<+}vQl z-{bl7XL$DP87|Jxady7JX1%ujY(WhntP8s>i`G`z_E%s65?XNYEBna+9j_-dSsl}I z@v><{rQFCpGGNjhQyjRKRT#O<%!Nqr&_2JIV{&>*ns53*lp{YXaGvSY^pNs&AnrO@`;rzAbV(~S0OfL?7qI0p2?fT1_u99=h{Z98nYdwl!dclhSJ@3GmO;YV+N zgqJU0;`YuQGFnv<=NIR=xH!kv)djAu&e1fLlaX}5G<_0CL+5RndB%EhXyz@7@N1q| z5YR$>BOEVAcd;HYJV)0B=^PgFBiAb<`NC`t^Xb9Hq-)&V$vhrhzEOR+KAa5Ah-2dX zSgRmc7G56r8J5N63)&)XE>G}LbPy-_w9o&8zx8jY?|ow7$$N18-v9W&p(YoOo4~`ML{SIg6@33Bi5a0+WEtB6E#1qVW zqq5h;63uKKV0GgFhmiK_xCVY(gpNMr=1J@59ti+W*;!8ZEg8Jgkv^L?c7U|rX+lVIEug!`HZ~B52kkE%(?Z3+vWK)vA=kth2#HZC z^!u`U6kNf+3eEZ#Z`0A^#aD8))=g*(x*|TSOczD2mzlTx^mzP&~_3C4M^wCSa zeE9;;pFP8BWxP5nDIM5N0H3{27gE3<=q4%%Q2~yZy$mvXa;h#G<&~7^7`Q-0%f(|f z;q&wR(tR+l;bZoY(Xx?KdY%HIbMp&%UleJlhQuZ~a(o%kjOej$#thGFemeOczrTEd zY?!9(xj_Jjorh$NO46BL2!QA5u`2*4Gx-(Ao(3SGA1ez&T7j4~%qy9-Xg^OSIW-Z@t` z&%kjW-Z1CynO}atSB(ppdFA6Y`ZHHv(Vg2Se>*gdIM;w(LjZ(5med+@evhGXZ|?gZ z58EB?w_99YUE$@+kFZ`F;ka3!q1|`*;)}2F{@pd2xYth&$^rFP5KKg(fznbsCF5D|@5}ELmORsd?GOWy(xc(d2EwI#N_v zJ*kddapn_^{q4`+@T*z*wF7L^L_`d6@9hn&I@UJ)zUN=Q;4XJEwj%=8D#b6F#4 zIbN1>%0s6lm&$T&9vC(^a8I7#ElGK%XkA1tt#~*)!uIthFJ@)$+ZQJ4P+jrP*clhe7FWpu_ zA>eMOXzJS0gaGt7LfJnve``otLspHgukhuMj0WwD4Pg~qrdVqqkJEH;E)HuK5z^?! z0k|s@y^%%NjF)*S?$_yO9yrY_!#>^IXG_i*q3%)E3rf#Cup4^&(M<=36^$uxj$_U~ znBJm7I+a8v8&p*dx}w{G??NI6u2G##*Gk4K{6v66du45rqd7ARSwm4zr9FZs{9H*H zr+$BKg5xG=m>;FJ?HJ6L8WCsbWgpFJ@mwX6Hi*XVQ8d^Aql0*XkuIpfIhhfr^=Dw% zbOJ7(;fGjO!KKw&Fr7$2Ljh`p*5;fGrOjgPX!X=#FbjTd+vEN94c@=M#^u#BtXCUc zTwFmbU>r5J4|@#5Tio2-;7|V)FuSct57&&JnFj|gXjqT~c58~zev1l(@fL*?jEh)1 z2R4dngV0Nc_l5cD^c<(7%R?eU;>JNd{xI()BTmpY zu~q?5=Bxsx6cm6#13&)pPq1EZaJD%^Q?Ie!oMXS+!sq;dN;@){&|IG=!h=*1i!#Ht1TtPVSPWIxmemw1F{HQPs z;Ly=$F)OoOEon1WuV95S_1y5!tinyoA9-*{=@bt-gTpD-G-foHA$0P&ze2XyhFOn| zLjMT?DXN9N*FwPXq?`mFrv;TIsTP-`$2@yn`Rq4@ZTvVz-FvIVE69L5pq9zCJiq~# z&TI_{ga>9MJCf*zLAx z+r2q(bQrK|YHT)ZtXB=HszO~?7>5Bv*Q4(`^!ru%XRkLOg$Od4=~`K3z!TATy^?+^MwlX|YFHjZ_EMHUIvd!8}H+O#E(Ax6t6z| z7~~D22915Y!|m-Iy1vET{SEH!ZZM8L136+34hv+sD`D;SR4pM?EPD|h%@y($E$+nN zLtebGg#f|rd%w-g{&Y0I#mJN=;1>bFwqp=xE_CJO8*QTr^w$YlbW8~B3|7VxXzPcN z_GQb-|G2))priQz;2->N_&@)z-+y%3f8OCq0~{}2yaW(-aJZW8zx&@PteT~vq-e)< ztR-;EM?H4=L{B*!hrKf9R z)o2d*F{k~HP-;Xsm_MV;&}skv<_%d@Sglsj>KsxCOIHTSu&4GrFCT3M1h|`f>b;S+ zZ=q!}eRE0(jkwc8SqYuW|4?Q0j5vqhPtVJ4+K&zMo9?ipZ6-SZy_8Q5%t+}(<176d zfky`2an1k^O-crVUkv0JEeIG)zLWJU*V*u12&|kE=8mBwbDhx-5w*x%C69|G0v{tH zqR*pwKuaJt97qm2MV$7CXK3C?QqK62LYixdt&t<_IT%t_#uU}s&4J4Dm{!V{R9MB@ zdfJgJ7E++9D>SNhvaD%p)D}Fc>k5^-Cf00-GF!819^ov8_UWxbSdYeYM**vF8IX`%Bv+UCY z@8Yu0{s}TdNa;TGeljk!?>eTi(~Ug2wg|oHXq+pnJ7{K*n>q+lp{g2Gvhe`2@W8V# zZ_coQGs3u0ew=KvX;@uT<36lmT9)Hz;TDxNM%=j}EtD-9+FoPJ=05%t{6{SNLPO7& znd`F0$kMdFA&_Xsc!0mLGdL(c_tcE#gIPhZg7Sr)C~#@R12!2=YY^zC#t!4qn|E3s zGTzMEUDZ7dBcKJ;h}6rH^oL5K)-}$~&LD+`(*7op;1(6qBM98k0<=99N?7j=FH>m& zGHiEhmptE=c-im@yB*9`A?i0auBZ;a&LMB;9KaFeS>~VO+K`)f?K=V)G_AApt!ZI8 zZm-3Iz{|BVXaLLdNe}|KBJor34UHRjCKsiG$ zyQ*wfX5)9KycYuo@xb7;67Z7_ntb5zinqb!kIL zE5oSF0eJQV{wFw z#XcS@imh~o00%#4)B_&gm?MSHe3If#hG-t(;Ji4VZf)Keu~dN`xI^4;rjYLw%aYv&(Cpoc82w8WdM!Z zuXg>ZLm79N z#^;=%PvRSzvNYl8>_FrkKRO*YQ#UT&{CPJS{^nySXvSk`u0#leW3QQXRyN0bk-P}s z#o9yzTn70z(a?IZ+f@ARYP|(D+P1@P-{Rq6i??szMEDMiz@V^i57A)fAFqR_ zw}Zv)p7Ol$XytOkY#$8M9vUw+KGXMdS;IZ|Jh(AczL39Z3ubPSg39Of<1#ROcP{PJ z!bc3qxEg8T@Bi+9hNl>wtOv(m{wseOeA)oQ6)d7T<-yH0DMJSFax};ETrl$q!K86u z0uYXYLqUfu=RG)PCJzQzSe9g>6u#AtT`{G+r@d9?cyCa-NRXQMQ*i`H$zT(n{jNan zdd65Y2Q2wRMjsv?@a0!u;mfbSf>I-7Rbe3IyWQjJ*%e-W@(Q1S_Br0Xd5s^vd5ua+ zxbqFjh-8&EXMA|Hcgh>)P!Oz=$FK;sSWcuLo6oT!$6x959L@Htn8#mp%kp7X&}Y5f ze-`$H^GVI8@w~#OQudrrOkuv>HCnm6Ll2IM0UR{h(d(`2G=$ssrZkY=-Znixr)W#| z2eHv|{acn*e9MLjUZ(s0OXYkFD*G_UpbSSZc{=#>pqAw89N-;1_4;H65U0`-$f2}` zvTZ`!olFFQuIsVe@3GzOaesf0hlhK-e}9d)XJ^>$cX;{o1+K2HAjG{>vNoFyUcGvS zmoHx6`HN?`y1X=JanzNY3(P!Vw#8IJpqA#Wj;1l!d@C)?zH_BP?$W%C!xh29fzP|C z%$pxb#)mHWIlkcY#}xk{Dig(H^|pqYU^EYw#QDX1zeJb<|Du?g`6AAXWUOhP={EGK z>^Rbywwk5iSXrzhV8enNiU3Y4TMfWbM~6K7TU4ynPjmy`=izx~+TBv*njs0y$`6b} zS~0i!i!iJ0Tz8!dX5?seh@#u7YtNr>T}ix_quKKLD){m_gOd20qDOV3;<&csyzIVC z(255MPtYcKbV}#R#7>^gUr@|=lYo}_lm*DmUuU&QU=&f~SuKnub%rVnxgySo0VQ7;bnunxHd1 zgl`>RNcuSRGB#*=xhKkzNu7=8H=!Uf)SRMXn@3yWMc)<7A)|vm;BFWP?Dj3*zkiQ+ z@84myUgP580#zf?tZFpt27?}OcYlj-zLnVR@A3Zq_vZQ}ZC)Z_PU_dR?M3TQ5#c-) zx1E^Ljskx5hVnQhL`rdp9zV|%VczaSAF}J?2=_p{jAu<_76Bjjt3R z76LPZ@cm~C@4k2*70B}?|3WdnT-HMSU#_i8Q}x4uw(BvBJpg4qFq#TYQ(+iu%a>GF zWzX8^(RF+5+bvex+FlcGd05*mRCbGu5I`j)D#!1BYmC-_qE*EV-%w5G@RT=9Ie*~z zu3?@9TIrC_5-r5GcVO}8AfD?^9nZm(mZu{gAP<4OQcm?13yn7~$EJA8$1S(1W}iAV zXjsUoQ$7tT@4-_JSg;gM9$TG;fl?0Sa9(uEvZlQzwr)^YD<@~Yp~6e&0SvxpoigBo8_k8(+ zHsCb6&iPPUer}J}$Z&JEe-6otP-jj@T&%Nm{lJfRUpMk)*4lV5tI_JfgEH53@Ar6k z*x~x-EgrVFI6ps!tQ6Mk8r!XgQXRUk$94w@IpT{i2Hf9Yqiz}xFbi{4H+d#WCRgY` zvrPq2-vO{&a>DV<`oapNOKkRG$xlRo&Oq* zE4MhnZ*d7}B%@RS!cd#o{B+z_9z+rW&BmbjLV2oYv4Xh;Aj6B^^56dM@8fU%hyNy? zT6mHG$3OnZ|F8XaNGS+uPKMDyP27=kGt3mt(zOOa=QY?E%((EAjZec7Huq<0>e09=zC~wu8ggl z+N?fiSMK@5Ki#+n6<_k2)53cK#h1T-`n?BN*NXFfK22gUpBkK-=Q24a=a(=AoqJV; z9u{W2YZfOTXyOPb!eGo>#W}u`kkS*9&)>thrqIE8e2jDXW|S1WjYZNVCm4S)BS)m) zsf|h@_8!T$aYhE`IKsKZE_8*muZMSM)=Z)DG_I^`Mhj)X*~ed_u4|jp*UiWV_Hmur1cVr1p_v3=teQF9JSIG%I* zNcf|yd-xSL&G^`v`QLz1;C(X}Gp_3~LrbIoSmG;saoj009Ew#Y>bO$OK?Z;wz{47~7)AvVy7 z7PVo<*ej>yw8)qOZ4od=S9qgM$rwd2_i-N3I(HKa@3S8JZcpq1;vapVXmH{!RDG*2LOlC_Ig5PPWd0yXjceIUu`t11r+3V%ioUm-N|MEVKQO^O_dWo;X`bEaW~w1tp; zCQ2h?$+1BI4IP3Cgnh-0ANy2OoKOj+-%=WYBfN=W&OA{zLIl^Xmk1MWn|)S@&jAi- zyY8bk=(rHAVHfR$2bhP^Y!w^^+}}Uo_VyNC-(#~`;qvmrg2iUfw^9lZ5BKQ17I(L| zsOrj%3+KTBjjCb*hvQw_XQaq6el54lJcbqmpryRSG32*E z2$u)tDW!z0m@#o;2!LSvH!>tqg)SiozQPDbO)C+1H|pI_l+2ZxyBEVi<4;_TyycnL|ORO0Sgv;13i96 zj_0{toTmBlfsmG2SUgP2jkVK5s6!OuxUu8oruv81I|N%CQA*o$=*W}9Y|Fm6y~XYA zE!LYFYV07T1*pUbrF!(e#yIxw1}pEeY(NDEa7Y<~9Rw0&bpZQY#^(Gv z1Q6-j={CMlrxkN(Zr+uQnNA!pf&KtE?+jayV4=v3b6!T_^AwuZHI>U;*0?;QcLV^3 zll_7f`*HRC+kgA-;qU(4{{%E$bx>6A*IycuRGOtkkOt{aY3c6nT3Dn@x=Xr|ZV;qn zY3Y*gF6r*~e&3nj4F58)_da``b3Szx=>&NFsg}t{`Coa`XOVWi9*+Oe*TKOyqQSyx z!Ka%M9P+6KlU%1t5f}mQ1B=9-L4lRLR@H=W)M5VMv3=D=PIe+MS?fB%U?p45pCrit zS_NJ0Bd_m?ZjQ;0Mv?Q0bB#2xLnjH7%T7OIS`;cVAV4aPh>u!AH2RZ>K@UY@>T~|z zrpH#CaCx@_Ta=7IcBrq{Q3adpk2K#0$!}RJ)KWOIq{HC*q_wg{Sv|}y>pc9; z@aTvGCRYly9H8kCXghtkpP1*yg0pPl97W~>t~m*PR9MGe^nk>7OXF9wvOfYe5MTPX z&+HYK9GBJR?v<0eNLtp!`S|}z8Cq>hCa|a;I;7^(dL-Q*1wjB*qGwgtzH0nV&0KJ1TYXcKj)qT$dK@t*#^~gMC{UtEazP3bX>|v>$ zOuF3^p$Hstq}Tj&wB03o+@WVA>(}w&z2me4F>84*bdfo!&O;(gfa~9_^h*oR*K8z7gS4w7DQ3&+j3Qmp;n3vz){VQ`IJa5Mp3Bv-lS-ujE;`T zL&CrogU+;&I{J10=fXwlNRqU05H?9v9y~lOfJ9dN6yq&~w)F#hOua-O2;4J~f6Vu9 zNpP`BVlAV617MxyK^7)TfeR=?E~HmhH>|QCD`M2&@W+mb{>Bp%uBSQXIzOX?|H6`1kevA^e9Z*TXS%WfoxzZ^UN;4?IaF40hB_mwxzaOK z+LR6He-uYXRYYizZ!YdjAB+cC3!z2Z8s1Rp2eRLL%F9utB&9U^{}3Zek5#PS@wY^6 z?bN=w73^5mIa)`Xosxs@jNkm2R{4D$ag;kE4hR(?~0br&-;8mGab;g)a~-Z&cauLAe0JVAMh}Hl*m}S$GRj_i;byr z63{Hom#HR|2)OeTr5b;-;T+K@pR_y5?>K0| zB+crqT}rQ9Tw=OuCB11yLHBuEiGu1iQG#8gi=2eSH{wR0kNZxAL7Fm`u_TXj6t70l zaQoTPBh9N=lAvNe&LI9s_X3@Wqw2l18I|RAl*RTU= zP^S#d?)OB+i+j}Cw$by%?jJ2QH=TFG)$N_CHddM|~*641QSH>{o2K56gX z{dyKZwlY^7`t(H$&G>XCgm;wtJN+L9B@p(gUI6Q0GO zL!?dzXvmT0xVd?R`FrZhfm)$wRHtLyt|J;t72*p@?3UHA`q$yuxHkb9{OJS233*lK znVIbF&`4i}8U>7nR%s3B8B48vQsZ=ykc#lW3e6HF$(zVP&Ofk<*Uc28uGd8JP{#Eo zS~!z)E<|D@PUb52ZO5@hy^ih3mxVdaO$=N}hNGAS{%H*mJ`rTJd@Ysu^7cqsr~P`| zN3X?t>k0;n?iP)Z+T#(APuo1YOA8FIkFVb1F;O!MyDzcuia_CMsp@%t7IgTBpTzCB zx(=*NAsoQDy}h+snzetlwSgAN=&NfS+@LH?qWw&Kmvr{&;SxThGG#jC&qghJIjVvr z?}rJ(pZ2J4nKVWadG_nfwjU&LjZP|Y*yZ*Y&nDMHMtgcd&_#!nySyFT)fn$cSzMN> zah^YvLH-pCf64-m92-wB1wwJxYR&22ZyV0XjU5D>Kon~YW zbhQZhc0`Id&A)+FRSw*zM9rJUs1Vm1#fv_-$<4-osgfL1G_M`fE6JB zJtC$$j>OYsa7L(|!_4*pnz6hU5Mp7;)VC@d)qUNr0%rB-0%2AYbQjMV56wr0^rL#D zGMYo5Qv6PZ^*`q1NVuzzf&C6xo+Bf-#RJz}7J$ttPo$q=T`Jc8ieV>{$p}YVGrDqI+Ec${oF_(CS5Ot)(%eZtkv!W>5skzMFY>P0eBK;UBe9=iDSHv(j zOuml5W*j0q|D0=p2Hi|`FU{5u8@ymb>7cd_U*9u)ePOlT>B}McV$!2_d)gPO3^oB#wL37VPtmriBmorfUy912aZ9fZ}eQXA#fyH zxl)pa3(p=T%tbL(QIH|55UjTGFCIZ5KCH!tWC$ud9$~OOERt@W)(-RBKIMZ?Q`=X3 z4<{}U)SrHSdY6q0JGb<^v5ee?{?WJdoj6fEQ^$eSFR|)}QKZ+?$=dFpjGYHZiA5U? zStue#o?qq@VPWnhA^`023dDpJ8ORr29N2}!JngEry>-8RAw6+$q&ynRoBF1nS87XJ zS-W-&fkH8&s2&~dlZQpBeI>mqag6K(dLuLQ2DPVAq6a6->XjcQPLuXM7a~04e%kV3rP|jdkEY! zD<2l7Gxh56tyL?g&l*bAxXWd%3Yz|!aqH5?&CP6mtzf2nDb5xvyiPL{ebUEqp<|IR zJP)O3YJrz9{g& zS>ls2$0RxqA$x4->$!ouy~Ub87H6EP8fpI+E}Y+Xx}Q{yI1xo||bEd*KE=x;hd#T*Rg zU-#`TqOIPVo{sz*7Y-C~?)ej2w_)#&DN%4)LO8*pN1Jy=E_HgjxU?Ml_WQe$zw8w# z)u-OXkGnMg^lI7;7BOdOjf4Q(dmfw$rg{G2Afnbz#46E_O#g@1D~}0&71K|dpmxcG zDrZ)E0G0O+AFrd(z1V{FUNYpUeain6WVB*>C(-0L>YC8@fgK6J!RHJ6;ZLy&tc+HC8j&lM+?Xwc<-`y)b^&G$Lz3dO+Y^bi@ueokXJd zmpP{6pk?{3(R_(}1?gl{ac?1c%yp0w;ZfM8ir>4QuOs77YijLNvLkDqL=DiN)uC)e zgO^e*gMp#n`tzq7m-B(*Jq_h?pf4Xxw;B{NV!Vm=5WuQXeEGG8?AU|hAp9f3FLh2( z?_3$pDFtL@avp!GNk=qKQbv->wp z{pZ9$pL=(p_}aVjQ|#Ez1#(JcD)3-+5Putrnm#$YrLtIb#>cKoF&`GaOS$TM!@9Km z!GOY0M(LyV)@_1!)ZTfjCbl5MblXW{{`cqXpM}=q5RR|oeo+2tgixnNHBEQMQ|gl5mAm8wF+lKz#cjMPSpT|bmKmW&Lx$m;oAoE1Fb~wtJ2##b~Clw+4Gt{b&*gq-pLBQ#{#{m!U9oQS$9tl0#K*^pBa1f`q!WfV7ok+CFN-4Euzz@3?8;# z!4+`%QYesAaY=@wt}c<5ktTw$rSXA$-Y@}G4$>>yZYSZ`(hprGhkasGZt*}Yuim~Opc zOa*#m6&32KUO@1L1Fq>MH3A@+wM73!g+5UYNGA6Wu-@Ka5LAgn5V@G=bWIeEg-=F{ zqgFSr`KN}x4PM%Xgas0AIJ$rEnq4_QUB6mQKB>56O|!j^G8Xqoh;i6VXYu8vWQ?74 ziKtyU=ucsVH|EJHg0r%hYx1u#NZ(cVS+eOyHFBFMDJq-yfpYzvg@i`kZ21GkJtirc zE5E?M1|U^m^X{r{9OB^-p0T8>x3&xd(bF9ph&A~{P4pkfdO@1%aHWeWklt|YNWO1< z|Ey-zMWaT}BJK5)f|~0_GMXiluEe!eZxPIN8*|5}m%L_|KI?n^o$p8cvsHS{5!$9m zn~aV?Z4&&R;zk{$p2sl(&ibW!MpV4<{xd$g+x~A`rCa~x1 z2~iC7pDX{rTd%$7+&@;DLrK9JXoc$$zt`Bd+~BEz`IWb90 z2AGU*AWe-DA>2N(-@iTxC56)Yj2vyGW{R_4Hguj3Ug`)KS_6tPa_5hX^>RrD?{yOd zp;nO7>4v&*?^1^0SI6Q}LXlzkx_`nTC_f_SC#20?PNoOK+o`%OE$9VCG%?px^}bNt zk3TSeo=A)D-K2))A@r3pnfg=RgbApOnVYL4o{Y^1%R%w27-eWOaQgTYXtZ=kk$7P4 zYSYUlaH;m?o@#d8Y@p-Zk=ZVX{TfHzWxciahX-Uw-z#LlbC#F4cW+-u3}KCHKB11C z|Cy#Tpl0;e1VbfuVIa&04AdiD6C0~NCq9z#Yb?E$dem>!&tc6gGdVMyaYTt46Q}R& z>Cev7euSD652E-vtSs}IMBq27H+!2a`du0%XdZC2neP6MyLo&)@{29T&W=JEaD2V# zY|t|B?dGFPSugiD6y!#G-?|!QWtWQt3PsK@WwmE@f)E$-f0Z+>K=0S4$$C|C$pb3ZM3ajAtGvBaZu*Q2okh4ty?exeh87>d;#{o;nSUCjdpddLFGuZ zR1#u+05Qg09#f5q%y%6Pt3x#TIx&52i-x~WIY9yxO`?hQhE}kGs$u93;GvYpXKXGE z?{D!EUk`>GLE_oGGj?AVP+$x3$|yYd)*b!qg5HFm@_D2fJanG9A z401u1I`&8BlTH}>C=18TlA|xf@zd#z|DbvQ;7yP3q4heW-gOrH3DzVJtHb4c9N5No zlfUX$y`>92+hjk1Sn}K?5u&V&91p=MC*liQtb^{Yt!wlufxNU=)Cqd+XEnEWdlk`2hHe4S!q z4LZ7qV}-iQtU(Nmrv3<^0t+&*LtfNjUfyw@hsAAU$Ri8zkcAuR3R$Ce^@`jpz$mFT zjkZFH7ue&iq1LDa5Ez;XZBtjopKJ&RTF`4S!C^de)iM??zYJ9?8@(!)8rb%X81<@BX) zOc9(K#dbrmPB~)DkO&L%VI`{0e@41}rvJ@&f1|P1Qr{~P~JZ|^6L#->mD4Zlk!;#-w@_GzB zxA)Fd_=<5Ekge11ND&d8emQQyd6!FbjKNB5zhvw-yJ5Gs`Sb*CUBNuMCRSI^JMwaa ztnfVOY5)qF*(1*Xd_+JOeOVX1u_v2)87sLv184839AColhHi8g55q5CL(6wvPBP3Z!V&WWkgl@Q3geUOt`UNVjzC4Ilxr6r(zc5)x$O2S zBn-`Qu_^w8j0Vdwc>^IE5||X}$I9yPJjJ?d?wx(+aNfMyYe)jaI~HFvhV_RJaLI6^ z_F_}HWhDvrzMBrQjmEwK1vZVUKC>h0lHIO)aGVUXXK`5)4%8Rf%~5nTJX(ce-IbWt?F;Nx!``AW1yp zeJ}N`Q?bZpLl{Ozcyid#d-@CW;DD6yMoWj^%OEZp8}L$NQCnJt0;-%NFDt`ZC~jMG z{XD7Ab<<#|o&ZLrWQmjiRDS!rI_Gs{ihmuaIN$2T+KFpcuK)#x)Y|QCi>TMEdrabQjV126h%v?Ch9-fe6NB1Fz3i)anfrN~dk2!y z+)*iSn#CpWZ?_stM#yiW@Z9ScFcX78tYO%c4aUdg;`o?*J?X8T#VSO|*_wgSkEjrY zSq?E)D$ozAII0Tr@wL>j)uqtetke7n1_VY0Le$JROCQ3VIHD0Qc1f+ZH#q<3l7ta?yhSl!##Rbd!$S%X zzAz7~v9aGISqGmxSBem#C#m7#GRkMrpdPNWr9_hs)t4N9+7E@rwF^ayKWQuW#WniI_JC`|DGI9fypPnF!v<}U^8q?+xOy$pNg`P?$*=I47(pO*}E{kPi~h8 zj@G9yp1FL({??)Mr{#?Rwdf=#k&f~GZp;sk>qul`qEZuyqj|2mS@0(lQyOtu6Q3!F4fX$($zam8U&^!BMG(;Z zjU=T4VR1MT|L%yO`+=6TC8H@B^{+2=+}1o3J=wN4Gh_jqIBwc$+7fwr!X_%`>#lZ$ zrAYW47~sr4Mhe%)=LUEv+tvwcER=sK24OBDCq>Cj4OlUXx0E0BK&%|b4~WcQEaiI- zPZurn#N=U1m)MGlt6sFyl$2%$+Ml09lZ|_?d5@3VE=j}y`kU{Fn+gt z5C?{Isqk{3c{ZC!;~>jgr*&)ac#oyRrvz19m%Y%kiyhq$5XVbi%0`O*rGf;!!y-v_ zK_aMM?U|X4w~tS|m9HGy%O>BSCv6Iu0iYsTCv=@DR|fmpCES zXr&lQO4Dj~*Ca+ibv3DHy-z6M?I$0R{Q!!(L96Hh$ZUiLEUc4sEt^a<_@ko!7KaM9 z%H<#hF+Kqi;jDsP0bO5p-q(|<$6}fvF2C3R)|eU4bYhV^BTs#?yZtI<&9o1PWe4#` zC;+mr+u*43n}*rB&7!6l1E*J!&aDOV#OK8+%|%ZNAA2t;uZ7Z)tBVGt!W~n3x`!lJ zWty3@*Gzbk%J-dUD>M5ULQYg|MKYkQPsUDU=+j)&%GT)luElq;TVclzp@5SReJhOo zd0(ojsR`!U-hY43TaXCMk86Iff~&r-?E{YgwBj82BNi02=8`-z*bJz9Sbv_P^h{%} z=Xzc$t~OluUnMw?*B?6r>sIbrcQ)|+iaBRGegqn6d}g(yf%ArkWWVISqcpJf`z zAIaXZ(qtpEmf@VPbq-u#a|Xo`N|_UU8TlEe0^ImI?d~;mz4V%njp0dwq>K7~>ta>6 zq}8Y<=e!r(YpY~&6xd!i4h(`@F2Abr;j6zGV7)uZ^J4H@$IHGNrzT63*{$!eo z;^=HUvejewO43=UWkAmMGzAZiWGJPXmbhT+AIBPBGg(+qLMeb_lO1(Uo)+#nmTrkbZul0U5G|YO5`!D zcB);y>zNX%>MHo#`}5t8XM@eULXBkT67g=Lal~ti-gV4)++AL`x-Q(Dx+;g4B_0|!3qRn7qd z@*r$@pg!;I?EzbDUtY-mBb6N*=j|J@kBZ+7CJI*Z;kGE%T!ZLJ_bQ6I%($YLP@3IsFTYK-XBRiH96QXn_JY)8=QugFNhuTw zTCP;Eu}pL=ykIM8J#`%=gU>cVNGO8)t%KvsXmlmdmFOEDqchXd(dKRLz6;$y;COtm zHT}L#KKcGB_oVLIAz&dy7;id{nNYHr31P*oT&Yw=gh(6TUUzvxt^%D}kNU|Tt9n*$ z$N*3n@WZFA5LgBwH_PSZ%KCZx(UI#HW!VN*~WSDj`2A7yiAI(dG7K%F9WEsrvTz zsVvpSyPHH_Z=7P`zm3oV)bpV!(7@*%Ufd#FLx=U`w`Nj=EiIK;3`7{rSJh>p z(T(jP$^CIP0jb~z3`I@Q5?dV@RvTn@C9Fib} z=zsN;r;<9rP;=8~rcsA5Y6}PJ5?f^`&m>3rYND->qYC@>^en!wu1GCFalPO5NK+d>Itlede z842Qz3bD6d)pgD!oyI&Uv*t@HkToh{9q{mo3tSGrWT?yBO|m2c(bsmTR?xELezXt# z^^P=ULy13WD#gmlSC~bcv(Zit;T?HP2Q=x`T|y021Py^c%BHtOstA|ZRvFd!#yJ+v zN4O;kb~`uc{&>UG&`K)wuulc(^;aDBUa|$fLjIE$EX?2m?gog5lS4y3M-rSrZY58e z@TVN=^IwP*#p4lW)v2Qy_eKdw|oJ>-WOtFZNK*A>}sL&;QW?{6my3wmI z%HKA;2txx0&JDFNJHJsQ@z&cOl{qNQL>np>e(n+~hP^?s16u_~*)b39YrXhcHM0!_ zQgMf#*F!~Oc%Kq3wLCMIA6dU&PULwwjR}-XAw_L0==WHSu`V_;xjvGfkdvMD5g4uy zvvl_E>`;%fFjFvux3D$71^P6=x4V9Lh{j^r(L0>NvJ#Lx1ODLO!_3idjvz8m zAAje#;ebXow-w*?=NfR0lhZ&m*ap!~&@oXe=`o$H%Gd5@_%OB%Y+=!pWUPy(084qe zqMK=`Z$cOyxeUYx%=X(?mC^raDhJdXcTdxb=Ud}KJ)XbW7(zg-F|ZQWgvhK}i^8HZ z(JI%!39+BoG3l}gLUK8@J?QR!PaE7nVlG37E0wr<}bjBnf!ynY3UIC z_z##J*-eH#4FM7~x0y}0OFUBthnfDEh4hWqk<_Q({H>!HTz4~b+<^oZW_}6}7N%=W zE%Lg*;ux%+lsSLW@KtC)y16bRi|PaW=ox`gG*#}qKVflT~NPGmbMr(5}a zo3Y1hDMWvmfRwwH!t`Igzf(;6a+Spuq)1#gWzFGddYeAN`fVO3jI~wpaPeRbF1FZh#lR!OQN} zOHWUKy)TlWq{4O;$Vl?-97q9P&r$}-)1dJEr>2%B*6#Ta(@Dtm?%ba-plG!f^q)%P zKm+w~M81YoB02fqV0s3_l|9Mp(v5k~cZY^k=5hhA6Q@%JpXS{ow}>W0y@bB->jV02JVEz%BCED9(rPQ_4S^;K~ z)d56@k4f&ec1n9jKLI)JG~>;zhQ-rJ z7ut^!1gNNPH*k)&zBN`Y>VF#D_!Q)P?g{-(9SrZHAaR1^RJTI)%6&(Miv~A@6O|mA zLJdMtm$C#=;+y;p+q{a4v4>`IWT;?8JF;uz+Qv$&oBQnvX|}Lmj3p2Xa&b6iM+Nr$ zFZ+b>?Ci|nvEv@u?`gpApTh}7yEL0Y@)dyx4U&JT=odXdE6FY6^w1tAaKMhHO`UlC z84=yZ@JK6oJ(XTc#$vCF(@Xk1>cj5#l_@O2wA=7r^R>C};vsG$g?L@d<^$LJoS`wS zWp}iFcI#qfV#b+(ITCo)ALqtMY#Kk4$VMsi3(C+$ARJw2P-nTK1+6Z<_qJ6LoNj)x zI&kVpYVZD&>HslYktr+`OfbON<^&|CbsVwY2=-S6664jY#OdUh+EkRG8NE-anWM6y zh?KlM4UH--M8a7A1QQqdhD!HI>4>&(KYk-My!2y*+|U!aJ_q65{hefdstTXCfMVn& zATO}~aFLrpgmQv58YO0Sk>ZdPm)J5d*W;HWn$bHq=m|lfrJI6coSS-7;<}Zde?~e4 zdydyW34ij%+}D0sTv%>OMdJ+)yJUm|%a)r(MqtBZBO3vPbbb^%%jpt6pg5AXtM3&Vhix)E$acbWF9%JlKk_B_$K@#nIZ>ZDm&^>sRP?cHoZ-9B);eoZb z${EkG<1Gya3S^qnhq=-kwBI{_nd{7G`JCgD(|n=qO}-09a^6-~ulq2?*R}k#J4RW& zuK@+c49vfMTA&Q%MrKwuFh3>45SF#j!@4n&eIS|HAN!&ryYXYLdeY4YqA&&g{{Ygq zvhrUt+EX)D1BO}ea8e;sBt5=67X}JIqTa&|;^WyEzG(lPbcC8Wb#h&65sl`gF`2Pl ziSbfG{7oZXtzz;{&)Mn8J*Y<8X}E65$O;m7Mb4ylQ?Opg0z7=0&dfkDK!^=XGJ)o< z4@K`Q_NdUtdxj#KPhfdn&kx$f>$FLy69pMX)S44GvLrj|tlG5o_HX$($>AsLA|qzu zV3Q0~>t5zBL019ACOK5UrPM{aFkA{j=CCB-MNpT+V2RsZa9EHLB<>hEU$Xa@bXmNM z;2kR&vP_jsa`DK^EVj6 zDWW-A8w>;df3tZF!j~)}I`^Ui^>lNHF{7IY&WhynP4gMJ$yOQ{%suVg8I{zKk2!)g zK#Yo0?JHm8bIqb|!U zLHs^sGtYG$cJ}v)bbx7^V}!Dz%Cn;qAH<7EHvzTEK6!N(P-Sb|Z1Z?b>OZNyFhJcH z(;pmYT>VBw^e?;aw9UJN`J?GD!x69eGy-_)GMDZ*XSTE?;G7j(@GcpTLE+x~#X{tZ z??0HR0NsC_y10rH@=Zi5W(eM{{)8`R>?EZ>#f4D@ zp+0P+dON$UYIfTF2iSGqXLL4e8EkwZ*^rJvU+EbkFt(wjDNu5hDlb@{Q@Li31>SZ1cfe<~d(PTt9;3O2rjGWm#|+#5zIz#U z7>6ycJKB|VKo2g?M6Dqo_)WhR5Mg1L1b?9lTKWkOTP87>lY#?>CXN>3#qyqJvhm%Y zVi_AL5Me;Aa7}vr6oeB+BKJ2k8?>{@B z2}9s|tg3|o?JQDBxvY+xwf!y?+XQFM2uMRAOc!CFC6hz^S3h`zainzTmj9c1F9@dr}*Xfpl~)m2MSSDva9nApfh z{FQ7Y)2SMZwf4^V0n2{=wL&bs7;~^k+;c=_LoMGk23^+Nk#E=8g)hahj)WWNbX^|> z7aKT1&^eR;=<5}eI)nUQmS3bPl{N9UEdpn3b{uqMK)hcal{Z{a9Of0dH5lnWA?_WH z0!`&se%sN-vE6l)Q<{gS?eUPCUD#0uLj7)0*3jj+qw@Xt(6zhhwVJhew3Ol*m}a;T z|DHWOqP2yY6s^x=v?xJVV~ki>ats~hVo&3ote>1~Wa~rX77q~so4S9GH5%{6ZfZOx{pwr*fPp{}!rF79A`g)d2ha*(erO{mJwe9kjV+}#uiakZf(!K4N`5o@_v=5I&M zeihyp=UEsfv5igBiiXd^3JAyd>KBDuhBV%PY3tKxDn2?%+R3z|qzWw_{Z1_h|IV8+ z=sucoU3zW+M*zpFM>$g}`Nt9u^CifwQn-LZ>yLYP z$0j{&ujY>dT|i|snQP|&YfQ=FY#-48PS*7yKrmyj1Ej*hf@gF~>1TAo5MVG(Lm1)w zjdz&t(7XvP+ws{@D3K&`Pfs4c5^!bDPJR;#Vva6Lz}&u5GOkL{m5#p4B+G87{|W9u zVHSKP4K>AB@BpD8u*`Gi;zEY1!@OFUqaHah2F)m`%_Qb}@om;CTE)Ar#LclLkTzc! zhBvHzOz)3t8 zSIvq^>r#3~*`gpY^f@>>uFQ&Pt1GFI(bWPIiJl&!ALo|kpa45K^*iEj?5bMRfW%8kxk*AY^2kTM;5dvoG?eJ<%;cXd{l0V{lwSrm3Z zNx|tO($MYIe@F_DF*V>@D7$TH<wZ8}7Me5tB6jLj3 zt{#R_St{^ToiH!c`>K-JThj_=GJyD9 z^Pmzg>ZYzz*~~w1pEK82wHz#Se}^#mdP6l<`YQA}pc$ zwr_a+^MCD8s;k?BEHSvrw~zQ%<~G<>mW$039qU*X1n^5(k`qb?Je9#*l0I@?9fL&C z8$4*!`4bj02X*$zO7-Ju8d1=Gqg-Jnq77@~wzzC~E~Ev05Kn!URoMe8EZ&rg^y$ob zfduxUr`&^AZ}Z^lzO-xXW90d-$K-o5NB*Hi8r_(kL;_(4@n<{FFEKc(rVN0+} zZgWdaJ$z!Nd=A}OhRcNtVxZLK9gm9UtE-FJ247oXQ2OVcPF#}$y<43P$O`4d+&6Q_ zpH9?Vi;>tG+@CPOZ)!HK&@)mUT&I)qrK3NPr);wUk6~<#>-}-x65m?(Q=>-usQD*k z{@5dkzm)QnWq7dE#fMoL?K(4p(f9f+-bFJxKrZ5X&*SasapSu?)*K6T6rp=%f$An` zI=9%?lh%6jeN>$8XVhOkPWPnV3o3jZ{%r|6pQh5L+uRne| zb4!a5=gB;Fq7<^0;5>E&6H76aM0fGbGZ=;%`%e-7Dx0X#(9%UB(GicP%B|<`u1`n; zs$%Ihg4M4{xSYF(Y3L@w>euYhCa0n4-JUItue-F{1HE3}tV7mXu?Kju-p%g57QZ>| z3Ao9_Sbb0USt8+ZhJM&qp{FHKaiKna6Ja)Im9&cT@)t*0m%K}%ucX0xgIH`o01LWT zh;UKgshYlw_~rms{Jl}ipx@RS%(|-bO&&!m8{eHjsBereJ?|g4g!~>t%g?`08g^}G zyaB!g935Bh{ZKOfxu3^6s4_-~q&C*O2A|&Q9lsf2bqzOr z$b?)_RWN#lh<>rlF1@8Rz!#erXFD?CA3Ogkv(||&{FV}&YidB~=Erve9iGcR6`VL3 zvJrB2Y&54$c6c}cDuMMMru1-By|EC&5dU;5kUopw4n+sfi=FJ=3-R8k?i^{eMYBJZ z?;iBmiEzc1@JImvRl9#MYc_sKlu^SeF(YiU94C-? z@4av+92x=D@OWRzNW^5x#YRKAOT3fHHE+C;)O#WiLX&2H5puX3N2&)d9>9A6B_ zT6G}yi>HC>2N`(r(6ghOb}YeRyMA=jX-Rc6NiAWZh$fKu-|vOR@872?rxu{`xD($< z7pvIGz-vH|XDG_wZ_$^RP&d9dYMpSJu+0m4d73o(2!rq zl={g15;mBpjb0I%g;PLCh38pzOMlW^=;8R_E;N%({Issj9C^@)4X@6=(*@@~Auvv! zer``J`Y~t28^F<>c?=wOt!q`{=k)icoT2Xjv`sr+U;nks{rJe6KyyQ9w0nXRA0Jy) zcH(jUXXv6gN$`wK4krTQp1LMNcK_+mYyUIl@)9c6_Kkz0<~L0Z^S0#`&<$tr;ZCt1I2jt=qL5)1nWdJ%9(*@a*ae@zf9W=fOMO zvP*Cvn8xz`*;IiESVh0KC)DdsZ*{@R&QZD4DR-CYviA5WWRBm3or%%?JefC8@msdM z9mt2bqeI=ikV!3iBB}covh(yJuu=XQ@^s?%s+~>fF&?Zg!jKw7O{iP2C*~~{{>9Fn zpQ#(PJ!oJXza=(98^NN!gO6ApKBb^$w`ky7Y`jx`)qNB^-4gjP^L%0Lx&c)^U8@L9 znZ~+#puF59{QF_LmaLC}M4bfnSDvp@0>_4DZEI9)Thqmgg#BK2JCMm9-`E@>zkc#q zsa|WbRGJ#S_eY}hF$k_bTA!oTq_U=Jtc|RPf8n*vp+t}$0fO%7-|pt!PBBv|8$L53 z@JA_+Iud!B79=(T<&Q;Gl2JnZh^<6~m&isW7L5o;TtIWre)&;?94hodd`ffDaK(b5Md~2jv1$xBZ<6 zSuqjXE)Nd339);Ec;pYtv=Zvj{tRL;?x4raj&^4Gk1y#gwtjq_{iG$h;IPGXnPez7 z!8eC&R479+y#JKh;U&;BsDLAr|904%VXN2~l*`M$`_1M=x~Dt8+;a|I{e^yX&}7b5ZC*7P zLwu{#?AHE(r!{$C+a?$q`*91y!g|kqB~Fbj6To@>;)^dTr!;KU&N{O&HOc;HhI>&{849K(5;i3;9wm@+A9 zp>tW09J`DyTh^8n)B8D>-E4*03d?!6lrc%q=;h;sr1sjn>yrbyokr&E(Q_Z|)yB)J z7R)wj@uM1{l~>2t$Ja&sITj{wPUM*97vN0e?X=-Z%2ZYcjceC*8>KPKXvn>zZe-V_n{a6)hD^ zNw+mAe)D(`X89TN@0KNOccn8uStDYn)gt0+t-;Ib0j2;HhEnmA1atYc6U`FZN2QU^U_$LcAwQ? zds9&IJpqD$_pBxm$6YK#`y?8TBA4v>f$NHmAgl5N>0hs~VZ8bqQ$d}2`?0SNi*F40 z+HAyDV+Nm-=&#Y~#xL7seJWGJ3m@FXZM)PFZ+2e;K$$yxv`fuRO{na80$H*5`R2a(V3pH8T01ui~LOSRSFVC$c51FB<*nD z1Nsn}4}Nmx0Ylt**C9LsgWrP<6QKV&Hr&>HG|#8%o&U>g9=KHH!*zVUfKUEWIA9F3 zSpGwAiU|FZ8k34C)yujQ9%8U2Kh~sf`EWwSgL+*_#Ceh=<24MO+b-DUj&-w7d9n3; z1aTV5A`vd`PnpHf5Lf^4+CJ7jVng?MdbqPH>*00o?69@}%ojYXxWVPS)+E@e-RFR1 z5|Zh)z7cwZkEi;2g7&X1tIp;BX!^$RxVpCOps{V+Rx@#9+g4*Xwv)zo+Sqm`wi}xh zG)ZIooBR2W_wW3gee7$kwbw~H@9;Fqcc87gw=!-1&z+Wwx#P)RBwew@ST4KDuSq*OllJ7zpqDd>wdm>G|9A$HD9u65=o ztrr3AI}8DyDpCenc`zS2Z7v&xJj-Tlnbt(M`v9V>5$m|1eQ3)qbNKx z;eA5TE@)FKb9EU1veVO<4=p4X?wOIEIbvCKbZc#1x(QvVr`hD6EoYyti<~?|%1Vi54d@;Gy^ z41K&|{g+R?<(Q$A8Q?dhEb<=K502wLZ##(*?@%0`eBX|ThsJtpJ4ns+gwxiO zTGzb7wn8Dc7#TY%o70}qQRw=mgX?FIkP&OAn8!m}*1!w>S%;(!Owz8BOWgf_PT{On z|17(v`PqM`jzQmjsi$)o_G~DAUpU0>CQQsXvdZDyo)t{Bqo`ctGQeo6g(0J%H~AR? zZKton-CHfQ!7)(me!g_4rKi6L7D%1 z%Ddyo=k$HVN{jZHS}Z4_od64!RfJIuX~@EAgP)+Be$JP+Oj9jnI$~65VpMfb9|f%Z z`~vWv6opO&-k>2a{Vl6s?@q8B!HobhduxIjXU7Jew9843-Et^Y%Wm1ls03ZuE7-z^gnd#IVz;d$jBb90<^>RsfR9-w+_=jfWA^~{-Rly$lJx4o|WGY4(s2=up(Jh@8 zmSbA}37x{KtOhU0R{EydFwJI@ zr>Z%j>U`BbgTq6(U_0L$R+AA9qPd?OqZ32Az29*2bVdbY`UR+=N3UUC-;n}dPLKjV zPOO1ly`$69DDevzqaesp5b2Bn(DxCXErr_qe(tolq+);2BymlNKEvpfI_9z0m7ed0 z)Us`*|Cmgyx0H2QwM=Gj49SB!ZRwG4#zvI%j&F zZ>`!v<#ERDo`Cg%`3G3Lk%u=<2nLaTf`=RB_LPCjO~-*k5Ux}#D(QPX)DcA!0K<@8=*HI)9%)!nc#~Z;;z%9yucdfSvr%&9# zPtU-}-p{VyL64?jx;0&Xm@DojxXudGPz!gNjUBvo9-l<9Y0CPEO4sO&yq8XP!B!!$ ze{y8Ut_+@(`l}N|@k)gJtf3_ch70l4V@9Y|Y3Ek^HYTkoF$oqgr~kaACE;}6xRZ)K ztp}!SgK!UhD*mneQoRckKkyTy!c#C4^2ewa;R{ZPrFdY@8-?3ov}h)?)K264ZJiM+ zk$h!~+ct=ry|Sl`+IV9P<WlNErwoKLF{HW#+w&P-WLP)8s3nTU-2 zxEe%zdhdNh68=m@o*rZe7f>8mT?z-hMfHB1^^Uad_=PGL2=9Gt89JsCwjeMcd+;M~ zo2Onj@2r(<=!-Lh?gi+k34;;vKbsLgLJHYMdij_)Ays1|YB$I*A_Eqcma|X-;az5?F z#$s#q+BU`M9lkGdnmtqJzIUKQ-d|LgJkR0mX$^HtNT*VnJi=*@;m52uY^Qr!%W*jm zt?iz|)n1$|L(oWUCkLacIhG4ruqgyHc<&KKM{IW^t#z1nw=;t&(#YVcr#L|vMTi7( zkioyd-Nf#^U-a(wzFqWEx(jpUm0KH}t>8g2%14r~A6VP~*=RzEwv)?`F<> z%a`<=IFoJ(c>u)PB*7n|S~W6k*SuROcC8;)l*N-UxzZ1E8LEsVTPb$9rpnhQ@;_Nb zbRt=NWfu8&^ts`JeB#$8omh=yBHsuVuC2%W=5F$EmmdssJ~GI92%$$sK5s=P)t&m- z!b^6v{wzr$QALfHYU+p?M39$MEIX@O(cmVMOq@)dp{=)>NKLHRrimrz5Z+=eea?my92NmjW!zOg-mGS%Sp75W zQ3nsfm{jHvJ?#X2^Y9UdHz_qr_d&(` zwfMG^UAGf=SUc~2&g#32tX=D2KtJ(`W*+?r3M*gYi3c+ew}SdmKmoGrD8scmPsm?g zPQp@~0q_sAGXlh@zRt+wI{g!usXbFAow#p70qFzu769Hh_PI!?oFOxu@!^btL1^vqYQuK3;MDDweN*_1D;$N!naB zllg+gp5Zzk5A(Ph2lj^SUMwwJ7!P1@q$<{$pcE%#LVx(+TL7Xt)u-A`Cf+0eg62ye zGRl{DS!s9*?-`PKtoQ}UND#&>8{5;#tu;Vc$m9z8>H-x+PwFO-YzjUFl$DjA-k!O@ z`A$`ZbzDD`ER;G7c%bn7<(^B^%I2w#cQxL_V??6zL3vK|rGz?J4zKxLAPN_FD}a3# z;gh|NZr{X`q09!K(j%~akzVYpb)wbs1~_DAXUrqCY^m_HdOBm^BQ0#5X+Yb2_bK7? z`crhPzYHgVCR2(32-*Xdowuf5Dn3isHZQuyM}qvxJv5kI1GWrW%KU4nL^uD#0tWco-KpmtHt?Mn z5Nt%;+}Q~=A0i8Uf-LyFqkA)+F(sFSV~c<=GXVj3UFStGhFFN|eG%d+Tj#aqyPLn1 z$4U6>R9#((ce>fu1A0~ly1lcqFLPC08gY;?a%)!)Yw%ad(ryR|74$t_OOm4ENh)@}5ce-;e9kFZ7Q zMadm2siNo#bB!ji^=@YzE%BG1P^`gDO&lrAbu!Zqk?&xsPL)TokEZ>OdMbI=7j;lt z@vplmCD`b7;xaZP3)j6-50wCB>~Gmbpt=lSmdedPcu0ybe%}8dV>r&hiv>mHX32P3a@m#=1DNiBzGOs{-Al9lZu8i5s3Sgt2A7WjU3bjfaqa}PO5 ztz-JoFYqFxTWdN~Sf!^%2?-CgKmU#j(pe0`PM_qR?~KSWRUo~~Q{G>Ql%Wv&2Qc2-C*QS}6*oAwl`meO1B++4nF z(d;?+?AQpq3RE8n-gW~HccLHLe3{)DZcrE z^Mz+;XP@3LKP6|1*@0M{rU{KMJ7Orrn31s*jg*?Y2Xn#=B#UWltyDytSkRGFDwl{b@kH4+tB@_LIwqa9i^x8SH{dRBS5bnxUC;tF=||!!15f8WQ%tJ9J&3E(-hXY^Q)2Ec zSK~qKaQs1}5A$^MYh@`793{B`1XvmT?&9aZ$TVnQO65$tQ3X>f`?yA^qF(}GgfXV zw!cZgI-^+2dp8jmX=?0{t}_)W%66chQwz@lM;Is;A|wXcvU8g-el2Clk=g0_f)>>H z;}Qmb-fh;;ET;v0pRjL5Y8`IPcNHRNvD$?Yo7w%VkP7eSUNigfa`q!MT^RIf^1eiMQ_~`$6sR%Alf9#80_I>N`QRWe5;lsUYxSs$W z{k1)R&;H;38X5Qm*Pqg+|BL>UX7NCqY8AQEH#e2wP+Jncg*Ig+>8#iY32oN0&jNXVJw+q(YA4Pq zX#4>hk962Y@Vs@GLK#{Ej^8c1;QRhvflhJLdNwm>NzPj9e>yX_p^G+S$ zw2)CtP+_E;$qQN|i}h9Ef0-%3a~ReMg$JR}dtjh|&%l$ZIQ)fl90B?^5~pM05tpG| zlGZMiOeYSngnl%eGjf_il*k}_u(*i}kSVaUC|+CFp2u0ra=#;Rtu#1B55H1Yqz*W% zW?@7ve1b}sZhpR_HLQsY+5hvL(p@5q@nSZ{yOb`IA>Ob5x?yFfySWLLSx&aD5b~+L zCeDsWvcU37k>jGFQVtl+EQ1+yFM)s8)qJqRBB6c!O45K{z@Fu2$lx`^QIzS` zs=bswFBQ0cgo&zIrm8Rn3tTZHHwf#L!@)CuH%mGLzL(KD3;8XdOA4tO9z*|Vfls~F zvsa#}Es)linn7DxIO$FQ9~dzR9wl#E6igwi;jgh4I5SB?u_K5n+zsc0L4HrUVzh(4 zxY5rBkaL}DJv`;XAU&wc%Ls=J&&~@E&FC9N^kgk#4v4NcHEdGc-roxM`!u zbZ?W7JD|tFCuqk@M~?U$cl7P+sP1<8o$c-Yk1atzuTN64%gY7=Y2@v}lu)?c4ui6B z;ypmLYu(h#{XadJ2GZ6H--ZQGp%QOH1Vt~s4y4-ByunP}THG#NF2Fg4>jgDbc^s_2 z<*{EU!-PcTamR0CK278pn!p~(@ZWq`&9XSlol3pHe+@fiUyNfo=U$sHZ^PEf2XAz8 zBkdeA$&%N&&kw#K*ZbFPpw(hj2Jju1S}fIM3u45y6ymeSoQv%?EUrz&Z%)nFT(pR* zO(+3(eYVxy+LqPLzYF<7bF`L#S%Q9xwlR+IllQDFSl=U$+E+O?{~s z|CZ96(9)NU&37}2GGZeOcb}5^)F+va-&*;^>TCl&$gK1%pv)wTnf8WSfb%0}f6o<& zX~^Cky&tFgIM8$JP%y1Q2&WzxG_yQ>T+7|0o-b{*Ko*0AF;xo%v$QGtKY&(8$lMdalZkUonQ@bPRN#vTlxSqg1r zl;5yZ#$*us!sT%fsIjIS?{9#G30_NwrZd=Ga*rVL=>UhzEnr;Z2~xi{<*_0~O=}$A@g<8s!ZC zuik}f4eZ-<{uV`n)Y2SR<=Osyc6Tm| zd}<^l+i3%DGEWz%NH|>g!KMDi+Fa!x#`E;C(}a#DOTof_y4eTm#=gz7Ue#`1mmr)~Ns7kBs?o``m$c8LGP98g7G^Q*;!_T!&g}kI%Xd6m zaDCH=Cvh7E;x5_HF&pym4DH&`-?abFCbb$*1$@N!<1|8^85EH7(-Co1EL({Fwd>&u zY>2R~ysF~NJ$C#Z(`#jbr!zBNECjP~Jq-@S9&@Qtxy6MZjZH>msp(tv9c+Ymh`ga5 zu9%{O(OUl*LQRvS$1)c?8{DrEfiTqi>GQN%M8d^c<0A>P!&Ni;H(|OfJ3%L49}o<5 za50X^XhbTQ3$))q(M3Evci3ynSNbEe5GGQ`uALY^6N~$K>UAFzh#R6yTeoZ~)@R(+ zZMS)=A++%*i)Nzn)JbXV@S>F;a({Jf@i*4>Vh)UJf7Fjoe!$GW3W4FmhK(%~e7^sn zZ!2HuLdb8VyUlqn_`IvGe`5#+%0bU75NXVU4R$OPw68*?>Gm zUF9<+Qv2K&Lv8mn!DW%-u`#Usl!mzDzf%VO(;=rY*-rPhT1QoU-%lp`Fyn`APai)U z{@ZioMF3s&h&Si*QNlUgvHA6Ci%Ot zkzf<0>E^&Q2F90>peV?LR{Rkn`?j`KN2mIY?LMrb;vDS1QOzvF&tj>*V~Oy%Dm;E} zIH7ia4KeKHxm?NWsy4oP##?pr*GI$&&E;!ukkg<8jEbx0G_lB;>Qo%6Z)^ePqJM`? z)fXy-G_Wrm1&Q{)f3I?|!@X$i4pQ`Qtdv7!a$h2bMO|G&;&EoT-kxu*SBr{uB@_qK zOog?CgwRr7Ra`$5mLZZc+C>`1x`#!1Sn{#1#WP>IEPIyj+_I?Gj5ooGaZN!+6b(ELzNWSk}_wNH^?3$tEPj{CDXzKtFEi? zS!cp+0>rhY{oqdUbj2A$2{c?Q6ZVh0%&z$_nsmsh_ z#n{U!oXuY5Z)X5PRroQlb89dd=qh3W)#Q^ipET#j7CybcoQ6gycKU~4TfR*?52vwq zuB;V#(zOXo`B^4hXc zK3^!1Vg;`;V+AxRk?O+*n^sJgY{>1KtA9ch?2idh>WjF!`KGAdl3D`RJIl>1wzdp< zisjZNP|4ZgwlHM68TP}*M%`27V)=;|T9ZwQMMI^jBN;GP9d;x1+pl3~c7ir>kqb6k z`6-p8J4)FZxI44OYw3Me2Jup_wJS9P)P^epsGcOKnNm@!tML9Xb+k_;M1^~=k<#$9 z7S7fp9`c81>lt|)4ywIxs8)^sTMD*KBR_82&-;Bj4#649^VYS+w9~0|7%b;2l zT!cyUZJ552UAi2FxT53`K9c+ETs4Ha_9yw&-&#=3bdX! z$%=Bn-PDUt4|MVj2EN$*Nq}3 zVCuJ>1jAfGUuDD{emfw07d({&;0XbCeFiC$1%_V=e;^iIT=V-yFM<^+p?5MLU9VUL49GX;+S3+>NV1!|<2a)7 z6J{R2@^R{#b8z)#0l!?tsbHq-{vq9qMsN%R8ALw zT{9-K)(3KAs+p~tFSL!aRak^6{P3&>jsx2iZeuH^x4}02bD;N zynH^I!hKkr4{TfW;;%H7Ndi($D#6SJ@&W9(kd2FWUPRO)rJ3_s{oV;KTxLX6wDGHo z(rZ0=7AqdUNSA#05iBDva3WsFgYcKq_MU>9TVPQsi6ojTsC6kSM#<=!PVU~61o>Ku zlC2T48yvmltzsQICqUgK@n~%WKc9F0CZ2Mbl|o>pd6sVSrRn>c`BBiI)r@($cny(-pgQXR0T!>Gz0g6NWyeyB z1eu8OC0<(S9Ld+>FbFEx?T&iOds4Vsxt}t>)aIswm_VVF@?uhjQ1VQ&;)50?My7r^ z3iz?%huIj%OAEXj+mKwD%>weHQVr#V8_N2shHMU2s~iYWyvS)Jh_|v+IL~^0?jqb2 z5d2W!xb_-UQYw%oR6cYl)D@;srqrJ!)W_a+(>qcuskb+;q2^DFgupkdC^~X5nRx*I zJW~JGAQndAq3L6Z{u?BhDvjr1WT}a9nX9m$_@&r1nHfeW(*ikYep7Eap}6fmH;r7q zZK`$I#7gA_tHr}$)~_brvniydGEU-e_wdD6cPHFJ`DKj+|8Il|W3eavrrERrA%JP%ra3;`Q~#iMB)I5I zIF1U6%fs^#9vPhaG1&Wt;QI-Ih{0O#1sH!2y%fzyCpIsPik@fDo#Qx2Rj3G^$7#$} za37YkqRUp?GWHQ}kzB7MCARu$7hUGQuJp$NkX4C(^Q^jFWmS2Dn0WG)u;Jwvi9j<^lScd=Y>cf_7W*O%#zQSDqw%B(u6_I9sY;D zuXXC9fN(~-mXvdf@CkWkTiUfuwp`Ne12Z(()$y@Vy4YS=Q$i4nTus_m2^I>JJe4>9 zcAcJ|WXRknc)DrcdUK7is_wk;RzyqsAn#mnT_>KWKr#DOF7QJ9sMJ4yKhCj6Ij<{W zGzfp6M~l3hRWv4 zThU^orX7r=2bFOe%LnqrathPw&M)l9OCB}<6i=a5+NxB`u-%e9)%O+6g4ZzF^6DT_ zi_vJsXO%fsAC%Km9Dgbce0jV@{eX$68|l0Le7g{V7S+374(8TTPYo&j$EfbqCV6Hd z1J@|o%#6-_lN4i`rY`OQ8jIEez3$sBc>(_7fTj`%Q;!H z?U7Ma)&9D1M28Wn5274aD3%0`p^FL?Iue&;D-9K9@OUtN2z?Ox?q7%j4Dy*vx?YJZ z{d%gagW&!_r;DqL2ULI}d?a)a007#%;@bSMZuf$?#t;=HH=!gC!Z>(Y|E`TKS>cju z-&YYMiC%u&NdkpQ!ytzzsOzu1wL!>rDq96TWZrkUvwUN0f6hZygZxFPNX$tMeySVR z3c5A+ns-OR?#O2xT(|w^E}ULE=}8v=7ZBgjf!UJ|Alxow#}tNO{Gm?6$5c0<5`zw6 zo=&b%VArEF^Tt_aWGPY7iq`z#`78x;TAb+G0P)q;{Cy17y+~>XPQR^VA ztMxDFO1uNYPOQX)V2b>d(O0LWqcNh3WJULL$CpAoUO2XD8@vEPJV6R$mWp~k-Nc?; z#j?S{lFiio6dKPXOmjLA?c z9}hHE!fw8sh~v)UawO}=VSj;Ku->0Fyf{&{CkCbNFZ~#2J=uZcrFNf+PSOraPXJrc?bPRt`uJ9{!PEAtgq#hsf!ljDK9&cWVcL|A0%DA%W zYN2^KH2_uOz)BHBb!-DEW)C#7M}(dT{&RpqNikF$8ZHWNw%gv}p8#@6I6j60W4e1M zC)Poa5VYuUL7}@fq^Y^c#8aeGtWNT=#3_M@l5>wk>OslD5rC69)-1rLmzn2Vxsiw^MgcC6w+esprib@0(X<6-~x|BI)IK~nPp5*jz zG&SiZ>tyzjieKLgVbjyt?5Ow5rW5SL2>H?&*^NSN^0Thf@hncY6jK?ap_%{ATYs_b z$sq@2WO5HSbY7KkW1yOx?Wbp2Ou@z@gdzNbCMKblFs&|ZhJg!%AV=>b;*SwEA^-LV zdlwaJ^8;ek*NYk&j+jRK`?4EWA${UKE@5Hj<~${2Ek3_YwmlAqrH0Qp+jXN~q!bmG zxBZGW!J+gVW(|pgf=bls?gY30D0Tc*S<8SIfE9^Q#H{JeqwYc^^V&ve1SrEK#Wib$;AcO_cUOx;XOkvP2+5?$dti=;;92Zhz-uC)bs%@y{RsTAA} zCJWN^QtFy=(TKyS$NZ_suvRzIe?`amWW{=K zV?40yel~`jvYSAda{DnKp|KCcDfn=5jNZ8gur+MJ$<$aUQn1EY0j^nXa!CE7u_g)=rw~vS|Mxn{FDS zl4sDcrRC%&3Zq|Y*_ZvouHT`0TM{dYf;wf|+T#G&3%78W57A;Rn}%KrKJ?JZQm??R z9@tM~CxD!M+8$6_>+eVl&*G9ux^B4M{~ps6%YQ~IXP72S{T??ywwF8DPS8LAzEKq2 zLhu(9B>{xg2zeNfbE(l#G2)2l@Mp4u02e2&UGRExSDA92mp)@XKHHE;zUCiAm%dV%B_Q^UK z^bOL~$`Rm0y-P~oJf{KxcF`nyb3%PXU&qAm_#eC?5@?2dpcJ!JO|4)Z8ZF$@&d`9h z2Ng%bJ9q;d$z1hEzm~k>!fhy-WSxZgNKj=KqU{0YAz$>*y6^6z2feZjzGimi(L(Ba0xng zk7Fe^b?rNV#}fQvHB>E{daZ>P@9{He7zw2bM?Jb|n{b_A%{eKK_^=h3rOmKLi#j?> zwxVQ{9vij;(Wwx%ppdxDNTA+am+9-)V|s*|B~xA1JV8s0Y*X(*wQNI_)ro_it;r;h z{e1GUFNZMqvyPAf=3$+gSla-(P(v0uw&W(`9=hfHT_{T|GIIDAw?O>uVt>tmGHb!3 z(o-Z;6gJ#_K~6qBpwM3n{uA91^P=m02#EV#`t!1Zg5h0__%Fbb^}+k_E*^0UEqw|Z zl9v}>nuf~Xe|9;p!Y~R=;EhVTlH>m#ZZ`cm_W2!>9LOhxr-6!KMxb6S}m?q%cd50-) z7?-fCn9N|2k~7YXcKCFlA9ToK3c9vKeXp>HDZOy1AQAGxvN<^s1|3# zXn1Dv54VABy+zW-+0b@MnGUK9KK_FS`k=U7ZH(;`Cc__jjzNT@7$E-Av)Vkk&_lx6 z#JX+RgLT`%pYvJ53w_4BrjgT` zGt^MTQPM#vc#)?BvMcuxKrd&nZxMe-%}h!eDvHd)q7*8SD11(dHtAA?PiMHCtB+HK z&U4=;33Fq0NrmOPHnj?nr{V+mVD5>KicqT|V#LO9F8!9|bKYznbbncaS!YpyqXjst zmKplZBm`sGCtGA5TVSEHHr7HslR2AZ{#zPU3!xvw5 zcJ2I!3HlAlFak&&SM!y{V;Gv{aAN)}R(DV1<-AN$^a#XA`scrl$t) z=5-m#(FQPLsm%Cy@p<8aqX%?efkW_-DEPvpyYb5S3A6aleWKDqlt5*=B45*8*@&#c zG?{CrJcFvsjdJE&08KEV5 z;T_-TUb|Mx9yGObn=)&0Sc_De;@a5LC)<-hrxv0xJ#e7mXa;|Ko@P;xAiD{Ml0q2} zB_sLsFVHFMOI0EA9Hr#{9Aq>G0@zAm1Rv^j!>ea(biLZXXx*xs;`@kkz$bkgR3X1r`tt{wI=sof*}usWJPxF?aLcVwdLjWi@0*NujS{Dq zOOw`em78Dquqr>OGQJBEHwl}~7EywqH7d400Us>Ih4>Z4z)2Yy`?^-n)-Du|KrwW% z3kl@~^#mUYFU@h%9MvdkIq|iFs=!M~S3qIBFIWeec;B*r{znqTmg_bl|2o1eBd{n1 z?32$XM+bQKaYxdeU2kJA880he=)I_=1@6e-wHT)%tvlTH|{a zu2)fvc- zt=3`|LOyg6o}nSMA3@i9t;AN@lqwO7qQr?AKFAgF$<%@`d}QIpl-Gc;+6KAfPQ z%kTc}tu8^;^xEH{{|2~2CazGa`0kLHX*ogLbHaqg)T@{?OmDu}Q7O@Q-QO&6A41F6 zX=r#)py}ei=`(F35g1!xT)ONZEStMMxgI?Jh3gWug7DMF@%v@PJOdZvxrnbmB=jHX zbLNk32Pozp?fsPw7TC*L76c!}*a5_V<=GC_sWbqU_ziDzK->+2$(NWQblUCz(*hJ; zl}boQlMwr&6NlWw&w%DINQprLOo^zE&BM~2{erR1(h)iH9vMN2$m&FJq$CflW|vT? ztdwI~IMS&3seE-~+iszI-7D}bQ%IuMMva^_-SjR8j};9t&W0fB+MVr)`)sn?hg&G1 z#q!vRQo;Rv{*?Aj{!&Mh`LeJ1!whc?bQd%I%1Y}|NfFpG$G`kN%FkH; zGwLYNSlmrE^S{K)?QE27bc)r*Yta+vIXCc4obpMZsps)njkE zzVDczy3G12Qoy4#;U-ikA0l8+sw>nsE3j|yqm7QgfF9;Hq8g*s3V)c9q!{3z$DD~A zIcB!|%bgdFA_RRGJ#iU6lmIbd*NLM;|DQ4ZELtCkYtIYc1z_)dCcTM5MQb*61s^6I z>o*jI@C^eCQaU5`?%+k?>fhe#PnRMCwpBttB@WXc6)cVqKRN-zung(j9I;{&rxhuk zCC;^pe`}ud)r`7W+c+_jKcAm-Rc5$;he&?Y?QdHv4{_yGW>yUOI%U$|N0Ej_s2$HwW8>l815`hm6t>Q(} zBv)KJ?h`$P*tXA1>}i6dJ|c8Jp{r>MZ3I!qvM2(l`^0n^y5-PedbKMAN;HMiY#Ji- z4MU|^=?)ii;M+I;`~!Gs00E(}8PK3t z)ZB>=cw=!7g@@O>@f<}!E=%{7IZ2zc^tz9A-Z0f zv_oK}YeSOv598+d`9T;6c#17n7>GgkzE_HZhTl?g7Q0a+M6>-Jg>bY>bOa0orsDjt zLHGgA&iUw1LFi~Eaz^Ac;65=FUJxn=W+^BPL_w|q7Y2gNfoxwB_}AJeI(u~oHGmZL z2!VQH0C4`QV%%2Y{8CTI-v}oSA;9BYY^Nh+INH8^IX5Y>{UP?{fQ9WArXSne;bML{ zLJ6O&{Mo3gm_sR9-b_E~&hNfsSzgttD}~ORpT{Qej9|s;HgM*D!i%lm_x39(IwI>Y zl|3p5qo<}cC~2~annzQ8bE>L>X$JFwMtdbd{HS(D>!kr}Q*TEPR;kBKs2>G(WiA2< zJD6l=KQvG=P^VZ)R3Z;NQ;>a(koAb`y%Z-e}7Wn=3mO2)GJh1X`l2((8l(%a z0v6fXnYoR6#`of1AJ0Iy0JeZj+9vMq`#D|9UbV=z=ZvP~)e3^PhJjDVY~!)*rq-eH zN}mg(kmoh!8RL|HhjN6r)wa^~D{a4K$Wni*Kt7kQAl1gp9*)>mq7LniYpFt6=1&tX zQXodU9ijM(Gc)IQx^RyCoj8L{c1-Y~FWRO5h%}G$H@6uLOx=6R?5|EG8yb{mGVRB3 zaD3>c^`qF2GH~2wnu)V_pfkU7SI52R$|GWni3F0ap+jR*lgS@=td%ALr>?ad@ zg97i}MfS#X=OX*V{lYfq%(@8yzXYQRF| zjeaSdqPJ$p@P|ozZ3=Q<=jPvg#pp~94yW&Fub_p`x9K zPt$e1!#kf#PSSS4$jFji2Kgv2=KHeP zjA#2?6x+5X6VM&WYQ%~HDlQRH(cpX1gF)H;o}Kl2>iWz(Lz5uYURIm0-X5kM!2M`} z0`y`Lhm~5#d%s)$MJz7EYvYyak4CZXUL7Z+PTZaY2f4oti^n`W8sTBHCn!WD&E}7UMKVA{k3Wmt@r%spPu5nXwni~}*xs>(sbKUS^;f{krcd_PP{n+s*6S`LX zgrfLYhsSXL0s2pSuVhzQPy>4yMLG2w=oe0KZ|BDTeLL^daGUl7L$eT+*o7E#e!~!cHN0IVL_) z>(~O#R&kbPl8>E-xN^5U7Ma4+t#;bjI>C(>?=NX38RdZ=PRJ*Ue2m~&ev~Cs>ukGu zHQon#5037^h=&G{?L9*z+gVBwUwN(W+Vu9nKM)WRvcpDBUlZK94+$P$OpljoJ}yA;A-PhP!CUk(-;ePdGK zA8gx)x_%`;)8>PN%OiPaXtRWk`pu-12{QO%O~rls*o@^$Wp!2WIJ(Ox14+6pjcOv?g^|}~2 z9r`eY>Px{4Yqn@+l(U5i)E>lcKL#m@Y4(E`KkPrqe~!GX-Ce_cI{^bb9}jicP9H~? zE=_BDR$bvlu=SpOyFqbq38V`U#Bfqq;g|CqArBZA_qcx+B4@6_&XoeEw>qBv&^L`*Bc z0jyKvEL*yarfII_uM5~JzH2Hdd<2Ujv#EcuG8F@SdgKPYyD7fc7_O+D&k)g{3vMwc zp~-X)d{K{U2p2&>Y4z_`TLPYsGDbRCl-aI!=lh3N)e+;auhvd!uw(aZ>W9x z*Tsht8*L^h8^6c(5mcj&6h-atu-GKug%}7%U?Yze_9tc7jVHc?_ime z@cstaPj}uv?AQd;<(}#8E=mmF553I=RECXTv>jlF8jN87BB$*?+J<@+9ni^cu;2^L zj+HOaCik23J9BRxfbgpkN^h#OE3wu0?E-~7q5SS^V`_rD;uQ>^s{Ey{@Y>d&v`%P? zS0PLX6~N1L0okpgK2-%e?eS;5wRYfG5zu)nYHnZbvW=8dwvI-!4)jE<<1RO#yN6m5BPgRr^e7?z@ckUbFSeP2U@Pvb@QWrsCNP3xU z9DD3ymI)oPeMBn|0wTjt!`KWK%GAl}ztV@lq@x#Wx<-T^x29}gM|N{3eLs9G>z3+P zS}!VxWj$-t+Yj9#ld*2S#hYQ{CqhFRmE%+O!$48NbR5oJK@0bqps`h@uw(tm0?)7l z=@Asg)e#}b%^>}lcF)+ysi(d^+%ObqXr{sC4Py6dbzc$}Vf+Sq$_bK*Fnfp9PBJ&FTCupBwH* zq`}j*eyC9>97Kt{J0-08BUXy^R;d_Hi4l##LZ}3t9F5A>1#f?JgS=PY{UvN`Zf!An zI<)^`2vdwKrCxdwkTY4rowQ$oINI6W=K^+*Ak2l_OZiEhv~A9OG&W~C5t;aMsqdPF zcMvwmf~;@9t6ckG7G0_-x(M*ODv)SbjoYXy|mQ zJ+bV~&Ut3cuU9-BA9*SP@ddZ7=z!emgDj1^!vK;p4^O_BzU_ANvru{>ybI4}q!{4;&)9;3sm*u7q*|FGc83pKnl1YD#A)l3dGnPTw&rPo9?n{sTU z$3mFaD%4^R+3%>`&516~)A1OrkiE?H`jM<_5-TvDj|PT#@lMs^e!Qga*7TO-5}4*v z8gZG!4%rg+rwS*mN4*0*;T4z6q{?aQcIO@ofZIGD?%j;lA% z*TOk_rjn*(063?Y)(jkWRe=OR5;?DKcIsBOFtiQQYcQ6T`|@5rs0`0F@Lqmb)We%VWvs6hbX@CF zw_vD>M_!34L2{}0{e4?H;=F0pdyPd*9ccJu;uC$eJXpf zwGm-)wSDL+f3a_};r#}K8?k?S z!rk2s?rwLu*=?}h3>ZD*b~oVeX2iSO5%2Csyt@S`dbsG4$8t7skQg}9_8n1}QvC^K zAxyf>5yK;jf#|IhWS;fet8!7j3hFJMzSkEQ$q?0I?aaek9qs(=bUa;?Od#tKTtBbW zC=ZJA`TU+|7`zZxAUiTP?YZwwT45g}G8jmnbUr@k2rJOFV(90hdctY*PYjg2B)>PltXgu+B3r9*NVdbvVDGqpsQ1k-tH+N z8A3He+uj-5Zxd1fl}^06!J>InMuv58l+}ZyGH|HqO2!R12lgK9JdQqH3%e)63ml#t z!4Dp8bokLT-thsqOxSEjY&QdTyA5t{Z*X^i3+Ft%^9V7*$ADvu7%3tUBMt=il;ng^ zoezXzN`?&=Np89_?XdWA4y@_A-Vj^@1Gwr_do}W#VGHeGpctS|wAb>R4B&>YE`VJ- zzw^eUT)E9nJk27Hg?YJ32R1)52)RmxeC9*X5NzYww5Q9ZGvl2HvvqzeE-S2U+iPhp zp9i3$LnTfw_YzpH61_P;t)F$y>FIjQ;S62LmLL~M5hZf-{0-XufE?M;M>9u$-J1~J6A!J?uwTt+te=oXJ8 z$`ULFsO1p8J`z##>Z4&daYXLa8`68CpEaW%lb% z7I!G+Yx6tLBdgZGf6)$(o$%EdICi^4*t%aT(UB-&D%e4J|8PNC1Cw}qA}|rjK{=Wh zrVOrNki%%QfkUZT35JWABn2uIMO-{4GOWZa`7JcQBkU8b5l1~3Q1!B!fYNWC%h!)q&Z@mnbZ9eU#J2v^65$BW;>ex-@s7>{^eddKUIsc0oup+wE zURg=DD$l|a-RE1?D;S%Rv4S%Xz4EFmKjgksYdLFNImq!W1BaGzLZQe?$YKWC?pm;R z^Kx8>5@zf=$xgvCZaAw%3x<>OHO{0|r`ZOzI6DkuC<0 z$k(Q*o*qeV?x04D zOk6U#BBz(iNa+wkNQUdNshN=iXfpwNMvJpyT5}@^tU|(I+26+nST~{qEYic$GMN2c zF>G}YljDA3&1{m(o*Xio4;mGt2mk`ZF#}?)CMKjUDiISiCLmq+YE~E1RkI$POcsbt zh>;Kj5GMvt>ME$LMS6(s==S>{_j<#LTe+7OefqAgYoV2OTxmumJz^p)?MF3Cs{2lP z>EiPJilk|_smub`Ccs$dJStZBjb3&%f%Tfl<`J?TwN56hf^i$}1cHpqd zE2nL?232)YFEAoF1Iq@DXgxUQ6X9N1i^5n_whWDP2WIm(?4lTgoA*@r+c~hpeQg=d zptHf?3f8EDO&hKfLPUJyb)-2EfuhSUDn@6|to&k_)ms{tY+-o|LpQ&IZ`p`%2Cek5 zU^6q)z9J6-!^0 ziK=`cb){B>X@ZSMR}azM*}N|4dp+%tdh|=u<}!H1JQFEvLICB#v;-xgVItKT6pGRJT+k_ zBS%0)AVdCtG1<}nQ)#Hdhrx**Nkf&m+KZ*Db;dbOZ4K z%5W`toT_%YadIiIbQVwYJhLm~3}g?EIcz@pZpX&rZp$-71OX@tUR8$1BY>UYn=7Z` z*W!keG;Eh{y#m9r2Q$MvpUlWa@EkFK#lQi0Cz4mMiR1{xn6|?NAci0Yj!@PFB7#o>$c}BW#fmcG_l#i56hlW9&q{OJJ|> z`^#X2($7ok%Qaz@M5GQs>eb~USiPO;ZDXNhn(&#(N}m$H8I-#JIsn07n1^q%AL8%BCndCcIk=BC0)cI)nqs z;4Rqr76ZqOc;1ke60Rs1Jp9ke)M&VB$AcGqft0Fax6bRvNLI zsw*5Lo!b$dOU4bKJUF6r2%vOeDIC(bF3$h}AOJ~3K~$LK;L^a!$PrV8RHW&?f0s)S zxmdMS*DJ(H>#2K@nzA%G&kF5TWGU!)nAJuH=rVOnRr=k^StU>9D%C-lMmcG_i=gXAdg*_}w|N$PEw_`uneI-&OrEJ<>Or;rqAAXXQE7k9te^)hm(A=Eb2YT^ zl3J;MQ()!aZx{D0JV0HHZOFb@i^Xv1my)P_ahAp{hkf;SuiVmM3-&oTzV~c))K6#kqK?=OJP9L*UImzui3(MlDrJd zHCD1Au8cC5!3qz~wG*b746_37bxR|UavsJ*v^J6}{jogOC9@8$X(a>~9b8^i$y<`_ ztW;~l={wI|$eFy#(yU(b%EW+UfX&tuu*igD2uUI4Pg*49JnzZ}c(Tl{sEkwFZRfx! z|9O2N>C4hb73j-3V{u?&Na(gYZEW$dy)fO6!Q3hkTrcRi4yyU{m7MF>M~da zkC#kr1L@_XemK@Nx%w+T+atPtq6SG7VilHp+SK zscOIrOu?iE8#f;=ZqwOD_Ty!I<7QHb`2;#YSMQt30?-q^XCbHK8LZC5C?ehWO`NKY z=Gi7NWhY(0cubitKMPB%d`VDGRI4fjOOgFmf%AgPvi)C@D&g^%(TV#q=_l z8=*?|mwC)md(&43?<@!8Ghq^3)!KfzgnN-)HPhlNO}=h-N>k@p<=q&Y-onNdPu7jW z=Vpdd`DRE|DJ}Ga(grd-Mm^1%>gbh%l{+pKF{t#W^kUZC5%UD?yw~Jl{E`vE-dcF;&RPK5C^)<>R@3^6;OA zDKk;`;N$^nJNRE0HuJ8MICaz(A$sOGbKoWlk1_~gXl5BkptI8U;?*#%)7xMWnXKbj zxQ;aXSa5 z#c>s^ivu{P zGvlFrl>s*1kZG$)gG2J|Ne}x30vp*$X^~GZmIs-CPQ5M7LSZtt#HugI2?KY!@)ry4 zQOp9vXkbtt#Yl531|x9tEJ-npevdkw4KoHV8}AYrNj~XJsdC$tdj2=s?Lu9shKcf* zbv(sK!$)fBv-P9GqR8|nTRf?8(4Y*;xD|S$rhW|MtxPjk)XJ0shR$_Z`mAD$UrG3C z3>+~nv8r|jz%m=iZ)5{T703!FL79vw%0N_e(==Seh%3CX&IWdcv%9)S3vjJfV_2a2 z&zpl~r?wPYc-B-!sP|N)d4BV}dV%s+=~1yLlZn9|X+}{#;#-lKv+Z@jfhoD;MRo|0 z(v}o8a5#_XhO|`$gup;ZEDmh^H1z&+NB=K-@75(buA2*fpdzYz+j~6r9NV+z|NpR= zmwB3X&c1b5Rc1)UJm5m`B83!Eb!RS{-B}Rz%0K%u*o#8qxrH*GUW7w3b8UlIDvcVC!O>~<;BbdD!@wXl&uiZ6_WgfA>wB#bsf zJM4Mc^(yZ5Ep9`GUFB;qi9Dlnw;0W3sz2NENuLGdVAV7i6b)^(Wl|7)Z3BjAJ(+br zXK3)gwV%T?s^T;lwN*HU^n3?oN3y;fcptekNp)r1=7rEmap0(C$w~ZZrT>nWQ_7QF zvB3B^$fTIp=)Uim04opM5IxcjR1I~T&r3`aXgd?j4JK6fuL;5zC5BZBg)vHGV&SQc z{#%e~()>R(5|0)%m9#u$GeC^DMA~by%45M`5u* z_W~TjR8IjH9v1sI?2>wN<4q{f`7XTws)@Y`3v;i51vY_d@EJkgt(8Yzc}A@DyA;}5 zzw7SjaeOSVk!YmXP{$Tbx+;ZP8T+6e4{Gu?ICE1+gz;KF8pArA8yH3TKVr}aU|hAj zZriIcR=k_BEY+;R8f}6ZzCm`Xy@7wS%*|-zDEz7rQ@sfwbWp`da~di*%KI5rFuWF@ zNR!Rfu^-}17h-pz7&B}gRD6;tJdc4&1s@v(!F64Z*q%JadD?dI*NrZ(a@N`GIe*sT7%nUp@Bc}xV z@&&{Th-Vbh#aI}~tZbTs8?=6wrc}0g|2Ga_#USj(oi1Na@u83ib4EymejggnsQcb# zio$D*6OD(ltqWm1y9R0f9eEAPZrc`c9MSC%*0rGF)KsXdUFdXU8TzdXBvv&;>A*cW ziUP1%Ui?i(Nr?D+iA}d|CYJKL@vz73+>DE$Py;vFqGf-JX7;AyA5jS2`D>(`{>9N( zct3HRvnTK~1@LT&G;9h>5h~R*@o&M9UVhfR+s3!mvCV@6)w@;c4ikrC!a@=|)D0XA z*}#K%Fk5{UL(*$w$^NDZlqRI<2Eqi)s$8c8nr=Xvv=7uXj!0akA+$x=WHEFo8Hs_3 z$qhpsP^gc%1vPCi%v;5%7gIJsYcTJP6EM?ZwqV$u&pc6j&6KNGYpRO#egwk?49#(? z4Zp6A&5z4lgLU9&1hMw|@tdFt4$B*0*}-D@rSrOt3fBo3Z9k9NQGH$Gp$Gb<{<=at z4R_fM4!H5}vtdMaMp9T)yT^4i%{$P=2)UtO>57~^-p2aB6NDj z+}AV-iv$$~`{FqyEp&p(5qdH-5i z@p9SuE=O3a1F^`}?)_K#NgHGX&1}B znt2V{+O1T&CKJ8?nc^d9H@BM-@NtUeS?rx2CjD7xl2tawBa0=uQ&&JeL}CD%I;6ai zFT7iohXJgq<1?jCW8k3SFWP|dDy){dkt}Hkth`w!EjdHkkmoO_(Sn33JZemP7=^#% zwYQ(9PF8*BjGe07^|!h#|D}qGv2KAY!*u3R+Q1a^H#O*w`t%yy72Fs}ymA&$CSAFK zhTuv;z{G<}Jww|EYj^$YUOEor&HNvlh>Q;M$X68kG}gTtzG0w5sc>1PSW# z8|7P5Keu2l3he*(bjck(*M*EcILweRQt`%WpVUxsGjFiPY&oCU{<)Az$^0w|<0?(< zPP@!6q5iFs>d&)Dx^1U{=t(*DX&ySU?}BsTQy5y9VfQTGT6qwohT$eRR~0@hJ9*@8 z$Mv=Yhp=<@e*A4pG^z5I{5QMeSIbZ~1kL4Im1%SSDs#8(-BFJ}gP~be#Lqt-X1c~$ zw|Swwj*Le-!ZTRG$8Kt?VQ5_TV|$_u>dTWf=Aylv-5TR(9C!=1x4gZ$Y{AyJ*^%;$ z7gyR(lc(*y-xn4~xI1z;qRBn53e>in8rX=osL5GrY)w1Rlj|@g17;T9dg80ec`gjKw0Egu)1tb-x&O0ewiu?1U}-}YQMQ&Fo8zHs5FOZXFmN8nesvk1~l z+m-V-bmX&+6ln{&OC?90UgONgIj0`4<9fl*gBASZXVr>>uq(=d<5uHW-~gfCgj9Y? z)bQ&%)iDs(zCVMF-hBnu&hN9Zwe&3C6WFS8<3yPk!6-a39wg}^I$Sw2RKo_i1z4?R zHJ@GezcY*rjwuFA(_C+fEx{F0FORq83!t%%`SG3Np6Tq5cvG&FuGl!{~ zbvZGruFRDqWN930kaUJhyGy>2@n!v4c`8b6Fl%T(k}_Q3IUyE`sng2PlQMT^b(FJn zCLY^^;l>PiVYTb6f^mc6Rj{VwTb&jl>U=7!s;8;vu*Ujp3>V`*j_++H3S~SmYhNlV zmNM#q_}JCWMmVy0E2Dh#KH`Ly5irn{OfQx3V0tHyySce;~v(| zm9>1^b#Q>2!po?1Y5n4C7LlWhr^domd2%caiRoc((0*Q<{2hWErxas0Yn(e#%(5!a zL`%F5zkUNl6|5iYcdxl z)u#9<{Cu3x&kaTygUgg?|Mw(*HM#qIi@#gdI<{pC7Ag7YyLPP|fdR^5RAz~X;dfXu zc|N%7v&qA-J4i8_zQxP1^Vsr9L}KtT4>>mDh7_BnNH8R{M>e|%n>w$ufJ`Rfgo2;=t_9BVCe@PQ8;?7b8+O^2*wTL*T$PE!#q964IN_IklH3NP3r9t*F1JDZLFPP z*Rh^&?gn2ukSJnDVbgMz&y2Ln7G_41cKy@Wj?il>6*hUUXtl-px{iiFi{aq2;917G= z`bSpg9!xT8gB`g|y=l zZ3~(gV+6MOT3Aso>F~P|MwC77QF5aP+}Kf_sbMv4FnKV!OsO+&WF%xWfTRQ@$)DB8 zk*USYMtMiv9HaBCujSwdz!Yc2LRF&;P zNcA>D@j^^y8g|2mY(6UN0wc#2ygA-nQyovHHRH(^ZMMdY75#B_rM6aPJHF==y9fJ6 zq2u2#eHsJDr5+p?=pEZ8fU5~fg@H!|r{-x<9?HVJEn#f}p2rQ~_5LJ1#8Z60{9nP9 zlmVJzA2fgCpbAo!3ise3MzX71F^L+@Sv@#%{f7*&{@MHfTRc7FVp&u21xo@U!`%O9 zosS*pEp6TTWWiUp(DgAW2Aeg6%DYB97cp0$!f`7j=^gSz8zEO8t7#aN>e)M8WrR(X z*8-1*#LbUwexb$MVzMfjDvu`r4AY4Z!pdQc-T2CqE-?yOy2|US zl|PXiSSZqx`>wSi0P zclA$|3<`OPi`*q*bkOrej7C&ubEyCK`$z?c@-?TW6!w{z=l-UV=#JD}9gvE%|D2^2MQ_-cHR zq0Gj042K4i?c9}sb92H<8Jo|w@7kj?-LR|_Ec!w*Xt>(Zyzl)G;QL_p5eAE?B`{rB zAi_|Np>W|Q{^tm4=`ZVrMH#ztxw@yMz3WCV>*QIS>UfBEuHw-a-LutIn0ua$yc0*{ zx_2tGdm=VRHgG z9vnPJH_U@;M#mXzCd0$8D1nvDJl>b-8xvYywWx2gm(in6A%p1YxUcFp4Lx!c%8h~K-2;;w%Ugr6gf7>h6mMGqT(a=#usN#hg3p8;Rmcuni>@)j)mGb`q(&sa91a~3| zUyi^?C%*^fQA0YX!GaFwf<2tZaD4@7OuFnTt#R$ z6I0fxdFd+N`ji6Ox!E?-Mk6=@6@hfK0sQXUerz=NxNXw&{Hds_QF1L8q6Ue@JL&$^x;O! z6zmu5^;`^!xa#1886A49%yCj#n}{3ZM&a>&#e?sIM59f&!{wRI$#7r6H9b^n#XkBN z@f?bsKFGh7Mhl`dN&R`Ys@)P5pE!LU14o#$BN2QU#;s_q&&iv6R)JYKQEn`OQfgU2 zTo+`t7+0u<5&ARz9RmmrtUM;_8lF#}ah{??iDphi4%P}+SLxCBs$D@Wzxoyj*d zC?qaBbCI9RXB&3|8eFuf;}re?Q-t+2I9vQBRq#B>hRQr*FzLnwu>?PL{&oRZaD&S= zl!dsVt?+tV<*Y z@N!{*>D6aD^vVH=o4nAz8aD9Jlj0dn zlEdP>CUZ+IuKcVX1N;<*xO%ar=4I^_dr7^}DlKZv8H3eDiObaW%EIXqya1!;6}*_xUwc?y?R9Xf7QwG3Y-z7&3IVfKdqN!U>{auh>~(3kLW_CwtSq;ln5 zQlkfa`d+}7)3wxhsgdKtql1<%zh2W8Rx5}W9d7-(FM6NF>evbUua!Po510xG;Fu)) znK1a#&5xXzvKu$D@&-0W&1KiV*dl`Gl&SCTDQ$W*2g3%dce8ml7cXb#47=irQ5Mh% zV&ovGtf(ZxiMC>oLE>2|#-W<)9Vxe`mEHMV&)mavuQhOdI=*mG`ZNZPU`J>S3nLge zFs}0PxY8tcr2*^upphRNzfpO60*d~3x-xCas*jLbt%~DRu7%Z6*l_WA z1a`4v_R|u3^O+#Lwc?Ey#i;Pnpiqtfd_&Lz@`oee$f_xmALj;0j2wCt-gHMXRwFFA zMn0&ow)*V*q0=m>JnvU7d$Cx1XQbD1_0gBZecp>wyCxf9wiou9(kC)-gs%1LEX%(& zY?MzywS}XBjqA*BF-?R}X4!Ozgls z9p^#5RyMg&AsC8ensXH#v@mM>%oW^hOmXqW{<~ajMKo2$4$uVgY!Q=+8#vqw(2jRj zWjf<@x=1It^?$cuvNnJn*pG@lr{*Df!A-f!@it-cq4RUD`xUi)&fV9|kQWxz-pGji z-bLI~djbVRMn7kzX^r5~pTlPX=`nu$xWXbIm`E43>+!TPGDlj zq<;kHwX{-a4t(Ee&Ex}f+%p8$;^-Vnw%GpYi|#A%`#p>sF&%yOp^cnBFd{;;DM);nMfe$XXs6tleT>cB9L+ zsSODo)?+WgK1=#E2967slvUy;TI3l;zdXBk_)BEsKFm*VY6-u{0*&eFw-cIcc<#+- zSgqkq0n3Jcghei^(Z-zP0QkB7$rS3kWvE#;T;`Rahi0fq4i`g)cy1s~{+q&grU|U~ z2e2}56Pg@qhgz>cOd47@q8fpUcKnEe{#%)!bm7Lai!J|N7;0FHfg#|F#ZbK;bJ~(0 ztub)+!0T0n8^6 zJ{GGWfiau<&blB91`x8_UFh7+R#nR{R4m(DMXoCE%Cde2ZuKoH``%f5_Fu`+aa~*2 zwZlI)wM(XzJd8$&8f=s=mK|iY8!wK+_zDL4(^6o++6BfRxz3}8X^C5;Z+Q1BGY=Yb z(VR;Rj-*D8gp5Suy_c|nc!KpA+pUN&UyXn(OvAdsXhhfYKhe`nmKPmwglP{Oha>3o z4TA~PFfM&(aaE$>oP`0l_B9OBJlNAcP^d! z-C8b_G_X1)QUW0j1ZeZS6D%wFx_Sys)}N!e%lfM_aA;^yVk{xI1&%AO(WQxz6^qO8E?@s{UHRIBrZnf|yi%C;%LX=$rKZo> znR!;QsZWQpl@`b4Ea_eCGJk1lR^r962CkZ}HYa|@It1tYQesJ`EeqSuR0mXUZ&S1z zUtC2dlvo(fBl{zT&@v@hY3;pn(-<7d$G^NwtjAwi+_A;Fq6&2=`ifMpiano516qI7 zV=6xbH((vVBXH}x|4wJqN9)5Nx7+bGkAS!!KMM1*tgcsK)t3*L!Vx|)Z@2n6oP%=1 zRpm{h7!rEXKZ|20zY`WUbSQsTxKvRt2e3Z0mC6D@Ow?<7)uE=A#sA6V-ojF7Asv{U ztBn$^VW5VU2x(4=rt4Zy=miYbyH!4T|B>TI<9ugewTgNg_F2-WF>oxG3%d);vxViw zIQkl`S?on4LCjsTIEsoxi8E1UXv-L(-wKX^)97Uet>9NTz!c+5!VKr~Nc<=mV7>Xp zj2yOuR{|vxfGol0)Uc6rLN;#Y{o+`ER-%R?I#NNGB-{nQtQJ>Ido)9TQypC3>lel>vgs2#c_ev$&4Ex{fNp{>Gy8usJ>@7{I`+gO!~Ne zSFQty^0!@1@&OnI$I7YsJOcaJJV4|{;f35-p_xj|xM*T7F$2ZOfuUg|cyOrkBSixT z=c1gj=-F=M2 zM$5)+z8$avuEx85I(*Q){p4BvXu4=srW(`sg>Nw{ti7|PV|SZSTq-HLJ2%hU zLIQOKVN$(0YUC^FiX#?Pd7~~nH#Zn|SgD;aI0W;dpyThZ!!Bj;rQ}PB-I_NC5{1Qr z8Sh;Y>ScmoyX_zPA8CMR5R&?5kh*k{Dt~sJphZElYhul0lGu(6vj1h)gMwkMt&h*B zPsT85MoW_)r@Ws*d%x>KZYatW*um{asSW%_yzFZJ_IstDF|;2%^SUuyep1ZHZYI&jhZPk$k;si53wDW<<^y1pn+4wJ+=XAz!K}&w1Jc*v{G9jsu zNX>iaiTj!<-Sd-Htr}sv4J!(pmldj6)lDmy>N{<$xi#EgfI-D)r@P}t*e6M!#=yZB z9#H{w33qbD3jNq3THzN_g3OZ|&k@WPsC57xg8_EBxjvyCzwgB+ey5d{A9dNgD9Y64 zW6x#$n1k>Wh91h`xcn)1uP~ArCxUSUq~k#ZGUG;?0J0-0lYByr9lV5r?HAJ}HJt1a z3}NT06|hHO0kvuoM^)aIRBG}GKdAJmmuH5Ls@NwmN6Hih4tYyH*70syQsGiZyf!+q ze3$Np_R>f{6&kL|MS~*spyWNHW%%l7cRXy4k z^h7`+GLuFzZh%DT4n_{+D8j6?_!(9I=$hu8wIdQQmNAZ>(d`@Ns#4 z#*tR_f;I&}^jsS0K`*LCA7wnBrB7qv7!Tv`Ro+M$Y@WOJ`x*{?4IHOT^{j$&_0i;w zQ`lU`qLLI#ALBAcIc?;k?vdl%y&}vp8U7xuh{MKVC1Rvcf?}K8b+YM?O4jEpOhccR7RH|Iw5|bcPo6DU_%Of?w&fljA64p6aB*LE zzvhr1{eqd{E~i1~ZyNJ)QbmJYK`|b^BN{qm)ndHc&=AV1>J%6USX5kUKN7*CjC-tS zH1GGq;_sFpzY05(2zD%y{Tl6Ped&WL$$E zTcT{`eu=I}FA;Qp8qJvA66Q9Ue2rtqF4v`;Fvq>ScfuOF5=fj!E%XJLA2~&X%MRF3 zh83@7z`Qpm`9zYe3xl)hB$)}BCS*+II5(5W9!<`E&12esI-f?W6=r+YT6;%HNYR{W-i^HgbzJJQZrRuNp zW94wtTI*NDaqQ{38qEQr?`?G&}UXqhgpnox{?kx`DD5D1CIRapYlO#mjyRj@@s zGB3zHW63jSp0Q{EJS2iB?s7y0Jc&@qjFgi+CUM0}+W*Dt+#pbn#u~D^_u?f5yH) zS#IRHuIv&jgQ2?e1Kb0MRlLMD|%H9KE=5jQc)V$SUI>t_$-o0(x zq7X737b)Wpg1P6-7K~QQ^B#{PyON0}QyN+2eHYT6SO(noZT&1%(1BL#T`9=otd#;s zbD_{}ku?O1$5Zv+8j`zV5zN)UZHz3be;+JTc$o)P%PLsQF(OrzUI`n14463?ob*~N zFGA1zJgx{;TYuRLEn1_cOq&caVfEus$ zGm%{>dpzxZtLFJD@3UbqZ$wSfU@xa3$-986vqn%PyFixg^i5s9qlvk2Us^4%C+fE&d}c8R2Dvkb9W0Ipi-7hwKVHHSNXP(4z6Rt`@;@g;EG^pA-b{sb%L;I zV}}#^K4AZ6FCJsCF_omum5G3y!HLa_Sr#1R;pQ|lhMwgn@}t>gh6+-PwH_j5EXByd zGcqr7>k1JV=D{IXU{To!>j6c9EFh?lF%x^ z^b#zhAM@Gflm$gJn2?*o+z?`gm~u}8g=0;wjbLqmeq0!lNxncotMu5GSL+1?0^2+Z zX=J$QShYbAHhU_5Sn+-cFF*#2b{Jq}m)92WXY}rV*Z@aklVHGU z*+wVAg0ar#L4Xx$)sI4fMfugk9Bn-pXlo9MXLLh?cy4fpM(}5F&d869tOkxnJvbIB z1`Z&pVFO5+fNTbe8<;XO2X8MH!Ec6*1mn*c%;jJrRegI>0t>+?>KydCjWr zHT1B}CN6_>d({&DFO894IuJbQ}*T8&4Nj zJg#M^$yd}?7rzak>S;CZEYK()2f9`d4$|+>_+4$(X&N^q=CHG64t99c9p<)$`1 z(qR1e!0fEC?cmx35e-hC6=iwLkW_X)NN!njg*28K+janEzk*?rUWRe=Y5njDOpvV< z(O2;cbua^*vnuNnc^{ZXCi4OUBM~rx)H@?1BV$qPmwTJD*2Sd3?I!q@-Zn@?$OPFj zq_SgZ$7D#a!A(hz&;*0M;qC_J(3oO$F275QOW%bYr(wO9UQMrKPp@Kh2FFzZ` zKrf*wh`QLDkGZ$$vih9 zeVAFz(4OXER!9Yfh%-OEN*_JyJ)DB3)ddn z8$Zb0thpDKoq&cL8H$oq*VVGsZE;ZJzQ)9=#V@NUFz}p4+IRO9tbDa7^E>b})~38UuqwyB?SnlqW|rd;O>=#o9)!7J z*Kp^y))p2CzJ@uCRE+m1exZ0XZg2*(g_K*6Fhef(7Jf~D8aNU%F>cDIEiMOG<)ZDp z${Sz=1BWTuiCm`UDk7XbC-ny7l=PCnG3zmx>S)-YIM1xds>MnC?*|CDw$fsa*1fb{+g}Hh^+Em^Ri?Q?+&gLaW`aL0okus%@xP;hT5xe6ok5|%N^1aShHDNr+yA?!z$8jA+OOU0oQuy7- z-Wq01S_KTnd>rJ9x@J;Q0Sbat!3c2A4)z*q73euk9q3fyEryyR2)(wzlcS?(>4TbS zlT}#tK>RX>RWF25lzfF9!p?VNLE{%A3_O}7Uum?RFRU7z;NLAk<>5o*1kvj zTp47~w-=}9B7&Q5QQ4{M=tNFOpJhyI3x_HKRE|VQ@dM6N32sv$f&%AASjBr`K)>VH zG-@Q5pTWjGa}XAby+{B9qP#IT3({EMURsKCGH6^?j=r2{uu9EprsSC(wQ=?1459oU zRt!8H%vpKFw-aAGV1*YGvUC8)&xqVS6KDV6@*fXS|IfMJmD2+S64G2o=-I|Dm|-_^K~ON+qX3(SvWG%zc| zKY|AbsQJy+NA=CV7K-8u=Gg`wWN}XQwQii{aq2;0dBR2!NVQsQG*fqX73G7DWRt zx$u+ieZ%|2 z%gosqBDQv@`gsKw$IXN?nRQvO0VZN_BIHD%iI9`vlSqQsO@N%&Wnf~$oq#X7l)EtS zVBnE~`^31Vj9XgdbIO>ejA>$|DFbOirbqS18fD2mK$tVK-psH#RWd0W_fM3Y(*LV=T!tLx6rWHyP|;rctx^!m6p;GV&uZ0Dfodsq)mY&9c|W z$RJ)oydd!cBJq~Pq47n8pKM>B%SN8aNbBUB1H3dsr+r{$lI2N)vk4pz-`I{E*;_Xp?LH zPR-|@!yvXBI8)hny{!uP6xS zwP#-FexyW$KAWy@hUb(LQUWYMbk12e^|-W^3CLh9>Y+#(SctJ8BWG4;4mEf~W1*-a zJ27jF4l17Z=Fx87&oy|{YtzYcm3I!Hu3~WWydCYGunWqoXLv@5$#X)d0^mAq<7HBK zK3CsI&np;!ujerO-O{HqZ~zY{i*6mb7p6p*T*)Uy`th$s#yxAkY4Xi}o7kc9+(cC+ zi%`n1T=uLg)GpK`n7@zXFlP7>5IZ*;b=%@r68uU`{-XGP*aXZ=MqU;v&n7mP{@w>8 z|1V894NfOxA_fkKfkQ3O3yDD^Lyvf{M120jz!z^vFmN#NB{A+PyKzH48PhEzO$?+3 ztcHz+X5=)Bfg@#rXE`Rr4CWg+-L+4QSOVe1foqjnZ+L)#N;w$4dk|J0V!VRdpL(_% z+l&7DS_+f3D(7sfgk8XAWhE2qw(o2B6psPr4KNRm*ym9JE$UlYP)Q)K5_qHJj4=?z@ox< z^xaih+niDJcEhOroh*-7XfL_;ID_&G;#oc5GRk5&f#@bOmDRYR2MWOw_Kmm4hGZ)qALv?5f%+Z zEo{@kA@i0rNG~_}Mlc)63dR^12?AAZ(l@U^H+i=9oPfPI9d@#pvw2m%NBvR1XdY zAv2K0ZUJN#1BZHJ$gxZfB&vK>>dbnJmKs{zyJ!jqjyOE6PO%RbxkBj+s(x*8P_DjF z!26q|Tk<*L?{vDAypyIHw;JaoF#V&L zXC%aub9B-G03ZNKL_t*d!zd+ieHU}6cQ35qN{KMh)QtPtWaA+`%03O|xv1{H`uw^Y zvIYhTt6}dE899_ziC23>H191f9I?UPr=$gsakUu;xp1Nat zKLTqGy*A&K-}wA)VAc={?=nypcWu4<@ho_$EUSzgV_cuYjIR#)z(~2@QxBmw5;W-$ zjNv!8TvFZ(u#OfBO!m}lQ!DCS%J(A76~o3`L!VVW-%RdJ?p(R@x9`PmuJOCO)?pR@ zUVrXQ;sNypcWN`{Y~r>%h5mF;(QD+c=((}1Qs;h{@=HA~XkMabjBz8Babmww(B_dw zv18MFvzINNaT6#_NIU_!A<-h{Hp-wRJX}mZa+I5Rg3nP^vWSuxOw`*>WQ5_r#uGx@ zR$-A|YKmYKx~sH*6_I?Z-!<@(B#L3ZUsM}a zOzG>844bIq<1)ajiZp{cff!iS@F0bY7Hd0xIqNMdn%{QolJY9fGL~S8tAVTrjmHCc ze*kLez%qlf8aLc+I=h>*#{Jjm|5>h;&9m@ry#i4dO$qg#-py&b0Vi>V*;m>vvyW-7 z61etyQ8>HTcgj#_+lsCm1yq?Ro^GmWQPXa2=2kTyjx+xn78tSqQ|;!&Nn|)SbUjx3 zNE=H&kK>M%w>`YkH3^U-AnDp$RJvFkXUlatzn9k5X*H1;IcPKgK1I;3z^t$Ag&R4% z^mg34xn^DhgkR# z*q_BKnqaXwGBPp~mP}Y+#tq}G5`DijaFEnNiG#C+Nom{n%;FdwrbA*NWyZt|%Eq_| z_2i~7b=p4e_hx;RxX#z7ov><$VmycJynB3H2X{1|4Sq#`#*(G735;3{jjK1IiQs{dteOP)gwd$N6c5g6GVQB z=Y<^=TvYEhIVr}CL^n)nLE;;TZdgEa1uSJCF_S3g zmy;&e`hJiy>%$#{x*rtg$Gl8-E3SLq{i!gcpc}KTseJrwFC` z*=I|i$H37jfv3buHf1#ciAz8$F6z%vFV`<@croBRP@{KBC8dmTOr(w<3CIb=Np?FjM7hn7XV9^j z88kC!VWfpIWrmzQVUV6Lq-<_=aK*xoCAjOfdn=fG^aR`e9=kG2pRT$&SH~TGGPmdi z!ai8Lvs##}3aOUiQd1smu5u_do@8wlwF(xMf)$wKTWGj%cOxjHOc^k0afg>@94ztW zCZX82>P2)JbVqx91?1ku{pSVbQZ_j*;4ML^rn-aCBRdk&J&ec%d*l-BzvW4-6eyGd zuG$y)0s(ZC-Wr(fdZm!3#cV$;9MTJU5b_>`HFKlwuYItBF@@%f3?Wq%mA;eSdXh*D z7=(oh3yGgcPI{A}MY&@;mu1VzRoAS6!ZZKG-#nMMT zJ)tbpH{aa}+da*m9N;5sla;xK-yYn`pmx-BnlGrLagk_CI!7)k&-(2ri`~~#T(GrI z+Bw>fQwhduzX9WRd($=zqE#YKC8`)qlT806tG2FldkC-6n{#u_w4HO+;$au8msYQp zM|M>=Nf3UQgd|=Z;$dMry2b05!8`-79C&bTf7`fBjRir1X?u+Nb` zje!GnA*xBvl(oCe?grR=uknD$@#{=RbP7H<1*wlMYo9*Evg|L7i>|%Ymo~0 z5R{2Um#o)tGWS?!H5`~L9Wg+&9{VvXH2~ZIx*>7G#Dp7Di12?0a0lf(Ql2m^gj-Iy z^MpI!aOVXRCrmjZWer%$6DHEXbVEuDQevc()qs+a6M%FV`lAU63F9S!B`%w7Yb`&$ z0A8;<)G~nYfw3NYHW&4%c&XA61D?VZs{%9C+2)rofSY`;!fN9h2kZV?AG8a=whO4> zNpap&^I9`zg9*bx$6H=YS1D>Ck;ESo`n#q`&Jvic7S2(TI0lp3qb8Jb6~x=)bhS~1 zLn(xE`vxQDq9F5dfivpoF-%^S_)T@b{d29TXsVb7MYK-zB8)=S$MGw_#Y2OW(lXt} zhKvNZz@rlZlU(tdF=0W%f(c8Skm&}d8~Anu?l;hV61kCdJe1E9WhBa&NN%zs67LXm zgND0eXMiN&DA9z3N!_KBs?c$daDDd4G^XymyvDr~!-?cdW$%8};Iv(-Emp5n3ydF{ zOpkN-M5zN0EUf@Gf69_&F!#|cL7bFZTBY#03o{WV9DZ+>F`5r`Th`~|vpQOMU01X* z`4irjCMN&7ch@{5w$iH6L1|>Iz?Xv8Ji(6(-HhI?yEVjvJC%$(7Y_;Nhk?Ts_xjjmOaKxnn~rS!> z80GM;L&OytMPL}Le_NR#+3$D-Yp7!2b+Wavjq>-(1uz#jwOQAYbSv2|43X^$ty4HE z1Ed7b2{}!0ZvbPyDZzI01eY5K5|DHPVPZmJo4hvwcYtqd;7GW;fn&mr6K+`yBPr`2 zk{dUsbi*_)m=a@3c6=sDEWPvvoNkb71MCF&)o^rLVBmy{r^NgI|!2A$?sydvMO2N310G@y>eVvlCswmt}mEe^3cFK!tg@JS!X6-R_5!vZOfeW zThJ9c(M0`siodsLmT)OCxoh#DPNCiXHIbg%rF;%Qb6`gPz%wlJv%GWz z@=XmC33}5jC^LkViwDO&-*D%IFNtuU2vZWlu<#9!obZ+t-jVR0ZkXr>qzTJ1Vde$z zvh6G4grG-N^rRn^p<5lojvksm1VT`xt5Ul# ze{aBi@yTIV$a3cHjp}9r`wY9COh8V04QbbhBPP5J6SkZNZEW)&foZ_F*oNx+?+c5e zKueq|(zruv6vm`MK7|=BOqfA<0C=Z_HwbTifbhn^x18~Pp7EAvEXWo>14J``cM!h; z`~$=f`P1D~3TMsDgprW|+(4Mr%&ohQnnTEFjkd}3G;M6}$+Qt?@p!VBBau~gyehKN zZANpQP26Ox(X}pIPwdVyizL4?%DyeYu1Z|Riu!1Y2ecPqgXhLCT}0P?#RJ$@+BABT zEs(|?*h8On^cmwudEY(jT~41H;CMt=JlCQZN2zzPdUy(}=f+5}*aH(>%tykFs1^eQ zljmn9xrHhN%lr+z`~cyBi8Ag}!Y!#e#KUYPq%0m7l!eDn01^>0Cx9f7zx&FWcO9D{ zM6d9cU)7xE3LGZ0v%r9F;Qv!vC4smm&cv+kM_6x`(fE= zlRk}s47!J#ZDcnONw1;>Ya7(E>`WMPr9m)oAm1?MNsgx= z;hqw{+z5#>m}V?|!#gLuG2smp-suKP6Be5ApoDkM_@T(#u_aq;WwN1O@3hSw!0_x^ zmOEOstUZ4MtK61LB88ceLtv&^6)l4Y?;gWpE0sOHc2Pj}KLM9IUp!;a6=TrJ%j}At z899y^D^ju}AXkm>wW7pb$S*K(5CBT#M>ekTUX&|mb-~Z3bhqk}?LrKc$AAMXexT`+ z#i1W{8TQ?4u=*_Yxw5W;RbfE0EglHa1A1~$PqSyn0>VtdOoRsr51Q~!Nemv$_`WRo zw!Gsl&k~WJ7(@$*)GWepApQa5cTj#HVL?jj;UVEgkw92T;x&odEk+JAx%dubV^FYE z85TJF=H{6ym{%m171hL8J02FOd$azt$gz7kl{ut;CwPJ{wk|brTz8ZXum$>c;=_e}&(d1HXMK0YxQl4+%NgPnHvof-I9Gq*#daNP^>@DXeT(Af zFjAueL#}r(@w;k~#O`)*O?kBP zeJ#)W^UzOGJ`;ItK*^cyHL+hD0HsAB@L4F#kx%^Mt(IvG5%;-|@f= z?{vdky5s%Jgvb4klq4R=a!Yv64@^9XVr_j!VmvXs`S4z9T{y3@V6KSh4`bp@ZjF)gw~q&fQi8JRMb;hi zOqEKMkP_ii&HTbe1M3yfXNSmIm!P&-gPkgu)xc4o&@c42f5F4bhbbj7a$Lgu)?y62 zS{g740QN_wX!^52%bB3ZLRgFs$Z}LgJrpt}EJT>ogoW;y>5d2A@xT|nW5QbkesIRS z-mJoQBMUzO{sH9g!2Bz)yaUUd7(bF6T?zMqgGkIBj0wOb0jINg56Si6e#dOZi3t?W z=c_tL^)vf^b#KxDm#y>^hm)jIycpzGglh42#zJZBU#RaFt6wWt=u-e+Dbik!~o|rV_O@|Em&vyeI{MC zso-2pbyLn6ye!B$gK&dv7LqzwFy?u|`(wuA@hkHD4ao0ESa2hVc{npLXYeC~-xj$k zWno~kjYT$VirSHCBMV~p__1DLw&`kqYA#G2F%Fg1=OW+QG9vCnu&d<;bp6w`*DE|~ z5R2>GwFc1u*5-Sr{eHakX$&0m|9hRysI{fGSEhC@quna53^EgBvCZsma_nW&aFNs_ z)N*iB$}dWOR_>Z4ySC|h#_dw{F9AFQ!L`nhs3Zwy=L^w1f%ztaJj+p;iL=DvzzsRw z@ZdYXEfap7C;a_8;n#13Z$A>gJrcex6L7oZPtz}W`})tAZv?(2ERP?cw{PJ0@8J9f zEN@7}m`Hc0Nv_SRBSA~5C}}YF{rQOhT$ZAwxvP7^ZSB`7mb;AKM26Bc4Tz?cCndfgza=LRp| z!H<6+zyA$1{{TIHfN2IMF@o4pm1GFGkwYW(=V;t814nIW?)aAe)A5j>GS6$?&rKbz z?#cn$FB;7|ofCe9>l*oM#)5MO7}ZhCdxA+k zH0A|4FTm{%y4?W~mJBSJ@pymW?Z*R;AAiUE_zk@LK*}?2VBDBNa|XZ7$lo7${Q8FZ zv0$3tLCXUfGZq%32U}2REJ&oNEo=2_u5UMIp4_gwlUIVE*-^^UpecA_K?UWo0p!okA*7 zqKJTT%Re8b-#cl`Fa;oBSG`+LH-d;`%J{FuJt z?dw0`@ux4yfBJ$v|G@J8Pgvf+W0}8WnSWqPz->yHlHL)Xf&nIu%oCyY^A)OSLcd5! zwIez}voPov1sjF@^kw-77l(0B+TEZLjU4r2!W4(jxDo2`V7wb+%31H1ziix1(Yhv) z8|_}7yC!pq8F^9VN{?Ec<_IZ?@sw(KI|f5KY-mp0cjXT_Z{szdp3+(4t|rCz(!iEi zl;!h449cuGmLwt&&mJoya~1=1BJeZ;=_baFbO$nlAA~$J=H-D$eqd%G2LlJ^AHe(# zSq&WN{Tul44WJoF;>BS>M~l;?29mX_#hJk2Nhi%VWl}EFk`Zj4uEsjQ6*9 zy#08``;Wh2dH)SOORS?CF(xx`yf0Y3y<`6M9rODPn%|L@cVu2L^Q<0s0Em&0)dN%w z9GqPr7eln%GDazZHQrYvlqJ2mRv%b>;nw#(F#pZl5qTBL)@1tnk1Am_1SgRTr-_^BTH95+$F`jfX0wa$AW_BA_>L zNPjcmz9)G+|D1^yDx2g1^!i{GEQmH~b0jj~f=ggKog>pZ*13|MlPT z&;R}(_}Bma&-jmj{WHGu1Jm*b%s;R!Kg7T>5vJROX)>#HYVhtF)6IR3K<=Mhmm(3J zEL*kSYV5n6a~crFpq!tPI&Y`3!qyr%}rS#X^O4 z4Bf7BtSfVN1IJlaQ*@Gc4D^ZN-OylQ>F9a1(10t?XAK-$|CMV&cH!}nl6pt527l(8 z@LM8Ko&kP<@E8J2GZu zCgkNi^5Yxw+dshXzaqc?3Z@4*El6n=0}3rrr#)nnSR8tffEvD2`K~E0CPtn=YYV+A z4IFztj-Ka{XUy3*W=>$`-^{?lgJ%~Mf3g@2Eqmc)D}4FGO}LUOxfQ_!J%Z31fSf<| z#tr$^FT}V6{rJENy+?b5FkkEdYZ0D^JN0eH#iL7~v99RzYuk;b6x*TcrPN!~$3%nzA9je+BD z|Igp_TT4Kp<7=u8u(&cQ?&%goum}oMNa8CEQAAja4XNRSj4XsOsyaC4ttT4?oQ=>p z)N5xfcf-7@63`;9&8qbp?T7i!$_cJj`kO#JA#re_BG&6s7Gx6djm!jw894NEKn5mS zFd<`^5+3P>x9N_*-oD~*(=Yh-&iMZ2j(6O!;10UoaQ~-&!7u;%Kk(=O{J-#T|M_qD zkN^BX@Jq_L;Q`9;Se74{=Qm9Egy}wEn$&Y6hA`jaVVlY)*8^}_y4b*>x5$KT&+`0; z#`${~IY#&p)p?>}gX0($8uUrZ)U>zxQcVW*KQ3Rd24(A#;`o{yRGi#0IF~E8shuM< zcxMl6O#zPvj;@gYU01lT&@a8s*Ng{iSyzqjHF~}%(O^-ah2P%b*Rb*o$`2sFBj*{J zXNhw%O`zLNjT|>T-ZS2RJn-$uJ8nOI!}R?({N;aU+~>c69}K1$IWzL|19|=p`TZZj z+dqJ}zk}%wNV6I?761!!Vq}tdAd7y=5gIjgFtDXYk32WJt2KwlwG%!0)L;_yjg{x| zSU9+j8}>UQGg1I{z&dZFSBxXdn~{)k2hkVgnZ<)+ zUa+J$Ow$)IB`izE{8;dKyy5-r4Ue~9u{?eS&)-4$9TP7|OrUu|ew*>z|9Z#&`jPR@ zKX9La!!&=#!i!vaPZEoy+>N3<$l~AW5kXrQ`0XozzfW&EnX*-J;#r z6g^Rg{?u=sF8-RbB6XQZ`?0q5ForD?Wf{j!c3YG&qQ~(Tj4MyBdR^=r@We`=p&f*> z+3xE-LFC`@Int*waPVIu<1x+|7x(%X0?|+fBUBbGR@Uy;tB`ykDSQSP>yZg?O?Op! zS0aah%lzU-`YOpy5}M+Mp#a4 z{ShW_G7kV1&$spT{3M0^@%z)n!>{L)DL>rcWQhXNMh%ObPt98?f>Ag$1=9ewsli>8 zDn+aB_mOTlCP6L_W8a)c%Xn;|y`ySd1v77pwmy_#ko{Qn3UP(VRr)UjYYUL`1z(X& z`5(jgrwL}@K)%Ba9DsUoDWb@a-QH zZomBko(MC~$e6@qmL4E}1LYqe{tm)-O#FtFA4v2N0|zalOcQ`qt{fDKlh6FbJtru;?2aF9YwG(gU~jj$3-* zMl&WXNI4^M#j288u zaHa;wcK5Khe43XNg+AoS{4)={wPFDnraIcUT=YjCb6KY~tAT?NSmYfUHy}*Hgp3Ib z9!R*+1g0Cl;Esv!NPNeHFJkG=3*P4iZwv6w67iqE-ZB02S0FLwnUEKfpn7yePVl%q z&H8O4ZDi=kaWI~h4%08%s->SDBT*fCRoNIk*z~@sj&W!KXSGa5M`^F79u?Zo!2VD8 z-MkR3)LV@mYHI7*FH6<#MDu8X)3$-*3WV5$j1tgzgp4EV?}Y&-lj}B*RD$weP=<|d z$2ua1rh;z=Gr|1z7lR3 zxc}(^%s=q{+h6d;3*MFo9?LsGUvazNaJvDwv|vgzZnrGa{aHAEG7k=#k%_U8#qc2U z<^Ur@>hp`jp7+wA?LRBgX8%_?ci@u<;OQ*wnUuA~l8!eJcKTi@)nC1#+@31{03ZNK zL_t)hV{P6(;mC*6hgHpu=dF2k4f)PkHj9cD=kxxw<$<%yJ7>2?T78UjkI{JSan)9T za)bjN2i1L$p);|SAr>95Z;Lr5;F1xOkWndZ;?0;`z$@$BihP`3}^31jeTMtQju$z)E>seZ!7-55U5)nnLci(L;VW z_5ODZj-QwQMGYKm6E`SiY^KBjqmCH$tPvoLhN4T+N_o^0o~-swctoYjEz$u4u`R`pOrr%RA6Gy>L zR96XNC+}t?I})ZmVd5`H^aVtBEDXHO3*Hyt!3i@>z?VC2 zfBp(^#_|TtGXc{LxMjz|c5FH0vNUpCuG};?0&W$U?)H$Bmo{$QSvzn3d!?&)ysyPQ zj>XmL^tEa4I6iZ6KHq=Ez!C1QDCHxn9fiB@f;D`!%@?nb-GceMzayQ$l73d)hdr=v zx#aoGgX0d$cOc)2ftME$W`Gv}dX+1Y5`kP>n3oK~gel!{f6TzIf5jt_8#vzQ2N*Zp zZ-o1uF-;3@(*s{AuI{RWQh^ihv60JcavODj=F znm{DZv3ZVR%+gc0B%tQ_?_Yv9n9 zbcVvHqxNgoXE36+-ZSNWp7d!994X%*%lL$fFc>{dR^iRALVz)C7&uT?#PE`C~tXXnZ=A$ANZF_zS@VMae@fHHw> z0*0o0v&i}|B!yFjMR~_v4}*0vF=V%n)xSfTyT{-lMq=67nsUO#2@?}iR$-D!&KcS@ zR%lQnh_##aWFZltZiId`hQzqR-Ngy9G~Nv(Wj1Aj!RSB2?uIkElEHuLAg83bk1#v{ z|7q#MI0L}-_*eUcBbV1!C;1~_j$Xje&m-6GdOV&HtX(wtyP=RhFe=^~BLhcFd;n%V zV%Qbjc#N&Vns*C-{a8u(Cl3&QJ&js=7^WSnUaP_qWym2yz~&19NP5_sG#-XDCm~^? zgq#wV1k41?30R1+5KC+&(py-th{qmgFlG?sxFGNVB>xodRXkHryo*Fr|EeU+uU=ja&*^%G%qLH|W@!8&KJ5lIyE z#A}jK-P3W?&u6gcA8~$IlJmJ*6o#4)z=&;g6DN{xC-9`lMMN>Rqg-UVF4WV47?~y{ zOdxt7(ToH+qB1e##=wmUH%{Vhw*a^0hWmWOZN7y7;z?ONW75?Yf!)A?d{f=Lw3(6_ zzr_$@MDr4!4ADXqhd!@D9@ zV6sS1c1S>3JerdeS1`nUzVI9mx{J8>tCl@D>nHg761fpr2aD)0U(mAFu9bjeM1Fiw9Dx784O7b zcA2ET)mYMqq5^eL4g0C$U^TA74yDwJ7{DU@D6ISz{!r`&RCSNn`vG7+Dah~+4Ki4y z7lql*feJ5ohH0Bgy(v-@bdXdpge+EUvU4cA3}7 z=N;I>xbaj$3D6Lp#8t!FUAmAP&Hl?TbwMGLjsC;_c2wh)%O2SiPE+*(OZhI zwI8cJzN;hsXQoeM;K*JYHs@ZPX3}B4%G+Va5QTBI>Ne-oGMvc)%_?+fFpwzj9A)q{ z6sPq>0b(MRp3`6pqeq&>_}gy5;>w7II3v~D%HQbzwp;J5l;%lU^K7fPq*Zs##@b9w zr7n7$hyK7hkfcErmWq! zs$e|ak6`HVqu8PH>0(^J^=^M(4*e3LVWOvzOu3KI^0_=H%UvvFd9XnW-4*7+0f&i4nrK`Ly0P)xA212?aAIo-uL71v4%zpQ+w3@lDPG zuRvjzy@pjzZ9x?`YVztJZFf=wn0!2-VKS0E#0VhUVw2jyJY`xB4tX{=?+EXzzC}d^ zo3&{)Q`4*3uBq>}R6K&C?ib?sv9+@7!ycEfAD#Cxa~%yYj;t`g4CV#aHVaEu@E6W~ ziaX3!R>M`6(#cD{Eny?(`J)XudQ6BuRugD2ff`|g1EWdOs}Mm~yayh3Pi6??H!V)l zuLfA31$z)@<4Ch!WHms@$tI%A>Xs2QHp$`@M{uLYT+Fc1e%L-RIS`(-?k%KgBrj3} z2Wk08jn+wQq<37K)L360VVUvx>h~Gg)@O{;C9LSUUwexFF6t>bkPJ`I2hD___06)Vl_(5YKj`KUU;GBN7AP;aKvz7xDUPk?%Db#F2v0@Tbf0_YCs|5c*YWWkrRNhy)^8( zC+@y`tcI)7LTvYG?_p7Vw!5TlE@t%7Q?ZT`T!rVkE z+sKVl(C3-F+k}BIIwW?~X6x8829IdarrYYNdd4*g08IeRo!%Ss7_RCm!1{h3$F8VX zNYVGHUERm~<-dKakS~r98fE20NDSyFmdnP+VY0zW7&5?T^K8EVb?EaLINXG(BZ`vv zws6snNXIIth@gAp>zb)%ojKiRwtQFUeru%3Hh1Y5(lUq!o2IMwf#+L0t&DRzzMxHZMEM`g%-&7?{+5lU)~?3QgH4c>aB>ir7rx%A|6@u_^9ao|iL=B`@l zjqzbKrXtu*Au}0nlOF9okFYE~`c><;zwE=>-?fqMh&`5N1L&39P8g?AW3TT z01XVuNZn#yqzCCXV*p6c-#Q~dFCWX6IWyOWH^df<;^TTQA|^s=7VooLF&b~vSR(f@ zYW{+7VLjwojT~V2be428hziWeK|W8i`T}fEAwdiqMu@!>ileXu7tE;{;x%!#=ucnR@`Osm8Y6x4DOVt}9NSGeq!%L`XsR+?j$lWHY*z`lOxV^CDL$fj%a)j07`4cg=K|cA#W|$dN~A{k zpk;Hc&8vppVp&B?mf!P7eg8GAQGNL0cA2ER=|7R2BH;LYyt`1~V zO=;2ny_UD-8wW3r)8(|>rCp}W<1i9OdD`t?qvtGsQ`>(=e-V=nhB_`!z zLq74t(eoa*D;dwG`&d`JGZmS$^ZOCBsPCQSP5x?dV=#+y-1=uglvfH*JU4O}@ASV- zHd6DEQ+UWj-^$0-cP%?nb=yghalhGIn8BW^0-xM;~Em%G4Ip`vd3S53t0Zf=_T_Sytv>i;=fMc-`gq*o?K6 z1!&9>xfWY%Evga&35#2Mti6~j)$4gLW?mBapS!Dk*1k!1bibVkSQ<^uCxVt5|7xpa zJ7xhS;ceG=LG8ezq!NQj>LYYt{}3Qv8;tPYkl)TRS(`(>I3&Qd9Y@Q6dr>3iHI&}0 zS#XX%mAG-L+t(l|Wp49x@;ocQX0CBUmZoc+rqh2S`ZNZP3-@mS`qu!MF9 zv1$xizG9O2q203B#$kW8hRSn_r{y>$+Xp?52PsAvl((MPzGvqLKqesP<(A6WJY?6v zF=e@+O2mCtjAh@vdBBBA=UX^E1DoV_69+eH$cmt-(fK=XJ+TRfP5c~!88}R7XR3*3 z#kPmu)9qQzYw?$3Nn6-?Z%BjIeAOB%;u$JI-6)W;m@HfVg4H~MR-Dr0aVrLU4yYA% zsTSChJi-1Lu%@2PeW`hmjE&NzHd1x3aeB5I{T&`)RuAq8O9YwdQ=`9o`kj~?{y1Ik)bdAI7Cqq+ zQb1fK5)se3og|r*U9VQXPQNQ8rqT>x*0C!(ZxL@ih}Q>07W)cB{Vt6`89-rh6%Ni2 zuRSgt<3We@EA3J-mF3hj^~~o4A~WQlkk@Dq_^&{p#=tSv;0#Lzcc~=$1bL}<=`Gt@ zd#mSz?H^sb7$(ufd7`qGZeRJf5UZ=%9*X%fyGz&B`nxxWk9M(@1zq`5V~6b>%#A_=4ux9RRgvf~9AGgaJ34ID*I=9wpX#>d3CGAv$_E4jwEgs+=t z$q~-Dy&YDkKGdcfCK(iwHW*hT+}wHn?`+Swb6xFBV81T83cGl39@Yih%2bctx#vjX zex{zV%M%S|C_Sr$=hhwTcD&PgJ&6plGCn(oB}zWy0y$DU+@Gs^+}S#)aSPbDZ|$=Q zY%p_z8aEmvNB^;V^M(_0;|4>sEB3=q+hSOpE}slg{Czf->-3ln^8XqFv4$SjoElZvtYb_JG1H(4VOhYz(wyjBF(Ak5* zp9A-hZJ)arBh~-NC-eEa=C$w;^ZF~YwZnK%PkS*AITao?p?Yk=%%})$2T%clQBY9L z)50Gc@i?GcudTw(JY4})&YQNy$ieB`hNSZXGX8HhML?ozP?2d40YPWqx>G zp69-04#0b~px*CZt|fjveHsG?02g-N@Q6P$*2v%yrVR1k&~v%krBiXzV5a=E&iLeb zhoDWlOlMi2sP_U7-giNvXSkt1FUC_p>N+j0SK1cWR0yfdMbxWrjj`kf%o7*|OcTIz z61Rz3vmKl8&8~rlLK$`?W8A^uXMLLO5%*wt1W(th4R!hMKY*OEJ?sR7vd~6l`tH+D z?R@9a=~d4-^?gq#0#FhI%a>Nh^r+t$w$+1ZSNViSio;$^F0dMg|K=6UoD{cUZQZud-Hj!|?9ZV-%^fUl4~Vw1 zm!vfAZ05KT3&kMiiG)AEY!7=gw))8>X%X}Lx7aA1*F)n`wCCO)i+4Q}YbP^D^3(SP z^{G<&_9{Qbtc>);y-TbeU*mMxh1u^u?^JH%5qGgvf8Dsx)wdhVvS=_iw_xNTA-0lK zH=vPjGa=)V_ADFP`hgiSK#h^ZxiD!+Q8iYZ94RDPv&Hg|cz6Wnf=cO(6*B2zG9;b& z(!b-cz@!U5onIbhfrY{{)LZso<{CFj`~(Tx500Nlkx7bZ+53(ThXa9bvQ8#Of;KVOxKrSPtELG}i{# zBa0II`?8oOhMccmz^(?1fy35B#MGgt49nl$@{DOmDpR9#xKY5O^i#4xN57I)MTx9H z{2JEan!Pn9kZ^UD7+ZxI#Ns7lCj-cmcGZ|mDrHmS zFaKLg>#dl-&!BxrwYL>JKd-T@*o2XJLFS(4GoL>3D1$LJd}j24tyo`H@(ZDy!*#7a zn7%VTbMGF^USdB6EUR{;Yiz<8XpKtoIM!mIfsLOXF?7GeFjgZlA!8Gvk4F#`wmo7?+ryMrz8k?}!lee~Q|4L4%DIaId; z7K@q33}!;*8O*J5n=RglZSPK{?@IR5F_V!ZXK2^G8Sh7Jj&YRJ0n0q^V;tl3a9)P7 z>q`BIeir)-^l1znoSMy!C2X#DJ(!w%RP`nX@u-YB4W_B}siWF~W0*yXPMy zl_JNyXtHR^tHyX84(>%1H`MT^%I!xB%=^(AM!9bvC0ei(>b|?wLu{dZ@Bo91y_&AC zV@B5h*PgzYY_In@qW->*#C|gO><-*Do`suc-#5v`xM1GLEhne+A5)&mw+5JWGy{bg zG=RdapNhg2#1*LGS4XltTnrwSQ3xnij3Ov9NsoRXZu9mIqxaf^y$%By({cj*I8BRL ztLj81%i*IPaaI05gY_JK4@Vhet&Va$zcaCLf?4A&TQR$2I`SaRli9E8cu!zMr!rUyot0d7)lmCQ9grLKmtK%QZ79ISiAHSx45uB-)6(s@b>Hw+TUyn zOMCsy_%C+~b|9+(J0EfQHEP~jj2q`pHBTUpF+u8vx)^h7@nA;YKxY}z+Dy})bL)#C zuyc*>!6Nq{0@Tg&F=jW$Zk#=xW1ZZYW@+I*M0}C~kW|R|Ha#!mvgO;!K>V=1=tSl* zA+5tK#tS)@s>mK|3rI&3DotRT8Usf>ll;Gtabw~cQ=LI|b^{0a2G9+pD~5##7gN@` zxPilzd*}ZLDA~tfj%e`LvE0I)JanETFHZVDoyueuU39EMY@%~V?a5?g_N>Zdtm?-pMfs9v@!<^b=)mLOqg=Eca(=d|FRB|G^L5W<;nA>hPDQsB7TvC0 z)Yw6&#S9#Txd5d|c`Raw1ahsYrK<5l13R-AH!5ba38|&7ux&9^Nx)eeEam;L!1|g# z0~_fw+skKKD8sy87_G;s-M7$#9$-Gx>I*(nA-7_mfIf|Z!&Za32pmI97*o3fFv1qk zSe<#=q>qNzZC$UwFbYWL*q|&C9IhQGrx4wFxl!_F|McSON)XE}`9&U1oCaXVOqoRi zEDnbTMl-K~st(Vhu$y*m)?7o3Kx_*p_T%w1UVi|R`(|s-w|Qd z$5oJQKse4bxV4LPO8)(zsCn;eF5lro{a_jta8H?CnYYQC{!RQkFK>por1FkhafICs z#L0YqkXA3HZj0h1z|-9649vG7+`)3u&VE(hZSj)iCttzjqv*OM001BWNklVlxVZ>b{RrHcb#n`*oW)2b1t?BdpKYKTQJ> z%pDndmC)`YNfUwX>=LO_LggK+tF!ush;bvu#PPl6wh~xTm{6-|YNTnH&uW?TLr8P_ z*PemHm}wAQ8$ZNCB1oHc*&iTl&ohY9zb$rzxb0R7<*vC0YZU)8u(Nw!zbLm*Quks% zswb;n+&y;>))eyygZEo_@mJ1zFP4K)K1-wqVN`&4M&T)rLSY6=v{0FIu;`h@#lt$g zr@1M*{+UzEjafbxnZxv6y-mW~nLZsleQ=fKOZKK`Yo}jnZ%>O$=*xW zFj`(eO3b-$EsD1f>$>LR-I{SY#x_0ASYTEl5;jU_WASmi2iRh((X#ZJV{E|)!cxqr z3!s^6nzYQ@IMy)dRHRd5G7d!G#yUpG(TV(SqImE0v6v5j{3qM=fgwf>`*gyIwI4A1 zci~{;-upP0E7#Ph=K5NUCjJrZpq(hwb6EOe?O+~L+p#u?YTrMPz2v!kp89@(rIg%` zv8g96J{Hn>2bRlo6tlUO`6BIqw>ua^J#~&^5qN*AhVlr@Jijq|^8w7pud$*v4EHfx zT;r54(DKv;mNHr1*N%)_FKbwzEwM5^1`5yMI;*ZK$FvF?CAhbU@{qJaFgy?mYTT&c zQgy2e+_=GdQi?HIYP>NdH;H{kE2WO#lA^_jGWjQCqbbaYe?7#sli5KDN6TmP)@-l@^bp_HVkcjN|~Q*+>&vt@L;rGw*orm<3vB*9tfzEeu3Z$qG;fBMclM2Gfj+ z+1>6!0jFTTrWC5NMDh_P&P~2^vQVShkN((wV|kJKI`_BSLR&;2?sn$297JHPaL*q? zcjAETq)o0|se;*3Xgnk`a|L4tV@5?px>3J4-4kAkQHz|Q!XBKC04niplI?=wo*nNl%4M%; zFC_A?<`!vA9sa5QNx6UHOS}`yg>xR}KQ>~Vs_$H0$AC|UkCT<38szQ-^Dd_Hm(#R0 zsaUx?ZN>6yX3q@Xftfsu_TVJr(tSHH@p3RDV?>uCw9ngvr8ga5qjYz$UhF0|(yNw_ zuqOYsBG27Dk)|!wNDazt&HuHbldr8{3lY-2Z*Hr57)BVYyaOw5W@nZ56xoU`{GyPY zJXqB8%}yx;W-xAGx&h^;I&eY76^tvuSAb_wt$LKV#$+l5cKV1!ssrK>0FqSPmi+X^ z+M|>!^BxWO%35}(>r@TjJ|Vxp;~%6~(UKq0r!jD(1I-Xzq_^=?;xgm-0(z+(bS^oA zL1s=he8wmW3v7>U8?AeUHSBYs6v!>dx=}mmmTcyJ?(x>FgU!+t5m1geRMJv7h3X1M zc+Zha7AE!HV2O#-#+yezoX@^UISU&G7{U*6Q7Zt3y_wx zoGApJr}4{4TXK_%M~2WlE2(`R$Env4kLA6LAJJ0mi|!stOK724CWhYZRJ_coKhR8Sl1%6&Y)QCadc><@o0RiI;gNp0@7*cTrC zg5j%+tbx&HrZ@|Q88@yFQ#9f@LYly(piV%Y%sY`=a2E(OpdS%+A|y)XICYzIadPXYZcAJB~ek*4p!>y=|*RJE0!d zaZ-v#EJNffx1OgqY&oY{zSl^{wjtkWlwCWHFn_K+lZ79aYVTT8o)VvkbPG#?#KHg- zpiG!}4g*J>QL7j-7*{ZTKtq{>`2*m05PzV|6=klNSOe{YKy&d0KhdaxLK6xm^|H6} zm>gwqpVuHxZ5|D}&^LNEHYk4UVRxoZ#Yu-dSywxW%Ht$2L7&LLG5Em=Zzhw=bnBEk z))UXLWXd!xpo=7@<~#q*&107ZJcA)*CEgV3{gy^v{6!Wx?m!tsnRfNh>w*AKCASG% z4OLVS-Mk$v01`+!`c$GF^+hQjp#R8vBGXO0Kj?-6F>nA9-=pvafCXpL@QEDdHA>>D zL9~)OOw$qRB;W_o#s)q#zwLy&sR{R=da`gkBRkE*`rb>^N`swmtay&1_Kuh3sgcn& z-?&Y4j0kwWEmu@SL0VcljwB}Oh1=C zje(=H2pq#WOD%4&H1QxSUJAwC+183?%gWQmvweRu`4IN( zO(cw3$9Xu0bMp@DuFvM#QQ`i2%@&oIGBD}(6q+T#Qq{mpRK0<0zp`sg4BgUVIMVy) zitvIB>WBQ&fPD^XXe*ZR(K5nW$CAm zi|nq7b}lK)k$?Lz0qqrL8tKrN;w0AHWe})=3Y(k%pJgiH3K=JkK$y(LQ zR~<1~&#A38VM*WcEtrmt(mlcelWn6o7tax|3AU$+facx%5{{g?)-dj`CAIDutQR4B z%JO3|PP$7dAxE@}80)y(TOMPsJ*f@PelvP0H&TJ`VRoSnn!I>4nhvUIN9E2cJ(S;~ z>p#1&m13+GYg|Xbl&7#$HJrRhQ)o+ed}YsxG-)c zx`##4f=7z6fz|Na$`0b#2m==5Mo|t-7D-9tX|TVamXr0=6<5hQcsGgSTy^V?8#sJo zU&MG~@>hj3MP>e4B9r0yt@~Qe<=l!XKJ;VX*xG|=h>h>v3H3Lcgg;GdhSMjMeCsMk zN2D(0KVG5FHIy04dHmR9&?)U3mQq)gXi$&4+QafPqseMHx%p~NH=%qf^vAyMc+x!> zVc8!??{N=f6#K86K*XkU zHE=X;IHEVZ7yIDd_R{%Y2qPZZj~T*}w~R1ETX-L{`rtOr7EA-eI=*n}+JRYlz4%Q> ze-8U3^oa}{18^k&Heba-+T|}n=IWTpW`9YT{k?Ek;*gkZl1v|D^$#ZC{B*8%2|yoS1PC!-=&Zk zHAuhpQwyOMiG5THP+6mW5NS*wctuqJm4Lax^U^mKiNw_L_vh(I)W4wUC^<%z&pFbQ z^0t#l-cvq5Yz4GFa-c2T!7N~Qqh*j?$9^nI2`t9(6WHr9zE%1>29C;J$8A@94vS!R zp)@qzVj~8~Kv=BiBbaU&EFQdLzI)?6TQcSR#$KN1DA>a>X2XC6H6m0dpM1z`6B_Rg zs|z2zHuzLqhAO?xekQmDy$j!qvBAU1s+~yN(u9M&Yhd@8^<5@R#_)fHGX8Uvd+9^1 zpdMkLkrw>o7h+MUIAQ2@X&|hBG0AXMzNg+Bw*75uDcgx@a8Y7fETr4w$u=xj_^H{# zVG1j6D`ZwC(?r4e{GwlN!19lb5#U}MVwkY)4OMu!8aey}F@o6dNk5S$0!c^weS4-F zOkgX!67xd>|5dn=16`qCg#VblX8>_>%^4X>y`M%+H#=U+Ge^Hvp&HT7@RFeOCR$y_ zr{{Q#bOeQRdSc$^4zTciJ1#$(V6>Thp2m@`xwd?6*7CUJmIulQ95t@xIZOqdH`*y; zZr~sd@XRDZ_ld-?p@s`Ha?DgvX+kX$2T2SS6XsHIn~H{{bHx~DL@y-u$t3q&3Ah&a z_!|T@Vpl1(8M2SP_!+z}W-sl8T_2JR11fbKqvo~_%h{*$-Vffgj#)5SiVgeS4YUih zo*(5;ecnBQp1?ixS{!q-eh*p7N@1KRvd^0Ik< zKduBC^FJCi$fgSxdD)BzR=-lG+}JXpLafzoI|Bz0`@rqvPg@_FjNmg_sP(&K=#C=o z`{q{2jcOa`FPrISu3V0k?6Vc`UqwjS8Q4#(@VX4$Ln#VXWJ_Lu;uSg){Oi0r>s3$Hk>hb zTfNja078uoM1(?u&-x8Q7&y#(qljUH?C(;1i%O+}xyZ+No;dT;DL08Rqk_f2QRE|r zd#&jz?JJ=?4vsq>x9!uJfg%(@ApVX`+Jw2cOpgJw9mghI(CeOVAEpwwd*>_}_Zd9G zQ^{YpeeQ1T^U$X;Z~zE}44q>342IMtk`TCuVFe4NGqrvbrT5qL3n|x+dGcX~Lvrkt z8#p+EjE4JiDAi_Y@W|WDjX_-QwUbvG^^KTY%lde}%YqI{9ov4orGW?6 zMmn~uJ=A#MC-z9e0Z^?gaa=u{85Y<@NFxF zb!!T;Aw&5+cX`{y%oKMp;IWl-8=+#(=U>vuK`wu(?_fvh^mlxzN=syuiF3-=>wf3t zxK_5&wV#D4G2boWZu(i>B)iwsb}UcATi%`ZaPICkKHT;S(=%X0lxD=SG~56z4^WpMUq$7K+mr z_+~=aNVPHM{bqzk{>uj1i4i?<@2Gq3Dy{T)(Swqq0kQ}Atnu5cS;22a znOj?d%>hz-m+N!N*2axk@L7)jD$1@HGdLME#503E-i8@D2w{jeV{~scY3;SquVm#= zj2kuq4h0-Osr!}Go-k#yiUvx;vvgKIdAz>fm^FQ6>-OG<(40@pA{M10WOJ>-{lqP$ut_Fk zao=;Kn!$mt91hsxL1FK_I4Z%rf|lP57APRrPo*$!)B;kOBWd+|&bA3&*~xnjUD~$I zoN3(fBAm9}s+GFSA`UP&Jgi_m8aw?neQ!|LE^qrb~NvbAL*F{gLSGu?4F+%B!w>uIp_bA+L3-ko&+&b6y+ z?2dE9+Yz~8iSA?m99|g=+sm|tp02-s|Jp%1zIp3;y7wkW-?FXWG`qDi@~Q@orfl6M zmjNqfw%L2WAu>Hc#z!EEDw|(J!tvBDjdVq3`G(dYXr`3g;K>MUx}C^A?rtYiARYbH?xyYF31~Z;D@EzLw(5 zu~#EX{N&jZHq#iL1RtKPE|kW5QvBY8A3p%=N9Kq|Okg9%XZPSie473gh>aLEtL>r) z68AS5TT#vtN}1;ujv<=g;)QoIQ~SMQ;M}MhC7x`um)Z%pwoL(a!H|q`0!%2CFwKOi z5-$2Z&FKTkr)rv7FjYpGfr<6wj}g!i7bLZq)(vzmsyk9;u{V7%n<2yI!xX zAVm7i|82nB=_ez@$;tF1IQ*+gvNifV297gpl*1@-FdHG`mJ~*gk*K5o9t<4hD3veY zO9KqsFw6IhDTw8NLR{%63&RZ@6Uc+o*)|nRO`6UGnAzyfJ=$EO%_w5m>^DN4*855O zRqRoeYhvYQGqCu?qq>p9%YK)EX?A^WjW8T(m-`+0UcQSmSc9x)NrO->BW!DakIVEU z?~~qiqE}5;LQcx=%zKWMY;><5!@4!F#ZM<*Zx3g_gX=LfN+3C(Kdope0IB-N?40GE zoiQ6WdLxJB(?4hU_nCmkj)Pwnf9pP3FB>1v`3ht@#?b)F3Zh#7;C-Rtc|F#FHqAXI23C?xx$N={ z=LB1FT1!WOdrh!LvMvB7u*ZX#Eea?DmsvhlJz(qfAOn94sFLS|{8{usxOf$s5 zQ6=9=x22GJ(iK!$5R>3b@+dQMsNQGnWqv6(NKHQg(0YeZhpD%E-|Ks73c4+s*+7QxV~V$_l!J`@_PX~brO=s?pgGbwU<_ss93b` zSEM_WfO~DVdd-ylBV>kDf_q3H$N8~x-+2axrrJ@JO}-hSQ|wi6Y|!6 z`#$U_iwi6XCEf7gqCt}i6Q*kMJ#ru=QH~22j{{=fByom!9Dg;cJ28CZ@^sf4SYPVY zmAz9Mb(v*PHi<%7dl_L(Hr#x_5)q)Tg`EO-fP$wy|GvEV`xPc`iMrxM?|Z#AZmBKb zJ^p{sP;iV5UMIS_eD9{XOD_c-3MBJ zHTIYVo9%YDnxGP+D(^Q>IwAs70hm&3j=}t^s}cN2jPq2w>h%%|@M5BeUx38~1y;vr z5cmD#U@;9miKLe=CDH!!QTy*RLu?l|Xrm#vF+Y1V$_ch$`F>5)MEJGzlzu0y=eKL) zp&zxov6She>;Q;^=Xm+nbf^uA{!gRW)+lU|lbi~}u}P9**I2fgh~5j7nm(orSJFVE zl(zfyjnno4Gde?`*`~Qum#gXSVTK9C6LyJ3b36VC<0>8ZmL@-ONqf%UYk*V0+8)Be52V@$q8q zoZ7*8$_hO;cxax)3tfF5g@b4CnXH;x|K#-GP_(JJyY0zR*#3`uZJF=2XQWAsj$hvr z;=DL3iM>1-{TdNP>Ni)g}u9C+zsEo0UQ9U{8|`{vaD!E*g=8-Jaz|hz7Qe<001BWNklw0!>gnl8Warcv+u$;s^a{gu9mzO`AT5;Mc zS6LBS-n9jT1o;}OV>|L2D1WYmt||^c7xO4M4Lf-ig`w+l7DR3}xvRu0Sv_jcz0|AJ z?UUL6jT8$dx4Ek?Uq9;Bu;snn{T)$=vRZ3-Ks|(Ce^f1(T;4-BhgR8TScE<>N6w~Wi-P}S|eeONr``Mwuz8vp}rafwuq z;n2#=&LC{m761*it@X;Il@~J+YEj;7!IG@)EGCkAZ&a$dk!(+y)z~Z^Cb|K{hY0rt zU%uQuY_Vl3r`w9@FP6G$G=gF0N+8iPUQv(jowK##>VBeC52%$4a^5c)2kPh0r!jE6 zS}-j4u5-uheP_1T9k~l0JYw`kqeH*V1z%?UuDTDe7R;3~sRsuDpQz46ut0#e zvfh)5mepDgk<;juCy>no&LOGIEF9Wv01d>?x>@I5e!q&ElCTPS&LUXr)RiXFa;)R8 zWB#U3-0PV2F<+@OB_yR=2=X6=ECUV3KA{MwW2i~@4 zaQCrD`xf}QLX6pD-hH-31)^9>jE|}cc_`tz%SMc>pNW}qh5?RMM;}F$TYo>cT%}%0 z+lN>dKxBCj`2C=pKf?OxDPClI&PFWmPZeRM?pVzh%v<4!ds{5plPD&Y&D*<6Pip(0 zhNY5tp=0cYKSOLD-GYTTME3O1w6q5c>h*}Gd(%G5bK#sWI1UiojGKN&WsVft2o6J6)-yy8$4J{@zo-v&H{4$C@S905~ zcEQnhyZ*XuX*_SN$rBlI=(S-$@W{N!+2n*FcHk-pp7&3?abzDBMh)n9aSyg)eX9%9syhD@j39KZe z_A*^72_9oo+T&Qfs{30t@2^IRrYt>X`L$T|mCSGUVr@P35~i=`tyr$tCY`ZMVjvk< z*0AhVY+Jjd=33f=F%gRM!mht}_pV`0zPgQ%blV`YwR11W^ZRNm5&?yPO5kE2F>=^v zE`&Pi=~t|A@kqR>i=LQrgBUq(`eBe759B07RH@?9m;Fgv72i)}M9RMiSj^K#7yw-e zTc*WI`d6aYJk9IJ)8{d8;JgkV9<7-fJjcFl>c)^x?rf!5x#8vx((7#2KLVK5Hl7&n zj~_Bms92QWj~$C7+c4V(Aqq%^Z8jm3N=RF-gq zy8?jVj0=jr^J8vK`*T7Blb8!<4< z#4JYL>_J4jMUYTXV4f#=+qUuPk}*==?FNk!dFO8`i1Vu2UKIwHXxAz_dfKKKla$`( z)?-@5hp;>>mKY-&dNTP5UP+E@!g4>{d#_=+k09EoDWAQ|4$O6y!S2mx@{`};A<<}1 z-7~jg9C@GczCiT7h2BBv+Wco?`JH1-dMe5~)EX8Z7{OU>0((E*eGFZGS%Oe1%c#r` zu(bValrAe~_b^VS6QgSL7HEk#V<19BN#ikkH+T20Vb$`|GPYxxanUPJ|ba%2MXtGZ`5G5iF?wz3nA1n3&ZQHEh&d$6-*_v_QY zs&NDOLwj!DCnTZeDAixcsA^0b#^Tj( zte~HmlBFNV`?=9$!3!wsEiMG*xl6|3RlmYic!<6b4U~jTR^R*pYw`mYO7yR$JZB)C zgd~=cQ|`muYWKvwiAGM3JnU1y8spA@l@u`l`)6Q=Fa4;NW07M5xFEixL>W#e8toF_ zThybKC1it%iP#ntY=}7m1}^G_Hez^pT=}@G@3quSdmJb1D z+@J!68BpX~3@3R@OUT0bWI3VFV(988Nls}ezVodk61>>Y=uBG!MJ?~;t7K`bY`!+RuTUd>z8!`Ie@bAE(AFj#RZU!z*pR)6oY#wFTmrb*SVyoZr zxjN~;hco)2bhc6AU)9L*c?=xRh{DhyjDvP#1?t+WBcHQEhn*PNR*Qm09A`bm0sB_r zMCmtlk6=!(j4bj>3~dL-rW|F3Y*9WS$wy^k?VxbR=9kFx%z16aKr-+w7?I|P0!Cp~ zd+nhF6ta~*WA4%(1P00kE)#&F8wka%dIoT-j2ls?|SYTyr}i$X6O+5-EC> z+>AB-=`M{dN#B{Rw}zgWWQd2cZuWmrHx1Lnx zAvHKX%u9syx5+JXtF!uMcrz0U$yrw-*C>t_U)16glP2Dn?h!_e@GCLOLOv!Xn=o3o zRf})MqAbI$-CN(U`xTS0Gx9rsq^;@r&y=qX{@g#P|AU5g?^Zd_d}Sv15TgYq`b*y) zG)TV#V_RHG4_fG)4=~S<6SSeFNAKH1_pHtfW3JGeo!j)k#<6aYb}Qz3u>Wly-1+)_ zY~c}S&tje5RN=)11(@JoGZnxL3j_+xEPQ!lF;1h%JSL1f>?}uo>hzO-n|L)35z?~Q zsF;*>V?~vGmd;Yovj5QV8C#T9YVYp(;W*><>|8zrICaYlVXS{2%kopur!jE2rJSU5 zit!>=^Y>sCB$H(|G^F^$%9uA`09>fMiPDT57B?c&#Xj{UG<>y9KNPq4{#IbP$9)f0 zYhqklEPu4WPWxt_&eHnp2x!5-jIrgxy9KkimSUt}M9{#XP$t>bPZ8zWEY4c51c1r~ zR4xE6K)rzZf=UHfW_;9&_j$&9opB=u-X_p*7togr@K#Xg86RcF2WCuV##Ac65p%-~ z8)n>)V-xQUac~!^xGc}VMt7C0|qOPQQsQ2E%4sEwV1^kS@--n zPUE}>3fLfB`#$Ot&ek6(%{2xx197hmRff4}SFV^rpi*4BH5MU?aCL=w27@L7O$DeG zx7&=5`HEYeHO^8550(2Z_J(dvVFGcHecnX+yej*{O{>>ulw#XtVv^2-_uEI=W99_n ziseK&|F*un4I@esWvCl3o3Sj=7wW?E#J1Qoo;3V=GU0Q=3;PVHHxQ}9)U;bxuiAdl zd)8(<`|%=@=G(t-(!6rt*o;9jih7_unBt+0c4b3TO*Ht+7nypx*R})sNsH%q7rD=} zAItqXy@U0}9!tYJF!!o6g9U4BB;gCUnNe;Mn`k1!R3^+-7No8gD+7#=I^+Fz!xx?< z+o=FF3(xl$fK?V5S@iG;z=cVT9MXQ38502$aU1-fTwQja^Expq!b8S=VuoUO369c* zncwoppi3<^SzoyAK;xdL))x2WJWk_tBwvp{je)~GII<-+SvDI1_7EdAnAmkwToV%> zV61z~a>r!b*I=$)wo|Tg$6&wL2N&rxnh8AX7d7r@%jfRH7!_PultkOMqR(-D>N2Ut zv@-O!ly@Qms5I&F1aT{-S^6Bsj)g4~5pGZYVwiVNyAf$M~s z3T_O1pyGooKGeX$mjb*^;5S0O05`6<(hVOp<3clPsn)m<#j@%|fRk{26^4ydi$WG8 zZkIrMz&za}q*ai}h4%Pv(tCeYO-KIJ7!;4@TFhtjNV#A-jnq}Hy`yxzM%ll~^78_A z6ROiNY{zo>?&-YR_4@kocj_?tKD#$Q+U~Ng)rSsOjj@fKmyYhWJ@!_2%nas=%7lsv z&VAZM46A(M8I@I7I2huf zH<4``H_dt(>tZjl&N9zzVRqx6Q7fO96QXsDfG~12nzVQ19hm$+^#S3 zOtwtTecUg7O2eorecRZI(a7n#EkAM7R)crggxRI;TI(Vl_ddj|j5)8t^GDdCoSeF0 zTZ1DhCkS<8Nb{owva4;!eKpnp&^XjTWc2s4y_bbda~Mze2!k)~RWPn(I)WO@cm{|u z0eC9}(4;OKa>~i9pBq;;W@8(}h`y#hs%g*LPrkRZ2 z!)S@6JR2p8(-*bt)G@gWZwOzJY@Q46`HwMbF%u+Q+{>h?gU+hFilM!?s#5L)FqNf| zad)t$k{F<>Dk?*mYdh3YnQ#MeWnrAI29hw`8$pd3j1QL2l^C}|s8qlcfiHxaD&Fe{ zzTdv%>-8)C`uG!bz2bx4F;hjEt|*rqh>IRCu7$%4Le=dV$JoW`*6hycc9hDA*`=vw zvx;n6oPgn+EAG!Oo5P%+C-Q$O{XUqd39f_1%c74o<8yjVFMyw+RsrKiAxlYmC2s>3 z6Oc}sdQN6dQmvpU>MzUf&(Sb|a}iH8;0z~_mZcx+Phy{iK8=B+(lik6loo~)hC#aY+k!8- zJ1X~GY9Hpt11}#f=Qu35^x%>A_4*eWGp_uOnSfHRxLj@;Sc%jOT|xFl90du?mCPNvqEL}z0>PkCb@fj^g(@ap=9?y9n$%1(17#vi`Vsqv8aR@6Sh%3@gu)k0 zm_%^~p;p-;?U5M9;v{hH($lY3ql07T*y&#d0@h1`fz5wZHxY@jh{Ji?;tTK-4f zefKc#Qdm&l=9$_>_h2TI3KczQBIY~BZ}PoXmY5BtMfv1)X#l=JLBB@rd@lxNd5p0? zkOt|V!9ELp8Ux2X)b6|9ld(}cV}{%sJjROoHq6()QoIfSm(gIM#77=sy=#Lv=19uR z_t=5)GD%DjliPAKK2Vd*NZ``o-JUF;zo`VN^H6j8w?%cHso<)gxhOLwz)UhT5pG2I z4#GEPe5)1Tx#C0j2iA!|Zw2&5;8MYKL!~P!eSoN{*9LHTyJ32}f^X)s7r~V*M#xZ3 z?V!f{<;92qpst0BJ3`j$tiN+iNN8P+S`2#AZw{8vdv&K!9@T$kPGjQhd2)el9$mpE zj+gH=3Qn?AQJy7v^K)z*wrXp?f&ngfyQ;#b824Dxko+WBaUboy4ABQL^}ga7}=a6>d`UH zXL0WU%WPwW*@V<=(9Mi^CkA{T!@*}MC$4kfyGG1nJLayLcP8GgkQig;&g`AK3)+@3 zzfawUt%tk2EpqU?epvSJu@NIycVJGrwQ2HpfhE2`bp@>pc=pg*Zj*!oru9h5I0?|$ z`T(nC_*M$8Q^B=Noq?vV?uL%DB zv=+el^wHh+kypQhc{pb)^9j{QfNU?&;`Q9>**wotqPhF)oc==DnsY{8CA8;u?$v4_ z9NNklqv$REzHRj7?HHM2uRPCwAFad13c5{*jaSl;b=g?=qxka26|f0ZCn;yW0re)b zk7Ca@7~pzAtrIFU=6b_Cf5$w(<2Juzp0D6}2GJT#(p&1D@F#{eHAZj|p=qvOU6 z&#C!p>TSeZH$3-z!%*m&=Vf`4)Fp=Q|4kpeob__{NuDdlrmJRN>M}R!;MrSv4~AT2 zC)SIWgN=)LzY!IbxvG(4!i6SGm@r=nd=0ZTU!%#n>UI68dRXE(mG(VH9wUe3(Pi>Sr~NFsVLTU_3~-1H^ zYcY4hrEuwLheFfsA7Tt1FhhMVjkeE3I@_ynZd@7jd+oUmGues3BH~x|fb4{c>F@o$ z*#KkZ)_cWWd1`zAhsZV~8PTDM_yp3EjZ@7JD%&mYIdPA-6 zsPjAO?E^etfjVo@I>N*Sr54akpc_e?jalV>i$R4nFTaGDRGsNoZ3*Fb{caMogA0T`N%?N-b<#Z zR_C>?-Q50iK!rf9X#SmoP`!Iz7!9vnyK`LI)7 zv}Eq8tp*N;Ta#}^yf;3IoT5@mCL={{%M}GPUGTvLGmC+!e!1XAjE{Q5b-vRzK;?@l_$CaSC_L8Q+p$2O zon+pl=NrbI35T=vXT_6ZnkS{sPwAgt1hzSF`xoV3&+>viiM27E%OObI`51G=^d?Q& zc8AAUtIR#~Zg(&mU`_HZn2uH7$8VU?5$r6|e%8m}=pWrF$ia*H_sz!MoMWHv5oUE4 z$6SL<;cuIM)E(9_ZZ3LheSgz{pCc(g`dtAqF=ogSfEB=0WaY4wio!P#hX;r331^M> zbU{%A2h|%ee+TAwV1CDhir+62{_*7t{`U5U-^&}`P%zy9`lz6p#c<(9sq~=&3z&x+ zB&of7cL)2*WFHC0?(FE71+Sa@{GA~F; zMB*CEct%D}aP-Wlaa;@wf+@b>mQ3jT)6Z@;7b{yQq&@Lq0s zV+qJVUkVBVQvs$5To|}8%covIJj)hA3kVH0a1=SvU}ibWR;~fZ4Mgib-N+_J()`Z2ZTakkQ@dk&MGs|?=;my-LRdoTe16`zAXje+C)KmHy+&T03=7nAb3 z1G9;Vbmo;+`JNwVe(#gKrJ$s>oAzSn<}~on96fi-wPpGC6O(zm$dOlGm*yn`NPr`f zy?-+iKFTCpRERu%!HkJ#`HLo8>m>17h)~OfD>1J1irf5w+wC3m^*e6YZ>ZP5Fu(tf z`u#W5a#aIIMJ-=Y%WtS374?0Vy@YSSgWi6(Ql-7#Pjos}jL3q@Hj|$n*h4a)GE->T(<@XWHH`&+)#2={y2kZ4;mXnt*u?EfyY-n3$MaGE!l z^}XiFS}(K*v%bu(TrKHICf)GSBZ`MzDd-Ixl#=$C_PktOk&bM%Y|n3uXa?m!2kdt07*naRD(X?29C)L9OZXRzx|H#+i#cwd~n4# z7URa1#lTT09TUrD=#bN_?48VrAt$;k zsx3j5e2-Q=LO((J^!R=$?t4t z!lg`}o|rN5j0?{Yrcv-Q6UsM6`BpJq8JH`+e!R;b#Cip8@1T#b!26$|?{A>LCQ$hR z&0j%0W1=s(lrNxL1+KHS>+OQu_0l&Ib{QlRMy8Cvpn)SMtOwojN0_&-{En67z()7V zU#cK1JO;9|v*HteHtk1F}CzKo2i97&>TaKdX@MW6*ON#^9(KwE{rPy*TT3K0!?qA@`l?7 zaQ!;t{p&kEzWxWUU;l~u`&Z!O9dx^a-#<{lz2oB#!q*S|p5KS3;>AhPA; z2F49U?*P4n$_JP#B=&~}8D*QKpX9-DlzK0Y)09GLzMi5qhKX!@$_YV6|5XednOuL% z{I+?he{p}2M>jk>@_X!FfwN5PpSvzQ$@pkmfQU3tU><-s%la20%I|xWv;!OsKCWX| zwl5S|U{8~8s1@KUzsm(o7hLBF*SX-&uN7badBgX=KJf8A<2sA3_f7>LZx@um{f58) zeZoI*!{zpl%k8RL0rey@Rv$Um69r|~?2AyG`v;Mph#0Sbl=2pkGl<-Hbwtllor(a7 z88t}9Qajw;OUQxLL+^F_o$Hn-ln<hpaPYX zIHV$b`ZUglDGP-empbFE-gI(UaJ@4A@#htP|KkI1e|`o3@fZI39NAdR?5MHVQH{qdc-#s*^O(c+a)=`X@Uv)9DhIM{|UOmDH$ zW+j1^n2&Z&bE$+OIKp$hpu3l|Cop&V6Ya-75q%m1$3Onh|HGBGOwWn~PVQnBYqRf{ zTQI#c;9X112G$zpF2zLt_c@em+V;=VcYK@v2fp0CgUSadod?R-OrkE^u!J!*}Orm>445BZTr>Q*+CR6NJDLV*$&7-Cz*J3{yZ{LGuk% zZ{Q-qp2dR$xKe=}QS}A4kAmwr;QH-`+qZvW{{AQG`&aP$ck$ks3T{Mrr+55W3IF_K z27Ubl<=Y=9l~DKs;-W{(-cZU1O8EfMhXyab0(1fB4WKtfXw(-X8yF`R>lD2}#|gQ6 z`#E)Y{z)LOPtF(*dm`B+6f1};2-S6v}nygAm5pG881ql*7 z*^w@Jq=d|nyTfQCcmhBW1PT6#i*6s?98Eb?rent99NaSCrm96U758@OM zP`OYEBgjfE=xW8`=$~sp2P_e*HGNT!CiQQ626Ud2&}S}5lh_^P>znrg3 z%J}rM;O6dtdk66wZn$H@1i-sr8#4pu4c5G2F$vs#+m=GP@J{@&` zel7Zvl3pH#>aN_N8SeHK&wFqwM;Yg;gqTu9L@TyNJKlyLyU9Cj|GTl=wBn4yPtT2W z^$oO%vU0ioxbaMWUl@N3ux$*$L)nUvBPbZkz!6(H_D`x+Y!R(^6zR&NjWPKV9Ktzj zvM@*n4q2oh&W~cXp^vC!&7;$8;UX0RzJh1`EhIa5$uWH-yO$?qmYaU}5hX zO)rGMz8d`P(+z*T-te!N32w6ZY%E@3aB~Fn?f|y{Ul-uZ0yq;5*z5paLXcDIZ|_=` z1RE4b}O%(j&vc1#kS1Z2j_I=T!^G@q11op$jM;lBQxYuW*&+Q3ymzhD1{W_*K!3i8Imj5zv=8h!)wx)gL`v5xo8sPKXnl6Y)vsIe_~>@PP~*|2`})A_5sw#)U?j zoj3q-qWJNU4}dkcmKbtc=!qc7gW#M82Ec9sI|t^{TAs>n58L{=Z#x4RbD2KPtKvC+ z`OQh)cjPVCP8m2%FmTxAj>*j+$KE?{W_-U0Uw6B8z9UeBSE| z0MgZUg4aq6kQ5o=H9nn3G>>g9xPhoJa2(Drt#|YYN}E8*D3d{f zOB^^EIOH6PjRp>ep~Wk8A)&3%?hVe(zTWV+7K$gN+_IM~r!xbG|IaKA z#uWw*tuLuA*uu#TAQB2dFXZJE#ZesOm`&Bj?a{r8BlshnFi5`g5>pLLoD3XtG*=zh3@le6gJR`VxfHAA%yCJUM#(7!4dE>_v+aUP(y2UGvW}U4e^b zPYH<3ga9$N?cpC5KzCSQI>B z7+s0}pA2v##?3k0m~nHAX#wn=VF@sIfZhqyVlctLIvWGsO%Av*!5YFc z1M|#a_#-Mz6GRyw$_uYTc0B4jT@qVmoEOJvImDwg91Ap}<#OqfR%68~pu|Czg<1ii z^nPhK*~+hnTLnE1j~D^2;Dpec>$c+zXyvoP!I+D5!jH9g(@B~s?*`3Sug3SGLeD>y z2M`S$78aJRA3E&dL^ox|0s=1v#C{`^gJ&HZ3q}aYOazdRU*urH#sYTou{+3n=Sgf0 zXAJUyt0@q*NU#{JmejCRjFR!;;jp^v8FQt&V zK~G?$x@g_O|C_wlsflZEKDXM1QP;V`g#mr8y$akDiP$apFa{3Cw_$lPkO#86kP(%L z9Sg+Bh(%eU25tz5794iuRJM8txiU_3PDA!Q@P)ZKtNgo$s!VnB<}<7ONtvX~uVaRg=yrW*k3mFy9>s0>*I z>qU_cetLb8G*UlEqhXXRe{vYocB-97#{?)B-X%^LNgvk?M%vA94c7xw%A95Z-xF8R z)5ZCAiF1cbT%In;4c(@7x^0}IgQay7Z_dbEn=<-2sRb+1x|%1yJNe7rz99<}_#Lx@ zgWq`LK(u3mVFPkugODv82lKS^-ZRVwivt!1%<{+Z&m3U^yx}??2Q)#Fri}wHSGD29 z_`swKffowL^f}6-@kyT(Z_O4iyq!EkBvW+_Yqk-h^g{s3IKmC@ zQO=AWB*&x*-S0S#Gukib2Vk7L!DHd$7&r!!%FHSt%y|$6GqJ{&plZAqUl1!DWjLMJ z2=K>oavbY28{9iP;;Ei95bjiVoAumHUqisigcsw6BZJxa+f+C_HzKf^V3}aUg6mE` zvi}<~zG1;P%=kt#-p!1=nK9cLcRORA?wBVF;&;Hk19*p77SQaxQV*Hqo*~9X#2Edu zfU+@Ljk|^$LzD!#HN%u>`J$W}84!0zX<=Vl9T}pxi!);AiE1Qnkl6w_mruKKen}IA zQxJk@j=Tt1mVIf8`JV>%=Vntx?ExUNb3}gBuir66#`6<~H-1X{a!k?6zs6Ikj0U*e zb}=wv@G+5Ta2Zkz9V#1#)$T5o`Zf#Gn4cenwY z+3z&oXu*vfCOBAjAm?Bm!?F)VH#x$@26i#9i#KrGFv0Q!as(`d7h~|k4C^c=N8yNy z0b{IzV~ppdj6YIiv9*XgN}JDnl>AA?V%?{IZW!qq>nDp-zk#$o;SA@GDseYmib;Xh zblbQsvQ?U`-~wG7E9QF?m%g{-zXa~XW!>7iSPoL`p@b`FDaxpEDo;+h%+>!S)E5V| znEoDISPqj3u`d9}4ur+)Fo9CXz@i8j{>a`f+4CkQI7e6T|pAbmr1DjjMAmqiV`JPeZ(l;UsX9v4~bbKU=$mk9&x ze2~%f9%YI`Yt#y&(mhCxMryx%6sIdNB)<;=AI88j@(MUV&M^MR-5)$j|?DnZ93ABysG@{ zi96h+b}!_Oc>X_?n_o!_NCs(&|686_MxA>X!x)b#2SR+XD zB~Qm)oPJN<^|5;(p0k_PhB}Bb`lPDf z9O7Vv%VNm^#^m!Yc0Iv+Y&gILMb{aC4G1?7W*G9vS|SBxU}%CR?;UajW1<@-a}VAd z7M6|onsW~13?!-@vGsq!z=G_E$~B-?@Wz7>jT&+^DsqKOltq1GjFzc0V}<*(LRer9 z=-r0}&xE|R>nmvNHiPMDAL7e|CoW3}i9MkPL zaAXoXwR4tdS&22A{FGzj`7V03E7-y{%b=ni56X%xPvLbk;{2f%PcHk=NrtePaEUgv zkD+8jEG6STL!Ia@4Cvz~387Nv#D_lv}J6UT(D5 z2CkeR-h+tp^hJGl;{wl$&I!^5Dot6&7ETO8*Y9{~;4(fWJOPCfIme~AD*lwM_#IH> zS^2C?%7mKZ&7tkzIi@D`frMy%)#MeUd*tU_;e7w}wh6>+2j%$@P8CxyT!i4E8AFN_ z#lKG+j2nvuoCQJWT1Z#ka{5>)^^4D}v2xB-+d%! zVVnVAK{SC7qv@S*J86fES)a=z&VDY98v{7^CE9c*RDAx)fx?lij#t+He3EpJx6>)< z7Nv*q8cw*J{~#$uF~1->G9DmG*G}96f%AV-xj2Fg9F|18YU>yAW{};uOHvUfkOa}! zEA(v95c<4@LyhBHv8n327bl}k_=>;J&!jkA!Bd0-Ukwp9V9CN#FmMo};XjVvATXJO zaf3}b-f8^Wi&A+e=p)%s2x)>}wf`i=^|Z33tF#A))b07Px?GO$#|cfEH|LY5HI@3f z{D>>*r|fCg#u>{0i5s3dH|A?YxWIj|%TI>EhcR#rPz{RAF7BbXcu@AN!#D*;Dn&~+ zbtd{T5T)6FkJ*J;q_a!Wmoj=xM*~jnDH@667P8Qj!qvF{(6S1}fm;3c*RGhASgmJp4{K2oy-S?6~Y zE#M4ew*Fe#*$`$5M-G_-4>y3gHixog{SbMv^W{0?6=_47@*VB5_Jl?reUtBA&>jhD z-b*=#%jXhloL+T>y53|P37#ih-zQV;m#t{@Awo*eD@`Zgoz>6Uv@uYPofZzeJCox- z4WN~5R9!aiAX_b4A__RF(=xXe*z6>W|j(!PfNHgNywmU&woTX>a(vn~PaM zQqRsrJc0AsjpnBx13r#{W1J)oaJ|EOyuPcfQk<^gr|izQ^5`hphd`-WN>N0ScQ(1S zKqh3&n9KB8I^=n7;y6z2#9rjQqZl^;7hK<6Al`7=VfRJ}pRteR%;ES6Fgu5t9Tw-{ zoP(PgxC3?uZnMS9GU3%(yt2j3nGmf%2uW57HEY!+30IMQx$$KWF4RXa3Q~S#s2n+aaf+j)aznx+xXSo?2}i+GEl?Prw_2H14Jd1u3PQW> zQ>3@&V5BdbI{B<`#Uk#NAFn;nt|m_EE9PHhc$R7gLfFr02cOv@7w~oC6pBcJu@NLJs2}HDD0X$^{+;?Ee%)Fv4cu;yviBKfdD4AQlp=lp$Um6x)h}M_(M(k?)Gk30I55 z0ki;c$>W-l`bqC(Y~eD6NoycU6O4Vtr218j4Rv%W-dH9_N($X@3s=u0WO^kO9t^6wB<29xZ%gxEW}js+>M9s9=?XTBJRM<7OKjf$VLPuwELc zx}8*gcHkV+uD4E;$?iiqZl`ONu^UGh^GkE9@>0u`$a1Da{qBKQ=C)v60EoU8Mqwl9 zb&adW0(5)nUF3p>odQ&NR5TKVK4uD65yHTP>tPr6JeB}h6OP>x;NtEbgDk+7;Vfe@ zz-+t+$K4prM3@;qn4JqZVlAOpWUvL@l*u0nAa-6Z7>U>8&ENhALaJ-m2u1BS1bi7+ z*{Ad+R2fOq6*RTz?9m?kp+RG&S$CjJLw*#C_swA_^$7yN8@!L|nlW{HL-_MRaW+~q zrXvh{Iv|aPI7amG6eW-H^m)2{xJV%6p0JGVq0_d?gEHZEjt?pd=)9{#pv2Kqcr-*k zN!2aKsrJ@9olMjjV%jW_T!~X{D8_>5u_1a0XENjxWaGclUVCw2!A_uP9GCDUUd9Il z|Kg8{gz%zr=_?2h;NZbQ3~Njp;a{l%#0+ihFM(*g6haj9| zm$ItM1}^F`GRC!1BPIfuwM}k7D|xRUE74;w4VpCeiza7<%SIrjwWu=5Q^zI zt7fgMj2U=5KqvjE@L>!b3559e=i&{ z7tBfvtn>*(1pojb07*naRKRR>oQk0DdgDegY``mnqSX5wyz8ERmqVdO{#^Kz-vEe< zpsShEqISDU3&WybdvK%#dm-*pI*w(w^OJx`tk`l^+s8ssw!65pzJ+{=0-}TC4P2{^ zt#(=yQWw*R(=nT>mSc$^o=NUz!P`%mjSwQw~andQp#G2ISnnyp!lphczxkG++fIY9uGg78zqy zyeFh4RH39@BTSPKjLZfg!V)6*JEeHW9%4?5s;F88&pP;HgA0+m9g9?ZR=uAqXMvZ9 z>TE)JKr$F-W2_iA`R;M6|9Wa*Fa0{m{L?KGX^H=6DO2OJ+(xPyoZ4uV#1OC3GCwWl z%Bz|qP8Lg$DX;pxQ=aCtx||ZXRli))>-ubzMXApDTOoCt6pb9zxJ61{A4S~9jK$9{ zqfhs3#!l+E-?1IhF*qO=&MAMn4JGlsocpDB)3F*> zl<2V+(!_UA_1j*Y_N>X%rFx{n+{5XN8DQtv30&ma__+($;Lm5*N#1ZJa#7ljVtZ!_ z^r~TA&9{;ANX+0<;-C0$(oL?2P#r@@9 zl~?s;0F(=PK`M9V`dKly2>x~h0(7vm{HRK)RB+Lkp)J(;oLppTxn#E?hx~V2IYoOSrYm z?-gZ9CgnywFG@MRR7(Ang5YMks_LcHUw^l2Z@bEP)C-Vc?#bc@Ns!}OL+-`f(eb-3 z1N*TuV!Y(p*7-$#QpCl9#!>Nhv=Q{_E1#V0HST=hlXrV_tF@qL=a7}H*~>v_N{3=x zCwz_beU$4ZIS$B!kEcG(3>ytxQEZ3)4qt7Jg9eUT@1B5+3Q~sJrf$=clsRs&XoTNf z3)_0(hy`&pkwbflcy_Ff8~L9<=Hdb$kP^geBYDz7@z+$V^we(_1m4da*WppeFO3`- z?8I@4FLHXOct{_YD^{Wg>Eoq5`25%-N9=jrM}ZGy;1~@fyK3)} z;KxAQ$nk8TnP*aZw89hlWl|5TdPP^@YKJp=4-t76ni~TIwa22tXM}7~(sfFB}4&jh$S6wrC1n7#4wAW!`FS zsYf%^gL;|$`_Z-HpV+|h3;v8i<&PLps7~A4HOP)10SNcY0iE=xs2mp6Smz^L?t3VP$%r&2 z-4BFehio4K+l#+LxrM0Sqabzdh%qNh!ZrHh#w96J=p&}v#l$*d2BT&PEnJgz1e~P5 zyf6%TWDAt60l7?$sEtJ&H&Q+b;@YM?ZsK_8jC+4VqFgYXg-#jBn=m`Nwt}m29wj#h ztOtL=&j;GL(DNGG@+PYcA1lmx%_!0<_bgP#jmXljTc5aeMLtPi`hlKW+l6ShAk7m? zy9PtS5 z8Qe#JUj~j}@TY}+F1-b3&{j?=g(%nQPZ73lalcr=1M}9U>@#riQ?tdf2874JNZPLN zG-yai{YGUwYB5f+y$-E41>|fQ+~!U{e$4y+pg&~QFw2((r!IJQr;eV zE(4`$k;l)v$`g2ik%N*Ud&hQrBW87THO_iLJqm=#NbGf^du3SPt9w-Ms#re}bB(qU zI#m@oT~&=D@;ENbCm1T^`&ryafuGXAA&hX8PUXZvtjUB2rLxFyf z1+*ijBd*XG3)`+o9?R*v(*9%Shic3fJIyG{v>76oAV~wuhfoUCs`Jn^vrgNibal+g z_s7kx(Rxb`l#FCC=x4ykD7QsNc0GK49^kCK)MuV3eb2UOBl0^?`WT1-KlP$Y85FOM z)hhq*2weQAoV;4yR`!3huUmb;7uP5>D5<3ZwQMxGA&`QF+S@g*$KlZi@cc+}_}g=o zc@+}hsVSw6v5~^CR&O?5Z4I^ExRwE+QT5(%j_eoy;)Cqwz>uIEdfFh;#Swg*7Rire zb}8LK+(&_*(!lWxo&kB6Yf-7VX zZ{S)3V<3zS44Tg~wR*@bQd~brk?v=Q*j~lwTG|{L9(~aE7G7oKc)Dp`RpL9Ax0i-NbY0#JC}CZBIFsLK5023^4%Iz(==6I* zHb6&%zZFF3exd+0aY_lS(os?rLXud99+u)o&{%lKSE51S7_{8NOWbt>QL0RqQ*m5H z{z&+2!LN_TQ|UHGp+J`sBhpjKg-l~Cb13K3UY_+p-nIc^+!)DUp4r&>3x2^-xH6t2 zTQ3)KjE>>p7>+XIh2W3ipj6g|POw__z`ONvk&>UBWh>2cH#zox7!bdtgd{2Q5T$2& zS@%+@ogTpn(tniw9lom9%NLmDNI`ZlYr)w+-s*t6x#c}A_|5zo8&hr!{!3$3N%)~mtmxFBg}*W zS&lSrNIpF;@3Z-dCq=0u^>KO3m^>YYo0jsxrBOLz-TM?3f^0-6oCN(E$y3HGSc@@I zdW@(~X|s}BYt|$Nko@gBzbsGAe+%?mN>P<9Nc6T9rA~++3MU4dC=-e;FMV@C7e{!c zAMc0V<^KggC7d0vhxwQ`zMh24wVyPvp~j7ICzi8R;?YREjq^M7K^6%Irgbk_DVmUz z!OUPc{<`RlA69L00+_EW8qI5FrEl|=u4MZPuIlXr?{@Q3{U!Dt!5_zk2SLQ?X3z$Y zy||Agfqoe{e!-JLVA>^5?9Qq_<0R5nYYoLL4YEhu2;y!s`8&hYt>8~Ky(0tDi0@Ho z8`lcxH}ckwSjeb)Mt90_F!snmOX;}|BaITknELv5Q*& zkuH885oGkqdUX|kQUgcm?4L!zi-P~*tGjctrxop}SeHT~7%L*0)u;a>VztSqm}8ft zQ{#D#8z%H)M&G|vx7_60u>^oUOO+bVyz}Egj2q9)TOL8%$UKMA7c7^06zSX(jucLD z3~Hy#l*yLR7Z0)wSEdU)NOa6*cO(YR6-er^@@c7z7}8GSF_*An@Q5B9q`r@$P$IDf zYEz#ThK{V)ibrJxkhk4g)Oh}C5dM7T-Qs)EtkqFKrH7TnP&}Kp+RMQ^;&g9Sys)JQkAdj* zaHyMQ1EUbK&ZTvLVXk)wG%Y?eG{Y8ppM1J@SSs5Gz6@NHI@bf1d@usSIEeW7RMs6n4{ zJVWruo2X+KAzEP=klT|783o3-ACcLWF8{1S#~fbEVK0vK+-L;o>>0{NEA}m*_{Z7r zXz?Edd7zQw2d_2% zBv7co+0lWv<$8avnhCa9)>_tC{|13_8aO(OozFw)(4Rj5b_vCnaCu62b{a>~CyT*R z*^O_vf##fp&(=$h#>r~j_ulKLeKmJcIF-*&~0kG_!RnRjQNnYLeW8IIoIlnl7z={SPF3|Do& z3;}JKxXZ7%9M&Uii1P=wdUi+1#q}7`W<|kPJXse65;^%!hRgBBBsL8mx4Fh>*rmDUZe z(3cfKLKYP7S)pS5Pc%sYj2mN*0@cq0@+yPxUe6I@$KT+tXy58w7P8L}B5`=K?4r_D z=COv;nrB&BxpPx0aqUZLDW=AN{wR*-A=)w z#d|~gW`sJKJYTj_?!jr`k#lz-j8MdX!E;0Fh)Ra@51Q%qJ8SvwefIr45orKR7?4LR z+XgO|AWFYcDmAGj48Eq)X1jm6SA;K@i*yHZr2$6WtIFVfA5=x!EJmfuFDHMB=fnFPB$^VlKl)Y|^C2YlRrUp)ZdDHy9TJX2ZuKvgvCL|Q_6gMyIL#8l%aP3`)uP$ z6h;U#7K|8j#6hOFD9LxWC{d zK+~fG>!ZKt1#+hBhd^b6mLne*%NyziA{myT3rw$BEp3z#!-QUV z9mF;BL#k?K50*s$Mz=BYHLl_WVwUu%7`wjDce`Jo`EHUvLEK1%f^w-tX$f z^jH|5Fwp89y@0qnc7&5%fj!2X$3Z)gXoE8okk|L3Ao&3EcJx{Fd=YmIgtnjNyu7$H zD1}u$Sb=uBy8ZSV7F2#piD3ZbJnw0_bD!y_k+*E@nQq>=Q7g~X_!|pitcz5nCu@Y$ zx_R#!k4fW#h3`FiWVT;HMt{LsIC^YFp6|;X6;El-U5WW~`5Mvip^URJ;PeyBksbxY zf0NqUUL{lhPavvrz!(aQJTN~ujQKlozH^Jb%5>O?^K=k#(N@o)S7ukue*j(g+2N-( zaQuQl6Lgpq>96a%tl3qtnL^q$315R@g5>#(8}*J(IFi!{qIkCKXJ-7P4G5#XU&aL# z`xqehwH)@0#eSN+{X`?#lV3>34AveT>UnA8*t2+ec!0;?ks)e-^wJ11H*!8(d=ak> zNTiGh%-u+z{5Jta{LN1`V00#@0PSj@uWS*jiI`L<{=<(Fxrm3<^C)% z`fP-tcmMl|bXBzI+1*o(w&*rbY23(5ZBepAjvPN7 z{4#JnDO?}iiK#pZf6kz?G{;MqHP%w8ptweNAO{b}&mi(#UZ+8wI1q$-ulw5B$f$h&}6P1K}0>mEiSs z>595*`S~7|`J#=d^)-w~Z%lcJ@lU%jvuMMfPf9EyV#TLpL&@)uUXH35f}z6mBD|M) zuo!z-?M(W1b7Wv3MiUAK1nlbTH3R7wB{j8G7QC;)`nImyZozOv0@pj9k1$lMwRyL` zPad>%tDV04JUs||XxPJ#B;C=YCr7tUI)FS>3{nV;oxb%k1Ns8ZX409 znHi29*d@b7b9#rg42EL{9D_|#+66rGH{pBEIJsjn@8OfNB(ISyboS?`RemaP*I`Xr zC}~;0vaJk>IA$jEplub37PC?L$rWZ}>KS*;AISmN6!H9@3cR9pWDDqfLQ6^L)wRU8 z3=1JEF6Lod!|EDh)A2c0H2Q@mugt3+JZiC&^^8|_UMU`>v<;HXjJ%2AawS7eVoo~MlxS947wbO3#d zzmgapqD(>JtHx{3UN81K@!}kuOXJoU18YsFZ<0Q~O_LEt^kiZOrex%(>c{ZL4FoU6 zK}HTBY-%-C>fU;wZxE^16vev-#?f%^4e37_d*!%cpwtL!6-`|oOwtWcsiZv=K8%6m zXM>SLk*Z(MFwpf0M-jGS3D%1SVcf}0I%wH-HDsO2+OUC~X_HRu^G~-Uc;iOyfsm}? zds~e)ot?TjpLGh@%1;a8?*T0XO%E9DuDT8*mDO>2^l&S`CRZ7hj7_x{eEfX9#Wrq#LaW8y4 za$fPI3$z9Ld=sX0Q5of+n5z7;bIIY~OxcY|AHrx3LXtRpJvb_!vEjKen#Wwpt(27` zj}Sg;$8=P_+Q3oOJM^LM-_h-}m&Qk=eI|G$-I_05fz;;%`koMt!5nm9Vh%@CNXZfb zKTe(VMh8D`6J10mlRJ^pD37EKI39yhk~Jlc%3jX@HBUSbN`MT5jy~NPPv3KXNN{fP zv?+SCz@&Goe3UHtn6vvD{4#J1gpm{Ax)98?agT`$<@0nt&y5&Yh>$kWj9BB9@qGsm4mslo_H(ow_fM6dG47Nr;7@AQo7SZep>;KULax=fdf18M7m(idX{K_)god?-8xVzuFvGX@o0F2 zPW1>QhyJ~0tQvJi>QNe>5%wHU*+cuoynHBfXF*)bZ+Jfk{wYCF#e+k!$(+|B$?05X zBdJ%U3>ISGh=vb}(o{U~2;QqY2Ao!MU(E{jce&C7@@QzpjlTWS#*Hn5#@e%%LHt?y zz@y=pf#XjLxniI1uwESOl$M#}K`Y3jVP7dr*O!aGdV%CE&_(;ioolstYBnMD9^}RB z1kI@0?d?|~x$KPU6zaY%alC?)SJDC{H#C$up$Dk?s|xtU4ddHBTpA9?-%U7;Y6UFa zTEK2WQD(Ks-ooW&fA3@4YvuizBjimh*)Ci|b?LmjKOL?7T8A*7DICuutsHXG9C;iD z7&pQ{nVCwaHpGalb_PpZku2(3^Q!RRXtAkoi$={{EGoFX@F-#2`0km8+E?$ciH&-^ zjTTaa4XgP#<%A4F)X+XwbyAXeXH1V`y{^m zV49y5ei=A^Di~!+eKaU*aPpB3aDe{!+O`!rnLKhYhSDCLc4B))c6Kn!XM2G6zNZW| znV~@*YlFlN92)g*3940GL0fh8u0UyQ+QNk#)cO6x`Ef~aTjZYuR*NnXESjD@xN>mq z?f+}IG|fs}ul!^TOig;e?NV7S_3{X=q_S1mPNEv~JO*?-YTRG|!MFiRyJ3i*d}-tX zz8@aCZtxm)h0^0*so8mbqQdQ>2ZvUhwLzs>u6TU}FAfPjDy-moVBe9;8BVcA^n7Zh z4#NU%q0*9l*XT^;6}c7z=gbX0BVD3BJ9yqjFmP;gPoZd5$Cd|4L!&2l&;Kia%qo^}*uTwKkkt-EV= zEo$s#S^8P)`9PpRlQwZ|8DG*+KtAE_NUw7buZS@U(jm#XxTWb#N_3vrLy=TYLb=N(_>2V;sQg_WQnasWs%*h9UQx^kVs0 z10BRY7V;(ekr$JZ!!LjZUGSDC0Sf;_%GmD!5_09)r_ows$+*Sjq27slcDSw($yg!3 zTab>ngxhJzM zz#AN}2krFzuBFX1nPLF0ti37W2^<9>+$#Gdu4c@-9g|^YA5IIJgNBX9@Ae!cq+>OT zmL0fkM6s@iJlKO%^o71qqoP6YKxlP+XE?~rcxd^pDYuEM+p(>5Z4d%KueikNMI!R) z6YX8f$j9Lt5Q;D7{AQ%_dHh*#`A4;7xfbW<*Bl{6jcD8u`IOQmLkAV-y8EDwBDvzK z66_s6C>Efn#$LkJDs&rKi@R>{$`SorX0c+pSTl0;t_6K&uYpJBc{#xEAQ~Ux!STp` zZ5fM_3~fUz?!dE-J(2HqFz!0dHZC}%*pz=tt#{A@5rk?~V0 z7anI8>Epp0DAJFLJdy_#b`8Y<;u&}{Jy6UnMTk~;g)h1_MJdkH^cI;{j2k*{RsM!& zMy^Db&*cnvF52>_)l_^Q#L+mR;=870d)8%^oxg?CxwlqZdvM_i_v(6{zFaK!Xx_pV zwCHh~dB}{#rCsqg97mEeV^fviahxn}Jxyj$Z4Y5~yzy$J0^z%SvdUZ93_nel2_tp%jUJz_!q z2xG~QSO9M=EIx`c;(Np|NegG7wK)Iri?mWd+>hHfWbegE{uEhNmR!lF*4rdJvrvNN zD2o$AN05W^pZ?|GU_fx-VB83Qq5~0fo&EwO9c|S3BlV|H4TA=ixPpq&xJSW{pEo}S zK8%6mnY$DO{IxuE6$~SjkH-)|!fF z`MbAZZZ+OEu6>+GwZ~x`D&bM*U6$FyC43T|0bd@AS;gr(mshX~!CFD#i@37BdvNM0 zy8@xg2=1c^$7#iW80S?OD$1yF`9d`=(odJGaIqD8=~yjTd$`o9(Zefi&-!kaWHc3! zJLnTH_B`H4j%U@+^}AAr_Vc}6X0iRZ2(k%_+;&14D zN5PQx+kh*#A3QUBkG2C6&-Ne3+VWx0T$S=MoR*U@!BHKprK|0kv+8|HIB(-fL60-? zBGE`l9LfjFl1d%A*ZP28^P&?wh06`CTz! zrTLJT!}3t&-#a?fE8jT>=UnsI6*yYoQWC|_6;Fv$YHjA->8G{+U3+Km5sSTao`qii znYR(L(Z5Ph*#~8Q&388D!5L>8@4+~`VCEIGYF>PezRwEH~3UyIfwIBsm_ zwMOC^uAw}y!v6f@LP?IjD9?;MxThGZa-2`6aujz=&if#JY9(VEXH1#L*?v%Uu9~9k z?{eIp#cBK+E*~rHohdqj0|0GE)aB}S--DAUDOg&jd{sE~acN`)501ne;(TS5900K_ z$YUIOg-bxX?Jf$r;k&GHeJ%@L0N~)55jtKQJ=o8$+z_JsCuX~H^e**coL!WeDkF%u zUGgxJ=W1MJ+leh46fX2v?332q*nkjU0R0_6(h8p_PBxb`^`Fdg1x;r_aBondn@CbtO+d%O^lsF%%lxSwWVBhGn0Kj+d(Kme^k|gWY(_2QQkHU# zkT(E|esYD(+oVd>#Yu1QM!Gdz-3D#r*ZI2V z!Nhv`_HcPmw_Q=|(J%%_YO1W^&`~MeDI^dhcR&cf^#5qCBcB1Gr--clmYRYJaOHV#Xu{_ zC}bB=k_m$;Eagg|Y_Y~Ha9u@dnR2h7uUCLRHwVQc*NX#^&}=3X!Lx&$osjRyuMxHf zC&ImD5I7F&hJ&*(TB#h>b^_l|>1_?`-cV1AveAO`N_&ZCPg3uW!^%6{{ZYKPgWlv? zmfaM51%}5hfbiI`BxZOI7Oiu$ER>VKo3M~x3q>PGDUS4ux%E2{(`rWU@#LepYPo+R zuk@sOe5p*g(=ae{0Y?BFBlTD#-(4>M4I{@$c-95~-oUUu!&QkJyEso}KQrv1uQxWo z3zU=h0!#45*wT1$BC~L;B^|AW;+aYhBpFj2zefW;iJnX9{rHkMLdyoB7&1sgY$N6) z>UwtL6;m)u6~{j=Kr%Xy7zg6fxh|_a+Ijm~An>_o+s_HV3>*XC5y7yAgShnL5et$B zfM!Bn%WY-0#@M?}(C&*@yHT3e}Df5{q%;gn3jS2EU3Z9=t&DzZp%Zj z&U1{4A95q_J0u3dR;hc8E=SV;nczxYOJm4r1II`2hch?xj6I$=R%%dWrWgA~k(F+v z;*8fcy+9Pm$wJxG%Zw$RcVf}HUG!Dx*_IoS9mO0_ZQkUe2Y`xAywEp!8#MIu?(@<5 zZ3|fa+Xqj{Xiebb!Y>2IAlPKC${k96rbV+Xi&*ifu>(|;QX=iDw8q5Mq$Q1g#Kh^f z9jU*qw4)(~R}$_@67?pr#D8b^^bnm z*o8czhn&?}w#NIjL!3t|M^IYO!auVY$M<$|KjIlQ{`M%|VuA-D9r?JDhbM*Mf+2YC zF_j#WAvt+qHmt`jD40*;^}5W4)EzK%IOeY)R~2X0E+aAt@+UC5n~CwU;e6w+A=efEC;ocO=}K z;eoU}aw8dEWAe;)RZ=Ov(l_%XGJzlDDnxTU7R4S)rw6W1hyIv|y2K84vRAi@$E_Ot zQPZ@APdoa#Ywb1(RD2e&I+k~iAx@*Xi1@K9m$f#?0_*O~r_FJM&rsa)6P`nC!gDpZ znL?u{o|v_z=0Y=h_S`AS?hZ{5vi@OHu-0nE2@wKlsu5TdshoS;Mh45TE65 zHN5YrOs9E^R>#X)*I}{Cbga_JxpB^(1rn&NQ<8Hwrt)ih=4hyISh_k^8hY1N7}9i}76*nC0|$k8Zh^@xAUGm8 z1OG{)8Ixz(Asg|U0}GcG-P!BUiFYuPPVFKW_K%%p7KMZuU5aq-7}FocIxv%W!XE|K zSac!O+qYoE*D>A7H`ku?0X=s=WV*R{Gih8SZEOS5Ghg0)1P^>}_%H?z%lGhY&%)vR z!q((C3Vv}vqHaQ$R$pqBMV{=!h4qICUrsNo)gnqP+XRGNBm;tl!4j2OfMCF$O%o?0 zhvY{b&Ko)q77%6-%>WkoD_%L4fv9X7*u`MN1h-7!W%3JNN0CTjF40}GmcH9KUH7;f zuUS$(e(H06<+C7W!XiW%nk3VUmm|3R%w<)r<2Y_9ALk(|JeRW!IYr|^dzp8%#(t4G zRHn^po+#T*%UowN<@ zL|S8v2)Vk@l=|j#!}A>jum!<_*nyk_8HC`W1ae~3umD+*v#{aMh=Bv?_=y8B!{AO9 zL>7RB&(L5Z!rc+(c#y&y0vsF`axm~b+*B=hnp+jToNJ|Z6PGW^G@s3{7)Fu4=4lBh zin+QeDl4VVZwr@Vr6}{d7r>48g|GGUWi{6dT$W!cb=Gn9TsU9fd=9sk2M2M9S=MD_ zyt+)+!Evj;d!S#}oL^sUJJE&4%(c3%Ngiao*K$Pj@QobT>znxfsDjJ@?r1ZJF@x#~NZ`v+e2~M|B0%ply!0AvB0{3s&>M}&n8W*?ysa@))T2NzUo zqsQ)E0facPYn-%T(%|cNtMgMDSDLPqc1l7=>?f6p;8ge3dvMx2;}~BOT*^n%1e}g? zTitUgIDLq=XcrEAIo=4=pe57P*KxJXI9Ff6<@ueFj0MgsD@8w+`O|J(Za3)VSJ!I` zH_ErOHm;TFj^QK*M60S9%`CVwmy+hzylSO8f@{-$2IL6d6(%poqlK@?El3E)4UqTZ zSPU>*!rc(w4dLCAH*k;%29DsJ!3^RB#50KR0N&tz=Vo{#N00-Y$_0l_Lm=s3Yye(@ zD0Y!on8*V(w+SABvN_57a0qw?f>9^r7mkXr;*^IolN>b{kCohjKpi6hLs(VgdC*5k z#&42ijj70j^H+4XB)^g%R|nq*g%4xkxbc_pO%&RiMFN>R*l5`DKvHc?(y8nx9lcLxgRF0li-Tf5FW`eL2340 z6~<6#J_|zzLr+!id3F%w}T0$T#ef=QXSNgSx9FT{|Ljx_qpH0IR?j`X-vb0f9R9$etrfmT25 zgijY<4!XxE?LF4L$TGBx-fE=V!ja71eB|xPEe|G0N`6c0nOv|@kR>N@oYi-Y7qoB% z?*j^%v6Ai-ZX0r)pl<18BkoG*{WwAqTdJg)i`Pl<`I5fSA8n?3ioO_UCo3b(gEXcT zEu^Vx)QggIs_StE*O3=1?7zFqzjLf)?^n$i7UoeGaN($m!-5%PUqIGiHr5+A$l$9X zd^3c95#bL8zA&(mfi)AXHMkkzW)@ic4r{-FtOM~KhG!TUSctLPgnu1m3({{ChJGW0 zH(47m)5N11;v>ev2oP@D%8U;iI1cR+J|(bqmM%0{+!&_Rmf{f~qv{2^nDgT5tw+!=KjnjCl5z*&xs@CRj`$^A6A*-nijBW24|5;wC%e!h5 z3z!?2CPeq?VlhnBc%sf2E86PNQ;v)~jyVFNFNZMe(x0vD_-1j%*k{#mqAzhuo2`!} zU9O6#>^OD)2vEmy@`AYd+ycqL05PV3ex@fl@5XVK&#`waoWz%r=Q@DFX~nH0^x{g4 z)nic?8_H%FB;wf=2Tj(7R}^971FV9i^j33E=!5<$^c8K>oEjxE&5v|$d2Moc=+(5w zohhY6_ack!qA|b#W1_Bb-z##hyOs_Ea32rek zZ-9BTpmzhB4a`C@FE$plnefJpFKn<(4$F-(FAHwWn3!QF3rhyh5oSkl4#C&~h%2?j z5@b)K z2EkejI~lx8z^h$wvu`ld7Z~f0t1#bTS#%?Rd@yR|3?Od!32z}EACG(*OWuQnGEa%* zQRMafoj7K=#cyKjO+D@9u1B&MQIf~DftZf7Z9p~dVm}lzxV~)#%{jVm-q`Z)$Ol|h z2eSA`1zlAhTby#Fhsno*4`blq`~Q+}$Qj>Ouhr?i647|?sN1_z7INCI!%)Fa2%ZS3 zewlcR`g>jfBo8uaoD_YfH*t|^Yu%9r{0qhnml-;Qj{Gm$feAm0(NZ-RRx%>QzDe{q0aU}WQIVPJ8gSmU`lG1w@2vYnAeLl$+; z5nK>2=WW$3OkHp)ISXz3-zYbhNya4IpcWp)C3^y*kMYZE9cxun(( zGC*5=`a%Dc8<;zkt(G^r84u z_K`e|sC+;2DM6Kkf>qn-SIgCwYRjlMt&C@?zNnv+^`&_0}_i(nH=DAA8jdxqPGCw~{Xfxd&oGeC0X;glykm`?%z^!G+77albM+3cT zD}8%VmUAgscjCgaE;&+^(HRzKCGCmbP>oBkp{{i$L^g3{E!zsmP8`)?e9wD2>iinT zE23Klj-CgHX&N{}`r;Lh%kyJ^7I*`P16c>hcg*t}=4FO`{SA2ijKxftnQ&*q9pt|+ zjQ5%GHZx|KRm>na1MUs%{=njX$Kob9e#7G4;n={j4e^xx1|PxrK-R(d!E6AY0G_;8 zU-01a8;TN?R5ocy@f$U6MQmj_ifaNe11|g_MGX?Of?pG8TnGwP;p#p_DzSZxV;3$Q zDOs@~tn-~(N7v~^eCU}|&5Gu{+*|&i7e0)Eg zgF7tlU=SP`EV$vFKI0v~;r_=zvAlf+?sw4aU>t$pf%&V$+wXV$vCQ~C-xj>$3nu;p zhQ9*t4Org2FtQdf7K{lF6IhO_kcd-d#EH#DvF*|?`I1r)RV-5fsIXanv40pK9}PN2 zgl>3n?|2rV_{*u_l9$D zZU(y<42HSgVQzQueZul)@$C!Y{r5NA|F~oRwqUt0a0|ncfxF#6pMQgW{fyf*;bp$# z^?t|XW>|NJg~QEExEYIOF`&i5IqzLU#st3Sj~_xj^i-?-h?(ngdilnAf(vUyqOgZb zy7YrgK;cR@nHzMD<5G2V7wRaIcHm?#OI9OwD$3gKDl};7Og&Qnw7+Lxiu`E+jvFdl zjiUxFTIGwIS{EP}AzOMwllwK(MFR&V+?Bbpsnf8Y=PS4ftu;q$ytKS{)C&?*&MY9~ zJ(zj9!@3#v^)IlmpD~+T2ssxfk^|n~?yz6qfiG`Z-oD}O{s#N)8(zK|ynVI!`sM%N z%OC#*V+|aC1M?f$8L%?|rf^tgf)D8|#tj0T_wWFVm!Gevp#>)JTd5!Xf|7%!Y zkAx3o;P`*kuNG6s4xEhe)~@#P&X@C|-nGzmC&&+n$g8P4*~)ay$CMJSOy`y7>6y5r zIZA(7zcL|SM~L9TK@_e9bRbFw4#W4Lluuajf_M50?)WR-zx)pO?Hh2PK{LZF26zYN zFAi_N&-ml(H~i!GH+)|Hg_rrCn3g}ld671&qPsEEcxD47H4sn?^KC);K6U zLY>8h&X8vDlAl)ULM)67m$UwKv`4JvK%N?r*1SVnxb%9hRIa3#5z`$IYwuoz%8j#0 zdz&UmKbQ&DOfZzj+9lA+>m?|S8oA1U7RVSMPhn7pcq3&!M&t7fxXc(^rc(+)3kM*$ zw$51Gf@ToZ>|+Hdr4WUkIFoRR*ycQwbQJ63XRq)-76T>0dqsrF9o0KZxtBOe7nz5z zbeac6x;;4m;iK`-&R}+gc?m{^VBokJi;0Xs!|WU!FIa+s!`|+gZtrl*3+DR`Z{IB5 ze!pY>7ao)he(+%|bFR*|6J6=A2#*16<>K07wdHTc)CbGC03+E=-#ec#C zm+9cH?f=piL!lNT9~Ct&@r;wWVEmKO7>{y9ogloK>)nTOM#dj0uO*f4=v>n)tm|`^ z!H&Vs#WYvzD}fnDX;o|N->|kI20`vMCCOahq$HL%+ z@$Jhu81ql?{a=`I$J_f1g9W#5z_%}iuV4OwFMqtkSc1bBuzT~y3m4+m!NNd{7#3jT zZyRKPs}@*f1o`+I(ZhNH#j9mw%L2_=(#8?NAB!|LpmS|FY5}y4%Nm)3E?@A!MrY*D zTDT1;$5M+Y_m7wtKa^?e?f)kERK7&yrMzk5<)y%*E-+Cod6QM8dA z01^+5r#5h;`gWIJYtPGPE6v=qe(QG$fJ8`Eah;J=dH;lB91a5~Oo_apAS|#v!|(#Y z!eR1x@q~q6FwF~I9Po)PKJg8o`4unA3#PXT_`_l`gm=R*cL#TOu(Jc4SJbR^uoFN= zb|~XAC01Xbk>dsq3a@blU@4S0LumoChD%E%B$vK2ghaDXvVXeIy$p6>$MwV3dn?b< ztB+JF+q+Y_Jgv)*XQ4@U9kzJKPEg9~X<%8X=>^+$-Xi0Zg8T9a7;WIt_-xEmJ^wOL zo)t1b03U$OIR||v7iB)wz?G#m0+)P-U>~w`=A!NPxg)zZ%(P7~QGtd4~@7pWr_6mCx(gpwkAOJ~3K~%@D zn3orPn{W8~h4JkxV|ix~O_*L^ar^Brxc&Wa`1GIufxrFt|HOa$``__O4xh-u@(kj4 z7%Z@4VU2}z7S>I0Ji(aBE7|0t5*_=Ok@pVa2jGMjj{U4spM-QgDDr9`Hw+xa`Ju@X zSCM!SCk74xbtr`sxVS(c1do?R2%;yaxmRw6A0am?TEt7IZo{6g+BC3;fn$URN6b@( z&9*+d2V!1BySK3sS{gCpL{dK+z>ce+maCx8dq)~LmB$VUdfLJcjsf%X8T9%Yjx1&d z?hJf$jBks>^!q;?q|8}HWTcl8yrds##+PmwJ zma1`DJrz_!i;}v%EB%3YSMyNsa`tcXexYzQ1tHL#_u`NnRSaA_O5o4pSuC({V4mP` z!@>mT?pT(0+~x(Zj_{c$e8vlY!z(_`ubAFmV2pQnzB`6_XSg?p2{#e51FT_8*1;GC zoZqPgO9bhnk5yeuRW?f-6b0v8-07-Vda+n);j*$QSbL3lm$Vlx&7B$jD=L*fpp$d1 zm$-OyTd8>H5tfz`+)~IVxAkeEf@G;2>`}nla;!*+)XUy#UiIX7dR% zzv7Kw@#Svub~l*c4anRuefoskU;m1i|Mqu${vZDxfBT>R6aV&~|A7|^yjZ~C?yoJR z*?Vdj1Lg^f^T!1Z-C)cFU_rXJkO8>o5xxW@uOY@ISBpw~QykY+q&tEWZ=bA;(*}-^ zS952(uERbYkMGZ+a)`p5)^v7g?v^XEal^az1aL`L^|iz6sDT4Q-;V8&UQwrW8rFP` z{0_Bc{$4Z?p+4TVn;gBHunAOEwKOVf8)*mhJP&+ z{_%Ce?f0)R(~OtTulV%o6)!jAH}&WadX}l1%7o-vgG)4!iO<%So@D1sTu>h_q;kwO>rE(C3%|he3wQw>2QLsi zfp0gM-#+8^Z-2+@fBpw<6XE3spBLW2nBk*88!-EG-oOnolmFuda5IQ!gjGapCr$i! z$8nB~zX#|BEO~~aiy?g&H?j?w^Ca!*bRKsJ9$+caURTmDdltN9KI&r}s7*YfO+yRU zR1)X`eG$qoX}H`50~@ic|L$qWI%!;(Gmaawv^;S>{sqkh%m(DrO(&Rc;OPdxA?VAT zoWsp6_=6|B{_88I-~I{n;*B6M4#pZxlYzB>4ZPe3?th2B6~$}Z6Uh5%aJt(t$~q4E zIwgC-LJJo1#}*yAf+>`3wvLlc1!d|e(x`VSm%DX3c|t+{QS*73dh2;;29;BLUen66 zGL3Gs#P*eLL^ZCH8S3@!&jBCCz%kjcJ5q%%T;1iQ$S~@6Pc9$`Q33Y~^)+cQekfA$ zshglKYwejZ>3T`I9;cz>(1EC!vWxd*6O)hJ3qKyWa;Ks$uz z_1d8kN&q2Kw&8lL3{_&#H)89-Id82O14nyom$det`@SNxcMM(?4rd@APkr--POILb zAQULXKwuZ#M|rzCS*c~>LBY;AEiZ|KfkSH#SK(@xXf~<7kLc;xm&No+284`^elFw{ zJO>Bo#N?s-cYizPue5pD)*0J1RXM6`(TG{Z+eo@w#+Nm3kOB-TV@p(kigX*e_`%-L zN#dFwlv}wGfQi9|aW{T<&l-pOJYi-77y?^^$yiM0h8Oz^S{U#58Gqcr;nUYQeERl| zFY|&o0QYGE`S2R>fs=heXC`0H%<$fM01SD%hmTvw!4R0D>o*(wyW*rVS+(i)*}>6} z%kAvW;0CsVx3xDl`XRWhTGd!t)QBMwRvhIH?b;eRk`~g8+8~SZh=`C`G9zE*D#&80 z3KebN;dvLpw@IL3w7NS2Hgu%~Em zRfe6iDt))&H?^kp=#zQR3LnV8@ois1t?jKsZy|VMBt&5n2pBM!hPo>%=2Mpue>G@m zPre?rS*5vR;(7L;d-iI++gzT)nP*Lg98!4I?sT;#oAyoKB_(u2LlJ; z)p!HP3lnb6c;kk(cv+@k;Ba^a!_ovtcR0QSJOgfqfyD$LRL@}X=MMub^L<_#c}S>f z;(TCB3uDVbh54eT?h}r=rIilBEsVQcFwaY9O_RT;7Kp7rDW4f*U?+d>eFy}lZB%@k z7%xLthf+BSMS1+6FC0NM0yzQejUEOUHHC3XG@;6c8@R(T zOv(4LEf(jnEQ^X0QY)mpTa^6#Ffqtz`M6frw~l8qi>F5NzS4Y`(csgKEEPw};sBK_ zd=HL-7DZURfg{|O;*aPh9>j(L3%onuCWf8okIox692;0`a5Fc&Os}B#JMQoA_+xp) zr*Ho6>wU&M0rO-*6Z~z2)^I2XV<4$W-ME zPl4^tpMR|1I$%j>$G}7n$E;jtR=MTbAyXW{Jm`BSQEZS)rQ(lBFOjJGQF-My^x|II zzy#dehTj1G+B^Q=_c#9kzyHE7eB*oH(EAsFJH%=K4x$~zcQo8Vw2Oj+<&yYDz{aLR zNi^8{f=t07bh$Tp=a!6GMMzFC#yh7*AXjNwL3ydLV+I=4>4*4E8WRk#gylluW zCf^OT-Mn9>(VF!gfQbYMnO~~3B0%mRe5#}f zb<{k7M=%P;OXg_z%D23Hp3N9+6LOVm;7-B883ba_SE6k`LVE*Mp z$q_SqmPmZ2<@v99`)o|Y@wh5RZubZ?+Pu+*+f8|I-y!$+(!OW|&=}jsxV0U%jBH2K$q$pMc%BE1)610nhSiN4}&?tQum_TCzJ)~CHF%j@~87Ek3zw$_ICLueVY z@8!eghB$U1ryLY8lqf4L>XZ+t9v@bHUcX$2t0mp5!qEf9+^4H&KqCK-Ec&#pBKOrt zu<-;MxS21yhVJs9D2#SiiCO<*6E;Y{5DMgtL5=#4nS9L#Lbh@}{SOgzlQ2{18_gPLyOuHtE z%jH+8%R>R5mla>NB}OSJIRKDba>#`dsKo@cn7g&eQMY|PDZj)SU1L#hP}k3{%8mPP z5dH%0zs1y#ztQ>~x4z@Xj9&zFqA>MqqUaE-3(`8O^20WvWQq$;+Taj!CyZHMli0Ho zBzlD=N|>ow44wsMBg}9;k~)oSD&?>swUb2yRY&*;@0QpDNOFs8>=Jmp3JL%h@$Szns*dY4VmB`BDP>mh zktjIal7l6#+AFt>al3VJ>n0+LBTzDjpkLV9FMOGTg9x|n7l^*F(G9ol3t!t8ZjG@i zJ#F0eI*M3u05>qcRKX#XpCBjH)S8O=E1LQ*hQGln@<82PAh{hQd(HDNIx%RWmAW~`piQ8oXS zj65hdCX4`;1v)kG@VfWCt73xzeQy}H8-X@}egXI*(2Z2l!PsuV*H^=@Uk$en5Q{yr z-XOlKaw97^x*W5xS#Bf+2LSF3)HE$EOLajQmmBS6FO#8TJ;TNB&jLh2=f@KP8Zi z?c;%cGUA>#1TNWth)FM$raTOXXl)0Ro{YT+Yo8&>ZjIF9jG73m5QRq;zp|WE{Bo2$ z=Xi_C9L5MxN6O+zv{S=w8#y9?%pos3pJQTxn#kTp_HYC9CZ_N#_rx1PtT{j+x~W%u zef1!1Aas4rX!HZC&;G{pdO}tw)Xc^+n%XuI=+MagbAff$UUxkY_>+ayXHvw`;MNaU zRA>m#PTSAt1>wC)bDTFh{o%NovU;=3GQSu6`|Y|etTk4BG0HH`3YD(%b#obi_*@2$ ze3HwbG32pdW~P6{Rs6LeDo*YVgLu#z5=xA^A}2 zXvE?(gSsk;RiQ!2YC|#Mt16q5*HrsUzMF+%W3xJKAFjL1)drb~=OLN-_+JLziy-ypi9Z9Ayx zhrR*+jn02zzyF2%F4i2xwmE{_U{JByoOsTSN&T`QIGEBfs1e)+M~YMYxC|XO3%3MQ zTxDxEQ?^h|D5Z>Vr_lLoxR=@*Zf#~t6OkM8%QalZyNb9j%P7T##f!(K*f`4IN+&Tl zu-{&_`FKTmmrdk(rIS!6qt2d>tL3!uPYmOdDM6X|qjW$RRcRi3@4nG|UG#ymXBc59 z)p|e${b!+sO5cgp5`o0}swJVzXwX0%%I43N2{d+FULj|gg>gjn8pMqIE-G2-dIe-> zpo zIyZL)%xIHSU|%&HeZ>ZFj&T$lgoZaT(a#5#$MP*KP0z{S&>PsK40GO_sMIJw9l&ZC z@$V7LI7NPC^4zt$JwJn)**4>R+688gZKDg#--iAwKdf!zd`-QT9IRhaKOY#I)_I+; zFbjTdWU)4i4D^bYJjP}xxv#kUzk$V-5%;Oat9D`0pOIhqQb<<^sg`4Z=xP7iBToLL zfKYgdt9?_F$7{po4Q$LinD6L(2lsFJ>^t`RZ|wKK0RDxo5pIn@9Iu0IOxRf5oSVW! zs;}+pi5KcC#EG^zSU`il;m=xjL@JuFN!BFC#<;Y=rmoFPw+uZ^56Ao{{bj2gM}+a1 zD-tc{-ALyQ9{E#ghm=4m2J?)SycU+Bi`)-mKPCJa1;?gaTay`#M$m}CF!D`JV41iG zGQL{V<3XpLF%IGfSlUcceYKwnBxf-Zes$7cke|DXD92^Gdn$HVBb5q z%UsOX4aSIU9mK5H?@1A0SR<19xhZ|LB&UU@$B3=sU5Mp%+SAFIcT2)3wR^%e9+W4|-@JA=E;>4x4J_j?y5M^_ggUB6%l(+-fnCYDLpsT@x-cXU>B5mi(MPcVxu z<HJMRK4Q(}{>te>rGqY>KAhUK*ePWj2d ztP9!p60mfHzW3HKten{MvMihg3Xrbsoek zd#s_{Sf`Ze10p8z5Kl1QUzzct&8jFY#yDZ4a+fm31IK>F40Y7&T%gt|b zlXOFGJNVYYTL*8ue(vDy8@Sy;x4ZbP;BOFrgZpoA|BcRftv7+_hDJBI-E|_2%Z;Y> z+t?F4BBW-7y~L-fFNbHD>H|(F%``6e@>COsFulx+a^z^7@U3o)IPs5#wMI;?iO-<6 z#E5qdjPqEYleYfG`Y`4`C>9)m&%a1t+094c0zM$aBAXg{;|m4;dCr%G>v0dV*b^H3|j#M6F5Lu*1qx3=N7-LQ2QXLg;`I!{V#O|yn5leNW_&XNhG=|9R{ z?(dED)Bl|K9G3C-F`0KJsIsnSdJj`M!wH`&`i-hR$I3Y*VZf;7Pl3@x%;u!bgTNFS z%6N>~R)5Bzn>5Kk+7)FUz^FH2&`!y z5l{)!aZIk2S$)ZeID}xEr+J-mq|KNeFlqbUQtnL*c3`AD+{Von2xl>lI-3Mw8#?Rf zCFX0bVzDmL`s3U$I!_tC76Oa?KwL^}YS92!T!^(4B~0n8i{R-1hoyERnyHVZrk9<` zMm#$s7mMeOHoabQ$3{DD8|w$yn)o;(D4n+tYo9QII$`%-u)f!}rn@kqu&ch{Bu)2K zpA4yBv*IY0XLq39K^d_j$~o4gj}9|jz#N_rn6KSQSmji$Q3_31iDyknSY4tI!}vIp zpJ;WA&RA|~^9k&ygdd~e;4aH7({LNBg%T?XM>IZ?ZydipZpLh;xaMB9^eUJZ%%@K} z^^SRT8e=Wj<(aqh)6KZh7^^Wrl-8;yc!Je3j4PQ%L-ca&@s+Fbno!x&V?Ckiu6d5J zkTpF%!*)hh$pO^46_ma=;sg|a?m&n(=rKNW9eArJahR}VXsOO zV0_%HNepFbDYpX(j4aHW#tp^l(Vx&f=toE8#5t${Wh<42|PQr?*@I@lG8i<*x_&cE{b%qMdL zIH}lO=`rS$=I{Kl)KBXDz8qrx=2S`nYE6|zELO=(B4oSpWJ(Ts zXpQY1SZRzz!7*CMMH}KovYAC6*X_APYeU;fWl4Gi!`oQ&;W(B_VF38TIf_lcmBPkm z>O5AY1)4FayzmkuhHu(wDEBmGbX&cvWYZOmhj%bj!gyPCV00H=6d?z(ux!Z^=i{_N zhC;1luZIn)V)X`M^Nb*l2QV2O+w6)1UQV=!a{buoqxDtDvr%VLDu%Kkx8y9wES6ru zqjla7r{jk)TXc*xUu-i@&oP>@taS4^xhf+c9BJE3*_V}ijg)rj&ULgLVT;Q_HO!jH zl_(HD8B72g18oOm2djMsk-RQ8D>)iEh#EHf#@0G+t>d-mDKFbJ}Q&)g|gQVztgA_H)9IQE*g& zE2Ag_&E-i9-JB@qMldFQOe;)@T;V-~{f8H+UlM;ijipnPxAU_~CBh7Xo0B?!(|?~~ zmWBV|^j$mB<0gTOph^iQY5S}i2I10Cba8K!d0)buH4bZy;xCiFZo1xcr;_Ls#n%IWdAabAmNkCdL#EuW1p zQ_M2)ufgCZ=FUVM7BLI}yLGtFhsORQZ?WVc`-q@#mJOmPlFeq@DIe#X?qihT&o?%O;=~eZ}SX{)NabQt zml3m(U12{d{1^p?y)%2X)+kuw7aXGuBjF(|juH_8%Pmr647g&l8pF7N8>_V`qr*g_Uz>qfgoC(fj{YYuJFDRETo?-d0 z(Z;;#-^_r@*Atk`j^_LYfRB0ZnamfAF@^bXo@a7LG_D8OvmC~C`xxUzeclO{b2#?0 zOefKBk@_(tqWic{PF^wM$2bVuDF(i5BNef2m zRG+3VHc@GZ3vqVBS~*t1Vs!M>JFngHWwr8OV>Zj=m4hOfZk<6*70(P&Mt8MnX#njz zaOd>OTcJhV7-pqnWid$nbb!%`-H$W~LYFa5Dqei1!62wUmxDfJ4F4_3A|Az} zA!PcT$7G`#6vLmGWdVlzC3<5U8>w>S=vE!fu&Wrbv?npJ%@r)`VkhHkEKZekyr5sJ zco;A|#r!mU>W3tcO=+zit1{vsDvy#8s#r4|Ys)sRW)T5>^9jpaPvUt8v)SBgzAV0V zI?MIPe!r^~yo~MEMClxMD&&^7Xawpi*Quj@vXm5K!GO?zS8zlgroQtHHrw3yR(p58 z#B2c#^gifp^z$ps$H``%6~f~@%Z0zdQvP94qP>>d9T{Y0NVGJkwVoRl3QirfVrIm= zz?3#A)}k(B^^am0YW3%apQGSdTu)w^GY1w!;tq-Ar%z-jUS#p)Z(b0^Iy7l<0i#2* zsgC<-tD*mwu;8{2qO7LtD~tgWV^jvpLT!3q7KWM7o`g-mpGcx_HqYU34XqN(MYYYb z5@3oE5wz^YPR1b=Bb_?#*zw)J@q7Qq_x&69?T(#yIpJ-DhE0?l_lDM`{@q@a+U2b* zWDZYrkMJlGyuw5%lYSz9b!9%~aq*7q{4GSG>~t&$k0>{~F-Q(3K;C^u%*RvT5mN@N zW9#N|PJa_4K7kS7OplF8QC@53Fmak?_3N?Zd;{Er@feoYL0Bd$ld==b>C`6A`Qw;5 zIjwAAjQ0wQ4NevmWF}PKEy3Q7W8}niF1Ln^S$-As_4^{;8H{KV&rEyy1(sSGPS_So zj={rb9 zGE&nSyfd&9xUnb;-EpO^S>}kZ9m}>-?LmX2&lVg;S77ucL{s&)p)Vke73aKW7?ghl zGYajDz+yNJI*+-Mwg~J|hcj4k0QR*M5zb??awGT1dCcp^>@>X0p^q@_&kwMu?!mOy zF72|ce!zoo!41w~wzgfS@X@wycEW7I6+Ss&sa>JG3I2Q@gP)k2^URqSJi=;!8paC@ zsRt^yikC2()+PP(GRz`vm7nyw()!XiOliZCpkk6NPgYYBQTYbvmgyBn#4AdT8_Rr;o?G$A=NM1dHN1N=M#nJe zk{Y zf#t;s6tg@ho3w~$`3(ZX3iAnO%)so}D8)L1DVcC_&K9Yg!X3q|PD*z29GA|C-^9s; zP#BTq7xk;{?w-z&V9%OgE|6+{7_qr@As39|D9-4QeaM6rG0h|FATqPO=r3k9tD^>L zH?-{wt$l&o7l0c&Z`k*SdvCb!guZX+{3Q&7Z)nsZuh)_{91w44OvoLWHv@&GX(LVP zE~$(mC?jFGMmy4`4Tlb)3<0YFi4i~(7EI9Sm4%KqBwEORs_F{`c1?x!&aNj& z3x%>NoS!z^T#kXZQyKzfj7T>u&FhUgjaUdj7l)=eDCjuAD`(>&~V8J}o+?d*S9IMs_7Ux}z(-`m~UKZ(XjOTc^ zv5YlYzmNU69EKJf;wpoDGXHQNPqtwMg1!$@-3oxxC5n2Pl z;#-3{qZwIXxT4k+BptxUzz!Ba94tb(kams_pnf+9XoOA#)scur2kF|^0W+H4^(C|& zP5FcT8V$XtZhsCe!bJ<%r}9w0%a^^RQu+jgZ;TH%ufH!bg%T!&Qi)22oeW~@FO*jTR1kXFlN4guPf9I*aEho7YDz+^_qWN#%jrG|QuPO(^# zT?sF>4cqo5N{;Odpc}Z0f@9wa_r2kM-|*FMX&4xd_5QfN16(X8$h$6gM{c7i$~fgk zh`YM%e35vqxQNq?NDCAA4P}B|NAbB<#z)51=Tb7SBxv0%jZZ_tE9Um|GSV zeB>-IFi&c;yN3X{5V%)Nk7mven{9rgVS-eau9ldM#R@Bwbm*7!m|0_`)?nzAA?*s& zd7?C^+3QJ%zLiPWESd>teC`*ju;nZfs zC}b3)w z*v3JqgJ~bQ)BAz6ACJZ5{9}=k&Y@9Z_ORqRiAz!Nie4MbI99*^OX24z zIGn(^Y-JB#W44hedqk0=$0Ll=&1!4e-{ue?VLr9MDqltNAGGoTAh;v$cit&Jn1pX6*CH`eThz8rxh()a6}F+wH0P*VAmV81|sOvT#TAlmMZ`lzn^ET3yQaVdIaM%Zh?>e z{yZfLn~^ zcFY7bVZn}vb>T51Epf#LW)$>l7!(k|8_2KfhO_jL6gPglZ z{BL6N*G`tb?ujA#!sOXnqx4H^CawBvSb)#4JWlef7shHQmKGZ9B8tV=yM%yVA8BCy z$n_FaP^hMxRoTIE^@Lay8}j{z))}pn8b(ybhA9)=>%SBID$E_hid<9T&1B>`X211b zWnm)50CTVBXDckqVIIq+Db9Iptk36VgplwYtL=Qo6^rfD^7%2$>X4t$RO2D03xVCr zC)G?BPHc(^p>WH6V9yXI3_Q${aW`A)ZP+TFVT?>;YJ2E?Y~_Ok$1yq7Hi4s#`Loe~ z6--#TL|P-sZ1${gkECr`<$MmS`Gs}HV+@+s`py3O^s#wqhIZBz?czqHiVdMh6wO4V zvG3vxIp!-v6gIsogq1(Q@1QrmnrACxymDpVS5`aE>^BOB{5XtMwm$h&us^Lny!cr$ zoAHHY9Kzxn=>K)BifkskM7%YIDZdrQ;G{!&7gLIr6$&6^<;)+2@$}^YX1p1&1C&aw zH6Aap^gXy-rpTt80Kl7$Wl~loIl<&&q`xJu#;Meg{a?!k+K$1l8g?LQ{Rk*jS6z|chr{`gg&(Qlkl(8~ z4=|o5RG_Q^0*!b+z`~u@ik+H_2t;4R2S9A2kvB@UmPxE|& z<)KkQ#Y4UV!;wZ#5lrA=C5~11Q|{j zzUq*|+j0RWT|xmrz~D)=g3V@$p4JgS4Rz=#Mk6aVOtE3g4O5wLQC>u~W$kts6y-Wy z9$)>al0$0Q)3dpsk6`)Pm4?B28veQAEa(2`FyhDY=5hQlRxoEn*}8I!S20OLFR^Rt z%;t(X)#A^XcaO2NA@Ost_haczliObA)is__TH<)UeW)M8r$*h+5Lhk^g401Diqaz# z+PUiTr7OQsPLQuh!;e*AZ%m8}IbjJrN*|eh9L2`H!@HOq0u!2T__e^;H=M*6{zkE^ z$THZ?$dYkqZrXoWvPEE{1^oX_-Iv+biHii)|N)$x5lzdY034ev!<`LPYavA~i^tQsz(?bc&u zRh`9@#8bkLVqM3et8WY@#*QwILkVcq(a4kwJzL3(vrw2zP+^5qlD@@)js=+lSJF&c3CDPieHK(eWfgQ2fgr8Z5F7UX3_m4A z!;MAB0ai^ki(}A@L%Ff}?+qKaiYEm~>mq2Ay&y*awbvQiDds1Qzw(5z&iCOx%I@$f zZyal?{Hr(=EAxRDsg7f|*6OQ2bJ_3ohcWM9tzLxzqmm?J7K|-i39rYoYx6VF?XlwG5LW1CTwnm!r2J_3RIxE+7GHV( zPOE3HFdgQl_{0klXocy&yW%?-cd))zP@IRh&Z6W{1%=UUX5bD{aO~XBsmsTd9Om2& z8d;Sa#tMifZ*v~nV3UhsN)AzyFybvC%VszS-8N&dAUA(f?ZNQr&E9C>acbf1(AhEbYj)d7GL{t;vokocs`tDkUIQS zB?UFayXBgv0N|E_5~rb)ygfzUL^UWkOukl9T2Kxphg&rxWJMQCSYjw!!kGm+!DoaP&+>saw@UGiam2s3R?|N3*2P5}V4=#Lfld9CC! zcM|GdxYyBiMpFCP^rvoU$ABp~n8oWqb-9|-Sl;5%y1Y%H5h

kux4wA@e~>ZXPHBX3o{=)!Rqui57ZKl+^~)tQ?gayUtxY|B}!F7p`FmT|Qri2mklM6Nu)YUpcDfjzVH$53DFaM?Lw() zg?IV6mt|#%u7=ifDqDF_6*G^1RzaMr7!CV{Tj=Xr1QjTlAwF*$)nsBK$HV80nT`hs zAkU3HH+FI&deNav1MK!KOL9BdI1jIDn@6V-Lvg0ig~7SA^O&mOQ-85@sh+2|tb-&a z3ERWFtvYUE$Vu7u6GOPcjG@Sy=t8{o-q&dn7eUP&LBY){ z5en6JK4!;wIMH0Xc6pe9={5;}KH-%b7a8c&?>1dj(-ZoxCq~&H9%6Xkc5oS_Y@E3@ zZ0cC~ti~-4_^f(JR40!$yQ4Z`$g41(F~~b6C~KmO1{@!zLkBM_YqC?dN=c3 zw=}PZwgyCqAeF+PO9n(&Z(R$$L`iv{O@CHZ_Qwz2%a`;X0Pi*6t*q`WW*m)7X654q zE5;Y)YA}a&5g|U?8V={!pcD5qlijY-q|BA`WOT|+*!_87n#Zu2n>-=Bk#dLa35WH| znVtT*6ib+PFw<1v@T;CG^^h~)9eX;fX+Pmnw_Vj{>*X0u|1R7Nol_&0bzMqN`{|{K zoCQ^Ah}g;*+tzl~T{_PF%;*m@`@c^4l@v8iPF{Mc%~|h7Gk0)d9lIj8*8S|Q2wApd zZX-mPP}9SLTn5EdN1cij$KQfrmQ9^8%awF@b5v`8Z4)kS=Sej;1=g;}2F;2c%5^?h zq))MP9S*&IF~1RR?_2pn-_DV~rPaa|xzQ@I9aZ;86|)j#Q}3-OMm9LmmW)bP=7oo) zPJW!BhN-^2olx{qS(>Z0^A*jnAL|pVH&44F>*qf@3`X1hrFnXJ zIEDJfwWugcPHtTdR~Sz2>22{+x2j=%n#SX=DaP5z07_O%_GpI2REBe5zHgt~ zG%@J~hC^pS7kQ*sn>jlLkoYE{QNr20LW2TRb6bpuJAc0o(i!2_E@lxiIcyBo@0wa? zP(z?B{4;B?gvy`H+$Fp_Y#{p*B>^OBLn3IuO9x@6tcSD+spRAq z_~amjkd11gP^gmcg#W29@v!qtq-#aPH);Mx*Mq1Sr!iGTv_p@o)}l=Z&SjF)>*}V& zc8#CG@D;N3O9q$p#tm-~CT0z8tJPIZrmFsVzEPodV)T<#aG6%&rJhvh?5CCbQ(1e3 z+G(+B>DM>R47QLXaLz&hU-OG<<3%inx~FZnae;q=qS0r|6~_YyMPF1?9ytpgV148| zO=^b!#MZ9R!s-i5T&s#!(znJQanF97cj20?X0Z4!{gP>#s83sXWUlL`I)*2CJ>Zfe zk!YK2X5^&U;{LaQQUfbtW`x@{T4-(;QN$y$BC}Cj_~K@vT!W`tazUkFbjY2Xo&_`Q z3J7A^#JCVf5H|$h{~)?|Up6Q*@{zG7cvy0K@afxo%PJYMzNeRK&WxBe8Cr~T+n~2v zt{Fd_j^v(B9N1!C-{Q44C?n(`gW<8J6!7TXB!q@@1mC7GzS$j$PerE zo%6}Z-B>z32E;DTr{ipaW`3lCvo+_8RG7J`+3*W*L0%XmqE_A`v2B#<#H41SAf?D< zQu_%-Wc121y;$eX`%LDvzdpw5ST)@85a+ReHoP$4C0pZ5E{#&V=L4JQEaO^~ZTI5g zV7>;%9L|m{rX#yXVI5LOdV#?wYNDpYP_1&gM=OxLU|t#I;auF%(I&iqVuOpNvev0QS#*knpvM9H?vYugj)zPX+f?AR6>5^%c zZZqj&^)U&8((R?t-hdHeK1gBs%}}I~Q-IV1WtT^UI9&^d!AK{X<@4u8P)q6r-vXQ~ z*1ngYsZz3&F-*FjNJv1oQya16_x8un1s8AGniBag67N?O{dAcaDGNgJX;o%wmzS46 zDXibVCHFoi-{}WCJGXA`lP63MKHs_V^SYKAye+DTIsrKX%b$DOr|&J<#BTAulTRIXh75E`|I?mApV|uD#=M?k%^@sIJ`F@4Q9C^$9vq)Pr%9oR z-l8;$+(gTPFJi6z&eZ2?V~m=6-&Nb9AnLzVb7qfFpt~uitZ*cra2lB8Fq40`=l`7r@RkGWweVk>*36%r?wOb(k~rPMuCp#k^p%yTR2+J^huBEH{qEH4)JXbr z_8Lvi*M~JQn;U;bY@B_M<_kifCQ+1?t4Bx6l=MF>faBO++IU^{uMY%#B5ssxWGdcXyE{ysZm`nGR z!ZzWyI32y1i+2p8 zqgIZm^1rc-mK?lkXShW@jIlCtYgfP9WqM%pIcvK?Tdr4j^4jFgLCS#0CExNlmt!65 zZA)6S;*nRNMbuCEr_y06IqxCPKC{wolEdG{CMb;OL%s(^vz92ZhJ5tD z?AX*RUlI@I@-1>U)pp>tO=1Q;X1;5R&C$`z2eG=0Hi%dcl%wW7Qj;t5j#6*!vl>4l zYBNKkq`$ zS-sBb|8OX1h*bD_r^PRFw1S(e3wKlP=$W9Qqi?$UW{p}a`FL@Ix8QZlyJi`nyj4`(f0*A9-B@+|q<)3Hi(9z8D7@qW(#$jQibdCe!CNk2&b74ez`seuj~I!_aywXM zIyZO39*R|lXu_7`^HYO8=bV28b$dNwBAgq5R$CG>4!bbX>P|-A`ePM7cZF8ICHG}$ ztO7A9;-*04kUml*I8Fm$XKm1LWX-+O*5}Hiu zzxv7gX4XQ=N!&VXPvlwbHKzR!>*nG!oCm)PhiBN-?mrIx($pbzmm%qsLx6g*``3(E z2V>7p=OB6*c#&h9O1kiUq@TjOBq+;JG$F;#g!Q4y_ThI(slu=Bt1`_hqYg`Jm0>A& z+5-jqCRdRrg_JXWqH|g!r=qG5N(f_#MnN5ISIgSx1tV4ufvdFKy2Pdr_s@>nLx&Sj zD_a()E9<>=uPCDI73987J?Q?q@icR6im#`X$!mX9B`)9t>vc068I~YFu-8#>t7L|?%UN)OS>Mt)E{)BR!G%*{riU}*Hvi$I)GOFnh z2x?DU@4X?+`+1ONC1u$&i~RUaOK>;gmHl5g4+0Z9NMs3L*1jcF+sbkuyf+z`dE4}J zUFQ1zk7w7+8kMz2c%ot1PRb=TSx}J;%It=!@?F~KMq4M>1FCJ)q?BD%J1VZq29*wz zO8)bK`$ui)`1yxkUNhwugG>@byBh*enM*KErykZxZy73EoH+I~Td_ij85Y?{4@~u1 z1GE3Fm>w1rfS>Xg<(@1z+a;lQ#&nneR1R?Gi>G}NyY-X;ng6Xt2HpNPnnk&oF+H5( z#skeg6w9R+`^dl|3bDx>*O|`xVtRh(Kgd~3#6+6G(L1Tt+0?7&&XHpVlxOU9Xz z3DWvQ(_ixnn@TbU!GFgGNJvG}s}NrPrN(T*Z6E4a{6wf^F}!dxef#_G2^+?bE(UGi;Zd;&J3#9-|OhM=%BnQ8t+W>`1juytnK5K zB0d{!`2&`|h_9WgbW9AWgdPQ9=r;E-d^am!PHykbO!eCp5ia@69~PP?hjjvMtFEMb zM(kbwzgaA4JFU}Of{Hn>J;&|R=Qnv@PpY`jB$%^nnT3M)m*SK+#pCrLP^m_;?{n7g zrbTr%PWS7KXSCKZ_eoeu4%Yu>7YS?qF}fuzQi6VC6iNR;j;syCk^b`fRe0u|4b@Rn zq5LbK!n+cNx@vh?X>JNfukXxN8f`vc+?re{3k`fc;47CB$dbCw$9t=+=c9+>&B~e%I$@Z${Cqhcowa_{T7R0Y<{4~sP?9LI#u=cpg9}XL3JUTHwEw~K zLyi7N!yj9%Pv;%Qj!n77+#W>-?h>^B4*+;Thrci8Lcs(ae#)euXj?|a&bC}H-_JUv z{vK|B`KgEZvf_Swr`s2ZjjxH5RC_K_nBKa{GDD`q;gCY1P_#>mscU zA)Ye`r{x)XNUmkO1C`hliLD>Y`E5C8>LOiIjOgWFi(~|g6f7!=ToSgZI6AOsB;4?f zyI~lSwi>RFkKKC3Zrx^odQH2Img@l24wDpXrQr>~V!vb0&G0<$eBpO13HR^z%Ek_P zHlDAa<+appBb{m4;$BvK$kEn-qrLU;-r?IKx}>}u^Tz(pwIWwgF)cH8@jrVPDc7%i z9<8pHbfs{kD=VOY!^cmKmEIM?jU>xWHm$=OW_gYf6Qwvm;M?MpuY>lL7k_TgNVwN< z{iL^XYPoq{>iaDBe@ElM(hl3e8`ayO(mQw zPQgB6%3wXlPKm%T?g1L&UJAo~f3la!&zHjTwsNrBa9Eb%d=8x|IMt1f)f1a+PqUns z8&=p3HbRls8qHya!Xbr2&5;%xW@H{K8id#b_{1)yYQ@3~BNn3A*W6hZHSx;b*M!?}+c&oFVAJX7mEA_ShPskiyL&g_^?(hnpjpeGNyh zfMS`^?kD#66RyC;2~7f#0ZQdeiRC|$!AE0TB>Vr^MW&)PwKtQ&V5G%HQL%!-paOwt zz!Ci&xuQxS7AjhCQ%gI`UZ=hkW^aG}+xDgWthc2s!}b1fRWTL>%Kj_qv}}pb z<5P}(k&Js}#)SJkzmnXaYVh>rkF|qFzZgpPT-#e_2c=SNVShLIIpDQV+ouT2mB_k7 zuSgrkmZCEIJE%Q-$v`0}oPZ-oTf$_A@kw{forB&ii3S?2PE+zadv`6{EB?Gnd&Pe> zw=kP`4?6B{%XQpu#oyz7Ov1zMy>K~S9F}E7cTVjiAA2|6eXySHmqhH8K+N<%51=a|PjyvKPw$M)+RWP8KJWkkNqez*=dsiMH4q6Bd*qD)*1&aY3#coS6M5S)f z#&)SqLkhF7-3(PtPat+ntbLC{HrvjR2_SAN`~NL04T--BARu?igc(Jht>IT z|AJf2iae9iywBGaYVGfSq(lwrpy9dV3z zsUI%P2N(7)F5MsXIO!9F3&U`aPmX)&yMs#O5EK+h2NF0C8qEiqz^7NOR?Pze$Q^bps3qjv7HhVArYa7-hNV@h)QW-hX8&j zEfIjk3S1<=0+v9;s=>i2_}XBA62Pp^M`@f-6@ySJq4Ahn=D=*JKUI(ZIV!uPkZ9Cc zvDat<6bsVJ>edd6oQf3DB_3d3jTvuc3fYTQ*tY4dHtrBQ#WKXd- z(*3wS+lP-h2H(r?%ZKtO^OM4-0XW_}-16}Mh>-psWqKCmc#kq2k}euYT{!}@%}NA0 z+QFSbRjs8--o7aq8NEH*)bn%$RCh86&s$k)ct}+-Zl1S(^E`H>J>G5pk%Lt`ZbNGS z`7UUvkE*?o3Hes&QoK9IA;pvFmPU^o{l{Abo(&Bkyl@fhojl`NUKPA;=nNOXiq#-8 zDuCbYSq)d3B1tq!{-rQVdnI`$=u|H$#;)!I$> z#LE*;{u@~1bv4Vqrl~;Bg;sm7CG7`AE9}ZfsrI`?$8sHQD3-@E(2pk;8|c zyOlR%)y3U85@2hW-T1W;sT6?Ga07OW3QE%gQ)?0P@*&NUr~@T1 z5Tj~A2=toSS{T*p0CRg*(Gnn$nV}@`G_`kTP*O0X>PXnb#Xk-_y8#Za{m|mnc^E(i z5>kK$;kf`ec-^Gdv)J{ytlB8PS*ZORQIB^0t)Wh6CPjg_3se(FB7o9Q+h=CYd#sxu z`I^|zAoOklFu&@+X_Zd^^;Gat$Z)#Hv%2{JOCW0S{U;=f@y2<)*2He zcA^?j*TYGsJ=Xt*hDJ;MEG@2UZv+jF#_jv>9q8dS3VGgN%OON~{8l?U&~gbX|A>N2 z1Bb#)ZEA@5pep`PR_@M=1r8ufiLvaO8N{ z5WW8%{vJMD_(T9lxgBM1@Qv<;pH=>*&CTqs-(-yY0Idp*H}Z`%RTZY~@`EnzGM{n$DX}2bRF3?)%}t3 zwQwz-*Pqr=wpO1iZa4n&RpOsb<#|WrMH|nKG#T-=gg6(D%12zo2Kr(P6=~b^4@JRX$ z0-)_+otq4ivCXdKtArYyhem*)skb>21J|r;NR_TR9b+xlAf>%Jz{A%zs@^s9G3^c8 zG)6WMOm*Pa;L1O(4>Kln;5dDPgP}u#h_#bx>Ui4sr}@pU9Ow!WjK2 zVZCrF>$^=`rL=Jxzgdq#6>b&Be)p0c2Cs#5k4X0i_80YZqxt&{^;2y^V`Tsy3;0L1Nnoy(F_aQyt zZd&mTyzjhf(LJB`9Qnq!u6yBn)m7-H)uR)#`NudQ_(o*4sbhpALyMqJ{3HM#z9AB- z=a)*M0>M&6V}YPl+i*>rN4PTf${{-1j+=4fY}OWi-lh+xhnj%u;KHej^MX-8P9Y2` z49*P7tn>^+F;s|l;3AVC6Js%8N0>1|kO^RNEe!<;^py-CVe1P$X+7eK(%U@w{setZ zIwDB_=YZfFxC82Jlj~5ifLt!vUUV)u#kJp#3o`tzeoca@SCtJ%P25#F7IzPb5YxZ% zdrkI;c6bL98s%GSIk=DYYiPB)hiN3?knz~dxSDQZ0h1snK^7nZmnJbT2u}f*b0z+B>+$WQs@~d){Z^M;iGpw z2M)Rd`$lMaZFGoi4E3KxtAV!nSog|7PE#3$ZpOQZ_F2NG0XPV=ee%f?h5mbK7~VrX z(N(nhZE~zzCIAMOUekKqtua25~RMGUxhyOJdGNSOlAx;|5~+t zIvO_OU8lJKNCG6&6lgsg0BR94KQUh$8Okzdfh>Zu2=c7ArnuI|#H0>AK?ArEOeRdT zL!^NE|o$a9}&_2|7n~=hDkJVbj)Wk`2!qxWN(N2=yClqGI5NmT!GDuCvGW%u%PxrSiyC z4&n1CYrTsEx=9mh2V+MB3Nre0=>WbtufC&M_Y7HpB>|ZUnF(_uoQW_qV_^l63voU2 zBPk#h134BD-as^gFoVT4ILyqB9Q@AEgF|aE)1<4bg8|QVA@BBF9=6)y=gn1bzg3RX zwpVdD{4825N53c15cgqn2aUv857p$`H#|i9EaB4t9E@-Jp-vha27r$k6YM%>(#LCz z)r53^R&GBFjJA0_P3j27gEUd5l@La!#q+Y*W*~wYH6Frg7Oh%k7n|Q)OuPD`8~u&h zjje*=De2QQ!MX{R{xWcbVjrtmPg0MB7zGEqGSjvn{88VTo zck>B}UXbz$)A@wNFW~YDk_<>TrmxIjiWZF#h3&BguZ1Cw*ZJ0?dr$4d<|Od2+84i? zX4^1;%>KUL`D)x%6>0OMe)aJ_KD6=uO4CWmzgOl*M+wG zb)FUJ{q&%~=PXuZPx_P7K_I_!q?$9JcaUl6RFi~ZL!eo?uZP;3#y?v+WIiEK2qkB5 zCP*gGLZF4gIU!|$3PGUEn20bDBT)*y(CV%?jsVrXBUGQ@LLvcntt&I(#0ir-2~DXw z5lyDKq1V826&&6AgCR8^GBDO#zlU?$y3y8)HpVMx9(jm&0mKA-K-d95138F*qCz!` zf<9_Z@B*S2AT#nAn7=QOGr*aVgcbZ?WvC?yW+uEb;Ts4E3>Lyfz?2l^D7m1NfX5AS2SbQ?#^G$M4de-MhoO9~bxu8Y&M5S>6Iit`5A%>7?JDWC#z?^WSf!u6* zgStl9EnZbFh<#?k_ccSfdQsq^j9K$v`8SL_iSD4;5Ly+#5~P!Pun})9z4rS|dZ2tk z#N9uuhJD?oc%LPF8h|6wH$-95#kJaj)j6Qk*9@%+LN*eb5NyvneS?uURV&)0NgY)7 zY}lONP2(QCQS%FGBX$GisVZxOz}lS6^&q)f=9uiy8Z)8Iov6Da&%O#T?z03=ko)T~$jj08Wq}1&BnpHtC=pzeh-8y3tTAHg}Hl~*3#0X`}JSxQlIhd(zUs3E!mfE z>)E|DY|w)IyP6pSh-vL~pvMOlLobC-18`vZSA7qgd)HxTy+G|{8VxI8AZ}g)z!A~# zHZj-FRxOW?hA=?;%@RF8YbPt3I7zG<22SqfkwBqguv3?V+XF_HejhC`2W!TDl2)CV z@O)1L+Qg}XJQ$#+7Uy*)t25aK2FOr=V}bAtU{?EWke=iJn9mJ$ zD7qjo3-Y|EFOGQIhgQ<04m-snH`8d^fNd#>lgY1q)#r(gzZt+m`~t=oO#EBpcgEgg zyTmC~>ETQLbi>4oRtXL9hW=1dzjcF4PQK!lSx}Y&q6C>3G)({!h$hH+M*dc?{INiO z5NKu~>p_57XJcVPK22CougGA?vH*DjxPV_7!h-qj4d?S2H2sE`mp>y-Um){>ykrQA zy?|n7FNX(mIpMKqj=rVD(>x*^x&a2lK}8GQ)$O58lomDyTXk}6pN)Lt`z@NM@ALZ5 z8|Ai$JJ#4WjjF6RmTqeexrzgqbER zw4i{%R6tn3ID_#Wgx|q)C2cS4}T5J@1JKv3Qf+qbAjM_7mt zsQqEQs;<*pxnL!t`j&^T(dt$($b@@oKnEh|Eo&P9N8O(`8EO};E4$RUt29q5wtJB0 zKTG&D0LR<6|Ev41@~|&zmD2u3**E?cFpUq zwY}oTsxjaGy9%wpIj4zS+8J+ZiwE3#RGMNc07gGmr}k6%^KYB6%L* z@NsvPR)de5LsEN(AV+bPo7rrD8*5q@AKHE@wyaB8X`y|$XkEHTgH0EbqK%(+(KdW; z?3Dpl_4T?A=6#PAv}vKWr0(YP(Qgkaz|n&ou_pHd9MK%?(Te)BX7*RjzRQKUKQ|Ec zkdII>kpUcJJX!=Z7_%_)^a41*@$Ea_zI_8SaOQ-Z31@l3w|Pc-6THkP%*%Hy^B-8w zf5UQ~kmWmad4ptv6muGlq%X0RRTwA=euyMMCR-QuAh1xlMI{_cxA4dae|Tm=M{txq z{arR<-A7Y4DD`Ces3 z15Wrq@fpIW0XWWI|L>kKYignlf@(uoQKsbb5Kg^zwo_ zn5_5@v0G}})jQepg?M2shmBCo;~p9jAyKmh?&59baf23r>xA0y`C^EIYS?_NY2H%9 z?-zpeYX>(R;D{j4-aXFBj+4#Lz+qq_!EXWC5M%ESdXgDOz!QN)`3moEuUo-|RKFr} z1dCjdt$rA!X@)T~*nC>(jU)gT1vLEX*Susb%Zz1Suq+Gac}C8;zC=`596>7pUU&q$y9;~QzB4;y$Z@SgQhB8Jl}u^Y^Z(Ss#9h$N6yMA$V_QK1X;9Q z35+RaOi8W4K^f(1LH^r<<*T5~44Db}jc|S|csm!oya2CAkT1Vs`ltVlFMs(@ptrw( ze|*O@6`WoPoC@ge4Rk)^gjY=T4@h_gN&#mw$f)A7k1FYttOne!8hS4uFx;oFlI?@^FVZ z$;?R1mG?c61pF2z{pbJ(hbJDNCq*_i@9qvwQn4k(hS5Rm<&!}W{*HP6Y5)f#%U9&` zLpAOSfrLSlz^=^!12+u(fFuYK5C9ICTm?ulAAD3QJ%*;>P}|i@m9Cu@o~8XXJ@`-) z&8qq1LS_vn_jbeR63q@}qi600))- zXH5&O-E51)8&M#IAI!v}4v69N^@4=-YTvtHba%BbWI>kvF$ofpGNYd`G;R61h;dN+ zwTrJ`Y+_b(6;*k2+ibho8;X;f@-#0%S!~BJ0p$gBeg&OhG0op`%4fVv#;XWk3*oc? z^g~d-X3Qw~u>drmG5vT$%5Oj_pj42{f}CfF2<9{+r5_+r<#B7)bsw!cmVG`wZ_$SZ zkC?u1&S;-Q+FP_v#U4E%5LJ{{VHp3LfI$E_;{3lgZyaLLA=SW*eoeZuX_tN+JFWUp zIFc7sfTJtmLqRn-h7I|HfnfD@$DmJ#1{jc;bTDxMIUL-uYh6pO+7m<#;7H6!td2nQ zIU}1%L#_bFVy^~l6!+aRm@c)N0x;l@n9=536N;+_37b!f#7NVGl(N208B?07Mh7vQ zs>yMDIj(z;hBkMtj+N<=`iDvhAgbChg$R-+ESw;80&v3bZ@}Na7X1Dl_yb??O$z28 z0>~@U%Y^jhACdn2Px$iB{|$fnAOAc4^MCoTp!0Xo`3KUeAiV;V3g-EYd7i=Yf=Rw0 z;RGoM_9lwW#Ba=FO-zFPu#bvGddrw=x*>)&`n2KhPkX}xhUQQs&$jf&uv!IkeAmv-L1TO?O2he1<&XJgQN3jDKG2cwaKh{Tx> z$0hLL7A;gI1Trun!Oo{59TMLe(=>Lxz+<4rEDZn8CbVjEm23&Gau z3&0A14lq$d+^uc3y)T7Zw9gSf4Zy+W|LwlJAh$x$%T0fBfJ65Bx9x25J|KQY&?Vfz|mgLKZOXHi)qKY`QQi+ z#5Scm8sa+J;)wz(;|Bc!z(g*@qd*%s{B$8bu~v7tU${}e#_|FUs6d0trM4#`_1D!* zd_0~#+tEDPTeS9UbJIZRknZtW@!bmArs88vhh5>*030X$OHbI^fD9TNYgR{fn3rK? z-}cGhD{)AOkuB5&! z^@^$!L|#Exd5Ud$5u`5rVSb#TX9CVdWjaFtxhr}#Jz(CkX^mIUA|{&EB`B4Z@4dMYrx|Q zY;g%!>TQlk18FYxSy)hTAsyK$&t`gl@;?Bbqko#aX|-^zKVoS{v7syXM!Z8-r%nbu zc(pSjUr4XBE2dGT;I!ptrYYp6A@&j?)g~ZDVMZyy+uMR4KMdf=#WXew@{;u;m7*;b zftqnBRZb7$CXP|rol|MjPz`1~nUX-3}&1F$7 z5_17kU#{UNL?A9$xJ8nB2}G@oz4x>TG(<^P>YhHXllKE0O=7tmk9MXPukGy*%(v?{ z^0+ac%HU${XaEPrbg2o765G?tcZJp*)wlJ?Zxd|;XX9D&eJzD}pC^18fa7&~ThXpM zpSnTcvUl9OxNMyk>-(<9_hfMBQrrgeK?&YEp{^(F*Ru4*PL=D_aj0)LRf7YR07g$05P0g#EHOn<@)E%?HM-xBbrl<=oC;WwV}iiDTKIAy^EU|JYcp1@@S zXH`QlB_ZboDj6pbPE4l7(eH=79N0-~vKn2DcMq+8ABUw3G%Ncx8d=$nEFX1W)r$&?Tk8FSuZ45Mj##jx_cAYM*H7^s@4rrkmZh!l2R!T#xoq0i-VPyJ*cn z&C1^~@D$DG=OeV*8+FlpR`~Tm{=e;4^JNVd7g+>)1*DWx_iZ^BOy`7`Ga;2^zq^Tx zY4KT})o+UL2`G#m=opc3@<{CFDx`iEl4*|kX9qZ#s%8m+z(viMs0c_3q?n0aCqOlk zYG|38O?-*p+(*+~{A`fLEQ_T;M1^SxBTK;|db+0m^%-ZHFiXO@B)o#~N+(GAGw||{ zn9e}SGu|>Vy%q3V#`i^?<1Oi=cJ!&BFrko|zLdns)1T=8*nKnr&yPXp-OtW{3j)&HuIkD62ME*v4zim~2^^Mg}88 zJ#6TUQQ*cHP4n7kp;G~0&)iY9$T%qPlOorkz~ezKet4pMG{!-QyJtUSEmnsd)z6(| z@W4=1mPoaiTn3j~wDmC+g+Hxtao}39r2`xVsEjoN9OhHQoETAI0Fwb6&FNw>Rk#XpfB>8z zIN=2gzHq^BiSS!u{3%WNf`l*N25^Yrv?NS7>vY?a%l7d&7@FgV$I7;sk z;r?JF=%DU>hVg9&7ZeU$)WzhF3n0fPbM3xFa}&K1&4oAzF;->X7=Z2cP{*0`0HJ_? zxE5G^exP-VjswlrN4-ps0tgL|XhO|V0EhFiZn>`YxJ`?FAyQDxBUV?ZM*^YwED$t1 za%q5;Un%XTD=tPADQ146+8WD}Aq!zz2r>(%QrB`ji15v)wz1~RRZ#ASl7zonP$sIT zCTW^5r4!QRrYQ_c6PQ!boOVftR6Ps@kgT7Jfx8a?9D8W3zxL4pJE;Rqs5K{kBIf^s zA%&4E*Cps}o~-;K8R;{Fy>ZcrOsjs36COFzgRPG7;1docpf( z2<1b)#e@yuV7rzZV9Zi5qX5E4Lf`_t5#yXrnA3ze0N-=L_hrGi^BV*iZ}SW0`4y#{ zp)&XamKg+fLYk0~P`VeJ#`QM95%D#Z30P!xh;>hp{?F6l==1M9$b zFSX3rHn*R-9#83O`@X&5!glBgkPfID;%;+ngK^hf8^Ofztl}h8g-y9wXo-)a3cC)p zR7Q^GS3z3d(VSCV>TLYI5QbOVh6Hj1bBzvh&16w0m9mISH3PHqf5Fi3k(wc^;=LcRLXW2n} zcHJOLgQ&mY4w3;W1`Z`Fzm5PZ6iz!;y8|Ubid`2|{Irpf_ys8y5S`%a)y#y%gu*VY zyS4~Gu=X~;Kq3mD=r~9ayTY+oEB-j)L+slwgj%)(nyuAysIZTtVTsuUqa^TOj~C32 zyCg1x8yjVa85}r9K5*Aski+E2s@?Wvt(#AQqP&58{yy6?N7OS20uFA-#{oDRfJhKw zh$M*leS(>17C-s7HZ4rxQv#nROfM6r*9p@pVVW2`Ww4o%kiD1+h*figN(QmsQbkfs zW6r?&Vj4KrkB^oC>}zPV#*|k2heJ!_nSO51cZXUBh3Dr6!tG^*LIMU2{!1R&D^Saz z=G6q(ZO}K~pdwG#?N^1*18}UoOZ&!V$2N&%K-(iD>(wK7ZMx#7$TuEGPL{AqIwDl& zaL^h+VZ*ic`@XX4wM2EZr0$xl7KcxE7|5Yyx3_MaJ%*{k5krtbG(%{C(1NMH6y!*< zAR!@@1*s%VB$!BW0`NkF6WL~kCS+zT%qUVoh0N@qo_2EXPSK8(#g7*2j}{dOZKK_7 z>TgY&4di&OITYh;jk2iyJ)*&xNbaDuHj@BGJ}G|KhK9%-iunn61sEE@kuAPDy3AOzU|tC41z2Xm zaxRdifQ68RgJU*N&=>t-6Hv7}{3aKw8!g>v>$R`yOw?{m;R(rZZ>f$^MLo>>rb->7 zs%AtHbEZlJGT#+qj&3XF;>Dv@teZ6J=%@NX>;?f}H3+7`k&&?|uu;sTHZu;; z;E?CW?-<&t*?}whdkEzR6>nR6LVDA1qpgCpaShnqXo;@#>i?{N+xQ|yo}3-)j1Jf0 zII1(E>EI#3j3u8!?Cd0;+(bnWwVIswWH`jv4cS06Q@lEVpVQktIuv2$#mqo5=brGF zAd|`0Nv|-SUK38Q6JA~?oL(oKUM8HT3{C*Cfg7v`h+GutU^YH11&H8=Sl`*LW9^{H zZc;&Wfm(ft9irBLOi)b5{V*OADE!_0eaGB3*bhuF2d!ZSKT-cp&9%CeNONH@mf8Qx zmfZb0!lwZ^)(eU3Z1}BsF2qu`eRo7_Pd9e9h_;a+91C(BIh?{>6VE4RZFv#GFk$94 z#L>z$F2mj*O(|Rq{6O_@;B8*0s0Ifm01H415-pfGBayxs3s_9`P8cMM*)Xb4jU<9e zfJsGewI{bby)zuxXx^)z+d;rg4h{;D2_6yZrugv`dvK$<$%ORtIHJf~iI5Ci7Nf1b z>QndDg)8-`oAL@U#7#PNJN&I;jv$Q=eRHxU?fJTCMGs`$rdjJn6P1D2+)GoFkLEqC z<6X3mR_#KAVCtWr8He8P9k1uWOUPB#_3m~lf?Nbk2IfU@&VsXPZsY|(22MT-We~W6 zmR!fT#Wtqww+SV?3fE0iCQQ?$Kvr}r%BgA@P{>oDZO(?HP_cPYZMzxZ)PY7}=(J+( zp^*tPgC?R+i#@bvxud2jYAy%^jomKTe>K}jG)H9a+25}Ytf!!^TFny@17uf#N41qG z7B>UrCN4K&8BOU=*y?fsz){=t7;akq=N!fEZ9X2soBi7}MH|QC<C(=@QK208rqJ+#$=u;G~Ep7fd*po2FMl{as+ecLdcWk)jjy_cywRFn_Bwt)Z=BTR=CB!;s1_@sOTEAEscEZE9VcTuZnf)GTAL$& zibNX^?N86yme$Ytq08rS4ZB6_=Dn$-MnA^Sa6T8%RC_|THL3$pizA{AMN8IeMCWeG}kkqtJTgO;&*NMVgHc z26u8m+k)Ls69`sIVVzWW(!77yBEs(UItk#C6ONtfjSfURz?%B!I=N~~4DoorAP^uD z=Y8MKo!oaNy;c1O5JmI6gSN_QEiXQj#|rEp>v0baZ7uTawY%SF1Y3-UU!ghQt^M>M zZ>idT^=1uA{b_;2_;Ki!$Je2-@Ck+r)$D#5O#rL$ z8Rf~8x}b9-tVNqVsCDKj6OMCAOl^|=faKZoiND4H6|dgiS_dfLw@**dUlKkIz!5`b z#2bvD3NExAFA4~bpsyC+@a&jg-FS##+yxQPp>6(bbg;9R)(?79*?frR>B)-L=j%=a zZ_^;b5nznh33%bzPVkRg4F67mBrCr~H4O?#MEZS;;*7)>N&_;G;r4{gX71GqqgDU_ zAOJ~3K~#baV5tB{0YhX~`$aKZ#*!iK?5_||*uagV+IR$12ZR-fc`_WW@^xTx%8#E+ zP}+vFo}9ZJ6CKGtP?pQ~*F6KT>kaiZ9YJkT-h$WnoEEIl_fx%ka1whh^{lv;4 zOemy|GYMp-7PQ^PJ7{&|u+_+Sq(|n1g9#PnsCpCxAgSX|NJatGt8$45$^2y`N!2Hb zZn9b#B>)(ul-j4o)aw2BQUp}=s#sOYR=*r27c50J_qa|EdzRMgX#_N`(E#+?i8eU9 z)Ac)OQXH^pbsseV@1c#-?ijDr2Dn0tYq6lGJ(6B0XAQE}7;i-=%u&p?S$%n{03js^-Ps&UeuK z)~TX%%z1Q_HFwjTPq{qVs@;WqXv|QqO8te~kt^Rr18nmb4@RGuyGPL~;3OGEvid(N z0wy-VOaQX$yNgt(+$45eS6LusLCG_KGv>E~w;zOMK0{;ynNKYp-L@V>sySl4G91ot zTkH8+%c0N7P?l#TB0unWHUx!*o?gfNV>F!?x|Y?G6u7M0=hhg*}xLcGDads_kBz+cF6Y7sWQI&wE*vCFKA_Lq$bDkze%$fBoh8CZ%S zmyBZ7T!AYO2lqRDWH>gp=a;0I4t$A5<*8enuuFmJpO&sjXv5XSY~RC|I6R{^*BH4g zXP?75S(|KQRW2QjJ{CBbGmNFVKOA$5fY?+PP;PVlQVDkpssf1UhL(uHC4<<7R#Io8 zxgh5S%RD2`GxD;a%nKwhKq=rNUHJrh(}z0lLfybNfysS)=xHY^DZD@D#h}umua)VaW)81IqhG$oK&_=vKYbSys z)MLPQ=;0z9g+^<#g4E{-V;)=2#yqz2jif#4-6-EM$NTo9(0zB%I{9pLmrZxkU}*>y zld+_WqdjpSO-u_7EUgY!55#)iqzqwfl>&4R!S zK*9BftytZBc~4rbS)+NcFlS7XZ9OY+zj(SgcE5DivP9~GuFRl3gUf;>MX!Ms28%lp zwFzu*1u#u_y)#AE&8AT;4ystGT!W8=z=gmJaG@&UKNBu$o81|z8L0n_N!AH@A5FzG zg5L0mcBYFKk3fx=hO#u7DeMdCvUI>&ZiN_IuB~x59;G8%{nv%h18|tLH(daX78VJo zwNshEFr9`rsQjG9X)2&;LY2u$$k0wKqaXtt*fslr9=9Tmw8+$d4o!?(wZ+PXr8auS zgu`1j-@UmrI-T57g)fs}LVsMK0oGm&h!4Z2`=VBb|z~gl1fcj00^$YeTkZJ1Vy$G+=FOnTf)Yf4`J* zXs1KUC1^6Q1p0Q#wrG8;nru}}*a89U8yp41)R}0;vZzVQGSA4_G&f3aEmi-hdTln< z-C8zMjSx30X=W$TP50!Q98hp06-WXy6$4?Kny!}{?VEksXz5^{0^=)G2vpoLTjSji z1=$>(k0u2``6rQEUJJm^vtd_hE3jnh9>|nXm?1K$c^@%E76=UB;9_lCkR~xFcQ7pw zW$lI3c{FoTm3GpT$TTIzOG>fz%$yWT^XRX9paBbVh1O&Rr@0XCa=z4l0q&>yRmMJs zbtBtiUZX`&Gsg2}bc}Zot($=~&`jP@d1gONpfX02$C_5B@84-hdhmGUalDUgvlgC} z@NC5hf^fD)8=u`uuhH5DNQ<<^Uk6%@NBe26>9Z=cgDr7^yFx>J7K|dfTO1>Qk$Y$a zG|zP?5S2HxbLZBBOPtD7ax9 zShLrajfs#%H5F441v$jz_GbbeBfEHe2Q}BGg<4fy>JQ8~dxL;v+{i{x1lh2H+?RpbkhA3Mhz_frgIO=B3;J>40*>*r+Pk zMqxF*@P~aAy1G;yxZyd^o0{-cr&JX(+Ccg_G^jAhPBU>VoElWkmc2AzxV+9@eQM=^ zH_t^Hc}mc$1y$13?_7HcwePenLsCsnP z9TrgZwv=iUP6cg){?r!4yP#jK4+sa8N<$SK_AN=5M7};r@~P8hvOj%_Gt(B}xXP@G zzbZjJS@hu?H|24Rb%{{G_WJp}xhT|ma^!lT1NP|A@=SsbG?JKFsz_u58~q>H=QRL< zKz_fPw0;sPYBnr_VvGHZZ1d&!UdqI*0Eka=)OA0P90r4gT;Vmo!8asn6%#t5yVa^ znO!49%>Rd;Qj=?Inx zyQ4DmK3*$xPuq&OriI#Fq;1xB7cIaB4j5UxNYy^xN2}aOnv9FC^@e9_zPLzp-nEJ+ zRL7SCA(v@Bp7lqU@dT!s3m`7*zV>d?V$FR0hRX-2hj>xs*hlkmtY{rs9qNp%S|>-+ z8W15@Xd-_6=ls?JM#EE*S}`+jAnqMCMrE>hJB~0<%;e zVf|)vQEvhh<112|K+q$UZuBlb#J$8w0M%SI<4|GkEqL6v%E$d?ihD%4q~|J zN)0|wT}T$R#geG0of%JdQxp}En~J&+p&iqzqd>5!+JT||IP}`aIF5W-ie5u%rN)`R zgVqrD`=8xRuXe&Q>1mq7_YifYZN-ZeXRm#RP?gBW^L?#AYaZM1xnLkb?T4^vjEvYB zb`xAA{NPNz=LHRP3uSRZz7`C1j(g&*?9#?J5uRGnyZS`tc0{OR;KQMcrKH*$qgR@1 z!;7xb2-K5$CTC?z8=vubTD3zj7#=LPP=fgnf>yZI=by4fwQ0w9rI!|K3h;-p|k zN=TEwPiaD$+=(bRo^HIPo`yLHQ`Zx!EDUITu$eeX)h3KLocM`4*T<nX9jaTCy zT0dr5|NAW3Pit$K(yI9?HBFZqoPl1X`NCXhf~D+<>i5x6sPfj!v`*tfd_xsi39nnA z1^Hy%2A&6_Y(0Ai%^?@BYaI}=zFTc@gH~sBR}bU=chZ^+w_bC7y_DUwDD(Ku4pBJj z<6Wmk%}};q^}Q)nhBDp1zVM4QX#JoI7b50+Oi0He^It@%cK{YO;-ksxZ(rIB0xmSF7~= zzwZYL^6Pe5V&iaJQ~UCK?C@y-j!e0Ju1iE{<&oA@NBhtg;`Ouf+h#m5b~ff4)k(?Y zwRQSe(<0MrEVH4i57E%mIJC^NjiYRzZ$jN)rl*g1HHU zIhYvQoENsS!URgB!dyz2PA5z!z4p}sjtY_hYN}?};pI|Lq_lA%?c}@p@Ce{{HH)%w zWo9j6+AbiYUK@YHlzYAY**9kh*Y&h=G*_#H<{gR0yAv zzX++Q189K)8~!RNSVT`G2@5h7EKo21+2r$y8O$dzB?GVR+VDEpG=J%&RuvRCX#;@Z zv^F=4Ml>*=f##?0TQmt9x_TNn#Jht=9hBHs<9lfO*J!bPMkDm~m3wIeXK%a}bpzO$ z-)zymvnn%Jo)u4#Lxez!K*%~?)7ss7c00X3xEv6p2f?eRo<{CO-ZK-6BS81W$ zH)yx(<+S_857DR*a^Ki%`FlUN`b+(75Q^@gsYBJie0{omX$tD9iLy(OR(IK`+a;Qy z@`5911YLI-Qg5viu^Ux#HXhBj9UM@SB0v@(E67380FIY5;ne^R2G#4#rK^r>kJy?Q zHyA#)Oct*uD}(@Wpv8MMNSr+f1V0GD(o`tioDzZEX%0p`(KL2s0<7-SdZz zRjz3Qz=3uOeG63H6_+W`)Q4cz{fO}{*5YG@PXlncU1nr!K)(!i1A+QDK>uu9n)_$M z37u?oWEcT$yg8HXR=HIfbdcE67Na&E@h&tcjB{^mV&A4&T9L<9Ds9pvJSjd?e4|+# zJ_sn3!=l$77O3ZZ)P*NQ#GnjORpw#<2qn`;hpKK0)N7z1p_GJ@8R{sH0C@q^7gbMJ zopkGFJs~E^cJ|W{bjVr+s%>9?7)Fn@4=eF$BfY(}Dne50mspmEX(69SXl;^Fk7ZHM zgzE^fibb(w6j|!Cw$O^#pN916_-Z37<{MXw&Ka8LF;=Yq8P&EQV_!%UP!0%0dXvy0 zD2J_V?uhN-G6jG{=X5(YgD>>m1GaDvb#M^cwIb9TIZ$SpZw>XcF)uUbGV4h{vO1P@ zerMVl3NWa;EMRLI-)`fi;Ezz`9l7& zj&UDwZAgW2CT#=O+QUFv0|}n)8`VeIlPCqH7>e%vV+#1_rt-K{?IW5tUBuoO)hm$Y~EEKL%WLix!%6Dm^O0Z1c9LN zgiMplw3bfMo3>G80&oJ;3kVa`m?Y^n-u07daM+dIc6T>iqky1*f5`=mV7lnqj$T>` z#z!mudw=lp@$9)w4Hv|-UXJTW%GPMF&$+yC^@N9NzL#dHc^<26$G#p7$=)jaiWX$% zo`-6zN;7^`vm_mB(Gam4=2hcGeYq;fq7by_4U;dbh(85Kqd3!zVX z?L0R+$tYM1qa7Clr|^5{2B^{ z4ffL=@_Z7ma;;ya9(IuksOZTOK~MYqUK0-OTZ(`v*oliu*@B{1a*Oq$ss9uf6c(jR z!GeNJaBQib3}zoEQ1GJy5_P>dKp{>*U%Us}7*8&45I05I8?=~L{C4EZ{`g8B{bBV* zrEY0zYxeWBE%tSb)|5JQ2CXHhv2J66gIv}Xu*-EnZCJxb4L*;zB`@Bj4aEh}0J6Qb zfgaRluV-|F7NnUWJhqZJxZS|;SQ((xUf4woCEbh{KCFbKHLZ?YC)VOUIA2%d9u1#* zKNm)+Ym_fGs*Oe_yQ;qpw^vag5O%0nieBwo$b8Bvz(M>1q7w)cNHR#+w3Z1;7)jJL zv1C2aV>1Kw`wrV7gB~`D05A>8dSC%}EZPLSrt>OmOV6=mwY~}6b7!9VT2ETf z)4b=CX>phaM=?QKwSB1H2!lXXq9*mTQ55)KOklhq`4w0OaHx<@ASqy35H&bfr(nLW z_62S<7xMa*a|PC2q+y#zaQpa>2R8EElgE)XYE|7D5G#3s`e!$OuJ3WK%cW-nEozT! zj?D{#uaiezt&!G0bS(4N<{Pj2doIDKZ}D_;1i0O^ZazyVxHj{Rq9$fu2q?gjB`e4w zf}AtvWybk@R<+ysl2Y?fhwfAdgPNI9vsZ9)m6R||FL;?=LF_i))cCrUBw8hO^;!v` zk+&NwywQ-GJh2KG0(H_RVLUzGGtc&}I|yxru&9QY3S%16bzAgmL9dU%%~!}i>)3Fo zps<%~vAE+p)RRHqbX@JGj%~lbHJcM=HJ2#ug$bZj1vk{OziEdS2k}i4&)Bp3*K*@=y^dD3>==H-6%6F# zy6&r4d^5d#I)uJ_CcTb-9(oGZ$~LCDrfq0%qaUsqey^N^8a=X$TeNz}7*pM-f8`s# z5Oj@g&mYpEKQDY5fMYztd~SJ)!R<-)b9eQu+FEbS#0vpw5x4QORphn*VBYsR+YxvR8cU_PDRQM8T87o*%f zy|c$hT1@X+ygjr&(QVGXwG1A)G~NnLLGYlJg*??G(h;~n9Jk78nhi~m^^Jd%Q;X_M_FLxi73C=SPEWIzxMv+J45th3ctsb@+^ElF{PpKUM*` zabjE3-LHh-IAZViV(SMsKJEOttpzS%$1C+7-F)1l9km+22W?AQ*rrAEJKBgxLUr?9 zLE;t7=g|AoeEe)5r`${PkB>YX$Fs(wTu@&VH>5ViBPj-WQV^Z#-83S4s-{P)BpqsQd zp}RYuJ-fEPwsws5t!d~liVQ2m1T|2j`1AI#t8M|RCM|GqqkyI8)q&!EGs4NC2~2H? zF!9+@YvC$D`*pLbyjvJUy@egPX%1EtbKIHT6r~g_%Yw7LirN3x zXGN<23}QADG`re$nvhcJ01kDymXOi}fS?XNfsVtvZ-|cG(`19@@tV(o?Pmes3=Pk^ zxAmyjDn|$q$LQv$U=_!lfl5{Qr3wN2^{CYZ%>M+Q4e?QIPF3L&6dP~V{_^ue7s5%n zPBS)oLTY+`(QgScnj=8;ng29eT;w02`NHwOw6@9eKCNOu`nmC|XdbxzUWE&Km?nZ& z-zU)Bo2|d=s$&2Lr~o_xrjlX>R3Its@wlX)U-G+Ki=0Qc=)4q2Fxt`uuUtR0JW6S5f;FttmUGcfpf`A77=vSb&)6EvG zwub;_hoCp0m15T(v7I7ueMLdQ3(o8gLc=w$X~JYzz4~u{ql$tYQ>bke61&uUT3gvc zL%hD%X@f``AIH|VJgVuD@tLQQPcdNP=~NKh#G&30LeOhqNwsIxOOZRNQ?a@TL$BRd z0bE6l2@qSqC23l&Vl7Dlj^ejhO-RU?N(R{1146=tNlr*IsqecC<f;Yf2Xvq`ZgK`TGNu)_v}xn1-~vm$K8|Ou=B7t8EISbuF(4SyYJbbPOI(rk@~j% zp1Y~S_7(w z0!->qo7nx#8E-G@Gf6RbeV)aE>)>3vuH{++h{?ycrn}j;E@SqjsQHXYY>!_bybr36 zztB~6w%kJ#BYIaw*=397$&B$lP~+6M>M_Q;MjNNvD8mZS4zjy~(wg>3!Y2Ya_;#e- z!4|8~Va*O(>I4Yu;&uvDr#qq*bu~}Xk=h=RFmNdh#&A;UgS(|avP>GD#YTEPt?_YB zZ#{kPnJj~((1*sE+p}9V2vjdl9eI*{_A9yy^h(0!l+@1u3=!1 zkPUEyI)Fp9KbX*H(yk)*Myp6Kse-lN%(AYtf20-dy~BqDIDk6-B#c=Y{kcFFHDn%5 z?^f6iNF7`*3Sj9$Ngk6-G(j^a)14@G3wp@36uq{t2&k|+ttO-XM?aSaX!g@n}6+9;s*#_OSRnlMTOtrw+NB15AYzpG}8o12g= z1>UVR?+8LeNgqt6T3j=V^F2$IiK~uala*Zpr>c8ZHXWyL$0K;ut&Wmr*j@A|c03ZNKL_t*U z4lmHeyH-Lxf7?q7bO9P*>a=I(ANuh(#;ckm)bfoQA(aRFA)E8r1P3_G#dd8LmkSl> zV32_vaA%|f)u=2|m07BGow)uKHE_dx#Z*|{`hbN@Lt5WUH9d4c9}dDi7O4O8Tp;BH zTHoV*k<}n=DA6?1lBqL~Z&=`%K~U03795fMW!< zr7nCFK3{$waGo4*{Gd88D@zaPS7Y;}%wbr|+$O3qr8rQjI~DCq5(d6((ON>0(QKi0 zyJ*%v<7CtIg2I;zGyzm7)pV2@3n1=1v{)N8QNodBsx76C2Z^$Q8cChk*;RxvfCFU# zO8=e80-^;(b}K+xK&J7bIqKDus?}aBdxDsg#B0|H5K;iY2_N3Bs$ zEtuOW-uP(%A+M%(;38n#kdI~mXgtP&4VBk6dPPE8gvM)IW|%mqr%#DUZ_`M$;iS~G zH&WBym?i}|(ljA)G*O|t5SL=}b=81!_0t$nHfYz=yB^2CITYU1rJv~Nu!cPo#5R`k z9w}c!s@9wJoQUagSowtvsBm>?@s~Qk)6dZFMTKAW{R7V2(`VYf*A3R+k+Z_->4_z5(qwhs-ot$6QCi(-DDxojnTJ>Fe3=TOh5 z*G!O)N$+r)`Aqq6YzdX?uu7??r(d*zZ*Hr|x&(`}k81 zeE5p4enOgy(r0dg)4dw$@Oe0u+QjxQU7G=Y+V|3&Cydp6gjRi8(GYj5lW`|4{xoQe z)_%qC+^~Q9OyTnY97js{hD3U3ogGfVF6Br1r~c};YzWQ(17oNlg+vyi$*WChD}>YB z1F=6-$EhKuojFQ)?*?d~MSz3Q*r=yp+h8Zn?MTLWwOE9z;UiV4r#>uVt z^kK6DbPbNM?&uY+s?)&`6QFL$yq_v_dAR zZw0#cQ$L=LG*LMwrDH=Y6Aj<-RC()W|DZ}YzXJOGa=+Bo=T-qP^NvS?pTd2hPS!ab zguyB_blfHI%J^OMHWk)WcS1s;3@S;rs%Sz=OD9c`3F_66XbM1w0UH#YiwYut*AEiW z;bGz5(_K-vxHfmYU-k@xzzYwNAdWbdB2`g#kVC(_bA4Oi$OSQTHtGwL+x?5Lc0Rut zYVhsjxjDNN-|vV!F7-TJWG2<}aK9XJ-=vjBH(=_!)8B&@SHGiZqXhfDG^%~{bMw7M z>uC_(wR^Ofi~>tW2g1&uu_PN|@4;D)GYXTY5W ziTUjikZEv8SvrtIWC6+yVS5MbDWJ>>aFhjl@|e+?9C;zTmfr|hIDnuZb63aM-QgX$ z;IqMoi1;85v}ZySQjZC3GfcZ9(i(??QkA?g4B zAT6}eIoecpRb{@+J4CpV&;kQN8qG($nGvrF_j& zI~m*Cks1$+?cwUx#IkD-4KPd@L=}}Pa%L>GZr&KJIA$L|Ha5J|Oi?#`HPrpOY2t1h zhWn`lo4pCz;{UilzEr-O^8nzMi7-nJiI7i#n<|54JWHH8<(E;(p*wl*?+xk{8Emdd zHaF?Dq*DWFBDj@@27<1ej#J6fq;%MKTp;`rxcS25c3i*E`6F=6#o~{B@4W3q*}`34 zj-vJBINH2-Om`oy4>J0Een;T;+wa+T95r65UpfAQMeME6SzR}O^Y)ILaEz&vV}rA2 zZXe@4?a`2KZ*27GJP%b~nN54+%T~tFq!emG!^du-L;5v?P&uiqxH-Vs$6m!ScbSgn z%qkDm56cIkt%#n@N5GAN(7LzV^u7}phmJRWOm_p0p$99lQVjL!j)0L%b~xG&#crH_ zK=?2U4xn65awBw%KnE#vyT0;tSidyJCqyCwnTihWF7<34{;qZ{rv$WI{b_wLl2{{B z+TdEzf;pLD?b=ypDA#>BcD}VG{TUnTaZ*q7owmt1dJjg^yD(WWAiFxj*P27L=BP0a zZ)E?c78_XQqtUUM&R|*rIs;UOJVbkKu12!6xvAhy&=}cq3?r8EJ%Q;8{96g;2xfhx z3kZN-fO)on1VrnmcLmD#vonDLKx>Z!B^U`b_dF3>3>5dj zW;c4HC;5oF7q}8}A%oP;U~!;l3TPmaj= zeJk$X^he{K&0}0#UB=Of3zjzme+156A8-_JG)^<(@F(NQ>+&a-#k$k^>NXwkJ^P2_ zfKKp@bT>=8QI1@~iHyKveZ3 zRZW>d3jv8xNmf~vtSvPW2q1M+q>QSz(tsY7u7RhmWUWOR;M%RXo`FN%l4){D>~lbf8irezJvG_iR(%w4D&*rTW0>D_O93xKE0YbZ?zkd-@2xm5Guqrr zJhZ0n@>vxkPEZ3o^kW=DBl&xMWJw*`>Iu!yC!Fsc%;cJHyPncQ1wavn2Gr$*&H$ak zbPkhkf(2tDXfQmVKpz<3!E`(U*iPz?gVgkWF&!R%&={ogF`)j>^I+>}C8wv`@u++{ zIIgbE|Mr;jXfzzii0+jfpz%9Smc~beMV3DZ?H3MfbzPKEtAqO>Q)8L%rL$g>jeG2< zIC{9Myc}rnT8?`R4d!R%Pf)i!K&PV3KQB976K1? zw4lUBk^s_XRa3QJDom)BX`rAfIilji1hg9PluQVhcI^4{gNvLGi;Hj>=Pf!W>jaTM z88_6AC%9R<%eYO2AHq?@(U6Y+U|eK^-@W~w#F3SxjoF5K;vIxwt@jLV#LsvyKJ#ad zad#9%()p28X$*7ki%*fb`w_1I3P1%!jFi+BK8wqzC^%RSH6uNdMd^%5V$vl7DkT)o zuCe7dlnF}uAsqdX2zi7Nx_@jgE-22BpQ1t)WPujIHlKTtn(eJ*bW28XoW z2)c%IUJ>akHpZ4S2rFqX-rzn6d>92s3rcwmYz7Q90ePnY@>f^r&HyHo{MNz)Q3l(V zf&f!!v|PAf81jrfY0L>dnTGFSQ4?KSd;r~u>&hPo>oCDK>(?IV7L+!yJWcA$IM#sy zKXQsJ5^~lZ!7L`v8rdI|g}Ep7=hj_527wdH^9kT2K}|Wyr>mRS&wLQIEEl=$&drgh z9LBP38FJ(l@H{kf@2U3rQj$)f$JCddrrjZN=!9D+p;D4} zl8sA=k0hdsF1jkj1iY-ZRBb_CsfLlnSC|g<%$e_$T4Kl*9uj z_TdA#4Wqn=Rt7%I3_r%!*+d&Vci~vy@kqJ>#~p5L(NKpjR>us7?||d*G4v(LYtn8-amXG1;@epjf+v5;Noq4KZonq+tCZF&vOsw z?+Wkj_3TD)G~8)q#^8;~P>+lG#X|2l<~5c+mU)|wyJ5iNl`bMS(~2o^e4uL}y0P3A zgpTB}$);(}qU4|irUjHvptOS00%TEYAnB2XDFZp%5#6HXAYt-DHMN|99R)eSzB$lA ztY%E-84eBlOn{?JzPQx0e=M|e_Vn<4`TG10$j&F~uvys4j%cHX&}fv<>N&;5XWt19 zP(M?sfD`E$xEW`S(_91)-T;4q!?>|_j&X_%8V>z)XbYTP$RB(4lk7S8Xi;!MFF^oV9g9MlLlZ44BG`H36>`+kLurMvBSaY!&}q{+?5=$?l;Y3 zf5&h`{mJOK$Ia6HQMfkh_vEoBaI^P5ljo7`7iEZh({*xa8ym6xn*1YBuf_f%DDH{(P3s2L|E$01G*}An|=h{uGa$u2!JuU_)#5p1`vGU)dyj83l zIdR+MqhP&3K&(0e6D5b-v63Y;83C}_THfOpt?vL_rXQzU@~KE#H^|#J;b5+p4?G)j zRvv3ies*LSK1f_M#mR)%-Z5IH~IR=wpF zp0RNmeD|XgBbj(-k_3g$VH?+sX6dH&=uCP9Cjz2Ldj$BAd82?XxMnFgiY=j~txYyo z2akg^13x88Hky&L)MR^w6`W$-09Ra~wyGs-Qxk&;j58{~X?w34Kcyg13woD4=(OMy zt&n(0#yyIEtfUgaG+Knb4t12>sJ(F6sjO% zjk}?rPPME`6KaZOkw7Gdoh<0ha!=+=nd;SLhQfI{Q}>=bf&I_ZV5i4yHr@g)#~ash zt#&*pJ%R*qBd&W1o}0@JI$6&D^!KM^_8uABo$z549Ob~qo>@#dTzHS~-i0)qz>}SG z_>h?gnrxKaWNFnHN1VTRTc{SKujMyac;I*iM<=jfhISOyfYZlG7s34?r>%m+jtzt^ zIP{)|3>5_ja*nUOxBrn6kvlPWh}0&_1Yw5o|2cjdI@j4L=?BOMu4o6Seu zCU6k7d`GLKdvM!4-9XTNglJi?h?1yeRSSlWv$+_h+mfoo1-f zIcxthS9Ke-Id27Fgw?ebb9% z)sET)-bZU1(ZxsZqnY`bA^?wK4FkpB>pfTSOH@3?Lr@NuEbTPlFVkVZ4 z+u)|q9zbuw!J9g1z)*4{>FxtakWnU4cvSt^b@7jAwhI;%${@(Hg-@656kcV4t5KU?HQE(xFL*EgChMunC?7HR2ZINin!_06O zZo*Hdv~w#i5YAKibV7$7+Z>ANy)@3;)6ChQk==c0e*}}H@X9kxc;7OyR~dd-8_>{R!QO?L1fViiIY*8UCEJx#YVID&<`6vgd0_hISVe`NhoX* zGdEd^nw<0;P$!=qkemFC2OV~o}?ic=-(}zK!U#tW&IxlRAAW(+ClU+cLa&q@*?$gqc&i2_Tk<1Bi) zYfZ=mn!S8)2N!6b$ftkOViUpV%Vs+#JAl6Xq?U`UpUR|1zp9|jq68xViAdshkSR!- zf&*;U9Ns)2mZNAFu1IPEUAy3Q#+SKo-tOXdT&VutxZ|XhKL*}!dHXr^m~tL#PxxNj zZq{zj8z$?OXK>T?&jp-KuubjE=u?jq25!Q|a7y<++rQsFR+=97IGEJ3rJ9*UvnS=W zsj})EtA7b@ahG%=szJ#ivN3}zi*-k3vDEP6yGyGpHzh~!`qu)Rn#>IbC|O*qX5HLe z%kg~E4Rt>PlB<{k&nV9Fj%qpe(~fN`I2`89nvKz#tHX)z?9J{Zn`bKmj_ZhUWG z+HE<4hj3Q2D3*8WW{x?O0O9?}b zs8#jsN)B;Xsa4`|B<0kMHaBFpFw*89Zgw2Dd)AcCo!60m-;3iXa32N2669UN(H1$! z+WuLd?+g0cQTV%s8UByJbv$syN2WaR?Mpb}=cBZGPkyn$Jo!9tL%v6UGroO^m&>?K zkYl)Yo;6K#BH0kIWq>UVRJdVQ<%TLYYLz%jrqCd+8rw*DYIM&8`#n;AP9%$8E2_=7 zO?G;(K-=<#g$mOhI1cN%d!LQCu5|6f-N1ODS|z8exFOHl3f_^wk-k%<f68?}_j1O2+NIEjEWLLCD2cP0POf zEWz}|FMHt%a2AHm6{QvwUO}}WCm<);F$CA9aV0__#uWMnm^ zwy>sd<>AGT{&$VZZ4X(pwxjO*QLyg!_T+}^$$F2*Y5yn3MdS@7xsqsZ8a&eeZSXxN z&NzI>^0;z~H%%mM&;7Gb^+TYRPWHM3XFOtm^|UWSZht7%9XU}kAsNph_(C_15Z|>M z_}GkZS7xAuC94Wl#=Tl!wbt(BReyz8(Nq^q$zRx1A8_HV1r&|~UF2TQ++i)p=I>p!)hV+9Ju?-)42epl0@041VCK)2#mxP8ATMqoB;+Z5h^8|DPc_+ zg$T3|a>}550+7IRVyx7)0;w{nGN=}CIZK?5dIli;mypH9hzXg2Tq{yNgIG^>frPwk zEx(OzWTbHmE?%*cZ3wS)Gp=vR_bU`eNPLbfI}@F*NSomQBq|xl+Vhh05Om&urOh%@)2IjNQqtHoLQ8}i&`nWB`bpH!9d~! z!h)tAXi`0s$O1C29vfER5O7(oUxmb)7&*516F1Y?_V_m%YC?d>91>T~Khydg4OEkDW{pbkpX6q5GXX zwbMRK*+5ZXHiC2!UWv!uA1XvUOO4uyJ(!;WJ3XGLS9=HJSKY`#c1P5?90N#1xFG@ zKS{-Iw{fp?NT2Rbob!skMj8g5vARCFDK?~2Z(bB!1)W(VZ;p1%o{GD6lVnY(;PB1N zC?;fi27PT>dhU>$CekvPy2R2oC2;HY4US?aJ=Zk;WPIPP_=b5P7S8xL$1N7)p*G;2 z79V)Rv+vA-ET4qRgtZXfK*%W}=cHv^)v`hq6aY}GSjMe6w6g+e~u_4h$$zLVc(=sOq>W5zB&+s@bG>P zoRsWPQc-?(Kp&fYc2xID$t-pghd~z;+=0`<=<(2=%#V~ov{~wi8ed6qEeQ*!BLJuc zC@UC1LPpAq%br{bwJ>U7EKJDCKSjZjkX5;yswy^M%8iPJokBe#hYdu6C^!~Qar$b9 z0f-5vhy*Mac?YtCgMga+3Hgp)Z+!heoYEb1qn+IV03ZNKL_t(nmz~4gZpL-jJd;S} zH~W>XmGt)>y+-C@X@cO@HkR3O-TOK*>;3iUCHOE3jv07A1SjcUtklliblR{2=vEaw zIKGn3(-_G|8xQny@*X4Oc6*eKC?@J~Jfz#cgu)^yYWFtuJSo@Ie>~P{Oox`|6lc%% z#r8qn+x^=l69i9R2$(5zMdkv6Y!4Q$5O|UG!pMzkDx*hu?g)%$KFei5vP|?>mF|qM>`YRJQs1z{bTIw?Z}dQ`3rPc>RApL{j^r~u*tM-hh}=M+OB9c|OyitE~aZ{CXaxQHWXeMg9@ zJ%yNJj1l{0oQzxY{{1|B$2_7%o2e6G&3b?3*uR8Xqj@=fyw7nxjkS`==%}8am3CV| zHhWg+JN6|ZIS=ZgA9D}GC^_8;{YC*n_xB)5cTw;rreJ-c9Fx_GBk5^YSb&s4X+cVh zT7MMbf0ZN;5RwYd7N>)a$FjYT8qZ{LS+SO?Mo|pmGraGFa5FA0N~z6}_P|Xzzen2V z?-Y2$k>6c@d$i0PHdz>$ZWy>r)sf{1u$yl$EV6&I=d*Ql9WS1RAXy#4R<^;Kp90S& z3ZdOf>P{TMw)u1^9p8qF63$TI?*!NLCt`JTufD7dP*ky^iW-xsL=NM!`XQJL5(jfp}wwyC6UM=Xt00 z=*^UBxIxzKaLg*;gmR32^P9<<{n;jzn&wyovTb4w^y2?5xORtHn`pN2Si&~Q8li7w zeZL%@8;W@oF0MnucU%P7u!?an+Q|xbeo7Gq2ix&g1xsQSBIE>666+3vDnX!14?FLh z3u;|aidub?6;xJvE0G4Pp6smhq>_*Y0uK%6v=LK}7aRZ4%eZKlK~`3C;fW2r!D*RC z9N8Tc)1u9cL`8rO{UDHKVPqC_b>I??efd zEPh8ETVsBga8Y2rOjEbvT!itMASRG-=r6~0PqPac00sVaYdQAYYL1Ked!ME7kzk;i zG8S5p3CK)HwIbDmRKx|4YC!=3l!R}%MUQ?cfhZ%TjFg~CX&1X83Lo;cpaj-{&lOoy zn%T4RR)UO^WaENh%7iE+JmB3#ecLh{8CjD__daJ3(r}ts)*((l{OMo~TI3W!(KK(qznLX>RjhKYN(U#e(#c zD4SRn{(J;qID+=9Pum=4M;^EWk8!t>!ef?DxIYy8HeBmpbCc@&JSL}B`VnV$8bl>V z|1Ccvw;Lz19*%N#`=j6kDLC}VBLGd_r?zwAi_kV1`I;@Bu-(lGGc)q*y+=Wx$@Art`wch(~< zpu2k5Vn_$O{qqR^kQf{qE)=H7$ceEKkg}xlv%9H4qV=mKN0sQ&rLHLTj8e`>wIJ7` zZKWo#i9ktvHxkKat)RUSlnPyt9)lo#xH8Gp-G*yytXW7j9a<|`GrcCn1+No-#8I5O zY-uLxq6vSyujQkVU)Lb*9j%-;?)vs4txdymXk!Y+43kuR@1r;(SyYoowjADjFOF;L ztk+idCzW1jz2R9@nkP4N|35BFM3@AS7fE^q#v_%ClxQ!pJHz zo8K{YMHdzl_>eN)j`YUM3pfjeIxaNt&d*x&qSE%Az&n*#ZPpvhH&rQ2s?hg^D!#h; zFDC3W7{~C=E6^))$9w&SPhHHLd-6`H>roakWO*J2(soBGIgTyg!4Ry%-w)V$khvsf z;j|Q#8=UMkKq!w)KqZxL;)#Mm$uZ1E;cYP2@T%4#X6ZZ{z1TJ+>AOYdwt%GvRGn}+ z48g6LAj+B4ctbZBCtZI9cT98&lPjZK7k^J+_oYDwao5Yee0VzzyyKyH4}2H}2l(u3 ziMIBpeH@wyJq||y!vAv2glEria-%I;Xux%E zdJyOIWD|)iF2X`_57(J`PH@gJVtsDI8GRIHNGL^nht;KPQMl1)Yovzrml!=Jq%?BL zKEIoB+`m(rH9F{Bz`^R$a9n{>%aAU<_gQt!)mF?yUD| z?E7~H$3<1ZR!DvlrVcNRW`TNhKJvG74UO;MG5ti~pFuY%?Z5dl#`0o#?1!g8H-ap- zMYm{r5J=kn7_QaJ#zEkC4h|$h`c6Fh8ED}pD;Oj$0Hi=$zkz`8S`b#sD9ETOiN$QN zx;dweGbOwc;hYF(N~v=&g(b4t)}331JMg| zDp)e(#QLd>rB=LDi6VUhA+zL243uht53L-1pLWJB!4=7kP{x+^&S_k`DNt_2Xke-Z_8Fo3+O>`jvXnLzTmagqR)QY$h~_(Quh}SUFu{@O7G#0i8x`#=mN`6p z1CAMbWSXYAMR9QfmnfRuPl|X4jsZEdp8I~EjpJT{5Ylz7BCM_gSwj<#9PI(z#%ct2 zC^-6O#j>QLR3nh*%Qv6kAIy&kDJ3Kdft^{>nV~B<`l^%t_jFs1aNrV?yRV0Vbhj?E zxT7GET5O!Ll%U|yw*)M@FRuH7!_~u@cK6 zv8v<%Ao#UZ2^7ulgWg?|AcU&ejkA1FJY+?J{T9DeD$tvsl?+b?r z+yuAL!>!QE81DmQ!7Cy6#U)S<)2@I7gvNqG8K5llP)aDPbp1+M6d52_av&v~Q|c5P zZvcdSGzir&5eac`N0-jLtRfQuK*VhKAK5G;StL<7f@YWRB1?*X_pzg!&3r- z93_^p4()f)gCB1s7#M|9m?oLQLhg=n)5mKJ7+PN3A`@N7s{B zR!bEXe0D!=azV(gHL1}?OYb-y%NcO=0M6cQTZ1&F8*%z)g4;x_e^9vrXrHoJnKUbhKDXhB;u2|0dmpX|y^)sL zafBo$yc}`;c$wka?>^n#IFeGDOXhv~g)v2Lt-Ni$530# zOzvw1S9a?ShBS{wP->PO?Ni*8nl_(IqI^ymXM4TcGL;#l*}?Jj_PvzSXWNAP17^&3 z4c6y})$@vs!MDDv6VOIA>!9-B;E%t-Z*kK_jq#jOY#Cz2Odfo`?O4ygAez_XL2yI< zBNlNS+Q$?f9bbJUPwu$b)4(Ply(4g$x1wsW>I$)XE0DmR#rSrT7)PS@WvnFD8D|1k zA{2GaEtF75tUf9=%a6`2&}B~V{bpC}6d z3-&#zIws;_&9I1+cO?q6Qi@nAbdgfVBU{1N}E zWih{NgJ=TFEkEihCX^*YE1#E$8qV9)N9V+KK_Q?8`Is0W9vJk3!ao?bfK9ovgKJKIgWJe zXh_(W;~w1gcDarVp0;dbW{&I15)_9t;K&$V*B|sSZeqt5>TnB=8irCRr+ku`J!g{p zDFL(qNl#6&cs9Yh!aq!6#bLiqkS2}2p#rw;KbsgG<8#}y=20#RgnpqLRPka=omnHuMy9)~e)%xi+5{l-pyT^^>u+xWK-qLOFKWt>$H zhd3Pt6Zf4;VoS9ba2(>;Jpybax5~Gd$>!1nTIMhl4mvKcqreuo)*T>JmXiR_VCApE zsFV2xt1@Dxib9M+j7kuNMry8tOj-H&0+7T#w+x`YP|<} z>Oq((81Dq1*-TvO@;@Z=V}JmH$@G|rU6%^W;fh=o88^e_H5)|h!@m>wkO~gRUF--M zi1Rx-LETA}o7A=lF^xSTOvpjeLK{*-r)6>FhAtJ%9RI3@k#=d3^c4q>JNc$-ZGT&C z2EgK-xrjCL?&0k7DZ(6Dh$DW0JR;7#iGM}TQ&5ZD>+=jQ7ceZ;Cu!u z0pfNj-%Q|?MUaPCKXl^sylz*12d|S0>Gp8|nk5G7V#5>z*7?4eVzepAXokJ*_i*vq zM&K84PH;iNVJ7=z)1gk%K0(?tCMb@`ESbVP49A!V(QRRNFHTN)m<1V)lH%>Sf(q1% z%ALv2d``LnC&3vd$S7|VKlZ@wxazy7L3Lg!$xAWfHaTM^+;H*_lMajO$ zn%W;AW&JFmltGjccVk5WZ>>}TwccoNb?dKA*#R)Ak$n}G9HvSzSjBHbX0=Y^&?0&r zjh^ns8S8ln7vRYG_kDwnk!M#54P>n}@axG!XNDUWr^l75&vmS?sp)6$li=g~6!Gk) zkrXNNbq+)sc}Dj@z>WN{$2G6Pk;mPGYnp%Al(Kh?^UJ-!$9D3r?f;($3=eW|T~PpW z?Lz@`0_!P(CJ!<(n8e*=wTN{Da3XM$prlL*AW?1*tpF_`WH8hf1#o-1M1Y(^Xk$}w z#04(bf^BefhJD+!Lii!>1_O0P zV`QO?5rn2ls++W-J0s42#q!!hF7CR_aQdJ{*xuBg?S5C-?zP)866A=qO(nZ`-h&f^ zhOv!j1M51DIf0TKujvecV=b=Z|+ z0gQxF?M_cexEE*d8YP4cjJOMFC~Nx-w7}!Vwr;Kc`b9%^UDz#U`~EmDou3o~P-P?* z_dVg$sqsh1&S4?o4Ds_m6JZ@(Pejh3ggkL8R5=*QN|Dd&M z$KTMm^c=_jj(Ix0zj>Bjwiusn?m=;!Ol>T8`r;9|C$DR1Z^>)BD7D!r*+#^(K(<{G z3Y0NQp5mNP-2Kf-zqMI zsaaFViB%ehg$o!fWG9f3QivtR1gaz_tyBWlgj5p1S$VTqQzl5tOi}{x>rPv`-=q=v zD2juRQckRO?24V1N9ds4`;(dGLEw;M8#Y5(W~LO}mUcsC=oStSl<4B4Hs3q}5*hxv zOzg-fVghr9?GX}EoSq@p{_6e5a$J=#QbJ)M7uk_csw80$Qp#A8sx;_?h2%OTBUb_y zodh!Bv}7#ESXjT6m6Od9ZaOXI)0H5aYG0rR4tWF4WemHxra}cp#g7va-4^E)^ZWY0o9-K5+?3}dDBpq2q`7xELInDf#*J)STxjO@|+1A zx8a%sW|X$>D<7+nUTamF=Rgl5+=e3nDJP_q!}xu?uHK_lDLqV+bPd-COcwmlo1@0} zw4Kpe8E?lCsbHA$(|G}q*c4n)Y8}$jEYqRzGi1axj?m2yR$FWIeD@l^Z#!wnrprvECpKiVY454iQij+lUIkdB`_6HaPSJCfYcI}5{dO72(IKP2~-kN$)K9yaW+&s&j4~IWCp0p zC?ihZ-5x-in{|k}ct6Yj_z)MBF0zPPf{)VZpABK2SLIQ|&(?+P{B3{D$P*cjuw`ix z*Y3=gdLKn`@KMT%Tuu}0B{Le^g}-qB395EdA)t3cn@v*vyGG61H2;T3vn_nl*FDTT zcLB|QKCj^L{^5kgNf{-96NnciJ|W`; z3tmLajRmzPtY_d2Re~!ap+b(=D#%FsubqUE+-gHaaTlLji*#*$eKE1$2X`z)LVud_ zrA>cha!D+I`-mYt(k1~GBr4)uV7X8mJiZOb;tSs7cu zMqz=_e}!keYWHQXs1x4zcz*zqY@f+TdzFFYE-JG$TZP1)Xy(g%il*AJ3=uc$uWf%n z8-t@Cvu3dd+4a-KA2CbJZ=LrF$q|I-l<`Ij&M9Nf86{`bC8K6Nx-eB$oLKDt6~rsR zXHb0u@fpOcoOV_z~P73f_gg_4j*#jokYT&@qZh z0B&XI?nlGiv**G)D}nK*`3`WL|Hzf0u4He1#=X3#bUd8{d4t(4mCIy1^?44A8{9y- zbQ#xJD51sNvc9kU>nSwSa2{>bJ&U zQ8kc0#HgbHsU$2VV<`)ASwMC1XelDo6eMKiT2-kc)7bVSSB7ZDQPAcijzJLYo(0UwH2C?oG5xz*pWy@rrJH<|4RuQp~Z)18!)5 zI`_%8MJS`Pe2A+v+FVzpx`KEC@B-imP(6XM0P6{l^kdR zMpJ^g&cFiUJ-I;Kkq@6$aM0}LpA9}$Y!~Sd!=ZJIZle8MDfBs&_9qGl*1GBkdmgVwqUKCpsgzR139;jIg}CmCv+Pg;Ic1;koXh8XVm(Jb4~bK7+;w2^(EmoiGrihf1430+Un&X6Yz!w>Arewp3WD(_Msj(maNH; z+n`EOuq>ruEd});1&8>e5-1(B$gH)XmeJ+qL0}-~gq$)cC07)+`&W8pxZexy2S}5) zZ~#1bUhGG|oZxoh&~3f8fZ)C)@rAeJSon|A-b|T3;AToFqm7gj@Iu1MwTc2?+~;1!fJUHgy^UL}EPf$B+^H8RANsJ3ql9Hj~lm)XVl#R7oHK{+Pg zA5i-%%blwb6&lTY<0$?YvLQ5~HhyEco|Ld#L~az8x0d0V`rNiI{`SNh{z&*R3J&@o z+XV>qe`Yu4dD;CZCt?EBq+jz=0ke;@bdA_1N}5}DlxL9#<9j{p%VJjFT+^BDLiz{6 zgXj=8nuBg`Zj-9`fs>!iLCh*Kn^Ht#KEJI6zptG4`nbL~-s(P;-ld+%1+*uv zMEFLcNdDV;#;@xcpU*4Kb=3vu8C<`C*Dt8&-%wwFMXg^^%Qq2@vmHAt{D??gQySkl z9uu8{o>Xw$JZIkq?^(eiB=|h9Ao!86001BWNklfuP`#&*GfQ}@i?AI7bZ-C5#s z{+^16y@F%QUnaBUz6QF>*W7ZRf^O$G3R2GsyQ=tkE*G>qOZa%WlIR#E+p+Mz6fT`o zY?UCRTvu>eL8ZuMUOfSnQ7eH80bdLFTLFLj1@!hC^7;kK`ifIIizUZvM*g}2zrUgW z@{0OaK;;co&Jblrf%qe8KbcVH`l&!)l$wG=Ell8|)$?t61nrT1A1Y^TH!+^gu6;)> z$)iBs*Tr|f$I0pm_&^Gd$s!w=PYBm0iP4$zCKxC@V!aFpQ@HR2FMmeEr#wsUO?jwGgWudfBazrEt~uZ(Y> z32$#1Z|ezf_=JQEN+*0h{eagW|BAPN_)owO-$17m@bV2f7vNlE$IvGAB>`EaommjI zS$u&#QD79b9)_mG2UQXHWlk|ILku|DUtffYAhY-EzTDQ{=k?r4+*BdqovzrjpH0#v zO5QI=0EfRvz+nqk&0?M1n<<;FD4<&Ky{XjxF!+(yxXdc9T8RY($FYm9t%BiknEC6E z^x0Q3zPrB`9#Bg~sRhTt5erPxfS`mz3s#&^X%U?R5th2(loA%o;99^`P|||3{D882 zLRn6z%L~4t;wzu=xfc9dR{T;{{9Y>FDuZ(Z;|*NDp{`%RZ@;0w{(`!GK`o!94tWvR z9cs!=`LHWESX~({!66iLfGM<#%XJAG9>vd&cV;t=eewq$R%k65FJh z&*R%&gz0=5Q@Q2H5v?e46`QNT0Sb=e%4f=q3T9Pu9I%W22(4TOK78GJ1h^zj1*|8e zpsYZx;*MQkAQl{QS|GmGpy2o$^7;jN{f5)}hFmL_w~X{{1^xC0{^b??TEOdB@(le$ zu7u*yh13QTM=K6faAAanz0w-Ywrv;o&c*PmN zyuRXJUtjRcmxSNGBz*l0yq*(QenCFHpq_pN{q?Un{nvlQPyg#b;!}A8zI_E=zk$yM zRTUg^Y63}7GKD@16|=?oUYkYGc4w~OdVoe-wdpL!%fNgKVGAk!man$3x|pZ7^~fWq z&+Q4v94@%M`({RJio)2aD)3U0Qyh-ALO2Qz69i3mP}Azzc6;Ohay`t-;@AaOq%8ou zLMHWp=J%o08k8pQ5oki6-mYUEy&|DbI&QdDlu}U2Q3{S@`d6$r5(*ZqbV9)iIgu(j z&REJfEaeqk3b+*1w4g3Ope~54-yZFZk0tS8#j}3#X$%6xnHa zIvwGf@^(Il$sfKcU7vEV{d##$aaYFWEpx_9teU476&&&2rDreX>>D4)C^%Tnc8^nV zT<-fv;Am^YXQB0^hP>yB$_2GZAW=TO0ObWh1`2^!Lj77%zcKjR-#~A_fzF?i*Kb(X zGjgrSZyD*!ino9LjKBSV3HfEkY5g6!d{$mqeM%F(1)FvcEy!Ayk1%d6qzU!!Nx=aa zopp+ir+HSBwI7FJoLbwCYoEQxMg+}pvwWf)d7=D+xcN~O2Op)J_}BmYf1s_(b;)nq zL-$DwQcl;;@kdk_j7FR|NM5sKfRssFY71#QhvbiZzp_v1y*{&^70p){_+p_@xT0M{7?Vef5(6M zzy5dpm@3lx2CQfBTET0T$vjD5J3Gn{QHvd+Qyz5`H-L1mM72I3hD4+j`yDJeI;LyF z7-L(w0k`L(GS+*#Gd?Oe#&S&_>0qMNh`3|SWVdjXU`{yJf@2;?l(+hgOTyTA?|UdY zFrQO*5qpWb2HHIao;?=3Wn?^y+c+QSb@xFZhC$&`g%=zaF!zE2=^m(*QIWCIf-^+H zu_VGm37OAW$}6%eI8at_I)RrTz{@9a&fuK!Wqrl(-#+8lZ=aFB{092+JHGw;3;ykw zUr@h(2ICB7LM>lV&cC6&olxHXhVu3+2n_Bivd3?dhCi2vz`R%-rpz!`PVR5-$^D@up_o07ApJ4U zX~%*th}gm;&~Pup4Z?up+Q!Ey4^x-!I*$7fg*Y5fE)b7w(xctg4gvPw1u-K*;z5-v zG0ABCgj8O@oKXv*oC)5myC=%IdNTlH+MX)lYzXbot=Rk%Q!xW)HsY+i^vB z8;<+A3Rmo?DEG@y^+1^5$^$-}YYf&fvo+IDYwm{#CEo z7wC-uSgmgcErBiMoh?kBy^5pBdxHW&EjZ-FkET?R9g&hC^$^XVebgq_?vJ_{=|-RMN3FG!&$3zIAhifJ$6vbP6>pp793g5 z)uwiqwpepikSaJbt;n>Zu+}w z_~d@PpvyG+EL@W^uicM3MBlqCkAPVZjC6TRz2u^&|D);};fekgkyhevtlShFr<8C? zqTop76{)-dr2w@6=>+5-faMdAMd|S6?F)YU{2PAw{43~h|AzY8zu}k6Sib!(Cet{} zg1CGIub)xh7Sz{Yz^}i6QIHaW6Z<^LE^f=NB7;#Afpd~?h{g0XAnt=WtUo+{$RW8M z3sTMF6cUnOMXi(h@gb1;H>J6PV~UH4gd3o-MfSd*DmnamYgyJ0wNSQMnWFn=c(7Y6 zJ>3@~V~Uu;!m1|sdpYI?oGCaSd3Kr~>*8!jrh25>2aYxC??Xtr%k#Mz$znAX0a3S!SP+tlBO5oQo!1*_%^B3gx6}g;|&xD){=lggXuWxwe zFL*hB!Kr+O9p_CDckM)k#Ek4+MgS){S&J7Cl8YCWS1_*tRKcM^p}j4_GUFDUSyV@y zts%T^={nB9PTuOEEx)=yFluE0B!Yx2>>E`Z z&J{3ZVq8#MKwMr@5S0uUNm(q$xQo|RVM>qG-oyIrj%7xhB5V|gwzG7~+*s@33#WlY zMNz~=1gooIO^;&!%ESav0;;*F$Q_I9Z#4r|5Q?4we#Tldaz3G?6Mn3p@DpBePCsGI zKjD>r!cr5M)$BSgD9a1@ho3-y`3IDRv6ffSIQuCsR_%(!Cs18srh&JZyx$^jQfAL&^6a!A!|Y-5OZeS_pI)fML{Qw|d@{KrcueZID^&On z>p`N?WYWBX*gmu=iqv;%iNKqSIqbIebHKA#U(Nqgg6GG^eeb&$f}nPlX8n==V)u8; z;*l0Gb{(I$>nQY%xV|(5IWHvvbV8y}08U7DkI!=QNquXIT3UeoNfaF-ap6=x;itd; zi1PJE{E{o^?K4US&L}wZ8z>V#y)5|g6Y%3p#ZNC)PN+deLPbhIN(|xx;-W!LS#`u> z-d+-+BtlK(@$R1GsxhX_taawYXii@eKI9th4Y^!MKDC&80+@L?jq3KY#AnR4n=iKC zec&?t)MA4+W$WVL#Ibn8sxr1~XTifwZfR-T@B4O?=|Y|2=sX5YSraYB+IyNTd@HWW z%wxJ(_Mx%4$+M%7a65h72fMB+dvedt-1R-&Q>L_YNgj&@LTg20Q8Xl5TO^SWQeqGa zpn;)F&RCX=mzRuhFN_}-#!IgFlz7bUZ~?J7?BXd?3Qs8#ptd&f?%c-~5YGq!OF*9k(i z;d~da$+!Kjt(>@-gC?x6$;*8C^?NcRPcJ_Nd>94C&-G`7F4OPEaNC?Q_RMH9-f-kW zSN53oKF$V}FaZ^?lz?2(5E;F`iUwSlj+6u$&HBSN-GrnXQV=@jh}&xT&OLODRDEys zWo4Iyy=I1oDj2|y+bCtgA^)AW8lTnQQQ2Z`O5hgI(;I={XH2PKTx)ZJC^tmGk+2{m zk9K^!Ho=G{ovhTb*me&L0(E$_8!Ghaf9WTPAg~11~ z%sDcSiIDntko2DbQE+5{UXao!r1T;#gq6jbjnDdRygvgZ(fgs}eL=xbSb^7{@agS$ z;Madf&4d*zR(=EJ1uvg~A3gy;yfA(|Raaajs>n%>f<--p%NdCnNpY^=Ai|n}^-v2A z#%y6b6A*!U|8?T>9^0ASq#b-H-_}LqL9hi(G6ly_hp9Ye_<7nW;~!E)rLR4?+Zt@M zP}!w}$>MiY-u(*1g}}CbqGCt+^@La^Gn3OxhXJdIo+8bA2P02Ay=gN#r zxR@smxaWD`(OmSGhdE0rNC?~jnwQLzGIAwS)p#kk*y2{8T>X}u#i_i zA72%d@8R}n2-}MP@1K`b9Pz*B0)# ztlZ`}^DV0odaR}x@EvPQXSnE6vV-%18XQ9yAWAJ@8N-z$omEF0?eKHo*{oPn6VeF1 zV&#sJ*enEEd&b__ev!Y|7Otb2qaK;vw>Kvcn{p$CG7!L~;7G_|^$R30FL+4{Ug(5R zbiyaR;1j*zL?>hvJ>^PvCpl$sUQl0NP;$YU7p#?m(+PBX(cP^A)Qrpp8AY|`^^hZ` zj$jwI;I&}Z=7$a->@qjnzX@l*wNoGB_Z)hQgBZix=kA893XX}w;DQ3<=wo7=+)LZV zh$$*&>Ft>zk9g9-QL!YB7TgZc^PNK1w@2mo?qW2Ma#RtLDg6MV6HqItROBk=?^&6T zu#5y?k!N&lQp!MHkd^}ebVA95l`2*$C|JQ%kWxiX1xs47q!majkk7~{$eEF-g820@+7OGfCj{MF<$ht*%Lc$AIe5x;asVhzz8_E z=7dyFpn3u!BT?&T>FWZpDLHx(Ggkc?PBwT+t>taOq^-+ie_YDXdPmn347ieGkbT=b zZotLc-2c7{XJgej4-Qx-Fc6iER_ti)UKB_~mE5C9@%7J*(YI1-+<;IO`V7y|!c0t(m=sp3p18lVS(q`QmTddNdzQfoQZL!iZ`lQsiL4l z{uVJ|X0Zq%egp6d;x`bjYAII%yaIT0aaoA1fLIh9i2>Gmu@3dPMQj$}O)}ps2pzP= zk^Ya!84ezw%XV8uhUgcG6mStQ&&#`+no^?0^+K2KCY(zPTPZu*pl#e)5tC2w+}Ghz z90zgQ%Nk;qIX;#zc0pI>R*$ibpDA-!me4Q$R(Dq(`Vo^h9m>410=|eF>&j@O(v%$A z-ntjpSrrcH%#XkK{NCbxWSDg>r2!Y7e}=yQOx#GLa&cv>&GU=tTE1eD64 z4a=k_0X?R5@A#j zZ__mtJEMzcTP~Z0Lehh{PPm!ju!FNQvkf{^%Lp^HqBi3x)ev*?pgW@UXug1nGcpPo zgj!U=p-PUWCM=wgIU#dJif%bDC5Q0dH4#>j2g$3aBU8W)wK;J2NOaJg9Iba@}Z$U0^Vgi@Xhsy|a2#daMz#-&_zMho9ST&;{b-G$>P zaLyl$*Kxo-P?iDF;i$F7t@(vN9|k^*f}`a9dn6-o=N{&La)d9d$wEL!hI8@hL0sJB zp*9@Zhr9gh1r}uh!iNya)numFWcT81DzzI{=38-g!6ZV8xb|?Ug)mQX31JX3Qk4lz zglY~}EZXuck)<;jnHdW+PN+Dsd={?$d#UoL)U}n9HnPFSj)}3G-=alUJK2;@@je$1%cW zQ(VHu4!Z+5zT=Sm+TVX4aNGpX{hxOOKFg2>`6PgN1z3dSf)xn`3{fnIlGXMGWj0Ex z&0GOjew6N77lq+N>Ux5(NUOFJXtM(`z*Tk#sfmIF3%UpNebnZZ9ygzPQ!K%a*6^L0V-BVvHXM8r|;yAb$2M*(ijMixS zj@fugCXb=XwPf|gg|QZtS8)=wlgB- zAZLP?aQage8_Fz=0UPrXVJ^9XBUMHsLarI#CRcx4o zqk<&<1;jnDz*H4LR;FAC{;6OTmXC_xU=-OYG;?~rt`L_(OPQz%dQ4TH0S3`+!rw-z z({N)Swm1Wl+7?rhm-M)P*K~#xK5wSSrW|qZz~-qQtVg*0Zi^rLt4kSI@JCAzsG9_~ zI9$M4?v6vl!Eg*w?z1oce6i)fTbW7ovsR<{?2R}d5e$r{{Ny0A+Rn#O(j;gYEA+hmcEit7maxg8(v`9|c`C|2fU`ZzLlh{ZVsp>|g^6094 zWt*5xk6Un%5}%K4lZ)bY#O*?I;_KwnK(O=#&Rj~m8ArS37F^qmZe!Ri-M8sx&(3iK z`1)}mYq)ybZ%*JfwLBhq1InB1U7n zem^|R9g%h!KY(M**wxscrXifAV;#Ir!>l@N9gV5FaidOvtgPE6gVuj-;0f!d=CiSq5ZdriI3~x&Za&t;_ZSERJj%m|UBGx}ZP)P;qrT!FF~?_5 zD5mIY%~5qvHj(TOlI#w$Uq}9Jbr+t?%7@L&-c%q}wagMsbmaa5q&&Nq6K3r?&e9EM zi&dXonYZaWTvT;!agtq|Px{?rTeOB}O>lO3g<83YVJDQ^!murF+Y9f(kz?ch8E_oO zwSLD%v!;mxxX&?Ty4kbWaNVn89m0Kzb!pFbzg6P5{^hP-ItK5>k!-?HT(~i}GKaeK zWt)`G^VjEQ^_}2|qwKTA^)y8xT`xY~f-{Q_q1*Ug>dLmog>(^kted4`^!4p=)Zs9} zky<`9rOE9$Gz$)3phIq(jP_n~3H2&2wq|cRGS&lAoGCtHIDY4y-b<`lQ5;uFu&75> z;~y2OSc$P}9u}@&&oTrd>vuvTLRERjVllz3G1z?b6{m4MNXutIZmEW69s}9r3F=t2 zs4-U6ZR}pm$5s%^F~|bkIwSF44!7czpt;BBSh*Fa?dp~sHI(m>{Pef3IpVz3&wP<> zHQF=sq~X>rZT(*0!zegLa_WJC&^e|XyYkjNZwH&tO~8tigAvL_oYB-poQT$^Wv zt`1sqacn!>uB5z}CF5G*Xyo`ixbEJ8Fjwl`)}pg#$BFY9aO<1{GITC;RN>w`7+*Vr zkfB`7_}DuE6Cj)L+=ML`hgIS177wI?Hzgo3nAJBv0h|&zY4GNaIUwtrkbOQI6(5yC zd<~Lpn(4F&{+9KyXz&-^iVO2(=O&?}cfeVpMx3WIKFV;*2evZm?~#(4g@mR>GvBxL z%yH2q`H4__A1=;7O|cQ{#{CzEE*uu-&I>4h^|ns8;sn3PSFHV-EY;;h?e|!>=H9UB zsk?EebfUPp^kxfki2feS=d{!bXsy4SIQtBayd~nozFlplii##;E{_iePa z9Gil#EsD*SuA-o7+@s=34n|QqSfd$%k-(h5?v5SGL&^cExtnmH%wGi&ArIC5!#iCUxqDu-}TfP^5_4$W&o! z>7KocW0>-$xoJivTy!(J2dBSv-Z4FFXZ6P1*p`>i6uKeZ2ZIl!;Mj+e+5Z3Ry-k}V zIgTdyf+mm1s_NO9XL@FP=e*~=?Ee4XvwP^Lr@AXMBitn;_J9upBuz3&<`M3h!%T(b zuhIBT00cpBcqUvuVMiTLX=!R;A4dmcJd%OF3PHH=C}fN#yz_tzND0ds+cWOoO%@y> zJ)g{#A*u^MKj->#7wejcghV9IN` ztEM&A-!;sCK3}*)Y2VRw^g{=uO$Ut?yJg^rUOh6f3&~2u*=S=^ZkSbMyJA@_HEbzY z0Hy+_MYIyC;9vw|;8GYG-PT=Iv*u&9+*6|Iw1kOFEO#19p4eEUd$7jhTAUenE415> zIK5`VdA^k*OTQ+v%oMs5;#us6FuFmN5{u36O0{zP*b$qAb%o!9P0Q5PW8`nSd|OjA zDmnUu@4;LK=<>Dx-rFBe?}P9(t|K17D12ftEXq(@SSTmpd?@#q{>9P0bsKB%2AQjG z6W}52(0z&^r;d3{Fjx5I1PtrN>sfyOlgF{*$La&eU?qBF$5?{@B2h&bwUA!*Ta_DN zTvQRZnhy>TSTxcAlPIYzN2m98GfHjcAO=x^*+LUnRYa^R*Q=6)%zC1g9^NuHFgC0- zJ`wSxP`ow1WBSO?Z?TEZ=Oc}Nj19$lRR7)9Z>=7?vCvLzZRN^#<=fgv(u|?)O&QW- zlWKg_@M#nrOI`KXoQgHtGFjaC*lrzluds40G@hP2KQ3+`!nzWgKkH;=@YvC{E?8A8$e%H?%QL=Z)1FQR(Di5oIxFB@$wgF`(_8Db*u+Z<8M0dj4#%M&8Ik_@0jSz6x9G1YFx{ zIv`N~W5_Gg-LCDN4IMOnSu<>A^FdZ%+Mn0q{Y>FoW@;-#oN0rk`Y^_Zg$33O^LK4y z$ro~cnh%7d+tK=NHs&_4A^(77SviNa{}Jb%{@vcyTW8!S2~En#I<2*B?Fe|0kI_>3 zw&Q~Zl?k=T7gqu?mj95$h+FcNG`&z|?sg6ZfH!6w+i3Ibr38R@+vF{5=8to_{sUV%HXY*wAv z*UZ6d`a%9vcIeaz5{vf2CL{yyv`8F>LJTh8EPEn)!Ub|ya+IdbFogyMWyh)-Z6a}o zmlPZTsuL^(2aAinSS&YXEHc6Y|({AA_Ow_hYbw57Mn?hVN)tr zrN6A#v#OBYR1{6Y(R>=|+3u*&NWUpbdx?*bl}G4rC4dTpE5(P-3y&U!d)ZxTq3Jwq|18Zfh zs^l;)NbN?H6IUrd$a|kg!9i78S^9s2 zOHmsi+t1kkJS^BEq+h&Iij%Rn7`+3tF{lhwcEXf#2VNS+d5{%-x(wyJ8}nWCP)2GK zMzFajf<~|HEEtOwn@t_z2x_50`n!EZNGVzyaYS0R{$jO3SP8gLaEqtEP4UrA2bxK> z9!Ft#epZH_KTA7v6J)vux`_n=sBh=ko>MFmQ~OQi!ab!pqjC<6IPOFAOf*Lyr*=JVR#~{5nOA{;-7UL>^<`Tq6-zwW?N1OqCorwXb~{utods3#|$I z{B1c97)|0^R*)p!q<7yFn=K$?IY;VmZ#%<0q%3S^qX5#T8N#9|ZF)uKJ(eCf zTTDcD1F%~O(8g4rSypec*V|ZLG&bSVJZ!@)7iOu%9&|lrwf6|N3lS9@CLFWgD^Ve5 z|BOkl(5niGa8V_P{1zull|;$0#Ab-fliI#f3l@edUV4j>4Tobpu}F09eYbBvsd*dg zq>0W9b=p|HElhCu_t8*U_$e5Aj;|$t#4MbrVWQM9@i%6LK2KcgxnR0i*Pw@_*(3C& z3p2{+sd2k_w(_WOP$y_oN44FD58ckt^XUQCM&?foDp;Gi3joAL70YIs!4Pxl1puZ% zS-+qKTo%}3iUDxd(O<=++7u*k3l2h20os%tmNh&N_3!W6QMl)RD%`BwL2)8s=%Brr z*0*hrHbHuZ8B?`mZc~gJ$Cw}B5Q05D;2Hcp*uTx6Ppa_v?hTCl$Nopp-C~rmxERvJ z55aocZq(g`y}=Jej6LCt*YoZBt6}7SH#(p4nx;SYTmEZ1-hK>?b%b^q?diLBZegj3 z`kMBZG22)y#FOpwWD~cY&wjCz1S|$IO8EeA|3KkH_eS@q-*S@Ry+97Cp2!#qtQQD4{ zUf;gd{r%jpHWr#(9Xl<~(s`d#_lnQ(yRjx0q!I7{7E3D%{6611F`XN>VK&a|Xw?zR z0e|jd@+S+QM!_+1WXkltk2pP!k>8yS`Fn#XFe8EMp6TP66~TAQ#fN;{a>LD{B_HwgQRG-mB~X=ft6WtxPS9fqu_GR1ol?j9#H=aCt-mAj?yS3W zn4A%uM|=Fv@|H;B_q~GSsh|VHBGpS!PD%>-yIos^qc-{;DH%F zo7$)3d=CW`q>r?KIna9Oh`|0&z|ijjH{Lo@ehQ5=!JHO^MonBg z$SUmxt$XB@4R=RzsYK4`AHXd13xgJqr|;4YET(lFmdj$%tgU+67L)UWFg2~~R=zQA z#^N?dqV(G5oZg+3*~{0{_KkSEv5>Sg;UI`T5w>}y)thf(>6;?v0LC$U8J6Av&bC7wej80E3`Iq`PW9EUHB^3wN|Pqs3@g^Y6X>ii(pi2$XHQ} zI{S}Ip>3|5O?4ti4q?|LN5zQwS3(KR(&XmpChHRz&^B75g;v;FLhPSe>yIfuic#vV z81FG`TH%MvXBIj3d$cQy*29yW88EBj&lWz7f}@7>y#QROm=0Q}1sg;9+Pn7#C(`49 zoXNqDU~OR}qc1W~rZz}zaHid00P&1xVkh(%MpnLnd+oytyJ0b&w!10}n3{sagkzZ2 zmxEvh&+OS$HoN1RCOVvNP}K5+$e1TAQQvb zXp^2%QOVcLlYxe{&mEXN&@@9l&o{qIQSh_$s0rQeYP}f;ZVNr(jXYp6p8ebYnysdu z!O+p3xQN>*KLxCBqgh=K!$NV1Qwv4@EbZ90*g<6>G&x37=ddHy_usrdEseg7AH^)# z0`v#bdNzK~*RlAJ+D#E*@;-)<%%7Iulj*_u?!e3^^H1r89ie17T{Y8N51Ni|g_Tsac16{m6&OVHs zRK-yi<6cWIj#I-Ie2(yW6dW_tv(1H$pxcY7Ywtc1#?@!f2l}HYd$C4LjWj9}tTH@0 z3HdRC6_pVEz@3rNeHb;lvU`>o0!1uOw#GAr$u$Q-MwV5vfdx$ZZ66ZHSz?m`R1*7) zO93uKs@!Owl?zrf1&3IGP%S8RL8%Ltb-{@$__Cm^ghD3}PN>XSs)*OTG~yY(5bsrH zT*df)EGJ|Nqm9w546L;|4Oot@^*g|-fi(|PZg|%}lXOthjL*{7Hr73t_IL%&1s}<>xH%r{xG*W%WF=zRgd!pGWfJA9b zB#L8ENJrsM9UayJstZu{2%!5|3J#=MU#u)Uji%t>ioz?vdgKj+s#hTz-D`e0dS=7J z{JVw;t!>mgStmuFH4yU=GsQ-BG#N$9hN-kND9}T1z(jcF$bdd>(D8-v?s(qU zBf5Z2(KpvtzUc7BFmID#0tMb2nT>8x^!0tTERw!5Hs&N3IGr7o0ZCd4>Gaap7;isj z<+Ekp0oIt72VG$srexw9Sa{~?9x|4-FX)kXM~s57!cH?HeVO^i;zS>!vc;?#+6Zab zP?lk?IfZ~q_Aupy1iR?<0^+kag|&q!HHgKYSw8wcWbA^C%8PQNsG@_gfO!E^4W$#S zx*Eo8!J?ny3Jz0A`@7V(FTLlriPLD_i#Z+?9BfUO6&xi=jEz1txl8*)-;eL^!ziV9 z2zBG!PF~C>Fr$gybB+ah^GbTw7oRD78U+W_sDn!j$6H&&6X#T0wEFJg1EJ;dto23~ zv*KT9-?0*5qPd_)K-_(rvBa2WD#KNbuEv}7MUF=emWmd$)j5)njwf zYhJTQX#2>ylt7Wx%Mw*R2hIhh7WKtMSXROc=q91wCP1yPQj>Re+rnmXfCGqECqYd6 z?dDA$V>sd#70(OsMtGJ;dX=xFL6he*tQBtG(Vaa(c68e)7#zz-3^qOEY((49Cvw3c z2?br(?ZyDa3AJb3-o}nj@8@8>NV$noGw8hg-Hr4X_#CB~Z$GDqV z3==Gw_FfTfsg79Wd|JMyM0iYezJ?i{nRE9@w8EeLpeA7J7(d zIe(8i-^7&fj+-Al=jkN9c=X$2^z})O^%-L;8CKEk2-xF~b8Q^U@cC}_BfyRTA{^=C z6^vCT2L&sQs>%?xj^pqfL6O`(+`a)fmIEmb*3DHRm*QVZjv=>EEXoZ#-qO|{-jAc_YNbq1zPJe`oxO{^0x9~^N3>n!fM{q9Bn-I!f!5IRA~SDuTG zQ5))s5+6fKepvW43XWOejsT@VbC+KIyGI1lk<>4edQ<(q*g&Sk92_QD%u^>CS>3gc z!feB&p|;LJ!1@`tiCN~|q9)CRTk+8FcvWEXCtRsG+ z54Stvpq6Kqb}|Q}r4mY!=!;r2RLRnB;qK1^4o5X7SVsffA}Kz%S9V~5=fQ5H>535E z9nmf9NW}(#wC*_~>03m0>R@$(wTCuOZV6dC%hwN%BmhmY!8u-_O}-19)9Bl=$9!hY zF#jiGeeL&Ru|7wn_p`86olQ(>%eA?7Cw3$sIwpuiyu=@fAW9BtIhlhDs5M>lAz|^` zw~$%VBP#`rC0Nn{rr=2*z#^BpNNdocDg$D&3@qFF&Osf+z9f<`Cz_^cjsxrxQ&NQ|aH(Q)KhDD&9d^LpgEN}7AI zp%H>*$ynd~{#A^Pcg*Tx)1rIQVNI^>=MVKSb!F}atQq#qyIbjH*};rBS~siJn98Yb zhDyZNCaOH-3b*i#^1RI@vbJDrun>2Yi$S4rD#`?PaBBK%`KDn!4HRk@)~tejUU%vG zY~c7-Yev$(X|73Q$7=k^aM;2cO`*Hrono5az-nS!P>0Rp`503g6*U&|m5@)*#Ttd0 zbCi!BK97RqP74hS3>?2`o8>VPa2~bdh-Hrc#Ml@sPne7^iYODrbbdJG6-Mmcm_dOq zTxF1ne)Nf$aNI0(ib$GbX2)_BtRGz=b|Ey$)NHPFM5-1uYSwhb(USZ&o}=yJJWhRj zFi>hR2UcoP*&XMua6d*LfL~Jm6CQ*!QOZ1s5Lx=g#ba78x~KF z8-f>Y0OfJ0U|JzgkS-v)02CA)yrS_5c$1}RluX{Y#I);}Sx7{Fnd5b8V2IPrfR#YYEaus-8 zr0G_y0KciVhA}d+98qr}1FLx?JZqVr*lKdrI?XLTk+@?Wh+=OZIGQ=|m1l#G$E^ko zgA(1?-AFJSI?f_a3V%f+ZBwul_%_Ng69gr`&X*=(dDb=q{4`6K;H=(+320@W)#C~_ zts+lGPKTM?zl8xv$~R}U4Abon@5Xp@AwM(m{_$Q+zPPo6DWOwN?Rnc>Yh{g!=#6Rk z0fLme0&3j`M8)|9q}OdL-9@u*^UhJ@4spRzP?sX#>Oi{Ef=WgFkDe;($iw)tePr7{~+p?GVI$P03mzkqQ9^9z{2 z0{lfRmFr0evL8)ZQE`?}saO}r1sANR6>D8ls+>(J5I$f&HjK{+%_nfN3ju5f$Y3)? z&{ntX4wHF4%zYZiULPp-!p0bXB#@W!2xfjfjW_u*^Ro#Tyv091Vfb_k4r5|HaZNkY z6Q(gG$Oj!LYJ&M8$+dIY-5HU@?586z5=7QAkux*r0fQiOCq{%K(t2jF9WR>+1wB&* zG7ni;9M2VA_3A)9F9KHWwC)I!5Lrv7GO#k^#EchWd;#Nyswg;c!HFOW4q||+syKpz zqY$_-2%@=;!n&LMLGynHIrGsF7f`pz`~2-b&V&&k5RP{>aHEVVzZo^qZ$Ce6PPg)F zc?sLVt@;>U>15woq4JZN28c{C+XUsgP}+o~Cg)}0s7pAMbyoh{SWLSYz^yEgU~!ir zWug<3`gd*BKrUiy7X|lYZ2sJHxP^`MOUhQgOl>T1h!Ypyu{uORvHlE>y^c_r9vQ42 zQc`Vm5+RoLiPJ#_R${D7%})`*l^b$#6=5v}wJf68z#>OhOu?~K)MXV1d3Xci+^$%0 z1xM@+>k-?Ps*O1TnK{mUZ$-<5bdF0aq!RFSj$h-uL-|s!8)D-mlPk34SS5!!s74ad zlT*1k|5~%>az#22Z#p82yhGb5Nbk4Y(ocgHiXyl@`{-%(rHBh)xHJ!7V za3}qc* zgUQ2{=?q$*1QL7~b_+KQfLn2HVL85@^iyI_ z9E3~;Km|1kyX+s!pTH=@SctKpqF@DKQ6a(FRIM@ySP57NsKnr+3?fvhk{yp}IUPK5 zo(kN3-xo$I*F^t6It4Ugg1Q0O3C$Cxc~!q1gp@Jd*`}UE^D{8Ya3X?5OAZqQBKa`+ zFJYLb^(f09&>SWX?HUYI%P^lnV z!DL?TqCjuAxWo(U%;tJl@5!RV#;YgWeshe=9{KT*6qY^5d@T4VK8ykNWxP?oj+f6A zmM&jSvbhiIW^WeXQVi@wiKmH}de@gSABWk*i%#0LzE!0;(sy%2k{^%kfo{ zYF99kC@W}1E#eD_^*lELVp$FK&r~VYuWdSnQ-_0cT2vm#qLitF<5v?M*QWVjdW+N_UvZ~6=lZATN@GZ~vfV03}jq%E$HV{RtUb@`4(*@tWHiUK`cNk$UnmopKG?-^S!GSCl&M=hlB|MZwpxD43Db`dNBg zSll&#cMKRbC9!S;7JDvWah#_-tiN>>b(p-{(u|lXvx(I*&Wg$Qem9C3EgnYUCSE{X zT)|P8P*g@JPLRb9k~tlfZ}v_iRkBbei&9ua^z%o4R-pU@lZ)9Ol=sUi9htmh)Tg zvbqBU2V$>Ktb{>fTCQGSuiyHP%wt(=WuRY?-+qXW8*nMTKdZ%{;nc zwS7?0%&VI}4O4C`1gwSC5}I2h>QNZUODpis4r@O~_!HDIO}^&mWxh7(z$;v*7jB*p zH0F107h@27-#5^#eV$2g(t5k{h;$`&gX{`l1Xufm7R?V5zrOshI3Js(hY2T-y;v z-Hk*IA`6@HS`{7Xs#WakZnpV)Jk9ItXK3coyc?6<`EJGN@%Cb~a`G|qZ}15aNtV}Q z7e*6uXNxd^ecZ5*t*e;7Yjm^(43l{GW3%$z!fdcR=E9oSx~uOD6Uk}F12rqdR6$|w z+wz@Y-ElBxJGx1Fv`h1~1-HL%(v{T>9xr2od>nsnH3e3_F|f{!qbURRED8?NPcbEjs5Vsn9M!K)5*KB3O&O7i#43)ATy2X-!leDCd1$;@Yg71P z7BAS0y+05DGi}=xkzJr?FQc8+wtBb~N0d@A(&xLwtuxB|5&^(^Ok@Rc0kFbNm9ce zL0I8RZ0-~sz91Yi|BEB8E%!_VCYqA1uUhDrEBml#<)a-v)%|J{BVjEY~{N(iU?!}NWYf{6)yzel;3Vj z^j6C{q#8}-_RwfSV>*;D=j%FCef(JbJ26R1cMZBcJl+Ju24?B?1Cu5LbvLF|^4_}5 z>H))ihhh}Zl4WTi*b!rhV&Ou-SO^g32O6IfV<5;kiJz^K;V<{_%lhIXq1T0NzKLXpg$A9?nXQ-nuqJk)pxU_wx^JEh&CTXJiQM^va zp^=8IO)nD@Z*GdwJM`_L=8qdYH7Spv=$X|wSx?yg8}iB2n3b<8RGV_+4a5~p6{6sHfhakICKm`z77raFHZzN8QE(9@2Uiqk z6lPai%kJW$j_($LPvCljiO(WE!xbE$uaLX3BoM@B2SH4#(=iqM#bJ3kQ;MNi~yRH!u@-G84Wpy)ft)EZQb8eD^iH(WiD3Ba^4-{&y2rw20xxjUeB- zvVcO*SwC9ybC83Ad}#h3kmBWI7x!Q|2xFZWvL?*ZhUaU+-lg`g3sjwXu_$-)kwzfM zuAZj0X~N)`%WXo)fG*xJv$(};GNFz;+n7T5^yRrXxUk=i{Y`6)jc49Qbxg09bLl`V zJlw(}i*Tpt1QlG(E+e)pTruHCQuKIAfhsxt)07`hpDT+IG@G>thYA?I1ePL74hFZe z;m2F@J5Pl}6&=ws>bc;&<=NsjGKP5T=d<#pS=AhEW%3!qr%`Zl_YK~OP2M$v%@b@E z?-q6~kEhb>=HF}`u^S7Eq(jO_6Krohms8Zhm`rie1S2ELjK*WC9T`DxA3Iu`S*HCL z{#?59H4^wU+ye%5z!WHBnQTm9Yqg|9@0=2Y_-I}Ee4sY<% zKGs%tbVhgO^Be};jK0~#2Rzr>w)vlL!@!g_h3Lpp=?<))YuD1=z(P~Vrc6t^r+|Hn zUd5a-Qi_MkyVtSqf>`cy^C?9he>Q*G(_md;)-+S0Wzt4J5R1o9nl*;iMBB9Md&ANg z(*|vRCm7}k*m9Cho4&!uaWfQ`;*T-(BstDE>(dm+#^5ZWK8qVz^B2;^i;3S#lUpp(;|(l7KXi03U{*xag&D%o9tt&{G^Hy7 z>SN*Hiz^vv_W~H{dla1K`RklLPDV(1`>{U&*|8lr%iK_?WZ6fZ;M&n4AB~JbAlZZY z>HG)Y^)mTVh|;h!fw{o$P-&sC_%s44h|OfWszO5)9Hp|ID0Ib6JlhRbawKMPWpH`f zlF4FzVYX{UG@28q9kU}8V$rN|y0RKx*o`sw&&Z$M#L~{W#`1YW=}qJ}uVbA5?nI)y zF=O8{N7y;AJR_}2K4KhY3n>q`ZU{7+bmAFjH&*ZrX5(oO=B?bt3+qI$hs=h2^cfo% zY)*#sV(&MdY}Z*fo-$eWdbU(dUhBt{)gd-;eBYu<9J4C%v23(4#^rHbT*Fc^Q#_N~ zvK(ne-^#cBnMZ!~kHI@IT*EpNaSIdK)as;ad&vK3zjsBKO%iB&YagASIHVAW`CsQUxK>U`7+{fVN?gSFAK35T(g=iLEeCKUV$ z!sk(NZ2Y}F5R56_PV1v#j(6knDGQE1t(|3=Vl))(?y|6XDhk4EW7e{ZVbs-=2)~`! z61y25shMXpg*E}&%%YX(+A{=U!#~avgL7&VR7}J=oJ9Vw@I!<3wMm!}&tVX#Hn4XM zS2!nMdCvJCGy(OvFy`@0xW9bY^53FU&jsT+2UH>rbBLiWLN&6Y~0y{$|Pn=RlT4DUc7SRDY)p6ti0&f&sy!gK*LtHKs` zPu%O6@>(rwJL(##Zu1`z-=&;H8$yPqg<#|M<2(0btsIYHoP}Bf%twdKN{bt)d82*a z9&?`-tg@CISLu48?-b(D+#JZ$m2pOscnOQ|$Ik6KGRB{YTGz0v@AkZY3!9W<7M`7k z4`D+1>}Xa+n8PqS&44+E4ZC>O#OD90-RKovjfzBERl!jUP^wYh_I@F|n~(<|cIJ?} z06>w`h3=o@$#6s(zR7R?=EQa-FLcLcdKeWr$0>6Mz%T zY3&mMCjwq7a9V+-0;ft?sye!3U}0H+ke-_+U4%5|p&Ii8+wl1CC!}6ageSea|2-L)vOipgMnN?FrOLCDPq+H zOCdsK0$~AAnu9w1CSO>aLShB+s-1d~4_$nEvMx+nwb)!LDw{m8%KNm!E*l@hyX97xW7}RP#e`aYnecY4+-A{}r4_WD zZvfUO@!wk|u|R{OV*XC@(YA@j(u5K zX0!H=vavR?cAAQ6b8Wa{(@e!=|MuMwZ&v3Qt*Z*gpqP-lOPV>zC&W$mut~ zOP&90;qxgtjF_u(16LNEM#6+aL_%FUhe)}z$u%L?Fy<#Ph?Qh*l{<;F`j!b@0~u&{abmwYOV*N>vL6d_Q> zh2R+LLs@!xXMChWeTEQLP%a2=wBu|ZzO%ygYPh1*_2*m94yP^e;B$oLmUkw^8tot2 zpu=4M@D6%{7Wz_-cdSRamHU=yFy2=Bl z@V>?U&kUV=QJb8`q6RwF7O|1`*`m4zl}S`6*ze&eAjkN9z4VCr$s#Sk7z2x_4RnA@95~ zP=#5>5G(CO7#qqI8Kge#RH>oLj+I2wu@*VT$Hf#fYQ>@a)Q+c!f`f7KO9F(hELzsW zNJly!3jDP0U`P)*S}Ztb0cbPOZ)^(5|F3X=_%sR*3mned-WpFfsoSEQCnV{BuuH>z zZ_0AB-TyLijgh90{h-&^}OJ7Tqci!ZHmh z+`#fJ5f-7}ShtfUQ_Sg{5=ocO*4&Fq=||segrWNmrF>RD`+Y=`aeO@%+QKR9_&b-(*Jl%~!D&CJn?LN(W)Q z9}_W!O=49G4y&-KD%maNiducyk?j)7(N6!7zYoOO)_7f1k{FGz#7dhXiWEN+PR+MU zsLC*f@4(oZ*!}NL*)Z@9Yqn#O@%A>EEgn-toa6UnshoRA>K2*(B;nI2I5-aOcy7-L zL6UGA*7b-W9sa0CH^;Cu-cHO2Z}uvMVPx*axF4uTl#guMJYGH{rzYlwAh>ab9cLl4`ru|(=mr=7Y=_f71h8qdVV7+&Kq6d)4a{aa^kKpl6@NVR z&R_qS!8mZYLzq1_CP8Quiy=uT?-SB=nB+Sho@OaPG9!*!_uCPIL(&3(8)ciH4M#U# z--j!UfTzMj_U;$5VWmkXrr4W0YN(%E)-QoRQU7#5He2GPg~%?fnO2KS(GY{}ekTjF3E;=tA2)+RjLuL`>c9K?Fg+k9`V07-eI?^l4E?~SwwR%x6%9_Gh*Y_*WE z?8D>nVDpfXl@iuc4@&6HzhavG*uH@|Z*2VlF0dOCWqF;{+>Vncbbwx3&?_?HRr zrr5K31?eQ7X8^*uxAbK4*=+r(SYKvPz`4cp$L#IVL{T1xK-wkB=?(Eh)Z9BUZr9Gi z--BJD9!R}q+s(+VUOoZ;*gZbR(imag|fHpDz%dA;=9>c`IAB(lEHsK{YPsmhv z72<pO=u|^C79}YZ#?!%l$QX4(iFVQaZL&uA-(M1dPOaoiJlW=0-|%h_TC>okp2HB2+DPJ z7a0Kh)pgqdrVg98ke{7=@6a)4Za=3|UVeUD?+(h-XTz1bbFbv}7{XQ6n0+O|g^U_g%*oCEH zJt${zC;`_tLHHQ{HdB(^CBBed0&k-r{`|s@`l`cH)Vj1lzDZgI^3Q(%b_1F!z7)yo*_8xeh|YQSf8)OVgD<<8!aL! zV|)ec$8q%Wl^S3#_KCu$QE-TU*BCu_w3J8sNhjx@b_lcVP{Bb$uDP#?LOai} z7Jj6bTUnrGI232{oTd@?g?>6m{J<~@9vja$^6lY4PK0W%ViK*@jB`CxQqHriqpN%HVaguz9k5KjIkG51b(Y$oO^}}Kv zV!}MbmbL}J0_JAHQ6Pf&qCP&#tnP%gLuOd}IS!&Wx9@FB7t>(^Nlwe2#U)H%s4LjO z;*->|3!Bx~6iBlLU7y;F)C}YWH5d((2I%*3v|-vq(9T+4Z*_Z zp{bX08AG&8?OPzf97iX4yrU(p`vdzpC;&`(D!syPjbRE7s*I|iQw2_y@lqKtEAVAy z&|2|Q7%z)prvkjJjMK_Etrg44C@W(D;{^GZjYc^(xPY+|V=0WKK$Md>xw5X|*d&`t+I*CH{s`?qa} zv3Z0xYYezmhATY^!0JFroGC#S9E1xKR#k9-l(3R2U7T(kf&NTW{NC{M+4zqQZH#U9 zEBQYG+mOOkxco6eIQ~38ZnEk~7%@`Io#9>U*2>%j_Wc<~A-_u!SNr#l^yPSuF_3<@ z+WJG6XalVf%2vEi)=VA2m){#3xF!+!LBuS%penkh+qCP069L4F?Br z3hh%-AfmE;FQ}+0kV!tG;1J6ZQG%FkZ>H4+g(an_)59x`+SWAG+AsFc-C^YA+0KBv zxO*{7hHoEl2NsfQrL#?gnLme7qPT|Hai2Wu$Kv+mn-^qZi8)%_jEzGQ!m|1l%O8Yh!IYPv85?1aZ zW;n*D<%=u6JEz{1_D^Ds@o0=et<}Q7oY&z8V{IWXRvAFp7<64E8|OHd|6qP8wEJ6>`IQsKFm0&LIbEEwW?!caS`nb4pnknoB2YzHKeH;T+xA` zI*OPpz+xJ>9dC*uug{zm_MI#5GI5Ge%G0;8HX)hvV4+=@DtV&SJcoEGU%G+?K4Wt{ zwn1vU$FU6;@E zmE}g-Jd3v{-Hnh0FBY%)VSX}+L!*4>c3WtyMHCovu+ysXDB4 z#wCyg%6F_dm)kGqoldCdcLVM4@~D7giw7S1dM3H-M!c>yV>l!hEcF6 zYSuB*C+66792I-9WNA4m`z>iBQI?cJ*ncIo9aQrraSaP)*^5cOKNwT%jY#!Vya|@5 zONYfa9LI#pLNk)whtyE^LhSk2YvjX!q~AHwK5O%%^LQ9J<&@`8AG<3brLGC-jP-bC zHa~);-lafwwOamRiEB!8J5VS->d-7a7;2r&DLFXSK0-+CNFbvS!>&X(AMI{kP3-=a zB0tKbCy(?g#tpNtTk%Y3k+B#;dr`muxJ5%^$~!QvXp0i(2JgT^J%S>IEndhMS23$! z5TaE6@jL>}pdHva{ytauJPHmS5V^nF0L~b78>}5h$}*EgmTWr7~6gy*6$!jL6m{6Euzvx+Nq_;&KR1=|6F~I zyr(noalBYw90feVBqgyBlPgsLbB5eRhq#+%^exoLcV1cFfiKP)O%8Ld6M}AI?Th1L zhRoklpsj>Z?l^-)@HOR#(e#$C(r>LT^Qh!#hfTr(9*YOSoXuH_MbAtvghgx`Qmr3b zsVFo@$D2Zn#&otZQ-rtPXmi-+ZG2%rHgF#5>$V3o%U+b;9SDl3b$tM%Mf@DP596z=DZX;-VODgU`9uqVPfVPKu})XfiZJ#gU}{> zv1rNFh9(Es3pN_=$09@9+g4YxPZB12FwPf{2Z)1QoQ>x#%!`Yo}ML` z$I=sN)4Y8iO;d_DP_G?nMN;jv(T|##*X*ISU^t@y-c8^f^ zH+va)cq%QEttg%^BaqAj*h;1S5QN1hQ!t#8u_*_7dJm78=TELt$JdgQ)&Kw?07*na zRCUI>`Sj+;Ff=7bb1h zcVl#unuT$jUO~tG7@P5KVj;{GYmZ|-UnX_ijVXU3<#U3Kxjcfk=D61O4`3fSd>REu zb_O(Rg*VUn5yffMlfUBvHFom2n4rN-oIUM{H|INVLbzF`==AE!>Zmc?##kwQ-^v3X z&rFxuiE6Zyt6Z_NTze&^%fL#E3$YM!YQ&uYTmbQ-!Gy{P0=S6TbSWqoV7bWo!Y>zb zwDfg_oG-jERyVohVDurvc@1siyPG^4b`1#8=55nAUZme9l+!rGeN!fJ7c>Eh<5((n_m!~7@zFQTt zC%`up>^M^tGslGtxiDaY*btAbJ!AfqzsXGVwd}^&sEd~yvWQ6CM=j!Eo=LJnL##r!h)i&Zx$KII-YD%&aFruwS;$d_sBD`@s?-M7M2zL z4ddy%q0C;NIY!V=+s2UxIaveJ&ZBNsW*uQkl)}vG#rI5%5kWRvl(X7IX>IM_oN@*PpwMm z(xw2Z%-0L6DWA#WjYf=O-s%0!gNAa&ml0-A6l8*|(HALGtghTvCK1Y&=iT;pb4|`A zRg&6baO?IXq5qi6V>5Fne-! zD~!uYEOpN(;Cuq!UV!t7a3)}>a)h!HVIjuCvQX56fLNT`N~=T%{_H#nLD$*Q7Ruu= z^+1>aNi1gewOmRnzKZQJIQCq#28?ld^1FXNJhQCML*-y3InLCa|5y zolC|)MEINvju>wA8h77-i*!d6Ycs#+)38BK1M@M5PYt@!25J$(8}SX}2+aJ7a1+uv zF~a;k%_EfGW0Pp2t12$c866TS! z?2(dklXfcyX?d?;cGgy<(4HO#6crtNG; z1+>pv|IQ@Mz&3i>lG{7^-`Igx*S_47cs{nqGt~LdHXue7>r9L|4&&IyTjjfoT@xj) z#Zzo5pmrE{M_KGldl){g?I;Kq6y|n6X#-|`)K=G%BVL-`>|M%7EI8FSW4sH4vyaqP zllC)3i|~e`bum8}1zZ;}FTk>Z$^ukbREYCBLakbbMaC*qf!%Udl@70if@6UxILyL> zb*z_Cz$;L>0(Hf5I$>EBO&h582CIUjn3V^|+PAK@+S-&2#5Gyq5)kdYA6IZtBY~EW z)msyPeD;O%b#d;&2+-qEq1=?!zwZ-Fxfcu6D@Dj3Rsg&TQzM}12}8^&?;NUORFNZe zt(f=W8}XuoVJahZ)WG&vqIIi3Zw#hAn_(esX$$HfT`hADdg{TSkr#MxGVyunC+n-; z>YYO5SclnjCwHt~WM)bZQ>2W|Iw`#n4xYx_sPqpEek8CEYKi`cNZ3e~?ZAc9PX+;8 zfHMJasCY%ixiBs#08Ds05#CNL%8eJ`TnMESsFJ#TRtsn7-$d#Hx&U0&@$nG%J-9FDzA1Z6ZREULzEZMWg> zU;@!db(_T0#UBd{B(7rJxgjjvjggiyjtvveehLQIIaU`1sdV#)x)=6f_WpsGF2>U$ zC*_ODyH_w0lmF1kA>M;nqNR`2x4lb4JPUiUzW&i?6JvOnphp^_AePgMm?hKFo6Yd+ z;swWcBfu8=Tk-G3D70r<(3$CQdcQAg{xFLIqq3<|2qm0rUVO#p(@M`GU2s zsPzJ7^}Im<6+)qcr4$tXEGSrbL9J>j!a}Q;Dsz~q%EDIsyQl*}%$?pH69ONkTnC}M4I5@}^;w5m@yJZ# z?U`1tDcc*C5=KimD;W;NEMHa`qT4X?y2lWPukm!7)x)u>kY~iΞASaRcOuU^H(~ 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

pkMS>OEicVYh{xH2o5SQOmoM_0n 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

*={zAv7cv_Of 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

xHHVIFrJFz-ryD(q_0w>@ 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 B4Wj@6 literal 0 HcmV?d00001 diff --git a/docs/images/badge-fading/screen_deeplink_badge_a.png b/docs/images/badge-fading/screen_deeplink_badge_a.png new file mode 100644 index 0000000000000000000000000000000000000000..c77980f12573125497d87ec819032e5b661ec0ca GIT binary patch literal 221194 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�t7_{D=U=`H4doRvo% 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 z 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

gk~?Qzc;A$#v$$!f_9>#eDZFprr!Dynq+4XIGI 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�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 Date: Fri, 28 Aug 2026 08:35:55 -0300 Subject: [PATCH 099/104] perf(task): optimize admin tasks retrieval and eliminate N+1 queries (#64) Add dedicated admin endpoint GET /v1/task/admin/project/:id to retrieve raw tasks directly without recommendation overhead and optimize TaskDao to eliminate N+1 project queries. Closes #63 --- src/module/task/persistence/task.dao.ts | 42 ++++++++++++++----------- src/module/task/task.controller.spec.ts | 6 ++++ src/module/task/task.controller.ts | 7 +++++ src/module/task/task.service.spec.ts | 10 ++++++ src/module/task/task.service.ts | 5 +++ 5 files changed, 51 insertions(+), 19 deletions(-) diff --git a/src/module/task/persistence/task.dao.ts b/src/module/task/persistence/task.dao.ts index 53c85c0..e9019b8 100644 --- a/src/module/task/persistence/task.dao.ts +++ b/src/module/task/persistence/task.dao.ts @@ -31,17 +31,17 @@ export class TaskDao { } async getTasksByProject(projectId: string): Promise { + const project: Project = await this.projectDao.findOne(projectId); + if (!project) { + throw new NotFoundException('Project not found'); + } const tasks: TaskDocument[] = await this.taskModel .find({ projectId }) .exec(); if (!tasks) { throw new NotFoundException('No tasks found for this project'); } - const res = []; - for (const task of tasks) { - res.push(await this.mapDocToTask(task)); - } - return res; + return tasks.map((task) => this.mapDocToTaskWithProject(task, project)); } async updateTask( @@ -64,30 +64,34 @@ export class TaskDao { return this.taskModel.findOne({ $or: [{ name }, { description }] }).exec(); } - private async mapDocToTask(doc: TaskDocument): Promise { - const project: Project = await this.projectDao.findOne( - doc.projectId.toString(), - ); - const area = project.areas.features.find( - (f) => f.properties.id?.toString() === doc.areaId?.toString(), + private mapDocToTaskWithProject(doc: TaskDocument, project: Project): Task { + const area = project.areas?.features?.find( + (f) => f.properties?.id?.toString() === doc.areaId?.toString(), ); return new Task( doc._id, doc.name, doc.description, doc.projectId.toString(), - this.mapTimeRestriction(doc.timeIntervalId.toString(), project), + this.mapTimeRestriction(doc.timeIntervalId?.toString(), project), area, doc.type, doc.solved, ); } + private async mapDocToTask(doc: TaskDocument): Promise { + const project: Project = await this.projectDao.findOne( + doc.projectId.toString(), + ); + return this.mapDocToTaskWithProject(doc, project); + } + private mapTimeRestriction( timeIntervalId: string, project: Project, ): TimeInterval { - const ti = project.timeIntervals.find((t) => t.name === timeIntervalId); + const ti = project.timeIntervals?.find((t) => t.name === timeIntervalId); return new TimeInterval( ti?.name || 'unavailable', ti?.days, @@ -106,18 +110,18 @@ export class TaskDao { return await this.taskModel.insertMany(createTaskDtoList); } - async getRawTasksByProject(projectId: string) { + async getRawTasksByProject(projectId: string): Promise { + const project: Project = await this.projectDao.findOne(projectId); + if (!project) { + throw new NotFoundException('Project not found'); + } const tasks: TaskDocument[] = await this.taskModel .find({ projectId }) .exec(); if (!tasks) { throw new NotFoundException('No tasks found for this project'); } - const res: Task[] = []; - for (const task of tasks) { - res.push(await this.mapDocToTask(task)); - } - return res; + return tasks.map((task) => this.mapDocToTaskWithProject(task, project)); } async setTaskAsSolved(id: string): Promise { diff --git a/src/module/task/task.controller.spec.ts b/src/module/task/task.controller.spec.ts index 5424a47..918080e 100644 --- a/src/module/task/task.controller.spec.ts +++ b/src/module/task/task.controller.spec.ts @@ -13,6 +13,7 @@ describe('TaskController', () => { removeUselessFrom: jest.fn(), create: jest.fn(), findRawByProjectId: jest.fn(), + findForAdmin: jest.fn(), findOne: jest.fn(), update: jest.fn(), remove: jest.fn(), @@ -55,6 +56,11 @@ describe('TaskController', () => { expect(service.create).toHaveBeenCalled(); }); + it('should call findForAdmin', async () => { + await controller.findForAdmin('p1'); + expect(service.findForAdmin).toHaveBeenCalledWith('p1'); + }); + it('should call findAllByProject', async () => { const req = { user: { username: 'u1' } }; await controller.findAllByProject('p1', req); diff --git a/src/module/task/task.controller.ts b/src/module/task/task.controller.ts index 2ddb749..7d58fdb 100644 --- a/src/module/task/task.controller.ts +++ b/src/module/task/task.controller.ts @@ -45,6 +45,13 @@ export class TaskController { return this.taskService.create(CreateTaskDto.fromDTO(createTaskDto)); } + @UseGuards(JwtAuthGuard, RolesGuard) + @Roles(UserRole.Admin) + @Get('/admin/project/:id') + async findForAdmin(@Param('id') projectId: string) { + return await this.taskService.findForAdmin(projectId); + } + @UseGuards(JwtAuthGuard) @Get('/project/:id') async findAllByProject(@Param('id') projectId: string, @Req() req) { diff --git a/src/module/task/task.service.spec.ts b/src/module/task/task.service.spec.ts index 7a20c58..d30e70b 100644 --- a/src/module/task/task.service.spec.ts +++ b/src/module/task/task.service.spec.ts @@ -179,6 +179,16 @@ describe('TaskService', () => { }); }); + describe('findForAdmin', () => { + it('should return tasks mapped to JSON for admin', async () => { + const task = TaskBuilder.withId('task1').build(); + mockTaskDao.getTasksByProject.mockResolvedValue([task]); + const result = await service.findForAdmin('p1'); + expect(result).toEqual([task.toJSON()]); + expect(mockTaskDao.getTasksByProject).toHaveBeenCalledWith('p1'); + }); + }); + describe('findByProjectId', () => { it('should return tasks for a project', async () => { const tasks = [TaskBuilder.build()]; diff --git a/src/module/task/task.service.ts b/src/module/task/task.service.ts index 616b09d..c1c262d 100644 --- a/src/module/task/task.service.ts +++ b/src/module/task/task.service.ts @@ -60,6 +60,11 @@ export class TaskService { })); } + async findForAdmin(projectId: string): Promise { + const tasks = await this.taskDao.getTasksByProject(projectId); + return tasks.map((task) => task.toJSON()); + } + async findByProjectId(projectId: string): Promise { return await this.taskDao.getTasksByProject(projectId); } From c8a6f09a8086ef211cf8f198ee89fdba4d31f035 Mon Sep 17 00:00:00 2001 From: FranciscoPerezRamos Date: Fri, 4 Sep 2026 14:09:52 +0200 Subject: [PATCH 100/104] Add badge fading as option --- .../gamification/basic-badge-engine.spec.ts | 35 ++++++++++++++----- .../engine/gamification/basic-badge-engine.ts | 5 ++- .../gamification/basic-points-engine.ts | 5 ++- .../gamification-strategy-factory.spec.ts | 13 +++++++ .../gamification-strategy-factory.ts | 10 ++++++ src/module/project/dto/create-project.dto.ts | 9 +++++ 6 files changed, 66 insertions(+), 11 deletions(-) diff --git a/src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts b/src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts index fc9e449..d089f34 100644 --- a/src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts +++ b/src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts @@ -154,18 +154,35 @@ describe('BasicBadgeEngine', () => { expect(result).not.toContain(ruleA); }); - it('keeps an already-earned badge counting as a prerequisite after the rule changes', - () => { + it('keeps an already-earned badge counting as a prerequisite after the rule changes', () => { // The user earned "BadgeA" back when it needed 1 check-in; an admin has // since raised the bar to 99. They keep the badge, so the chain below it // must stay reachable. const ruleA = new BadgeRule( - 'rA', 'p1', 'BadgeA', 'd', 'i', 99, false, [], - 'Cualquiera', 'Cualquiera', 'Cualquiera', + 'rA', + 'p1', + 'BadgeA', + 'd', + 'i', + 99, + false, + [], + 'Cualquiera', + 'Cualquiera', + 'Cualquiera', ); const ruleB = new BadgeRule( - 'rB', 'p1', 'BadgeB', 'd', 'i', 1, false, ['BadgeA'], - 'Cualquiera', 'Cualquiera', 'Cualquiera', + 'rB', + 'p1', + 'BadgeB', + 'd', + 'i', + 1, + false, + ['BadgeA'], + 'Cualquiera', + 'Cualquiera', + 'Cualquiera', ); const proj = { id: 'p1', @@ -181,9 +198,9 @@ describe('BasicBadgeEngine', () => { latitude: '0', } as any; - expect( - engine.isBadgeSatisfied(ruleB, [ch], proj, [], new Map()), - ).toBe(false); + expect(engine.isBadgeSatisfied(ruleB, [ch], proj, [], new Map())).toBe( + false, + ); expect( engine.isBadgeSatisfied(ruleB, [ch], proj, ['BadgeA'], new Map()), ).toBe(true); diff --git a/src/module/gamification/entities/engine/gamification/basic-badge-engine.ts b/src/module/gamification/entities/engine/gamification/basic-badge-engine.ts index 60a2343..d18790f 100644 --- a/src/module/gamification/entities/engine/gamification/basic-badge-engine.ts +++ b/src/module/gamification/entities/engine/gamification/basic-badge-engine.ts @@ -10,7 +10,10 @@ import { GamificationStrategy } from '../../../../project/dto/create-project.dto import { getTaskTypeName } from '../../../../project/entities/task-type'; export class BasicBadgeEngine implements BadgeEngine { assignableTo(project: Project): boolean { - return project.gamificationStrategy === GamificationStrategy.BASIC; + return ( + project.gamificationStrategy === GamificationStrategy.BASIC || + project.gamificationStrategy === GamificationStrategy.BADGE_FADING + ); } newBadgesFor(u: User, ch: Checkin, project: Project): BadgeRule[] { diff --git a/src/module/gamification/entities/engine/gamification/basic-points-engine.ts b/src/module/gamification/entities/engine/gamification/basic-points-engine.ts index 849ff87..0753c63 100644 --- a/src/module/gamification/entities/engine/gamification/basic-points-engine.ts +++ b/src/module/gamification/entities/engine/gamification/basic-points-engine.ts @@ -14,7 +14,10 @@ import { Task } from '../../../../task/entities/task.entity'; export class BasicPointsEngine implements PointsEngine { assignableTo(project: Project): boolean { - return project.gamificationStrategy === GamificationStrategy.BASIC; + return ( + project.gamificationStrategy === GamificationStrategy.BASIC || + project.gamificationStrategy === GamificationStrategy.BADGE_FADING + ); } reward(ch: Checkin, game: Game): number { diff --git a/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.spec.ts b/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.spec.ts index 29557eb..e73ba6c 100644 --- a/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.spec.ts +++ b/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.spec.ts @@ -28,6 +28,19 @@ describe('GamificationEngineFactory', () => { factory = module.get(GamificationEngineFactory); }); + it('should serve engines for the badge-fading strategy', () => { + // The factory throws on an unknown strategy, so a project switched to + // fading without these cases would fail every single check-in — no + // points, no badges. Fading changes which badges are on offer, not how + // a check-in is evaluated, so both fall back to the basic engines. + expect( + factory.getBadgeEngine(GamificationStrategy.BADGE_FADING), + ).toBeDefined(); + expect( + factory.getPointsEngine(GamificationStrategy.BADGE_FADING), + ).toBeDefined(); + }); + it('should return correct engines', () => { expect(factory.getBadgeEngine(GamificationStrategy.BASIC)).toBeDefined(); expect(factory.getBadgeEngine(GamificationStrategy.ELASTIC)).toBeDefined(); diff --git a/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.ts b/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.ts index d6f83b2..aad65d9 100644 --- a/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.ts +++ b/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.ts @@ -30,6 +30,11 @@ export class GamificationEngineFactory { return this.basicBadgeEngine; case GamificationStrategy.ELASTIC: return this.basicBadgeEngine; + // Fading changes *which* badges are on offer over time, never how a + // check-in is evaluated — the window is enforced inside the basic + // engine's awardable filter. + case GamificationStrategy.BADGE_FADING: + return this.basicBadgeEngine; default: throw new Error( `Unknown gamification engine type: ${gamificationStrategy}`, @@ -43,6 +48,11 @@ export class GamificationEngineFactory { return this.basicPointEngine; case GamificationStrategy.ELASTIC: return this.elasticPointEngine; + // Scoring is untouched by fading, so it stays on the basic engine. + // Missing this case would make every check-in on a fading project + // throw, silently killing points *and* badges. + case GamificationStrategy.BADGE_FADING: + return this.basicPointEngine; default: throw new Error( `Unknown gamification engine type: ${gamificationStrategy}`, diff --git a/src/module/project/dto/create-project.dto.ts b/src/module/project/dto/create-project.dto.ts index 0caae39..112de3d 100644 --- a/src/module/project/dto/create-project.dto.ts +++ b/src/module/project/dto/create-project.dto.ts @@ -4,6 +4,15 @@ import { TaskTypeValue } from '../entities/task-type'; export enum GamificationStrategy { BASIC = 'SIN ADAPTACION', ELASTIC = 'ELASTICA', + /** + * Community badge fading. Points and badges are awarded exactly as under + * [BASIC] — the adaptation acts on the badge *set* over time, not on how a + * single check-in is scored. + * + * Picking it is what enables the admin panel; the lifecycle machinery + * itself keys off each badge's own `status`, not off this value. + */ + BADGE_FADING = 'DESVANECIMIENTO', } export enum LeaderboardStrategy { From 9ea4be8cc27a08d3b11bf92a81aaf736aff441c6 Mon Sep 17 00:00:00 2001 From: FranciscoPerezRamos Date: Fri, 4 Sep 2026 15:46:48 +0200 Subject: [PATCH 101/104] Strengthen badge fading strategy tests --- .../gamification/basic-badge-engine.spec.ts | 16 ++++++++ .../gamification/basic-points-engine.spec.ts | 15 +++++++ .../gamification-strategy-factory.spec.ts | 39 ++++++++++++++----- src/module/project/dto/create-project.dto.ts | 4 +- 4 files changed, 63 insertions(+), 11 deletions(-) diff --git a/src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts b/src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts index d089f34..38a07d1 100644 --- a/src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts +++ b/src/module/gamification/entities/engine/gamification/basic-badge-engine.spec.ts @@ -17,6 +17,22 @@ describe('BasicBadgeEngine', () => { expect(engine.assignableTo(project)).toBe(true); }); + it('should be assignable to BADGE_FADING too', () => { + // Fading projects award badges by exactly the basic rules; the window is + // enforced inside `newBadgesFor`, not by swapping the engine. + const project = { + gamificationStrategy: GamificationStrategy.BADGE_FADING, + } as any; + expect(engine.assignableTo(project)).toBe(true); + }); + + it('should not claim the elastic strategy', () => { + const project = { + gamificationStrategy: GamificationStrategy.ELASTIC, + } as any; + expect(engine.assignableTo(project)).toBe(false); + }); + describe('newBadgesFor', () => { it('should return badges the user does not have and matches the rule', () => { const rule = new BadgeRule( diff --git a/src/module/gamification/entities/engine/gamification/basic-points-engine.spec.ts b/src/module/gamification/entities/engine/gamification/basic-points-engine.spec.ts index 40879cf..bbf52c6 100644 --- a/src/module/gamification/entities/engine/gamification/basic-points-engine.spec.ts +++ b/src/module/gamification/entities/engine/gamification/basic-points-engine.spec.ts @@ -14,6 +14,21 @@ describe('BasicPointsEngine', () => { expect(engine.assignableTo(project)).toBe(true); }); + it('should be assignable to BADGE_FADING too', () => { + // Fading leaves scoring alone, so basic points still apply. + const project = { + gamificationStrategy: GamificationStrategy.BADGE_FADING, + } as any; + expect(engine.assignableTo(project)).toBe(true); + }); + + it('should not claim the elastic strategy', () => { + const project = { + gamificationStrategy: GamificationStrategy.ELASTIC, + } as any; + expect(engine.assignableTo(project)).toBe(false); + }); + describe('reward', () => { it('should calculate points based on rules', () => { const ch = { diff --git a/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.spec.ts b/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.spec.ts index e73ba6c..d1d817e 100644 --- a/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.spec.ts +++ b/src/module/gamification/entities/engine/gamification/gamification-strategy-factory.spec.ts @@ -28,17 +28,38 @@ describe('GamificationEngineFactory', () => { factory = module.get(GamificationEngineFactory); }); - it('should serve engines for the badge-fading strategy', () => { + describe('badge fading strategy', () => { // The factory throws on an unknown strategy, so a project switched to // fading without these cases would fail every single check-in — no - // points, no badges. Fading changes which badges are on offer, not how - // a check-in is evaluated, so both fall back to the basic engines. - expect( - factory.getBadgeEngine(GamificationStrategy.BADGE_FADING), - ).toBeDefined(); - expect( - factory.getPointsEngine(GamificationStrategy.BADGE_FADING), - ).toBeDefined(); + // points, no badges. + it('does not throw the way an unmapped strategy would', () => { + expect(() => + factory.getBadgeEngine(GamificationStrategy.BADGE_FADING), + ).not.toThrow(); + expect(() => + factory.getPointsEngine(GamificationStrategy.BADGE_FADING), + ).not.toThrow(); + }); + + // Identity, not just "something came back": fading changes *which* + // badges are on offer over time, never how a check-in is evaluated, so + // it has to land on exactly the engines BASIC uses. Asserting only + // `toBeDefined` would pass even if it were wired to the elastic engine, + // which would silently change everyone's scoring. + it('routes to the same engines as the basic strategy', () => { + expect(factory.getBadgeEngine(GamificationStrategy.BADGE_FADING)).toBe( + factory.getBadgeEngine(GamificationStrategy.BASIC), + ); + expect(factory.getPointsEngine(GamificationStrategy.BADGE_FADING)).toBe( + factory.getPointsEngine(GamificationStrategy.BASIC), + ); + }); + + it('does not borrow the elastic scoring engine', () => { + expect( + factory.getPointsEngine(GamificationStrategy.BADGE_FADING), + ).not.toBe(factory.getPointsEngine(GamificationStrategy.ELASTIC)); + }); }); it('should return correct engines', () => { diff --git a/src/module/project/dto/create-project.dto.ts b/src/module/project/dto/create-project.dto.ts index 112de3d..8072656 100644 --- a/src/module/project/dto/create-project.dto.ts +++ b/src/module/project/dto/create-project.dto.ts @@ -6,8 +6,8 @@ export enum GamificationStrategy { ELASTIC = 'ELASTICA', /** * Community badge fading. Points and badges are awarded exactly as under - * [BASIC] — the adaptation acts on the badge *set* over time, not on how a - * single check-in is scored. + * {@link GamificationStrategy.BASIC} — the adaptation acts on the badge + * *set* over time, not on how a single check-in is scored. * * Picking it is what enables the admin panel; the lifecycle machinery * itself keys off each badge's own `status`, not off this value. From 3dd00e71723b642a35cfb2b2c118224a6853530e Mon Sep 17 00:00:00 2001 From: Lucas Gabriel Matwiejczuk Date: Sat, 5 Sep 2026 14:25:35 -0300 Subject: [PATCH 102/104] docs(gamification): integrate vanishing badges heuristics simulator into docsify (#68) Add interactive Vanishing Badges simulator to docsify documentation with dedicated markdown page, iframe integration, sidebar navigation, and links from badge fading documentation. --- docs/README.md | 1 + docs/_sidebar.md | 2 + docs/adaptive-gamification/badge-fading.md | 4 + docs/adaptive-gamification/simulator.md | 53 + docs/vanishing_badges_simulator.html | 2121 ++++++++++++++++++++ 5 files changed, 2181 insertions(+) create mode 100644 docs/adaptive-gamification/simulator.md create mode 100644 docs/vanishing_badges_simulator.html diff --git a/docs/README.md b/docs/README.md index 69f413f..45fa261 100644 --- a/docs/README.md +++ b/docs/README.md @@ -8,5 +8,6 @@ This repository contains the NestJS-based REST API and management backend for th - [Deployment](deployment) - [Gamification Architecture](gamification-badges) - [Adaptive Gamification: Badge Fading](adaptive-gamification/badge-fading) +- [Vanishing Badges Simulator](adaptive-gamification/simulator) - [Mobile Architecture](mobile/) - [GitHub Repository](https://github.com/Rayuela-v2/rayuela-NodeBackend) diff --git a/docs/_sidebar.md b/docs/_sidebar.md index 6aacc2c..6aa80f0 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -6,6 +6,8 @@ - **Adaptive Gamification Strategies** - [Badge Fading](adaptive-gamification/badge-fading.md) + - [Vanishing Badges Simulator](adaptive-gamification/simulator.md) + - Simulator (Fullscreen ↗) - **Mobile Application** - [Architecture Overview](mobile/README.md) diff --git a/docs/adaptive-gamification/badge-fading.md b/docs/adaptive-gamification/badge-fading.md index fa13d84..6f5c176 100644 --- a/docs/adaptive-gamification/badge-fading.md +++ b/docs/adaptive-gamification/badge-fading.md @@ -37,6 +37,10 @@ In the domain model (`lib/features/dashboard/domain/entities/project_detail.dart | `faded` | `expiresAt > now` | `fading` | Amber warning hourglass icon, active countdown ("X days left", "Y hours left"), popup alerts, and scheduled OS alarms. | | `faded` / `expired` | `expiresAt <= now` | `expired` | Disabled/greyed-out badge; historical expiration notification; window permanently closed. | +> [!TIP] +> **Interactive Simulation Sandbox**: +> Want to see how badge fading rules, interest indicators ($i_3, CII$), and motivation scores ($PMI, CMI$) behave dynamically with simulated volunteer contributions? Try the [Vanishing Badges Simulator](adaptive-gamification/simulator.md) or open the simulator in fullscreen ↗. + --- ## 2. System Architecture diff --git a/docs/adaptive-gamification/simulator.md b/docs/adaptive-gamification/simulator.md new file mode 100644 index 0000000..052dfe4 --- /dev/null +++ b/docs/adaptive-gamification/simulator.md @@ -0,0 +1,53 @@ +# 🎮 Vanishing Badges Heuristics Simulator + +The **Vanishing Badges Simulator** is an interactive testbed and visualization tool implementing the adaptive gamification heuristics and mathematical definitions from the research paper (*Vanishing Badges: Adaptive Gamification for Crowdsourced Citizen Science*). + +It allows researchers, administrators, and developers to observe how individual participation, community interest decay, and period motivation trigger badge fading in real-time. + +--- + +## 🚀 Launch Options + +* Launch Fullscreen Simulator in New Tab ↗ +* Or explore the fully functional interactive sandbox embedded directly below: + +--- + +## 🕹️ Interactive Simulator Sandbox + + + +--- + +## 📐 Implemented Theoretical Model + +The simulator faithfully replicates the mathematical definitions and procedural pipeline from **§3 & §4** of the reference paper: + +### 1. Mathematical Indicators (§3) + +* **Definition 3.1: Estimated Contributions at Award Time ($ET_b$) & Eligible Players ($ep(b)$)**: + * Identifies the set of participants $ep(b)$ who have satisfied all prerequisite badges in the Directed Acyclic Graph (DAG) but have not yet earned badge $b$. + * Calculates average historical effort $ET_b$ across earned users (or structural topological fallback). + +* **Definition 3.2: Individual Interest Indicator ($i_3(p, b)$)**: + $$i_3(p, b) = \begin{cases} \frac{1}{t_p - t_0(p, b)} & \text{if } p \in ep(b) \\ 1.0 & \text{if } p \notin ep(b) \end{cases}$$ + * Tracks recency and abandonment. As elapsed days $\Delta t = \text{now} - t_0$ increase without completing badge $b$, $i_3(p, b) \to 0$. + +* **Definition 3.3: Community Interest Indicator ($CII(b)$)**: + $$CII(b) = \text{median}\left( \{ i_3(p, b) : p \in ep(b) \} \right)$$ + * Measures collective abandonment across all eligible players. Low $CII(b)$ ranks badges neglected by the community. + +* **Definition 3.4 & 3.5: Player Motivation ($PMI$), Relative Motivation ($relPMI$) & Community Motivation ($CMI$)**: + $$PMI(p) = |\{ s \in S : cnum(p, s) \ge cnum(p, \text{prev}(s)) \text{ and } [cnum(p, s) + cnum(p, \text{prev}(s))] \ne 0 \}|$$ + $$relPMI(p) = \frac{PMI(p)}{\text{avg}(PMI)}$$ + $$CMI = \text{median}\left( \{ relPMI(p) : p \in P \} \right)$$ + * Evaluates community-wide momentum across sliding engagement periods. + +--- + +### 2. Adaptation Heuristic Pipeline (§4) + +1. **Step 1 — Period Trigger Check**: At the conclusion of each engagement window $s$, the engine computes $CMI$. If $CMI < \text{threshold}$ (default: $0.75$), an adaptation cycle is triggered. +2. **Step 2 — Badge Candidate Selection**: Ranks badges by Community Interest $CII(b)$ ascending. Selects the candidate badge with lowest non-zero interest among eligible unearned badges. +3. **Step 3 — Fading Transition**: Transitions the selected badge status to `faded`, initiating a countdown window ($\Delta T_{\text{fade}}$) with an explicit `expiresAt` deadline. +4. **Step 4 — Community Window & Permanent Retention**: During the fading countdown, community members can prioritize missions to earn the badge permanently before expiration. diff --git a/docs/vanishing_badges_simulator.html b/docs/vanishing_badges_simulator.html new file mode 100644 index 0000000..c3b6091 --- /dev/null +++ b/docs/vanishing_badges_simulator.html @@ -0,0 +1,2121 @@ + + + + + + Vanishing Badges Adaptation & Indicators Simulator + + + + + + + + + + +

+
+
+ +
+
+

+ Vanishing Badges Simulator + + CLCS Adaptation Engine + +

+

Torres & Dalponte Ayastuy (2026) Heuristics & Indicators Validation

+
+
+ + +
+
+ Simulation Clock: + + Day 1 (Period 1) + +
+ +
+ + + + + + +
+ + +
+
+ +
+ + + +
+
+ + +
+ +
+
+
+ Community Motivation (CMI) + +
+
+ 1.00 + Healthy +
+
+
+
Median relPMI
+
Trigger: < 0.75
+
+
+ + +
+
+
+ Avg Player Motivation (PMI) + +
+
+ 0.00 + periods +
+
+
+
Max: 0
+
Min: 0
+
+
+ + +
+
+
Total Collaborations
+
+ 0 + check-ins +
+
+
+
Active: 0/20
+
Badges: 0
+
+
+ + +
+
+
Fading / Expired Badges
+
+ 0 + fading / 0 exp +
+
+
+
Top Low CII:
+
None
+
+
+ + +
+
+
Heuristic Trigger Status
+
+ + IDLE (OK) +
+
+ +
+
+ + +
+ + +
+ + +
+ + + Community Players (20) + +
+ + + +
+
+ + + + + +
+ +
+
+ + +
+ +
+ + +
+ +
+
+ + + + + + +
+ + +
+ + +
+
+ + + + +
+ +
+
+ Active +
+
+ Fading (Countdown) +
+
+ Expired +
+
+
+ + +
+
+ +
+ Graph View: + 12 Badges (4 Tiers) + | + Click a badge node to inspect details +
+ + +
+ + + + + + + + + + + + + + + + + + + +
+ + +
+
+ + + Badges Ranking & Indicators Summary (CII Ascending Order) + + Sorted for §4.2.2 Candidate Selection +
+ + + + + + + + + + + + + + + + + +
Badge NamePrerequisitesReq ContribsEarned (|U_b|)Estimated Award (ET_b)Eligible (ep)Community Interest (CII)StatusActions
+
+
+
+ + + + + + + + + +
+
+ + + + + + + + From 43c3246965732b132f94fd0555aa9c218bd3a49a Mon Sep 17 00:00:00 2001 From: FranciscoPerezRamos Date: Sun, 6 Sep 2026 11:33:37 +0200 Subject: [PATCH 103/104] Validate project strategies and fix badges-first assignability --- .../badge-first-leaderboard-engine.spec.ts | 32 +++++++++-- .../badge-first-leaderboard-engine.ts | 10 +++- src/module/project/dto/create-project.dto.ts | 5 ++ src/module/project/project-service.spec.ts | 47 +++++++++++++++- src/module/project/project.service.ts | 54 ++++++++++++++++++- 5 files changed, 140 insertions(+), 8 deletions(-) diff --git a/src/module/gamification/entities/engine/gamification/badge-first-leaderboard-engine.spec.ts b/src/module/gamification/entities/engine/gamification/badge-first-leaderboard-engine.spec.ts index 10d3d39..df9f199 100644 --- a/src/module/gamification/entities/engine/gamification/badge-first-leaderboard-engine.spec.ts +++ b/src/module/gamification/entities/engine/gamification/badge-first-leaderboard-engine.spec.ts @@ -1,5 +1,8 @@ import { BadgesFirstLBEngine } from './badge-first-leaderboard-engine'; -import { GamificationStrategy } from '../../../../project/dto/create-project.dto'; +import { + GamificationStrategy, + LeaderboardStrategy, +} from '../../../../project/dto/create-project.dto'; describe('BadgesFirstLBEngine', () => { let engine: BadgesFirstLBEngine; @@ -8,11 +11,34 @@ describe('BadgesFirstLBEngine', () => { engine = new BadgesFirstLBEngine(); }); - it('should be assignable to BASIC strategy', () => { - const project = { gamificationStrategy: GamificationStrategy.BASIC } as any; + it('should be assignable to BADGES_FIRST leaderboards', () => { + const project = { + leaderboardStrategy: LeaderboardStrategy.BADGES_FIRST, + } as any; expect(engine.assignableTo(project)).toBe(true); }); + it('should not be assignable to a points-first leaderboard', () => { + // Whatever the gamification strategy is: this engine answers to the + // leaderboard setting, not to how check-ins are scored. The old test + // locked in the opposite, which is how the copy-paste survived. + const project = { + leaderboardStrategy: LeaderboardStrategy.POINTS_FIRST, + gamificationStrategy: GamificationStrategy.BASIC, + } as any; + expect(engine.assignableTo(project)).toBe(false); + }); + + it('should be assignable regardless of the gamification strategy', () => { + for (const gamificationStrategy of Object.values(GamificationStrategy)) { + const project = { + leaderboardStrategy: LeaderboardStrategy.BADGES_FIRST, + gamificationStrategy, + } as any; + expect(engine.assignableTo(project)).toBe(true); + } + }); + it('should sort users by badges then points', () => { const project = { id: 'p1' } as any; const user1 = { diff --git a/src/module/gamification/entities/engine/gamification/badge-first-leaderboard-engine.ts b/src/module/gamification/entities/engine/gamification/badge-first-leaderboard-engine.ts index afc4e46..2d2f903 100644 --- a/src/module/gamification/entities/engine/gamification/badge-first-leaderboard-engine.ts +++ b/src/module/gamification/entities/engine/gamification/badge-first-leaderboard-engine.ts @@ -4,7 +4,7 @@ import { } from '../../../../checkin/entities/game.entity'; import { User } from '../../../../auth/users/user.entity'; import { Project } from '../../../../project/entities/project'; -import { GamificationStrategy } from '../../../../project/dto/create-project.dto'; +import { LeaderboardStrategy } from '../../../../project/dto/create-project.dto'; export function mapLeaderboardUser(u: User, project: Project) { return (us) => { @@ -44,7 +44,13 @@ export class BadgesFirstLBEngine implements LeaderboardEngine { }; assignableTo(project: Project): boolean { - return project.gamificationStrategy === GamificationStrategy.BASIC; + // A leaderboard engine is picked by the *leaderboard* strategy, the way + // its sibling PointsFirstLBEngine does. This used to read + // `gamificationStrategy === BASIC`, a copy-paste from the badge/points + // engines: it answered true for any basic project regardless of its + // leaderboard setting, and false for every elastic one that had + // explicitly chosen badges-first. + return project.leaderboardStrategy === LeaderboardStrategy.BADGES_FIRST; } build(usersList: User[], u: User, project: Project): LeaderboardUser[] { diff --git a/src/module/project/dto/create-project.dto.ts b/src/module/project/dto/create-project.dto.ts index 8072656..dc6375a 100644 --- a/src/module/project/dto/create-project.dto.ts +++ b/src/module/project/dto/create-project.dto.ts @@ -38,6 +38,11 @@ export class CreateProjectDto { ownerId: string; gamificationStrategy?: GamificationStrategy; recommendationStrategy?: RecommendationStrategy; + /** + * Was missing from this DTO even though the schema persists it and the + * admin UI sends it on every save, so a typo here type-checked fine. + */ + leaderboardStrategy?: LeaderboardStrategy; } export interface FeatureCollection { diff --git a/src/module/project/project-service.spec.ts b/src/module/project/project-service.spec.ts index 38c8b97..a289daf 100644 --- a/src/module/project/project-service.spec.ts +++ b/src/module/project/project-service.spec.ts @@ -5,7 +5,10 @@ import { UserService } from '../auth/users/user.service'; import { NotFoundException } from '@nestjs/common'; import ProjectBuilder from './project.builder'; import { User } from '../auth/users/user.entity'; -import { CreateProjectDto } from './dto/create-project.dto'; +import { + CreateProjectDto, + GamificationStrategy, +} from './dto/create-project.dto'; import { UpdateProjectDto } from './dto/update-project.dto'; import { LeaderboardService } from '../leaderboard/leaderboard.service'; import { BadgeRule } from '../gamification/entities/gamification.entity'; @@ -140,6 +143,48 @@ describe('ProjectService', () => { }); }); + describe('strategy validation', () => { + // The schema stores these as free strings and updates skip Mongoose + // validators, so an unknown value would persist and then make the engine + // factory throw on every check-in for that project. + it('accepts every value the enums declare', async () => { + mockProjectDao.update.mockResolvedValue(ProjectBuilder.build()); + for (const gamificationStrategy of Object.values(GamificationStrategy)) { + await expect( + service.update('p1', { gamificationStrategy } as any), + ).resolves.toBeDefined(); + } + }); + + it('rejects an unknown strategy on update', async () => { + await expect( + service.update('p1', { gamificationStrategy: 'PIZZA' } as any), + ).rejects.toThrow('gamificationStrategy'); + expect(mockProjectDao.update).not.toHaveBeenCalled(); + }); + + it('rejects an unknown strategy on create', async () => { + await expect( + service.create({ recommendationStrategy: 'PIZZA' } as any), + ).rejects.toThrow('recommendationStrategy'); + expect(mockProjectDao.create).not.toHaveBeenCalled(); + }); + + it('guards the leaderboard strategy too', async () => { + await expect( + service.update('p1', { leaderboardStrategy: 'PIZZA' } as any), + ).rejects.toThrow('leaderboardStrategy'); + }); + + it('leaves partial updates alone', async () => { + // Omitting a strategy must stay legal — most updates never touch them. + mockProjectDao.update.mockResolvedValue(ProjectBuilder.build()); + await expect( + service.update('p1', { name: 'Nuevo nombre' } as any), + ).resolves.toBeDefined(); + }); + }); + describe('toggleAvailable', () => { it('should toggle project availability', async () => { await service.toggleAvailable('p1'); diff --git a/src/module/project/project.service.ts b/src/module/project/project.service.ts index e271b36..cca7ba3 100644 --- a/src/module/project/project.service.ts +++ b/src/module/project/project.service.ts @@ -1,6 +1,15 @@ -import { Injectable, NotFoundException } from '@nestjs/common'; +import { + BadRequestException, + Injectable, + NotFoundException, +} from '@nestjs/common'; import { ProjectDao } from './persistence/project.dao'; -import { CreateProjectDto } from './dto/create-project.dto'; +import { + CreateProjectDto, + GamificationStrategy, + LeaderboardStrategy, + RecommendationStrategy, +} from './dto/create-project.dto'; import { ProjectTemplate } from './persistence/project.schema'; import { UpdateProjectDto } from './dto/update-project.dto'; import { UserService } from '../auth/users/user.service'; @@ -107,13 +116,54 @@ export class ProjectService { } async create(createProjectDto: CreateProjectDto): Promise { + this.assertStrategiesAreKnown(createProjectDto); return this.projectDao.create(createProjectDto); } + /** + * Rejects strategy values that aren't in the enums. + * + * The project schema stores these as plain strings with no `enum`, and + * updates go through `findByIdAndUpdate` without `runValidators`, so a typo + * lands in Mongo unchallenged. It surfaces much later and much worse: + * `GamificationEngineFactory` throws on an unknown strategy, so every + * check-in on that project starts failing — no points, no badges. + * + * Written by hand rather than with `class-validator` decorators because the + * package isn't installed and there is no global `ValidationPipe`; the + * decorators would be inert metadata that only looks like a guard. + * + * Undefined is left alone so partial updates keep working. + */ + private assertStrategiesAreKnown( + dto: Partial | UpdateProjectDto, + ): void { + const checks: Array<[string, unknown, Record]> = [ + ['gamificationStrategy', dto.gamificationStrategy, GamificationStrategy], + [ + 'recommendationStrategy', + dto.recommendationStrategy, + RecommendationStrategy, + ], + ['leaderboardStrategy', dto.leaderboardStrategy, LeaderboardStrategy], + ]; + + for (const [field, value, allowed] of checks) { + if (value === undefined || value === null) continue; + const values: string[] = Object.values(allowed); + if (!values.includes(value as string)) { + throw new BadRequestException( + `${field} inválido: "${value}". Valores permitidos: ${values.join(', ')}`, + ); + } + } + } + async update( id: string, updateProjectDto: UpdateProjectDto, ): Promise { + this.assertStrategiesAreKnown(updateProjectDto); const p = this.projectDao.update(id, updateProjectDto); return p; } From bb09d5b576a1cb1288f18b8e2c08220a37dbd041 Mon Sep 17 00:00:00 2001 From: FranciscoPerezRamos Date: Sun, 6 Sep 2026 20:41:33 +0200 Subject: [PATCH 104/104] Remove dead safeHashCompare helper from auth.service Refresh-token comparison now happens inside the Mongo query ({ _id: userId, refreshTokenHash: hash }) rather than in JS, so the constant-time compare has had no caller since that refactor. Dead code triggers a lint failure (no-unused-vars) on any PR against main. Co-Authored-By: Claude Sonnet 5 --- src/module/auth/auth.service.ts | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/module/auth/auth.service.ts b/src/module/auth/auth.service.ts index fca981c..87ada82 100644 --- a/src/module/auth/auth.service.ts +++ b/src/module/auth/auth.service.ts @@ -13,7 +13,7 @@ import { RegisterUserDTO } from './auth.controller'; import { v4 as uuidv4 } from 'uuid'; import * as nodemailer from 'nodemailer'; import * as process from 'node:process'; -import { createHash, timingSafeEqual } from 'node:crypto'; +import { createHash } from 'node:crypto'; import { ACCESS_TOKEN_TTL_SECONDS, MAX_REFRESH_SESSIONS, @@ -56,12 +56,6 @@ function hashRefreshToken(token: string): string { return createHash('sha256').update(token).digest('hex'); } -/** Constant-time hex-string comparison to avoid timing attacks. */ -function safeHashCompare(a: string, b: string): boolean { - if (a.length !== b.length) return false; - return timingSafeEqual(Buffer.from(a, 'hex'), Buffer.from(b, 'hex')); -} - interface GoogleTokenPayload { aud: string; email: string;

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π?D77)HfIx}{V*wWfs_!7GYFC72yT81z23;r_} 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 literal 0 HcmV?d00001 diff --git a/docs/images/badge-fading/screen_notifications_center.png b/docs/images/badge-fading/screen_notifications_center.png new file mode 100644 index 0000000000000000000000000000000000000000..3da1c279fd03c0aeff5213641dbfcf1b263f918f GIT binary patch literal 102095 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%0Ax!*v?8?$FH0zEozUlH%!NWTW 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 X9x*zw(7F$wl%%9^Qa<&t?#=%NWV4Ce literal 0 HcmV?d00001 diff --git a/docs/images/badge-fading/screen_popup_dialog.png b/docs/images/badge-fading/screen_popup_dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..ede6147fe1291175ba5a87a241cbc9451309655b GIT binary patch literal 246093 zcmeFZcQoAJ7dASHBoY!*kVK6TqKn?;tM}d+M6W|IdP@XB5CqYqGowV0(IcW0y|*w% z??d!^Cg0!h{rg?(z4yNB-t}6umKi=Xb3W(nv-h)~{p=H_rXqWXfSdpVf!vXolhS}d zt_eUOw@h!|0Do~L4;=x&uDEK*N6p{#k|%Gz&E5HKN@23YR{fy;wMN)t4*QJuh^8pFJ?b=-*YzT}q{;LmKE1*U zg|t^u)y+l3YPFT6{Rm6@A@6&o{gG>v;*(qQE9_}BoCFfT&0aSD+#WMv&9-*hJil38 zHBKYifAr#fu{0p<9vBV;68I*`qYm%yQ;4B-^Oe8PZbt|H`=>|LSMdM-g;V4z(cdSg zp4TY$32qhq1TNfj{`&;dN;m)SlMvbenGYJB+4_6=BYB}T9T95Xr!i{GNm??o zoffgZR&n4l1Do4qhskp#X>mRRj~@RFC5DQrVjZLryYAs!?slYuySq+RRaM>09fz2* zQVHCrjnj5oXb=(-5(G;S+z1Mn$qtv!R0r!nuBmzS54k_M*juDpEmB#u6%HxG5Mz8D~`;tF?+)2pF=SrE; zpWoOhHZnHWz3Glbp}bSP^+oXT@W>xM;*>He6Z>~|^`wQ;M$gXbf42YR5#`Qy6JnE} zc+zTD)n&oOl%~QGBlkQ>fhk?i#>Gsc!no96YI1mRFe^4TcE*pE<&SUUMn~}G@~-F7 zuBR3hTHM#yCrUxh8cZ=R{_jeC33L-GHsvgciMiL?(<2w#!w^SF6x!9*jdl|P4@2VT(5kycEM(E(Vee@px9Vo#=;-KUMlTCiLRGatLDs?HT|Z`Mrp{voe1Azv ziKupdkh6KfB$kCWUZHb)zpxx(r}@yAIbH)S-1A3TA~9-0X$d2C@!6GHCE)~uX?;%* zym#yO_xC6E6(VlIl7d z)GbL#2CObQ1;tQL&j%#~))IYf?cASv47@x%9S(dLQO5gWHr{p$+|{Dv<8cZ96M( zgT)6A!rK?U&#_|}Eb|=}T;wz~W54FVWR;C0PI>uwR(>tCPLa7;a6OKUjyzW+*X^mhda&6KIi4U_u@1|WMH_0 zUORTuz;I-I{CRuDu~V6z64)6xZru2!kRLC{0KdHOYjD~9osht~w!S`eP*LkKX!d+) zeEc)?f{85B&fT5QXBJpRdMGh=u+|mX7^bYMj6P$ux3N((G)w`j!Ikvk>YKoHF+W6b z@O62O{?<@tHny2~{%hcd=cPX?SXD4HGY?OW<}s?KKTqrI!0a=TN0ta(&3VMYz`*n3MVUEf>OF7|`o*JEcSs)9 z?wURKZhn2V1-*XtP5mK3qT+u4EN6Ns*mEo6dWWw)JZh3tQd|$qCLEYKICP~gbGK$2 zSmeVQ?~_wdjV#c~rk|!NVyI|n`o+ZHYoEYo+3!CsGX6Q%-zSXOw;f&AhWh!@(SV>_v!og#R;EB`xUl~ zBfPv5n=x`yK|w*uN$EOv6A0#Kxw$TNGj@)S@e>YUqig&5HH3tOeDc)caJIFKPt*9I ztx+A+kC`e9402v$w6jc1X4&{e2J+V#&mR6crV8T(G4pRIXxxhUPcJi=0!(aX4^yU)8gJS?e+3!=>@>TIZWf&)G)63-=|XcN84yS*q%S0T;frd-5ry5pAE0 z6JitMb^k^z?Kr?shCVFOiD$T5y3Sn`ozC+OsvOR&vN`?s^Vfy=%9O zyF*T%3|K)K85#OwF=m{pH)Z)Mi(;c96u4@;TZ{ zCZyQV5>L0r_VhlT_IyEl-Zfd`ENMVF3qLtnO>JM-KVH^Y5nOQAJKCP>7pwl zc{*;vg%+88k9MN$yDI$-#QwgI)$#u*(RSmdISUl&u~uhdaF}FVAZ{X+3Yykw;c`*U zpQL0z_vPVuy8fZZC2VBCwbp2DYiqQ@=g1v>HdwLB#jZQhFZpfvH}eTe{H8_C)W|Qe z9+Mp@t%K8owq;*!GXu@hmGL&L)#%1PHe`%?MbVRiSTvn_PUQ7}SWeT&m)t0DtAXTB z=`9yKof3{$Vy@n}Xtt^VfnA~cDs8B|IP3kd^l_awwD-NLgP5#yj#QAPrMlMEn3B}G ziV9ar&GVXYVCYr_f#%!^9AU%t3h}ey;o%N9U)4a|rGqn@{AC${ znRfJ*i7GlP>F6Gf4o*zeqEFK>Bh%CMbS(r6H^Rk_Z6A7xraKge->-uzD=S|=s?cNg zUd>G;iD(0!mS2>SHA$&!akpT5chO-ghEA4%OuNdUxO~bXT%3?kBJ)>BcquzgMXbRK zg1=@k3L>($mKF|ytSZR>ACRdgM@mW>OD1beDdZ*xhr8hpwD8?8AGLUQ1c zMvErO%2B&A2L}fhvg$t;Uth;y;{B^{7f(2hf`JZK|0Ey7-nlaoL(M%jWT#jCTamV+ zqC%nQ^Cb?ln)>LolEufz7gknk5yreX8z>N=R^^-jNGATZsJK{rll+bJ)0kgNOF21h z0~D5Mv ziTp4-PS7;R5#3G~-JbpO$;SsUHxG}}$1u4rFYeUj^n|%>6Zo7QeO6;*V`_C(Li}|w zsIOkRxw#Xz8(~rsVEyyS+Py(|c}hsQhkrGezM?Jb=g*&62XJl$MMe0<*>P6-;@RHPxp9FmbC zN6#bnB2$a`Ssa=DIdH(F#Z4&-F12pIe}rXGp8g1XAYIBY@$F6g;S5Rqn>TMZDv47@ z5Somt%h&Htq2nVSR?Jza_xA34H;_|OYJnLZKB)XoNGJrHQp+oShB$dB6ne6}1YcElap&18icQQ7yw+ou(hzTn2K6;uNx`v zx=K71?2H$@fux0GXJ>V`+ZjL5aOhqlc#Z=8aI~yrh zT3)VU-IpG3IbrhwWC(X|-?njf=A?k}@bj*Y?=DXG^;qqv`v&2*#UWv6Yv#|NGWtDM zmh{1rw2_gKO#2RYCw2gZ$;ir9Wb-R1D7eixzoA;)w{nBS(X5Vjq+oK_m z*V}kY0Nludr@s0?+{}zU*%=c<{!pQ0D6ut7bY!%3VmxzBUY^WD5N!Yy_sRxlu;zBy z^BA5XQs~AU?^s$?@TKE97>SycRfRr#q9WLcTsT0m=Pi;PP`zPK3*euttLwx7g$`01 z-@x$bEHuu#FEz$~f`Bt+fth10iQBrmP&W7;%#`iaEIb@Qjn+`&is)!+QA8e<@f0xJ zw^D<@!`T7&7F3ieUUCzHAFQZ@ud!TrA9tuumB@Ny>6A0l9YqXA@kIb67DScRU6>;l z>Sz`K$t^6T+M{XuQ$iZG^xRe^3S8pot@S6;sT<0EfCwVxQ3DW6U17X-Lb^#0spd`o zuhgy4^EYns>LYtF7&* zDvOI0MIc!!EGklB>+R)AQBueq+B@}4{`|Qk1#v&3jYotlD_G8=?5mA@7>MAnbj02M z#*W!x*Sfm82m{=1r+Bq;j}mw`5T-y%`ms{4Cl7e^ss0B9!3Uc)b5=AaC^y>~3$D1% zB_+idPOpXJpFjH4z8F&}Fd6hWZ61FNHl!V}$0v97jM(|8$Nr3eMj#Mc>gu%e3Jh@o zx()sHJKwXgaJY}1?RaDXh#k7Ri2#l9ou!tPu!A)5VX^8vit*>IQS$(Ifmvt->1Iyb zT9a%PB~w?e17C_+nckuOt5>gPFh$etjlqH*ASmZI%K7*REB?Uc8NwX^TQoF?8gg@x zN7^|%s{v>XlBY~lPHQ^_0G5QpcNW%FoB?Q?o&R*XylhoFvz3Jf+oZqsqemx5qKRol z)Hok~q6YwdWxUK>ngyk=p^??q)wQvhYiTpa#mgIi-dJCxq>}HdiHT}6^Zqmck2^1E zVs~y{UY;@)As9pR^5kn4uc0r3o#5z^LNjCDjU&K5uVt9!^fRuLV&) z`q1dz-Pd=B?-Zj%hL@Hs`dq327!%Vq0dIcWe}5kM@or&Z7I_fP*2G?a=XCu81{HXo zlanLGhEG%gG86`R;ENwDE_&}Rg;`~s_rj_SM#hJ8e){cXE&*7jla}mMWdOhU9-Nhy z;*6K_>Ki#F4)vy|Uu3pebR{*G-NQF9(5iAs!vM5$dbDj#W7xA?ua=crrrujoF(C+7 zJvrs&6)n#DDI=I3+4o*1d(Ts3Pn6JvzOb zHZJ{o{7t~FIAlR! zYww6l8u)nN4C!(tzHDR_`mh?qEzA9LFaXE~QCufISX9YSqQd+d{<^P$@)0x&?r=CM zyl^;e*`;=PWF!}4Zw`jQga>q#Xs4TXHZm@~4As=tGn13adwY93VHL#&YV8hu>m4z4 zb`B21U_*f9G+rs!<>*Dy@ULHA@QRBO#(WAEbRbpQaIfo1Rf&&JL;?p4oFoWsDgKVQ zp;RZfnW-x~77Gap@$4KF(iaXdfHXXmAL`@8VQ*`z{+wj6qvJi;*9Ha#;V#tQ?>NM- z(gd8Ze-EZN<^;A6c7P5N-Wp~PSeEbK-^PZ$<1(N`0P3SK2Io2IAz1?jU=Nb)oWj3U zX{X(Q@>*tt1TCBl*3;K#XJb?FynXh4ZVWRg-@kOtc#hQ5Opq!8urjknu=AaJnwc3l z&ab-T4t(G5m_|RD$GwC={^$6x|J#VQ|MNkAXZ`;j7W04CWSirOQ1`<;{v~XS-UOOc zi8hFyh+keft!-{jY?l0;fencddeksh+NHl2 znmRq5fBr@7TbYF!K=y8Sp*}cV1A&Z6G?#rhSO6dnnJ?UX^YZcvPiTX$ zCAo4Xbo3Vgj74gf>fY^!e2a@0obUq7s zQB~jXc=*)KHttn}Z5erP0fVVro?f1AR#R70RVfExE1D)p&B~RK@jOY2qeW z0Y{wQnz^<{4m{B6OT`ET68S92Juh2t2um@BU6P+mh}xaISij5$skP&p`mR)VnZvg- z`uQW4`mav_p{UpZf^f6DXD06JBl&6!bxZ5nQhFO(8?J_%ySPYfpD#3|RwH%i1~U63 zrA3_>(sTq!Gz3Uu0lYPtGnbE$_AzPPDF?VA+}q!@c5v`M7)bXz)?x~bM0?q7%d8aK z-d8H)@xaAb{gQqc$Hi}_CMTy+-e~598)|@?!Anj}9#-`~djROlEq9Ndx132mC~qvH z@p!qU-ni7x&K`b|>#C#*)@&T#xFgWK*f|?ahwfY>b6uLVc@tNXvP&(q&J6YKzK0Gb z>w<^(OA?VPE?U*q8s$;pPwdQ^kOn7f=2SBt~poe;Cx zO`?q)?Dt5dQxjcXnrh6OO=}IWT1CK*{#q}^;7gk?n%Dhe1eZciI|;ep;_f#W9az$M zP9(Whw)wWjEAm4Wh)!A;FJA)qM_NKKGCW*RT%`^3I1SNR1@H=l{lSivg1o$ZlGF@c z<}{t)?p(lIS5ez&8`>i&qoyUohPa1LX0|WLu9&LpK`rnM ze&O|zj+OTe`FT7vpLKc2W4g67yTC_OS9i^fGUQh{NczdqKL8mDh>9P5#WH^Hego?b z=xg}W&O&|0qRh3ReNZzPUKuaAdZkIpssh1`9G;ymkxUEKGB7|KiTj#l)6q>}j2h2S zC{?#oFQaH{8M^H3S&K?AuF;q)2OH@w#H~K{@^Ps zeXyn(8y;Q}KX1QGt?0L|5z};XQayZajiGID#Zt*XR#sB6vvF3#k+;Ns-Rf&<=H}T# z!a`sWsLVOpvXX}Yl|7swyysl>5LSOmv~Z(ZmpOjWV}1Q zdL(bt=j@4k?|`6|FI&^K#cx{P)H_yG829#h^K$NJfjqdh-d7#uCyBO^Z|@qH%JPfV z7S>Koq#nvy{PW`bW4l?_?X;L zZzX&+bG#RIk|EMLRsHquXwN|`HbxTHhw^78k$TG7LBFUIPRj- zMvvyiH30Ey?6X-;R7t6~@2Q$`xL(ok1Zc_S%Km%3?oqj&E zVEjrPP@$;9UEY}nAAXK$JzKH6zwl`qOD`_YQuO5aPR~zTY35iS!HP(t+YTm*Rk7GH z6ZtNOymetS7>vENI1iOK-ze6kx_!Re@OI%Rt_+YdbD}jja|-KqZMtm1$MLp+;|sXx z&e(_L=(=9E;Q5_Qk&32*h_ALNUlmzjPm8~pL(+r^)DaXa_O zvC5$v`1l8>NB+8;(|Vnl{Z-ZNOWR&s1>A&8wvUaTr75W@ueK74k81_+n|WIq&|IMV z!B;By`9+V_--vjPyJ^#bM(UO_op0)fy7~Nbo|+&d4wLc?^$R(=439=if(TA3+hNpW&`y8OkS8P+}7XUI3r-!%h<;n)0LH@ z!Id-|Nijxh@WL+_=)SV6e{DMFRXoayNjgTRYcG~z1k{FtRvoc>X6P3C) zJ8ez#I36ao~B~&<|d`7 zsX5`8-(bfGi^Y~tZ0vc9Qd}IvbeNNdLAi(?mtt#c zkA(lsx-OXt*x$m_AGhKYgj^>7U4wc2Q@(jUmg$cVM3(_cdSE(Gey{sY10TLND(kMCo;-N_BYZ+fXwOhgU)x)Y8qUwph5R@Eg!E~$&WT@$Ik|lw zL2fS@Sz9ZAxj*z@EkIxDK$@_}!F4xfeJu z3pq12xk0%eO!2a8I>1vLQ`TlTGE!4&<@AHT(}4?_ovjJ@*9`x|R>mRK^n=y-L=$!W z3A4FiUdZS0S(?vkYR*~m7(tIzv9aKmcQ~gr=xS(F^n-1f2Y!@ObX(Gjig|>HKrb0tj=S%J4>OQ9}snrMs zbHm;qi}&TZIJ&a`*jMn1?7wrmH0g1r{h)_u;fA}k0A-i{?#oyeO5yYeFjkKpQ(2W} zS~jv~BLV@|>jX|Gc>c9UCH0589E~7r@559U8(XQ%Z zWgtb7Q{jXFT`qa1#i=M@`zid|i%Xqxxc6GCWU$*c4~$Ogd~GPHW-nzU>pmAHTl5C7 z@nuQF`R*1243A$)V5h^mWs?u749GJ<6J#4-u+A%a2F;0W4Bm0} ztI0`%xgwZWW>z|zebF_u@}kSr&*@2>_V#uTtY0x%60Z`Qn(b%g-F>#U9jYii<;zR- zo(fh!?b$g#_v*K`vopYY@|~_>CdrUFA?`l@GjUQ+J(5-a$NJF;YC4g0D# z7j@UZtVDg7=TYj|_@8e8%3E1mSKZZDqrb230ndCEBS&A_TlM;-3(#?( z(J9yb$5CQIyY;n$tq~6o3-o)5A{`yI2`95DXY<;#NtI{T=uLffO67QB_r|t*e_Ka4LS8z|Ffb`Y>Z%{9?^%UnVVQ z$QFAbHVmX8HI;}TU8+OR3M<|0yCq9g->T_UV=1$n2H8mdR(eGzw3~Z z%2uB_U*1Z{*CRPe+aC2f)FJ(kefd#1%h`ugf|9=2@xg%5f8o!r>F)VsmtU zBM9v{=thMvJUldo1oen|Qs$gC)0})vrZ)|CEplw`S6Oy@^>m`yYk^cD_l<8`?1t)Q zFn1l}Qe6;$CaRSfidDtVrGR1XN2zNVAOIHE<(mtDRIzj~CZt3t=~mF@D|SCUi;J z&k{c!WpA^7J{}IrI!EH3CdQ?VPKLGJxqEwi4w>Wd0H^B?yJOY%;eS!cld(o3ft)JI zsIait(9=J3P`^_u2_gsmOs1z!^%o%sq&=VS2ki)(QT~-;ehRnas_x|79vc@I4FEWk z4azob8PY}>Gp0YaE~wSjogW)F6Cnyq`s@j>T?LNkawy+xA*8MW`mire7gPlLY@#_} z0WmdC+g*a~xQmL+_v$HGWCH)-`O80c%&oW2RDafV);1?H_JU7%&8*JX?`XZ=dGTPC zdrfR0ZLDVQ?2w;;q@beghgEmR1>ngoYACkPQIE!OB(BTmX`rNm@X{loxv7d49~9P| zd$B~*J1(5scSeh`v_#vJN&6b}r6}VY5UsrIzOs6D{d&+pqW)(MjruzIlCd~uKOZkj zLi!(F71d;xrABO?Lv`u#{E4xZU%&25x9gYGiyT>rQbz!71ftSyA5Pi@ zJw|3|X=#zvS0849IhSSecY?~I4%XTtCVL`%GsmdHr1-QbEJ~UFW8@r4Nr%9Z7NbyI zK;j{Wa(7g8J$rM4I?H{E&sS+-d7*{{5~xN-KS2|*CJrZYKx+~{G#&-D50}XXfVEMF&WkLPDmWiJqQN+q*fqMOs_B9i=!8PoH z1%HWkQ@Y5iA@+GN>{?vmv{_u<)ocbnRC1fUf!vbj%jWVs}pC_X+<{WJp&cF^3u;@f4=53mYQN>owm^r z7iU=hYy5P*%v3^Uet!@VDb3K644{K3c0-|^x~Qo9_wNUbg}=MvPp?Z=^IZDr%>soxYXOz9FEY&Rz19F3Wk+7ExqOPyafOrWA}Fb3gxy zwQe`^-30VSYpWy<0K%hn_4RWP4}%09afu&nw&xc8eE{41F6BV+WSzRAM?WD=qlTW6 zX#Je{A_r_{OD=I=M8>~4v-rg>F-XUM;Rjr(%}!JWrJJ#^benh|wFKc4aJ+M!1R+=K zY(Ha6G`-iVo8>bF!42$g6R0o^b?odg_!#@PeKQ7I?c;iIK}*@70k0sC zt+{QUw5O!6M?W;In<~zhjb7bd+^%p0kPhI{LXNFz9dpU-9XzEtDuzJJ_xzC&RuJ%UUeW=|LjGr; z0h1Iu`4o((DPY^f&PlvrZ_g$8J8k5L4@E+s#MAnyt`Ba(bTwTo@)#H^9QWS@`d`j& z0|Dl<&>>oYQCD19N4yu#yzUSaqbu*+78z-7*2D=UEx5Wd`=Yuw-pdD%Bcr11-1YSq z_Ky!j#V`J0*9``|)hD3dNlEF}x8o-dTiNFj8{-JLAl%eh=t6WM>N9pXigcUK=bE(Z zd|rnSq&l%%pSlFgkfd#h6>c{LeBwsI+$^LnK_L*RFq3+%KxS7gbl;5QKR$$}-kDAy zp@=uu+`?0j#^h2j?8oe7&|{xS`BEqyLj%SEe9cfWD;Rq^qqy!$gE^D2~w&u*UklAYW5^o;s!j3iABM0on5x#@oO9 zJ(;Epii()O%^9nISjWj2#64f(5!r5jH23tBqnZ1ocMH##`F%s1RmD00Nu$V8<1QqP znjA=m{f{F|$c(T##l6KQ=bZsA`53{PZ;+m3`gVpKZ-(ou6KD{pU3y4|t027K@zRV8^kvZSU7dPDZ zsC!8A7nd|=J#-20a0p(Cw6=In;u z0&s4Ba(!(L%inZHapyLXosFklqhLmCXAYpBmtgiopvZ=HOX$ROo2**$wntG9y-6Sw zrF!%W1lcqHCZLA1vqOx``l|uGC$rx3;mV&j5rcyoQ2)(x6?YF1$&?-dyqiG`sN6zu zC-L#5b}(2%U2(%a0aaZg;9xHfb(;p8=f42K+0ya$KbXg5H(^CRs&_)Wdi;@9vdxKGz|reBJgo&M8U7=>1maQVda0f zG^Fz&y6FNtt7qbzDC+s=i)ja~JQY_aH=@KC#*k@aZCEA^iTlPY0;yR|^ZJbT*e<9$*IB)nUvlFvzoBUAYI)+AB|{EePb zJeP<#55n!rFW-#+Jk1U+()O$bR%TUUnO}F!l-PT4EWd0(U0#FdKB$tE78cbT^(yy* zk}43#lT%T3`WRbU#`mSpjx)23i~o&5;Squ6q`?wVW5#twaTG??_nI%prl+$2&)tiE zb)wq&dCtWJBT_6sr&3FI&fgGJ{~1y5Mc@591lB}$=*f27OjrY=EK~h3_C8R;+=oFr zG=V#64JBeqSL#^bEvmb038FgbtP=--2TOE7R>%dR#)nxzSs50}`w#LQ%ZH zbNXxx=0YGi4G#VaG##;>@3@lOcKbfdvm_}!Cx?nyi%@F{#WPPHgMnT&-z0jZVM<%D zPTcq@fcD#(8220f^W#~z2EV;5=2W!sxG;n>FSz3^0NQUezg*qF0uUq9BZ6X7fPRuD zKqQEwBCTMgL_8@eGmB5-(Uh7%&hfEVFFuC!<~1H+eq?a4T#KJ0A7~~BWi}#3Ad9uN zE#pByfMvx*`g$rTR|IhV?Z?s&;5Xgg={r5xZRM!C%W{UlqtJIhbXM#*e2p0qG0hF( zOt<05DonBkKGoLF+q=8nzMxds&^`r}^OoEaNT;n|(H7zU9fc#iVdtrLur4*Ik?CQ; z*bK7K5JL``w~KUV^-IsLG{uHl^i>0qXEgt%D0a;<&$wP)%d zE_;?$!#o>u;#W*dBihZq2j@!LRZl*tIL*1mJqFm6I-0(4ediUNN)RzP*!GK-JaTO} zt{q&~ z!NB>H_xT^iH3tV4Z<8yg92Acqj|QcOhD${l<`cp6qPHYpqhfv%oV}r+t@FYiAl0L-PXzoaq-5Ur8 z$fDP$e2xw_8+@ei@VoRqjwmd>?2Jk!goLvJo-ez74wTW;4Y!Y?Np6=Ia}YnjA>(YS z+HEn265f#`mL<5%G|)88WnnZ)=-zD=*(TSG_dgl5ga-V{U6y!LkMW(jREzO6!U#oo zT0C9E3vBp;Kxkm$SOlU-!`8MCNUk>cQh@jwG)w^r{viu_WY_jlH}`tXT*jpsG2}E% zd>*voIV6kECw8MJH(~SFC7R!evc#*by3hHECQ-6~Yp6vSJGp1*7K#R_WOl3PdGs3% z_NJHeqWd%G{+Q;dmPsi+tW&{|%3Xz!WX!-cf!!vjBx`Fz+3NhTS3QHPE5%d%??<=u za0wx{x8_(hRIiwN1QQfljf_qr`hutg9S8KZJQ`2zWKZ07(YjiwEa%ms%r_2qqMikx z5Rp8%f`6Ff$yK6C-2lv`nSo_kFlaGi%t1b0nU zlT2=|w))iQ+~MzYryOdd%jYM7v6g*i^R8O2?4uSja6WZ2)uEX^HEOvjxdQp3#}2KR z`gR49Vp_I*IYTj*nbq4*M;3vuB3%1F9fe}BEj2Yf6g;qdIHkmf__OPFB*%C@rOoBQ6g=FR=yJ+hKWDua zePsrd8Kd#fm12&m=`|}~>5Y51RAN87=M_c0qE^@-m2ohw%^cS?K^7%_06x(Tz0_@2 zXsd_52?;dov=|I;GYfB9RCpE#1iA|OLqLR%dw?cQCZ_lqSlq$cD}Kl$bz571x%vHL zlIZqP)?f8;ATzqUzwfpAp9OcHnLqd}=64V|nB+EFtzj5elIkrT89&8eRNK%fy`5gQ ze$vW8s<=e7t(bHFWaYxK;q~uSA##J7%~VLBZ>F;x=!$a%*;!v7GbfE2SCYYzSJa>e zXf|Bk%T;7Ox??(rEG%Ik7ZU(-6IlY)mRVao$>XXmAW=lAt|f zUZW$><%S-X)=t!RI891HtR2KvBw}}iI7q{nby8KV2T>FIRav{=qH5gVtKPa|divwR zYh@)R8&3;8YNrdXS&DmMGNfTDOmwrES2hCNeZq(;dF*|kdca%S{i4w@$8N)3i+ncL zci2DjCdNLlnsFO^r|bteIk?0Qn@c(Xac?z0fLI6tJC7!#!RV8-xxBJhF3tzUCxX!6 zkLmRDp)a(Zs`}|R7;>s+t}cY2US1Jl-QcYA8y`xz980i z|8;}Q(kIsbG8aO~{IMWqE+DNFvWJ->MxG)^m@6iVw77CDxH3Jt3g^%2ef^sTZNFPX zIHG=r+yI3=8!Ib@{25U7AKm0|TOPI*bpJNn2H2cA(Qh10;!X3mKsG|Yw(e0W9w-I0 z^kk|G2NT&&JipV70x+V#cYl1$3j1a(ei7?HHU;y*ha5&Guh~`c)D$$9r~pYkka`$4HOg9?Le^kn?oT$=??K~@Fv`(ZT5=JT`m+7@*6- zIoKYgbU_(LPaF!zL3w7v;X@wYj+vb;Y#=wHbgfU<1m=k_=DDw)m(6doKrq?6alQs)F|v7nmuPLl<}xITmxsGV3gH}EPo2_+2)Yw| zSzx@HbNc=w;BX6BSInxse8`AyS(F|S&Zi9x zkLN^-{ZS*P5udKUXwy;b?gs9BVx*QVF_B=hq`X`LqmrQw^39Syyp4xfi73Ct-VYL5 zORgx%Fo7})%zN_jBHG~nC6nqH1bAsvQj%C_=0S4}61ahDGQn8!G=2SY92^WKCA@P( zlHi8q-*451Y8OX~pXn_wE|ODI>2N;kLT!SKb#iLba^ls!K>!5@$_7%W#y9!k9&luK zgQN`I_2bLPyVZ?(hJV?=E}u(Gw7*wTZv3+}QMil_(s9Z!DDw;T z<(?jQMaARw4>CdCKHkJRz0Ll#^DhUGaP2M~D`i8n4bZf+zRO$x89LFS>rS7!pb`tl;6Ym?3z zaEzXEEs`ZVJ(T|QhX48%{P5Y;>TJ70`HUz#Gh3ZGvD*E=-;>vp=9fJFP?Q^_4fn%x z?sxw9$y0VC==P25+c$z($tt?KdO|0yAkX=&^y> z5_8$;O>@FGLI2>UhbXdTr;Dd-_p=CfbV6bx7!UpSB+9Jptcuq`2MOAz;pjojys+zm zj*o8NNE3H84wG`3G9VWon4HdXweIU`#*#?~;<`#GljQ`8CXNMrIr{8jFn^DsA0ZM1 zA-G9)dGRO`^=J0_h?XvLdqT6#e3xp|#EyBSaFKCjU^a$K1<#2Kr&o8jNf2d0UGB83 z!)`$8AAnmz2}Kt)&KAGP{0DRfGRJgKu~J0dsH(0+VDzFvc%iK#8K=SV1oM$j%prf?0^%8VUnVcl2 zS{2CxfGJ7Iva~R_c@}qmLf}|d{d8_#2*b$eFlbWgG-Gl|9tSXAjvmYuPYF z3LpZ(uss@tW$)R15%~K)$&t}PL`k0t*v7W}+B^yhx6Ac#GXTl?%l(Arwe&ua05{6{ zJQOfOVCqeMXOwaKfazboK1A){QPx}jK|52Z_@T85-8X82jg!yona$PhMudOd{gfch z{_-HTv-R^+&Qt>}+*&{f3YrEO;%pb21|u&)Va*Z1M;H--^HjeFv);D+iaIPs6oC^N(qcQ8u2kIxD&`0Ot_SE2 z1CE84TR3~7wpNs?y8^}BzqTe;bsG{6$}L&~lwjn58{&>UGyE z_`!b-3B=N41<(Nu=Lcq0-*!`AXL5p#54t5*wSJzaBm1-5CBQ%NHO|c$=9vvW{B@@vB7j?kY%VLof8yyN94ok<@*xk@^8-)=DP(AJB4wt-^v0 z{%HoLn^aiz#V>o{J!rkJUk9ftBn^E3F42N5P!q%+JKqCVT zJK5y(*x;Z`3kK-cofvWRJNu%Squ?|^X*Bj@_#Ggf zNh5!185-6h7q3DBe{1h$Tx@M?l-7YGRpxi3vhT66aTM0qOAz@ib2gpdkH950S#Mgd zJi9MnRZ~@XDp%75MdN$)=_#!@!huSI>rPVb>V?6IF>|G3lJA?Tm(`}>u!Osq%!rK0rrUd8E5$)rv9JfSzZqOml&1) z@2M^%qW|Bxh{f;kZMC6SEArQ9D93#_U1|?5M(lwsrL+vR1I$BZo8Q!*mzZpjn z?gRxu$gJ6|Ta@YTQHtg+#N3M%rAcg2%QBy7AD$dU1w{6ny?Xt|8Ska~d!V~b3^?`s zXDYeZ3Kv%Ei~zumscSUWL2d>b-ZX8x=R6-dDlS^`Ch3K|#*_Pl9;(}`0S$Xex1Ztj zqt@W551Q*(s8u_*iNOOnN&UeB5dEU4MDwy|WVP+4FS5ODZRMj+{U?0=FtbpAa5~T~ zmJX*_lg81>$&=-Ed)*R1t-o$}yc60AocYD_x=W(s*e!lY{dLeG2p(X=0lmUAc~GX& z?jN8|Qpy{f7J>x-rl6R$xlns@4j1@hBXT&J_5flGy3VjgO(x=Vjm4f%8#nn{)NE2L zTkz~P0YR7DC`)jIzfbYom3c>g0iGNh*x45~fqien`CchvqWXbk#5ykzf7vmrD(@dM z%?U#f70C7t5dHfOqbe;swKN9wl#tZX_4f9*>&p+9c}2L2X3ZNOw}ZW;Q&_0AJ1zq; zs{lv0csaMOE-zz9ZiQ+aYO-YyzL}!9xLVyL)yITItdy0ZV$zO+KE57~xwZrQs@DVP9H~(( zsL7-Jw)?C&Zh;n&$2vzbTOTr+iRvUX{LTu=9zM*8y$@O>5Jf${rjAYyHq#?t$snF_ zmDQEY^$Ewm>)wC5>DbsCZwnM7C_$qP6>Z?Y0?@6B*>ytrILF#GKdFzQz;*?L(@ zgU%2GV||?`kJO%~f1FuRtL=W~(O?MZCUA7hnfud6w{2kl#u18yd#88=!II@uR6x6H z=gi*$HQ^W{3b|fV;?2|a?Mp7&5|qxs2{99nxFZKTpcoxLD0CKv_Sl}AVP$?UKUQj_ zDJdD0kdVl8;cLW_P702$NfY&RpJHqhn?qS)FqP%yPr@X{{P{N)soYE8kE##)a>F#X3y>V}Ezb)9c7lF7#cHC2-0H4?ucp$5*b%JLo z@|X0XBhzQoKdocLzesU0h0d^pqZ~Z^8bAxT$8f}pySHsF#`>RTh<|Yw04GQ_?&@o8 z>oiQU?O!_*-njoQir=Hdbo^AW3ysyDdF++dRu%sNe&PIbf7Vje zU#ws>`36+PMMH(feDsQiHK&C!;hmqY+s?Jsjd`+7B7-2P{zSe1d&&{pz$3($7as1CCg>&PbZShh`hyqr^O&R`@K@^ zN&!V$T3SWAyBQS$5d;+}DFJB#$pMCx7U^c_8hYpf24>zf-uM0f3%^+JU3cBJxZ-@C zc|K2^v(G+zJM#?uYRQxn-=F=Q+_g2eTl@S;aBwgKBXh6+CLMLq;|*r3?Dz^KpyyTT zD)$Hn9*yNs@BEyNpnrUUI|eN) z-a9;;r9UwA>UvV`|)iW+IK0&gvjsMcYQOA8E{isy_+!N z8|kO5#MNQZfax$c9#E`nZ*E)x&LFLow-Y2EY2MwU@B&DHL=f~ zT{mRUS{{2n(E9YtWsdZXbEg(pM!O~own6~qV@!qYVh+OWsQ0Lv8SX|4KrHnzoFEghx9m2I#tBgLQ45Hd#T zb4l7V$7axFkOynfeoAQBG`oC+vq10Xhx(TcM$uiC6SH)INoANU2hDl&=^dfYJ@;c0 zKEy3w-O?8vyjiWI$?|~;u!GNz(I|0LSG+%Q{hAMcE0-`=No69~wLVR)YSbcWHs9RFg>qIQ4g_Ee_B9DK;g@|fUVdPbB-)g9QKF*6~S0d*)Yb4 z*4ZyNJt_?;C@I)Bmcmgo*E7ASR+o^8zEw8bi<4cSL+n$a;aTb9M>hV5yKpMNoKCK_ zrhkCB*LdXN&&Jk$Y|{ODE*iIL>dk9zkJ8lEWA*F$4od*qtL`wXSm#zdVRHe>&&n>K z3if`1igjP;GjqS9K3BzHOaJkN3(JC*lFP@C$0-n1KW=FJb|%&y z!l+ZrJPJq01nh<}wdEb@aAx%PwQBQ8y)!#@XfYWuWUYnGXV%oz%Bp|<^ybF9#El;+(ASBk#CbzN_PA74)i8H1%`_sWmHJG;JzjzQ)K1*{WkFP^GgHe(cx`L| zY^|)!EW-h>_7>9;YcA1IR}HGh{XQX)qB83tOawRer`Gb#^sf+mAOpKmt;PNK<`2i5 z*w}sc9y%wdD&QU`W+6PSorbtC)h#+An@gvY*zS%pEvR#>Z=8MIy4abX&XxI_u+g~f zt`KD^9=xwG9^ZDgp6<;2`sOtQ$ja)Rj^1&FmN*7_#-|*Fjp5ILFa*gI0m1+|T7U5% z(3Z9`dr-paL5z9MDO}uc7B)6Mo5igQ@_Iy)#NhFxwQU2i781R8^MB?!U(3zTQTH*3 zCu|%dV})9M5f3(l&t5jpKRi;MAmJ5Rvh1#s2dGH5ttkps?t)*n;pDVC7bJH(oZ<47 zE;!e^cR&`PZ;@T7_tAGb1s0#- zRQm?{TCMZ%L@0tnhTNC_{{DO7;^8HS#q0wbM%vYTvx1TQ1vERw>q!YuqbMV3`_rDW2>2p#MkIWYm7!^4eS!4o;2n;j6XcH?_g%jiz z$po~l2Rlx2 zp^z=%N9t_Uk-xk3n<1}_Ej;9I7^hgYhT^sWmQWe)*fhtfihCbC4Odr>ZT0o&W_7E? zcY3M6bep&GJGMQ!j_dwSVUfa)Zt1^q*?`#pHb&0l+MIS&kEdyL$ZZ30*V~*UpKhkq zW}G!()p+5hLxX0aGvlz4J2vR_+ZT1QcDr*?hQVzTk?bA08v*dXC#AWAvKKpXTrs5YWV&-e# z95ZR}j_9yvQ%|i+r5SIvHS0Rs=xJwW)!8{Z$YwRPV{|IyM9Te9PEVel4U1$+#t~O^ z97bP`Xm62iqmjd2$UbtGX}ity!29V^(#NTE*z23w3X6_(g3OFHsPwMUJL;Kti2?ZK zgQ3m)h>~Ado~QF4T4?cny*#3@^>YK?8aA33z(oS9pq6|A6O(ZoUAE_~%-a?6HZ zK_^BI8s`Hqm+N!6xVTz6FPn5!4($z999O(G%lM~zcsQ-Uzoeq+)6G~;aYkJuqmF`G zuj}mLKD|HI6PpkC9vs@1Fx4x;#W#n3YB4QvSihIbwQ72(UniEGZBeIu?nGUlKQB_- zunK?QzHAJgHNc)ooUN0GuGEtLWn38r#mDXx+1NY`1_KONK`T#sBstZjy$s++{87IQkS?1ifkI_AeX zsRWq~UG%LF58}|96T~Xztr#+Za9x_-Cn&BS^m0`)D5Hmur%id{2N-rVuu8$f3df4hI#XhF%ChXJ`_vHQD!YE&!u7S^n*k-CK2|Mv@s zJw)PrpL+H{f?lJ6bx->=5|N1q~`g31J6xaA&5AOxKKT>JFIfHy- zK1gXtGU~hy$0!Nn)@H~oDY1Q`q0p+Z=rxSgnfN=sKEE?6y1#o!b#{@Vay+@~JuNNW ztj>1x(l#6Y88${rI{hD9FjXA11v+_9+YYKa3KklYRjT_{Xs* zrNk6J^t>co@n%s`!Oz)Q6F}!d77W@@kGDNIHql0^_k^=5(=zg5P_B&i0vwF;)$QeR zc)HFiwsEhsCwjbOI@;S7ScsthInM|o+rB`L;8%K58Ev%G#mTAC%tcdjwBjy^xw!cp zn(}r*(~6B*<&d@Bok|<*4p#Gbo#0$OBAmA2#xeFR~ZJ65F__QUP;^aAA= z&-0+O643OxS5o-9I|uRJ;86Xg1)~iGg^z5UqlY=N_ZXDCY}i^6D*`tB8ho@JO!m)g z%Dk>t@$if0K(N)5z;pDDGF+Rku}WIm2E_sbSvfgvx*;O5-UFe2r2#ffQwGhvZa2og zf@N-q4A5P_phB#$uos%&kFfGw+kGRIM=k=hL25n!HkN^&bQUJH%ZHYP+T^Y19mDWB zT@%-r2PM3oqoM9`6Xo;(G>aA)NM5?naBPrUIbC5TXT_p#EZsDXigV)0?Mvl8MCC?z z6KI2i+M*6eWZMh6Jl9yRX68VXA0_&)-9(Fbed!sQHO9kPFSlA*Wtl))iBiGtnvqXD zFhDs97?-5iInodO>g^9_{8G;q_zlwo@;4pXk^{Y4UlUZ6twoQ8bYQjNuQOa8jrL$q znRjaJV6x*sN=aR;mZBPPQCgQfbpA+s_U#na#)~NzGo$D>%*BY8+H+3h`-e=(Cj4`Z z{j|l{hfAeJchLpwm}!g2#}=8Y(8Z@}u7MD zwK9TFyP4iRP>$DHc%4&c94Ox>hKIQ7NOr3G!Ze2qA$%z$v*rj~x``a7^ zZJjlBzlzfxWxY_!%#!&j#?gvsquACzf~G$f7ni?Ep6^^-%+eBL{}!955ZfPP}@2s3Wo|pAAkj>NVBo;Ws*-Oi}%yV#(L#(6LKCTkK*Qy;GtUFX3^&wV&+Q z}XcwCsD5KvM+B%liJb519mec!>|g(vg~!CCE7uy~B~w8ZR=wdlu4<@Kz^_){W!W$;J%wBtCx;Ot7?}5T}%a zu9WEQA5|q>OFQiB>>^=i#m_*5ZPsfxdaPJr$dP(^iDfy;?r?UeDU?aQ%qqp)P*c;h zBXX!r2WoD&&5rapq;6%_FO9B>cRZh3|ItC)InhptQ6CJKBE!Cgjig!H9sGfdgX0cu z@QO(DXl9N$73Lo>$M0E8;%h4hX3&;~bcc~5x^7Yu)6 zSTS+`)1N6H-m+r$P|mtg?DL?nz6)TM%OfKtONMN!3hGY7UtsC~5wy~}N81OQP;e9p z61|F%vVhM0&7%$kB;s52x4)h{4{GxA*SDDOeq0R@vuWopF?lxC|Jyx}fq{8!bC0Zo z34$e3S5|j-)Dbzcgy!9I9uax34R4@SL14Q;JK$~o^l6H7RC6P&5%QUc??!K)Uo{@x zY;idB#->yN-b0KaR0FINAGOFxN#9r)SS^95fjpO3XeIV_?lVOazQEQuN@b=z}Hna^9=Sp4QZ2oXB|li zukYJ7X}$*fdR=X`vJfK+mbAWTkuVZ^?WTT*vAgmlZU)WA-eh=oN~c6@d&9j1>+ym& zmjCysuJ!zoWS4areIFJ4nfq>53Rc6s@Ur_Pg+Dp`g-+|hFlM%mKODzgpv4PqXvnUV zdfUZ~Ne+#57&mU?{%e)}{7!}_ZZ%EGV#%>=CO5BR&^2AZeJj&iwyCM)GHYUY{meV9 zlC2%GwblFYt)A(`h@_ly8Si2JhQ9rJXU_+~*j2+ZDJ_#UKBg6kZza|w6lp*4Zkf_k z=Ad^j#7Q6V6+~L1?N~GY2X*aOg2c&y0O}ULW0ND^`(7?(`fQ_W{8`!jhZqUSGN5{y zTJpD%UZs9J1M8rxBJNjfpTQsV!VXG($!2$W=N)l(efH)X=L#?i{JJ|HeLCYe0~^xJ z#nOUOML2WP$ITO#mOnRWG;65pMUZ~^5M9Y4m>yz4@pHil>zmHy7R<(^4A3HHZl3AZ zMTck0_tC!2D8Hlbt>+j`N^$~N^4^cJAo6+!8mP^d3oilZ#A%b;?t9?l z$54s}nK7EMCYSx0yK=VxZ(UrT?`)oLy{r%FZ^f&dnd<|#HK05h-V=Vg&iuzp_Pi(~ zSk3}& zY)+v9uxBg=svznA_AN#W2uh$(adG`!zxUF&Z{J4ZD1p~wVQ>Bv8}DW3RNWs*OY!lX zjW3sbrJ)bL4!5|vsAlpgH6%6l!{h7U^rAcF?+)~R))C6eEm1azkGF71OAzzP8XD3O z5ET5QZ>j}#&fYDJM(F?uiJBMeZN+bnJ%wT{`#p{RMRHTr!> zJAok=?`?5SnJeF2(exR&-yv|{My_&o!^M#S*F4L?-Vwd{tz zRhOmqjtx&E%F&%Y??o2+=5iwgn;hkM;fRvIuh@Dbf}^$%KeEt-*@!7_;SW7`cOBXV zp;JF2#Rva;kQJKDgc;@WB3@eBvqPqfLv*3et_#hPhC=RzyfVk_K0@ii$9XDwd2WOz zRDmM3e8fjL3Z=4A)~T=JzVBM}E5R6A`T?nj8r!N>U)QRwLA58R&Cu}vaEZZZipMEqq6kCQP?iq*qlFQ5 zF9z@f0E-lJE(t0Js#Jt~xIGEnzWYW6GD$JvMO1zSY%pOdK~b${Y9H z@o3z5u(tizk!+%k6q%$oni^Dk-^yuh(sD(So~)2Pls~@g8YodgcoXVOvvYpk+zpv) zSe8{#P!Qr05uv%ioT8$kt%qt$i17?%>X{9WD%k1ekND=i_uGUCyU>Q$(a9yx4}Z<8%cAl z|IdQ+?6|{8c%MKevjpxhOzowQ4;$TH=ydYYD&)@pv}93WXOT3QvCZWTNj+xWAQC+P-T45AI_KFci6 z(gnFJ*zG<0`{f{zJL6d1JK>rQL6(V0%#mh8mR%c7Ez|y?9<#o_p;VCHhqC$~4AmX_ zGk;!|z^(@&uE$CgA01~d?@v10l8b@VER+&w4D{5&KtlLpWZz3okpB|U6aeYQ=I8)7 z(Gw}EOxfn>PDzpOeP4%u zcRhvl_@|)vn=T-VkHa{JfV&e) z4@i6?GO|ZmKzD=}06L>z1T7uJ5~DjegMxnIg&AE9ys>XX9#>ILt^7X!PsHzz8ni32 z7!n^;HhI3fH%Igw80$|{kvMo(ax_iz_y>y5Or%ew&W9r`Uf5R(PGX4U2Vgu}mD!M) z!g4D>+hpZteMXIOMz!8uw4Jc|-xe}*}M zC@Q-LM#-qti5N7(cU0*P8*x1xfh&*wH?MXAkRgUVHO3hp4qX6#D54|d@+|JLmem4NW4OOuVYlV-q=0vWtO5+MlwArV4eJ)-jSYwDmU{k$U!t*|3Yw#U|# zr|p2S1pg|{#N^hJr@Bte z$o8tVHBhB$P(iPc)l^-%!qVq=lByuL+Hv;Gk&|N#klyZtSZK71kCk3*)$R(NM_Bli z`eLYiJ{A6{W(*z-Y$nCSJB69BE=lViNT`JiF&2l;)2umpIW}DEy!6hi%OdfTZiXk0 z-H?Zcxp6n^^)yr>dk1i>OSX+^Y)XpHdzSN)W2rT-O5-}S zie7^J?d^$LA1IZ<(+L8_Ft+dR)S5L%Dk$M@sD1t%?ZTy97V7MhSy-qJ@@au1d}MZh z=^Y8C@2=!|?#?GcDfwFAkoWr>Xau<Tg=r>_+OUG9771^egYd)~f>yVF!U144p=l@Uh*ZyrB-@qVT>l|zzOAEIt~JtC#pfsRdMj5= zE5a31Z-YRWE_C_BDGX1!qr2sC{ESvIbS8rsK}z+Z8-g7r?nad$BbE!iPHD@3ULqCf zQ^Kze?r`UI2C{fZyP;qLrOp45_JH0y2$Jch5mDMRBc?t!E1z`#9je%pu1KNT63{qPIj!cVJ!e|PmJ%zJRv!?)vZ2#^vGZF zc281?tmht<)V@#YPpxtjLQf4-z82F$plY^Q3$l2kKB)50ckY*~k zL69PEon?z!CqrP=GQR@RsHmzc7o>hb!(T024q7(;YpWC`Fom~#thO4@OFRt_8OT0q z1wSI~%n0VcJ7ILB8A_5*Bee@u87SGQq-SBReyrhLW+W)y#m zz+&Sb@4A@T3;FO&MVl2Hz$w+hJ*$eGf>ikjXECNLeV`;irt{#Z7VwvKfkF)>ytE1< z{X`Y90kHciOA&;Qq50~A0b*SK!QYs|a_@zW(9rGj+3dP}y&xHVAPzCGT?IMbXvTm)HY{<;Hn zeX>p9FeBw<0Qkil0KD)j;IlSZeQ|PenOl47_w=ai8W^;dRkmoPm6QmAwk`?HOijga zs?wf2As{C96I4-u*3Jfx=Yc|e_G-jU%&yqXF`{udgzRzSz*<{}y-J|1C+22TaOH=ku5sT`#cl zE5}BvaxMnRv~LT>+Q>F3+`b4*(#{lFDwlmdn{Yxq9g4;3Gk{odZ*p9*x`SVjMcG_u9_U>A z6c7;Te6V}kpvqZJO|IYG7^$Td=>jB9B_(CrijJ+VqBJmMo0vRC%3t9MsN7V^PEWf{ z`i-3B?}kboB&6~e=zwTK)%YwOS4MWBI;xU{Jb@&~eEX=V2SUXVBqTjHzH%8>lx90I zr#-X2@hq&t*mHj?b5*i5Pev@kDG~Mn2tI(8Vpe*(_CT(o<^q?OGY7}trN*{cT|>h^ zC>v0afbYKztSo~nZym^pu=sHQ~AbBPiG4R>yl%WW!v2eB~g=*xz5ubKaWgHK=w~x_wC{4yoI!Zk$q{RX$;yU^dv(YA6yRTl5a1tCN^7_EbHMv zJc33HxFPR}iB+Ue|IG2&#z-Pk78aOcY(7nuB5;!0jvUB=>!PRx4is--^dOBiABq!K z>@rsb@|Tg%X2hHuZ(&c(gX#m{YF`|BeAS)aq-yNeQ2jLTXz6-5kR~*Yka!@7l2z!P z65i1PAS%iTk=fv1=_BVe*_9FqX;HcFiswV)_V5;XTtyOrK=2W%z6oSFHu`h(o8#Wf z&Fg1?l^7I+5kXp*+tWG!Y-l*{Q{2kEJ~UF{Aq}u_x=P|*_e3z1ko4J3XA)N$&%(-$ z=i){|H%1k)TgM`p_yF5@FcL>tNF-MKSg4S+W%Y!5iOWM(jCPimYKVgkmHh*u#8z9; z=t*U}WRmS6;h-2i#BeLoAY}4SJvdzD>?%#T;;rpz6-h{t?FTUN@$p^D%YSomlIOC= zG)Jqv^v-(idZ?(VEY$i1iZ14Nj}sLkTAI%7xNGz7iOP;M9Ib0yN#AB9y@tmhPh*w@O;`?qLLssG+;mNzp!92y1&<7#e#fxOTDFnc-t0<`u^g&M4}2}f3ekv zLdbA;Z>IxDeq8oTUtz}b)9sBV{p()%9AfNtsBM>#DBS8Q>652^zpWw?L~m`LbMw@@ zdGYk&EV_Ex3jP3OXqd&@C4VmZ!(@y5Uul?XVnGb5!=Kd2QWY(>8L-Uy`}^;S2a;}L z(MMFFKA^8E-PYDlTVxYddo{LC*FN6=Bo%W8RJm;3r2B2)!Y%hA8n#c9PBWjG_amz( z;8F$4Lg<?BFPCB&J@o zs~rq#kpu0k84K*B$L`vj1Br1`+zK$RxUc^1FK)R0pWpe48!5y<9B=~3VH!LY^zJ|+5dh{w+6M1Qf*&5l9M#IQ#W1eE)hce-u_0CTH4xug z=x!Kk__!a9289H{yiZ z{A7_dno5VwG{TM@QP4^}^mEteIR9yQ#&%0nVn&77W+QQT{Su(Ry~uGy)Ml&ecz9LO z>y*q)IcPVsK>zLNSTaHoxpl(21_yss?=4lgloOOLg*5?iHM^MutQA9*MDaFJy~c*% zs55NmQNMnD&&(Wo#O4J8XF!00qAh>FLAkS>knKq4CT3a(X9RdST)Vn@dWE*|IcKx( zPTJph0nm=b+_gn!0s-wNV^??g7jSkJ5KO2(Wqu9l-)9&W)ie!q07=dQ;(}l-2#~7X zyx6y~@g+d^@jbo*|&lNos7H*r1bH_9c0$9nsYap;zIul@H*7tnIQ9a#iP*q zh#^ex^0KvV&6+&>J>jpF85Tjc-#a7@?_r|SBO|qZwkBowH(Di4Mole&8TH!86?J1t zu));c{(+yLC^t`ZTdG3TS>KC9F%^n1P@jfVS==ha1Ua3PJbVtILjopHDp$;`i~tY9rO_BQ$SZE#Rpi#?lmj= z2>IL4qL2)dyx7bfuXVV!EG+I473ub%3&0kS7Zeo@cY1sdc3p=g-g`P2Cn&F=RPH{R z4E+{xM}6BC1|E9(+L#wx%ZA&fQzteEZD?y(@MOSPs8c9>0SY9*jKKGHnQ6Y@1D3KL z>EpiY-fM)Diwg@ayJdscuEofqK45rMd*gE&oya4)p2#F=ASmE*ryMD;kV2I|*7Oe$Hrbz5#}sm$*+jOFKKV>aYv@rChk z9z1}4ttA1wDUa3Xs$V1s^C|FQ*#MsVtfR&kSP1JZ8_ZZ2c!5~kB0hu!k(># zdDqZ>kS}ME!ec^`c4Hc16BnqA;yuZLDnberyV<0Il?}$zcFPxLz{1%|;t+D|%KL&XB=*^Y+7zM1%^Z?29Dm zP`TlCMi}JZoG6RG{K(eMqZKnSQE+O_MPHXoF-{R7RzbUOAG$}cGatm)+7rd2ig#Z^ zcD2#n9V%7ulEhUT9$u-YR{(1}j(K4yME3Ow=<2i>o*%$cy`m5f*dR9tZ&ORIHC!5K zvCh)acz8Xiv~BV_i)V5XjJX9ExGHOxmY+W|`Q*`~)b@B$?WcM-7nWlRNx0tk z=j4oD)bJX|I>AbKc|MwHg-PcarJSz8c1D%NVenRejd6C_p2)3BK^6YDZ!P@k%LX49 z`Tp&pa-ZrY!df8l8WNq;8kINWvw@c~c!Qob=Db?-p~cWWbp_liU8J@a zUt~<1iAYD`;`%&B6iL&u`AUB{>5mBJ3|BBsE) zm`zOCuZ|wY>Ku6mC&aqa&64W=oSfNJixQCaZRE>cbq z&V=hjgwfySWK%nUYO)dZ@@JUKe^q|tA=xqtZ%OZ`0Do$KbR1t7)A0#kN!PXJRZ}MfZ+YM$VaDKDT$Q?&V9KWsa}yI9#l} z4PvDQhwJVfyc642l2Y=-Yv~QB-;Hs?g8Z6iJ_fFZj>;CLS3Yy7w}4lNh6+A$jzbU} zy2?ce)u8X9q|^q6D(WtpF0}%*V}ebg+w&<@l79*{)~)}Z_q}8v$2m-c=#pwqZXaBCe<^sO!b=24c;A||D!&h3Rk766XE(-d_$Dk{fX4n zN8q5apNQLz^F^#8!jM2(?4JQoxke&lXAJc)^oIDR_wQGxWjhquQ&gQ~Tegp-)#7y8 zLmuC-aC0H9Eb#x7sP*|;NnEvcv%9$>H%;+~QvAul#dFX94;SFm)rVyF)&h8JT1^AW zB(L*jXLT89uAs`t#}zL<(AF~5Fx7fof2jjsH9j@mm!0ifVT&7FYyR`D)B2GmlYGcA zuDk3H&yznqUvDXOw23cUG9z@IKGG7w>t_@$&GzhdG}P=B}y%YmCAP(Vx7+o9j)xT~vtP zo(qfH3=*Qa%k2r`D7BBPLAIBw4lZixM}5$}YA5xlxp~Ubjw8y_#KJ=+Qu<4Mr*4kI z>KkoC51OVhCZlj;iyViA?nmD4b2oZXiXqxxY){9~Ej3^JR&P*Mt*0r&dg|@fQ!iJp zzA=ueKYLqGPn_1#o~$Ne)N3tV$TwvCU={gZ)LMuoJUl!)F0Q`JDG>^DQ-k@_!VU-S zDzhd?hBybY_1#N%qFROBRtt|KQQmucilC*S^wXV45I@)#s$ONNu3~VG)&Cd@R#pw*l8Hv z+d+n>U%E_^X`j48CM=Ito4@Acqz)Qx~`hAG2Z`ZgsgMB^d-gdP}}yD;skF7->wVgo6G)t!HusUUy1$tGXEU_R}?B@>*RnOygy6FEyelp$FIhT z=`hL095ix$->53|`VbNgy{5wM6BoR_JSNp@-LRu|Qjb`}Z#Kpf3AY&xe#^M74*O5b zhQ09i9?_osM0HC_-;(RSzQlM}Lw;oVf$a;`vzl+O?FWK1I--_5`!2Y&!c>#Hu8zE^ zt-bc{#oDKo*)YWZjjH{{?&L7;^7pT9T5`tQPJI&GI=uDoUAkO@cj>IB%1lpRpKq+- zruJ7>V!-Q5Lw>$P#lePfg3pe~NR`tS2>5G?tp;f0KNH$l(7P*k2){(aO!}!h^L(YT z-jL9bF4V$l_rIo!;r1|0+4p(c*Z)u%)K-Z)y(23eQE%sW7ZT{syHM97RUq%&!(dJGq3ff!f7wRng zZ@|T*0nebmI{U0Q&^fGq_Ot5!=6|~G{K*}bnm30h*D9lo8n^zQ0~3(fC^ziXVqbRj zD$i+^GA|rgyRRp0ha~PdLs2PW{ibzK5#h*|iRT#dxJ#F)`ZI0?zje>9+6Bd!d63sF}w znCf#fFyKCN7A5NTG$&WZanLtKKjG0A4i4p&kuoP$6PYE0jeZUpq*@)UtJlR}1C8&7 zgg6tbMk-vadk4doZ+F<>UXFkM{*lFm42Wg6dG7O>sS?MGOG66UQEV$tn6>!DmHO<&&aNuU9zh(?5;vGY6cMIyd6erV(kbPwTXEks;1gBQf#G-nRa>RzjC}VNK2O6u>75F&gP7% z^DEyYNobFdE0u{D$FjoUAD2>Yq%bLrYGu>tS9zCV4t1=aN2vzA1WcF7NRl|am%9oA z8GkvHzE0~qQ(U@_Ur3K$nVQmhFQ580Ok&?&-G`O-`hr@53okpqRmA88{R^`wvymt| zE)L5?7T?{;FX+Ou=Y!RDh$hZ<-~EN;{kl{Q;`M*0!xG$91uulR>oY_3K<@k!i;wpS z*Uy4`q*F4_chjn3Z!U37DNu7tEt7mGX{rW#Y5ZJx1<8)~wx`#!-#SK-YVr zU2A7$bYR`Lq;aAWH@@WY#rd$Yd*sSpkXy&@dRA)H>Dg5m&yQRMmG$bq6}z={R+eeV zBaOB;lg3ZIZ5PSGj#T+QP7(S%Jz}QdcIrqCoJXQnzJvq1QYVb73jUk>+II}LQELJm zj+l%PYZDR@dhhC%dO9QwY{N<4|LvgEr<(kuj1tbL>gwXB%R3Sd$>DoYPL&oaT_G## z-(4O_-!&rc6R+*i2>TKP$EO#I_j2~6o-p1owNH%%*u|T$M`sYW^vi$~*YMJ;)fWk* zCjOr2Z@OqpdiKDE`g-y)AFRQ_;z0HCqQ)S~ZTxMJ`N@-_dK-3Q6>r$J^PET0y38lW z$9=PnV}=cd9e3@U2Fy&;)|-Tgy#lq%4GMJYbJf*lKTBpD%W{){N3ch&w|il)FBFt} zZ7cB*rDNpCfXZn?%$E$ZSh~MIgDl;Qx9cx{(EH6?p zOFERPY8bph=8vUU{m=ZI5)lD7$!F!?Pm+Z(y8lSAI!#8{O_y|`z{26m<-50J#Ffn% z`_Ta9>aqeU<%Ey--mHgn`S?cxh)86Go#y_YL4Nvo61JU-2r@YG?vwjmjM*A~+%4e= z9N?Hz&lNVvEGt*PmNF&z~#4WeObs>zbQ43tL@4$0&1K{X?GAP^vkVdEYMKY z^+1@*r+Dqp9-gJ*WGYR9`$5ogg}qyHZ&liT-{w^t3jcWYBxuxNd34l~maIk(;d_=_ zf_M~A>uc{`t1-Y*Id&{QyZh$}I&Q=HMfooIB;9NvT3&>ZMI4LIWTk62EAa8cJUvGS zs4wAll%e+ppkzJjRQq@<)L0+oN|P9O_ye;OP5JUKggrchf@ArAYCkRwtalKX5*_w~ z)CUXAxZyM`oiOjc;?A>9M#pVXFJzRbDDeRbG!wzx64=tVy-lNuu}UxZgY~9-D~$5Y zrUy@Bm-#&&Ufwr(RfIE9R^(RNwE)W~sb{2%h)VRqtD$+nQ<~oF?5HL_+0pq=?rJM^V49%i_Hc zoE;a8@7a!4eRN7ptlPG#oE@8YuEuP7h`Da4dXG&q$HvFkRv)xhPi!ry3-2~R1d=)V z!`CLor zpNw}Kt3?pPh^O`6mkhXKhyA5bQn~22NIK2k&@WxPMagvk-TJx>#7)mbl3;Iu@5AnX zY#vIBTm&K?M+5mIbB-4PfaM*!raHc&hg=Ir>_0+dll3WyYes~m=_>7D6-jZ_6yAF| zze#kC|1NE?u;bR9s?|?79%Yi-RUXog5!a4ckC#xqpa(BB+DqZ#!3ob6D6cW;pQ>2< zeRda#zz>Atqhk^pNyksdG?#x@KCjqzZ_n;bc$lay#P0?N>tTpz+dJndC?-!z?mpDM zpw8~EBC#iI<(Bl6eEO%c$b^=}!J0Iq_sr7)ndrmQbzt|i-miD|EF+oy>WE03s2ioI z+X^5$4~iGxH8ft&w#(qUrU;)vT}9Z54ec;Yy%;Cr6rfKYJTus3yt}xRXOHjC2}S#O z?V(Lj9siE5tGW;fD#pLiIj^Xk^y*_&x2=8%TaLEI$vx_$2n#1(f*w@~)83qlN~ z4#pmRC(He1S4Ioz;5stm9jJ2@@majbWmFZCnK{P9pWQMk9k@PGdn`^IFV}(9u|7Ri zy-P5%R&%Ix*lNDu?LauIDCXYjf)+)3wZ6$eKT7^tD(N*Q(W@%E=k+tOIH!t(DTQ4G zae*#&u}t~D06Wmp{^wPxCkJcWEK~MT?>;JAi|Uw8m)yHsVuLQ35cHS2U{|sJxQWk4 z;Z`E|1h^?;7ssB6xNgzQMCmg+4RMIjQZb3WW2qvflzjT)Pk))Y7H32lV<`F)q&Mom z&=B>@2ft&&vQ+ctSnHT9eZcPIQr?ZlixNeVV)*4k_ti3tw#oQ7ehlZZF_V&Afc^OP z>k&h*Sxs_-i_5v>v&{PZkV-YR$VMUBSv+1%GCt9ZAO+L=f3jQ0RFL|2|3wPtb2^(} z_y;AQ%B$RGNbs18p+RE+@L3-~Z1XRVloc+Oz@5Ll*WnvFio*RITyJV@TrW&KJcmYZ zORO`&dxGe(G-GUH&QFbnC68u4_rcr!}+9_8kio_QWOyB`d)EENSaI3(Zw`vKMa3r0!zIz=9uu)=|QT5M-4@Oc-C}N^Q_k;1 zom_CnzJ2{~Psdbet@Q3zkBaDR;xed#)q_XyRM#a|x>E`p&s;Jauc=DBh6-Lr$7jlq<#>v9*p*J| zdVUOK@-&w(Uv419{OT%kzh|?x?e{j2n_99Kx6Vl~k0PnUmJ#G9nMGbdaHVpJrs5(8 zuqx<=Z0H2Q9Hri~XJFv{F4rSlG5Ka4%#5BhS9exN2h^h*e)B+NE(huN6*?~c8e~*; z+n=%arrp6ozR==w@`vwv&Ope=b5Hm^2n1{~c^3T7rF$|4g5UdKNCxQUp<=v5Ah-N&fV!*K`Sp3n2W^ z;2%uqu#l~A))1vH5q1gg-L7y}wEP=NDk?LRr%?(?PwSWRDnpx;B|boAK83ccHdr%s zT@eWlXJu}9?dE$^4udy*-;l>cx*9jP3WXh}ZszKjy={%+#%XN7fNW$CX(vg^a=%x- zA*t<8XXkm}gT^q2%{dDFQuhl{dHRMtMs=N?JfTdYq;?5Yny}wIzu_PhoeL>*-L?#S zA$g89G_i)@gC~u$)PC})sc9N!{EHK#h&O$h`2I7!TR-|vQH*d{qf00xi9;O@v%{Kj z`I$6%OVw3zY_1zORbFaO?z)9IkE!G)BOQz6`DHJN+bqQV>gl8VA(q7-96e|uJP1*S%=t9n1k-mj~uqGIgodSd(Wu|}h&FV*7<3|wJ=(=5PWVWYW|Q!66N z^?^rN_+3)c!=f{dkcE+4^z@nz53$5qmh#B`+y8PMs|S>!0!1l-6t?*YZ@Hf^%Oe(+9?`dP>yl;D0Pa!?c4VQ4>?#_WY{5Y z@U~_gEH(W>p+FzN)zNXn{V`7?4^SjB*@u6!?s->Xe*Lsk1WtteinUU`(KUpc(K%_QpjT0NEKAFv>Hj}3r0>CMqm z?Ap@!0mDbiJw4jr&-^wq9d0A09SN01M-|U!*VAD-reVKtNi|JD=DfS{JBkT8R2iE! z@Ndad}TSn5P2#gUn(HYLCRfmvA%bfm8o5ViV0M;2$|I80bJPS zVAfQK2WR!GeRHguhqkt;NeRc~#;l#FEz%CcV4I0Wy?>X-Pw}s>zFvJ#(PEb9v(rh= z8fsi|h(WH`2C_^ve@+=Jc4FP|Kbp)V!`PJ3Z&~Vt7X(0z{ifW=Hoc1E_B~CbtM6$V z>HUynzW5|H6r=*Xvw6NjZ{9p)6!)YyPDyFToc;7hrqWQhSgkf9TN_oLtCrxgXz^1f z$oAjc5Tv?k4?A!&I__KjNtTN0i6sZd>4QCPdq_1EBpRy@@$2&~;R?Qz56^FIZVMT? zQQrjv$+h(+vq+Z^OoA6Bz%I}FCH|W`@2Bt2JUo9T^z-BkF}N?XONc9I;BN~cG>n;Ez*Cz|jGKiRI{&WBZ{*L|o|*jp-FR-YAkQwylF2bDq6#k|8_b7LUznz*;*# zK5pe@LqnTJyVU4=@5jaJOCE+kGo-tyj!>uDe?_Tk9!LZsU|D(rqPolaAJhTt;%cd2 zqB5HQh#{adf#g^uF#BH(E!qQ!%k)TrAIOF{0Qku&OvOUA-J%aD+W@eH`T5xzXf2m4 zRb8xVE{!uyJgS>R367f~$NSP&1dI?U2Pxx7;&nB90G^5bR_7s$EeO&3N3!DV+R1H< zO+2uGoU(r0;Vi&Lu&5?VEOg;+U^%mkeS-PtLJYGz*y$ZFz*!CXR!8U{r~ zY{}6bEVRx9QSocfwUADQkNq2dVjSA3?!z~n@7Uk`3#n}-rn zRrQfRK2}pFjbvR1J}-tz*324CT)Eji9k=HLFAix?QHnfE5&L7K_TX< zrkfde;y6;uyZWBC-GP>?EClS`f2yY=(sAPMHu=vNnC(8N_al&X zkuIZKQAFFyT)mu-oF=;zQX&;|jJs8h$wsp^3}+6-7bkDjPJBCtM4m&(O_t=^Q;Uu*sTas06(*^JWWcu>$08Gf*Csr2WWKVJhgRe7-|I!` zg{-!P1#~A###ye)ti5v^=sXaVy{AAHsSD%`#pcy`b$rnQv8I7JeRz;(nG^ zf$ujBy0-Eouwh5bjB6diMR3Oiw<2jGaMw(%DVaxw)g!VoKz#`vd)>aE?3=&Lssn7#Ma5C=1>$R05433SVSY z^&i!$D-@ni2nf&}MQs4BH@Q3<2~|KHD8%nbM(YLiVU=8AIP|h_d~+lxroR2vJ@cHF zLu!vpkL8w!W-qF2i8DkC2aL$n?y{1NtU8wNME^Lk&|qdzcr9ur0Cs>X#Gy15-yvWE zI3ErfL`;3iZQQj(FyHC;wUoARxqnQYBuq7uW+ zTaD1qZ`u25VB%6xHrFB1rgNL1Mw4E=fx}Y~wn4Dq`k|}y+4#$+f#a%Mg}fD#cz>+e z8iKr_W3(3;NlpxGH)bw$3Ch56-pbJtuBU;TMCmYvYS2|S^D$jQ(lwGX-1$(UO~r@XaBWW1wQn{GW`j{j_3T&AJ-(uiOIFcOrlcltC|N_x=$H~AJCdGLoa9RFa9z4~ zu#X!@k(^VnA#dF7(%}V0;V~jAwtv_#cxF^eq7;mP5BGM;aAfO^Tx2~f%tJ?`pwwz{ zK|)l!SZ5Ox%w%u-Ab{eLMJZ%{BU<1X-G@i9d+CDfa)lwnjoFlfZv6@GYqbWkS{OfRndN)${6 zDxz(zfzn@_N|2cAZ6Q4)mUK{(IrOvKIv+#5t!eLS_lo)&8b@NTr6jqKmZCY>0a9io zC)5bL0x2u>>5%=MSJMV_Hnp^ikTnGAf<|rE?_-Ep4aoyD^DK)w^GN-?1C@fvw(74N za`R?X3#(BDB?Eu79my#nBZ8a(&DSk3QCyUk{u|pb5za1_UdkDcpXkYdg(@E z>YgBhlufZ>{LeQ7PII;-)Pmo0)wViLtz?^v#=&qUskbK|t?_nv~)jV0#i zG%#Vi{#dtVv@OdPJ)!%2gB#qX=CL<_U$D)A=ocsH(EV_Bm}Oq5sBZ+VFyo=A>6YtP zO;>?z=1+bx(rOTJ3$T?;0 znQ9z{pZ@wA^S6O`d6Z5)c_eyheC-0IS3 z;fhCy?m*JL5=h5Am_x(jY9!V-^$N3rMK+K!sm6#+qU2p0H22I_A-v7K72n=00mL zY}TYyYS>JUn@RnF{K@f5Wzc2!+btGbr&(P}UM}w)+ATDs%JPZtSboG?#+@C=i~I!p zahcqgd}9{F>c=Xc5e@dK7QPg&W8j6B7YD9BqcwA4)>|0<_T-JEyc~zM5XoKmHcOSz zqty?+!t!>!RRM#QsT1<+!G%VSuTPXpF-MguWo?x*5NX}m6VlY^Q6&m$GPT0N0(6i2 zOaYEy1u;lLL4+Jt2Ln&k=k)u5p~prvw^pfJVw4`)WiCIdtc=Vm$E=Kl6C4Z;X5~H~ zqJ(7m%_H88Uj?kubDzz97X^^nc!l~{K;@?lkjAs#7{~e3k84j;zn#9Zs0c+v`r3Wv zq__Le25zJf5or3$jw%bh6qcN_ddth0k=Pd2wkCZo)q?Al-+|0XU=AWF+frYmAfJo* zTdc#BermAY&jSG?zWC=%*fI%i33x5ep}fCg&%2qIqfVJxMdy5Doqn8+_n{9PO*}48 zPWcxciMJ*n#rxDE@u$Jbe%+Fw&y6+rIKN|HW#e zqs+={lPpq%$_)$4=Q5FCzx3wk>xvYy6i{rfpd8XJ6xtQ)1Tx7p+(U;;6poxsKSYZz zR<&VnjfnrXva_|uc@nC2CwY~H=j52uk@?e+MY&R=l57pC#KtEx(IO%dHua%>Ve&wK zbg}2SZ~ex8MXUL55APh2>0uh*wVLvcL8*uT(;t7!AEgi^3;xkw$!Mn3a&WNk>(WR2 zcq|3|E$&oiP6QUHS38WI(+-J@fDcPN%$r9q(W@(TaDgdlBw~BQ2x?2K8y`2y5qc7? zs#$c|zb2?- z_vApm@jvGC+nWyq`!ediwMl9;?H!&0bH%(3P5rVk4CKboja{0q{_ygc3h6W zYLZp=VydJ|W@i`F9#)O9ml`&9gOG{@jA~G*@20@?K`r?gw{5;}-AR-0t~w~{>+3K( z(LTlcP7UVUwCnZ<#fjG@>M+9#g+Zewnzh&hPwP}}; zJzR@<*EX5ues+#<0gheHm(rvA!uDg0LiMi5f`K`cIVLm!uopM0z|~+dm;zax9~supb+?@y!v-`hzCLBl6a!J+EOq0EOh+>xSXkW zC5lXU_%M&eRo=xoHMqqhI-Q^&C0DHD>h2uO=wD^MeDGMVdpb% zu(%voqWo!ClL?O@CZ=3HjjVaj|5VxtmD?J3cj0GTpwO@aIZk+b)aN&!QK(pQSY-2T z%mdfno3!Q)vN0EyL*QS^{j~GNOQAtO$XWkuM&&8|R$NG65cNOQfXXZ>j3;!8)4i1s#m&(gbg4?k zqNv!3@$y^$HT1t;&3(Nqi6lfh^)-#%v8Ex;3_^{PXH6c&PZjn3HxEk@QQJ#RTR z5zw;SPqk_oYM)UpHF7K38DuT^~d`)wW;ec%+ z6x}9Ls9{R)M7Z>%af8++lDJ7&jfwA()i_rSEdMN*d_lYz8B6>{yHS)RnU*=fN;lBB zx_Lp0$4|d0Bka-fq|~>m__9q`Q`s_;XK9anrJzw;$>H)1LoyJFJ5INf7xs?gh@0w7 zL&ykvy$bU`63XQwWB?+*7x2(ekwAb(L&X+)b+HNHjw;P&z*Yuos87}<^Q5tT-hu-x z$%BcA1v9X9C;(dmixO!gqy#p)w`7RIclQ<*r}v*~G6LCTrX!aq7?8Tw$VLs$8T%Mz z`zx||`JZ%JJbkyoLYYEA5`}X!6JG|O`+7%IKzEq_o5%Nd$S$e!{;x|EwW}g|vi)r0 zsiM=BjGJ|i7kZ?k@<|@t{)FZgJQ!R@l01;9M3G5jq#cy(aZ1NmUf9E!>sOKU*>Jwd?$Dap!1Zv|BwhA3cH}VxrOq0-BWN8~%*8$1rW-$pZ zXIJNuh*=47vLmuq@f<6@$k22`;jOJB5sc!RvC_ljjeBlW4?IY%U_vk8E-%EHZ9@n9 zOD`_3Gw64ZF<14SSw3cN|!sr%>lkDB!U@83m_o0$NUE?iCOMY!#YFV#Nk zj~(poQ6eIVlG@3fah+LPgPFkOg+WhPjTj&TP~+{!0Lh6Bq4h!*k9jFFIJKL`CW#{S zgxK3gXzV4pVHz%+aSCOpO8EiZ1h%3GqRHT2yswrbIX;xrNkVP(cQT*%g@1ockm=ZK z?ysd7MncGuT>Dy%DcZVq*lJq*o0}b_EH8*X7obX|QQA?t$O6X}?v1*I3|B21;*&JJ z(IT!92XQsUsWh9r2rw-?Q=&0sJcrq zk7uAp?Ro03vFgHo>99s|MUc%a>{8;~=x7J*t=rg(*^IJ)Z_f=A&T#NGwF=ZKhX`>hUQAh*nU3mfO#a4BUlZgC8 zuIQWaKuUyLGN&}HzmzX~kvP0(-1Ta=bh|)(=U3kxFGrA<{`t*VVs2#M`sbH6ls`Qo zNORUHr@u6bncKLj_H7ns3O^sB42@fWo*jV7paaONNI>=v9F;D(76+z|5OY7hiPd&I7%%BwWdZ>uN~*l3Yg*72m2aGSxeEqxae!&}`@BVf zt4FXhDWMCe`W+>h^R%~+SCD!qb?!IfmV$0#9Vac${NscR2<}MKg5HysdBO%#H3u8K z{k&eX<2^?|&pU9zq)Z?83ool-=>@4@(I<$U!rQ1U^6*ELlV+8L0zWXgYn|998y78} z5wZl)_6{{Rlg^*XwE-M>=VX(t) zEjk^mTk*GhHC~@_U}in}powfspZuzOX0+`yfvu%jiQF%E=VgVTysHrF@oIGx+I>8| zeZQI*hUJUWDge>bGZ~qf3^ZJ5oqT)e^TNz2t5L1}FfmzsF1aWC(HlN}^PF+wIQm71 zOMGG1zVFd+A0mR&^Ok=38;3QI8f8ELdJ35R^q_aPZKR|WSyU96)x3UEbq7iW4s(@$@aIKhz1j}AId}DGyPitDiBfU0BHcbR3j4~C z@0RGX51_t5fvgc$MWWL?s-|0v?gBJtEbRNsUU{@!Wo9)cMpYb1yP8{=!;gk(Ij?f$ z%k;h+a>xl~DLPq!G@LBnKfiVJgUux6q*ZsxfRH4Pc`&nRK7(2<6pOjjha>o?y@!$x ziwoZ2+I}<|zW`6vnyzSxXO0WMbf&QpZgz`Lp zIPLxzNq=mytGXRh_OSMYP^;>emoK>3JK{bYQ$M0%v=9{WJa1bl}JHyWQ_`;d&BOxJpS95()qYNjq2ivX^2ipVi!zM{0%{%NsW!; zgHMXas?O$h3x*o%>5sxm+n$B=S!Pe#W86W*GzkI5+PNo4tY;fQltn#CYMDe$BHKU? zYtO!k*H*@VDdt;1ycZrv<`g1Zt4A?-qzTr(#aVycm8M0GVwzoA>~o;z+XP^vn;A zMI>sbk*Tvrek8=CWA~E@O6^aXHwj@jbJPbr6kp$$EFD;k%s0 zuoljRR($&5^6-u2qap*#%sh%TQeL&s8 zgZw|nlHc-g+@&O<(F-rDy7XT*3XD$#t0wP%*Qs!!p3vKrZ*nTPsET>ISBH%$gIO&{ zNM5>0>Y)`~5+&7j-pv=lT?KJ7ZvF$aSEjbQ9-=7oS5bPTk;!m{wkyUow|iwua0qJQ z^%D!lRYb~7kTZv=9TmT9MM9(($v3eDIuinwSYjRp_;O4YuVt0Q~ZT3aI309-< z80_(I_W&*iV5_#ZQu`as6j@4QFhx4@5(E?Lf3->|9(1tsl#kx?V1Vk&ICe_V&;M7P z))%)s0ND6dv=DD91m4bk-xpNrWJ`l6%#QV>gcdG_wQ_P1vxazii0XMNGB265C+E*C zBMZ!<)Z5kbnO}{+Jd)|9mkBV7H^4fi<*(+vE#reWI=I*0i1KZMqZ_@|o&|iy2V&tz!A9;F;_6`w z4A^?BdQL7g@6OF}i{>2h6)9soag1_}(Li_S6-w+u1_iVPrBq?!npb3I0^Qi@`66S# z&@o>o6`))-C9ej-w>{lf5^?2PWeEJ#-5nDnn)YgCZe~tJn&1FyQ+mka`y{B-d?+!q z{%)SW+t8%v;~LHdKWfF+PLbJ*=H^-rU1|T(m8p+Yb&|8-dK>|c9K-f&IGajq)Qipp zQA52*VbI^0kKizo*PZXMMf_WCr~@$g50W!4N?*#cOTyKcig>?1OX9P&ve`}DhV-kB zGdbE)N795nPI@FjFLUwquwP0Qu0}^jjC=Xg8ZZ-_3(})h6kX1u{+I%_5g-_p*_-rq zG}x1D=T0t9m)XDspr4C0YV0D#0FiMGwscuHQQ+SnpAW;n5zo7bwBhB9OqTtvEK%TV z3C}Mv`A^pg6buj`?xJcgdGgK{5MIoi366=(x)z4%k%r54M4=uUJNndku>;-9WXMHm3$)o%!kdjRp5*oDqa%hCh3Qz6Fvb!RnHqbGwmacS3JksnSM%>`&!9 zb#vDGyR71@JSi{&tAk*JNljltU#!^^8nkZMYx3d7mxIe^n`xaZ9&GX+1-qq3tFMU* zCnpz=5!s;Dhg-&O}eo#?5$kS->fK zP_MpU&F>4HeYK%oX!?xbubb&ukM_#Go5j-_t)(b8$H$QG0 zR2kxMI4eKDrF}a+CiPS#(1QGAcpdC4K$Mj)3MGW1-|IZHE>4UVUttU_9nP;fim}19 zM~S`kCun{$C4#VUVSbLa?z7EGX*~lMW2wY_u4|JBsRaxF2gC&wd|cBu-=1Okt(pUF1KmYp8-XoM@(>!)yX=o`*ZfV8`+6yS z>44AUU=VfoUh(84NB{Np#i@P(1KptjR-&x<&bUnML8G8=cY#?{+=7!*Rn-T~uv|xJ zT-?nQ6PM!Om$RdGq;!^FJBOMFa_t@C-AB5qmE^BjM8NezrT$KO3^C-on#XZigS#sU z+b-~hg{g6=hgjmo7UM?ft&^x91_zElOJ#>$*V9|3Y}+9xql=w`?}U?~15h)7OXb4h zl92JQTf{xj2cs;64%cpZ|u$SU#xHw8p048{0yrIkahbGD1D0kT@PT*UN6IF;{u)^Q~`ZwAS+xJ@B!2i8hP#f0SeHDEE zFty2N?N>m$vhhMNA3y zThWr==4V?x%9Iko5~@~Gxen?l$3qv8d7pU88qK~}-8Qq`ra|C+-b<&Le#?3Mil-Oh zE3RL-E61PazT&OcOCf+*^NmIy>@;-iaFk&fzh>2?Ze+}?v1kG ztc(ZHARz5*z$`(bI2MRb1Z*OmL$|(s_LQ{M(J0ZYunGu(L@BTWz5`&06riRH)g!}s zrpGIXqW8S0finwAv!7C#^YaWk|8 zAz_3t3My;BTw0boCjIa8{WVMG6WR|zc)kr_SkOi~O5qe!EUnW9D*&}+Eut|BA96Pa$`6)iXrYT?Z+yXB*qP~@QX>&?GFrmuEE z`?oKKxAJAsA7v7haz846cAf6|mEza`;swm)f&8r1v^wFwajjuBwGxdym|OhK*>Q>h zuWhw;#*Gl^2wZ74O5c5$o2kC+i-L$`44U4e^K&I9T4yDO(o380Ly*8$hzr)K>Gx~H z!QnMH$ja@m?0?(j&5yIC7PtH4?}uM86VwG>u>zJuU~hA<@vjgC)inDWn7}A00i*aC z4}HAbOO^vgL=F|Tdw03hD#FAlxcZ4NN9RH%BVoVAr(z8n&YlZc_!c_@-sW+sm^iHt zz#sV$VkU*d1`af_nnVn#A00&jYsYKkaohWlqIblUULJ5Ih9$)pp8d+w*0hAH@w1s{&fcE9T;H}3bANtdH zcfaY|as6)NU(AiNz+|C5auN8XeGzqEFikz{dRly1nDc470J)a2?^AU=_RxV`_ygmP z5>?h6Amfa<7a(;g<5X}+jQ9p17pk87HZiOJI0Egi{6qS<^aozjO+ylu?7~xWe0+8Y4Do3z^^s0@n!%s&+V=`Wd*!# z3ueIMd-hHQ1ibZt&=WA441D?&`>t|p=b~mRW5&YTyHLu9XTrxFgdv3HUa_}2r7B!? zxplgxAK!xE4?;?yCweA}?!J?o%8san_6faU?8K%A+Gy%Cjfe_8ke?Dz2 zPh!D?*ezgh#dYe56T&Hsb!UEs6`EK02$5}bE7S>{1fd+n?i7gdkzkJqxBAs7Qu(Pv6m~hPk@bFa%Dq}L@%xgewrCaBE z#+ZTo%oV}OJk#nKz2#;^>Q_aQ81hJj-s(VGS6Bb#gxE?8F%q*;bha~rnfdSE-==;7c?2VQ{ab)h#qa7|u%njQ21LL~=$Lp?#c%P%a{Kt0%)#OC z=Qd!+$yZ)|-qzhcwCd|I({j7Z*YEP!!jJ*&UtFq`CXcX5-+~4!eHu{v!Kom?ALEEB z)WWxsLdf3<^>-3MeS;$SH9>lv{s6^EeV5fQ}(^8)Q!CW9y<>ga5sa8`=n#0 z&^jRk4O4hJ%f;=3Urd&ZP8|RVJ2uB+z#t)D-^hpz2YlTnCuSB;pGL&a+Jp``cjE!m z4syKBFE}j0_}%vhP9Gkso{6Nt4T?lK*;5ETdHUbo__=%a5Q7blKoG6$>rEKkumW>v zO==eWf<424Xe$BwZ>kpS{ImB01$cHzSlm6e}=#jt@m%S;WZUYA#R1_V@+sW=eC1{jNpO-^dpFFRM@%F7}R z0%H4ik59jQo4D$voyB}`O&B7K_U_v2j=}mL%SvH%qAV>Jv+vPkCi^>oo5}A#$Q&zU zs%$x?=FlPJF83N)c1@D-U;!>TBbu1`ORkp$!zxRn`UpcuM|Yn(`YWyAC6YdylXj}A zEA>8U!&3sOy!-d?URm6VcO|5?UdRg-f1xjb9y-snWL^5_0kTT0oQv40pEDTT`XC#u zCnYE^joj0s3RY@8n;XhgOH*;?lFTNiVMLR)ov1#I)KoBu808{b6CKfelzOD(Q@#Ik zWK}VTy5MsHS3!FD^_QNw-ABr@LitcKhf|c(KLa@Rae3bwBL7wX&fXqfV>tn1S{J8R zj!2@?TC ziu89gK>Kc^@u|hQK~p#|IVU}XnU)xjA%5eMbCxV41pE1hF1fB23a_mJFI za$PG~fR~1h_?sM3nSDu3RN7|wd+_kDYW}N&9iT)Q?#BdsFKo{b5$7($&YmZnJ+C@? zPB^EPxF1)ZB}h*`Zl8EJ?u&b2%S&K%Txn$!X5{g4Pl;X4Kv0ib<bJ-t4D}UZpavU>#yM}35QlY)kFGf^HW8MUPaNmCEZoZdovDVsVSp!$>9XTS^ ze*75t7gmW{{FYr3A?3yCp0j%A3+-)XaCy3W#tOcR?t=Js}&% zojsS~Odmv8r(ML3l!uGwz&IW+rRA*6@kccHLbx8sdD}fzSj~t-q@B8|U&%06;EO78 z*+xQ9sZ!W9!#u>0FNXgv?`vQ(9dBz=zO!M(dDOpY~mVKY_BxQVUK|N zUb_{pZ)nKH!lFxsMT1{VJWw{T*ompyh~LCPY|;|EQRQIxaZcSbMQ^`u^9_NVwkmCY zzCf7fE9US=&qVc!%b`|@ebp7)`L|bW3k^7xzz(+$8X+4}u6ax+&E;9kO3}bBEI^Mv zd*2|P4Gv!HH=dA?X?Yw~!YN5cM%KeojwduCIaLCm2=XXTXxL#^6*WUE?rZM*{$Xb& zPwCSX4Gd2%z3_DxmHG2zBoXNP?&H;u6r!zi$!HkeHX~M8d!E0Q{qDaB?U&mm_ReE1 zUX&00M&I+LL&HV0fk8J-S&lp3&R{*|F;?80juPbbKuG?1twa*8M?bFX^0|rB7$my> zqdbKB@UkoS@9aA+Vcun~jMOH}1k>NsR{MX6cB+*PT}FoG96_DqLwh3Utmf^7MCyyr z7q6D87fosw9arfmrGQ17Uszc3HAH7^O?6W3D~p z%f%|j+LuJ=!T#(C`)o0a%rUOYj_^l%&X;IL(zNQXqTt8rzccQA4-kn4y^AcX>;3NJ z#lRsssN`p&#J0^>0P@nvgHtbw^0YpgP^X$ydRt^g)%1~)aFW`hhIaAZqYsh_YwGlU z4+f)UtqNj%=O;Pv=m9g5W*Xbb9uh2=AX`l1t{rQ?Nq94>P|n`rQ0C2zD9B0<+IaWc z8+JTj?Vho|NV8RCkSW}?01_y1jyBMh5WyPsDA=+79?92w!rdMz@t7znIg~Idd5h;b zF+AKO^noD>V@Y&rN|>zUvW6NfBO8~< z+hF%#-XYm>hr*xaD`ipa^z%=g?QLv?N{>`JTA0&s*)`o)PNYNEg2#AvTeZ^=UzJ3^ zQ?o<51vsc=Sw8w#=E_z+#$A@^7T40e8Sxa}|#DkI)LvU5*4AYWOp;Nn3u-f63I-Cf^l zlnDf3ys$yDkysQ)c7OAKSmJe0lsYoTHq98YP!05Ywp$c^mCc!`nAO^gvQT^q5*}et z#Sb4=my*%2qd6d@gNz^@tjXkvNyTr^&qq8lO zvwevFGyR!h9^X9}{jMj@`V%&ExYt-LpT|^N>2pTm+aGrm^xJVFzOQ{J13OgInk?*o z!5(iu>=CaLEf)!798OI6B!REwn3Yod#bWK2rT8hWk|yq_8Yz~A0BfQ2VTPK8n3#A9 z%wcHITj3lEB!+D zai{*WzqdMrkFj#sRjxhamhaihDhK+-Q|{(2c~fXY1=C(zMEML!Kv-==zL80N_@0w8 z(<i{$)?!r)viNp9iAHd z(Ipb!Ks_2=#@4G-E@!VJa+*e+>or?^A%nvHGWheb@mJZ}#@bfv``^S1CKg=*QNYf4 zc@2`Em6hkwHRvq#fc42xT?FxAkKi_I%iagEwTr@;PB}DTdZ%tt9ksf~aVDlhI@ivq z4|6BuxP7TI^#Bl$_Qf!2)TJ=@Q7j-O;^E=( zb3)h`t4q7m_ED=*2r24hsA`K}n-uuF=i7n<#Ax?r3AGcitpvBAKeeR?A48~z&6dcv zyw|K?I_;voVjxnxhTOkvw(RPB1#2UeM*Pz~;vPswF@`QGJO~3pgX*br$E{#Xqjj^r z`3t-zNL?+PgEtg%p;ZDHyMk}FDIW>3g-ds=fHfT)wBG^r`u_@Nh8Vl53Wr7<3&fEjQ;FX zQWmtyjzhn#grFhcEy=efzfTRAaxzXG&dG)J+Kx{@+-{BwB}2bnZ&`AcaBMYiI(zP? zzAoz64-;k{^AFo~iGO)q$-mDFyeEW&`2>CacJE>K!!3&l;}=vTDS`6TNXJuw*Od}h z(DE-D$&y*=93K|)L+;pdX(5c&zV`Al|9!?q^lU2CVbvh~-GfNt;5Tlgnv#W`t(?o%bBs-?NbI72MEP20?<^dD7>?Q5aWQ>*?k7)l)Taq>R`oO*lUS4QXv{{rRo%AMB~&=SjZyh9|qf z4j{pwe0m>APrvW!=>r1BJ+au5=vVApzkaE3_Zo5cW?X&FP~GSEyCA>~hQ~@T-eVvi zMAVzT!vqE<_AVm$etuKWgq)N^*rN z;E?di$tle9fM0WOJ`Zv52hCw-223K{SJ~Y=|RpI2rC0wM#kkCF6rz>hCsS*?kPhnD#bg8g0dAVk!t!lWeTXW z=#$hm`C?5~GsLs=P1pbTF-hq|9Abo_1;?mvk>SG2!+F-t3lD zLh226@&Nkp0&;va)u~f4#Age>HVSoH{2P31NQnl$G@QKQ;%1HWuHsuh!^XF{5h(~t z9VYIJ{MmP!UP|`B`KIRr6A%#p?OVcjJD{YrZtl<;T^cf8jeeKtMNCge7sT3tTjx4@ z!4@hz)cL$y_IxfG#T@7Lbrq?74CwT2?u8ywtCFjP<(&S_K%w_G$$hWB{k@^77c z)Rx`N8-0eXQU~7}mFN|3S7~r>L)-ClCL)}Ys27tlY*b#~YwJSw)}JS>cyAD9Z1|27 z+C*DNUr{nJFaQgs)2-gE6{Bs)pk!uaQ$5eqJ`{wSwGdzc5D;`}tbw6edI>C&20H2A z)zh}5J0p3qRUqA1n4gb~&hA;Xl`RZYD>!&sPR8+m2RI5a{0c4e^Y&qX1`J&8?PLzIek5s%O zts6_(X#cnQ@x|C6(W5b?iu559%cCUf@$hM4t`fd1nyl0*`6E^`N(7(1VTs4V+M-iH zR-NOxL(MB4siQ~w@6$PRGQAYQgU+-0AA19+KR@6ik`X6QQ~mbmS?u#C{2Ub%{|1T6 zg1vTS=cBQo4ZnHrZ~DSqZfn}k_?kz;pTE+7U*VzZwfF4}zT}2n>k6^W%1G9ytE2Pz zdKert&%^g!H_ec9+Mo1)MRB!X=~_JXJz87ge)vPmENAEREG%~mn$Sk z)8`2a60T?B1_G zzyL$fP!8Ql!_b{0-3=;IBB69j4@h@Ow{$B8B_$!APw*B^E|)z^WP^Nz`?NZ z+52ACTHk$bA~2tDwP_aP2Ak+hNKhZDEq*)X>eN{khY@7(e1)^ren4^^;h7z);U|I* zHcVKpWU{nYhW}37zjXwKRFEi#MtySj6il9e1e!jUu#%As&z=1F<8e|F7G+z-$}L0a z1f6sQ#6SuogRsD%py-ozN$azQq*!IO_vf~xsG|J*<MYV>v!?TtwcdR(Yrg8(-# zMxv1Ybnzrn-mS2@T?<`^drLnY?%r$no0H1P;by>TgNsy7$mZ2Cp@?3>Ru!OvJm zf5B}>8duuc*4f!%^&jhNS*t%S2Qf4#4S$ECS)HZ7U^3jz>Dd-%p_!DEqMs7&5DWkA zD|#SA_9j1yphy)f*;3C#qJ&eD`jP27 zY9>>Gh!kcQLlV#Z6QeP-!Ww0p#_;!sQ%rWv{u??*LJ>jIND%sq*hNkTdUseDzKsUP zGoMi7kVg}N`i}}>;ie6p7oWLWml?D*1JJ`f<&D2Q-fTJME~iloELD+}>nLDUoc<%2 zVaBOd>9RdXKPmRAw}c~H;x;{|1@+qABuI#TfWF#oeTMLU;XYbt@D4;K}TNrr1`YQnaz+Ctpy z=luumvx~kkMt9iCbufhJ$67$f|0K+EcA(+M@<%FScT#F^1b-*1jUADr9D}RTzxdFN zt?WYb8!w4g%Bt6igNC8yyMji19e4hh4|H?BL?kh`9kaV2)t)n|{yJ>hyM$sz~uhoICCA{JFSRMun#&vU!b*8ay zFC7}W1bH3RUDOqelobA&jMRMYSoz6nn}S{Bw`f|d&rKE4ta^@9QN41W0Y6VpPX<0` zU>3|69Kk1jF?|{w1np;yug?sz%_LpYA|aHli+ry)!#h4Oz(p3VURQZoYAPSR`I4L~ zp+5f}jd{#ko4dJ|Vkvc!`RZ}e#!LPUK?&T)3N|faZn)96aDs;zk;mq*oXs{K7KMg2 zHs?wF#9~g?wF#AGbeB`}VDtF`Z*Tv7AssVg&yT@%@p9Y40xi-U_KNOUsH5sOqM-lm zBvKj;6LSeN@x_Lf%5}s6zr)nPq3prvR;-8ZvdFPzd)W>AyRkIVS$0YX4TSFSyGpr1 zyt(wZ#WF1U7-&MLB#f&+Whin|WVRwhnt&+F5^M4dfp@L9PiUv!OfrWv7#QM$UVhqU zJ=z;K(f4rU?Ql_N11rhNbxZ_9)&&{R5{0mYzeA&K#=9%Hdi@!Yr=PKg3`CUuX)E<* zveBbZL34eYt5}wgmUmS#q#CNfOt@fd|+~>#b*XvfgfZ7Ok!NrM(o}YpA}c`xc%4hq<-WPgUeJ*48;%)6%HEiRDR8eVKur6imjV!zB-3D zaFXn#LOfaX;6^NiwUr#qIpnC63!PH(lFusVaj-5~XF}4qFqpz3_Rqy&zKkSz`e4Di zs_v;j;ZRjNw+u@J#6v)-`6*|AaKBhusR*5rqMCkHW10V(KBf+fiPd)fGw+!HriuR3 zCt-~z3WM)|T6nze3;Ns_`xR3D(Qw>)(3m3LpWlu-tGI3{a|Lc_fr;o|KS)^Su3|AR zbxG{WXt+8thQ3oC(ifMj7MWgDfe6ran)AGY17#n|jw|Q&dyfXuQU(G_mS3z#in&cKxFd zA4&nb>Qyn044ykeF6mo(*?6Zf-oaj3lD9m5N%5sfk7^ROM^=herqW1OM~YukH@V3{ z#}9$Bd13`Syi(~dv1fg;wGlK)3eLTLr{&6o{NNYFn1}MM7I^~pPAcNxII)gpjTG~V z*;~7f#V^WSuTOvIUfT_VD7f=tb89sG0cq83uOp=_(Jkpf&=#-5R0V_hMOm>|vbz0b zZ(IWVV!~>AY!EITrSw$M=;h$=&r@UGs7bTwovB;I{DaP>O!46}&i= z+z?W0hn~FdO-PaUuTd+GN=nynOiA%e#C-YyhW>C(d+fslr!ga+x_%MjH z3Ad5;AC2ok;!r45={N1|n#PGvbi_R00FvTa=Eg`Us63s#y_-rlpNU6hz1NLR6tw<^ z!OG*fS6haBErwEycD49?Ho>XTcZjVgG*dFjz$prl!P@+7LP6{6(HQH9_vcu>5wimF z=H5;#Eg_Ys58rCKn1`ATVWgH(wTd+8@PMFmq!tykt)0^DQDfEhO>t1(pzQH=qnBQnP8TpJEYDb7MVEqj?EO(B^wEK zfcQVC|9P6uO_`m|lV|OPD;=lBDuzpo{PpOsb4wc`JKQ)TB+&hv_`1vi! zf>8p$A{$eVKEt?h%fx7yb3ypgs0*W%F*xku_heMB)!}%$EpS!D4z8u}AN8cnm%W6N zhf(<1uGhDkyVaR0aW!_n2U(6Jfyw&BHadD^!etG837S<7M9J?qd^nSP`LxXXfZ&oubKd!VB-~N>cs3nJn1y`Ct%WHqL z`8ubVirj*qH67G+tYT47YjXc8q+R-%NO6pYUKpo`zA_NkVan1wU^iGr82Mqb$|WNv zspM&Xc!a#6khgikZ+r-0?z9&ST6jp1@&i6DbG+8~oZGaMxj{?R@6TrOfsjNoS!4(U zMnjRxoUEC;B&Xo0SCtj^s?^f)2XmX#SIF%`);42|Et-mq5h{`WJO<+ic3YcsZ#!_q zopa2Zs6ZZ*m3aTTjS;N{JvsYdbIMP$lzb4}|x_5j2;(gm4!KARv()U=IS9Zz|UyRKCdR`E8 z1@Ggd_))FLb0KNn*o`#d6UzrL1KIb%;@9wV+6T46V}b%P;yb1EBI=B6x{N9jw$0@J zGYqFN1k%`PrB%tmN8f|Mfm<2E@W;5?aMtlLR~jDI+h~`-wsB(V(x#J9%x-AMU`XUU zkIfa|H~TjQ_xxDXzx;cS?#`nimJgt%GZL||ufWafdS2GLkxWc~STn}s5MB1lvHZ5Y z7n^X7mnsjH6EXd%U`$Mk^!)M91H+a%MLsYLn}}L9#O-1X=Z)Z~p65NXe%BHSdht6Q zMV8#pk5>AkR4J#}CLv&`-sr$-jY)edMmGt#xtpE&9dmFKgiQH*M}GE=}(HQnP!s|I_!0SzE7`%zX@y zKdVptGL(|)FQ~6WD=@IqK{L+@uJz|A@}Z7F>xMTjrWeoR)6%i4uz?qS=+NjZVP!p( z#_(l{%Gvj6<}sK`(Tk7sjW#snQpm~k)1eO}vBTO@%puFrF%LBV2YT5EEZ1?L)_8wL zk(jY_{INW7K(Pt?uklR!(utM?@e{k8nQ2nS>X(Th1ZxL0i;Z zbN$cNBJ&dwZHKwKX%Y)*hF87B87l-tw4B^O5p}}^wPzlfTQo8Le%AHV@=Uy?vCml0 z8H(by;+GtS#y*>JphuAyXrx6Z`+V7n`w-tl;e7y2h<#!*VUPc-;`8NjdLAkyc-@no zKf+@LG~Ld8mWlvxr7Sy7v)Os&ZB3yq0{zpzZ<-$25u-i1hxJ^9)ucM&-@u9gQIC>Fr9%48OFY*Dig@ zOC2x&5GI|<+-LaF3qIXgA#**uS-+kljZ}x~Z1n8y;RfDqjQq`&f&RW}(JWOS^jg~r z@ofjA9yC{@MNwpZ6-{NwWI!l8{5l8?hE)kuViex)xFwEM7%ZR+8n4sxB1#HCA%e~b zdrZAyXOTzb!W6WDJ3?aAYOv)tYf4?3C;>kyzmKRI#ZN{ddRHy=HtX&NrFqZF+?stm(VH#UOW>1)~s zM+FB7mD3|b;q8MVxP4;STR(DkqfMalMC7z>r3b#D((OKYTdj-Y2pF3p85;xEX}uAD z9EHKtq8g6dJ2-6oXhq+P2tB*8Zn`9WRtM%5zMg;NeUK}It~E)c>J5!hWK<nyOJiniL7Wep+D4U#??-|LI83mhq5ihOfF)zkh*h@hOhbj!1gqM6m(sMWW61`! z?bgpZ*3Z4Hn|s+_^_<1Pz(P9DN;s>a+(ADT+bs$@s|B+#e6C0bw7CL&R=}m3dGO#0 z9Zj^H|3lbk)ou_2UwaY+|1iI^jywV_g1XL5=9xHgGmiu#@N zRj@-4x=7C_EIP^{Pig^~@Y*2Rw^X55A zfC6bXV`>N}Ie*2-{W|@xpEIB19TOCCH2RAs zOoB(Ri%&-#h_q292OmO94lv{)#<^S!AWQv;$upafv)8dTyZS;3fK&i{*a_gXROphS z=i|o2pHP7sn$~hj-l{e;f+G+b#jK0s$RNIm6j$AM5%_e{Rn$bTml$758^&2uH=N_* zG?Hr=Hm};fik9o@*Ys2U+^qA0l+R7A6@ODOKtyq?wALS+s%ul47k*TY#^b-_5ua7_ z)a7}YF`dAmy9gIS6!D1a>w5rvJyN&oO4eQdRus4EUzLq2LQeOLujhp$8W=-9bXKVn zQc>J~#QtQ5qNNZiORXb%p><#M9Gro`mGjW4IeuM zCEk|F-uI@vx00-`ne#l&NT7nN#0@e>I)*I5?g1Ni5|mlpVw zfUc>jwTSJQn-d$>G+F)R_L~G?72RF3x#@;MqHDv0inFg!>Rk%X!^Lb)0xi(~4Cf-8!6Z`=q}iq4*^e@2_qk z^W{mhUymFMJq0BU*kp?&^b|P-2Q>Lxxwv;I$s$7vSKX9`c9;+okygUD>(&jwIQ0!M zWi^DGYr^Y2U*zXwcyiD1O`EqF1Ctln`BFNZZ*B7rR@M;Z*V_$VW3EkOo;2VqW<0p% zyhu=4at%a{m1mT%7Fb3Ii*_QLrukFgV}b5e)X4XTi$tMd*vjcCe&E>}6<3-X z*8@D`%AVpLYd2YpEiR6Oqn#-+v#$ZM6~}fWE?M8Ss6SjsB(^@+RG)y5rX`oV%UUym4PnWm4z)MR&+bw!%{b zfEp&d+v%k{F)QB*4yveGsl;W>W_-$Y1%+BstD4fwE_p#1ZnJ2OI8JTVZ#h7+ihtzC zLpj~i>JMOVmTzD`jmlek66A`J&ZlVgL?E<}4NydQj;4~Fj-RBmea3mp{m*RLOCpQ{kGv9muo@d`L;y#fDDDS=c}P|WwD*3c4z z&xM*CqiIa{=y{u*;{V$>U|9E3%ekpH3OSQyVA0biTtZL}g??x?hf zZAQA6ImPF*pvZz5Gz0}w7{~G)9tMX`QAKXhLn|uoMjry^b47*XQe)q@C?9oirLRCPD3AG7@x_J0RJ`1?S1W5X66Jv*!oN$n_)3lug zBYjJkq*N?k?+bd3!VjU5VZCvf){~=%FH-h`E)fa&0r}&_%&0?^(g0nK~mys!z0jYcHNhfRsFF@f6Oo zm>wJz9NMlLl%TI~zG=;elB6?^#Hy3-{;L!2AQxWtPGkxEQ4idykw#!tP>(E0f=9N`_o_#2iaL*1Weg^_6F2kWk zTB^d|A8|ZqU=ia|iE{e7CGeHQbBapuR?%k2U&o1Bs-P`jw`w4&!>8e+g-Z zY@Tz64nOUWm!Cej_{9UrEV8#Pz(4q#D~>|w$5$@C{~XJZJOAC~#*|EvLB9+)5OQ;V z+(d*zplgO4!;8{Ni+6KP%+E0&VPa}QFxoSTK9OGgm#f^?J`84(S8t$`f4cdKR|(V@@p zksCbig5xQGDQd>nti=Aw!nK|C)B7M9Xw#@?3_+3YiVFIn8~Lkb*ecHRv@kh*e0~>w zbm|WK6F1rTRPmeL9aYK?%9Mi;_p>Z_vM2la*>>roVb*MvR$vhK1igGri$MLL6j1~)COsvp{J%&$fFa}yY5Ff(%GP)r(Dph)Q)^T0-EPb z9mG~G_Hl(rv>UOAZMmO~{cuf3V2^8x6?>j!a@ua#|@WVhzc-9%#+qVZU zNvkWd9({OvRw@HWAKL$c<=8|O`AT(2Ko0cCh@O0G?Z_Ynu!)-}03(A?E}e@`zRsk^ zYE6^}gtop!5Ne8onQg7Dsgx-=iVvy)Rtk2(nnveycM>mCj5dYyL;T|b5$;&yG%84t zP5~TpIX))d^Te|vV4mvYJ4vvG$p@X#(uP7Y0B7mr9{JwKM-a3{3F9rSk!V0nt{va9 zq&C+RSSP!Ft-KTY||IQhTS&=<#wqkJ0$YIH2fU5bMS~D;^f`9CbP1dV_3JHM0S;pH9kkOER>1lIJtMSZ>sV0Y@^%o{ z2Hm(SaAYxaRi!WPI!O;ph6?Mwx$ralmtGywf8SY7_j~s}bb&X)ZA1}>c8OR-{2=gC zEWE_g`EG|==Ke;&to3!OerinM^{2qDulEaI*S5aiQ3RgQ-C^voUcP5O_|Vbwoiov{9!R_F+HjH7k!%{`guGt1SMTrfZa=K7)uEEwCM*lU3EH=L~93kpWtm`~(wR zvHZE!WaW0l_s5f^<@I&2#?vB4O3^LnfB-^>v+Ha0tsgZqYPy{Dhhw&)|858W&D~)G z1OEl?w|0fdyc6)QI>*9A3ww4+eK9kcPGQ%(hsW0S(WW(>qZhN;QIE9cLlc#WMz=#k zpX9uQtxCO6uF?rP%Puh#MMNz~u?=-&^IU zcZH@ag+30jygXh{AKB!y2JQl(xv6e=plcXB`A4*`{@)$`uaymq7Gq_8?YRDlh;U`~ z_Sbm3TruxPK2fA!QBKs{y4)>LwwDHGwAOxi+UVBA?=TVMkf4nnGjeCsJ2E(<-`9Nf zKNjF(gk2Q($&)7_<(@Agh_WE%SjFnbkOM5pvULfKRX3f}eLHX99p>LX9&oe4dJf+; zm(D+b`SQ)au@fNP^6oy}-)8*TcVQzG078fV4PJ87%+BTZ2>&3yE;y=|=E=q~2cDbL z?^7n(B1WcrI3-3mKCESoPN|t$$s{FWrOf@; z7jv~Ea$mj!C0QHgo!fb=dRH4&A0O^&4Yrq5pIG|$kg5`VV{{HsDq6OH^Ie;IY;8-b zSehm%5`Vby>zC=-Vq;^4gud4o%vR3QoK}o0GdQ(Ej|G$INAt6O@+n?m@^srDNN#a~JDSo**WS;>79c42IO5 zem)JOxohL(yk2G>%;sv7xKn(5FgXP1gA~+0db>9c^-`O)n<;rE2L9%|CecnLa}xwy zRo3p={LQ{Ktll%?>DQK~PMhX84DtpB=_4;N=ISR>6O-tu(SfgNO|4ViPe&I|&#RZ$ zXU6|2U)u!1I;6cdD+m!kApOh5Mlq()b>W3PtB9p}cVC?$b`r8Uq+jw_0ILT#l$%k> z*}P7#)GI`??z*j@#La8wV11bR8Qo8cCnN-VXDdJX3Cl}$!qKP6a=e!ku5%A40{TxA z$+_k^>txgz6cIj8T_KaP|V#n(%TG#vV+B^j>&~}5KoP-aImtJM8juflGv~Pg(O&U z*^6G~pyE4`Gg!vDa}ArQnfUPVaC;(9cGwMK8n{(W(}PM&OaJao09n^a*aMZH-Fpbx zF_`#B(^P{E18lb`7|i;=cfLH7BB9arPY1d-b(FtH-AT1kelj!A;*j`L0q65+OH%sZ zsoBsDQ4n9mbUP9QMt_P%NZ6AZ0uPja==#btjRG%!>pX6JbwCz_!ehxT96@xUzwSzv zkhZxVY}T+5=Ue?#)u6R{CiduQT)Fa)(iE;K?4!rf?xFURsv zA^*7%Oh_IXxS}LKVQ8-Be3rD^YGwVw&xB|6{5)`?4Op18F^59NX&p&CM79;<3GGno z96^wak7mhEtWML-H#(V=57fM_LW(tF!qfPuEp?&YwdYnHjy(sYIu#G=Ejx61G5EVGPND76t`|6@fP&s}xFQ zPNcn+mU`|*7js^cWt(V%BR^F3DySaol;tR135!Jpl7e^q6>IIXn(t+EzIG1gGjwt} zYn6Uh8_Umr>DojUL`$C&gXv{QP|{IpjS%yKu(e2{@QA+)5K{Z>KB#hlGdnwX`Ses@ zO-=X9=GhQ;AN&bCx~YQhCZ@nIn)p}tfMGoNzfWtZKGeUyPcj$2++l~NA&&SRcjoCQ z#5dim6?hN`*XWBar(DzXV)2#IzFTD4QUA)~d9w{!t5EM)zv|}87nqhzmp)8#-pU=a zuV8Ad@6TS;YzFvPW#{A4h+nyy`{zL3)e3<+rB^`-g@u=b`yVpB-7@-K!`RhCS#8N0RrCp_ze(2HqDq67+X(t7vt=;9k^{gVw-B@ ztfBJA1;;#>c-rv)Ir6j|E6UNgJ(Qxg7*wj@K6gB zw~b%2JRa`nNxD}wEx%o)uL@-WiCS6Q9zCH;>Swocj;UMxRXn)f@M&wY6J>>}%XeTB z&LZ@;c269er2TkQRQLLNsdz@|xWEaf$B|)lP|Avqlu&_{FS^aM$k4 z13>3nyq^PT7T|~>dh|EqMF$mC10N{M5{CmKkN0qMh)TZ=5Q?{dS|rXODV%M87hqXJ z$^(_}1fV*sy0!dRR+(nyeq1EI%7_F;BpCQ0U80th_UCjj$glKgkFsY23E``<$@%M# zLe!5L62`28t+-gLeBpg!X*v8AC?Gc-CGN)NN#Pjo+kM-n2E zLLt?2@&54dT2=3zhqt!^t@@bBj~B)KGQlp4mS$I@vG^U7(SCxK=Bc^ls5L@nA7|s_ z7@>m~SGa_vb9!vogZSz;V&RxTA}Tbqk6sjyqHq84c<=#PHiM`DqBB5_o^6hIv=~nR z?i+I+kHfRqye4%-2U0EPMV3b3X)&&rF7)Wh8saM8F2v=jOHSZKS()X`EGf|d9}?i} z4GdP+*VkBU!cqS%5QYywLX~7f(-LF}nq2aWZ+k$l_9^vQH$J#jSo*XqReTBpRZ^?IwLpO=lzDSZ$FA&u8C$syghk;Z zl-xWsAcJuwn?F?Ffzs+Zq!XRM_T8=Ttch-w5)#RSR@G} zA=s+BMm+@#*B5@)RNhJXyjS7$K#j5@P}+0V;<-Nh#_mP4n4(IRYs_`CTV8thjeGXB z?%^xGsrNV^1X+-BkQg`#BDc@U%5~)EI3d2PY%p6su8q00#^L7d+5MTwWsTFB)Dl+Y zGQDg!ew$5ElM+4A6CtlV?lq=fR~E9rXC?lwYhu9!@yzntus*&HpTSUZPBHadK^eR+ ziH0sGAK}1jN>tI7Q9bv=j_ec_N@z#O()OHBl8(8Wod5HTAfBn`KkPkV`%=ro0c4NFj8(<1 z8fs-#K4Z+iJl5wUj3HM6E?YMPe3~~mM3RL6%M0p~@y^@9`}Jyhp`?$lHnPrH`k2GV z3N84Q_yi(Up0*9E0;9UFh zQ&u@uoC*-0LWq27zQ*z`H&g9*C|d&rvYDvsr)wrfcq8&TORz%`XNv!8O)NpIBv~fQ7=k*^Cpd-~2bgHoW9&60+ZexW%S<-mTyVjhD%n7<(SQ-u&Rt;h%lq#AGY6(CB#j+6e;hb-}-C0ql$pB zmSWD21`qG{8>YR18U?t;Q7&c}z4h+-S%f1rJMI(1BGAp1U% zN-;*8MZ-+OUd@92Rq{~RiV#g^A+;%GTsCdJN$~`S=RL^L??-c)`wy&xl!l=w_805S z`OFa@Mb@gYARw*T*O4YUUH0wW{T3{^pPElXO#_V5&=TaES<|wVC{h#(jqganUCu`| zCBJbMSw%`3{T&6#he8W;m{ig-daN_-Pd4(eZfo$1Y=nS2Tp#C2$K(92FZdWf*FEbwePK%GEOQ$PNqz({XL?>_)*VmNW_s~lawU+ z={yllEn%(k=mbvO-=T-%p#P?yoW{#$oU;rf5BZkdJ-+{b6|78ng2P_TT^-6ChYbH*)9~GFiyD8#_o%Hb; zOxOE3$@rz*_Cpd5A!p2PhZL6jxBBLJMtoQo92N#5^!sTP5@hjVWL=DDsEt6$B+OqT z{%d?mrm|j-Jwucpom7zaIt4X4N^*D{sa)cFf<~Y)sKRL*Dz*9X~yIsT~)mZJZ`MWYP2e^KjwTXWXy{C<+Ij|FCHs4 zpk`H{{y8gNWLHx4N(*tMP*u#-{)4c~xiM+hzh1>ozfdD*GSxL5q@R;~mbOOkfxqGO z$=)hUg(H=REm*E1A6^yvRIEqDFES_SoAdc4Z)B;GT{*ZpOrMMy@5sdYLO*}={N4Ji zFJ`nJ-PpGKdGbkOIL7k|m4PL3ttk#Zz1iWkwG^LJX_Cngm@wJ2&pOe>?~f<7y~XmW zcuD&DZ)c`xUlS3i_>mxw`-!R9S#D+kZnwxu$)NUCDe=Wa2n^9#=svIKU^IdsXtV#7 z>H8Dc1D`G1Wb#s13Xgx+KXMdnf>O0wYN~&Ty?)oLqXF+*7bD{kg&4~^l3o?W^*E5r zm23!=4PHf~(8=K7TH=OIJSVJJba@nW{5OxorB7K;+Mc}L)yDR@2?IUj(-Qx(fwb!z?sL;4lIU#cLYHKIEw?MBJBTvn? z&R3wit)oLzs_!kjDPrI~81-G%L$e5iKy1zr!%U5m4#8nhK7JXBJfzB5-Ufy!0qJF+ z2D8~fjDVQLJ^J`8`3D#uID*5K)ggHY7cGDhuly>BHyNY;!QHWho)G+t#a1ZBW1pyj z-SP~T6gn~fLdD{g#N_?w%Bp;i3eC||C@a>@kK4|_Zq94Ns5k}mNvrTvLAbg&=}FbK zYfWnncJU#C9K^1!Ox+;1tk?7}oP`A@p`Fq&ub^5-BM|w#UQGlWv&ySpyf=+xZPCg; z{q#<;c)>yHXS(->_g~~X<)*R?492R^D&n1~cUkJdg{LQ$$YgtnA6Z`Y@ zT2%w?I+AJ@oK)jt|D=~rkB8bmy;bcuCQqtMN!&=;T|#ynsD({3wp9lI0GKXQ$MZbKSZ%N{$r@_@mg-|r&{o%(W%GL3Can8+pfqv3(qjH$c<30`89^RWDm37)Npo^n`>S z{qgvrW8!`usc@)gj+zC!{b*MV?7K_hHWk=k_Dc!cv6~nJBW!$FV`83y847 zG)`mIui#I$pODWP%Gv@zlNn{ltvrTp-@{LL$Iq!0-+zkgS?Nk)0Y{|MXQs-*G-W{* zo+Hj?`Yhe}HnOej6&#vTPT{OFSONEul)=RC>Z4Z)iWLNt$JO$bnU=`PgRoQulRpjC zq63G*RJsGWu=Gij$eAk|LEk_S_)Gs7b=_7WntGmWmQaV#hP8qiH4%%a^!NsC=>kZxwob z)ltnHu93peY@z}YV8DmD*rL8Fbr!}%PPr*qBOYw%<{qn(Q7@t7#f`U!>$hPxqysJt z32ou?e1Z+}h8nv4#BXd)T;)K@Lke9HT(tx*(307s)ib(cUw8I!e__|@bmgw(NTFE2 zHYlFjTvG73e|(%GX3UrK_PV&QVW2)zp{iJME-tl}Z5AV9*Ph$-hC%*U$p@`@k0(kD zB1xe4AUE=2>z_%?I0Dv&b+yB|1B=MHj#G<6%wr#~R?-&V^ZlL|w{vq8JUl%6 zPyPV;cGl45{K2z%L=?m7$k!VRC!WP=uXWE)T^kz@in9@=6nQfKJphf#W2;gYVXb}= zBjUt!xLf;m^<`@q`Yg~5<$VA4|4hGL5E)A3D;wH}7spgxy>Erb901pLioWFVVG`KR zwMfpEMJUQLzf5=se4UmQlVz#MIQjf54vw~US*53_F`xHDDDOiwH(`>=o+>@}qgv?q z(e~-otsaM7e4Ue*EWBxGysD{(W!w}4i03S!WkJ_z+61}&3jvA0BZ5mtcCd3(UVrlu zKvpwrkftN+2T)=rUlNL6;?fwzSarW9+oK?L=K2FYpSFto+g9RQ`{ zGpCzdnY%TaRl2(sI^Y5P)mBGz_eXT`h^itvO$r5SK0>C$o@4~_^Sq-h_{pmpJ`I7I zQ(U{;bH4`CKR=#S8(s`NyF7ZL1^=<(x984us7E!aGPT7BT+dY@%#nzc9|xhL#e1P|n(H=~3`9R3`l zlk767Hs0q;d(PVKkAuX}=3i!{eKJpvw~Z|Y z1z3Hvzaz0Za}9L%dUz417~YM={|?DOPP^g_Ti&bMYtRKTm!XwMpcwWubXvqztG&^6 z!03A!zZZ3xNmwlru^O@ozj5%I>Jlh|fsrQ7{gR zjQ3f!5%Mi~u~CfnAgrJcp}K(JPhBDkC*y{CNGST_>t)$b#BM~W&QHQ-WUJ>++(IaJ z`Y5&`>v3U*tuo(NIB$2q{GOGkEfHgAzT8@DbI^$r%mst;AN?Hb3C5T0c=^h94VnXC zq=%x<4!s6;RI{vHstGIpX_L3UxNOh4J0S9`Cv?ANHiTX#n`a7m>V<8_B=9o^iGpJk z+U=#xpPY?u@Q}VP%E5yM+09${d)~cV+wm3$I+j|i%>MoeG`;PX)JiY;LK#l(3eYW2 zEC0lfNs1X(lA-fzJ(GVZ3Vb2O#c3%k)bf}2_y%sgwWJQ^Ukp9}gd{DtoU=8t|3yc+ zfAPcfe=I=eH~ZhM5~@0Oqh3mb8g~~GkAxcs+X3A7dT-8o+_XlQ<ikfO!i-Ai$IhvKxjYj7zJrATpix8g3v-D%MR#fm-o z-oO6WleesOg`AUZN17yXRd58&Q(r$G>^yHGY@aJh}D8c&B zpHDCKedmj+!t7eT6%kWaqQwF~48S41Xmsi?2zOZ5=$cz0v7YqVVE+=RU$aWfBs~%= z*V97I29$w?-hpT}Scxs38qvr2-WRJIO<$OM-mW_R$5-rtam@Sg?~(nzN!W@**WIJn zEo2IKO}%)&G!eJ_%fAudS`5zO^wfM*@r)EVcsmw^gN-PL@_{V!Tt(fNEOlSmji+%S zr}SsDlVTR@7OMFu?qdpW;kj;v^@t)b2)8U_KlfdiK^hiEnGGle5I3cbXa;vH+sc5&_)ZO&GGyJ=87n#c**txgIvS&{&;-xI7n?QrW2>|av zs!A`61l`+-#POMa22HCq4 z10;Ld&W+1kmt(Xd0r#%Em#LB;1X{k(3-r#wUoPl290}KC%CvU@F_bT`Efjxz$S|Vk zQwNN>5F}djpa`}hli^}gtD{5(-hOQ9+&|Wiz)suZ#Z&EqI{*F4M`Auq?CbZCu0(bI zus;@UAy<^y$?}$;7GpO1$Y1B?$xFXZ%Qb??6acG;5u2Sgl(hWiYFdc3(bnuKEHt)+ z&HHyauGO(ccQgT!H3xa>p@kA`TY0W^o?o}b6KsD)x->9tE!+G5ctM?>U&dG}oznr-o{ZAIFEl41Vh}8h}yt>E{web>4@DZ-j5o2L{k06go?C)FL zhz3+2HOe&8b&7j)h%IVXBo8>2knlU7%WD{J2DR& zfCbQ?OaFV(r_g!3SO{VjoV;t+H*nyQV_27P?!f$~%mG!7etnRroou_F&fXsAO-90e zQ~Fus0#lfs+V?Q4f>eEEA)Kw47GP>s{&3soge6+Ebr;V6mkdcpcyU2~=RxlEv6ZO^ zNRQ4PyTJ0jd#K9!Kq<%bKVwLU*aQke5IAa!r;e_#MQ{Y74YN|@__p+Vec^L>E z@2JjR$={+MES7cEBPVMVOc{=)Nt4R<->dIyo^MEi0`L?Pna&xQ$un$)jT z9U6SbpGy{8rLFro-{u~hoqk#P?-vYktb4Q%dDn1~F}d^nLM0A-6L$A)ZWPPF7QD}d zv5CNokX*441jR_l$TKA}xM@lmns(QyO)gGPLcH5p=D`7*l@xL&Wn&Jb+uX!4*kH<_ z^)ZUz@c(w8j{;x;h9~ti>l3vaQ;HdgPOkPGkkuo*aNq@$@|G} zuk(p2XX{fBeUTn(aMUG%LeD&kzm&MipPmT}F;MtwK3PD^_MHluu?(7?%-fyORa|y= zn0uU`&J$1L5@>38x))UG-np|54TEMdqx`a-Ecn z7Ms>&m0ba2{_5;0gB(sv4!oUNqZsg_EW7$ly<3OZ6&zYkyEA?{e(7VA>gO{dMUB~o zUE76`^`?}LJ=j6PPFlhjXer+Rbf96?5b}A6dh@T_J*UzWtboRfe6MD`X!-j*0rz=Y z$oO(sgbAKa+=5KK1t|XQ9b4V*(BOa)0QGnFam-R&X=5!g50_EqQOCr^A_7q?i-C?F zPfB5k3~s-dguEku^%--xep>4$IaR-5u;<333O%~%sbLC5TDS0Tmb;a_vfi_IUkmmnrTtVoC?zl(k*i9lPckHH4S(o|NC>EEM?~o4S2&=uw>8u0KfnJz4d=oERQ~oMM0Yu z6C5?^hp;PCo53JM2vVV@5I93=w0XPRg81W7+3Zcl;04j`+3NH^30ZQ?DY@rmDI^Vb zu##icNlcYl2cX8$tQejU$6T*Kk51S!E1{%{cM%PA;UIr1N~caEd8LL z&-ZS#{iEfMde6?n9$%IoNb9Q&A-t95P`lVQ=lUrFc*L%5Ts&TEx=1nqSe`nl_v)N= zCSmxr_!e<93S&F$7n1^+_p=RpQ|w#xM}3QtS769_{c-MQ5i`#I zJdAl^eQ2ye0}T|Km;M#EXF^^b+10lBDf#@>=Nckezu%tJC(Ti`fU6F{5l2Qc5Az&r z`)VF||EQffRa|QO=;jLRn!cd1qKE8`SBMh(i^&+(_0j&EA1u$kbHGR3FHwoCn7wgh z5WK6MC(O4|<%KaSoDFJ_Xegp8BfKT*YcM{dB$}?V;Gr-*razR*OK%eNecp|hKcm*y zirE6nN|COy27=g8LZN|ng`?ss-P$vC6oE`p)(VmUl)nN9Ma>o6&z+CkJV_xpUF#nN z-%U3@PD~}@a};Pgt$(^$clUK9n)4I+;ji^NsUk`4nYrkLr5VrUte?%s#FEh|n9AHB z7DIO!I6{W0~k$8}MjA-J?*w4OB3 zLx}^|Oo!WalEq6tU+gmp)9cwprHedv%AR4c{IbC2T_=4NsVW2qFLt|REw3a11t5o$ z^D9P6ZE;97XZ4y~&7{6npwy&s_xSG5FLmJ|Yinz`vF3M}An)?q5%ijFABmdQIAhl1 zdGvD4f@%7z$(@IR&}(l$jgFel?y4N%lNf50bYOcft@lgX?! zkIHz@qYy?Nvp10j2vkW?6a{rC#xk-FCV!GxBR|{~d}EBn8Dv)SRzQ=0Uw3sCOavA2 z=S|N>zTz_f)bxEoe=LcCIe~SbX;rbeAt3oW$%RSp*`5Xbbm zbH70(gWL65CB9aU0#ZS`r;Y{*lHGMMl7xNEfJj+3N6{%fxjXe`)80&*%_{}dvbGi| zFbtJCvQJ`!!QLkDnKiSXs zA+fz+iFSVjhU2`hkb#Z2hk8vy%zD5?y|2;9kzmS(v@$U@tt8=W;F~D=n-9^tt4wYE?W7Uvjx3-IGL$swvVe9u^E~}j+&6(LauNEe4q+5wZ1k&bH@%mi zOO?}G%E-`XQ1Dsywle2J&L>)4Bcd!epB{6eHD`7Fg{0N4HfgBDe$bqkOY6~O|8b_E zOw@j=A?V2*-c^Ed-{o~QHsjntnr_v;8TG3&QMfm9;C`iU_vqm}?nqQNCmh1=65k%0 z8GU~AzZqSI z>iL%rM293u!@=Jgqp!k4KLyAk@Yo6&%=`N`Oom}_Z|*i5US0?Ek2$9$wfk|b<@|cU z) zS%&YL6e7r;;u_84AF2I}7}Q`lmX-1~vmeQn9GGV4<#-8|D*C3PYB4I-r2I-^ zr*|ChgaR+vrz1JHAm(C>!kEp;s-1;^#g9%7_ggaC`w@YsmcRX}^>CXRJ~K!}89u!T z>c|A4qPzY8K8W8ME^gNITEo~gA4RfuOjahUSm^PL(q)IerIG9DhYz^ znvem*LFo1m=Y~pBKzPg=>`kVELVD?Xgy_E6%4Fhc9TN;*|3nY2d++`%g}=9+R)Iep z_YS_Z6If8T!E54Oz6G~}wqzOS2WCN+xx;djas?y3Z8gd(3aG17dc^u>{-p}@QGGSJ zS~yO2pM+d!PXgTW+t~0mZ5h~9MS~KJ4fdfM z;foPgzi-_hpb~Mxd^qhg5=fmz+hPeXP_F4Ds3>91P-jiG!sgqBr1c!hnYQb5%&Hx) z26%Rk!=#_90cv09^6uQSj|!!gK$11CV4d82BMsv=W}x0ED)}d7DN5{VguoCgEChBA z7ExoPWRo6#zv+N;$>?)H&*ec_g3U*@Qy}SH{>oo}; z0kNAklJ`RSOi{Mz2H0diEA_RF*|YGfX!e`J9|h5pJmtz?RubS%BMF7D#W*H39~_-k z>(;I+wLE@|`Z@ z)yDH9p()JdO+VCo+R;!YS0+0}@Ai_f4mX8t@EW}j%wF-fUC)<7s=8ZP8{Vj_A~J z2HCyaZ=WvPky(oks{U1_P}~w;yGf20ZmdE)&^s(1I+VqM3s`5!?^2u)5m-o!j1IK$ zSW)-l$kLL>Kj-q8*cff>?^nHRO4N-L%u+am8FMmYbG}~QTu(w^L{Iy9`BxpM=&T@H zIWDFpDtGx2Cu$Vo3UgZJ_?qHjt~uKvvA>u<1kgYHu3SgkBO#;rm7_|lUVO@u0)u%D zZaDnB;DSQ=fL95>U87Ftv3@v4fT<)bDyFn`DrMm-4`REBYu)G9ha%Tm?@pd%+=u*l+V)4|-X5@#1&t});iuW;h z{)|e(P*ju@sivv&YnUnb2~PUaUP7B1bsSC*l37d&SDkrX)u}vfhVf{_mx?`vcYaah*)u8U!k&F*j=ou8pz)zT9-8NMM#A14v7Wd1%BMgAhtltg6 z_lK@AQVo)zwZ%7#l;a?&1;FMu)uekxvXGm)+%z zlz}D2)^Hj_SQJZG#&M&0bxZ>WN;4KQf4r*RbRQRpLr?oEO8p)!*!6UYR9?=`i#&)e zrnXGOsY4O#0B_SxkPPpiN@G8aIF6R7=z$z4!RAWsd^KB3xmh<`$nzY!DQAq7GE$eD z5yswI z@z0-*LE~bW{&^*7^7j9o+32s6wF2EeEpRED)XX6QlQvYmR=^kMkL-OcmhXauF#^P#4Vcs!1mc>M3Ze6`npOBjz1>ju zcX%w_1`>4{5gd3hVzU`P3yBy|pR3>cpQ;}r6v;vn?sm831^+wCL%~VQpVt~#xbKCK zQNp&={`%QMPhYOg#HCUr>3lwwG6E6l&ryYGKi~vgml2}5WwB4_=GrD^m`@V^Nn8-v zFOX0*`r-NtmX01so?G?B#0r*b*o@{p@;&EoqowOdb=S~wpQ29M-AN^YXz;HR>%mzI zOYAGh@b7gS1BcM?z$@NE$dIY(Yl3UBC00=;1P-BejzZ}sOmFHMC#G}>0}ZS`$cG35 z!DDnCae!#?=7(l|0N z=-nrcn7HVq@vn)6bqaxhb8vI-cBvBltn-g#{TTo6Vk-ueTgE4~W1uER1Pd|wuq8q@ zeJ(tmeLf=GBNa4QR_N+|Rr#>y#H3@gtmlT#no)m4saoeAm^7dLXJCCm7$Tzgs|Ak- zjNz=V6&lq0XiiQ=3P}Wsr(NT_?#jjYcbbm8bDc^71={h8k0hCaK#w{MOaqSfeH0WT z^RBR2^5l?|ID>3M6CskU37^4KG+p7($7OgU!CZxHIk=dOn24rm&k^&m`FlH2A8X{* zSYm`KGr8eqd=>`Ft9g2$f~Kr3ZTNUcT+9~4{FPnAe4wUY2Jf)Py5g;V(eNp4D2a7+mVW@bZwDppNPVsD)&1UOHKS6~ zinAb;FroG;V_ETH-YlkCw4aSWl=0N&T4wQEf?63^Ir&gR+hM1jdFt0YI>Y{hTn;|6 zDR}++X^IB^f6eT2d)wgc&>~8d7TwN3U~CS(8#Gg6Ke064b=Oohnu-C8ri1*w2Y9~J z`O!%b;h(xGmz)2pbsNQ|cm00;Lud4y#_QmMCZOPUJ!cEn993gMYgxY5d3rv^Uld)Ns&@Ycp9 zQn=*q?UpLOkRFnO-QIzfL91SMO_xqqFi2x0KD&;{Y+;h(hLqkPHKjb^crk$C7dktY z%vDZ_?fL?0-$+b0$7MEidD>ex&iVfQ+}~uS-AuHv7vN19{P?GlpM;4j_K;E6wYzq= zPG1(MjG^8K{BLQQD|aMcf0FjA!Udc6AK4=V(%m^>YcX1lxHM3X!TOXe?ANh6`s5+B zByrNeI2_(oOv+#~ojbb8DWx5%at^A8dNb%ld7~BwKYx7XrQmy7cil6^MWPYu`PMGJ z!+@?(33oP`@!qfY@Q3Pxelq(U1KuW*SsH-4SXWk$}H& zaoMlqoBt5G1_8zM&18 zUTiql;ea()($&msASvqiC83G#hkANum9w(S;TG?McBl%AHN41K)BLBlqZ zA$O)tM2NZ16eUme>5_2Qu4MK?LITrViZuAWT;pH46CObW|28RQBGa0weTCm zhvt?w!RWMR{NTQrcNiI}a)nJ5Vpu}b%CDrawe$!nK4qQCN>GpgHm+glMTGY6do!ND zZ6|ePd~fI9>;Z{3tuEzpom?38R7j!3m}wVZ|1(}T#q&OHS}jMd%Qfd>e~hlf@1ZzC zfSD{F7T?_|tAN($Ed|3FjR7(eOb$B}px_}Q)Iap;w8C+UCCkRmAjj-8i?I74dP+>1 zH&SQ+uW%we#4BD-lLF9o#23!f^J!xS;Niyrq@Aw^cYeQktL$~5w$3;ip`xPj{vB5b z!J7t_xdFpxbzj|#@X^2QwBXRLmTF#0DHe&M;o=6%V62S)x*YPtim#1u=^0pcQ^!&v zh<%8-xkixIWj}pm&(b{1zxy~rG%QS3QTgk1Z*cp0qY01S8oo>Lzi|WN*#oIVq@dpF z_p9Q$@1^nUfXCc6-HJIXk)wW=!{kC^Z|BSV7Fppe%u*}DQNwyrACZg^l<%SsdSd-e zvs~UO28U15p%??u$E98U>M8-WA>+X?!M}DfOCXt)a)d964%Vbzbgu>#;%Sr=N=wHU zyaV{+(i^c=(PKcjq_W;VfrkxQVB?|q7E^JqA4KNvlTSkXmE_dxF4?H&{M$7ii*8U* zxftXA64lA2rR4Tgsu}p-$6Oy_O7fBl+bOk^iFCcd*klw#2TYDIJ+Fl6tqRLJ#D1^N z5p+w55f0Eq(e(60<ZqVode3~f2*_#j*k?dn0irLaRpc53e?V>O;@ ztcu2(BTUU|+c;$|kztwggN{7zk7z5ZX8umq0=l~BsOldpCl~+w-g;`_R4r*37c%d5 z^_9HfYT*A^SQ)QkUC{YjU5*O}IBj#PjpZ7Xhi(d!qxYCW;+^KhYTr!|9zP}J5(Ds# zL^SX-96(Lpu?$vjtw0Aj1WWOxeB zXAsq5=i{H*`3+k2{Prtc5)giEGm1_3h`4NAv-Eo|#EIyCaTZk(~Ib2Kk zc0~+$lQbe>Cq&a~nnnL++8?#pU~H)lWTOC*WSdu6MQ`Z9RzW#Hr)``K+Zo8qycnYB z-enDVVlq1Q5^^nJ+<3W}l>g9liK}Xn?vakDXp67Zh=3r2f^u%9QIR>SPscRR562`Ak^X!;LaHY(Q33uqY7l)yo(aFoxOg);U0~AqdDu z>{Xoy@hsM6{~rqgpy$=~PD3blzdYvA@tFyP^I&ElPBVb~bR{)DdODG^BQTNvTKo39 zWK2&I-|})qsfso6{-?L$CY3tty!j1KVa$zN#K~1zRZ$wM^h5YY;Ort#vQAd~P-0^x zR`}>Zgjf+%)%w0aR%A|&GrNDrUPRvG?; z^6N7H*yCDnd@y@d)wi(k-atfS|Cg98OCl*Cfs0f8$6W|NFyx@>c1+I7_WVDUp-`Oq(vaPVP2Oi z+ck@-OpA5nf1ghB5&KPdKp&WGf`~(3P%i^dsxJw^4~Z^&cnqYpJNS&K)BFk$;QKe! z)WEdUNOVW}qc2la)+>=NA7jNsFd~PK1m=k)W2l+BVvm^wwnp$yvT#5b^8e&`PpzM7 zW6bC&n9laY7>EQ(eNQ}mLMpk}qpCE&kD?+Z;NivP8lW-1cJIT@!BRf<k`=Jy2D1GkzH7m=bot$xHdLBV#nGAv( zF{YgonVd~&`X!+BO_NVe9BK!tSM@?opQf-aAgnba`sR=b{c3_YD8X&w6<^xxx{IgP z3L8L0Xv_#s8w@tRnxj~$ zvTn&EXQmBG&|*#ee1Y#Jmu&7Gzs?fz28c2UQu(F4bqd)oR0`_!-DSB_b%;T$ShMi+ z5C8h|mveG6+p8ycV)0$MbKiGJje!2{DJzk!!a`}j)tKrl1xZX0)C3ZqSqtaKJev@a z2V0aO+68Hywgk?}mWziUoY_9fDWi?&u^(B$niFFSe?*_t;edx=+>_(l-(RfWlr){& zDr=!|PDHonu};~`WFKEO%9j>vq^*mRMwybb#USn2l>pD#;u>R0Al`)6ARKWGhc%-O zbA^znPk27f$u=9v(w%CfiiEg!0YX|vW){fEgGau|ROu1&oP&M#3^T4?H4o`0Zp1?Y zU(4uehQlqmR2rDoYCQV<>+8 z4?khw8mvP^_QFs!o0E4N>JzISu6*0~IE)hTZlb(|KS#Dn>~N^bu2O~pkw1f>ppk&) zI9wbPy_yNYj->d#nN&9ph(6OvG1qQpVS&Jh!NG}Qi21018k?mefkE~CKC6BOC6#*9 z@_4H^Vu8}nujxCRlpKppNfbE7lU_=fRv@^PbZei46ft}rpxM|%@lgfW{0r+O%Yx3A z*kK0heav7>r0CZXWmJkNc)UQ=BXUKpwiQJ2y`~ z^XBMyrc*#kRr99Saa5CZEjbIn&Ri!pfwwh|p`{tc1kaaB-3R}DoU32*wJT+4Z;U2< zSYyY>y`nP)#wa15K+z@tswuc>uXfX8OM)0LgP4N6WMe2znoax&saOXZbt95e@l+)2oLxCg(d?_w#+);aa^m z+=1#2w(c0+V^4$w-J^j7XS&d5C50fPzR7L4b1>-R#V@l-ykE=0vHK&i!*MJ7m9DQvjb<)?xn!iL%G=6oQX0-pUB3tS;QS0gLp$gm<#;%aanR zN^oD`>&}t#W7rU?k9(Rd(x_)mth%R|e9`f&C_^bB2fupQ4bLu6b=So1TAY+JfHL=}6ukNGcio&o0qJ4rG$e|zyr`GX(u1gDS`kTV1i>Ot? zp)j_jW~SDxN`sk#z(IjPyv{bSUzFO@nv->~S+{OhL_+2B!9tRVH;7SOHQ8z3Gv%Qm zJw#y=VhF`G@4-bOycGBIwL)j?GG?^9H87#%no8ISb2}agx4VQ@#AYg$=bz}P#Al@I zR@`|mf6a)m^gV7NyIuolFiH|Ipn*1^6>H6>68rqxPehQtvZ|8}eg$;!?vKOwkO-J) zr{BX|`vL--RI~Q|`?#EAIo{JVZ{3$fgHAF8KdYwu=*;H^;nPVhxdKH=4y{n?bWyYIfo77d&2bulbhm&8q`8$_egzuO%v1 zWpe>mJQQfRl%BDevLjIeQ&kZ?x$}Yah&Uhm(ycx$+tD(islLMr0yM1SrB*g;S{D}D zjbyE7FK_B^puzNxzK4pP^q#97nw@q| zLt>KbI_TRxDW0hDuUVnJ7ix8+-7bJmMuiBYcH#d++w37beZM8>Bn8g z=Kk%dHWK@ek>N^1mO$v*hj@5WDUYC?%XQef`%Cq!o1KLhAzb{d;i$t@>77MJmmV

<(1-!nV^lJ4>hO>E;ow%5uj`RrWr!%23EF5fx05NplJ6M%KKF-e-98>oZ<_4}Y7oJJU z8pT>z2~lTCkfFVX651?wkt7M0V^1Byf;uKZ^Uauje~1B~CiAe9zLAOma~ijiShLx+ zJ-I5VblUzxl@MmO%ckJyF)+?VhmK)($E0?L-R?NccZR((ca>cFCQX7T*if+je@z%q z!2TN!hjBjsH=GZCroannV}YHM{2oi;M=+DG|Jc1!k~4}t;a>*YBO8kaJLJUAldub$ z<11d5o|hlwvT#?C&#aq!x_X{BxukLB4OMP82Yd5L$utZ-^v6A#~$(|@Zv@d=?(E5%O zkq_rcL3uI>N`pXnf{n$Ip5W=W#_uDVvm#sM;RH$CjcOd?5Z=|fDC?_TtE186{D=WE zWrmaXZe%}g23Q>x3PH$S_UZmcd?I{0R}$l3VOSI_C>UMgTge;2#8=azAoy5Z7e z&0PF(3{W~>OxSWe=pg3unPBQ@dYsaa>HcFZ?W@OGb_#=IRS>a0VGM~5V9a%Wzb{F; z@vRH5jCjwG-!(?u!!8Z=ADYUP8Jyzk-?5CbYBgH|7V}>e(qj(CXZP6d&q)B4E}3cR zo3!sg3=@8Bj4H+ZW3VjWyo(L(zY=4kFGg`A-h`z@GjDjbzQ=G3o9La#Tl18E1IvD! zc#KzgQ~twa_XB3}pqY(BHcqkpfO5H3d}56vkF&~uL%~|{P7ue@N;=JtQYUsEnH`x| zH>UYNb{Sf(3c`IycpouoS>&$)&UK~o+gth)bKfO{Gww0&8O+9Jfxd+irTV4Kf{QX| zurjSea4D8HCoyR*>-?egEqu{VmrXBwpSO_V~k;BQwKtRyMjZ< zh0W%KVE4zE31}_SL){~>(S5PrAXRQOZfKT^GJ1dQD?fVqJH0C&X3LDw@097*|0 zjMwod9`OXLp_(llS)6#-0Zh6jy(jbqROg8!%FR%Yr4ZK;n5vp>d z>)%nifslR^{Yr;|{yk)59{8|Tj1fywvSP;sRWrQ z{iysojwzpA*Ze)q^Q(W}!hTZtK?;t$(OVBRO%}a&!b802ubDy9i~N9<=i_;j67nX> zSxBm{VR^6h5YsCL#cJSaTE*;pCaqQNo$dK%!(TJMZQYGx&iaKUC?O&y>eOn0DsAdG<|job(Cs>14R^||>Xo`(e%%Hqh?_`*tf{U;M(DY@v4ZBNtFoytgpR`acV+ic_lb7MSeQ9$*x7=dwDx6gOjd3mc!k!XC%9 z6M2iWw)Qr@m;KsNiWmLnn_#4Tb51n3XTpjlMpv4r-Zz*4G*oA!ng#@>9gH0!^L8-0 z%E40qZXbj*0MSnq zM!=1%Jz0g!uDICIa3lGMlB3CMxW#p7RcsKjlg#h#0=d4;#VV+c7I~V$+{8-68SOB~ z(_DIrje#x{1Z|9`@>b>lo7i({>EFVFb}iyf3a$TQ8KaD0-k47qCE4`}mMw8}ytgqO z^I6I9&Kz>;dJxN@VzOzCXN4aXf#Jb{5W!E)#j=(>-!bCMp4S+ZX8J*0ZV{Q9xw#A| z59DyrWnGA(!w&fv$(jR7!wG1rXa-X{WYN|bb5N)JPSBgiYogcy?a0>8pM+2%Tpgax ziGw-Vn!B)i!q2Z_L{KZ3%d-11;m0UA#5cPJ9rrR`x(L@N)8lU?1TVvx$zP3M37I6! zIX=VU2Hf$qHT{TKn?9>tGZG}oAp_Dj^6LhjKF zXpvc2H`Cq3KPULi(ROChg7u%3ietn~ZBSQu%-{FdE`0a;?l5!uJ6Xg|W~-XdLlUJq ztq8>h!LJt#a_3UuJAg@hV%{=PPamFPsKO`ZOy`Q{;Xa4iYDqqWyu8C0%2mijg-dZ~ zFd+P7oJ|{8a0IXjmJMRD;U5+!&BUZ{I+4L(Rx1xq&YWQ%<+tfHE|eUm&`9(=3A9qr zP+XhcpIABO`7PfmhVz>;G zgF$kpQY-=~tsyp=k|`*B?c4lj&ClLsk>~mvOHC}}Xw?Y+M{aQ;M{#O3mMTnQg&mg5 z_MI0WZQ}{^bW)QDK{7rA#O) z<}5eI<1y!C=&Vd7?(Uhfo0v~~zo7nQgo(7=H6;04Ff+%q?_GZ@@ox<7oG#`deB>bw zKi6_U#q!vVSnll+V@T!LTIt6c+w2+u03ZNKL_t)sCiGC~JP1jsNZ&nk$+*5I_E~s` zIb6U{a+`+Z)(IN~w!q99r+XCnLuGtC{$XqsOwXi^^bXdF0o>2h~VJ7rCc}|P*ES8Das4soSj-FwjFFlTz z*~=p=F5>AYFDEna=qYi7H$qI90qP`jb;?Gn77cf=N8Sfw{UN7yN`ZazLlA|xzh5OR zn!>DbplLKWc7X+LjNYi&D&7GM+AqWS#%3?k!vA6e0kJW?5?j&8|0CGY)|h@a`IPDx znYUtP8ZWR+>(3D>T10t*6%paz!fNHlI*uyPqU2zsP0;T$B1W$WHr0a`I#!8CDZ?-} z$EErPxR&ZDpX@BO>mERC>qOBZ@`NchI)Vqe<5H!`o%AR;myu5wjJ9VQr`?c_8L`}) zoC!Sk`8&Znm=@Rv!T9>LPXD0byzM_L{5S>Z>bZ`gcXVp2d^ZjF`cTcq>Wq zS-D5BEOB0uUtxO5iv+JR55XlDnEg(Lg*m}vjBBUKH@nH5CoLU6 z$4&y{^;qcx8`fma(HPu1dRN;I>UtMZdxsIeE_7h*s*N)R;3Le&Vuj%$W>3P=pPzbB z@p_UINcRrZ*k*{8vv$Dr2ZVeAydVG*=4*%+7*tR&s}_zT{9dVUuMT2axXkgqzYk+c zpd`SR8xQOZCH;|SSC4Bt@wdOLY8=HLmU0~PyZfN|DxA#)r|X$ky~30(>0B{uni#i) zVG++U#P}v_fse&EI+n+)zGQ^(Yl4y2-H7ox==o!RTz(c-sVY5Sm)+ zN&lr66|&J`%df$m2AA=sL)c0%&4VC-hT1K8h{)*_GG> z>np2AkQ4H>!LJkMd6;TED?>12#rh(bKDOWOHT?QCYk7?3*NhuAG=!69KPXAc4!gdc zEjT&=GDU|jMI+-KsC+ej4;?c<6IV`$Xy+#(#;;oXujcBx!2ZuQ;qvP^f2utHH-{gi z;E1g_iZalr0q2-B@inI@6mcvbr{|f>txSq($S*Xp8aL->H9CnsTyJk<4?Gwz;!X0v zioT{wlA7qz0j!jhGbcvJuGEkqUiTY_#qS2Ap`)YICKr{wyBQn8w+1s~CtxS?zrB(E z)=wkc^|LduGvVHWI}x@K0CJdd2G?oQ5PrWDFb4%;+% z?>``xS^SHW9lMkH9ziU5<~m;#tghm$kcWb>#3V@tZP_-h9;GM5a0QVF4KjZZVQH<6 z@!rAw@54L1soqb!nbg$y0*6zjoCP8KFu0lYyMb#SJUlZ3;>tX4zzas>@tje&o`1Ve4LxxXJ%K)LLV018;?SiPh8AU!FjpeymAj=gM*1tX7@9rJw%zpDN zF0Rb~Azf;TYh;28VQTQr0;|$5`QEYB=kh`#2Wt$$+a2M;@3V~Y8l&}+a4d_~!DA+j zA7hqJV0I1kIA)X3pIgQSGe+~zVLm|4k9LF=3}3XEy|eMZ#^9IFL?CON6+e#FtdW*2xz86 zVWE;{0cTXxukkfPV{t7vTXdVELq454nqFh+Vv2{ovC2eRn6-%*)O3EBe9{P}w0GYf zM3`TdeKOc7<3}O)ISpes&eu1xz9`5Vp=X9L|OiF`6b~jR%%v=Ki_oWhXJ5p*tB^(A ztgZ>f%Az#zA1?9|q^+Bq)!nJf7`E_A- z+K^j0V{@O3f<_xO19jQhIMG2YFGKQi;UV5DO!gY=bH*g9$4U%ck;~`#8DHYS%E_L0 zmJ!8Iay7w`KF!9zjIFedRjebWY6mfZ&{dgO6&x{U1*5#4Qas4~u{sT%`ChYi96mYy z3DzeHWA(QWQ_eVrR)JG|aIoBt)9rI-v9#+QVkOrZy|Zt$8xibv-jrG|-?M^4J&G{H zuBQM^WC0icIRpT;vN0iEDh!OKFKrY6s%Z%AbtM;%K|+AlNiVM z39I$Yedl!_@{1x;djHc>dX93UW24*wi!~CT#stwN7=2{1T850R`Jpqq+Pcz3Wj;0w z^2e{NkXSK`AS_DlU89*}QtB)klP>&*RGB8?Zl)(l^Xa`Hq@8i4f`hMAZUDhEE(;&Z zKsj6}&i}OVV-y@V;M3_#!P3T?2jRowk+E@^*jYX=X9W+^j#$jXAc1LVCv4mfJ;thL z(S)wjVtINHo5g0zk1LkTHG=Du+j63shY?x}k1!0&HVvk|AKe@z34v_R1I&E6n{|S1 zf>@O!Dva+yC@<7{qw8m3M%!Yb{vAh~Qru@)xz)-QTk`u?n3j~)YoE;Jz^lBl!tgPc`hhOM z_5V`wGjK?C!h zL%qJ@$_`VNq`1tmx1+dj*{oMh$zip;VB>FU+V|IKs*nCnT&IrzC)s{ly)i?sKR;z6 z*T_^qEBqJ*2eEl!PaqGp0)Uy*mC?-coN(nyekLuP35P&bg$@-D%fvW~`8PuBAGl(< z?5Eg+z+6j}Uo>FZ=r{M5l|i*%o?%E>5=b-o65e7Z_MC+a%f7(?01|@B)M5XLf+P9j zfPRRQLc>0re|LY>+HYM?KtKRDsFphQ6H^)fhQh$a~!ZSCg@+)J* z8kw+F`p@bN*ntFR0;>r!o&6Uv9r!pn%uI`qVZNSo8;y>oxi!rRo%flpapdPTRHF%& zuJ9@C4h2V3rASz61%d4#F7F@oj~uqxwG)mt!0de5DWKExB!^Ve`bG#_w9hi5_>lKr z`ukbP$yCu2u!nC2&2Br<-%_Ck#+)3{^rmiSInfx?1_w8$}>ch{a4b1s%qSwZV z0H{e{)Z4nUOoIoQr=>JZ?A1SwWrklY%ZGkFf&q3S5ZfD%N0>1{`j9e4C4YGBa!2Rz z4pyI^TP9UV^4V_or2rlui)h-19BH-2J`Glqx7$}@G)k6p8F!ORlHZ2 zty!MNCcX`8`(MVa4VhlE#>;)S#tKKP@w~_s?*+CN7Al4IQ~yU8KaWR)BK&23rB^bx zvX=S;tLyPy%zoRr@(^#vSeGO%u{=kvsvpnH7a@4$e*PCRrYDw@E4+?CR(1x(U_?)I z!E!q083Rn&qH2s()oh*aSCFV$a5Qd%FOEzPM9G0T5|kLk=(=Wn{lIu^nh(mf<&Z-B ze$+YlL2#??PjX5;=u!m-C%NF7U~9v+YueS(?<1z^R+!-FAf0Nwv)E4xKSsep*!0_4 zWH^^s7PRK42Qw+lZB?smwcr}fgP8x;Sw_AnmDCXzi-HyAM3LzI30m@+vG)V3*(0Nj zMY;zKhFVvMqfhH_dHad})D=iZ_?6JG-bqAj;I^TIu>jNRSG&F!VuNFgm3QL5a z5%t46nAVNeg2gd!vtk2vxBHgSOfuOeG9SnHlTh;eG^4ame62spzr=YIKIc+n>1lb^ zseb|k=DC>5S&h(BEEQ7e>MOx?jq&s)ol~iB7au~^)8xKgDglS!UozL`<$3Lh1={DKEAF{HNnLNn#5 zojkKwl@dRlF|FSa?>aiKqvP^j#oxv9ni#qp04Jq#%4dw{oq@uX$Fzs)r$Z`P>6+D( ziDH<@pD>OzTxxU$Ty2XNLf)bWiC^ zzHSzDJnFitf63zs_LGzxKS#mAS;0|>-08fGpniBcET{Gjx79Aqf}(slfUVYvo0Vz7 z(uRSZ5n~kN*oBP9rx4XwYx2_zbdRz%!G=va5nl6y&*+=GiLfUoLQrQ)&3-ErQu9Jl zZZNn3+#1lD2-{sSa0B6n4INu!5Wc~E1Mh?mQF6G<1aT_p*Lg;jdFjB{7-`!>fjkVr zNldC`G5hFJ;GvhKJbM?ACf{8Dy--|X{kK{`jTuB%C)>^0y=>j z&`3}8{57y5bZ5UM_G<2L?yBHu=*$2%q>F=~)xOt(e{Ro2pezG#a%7+RKekj zjx5pnSkMwHR)>@Pz@_i%6_c3T&SSVcQ%p8>rWg?#zozpmGW`-un~~{y z9>0k#3Z?Y$*~Vp_wp{8tR{c<2N?Lu(l8urpA#)^NB-Fk)I>lzSn&jG&jT`={xqmgNbmXFSJeGGS!)|GvnSFduKFkfLd{w zl7sh-e&5lzu8L+kKHiwIF@t-DXsi2h?Sh=77AriGYcX~e5d>gYUmiNCK2~zPFRo0P zn6h%kZ$Hod{a|#;SEkc8`4Q~Sl&~>zi#1rV;X!Z5rIN*PG^Kro9oaViDdEQ`IOZ-* z!pGU1gmb->_F10QSHet~k7M#TKN`r)gw?e5d0c!M=PEgk%K2i7cRj`#WE8(0WP+Cy zQ^j2B$hYx!fI|3XHoyPF_ii7_qp|wxPv(2n#WQt7gZb#3jM%c_e^Rji z8!Ee^0k1F@A<0f(-^*{Dk@8y^@X&>yU}HTjj1=<`CTYjbt>)+nC{h<}%y`H>Vezj` z&`PwaCYm~Se6?|*n_9ginAKy+AA+Qow3O;fwyyLFTmxYfjTjoy@JeM>a5PhLSZ*Y* zC2Sko)T>x$%!Ik54zFKfy5Ez0;OF&@9z7zS^pw849hCBBofRlFk@kQ4`1aJRS^ur-Iys>6!7 zB7`4dh8U(bv<-EsLd-S47HOSv5UZ_^?BA0zhCWI;&wZrdoea#L4tVh`(?2d4oYs_z z5z1z{)Gn`&iHNVLI4-Pg-bGVN-*(=KP6;^oqwO_VZK6A<|;+(Omi@NpVsXO?5Bhuqu|)t-gmGNB2ETb zcb^+PSzy40&RjdUd`8Sfqe(Hj@H$o(%wP6qjg5> za_@TsVI$~$!xiH~G|1aFjKK>`?my0Xzjt?6PEJkmv@1JKyUB z=H|FrK(^>_VvQP_osx}XvKpf|v20!UDBcvu=PDO0uTvkYBN$AabvA;$82zL(r%mZ1 zy$H-A{BG#fEC)2!d)mCi?`o^$O8^>exV0N@+lJfihTH86w_jiQ`t=LjH$dNaaA*C9 z-=xla`A~1zyPi1eN0c*7=)IZ0xwhrm0MCM{g zS>4WIPQl;8C}V7_p~hp^pe5@13S(=p6?G!*0*lJPF|Vb@GyhbS(oPtu3S4QuSP}-| zXXhIuwu)CV=PQ}#AReE^N;$dt<;yXQ#|YD}b69z(gri!0)wX$b8$X{PmV3~fOnvg> zm>EWWg1ATj&AxZ)e2%|U8BtJ@FJf&}M)Vo8sN)*7KlCjzG^rM8|I0BPlUQz;qkI-Z z48jJYoAW@64^l~&b~I|(sG*T4vp1uwAn`~?P%95rZgjcQ5+g$3#%l1#pcV%m-lv}m zS$Pd!5W?#0YU%HaAaj@VH1w-@sMB-kk=2@)5LaAsjET%1#h$U-KP>zh1xHT~Ag>5C z5xVz7F^gYDIEPIO+2zt;sM$A1jhdOV31lkv4yV>mh_1wjrai-Qoe5C?&n6~Gitgly z(nrlh!60-!`P%>%<%WOy9lYPc{TtYKfOk;elTxFj?V|A5I&foPBf_m2iwP4wW6i$k zT{?+AID(O4-Y-KuI*AdB(8fI+KiSxL0-}ONyigE$8ATw0@&9Q64`U=J!M3p&MG?d1 zIq?Lu`OP_AQ16n~C^D@v`FR!V)b)4)1Bh`RZ7mM;6+On}lqP&EjQK4w`lm1|^Y6^M zT4AJZHKDCc%?0`Y2wQ#2@oeo+qsddP0xYwD1h3tLxf4G!~udA)bX4pVlBlhNLR-kU2p&}8$< z>PG>Io-nHLH;zNWR)pn6c*fhAr%@ToyMP$1@_iF4msp?5_=`#Y0xPudWZDt4UUkb0 zmucp-PqB2+1IuqJ^F7R!WyXjf@R6ff=SNTetYESyCnZM?a|^;E24*p%*WG3b77s8K zYa1Z={^|(mNPbT$toXCFeKIg%avC~Wk*=})JyMGe1*3u4-Uw()4kP9y{yCCzBkVNv zJBfu|Be7d^V?<(i9c`pU|^>H@=`JfxwgubhW0#Z+Ux@r6O zf{CZ{JRVBcQ4!P7Si?ajhO&o^`Z&V`X_8mgr8698Lu@mDL zF}|qd7dn2mj{j|p|J@*;*72+FxbZh`{Tny_#@4@aBf_nVK+kwIXBKnC0|be~i0SZl z*yQ~wgxsnb8}?yayprb*VWbuuC~dFQqt@XJw%pvD#8$q)9+o?-wHaez-<3ktjQk+> zLd?jmi{9h9htlr6!_@Zj&`4iHCowO>1*79-U63TYz@2J>?d1f+k4ZplfkzIYA8TMh8 zO0uu1AuYar7G`2CYwmzB!-(y&eixpm1Tzh==lp;%DJ4iUE^ugtom4bFU-xeWE-C{6 zss9o%VL84p2!>d0Yyb$IZ@|8(l0zKo3#~+wj75RAvsh+yqELu%6RYUX=xW`}Ebk-i zcEqR(>CQk`KhNQ~nnd~BoA|uT!iUk}2bObZ`tK@TF-5Jf$?)=!_G^o$oS!V@yz(5u zKd%g5m*@ERgdd~e=(j#$D;fSspy|tJA<5*|i9(+|3i%bY4Z8s zjqyJlE>wKwA+FE8Bo~b+X?U`>v*9pKb?hFWU-t6Xzj)| z*&;{sIV>wX%La6;pT$cZ`wT-5&jsHkoq7Cp@blkn1R*t~bM4Q{h_lGz&<*MZHx$t-eo?D#{1_-t$ zc=^neFvYxlS75QULzR|sp5?!Ie!b{>eYmQQeg#f`yf+?H7f;F0@cbJK{6V>gHq}SQ zIQ_V;@8Vwo)q?myUs~Jp6&14ANo&@zeg|yII-J0ssr|XJekaX~{P@9KenqpiPwb6V z!a>aM9AW1T=o@xwZo$ET-{fP8tKK`?br!(he8NzSlY#?sUC`cI6;^i)?oemZDw{K* z_vU^;m>RN$j#uQv{<~}_lnyLk|C@!@b<*Qac@+0q9xmHHE`+Dk?=ktRr><3V{8zzo zb!fAKK zjrBMXR_i!Do5Qt}_~~_s2W|FR=yRVR$sdpm3kj_ylaVbx{QA6DZ zM6lQVjf;E5tDj>@$#7(~E#j2@OcG{oaXVp60-~AOncqx;ALuy)&DiEDA#u6w;6Em z7Zc7#MZ%jaWZFQjM6uVHZJn|iXtXr$q=Q&>Gq15&vgUM(y`M_jgIMY33-Zh3$o|hT zz7u9Nae)!i{o|Fm@FunzzSIZfnv57!qI!0@u^-kiD;RTU)w#V$OO{sF22&TuaU0as zSrrnE)r)>d+ctSi3N{cmFw3Le8Elc(ulvh5BH^_kVh7((yK1*^HQGh@42cCf5}BU~v5nQZ>2wpZ%+>BeP)c`IX3t0=P{f7?)>Kdp{K?f;t*(5con^}fH z<#|e1;;)$7*H|IM6{$Znn7q6?C@bU2kCZfNeGX~QNEDgUW$Y(~AEe;8l2Y5BKXkYj zeB&)L;mmhVwQBis?DKwO-GdmZ6!ldoPKZr$VYMeuL$*m*^WWwxkAV)*y#wEOQEaGk zgLZK)YRV0ma-;9)U0*57dgD-;Kof-BqZ0x}msXBt0b4HqGNc;_< zB&W^svf^TJPB_IshcR^Rp3ZMIy)t? zucR#&I*&w(^BCoF50oLw1zR6#mfRTF7~Hyu%(Q_R*oe_+18t(jAX23UHhHycZ{W5S z~-@DgU;)#KKcBQ>Yr~plC{#Y<2<16fW+CNm3Uee_c0>K#4 zMd4!k?1HOMEs@S*leUVrm=e-h#F-{j=Cke>r_M>>uu>T9;$0#_q zeqmMf!n`ogt0oAie?uVF@075YdB_)bVVe}XqNbk-M@(>sp?&mmp^6LAV&a~skX{jP z85?)pSl)g@yaBkO?HhjW8}5C>SKsi38*bRJVG|G4OxT&RgRv9P8=-FvecOcaZz7n> zX=4*&(>CyS17j&pW9B+9Fv<#vBWZI-&)8bf(#^v%t;Q?$h_oU1ezNHrt2x#qw}TI3 z^|gyDEZXK9O0y0qrt};P(>8!M;jE5)9wVfA?D1?~FR;>4G(1u^X9}INq0Z@!W8%Lj zYwV8q{fxoixbaTfTE{V7X7KM}3^_>(!7}In9>z+CJPsK(UbSr$YIFVa92w`rN+3Ls zxy+f$2sxC7`q|ph?-U%8S!i^phDN{+#zqXX*AJSifeCjIeuMB$gl_40OT)Fs92R}nwPTN5a%w+jijnXxQ~kN;gc9gLI}YY_ zK^~97=k>EWaLst|;`=pycy%vcCFPo8U_6>RUgNPQqm$9aRl>Y(m2ee~HeiqHGM{v> zdS%^H*XKlkRFgn;39I8<61nOM`c%#MYhl#L(xQRcGC2x8&Jd~N<4-EXdN)8kCQvKGw zS*<)qNyGMNNt`V4=J?03KegLd;XhQtaj|-XuUvX6%;kNm3!@GkU@TcHP0lPXAw24A z=%Xx1lr>#X@xbOBNf`mB#mUKpS;gs%J2o`jm~dmD@eSY&t>180CC3+U_`-%Sx}l+| zf`3C^=|D-)`u)8@O$tCa;NQ+R$l3_+1|R@Z2Vo$QZ!P^v_|sY2{${ zUIto{_~#8^^#d^H_io!Bk>a`jc|&-1lWlpVwhgD$;-|(oZPq7&xzZ!&=e}}Jpyc2UU~^5%`WjhPZgjYO4nPzfjYJv3%?~}YMaic- zE-JqFJ`Zv|_Rpfv&dqJ_!}Ig#0xnp2>BQ>l3eWLYX^&ukRaoSMST6gy}KhPL2Tbze?7H;G$z= z#>RJSyaD_L;{O5nFKqi4Zu<>i-0_89_@ZxY^aZ9Hb~OBE;I9t+1;TGVg=E^W6XToY zEh^kp;nH)T&F2?$C%nQ`O;b*la~Wqa_-Sa+>Xo2G1t6~vp+*i0HV^G;&b-FL@4#v! zW`FrGMhmR&F~+uql}ebf+Npkx7j3rw8aIB&uzAD#EbY*qp{03x=+3#mq?uYj<28m@D+jb-=B=p-^EYGvz1E*X`scG{#(~#dMb$Ny{S|~Iu z9-9NWb^SaoZ7>4Nt)aW3p~3w0Hxl1OV$y6@91VZbhTpB>ciZsYHr!j24~Z2AH)Ub?WzkVC&1+*`CscTIfnThdM{9B= z7q8amQS8e8vuk+EXQ#@NooXYwQqql%atF~(u45*vI(I;dzX19Tq8+Uru;EEY>Wlet@0Xa3Bp0MWKFfoTJ?9IV;{r`7iZl7(=SJ_<~W@Zrk zBa=#wE>23Hl>VdIv1=LM4kTg%lMotKs|NQep{uSEB56nV>fCq-_zvPPfd2>7{}-+Q z!mWSdiwVCP<7?|^^c#%-hdbZ!|FQS3OOoTbn&1b@J+i8+yU+B@nVB`)egDT=v)zAd zHg=}Ft12(yE@FS+LXe{5l8ccUajKE&;qp%;#VZIxAowjOe943_O!%VK8LuP<6Q&GI z$o?#ucnD@DQ5Fon!tcOHeFH2evnSI7yON`NOsl})5}rcbZdthf(T3TJp$IHhd7n*> z;oD1WQ5T(405wLC3ECEMTtbyxXqpS};AJW~hC$l6at6E=7hTNS(HsFf*%+l#d- zfJHdl)chzt+dr+iuc5I#t-!HRIW9hm#U}J{)dNw-UC8gD z{!Zp)3uEgwi=o}b?c~q&Se#gNBE%4LWf5+PvYd0mCPpXq(UI^<6K-_DYr5igx!^Wk za7zg{05dVNo`M3J0o>s>AN&=GzXAMBPrL#yGz0oZ&=ee*?&5Swow=q&V!;uQWA(C@ zzYE$qca^%n90Q2;&zUlN8Oq1b8ViW??;MQuRJ+fBhCj-Ck#%t@x<4DbwO{tWO}5N=2`<0Af{#hqv- zOgUkiCrtMV$QNMNr6H51n>C{uMZp1`f5iQ$nbV0+j!>SiJoE&)fcGpl75r|s&&~Rj zJ6JE=8oj|h^mSNDZ%ZFW!IA&J8!ArOy~a-LE5!yRTr>kGVi3#TZQ{FzNyzgnzJ4S8`jzp|e*nM#Gvmu=;LA6{ z*ZYKNdcn8pC)_^$3G;=)*9^XYLw@}NzTf-^t&|cbW!BJBR_HW?Z3N0e6qZ!oo2&Pu z5ZS@U(dhC@daVabWoyGI2fZn9n<~fed%KeJMez^;)>yHuhycGC7FG0y^3K)iN(@XMp&U+ze z5UWYFnky$JOeC&B^K`+SF1XPJ-)O>Dn(!GJzujN)H52Y&P4fouHz0oo?!SU>KLM{_ zz^|Wy`3jmpf%1#{PNL}!@Ew@%;*WzefTa7Vbz5Vs99XeA{%9__*BEUAE6}zKQEqiK z18+&aLD3D@S2-V*q#_nHYKP-4u$BCsA+~Wl!ir;z-eo~UPYZktqQ1Pa)>^ApWaYSz zWz3DX@3o)xpON$008y`#<~q;Vx>w)l@*z1HWzHEhGms|`U%*JnS+;%i4CFgue*HW0 z{40<@gZLYWZ%7%y{SJPek-ywA|8~QCzah;x(0m8;T$I|TSnLfbCq{K4FJ`e=-nzffFgJ_--}>->*S3X);p&Uq~MqbrZ!5OScKrWo|cLLUEZ>F z-)?wbg4p2B76!2kiO?%!)h7Kfl^Wn4#HjXL&Dg-FO6xEMJ!1~P;q&NN!o zUcq)@9dqKnaofdUwP0LXJRimS>(M9ElXi%UhEt0!01F4p2L=8rqj((dP~Q9pH#pbx zLRGQkUqx}Kd^kxb`n8m@}1W|BIl;pIjG~pG5Zw!3Rz~`Cq+x&_zOt@3h zZ7(@=jiz_(h4CI->_k=tX=G(8}yDB*HHzdA+G6DD56&&~9Z^*YB=za&?MY)k#wx=Y| zL#yN<2t$tw4z?p#R1vMFey1vMREMVK^Ny%12r;_bRjQy5>Spu{tq(*WM#1sx|MRO} z1wo(bd2Auc9~66C7+_%G;Owjz-Nz_0XPammXO-Q)?h1|y9GJgns0h=d=m>(fy>V@o z8+wn3Wv3y{NPI`a4NMm>eZ#kW#Xr7X@%OJ+{QB($pI=|_?OVcao-n6Rz^7j@{qkS% z^0&X?=YRVNfBCncaOE55{uP*SxZgAGbH;SJ;BvhnO$5q!Ad3=(8s|ShntWnk4bY#^ zJP$peYx!FdoivzWV));QC+OF z**u$qV-{zluHcw}G+~;v2+#K!udlE8`ud8?w;S+!L&i-7@Qiu>9rNoyF~3g8-+l#u z`xWUvVV++w@zv`wPj}?$j(NIO3J!)@n8f3XYg&Jc+ztMa_P=d?#|jQ__TC&I^eiuE ztA_9dwvoSQ$^0{o;LdO3(zYI-XJ}*Af08zM-b!079W(dKx3H)*tizO-7Foq}+u19iGk690*>2Z*EK_5oJ@xT7>|3GQ65vwKB zI5)k34`5NG;<3wyB}Qc->pYqQL+6!MB#MG#dE>dfEIdL#(;gI1@>{i%!;X$cvGAaz z9{k0EW5P`p924gBg0K97|G0m`|Gs^~ulx%>gYfP31v6iPE8+6Xzu~99{X72hfBaAU z?Z5vO|KorB6)$N96ejC#{M_e_lR}BVY`h$AmXc2IU z58uYXgB2WlVL}e05&%&Bt|B$vkcOAl7S>~FxqI24bpRW#zzX#|qzgZKTk%X5N47=f zY*?sg0TsVGKLSM0EdW=srtadHK;12CHW0_XC=N0v%$Sh*f|SI^1|U`&V!<)1KMpGQ zbszSZ+YNvI_KH7!{f6nwXQa=c@%117!2kaH-*Nx)6?2|(pKrL|e#8CspSXPk`0GEB zzy1TbC8YTUlrNY_cYmvLW1jBFG-D=Ha7?a{spph<(VnzaZdTzs&DM+8TZFVBgw)yJ z`;wyrsT9%Wts%$`tRBAy;%?4igi-A3ZFYW)PV@~r%BUpS_~>$irXZAhbB2MntozO+ zPql)izulxxD=G>s51yBXdiYvc>!ah35$)AQb+^xJYGwvgaDcOJsTS9xDPNHC6`2Y1 z9hhfAzE7C%6XtJUkZ=D)zW)x~#abCW0k3z=UvK#RKVI>_UK!u$E3UWSFx@}9@&sV_ zwL~mj4OxAl%TB(ya|6ePOhdmv2|8s0~*hHVmVv;LzLT zqW~&&x2xum*8ml@%#(Q`aqK2=ob-;b!l}9?X^1t4zD10_IrJmva*GAWgc~NjBGZI> zdcha^gn#hQ_-DT3_sfK@m!EJ0seF2-T<=_5>pa1=T;NSkwf5(6Ozy2LB7l0sp z4(B;zzGtMDE2dAX;LtsZu8ocY?z0Q@(F^`Xdc8%K#ieEZMyOm!mc6d^!?0%3xAHfO zxlJX9QB-h@$lvIR^1biL29D>k8$3#`@3hR1_QST+b#}WGdxqj_oS&#q&xaf}n0dmT zFUUM0r3p!WagbVZ5Q_x|h(JkAlyw^T`ud7Leff${pFe|t{RifM{uBQ}8R_#sF@Ju= z%n3Os5e?zM9D!JGtF`=VNh_GA+^;- zR77mO8IKCEg`>p2hGR3mP@(l4{SIlE!gF_>9HZg>f=1CBl=m&HCr2#{87$7$n=;2d zuUT+(#}L-aOJO=*OK+{-SK_Xu*D6&?SSstm?=Tgy{p~3?+K`qh7Qb*{4kub%zS|H`vrXa3cmja%wK@}H_-hi*2uRR{Oyh}^H==+x39R(pYd}09n<|wQE-H1 zmuyBMvEIl4yMp5?+|Cpn_yTc78Rh0Dsn<>?NskebAMeB$huf)B5z+Ts3vS;#W3kwy zefGZHeXf`eqAHS2F8JtCH7Oh}lJFsBI# z7tHj6E5G2vFSybt%+pV}&`;oW$1C6Q4TNu$@Orsm{`qI%uYUn2M$WIu`Hsw_Zwx2! zltgCFlR7fh{e-3>vhEOTY7Z7>&S7i+-gCQgwO?$m>5JfTHh<-JcwozD4`D%h5uemb zBWu!0FQaOaRQKfNV|HWFqCv}1h1-FZ^vAvd=1Msr%5fv$HD&$trgc<(tO1qH`Ey~;6% zlrg6n#e!pkS^h1mV25%?s^{3C*k=_qev8WL_~|VHeuUhur zzdbaL`El!i$mPA>^Xj>HSyx-W!B*~d(^;d1Ns+DQV zLf9=Q4WAfk%E+8>XTlu>PJ}#7c>M(Y=}P$d0=!I&3m6v$u1vV*girZ`Px*?U@(Zr{ zhRZx7=SIN+s9L}j90cS9<_nN*j)2PMtjftdKqfmsqQ1(onx}ek4h=!$$oi6Y7>(&G zE`|CUs{IbMOO)H{TmSj#!zeg@$$yrM=#kf)P(Fjj#do!};~)kuN1FN)y&rBj7MLs9 zs)xhdAXR1*1xG(_^@Og1BTh!VAFDK;o#h?@eI<|GG$x~BY38!G4*(NkCPF4tawJ!7 zWFp9(J~=^ULc)a-?mQv!1#^1A6{6(0(kIN9pD^JQn1CD4_y)pPN_f3oG5_>4=r4Z- zry29@3+8;6{pRU{OpF=AtO=4fx%Eap^_^7$48gRz-$h;mW__>KSDaEH^svq%Zckh{ ztHiQfx7eED*eYfZe4xzeVV)LM?;6e%_XO4FD7LL9Uq7rrxputZ8|I3p0R?`mee%Po zGcHD?r?#zS`inkD%uzB?H9jqVrQo0o61^a$t2Ph8jtMME4(+s-Mi&1Z7n0p7{Q8RP z?F;bRe_*}R$j4RE!B+_l&jGS&rNfaD8WlW?B z4w}HemGSxZ_Jz~V#@M&SA`I)y2;6OT70~qft(6^s+Uj!*t&X`)Ua0=lkS$!sN#~Ci z$Gd&$EYciBV^<=N%6l}i?pxr!U3-1yI)=C{@8iV#A#AN+$qrh$63$yAvF8rLrOS!~ zOrVrOX%+>?M3`w3<-?Ul!SMq8bOk;o;7X$8Fa^g;p72wC!B2U{bq)%StVePqDh3FY z6Ic}-$fDo?lW=0nx>J!rbO)f@RICuaqB*?YQGDs6;kLIy^{A}VMk_d0w>ups>&3>K z~pt^e2?%fG^=FDma*t^yB#_!W@(vIf(^F1|c(nNd#=7yPW*ZEJwQX1^0Zx z6_fm9weKJ?W1a!b1l$vFON9G%!u;t95aEUk<{7|r1*Z#y#fZg5Vqu2l)*F9RcJU0o z#T)8@2}Z%=y=a93OdzB!C$dL~5tJKa`f$yIY5|x#S9K6xVD1EUSQEcrCCByx@7eUI zkp%lE3`PE2_RyPeB{4*1x&U+q=ptek1I2SbDMw~eLYT0f0iGF11fCL*82OrTOTaB< z+-b&)8B8;1nvtd%DcwLciFL+w!!&116Nxi^f;z3cfzvnebOR^@YQX_k1;?tNsr@wC zj8~63Lpv8gH|y$EPhP(WOdU%PZ^~;WKF8zm^h1q!$L7IrwJJeGlXHgg2T@fMin$enw6#_>E^Lc>lHK(zo^6RKCAwdS1kz3#hz0~%dkPp@icMvonr z^(guL;0g}kvSmjS7Qsv2#))zx5n}>yAwpu-(@nA}L>R9;;~UTT#&_I!#+_#5G$Ydt zraKrn05=gh=?3yW+mRSdH*oaKPZ{J}Y0SxJC>z&fyo>4B;;I8{y={eyVK*@ya9n*= z;f`RIqK{rGdGm)pzpAfHDVvI#y_gn25pAULaGke%i$7xe)+PE^{(1*-M-f> z+}G0Ug?k!n$JG;9?3GnGYA`J0?!tO`ju>^y=KY6CguVUj0oE#XjvnAh1XXAd5|UiI zHJ#i`5Cw-RAQ*Qr-7&E#H!?_HC?xD;ClF6X z=>i62h;D-uK(?*1ZVS06Jh$S(T!*vzt5o)E!3{(A89kB2UKkU{UU+2mTBix?8g;_` zEH{w#iSgv1<~S=Lu(8(nDCNE_eHaDDdt6ku40Lqb)ro65_{kqij`hNqi1ytVhlb^M z>t5%kk2f=yCsQ84IC=FEo+^_~()1EU@sPksoRL8C%`+y*w=i|_*8#dK!xt0jOc|ME z&tOIdQx*n8!dS90Q9GX2^Y;$>;=87f0P=iV(a*q$^u{DJnuuMtlHV9Jgk2OE-Gx29 zgBk1uAD%UOgYu3bWr9Pyp!E@!w7CM8&nK8Kj`A&0SOjdELxRQ?l~)=OU>!&nJvd-g@QOi*?(>f2ho1 zq6pTo*dEludg1nA)ncy=7v#IWn5Xwd+_%Q0jd*B!@{_!ozPcvb<6Q)^? zfu$@DBZewDSe+}C+=_fXXnI~-@f}Xun)s+`=2UgXeUE7OPQ*nekY~x1qZ9UDn zE>H1{bg&p!D%q{;x$0?)aE~w|Mzp#VHpt$Go+S#U{-e>q6dY%%l|n`)UG>PQ(9prK z8NPF)t3pM&cLsCTrh~R!R45OK7&%vG$hH#{exgbZO2*AeG4h39QEo6MQePaDi*f_1 z++a~~knRO!|K#eEDMM7x?2{z>8_|R}Y2-fuk+$cMw6r6gX4ahq-c#!))YD=7oT9EI za3ZPdV(~+X{EHrh453dG$3O3Qb|2U8s7cU-rB*;AZwvNoYTCyHu&lBmi}@@ok7Q9o z0OZ>TXAtJZ$jqY9NI+I42itaS;-J(B%94mtR;SWHQf8l%`A?GhfC-p9k1DvczCF~U zRtuF!m?Z_kx2W(kTo3bwNQ2dFQ7@35!OHk=`~q;eFo)-B7}>g)-K2kvffLuyZOKKD zje!_$Svc<8j^)5^jH@+8rQ|A%0=^Jf!+LQCVR2=?%wNpSKFrcR^k7Lu5 zv1|CAaoWeqf;=?KNsJvcis2q%qBMXiC)h+)k0Es;m6H6yVs+;ngN>J%7mozuByx04 zNOQt8CtPOT>S78GJpo+AVC5-n^`2D80o|rz4xd%^9A6Gr9aaEeDr{ihMiu)AJPf7Y z+a*eD-`Iotyy{4c)W4~N?N3X2a+Q49qIXJsChaqSpsl|~A4b7ZQQMDxB&IM%_MP5y zZ3vSx%151*n;#S*LOo(^Hhm5&LpIm-py8~3IASaUGr7aVc#Krpj*=n%Ffz=bR?OXs zv|=Z)h$c0$nc&Gcv5Ve7_^@58a4qU@n=vxtG*wFR$72wuDZXkMli>OEH0qf-S_~P#HD_EM=^%;(nZ^@V0*2H_NKRqg*?XvTh zT*u15d0vr70kZ;?Jod)-v)G~>J2BV56!Ev>HFi&UqHYbL5E#}@Hj)wu6DVg{1kZ$& z^_xou%(}q)6_cdRlUjmk-7zaCj>`4AAH=S2*{X&Em+j$k$jVp?gVVwVCrX}93|7@B z)%mFSOHWwX!fddRrbh+qh1-G2iv+7;Qr82KLmwx5Dfn)8>b@a;7zKw}EcloUg1{ck zXcV^S_9HtFbp!+|gK5_TDTFeHR?S){T%eLxj$@@|!c-AvTw|y;CJfW|bVE-lVPzC1 zG-oC^vy(PuQD9iSEJ_S836oAmv5|u1Mp1HPxL4<(*sy#^T7|3n6xZW(|Dp$^6JhWf zb2>%R3GhsNtmNgr@PD8BTzIL4gmX0Z?g6%#b)QPBh^~6TA~lPZMou||#b<D)hBdit z!d11aK_gbSN5zDfec6+y{g^$|>oO#3_u6d;J!}!T3G*!GHFqFxwMJ^NnBG>nJy>m( z(Ba_??ZQkk9#)y1EG+u{8rB=Td*c?YNu$+Fwrp!4#yc^vEa;aO3FW>iAjI(5}G+jDo`{ zR`8Oitzy;WHvrqr*Ga05Kq8&^!wlru&U98g=4dRAhBz?*A^-a2=5q`=TToOOwPGW? z>9gJy=B{xPvNLpY?Q*c(2p^~trC4(0@ZsjVOb`ro7ia&XMcsv8op#>z zMr48oqX?JGBNpni;2NsQXI>v0Y;!o3fwZ8dxH&R=zCZSlLhT|G%bx)H=BmNJlU>U( zunbcKCqkv%h-*?2##DGt$v>2+d~085h1g|oOpzfsv;NLV>L-cHvl?&sLH0X{736r_ zmGrbq$D~)p`(?PAKdfVMp~gxfzbfe{p2N3^J3Fw_|M+m+ZhEoqPNo+f6jB|m^eO6Ky>KBVQ)ZX8=v`qa zMydqr&ma3R+gefPV3W7K8iQOu62lIRVLms)2MCHz_Q+yQXIKvROxa+5iQGAzF>_|sG}}j>QJgC&Yv<;J z;+V-~d4?*dU4oaH{v!_Z?@x6t(Z;>!A2A@EC|K?oQ{R)K>2LkE>%Gx>rpRvFBF62f zLv?fb(K-z~NxenWe|Bo?jyhM;-FblpZYRR3S=q7i=iDd-%c0p>pE|3cCh|0aGl4k> z&?-z5%YGHvR#*gT@uMNayF1Whf(hd6p6V^rqyls} z`QC$-mRZts*qHQUS-asDV<^V$_dWS5ch|!0#Q;>6o#)asMV-zd19-s*toXJN={8j} z92YT$ben^|K+MGA3yFZ7NPQs@W+G%tV45IKqbGnSfQ(NUg=J}XvAQ;egK0B}Z~ubA%$_WGcl@KyJm(&zTc3&L;Wwy0$+FV+U;*=;aFZCUJfcL3v%W;>p` z<7)@T?cZKqAHhD5Q1yWn9A%iCXV%X%(lzEfl$uV|Q*3Zo{n$&YGAespqBs%um`4=1 zjrExWB>BhyC(Ne)a3u%3hLcrgEeZ$`z-`}}R8mlKaPj7Wp!hK5228=BG3{tsV+76+ z0wet{bvcmQKKost-L5X)QSG@Bp*tb`II`@xaw9i;OHWKN1PpaH#nm9OhcxQVpx6Mn z_063MA7w99#MD0uN%v?flxQDjw-h(t3C!B@GMrIbC>CK^xGs>HF*8(QEXob}*jqjm zf(gV)Kf3SR_i-0r{H3#}@TqbM*^6B)llqI%fc3(099Fy;Zhv}&s+N@(RxI%dW@Cl9 z5`>F!Bt6E^2+@`Jds11@@|E7e+rWB9-A6gXp6QFgxR^bO*~<$;=nDzJCa_!*G?~G43YoshNG>xy)nuD;Rk(mA4ZNJkK0erO1#QjzB6WyJ52$R z*;E`{^6Oi_AzKPn*^%vI%8f*|l0%ipZq3oW#Wh8Oyig1(3rZk;NlAKqIBQ<*J2!lR z>pyj&z09$PQjuG9z?Qq_6AS&% z$Fkm|MSJYWWa{9yLOcUrS39sS^LVH9VH6xjYmE5_7CZh3Y&5mX0d?Qz--aDa=R4SN zaQ&1@;L&>p)4h4-k0T~SRG2afb9OrnQeim=!D6*+BBlP*@k|Xb140c4NP#a{irQA z5}PH5ec%>#B9jq{y+`2rS~@1l!-k#kws+fjmgbMhA-vV1oLa3F$4u?Ztv0 zff4Bumojw1Rcui!p<2lGu%;T>>IU_*7Z|r#X#95Z8|RIXhlf~wvB>{(7zLp8g_gb- z7I~kvp;{i3G0F_mW40MU&HyJl9WbYioYX2>Po$cI<7TtukmFL6U(*COg$l862^2p| zk`>A#o5!tY05lIIvVDh_ZBOrw6{2oQG-pQ6BCL;V$9hzk1onQ@zN!qmld3PQVT(S4 z;vn=<+{c*Y(3InGh#0?m23rtyF85#`NTm8O3XZ;ZzZ32qVWWsy6a)5c*pH;%^V>H# zF-)89z9~=*xleXFD|C4T6v6l4FVF48PAo|0Rgb66 zj}43?zQB6n_F(o5{^99)zg}SUeBJwH7+hf@sAr3S(GiTg;qVj|2T(b`Xc6u^V#{_F zONy+Lu$%}u11MWmGR??oMy8B8Wz31?C~rHqJBbwsQ-V0%pTbAC6(&(|ATf}#zkqb5 zaw6nRYQaFI{`{HT3{n#H9|l@{C7VhgbcG^!BEInmX2#XNZTUS1UMvtiT;f{IEntfP%|J50kbwz?x;EcU z?!&3UR&u0&ZRAd<&J-~-VVHHDs2{Q_F8sJ{Ql3j0L>D9yex5k#hcMYE0~eOhlo^TT zC~!ZvkY#?Dm~lb&t&Qzo2!*!*x)=X~vxHYPm6EP8oN#;+R#@krOay@)HYZmXEpVmyg(q%p@P^ODjSGF5^f-eXtp>cAi`H#LR- z7p+jxun(`V^MYHML}W64uP^$^CicO~$-PdBACW0CTgAr0p%os8pOK-CZijc+u1*8n zB2sLZO34v0lNa0Pm!Bfwih%@GAM@Sdj_=s4?lM5LU^Ibg%e|2wiVaio2=QML$hjMAc4BJG^ZXYwXw^t&DxI%3W(-9^B67sa0-_Q9zgeb(U;_ zE+?Zv9eWZoi0&Y|gNa2!!3jCds@UMLMMb|!l^cnWNw)v#YeW4eWVL)|wc?m5sZ&xZ zRZ61VNcjRJb9_obnv0MR7T+LV7kw?KENRxb8`~l#SZi>ojh%Hzmh(5D0dJ6BA^EDgn5~e*hL2MB`t=QEj?R@Z*>2lSs;6$z~@b9yczM+5+vZTool5?gs-1 zd3II-CNe9>sybD53hJ?TXEB~SDw*@%V@qw%3nrpH`QvhZ9p~;pQ86C{(Kku zFbWQzrtMULAZ)!o1|L*wST*IS_Tzc1C^X`to+9(;ymBu33uh%#b1KY=)67x^dq(XL z%&;b0XPqAzR<-rSo>xr{>@^j{ZC@Z|7p7IbRV_+#21$C7in_Ej6J<6tIw0%OSvfi+ z#Urh`wRbpqB{s4BW~-C85*$X*BcbX?V&mw0ELNX)v^N%$u9*kd=EzB&y3K7)kymrj zTciai$|LDLDmQ?VuevV6JallZkx9>y&k}!h3E*TW5jBu3FnMgWvn%HZevOY#u7%puDe{KE=eRMVJidDB9Gv}P0JnzQr z{13C`QUym;VyLX@MsSvOR=F7rF_V+6EsPl%GwyuHo$r`=#>}($^56`BeTN7UA^8>+ zNt|*}ez)ut%7=(I9f+HfbM=08e>=h*`2IH{i}7%@v0G{q!v-s^B28 z-tcSBy9oNaqzFtT%pz=48H)fNZy;!($4{pNDGro&wi$uNvTtEqv>0Gd(05|jHb`SO zwLg7_hkF*@tEsV!W*PUbfI%G$-3isD8`?v56O06ktQ$gm8~B4jtXDP0=BJC_`RiW)3}u zOIDmq^DH0S0nA|Bk?D?%J2GZu&H!i8ouIh!2a;Ikkrh(59In3m<5D3-e(uz^_pSB& zwWUVk8$I5#N>&#s{5UBeug^IL(~B@8tPf+@C+MAuKi`8sj)H^G%wjHyq3#)jG1tm% zV~e+9;aBw0u?wq&P~(ZU@*#?ab$TIT6v1=JdBdcnG&gKvw3=+)Nyt98!)0;Az&iELP9VPO9J@11Ulvubm>sU|v374Ya zxFhka3dNH+muA53f-XSHz%+}1Z6+S6%(0^AAeRZVjk!giUX!}pdv;AoZY5c;5~ksT z;l!F{UB+r1+4&yzy&!`;cx?NkVF>k^BCPN1A2~%{>Gk%KR$u@g z)#}ZQpZIcVSzPJ=^^1@lnBRILZiTfa?6cpeFgg)8l&s3rsBJ2Yv0EREA5=U zjd5u;F5&zMD_G2laU0=za`1w@7&ISt!nZTC@W*T?S4~Lsj5Gsj&T^e+P`&~A70llN znn6=Wy3Cj^8Ph$hFC<<3kgudrEi1&J!wv}!pDp-?RJxc{_Nu*<8 z-2U<6mmpe7#N=~jT3N^iyCoeF zfQgVu6REaelPfpubU#sYWF(%Ea0Brq-)`?Q0VE$z352^m*bZayBBZK0Gc!^<{Ve7> zudM32QraNAGH_|LEIBM$s*=*uRuf#D?`%Tm>gTgm_~cq=?s1)MGONa+?huZavlpJ> z?bGt)O4^EYkUDW(xR(ixwrtypm|xb}Vbp$1G(h*|lp+N7F5Rh;nM2ru26RB?^RijVTsxL{(cXnSJjU#dDZ`A`WPmL!YkE24*Ioi< z0GXlsg$bDD)T(LDn6jKwHRX(y??u6pze((gkuEdRlrc@L{*ee1Crnwl5@rG=QB~R2 zmkc?vMI2Bk=Z(@Qb%6OknOK^p>L1{c`-+!^8rqxaYY#OG8j z$g}y<^oG7_jPo)|z58u;<{dF=FhX7LahvNtj90^n%trw$vRd80c4D#5wdLK5*>JM_ zgnY+vM=>j_-3uJ3#@f1Xur|Iwn9^x2#F;Jgr~FlVPf@*C(4a%PC#|sxX+E# zZKB+FAsn5d-to^zA;e#V$y`2w{(5Pg*J;wy|nfroy!1Y<2{zoUsKVkVCj*7^<;S-ZF>s@4`gH%}8Qq ztPe?E-`Sla5f~W>pt%T?u7pq}2?&|QVQGd|MJ04IiWN#=-UJULGYES=+r6*Wy3bN< z?eWCGLdZPJbf3gp?o8Yb$F+pFij`!o&BoMU)wdTD3okGquS8wUQlxOdH&Jb4+=M9H z@4R+wL>hpJyq>1R?`aZU@~RPOjuWD7q29@$=X)vmJj8mvtF`>t!U7vKwwRzw4i#tt zvnfg{)T(*1a9%B)DmP$UHrr=x zVX=H13f=2}N3ikO$o_bck z=cwwX4gMt7<$up$Vy!;fci6l2MfQgDVH6xuFsZv0|1iv`F!A+{yAYhVusAcUaqmM| z5Yk4Zw>nOa4CZ3Nk##S(J1a#NZ~1KM55WlH_(3S$uo>h!w4KQmS#9Q+mi~RX;YubR znCR1C?Jb=gVkINo{I2p>hilXC@r6TJ{nRnDI@iES9mY(W&_uXf&#s-MP^x*#NVOVRr%Pl#o8iF=+$^z>%di=U|El}3|3hgGS^s@ zhdKer+$4RYBdoRO0&fMY^xS}5^da6(r&n*07>Fy5%F1akqgrW;)%(3Xa_76rsJ9<_ z_gCo1vw?m-)}Gmf6J>4aQ51N;UPm7>yRyHLM#;ny+qAINqX^aW9CS&cbBZZ92xL}w zq;LN;2~lVeQX-_3kSKvDxpKo!P~qyq`j<=jy{Gv#g$hE+SD8tn?;f#!0#>PDZj_nj zqU1;NL3LAyiKk-0gyOSh_mrura^QmsQMj%fw$mZ2aoT4F+(hklVT5^=)*fS!*Hzn* z+TZI$mQXywtwRe#zor9s4FQd(w=kA96z>83+^?S-v+;nCmoSK`Ib<21`}ew;UCy$S&-p0NK~@F;n!2HqFzbTQS0KJEFf$}arK$G&6FxqoP^)!iPh;8t->-|zCO9chw(Xo&I!fck$Kky1!=P&&>-M6L&RD zUJ3JFIGMJR`c?tp17~q2`dU|NrBri@w-}HcX>Hw$X+^D~eYaQ}CnW4|xb{qRYe8&W zaq0im9#{9wfDQa4?iYU;ulL*Iau^R~;oB`6HQ()Z58Hdcm$qj$Wc~=dI+C}od_1ZP zrbT~=Ki94w(Rv!oL@G@4RDJ6kK52B@g2G|m%Mgn?JGiyjVu&qA`Aj6rjg(Zu5tJK1 z+ttXotGRL`e7lKAbxMwj;${yhd5soT#!@JR2lV6t8@qQbpw3#jXo8|BqL z3IXGAYOZTuP<5&hKUof?jMa;TAoq5rlHQckhOO|mGIW3Usgy4&H@NeFQ1_(?Q3(lX zx(2hi$Cf;`=l(XhLcKDC>BYAIRBg)Px_6JTTsb%M*)w_GsEj>g%IYIRmz5JgXvmJq za)Ju`Gn$c5W7NayaaUy15aB73HX31dngBOQHe0u%;2;-SC^M3=Wd<&p!6Zp0vk>s2KHal<8ruG!AupaUY5- zR&V83GxMAv-6A>CP_&v;hNQ=1Gx$O1!zeg_dcAQ3^ZBnQ>#~oZLVL0L_CTUx=1JW0 z?33i{uaoKYgr~TOV>@|68%+c;aw`q*VYtNxClT~=B5)GMJ+~Gd zE*yFdoG<*FY*8^9kjGQRo1d=PcZa;MRpZw7CXO0$Ju#@Ih{aPDA{GVFlX;WZE}eXy zr;#;RD7No_qm+l!$P$kmTh2~~H^^Foy@z!$vntU=gE^EdRvh|~C5rM#aSm;cn@xE1 z^L0opIEbjS-moLSQHO?G?-`#);Qug-KmC}$8=d$$l<#p0=%w9 z>Qv{r33&fYg*D|uIU%Rk!@M)W*YfBM)mi8_!S}pidgP+@DH=M}TAz-2w0U4fiBZL? z!__g~M;ixqxX5@~+;RYgF48M6zB@2WfQ#(Rop6t^TDEPMzinf;9Aq2gXj=CKl@=}> zOxUn4UZb`~O`56bo~sWPlVvS%QvNb4KTbtXMv<4HFaNT?2xMg05#vpe$l8{xZn@;O zJ27pTt})uOa#k_Zhi_SJ?3^JNn4P}$Ox!Nk^WAi?yfNX*2j$uHJ`jBv1qXLE7U*_@ z7UM+&)veUiCG5qVueKxjB%O6aSuNRCw4Z0wJu_+6r<@2wto)8BS7lw{mfE23)jZ!A zeM=@`>or$Qx@=2fQ*M~>tOE17lJ@ERem!o!-x+!P*sQ9Jdbr$;lFFxoQG;zOKU>SA zwW*m0DauVU89k#6@5#;QJ<(g_r|pktl9GgI;H#SLzIQ~d3{oKj;#Wfy8^!;I*|u?Y z9Y26>O>yOhC^!;Kxe*ieciSjBHo#$!t*h4kF=c>S+R>C7UouDqx08mt@;XP=p;d zuaFmn&OuS6o%l0&b@rRF6`CRG%s9LiOk%kKm=>CfKqSQ+vaDby$=_O5oqi>M2a@evJ)cr9Pw%1cwKTA=j9e$YnbfeBXuB9& z!^%CIH&j$c@u+RmqG9TTgY7&kJH*h;fK|bPqTFy{8iY!z0RmI7=BSQhD9))76(l}q ziu7Nc4%#ucAq@`0E7X}w1f=P6DZ5$pNq*WYqhj4ztzT?!dwB3-vGgn!?`>fgZ;6qu zR=oVZxcjgwchwY3hcFI!-6Q2!vD{harIwpId0q%sCnOm!LL2{?HtJ#f>%Na!|KA$l zKZ0zGha6Q?TquVtx^`mRVoe?I#5l;Jy}XBzPhzpnj$q1j+3o27^>yT1MG0W0>X27c zgqSjeRRAtZ54da`X5Y#Ou?>m!%T=|RpdnaUIq;#Z=%V`V({!|AC*fgjol zKh=!3hQ;=Yo~?17ywlul)KSS(~LA7akC%3Rj+@?L})l$k9~(x*G(XijTW^fGTfj5@ubhn>!n z&A?@Y|B$5Xk#RDmX7Rb)TJvM6?^5u28r{z19A*@8H@zY<(@w0UCvzp2HAHoS3Wtwa zdDszw3G&7-=~k4oH6sH$)P#$46l?SKqcQnrYQy|!Dr1PkDy;O&G8bFl+>4cQc|2~x zV!qmX`@xuIPGncLm}9HRB0HPTq7;KLCzR7pEVL;*AQl}A24@B`gJ#HXm6=5jCw2Ru z7?d-JW`Hu7GIC;EQdwgpCZr6c4EIUBwk_nlVqxeOcEyfc%|}+Y2Qw$Eu4g+Cw~IAh zz{5FKwwn}-wKDHVi_j96+Ud*ZtOdt>h`por#RK{<3XWFsdYT5MXF{J^evNB-8kWT( zoDHnQvq@DRtBnCF6HI!Y0wzLr5UdGhkb8oR<&gnJF!yhgJ%e(7HzARDi_VE$`2hwf z7v)BR3GF|?$3VBTS9%(4-1}j)CX_yxQfT$lREwL*okUKHgv=bBN%jQJQf)U(Ix$v88!QsL-S<1!lMoI~k zCRcLE){*2NodE#9uQ`b;bIpj^isZoWS^0mZ*m9*qs1Ltg*FbbQ%<*<5dG_+6P{mM! zr0Uv_mKPqth?@KMeE{<}*6k6Frn=LHr6%qJ%(n!^?LC(F16bKkTl%9o0gq8kmf^sF zv`kSzusU>woc66T%Mi&QmuCo2Kli&}?W(BpAye}IV<}EM)*gu$ApnkkuJ&T`yNG{B z;s*wV{e^FOsQ-N4qMmWb^G;9<|WCt0~#Y|V73ojxj{1* zxtv6~kQ?@s${kaUA1fhd3%dV{xtQ zLYnUyGh|KDQQmId9LuziU>}J-jDn+3+jWm)c4%CUw-dl)%ua8^m>y-7pnxJB{swd zhna+S$KUf*y=8uyY92Vq7x|me_Qd~0dT*g=ADZTtzop)DI+zQIjN&v_`5ysL=W@2* z_BCEeG4=>@{~Hr1eBd9m)=(t}6&Izll~DPIO#s#8SmsKBXgL5I_S@dBB!%D%ppqJz zakJfG#V#k-$r$RjE_d#&U^;)9P+eCBmoobFx(}=6Dd5c9XqY^Tt7Kh*TS(vaNUzkI zmQ4yFs>Xc+i?=BRjMLo#EIN)X^@~$j*`)A3sO}+goW_Y$-66V9iDKx#jTw$7;zlfH zaxux*d8GqbC%L1T%fiZs<)v!r_mj6f#3I8PkjmTcWs^`W%%rN@CUvxjble+bh-HR zNOql-`Pw&!J>o2kzjm&YQL#vGla`Ghz_<;APQ1NXbFUQ|sxaRhGfInldlrhzw<+Oi zy`lXC882|9+9KU0M&=xC6&sK_bFN37j(sxS^XqB$F;Xw(Xh_k=(kQ2|g@!5DIP!); zv{6>uTfPwXTFg0IMmg*?+RxdXVtqjVG;7ho`Bac5vEE2&0@4Je1UZ&)DhiI2AkKBo zf}@$g0_#&*zXomI(rk(ucgeOpMGao+-K&Qdgp3y;{hcU^P&h%Ow^0HHf16JGI&!1^SyeqZg zdU5w)Eq{*BJBC#Y?0Anm;Wx1$Z*}(#y#osE=r0?)UChG7n`_uoCfpyl#q6tXU;+2?ZeTXidQzocO1dF6Q<@P z=5un*IWT;de3MNQRM>qje%4Q4Ol}>lW;5J`JBr18w7=W_`#muty^%gC3=?3^iii7l1C{R4h3}$uYrwaM+Qp!qCCg)cwkk z@KXhR*`mLF!KWO!Sr`=#Uw-?-$Db?p;+EkH{;Y9zUP&Rnm~X3_Lm1b$qKvQ`tLjYZ z#LIuCUk~oW-WKr<{aQs}?PMcfgt60Oy5WvuJkEO#L*|-=xV9+kBaFSgv9FKjflpC2 zc0(`pKH17nZKQRqZ@2b5wj4cY)8pvUr_iC5rSUY|vSmEcY?_N|lSmyOH~&&lZrHjd zsRf59Ka5{nLgDcgUS*KY{^lpIFcwpExTxa0ruH$|tq*)F2>}|Ym zSD|EVUC#zD(+K>blA%84n}x{Ba9YNal<6@f!u$0BFLy7=Mwxy&ADP54JD=1xqlH&p<`%C~PfK}lU_`Mho z7QW{k#c=P~`cc7OEENjQT>L1Jg+W;)Z>^O*gw78&Pq#EJRC$BhrCz)5#h#=%r^h+i zi}QTSV#XfijAy78FVydrH*IP6@>uJ0rC{C1>((XeZDBe?gVHMV%qSio#=-I_Poy}I zd`>Si!O~jd35vYy1W5{Fxi(6LC8ax?7W+SW`6igi)hNma<#(J5mRPp1xK9jTNMx?u z2pWvY%!E3koF}SdKlZ#)Mnr_cq6HOiJf`n>mbymMC+HzB=Zq3xOW%&0HG~O9~ zKm`YIPBPF*k`N~QfXj4X~kIfGafAEuYikS#0D(LJNhTPWQ}Xr7#> z8JIE^<;I=xG80}@$&rYFJ0abRf+MTY?4J6Q9bFjYXq%L)b^Z$0*l+ur<*jhLu(qG} zxb64G;zB3Ri1h-Pfu)587wmhmV`8c%&WBbUlIbQujrGzvL^k$SAQ!=CX}k1n;$!AH zUASTbL*Kf;Gv$WSd!5%!f%iRXt!E9jh84b2{9BYADK>Ei$u(^4Bi6~nEmL$+NeM(3 zvEG=jpy>jnD?pd9A%pd0B*_x zR1MO%Y9M_CVbOY_vzcwvxb_WJZxn=ceh#yF)9qYNWz>`#Y>z;EWQ(oM994BQ7rD;^ zt=IRKwVzvVG|ZrVW}C;h`FnXBMPpLp@SRaF_|HF~T2rm0xToIO=e4Nd`0=FTBjDTf z#AwmKTC@x*V*)dZNAdGw}Htt$J=TCC#4Ug;3yQ` zOO|P98|%eAhm|K3=Dk!(Xy}8OXjer5D_yc!PaMVKu|W%^P9_dBj`7x1&ep?cMM9<}$m<$Bt+1 z#*h2GW11AwFeOLQEh=dO%!(s?UzY(bAFoMF`>MMvy5w z32a+o_v3C=-`YK1GkmXz6;Hjkt%W<#F8O&-WZTFD178tWWD9Nivc|nQn;Ubrn z+$5I}&XoIX{F06(Q#M^X4e5mAda}O&eP?NXH2Oda4laLfji(K_i3O%?SWI&(+#{^c z9#;ZBl~|x~dk^MJ%grjA%pb;zFb0^fj#wE7v6kU*xu64>IUFToBrb320I}Yvl^^hm zb+)bT;XXm*b5yZWJ_w)UDsqHmO=aaS-a_(H-v zDE*GY7Ba9l6xBD1pO|gzt;okWl`PhIUSiTEsE=_-?`bL$i(4Z`CD%gy=KYwLXDwXs z89hus3t|7g?ek)wL#IWps<4yTG{9JIJrf#MSnPh(!`%7v_T_T>w{d z#4ReiJq6-;lrU-1*#}fK9_ekN?2>Q!3X6gU>%G!|3Flm=yfh|VT1DBYF&EWk9;3iJ zj$lppR9a^jd`gBMVJ^{xjzaeGpo+-h`!QB;6YAB*5iIn)xG$E;MI+;paf@$BhDv%t zQ^YZxQ4w?wV`A|%CcR?sQ|EaJI&6SL;vN8y?=RAH89EUA$Tv{2s} z3l?jEBQQGAjuPwmI8CP9u<^#m3ShoCCd)0kv&dSz2kd675&yOSPjP$X^$3pYz_DaG`JW} zA4b99Q(QaAw>&jm+hV+$iYY`jd98`J8;f&F+`vnbU)Q~K?~=sg5^zX4vcy_vs&Qb4 z$@KtM$+joRw7V&o4ojKE)Gi^sfiS0(i#f_lOmI_aWvise4U*ksv6e|7OeC(A>Y~`> zp_+T&hZyVNEY}(J{2kr#%P0K&^Dp@2&ws`1>+ksUU#|G&&oB7&^Dme#pTv@b zMbSaf58Xp|(utmpzn2_ytH2=Lj$&iTwnB2Q7Jst6)O>ujgWTelzU`cw>MZq!ibK8z zY@cx)Bi$m|&gb>Bw=r(8B3Fe@vY6|3@)};Gx<78iSL!^s{?ar?rpt-N}14`H?4RGsG@)+-wYEcWa0T!e53F;{z1Q!f#V{C0uW`RArM z<;k%eTUe}zI^=fT_{3$uCoij6!E|3~9;6W-IP5PkZa9DDMFf|{IA{5A`F3kJludwY z!y%h=bPKszc9;WdcWfGYs#alX>c9;iX#o}$ysYuF_23N zvk0IGX%eS)padq-J>OaO6w>vA^l}BRlln(waAM4f!90sln%-sM>rHH(xcPIXyn z{!LjyNQvMk$#Vux;;$$r!j#0~;x*66^XzF&Q^GI5{DS}b-x!P;pMJXF^Kbu-zy4*y zU;jGczy6mAzx?F_nlgy5Aif~siiu_j*W7I zQTDAb{E0M+q2dIb%kYWB>;1Lj%T^(6;3F7fSFr^}GcI>xq5={6I)BUO7U!o_B9%OF9a?^rzS2w2<96%d8EmaBwB4wO zZ()rkSC4h~vi|@JHQx#J2rJvJN>+;nLh0dgJn{yHRjihK*BLEE=M#Z4vlu{FdZ*>8 zF-%@tR;;@$+d7U3;f0=tAxcP?Ks)OlnIm)FqzeJl5H)VJ!NYv zJ6M4U{%yWh>{#&NylK5aC_&i&F5}c)cWa^1j}*r;L))I4F8@#w!>i$j$t{-Npgv<; z8*5p+Bg0i~u^}&fAo?&0j@d2<^}?jV>J@erFxIDKvlOhH4IaP%9W0hFV>&sSeWIGH zO!fwsvEo?Bucg<{Ra@9wcgf8q2m`%EYY{B;xBhk0S(P<~ahjpB1Z1uiT-Fz2TqFW# zfD?qNrwfwq^EL&?%#2KgbiH7Dxq>bUnAGTQV$7K_XW3hr5^%XpphU=-k>_0RX?#Q4 zdt9lrpGT9(p@;X|@2P|U$e#BZA$v05K10t%O&bDAjRcL??S(uw2-lT83| zf&$7Gj9v`0_^`Q)^jg2oVuA=MO`_b$q6nrmAraw{5-yhu5>1$A2EEQ8h@ZO4l<>=+ ze?dw=;isQJ;ctKYEAFqq;g?^4U;YHVT)*Pw@)?PK1E(vHuSn?ym&BM7Kp7y;%0FbQ zip{l**$t){>VR6`RKgS^y0U~Y1y6;Q;5N6rg2}?56Rz#^rjVnWe5_uD?Z$X9PM2lt&y(xr)nPJ-;+(`!VnxP7ma%QwwSHOCdf7HH zmyK=CDp{zi!vL$+dPQEIR*Xo(UMB|RCC zG3ObxDmWMnG6e^;{xg9l0!^ye0E4nQbf(gNT=SB|P)Gbw2c;z+F2^hiwA?-_K9g3$ zS{Mpe`45H1Fpit~JVAGXsQNVgSILQa!>Xac7RIVEsP zU`m()+&SZx?|7YW_%?sT>->su^D9yUGR@#=mi8k8CtwDH{(tt~t;vxbSrhvl2r}!^ z(=*d&&Y9VfcFm**y+|+8|NkE{$z(F!Oqa8JcDkpkGLwt|Tn`Qh90&v%BqOVslj+^8 zBs~zg!{PYgaIj0ee{uWu$gB=AmpY3~o$hQO-zqEde34$mq0qM{taW2%+Pa-%o9>#AX)h4OJo z^9r{?BusYTIa|nI&Z~FX(w7T(cH@_FIqG9bn%#PxQ7;s2V6pnp?+np%qf^%$j6lFd3{T1OjgWynxj45RM^yQ$AVEyI zWH^A+{Vj|#=4O)*<-%}>2N)SN13ik5kJHo$vSy9MNb8HtqbfPOj^cTjdpWA)TrC1M zFKc-~YPYryQ=?RMpLz2-v(w6Jp;rTN#I)E2wEDCAnii^Xom++Y zQXa~Lx1|5!bo=(6X{onqj`P+*mr~WYHi~hx_()|va@Xc0Q_H;9drkWlP`1+*wijPT z!~mjz8&2%ua2O9b91j?V9b%Z^{SIHhe8I23e!<`W{taKgJmTr;i2eQp_PdXG*gNd^ zguw^I_zfJs;={v;Pah|I{y5>MkBko=9}uSlrUN4!k8nJ~@rc1Y>;@0-wQ!tdvntmt zX4p&s>1`{N=IDrWe5@Q%A@$i|>aTpMmzzojU@-H6aqLye={#>q<(4&n(Vp#$c#c=+ zA?XU0-$&!o)fqzz9ND5v-}@7G6bX$rFYNQx;CTHI)zar9u@A#x8G$(G>&5YX zcv*#JQ+o=k66Sq*rh_i?@=#9+l(k%$GwnJ+LTTSG{a0gz)?1~+&ZGh6^-f*hTz|Ch z(kfoo1qk3+Y|I;p2xA8)C?S)6&Ny+=yzHhG52bw zekOI;PLxGg$x05j@7~)#31|<{cCl51UXLzqzeSJ@PE)9fhiiiS(bDW@F0Grqzs# zY<3K)&R!!jKmsB-C(7@UCvZ3*A|eJ4aKz#H8@_${760}h|AznXU;l>RetX2{&p+Yw zr_cEG=>eZU?Xceg$HQ+pJpYPMA1D0$J0Se*uy=d7k9&Xz@I(klElAppbc37^M*ufGe3X z3I@T~$IjDn7_D;)X0=V%Y6_I=pKG3J;w*toU#V7rChj)9c}8kd`DNF3=Pfw6=Goy^ zH~m@OENj`&Spi7tTAuA_D|jUn>4e>Ep!Y`D zI-ZTIOdNGMZHM_BTkvd|BOIdMnN8Y;5ugE#C<56LM)Ej1kAP&Yk?%nffMawX2N0e@ z#Mc<`Tsx zw5hLBDbxv7g>IGb{7m{|-Xx@G4A|13O{FJyS#I?ZvHnI&)PURA~yCT{BT!+zL<{D9qFAMmabbZYr1t=wHB8UWuJtK7TLy>j;F|nJH93^<8j)uB>;Lu z2IchE^PugU1hOP$bQx+kW}qMivc;<|E*OCIRiQGt4riSjH#$$2XLh+_bS>QgvVMSa z4{mu@Xtq3Lp9Fbc()QE13^-oKivk_JUCq?#%$!n6hy`BzJg3;iXG8XRb@@xUn%_<& zKboils>-pZ!jr5wZF`Pa9W5~7jE=xFp7K$Rw`xIJzLY%XPHywv@VMq#oxaN71w1x+ zvc8fC1jkgYjoE?Of!HHPLga{PVoZS%A}~e9$P7lnAqE^c;)sYNF^!E6nz;)hc^T*EBC;XQ5M)7%Gl5N~P%fIJymrCVM_Fomf8h|6fW40Qx zN`M&%)?}1yxY_O&ik!TLr;n&s9+D+&`YD1nHt({DPnYR3@QOmg4bKjUHM}O5J?0f; z28uy0dX6d8(xY#Ro~CIA$cZ^!p6ZAJ@}LB6L=scFqw_dAwcv2sf&&nMVp0;s>@ab_=r6Q?YRK9)sIqw;!+@JosS`_yKMhaGU_| zBM=V>;P@54{rWdd#{wVT>aVPXciK{F(6l#~m^W9o1w6(pCr?NnPMN=-dz=>u)FdA5{b1j5TV=Erj0L;ztar69MW;q=@ zS<2MIi92n1l2=-*v^hgp(shq4vRf9OY@uY61`*&12t-EgQL0+C z@rzKW@gN20)NfOSi^WN6ma}!0%QLoe0P`@EZd}y!Fx=E=t9BT9lU2lg6i&KMM7g-Y z=5Rgr#uHa6nl(tD@yLwaSyY66U$~xR4n(d4&6j4t=EaW5*G{hn;CS3gR;6#J389hg z#V!C%1CbdQ^LN<>=L>im1=;-vHuDObpRJ&?PzLG_Z$p`K6s2GtucG#FnHK&E9&;&I zSAciwzJ5mab0PrAWqul5a;=s6&j6-my>V1u8_E2RBtwYg5Xj+~foB(RAmEt%ZcH2y z5x@vwj37P&@fkdRLwNoo8-i{UD+r_mGh+me0X{f*dVr?~5acRE;1=tKRA(y$NHq!f zo@K?z^l(!Cb(BqtYmdu8Vxo5!Sh2zimDM+7SK;2dn8&N+C6xmHAP$|T8dR@o8Rh&GB!)o)rD<5y9o9CA_gdJ|VC zM^aN!cHmrcC`uEU#X)F10uvK>a`4^>Xc0YlJc37ti%;133BUhokH7x;7kv8g2_HUu z!o$NSI46s@$P>oH?=T+zfDgM7KYfV!^e|vY51@&}57Ok};*fkIk(@U?Ou&(W=z*|< zoFRmG`3J*Mx^0EimO_$|oJ=3YS+wvzPI^}Ox@XPv}3FE z+dj{hmjPHgFFffsR^P7ssn%0gr7ECusm^ZEqb;!svzDjZ9RhH$0vu_@;FGR}NZ?37 zAaIZy0OOH?$$@x)qXFLUK(q(#_P}n3z!MIL*f{`>5FOx{;278uVaLG0gdKo^^_lj; zbUlDMroxC|5?S1vda@iTQ&dxIHeDq7YN?#Kb#w`%0x!j<;07lZR{>~w-L4Z$MlCPz zv77w$c)fSe@oYh)E}P=n`fI0X! zB7h?t1$ZKH!W0-ZMG$*<{}H?4BZ$)FwKsMiTLW6Fi_OC)o-&NmXqnejne1eYde)s_AeA*0%2;(Ed z^au*yK=CU+4kJG9J_3_~+HNFJG*0r41U#_-9B=^bMJ~iB{y36<5CPwHVXi&2fE-I zeSq?NIp29PYPI;XlwcDsOXL(sl}2kx)AsW_bi8OMEBPfca<#f6bm>4`o@ByGe@EG9T9)9-#?;hax z51{=6LSP)@glCdlRVJ?lc!9F7RXfVdx$ z5*NWd0pSRQXJC2+AO4Q;_yNIB06&81il_@j1XFG&hC~eP5PfIiRf<7XBFK%&7v8J4^t=lNR zVl8z$G0D;9%jL;Z`<#&iogJJ$BaMFooO5tsgzyADJ|ctzrf>u!0O1oHe*(iJ1mHME z#N#st9Prb}J%0ZD6UcuCxg9`zI5)s0e;Eh|a5!Lk{teUf9xi^vfF1Y7o>Q~PPV!c*sx_J~lE zuEt+h5b4jAt3v`ndb>nv{o10I%OVFF#+KEl!3E#|mo}~j{&Ypu ztcW+&Bjo>ps<+r1~A0Nx+TN267}KS=i;aXs4TI@?jlwZNbyLoBfV7b=_NY7sLoM~_jdi&>s0-Ow+3D^o$B0I#3j3|=i;OCFSSopP$M~+ zvJSi~z%hb}lOGO;ksdJ79uWidoZ%1|Ln!8}QwaF{^o&oBPxulhe2W3o;ecU!1VsTi z-0>0a@D23z0Q$BA(E$jLAROVnm$T(*S1J+^4vZ&KlQz1oCP~WQ^;y!3nNK{;?YbSn z0cOOw9l$~4<&%&0=vhtEL&z$coh+FNQWf&N1IYbwZB|Tgoc-SBNW_Lzff>4Zvmf9` zYNu@f>Q!_-$5#}7C@eE^e32!!JV9G)Y>F(Tq4*aH+9pa&352s9w? zIPwJI2|NX0VjwW$^MoTsJU@QH@$dhJ@a?x`RTtq72higa{50Xi!yX^@dvFX0VMGiQ z%GhX~ixys45OPy)E;6B4d1n691yb#NP?hr1kgdCp)7mbXVSSp{n&EfN^=CZI=Mt|0 z8bBz!*Ib3m@3Wn=&AV-$yJu(9Lbe5MbJt9DoqdEISoEBGkERnTs-j?GM zUPZmJaSNT&sZ>wv>1#_m+$*71191HAzyI%6g~~%!3>qVZtsj_94P0-ENvDeERwg zAHROZ!?&++-@fAM@4sSrB!EZI^b8uG;0|Bmo(8yY1i~|T`~u=5{NOPRUL4zb#zYgw z_=KnMjNl>yH44L}L`aL8-mWs&-?;w_DDp}c=RA9UEip6VCW}lxmpQ=E4vq%o``J+o z)Kk_=m4cAMI)U>uPxE>%$GO*;bg}Z??@NpfY;b^_h1V+-B4!=1I;*_E%SzwvyvmDv zKDMQc2h*>6)^jJG>B5vxDm)huL%_PN3_^gDef8p~pt9imst+PtjM~{$HnA+e9^3a(Jm5G!VT>cj=RFSl2Sj*;=rBcxV;B&_07j5=;0^!+Kmp8hg&_cV zFg!7Mj0xZX!c)L8OgQ}QE57{ezv20B{}H=z#4e6-ha=qKh<#+>;|J_NencE6jE4iJ zaYViaBkjEEQ72AgNdXUPtT=4p>tm*Km7JhMfjatPX~U%Vm%7f6S1hnj@UkV`R`F$H zfzHi9P5Eb*ak<-UBstso2y#1)OHNQV&(=@E1w386(>_%5sL9`aMYfig{Z9a>EhJ31bG)jrY{)Z@S|gKN`m(A){XW^-%X;zl1_wkUu=j{=z+-fHiVnX{9$$|hPX~vmuM>_> zL2k1O5u>TtxC<7avHSw0~_WstP)C-GFa_|_6a3>N;;(mG(-Ua# z5NQIt3FIeuKVdga*zW>%EWSB>c*2ed14yn%OhC(k1NQEKi6Wefi^6&pQO99Yhk6T- z>ZjR-Wc^Jx6q!MB0gnN8wQ_qoQT|A6dH@6TRA=txx>zLpUWXV^hje;dg6yQ1-GREg zvi4U+TcxQCeJ`a^qFB^`U!G^p?WqMgI%7Etymh=;%l4}MB(M0+fm-K~gE~M1*`;Em z?UIeURwzYD(?#m+aqpD{ZL);b^S0a4tr2pLh0s^tuAxg}(S=cOL698{haJZ0DDo+s?x1fQ;h4To=t>=AfCh#uqU@H{&F_T@j}KmQi+FC#4zOquHrql#}^FJ!tT+XYrr`@LAp<92b@$lx<=b$|i5v@1-g=3Kox78mlew*o5jn;uE(@hXdpR@vjymNsv! z>7L+~W~h0+{MFTMcuk&r%|d1|ZJVIgkH04`=TU#N_B*9DLVwN^TvNxmhNB#g$i8AU zP|GvfDD2WtwT)7Wm+{Odd6#t4jVA#)Jb^tUdLXjH6w?MGd${N^ z5MdbP=(T_NfZ^jOJpBIm`1H?z!l#crP&k675s}lJo*Z=xz)|{@x~vh%LvA&6&LKJi zITnBe0&;Zc;4>h>xlOjpqN8UK-2fbRINM_(*yxEm-0QJ6&-;aH*o;^G<~jGe zk+Fhj9`-C$x3pUQ-t=k!j^Urht%;HC07_@+@$7trif4sQ{jPm~Ef1Kte>u;&KvV=- z`+Z9)lgLKII$<|M^xWhz`=-A{fC3J()f%Cm`w0_3a!iEa0NQ~vz~SH{VILxPA;LwO z+t9fAvpE`WT1-$m>mA|5_O>^J~4fu%ey7(wd!fh_7c2W`I__ecZ6)S z2E#i&>93)B=(c@o9ZyYVtp$e#IINl`WM!Qt)5o=+TV+Di?V7YN@Y=F+Ti@3acfQ>k zTT!&S6V>HBGjdO+Y?ZWpraHwyP8MHB!gOF9kAR1RgU8?r`-D?GA155f5g~d++9AdP z$7jaV6XXB>KYzvl{J;Dw{*V9bHxTUsdPwqnCofL{2myck!)N^UPrt{%|MM^S{MUcM zpFe+w4+DnaF^nGW;NXtHFgfhw4*L*+L&Py2GWfw$Gzx4wSYiEe+aCr-(0@IfA*<5}6l^SLDRY`T~73e2Qw+A-PVRsFcLf=m)- zf&XK8lpo4?BqQt1Y~93gp2x8UH>F;S9-~$~IuBSsES8t!%k5jwx!lRiDqdQ1@HOvd zp5%v!K;9*+Se#Tl$Q^;;2zUqHG2$Q~Z%pILd50bCu=Buf&+s2UVfWz^hEJcc|M_Qp z_@`g+;qxAtjzE~epagQbys1PCIEI<0frzBvIR|zmj-`k}jzN@w=ia1r&I-alXEQq1 zTE4gO%fwK$(>&jqo{@*T0XSHDLCS*>$2NsEhP0MvN4ph2l=DOt?|Tu||770Dwz^Y# zH2?>G`d$8-tu&2%nspT0BTUQWIay6vsRU_{jkdfTb%)m#=<^v0SplUaM2%wl61})g zDqBXL#Izlhwj7#n!z*tpHw|KTAowJF0zeUjazsUfIRJZ6lG%gc(%LVAf_Q9JFVeed z!VpI6j^9APJs>!IR^N19LD9V>4bqP;C9G#djw4ED+92ee72Sz8<&Y~Pjq+}0u9;HWynF4UVOt&-UcPJIey*o2+*>e^ zkErOeBmFIkr1DjR;5jc#CaQSVCS12(u!3hZn`egR@3m#;Tblq?JDRiEwO&gX^U4@X zREXpgkOFEjtn{y z-00v(2X}NBB4N)+0LO@M7{OCaE}I;R<4bjXm#hLf$!dLJUY!W(PNJmS8lXRn4bI{(y`2o%m`~bM!9&Wz}Jv_jD`h?-9pD_IN0UVA% z91&QhgWm2#xf}}6$$Tx&_n8X7K_vavDZsHXX`VWw!X-ex!AETk&w1T=m6t@U4DB*& zS_xU51T+y?%a0tX;n|kElxI?xT5rei1=EFzY#py9(wx++Q?J}3y&8aH3`r;%eQljZ zX1S(FJ3;X`Mmb!Tf9Bn_yxDi449sfS6zcjPpf=R)ln2zNJ+qTXHczshSLZETM%HVt z9KgPa@N`Y23P!Q(aF}R7-~pVje)Q00WVmEP2a>aYff-K}@C_rr@)6%~#8*1tlN<2l z4|v`kao8Vm+#kVw0B``g1DHoJM#OML2nR3%$T^Vn@Fd1~JXoBi=_d1@AZOz{myi_)-Chj)>*U;^PKxOcS0SAMyC*5s$xp#kXI-;@jW8!aY49JWZe@;6{gC7_evH13B!8 z5h4(#0K^1zdxzR8lhg1~-y6jjhXNc+uA*nXg!{Z)hxWa^kT36*@mo!hbwn$8m6+Ke zKIu75j!X7rTC3=^<8-M%+A(Q)RXXJ10#32J$fu3pT8^=CZsNK(5NRl1H3> z0oD?8gR#57tK~%Lch;waeOIPQ%Ab3p+>3OBQGFv+b)dAKSD(-|eYDcATRj6M9LPkV zK3A+2V%aIgiOXIWi890776ndSW-HNXx>2ToNGHgqK@v2m&ZaAd0MAlD8)T4kPPY3+B38 z&w2GRyFO2%ED9C_8T8PUlxIfYX`ao)g}hQ6sl(XLFSa!1S&uh=Xjq*&E%!7lwy_-U zwa}{pIHsVJU(N5D0Kql{<(^$N4r9){l6uAw-Ai@J7Jvf-CQ1MYWbZ_s7k@ZFwd>wfM>9>b+~T#5Wa2iUb&)a&o z<0V_pB;|*g;2pv59h@g{oDgHoaR!c{_>=(-U=NPFWKqG0;{nq#V0>ak1TaT#|Ij)2jdtccpO3S zaBcv(p$z#9c&3Fj7l@qMT*1j&gZWFJc;2gKmK3=%>oG08uhTwDa`POo5*w%bzshtpN@qXZmRg z$N895DMvqCs!gJFCG&Rjek;B|KHa$}3?Dg?lBgpYEitZZ_jLw3$T@zfrn%*|=%vU3SNlU*=Gi2#;Q`XVt~sKTi(btE*YiqzwGACN;c^a|_+AUW8i0e7 zSy^4deZwcNS_b(?B`!L0{}NGS2TGlz`rABBss~l#ag(PlOvzi?GRnni^W20=x~wID z6XMGvl%?6!Yr5EHh<9e>t72n9lEnvrSZ)ND9F+n z-aY!^qzkvIeNp;o!<(7XSM|p^xW(M^7p87K7~7ky+^89@cvlhGGKCRg91%Dma+JS; zu^S@D5dtDyjKD_^?{@g>pFiWj`LF*8gdN5SI8KlqMGOFYZ~{X9<>%kwKm75J_;)}5 z0ly#i*gcQ%#|dTAMe{!JcYLTpMoFk&VC`sjq_9;^~zeY z`hdA@MYV(47Gh3i+L}Kvcv11yLap8e^m&@cZmW0NsmcL$ds3MxPxI#SUC1LsL_Wk_ z!lilH>Z@yc5^p~}Mw$QHa%Y{O7vC$OR|jwuhWyjBo|rX4uk)wDz2^0kQQG+)O$SLP z=GA+hqbaR7VD7wk6Pa^tcAh5tm`;hI(!uM~C$yMPKKU%gNG?fsy*|{43St1>>~HFI zR4URX!x0VvTo6?fW9k5h;62!TU>HEd05=REr|$)Xc*Gc<;oLJ^I--IB@H>Kw4hUl6 z#{u9NGjdLI`|qk`XL;2`s3Ot|RcmozLzLIayyen4%&YR!@E8EO)7Kzg%2Pd+kTaeq z<#VxdZF`z{^}V06Lpyu3{I!*-3xreStGC_I@|rxg;i|b{&ASy(-zF${kOSR_d~S8^ zmrjT-t4Ex(oE1l#u9k`FSZr=;rLGOPz^f{{4wr#3E<49Ma&0y`>TEZhhAMTq6mseJ zoL_dP+niJ?MjGi_J}V<_)@rwTd90aasd-*3H`pxJMWJ*IILIzsoSrZqo^c$H7{iFb z5pMT@-Tnas90CJ72KKuFA3uJ;fA}vQA`kfEAAg5$PlU&3U>tXtrX4u!;Mrq{9)J4u z5r6&NC;a87Pxz<(10Ie6{&_+?GB5(e$Z$si(U@4wc1MOw$KLW4oVt6N&-R;|VzDBV zzxEcD{y1nQBKMSx>L^)qxXUes)H=C4FE3R$X?2O>^8qq%_LTI>_PD2_+dL=Rq1jQ% zy6^OPXB4axVG2l}{?6)5L5?)z5z?IB&E-Y;(4%v6XOc>-B&hS*(y}PNZmuLMhbiqd z1p~MU$c9(PDUSru>-OC{pxg_#x8H+qL zJ?flFxWwa>t8|3WQSzZ`5+Rb|p=fpQgRKHmuvFhM-5Rn`r zdragIl9N$}%k@iyBu*)T90H0sh@)|CtZ6ls9&zUx*Z-KAv(#iOHQQcPM)#a&UYn;* zSwpPDrTlQi<5_$SUCpDJRy)@U*70(UkqM`&6PZI(J)VhgQQX}zy&8a{?E&RH=H)So z!N6_jvdvtRsa8n18D2V`X!gCyuj)m07FGpT8L(>$_}-}yTy7gTKZL~HO> z6uKgS+DRwfQKf>KkS23NAo)ZhuyX);IP&l`z`=`|U1V^KU>@azBS2F=x9VIn6C>H3 z3{fo*XhBiEfQb7O+Co@UMZ&VlYh9c)!|#(_cGVL+l4Hwrxm(ARE|Asq`g;|s9+M27 z`4UiGWztufhT24X8M%Oej!wLHHp(@?e8_az0u5r!K5apJ^r7k{+AGkt%O| zSq{%uG^fSq@+-67bSm5yNBz!q#LkXTn zgF{3NN5pVI3?pKg5IJJ^u*btrOqZtsgc#rvF(BfXKkUH#JN*39XMFkQ@a56r+oQ+R z(}3gifCudGf%o{+!ybS6xW_;5J$~Yd;oB4Z^E2=~0%L?fMz}Fqa8N{K7RSYTu~Afj%wuZBGA_`Mwykj!)bAM5=2@`@KEp*wN5tZ}szN9DZ)FvdPuj2FZ$- zLY$lzx_L*tlP>_GB5mt@ZCl!EN&_IrGW73U_Xe;6M5qJsoK?+h)wnsuYu;7lT)v)IX7){;X!ZDCfqp<-%LNSpu4VnzTEM>8wB))9YlbQBNXl^Cl1S*- zE%DNw;fvfw1(T~kx05RORFu?KqQd?@U%B(SZ+*MWtvBvjdUuvPH)eNP*|Du3XuBlI2N)H@ z9wU)pX@;@+$b*8ird=HPN$_%GhL|yvG3R570{A9CgF{4^0;UjvX##V=Zjc?o2Lj+6 zhW!T&4-XXHeMV^TQtW`yKZC9UeXmaE@_2M1*OSGO~xK5qn}hOoZWh z0F4K@ae|)$+!WwKfSV#b#DXIrLM(FhRun*P;3^;jHDEbVtTr-;)1j=^%^tT5s@TOk zsaaN4&v9jEX>+(GsV{IF_3r=xAOJ~3K~#=LM_JH|q`nslVdkd(QUXvKG-kZ4_c0H2 zq3-4LG_6~(o9V94KKWj{|NInjXZ$Si)}_0i2-b}JbjURcXYcUU?4SQROYy?cMHix3uP@+*n5IWjS|jII(sEJ!RuI9H%cq|hKx9T_1_uUDL40nE zBjPl|dyipA*9`7<@WW1y{rLfh!x7W*0E7eL;TgvxgXl9pJ$QWh@CgqeKH$Tr2aMB* zUw?hXG>wSt0R(tv>^a~AMGTMMK;OQ?Gq7_W0|>+c6w~$L2+8HNfE}t(XT{h2)$(#K zHFw*uYTb;iof~hx=e?EbB35t}NnhJALh8kLP1%u=iKVeXi$CV!>Lc~r%D$~6y~?UJ z3zyXqo}I_FFE>P3*x*>U=DG_qAneU_Vh%so=H2HD+3Kyozbh|45{MT_ZJ+v&^hrXP zNVWr=IPCWc+!zwT!P5wglK>o(+;+lD1>lGzH?(BO@0>mnL?HtlUF-oFnQF1_+&IWpT3_Qpu z>UW0$z>tojI0DkegZX2RL$v#XD@uXd`IY7x4NsRzYhv!aM+N=u3exnvLX{VI`IW5} z{aF)S6W@yEVy@2Z6r;P81Y4HzJ5k>A(lKL!j2;hjV8nvYr^2n~(OhB4RonBWv*=&P zyxfejt3Zwv*~~{_KEfyum~`JoH4QH1OJ$QGrY5}B!6ve4Dp7I)$HuHVGNK;UnAAq?q+3lV6Lqk>Ze#s~~vkC!phmLVK5 zb|GMofZaG^KTg;I*g0Szz5X?UKFJSsAQS>_*1`qDTUc;(R$a5OWj1)wPnB8Me&P_ zT%DU$*U_nGjXa|>@~H=YT*=Go&$aQr5_+Qm$6Kd4&~XanICW0(=4>p)N=$RB4i&o@ z!c|)0{L8Ae_7?!wo1V02ROA`}mptrKvK{6qM^WMw5vB=Y6ksDv6XG-hF*%QQ z>AoChAVzQuaM59i4lYJ)07<`1I0=|F&isAroh`=5J`w*}X zlK{^y!aK@%4UU#+=s$4%pUi8apX0 zp%X_sUP8=baiPEj0H8P&<(#5*ZXK#JDKMgOI3$Z9<7iz!_t-2iqE+dfu5CjNZ-H{K zg)mFf=J^_qH_(+#Zm@0+IltEdK~O#K z@-{xML9Iv7iz7f)g(Z7E1^t{-*}k{L`O#!oXIVwKVX=OP zkQ_4Uvup|-Q`m?~nD;ZdvLG|BgbiqcdNG0sG7cDm9dVQ*!jM*R79#3m3FDK*yFpVscE+_ zDT{>SlusA@4oFHVm$S0zuN+A!>Z;nfvGK7HLqr%SOzBukm;&Myz#$;U06j*6d`tz9 z>!kwRG$BL*D+m!WM#+N{t2vNIOxJ)%W=tVq3i1v!BSr-}P-%qrXYLQFNjTSv%JU?{ z*r@zX1)n?nyqOPxcX}1Hsn3T+kmGu?`8$=@v;DgM=k7>#&#lMby^rUubgMi!XuS7O z?7P#U-s!E=JHYWq$xbl$2Xas&u-EL&7pj$D{Y3LAd~gkLL>BMka-TPF+Qf53y|s&_ zlThtikmK_9>M0XT?Y?P$U|!f&Spq4}@2c}`0orM!)qX$TX*;@6%PQsw8{|dfGfr+> z>TT(Ew|VXJ~3H$Ckkq)^#(!ya!dej2nZn{ zjsep+Vj3reDTp7A5aiYJa>O(- zLI?;k`Ss8vGUU>k?_`sa{Cse-)+l?0>BBH#3$W1xvfjascX}~8b*A^~C^rH(IN8#i zJJbJz>8*{wP5q5PuL;IoU|9Fv)86T=(mTNMPABQ*CZPg9GtfxK1#{Q5_{ckTm51hh z(XQDBG~h*HHNXcdfI|U~YA2C&Lb0?GjA*c#d`0ohC&eW|N(p=EF39&*D(sH)cC>Oj zU98s5uKoKIeJ6AW+S*E*<+L%ZnqeW0sj3=tl~dCx)&%nCg1=hilYLLWQxg{_b7ceE zMn((~apG*P5fZQwk~IfM0f2MKh(OMzain9|ft&+*2j@L#@bE4{W94YRXVSgK@mdZphs4ZXF+RgX5WgBMuz-!~aV z^TuLt32sz*yW{3~OJi{B&BR{aWyh`f&W5R-Jp!)2znyk|r~9IJfa8tO(s6{PaF;&2 zny42ysZKo)%k~}3SpKK^uHx06*f#$ekRyW|>6|zd0qm0g!g=vfHh5P~9Sb|c^SWFM za@^Ji-&d*7dgBXhC>O$=wc2Q(Q%=9jpV3+il6QJpy3AVZN0EZEOF5l`wtb%X#!%2x zLS?y>0gf_$(uGgy7>fK*YmE{$6?qn;02?77OfiES(^!BF0XGcDn-c=kT~fu`jU3>(CV2h}GFV9;#azJK|*(#g8@?NWx$#A*f`UCE}eYd8UIFd6<1C6Ss;=HE{ZAD8e zoBl)p`0e}>R`CDmb@n~zjRG8RaS_v70QUIj;@EoECn3B&OY!`z^G>tgudoh{EMK`; zm$q66(3(xBqR3qCm%ImVTol1c%1#O|$kiIbdAq<)ix4(5Z07g+-q}4@;B4Kmjc+O3 zTa*iLnL6#QH<)xnb9$bw3O33@1`zC+Nfr~8gH3R8f@~}}^au)&h8c4@UZS_8OmaMA z44Bku*;~hM40XW`tj(24sH*xR%kR8B?v&oajcw=^0UTQkhWi%$+mjBM`Qnn( z*5c`-=k5F3bW{Q z2R7*pvh?bSUC;$u+TGc1m%%JoDsvpW`+7+_H1EPWskL$S!o4*)@Rq69)&@pR!Xq!B zTVfk-na;U>u?nXcCZuB_1UXis*QsWJqvTY9hKva_Cs`%mnHh*Iz(!2g8q;`z};E3f~ZRbJcfS6pIlGI1!0&ZmM zjV$%KQk3(qqpA1uw}wCzAYW4AFCE?Yza)I8A5Gn9_{J$SPi=gf*SO9c?CsBG!3h~pjPc$>5YB2xa7d&QEHObYZa_m?$(ZS##M z^2?0h1ag@EX|J#@5<;D7mhnKG@|JvQ#7P{9hG`NW2Kj+!+bP3(#qUojfRjWOK6TC~FZ)we-*S&A*D06Ekt+>DbVrkP|dCFSp z>aC({LAbVF%RD&;XHJ&KGHnPtR1vJtT z6*-O)3oz0XH=3_xeE~{3glQjL2NgX2n;;mz35yAYNa`h?voYkvL9OIwSp|f zcR$i%!Cn_DnsPE1PdkS>3mN3NMpmzRqnVPj#=dNEqv06mh3k(IzKSe0yVOen)=5f> zJtCu5D!B1JvAoldrK@fvPRBM7BOH-ju?ou8X40*lK(`zLI3PwKMv(Ebp|_vJ1ZKo3 z$Wf5U0&+w-uEGfzk)cCr5Ebh%wWY`~FF}s?c@Od)&JPLT@Nmup-hqh_iOY>GNv_5i z5jY}5hY%yC5HiqFd~a|i5-t%@vZLJWD{?JSPA(3qxQ70b+vTNn>wn}r`(E@8aJ&Ip z^2~khz})_NIm{*TViH^f58Me}v=0=m*Ep*)yNC9QSXH{qHL>PwHLIMsq|i2T4dj{_^$SqD*pWNPC;uH4)$y?Io5e7Q=qNL3nvA(yUzOlrFC>F{M%BJ zwji-C*izl^A(qz=nSbw*bP;0lfFy5{r5Rdx;Q_mcJ)9Si1LOg6V7TnSS-L| zqkwkEuijIzWg_aO`w@vzyC#K`yb{Xn$`p`L*@LnA>lh z+Sy!+=hhr;0B&d<<@UG+;AqpH*UdX!Mwecke2N&dAis@Fo8Dz}>cZaMkiz9JQwBB& zkYgz!0#U(@DLE09n^Ejhm5_jr?C2BOkOB-K8s~IbwmOIdQIZ>`kZw&G_IvCe_Sio> z!1)1g7yvj3T;fvP1Vlhmh~lrqd3ZO-CwTZF!Vdw?xr9wKnDX5*g%o7TzmY+jQ#Gl8 ztX{W!cJcR4?{q7@pmoG*3yo9Hi8hdK3XEzyGBHA7FisCFagZ);$9Sy)i;Q%0p^@` zpO!~rxxV+@wc_tU#yh<-pA?Xl#K53cb)0Vykf$c z&v&KwW__nSpm%`do$i2EEPQp>UacgSZZsjJn@gR}l&vDt3GqX02TTylhdOB3|cPU6aWv9QZvr8v`zSEDU zm)w$4Rj{|ubc(kOZs>QK9n4HyMi1X75pf-s1WNh zk8-kbecXK8<68N645W^V^TBxl>bZpZ@kls&@C|iVw`vAWYm)8Zu>0(stwVua6G!@ z!d9(9wlo>o+@j%*$NNiKs#Kbg8V7d5+;8o?(>uKky;*?cZTT3ZrmXh&r90qT8lg3i zvq@*3f)(TQUDAq6?Nj7MfGWl6ax~{djYF(n(Od6y^J|_h?i8EHIUntVHT7y$s`8=5 z_dEPkj-NRHvmw#K_g=U)U>7xwy8;}Uk($U}@#;GjYRyv5bpLa7Zg>7Vsz!Q|E@V^c zEmh|Gw3YP`$Fj!GVN$pxP{^b@%aL_#9Mch$kZwGgB4U^j45$FBKvcgWmKzdIZd2h( zmJkT!yZ|PklBW#56fi@}ksXN+1BTs@01o+pC|PZkTr*3uF*_~gTn=J&mumbN*+Mti zr0z18=o`OD3ZOLeM3MDp`blS!ms?~OI_B0gpgSkrNpvqE@3vmV*|y&#zU?K;R#fEY ziay=4y3e+6VB)QMa*@HC*_d>6zFX)eG$7unKa2b;|0cGFwU-W_A|yjs?dhppk~v#Y#%uwn=5((sMG3vokm?S;(v+sw<64`?Tep z0c{DqSgsA(m7cAfR`ub9tZuvzc~it@STxnwcg#!X-&s`U*$qv>WXDJyRlV6?#!u<4 z4dlVfOZEdKV=XWIV{uxXV){9FWPL`L$h0g!X>UT#7WFvG(SJGfzh9|n+jm<=(QAw~ppT1Ny# zfZ#yP;&?Rq{~(t>p2V6?pJnSgqn0OdLo7ZBkz%r(tJ|aWGuCD)IyX1{N>>%AnM(@y zI!DqM(B=#D4HuYs(%q)WwFuo1&{>R%t3QkRxnk}+nI}8VswHF-rtX6m)b1$&<{UWF zJl746?HB4B4v-DUhmPH?%9{a#jUp^y?G|y_mMzxFoaCoC`%F@iRZ~p!L9!GSdC7<& zV4Nm|7_uKa)lqX=4C4Zg=8LCVbu;{O1oCW|Ub`>!?eSI1j-))>g=&pTmn`U6Y`YvPikell)Fe7aMhp?bf*dh`qtB+( z)p|Z5)7s}4keda#O=PJ&E!)5}c@pWVMQiHR)``SX77C2{(Vfc&&h0&&p*~Z%igBro zW``NTnE&(N%k|<;~xS`!cBu!qOqef^<1m=;* z15U@*((NIU5g1^IB}EJ|zd#Z&`|v5ge8>Q>qHIp%5!3Mqu?8uY83JU43~VH`2?05b z#RQqUr<6x>00#jKLW~H^2$97Bs26a-`2l{v7psl^PJj*PLEejktl&UXH=NN&k*(MY5Oq8Il$3$D#?z@Ps$Rdi^pCfr?LG!pPg6VA?Z}Ml@gt? zqz%hk+IivmnY3QaDZ1HIXzOoQpBEgJ>gD&AGH#96ZN0<1W&3Q1t4VyiVBIp0FJR$B z$#JuQ?y-Oz?25&RS_-N&Y6EbD5HY2jx3V=MiuIh_BFIM4CQ{_Ws^M(k*E~^qa-P-{Vr@Nk7WQ{fr@;;8WKm>~nb=wKWSknwa{PVbX1n2S3ja-L0o*wG z$|>2gaZ@Cm4Q1$-bg3X1Hgg5Xv|4ilB_p9IgPeB52=LB9Z$;5fE&>FsAPo=5D^V8n z={A%YLwXPsfRX%bWD7G+HzFheMb%AGwX^(X03pVrq^9uBy996~2cq7?I{|B40wwC> zB1`R2FPl_ZW}8P81-A0L(b@IWua`-(YbS^AOT7i~t?_M5_w3_BoPoQuai3dUY;l8J zl@?Hd%!bzTx^Z6sh^;BpO-7h+obsm8o$CBzF&HZ`s6cP~S6-OKkopiWJTGdMokP2M zxv~uJ^iD5LuLj`w9_X=6<5Gn2p3&`>0%o?!BXwuuTXURu_U!r^KrN2TqM;zsT;8o> zEbnn%j9*xOgSsr;U{V7DixFLx?hhwZo2~Ul3vQ?_iY}a6pd(M%J+SAJUZWt#TRI{7 zLUct1p1Q?nQ(9Pv%vbQ`h7aw0a_y)J2R)J!3(}e7mIGB58#!Tc1}o&OGY}(-Wk#~l z2w{?=DF)mqAO~mXqd>CQ$YpYHs6h@ug6d8lY*-S18{`LgFSnz(1aPQTMO#0r{&F+^ z^!T2R&Dl<|0XOpQVFo#RZB)kpNnBH{M_$Q*wYPC?8RwR?m7byFd8_!cbMORkoJ#ki z=X9Hmj*X2f1!GR<+N#wzV~llL3ma`~;_g{r-9lU6da`wY*_vKr>~2LOOCva_PE~iq zR-IO`!^CjX*dW6mssGI6dqekEL+|uXLazqk_|f!k!SRA5c5LZK4_@djiW^=vm*?$T zYTmYs8m>~2C|fu@q1OiGmUZ65&afQBdY21eHzI%2un70NNGCx1qxh~#S`7pZ| z@7rBh)9Kn@?$73;(mJwRo1!O5435f`IaY=>On!BNp5ZpArYEMp$QBw7=@?2{e5>yo zj%pSx$Khh(-=-u003ZNKL_t&xh=CKp5djWj2@c5WNQ-5QW_^2&>(BcLD{M# z`v)Oa)E(d)$PaLS5MLX~l0$uFWMNmehgKMuPZ6#rPo)mi5$+1yC=YaTHgBtPUAK+5 z*Q~7%4Jvs+Zj{yQ`x1 za7KYQ0a5K35^`8JA?n47{vz8XYp>mT)AH$*qa?IG+rX3RK;CiuH&CV{| ztvlT0<0AX>&~mT<8&JQU+J6<)P{+oM5GI5W5JNyvCvW+POUPh{Xp_m0hXDli%IYGS z40=P7TfuTA?SOQpD=FaOK;FykDuV$yh9OyW_!KsQ9HupjB;xA#d`IvMF?YL&0yWm^ zCG*b7NqvKmuIOEoAwQ0KyYjct*1PCi$F+5w%#0Ai$>(c$FGAYaP89Xz@sWjR=Z;3} zB6*bsheUWf+y%6Czq@CB`X&75Y#N_h^`Y(?oMx$NQ|?6CT>o>L$h_02sqY}iJKZC_ z0~{C9JqzVibk}(n4IO4XFD+^vDp-N?-eqG+A>oLuASV;K0YuO|R-A+9VRDw##M+?M z#jW&3g+x0k%_tY{-WJ+hkk)~ze0{#;b>M*y=*FAz8z}>42C%dYJ8hgFIET6M{ z+G^LaV5Au+wMw6k>ozYIF4ebmRj+XMKQe7JAEH|vjE4nrj*}98TipAp5L9etkblk*Hbtqc8 zKmu;G>1B%zv)I=X!lhfBAmkn^d|1=y&rz|5&y zU|AvOa>Z*2ha@@;KV??^Z)p8jWxZJTzn;00CgGxkcoAT5-%^g&P2l zYx~LfD)0Z#-rF`wj^k*84@h}LR`>MG&di$aj@{Ybnce^YS8I1?Yil<>U0InKE|Ito zcp*s1U!|yw*e+CghC4)26kkB_Apjn^x%bg^-1iu}yc4|dO43aPd+4Ce1T>B61B<&) zLGLj(K7#Au&!A5OaJ)yf?|bsRH!Ak;-Fbet(sXEhY~{Z*&u*vl;?u?__X>FTeb{h( zcw!i0No-f&4J(CqK3%(R=JOv`cFC%1tq8WuUFuDcLsp*Qe2Xi)$M^P}md7#6>c2CJ zO)&ViUvu%hcD?O9?Q9JSBiXD7XaG1ODnJ6%AS~LOF@f|BcN0mn%qO+L5LXnj%qV3+ zRhN`fD#~K9H#DfIZKk<-aSx^v5aM~zrW}f3fgR;>`PZLs7x0EE7 z8$`(g4%QcT5##UO03sKE1SHjDNr53xZ|UNuA*03OKmcz(ARTROad=Qr;5cD_Z#;*e zMAw3h{%q@w_`D7nd=lWe=iX~&SZ9WJnbbaNUpbmSYJgGSchmVK#%Fr2vF=d48-2w7{ND6w0FEO`(5ySs-TAF;{k`{qq44ikIj-GxWGPnrn>+K1ix1lyjXvk> z{A0*wg=^PsM>iZF>({JYk3LiGqgxglmxzW1{D%*WX$Jijefxzv)Lrq&m)aS}lik1d z&VlDKT&_?DP{red|Db#5X3xFoZ)Df6WOCG|6j?b8<7hSneKZSOb;t1@x(KzNXHqE< z{Dc!WYYlftnH}J$r5*Xol|z>c;06rT&|)YMI#!S0N(N}C6eE*n0=}5*NwR>V=9-eH zX1PHLX0_4WTmra3{zZ>|HNZvwCMHz$791@-`WPJw=8PbT!5oiB^;=SVH}UbaxZp+y z&09yuRX8f(rqYq`D*fW}B6Gv0a+CMF65XzYtFdLS6ufh<8+n`e^7{;y!#m8!B$sO+ zsEkqTt{B|+d_u6_S2E&@KW@_9sXtJ?ZPDKwxbgQ&p9kQ$duR4Ox<9wA-KL($_Xw4} zM8k7=gSSc_=+KGD)Q|nt7i)x%ww`dG3fh)4kC(`I$@Ed&9VWgVFz+_?<=*O3w^6s4 zhbb^0Q&4xqwd=IP2yoA)LKqjK*3a)6wY;6*CWW2zKR}LS$gw+i0oAvfAqOl!Mws~d z@fGq3nfj4>I*zShHISo?^9VGwavR{Ge_4SIwbrOh!7?u>b3rMy#M@9nLqH8Z-nH|C zX4o;SX=A6*0GU<|@tej1vM~|nfTV#$^CU;X=F|fnq^>JImY4?6Aga(70fRyv__EV2 zO%fVFGOWJf!9@eG^DI2o1ST7x_a&`hz|jeI9`0CyBz_@P<-Q=--7H>)nhk9=3T$@6{Y-WZV{) zQMuL~NsDy%h;Kgcn24hyPLb6ng?%%gEfzN3hwb{U0uCU@2c>3ga=om&Cw}2t?8|oo z9CT;8Kj?6xRa0;HY=>?zUUFRIpt4i~{Mb}ds|N)YV116(f%}N#5z?gKhV775kuhaK zofj<2jODxt$Wi3OwTkRw>$N67+Um#_(g{)?!2{UkP1}&`D^KA*Xb(s6O>?-tgBmlv?x z)YpwIK4Pg4pd&>p-v}uEAj$YRu7Jnp#}0fQl-&w&1X_9N2JgLSQ_TzV&Mm>V@7}mM z=6$^_9u2s9K~sH-EWqip{qG~s)5nh8&AITHY?}b*_PL~OnSLC*?7ffq$gTAU{Xtvw zi2#nDLtBBBe%47U&z9vq%(0HDgEjEtE8~Vm2WtvYu&{{tpjV<@n7csd{vJ=LyQyda z{Mzm83R`pmOFNhg_-f-rhb1(7MD+|G)XJX7*d%6bBdo`{hr zv(}IxqhzO~B!ybS0!$u5y?6~{pjls#f0v_k$&asvV!n?3D$o&6A@KMc5!@IxX0LOR z|4eO%(PE5@!AebDw@vYVi<0*^7V;wp@%*T928=Epv3v2z%iqcD+&4e&aPfIG=El~M zu-&sac$;N}&1}cD?}t7%^&RLvj(9$bxLywKZGgNVa~?nUkjnMFt#d;)_=EnScc)JS zaQq&^@LolHERQQ25dxa zUKHYH$QPgPzT!c7UX{|oj;`dlXxv-mK|i?@wD@dC$66c3c8JdTe#~xY`3py=j3$?T zy1s7jE7Wk0?`j{b5dOUo>%#Za^70nQaS!hy8o-UpwZB9RaP2J0O~e3cI$ZmL~>suvMvN)bi{>4*9Hi zI-w(f~}({s)I zcTcvPG`4R@!5nn4OKmoSe>+O!CIzA25t`Y-FgDo$Rjw`0Mn#CDp(mxx3zqW&E(Kf* zP+Gi=b}CAHRET&HQ4}kvE2`#hK@ho0%t%Cni6pTGK_a9ngYtwtS-cGi9GbG6io#;% zp@onSi%*FvvjN-~s;5a^10lFwH@O(|u=j}{w1t6z8eAj5Vb#x}09OB&pOisjrm)Lt zyRQd5VmzOZNgq+U{D@`RqOB$RPe1aITVLx+K^p+?7VnWq?E-*11!fn0^+}8uEJR&8{gJ_s$>$Tyj=t%jcuf zIJ*kS;We@mE2Aw`XamR?es{4s?k$q#+dsQ&g^y5`AGS?zk&KZ`Yo}}1VjhRn*wuXd zOa8WnzMgne;$Hzfpufu^E-Aue`EZNb(EttZVtGXHv@>L?45k|1TC6`P=N2y{5s(R# zlYkjh1_cWaN(q$hWE2~1gXkF{dAi4z;?F40q>a77fpACjD-% zDi}fC%hnlp=XpTcd20vg0QzWp?t9YF?pyETqQdpz);(&YGwMrCr#mF;Kj;rSjQ%bG z4)&dzT4L>j{(csc5Fv$4K$v?81ldV zj=PGcTr)Qxe#^qXKf1}kp>?laEbat3w$gdSf56$rR#n|raYc)(ajDD~EG(QA!Hoyr zo2V_&9=-SXByZ{uTE0zcNFuWxg}jmK2FM|=exQ7D6A4pVn}tPOP_tPYl!B@sULx30 zzu;5xS&wd zCvpQ~-35UgbW8!Dus-G^!mZiJWhis?@f(lfGz>ysLDNW61~Mkv=sKu`L<{` z0H$e?odOqlUKV}Tj%Ow0^-jY+S|9JYuQkw>8EhwOP`FVR$M&(K_c#c62Ft>VE0`*P z1&rz{ve*#lfsdS!YDO*-GEGQz0+k7=5U3Io7)c$?J*b!+Gr8&;7wEzwwLcl;8r_jD z`pfTWgt0-#{GQ^s28u9pk zAEaDpGR(lMcvNG5J@iWxW!ion53Sn(Ek7RbeTXM5oYD6c>6Xe1t`)UbpaQ%ASRlbf z7e-wa+%Ss`1~TWaRn!Bd$#(r~VN2UJ($j@nTdHwL12d=v52Yy~88SL*w1g50cbQ0+#u`EIolFWSv93_9~C^MkyFyhv~j-qs6 z0f)Z5hrD-1Bn?~3tl|0Bt{+Gjmxa7_a#R39F2&ifYr*2@>KjB$s|y)EIy2rw$HrI* z`Wt|sGskT!MBOpshY+p$@>Aq%1qSO>z==^)Mahi9K*@xX33DdQDPc~GB_))UP$-Gp zBa5C)T#-;fw1DUgqBjs0BrZCGCf^j0iEKflMRYkus)-8-3;fV=B9OTyk8Yw~8)MsV z^WKlvWol*kIlS%{UlbKj&=5!K?}$DTz%gSzt=zNP+7e!(V!0;Tr4wy69zoZ-r1iRR zgsBf`RkFYh*%ZcYp6#?LPtG{hyj>{jGYQTMG5Y=eeP=xED!vPa5jxh=!#w*ZDC4BU zwLOmkssJ0v5rk*3zh(tP#C&f7P~iUD#I78JGpJ_dk})A8)eI^bQ~)YKvOYkJssdit zW?TL264CHie{BZS+@O`hzMYOdNan^U_#Jq>>I>Z30ZBoQ3JU)7(p(g7YVX#B@%nu| z0OIQUy*)j)iH(ysrjJt4cazttm2dq1^N36?0r1mD2F2I=h720{9Xn3sbs~ERjTeA} zmZ{bRhanPpah?!Kl0pqO)z#cfSiy~2ihvsngJ+;F6=f-?rGje#F_0-ClYp-tYlE#$ z^x51N0w%sqs(A${C|zsC!VJm;qJ%^lIm=P6>6DRAlY$%yaHyCxhc7#Ir3NsdSt^Oj znY>SHxfx<*WAe5kxP3FS-NSlK@~ryZtW{9SKST=Bl<=vfxU?wMOjY3xMgg!8VX@O* zD4`~mxvfj608R>a$a@R85n6Qj(4f9A9zkn=py#sDyt?kalVss?;0wQtXyVQH<^G@b zHDD!^j;77rHGa+}skP-=Bb9a_0F;`WnS9|c9ngtEmouAHAIq_`DrCAnu7O!)4Y5ty`qI(j7I}!aTM&D{FHRiKvN@5@Sg~$r0d4I48zT0&pypP%TaqB(4;pB5?s> z2H_1vCnU^ZS_E*`cuq}Dh)&&rp9BFnG*7CK&B=;O;Kp_(yzf}uepY*C)Nfba{79ZY za*G#D?V~(FXWJst7X-GbQ=TpMJT@XVg?@aCNbk+tXrZ3Bp|g-F=3eK) zg2TU6$dRH9-4Yc4b*c@#AfOahlg~F4o>8%gLY)Yl6F?b+38_rT^9i}0km@U_&Y)UB zTtpEO8+1EiQQo5iIPRJ7*Jho}nHRy;I5g?}S! z;I9%4bx&CHZcs4Vm&KcDAP4LMA4}wmRsa1VNaSXVTGJXodZ)yejNQJMu9idF@g~h( zwfL4uFA^HSz~gg0ZiJ@w>tQjV`HK4qz=g%qV9`$@(2_tUBiZ7e2~$d#Qr3LP3*~c5 zunOtN4Y{UamI@$3%3`sQ%%dx&~pjn)9}SfWu7WYs;$jPBaNVffo?H06c+bLVXjkC>26ti>tsu0%~TI1k6Nu zBLO;QlKPlzcd{}nS0qYuS_~!BTAN*%E8qL~{;2g&OGx*bWjfYF`k{ z?To|sD@Elo!G*Ld?M#OqZ?qL5X47YA@mt=5S{W%0Aum(=((5#yW;5o9zvPC#)FkjY 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 p<4wa8eH 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