@braidlabs/gateway 0.7.0 → 0.7.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@braidlabs/gateway",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "Braid gateway — fetch-native origin-front middleware that routes fragment traffic by exact id under the reserved /__braid/frag/ namespace, loads fragment manifests, and passes everything else through to your existing app.",
5
5
  "keywords": [
6
6
  "micro-frontends",
package/src/gateway.js CHANGED
@@ -694,6 +694,10 @@ export function createGateway(options) {
694
694
  }
695
695
  // the endpoint serves an embedded fragment, not a full document
696
696
  fragmentRequest.headers.set('sec-fetch-dest', 'empty');
697
+ // only codings every platform fetch decodes, so the coding of what comes back is known: a
698
+ // browser's `zstd` would come back decoded by some runtimes and not others (see `forwardable`)
699
+ if (fragmentFetch === globalThis.fetch)
700
+ fragmentRequest.headers.set('accept-encoding', [...FETCH_DECODED_CODINGS].join(', '));
697
701
  fragmentRequest.headers.set('x-braid-fragment-mode', 'embedded');
698
702
  /**
699
703
  * In development, present the request as coming from the endpoint's own origin.
@@ -763,7 +767,9 @@ export function createGateway(options) {
763
767
  sent = true;
764
768
  return runFetch(fetchTelemetry, () => fragmentFetch(fragmentRequest, { redirect: 'manual', signal: timeoutSignal }));
765
769
  };
766
- const response = key ? await singleFlight.run(key, send) : await send();
770
+ const sentResponse = key ? await singleFlight.run(key, send) : await send();
771
+ // a function endpoint hands over its own bytes; only the platform fetch decodes them
772
+ const response = forwardable(sentResponse, fragmentFetch === globalThis.fetch);
767
773
  // A 5xx is a reachable endpoint, but it is not a working one — a fragment returning 500 on
768
774
  // every request would otherwise hold the circuit closed forever and keep paying for it.
769
775
  if (response.status >= 500)
@@ -1243,6 +1249,61 @@ function hopCount(request) {
1243
1249
  const via = request.headers.get(BRAID_VIA_HEADER);
1244
1250
  return via ? via.split(',').filter((entry) => entry.trim()).length : 0;
1245
1251
  }
1252
+ /** The content codings every platform `fetch` decodes before handing over the body. */
1253
+ const FETCH_DECODED_CODINGS = new Set(['gzip', 'x-gzip', 'deflate', 'br']);
1254
+ /**
1255
+ * Headers that describe one connection, not the response (RFC 9110 §7.6.1). The gateway's
1256
+ * connection to the client is its own; forwarding the endpoint's would let the endpoint frame it —
1257
+ * a `transfer-encoding: identity` with the length removed leaves the body unframed on a keep-alive
1258
+ * connection, and a proxy in front may read the rest as its next response.
1259
+ */
1260
+ const HOP_BY_HOP_HEADERS = ['connection', 'keep-alive', 'proxy-connection', 'transfer-encoding', 'te', 'trailer', 'upgrade', 'proxy-authenticate', 'proxy-authorization'];
1261
+ /**
1262
+ * An endpoint's response with headers that describe what the gateway will actually send.
1263
+ *
1264
+ * Hop-by-hop headers always go, with any the endpoint's `connection` names. And when the platform
1265
+ * `fetch` produced the response (`decodedByFetch`), the body was decoded but `content-encoding` and
1266
+ * `content-length` still describe the bytes on the wire. Forwarded as they are, the client gets a
1267
+ * body it cannot decode and — worse, on Node, which writes whatever bytes it is given — more bytes
1268
+ * than the declared length on a keep-alive connection. The surplus is read as the start of the
1269
+ * *next* response on that socket, so a different request fails. So for a coding `fetch` decodes,
1270
+ * both go and the server frames the body itself; any other coding is refused (below). An identity
1271
+ * response keeps its length. (The Node binding also refuses to write past a declared length,
1272
+ * whatever produced it.)
1273
+ *
1274
+ * Only what the platform `fetch` returned: a function endpoint hands over its own bytes and is
1275
+ * trusted to describe them — one that wraps `fetch` must drop these headers itself. On Workers,
1276
+ * which would re-encode a passed-through body, this costs the compression of that one hop.
1277
+ */
1278
+ function forwardable(response, decodedByFetch) {
1279
+ const encoding = response.headers.get('content-encoding');
1280
+ const connection = response.headers.get('connection');
1281
+ const reframe = decodedByFetch && encoding !== null;
1282
+ // A coding the gateway did not ask for (it asks for exactly FETCH_DECODED_CODINGS): whether this
1283
+ // runtime's fetch decoded it varies — Node's decodes zstd — so neither the length nor the coding
1284
+ // can be said to describe the body. Refused, the same on every runtime, rather than guessed at.
1285
+ const codings = encoding?.split(',').map((coding) => coding.trim().toLowerCase()).filter(Boolean) ?? [];
1286
+ if (reframe && codings.some((coding) => coding !== 'identity' && !FETCH_DECODED_CODINGS.has(coding))) {
1287
+ void response.body?.cancel();
1288
+ return new Response(`braid-gateway: the endpoint answered in content-encoding "${encoding}", which was not requested`, {
1289
+ status: 502,
1290
+ headers: { 'content-type': 'text/plain; charset=utf-8' },
1291
+ });
1292
+ }
1293
+ if (!reframe && !HOP_BY_HOP_HEADERS.some((name) => response.headers.has(name)))
1294
+ return response;
1295
+ const headers = new Headers(response.headers);
1296
+ for (const name of connection?.split(',') ?? [])
1297
+ if (name.trim())
1298
+ headers.delete(name.trim());
1299
+ for (const name of HOP_BY_HOP_HEADERS)
1300
+ headers.delete(name);
1301
+ if (reframe) {
1302
+ headers.delete('content-length');
1303
+ headers.delete('content-encoding');
1304
+ }
1305
+ return new Response(response.body, { status: response.status, statusText: response.statusText, headers });
1306
+ }
1246
1307
  /** Realm stub ETags by stub content, so a hot path does not hash the same few hundred bytes twice. */
1247
1308
  const stubEtags = new Map();
1248
1309
  /** A strong ETag over a realm stub's content. */
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../../libs/braid-gateway/src/gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../../libs/braid-gateway/src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,8BAA8B,EAC9B,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,QAAQ,EACR,OAAO,EACP,cAAc,EACd,cAAc,EAEd,QAAQ,GAKT,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,sBAAsB,EAAoB,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAuB,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,cAAc,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACxI,OAAO,EAAE,eAAe,EAAuB,MAAM,cAAc,CAAC;AACpE,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,iBAAiB,EACjB,qBAAqB,GAMtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,UAAU,EAEV,eAAe,EAEf,mBAAmB,EAEnB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;;GAYG;AAEH,2GAA2G;AAC3G,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AA4W7D,MAAM,UAAU,aAAa,CAAC,OAAuB;IACnD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,sHAAsH,CAAC,CAAC;QAC1I,CAAC;QACD,IAAI,CAAC,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,mFAAmF,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAClI,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,aAAa,CAAC;IAC3C,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,SAAS,CAAC;IACnE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACxC,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QACvF,MAAM,IAAI,KAAK,CAAC,kEAAkE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5G,CAAC;IACD,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;IAC1D,MAAM,wBAAwB,GAAG,OAAO,iBAAiB,KAAK,UAAU;QACtE,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC;IAC5B,MAAM,iBAAiB,GAAG;QACxB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,eAAe,EAAE,qBAAqB,EAAE,GAAG,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;KACvI,CAAC;IAEF,4FAA4F;IAC5F,MAAM,qBAAqB,GAAG,CAAC,QAA0B,EAAW,EAAE;QACpE,MAAM,IAAI,GAAG,OAAO,CAAC,kBAAkB,IAAI,KAAK,CAAC;QACjD,IAAI,OAAO,IAAI,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;QAC5C,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IACF,MAAM,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,IAAI,KAAK,CAAC;IACrE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa;QACzC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAC/D,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,aAAa,GAAG,IAAI,KAAK,aAAa,CAAC;IAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;IAC5C,MAAM,YAAY,GAAG,OAAO,CAAC,uBAAuB,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAC7F,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO;QAC7B,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,EAAE;QAC5E,wFAAwF;QACxF,uFAAuF;QACvF,IAAI,CAAC;YACH,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;SACf,CAAC,CACH;QACH,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;IAC/E,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE3C;;;;OAIG;IACH,KAAK,UAAU,eAAe;QAC5B,IAAI,MAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC7H,MAAM,KAAK,CAAC;QACd,CAAC;QACD,8FAA8F;QAC9F,2FAA2F;QAC3F,uBAAuB;QACvB,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACrF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxG,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,gGAAgG;IAChG,0FAA0F;IAC1F,2CAA2C;IAC3C,IAAI,YAAuD,CAAC;IAC5D,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,eAAe,GAAG,GAAS,EAAE;QACjC,IAAI,MAAM,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS;YAAE,OAAO;QAC9D,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;YAC7B,eAAe,EAAE;iBACd,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,4DAA4D;iBACnF,OAAO,CAAC,eAAe,CAAC,CAAC;QAC9B,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC7B,YAAuC,CAAC,KAAK,EAAE,EAAE,CAAC;IACrD,CAAC,CAAC;IACF,eAAe,EAAE,CAAC;IAElB;;;;OAIG;IACH,SAAS,gBAAgB,CAAC,QAA0B;QAClD,IAAI,QAAQ,CAAC,QAAQ,KAAK,UAAU,IAAI,qBAAqB,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,iBAAiB;YAAE,OAAO;QAC7G,wEAAwE;QACxE,IAAI,kBAAkB,CAAC,QAAQ,CAAC,KAAK,IAAI;YAAE,OAAO;QAClD,IAAI,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,OAAO;QAC9C,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CACV,4BAA4B,QAAQ,CAAC,EAAE,2DAA2D;YAChG,6FAA6F;YAC7F,gGAAgG;YAChG,sCAAsC,CACzC,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEhF,MAAM,aAAa,GAAG,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IACpD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,WAAW,GAAG;YAClB,aAAa,IAAI,eAAe;YAChC,OAAO,CAAC,SAAS,IAAI,WAAW;YAChC,aAAa,IAAI,qBAAqB;SACvC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClB,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,oCAAoC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS;gBACrG,sDAAsD,CACzD,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,+FAA+F;IAC/F,SAAS,UAAU,CAAC,QAAgB;QAClC,IAAI,CAAC,QAAQ;YAAE,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACnD,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1G,CAAC;IAED;;;;;;;;OAQG;IACH,SAAS,IAAI,CAAC,KAAqB;QACjC,IAAI,CAAC,SAAS,IAAI,eAAe;YAAE,OAAO;QAC1C,IAAI,CAAC;YACH,SAAS,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,SAAS,aAAa,CAAC,KAAc;QACnC,eAAe,GAAG,IAAI,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,2EAA2E,EAAE,KAAK,CAAC,CAAC;IACpG,CAAC;IAED,iFAAiF;IACjF,SAAS,mBAAmB,CAAC,KAAyB;QACpD,IAAI,CAAC,SAAS,EAAE,eAAe,IAAI,eAAe;YAAE,OAAO,SAAS,CAAC;QACrE,IAAI,CAAC;YACH,OAAO,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,SAAS,SAAS,CAAC,KAAqC,EAAE,KAAyB,EAAE,KAAe;QAClG,IAAI,CAAC,KAAK,CAAC,CAAC;QACZ,IAAI,CAAC,KAAK,EAAE,GAAG;YAAE,OAAO;QACxB,IAAI,CAAC;YACH,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,eAAe;gBAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,qGAAqG;IACrG,SAAS,iBAAiB,CAAC,KAAqC,EAAE,eAAwB;QACxF,IAAI,CAAC,KAAK,EAAE,OAAO;YAAE,OAAO;QAC5B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9C,wEAAwE;YACxE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAoB,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACnG,uDAAuD;YACvD,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;gBAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC7E,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;gBACpC,IAAI,KAAK,KAAK,IAAI;oBAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;;oBACpD,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,sGAAsG;IACtG,SAAS,QAAQ,CAAC,KAAqC,EAAE,IAA6B;QACpF,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,eAAe;YAAE,OAAO,IAAI,EAAE,CAAC;QAClD,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAI,CAAC;YACH,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;gBACpB,IAAI,GAAG,IAAI,CAAC;gBACZ,OAAO,IAAI,EAAE,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iGAAiG;YACjG,IAAI,IAAI;gBAAE,MAAM,KAAK,CAAC;YACtB,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAAgB,EAAkC,EAAE,CAClF,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEpF,MAAM,SAAS,GAAG,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAE9F,OAAO;QACL,eAAe;QAEf,KAAK;YACH,MAAM,GAAG,IAAI,CAAC;YACd,YAAY,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,OAAgB,EAAE,IAA8B;YAC3D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAExC,gGAAgG;YAChG,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,cAAc,IAAI,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3E,OAAO,YAAY,CACjB,wFAAwF;oBACtF,GAAG,cAAc,6FAA6F,EAChH,GAAG,EACH,EAAE,eAAe,EAAE,UAAU,EAAE,CAChC,CAAC;YACJ,CAAC;YAED,IAAI,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzC,OAAO,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,aAAa,IAAI,UAAU,CAAC,QAAQ,KAAK,yBAAyB,EAAE,CAAC;gBACvE,OAAO,qBAAqB,CAAC,aAAa,CAAC,CAAC;YAC9C,CAAC;YAED,IAAI,aAAa,IAAI,UAAU,CAAC,QAAQ,KAAK,wBAAwB,EAAE,CAAC;gBACtE,OAAO,IAAI,QAAQ,CAAC,qBAAqB,CAAC,wBAAwB,EAAE,SAAS,EAAE,UAAU,IAAI,CAAC,CAAC,EAAE;oBAC/F,OAAO,EAAE;wBACP,cAAc,EAAE,gCAAgC;wBAChD,sFAAsF;wBACtF,4DAA4D;wBAC5D,eAAe,EAAE,sBAAsB;qBACxC;iBACF,CAAC,CAAC;YACL,CAAC;YAED,IAAI,aAAa,IAAI,UAAU,CAAC,QAAQ,KAAK,wBAAwB,EAAE,CAAC;gBACtE,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;YAED,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAE9C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,yFAAyF;gBACzF,+DAA+D;gBAC/D,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBACnD,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;oBACpF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBACzF,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBAC9C,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;wBACzC,uBAAuB,CAAC,OAAO,CAAC,CAAC;wBACjC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;wBAC9B,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;oBAClE,CAAC;gBACH,CAAC;gBAED,MAAM,QAAQ,GACZ,OAAO,CAAC,SAAS,IAAI,iBAAiB,CAAC,OAAO,CAAC;oBAC7C,CAAC,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC3E,CAAC,CAAC,IAAI,CAAC;gBACX,IAAI,QAAQ,EAAE,CAAC;oBACb,0FAA0F;oBAC1F,oCAAoC;oBACpC,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC;oBACrF,IAAI,QAAQ;wBAAE,OAAO,QAAQ,CAAC;oBAC9B,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBACrD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;oBAChD,uBAAuB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACxC,OAAO,MAAM,CAAC;gBAChB,CAAC;gBACD,OAAO,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrE,CAAC;YAED;;;eAGG;YACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAE9D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,wFAAwF;gBACxF,0DAA0D;gBAC1D,OAAO,YAAY,CACjB,uDAAuD;oBACrD,CAAC,IAAI,KAAK,aAAa;wBACrB,CAAC,CAAC,0CAA0C,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,sBAAsB;4BAC5F,2HAA2H;wBAC7H,CAAC,CAAC,yBAAyB,CAAC,EAChC,GAAG,CACJ,CAAC;YACJ,CAAC;YAED,4FAA4F;YAC5F,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAE1B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB;;;;;;;;mBAQG;gBACH,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,MAAM,IAAI,GACR,2CAA2C;wBAC3C,eAAe,mBAAmB,cAAc,sBAAsB,IAAI;wBAC1E,eAAe,kBAAkB,cAAc,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI;wBAC/E,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC;wBACtC,eAAe,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC;oBAC7F,mFAAmF;oBACnF,2FAA2F;oBAC3F,sFAAsF;oBACtF,wFAAwF;oBACxF,+EAA+E;oBAC/E,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;oBAC/C,4FAA4F;oBAC5F,yFAAyF;oBACzF,oEAAoE;oBACpE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7E,MAAM,MAAM,GACV,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;wBACnC,CAAC,CAAC;4BACE,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,qCAAqC,CAAC,EAC7F,CAAC,oBAAoB,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;yBAC/C;wBACH,CAAC,CAAC,EAAE,CAAC;oBACT,yFAAyF;oBACzF,2FAA2F;oBAC3F,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACtG,MAAM,YAAY,GAA2B;wBAC3C,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,EAAE;wBACvC,IAAI,EAAE,IAAI;wBACV,eAAe,EAAE,sFAAsF;wBACvG,GAAG,MAAM;qBACV,CAAC;oBACF,IAAI,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;wBAC5D,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;oBACpE,CAAC;oBACD,OAAO,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;gBAC/C,CAAC;gBAED;;;;mBAIG;gBACH,KAAK,UAAU;oBACb;;;;uBAIG;oBACH,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;wBACnB,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;4BACxB,MAAM,EAAE,GAAG;4BACX,OAAO,EAAE,EAAE,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE;yBACrD,CAAC,CAAC;oBACL,CAAC;oBAED,OAAO,iBAAiB,CACtB,OAAO,EACP,UAAU;oBACV,6FAA6F;oBAC7F,CAAC,QAAQ,CAAC,KAAK,KAAK,KAAK,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,EAC9F,QAAQ,EACR,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;gBAEJ;;;mBAGG;gBACH,KAAK,UAAU;oBACb,OAAO,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;YACrG,CAAC;QACH,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,OAAgB;YACnC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAExC,oEAAoE;YACpE,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,cAAc;gBAAE,OAAO,IAAI,CAAC;YACrD,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAE9C,uFAAuF;YACvF,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;gBAAE,OAAO,IAAI,CAAC;YAErD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAE3B,qEAAqE;YACrE,IAAI,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEzD,oDAAoD;YACpD,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAEvD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;YACxC,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAEtC,IAAI,CAAC;gBACH,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;gBAC3D,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;gBAC3E,OAAO;oBACL,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC;oBACvE,kBAAkB;oBAClB,iBAAiB;oBACjB,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC;oBACvB,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;oBAC3C,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;oBAC3F,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;iBAChG,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC;IAEF;;;;;;;;OAQG;IACH,KAAK,UAAU,cAAc,CAC3B,OAAgB,EAChB,QAAkC;QAElC,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAE5D,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAE/C,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;YAClC,OAAO,YAAY,CACjB,8EAA8E,EAC9E,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,OAAO,YAAY,CACjB,+FAA+F,EAC/F,GAAG,EACH,EAAE,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAC5C,CAAC;IACJ,CAAC;IAED,KAAK,UAAU,iBAAiB,CAC9B,OAAgB,EAChB,UAAe;IACf,+DAA+D;IAC/D,IAAY,EACZ,QAAkC,EAClC,UAAiC,EAAE;QAEnC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEvG,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACnC,OAAO,YAAY,CACjB,IAAI,KAAK,aAAa;gBACpB,CAAC,CAAC,6EAA6E,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ;gBAC9G,CAAC,CAAC,kBAAkB,EACtB,GAAG,EACH,EAAE,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAC5C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,YAAY,CACjB,IAAI,KAAK,aAAa;gBACpB,CAAC,CAAC,qBAAqB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO;oBACnE,aAAa,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,MAAM;oBACzD,UAAU,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM;gBACpD,CAAC,CAAC,qDAAqD,EACzD,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAC3B,EAAE,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAC5C,CAAC;QACJ,CAAC;QAED;;;;;;;;WAQG;QACH,IAAI,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,QAAQ,KAAK,UAAU,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACzG,OAAO,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjE,CAAC;QAED;;;;;;;;;;WAUG;QACH,MAAM,UAAU,GACd,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG;YAC9B,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG;YAC9B,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG;YAC9B,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAElE,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,YAAY,CAAC,CAAC;QAEzD,MAAM,IAAI,GACR,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAEpH,MAAM,SAAS,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtD,2FAA2F;QAC3F,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC;QACzD,+EAA+E;QAC/E,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,SAAS,KAAK,IAAI;YAAE,oBAAoB,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC3E,uFAAuF;QACvF,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAI,OAAO,EAAE,CAAC;YACZ,gGAAgG;YAChG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAC3C,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC7C,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;;OASG;IACH,SAAS,oBAAoB,CAAC,OAAgB,EAAE,QAA0B,EAAE,kBAA2B;QACrG,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACjH,IAAI,kBAAkB;YAAE,OAAO,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACH,SAAS,WAAW,CAAC,QAAkB;QACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,UAAU,gBAAgB,CAC7B,OAAgB,EAChB,UAAe,EACf,QAAkC,EAClC,MAAkD;QAElD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAClD,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAE3B,MAAM,UAAU,GAAG,QAAQ;YACzB,CAAC,CAAC,qBAAqB,CAAC;gBACpB,QAAQ;gBACR,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;gBAC7C,QAAQ,EAAE,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBAC/E,UAAU;gBACV,cAAc,EAAE,sBAAsB;aACvC,CAAC;YACJ,CAAC,CAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qCAAqC,EAAY,CAAC;QAE5E,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACnB,WAAW,CAAC,QAAQ,CAAC,CAAC;YACtB,6FAA6F;YAC7F,OAAO,CAAC,IAAI,CAAC,oDAAoD,QAAQ,CAAC,EAAE,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YACvG,OAAO,YAAY,CACjB,IAAI,KAAK,aAAa;gBACpB,CAAC,CAAC,uDAAuD,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;oBACtH,kEAAkE;gBACtE,CAAC,CAAC,qDAAqD,EACzD,GAAG,EACH,EAAE,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAC5C,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,gBAAgB,CAChC,UAAU,EACV,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAC5C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAC/B,CAAC;QACF,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE;YAC7D,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,UAAU;SACX,CAAC,CAAC;QAEH,6FAA6F;QAC7F,8FAA8F;QAC9F,uEAAuE;QACvE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC1B,CAAC,8BAA8B,CAAC,EAAE,MAAM;YACxC,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,EAAE;YACvC,eAAe,EAAE,UAAU;SAC5B,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC/C,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC7E,IAAI,IAAI;gBAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;QAED,WAAW,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IACtD,CAAC;IAaD;;;OAGG;IACH,KAAK,UAAU,aAAa,CAC1B,OAAgB,EAChB,UAAe;IACf,+DAA+D;IAC/D,IAAY,EACZ,QAAkC;IAClC,4DAA4D;IAC5D,QAAgC,WAAW;IAC3C;;;OAGG;IACH,WAAW,GAAG,KAAK;QAEnB,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAE9B,+FAA+F;QAC/F,8FAA8F;QAC9F,gFAAgF;QAChF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAE9C,IAAI,kBAAuB,CAAC;QAC5B,IAAI,aAA2B,CAAC;QAEhC,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;YACnC,kBAAkB,GAAG,WAAW,CAAC;YACjC,aAAa,GAAG,QAAQ,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,kBAAkB,GAAG,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC9E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,YAAY,kBAAkB,EAAE,CAAC;YAChG,CAAC;YACD,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC;QACnC,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAEjE,uFAAuF;QACvF,sFAAsF;QACtF,4FAA4F;QAC5F,mEAAmE;QACnE,4EAA4E;QAC5E,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,KAAK,MAAM,IAAI,IAAI,iBAAiB;gBAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7E,CAAC;QAED,6FAA6F;QAC7F,8BAA8B;QAC9B,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QAC3E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,MAAM;gBAAE,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;;gBACrD,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;QAED,8FAA8F;QAC9F,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnG,IAAI,OAAO;YAAE,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE7D,gGAAgG;QAChG,+DAA+D;QAC/D,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAElE,6EAA6E;QAC7E,EAAE;QACF,2FAA2F;QAC3F,wFAAwF;QACxF,6DAA6D;QAC7D,eAAe,CAAC,OAAO,CAAC,GAAG,CACzB,mBAAmB,EACnB,CAAC,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACxG,CAAC;QACF,eAAe,CAAC,OAAO,CAAC,GAAG,CACzB,kBAAkB,EAClB,CAAC,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CACtF,CAAC;QAEF,4FAA4F;QAC5F,mFAAmF;QACnF,kFAAkF;QAClF,wFAAwF;QACxF,gCAAgC;QAChC,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAC9E,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACzC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,gEAAgE;QAChE,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACvD,0FAA0F;QAC1F,+FAA+F;QAC/F,IAAI,aAAa,KAAK,UAAU,CAAC,KAAK;YAAE,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9H,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAC;QAEjE;;;;;;;;;;WAUG;QACH,IAAI,aAAa,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClD,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;YAChE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;QAED,kGAAkG;QAClG,gGAAgG;QAChG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAExD,4FAA4F;QAC5F,wFAAwF;QACxF,0BAA0B;QAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAChD,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACtD,CAAC;QAED,gDAAgD;QAChD,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAE9D,+FAA+F;QAC/F,kEAAkE;QAClE,MAAM,cAAc,GAAG,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/G,iBAAiB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;QAEnD,8FAA8F;QAC9F,oDAAoD;QACpD,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5C,SAAS,CAAC,cAAc,EAAE;gBACxB,IAAI,EAAE,gBAAgB;gBACtB,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,KAAK;gBACL,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,CAAC;gBACb,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;aACf,CAAC,CAAC;YACH,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAClF,CAAC;QAED,wFAAwF;QACxF,8FAA8F;QAC9F,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACpC,yFAAyF;QACzF,mDAAmD;QACnD,IAAI,GAAG,GAAkB,IAAI,CAAC;QAC9B,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAE3E,IAAI,CAAC;YACH,yFAAyF;YACzF,qFAAqF;YACrF,yFAAyF;YACzF,4FAA4F;YAC5F,4DAA4D;YAC5D,MAAM,UAAU,GACd,YAAY,IAAI,QAAQ,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,KAAK,UAAU;gBAC1G,CAAC,CAAC,eAAe,CAAC,eAAe,EAAE,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBAC7E,CAAC,CAAC,IAAI,CAAC;YACX,8FAA8F;YAC9F,kEAAkE;YAClE,GAAG,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;YAEvE,MAAM,IAAI,GAAG,GAAG,EAAE;gBAChB,IAAI,GAAG,IAAI,CAAC;gBACZ,OAAO,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;YACvH,CAAC,CAAC;YACF,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,YAAa,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;YAC7E,qFAAqF;YACrF,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,EAAE,aAAa,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC;YAE/E,2FAA2F;YAC3F,wFAAwF;YACxF,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG;gBAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;;gBACpD,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAErC,SAAS,CAAC,cAAc,EAAE;gBACxB,IAAI,EAAE,gBAAgB;gBACtB,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,KAAK;gBACL,2FAA2F;gBAC3F,0FAA0F;gBAC1F,uFAAuF;gBACvF,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,GAAG,SAAS,EAAE;gBACd,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;gBACzC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;aACf,CAAC,CAAC;YACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,CAAC;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC7B,SAAS,CACP,cAAc,EACd;gBACE,IAAI,EAAE,gBAAgB;gBACtB,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,KAAK;gBACL,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;gBACpD,GAAG,SAAS,EAAE;gBACd,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;gBACzC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;aACf,EACD,KAAK,CACN,CAAC;YACF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,OAAO,EAAE,CAAC;QAC/D,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,UAAU,kBAAkB,CAC/B,OAAgB,EAChB,UAAe,EACf,IAA6B;QAE7B,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QAE1C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAE9C,4FAA4F;QAC5F,sFAAsF;QACtF,8DAA8D;QAC9D,IAAI,OAAO,CAAC,OAAO,IAAI,UAAU,EAAE,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC;gBACd,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnD,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;aACf,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEtC,IAAI,UAAU,EAAE,CAAC;YACf,yFAAyF;YACzF,wFAAwF;YACxF,MAAM,SAAS,GAA+B,EAAE,CAAC;YACjD,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;gBAC/B,IAAI,CAAC,CAAC,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3E,CAAC;YAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,EAAE,CAAC;QAC3B,MAAM,UAAU,GACd,KAAK,CAAC,MAAM,KAAK,GAAG;YACpB,KAAK,CAAC,MAAM,KAAK,GAAG;YACpB,KAAK,CAAC,MAAM,KAAK,GAAG;YACpB,CAAC,KAAK,CAAC,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QACrD,uBAAuB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,UAAU,cAAc,CAC3B,OAAgB,EAChB,UAAe,EACf,IAA6B,EAC7B,OAAmC;QAEnC,MAAM,QAAQ,GAAG,GAAG,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;QAC9D,6FAA6F;QAC7F,4FAA4F;QAC5F,2FAA2F;QAC3F,6EAA6E;QAC7E,MAAM,eAAe,GAAmC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC/E,wFAAwF;QACxF,yFAAyF;QACzF,sEAAsE;QACtE,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,KAAK,CAC9F,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAC5D,CACF,CAAC;QACF,MAAM,oBAAoB,GAAG,GAAG,EAAE;YAChC,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;gBACtC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACjH,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,aAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,IAAI,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oBAAoB,EAAE,CAAC;YACvB,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,eAAe,GACnB,aAAa,CAAC,MAAM,KAAK,GAAG;YAC5B,aAAa,CAAC,MAAM,KAAK,GAAG;YAC5B,aAAa,CAAC,MAAM,KAAK,GAAG;YAC5B,CAAC,aAAa,CAAC,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACvF,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAC/C,uBAAuB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEvC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEtF,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACxC,2FAA2F;YAC3F,yDAAyD;YACzD,oBAAoB,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,OAAO,GAA0B,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACvE,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,GAAG,CAAC,QAAQ,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;YAC5D,KAAK,EAAE,QAAQ,CAAC,KAAK,KAAK,KAAK;YAC/B,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SAClF,CAAC,CAAC,CAAC;QAEJ,yFAAyF;QACzF,SAAS,aAAa,CACpB,QAAkC,EAClC,MAA2B;YAE3B,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAE1E,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,OAAO,GAAiB,EAAE,CAAC;gBACjC,OAAO;oBACL,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAK,EAAE;wBAClD,UAAU,EAAE,QAAQ,CAAC,EAAE;wBACvB,QAAQ;wBACR,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;qBAC3C,CAAC;oBACF,KAAK,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC;iBAC1C,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE;gBACvB,CAAC,CAAC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAC3C,CAAC,CAAC,aAAa,QAAQ,CAAC,EAAE,yBAAyB,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC9E,OAAO,CAAC,IAAI,CAAC,+BAA+B,QAAQ,MAAM,MAAM,EAAE,CAAC,CAAC;YAEpE,IAAI,MAAM,CAAC,EAAE;gBAAE,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YAEnD,qFAAqF;YACrF,sFAAsF;YACtF,4EAA4E;YAC5E,IAAI,QAAQ,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;gBACvC,OAAO;oBACL,OAAO,EAAE,YAAY,CACnB,IAAI,KAAK,aAAa;wBACpB,CAAC,CAAC,6CAA6C,UAAU,CAAC,MAAM,CAAC,gCAAgC;wBACjG,CAAC,CAAC,mGAAmG,CACxG;iBACF,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,GAAG,CAAC,QAAQ,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClF,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,QAAQ,CAC1B,eAAe,CAAC;YACd,KAAK,EAAE,KAAK,CAAC,IAAI;YACjB,SAAS,EAAE,OAAO;YAClB,uFAAuF;YACvF,sFAAsF;YACtF,2CAA2C;YAC3C,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;YAChC,0FAA0F;YAC1F,qFAAqF;YACrF,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,gBAAgB,wBAAwB,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtG,CAAC,EACF,KAAK,CACN,CAAC;QACF,4FAA4F;QAC5F,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACzC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,wBAAwB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,SAAS,YAAY,CAAC,QAAkC,EAAE,UAAe;QACvE,yFAAyF;QACzF,0FAA0F;QAC1F,2DAA2D;QAC3D,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,IAAI,QAAQ,CAAC,GAAG;YAAE,OAAO,QAAQ,CAAC,GAAG,CAAC;QAClE,oFAAoF;QACpF,IAAI,QAAQ,CAAC,YAAY;YAAE,OAAO,QAAQ,CAAC,YAAY,CAAC;QACxD,OAAO,GAAG,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;IACtD,CAAC;IAED;;;;;;;;OAQG;IACH,SAAS,qBAAqB,CAAC,MAA4B;QACzD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,cAAc,CAAC;QAC/C,MAAM,KAAK,GAAG;YACZ,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YACpE,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;SAC7E,CAAC;QAEF,MAAM,MAAM,GACV,wEAAwE;YACxE,oCAAoC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK;YAC/D,oBAAoB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;QAElD,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE;YAC1B,OAAO,EAAE;gBACP,cAAc,EAAE,gCAAgC;gBAChD,yFAAyF;gBACzF,2EAA2E;gBAC3E,wBAAwB,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG;gBAC7C,0FAA0F;gBAC1F,yBAAyB;gBACzB,eAAe,EAAE,UAAU;aAC5B;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,UAAU,kBAAkB,CAAC,OAAgB;QAChD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAE1E,IAAI,CAAC;YACH,MAAM,IAAI,GAAY,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACvF,KAAK,MAAM,KAAK,IAAI,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC;gBAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,yFAAyF;YACzF,kDAAkD;QACpD,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,SAAS,uBAAuB,CAC9B,QAAkC,EAClC,MAA6B;QAE7B,IAAI,MAAM,CAAC,QAAQ;YAAE,OAAO,aAAa,QAAQ,CAAC,EAAE,kBAAkB,QAAQ,CAAC,SAAS,mBAAmB,CAAC;QAC5G,IAAI,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC;YAC7C,OAAO,aAAa,QAAQ,CAAC,EAAE,gGAAgG,CAAC;QAClI,CAAC;QACD,OAAO,sBAAsB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACrD,CAAC;IAED,SAAS,gBAAgB,CAAC,QAAkC;QAC1D,OAAO,OAAO,QAAQ,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpG,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,uBAAuB,CAAC,OAAgB;QAC/C,IAAI,kBAAkB,KAAK,UAAU;YAAE,OAAO;QAE9C,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;aACpD,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;aACpC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,0CAA0C,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAEnG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YAC7E,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACH,SAAS,YAAY,CAAC,IAAY,EAAE,MAAc,EAAE,UAAkC,EAAE;QACtF,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;YACxB,MAAM;YACN,OAAO,EAAE;gBACP,cAAc,EAAE,yBAAyB;gBACzC,GAAG,OAAO;aACX;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAqB;IAErB,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC;IACnE,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAqB,EACrB,UAA8D;IAE9D,OAAO,KAAK,EAAE,OAAO,EAAE,EAAE;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnE,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC;IACnE,CAAC,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,SAAS,IAAI,CAAC,EAA2B;IACvC,IAAI,OAAsC,CAAC;IAC3C,OAAO,GAAG,EAAE,CAAC,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,OAAgB;IACzC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAE3C,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC1D,IAAI,WAAW;QAAE,OAAO,WAAW,KAAK,UAAU,CAAC;IAEnD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;AACvE,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,iBAAiB,CAAC,QAA4B;IACrD,MAAM,OAAO,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrD,IAAI,OAAO,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;QACpH,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,8CAA8C,CAAC,CAAC;IACtG,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,WAAgB,EAAE,UAAkB;IACvF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;IAE/G,8FAA8F;IAC9F,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,QAAQ,GAAG,GAAG,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;IACzD,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IAErC,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC;QAChG,MAAM,IAAI,kBAAkB,CAC1B,0CAA0C,UAAU,kBAAkB,QAAQ,CAAC,QAAQ,iBAAiB;YACtG,kBAAkB,QAAQ,6BAA6B,CAC1D,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,iGAAiG;AACjG,MAAM,kBAAmB,SAAQ,KAAK;CAAG;AAEzC;;;;;;GAMG;AACH,MAAM,gBAAiB,SAAQ,KAAK;IAClC,YAAY,UAAkB;QAC5B,KAAK,CAAC,aAAa,UAAU,+CAA+C,CAAC,CAAC;QAC9E,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,OAAO,IAAI,cAAc,CAAa;QACpC,KAAK,CAAC,UAAU;YACd,UAAU,CAAC,OAAO,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YACtD,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,QAAkC,EAAE,QAAgB;IAC9E,MAAM,OAAO,GAA4B,EAAE,CAAC;IAE5C,2FAA2F;IAC3F,2FAA2F;IAC3F,uFAAuF;IACvF,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,CAAC,OAAO,CAAC,GAAG,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAClE,CAAC,CAAC,QAAQ,CAAC,KAAK;YAChB,CAAC,CAAC,gBAAgB,CACd,QAAQ,CAAC,EAAE,EACX,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,EACtE,EAAE,EACF,QAAQ,CACT,CAAC;IACR,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO;QAAE,OAAO,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;IAC5D,IAAI,QAAQ,CAAC,MAAM;QAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtE,gGAAgG;IAChG,qFAAqF;IACrF,IAAI,QAAQ,CAAC,YAAY;QAAE,OAAO,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC;IAC3E,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM;QAAE,OAAO,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAEvE,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjD,OAAO,eAAe,0BAA0B,cAAc,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;AACxG,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK;SACT,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;SACxB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC;SACzB,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,6FAA6F;AAC7F,SAAS,SAAS,CAAC,OAAgB;IACjC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrF,CAAC;AAED,6FAA6F;AAC7F,SAAS,QAAQ,CAAC,OAAgB;IAChC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClD,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,uFAAuF;AACvF,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;AAE1K;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,WAAW,CAAC,QAAkB,EAAE,cAAuB;IAC9D,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,cAAc,IAAI,QAAQ,KAAK,IAAI,CAAC;IACpD,iGAAiG;IACjG,iGAAiG;IACjG,gGAAgG;IAChG,MAAM,OAAO,GAAG,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACxG,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACrG,KAAK,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAC7B,OAAO,IAAI,QAAQ,CAAC,6DAA6D,QAAQ,4BAA4B,EAAE;YACrH,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,EAAE,cAAc,EAAE,2BAA2B,EAAE;SACzD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IAEhG,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;QAAE,IAAI,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9F,KAAK,MAAM,IAAI,IAAI,kBAAkB;QAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;AAC5G,CAAC;AAED,sGAAsG;AACtG,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE5C,iDAAiD;AACjD,KAAK,UAAU,QAAQ,CAAC,IAAY;IAClC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACrF,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SAC/E,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC;IACzB,+FAA+F;IAC/F,gEAAgE;IAChE,IAAI,SAAS,CAAC,IAAI,GAAG,MAAM;QAAE,SAAS,CAAC,KAAK,EAAE,CAAC;IAC/C,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,MAAqB,EAAE,IAAY;IACtD,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;AAC9F,CAAC"}
package/src/node.js CHANGED
@@ -51,24 +51,32 @@ export function toNodeMiddleware(gateway) {
51
51
  if (setCookie?.length) {
52
52
  headers['set-cookie'] = setCookie;
53
53
  }
54
+ // A declared length is a promise about the bytes that follow, and Node otherwise writes
55
+ // whatever it is given: surplus bytes on a keep-alive connection are read as the start of the
56
+ // next response on it, which an endpoint could fill. Strict, a mismatch throws instead, and the
57
+ // connection is dropped rather than left out of step.
58
+ res.strictContentLength = true;
54
59
  native.writeHead(response.status, headers);
55
- if (!response.body) {
56
- native.end();
57
- return;
58
- }
59
- const reader = response.body.getReader();
60
+ const reader = response.body?.getReader();
60
61
  try {
61
- for (;;) {
62
+ while (reader) {
62
63
  const { done, value } = await reader.read();
63
64
  if (done)
64
65
  break;
65
66
  native.write(value);
66
67
  }
68
+ native.end();
69
+ }
70
+ catch (error) {
71
+ // the rest of the endpoint's body is not going anywhere
72
+ void reader?.cancel().catch(() => undefined);
73
+ if (error.code !== 'ERR_HTTP_CONTENT_LENGTH_MISMATCH')
74
+ throw error;
75
+ res.destroy();
67
76
  }
68
77
  finally {
69
- reader.releaseLock();
78
+ reader?.releaseLock();
70
79
  }
71
- native.end();
72
80
  })().catch(next);
73
81
  };
74
82
  }
package/src/node.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../libs/braid-gateway/src/node.ts"],"names":[],"mappings":"AAAA,OAAO,IAAmD,MAAM,WAAW,CAAC;AAC5E,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAqB;IAErB,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,0FAA0F;QAC1F,yFAAyF;QACzF,iDAAiD;QACjD,EAAE;QACF,4FAA4F;QAC5F,yFAAyF;QACzF,0CAA0C;QAC1C,MAAM,MAAM,GAAG;YACb,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;YAC1B,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;YACtB,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;SACnC,CAAC;QAEF,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,OAAO,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;YAE7C,oFAAoF;YACpF,uFAAuF;YACvF,IAAI,QAAuC,CAAC;YAC5C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CACnC,OAAO,EACP,GAAG,EAAE,CAAC,CAAC,QAAQ,KAAK,yBAAyB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAC1D,CAAC;YAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,QAAQ;oBAAE,IAAI,EAAE,CAAC;gBACtB,OAAO;YACT,CAAC;YAED,qFAAqF;YACrF,qEAAqE;YACrE,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC;gBACxC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YAED,MAAM,OAAO,GAAsC,EAAE,CAAC;YACtD,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBACvC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YACxB,CAAC,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;YACpD,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;gBACtB,OAAO,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;YACpC,CAAC;YAED,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAE3C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,CAAC,GAAG,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,SAAS,CAAC;oBACR,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC5C,IAAI,IAAI;wBAAE,MAAM;oBAChB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,CAAC;YACD,MAAM,CAAC,GAAG,EAAE,CAAC;QACf,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,yBAAyB,CAAC,GAAmB,EAAE,IAA+B;IACrF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAY,CAAC;IAEvE,IAAI,UAAmE,CAAC;IACxE,MAAM,IAAI,GAAG,IAAI,cAAc,CAAa;QAC1C,KAAK,CAAC,gBAAgB;YACpB,UAAU,GAAG,gBAAgB,CAAC;QAChC,CAAC;QACD,MAAM;YACJ,UAAU,GAAG,SAAS,CAAC;QACzB,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,EAAE,CAC1C,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC;IAExF,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,IAAI,SAAS;YAAE,OAAO;QACtB,SAAS,GAAG,IAAI,CAAC;QAEjB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;YAC7D,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAClC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3D,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,OAAO,CAAC,IAAI,QAAQ,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,KAAc,EAAE,QAAkB,EAAE,EAAE;QACrD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QACjE,MAAM,KAAK,GACT,OAAO,KAAK,KAAK,QAAQ;YACvB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAE,QAA2B,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1F,CAAC,CAAE,KAAoB,CAAC;QAC5B,UAAU,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF,GAAG,CAAC,SAAS,GAAG,SAAS,gBAAgB,CAAC,UAAkB,EAAE,GAAG,IAAe;QAC9E,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;QAC5B,8EAA8E;QAC9E,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC,CAAC;QAClG,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAClC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;gBAClE,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,KAAK,GAAG,CAAC,CAAW,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;aAAM,IAAI,cAAc,EAAE,CAAC;YAC1B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAyC,CAAC,EAAE,CAAC;gBACtF,IAAI,KAAK,KAAK,SAAS;oBAAE,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,KAAe,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAgC,CAAC;IAEjC,GAAG,CAAC,KAAK,GAAG,SAAS,YAAY,CAAC,KAAc,EAAE,QAAkB,EAAE,QAAkB;QACtF,MAAM,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACzB,IAAI,OAAO,QAAQ,KAAK,UAAU;YAAG,QAAuB,EAAE,CAAC;aAC1D,IAAI,OAAO,QAAQ,KAAK,UAAU;YAAG,QAAuB,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAA4B,CAAC;IAE7B,GAAG,CAAC,GAAG,GAAG,SAAS,UAAU,CAAC,KAAe,EAAE,QAAkB,EAAE,QAAkB;QACnF,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,EAAE,CAAC;QACT,UAAU,EAAE,KAAK,EAAE,CAAC;QACpB,UAAU,GAAG,SAAS,CAAC;QACvB,KAAK,MAAM,QAAQ,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnD,IAAI,OAAO,QAAQ,KAAK,UAAU;gBAAG,QAAuB,EAAE,CAAC;QACjE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAA0B,CAAC;IAE3B,IAAI,CAAC;QACH,IAAI,EAAE,CAAC;IACT,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAqB,EACrB,IAAmE;IAEnE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QAC3B,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAE9F,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,IAAI;oBAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;;oBAC7B,MAAM,CAAC,OAAO,EAAE,CAAC;gBACtB,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC;YACrD,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAE1C,MAAM,OAAO,GAAkD;gBAC7D,GAAG,GAAG,CAAC,OAAO;gBACd,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;gBACxB,aAAa,EAAE,MAAM,CAAC,GAAG;aAC1B,CAAC;YACF,sFAAsF;YACtF,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBAC/B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,iBAAiB;oBAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YACpE,CAAC;YACD,mFAAmF;YACnF,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1B,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;YACxD,kFAAkF;YAClF,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;oBAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;;oBAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;YACzC,CAAC;YAED,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC;gBACjC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ;gBAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;gBACxD,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO;aACR,CAAC,CAAC;YAEH,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE;gBACnE,MAAM,UAAU,GACd,YAAY,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,aAAa,MAAM;oBACrE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;yBAChC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;wBACzB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;wBACtD,iFAAiF;wBACjF,MAAM,OAAO,GACX,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,SAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;wBACvH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC7C,CAAC,CAAC;yBACD,IAAI,CAAC,MAAM,CAAC;oBACf,UAAU,CAAC;gBAEb,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACzB,IAAI,YAAY,EAAE,MAAM;oBAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAErD,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnD,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;gBAC3B,oCAAoC;gBACpC,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAE7C,IAAI,IAAI,EAAE,MAAM;gBAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACjB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAoB,EAAE,UAAkC,EAAE;IACzF,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC;IAC7C,MAAM,QAAQ,GAAI,GAAG,CAAC,MAAkC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IACtF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG,QAAQ,MAAM,IAAI,EAAE,CAAC,CAAC;IAE7D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC;IACnC,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,CAAC;IAE3E,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE;QACtB,MAAM;QACN,OAAO;QACP,IAAI,EAAE,OAAO,CAAC,CAAC,CAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAyB,CAAC,CAAC,CAAC,SAAS;QACxE,oDAAoD;QACpD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxB,CAAC,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../libs/braid-gateway/src/node.ts"],"names":[],"mappings":"AAAA,OAAO,IAAmD,MAAM,WAAW,CAAC;AAC5E,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAqB;IAErB,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,0FAA0F;QAC1F,yFAAyF;QACzF,iDAAiD;QACjD,EAAE;QACF,4FAA4F;QAC5F,yFAAyF;QACzF,0CAA0C;QAC1C,MAAM,MAAM,GAAG;YACb,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;YAC1B,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;YACtB,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;SACnC,CAAC;QAEF,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,OAAO,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;YAE7C,oFAAoF;YACpF,uFAAuF;YACvF,IAAI,QAAuC,CAAC;YAC5C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CACnC,OAAO,EACP,GAAG,EAAE,CAAC,CAAC,QAAQ,KAAK,yBAAyB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAC1D,CAAC;YAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,QAAQ;oBAAE,IAAI,EAAE,CAAC;gBACtB,OAAO;YACT,CAAC;YAED,qFAAqF;YACrF,qEAAqE;YACrE,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC;gBACxC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YAED,MAAM,OAAO,GAAsC,EAAE,CAAC;YACtD,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBACvC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YACxB,CAAC,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;YACpD,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;gBACtB,OAAO,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;YACpC,CAAC;YAED,wFAAwF;YACxF,8FAA8F;YAC9F,gGAAgG;YAChG,sDAAsD;YACtD,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAC/B,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAE3C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,OAAO,MAAM,EAAE,CAAC;oBACd,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC5C,IAAI,IAAI;wBAAE,MAAM;oBAChB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;gBACD,MAAM,CAAC,GAAG,EAAE,CAAC;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wDAAwD;gBACxD,KAAK,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC7C,IAAK,KAA2B,CAAC,IAAI,KAAK,kCAAkC;oBAAE,MAAM,KAAK,CAAC;gBAC1F,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,CAAC;oBAAS,CAAC;gBACT,MAAM,EAAE,WAAW,EAAE,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,yBAAyB,CAAC,GAAmB,EAAE,IAA+B;IACrF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAY,CAAC;IAEvE,IAAI,UAAmE,CAAC;IACxE,MAAM,IAAI,GAAG,IAAI,cAAc,CAAa;QAC1C,KAAK,CAAC,gBAAgB;YACpB,UAAU,GAAG,gBAAgB,CAAC;QAChC,CAAC;QACD,MAAM;YACJ,UAAU,GAAG,SAAS,CAAC;QACzB,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,EAAE,CAC1C,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC;IAExF,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,IAAI,SAAS;YAAE,OAAO;QACtB,SAAS,GAAG,IAAI,CAAC;QAEjB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;YAC7D,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAClC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3D,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,OAAO,CAAC,IAAI,QAAQ,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,KAAc,EAAE,QAAkB,EAAE,EAAE;QACrD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QACjE,MAAM,KAAK,GACT,OAAO,KAAK,KAAK,QAAQ;YACvB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAE,QAA2B,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1F,CAAC,CAAE,KAAoB,CAAC;QAC5B,UAAU,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF,GAAG,CAAC,SAAS,GAAG,SAAS,gBAAgB,CAAC,UAAkB,EAAE,GAAG,IAAe;QAC9E,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;QAC5B,8EAA8E;QAC9E,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC,CAAC;QAClG,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAClC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;gBAClE,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,KAAK,GAAG,CAAC,CAAW,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;aAAM,IAAI,cAAc,EAAE,CAAC;YAC1B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAyC,CAAC,EAAE,CAAC;gBACtF,IAAI,KAAK,KAAK,SAAS;oBAAE,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,KAAe,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAgC,CAAC;IAEjC,GAAG,CAAC,KAAK,GAAG,SAAS,YAAY,CAAC,KAAc,EAAE,QAAkB,EAAE,QAAkB;QACtF,MAAM,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACzB,IAAI,OAAO,QAAQ,KAAK,UAAU;YAAG,QAAuB,EAAE,CAAC;aAC1D,IAAI,OAAO,QAAQ,KAAK,UAAU;YAAG,QAAuB,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAA4B,CAAC;IAE7B,GAAG,CAAC,GAAG,GAAG,SAAS,UAAU,CAAC,KAAe,EAAE,QAAkB,EAAE,QAAkB;QACnF,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,EAAE,CAAC;QACT,UAAU,EAAE,KAAK,EAAE,CAAC;QACpB,UAAU,GAAG,SAAS,CAAC;QACvB,KAAK,MAAM,QAAQ,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnD,IAAI,OAAO,QAAQ,KAAK,UAAU;gBAAG,QAAuB,EAAE,CAAC;QACjE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAA0B,CAAC;IAE3B,IAAI,CAAC;QACH,IAAI,EAAE,CAAC;IACT,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAqB,EACrB,IAAmE;IAEnE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QAC3B,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAE9F,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,IAAI;oBAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;;oBAC7B,MAAM,CAAC,OAAO,EAAE,CAAC;gBACtB,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC;YACrD,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAE1C,MAAM,OAAO,GAAkD;gBAC7D,GAAG,GAAG,CAAC,OAAO;gBACd,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;gBACxB,aAAa,EAAE,MAAM,CAAC,GAAG;aAC1B,CAAC;YACF,sFAAsF;YACtF,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBAC/B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,iBAAiB;oBAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YACpE,CAAC;YACD,mFAAmF;YACnF,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1B,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;YACxD,kFAAkF;YAClF,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;oBAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;;oBAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;YACzC,CAAC;YAED,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC;gBACjC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ;gBAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;gBACxD,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO;aACR,CAAC,CAAC;YAEH,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE;gBACnE,MAAM,UAAU,GACd,YAAY,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,aAAa,MAAM;oBACrE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;yBAChC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;wBACzB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;wBACtD,iFAAiF;wBACjF,MAAM,OAAO,GACX,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,SAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;wBACvH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC7C,CAAC,CAAC;yBACD,IAAI,CAAC,MAAM,CAAC;oBACf,UAAU,CAAC;gBAEb,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACzB,IAAI,YAAY,EAAE,MAAM;oBAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAErD,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnD,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;gBAC3B,oCAAoC;gBACpC,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAE7C,IAAI,IAAI,EAAE,MAAM;gBAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACjB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAoB,EAAE,UAAkC,EAAE;IACzF,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC;IAC7C,MAAM,QAAQ,GAAI,GAAG,CAAC,MAAkC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IACtF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG,QAAQ,MAAM,IAAI,EAAE,CAAC,CAAC;IAE7D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC;IACnC,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,CAAC;IAE3E,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE;QACtB,MAAM;QACN,OAAO;QACP,IAAI,EAAE,OAAO,CAAC,CAAC,CAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAyB,CAAC,CAAC,CAAC,SAAS;QACxE,oDAAoD;QACpD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxB,CAAC,CAAC;AACpB,CAAC"}
@@ -145,6 +145,9 @@ export function prepareFragmentHtml(body, options) {
145
145
  handlers: {
146
146
  '*': {
147
147
  element(tag) {
148
+ // before the handlers go: the onload is what says which media the sheet is really for
149
+ if (tag.tagName === 'link')
150
+ applyDeferredStylesheetMedia(tag);
148
151
  for (const attributeName of tag.attributeNames) {
149
152
  if (INLINE_EVENT_HANDLER.test(attributeName)) {
150
153
  tag.removeAttribute(attributeName);
@@ -216,6 +219,42 @@ export function prepareFragmentHtml(body, options) {
216
219
  },
217
220
  });
218
221
  }
222
+ /**
223
+ * The media an `onload="this.media='…'"` handler switches a stylesheet to.
224
+ *
225
+ * Captured only when the value is a plain media query list (range syntax included) — no quote or `&`,
226
+ * nothing a handler could smuggle out of the attribute — so the result is the same either way the
227
+ * browser would read it. The `this.onload=null` reset is accepted before or after.
228
+ */
229
+ const DEFERRED_STYLESHEET_ONLOAD = /^\s*(?:this\.onload\s*=\s*null\s*;\s*)?this\.media\s*=\s*(['"])([\w\s(),:.<>=/-]+)\1\s*(?:;\s*this\.onload\s*=\s*null\s*)?(?:;\s*)?$/;
230
+ /**
231
+ * Longer than any real handler of that shape. The pattern is linear — no two whitespace runs are
232
+ * separated by only optional tokens, which made an earlier version quadratic on a long run of
233
+ * spaces — but a fragment's attribute is unbounded input, so it is not trusted to stay that way.
234
+ */
235
+ const MAX_DEFERRED_STYLESHEET_ONLOAD = 512;
236
+ /**
237
+ * Applies the media a deferred stylesheet's `onload` would have switched it to.
238
+ *
239
+ * `<link rel="stylesheet" media="print" onload="this.media='all'">` is how Angular (through its
240
+ * critical-CSS inliner) and others load a stylesheet without blocking render: the sheet is fetched
241
+ * as print-only, and the handler promotes it once it arrives. The handler is an inline event
242
+ * handler, which this transform removes — so without this, the sheet would stay print-only and
243
+ * the fragment would render unstyled. Writing the promoted media up front costs only the
244
+ * non-blocking load, which a fragment's shadow root does not get anyway.
245
+ *
246
+ * A `media="print"` link with no such handler is a real print stylesheet and is left alone.
247
+ */
248
+ function applyDeferredStylesheetMedia(tag) {
249
+ if (!/(?:^|\s)stylesheet(?:\s|$)/i.test(tag.getAttribute('rel') ?? ''))
250
+ return;
251
+ const onload = tag.getAttribute('onload') ?? '';
252
+ if (onload.length > MAX_DEFERRED_STYLESHEET_ONLOAD)
253
+ return;
254
+ const media = DEFERRED_STYLESHEET_ONLOAD.exec(onload)?.[2];
255
+ if (media)
256
+ tag.setAttribute('media', media.trim());
257
+ }
219
258
  /**
220
259
  * Removes a frame's document when the markup supplies it inline instead of naming one to load,
221
260
  * marking the tag with what was removed.
@@ -1 +1 @@
1
- {"version":3,"file":"transforms.js","sourceRoot":"","sources":["../../../../../libs/braid-gateway/src/rewriter/transforms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transforms.js","sourceRoot":"","sources":["../../../../../libs/braid-gateway/src/rewriter/transforms.ts"],"names":[],"mappings":"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"}