@payfit/nx-core 4.33.3-ephemeral-feature-customize-helm-folder-2ec8ca9.0 → 4.33.3

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": "@payfit/nx-core",
3
- "version": "4.33.3-ephemeral-feature-customize-helm-folder-2ec8ca9.0",
3
+ "version": "4.33.3",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
@@ -11,8 +11,7 @@ const tsh_1 = require("../../utils/tsh");
11
11
  async function publishHelm(options, context, version, projectRoot, projectDist) {
12
12
  const env_1 = { stack: [], error: void 0, hasError: false };
13
13
  try {
14
- const helmChartFolder = options.helmChartFolder || '.deploy';
15
- const projectHelmFolder = `${projectRoot}/${helmChartFolder}`;
14
+ const projectHelmFolder = `${projectRoot}/.deploy`;
16
15
  const valuesConfigPath = `${projectHelmFolder}/values.yaml`;
17
16
  const chartConfigPath = `${projectHelmFolder}/Chart.yaml`;
18
17
  const destinationHelmFolder = `${projectDist}/chart/`;
@@ -20,7 +19,7 @@ async function publishHelm(options, context, version, projectRoot, projectDist)
20
19
  if (!gitBranchName)
21
20
  throw new Error('Unable to get current Git branch');
22
21
  if (!fs.existsSync(projectHelmFolder)) {
23
- logger_1.consola.warn(`${helmChartFolder} folder not found at ${projectHelmFolder}, skipping`);
22
+ logger_1.consola.warn(`.deploy folder not found at ${projectHelmFolder}, skipping`);
24
23
  return;
25
24
  }
26
25
  if (!options.chartRegistry) {
@@ -1 +1 @@
1
- {"version":3,"file":"helm.js","sourceRoot":"","sources":["../../../../../../packages/nx-core/src/executors/publisher/helm.ts"],"names":[],"mappings":";;AAoBA,kCAqEC;;AAzFD,8BAA6B;AAI7B,mDAAmD;AACnD,+CAAiE;AACjE,2CASyB;AACzB,+CAA4C;AAC5C,yCAA4D;AAGrD,KAAK,UAAU,WAAW,CAC/B,OAAiC,EACjC,OAAwB,EACxB,OAAe,EACf,WAAmB,EACnB,WAAmB;;;QAEnB,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,SAAS,CAAA;QAC5D,MAAM,iBAAiB,GAAG,GAAG,WAAW,IAAI,eAAe,EAAE,CAAA;QAC7D,MAAM,gBAAgB,GAAG,GAAG,iBAAiB,cAAc,CAAA;QAC3D,MAAM,eAAe,GAAG,GAAG,iBAAiB,aAAa,CAAA;QACzD,MAAM,qBAAqB,GAAG,GAAG,WAAW,SAAS,CAAA;QACrD,MAAM,aAAa,GAAG,MAAM,IAAA,qCAA4B,GAAE,CAAA;QAE1D,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;QAEvE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACtC,gBAAO,CAAC,IAAI,CACV,GAAG,eAAe,wBAAwB,iBAAiB,YAAY,CACxE,CAAA;YACD,OAAM;QACR,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3B,gBAAO,CAAC,KAAK,CACX,uGAAuG,CACxG,CAAA;YACD,OAAM;QACR,CAAC;QAED,MAAM,IAAA,uBAAY,GAAE,CAAA;QAEpB,gBAAO,CAAC,GAAG,CACT,4BAA4B,OAAO,CAAC,aAAa,IAAI,aAAa,iBAAiB,OAAO,EAAE,CAC7F,CAAA;QACD,8CAA8C;QAC9C,MAAM,SAAS,0CAAG,MAAM,IAAA,gCAA0B,GAAE,QAAA,CAAA;QACpD,MAAM,SAAS,CAAC,OAAO,EAAE,CAAA;QAEzB,gBAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACpC,MAAM,IAAA,sCAA+B,EAAC,iBAAiB,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QACxE,MAAM,IAAA,sBAAe,EAAC,iBAAiB,CAAC,CAAA;QACxC,MAAM,IAAA,oBAAa,EAAC,gBAAgB,EAAE,eAAe,EAAE,OAAO,CAAC,CAAA;QAC/D,MAAM,IAAA,kBAAW,EAAC,iBAAiB,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAA;QACpE,MAAM,IAAA,sCAA+B,EAAC,iBAAiB,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QACxE,gBAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;QAEvC,MAAM,WAAW,GAAG,MAAM,IAAA,uBAAgB,EAAC,iBAAiB,CAAC,CAAA;QAC7D,MAAM,qBAAqB,GAAG,GAAG,WAAW,CAAC,IAAI,IAAI,OAAO,MAAM,CAAA;QAClE,MAAM,qBAAqB,GAAG,GAAG,qBAAqB,GAAG,qBAAqB,EAAE,CAAA;QAEhF,gBAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;QACtC,8DAA8D;QAC9D,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,gBAAO,CAAC,GAAG,CACT,yCAAyC,OAAO,CAAC,cAAc,EAAE,CAClE,CAAA;YACD,MAAM,IAAA,0BAAmB,EAAC,qBAAqB,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;QAC1E,CAAC;aAAM,CAAC;YACN,+CAA+C;YAC/C,MAAM,IAAA,uBAAgB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,OAAO,CAAC,aAAa,EACrB,aAAa,CACd,CAAA;QACH,CAAC;QAED,gBAAO,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAA;;;;;;;;;CACtD"}
1
+ {"version":3,"file":"helm.js","sourceRoot":"","sources":["../../../../../../packages/nx-core/src/executors/publisher/helm.ts"],"names":[],"mappings":";;AAoBA,kCAkEC;;AAtFD,8BAA6B;AAI7B,mDAAmD;AACnD,+CAAiE;AACjE,2CASyB;AACzB,+CAA4C;AAC5C,yCAA4D;AAGrD,KAAK,UAAU,WAAW,CAC/B,OAAiC,EACjC,OAAwB,EACxB,OAAe,EACf,WAAmB,EACnB,WAAmB;;;QAEnB,MAAM,iBAAiB,GAAG,GAAG,WAAW,UAAU,CAAA;QAClD,MAAM,gBAAgB,GAAG,GAAG,iBAAiB,cAAc,CAAA;QAC3D,MAAM,eAAe,GAAG,GAAG,iBAAiB,aAAa,CAAA;QACzD,MAAM,qBAAqB,GAAG,GAAG,WAAW,SAAS,CAAA;QACrD,MAAM,aAAa,GAAG,MAAM,IAAA,qCAA4B,GAAE,CAAA;QAE1D,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;QAEvE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACtC,gBAAO,CAAC,IAAI,CAAC,+BAA+B,iBAAiB,YAAY,CAAC,CAAA;YAC1E,OAAM;QACR,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3B,gBAAO,CAAC,KAAK,CACX,uGAAuG,CACxG,CAAA;YACD,OAAM;QACR,CAAC;QAED,MAAM,IAAA,uBAAY,GAAE,CAAA;QAEpB,gBAAO,CAAC,GAAG,CACT,4BAA4B,OAAO,CAAC,aAAa,IAAI,aAAa,iBAAiB,OAAO,EAAE,CAC7F,CAAA;QACD,8CAA8C;QAC9C,MAAM,SAAS,0CAAG,MAAM,IAAA,gCAA0B,GAAE,QAAA,CAAA;QACpD,MAAM,SAAS,CAAC,OAAO,EAAE,CAAA;QAEzB,gBAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACpC,MAAM,IAAA,sCAA+B,EAAC,iBAAiB,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QACxE,MAAM,IAAA,sBAAe,EAAC,iBAAiB,CAAC,CAAA;QACxC,MAAM,IAAA,oBAAa,EAAC,gBAAgB,EAAE,eAAe,EAAE,OAAO,CAAC,CAAA;QAC/D,MAAM,IAAA,kBAAW,EAAC,iBAAiB,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAA;QACpE,MAAM,IAAA,sCAA+B,EAAC,iBAAiB,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QACxE,gBAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;QAEvC,MAAM,WAAW,GAAG,MAAM,IAAA,uBAAgB,EAAC,iBAAiB,CAAC,CAAA;QAC7D,MAAM,qBAAqB,GAAG,GAAG,WAAW,CAAC,IAAI,IAAI,OAAO,MAAM,CAAA;QAClE,MAAM,qBAAqB,GAAG,GAAG,qBAAqB,GAAG,qBAAqB,EAAE,CAAA;QAEhF,gBAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;QACtC,8DAA8D;QAC9D,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,gBAAO,CAAC,GAAG,CACT,yCAAyC,OAAO,CAAC,cAAc,EAAE,CAClE,CAAA;YACD,MAAM,IAAA,0BAAmB,EAAC,qBAAqB,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;QAC1E,CAAC;aAAM,CAAC;YACN,+CAA+C;YAC/C,MAAM,IAAA,uBAAgB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,OAAO,CAAC,aAAa,EACrB,aAAa,CACd,CAAA;QACH,CAAC;QAED,gBAAO,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAA;;;;;;;;;CACtD"}
@@ -4,5 +4,4 @@ export interface PublisherExecutorOptions {
4
4
  ecrRegistry: string
5
5
  ociEcrRegistry?: string
6
6
  isPublicRegistry?: boolean
7
- helmChartFolder?: string
8
7
  }
@@ -21,11 +21,6 @@
21
21
  "type": "boolean",
22
22
  "description": "Whether to use the public ECR registry",
23
23
  "default": false
24
- },
25
- "helmChartFolder": {
26
- "type": "string",
27
- "description": "The folder containing the Helm chart files (Chart.yaml, values.yaml, etc.)",
28
- "default": ".deploy"
29
24
  }
30
25
  },
31
26
  "required": []
@@ -22,7 +22,6 @@ references:
22
22
  install_packages: &install_packages
23
23
  check-cache: always
24
24
  pkg-manager: yarn-berry
25
-
26
25
  attach_workspace: &attach_workspace
27
26
  at: ~/project
28
27
  nx/set-shas: &nx_set_shas_option
@@ -35,23 +34,6 @@ references:
35
34
  only:
36
35
  - main
37
36
  - /^deploy.*/
38
-
39
-
40
- parameters:
41
- affected-list:
42
- description: Path to the file where the affected list of apps is generated
43
- type: string
44
- default: affected-list.txt
45
- shared-config:
46
- description: |
47
- Path to the config providing shared resources
48
- (such as prerequisite jobs and common commands)
49
- type: string
50
- default: .circleci/shared-config.yml
51
- continue-config:
52
- description: Path to the internally-used config for continuation
53
- type: string
54
- default: .circleci/continue-config.yml
55
37
  <% } %>
56
38
 
57
39
  jobs:
@@ -144,27 +126,26 @@ jobs:
144
126
  npx nx run <%= packageJsonName %>:release
145
127
 
146
128
  <% if (keepContinuationJobs) { %>
147
- continuation:
129
+ affected-merge-continuation:
148
130
  <<: *setup_env_node
149
- parameters:
150
- parameters:
151
- description: >-
152
- The parameters used for the pipeline. A path to a file containing
153
- a JSON object with parameters
154
- type: string
155
- default: << pipeline.parameters.parameters-file >>
156
- continue-config:
157
- description: Path to the internally-used config for continuation
158
- type: string
159
- default: << pipeline.parameters.continue-config >>
160
131
  steps:
161
132
  - checkout
162
- - attach_workspace: *attach_workspace
133
+ - node/install-packages: *install_packages
134
+ - nx/set-shas: *nx_set_shas_option
135
+ - payfit-nx/affected-apps:
136
+ output-file: affected-list.txt
137
+ main-branch-name: main
138
+ allow-on-hold-workflow: true
139
+ nx-ci-execution-id: $CIRCLE_WORKFLOW_ID
140
+ - payfit-nx/merge-circle-config:
141
+ shared-config-file: .circleci/shared-config.yml
142
+ affected-list-file: affected-list.txt
143
+ config-output: .circleci/continue-config.yml
163
144
  - run:
164
145
  name: skip if no affected-apps
165
146
  command: |
166
147
  # If `affected-apps` is unavailable, stop this job without continuation
167
- if [ ! -f "<< parameters.continue-config >>" ] || [ ! -s "<< parameters.continue-config >>" ]
148
+ if [ ! -f ".circleci/continue-config.yml" ] || [ ! -s ".circleci/continue-config.yml" ]
168
149
  then
169
150
  echo 'No affected apps, nothing to do.'
170
151
  circleci-agent step halt
@@ -175,7 +156,7 @@ jobs:
175
156
  command: |
176
157
  echo "{\"workflow-id\": \"$CIRCLE_WORKFLOW_ID\"}" > parameters.json
177
158
  - continuation/continue:
178
- configuration_path: << parameters.continue-config >>
159
+ configuration_path: .circleci/continue-config.yml
179
160
  parameters: parameters.json
180
161
  <% } %>
181
162
 
@@ -253,30 +234,11 @@ workflows:
253
234
  <% } %>
254
235
 
255
236
  <% if (keepContinuationJobs) { %>
256
- - payfit-nx/affected-apps:
257
- name: affected-apps
258
- output-file: << pipeline.parameters.affected-list >>
259
- main-branch-name: main
260
- allow-on-hold-workflow: true
261
- nx-ci-execution-id: $CIRCLE_WORKFLOW_ID
262
- context: GLOBAL_ORG
263
- requires:
264
- - install_packages
265
- filters: *only_main_and_deploy_branches
266
-
267
- - payfit-nx/merge-circle-config:
268
- name: merge-configs
269
- shared-config-file: << pipeline.parameters.shared-config >>
270
- affected-list-file: << pipeline.parameters.affected-list >>
271
- config-output: << pipeline.parameters.continue-config >>
272
- requires:
273
- - affected-apps
274
- filters: *only_main_and_deploy_branches
275
-
276
- - continuation:
237
+ - affected-merge-continuation:
277
238
  requires:
278
239
  - build
279
240
  - test
280
241
  context:
281
242
  - NX_COMMON_PACKAGES # TSH config / AWS credentials / NPM token
243
+ filters: *only_main_and_deploy_branches
282
244
  <% } %>
package/src/index.js CHANGED
@@ -14,9 +14,7 @@ async function createNodesInternal(configFilePath, options, context) {
14
14
  const projectConfiguration = (0, devkit_1.readJsonFile)(configFilePath);
15
15
  const projectRoot = (0, path_1.dirname)(configFilePath);
16
16
  const isDockerProject = (0, fs_1.existsSync)((0, path_1.join)(projectRoot, 'Dockerfile'));
17
- // Get the Helm chart folder from metadata, default to .deploy
18
- const helmChartFolder = projectConfiguration.metadata?.helmChartFolder || '.deploy';
19
- const isHelmProject = (0, fs_1.existsSync)((0, path_1.join)(projectRoot, helmChartFolder, 'Chart.yaml'));
17
+ const isHelmProject = (0, fs_1.existsSync)((0, path_1.join)(projectRoot, '.deploy/Chart.yaml'));
20
18
  const targets = {};
21
19
  const ecrRegistry = isDockerProject
22
20
  ? projectConfiguration.metadata &&
@@ -40,7 +38,6 @@ async function createNodesInternal(configFilePath, options, context) {
40
38
  ecrRegistry,
41
39
  chartRegistry,
42
40
  isPublicRegistry,
43
- helmChartFolder,
44
41
  },
45
42
  metadata: {
46
43
  technologies: ['helm', 'docker'],
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/nx-core/src/index.ts"],"names":[],"mappings":";;;AAAA,2BAA+B;AAC/B,+BAAoC;AAEpC,uCAKmB;AAKN,QAAA,aAAa,GAAmC;IAC3D,iBAAiB;IACjB,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACtC,OAAO,MAAM,IAAA,6BAAoB,EAC/B,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAC/B,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,EACnD,WAAW,EACX,OAAO,EACP,OAAO,CACR,CAAA;IACH,CAAC;CACF,CAAA;AAED,KAAK,UAAU,mBAAmB,CAChC,cAAsB,EACtB,OAAwB,EACxB,OAA6B;IAE7B,MAAM,oBAAoB,GAAG,IAAA,qBAAY,EAAC,cAAc,CAAC,CAAA;IACzD,MAAM,WAAW,GAAG,IAAA,cAAO,EAAC,cAAc,CAAC,CAAA;IAE3C,MAAM,eAAe,GAAG,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAA;IAEnE,8DAA8D;IAC9D,MAAM,eAAe,GACnB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,IAAI,SAAS,CAAA;IAC7D,MAAM,aAAa,GAAG,IAAA,eAAU,EAC9B,IAAA,WAAI,EAAC,WAAW,EAAE,eAAe,EAAE,YAAY,CAAC,CACjD,CAAA;IAED,MAAM,OAAO,GAAG,EAAE,CAAA;IAElB,MAAM,WAAW,GAAG,eAAe;QACjC,CAAC,CAAC,oBAAoB,CAAC,QAAQ;YAC7B,oBAAoB,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC9C,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,aAAa,GAAG,aAAa;QACjC,CAAC,CAAC,oBAAoB,CAAC,QAAQ;YAC7B,oBAAoB,CAAC,QAAQ,CAAC,eAAe,CAAC;QAChD,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,gBAAgB,GAAG,eAAe;QACtC,CAAC,CAAC,oBAAoB,CAAC,QAAQ;YAC7B,oBAAoB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,IAAI;QAC3D,CAAC,CAAC,KAAK,CAAA;IAET,IAAI,OAAO,GAAG,IAAI,CAAA;IAElB,IAAI,aAAa,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,eAAe,GAAG,IAAA,qBAAY,EAClC,IAAA,WAAI,EAAC,SAAS,EAAE,kCAAkC,CAAC,CACpD,CAAA;QACD,OAAO,CAAC,oBAAoB,CAAC,GAAG;YAC9B,iFAAiF;YACjF,QAAQ,EAAE,2BAA2B;YACrC,OAAO,EAAE;gBACP,WAAW;gBACX,aAAa;gBACb,gBAAgB;gBAChB,eAAe;aAChB;YACD,QAAQ,EAAE;gBACR,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;gBAChC,WAAW,EAAE,eAAe,CAAC,WAAW;aACzC;SACF,CAAA;QACD,IAAI,CAAC,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;YAC5D,OAAO,GAAG;gBACR,4DAA4D;gBAC5D,OAAO,EAAE;oBACP,cAAc,EAAE,gCAAgC;iBACjD;aACF,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ,EAAE;YACR,CAAC,WAAW,CAAC,EAAE;gBACb,GAAG,oBAAoB;gBACvB,OAAO;gBACP,OAAO;aACR;SACF;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/nx-core/src/index.ts"],"names":[],"mappings":";;;AAAA,2BAA+B;AAC/B,+BAAoC;AAEpC,uCAKmB;AAKN,QAAA,aAAa,GAAmC;IAC3D,iBAAiB;IACjB,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACtC,OAAO,MAAM,IAAA,6BAAoB,EAC/B,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAC/B,mBAAmB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,EACnD,WAAW,EACX,OAAO,EACP,OAAO,CACR,CAAA;IACH,CAAC;CACF,CAAA;AAED,KAAK,UAAU,mBAAmB,CAChC,cAAsB,EACtB,OAAwB,EACxB,OAA6B;IAE7B,MAAM,oBAAoB,GAAG,IAAA,qBAAY,EAAC,cAAc,CAAC,CAAA;IACzD,MAAM,WAAW,GAAG,IAAA,cAAO,EAAC,cAAc,CAAC,CAAA;IAE3C,MAAM,eAAe,GAAG,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAA;IACnE,MAAM,aAAa,GAAG,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAA;IAEzE,MAAM,OAAO,GAAG,EAAE,CAAA;IAElB,MAAM,WAAW,GAAG,eAAe;QACjC,CAAC,CAAC,oBAAoB,CAAC,QAAQ;YAC7B,oBAAoB,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC9C,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,aAAa,GAAG,aAAa;QACjC,CAAC,CAAC,oBAAoB,CAAC,QAAQ;YAC7B,oBAAoB,CAAC,QAAQ,CAAC,eAAe,CAAC;QAChD,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,gBAAgB,GAAG,eAAe;QACtC,CAAC,CAAC,oBAAoB,CAAC,QAAQ;YAC7B,oBAAoB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,IAAI;QAC3D,CAAC,CAAC,KAAK,CAAA;IAET,IAAI,OAAO,GAAG,IAAI,CAAA;IAElB,IAAI,aAAa,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,eAAe,GAAG,IAAA,qBAAY,EAClC,IAAA,WAAI,EAAC,SAAS,EAAE,kCAAkC,CAAC,CACpD,CAAA;QACD,OAAO,CAAC,oBAAoB,CAAC,GAAG;YAC9B,iFAAiF;YACjF,QAAQ,EAAE,2BAA2B;YACrC,OAAO,EAAE;gBACP,WAAW;gBACX,aAAa;gBACb,gBAAgB;aACjB;YACD,QAAQ,EAAE;gBACR,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;gBAChC,WAAW,EAAE,eAAe,CAAC,WAAW;aACzC;SACF,CAAA;QACD,IAAI,CAAC,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;YAC5D,OAAO,GAAG;gBACR,4DAA4D;gBAC5D,OAAO,EAAE;oBACP,cAAc,EAAE,gCAAgC;iBACjD;aACF,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ,EAAE;YACR,CAAC,WAAW,CAAC,EAAE;gBACb,GAAG,oBAAoB;gBACvB,OAAO;gBACP,OAAO;aACR;SACF;KACF,CAAA;AACH,CAAC"}