@paroicms/server 1.88.0 → 1.88.1
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/dist/express/http-helpers.d.ts +1 -1
- package/dist/express/route-handler-wrapper.d.ts +2 -3
- package/dist/express/route-handler-wrapper.js +19 -9
- package/dist/express/route-handler-wrapper.js.map +1 -1
- package/dist/express/site-middleware.d.ts +2 -2
- package/dist/express/site-middleware.js +4 -4
- package/dist/express/site-middleware.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +35 -34
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { PaHttpContext } from "@paroicms/public-server-lib";
|
|
2
2
|
import type { Request } from "express";
|
|
3
3
|
import type { SiteContext } from "../site-context/site-context.types.js";
|
|
4
|
-
declare module "express
|
|
4
|
+
declare module "express" {
|
|
5
5
|
interface Request {
|
|
6
6
|
paSiteContext?: SiteContext;
|
|
7
7
|
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import type { PaHttpContext } from "@paroicms/public-server-lib";
|
|
2
2
|
import type { NextFunction, Request, Response } from "express";
|
|
3
|
-
import { Stream } from "node:stream";
|
|
4
3
|
import type { SiteContext } from "../site-context/site-context.types.js";
|
|
5
4
|
export declare function loadPaSiteContextMiddleware(req: Request, res: Response, next: NextFunction): Promise<void>;
|
|
6
5
|
export type PaRouteController = (siteContext: SiteContext, httpContext: PaHttpContext, routeParams: Record<string, string | undefined>) => Promise<unknown>;
|
|
7
|
-
export declare function wrapRouteController(handler: PaRouteController): (req: Request, res: Response) => Promise<void>;
|
|
6
|
+
export declare function wrapRouteController(handler: PaRouteController): (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
8
7
|
export type PaReqHandler = (siteContext: SiteContext, httpContext: PaHttpContext) => Promise<boolean>;
|
|
9
8
|
export declare function reqHandlerToExpressMiddleware(handler: PaReqHandler): (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
10
9
|
export declare function mergeReqHandlers(handlers: PaReqHandler[]): PaReqHandler;
|
|
11
|
-
export declare function wrapExpressRoute(handler: (req: Request, res: Response) => Promise<unknown>): (req: Request, res: Response) => Promise<
|
|
10
|
+
export declare function wrapExpressRoute(handler: (req: Request, res: Response) => Promise<unknown>): (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
@@ -26,6 +26,10 @@ export function wrapRouteController(handler) {
|
|
|
26
26
|
try {
|
|
27
27
|
let result = await handler(siteContext, httpContext, req.params);
|
|
28
28
|
if (result instanceof Stream) {
|
|
29
|
+
res.setHeader("Content-Type", "application/octet-stream");
|
|
30
|
+
result.on("error", (error) => {
|
|
31
|
+
handleErrorSafely(req, res, error, undefined);
|
|
32
|
+
});
|
|
29
33
|
result.pipe(res);
|
|
30
34
|
return;
|
|
31
35
|
}
|
|
@@ -74,20 +78,26 @@ export function mergeReqHandlers(handlers) {
|
|
|
74
78
|
export function wrapExpressRoute(handler) {
|
|
75
79
|
return async (req, res) => {
|
|
76
80
|
try {
|
|
77
|
-
let
|
|
78
|
-
if (
|
|
79
|
-
|
|
81
|
+
let result = await handler(req, res);
|
|
82
|
+
if (result instanceof Stream) {
|
|
83
|
+
res.setHeader("Content-Type", "application/octet-stream");
|
|
84
|
+
result.on("error", (error) => {
|
|
85
|
+
handleErrorSafely(req, res, error, undefined);
|
|
86
|
+
});
|
|
87
|
+
result.pipe(res);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
80
90
|
if (!res.headersSent) {
|
|
81
|
-
|
|
82
|
-
if (typeof
|
|
83
|
-
res.status(200).json(
|
|
91
|
+
result ??= "";
|
|
92
|
+
if (typeof result === "object" || Array.isArray(result)) {
|
|
93
|
+
res.status(200).json(result);
|
|
84
94
|
}
|
|
85
95
|
else {
|
|
86
|
-
res.status(200).send(String(
|
|
96
|
+
res.status(200).send(String(result));
|
|
87
97
|
}
|
|
88
98
|
}
|
|
89
|
-
else if (
|
|
90
|
-
(req.paSiteContext?.logger ?? platformLogger).error(`[${req.url}]`, "Cannot send a http response:",
|
|
99
|
+
else if (result) {
|
|
100
|
+
(req.paSiteContext?.logger ?? platformLogger).error(`[${req.url}]`, "Cannot send a http response:", result);
|
|
91
101
|
}
|
|
92
102
|
}
|
|
93
103
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-handler-wrapper.js","sourceRoot":"","sources":["../../src/express/route-handler-wrapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;IAC/F,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/E,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,cAAc,CAAC,KAAK,CAClB,yBAAyB,GAAG,CAAC,QAAQ,MAAM,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAC5E,CAAC;YACF,kBAAkB,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QACD,GAAG,CAAC,aAAa,GAAG,WAAW,CAAC;QAChC,IAAI,EAAE,CAAC;IACT,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAYD,MAAM,UAAU,mBAAmB,
|
|
1
|
+
{"version":3,"file":"route-handler-wrapper.js","sourceRoot":"","sources":["../../src/express/route-handler-wrapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;IAC/F,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/E,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,cAAc,CAAC,KAAK,CAClB,yBAAyB,GAAG,CAAC,QAAQ,MAAM,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAC5E,CAAC;YACF,kBAAkB,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QACD,GAAG,CAAC,aAAa,GAAG,WAAW,CAAC;QAChC,IAAI,EAAE,CAAC;IACT,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAYD,MAAM,UAAU,mBAAmB,CACjC,OAA0B;IAE1B,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACxB,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE1C,IAAI,CAAC;YACH,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAEjE,IAAI,MAAM,YAAY,MAAM,EAAE,CAAC;gBAC7B,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;gBAC1D,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC3B,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACjC,MAAM,KAAK,EAAE,CAAC;gBACd,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,EAAE,CAAC;gBAClB,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,IAAI,cAAc,CAAC,CAAC,KAAK,CACjD,IAAI,GAAG,CAAC,GAAG,GAAG,EACd,8BAA8B,EAC9B,MAAM,CACP,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAWD,MAAM,UAAU,6BAA6B,CAAC,OAAqB;IACjE,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QAC/D,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,EAAE,CAAC;YACT,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAwB;IACvD,OAAO,KAAK,EAAE,WAAwB,EAAE,WAA0B,EAAE,EAAE;QACpE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,MAAM,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC3D,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAA0D;IAE1D,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAErC,IAAI,MAAM,YAAY,MAAM,EAAE,CAAC;gBAC7B,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;gBAC1D,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC3B,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,KAAK,EAAE,CAAC;gBACd,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,EAAE,CAAC;gBAClB,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,IAAI,cAAc,CAAC,CAAC,KAAK,CACjD,IAAI,GAAG,CAAC,GAAG,GAAG,EACd,8BAA8B,EAC9B,MAAM,CACP,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,GAAY,EACZ,GAAa,EACb,KAAc,EACd,WAAsC;IAEtC,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,IAAI,cAAc,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3E,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACrB,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;YAC/E,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,WAAW,IAAI,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
export declare function createBoGraphqlMiddleware(): Promise<
|
|
1
|
+
import { type NextFunction, type Request, type RequestHandler, type Response } from "express";
|
|
2
|
+
export declare function createBoGraphqlMiddleware(): Promise<RequestHandler>;
|
|
3
3
|
export declare function createMinimalSiteMiddleware(): (req: Request, res: Response, next: NextFunction) => void;
|
|
4
4
|
export declare function createRenderedSiteMiddleware(): (req: Request, res: Response, next: NextFunction) => void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApolloServer } from "@apollo/server";
|
|
2
|
-
import { expressMiddleware
|
|
2
|
+
import { expressMiddleware } from "@as-integrations/express5";
|
|
3
3
|
import { ApiError } from "@paroicms/public-server-lib";
|
|
4
4
|
import express from "express";
|
|
5
5
|
import { GraphQLError } from "graphql";
|
|
@@ -27,7 +27,7 @@ import { pluginPublicApiReqHandler } from "./public-api.req-handler.js";
|
|
|
27
27
|
import { boFilesReqHandler, boPluginsReqHandler, renderedPageAssetsReqHandler, } from "./static-files.req-handler.js";
|
|
28
28
|
export async function createBoGraphqlMiddleware() {
|
|
29
29
|
const developmentMode = process.env.NODE_ENV === "development";
|
|
30
|
-
const
|
|
30
|
+
const apolloServer = new ApolloServer({
|
|
31
31
|
typeDefs,
|
|
32
32
|
resolvers: federateResolvers(),
|
|
33
33
|
plugins: [
|
|
@@ -47,8 +47,8 @@ export async function createBoGraphqlMiddleware() {
|
|
|
47
47
|
};
|
|
48
48
|
},
|
|
49
49
|
});
|
|
50
|
-
await
|
|
51
|
-
return
|
|
50
|
+
await apolloServer.start();
|
|
51
|
+
return expressMiddleware(apolloServer, {
|
|
52
52
|
context: async ({ req, res }) => ({
|
|
53
53
|
siteContext: getPaSiteContext(req),
|
|
54
54
|
httpContext: toPaHttpContext(req, res),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"site-middleware.js","sourceRoot":"","sources":["../../src/express/site-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"site-middleware.js","sourceRoot":"","sources":["../../src/express/site-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,OAKN,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kDAAkD,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC1F,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,2DAA2D,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EACL,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EACL,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,wDAAwD,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,+BAA+B,CAAC;AAEvC,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;IAE/D,MAAM,YAAY,GAAG,IAAI,YAAY,CAAiB;QACpD,QAAQ;QACR,SAAS,EAAE,iBAAiB,EAAE;QAC9B,OAAO,EAAE;YACP,sBAAsB,EAAE;YACxB,0BAA0B,EAAE;YAC5B,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,yBAAyB,EAAE,CAAC,CAAC;SAC1D;QACD,aAAa,EAAE,eAAe;QAC9B,WAAW,CAAC,cAAc,EAAE,KAAK;YAC/B,IAAI,KAAK,YAAY,YAAY,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,YAAY,QAAQ,CAAC,EAAE,CAAC;gBACvF,OAAO,cAAc,CAAC;YACxB,CAAC;YAED,cAAc,CAAC,KAAK,CAAC,0BAA0B,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;YACxE,OAAO;gBACL,OAAO,EAAE,uBAAuB;gBAChC,IAAI,EAAE,uBAAuB;aAC9B,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IACH,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;IAG3B,OAAO,iBAAiB,CAAC,YAAY,EAAE;QACrC,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAA2B,EAAE,CAAC,CAAC;YACzD,WAAW,EAAE,gBAAgB,CAAC,GAAG,CAAC;YAClC,WAAW,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC;SACvC,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EACrB,mBAAmB,CAAC,qBAAqB,CAAC,CAC3C,CAAC;IACF,MAAM,CAAC,GAAG,CAAC,iCAAiC,EAAE,mBAAmB,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAC7F,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC9E,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC;IACnE,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,mBAAmB,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAC/F,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,mBAAmB,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAC/F,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,mBAAmB,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACxF,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,mBAAmB,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAExE,MAAM,iBAAiB,GAAG,6BAA6B,CACrD,gBAAgB,CAAC,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC,CAC3D,CAAC;IAEF,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QACzD,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAEhC,MAAM,CAAC,GAAG,CAAC,mCAAmC,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC1F,MAAM,CAAC,GAAG,CACR,qDAAqD,EACrD,mBAAmB,CAAC,yBAAyB,CAAC,CAC/C,CAAC;IAEF,MAAM,iBAAiB,GAAG,6BAA6B,CACrD,gBAAgB,CAAC;QACf,uBAAuB;QACvB,yBAAyB;QACzB,4BAA4B;QAC5B,cAAc;QACd,sBAAsB;KACvB,CAAC,CACH,CAAC;IAEF,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QACzD,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC;AACJ,CAAC"}
|