@aws/nx-plugin 0.79.1 → 0.80.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.
@@ -1,15 +1,16 @@
1
+ import json
1
2
  import os
2
3
  import uuid
3
- from collections.abc import Callable
4
+ from collections.abc import AsyncIterator, Callable
5
+ from typing import Any
4
6
  from urllib.parse import urlparse
5
7
 
6
8
  from aws_lambda_powertools import Logger, Metrics, Tracer
7
9
  from aws_lambda_powertools.metrics import MetricUnit
8
10
  from fastapi import FastAPI, Request, Response
9
11
  from fastapi.openapi.utils import get_openapi
10
- from fastapi.responses import JSONResponse
12
+ from fastapi.responses import JSONResponse, StreamingResponse
11
13
  from fastapi.routing import APIRoute
12
- from mangum import Mangum
13
14
  from pydantic import BaseModel
14
15
  from starlette.middleware.exceptions import ExceptionMiddleware
15
16
 
@@ -25,16 +26,54 @@ class InternalServerErrorDetails(BaseModel):
25
26
  detail: str
26
27
 
27
28
 
28
- app = FastAPI(title="<%= apiNameClassName %>", responses={500: {"model": InternalServerErrorDetails}})
29
- lambda_handler = Mangum(app)
29
+ class JsonStreamingResponse(StreamingResponse):
30
+ """A streaming response that serializes items to JSON Lines format."""
31
+
32
+ media_type = "application/jsonl"
33
+
34
+ def __init__(
35
+ self,
36
+ content: AsyncIterator[BaseModel],
37
+ status_code: int = 200,
38
+ headers: dict[str, str] | None = None,
39
+ **kwargs: Any,
40
+ ) -> None:
41
+ """Stream json lines from an async iterator yielding Pydantic models"""
42
+ super().__init__(
43
+ content=self._serialize(content),
44
+ status_code=status_code,
45
+ headers=headers,
46
+ media_type=self.media_type,
47
+ **kwargs,
48
+ )
49
+
50
+ @staticmethod
51
+ async def _serialize(
52
+ content: AsyncIterator[BaseModel],
53
+ ) -> AsyncIterator[bytes]:
54
+ """Serialize Pydantic models to JSON Lines format."""
55
+ async for item in content:
56
+ yield (item.model_dump_json() + "\n").encode("utf-8")
57
+
58
+ @staticmethod
59
+ def openapi_response(
60
+ item_model: type[BaseModel],
61
+ description: str = "Streaming response",
62
+ ) -> dict[str, Any]:
63
+ """Generate an OpenAPI application/jsonl response for a stream of the given model"""
64
+ return {
65
+ "description": description,
66
+ "content": {
67
+ "application/jsonl": {
68
+ "itemSchema": {"$ref": f"#/components/schemas/{item_model.__name__}"},
69
+ }
70
+ },
71
+ # Include the model so FastAPI registers the schema in components/schemas
72
+ "model": item_model,
73
+ }
74
+
30
75
 
31
- # Add tracing
32
- lambda_handler.__name__ = "handler" # tracer requires __name__ to be set
33
- lambda_handler = tracer.capture_lambda_handler(lambda_handler)
34
- # Add logging
35
- lambda_handler = logger.inject_lambda_context(lambda_handler, clear_state=True)
36
- # Add metrics last to properly flush metrics.
37
- lambda_handler = metrics.log_metrics(lambda_handler, capture_cold_start_metric=True)
76
+ app = FastAPI(title="<%= apiNameClassName %>", responses={500: {"model": InternalServerErrorDetails}})
38
77
 
39
78
 
40
79
  # Add cors middleware
@@ -92,10 +131,16 @@ async def metrics_handler(request: Request, call_next):
92
131
  async def add_correlation_id(request: Request, call_next):
93
132
  # Get correlation id from X-Correlation-Id header
94
133
  corr_id = request.headers.get("x-correlation-id")
95
- if not corr_id and "aws.context" in request.scope:
96
- # If empty, use request id from aws context
97
- corr_id = request.scope["aws.context"].aws_request_id
98
- elif not corr_id:
134
+ if not corr_id:
135
+ # Try to get request id from Lambda context (forwarded by Lambda Web Adapter)
136
+ lambda_context_header = request.headers.get("x-amzn-lambda-context")
137
+ if lambda_context_header:
138
+ try:
139
+ lambda_context = json.loads(lambda_context_header)
140
+ corr_id = lambda_context.get("request_id")
141
+ except (json.JSONDecodeError, KeyError):
142
+ pass
143
+ if not corr_id:
99
144
  # If still empty, use uuid
100
145
  corr_id = uuid.uuid4().hex
101
146
 
@@ -1,8 +1,7 @@
1
+ import uvicorn
1
2
  from pydantic import BaseModel
2
3
 
3
- from .init import app, lambda_handler, tracer
4
-
5
- handler = lambda_handler
4
+ from .init import app, tracer
6
5
 
7
6
 
8
7
  class EchoOutput(BaseModel):
@@ -13,3 +12,7 @@ class EchoOutput(BaseModel):
13
12
  @tracer.capture_method
14
13
  def echo(message: str) -> EchoOutput:
15
14
  return EchoOutput(message=f"{message}")
15
+
16
+
17
+ if __name__ == "__main__":
18
+ uvicorn.run("<%- name %>.main:app", port=8000)
@@ -0,0 +1,2 @@
1
+ #!/bin/bash
2
+ exec python -m uvicorn <%= name %>.main:app --host 0.0.0.0 --port ${PORT:-8000}
@@ -16,6 +16,7 @@ const object_1 = require("../../utils/object");
16
16
  const nx_1 = require("../../utils/nx");
17
17
  const metrics_1 = require("../../utils/metrics");
18
18
  const api_constructs_1 = require("../../utils/api-constructs/api-constructs");
19
+ const fs_1 = require("../../utils/fs");
19
20
  const open_api_1 = require("./react/open-api");
20
21
  const port_1 = require("../../utils/port");
21
22
  const bundle_1 = require("../../utils/bundle/bundle");
@@ -46,7 +47,14 @@ const pyFastApiProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, vo
46
47
  });
47
48
  const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, fullyQualifiedName);
48
49
  const port = (0, port_1.assignPort)(tree, projectConfig, 8000);
49
- const { bundleOutputDir } = (0, bundle_1.addPythonBundleTarget)(projectConfig);
50
+ const { bundleOutputDir, bundleTargetName } = (0, bundle_1.addPythonBundleTarget)(projectConfig);
51
+ // Add a command to copy run.sh to the bundle output for Lambda Web Adapter
52
+ const fs = new fs_1.FsCommands(tree);
53
+ const bundleTarget = projectConfig.targets[bundleTargetName];
54
+ bundleTarget.options.commands = [
55
+ ...bundleTarget.options.commands,
56
+ fs.cp(`{projectRoot}/run.sh`, `dist/{projectRoot}/${bundleTargetName}/run.sh`),
57
+ ];
50
58
  projectConfig.targets.serve = {
51
59
  executor: '@nxlv/python:run-commands',
52
60
  options: {
@@ -96,7 +104,7 @@ const pyFastApiProjectGenerator = (tree, schema) => tslib_1.__awaiter(void 0, vo
96
104
  });
97
105
  (0, py_1.addDependenciesToPyProjectToml)(tree, dir, [
98
106
  'fastapi',
99
- 'mangum',
107
+ 'uvicorn',
100
108
  'aws-lambda-powertools',
101
109
  'aws-lambda-powertools[tracer]',
102
110
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/fast-api/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/fast-api/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAUoB;AAEpB,yDAA6D;AAC7D,0EAA+E;AAC/E,qEAA0E;AAC1E,6CAA6D;AAC7D,+CAA0D;AAC1D,+CAAoD;AACpD,uCAIwB;AACxB,iDAAsE;AACtE,8EAA+E;AAC/E,uCAA4C;AAC5C,+CAAwD;AACxD,2CAA8C;AAC9C,sDAAkE;AAClE,uCAGwB;AACxB,yCAAqD;AACrD,oFAAgH;AAEnG,QAAA,uBAAuB,GAClC,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAE/B;;GAEG;AACI,MAAM,yBAAyB,GAAG,CACvC,IAAU,EACV,MAAuC,EACX,EAAE;IAC9B,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAkB,EAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAEvE,MAAM,IAAA,6CAAyB,EAAC,IAAI,EAAE;QACpC,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,GAAG,IAAA,+BAAmB,EAC3E,IAAI,EACJ;QACE,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CACF,CAAC;IACF,MAAM,gBAAgB,GAAG,IAAA,mBAAW,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,gBAAgB,GAAG,IAAA,mBAAW,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAElD,MAAM,IAAA,mBAAkB,EAAC,IAAI,EAAE;QAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,oBAAoB;QAChC,WAAW,EAAE,aAAa;KAC3B,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IACzE,MAAM,IAAI,GAAG,IAAA,iBAAU,EAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IAEnD,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GACzC,IAAA,8BAAqB,EAAC,aAAa,CAAC,CAAC;IAEvC,2EAA2E;IAC3E,MAAM,EAAE,GAAG,IAAI,eAAU,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7D,YAAY,CAAC,OAAO,CAAC,QAAQ,GAAG;QAC9B,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ;QAChC,EAAE,CAAC,EAAE,CACH,sBAAsB,EACtB,sBAAsB,gBAAgB,SAAS,CAChD;KACF,CAAC;IAEF,aAAa,CAAC,OAAO,CAAC,KAAK,GAAG;QAC5B,QAAQ,EAAE,2BAA2B;QACrC,OAAO,EAAE;YACP,OAAO,EAAE,sBAAsB,oBAAoB,mBAAmB,IAAI,EAAE;YAC5E,GAAG,EAAE,eAAe;SACrB;QACD,UAAU,EAAE,IAAI;KACjB,CAAC;IAEF,aAAa,CAAC,QAAQ,GAAG,gCACpB,aAAa,CAAC,QAAQ,KACzB,OAAO,EAAE,MAAM,CAAC,IAAI,EACpB,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,MAAM,CAAC,IAAI,GACX,CAAC;IAET,aAAa,CAAC,OAAO,GAAG,IAAA,uBAAc,EAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9D,IAAA,mCAA0B,EAAC,IAAI,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;IAEpE,mEAAmE;IACnE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,+BAAoB,EAAC,IAAI,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IAE5E;QACE,IAAA,0BAAiB,EAAC,GAAG,EAAE,oBAAoB,EAAE,UAAU,CAAC;QACxD,IAAA,0BAAiB,EAAC,GAAG,EAAE,OAAO,EAAE,eAAe,CAAC;KACjD,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjC,IAAA,sBAAa,EACX,IAAI,EAAE,0BAA0B;IAChC,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,6BAA6B;IAC3E,GAAG,EAAE,gCAAgC;IACrC;QACE,IAAI,EAAE,oBAAoB;QAC1B,gBAAgB;QAChB,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,EACD;QACE,iBAAiB,EAAE,0BAAiB,CAAC,SAAS;KAC/C,CACF,CAAC;IAEF,mEAAmE;IACnE,IAAA,mCAAkB,EAAC,IAAI,EAAE;QACvB,cAAc,EAAE,aAAa,CAAC,IAAI;QAClC,gBAAgB;QAChB,gBAAgB;QAChB,aAAa,EACX,MAAM,CAAC,WAAW,KAAK,6BAA6B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACxE,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,oBAAoB;YAChC,eAAe;SAChB;QACD,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW;KACZ,CAAC,CAAC;IAEH,IAAA,oEAAgD,EAAC,IAAI,EAAE;QACrD,WAAW;QACX,gBAAgB;QAChB,QAAQ;QACR,mBAAmB,EAAE,GAAG,aAAa,CAAC,IAAI,UAAU;KACrD,CAAC,CAAC;IAEH,IAAA,mCAA8B,EAAC,IAAI,EAAE,GAAG,EAAE;QACxC,SAAS;QACT,SAAS;QACT,uBAAuB;QACvB,+BAA+B;KAChC,CAAC,CAAC;IACH,IAAA,oDAA+C,EAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE;QAChE,mBAAmB;KACpB,CAAC,CAAC;IAEH,IAAA,yBAAoB,EAAC,IAAI,EAAE,kBAAkB,EAAE,+BAAuB,CAAC,CAAC;IAExE,MAAM,IAAA,yCAA+B,EAAC,IAAI,EAAE,CAAC,+BAAuB,CAAC,CAAC,CAAC;IAEvE,MAAM,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;IAEjC,OAAO,GAAS,EAAE;QAChB,MAAM,IAAI,wBAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,oBAAM,EAAE,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9D,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAA,CAAC;AACJ,CAAC,CAAA,CAAC;AAjIW,QAAA,yBAAyB,6BAiIpC;AACF,kBAAe,iCAAyB,CAAC"}
@@ -643,6 +643,7 @@ resource "aws_lambda_function" "api_lambda" {
643
643
  mode = "Active"
644
644
  }
645
645
 
646
+
646
647
  environment {
647
648
  variables = merge({
648
649
  AWS_CONNECTION_REUSE_ENABLED = "1"
@@ -706,6 +707,7 @@ resource "aws_cloudwatch_log_group" "lambda_logs" {
706
707
  }
707
708
 
708
709
 
710
+
709
711
  # Create proxy resource (captures all paths)
710
712
  resource "aws_api_gateway_resource" "proxy_resource" {
711
713
  rest_api_id = module.rest_api.api_id
@@ -867,6 +869,7 @@ resource "aws_lambda_permission" "api_gateway_invoke" {
867
869
  depends_on = [module.rest_api, aws_lambda_function.api_lambda]
868
870
  }
869
871
 
872
+
870
873
  # Add API url to runtime config
871
874
  module "add_url_to_runtime_config" {
872
875
  source = "../../../core/runtime-config/entry"
@@ -1666,6 +1669,7 @@ resource "aws_lambda_function" "api_lambda" {
1666
1669
  mode = "Active"
1667
1670
  }
1668
1671
 
1672
+
1669
1673
  environment {
1670
1674
  variables = merge({
1671
1675
  AWS_CONNECTION_REUSE_ENABLED = "1"
@@ -1728,6 +1732,7 @@ resource "aws_cloudwatch_log_group" "lambda_logs" {
1728
1732
  tags = var.tags
1729
1733
  }
1730
1734
 
1735
+
1731
1736
  # Cognito User Pool Authorizer
1732
1737
  resource "aws_api_gateway_authorizer" "cognito_authorizer" {
1733
1738
  name = "TestApiAuthorizer"
@@ -1897,6 +1902,7 @@ resource "aws_lambda_permission" "api_gateway_invoke" {
1897
1902
  depends_on = [module.rest_api, aws_lambda_function.api_lambda]
1898
1903
  }
1899
1904
 
1905
+
1900
1906
  # Add API url to runtime config
1901
1907
  module "add_url_to_runtime_config" {
1902
1908
  source = "../../../core/runtime-config/entry"
@@ -2292,6 +2298,7 @@ resource "aws_lambda_function" "api_lambda" {
2292
2298
  mode = "Active"
2293
2299
  }
2294
2300
 
2301
+
2295
2302
  environment {
2296
2303
  variables = merge({
2297
2304
  AWS_CONNECTION_REUSE_ENABLED = "1"
@@ -2355,6 +2362,7 @@ resource "aws_cloudwatch_log_group" "lambda_logs" {
2355
2362
  }
2356
2363
 
2357
2364
 
2365
+
2358
2366
  # Create proxy resource (captures all paths)
2359
2367
  resource "aws_api_gateway_resource" "proxy_resource" {
2360
2368
  rest_api_id = module.rest_api.api_id
@@ -2525,6 +2533,7 @@ resource "aws_lambda_permission" "api_gateway_invoke" {
2525
2533
  depends_on = [module.rest_api, aws_lambda_function.api_lambda]
2526
2534
  }
2527
2535
 
2536
+
2528
2537
  # Add API url to runtime config
2529
2538
  module "add_url_to_runtime_config" {
2530
2539
  source = "../../../core/runtime-config/entry"
@@ -2769,6 +2778,7 @@ resource "aws_lambda_function" "api_lambda" {
2769
2778
  mode = "Active"
2770
2779
  }
2771
2780
 
2781
+
2772
2782
  environment {
2773
2783
  variables = merge({
2774
2784
  AWS_CONNECTION_REUSE_ENABLED = "1"
@@ -2832,6 +2842,7 @@ resource "aws_cloudwatch_log_group" "lambda_logs" {
2832
2842
  }
2833
2843
 
2834
2844
 
2845
+
2835
2846
  # Create proxy resource (captures all paths)
2836
2847
  resource "aws_api_gateway_resource" "proxy_resource" {
2837
2848
  rest_api_id = module.rest_api.api_id
@@ -2993,6 +3004,7 @@ resource "aws_lambda_permission" "api_gateway_invoke" {
2993
3004
  depends_on = [module.rest_api, aws_lambda_function.api_lambda]
2994
3005
  }
2995
3006
 
3007
+
2996
3008
  # Add API url to runtime config
2997
3009
  module "add_url_to_runtime_config" {
2998
3010
  source = "../../../core/runtime-config/entry"
@@ -2709,6 +2709,7 @@ resource "aws_lambda_function" "api_lambda" {
2709
2709
  mode = "Active"
2710
2710
  }
2711
2711
 
2712
+
2712
2713
  environment {
2713
2714
  variables = merge({
2714
2715
  AWS_CONNECTION_REUSE_ENABLED = "1"
@@ -2771,6 +2772,7 @@ resource "aws_cloudwatch_log_group" "lambda_logs" {
2771
2772
  tags = var.tags
2772
2773
  }
2773
2774
 
2775
+
2774
2776
  # Cognito User Pool Authorizer
2775
2777
  resource "aws_apigatewayv2_authorizer" "cognito_authorizer" {
2776
2778
  api_id = module.http_api.api_id
@@ -3329,6 +3331,7 @@ resource "aws_lambda_function" "api_lambda" {
3329
3331
  mode = "Active"
3330
3332
  }
3331
3333
 
3334
+
3332
3335
  environment {
3333
3336
  variables = merge({
3334
3337
  AWS_CONNECTION_REUSE_ENABLED = "1"
@@ -3392,6 +3395,7 @@ resource "aws_cloudwatch_log_group" "lambda_logs" {
3392
3395
  }
3393
3396
 
3394
3397
 
3398
+
3395
3399
  # Lambda integration for HTTP API
3396
3400
  resource "aws_apigatewayv2_integration" "lambda_integration" {
3397
3401
  api_id = module.http_api.api_id
@@ -3936,6 +3940,7 @@ resource "aws_lambda_function" "api_lambda" {
3936
3940
  mode = "Active"
3937
3941
  }
3938
3942
 
3943
+
3939
3944
  environment {
3940
3945
  variables = merge({
3941
3946
  AWS_CONNECTION_REUSE_ENABLED = "1"
@@ -3999,6 +4004,7 @@ resource "aws_cloudwatch_log_group" "lambda_logs" {
3999
4004
  }
4000
4005
 
4001
4006
 
4007
+
4002
4008
  # Lambda integration for HTTP API
4003
4009
  resource "aws_apigatewayv2_integration" "lambda_integration" {
4004
4010
  api_id = module.http_api.api_id
@@ -4433,6 +4439,7 @@ resource "aws_lambda_function" "api_lambda" {
4433
4439
  mode = "Active"
4434
4440
  }
4435
4441
 
4442
+
4436
4443
  environment {
4437
4444
  variables = merge({
4438
4445
  AWS_CONNECTION_REUSE_ENABLED = "1"
@@ -4495,6 +4502,7 @@ resource "aws_cloudwatch_log_group" "lambda_logs" {
4495
4502
  tags = var.tags
4496
4503
  }
4497
4504
 
4505
+
4498
4506
  # Cognito User Pool Authorizer
4499
4507
  resource "aws_api_gateway_authorizer" "cognito_authorizer" {
4500
4508
  name = "TestApiAuthorizer"
@@ -4665,6 +4673,7 @@ resource "aws_lambda_permission" "api_gateway_invoke" {
4665
4673
  depends_on = [module.rest_api, aws_lambda_function.api_lambda]
4666
4674
  }
4667
4675
 
4676
+
4668
4677
  # Add API url to runtime config
4669
4678
  module "add_url_to_runtime_config" {
4670
4679
  source = "../../../core/runtime-config/entry"
@@ -5060,6 +5069,7 @@ resource "aws_lambda_function" "api_lambda" {
5060
5069
  mode = "Active"
5061
5070
  }
5062
5071
 
5072
+
5063
5073
  environment {
5064
5074
  variables = merge({
5065
5075
  AWS_CONNECTION_REUSE_ENABLED = "1"
@@ -5123,6 +5133,7 @@ resource "aws_cloudwatch_log_group" "lambda_logs" {
5123
5133
  }
5124
5134
 
5125
5135
 
5136
+
5126
5137
  # Create proxy resource (captures all paths)
5127
5138
  resource "aws_api_gateway_resource" "proxy_resource" {
5128
5139
  rest_api_id = module.rest_api.api_id
@@ -5294,6 +5305,7 @@ resource "aws_lambda_permission" "api_gateway_invoke" {
5294
5305
  depends_on = [module.rest_api, aws_lambda_function.api_lambda]
5295
5306
  }
5296
5307
 
5308
+
5297
5309
  # Add API url to runtime config
5298
5310
  module "add_url_to_runtime_config" {
5299
5311
  source = "../../../core/runtime-config/entry"
@@ -5689,6 +5701,7 @@ resource "aws_lambda_function" "api_lambda" {
5689
5701
  mode = "Active"
5690
5702
  }
5691
5703
 
5704
+
5692
5705
  environment {
5693
5706
  variables = merge({
5694
5707
  AWS_CONNECTION_REUSE_ENABLED = "1"
@@ -5752,6 +5765,7 @@ resource "aws_cloudwatch_log_group" "lambda_logs" {
5752
5765
  }
5753
5766
 
5754
5767
 
5768
+
5755
5769
  # Create proxy resource (captures all paths)
5756
5770
  resource "aws_api_gateway_resource" "proxy_resource" {
5757
5771
  rest_api_id = module.rest_api.api_id
@@ -5914,6 +5928,7 @@ resource "aws_lambda_permission" "api_gateway_invoke" {
5914
5928
  depends_on = [module.rest_api, aws_lambda_function.api_lambda]
5915
5929
  }
5916
5930
 
5931
+
5917
5932
  # Add API url to runtime config
5918
5933
  module "add_url_to_runtime_config" {
5919
5934
  source = "../../../core/runtime-config/entry"
@@ -74,9 +74,7 @@ exports[`ts lib generator > should configure named inputs in nx.json 1`] = `
74
74
  `;
75
75
 
76
76
  exports[`ts lib generator > should generate library with custom directory > custom-dir-index.ts 1`] = `
77
- "export function hello() {
78
- return 'Hello!';
79
- }
77
+ "// Export your library code here
80
78
  "
81
79
  `;
82
80
 
@@ -175,9 +173,7 @@ export default [
175
173
  `;
176
174
 
177
175
  exports[`ts lib generator > should generate library with default options > index.ts 1`] = `
178
- "export function hello() {
179
- return 'Hello!';
180
- }
176
+ "// Export your library code here
181
177
  "
182
178
  `;
183
179
 
@@ -247,9 +243,7 @@ exports[`ts lib generator > should generate library with default options > tscon
247
243
  `;
248
244
 
249
245
  exports[`ts lib generator > should generate library with subdirectory > subdir-index.ts 1`] = `
250
- "export function hello() {
251
- return 'Hello!';
252
- }
246
+ "// Export your library code here
253
247
  "
254
248
  `;
255
249
 
@@ -1,3 +1 @@
1
- export function hello() {
2
- return "Hello!";
3
- }
1
+ // Export your library code here
@@ -333,3 +333,98 @@ const AppLayout: React.FC<React.PropsWithChildren> = ({ children }) => {
333
333
  export default AppLayout;
334
334
  "
335
335
  `;
336
+
337
+ exports[`cognito-auth generator uxProvider tests > Shadcn > should update AppLayout > app-layout-with-auth 1`] = `
338
+ "import { useEffect, useRef, useState } from 'react';
339
+ import { useAuth } from 'react-oidc-context';
340
+ import * as React from 'react';
341
+ import {
342
+ SidebarInset,
343
+ SidebarProvider,
344
+ } from 'common-shadcn/components/ui/sidebar';
345
+ import { Separator } from 'common-shadcn/components/ui/separator';
346
+ import Config from '../../config';
347
+
348
+ const AppLayout = ({ children }: { children: React.ReactNode }) => {
349
+ const [menuOpen, setMenuOpen] = useState(false);
350
+ const menuRef = useRef<HTMLDivElement>(null);
351
+ useEffect(() => {
352
+ const handleClickOutside = (event: MouseEvent) => {
353
+ if (menuRef.current && !menuRef.current.contains(event.target as any)) {
354
+ setMenuOpen(false);
355
+ }
356
+ };
357
+ document.addEventListener('mousedown', handleClickOutside);
358
+ return () => {
359
+ document.removeEventListener('mousedown', handleClickOutside);
360
+ };
361
+ }, []);
362
+ const { user, removeUser, signoutRedirect, clearStaleState } = useAuth();
363
+ return (
364
+ <SidebarProvider>
365
+ <SidebarInset>
366
+ <header className="supports-backdrop-blur:bg-background/60 sticky top-0 z-10 flex h-16 items-center gap-4 border-b bg-background/80 px-4 backdrop-blur">
367
+ <div className="flex items-center gap-3">
368
+ <Separator orientation="vertical" className="h-6" />
369
+ <div className="flex items-center gap-2">
370
+ <img
371
+ alt={\`\${Config.applicationName} logo\`}
372
+ className="size-10 rounded-lg border border-border/60 bg-background object-cover shadow-sm"
373
+ src={Config.logo}
374
+ />
375
+ <div className="flex flex-col leading-tight">
376
+ <span className="text-sm font-semibold">
377
+ {Config.applicationName}
378
+ </span>
379
+ </div>
380
+ </div>
381
+ </div>
382
+ <div className="ml-auto flex items-center gap-3" ref={menuRef}>
383
+ <button
384
+ type="button"
385
+ onClick={() => setMenuOpen((open) => !open)}
386
+ className="focus-visible:ring-ring/60 bg-muted text-muted-foreground flex size-10 items-center justify-center rounded-full border border-border/60 font-semibold shadow-sm outline-none transition hover:bg-muted/80 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-background cursor-pointer"
387
+ aria-label="Open user menu"
388
+ aria-expanded={menuOpen}
389
+ >
390
+ {(user?.profile?.['cognito:username'] as any)
391
+ ?.charAt?.(0)
392
+ ?.toUpperCase?.()}
393
+ </button>
394
+ {menuOpen && (
395
+ <div className="bg-popover text-popover-foreground absolute right-4 top-14 w-36 overflow-hidden rounded-md border shadow-md">
396
+ <div className="px-3 py-2 text-sm font-semibold">
397
+ Hi, {user?.profile?.['cognito:username'] as any}!
398
+ </div>
399
+ <div className="bg-border/70 h-px w-full" role="separator" />
400
+ <button
401
+ type="button"
402
+ className="hover:bg-muted w-full px-3 py-2 text-left text-sm cursor-pointer"
403
+ onClick={() => {
404
+ setMenuOpen(false);
405
+ removeUser();
406
+ signoutRedirect({
407
+ post_logout_redirect_uri: window.location.origin,
408
+ extraQueryParams: {
409
+ redirect_uri: window.location.origin,
410
+ response_type: 'code',
411
+ },
412
+ });
413
+ clearStaleState();
414
+ }}
415
+ >
416
+ Sign out
417
+ </button>
418
+ </div>
419
+ )}
420
+ </div>
421
+ </header>
422
+ <div className="flex flex-1 flex-col gap-6 p-6 pt-4">{children}</div>
423
+ </SidebarInset>
424
+ </SidebarProvider>
425
+ );
426
+ };
427
+
428
+ export default AppLayout;
429
+ "
430
+ `;
@@ -107,7 +107,7 @@ function addShadcnAuthMenu(tree, appLayoutTsxPath) {
107
107
  ], [typescript_1.factory.createNull()])),
108
108
  ], typescript_1.NodeFlags.Const));
109
109
  const userNameExpr = typescript_1.factory.createAsExpression(typescript_1.factory.createElementAccessChain(typescript_1.factory.createPropertyAccessChain(typescript_1.factory.createIdentifier('user'), typescript_1.factory.createToken(typescript_1.SyntaxKind.QuestionDotToken), typescript_1.factory.createIdentifier('profile')), typescript_1.factory.createToken(typescript_1.SyntaxKind.QuestionDotToken), typescript_1.factory.createStringLiteral('cognito:username')), typescript_1.factory.createKeywordTypeNode(typescript_1.SyntaxKind.AnyKeyword));
110
- const userInitialExpr = typescript_1.factory.createCallChain(typescript_1.factory.createPropertyAccessChain(typescript_1.factory.createCallChain(typescript_1.factory.createPropertyAccessExpression(userNameExpr, typescript_1.factory.createIdentifier('charAt')), typescript_1.factory.createToken(typescript_1.SyntaxKind.QuestionDotToken), undefined, [typescript_1.factory.createNumericLiteral(0)]), typescript_1.factory.createToken(typescript_1.SyntaxKind.QuestionDotToken), typescript_1.factory.createIdentifier('toUpperCase')), typescript_1.factory.createToken(typescript_1.SyntaxKind.QuestionDotToken), undefined, []);
110
+ const userInitialExpr = typescript_1.factory.createCallChain(typescript_1.factory.createPropertyAccessChain(typescript_1.factory.createCallChain(typescript_1.factory.createPropertyAccessChain(userNameExpr, typescript_1.factory.createToken(typescript_1.SyntaxKind.QuestionDotToken), typescript_1.factory.createIdentifier('charAt')), typescript_1.factory.createToken(typescript_1.SyntaxKind.QuestionDotToken), undefined, [typescript_1.factory.createNumericLiteral(0)]), typescript_1.factory.createToken(typescript_1.SyntaxKind.QuestionDotToken), typescript_1.factory.createIdentifier('toUpperCase')), typescript_1.factory.createToken(typescript_1.SyntaxKind.QuestionDotToken), undefined, []);
111
111
  const useEffectStatement = typescript_1.factory.createExpressionStatement(typescript_1.factory.createCallExpression(typescript_1.factory.createIdentifier('useEffect'), undefined, [
112
112
  typescript_1.factory.createArrowFunction(undefined, undefined, [], undefined, typescript_1.factory.createToken(typescript_1.SyntaxKind.EqualsGreaterThanToken), typescript_1.factory.createBlock([
113
113
  typescript_1.factory.createVariableStatement(undefined, typescript_1.factory.createVariableDeclarationList([
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/react-website/cognito-auth/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/react-website/cognito-auth/utils.ts"],"names":[],"mappings":";;AAwBA,0CAkLC;AAGD,sDAiLC;AAED,8CA+jBC;AA17BD,4CAI4B;AAC5B,2CAWoB;AAEpB,4GAA4G;AAC5G,SAAgB,eAAe,CAAC,IAAU,EAAE,gBAAwB;IAClE,SAAS,gBAAgB,CAAC,IAAgB;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;QACpC,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAClD,CAAC,IAAI,EAAwB,EAAE,CAC7B,IAAA,2BAAc,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,WAAW,CAC9D,CAAC;QAEF,MAAM,UAAU,GACd,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,KAAI,IAAA,4BAAe,EAAC,SAAS,CAAC,WAAW,CAAC;YAC9D,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI;YAC5B,CAAC,CAAC,SAAS,CAAC;QAEhB,OAAO,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC/D,CAAC;IAED,IAAA,aAAO,EACL,IAAI,EACJ,gBAAgB,EAChB,8GAA8G,EAC9G,CAAC,IAAgB,EAAE,EAAE;QACnB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,YAAY,GAAG,oBAAO,CAAC,gBAAgB,CAC3C,oBAAO,CAAC,uBAAuB,CAC7B,oBAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAC/B,SAAS,EACT,oBAAO,CAAC,mBAAmB,CAAC;YAC1B,oBAAO,CAAC,kBAAkB,CACxB,oBAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACrC,oBAAO,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAC7C;SACF,CAAC,CACH,EACD;YACE,oBAAO,CAAC,gBAAgB,CACtB,oBAAO,CAAC,uBAAuB,CAC7B,oBAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAChC,SAAS,EACT,oBAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAChC,EACD;gBACE,oBAAO,CAAC,aAAa,CAAC,MAAM,CAAC;gBAC7B,oBAAO,CAAC,mBAAmB,CACzB,SAAS,EACT,oBAAO,CAAC,wBAAwB,CAC9B,oBAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAC9B;oBACE,oBAAO,CAAC,kBAAkB,CACxB,oBAAO,CAAC,wBAAwB,CAC9B,oBAAO,CAAC,yBAAyB,CAC/B,oBAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAChC,oBAAO,CAAC,WAAW,CAAC,uBAAU,CAAC,gBAAgB,CAAC,EAChD,oBAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CACpC,EACD,oBAAO,CAAC,WAAW,CAAC,uBAAU,CAAC,gBAAgB,CAAC,EAChD,oBAAO,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAChD,EACD,oBAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAC/B;iBACF,CACF,CACF;aACF,EACD,oBAAO,CAAC,uBAAuB,CAAC,oBAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAClE;YACD,oBAAO,CAAC,gBAAgB,CACtB,oBAAO,CAAC,uBAAuB,CAC7B,oBAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAClC,SAAS,EACT,oBAAO,CAAC,mBAAmB,CAAC;gBAC1B,oBAAO,CAAC,kBAAkB,CACxB,oBAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAChC,oBAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CACtC;gBACD,oBAAO,CAAC,kBAAkB,CACxB,oBAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACrC,oBAAO,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAC5C;gBACD,oBAAO,CAAC,kBAAkB,CACxB,oBAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,EACnC,oBAAO,CAAC,mBAAmB,CACzB,SAAS,EACT,oBAAO,CAAC,mBAAmB,CACzB,SAAS,EACT,SAAS,EACT,EAAE,EACF,SAAS,EACT,oBAAO,CAAC,WAAW,CAAC,uBAAU,CAAC,sBAAsB,CAAC,EACtD,oBAAO,CAAC,WAAW,CACjB;oBACE,oBAAO,CAAC,yBAAyB,CAC/B,oBAAO,CAAC,oBAAoB,CAC1B,oBAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACtC,SAAS,EACT,EAAE,CACH,CACF;oBACD,oBAAO,CAAC,yBAAyB,CAC/B,oBAAO,CAAC,oBAAoB,CAC1B,oBAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAC3C,SAAS,EACT;wBACE,oBAAO,CAAC,6BAA6B,CACnC;4BACE,oBAAO,CAAC,wBAAwB,CAC9B,0BAA0B,EAC1B,oBAAO,CAAC,8BAA8B,CACpC,oBAAO,CAAC,8BAA8B,CACpC,oBAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAClC,oBAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CACrC,EACD,oBAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACnC,CACF;4BACD,oBAAO,CAAC,wBAAwB,CAC9B,kBAAkB,EAClB,oBAAO,CAAC,6BAA6B,CACnC;gCACE,oBAAO,CAAC,wBAAwB,CAC9B,cAAc,EACd,oBAAO,CAAC,8BAA8B,CACpC,oBAAO,CAAC,8BAA8B,CACpC,oBAAO,CAAC,gBAAgB,CACtB,QAAQ,CACT,EACD,oBAAO,CAAC,gBAAgB,CACtB,UAAU,CACX,CACF,EACD,oBAAO,CAAC,gBAAgB,CACtB,QAAQ,CACT,CACF,CACF;gCACD,oBAAO,CAAC,wBAAwB,CAC9B,eAAe,EACf,oBAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CACpC;6BACF,EACD,IAAI,CACL,CACF;yBACF,EACD,IAAI,CACL;qBACF,CACF,CACF;oBACD,oBAAO,CAAC,yBAAyB,CAC/B,oBAAO,CAAC,oBAAoB,CAC1B,oBAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAC3C,SAAS,EACT,EAAE,CACH,CACF;iBACF,EACD,IAAI,CACL,CACF,CACF,CACF;aACF,CAAC,CACH,EACD,CAAC,oBAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,EACnC,oBAAO,CAAC,uBAAuB,CAAC,oBAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CACpE;SACF,EACD,oBAAO,CAAC,uBAAuB,CAAC,oBAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CACjE,CAAC;QACF,OAAO,oBAAO,CAAC,gBAAgB,CAC7B,IAAI,CAAC,cAAc,EACnB,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,EAChC,IAAI,CAAC,cAAc,CACpB,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,SAAgB,qBAAqB,CAAC,IAAU,EAAE,gBAAwB;IACxE,IAAA,aAAO,EACL,IAAI,EACJ,gBAAgB,EAChB,qDAAqD,EACrD,CAAC,IAA2B,EAAE,EAAE;QAC9B,MAAM,kBAAkB,GAAG,oBAAO,CAAC,kBAAkB,CACnD,oBAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACrC,oBAAO,CAAC,mBAAmB,CACzB,SAAS,EACT,oBAAO,CAAC,4BAA4B,CAClC;YACE,oBAAO,CAAC,6BAA6B,CAAC;gBACpC,oBAAO,CAAC,wBAAwB,CAC9B,MAAM,EACN,oBAAO,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAC7C;gBACD,oBAAO,CAAC,wBAAwB,CAC9B,MAAM,EACN,oBAAO,CAAC,wBAAwB,CAC9B,oBAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAC9B;oBACE,oBAAO,CAAC,kBAAkB,CACxB,oBAAO,CAAC,wBAAwB,CAC9B,oBAAO,CAAC,yBAAyB,CAC/B,oBAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAChC,oBAAO,CAAC,WAAW,CAAC,uBAAU,CAAC,gBAAgB,CAAC,EAChD,oBAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CACpC,EACD,oBAAO,CAAC,WAAW,CAAC,uBAAU,CAAC,gBAAgB,CAAC,EAChD,oBAAO,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAChD,EACD,oBAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAC/B;iBACF,CACF,CACF;gBACD,oBAAO,CAAC,wBAAwB,CAC9B,UAAU,EACV,oBAAO,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CACnD;gBACD,oBAAO,CAAC,wBAAwB,CAC9B,aAAa,EACb,oBAAO,CAAC,mBAAmB,CACzB,SAAS,EACT,SAAS,EACT;oBACE,oBAAO,CAAC,0BAA0B,CAChC,SAAS,EACT,SAAS,EACT,oBAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAC7B,SAAS,EACT,SAAS,EACT,SAAS,CACV;iBACF,EACD,SAAS,EACT,oBAAO,CAAC,WAAW,CAAC,uBAAU,CAAC,sBAAsB,CAAC,EACtD,oBAAO,CAAC,WAAW,CACjB;oBACE,oBAAO,CAAC,iBAAiB,CACvB,oBAAO,CAAC,sBAAsB,CAC5B,oBAAO,CAAC,8BAA8B,CACpC,oBAAO,CAAC,8BAA8B,CACpC,oBAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAC7B,oBAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACnC,EACD,oBAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAC/B,EACD,oBAAO,CAAC,WAAW,CACjB,uBAAU,CAAC,uBAAuB,CACnC,EACD,oBAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CACvC,EACD,oBAAO,CAAC,WAAW,CACjB;wBACE,oBAAO,CAAC,yBAAyB,CAC/B,oBAAO,CAAC,oBAAoB,CAC1B,oBAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACtC,SAAS,EACT,EAAE,CACH,CACF;wBACD,oBAAO,CAAC,yBAAyB,CAC/B,oBAAO,CAAC,oBAAoB,CAC1B,oBAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAC3C,SAAS,EACT;4BACE,oBAAO,CAAC,6BAA6B,CAAC;gCACpC,oBAAO,CAAC,wBAAwB,CAC9B,0BAA0B,EAC1B,oBAAO,CAAC,8BAA8B,CACpC,oBAAO,CAAC,8BAA8B,CACpC,oBAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAClC,oBAAO,CAAC,gBAAgB,CACtB,UAAU,CACX,CACF,EACD,oBAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACnC,CACF;gCACD,oBAAO,CAAC,wBAAwB,CAC9B,kBAAkB,EAClB,oBAAO,CAAC,6BAA6B,CAAC;oCACpC,oBAAO,CAAC,wBAAwB,CAC9B,cAAc,EACd,oBAAO,CAAC,8BAA8B,CACpC,oBAAO,CAAC,8BAA8B,CACpC,oBAAO,CAAC,gBAAgB,CACtB,QAAQ,CACT,EACD,oBAAO,CAAC,gBAAgB,CACtB,UAAU,CACX,CACF,EACD,oBAAO,CAAC,gBAAgB,CACtB,QAAQ,CACT,CACF,CACF;oCACD,oBAAO,CAAC,wBAAwB,CAC9B,eAAe,EACf,oBAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CACpC;iCACF,CAAC,CACH;6BACF,CAAC;yBACH,CACF,CACF;wBACD,oBAAO,CAAC,yBAAyB,CAC/B,oBAAO,CAAC,oBAAoB,CAC1B,oBAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAC3C,SAAS,EACT,EAAE,CACH,CACF;qBACF,EACD,IAAI,CACL,CACF;iBACF,EACD,IAAI,CACL,CACF,CACF;gBACD,oBAAO,CAAC,wBAAwB,CAC9B,OAAO,EACP,oBAAO,CAAC,4BAA4B,CAAC;oBACnC,oBAAO,CAAC,6BAA6B,CAAC;wBACpC,oBAAO,CAAC,wBAAwB,CAC9B,IAAI,EACJ,oBAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CACvC;wBACD,oBAAO,CAAC,wBAAwB,CAC9B,MAAM,EACN,oBAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,CACxC;qBACF,CAAC;iBACH,CAAC,CACH;aACF,CAAC;SACH,EACD,IAAI,CACL,CACF,CACF,CAAC;QACF,OAAO,oBAAO,CAAC,2BAA2B,CACxC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,EAClB,oBAAO,CAAC,mBAAmB,CAAC;YAC1B,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU;YAC7B,kBAAkB;SACnB,CAAC,CACH,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAgB,iBAAiB,CAAC,IAAU,EAAE,gBAAwB;IACpE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,iCAAiC,gBAAgB,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,IAAA,2BAAqB,EACnB,IAAI,EACJ,gBAAgB,EAChB,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,EACnC,OAAO,CACR,CAAC;IAEF,MAAM,oBAAoB,GAAG,oBAAO,CAAC,uBAAuB,CAC1D,SAAS,EACT,oBAAO,CAAC,6BAA6B,CACnC;QACE,oBAAO,CAAC,yBAAyB,CAC/B,oBAAO,CAAC,yBAAyB,CAAC;YAChC,oBAAO,CAAC,oBAAoB,CAC1B,SAAS,EACT,SAAS,EACT,oBAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,EACpC,SAAS,CACV;YACD,oBAAO,CAAC,oBAAoB,CAC1B,SAAS,EACT,SAAS,EACT,oBAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,EACvC,SAAS,CACV;SACF,CAAC,EACF,SAAS,EACT,SAAS,EACT,oBAAO,CAAC,oBAAoB,CAC1B,oBAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,EACpC,SAAS,EACT,CAAC,oBAAO,CAAC,WAAW,EAAE,CAAC,CACxB,CACF;KACF,EACD,sBAAS,CAAC,KAAK,CAChB,CACF,CAAC;IAEF,MAAM,kBAAkB,GAAG,oBAAO,CAAC,uBAAuB,CACxD,SAAS,EACT,oBAAO,CAAC,6BAA6B,CACnC;QACE,oBAAO,CAAC,yBAAyB,CAC/B,oBAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,EACnC,SAAS,EACT,SAAS,EACT,oBAAO,CAAC,oBAAoB,CAC1B,oBAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAClC;YACE,oBAAO,CAAC,uBAAuB,CAC7B,oBAAO,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAC1C,SAAS,CACV;SACF,EACD,CAAC,oBAAO,CAAC,UAAU,EAAE,CAAC,CACvB,CACF;KACF,EACD,sBAAS,CAAC,KAAK,CAChB,CACF,CAAC;IAEF,MAAM,YAAY,GAAG,oBAAO,CAAC,kBAAkB,CAC7C,oBAAO,CAAC,wBAAwB,CAC9B,oBAAO,CAAC,yBAAyB,CAC/B,oBAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAChC,oBAAO,CAAC,WAAW,CAAC,uBAAU,CAAC,gBAAgB,CAAC,EAChD,oBAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CACpC,EACD,oBAAO,CAAC,WAAW,CAAC,uBAAU,CAAC,gBAAgB,CAAC,EAChD,oBAAO,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAChD,EACD,oBAAO,CAAC,qBAAqB,CAAC,uBAAU,CAAC,UAAU,CAAC,CACrD,CAAC;IAEF,MAAM,eAAe,GAAG,oBAAO,CAAC,eAAe,CAC7C,oBAAO,CAAC,yBAAyB,CAC/B,oBAAO,CAAC,eAAe,CACrB,oBAAO,CAAC,yBAAyB,CAC/B,YAAY,EACZ,oBAAO,CAAC,WAAW,CAAC,uBAAU,CAAC,gBAAgB,CAAC,EAChD,oBAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACnC,EACD,oBAAO,CAAC,WAAW,CAAC,uBAAU,CAAC,gBAAgB,CAAC,EAChD,SAAS,EACT,CAAC,oBAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAClC,EACD,oBAAO,CAAC,WAAW,CAAC,uBAAU,CAAC,gBAAgB,CAAC,EAChD,oBAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CACxC,EACD,oBAAO,CAAC,WAAW,CAAC,uBAAU,CAAC,gBAAgB,CAAC,EAChD,SAAS,EACT,EAAE,CACH,CAAC;IAEF,MAAM,kBAAkB,GAAG,oBAAO,CAAC,yBAAyB,CAC1D,oBAAO,CAAC,oBAAoB,CAC1B,oBAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACrC,SAAS,EACT;QACE,oBAAO,CAAC,mBAAmB,CACzB,SAAS,EACT,SAAS,EACT,EAAE,EACF,SAAS,EACT,oBAAO,CAAC,WAAW,CAAC,uBAAU,CAAC,sBAAsB,CAAC,EACtD,oBAAO,CAAC,WAAW,CACjB;YACE,oBAAO,CAAC,uBAAuB,CAC7B,SAAS,EACT,oBAAO,CAAC,6BAA6B,CACnC;gBACE,oBAAO,CAAC,yBAAyB,CAC/B,oBAAO,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,EAC9C,SAAS,EACT,SAAS,EACT,oBAAO,CAAC,mBAAmB,CACzB,SAAS,EACT,SAAS,EACT;oBACE,oBAAO,CAAC,0BAA0B,CAChC,SAAS,EACT,SAAS,EACT,oBAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACjC,SAAS,EACT,oBAAO,CAAC,uBAAuB,CAC7B,oBAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACtC,SAAS,CACV,EACD,SAAS,CACV;iBACF,EACD,SAAS,EACT,oBAAO,CAAC,WAAW,CAAC,uBAAU,CAAC,sBAAsB,CAAC,EACtD,oBAAO,CAAC,WAAW,CACjB;oBACE,oBAAO,CAAC,iBAAiB,CACvB,oBAAO,CAAC,sBAAsB,CAC5B,oBAAO,CAAC,8BAA8B,CACpC,oBAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,EACnC,oBAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CACpC,EACD,oBAAO,CAAC,WAAW,CACjB,uBAAU,CAAC,uBAAuB,CACnC,EACD,oBAAO,CAAC,2BAA2B,CACjC,uBAAU,CAAC,gBAAgB,EAC3B,oBAAO,CAAC,oBAAoB,CAC1B,oBAAO,CAAC,8BAA8B,CACpC,oBAAO,CAAC,8BAA8B,CACpC,oBAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,EACnC,oBAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CACpC,EACD,oBAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CACrC,EACD,SAAS,EACT;wBACE,oBAAO,CAAC,kBAAkB,CACxB,oBAAO,CAAC,8BAA8B,CACpC,oBAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACjC,oBAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACnC,EACD,oBAAO,CAAC,qBAAqB,CAC3B,uBAAU,CAAC,UAAU,CACtB,CACF;qBACF,CACF,CACF,CACF,EACD,oBAAO,CAAC,WAAW,CACjB;wBACE,oBAAO,CAAC,yBAAyB,CAC/B,oBAAO,CAAC,oBAAoB,CAC1B,oBAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,EACvC,SAAS,EACT,CAAC,oBAAO,CAAC,WAAW,EAAE,CAAC,CACxB,CACF;qBACF,EACD,IAAI,CACL,EACD,SAAS,CACV;iBACF,EACD,IAAI,CACL,CACF,CACF;aACF,EACD,sBAAS,CAAC,KAAK,CAChB,CACF;YACD,oBAAO,CAAC,yBAAyB,CAC/B,oBAAO,CAAC,oBAAoB,CAC1B,oBAAO,CAAC,8BAA8B,CACpC,oBAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,EACpC,oBAAO,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAC7C,EACD,SAAS,EACT;gBACE,oBAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC;gBACxC,oBAAO,CAAC,gBAAgB,CAAC,oBAAoB,CAAC;aAC/C,CACF,CACF;YACD,oBAAO,CAAC,qBAAqB,CAC3B,oBAAO,CAAC,mBAAmB,CACzB,SAAS,EACT,SAAS,EACT,EAAE,EACF,SAAS,EACT,oBAAO,CAAC,WAAW,CAAC,uBAAU,CAAC,sBAAsB,CAAC,EACtD,oBAAO,CAAC,WAAW,CACjB;gBACE,oBAAO,CAAC,yBAAyB,CAC/B,oBAAO,CAAC,oBAAoB,CAC1B,oBAAO,CAAC,8BAA8B,CACpC,oBAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,EACpC,oBAAO,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAChD,EACD,SAAS,EACT;oBACE,oBAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC;oBACxC,oBAAO,CAAC,gBAAgB,CAAC,oBAAoB,CAAC;iBAC/C,CACF,CACF;aACF,EACD,IAAI,CACL,CACF,CACF;SACF,EACD,IAAI,CACL,CACF;QACD,oBAAO,CAAC,4BAA4B,CAAC,EAAE,EAAE,KAAK,CAAC;KAChD,CACF,CACF,CAAC;IAEF,IAAA,aAAO,EACL,IAAI,EACJ,gBAAgB,EAChB,4CAA4C,EAC5C,CAAC,IAAyB,EAAE,EAAE;QAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,WAEd,CAAC;QACd,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,uBAAU,CAAC,KAAK,EAAE,CAAC;YACnE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAa,CAAC;QACzC,MAAM,aAAa,GAAG;YACpB,oBAAoB;YACpB,kBAAkB;YAClB,kBAAkB;YAClB,GAAG,IAAI,CAAC,UAAU;SACnB,CAAC;QACF,MAAM,gBAAgB,GAAG,oBAAO,CAAC,mBAAmB,CAClD,aAAa,EACb,aAAa,CAAC,SAAS,EACvB,aAAa,CAAC,cAAc,EAC5B,aAAa,CAAC,UAAU,EACxB,aAAa,CAAC,IAAI,EAClB,aAAa,CAAC,sBAAsB,EACpC,oBAAO,CAAC,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,CACzC,CAAC;QACF,OAAO,oBAAO,CAAC,yBAAyB,CACtC,IAAI,EACJ,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,IAAI,EACT,gBAAgB,CACjB,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,QAAQ,GAAG,oBAAO,CAAC,gBAAgB,CACvC,oBAAO,CAAC,uBAAuB,CAC7B,oBAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAC/B,SAAS,EACT,oBAAO,CAAC,mBAAmB,CAAC;QAC1B,oBAAO,CAAC,kBAAkB,CACxB,oBAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACrC,oBAAO,CAAC,mBAAmB,CAAC,iCAAiC,CAAC,CAC/D;QACD,oBAAO,CAAC,kBAAkB,CACxB,oBAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAC/B,oBAAO,CAAC,mBAAmB,CACzB,SAAS,EACT,oBAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CACpC,CACF;KACF,CAAC,CACH,EACD;QACE,oBAAO,CAAC,gBAAgB,CACtB,oBAAO,CAAC,uBAAuB,CAC7B,oBAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAClC,SAAS,EACT,oBAAO,CAAC,mBAAmB,CAAC;YAC1B,oBAAO,CAAC,kBAAkB,CACxB,oBAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAChC,oBAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CACtC;YACD,oBAAO,CAAC,kBAAkB,CACxB,oBAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,EACnC,oBAAO,CAAC,mBAAmB,CACzB,SAAS,EACT,oBAAO,CAAC,mBAAmB,CACzB,SAAS,EACT,SAAS,EACT,EAAE,EACF,SAAS,EACT,oBAAO,CAAC,WAAW,CAAC,uBAAU,CAAC,sBAAsB,CAAC,EACtD,oBAAO,CAAC,oBAAoB,CAC1B,oBAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,EACvC,SAAS,EACT;gBACE,oBAAO,CAAC,mBAAmB,CACzB,SAAS,EACT,SAAS,EACT;oBACE,oBAAO,CAAC,0BAA0B,CAChC,SAAS,EACT,SAAS,EACT,oBAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAChC,SAAS,EACT,SAAS,EACT,SAAS,CACV;iBACF,EACD,SAAS,EACT,oBAAO,CAAC,WAAW,CAAC,uBAAU,CAAC,sBAAsB,CAAC,EACtD,oBAAO,CAAC,2BAA2B,CACjC,uBAAU,CAAC,gBAAgB,EAC3B,oBAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CACjC,CACF;aACF,CACF,CACF,CACF,CACF;YACD,oBAAO,CAAC,kBAAkB,CACxB,oBAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACrC,oBAAO,CAAC,mBAAmB,CACzB,gTAAgT,CACjT,CACF;YACD,oBAAO,CAAC,kBAAkB,CACxB,oBAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACtC,oBAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAC9C;YACD,oBAAO,CAAC,kBAAkB,CACxB,oBAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,EACzC,oBAAO,CAAC,mBAAmB,CACzB,SAAS,EACT,oBAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CACrC,CACF;SACF,CAAC,CACH,EACD,CAAC,oBAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,EACzD,oBAAO,CAAC,uBAAuB,CAAC,oBAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CACpE;QACD,oBAAO,CAAC,mBAAmB,CACzB,SAAS,EACT,oBAAO,CAAC,sBAAsB,CAC5B,oBAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,EACpC,oBAAO,CAAC,WAAW,CAAC,uBAAU,CAAC,uBAAuB,CAAC,EACvD,oBAAO,CAAC,6BAA6B,CACnC,oBAAO,CAAC,gBAAgB,CACtB,oBAAO,CAAC,uBAAuB,CAC7B,oBAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAC/B,SAAS,EACT,oBAAO,CAAC,mBAAmB,CAAC;YAC1B,oBAAO,CAAC,kBAAkB,CACxB,oBAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACrC,oBAAO,CAAC,mBAAmB,CACzB,6GAA6G,CAC9G,CACF;SACF,CAAC,CACH,EACD;YACE,oBAAO,CAAC,gBAAgB,CACtB,oBAAO,CAAC,uBAAuB,CAC7B,oBAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAC/B,SAAS,EACT,oBAAO,CAAC,mBAAmB,CAAC;gBAC1B,oBAAO,CAAC,kBAAkB,CACxB,oBAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACrC,oBAAO,CAAC,mBAAmB,CACzB,iCAAiC,CAClC,CACF;aACF,CAAC,CACH,EACD;gBACE,oBAAO,CAAC,aAAa,CAAC,MAAM,CAAC;gBAC7B,oBAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,YAAY,CAAC;gBACpD,oBAAO,CAAC,aAAa,CAAC,GAAG,CAAC;aAC3B,EACD,oBAAO,CAAC,uBAAuB,CAC7B,oBAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAChC,CACF;YACD,oBAAO,CAAC,2BAA2B,CACjC,oBAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAC/B,SAAS,EACT,oBAAO,CAAC,mBAAmB,CAAC;gBAC1B,oBAAO,CAAC,kBAAkB,CACxB,oBAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACrC,oBAAO,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,CACxD;gBACD,oBAAO,CAAC,kBAAkB,CACxB,oBAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAChC,oBAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CACzC;aACF,CAAC,CACH;YACD,oBAAO,CAAC,gBAAgB,CACtB,oBAAO,CAAC,uBAAuB,CAC7B,oBAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAClC,SAAS,EACT,oBAAO,CAAC,mBAAmB,CAAC;gBAC1B,oBAAO,CAAC,kBAAkB,CACxB,oBAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAChC,oBAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CACtC;gBACD,oBAAO,CAAC,kBAAkB,CACxB,oBAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACrC,oBAAO,CAAC,mBAAmB,CACzB,kEAAkE,CACnE,CACF;gBACD,oBAAO,CAAC,kBAAkB,CACxB,oBAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,EACnC,oBAAO,CAAC,mBAAmB,CACzB,SAAS,EACT,oBAAO,CAAC,mBAAmB,CACzB,SAAS,EACT,SAAS,EACT,EAAE,EACF,SAAS,EACT,oBAAO,CAAC,WAAW,CACjB,uBAAU,CAAC,sBAAsB,CAClC,EACD,oBAAO,CAAC,WAAW,CACjB;oBACE,oBAAO,CAAC,yBAAyB,CAC/B,oBAAO,CAAC,oBAAoB,CAC1B,oBAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,EACvC,SAAS,EACT,CAAC,oBAAO,CAAC,WAAW,EAAE,CAAC,CACxB,CACF;oBACD,oBAAO,CAAC,yBAAyB,CAC/B,oBAAO,CAAC,oBAAoB,CAC1B,oBAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACtC,SAAS,EACT,EAAE,CACH,CACF;oBACD,oBAAO,CAAC,yBAAyB,CAC/B,oBAAO,CAAC,oBAAoB,CAC1B,oBAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAC3C,SAAS,EACT;wBACE,oBAAO,CAAC,6BAA6B,CACnC;4BACE,oBAAO,CAAC,wBAAwB,CAC9B,0BAA0B,EAC1B,oBAAO,CAAC,8BAA8B,CACpC,oBAAO,CAAC,8BAA8B,CACpC,oBAAO,CAAC,gBAAgB,CACtB,QAAQ,CACT,EACD,oBAAO,CAAC,gBAAgB,CACtB,UAAU,CACX,CACF,EACD,oBAAO,CAAC,gBAAgB,CACtB,QAAQ,CACT,CACF,CACF;4BACD,oBAAO,CAAC,wBAAwB,CAC9B,kBAAkB,EAClB,oBAAO,CAAC,6BAA6B,CACnC;gCACE,oBAAO,CAAC,wBAAwB,CAC9B,cAAc,EACd,oBAAO,CAAC,8BAA8B,CACpC,oBAAO,CAAC,8BAA8B,CACpC,oBAAO,CAAC,gBAAgB,CACtB,QAAQ,CACT,EACD,oBAAO,CAAC,gBAAgB,CACtB,UAAU,CACX,CACF,EACD,oBAAO,CAAC,gBAAgB,CACtB,QAAQ,CACT,CACF,CACF;gCACD,oBAAO,CAAC,wBAAwB,CAC9B,eAAe,EACf,oBAAO,CAAC,mBAAmB,CACzB,MAAM,CACP,CACF;6BACF,EACD,IAAI,CACL,CACF;yBACF,EACD,IAAI,CACL;qBACF,CACF,CACF;oBACD,oBAAO,CAAC,yBAAyB,CAC/B,oBAAO,CAAC,oBAAoB,CAC1B,oBAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAC3C,SAAS,EACT,EAAE,CACH,CACF;iBACF,EACD,IAAI,CACL,CACF,CACF,CACF;aACF,CAAC,CACH,EACD,CAAC,oBAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,EACnC,oBAAO,CAAC,uBAAuB,CAC7B,oBAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACnC,CACF;SACF,EACD,oBAAO,CAAC,uBAAuB,CAAC,oBAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CACjE,CACF,CACF,CACF;KACF,EACD,oBAAO,CAAC,uBAAuB,CAAC,oBAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CACjE,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,IAAgB,EAAE,EAAE,CAC1C,oBAAO,CAAC,gBAAgB,CACtB,IAAI,CAAC,cAAc,EACnB,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAC5B,IAAI,CAAC,cAAc,CACpB,CAAC;IAEJ,IAAA,aAAO,EACL,IAAI,EACJ,gBAAgB,EAChB,kDAAkD,EAClD,cAAc,CACf,CAAC;AACJ,CAAC"}