uade-mcp 0.1.3 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -6
- package/SECURITY.md +2 -0
- package/dist/cli/doctor.js +28 -1
- package/dist/cli/doctor.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/report/errores.js +1 -1
- package/dist/sources/docs/pdf-imagenes.js +184 -0
- package/dist/sources/docs/pdf-imagenes.js.map +1 -0
- package/dist/sources/inscripciones/index.js +60 -2
- package/dist/sources/inscripciones/index.js.map +1 -1
- package/dist/sources/planificador/elegibilidad.js +2 -1
- package/dist/sources/planificador/elegibilidad.js.map +1 -1
- package/dist/sources/planificador/link.js +27 -0
- package/dist/sources/planificador/link.js.map +1 -0
- package/dist/sources/webcampus/consultas.js +38 -0
- package/dist/sources/webcampus/consultas.js.map +1 -0
- package/dist/sources/webcampus/index.js +32 -1
- package/dist/sources/webcampus/index.js.map +1 -1
- package/dist/sources/webcampus/novedades.js +44 -0
- package/dist/sources/webcampus/novedades.js.map +1 -1
- package/dist/sources/webcampus/parse.js +14 -0
- package/dist/sources/webcampus/parse.js.map +1 -1
- package/dist/sources/webcampus/secciones.js +30 -8
- package/dist/sources/webcampus/secciones.js.map +1 -1
- package/dist/tools/common.js +19 -2
- package/dist/tools/common.js.map +1 -1
- package/dist/tools/inscripciones.js +106 -7
- package/dist/tools/inscripciones.js.map +1 -1
- package/dist/tools/novedades.js +29 -7
- package/dist/tools/novedades.js.map +1 -1
- package/dist/tools/secciones.js +6 -4
- package/dist/tools/secciones.js.map +1 -1
- package/dist/tools/webcampus.js +16 -2
- package/dist/tools/webcampus.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,12 +3,17 @@ import { Inscripciones } from '../sources/inscripciones/index.js';
|
|
|
3
3
|
import { elegibilidad } from '../sources/planificador/elegibilidad.js';
|
|
4
4
|
import { MAX_MATERIAS, planificar, sedesPorMateria, variadas } from '../sources/planificador/index.js';
|
|
5
5
|
import { semanaHtml, semanaIcs } from '../sources/planificador/semana.js';
|
|
6
|
+
import { buildSemanaLink } from '../sources/planificador/link.js';
|
|
7
|
+
import { openInBrowser } from '../net/open-browser.js';
|
|
6
8
|
import { carpetaSalida, openGeneratedFile } from '../net/open-browser.js';
|
|
7
9
|
import { mkdirSync, writeFileSync } from 'node:fs';
|
|
8
10
|
import { join } from 'node:path';
|
|
9
11
|
import { WebCampus } from '../sources/webcampus/index.js';
|
|
10
12
|
import { cache, TTL } from '../cache/cache.js';
|
|
11
|
-
import {
|
|
13
|
+
import { aBase64 } from '../sources/docs/pdf-imagenes.js';
|
|
14
|
+
import { fragmentos } from '../sources/webcampus/secciones.js';
|
|
15
|
+
import { UNTRUSTED_NOTE } from '../untrusted.js';
|
|
16
|
+
import { CON_IMAGENES, READ_ONLY, run } from './common.js';
|
|
12
17
|
export function registerInscripcionesTools(server, granted, wc = new WebCampus(), insc = new Inscripciones()) {
|
|
13
18
|
const read = (fn) => run(granted, 'pia.leer', fn);
|
|
14
19
|
server.registerTool('uade_enrollment_windows', {
|
|
@@ -20,6 +25,75 @@ export function registerInscripcionesTools(server, granted, wc = new WebCampus()
|
|
|
20
25
|
// El link a PIA lleva la sesión: se usa por dentro (pia_class_search), no sale al modelo.
|
|
21
26
|
return { actualizado: r.actualizado, ventanas: r.value.map(({ link: _link, ...v }) => v) };
|
|
22
27
|
}));
|
|
28
|
+
server.registerTool('uade_enrollment_schedule', {
|
|
29
|
+
title: 'Enrollment schedule: which day I enroll',
|
|
30
|
+
description: 'The enrollment calendar UADE publishes as an IMAGE on inscripciones.uade.edu.ar ("Cronograma inscripción"): one column per modality (Campus Costa / online / virtual / MRI, presencial mañana, tarde, noche) and, on the right, a scale of passed subjects (+de 30, 20, 10, 0) that decides each student\'s day; the bottom rows are "Inscripción a Ausente / Recursa / A Final" and "Inscripción a Optativas". Returns the image itself (read it), the student\'s number of passed subjects (transcript), their inferred current shift and the open enrollment windows, so you can answer "¿qué día me toco anotarme?" directly: find the column of the shift, then the row whose band on the right scale contains the number of passed subjects. file=true also saves the image to Downloads/uade-mcp (for clients that cannot see images).',
|
|
31
|
+
inputSchema: {
|
|
32
|
+
file: z.boolean().default(false).describe('also save the image to Downloads/uade-mcp'),
|
|
33
|
+
},
|
|
34
|
+
annotations: READ_ONLY,
|
|
35
|
+
}, ({ file }) => read(async () => {
|
|
36
|
+
const img = await cache.get('cronograma-imagen', TTL.medio, async () => {
|
|
37
|
+
const c = await insc.cronograma();
|
|
38
|
+
return { url: c.url, alt: c.alt, mimeType: c.mimeType, base64: aBase64(c.bytes) };
|
|
39
|
+
});
|
|
40
|
+
let aprobadas = { aviso: 'No pude leer el historial para contar las aprobadas; preguntale a la persona cuántas tiene.' };
|
|
41
|
+
try {
|
|
42
|
+
const h = await cache.get('historial:', TTL.dia, () => wc.historial());
|
|
43
|
+
const ap = h.value.materias.filter((m) => m.situacion === 'aprobada').length;
|
|
44
|
+
const eq = h.value.materias.filter((m) => m.situacion === 'equivalencia').length;
|
|
45
|
+
aprobadas = { total: ap + eq, aprobadas: ap, porEquivalencia: eq, finalesPendientes: h.value.materias.filter((m) => m.situacion === 'final_pendiente').length, carrera: h.value.carrera };
|
|
46
|
+
}
|
|
47
|
+
catch { /* se responde igual con la imagen */ }
|
|
48
|
+
let turno = null;
|
|
49
|
+
try {
|
|
50
|
+
const c = await cache.get('cursada:', TTL.corto, () => wc.cursada());
|
|
51
|
+
turno = turnoDeCursada(c.value.aulas.filter((a) => /cursada regular/i.test(a.seccion)).map((a) => a.horario));
|
|
52
|
+
}
|
|
53
|
+
catch { /* sin cursada no hay turno que inferir */ }
|
|
54
|
+
let ventanas = undefined;
|
|
55
|
+
try {
|
|
56
|
+
const v = await cache.get('ventanas', TTL.corto, () => insc.ventanas());
|
|
57
|
+
ventanas = v.value.map(({ link: _l, ...x }) => x);
|
|
58
|
+
}
|
|
59
|
+
catch { /* opcional */ }
|
|
60
|
+
const salida = {
|
|
61
|
+
actualizado: img.actualizado,
|
|
62
|
+
fuente: img.value.url,
|
|
63
|
+
descripcion: img.value.alt,
|
|
64
|
+
aprobadas,
|
|
65
|
+
turnoActualInferido: turno ? `${turno} (por los horarios de las materias que cursa ahora; si va a cambiar de turno, usá el nuevo)` : null,
|
|
66
|
+
comoLeerLaImagen: 'Columnas: modalidad/turno. A la derecha, la escala "Cantidad de materias aprobadas" (0, 10, 20, +de 30): cada celda abarca las cantidades que quedan a su altura. La fecha de la persona es la celda de su columna cuya franja incluye su total de aprobadas. Las filas de abajo (Ausente/Recursa/A Final y Optativas) tienen su propia fecha por columna. Si la imagen no se ve o es de un cuatrimestre pasado (mirá el mes), decilo y pasá el link.',
|
|
67
|
+
ventanasDeInscripcion: ventanas,
|
|
68
|
+
aviso: UNTRUSTED_NOTE,
|
|
69
|
+
[CON_IMAGENES]: [{ mimeType: img.value.mimeType, base64: img.value.base64 }],
|
|
70
|
+
};
|
|
71
|
+
if (file) {
|
|
72
|
+
const ext = img.value.mimeType === 'image/png' ? 'png' : 'jpg';
|
|
73
|
+
salida.archivo = guardarSalidaBytes(`cronograma-inscripcion.${ext}`, Buffer.from(img.value.base64, 'base64'));
|
|
74
|
+
}
|
|
75
|
+
return salida;
|
|
76
|
+
}));
|
|
77
|
+
server.registerTool('uade_enrollment_guide', {
|
|
78
|
+
title: 'Enrollment site: notices, tutorials and FAQ',
|
|
79
|
+
description: 'What inscripciones.uade.edu.ar says besides the windows: the "Importante" notices of the moment (e.g. notebook requirements, Campus Costa modality), the tutorial links (Instructivos) and the official FAQ (when must I enroll, "adeuda correlativas", "las reglas de validación impiden continuar", packs, optativas, MRI, inglés/ENI, teachers not published). query: only the matching notices and questions. Use it for any "cómo me inscribo / por qué no puedo inscribirme" question before answering from general knowledge.',
|
|
80
|
+
inputSchema: { query: z.string().min(3).max(80).optional() },
|
|
81
|
+
annotations: READ_ONLY,
|
|
82
|
+
}, ({ query }) => read(async () => {
|
|
83
|
+
const g = await cache.get('guia-inscripciones', TTL.dia, () => insc.guia());
|
|
84
|
+
const v = g.value;
|
|
85
|
+
if (!query)
|
|
86
|
+
return { actualizado: g.actualizado, aviso: UNTRUSTED_NOTE, ...v, ayuda: v.ayuda ? `${v.ayuda} (sitio de ayuda de UADE, fuera del MCP: abrilo vos)` : null };
|
|
87
|
+
const coincide = (t) => fragmentos(t, query, 1000).length > 0;
|
|
88
|
+
return {
|
|
89
|
+
actualizado: g.actualizado,
|
|
90
|
+
aviso: UNTRUSTED_NOTE,
|
|
91
|
+
consulta: query,
|
|
92
|
+
importante: v.importante.filter(coincide),
|
|
93
|
+
instructivos: v.instructivos.filter((i) => coincide(i.titulo)),
|
|
94
|
+
preguntasFrecuentes: v.preguntasFrecuentes.filter((p) => coincide(p.pregunta + ' ' + p.respuesta)),
|
|
95
|
+
};
|
|
96
|
+
}));
|
|
23
97
|
server.registerTool('webcampus_class_offering', {
|
|
24
98
|
title: 'Classes offered for a subject',
|
|
25
99
|
description: 'Class schedule published in WebCampus (usually next term; if the next one is not published yet, it is the current one: check the dates). No subject: subjects offered for the degree. With subject code: its classes (campus, shift, weekdays, time, dates, how it is passed).',
|
|
@@ -110,19 +184,20 @@ export function registerElegibilidadTools(server, granted, wc = new WebCampus(),
|
|
|
110
184
|
}
|
|
111
185
|
// Todo el armado del cuatrimestre en un pedido: qué podés cursar (historial + correlativas), qué de
|
|
112
186
|
// eso se dicta, las mejores semanas sin superposiciones y, si querés, la vista en tu navegador.
|
|
113
|
-
export function registerPlanCuatrimestreTools(server, granted, wc = new WebCampus(), insc = new Inscripciones(), escribir = guardarSalida, abrir = openGeneratedFile) {
|
|
187
|
+
export function registerPlanCuatrimestreTools(server, granted, wc = new WebCampus(), insc = new Inscripciones(), escribir = guardarSalida, abrir = openGeneratedFile, abrirWeb = openInBrowser) {
|
|
114
188
|
server.registerTool('uade_plan_next_term', {
|
|
115
189
|
title: 'Plan my next term (subjects, offering, week)',
|
|
116
|
-
description: 'One call for "what can I take, what is offered, build my week": crosses transcript + prerequisites (WebCampus) with the class offering WebCampus publishes (the result says which term it is; tell the student if it is still the current one). Without subjects: lists every subject the student can take and whether it is offered, plus what remains in the plan. With up to 6 subjects (codes): checks each one (can take it? offered?) and returns the best non-overlapping weekly combinations, with class numbers for pia_prepare_enrollment. view=true
|
|
190
|
+
description: 'One call for "what can I take, what is offered, build my week": crosses transcript + prerequisites (WebCampus) with the class offering WebCampus publishes (the result says which term it is; tell the student if it is still the current one). Without subjects: lists every subject the student can take and whether it is offered, plus what remains in the plan. With up to 6 subjects (codes): checks each one (can take it? offered?) and returns the best non-overlapping weekly combinations, with class numbers for pia_prepare_enrollment. view=true opens planuade.ar/misemana in the browser with every option in a weekly grid (data travel in the URL fragment, never to a server; the page keeps them only in that browser and can export an .ics). file=true instead writes an HTML grid + .ics to Downloads/uade-mcp. Filters: shifts, days, campuses (e.g. MONSERRAT, BELGRANO, RECOLETA, ONLINE). Intensive summer courses (Costa Argentina) only appear if asked for (shift INTENSIVO or campus Pinamar).',
|
|
117
191
|
inputSchema: {
|
|
118
192
|
subjects: z.array(z.string().regex(/^[A-Z]?\d+(\.\d+)+$/)).max(MAX_MATERIAS).optional(),
|
|
119
193
|
shifts: z.array(z.enum(['MAÑANA', 'TARDE', 'NOCHE', 'ONLINE', 'INTENSIVO'])).optional(),
|
|
120
194
|
days: z.array(z.enum(['L', 'M', 'MI', 'J', 'V', 'S'])).optional(),
|
|
121
195
|
campuses: z.array(z.string().max(30)).optional(),
|
|
122
|
-
view: z.boolean().default(false).describe('
|
|
196
|
+
view: z.boolean().default(false).describe('open the weekly grid at planuade.ar/misemana'),
|
|
197
|
+
file: z.boolean().default(false).describe('write the weekly grid + .ics to Downloads/uade-mcp and open the file'),
|
|
123
198
|
},
|
|
124
199
|
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: true },
|
|
125
|
-
}, ({ subjects, shifts, days, campuses, view }) => run(granted, 'webcampus.leer', async () => {
|
|
200
|
+
}, ({ subjects, shifts, days, campuses, view, file }) => run(granted, 'webcampus.leer', async () => {
|
|
126
201
|
const [h, c] = await Promise.all([
|
|
127
202
|
cache.get('historial:', TTL.dia, () => wc.historial()),
|
|
128
203
|
cache.get('correlativas:', TTL.semana, () => wc.correlativas()),
|
|
@@ -197,14 +272,21 @@ export function registerPlanCuatrimestreTools(server, granted, wc = new WebCampu
|
|
|
197
272
|
noEntranConEsosFiltros: r.sinClases.map((cod) => `${cod} ${nombre.get(cod) ?? ''}: con esos filtros no hay clases; se dicta en ${sedesPorMateria(new Map([[cod, oferta.get(cod) ?? []]]))[cod]?.join(', ') || 'ninguna sede'}`),
|
|
198
273
|
conflictos: r.conflictos,
|
|
199
274
|
};
|
|
275
|
+
const filtros = [shifts?.length ? `turno ${shifts.join('/').toLowerCase()}` : '', days?.length ? `días ${days.join(', ')}` : '', campuses?.length ? `sede ${campuses.join('/')}` : ''].filter(Boolean).join(' · ') || 'sin filtros';
|
|
200
276
|
if (view && r.combinaciones.length) {
|
|
201
|
-
const
|
|
277
|
+
const ahora = new Date();
|
|
278
|
+
const generado = `${String(ahora.getDate()).padStart(2, '0')}/${String(ahora.getMonth() + 1).padStart(2, '0')}/${ahora.getFullYear()} ${String(ahora.getHours()).padStart(2, '0')}:${String(ahora.getMinutes()).padStart(2, '0')}`;
|
|
279
|
+
const link = buildSemanaLink(r.combinaciones, { carrera: h.value.carrera, generado, programacion: periodo?.aviso ?? null, filtros });
|
|
280
|
+
await abrirWeb(link).catch(() => { });
|
|
281
|
+
resultado.vista = { link, nota: 'Se abrió planuade.ar/misemana en el navegador con las opciones. Los datos van después del # y no salen de ese navegador.' };
|
|
282
|
+
}
|
|
283
|
+
if (file && r.combinaciones.length) {
|
|
202
284
|
const ahora = new Date();
|
|
203
285
|
const sello = ahora.toISOString().slice(0, 16).replace(/[-:T]/g, '');
|
|
204
286
|
const html = escribir(`semana-${sello}.html`, semanaHtml(r.combinaciones, { carrera: h.value.carrera, generado: ahora, filtros, periodo: periodo?.aviso }));
|
|
205
287
|
const ics = escribir(`semana-${sello}.ics`, semanaIcs(r.combinaciones[0].clases, ahora));
|
|
206
288
|
await abrir(html).catch(() => { });
|
|
207
|
-
resultado.
|
|
289
|
+
resultado.archivos = { html, calendario: ics, nota: 'Se abrió el archivo en tu navegador. El .ics tiene la opción 1: abrilo para sumarla a tu calendario.' };
|
|
208
290
|
}
|
|
209
291
|
return resultado;
|
|
210
292
|
}));
|
|
@@ -216,6 +298,23 @@ export function guardarSalida(nombre, contenido) {
|
|
|
216
298
|
writeFileSync(ruta, contenido, { mode: 0o600 });
|
|
217
299
|
return ruta;
|
|
218
300
|
}
|
|
301
|
+
const guardarSalidaBytes = guardarSalida;
|
|
302
|
+
// Turno de cursada según la hora de inicio de las clases (mañana hasta las 12, tarde hasta las 18).
|
|
303
|
+
export function turnoDeCursada(horarios) {
|
|
304
|
+
const votos = {};
|
|
305
|
+
for (const h of horarios) {
|
|
306
|
+
const m = h?.match(/(\d{1,2}):(\d{2})/);
|
|
307
|
+
if (!m)
|
|
308
|
+
continue;
|
|
309
|
+
const hora = Number(m[1]);
|
|
310
|
+
const t = hora < 12 ? 'mañana' : hora < 18 ? 'tarde' : 'noche';
|
|
311
|
+
votos[t] = (votos[t] ?? 0) + 1;
|
|
312
|
+
}
|
|
313
|
+
const orden = Object.entries(votos).sort((a, b) => b[1] - a[1]);
|
|
314
|
+
if (!orden.length)
|
|
315
|
+
return null;
|
|
316
|
+
return orden.length > 1 && orden[1][1] === orden[0][1] ? `${orden[0][0]} y ${orden[1][0]}` : orden[0][0];
|
|
317
|
+
}
|
|
219
318
|
// De qué cuatrimestre es la programación de clases: WebCampus muestra la del cuatrimestre en curso
|
|
220
319
|
// hasta que publica la del siguiente. Se avisa para que nadie arme la semana con horarios viejos.
|
|
221
320
|
export function periodoProgramacion(clases, hoy = new Date()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inscripciones.js","sourceRoot":"","sources":["../../src/tools/inscripciones.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inscripciones.js","sourceRoot":"","sources":["../../src/tools/inscripciones.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACvG,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM,UAAU,0BAA0B,CACxC,MAAiB,EACjB,OAAgC,EAChC,EAAE,GAAG,IAAI,SAAS,EAAE,EACpB,IAAI,GAAG,IAAI,aAAa,EAAE;IAE1B,MAAM,IAAI,GAAG,CAAC,EAA0B,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IAE1E,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,+GAA+G;QAC5H,WAAW,EAAE,SAAS;KACvB,EACD,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxE,0FAA0F;QAC1F,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,KAAK,EAAE,yCAAyC;QAChD,WAAW,EACT,+yBAA+yB;QACjzB,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;SACvF;QACD,WAAW,EAAE,SAAS;KACvB,EACD,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CACX,IAAI,CAAC,KAAK,IAAI,EAAE;QACd,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACpF,CAAC,CAAC,CAAC;QACH,IAAI,SAAS,GAA4B,EAAE,KAAK,EAAE,6FAA6F,EAAE,CAAC;QAClJ,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;YACvE,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;YAC7E,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,cAAc,CAAC,CAAC,MAAM,CAAC;YACjF,SAAS,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,iBAAiB,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC5L,CAAC;QAAC,MAAM,CAAC,CAAC,qCAAqC,CAAC,CAAC;QACjD,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YACrE,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAChH,CAAC;QAAC,MAAM,CAAC,CAAC,0CAA0C,CAAC,CAAC;QACtD,IAAI,QAAQ,GAAY,SAAS,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACxE,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAC1B,MAAM,MAAM,GAA4B;YACtC,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG;YACrB,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG;YAC1B,SAAS;YACT,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,6FAA6F,CAAC,CAAC,CAAC,IAAI;YACzI,gBAAgB,EAAE,ubAAub;YACzc,qBAAqB,EAAE,QAAQ;YAC/B,KAAK,EAAE,cAAc;YACrB,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;SAC7E,CAAC;QACF,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YAC/D,MAAM,CAAC,OAAO,GAAG,kBAAkB,CAAC,0BAA0B,GAAG,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAChH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,KAAK,EAAE,6CAA6C;QACpD,WAAW,EACT,sgBAAsgB;QACxgB,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC5D,WAAW,EAAE,SAAS;KACvB,EACD,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACZ,IAAI,CAAC,KAAK,IAAI,EAAE;QACd,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,oBAAoB,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5E,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QAClB,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,sDAAsD,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzK,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACtE,OAAO;YACL,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,KAAK,EAAE,cAAc;YACrB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC;YACzC,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC9D,mBAAmB,EAAE,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;SACnG,CAAC;IACJ,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,KAAK,EAAE,+BAA+B;QACtC,WAAW,EAAE,gRAAgR;QAC7R,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YAC1F,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;SACjE;QACD,WAAW,EAAE,SAAS;KACvB,EACD,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CACrB,IAAI,CAAC,KAAK,IAAI,EAAE;QACd,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;YACtH,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;QACjG,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;QACzH,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAChI,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,4BAA4B,EAC5B;QACE,KAAK,EAAE,uCAAuC;QAC9C,WAAW,EACT,+eAA+e;QACjf,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC;YACnF,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACvF,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACjE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;YAChD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;SACvD;QACD,WAAW,EAAE,SAAS;KACvB,EACD,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,CACnD,IAAI,CAAC,KAAK,IAAI,EAAE;QACd,MAAM,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;QAClD,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7G,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YACvB,WAAW,GAAG,WAAW,IAAI,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QACzF,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC3G,MAAM,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;QACtF,OAAO;YACL,WAAW;YACX,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzC,IAAI,EAAE,CAAC,CAAC,aAAa;gBACrB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;aACxL,CAAC,CAAC;YACH,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,wGAAwG,CAAC,CAAC,CAAC,SAAS;SACzI,CAAC;IACJ,CAAC,CAAC,CACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAiB,EAAE,OAAgC,EAAE,EAAE,GAAG,IAAI,SAAS,EAAE,EAAE,IAAI,GAAG,IAAI,aAAa,EAAE;IAC7I,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,KAAK,EAAE,4CAA4C;QACnD,WAAW,EACT,uaAAua;QACza,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC3D,WAAW,EAAE,SAAS;KACvB,EACD,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CACX,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC/B,KAAK,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACvE,KAAK,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SACjF,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAClD,wFAAwF;QACxF,IAAI,SAAS,GAAuB,IAAI,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;YACtH,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,mDAAmD;QACrD,CAAC;QACD,MAAM,MAAM,GAAG,CAA+B,EAAO,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,SAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1I,OAAO;YACL,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO;YACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI;YAClB,QAAQ,EAAE,GAAG,CAAC,CAAC,SAAS,OAAO,CAAC,CAAC,SAAS,8BAA8B;YACxE,WAAW,EAAE,CAAC,CAAC,MAAM;YACrB,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;YACpC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7B,kCAAkC,EAAE,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC;YACpE,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;YACpC,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,IAAI,EAAE,wOAAwO;SAC/O,CAAC;IACJ,CAAC,CAAC,CACL,CAAC;AACJ,CAAC;AAED,oGAAoG;AACpG,gGAAgG;AAChG,MAAM,UAAU,6BAA6B,CAC3C,MAAiB,EACjB,OAAgC,EAChC,EAAE,GAAG,IAAI,SAAS,EAAE,EACpB,IAAI,GAAG,IAAI,aAAa,EAAE,EAC1B,QAAQ,GAAkD,aAAa,EACvE,KAAK,GAAoC,iBAAiB,EAC1D,QAAQ,GAAmC,aAAa;IAExD,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,KAAK,EAAE,8CAA8C;QACrD,WAAW,EACT,+9BAA+9B;QACj+B,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE;YACvF,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACvF,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACjE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;YAChD,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,8CAA8C,CAAC;YACzF,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,sEAAsE,CAAC;SAClH;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;KACxG,EACD,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CACnD,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC/B,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;YACtD,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;SAChE,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACrI,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC;YACpB,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAU,CAAC;YACjD,GAAG,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,mBAAmB,CAAU,CAAC;YAChF,GAAG,CAAC,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,CAAU,CAAC;SAC7E,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE1E,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC;YAC9D,4FAA4F;YAC5F,MAAM,OAAO,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACpG,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5J,OAAO;gBACL,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,YAAY,EAAE,OAAO;gBACrB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO;gBACxB,QAAQ,EAAE,GAAG,CAAC,CAAC,SAAS,OAAO,CAAC,CAAC,SAAS,8BAA8B;gBACxE,oBAAoB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;gBAC9P,yBAAyB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBACnH,2BAA2B,EAAE,CAAC,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBACjK,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,SAAS,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBACpG,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBACrE,SAAS,EAAE,gKAAgK;aAC5K,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;QAClD,KAAK,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YACpG,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;gBACzD,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;gBACnE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,kBAAkB,GAAG,CAAC,CAAC;gBACtK,SAAS;YACX,CAAC;iBAAM,IAAI,CAAC,KAAK,mBAAmB;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;iBACzH,IAAI,CAAC,KAAK,aAAa;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YACpN,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;QAEvD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC3G,MAAM,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,OAAO,GAAG,mBAAmB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,SAAS,GAA4B;YACzC,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,YAAY,EAAE,OAAO;YACrB,YAAY,EAAE,eAAe,CAAC,MAAM,CAAC;YACrC,MAAM;YACN,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7C,MAAM,EAAE,CAAC,GAAG,CAAC;gBACb,IAAI,EAAE,EAAE,CAAC,aAAa;gBACtB,UAAU,EAAE,EAAE,CAAC,UAAU;gBACzB,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;aACzL,CAAC,CAAC;YACH,0GAA0G;YAC1G,sBAAsB,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,iDAAiD,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,cAAc,EAAE,CAAC;YAC/N,UAAU,EAAE,CAAC,CAAC,UAAU;SACzB,CAAC;QACF,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC;QACpO,IAAI,IAAI,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YACnO,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACrI,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACrC,SAAS,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,0HAA0H,EAAE,CAAC;QAC/J,CAAC;QACD,IAAI,IAAI,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACrE,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,KAAK,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5J,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,KAAK,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YAC1F,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAClC,SAAS,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,sGAAsG,EAAE,CAAC;QAC/J,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,SAA8B;IAC1E,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;IACxD,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,OAAO,IAAI,CAAC;AACd,CAAC;AACD,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEzC,oGAAoG;AACpG,MAAM,UAAU,cAAc,CAAC,QAA2B;IACxD,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACxC,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/D,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC;AAChH,CAAC;AAED,mGAAmG;AACnG,kGAAkG;AAClG,MAAM,UAAU,mBAAmB,CAAC,MAAuB,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE;IAC3E,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjF,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjF,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;IAC7D,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACvF,MAAM,KAAK,GAAG,KAAK,IAAI,MAAM;QAC3B,CAAC,CAAC,mEAAmE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,iEAAiE;QAC7J,CAAC,CAAC,qDAAqD,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;IACpF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACjC,CAAC"}
|
package/dist/tools/novedades.js
CHANGED
|
@@ -3,11 +3,12 @@ import { cache, TTL } from '../cache/cache.js';
|
|
|
3
3
|
import { ALLOWED_HOSTS } from '../net/policy.js';
|
|
4
4
|
import { safeFetch } from '../net/http.js';
|
|
5
5
|
import { leerDocumento, tipoLegible } from '../sources/docs/leer.js';
|
|
6
|
+
import { aBase64, imagenesDePdf } from '../sources/docs/pdf-imagenes.js';
|
|
6
7
|
import { SharePointClient, SHAREPOINT } from '../sources/sharepoint/index.js';
|
|
7
8
|
import { WebCampus } from '../sources/webcampus/index.js';
|
|
8
9
|
import { textoPagina } from '../sources/webcampus/secciones.js';
|
|
9
10
|
import { UNTRUSTED_NOTE } from '../untrusted.js';
|
|
10
|
-
import { READ_ONLY, run } from './common.js';
|
|
11
|
+
import { CON_IMAGENES, READ_ONLY, run } from './common.js';
|
|
11
12
|
const MAX_TEXTO = 8000;
|
|
12
13
|
// Lee bytes según el nombre o, si no tiene extensión conocida, según sus primeros bytes.
|
|
13
14
|
export async function leerBytes(nombre, bytes) {
|
|
@@ -27,6 +28,16 @@ export async function leerBytes(nombre, bytes) {
|
|
|
27
28
|
}
|
|
28
29
|
throw new Error(`No pude leer ${nombre}${ultimo ? `: ${ultimo}` : ''}.`);
|
|
29
30
|
}
|
|
31
|
+
// Texto de un documento; si es un PDF sin texto, sus imágenes.
|
|
32
|
+
export async function leerBytesOImagenes(nombre, bytes) {
|
|
33
|
+
const texto = await leerBytes(nombre, bytes);
|
|
34
|
+
if (!/^\(PDF sin texto/.test(texto))
|
|
35
|
+
return { texto };
|
|
36
|
+
const imgs = imagenesDePdf(bytes).map((i) => ({ mimeType: i.mimeType, base64: aBase64(i.bytes) }));
|
|
37
|
+
return imgs.length
|
|
38
|
+
? { texto: `(PDF escaneado: no tiene texto; van ${imgs.length} imagen${imgs.length > 1 ? 'es' : ''} para que las leas)`, imagenes: imgs }
|
|
39
|
+
: { texto };
|
|
40
|
+
}
|
|
30
41
|
// Sigue un link de WebCampus (incluido el acortador de UADE) y lee el destino si es un sitio del MCP.
|
|
31
42
|
export async function leerLink(link, deps) {
|
|
32
43
|
const u = new URL(link, 'https://www.webcampus.uade.edu.ar');
|
|
@@ -35,7 +46,7 @@ export async function leerLink(link, deps) {
|
|
|
35
46
|
if (u.origin === SHAREPOINT) {
|
|
36
47
|
try {
|
|
37
48
|
const { nombre, bytes } = await deps.sp.descargarCompartido(u.href);
|
|
38
|
-
return { url: u.href,
|
|
49
|
+
return { url: u.href, ...(await leerBytesOImagenes(nombre, bytes)) };
|
|
39
50
|
}
|
|
40
51
|
catch (err) {
|
|
41
52
|
return { url: u.href, nota: err.message };
|
|
@@ -43,7 +54,7 @@ export async function leerLink(link, deps) {
|
|
|
43
54
|
}
|
|
44
55
|
if (/webcampus\.uade\.edu\.ar$/.test(u.hostname)) {
|
|
45
56
|
const { nombre, bytes } = await deps.wc.archivo(u.pathname + u.search);
|
|
46
|
-
return { url: u.href,
|
|
57
|
+
return { url: u.href, ...(await leerBytesOImagenes(nombre, bytes)) };
|
|
47
58
|
}
|
|
48
59
|
// Acortador o dre.uade.edu.ar: sin cookies (no son sitios con sesión); se sigue la redirección.
|
|
49
60
|
const res = await safeFetch(u, { method: 'GET', redireccionAfuera: 'devolver' });
|
|
@@ -65,21 +76,32 @@ export async function leerLink(link, deps) {
|
|
|
65
76
|
}
|
|
66
77
|
return { url: final.href, texto: texto.slice(0, MAX_TEXTO) };
|
|
67
78
|
}
|
|
68
|
-
return { url: final.href,
|
|
79
|
+
return { url: final.href, ...(await leerBytesOImagenes(nombre, res.body)) };
|
|
69
80
|
}
|
|
70
81
|
export function registerNovedadesTools(server, granted, wc = new WebCampus(), sp = new SharePointClient()) {
|
|
71
82
|
server.registerTool('webcampus_news', {
|
|
72
83
|
title: 'What UADE is announcing (WebCampus home)',
|
|
73
|
-
description: 'What UADE currently communicates to students on the WebCampus home: banners (campaigns, parking reservations, quiet classrooms, housing, schedules…), news items and the agenda (talks, events). No arguments: the list. newsId: the full text of a news item plus its attachments (e.g. the previos schedule). link: opens a banner/news link and returns its content when it points to a UADE document (PDF, SharePoint file, WebCampus attachment); for other sites it returns the final URL. Use this for "¿qué hay de nuevo?", quiet classrooms, parking, campaigns, events.',
|
|
84
|
+
description: 'What UADE currently communicates to students on the WebCampus home: banners (campaigns, parking reservations, quiet classrooms, housing, schedules…), news items and the agenda (talks, events). No arguments: the list (agenda = next few events). allEvents=true: the full events agenda. eventId: one event with date, time, campus and description. newsId: the full text of a news item plus its attachments (e.g. the previos schedule). link: opens a banner/news link and returns its content when it points to a UADE document (PDF, SharePoint file, WebCampus attachment; scanned PDFs come back as images); for other sites it returns the final URL. Use this for "¿qué hay de nuevo?", quiet classrooms, parking, campaigns, talks, events.',
|
|
74
85
|
inputSchema: {
|
|
75
86
|
newsId: z.string().regex(/^\d+$/).optional(),
|
|
87
|
+
eventId: z.string().regex(/^\d+$/).optional().describe('id from the agenda'),
|
|
88
|
+
allEvents: z.boolean().default(false).describe('the whole events agenda, not only the next few'),
|
|
76
89
|
link: z.string().url().max(500).optional().describe('a banner or news link as returned by this tool'),
|
|
77
90
|
},
|
|
78
91
|
annotations: READ_ONLY,
|
|
79
|
-
}, ({ newsId, link }) => run(granted, 'webcampus.leer', async () => {
|
|
92
|
+
}, ({ newsId, eventId, allEvents, link }) => run(granted, 'webcampus.leer', async () => {
|
|
80
93
|
if (link) {
|
|
81
94
|
const r = await cache.get(`link:${link}`, TTL.dia, () => leerLink(link, { wc, sp }));
|
|
82
|
-
|
|
95
|
+
const { imagenes, ...resto } = r.value;
|
|
96
|
+
return { actualizado: r.actualizado, ...resto, aviso: UNTRUSTED_NOTE, [CON_IMAGENES]: imagenes };
|
|
97
|
+
}
|
|
98
|
+
if (eventId) {
|
|
99
|
+
const r = await cache.get(`evento:${eventId}`, TTL.dia, () => wc.evento(eventId));
|
|
100
|
+
return { actualizado: r.actualizado, ...r.value, aviso: UNTRUSTED_NOTE, nota: 'Inscribirse al evento se hace en WebCampus (botón Inscribirme): el MCP no lo hace.' };
|
|
101
|
+
}
|
|
102
|
+
if (allEvents) {
|
|
103
|
+
const r = await cache.get('eventos', TTL.corto, () => wc.eventos());
|
|
104
|
+
return { actualizado: r.actualizado, eventos: r.value, aviso: UNTRUSTED_NOTE };
|
|
83
105
|
}
|
|
84
106
|
if (newsId) {
|
|
85
107
|
const r = await cache.get(`novedad:${newsId}`, TTL.dia, async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"novedades.js","sourceRoot":"","sources":["../../src/tools/novedades.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"novedades.js","sourceRoot":"","sources":["../../src/tools/novedades.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/secciones.js
CHANGED
|
@@ -4,7 +4,7 @@ import { buscarCarrera, parseAranceles } from '../sources/webcampus/aranceles.js
|
|
|
4
4
|
import { WebCampus } from '../sources/webcampus/index.js';
|
|
5
5
|
import { fragmentos, SECCIONES, Secciones } from '../sources/webcampus/secciones.js';
|
|
6
6
|
import { UNTRUSTED_NOTE } from '../untrusted.js';
|
|
7
|
-
import { READ_ONLY, run } from './common.js';
|
|
7
|
+
import { CON_IMAGENES, READ_ONLY, run } from './common.js';
|
|
8
8
|
export function registerSeccionesTools(server, granted, sec = new Secciones(), wc = new WebCampus()) {
|
|
9
9
|
const nombres = Object.keys(SECCIONES);
|
|
10
10
|
server.registerTool('uade_tuition', {
|
|
@@ -34,13 +34,15 @@ export function registerSeccionesTools(server, granted, sec = new Secciones(), w
|
|
|
34
34
|
}));
|
|
35
35
|
server.registerTool('webcampus_section', {
|
|
36
36
|
title: 'WebCampus section',
|
|
37
|
-
description: 'Text of an informational WebCampus section (page or official PDF, plus the PDF guides it links). normativa_academica = official academic rules (attendance %, regularity, exams, failed exams limits, deadlines): use it for any rules question. aranceles_pdf = official fee amounts per degree and shift. Also Wi-Fi setup per OS, fees and payment methods, MRI, rules, student guide, scholarships, minors, electives, honors, invoices, building entries, codes of conduct… Pass query (e.g. "macOS") to get only the relevant passages.',
|
|
37
|
+
description: 'Text of an informational WebCampus section (page or official PDF, plus the PDF guides it links; a scanned PDF such as emergencias comes back as images). normativa_academica = official academic rules (attendance %, regularity, exams, failed exams limits, deadlines): use it for any rules question. aranceles_pdf = official fee amounts per degree and shift. admision_sia = admission exam (SIA), English level (ENI), Spanish (ENE) and the admission guide. Also Wi-Fi setup per OS, fees and payment methods, MRI, rules, student guide, scholarships and AYUES workshops, minors, electives, honors, invoices, building entries, codes of conduct… Pass query (e.g. "macOS") to get only the relevant passages.',
|
|
38
38
|
inputSchema: { section: z.enum(nombres), query: z.string().min(3).max(80).optional() },
|
|
39
39
|
annotations: READ_ONLY,
|
|
40
40
|
}, ({ section, query }) => run(granted, 'webcampus.leer', async () => {
|
|
41
41
|
const { value: d, actualizado } = await cache.get(`seccion:${section}`, TTL.semana, () => sec.consultar(section));
|
|
42
|
-
if (!query)
|
|
43
|
-
|
|
42
|
+
if (!query) {
|
|
43
|
+
const { imagenes, ...resto } = d;
|
|
44
|
+
return { actualizado, aviso: UNTRUSTED_NOTE, ...resto, [CON_IMAGENES]: imagenes };
|
|
45
|
+
}
|
|
44
46
|
const texto = 'texto' in d ? d.texto : '';
|
|
45
47
|
const f = fragmentos(texto, query);
|
|
46
48
|
return { actualizado, aviso: UNTRUSTED_NOTE, seccion: section, fuente: d.fuente, fragmentos: f.length ? f : [`No aparece "${query}" en esta sección.`] };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secciones.js","sourceRoot":"","sources":["../../src/tools/secciones.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAgB,MAAM,mCAAmC,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"secciones.js","sourceRoot":"","sources":["../../src/tools/secciones.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/webcampus.js
CHANGED
|
@@ -11,7 +11,11 @@ function resumirHistorial(materias) {
|
|
|
11
11
|
conteo: Object.fromEntries(['aprobada', 'equivalencia', 'final_pendiente', 'cursando', 'sin_cursar'].map((s) => [s, de(s).length])),
|
|
12
12
|
aprobadas: de('aprobada').map((m) => ({ codigo: m.codigo, nombre: m.nombre, nota: m.nota, fecha: m.fechaAprobacion })),
|
|
13
13
|
equivalencias: de('equivalencia').map((m) => `${m.codigo} ${m.nombre}`),
|
|
14
|
-
finalesPendientes: de('final_pendiente').map((m) => ({ codigo: m.codigo, nombre: m.nombre, regularizada: m.fechaRegularizacion })),
|
|
14
|
+
finalesPendientes: de('final_pendiente').map((m) => ({ codigo: m.codigo, nombre: m.nombre, regularizada: m.fechaRegularizacion, venceRegularidad: m.vencimientoRegularidad, finalesDesaprobados: m.intentos.filter((i) => /EXAMEN/i.test(i.condicion) && /REPROBADO|DESAPROBADO|AUSENTE/i.test(i.situacion)).length || undefined })),
|
|
15
|
+
// Cursadas anteriores que no salieron (recursa, ausente): para "¿cuántas veces recursé X?".
|
|
16
|
+
intentosAnteriores: materias
|
|
17
|
+
.map((m) => ({ codigo: m.codigo, nombre: m.nombre, intentos: m.intentos.filter((i) => /ASIGNATURA/i.test(i.condicion) && /RECURSA|AUSENTE|REPROBADO|DESAPROBADO/i.test(i.situacion)).map((i) => `${i.situacion.toLowerCase()} ${i.fecha ?? ''}`.trim()) }))
|
|
18
|
+
.filter((m) => m.intentos.length),
|
|
15
19
|
cursando: de('cursando').map((m) => `${m.codigo} ${m.nombre}`),
|
|
16
20
|
sinCursar: de('sin_cursar').map((m) => `${m.codigo} ${m.nombre} (${m.anio.toLowerCase()})`),
|
|
17
21
|
};
|
|
@@ -45,7 +49,7 @@ export function registerWebCampusTools(server, granted, wc = new WebCampus()) {
|
|
|
45
49
|
}));
|
|
46
50
|
server.registerTool('webcampus_transcript', {
|
|
47
51
|
title: 'Transcript',
|
|
48
|
-
description: 'Degree plan status: counts, passed (grade, date), pending finals, current, not taken; average. detail=true for every field.',
|
|
52
|
+
description: 'Degree plan status: counts, passed (grade, date), pending finals (with regularity expiry and failed finals), previous failed/absent attempts per subject, current, not taken; average. detail=true for every field (every act of every subject).',
|
|
49
53
|
inputSchema: { plan: z.string().regex(/^\d+$/).optional(), detail: z.boolean().default(false) },
|
|
50
54
|
annotations: READ_ONLY,
|
|
51
55
|
}, ({ plan, detail }) => read(async () => {
|
|
@@ -87,6 +91,16 @@ export function registerWebCampusTools(server, granted, wc = new WebCampus()) {
|
|
|
87
91
|
})),
|
|
88
92
|
})) };
|
|
89
93
|
}));
|
|
94
|
+
server.registerTool('webcampus_consultation_classes', {
|
|
95
|
+
title: 'Consultation classes (clases de consulta)',
|
|
96
|
+
description: "Extra consultation/support classes WebCampus schedules for the student's degree (Mi cursada > Clases de consulta). No subject: which subjects have them. subject (code or part of the name): days, times and details as published.",
|
|
97
|
+
inputSchema: { subject: z.string().min(2).max(80).optional() },
|
|
98
|
+
annotations: READ_ONLY,
|
|
99
|
+
}, ({ subject }) => read(async () => {
|
|
100
|
+
const r = await cache.get(`consultas:${subject ?? ''}`, TTL.medio, () => wc.clasesDeConsulta(subject));
|
|
101
|
+
const { form: _f, carreras: _c, ...v } = r.value;
|
|
102
|
+
return { actualizado: r.actualizado, ...v, materias: v.materias.map((m) => m.nombre) };
|
|
103
|
+
}));
|
|
90
104
|
server.registerTool('webcampus_teachers', { title: 'Teaching staff', description: "Name and email of a course's teachers (never classmates).", inputSchema: { idAula }, annotations: READ_ONLY }, ({ idAula: id }) => read(async () => {
|
|
91
105
|
const r = await cache.get(`docentes:${id}`, TTL.dia, () => wc.docentes(id));
|
|
92
106
|
return { actualizado: r.actualizado, docentes: r.value };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webcampus.js","sourceRoot":"","sources":["../../src/tools/webcampus.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;AAEpF,oGAAoG;AACpG,SAAS,gBAAgB,CAAC,QAA4B;IACpD,MAAM,EAAE,GAAG,CAAC,CAAgC,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC;IAC3F,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,WAAW,CACxB,CAAC,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAkC,CAAC,CAAC,MAAM,CAAC,CAAC,CACzI;QACD,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QACtH,aAAa,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACvE,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"webcampus.js","sourceRoot":"","sources":["../../src/tools/webcampus.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED