@intentius/sql-yodeler 0.5.2 → 0.5.4

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.
Files changed (42) hide show
  1. package/README.md +12 -6
  2. package/dist/brand.d.ts +13 -0
  3. package/dist/brand.js +15 -0
  4. package/dist/brand.js.map +1 -0
  5. package/dist/chant/runnable.d.ts +7 -0
  6. package/dist/chant/runnable.js +10 -0
  7. package/dist/chant/runnable.js.map +1 -1
  8. package/dist/ci/render.d.ts +7 -3
  9. package/dist/ci/render.js +36 -14
  10. package/dist/ci/render.js.map +1 -1
  11. package/dist/commands/apply.js +47 -17
  12. package/dist/commands/apply.js.map +1 -1
  13. package/dist/commands/approve.js +2 -2
  14. package/dist/commands/approve.js.map +1 -1
  15. package/dist/commands/ci.js +5 -0
  16. package/dist/commands/ci.js.map +1 -1
  17. package/dist/commands/init.js +26 -9
  18. package/dist/commands/init.js.map +1 -1
  19. package/dist/commands/override.js +2 -2
  20. package/dist/commands/override.js.map +1 -1
  21. package/dist/commands/revert.js +21 -3
  22. package/dist/commands/revert.js.map +1 -1
  23. package/dist/config/define.d.ts +16 -0
  24. package/dist/config/define.js +7 -0
  25. package/dist/config/define.js.map +1 -1
  26. package/dist/config/load.js +16 -5
  27. package/dist/config/load.js.map +1 -1
  28. package/dist/credentials.d.ts +23 -0
  29. package/dist/credentials.js +69 -0
  30. package/dist/credentials.js.map +1 -1
  31. package/dist/exit.d.ts +1 -1
  32. package/dist/exit.js +2 -2
  33. package/dist/exit.js.map +1 -1
  34. package/dist/mcp/server.js +1 -1
  35. package/dist/mcp/server.js.map +1 -1
  36. package/dist/mcp/tools.js +1 -1
  37. package/dist/mcp/tools.js.map +1 -1
  38. package/dist/report/render.js +4 -1
  39. package/dist/report/render.js.map +1 -1
  40. package/dist/schema-docs/render.js +4 -1
  41. package/dist/schema-docs/render.js.map +1 -1
  42. package/package.json +1 -1
package/README.md CHANGED
@@ -1,8 +1,10 @@
1
+ <p align="center"><img src="docs-site/public/brand/hat-160.png" width="160" height="148" alt="SQL Yodeler's logo, a pixel-art cowboy hat with a database on it"></p>
2
+
1
3
  # SQL Yodeler
2
4
 
3
5
  Schema management and migrations for ClickHouse and Postgres, on chant's `sql` lexicon.
4
6
 
5
- SQL Yodeler is built on [chant](https://www.npmjs.com/package/@intentius/chant), a declarative infrastructure-as-code toolkit in TypeScript. You need chant's CLI (`@intentius/chant` on npm) for three things only: `chant init` to make a project from a template, `chant approve` to approve a plan, and `chant emulator up` for a local database. Run it as `npx @intentius/chant@latest` before the project exists, and as `npx chant` inside it, where `npm install` put it.
7
+ SQL Yodeler is built on [chant](https://intentius.io/chant/), a declarative infrastructure-as-code toolkit in TypeScript. You need chant's CLI (`@intentius/chant` on npm) for two things only: `chant init` to make a project from a template, and `chant emulator up` for a local database. Run the CLI as `npx @intentius/chant@latest` before the project exists, and as `npx chant` inside it, where `npm install` put it. You approve a plan with `yodel approve`, which records chant's approval for you.
6
8
 
7
9
  ## Getting started
8
10
 
@@ -12,14 +14,18 @@ SQL Yodeler is built on [chant](https://www.npmjs.com/package/@intentius/chant),
12
14
  npx @intentius/chant@latest init --from INTENTIUS/sql-yodeler@main#templates/clickhouse --param name=events-schema --param database=events my-schema
13
15
  cd my-schema && npm install && git init -b main && git add -A && git commit -m "chore: a new yodel project"
14
16
  npx chant emulator up --lexicon sql # ClickHouse and Postgres in Docker
15
- export DEV_CLICKHOUSE_READER_USER=default DEV_CLICKHOUSE_READER_PASSWORD= DEV_CLICKHOUSE_WRITER_USER=default DEV_CLICKHOUSE_WRITER_PASSWORD=
17
+ curl -s http://127.0.0.1:8123 --data-binary "CREATE USER IF NOT EXISTS reader IDENTIFIED WITH no_password SETTINGS readonly = 1"
18
+ curl -s http://127.0.0.1:8123 --data-binary "GRANT SELECT, SHOW ON *.* TO reader"
19
+ export DEV_CLICKHOUSE_READER_USER=reader DEV_CLICKHOUSE_READER_PASSWORD= DEV_CLICKHOUSE_WRITER_USER=default DEV_CLICKHOUSE_WRITER_PASSWORD=
16
20
  npx yodel new init && npx yodel lint
17
21
  git add -A && git commit -m "feat: the first migration"
18
- npx yodel apply dev # stops at the approval
19
- npx chant approve migrate-dev approve-migrate-dev --plan "$(npx yodel apply dev --digest)"
20
- npx yodel apply dev
22
+ YODEL_CREDENTIALS=writer npx yodel apply dev # stops at the approval
23
+ npx yodel approve dev # shows the plan; type dev to approve
24
+ YODEL_CREDENTIALS=writer npx yodel apply dev
21
25
  ```
22
26
 
27
+ yodel refuses an environment whose reader and writer are one user, so dev reads with a read-only user, `reader`, and applies with the emulator's `default` user, picked by `YODEL_CREDENTIALS=writer`. The template's `just up` makes the reader and prints these variables for a `.env` file, and `just apply` sets the writer.
28
+
23
29
  For Postgres, use `templates/postgres` with `--param name=app-schema --param schema=app`.
24
30
 
25
31
  Each template gives `chant.config.ts` with a profile per environment (`dev`, `prod`), `yodel.config.ts`, a migrate Op per environment (`yodel apply` behind a gate bound to the plan digest), a `WatchOp` per environment for drift on a schedule, and pipelines for GitHub Actions, GitLab CI and Forgejo Actions: `yodel lint` and the plan comment on pull requests with read-only credentials, `yodel apply` on a push to main with the writer, and the drift watch on its cron with the reader. `yodel ci` (`npm run ci`) renders the pipelines from the installed package, so upgrading yodel and rendering again brings its pipeline fixes, and the project's own jobs, declared in a module `yodel.config.ts` `ci.jobs` names, are kept. The parameters are in each template's `chant.template.json`; the template's README covers the credentials and each forge's setup.
@@ -85,7 +91,7 @@ export const op = Op({
85
91
  });
86
92
  ```
87
93
 
88
- `yodel apply prod` stops at the gate and prints `chant approve migrate-prod approve-migrate-prod --plan <digest>`; approve (inside the project, `npx chant approve ...`), then run it again. `yodel apply prod --plan` prints the pending migrations and the digest without applying. Running `chant run migrate-prod` directly needs `yodel` on PATH.
94
+ `yodel apply prod` stops at the gate; approve at a terminal with `npx yodel approve prod`, then run it again. A script, which has no terminal to ask, runs the `chant approve migrate-prod approve-migrate-prod --plan <digest>` command that `yodel apply` prints instead. `yodel apply prod --plan` prints the pending migrations and the digest without applying. Running `chant run migrate-prod` directly needs `yodel` on PATH.
89
95
 
90
96
  ## yodel lint
91
97
 
@@ -0,0 +1,13 @@
1
+ /**
2
+ * SQL Yodeler's logo, the pixel-art hat, for the pages yodel writes (yodel
3
+ * report --html and yodel docs). The 78x72 art is inlined as a PNG data URI so
4
+ * each page stays one self-contained file. Shown at its own size with
5
+ * image-rendering: pixelated, each art pixel stays a sharp square.
6
+ */
7
+ export declare const HAT_PNG = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE4AAABICAYAAABY88MAAAAJOElEQVR42u2cYWgb5xnH/9JOcaARppaWaG5moclGZcpQ7KQ1DOaQhcVgYvphjosT2HDmpWyw0n4phdKOrISGfNhGu7m0lKgdjb06aQi4CzjgjYouLAU7FUtYNMnzHJpNDpKyVB6JK+HbB+k5v/fqPelO1p1kZQ8Iy6fT6fS7//O8z/s878mGBrDxoaA8n0gDAN75LGnDJjBbI0AbHj2AaCSKyZkYktkcAMDjdDQ0RHsjQAOA2EJKgQYAyWwOh/wu+f+KKwMtGokCAH51/rrm/h8tpG3ljgUA5O5WuHzdFBfwuw3tf8jvklkFjg8F5fGhoJz6w7PKBejpdCmqNVuttnqrjSwaiZZVHGsD3R6wao0tpAAAl64lDSl1IyY1UtwY6Pbgg0+X4XRoi+Xd148qz6fCsyAXZeNj0w4OvNp4983mbEKoImiXriURz+SF7zHTZaV6uGm517vaJCSzOQXE00/uKAFN0D74dFkVbbI5W1m1NpWrToVnEfC7EeoLIRqJYqQ/gMmZGAY6XUJlqqFVNi0lbjpwIhixhRRCfUCoL6RsY5+zwBrFpHq6KeVvBIagEjQRLL1Ka2pXpTSiVqqyKr7Vfcq1mc1upZuy8Y11U702n0jj6Sd3NIQKpWZSgcfpKNmWzOawr8Mtf3wrZWsKV+XjmxHTqzqaTdQamqXgWDc1I7XoapMsy+EsA1dptmA0zulRXTyTb65R1epE1izV2a1201qalupYtZk1qtqtdNNqUhDWRXs6XcLYJopvTaE41qh0xP+tFh7/v9mxzfI8jlWbXnh8yiJSHG2fT6RLoDkd8uatjlSCMp9I4433OvCzH95SgQj43Qj43cp+WtCsVpol4MaHgjJfHiIQY6e/Cfn+bYzmH4FdkvDbs99Q7beWv4/wq/99uOeqrJteupbEj060Qr5/u3ACklQElVc9AGD05UdULb+HDhyrutNH/oOW4JWSwGOXJAUia2+81yHsXtVrcm8JuIDfrVIbuelKxCeL4JHSeDt3wY8Ts3cbBpqp4Nj4RvDY6u2X/zgstwSv2FqCV2zZf+4VHuMrTi8Wz89h8fwcnmhbNTRbMHOeavrgUCnhXYn4itKYRq4Yyrbs3ItE+EJxj7mHe3Agu5ndgv2/2YEtO/dq7rMObd1+Of3VssetRx/CNHDDowdKOlUA8O3xCL6+58+GjjW9ZBcWKesV30xzVZqf8q66EjyKuegybrw/hEe/ex2AT3lt+XeLAICO73XA/9Rq1Z9tVVPaFHDziTSGi2kIC096rKDAH3/xLA6+pn7Pjh8cX9/v4DHkb0eBz+ew7d5NRXU9ncYVl3mwiXoOI/0B4fb81TOA71Xl/z9e/Mv6ifQeQ6uvoMD0JxdV0B4cPA0AOHH5Bfz8wKOG3LNt6yapjozt9sii2EaW/v3Lmq/dW1zEvcVF1baWZ86h1ecrKLCZR1V2Ms666ZG345B6jwEArvy0T6U2M83pkPGt7bVfsSSxAX0+kd7wElC22htbSKmqI/nbURx87W0FHgCstD6uuCpr5Karbx1GyzPnNvQlzXBXiaANjx5AoKAQGTBnDa30WAhz0WUlbrX6fGgRuPC2ezexEjyqxLnVtw5jGyCMb7TUq1ycM6M9KJFKpsKzqkRybLdHNgpvbLdH8+wHvWs4B2BPqNAnuPzJRaTZuLVzD/D53LoKmcHhibZVDHR7GiINUWKc1peNZ/IbXs3IuulIfwBbL7+gKE5oO/eo876iGxvJ4SwfHLQ6UUbgnTo5rBoYYgspVfl74ngXfBNPKfGtkpHiGhGerjzukN8lV1q9zTedCRhfOn9lJIjJmRiu/v0M7uRaSmYWLKxB7xqS2VxFN9WCZ6brSnrjRiV4NFvgTQRwpD+AkeLzyZmYsj357zPweB3C1Kbayb3eOa5Rs1FQJzf7/k8mymbmWvDYY7D3HlSKfVqmZ1FOJXDUb41n8rB8tRIvd1HM29fh1nRT9lEJCm3fyEomyweHF1+aUmKQ0yGXjQ9aA8ZUeFZZGyJSFQ+wWqU1gkmU7FJaEuoLAcVbg/TA+2ghbetqkxDP5BEvuk5Xm6R0p/g7Xp4f2qUJj+2jbhrFsapj72ApF3Q9Tgf2dbhlNojzsGm/54d2YSlbuDDsoxpVNozieNUZycRvZrfo+qDJmZiSfrCTfxYe3Szyi8kbAGB4va/eUpMpgwOp7sM3j+g+CDu68cM/mxRvd5RWdlmI84k0ngtfxysjQQWakbaglplRzFTlcbzqBro9uHQtqcDg72D2OB0Y9K4hnhFf5av/Et/RF+oLqdKeD4uV4uklOwa9DtUt5kCL6sJUgqBKqjNKVc+aehypjqZh7H3y9Bjo9qCn04XpJfuGrii9lx8U3n39aMXk9U6upeQhMpHSaw6OKiLsQEFfYKQ/oDwoiE8c70JvuwNOh4ylrFplve0O5TgA8Kew9qBj5hoRLaB6qjqGplzksi++NIVTJ4dx6uSwCgBv1GOYnImhp9OFNyNJ5YQHvWtCt+VjaEG9d2sGg1fcMjOnpotE2cB8Il0Cj0KRVmnNVulKsMGdRj29NjkTw/SSXTl5r7OQx/Hxjo59YvauAhoodLa2O1ZVFVxybSPgUCyC8nkiXWDeetvVISKZzZVMNSvO38Z2e+TxC9/BF3/7WlXw+Im8SH2/Ht2F2EJKCO5x55fCmKgH3KB3raTj9lz4uqFzJ4g8PF0TX5Ixqa8aeOVAsqC0jADqATdxvEs3qHL9CHbQ6213qODprhgc8rtkj9NRUqyspWkBpQpHuWT7xvtDiEaiqiY4D42HlHkg62rkEEAWXlU9BTPh6QVKwZs/n/2jZw0pSm8HjIX3zmdJm+EaFcHr4e6ZtwIgG9j5e8PYQK9XRUbbhpkHMnrbHYhn8tX/YItIfWZD5IsCvLr0Qtvo9K1tq23jv3TD5j+1hiiqntQDling9ALkYfIrmcqtN9k/elaBQ7HGSlg8OK/TpN9WEk1hKsHkwVJpib/SVEiwsofKn8PHt1I2Sz5day7IV4dFMLTqalaDo7m4peDK5YblYLBuySajIjfVU6Gp1r0JGgD89Y7BBLiRbF+HWyZQXmfp6/QlawWRPougbVpwWjDZ4K1l2ZxNM4cT3W0ogtZU4LRUSW5OoPT0IljF8sCaHpweN+ehkunp+v8PIxvXuwMpJrUAAAAASUVORK5CYII=";
8
+ /** The favicon link a page's head carries. */
9
+ export declare const HAT_ICON = "<link rel=\"icon\" type=\"image/png\" href=\"data:image/png;base64,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\">";
10
+ /** The hat beside a page's heading; decorative, since the heading names the page. */
11
+ export declare const HAT_IMG = "<img class=\"hat\" src=\"data:image/png;base64,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\" width=\"78\" height=\"72\" alt=\"\">";
12
+ /** CSS for a heading that leads with the hat. */
13
+ export declare const HAT_CSS = "h1.brand{display:flex;align-items:center;gap:12px}.hat{image-rendering:pixelated;flex:none}";
package/dist/brand.js ADDED
@@ -0,0 +1,15 @@
1
+ // Written by scripts/brand.py; run it again rather than editing this file.
2
+ /**
3
+ * SQL Yodeler's logo, the pixel-art hat, for the pages yodel writes (yodel
4
+ * report --html and yodel docs). The 78x72 art is inlined as a PNG data URI so
5
+ * each page stays one self-contained file. Shown at its own size with
6
+ * image-rendering: pixelated, each art pixel stays a sharp square.
7
+ */
8
+ export const HAT_PNG = "data:image/png;base64,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";
9
+ /** The favicon link a page's head carries. */
10
+ export const HAT_ICON = `<link rel="icon" type="image/png" href="${HAT_PNG}">`;
11
+ /** The hat beside a page's heading; decorative, since the heading names the page. */
12
+ export const HAT_IMG = `<img class="hat" src="${HAT_PNG}" width="78" height="72" alt="">`;
13
+ /** CSS for a heading that leads with the hat. */
14
+ export const HAT_CSS = "h1.brand{display:flex;align-items:center;gap:12px}.hat{image-rendering:pixelated;flex:none}";
15
+ //# sourceMappingURL=brand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand.js","sourceRoot":"","sources":["../src/brand.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,grGAAgrG,CAAC;AAExsG,8CAA8C;AAC9C,MAAM,CAAC,MAAM,QAAQ,GAAG,2CAA2C,OAAO,IAAI,CAAC;AAE/E,qFAAqF;AACrF,MAAM,CAAC,MAAM,OAAO,GAAG,yBAAyB,OAAO,kCAAkC,CAAC;AAE1F,iDAAiD;AACjD,MAAM,CAAC,MAAM,OAAO,GAAG,6FAA6F,CAAC"}
@@ -17,3 +17,10 @@ export declare function onPath(name: string, env?: NodeJS.ProcessEnv): boolean;
17
17
  export declare function installedLocally(name: string, dir: string): boolean;
18
18
  /** `command` as a person can run it in `projectDir`: prefixed with `npx ` when its tool is installed there but not on PATH. */
19
19
  export declare function runnable(command: string, projectDir: string, env?: NodeJS.ProcessEnv): string;
20
+ /**
21
+ * A command that writes, as a person can run it in `projectDir` (#159):
22
+ * {@link runnable}, after `YODEL_CREDENTIALS=writer:<env> ` when `profile`
23
+ * has a reader and a writer of its own, so the printed command does not run
24
+ * as the reader.
25
+ */
26
+ export declare function runnableAsWriter(command: string, projectDir: string, profile: unknown, env?: NodeJS.ProcessEnv): string;
@@ -9,6 +9,7 @@
9
9
  */
10
10
  import { accessSync, constants } from "node:fs";
11
11
  import { delimiter, dirname, join } from "node:path";
12
+ import { writerPrefix } from "../credentials.js";
12
13
  const executable = (path) => {
13
14
  try {
14
15
  accessSync(path, constants.X_OK);
@@ -44,4 +45,13 @@ export function runnable(command, projectDir, env = process.env) {
44
45
  return command;
45
46
  return `npx ${command}`;
46
47
  }
48
+ /**
49
+ * A command that writes, as a person can run it in `projectDir` (#159):
50
+ * {@link runnable}, after `YODEL_CREDENTIALS=writer:<env> ` when `profile`
51
+ * has a reader and a writer of its own, so the printed command does not run
52
+ * as the reader.
53
+ */
54
+ export function runnableAsWriter(command, projectDir, profile, env = process.env) {
55
+ return `${writerPrefix(profile)}${runnable(command, projectDir, env)}`;
56
+ }
47
57
  //# sourceMappingURL=runnable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runnable.js","sourceRoot":"","sources":["../../src/chant/runnable.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAErD,MAAM,UAAU,GAAG,CAAC,IAAY,EAAW,EAAE;IAC3C,IAAI,CAAC;QACH,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,MAAyB,OAAO,CAAC,GAAG;IACvE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;SACpB,KAAK,CAAC,SAAS,CAAC;SAChB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACzG,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,GAAW;IACxD,KAAK,IAAI,CAAC,GAAG,GAAG,GAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACnE,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IACrC,CAAC;AACH,CAAC;AAED,+HAA+H;AAC/H,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,UAAkB,EAAE,MAAyB,OAAO,CAAC,GAAG;IAChG,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC;QAAE,OAAO,OAAO,CAAC;IAC9G,OAAO,OAAO,OAAO,EAAE,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"runnable.js","sourceRoot":"","sources":["../../src/chant/runnable.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,UAAU,GAAG,CAAC,IAAY,EAAW,EAAE;IAC3C,IAAI,CAAC;QACH,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,MAAyB,OAAO,CAAC,GAAG;IACvE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;SACpB,KAAK,CAAC,SAAS,CAAC;SAChB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACzG,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,GAAW;IACxD,KAAK,IAAI,CAAC,GAAG,GAAG,GAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACnE,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IACrC,CAAC;AACH,CAAC;AAED,+HAA+H;AAC/H,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,UAAkB,EAAE,MAAyB,OAAO,CAAC,GAAG;IAChG,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC;QAAE,OAAO,OAAO,CAAC;IAC9G,OAAO,OAAO,OAAO,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,UAAkB,EAAE,OAAgB,EAAE,MAAyB,OAAO,CAAC,GAAG;IAC1H,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC;AACzE,CAAC"}
@@ -19,6 +19,10 @@
19
19
  * The apply pipeline's waves are yodel.config.ts `waves`, in order; without
20
20
  * it, one wave per environment in profile order, each with gate `always`.
21
21
  *
22
+ * yodel.config.ts `ci.apply: false` (#175) leaves out the apply pipeline and
23
+ * the waves spec on every forge: the pull request checks and the watches
24
+ * remain, and no job holds a writer.
25
+ *
22
26
  * Three pipelines per forge, each declared with chant: yodel-pr with the
23
27
  * github lexicon's Workflow, Job and Step (Forgejo renders the same
24
28
  * declaration through the forgejo lexicon's dialect) and the gitlab
@@ -68,7 +72,7 @@
68
72
  * in that image instead, which carries node, yodel, chant and the lexicons
69
73
  * on PATH, and no job runs `npm ci` ({@link Toolchain}).
70
74
  */
71
- import { type ApprovalMode, type CiLogin } from "../config/define.js";
75
+ import { type ApprovalMode, type CiLogin, type WaveGate } from "../config/define.js";
72
76
  import { type CloudToken, type Role } from "../credentials.js";
73
77
  import type { Declarable } from "@intentius/chant/declarable";
74
78
  export type Forge = "github" | "gitlab" | "forgejo";
@@ -127,6 +131,8 @@ export interface Environments {
127
131
  credentials?: Record<string, EnvCredentials>;
128
132
  /** yodel.config.ts `ci.login` (#132): the cloud login a job runs before yodel when a role it holds is cloud-minted. */
129
133
  login?: CiLogin;
134
+ /** yodel.config.ts `ci.apply: false` (#175): no apply pipeline, so no job holds a writer. */
135
+ apply?: false;
130
136
  }
131
137
  /** What a job holding one role of an environment needs: the variables it reads, and the cloud identity its token source mints from. */
132
138
  export interface RoleNeeds {
@@ -233,8 +239,6 @@ export declare function actionsReview(forge: Actions, envs_: Environments): Rend
233
239
  export declare const GITLAB_WATCH_FILE = ".gitlab/yodel-watch.gitlab-ci.yml";
234
240
  export declare const GITLAB_APPLY_FILE = ".gitlab/yodel-apply.gitlab-ci.yml";
235
241
  export declare function gitlabPipeline(envs_: Environments): RenderedFile;
236
- /** When a wave waits for an approval; yodel.config.ts `waves[].gate`. */
237
- export type WaveGate = "always" | "on-destructive" | "never";
238
242
  export interface Wave {
239
243
  env: string;
240
244
  gate: WaveGate;
package/dist/ci/render.js CHANGED
@@ -19,6 +19,10 @@
19
19
  * The apply pipeline's waves are yodel.config.ts `waves`, in order; without
20
20
  * it, one wave per environment in profile order, each with gate `always`.
21
21
  *
22
+ * yodel.config.ts `ci.apply: false` (#175) leaves out the apply pipeline and
23
+ * the waves spec on every forge: the pull request checks and the watches
24
+ * remain, and no job holds a writer.
25
+ *
22
26
  * Three pipelines per forge, each declared with chant: yodel-pr with the
23
27
  * github lexicon's Workflow, Job and Step (Forgejo renders the same
24
28
  * declaration through the forgejo lexicon's dialect) and the gitlab
@@ -71,7 +75,7 @@
71
75
  import { existsSync } from "node:fs";
72
76
  import { join, resolve } from "node:path";
73
77
  import { pathToFileURL } from "node:url";
74
- import { APPROVAL_MODES } from "../config/define.js";
78
+ import { APPROVAL_MODES, WAVE_GATES, waveGateHint } from "../config/define.js";
75
79
  import { audience, CLOUD_OF, jobLogins, loginSteps } from "./login.js";
76
80
  import { RECORD_PLANS_ENV } from "../approval-mode/index.js";
77
81
  import { cloudToken, credentialsOf, roleVariables } from "../credentials.js";
@@ -98,6 +102,8 @@ const CHECKOUT = "actions/checkout@v7";
98
102
  const SETUP_NODE = "actions/setup-node@v7";
99
103
  /** DEV for dev: the prefix of an environment's variables. */
100
104
  export const prefixOf = (env) => env.toUpperCase().replace(/[^A-Z0-9]/g, "_");
105
+ /** Whether the apply pipeline is rendered: unless yodel.config.ts `ci.apply` is false. */
106
+ const rendersApply = (envs) => envs.apply !== false;
101
107
  /** DEV_CLICKHOUSE for dev on ClickHouse: what an environment's variables start with. */
102
108
  export const variablePrefix = (env, dialect) => `${prefixOf(env)}_${dialect.toUpperCase()}`;
103
109
  /** The variables a job reading `env` holds: the URL and the reader (the variables credentials() names; none for a token-minted password). */
@@ -461,9 +467,11 @@ export function gitlabPipeline(envs_) {
461
467
  }
462
468
  for (const [name, job] of Object.entries(ownJobs(own?.gitlab, Object.fromEntries(jobs), "gitlab")))
463
469
  jobs.set(name, job);
470
+ const apply = rendersApply(envs_);
464
471
  const variables = envs.flatMap((env) => {
465
472
  const creds = envs_.credentials?.[env];
466
- const writer = writerVariables(env, dialect, creds).slice(1);
473
+ // With ci.apply: false no job holds a writer, so no writer variable is set.
474
+ const writer = apply ? writerVariables(env, dialect, creds).slice(1) : [];
467
475
  return [
468
476
  `# ${readerVariables(env, dialect, creds).join(", ")}: not protected (merge request`,
469
477
  "# pipelines run on unprotected branches), masked; no environment scope.",
@@ -475,8 +483,15 @@ export function gitlabPipeline(envs_) {
475
483
  const header = [
476
484
  ...HEADER,
477
485
  "#",
478
- "# Merge requests: lint and the plan comment (stage review). A push to the",
479
- `# default branch: the apply waves, one stage each, in ${GITLAB_APPLY_FILE}.`,
486
+ ...(apply
487
+ ? [
488
+ "# Merge requests: lint and the plan comment (stage review). A push to the",
489
+ `# default branch: the apply waves, one stage each, in ${GITLAB_APPLY_FILE}.`,
490
+ ]
491
+ : [
492
+ "# Merge requests: lint and the plan comment (stage review). No apply",
493
+ "# pipeline (yodel.config.ts ci.apply: false): migrations are applied outside CI.",
494
+ ]),
480
495
  `# The drift watches are in ${GITLAB_WATCH_FILE} (stage ops).`,
481
496
  "#",
482
497
  "# GitLab gives every job the project's CI/CD variables unless a variable is",
@@ -495,25 +510,30 @@ export function gitlabPipeline(envs_) {
495
510
  "# the plan comment and the drift watch's tracking issue; CI_JOB_TOKEN",
496
511
  "# cannot write merge request notes or issues.",
497
512
  ]),
498
- "# The jobs that hold no writer read with the reader: chant.config.ts picks an",
499
- "# environment's writer only under YODEL_CREDENTIALS=writer:<env>, which only",
500
- "# that environment's wave job sets.",
501
- ...identityHeader("gitlab", cloudsOf(envs_, envs.flatMap((env) => [...planRoles(waves, env), ...waveRoles(waves, env), [env, "reader"]]))),
513
+ ...(apply
514
+ ? [
515
+ "# The jobs that hold no writer read with the reader: chant.config.ts picks an",
516
+ "# environment's writer only under YODEL_CREDENTIALS=writer:<env>, which only",
517
+ "# that environment's wave job sets.",
518
+ ]
519
+ : ["# Every job reads with the reader; none holds a writer."]),
520
+ ...identityHeader("gitlab", cloudsOf(envs_, envs.flatMap((env) => [...planRoles(waves, env), ...(apply ? waveRoles(waves, env) : []), [env, "reader"]]))),
502
521
  ];
503
522
  // The stages this file's jobs use (review, then any the project's own jobs add), then the apply file's waves and the watch file's ops.
504
523
  // A pr-review wave (#48) adds the merge request job that records the plans, in chant's stage "plans".
505
524
  const jobStages = [...jobs.values()].map((job) => job.props?.stage).filter((stage) => typeof stage === "string");
506
- const plans = waves.some((w) => w.approval === "pr-review") ? [PLANS_STAGE] : [];
525
+ // ci.apply: false (#175): no apply file, so neither its include nor its stages.
526
+ const plans = apply && waves.some((w) => w.approval === "pr-review") ? [PLANS_STAGE] : [];
527
+ const applyStages = apply ? [...plans, ...waveStages(waves), ...(envs_.resume ? [RESUME_STAGE] : [])] : [];
507
528
  const pipeline = new GitLabPipeline({
508
529
  comment: asComment(header),
509
- include: [{ local: GITLAB_APPLY_FILE }, { local: GITLAB_WATCH_FILE }],
510
- stages: [...new Set([...jobStages, ...plans, ...waveStages(waves), ...(envs_.resume ? [RESUME_STAGE] : []), "ops"])],
530
+ include: [...(apply ? [{ local: GITLAB_APPLY_FILE }] : []), { local: GITLAB_WATCH_FILE }],
531
+ stages: [...new Set([...jobStages, ...applyStages, "ops"])],
511
532
  variables: { GIT_DEPTH: "0" },
512
533
  });
513
534
  const entities = new Map([["pipeline", pipeline], ["workflow", workflow], ...jobs]);
514
535
  return { path: ".gitlab-ci.yml", content: oneFile("gitlab", gitlabSerializer.serialize(entities)) };
515
536
  }
516
- const WAVE_GATES = ["always", "on-destructive", "never"];
517
537
  /** The environment `env`'s wave requires, as a list. */
518
538
  const requiredOf = (waves, env) => {
519
539
  const r = waves.find((w) => w.env === env)?.requires;
@@ -744,7 +764,7 @@ export async function readWaves(dir, envs) {
744
764
  throw new Error(`yodel.config.ts: waves[${String(i)}].env ${env} is not an environment (${envs.join(", ")})`);
745
765
  const gate = (w.gate ?? "always");
746
766
  if (!WAVE_GATES.includes(gate))
747
- throw new Error(`yodel.config.ts: waves[${String(i)}].gate ${String(w.gate)} is not ${WAVE_GATES.join(", ")}`);
767
+ throw new Error(`yodel.config.ts: waves[${String(i)}].gate ${String(w.gate)} is not ${WAVE_GATES.join(", ")}${waveGateHint(w.gate)}`);
748
768
  const requires = w.requires === false ? undefined : w.requires === undefined ? (i > 0 ? String(all[i - 1]?.env) : undefined) : typeof w.requires === "string" ? w.requires : JSON.stringify(w.requires);
749
769
  if (requires !== undefined && !envs.includes(requires))
750
770
  throw new Error(`yodel.config.ts: waves[${String(i)}].requires ${requires} is not an environment (${envs.join(", ")})`);
@@ -912,6 +932,7 @@ export async function environments(dir) {
912
932
  ...(ci?.image ? { image: ci.image } : {}),
913
933
  ...(ci?.resume ? { resume: { schedule: ci.resume.schedule } } : {}),
914
934
  ...(ci?.login ? { login: ci.login } : {}),
935
+ ...(ci?.apply === false ? { apply: false } : {}),
915
936
  };
916
937
  }
917
938
  /** The roles of each environment whose profile is made with credentials(). */
@@ -981,7 +1002,8 @@ export function forgeOf(path) {
981
1002
  export async function render(dir) {
982
1003
  const envs = await environments(dir);
983
1004
  const forges = envs.forges ?? FORGES;
984
- const files = [...review(envs), ...(await applyPipelines(dir, envs)), ...(await watchPipelines(dir, envs))];
1005
+ // ci.apply: false (#175): no waves spec and no apply pipeline on any forge.
1006
+ const files = [...review(envs), ...(rendersApply(envs) ? await applyPipelines(dir, envs) : []), ...(await watchPipelines(dir, envs))];
985
1007
  return files.filter((f) => {
986
1008
  const forge = forgeOf(f.path);
987
1009
  return forge === undefined || forges.includes(forge);
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/ci/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,cAAc,EAAqD,MAAM,qBAAqB,CAAC;AACxG,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAA+B,MAAM,YAAY,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAA8B,MAAM,mBAAmB,CAAC;AACzG,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EACL,WAAW,EACX,GAAG,IAAI,UAAU,EACjB,WAAW,EACX,OAAO,IAAI,cAAc,EACzB,IAAI,EACJ,QAAQ,IAAI,eAAe,GAC5B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EACL,SAAS,IAAI,eAAe,EAC5B,KAAK,EACL,GAAG,IAAI,SAAS,EAChB,QAAQ,IAAI,cAAc,EAC1B,IAAI,EACJ,OAAO,IAAI,aAAa,EACxB,QAAQ,IAAI,cAAc,EAC1B,YAAY,GACb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAG9E,MAAM,CAAC,MAAM,MAAM,GAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAQxE,yGAAyG;AACzG,MAAM,CAAC,MAAM,KAAK,GAAG,kBAAkB,CAAC;AAExC,wFAAwF;AACxF,MAAM,CAAC,MAAM,WAAW,GAAG,+BAA+B,CAAC;AAe3D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAiC,EAAa,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AAE1K,2GAA2G;AAC3G,MAAM,YAAY,GAAG,CAAC,EAAa,EAAE,KAAY,EAAY,EAAE,CAC7D,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC;AACzJ,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC;AAE3B,kGAAkG;AAClG,MAAM,QAAQ,GAAG,qBAAqB,CAAC;AACvC,MAAM,UAAU,GAAG,uBAAuB,CAAC;AAE3C,6DAA6D;AAC7D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;AAwC9F,wFAAwF;AACxF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,OAAgB,EAAU,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;AAErH,6IAA6I;AAC7I,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,OAAgB,EAAE,KAAsB,EAAY,EAAE;IACjG,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;AACpG,CAAC,CAAC;AAEF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,OAAgB,EAAE,KAAsB,EAAY,EAAE;IACjG,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;AACpG,CAAC,CAAC;AAEF,+EAA+E;AAC/E,EAAE;AACF,oEAAoE;AACpE,yEAAyE;AACzE,0EAA0E;AAC1E,2EAA2E;AAC3E,0EAA0E;AAC1E,0EAA0E;AAC1E,kBAAkB;AAElB,oEAAoE;AACpE,MAAM,CAAC,MAAM,SAAS,GAA0D;IAC9E,SAAS,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,mBAAmB,EAAE;IACjE,eAAe,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,6BAA6B,EAAE;IACjF,KAAK,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,4BAA4B,EAAE;CACzE,CAAC;AAEF,+EAA+E;AAC/E,MAAM,QAAQ,GAAG,CAAC,IAAuC,EAAE,IAA4C,EAAgB,EAAE,CAAC;IACxH,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAmB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;CAC7H,CAAC;AAEF,yJAAyJ;AACzJ,MAAM,QAAQ,GAAG,CAAC,MAA6B,EAAE,SAA2B,EAAE,EAAmC,EAAE,CACjH,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;IACf,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AACtF,CAAC,CAAC,CACH,CAAC;AAEJ,kGAAkG;AAClG,MAAM,QAAQ,GAAG,CAAC,IAAiD,EAAE,IAA4C,EAAW,EAAE,CAC5H,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;AAEpF,yDAAyD;AACzD,MAAM,YAAY,GAAG,CAAC,KAAc,EAAE,MAAwB,EAAW,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAE/K,0FAA0F;AAC1F,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAE,MAAwB,EAAkC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAE1L,gEAAgE;AAChE,MAAM,WAAW,GAAG,CAAC,MAAwB,EAA2D,EAAE;IACxG,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;AAClF,CAAC,CAAC;AAEF,kFAAkF;AAClF,SAAS,WAAW,CAAC,KAAqC,EAAE,GAA2C,EAAE,EAA8C,EAAE,IAAY;IACnK,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC7B,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,4BAA4B,CAAC,CAAC;IAChE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,yFAAyF;AACzF,SAAS,WAAW,CAAC,MAA4B,EAAE,GAAsB,EAAE,EAA6B,EAAE,IAAY;IACpH,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC7B,MAAM,CAAC,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,mCAAmC,CAAC,CAAC;IAClF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,EAA2B,EAAW,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,QAAQ,IAAI,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AAE1H,2HAA2H;AAC3H,MAAM,SAAS,GAAG,CAAC,KAAsB,EAAE,GAAW,EAAyB,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE7I,uGAAuG;AACvG,MAAM,SAAS,GAAG,CAAC,KAAsB,EAAE,GAAW,EAAyB,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AAEzK,yGAAyG;AACzG,SAAS,cAAc,CAAC,KAAY,EAAE,MAA6B;IACjE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,CAAC,0CAA0C,KAAK,+BAA+B,EAAE,qEAAqE,CAAC,CAAC;IACvL,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,CAAC,0CAA0C,KAAK,+BAA+B,EAAE,yDAAyD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClO,OAAO,CAAC,0CAA0C,KAAK,gCAAgC,EAAE,4DAA4D,CAAC,CAAC;AACzJ,CAAC;AAED,8FAA8F;AAC9F,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAuB,EAAU,EAAE,CAAC,sBAAsB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC;AAEpH,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,gBAAgB,IAAI,KAAK,CAAC;AAC3D,MAAM,OAAO,GAAG,CAAC,KAAwB,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEnG;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAC1B,sNAAsN,CAAC;AAEzN,+GAA+G;AAC/G,MAAM,CAAC,MAAM,UAAU,GAA2B,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC;AAEpG,oEAAoE;AACpE,MAAM,CAAC,MAAM,OAAO,GAAG,uEAAuE,CAAC;AAE/F,uHAAuH;AACvH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,eAAe,GAAG,UAAU,CAAC;AAEhF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC;AAoBvC,MAAM,CAAC,MAAM,cAAc,GAAmC;IAC5D,UAAU,EAAE;QACV,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,yCAAyC;QAChD,IAAI,EAAE,IAAI;QACV,kEAAkE;QAClE,GAAG,EAAE,EAAE,0BAA0B,EAAE,GAAG,EAAE;QACxC,MAAM,EAAE,sCAAsC;QAC9C,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC,UAAU,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;QAC5D,MAAM,EAAE,EAAE;KACX;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,EAAE,iBAAiB,EAAE,QAAQ,EAAE;QACpC,8FAA8F;QAC9F,MAAM,EAAE,qCAAqC;QAC7C,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC,cAAc,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW;QACzE,MAAM,EAAE,EAAE,oBAAoB,EAAE,UAAU,EAAE,wBAAwB,EAAE,QAAQ,EAAE;KACjF;CACF,CAAC;AAEF,8GAA8G;AAC9G,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,IAAY,EAAU,EAAE,CAC5D,yFAAyF,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,iGAAiG,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,sEAAsE,CAAC;AAE7S,MAAM,CAAC,MAAM,IAAI,GAAG,YAAY,CAAC;AAEjC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAY,EAAU,EAAE,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,6BAA6B,iBAAiB,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,kBAAkB,CAAC,CAAC;AAChK,MAAM,CAAC,MAAM,MAAM,GAAG,uBAAuB,cAAc,UAAU,CAAC;AAEtE,uGAAuG;AACvG,MAAM,CAAC,MAAM,IAAI,GAAG,oBAAoB,cAAc,iCAAiC,CAAC;AAExF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,QAAQ,GAAG,kBAAkB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;AAE5E,sFAAsF;AACtF,MAAM,CAAC,MAAM,UAAU,GAAG,cAAc,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,KAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAU,EAAE;IACxG,MAAM,KAAK,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC;IACpE,OAAO,YAAY,UAAU,KAAK,KAAK,WAAW,GAAG,aAAa,UAAU,IAAI,GAAG,kBAAkB,KAAK,WAAW,GAAG,WAAW,UAAU,IAAI,GAAG,eAAe,CAAC;AACtK,CAAC,CAAC;AAEF,8CAA8C;AAC9C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,gBAAgB,GAAG,EAAE,CAAC;AAE7E,MAAM,eAAe,GAAG,4BAA4B,CAAC;AACrD;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,qDAAqD,CAAC;AAC7F,MAAM,cAAc,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;AAErH;;;;;;GAMG;AACH,MAAM,MAAM,GAAG;IACb,wEAAwE;IACxE,+EAA+E;CAChF,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,MAAyB,EAAE,IAAY,EAAU,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;AAE/G,2GAA2G;AAC3G,MAAM,SAAS,GAAG,CAAC,MAAyB,EAAU,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE7G,uGAAuG;AACvG,SAAS,OAAO,CAAC,KAAY,EAAE,GAA8B;IAC3D,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;IACzE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,4CAA4C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9G,OAAO,GAAG,CAAC,OAAO,CAAC;AACrB,CAAC;AAcD,SAAS,aAAa,CAAC,KAAc,EAAE,QAAmB;IACxD,MAAM,UAAU,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC7E,OAAO,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,8GAA8G;AAC9G,SAAS,WAAW,CAAC,KAAc,EAAE,GAAW,EAAE,GAAW,EAAE,EAAa;IAC1E,OAAO;QACL,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,GAAG,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;QACtF,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,CAAC;KACzK,CAAC;AACJ,CAAC;AAED,uGAAuG;AACvG,SAAS,UAAU,CAAC,WAAoB,EAAE,EAAa;IACrD,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IACzG,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,uCAAuC,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;IAC7J,OAAO,KAAK,CAAC;AACf,CAAC;AAED,qIAAqI;AACrI,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,EAAa,EAAW,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,CAAC,UAAU,CAAC;AACrG,MAAM,MAAM,GAAG,CAAC,SAAkB,EAAE,EAAa,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAEtI,kEAAkE;AAClE,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAC;AACjH,CAAC;AAED,SAAS,OAAO,CAAC,KAAc,EAAE,OAAgB,EAAE,MAAe,EAAE,EAAa,EAAE,KAAK,GAAG,KAAK;IAC9F,0EAA0E;IAC1E,uEAAuE;IACvE,0EAA0E;IAC1E,gEAAgE;IAChE,uBAAuB;IACvB,MAAM,SAAS,GAAG,MAAM,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG;QACZ,GAAG,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;QACjE,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;KAC1D,CAAC;IACF,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACxE,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,IAAI,UAAU,CAAC;QACpB,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;QACxB,QAAQ,EAAE;YACR,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,cAAc,CAAC;gBAC7B,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,OAAO,EAAE,iBAAiB,GAAG,CAAC,MAAM,gEAAgE;aACrG,CAAC;SACH;QACD,GAAG,EAAE,EAAE,CAAC,GAAG,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE;QAC7F,KAAK,EAAE;YACL,GAAG,KAAK;YACR,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,+BAA+B,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAChG,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;YACtD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAChE;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc,EAAE,KAAmB;IAC/D,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IACjE,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAyB,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC;IACvG,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,GAAG,IAAI,UAAU,CAAC;YACnC,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,sFAAsF;YACtF,GAAG,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,iBAAiB,CAAC,CAAC;YACjH,KAAK,EAAE;gBACL,oFAAoF;gBACpF,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,8DAA8D;gBAC9D,GAAG,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC9D,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClE,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,GAAG,YAAY,EAAE,GAAG,EAAE,cAAc,GAAG,YAAY,EAAE,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/G,GAAG,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,GAAG,EAAE,EAAE,EAAE,CAAC;aAC9C;SACF,CAAC,CAAC;IACL,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAO,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG;QACb,GAAG,MAAM;QACT,GAAG;QACH,+EAA+E;QAC/E,mEAAmE;QACnE,+EAA+E;QAC/E,0EAA0E;QAC1E,kDAAkD;QAClD,GAAG,CAAC,KAAK,KAAK,SAAS;YACrB,CAAC,CAAC,CAAC,mFAAmF,EAAE,uCAAuC,CAAC;YAChI,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;KACjC,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC;QACnC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC;QAC1B,IAAI,EAAE,UAAU;QAChB,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE;QAC1C,WAAW,EAAE,IAAI,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5I,WAAW,EAAE,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,kDAAkD,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;QACvH,IAAI;KACL,CAAC,CAAC;IACH,OAAO;QACL,IAAI,EAAE,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,yBAAyB;QAC7E,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,mCAAmC,CAAC;AACrE,MAAM,CAAC,MAAM,iBAAiB,GAAG,mCAAmC,CAAC;AAErE,qFAAqF;AACrF,MAAM,YAAY,GAAG,QAAQ,CAAC;AAE9B,6HAA6H;AAC7H,MAAM,WAAW,GAAG,OAAO,CAAC;AAE5B,4EAA4E;AAC5E,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAY,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAE/G,MAAM,UAAU,cAAc,CAAC,KAAmB;IAChD,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IACjE,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,8CAA8C,EAAE,CAAC,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC;QAClC,KAAK,EAAE;YACL,IAAI,YAAY,CAAC,EAAE,EAAE,EAAE,8CAA8C,EAAE,CAAC;YACxE,IAAI,YAAY,CAAC,EAAE,EAAE,EAAE,8CAA8C,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YACvF,IAAI,YAAY,CAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE,CAAC;SAC9C;KACF,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC3C,IAAI,CAAC,GAAG,CACN,QAAQ,EACR,IAAI,SAAS,CAAC;QACZ,KAAK,EAAE,IAAI,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;QACpC,aAAa,EAAE,CAAC,GAAG,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,eAAe,CAAC;KAChE,CAAC,CACH,CAAC;IACF,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG,CACN,MAAM,EACN,IAAI,SAAS,CAAC;QACZ,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,EAAE,EAAE;QACX,GAAG,CAAC,MAAM;YACR,CAAC,CAAC;gBACE,MAAM,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvH,QAAQ,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;gBACvF,SAAS,EAAE,EAAE,CAAC,GAAG,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE;aACpG;YACH,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAClD,4FAA4F;QAC5F,SAAS,EAAE,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAAE,CAAC;KAChG,CAAC,CACH,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,CACN,QAAQ,GAAG,EAAE,EACb,IAAI,SAAS,CAAC;YACZ,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,EAAE,EAAE;YACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,cAAc,GAAG,YAAY,CAAC;YACrG,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,YAAY,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACtC,SAAS,EAAE,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,QAAQ,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;SACnH,CAAC,CACH,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAa,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;QAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpI,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO;YACL,OAAO,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC;YACtF,6EAA6E;YAC7E,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBACnB,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,4BAA4B,GAAG,WAAW,GAAG,wCAAwC,CAAC;gBACzI,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG;QACb,GAAG,MAAM;QACT,GAAG;QACH,2EAA2E;QAC3E,yDAAyD,iBAAiB,GAAG;QAC7E,8BAA8B,iBAAiB,eAAe;QAC9D,GAAG;QACH,6EAA6E;QAC7E,0EAA0E;QAC1E,wEAAwE;QACxE,GAAG,SAAS;QACZ,GAAG,CAAC,KAAK,CAAC,MAAM;YACd,CAAC,CAAC;gBACE,8EAA8E;gBAC9E,+EAA+E;gBAC/E,+EAA+E;gBAC/E,gDAAgD;aACjD;YACH,CAAC,CAAC;gBACE,6EAA6E;gBAC7E,2EAA2E;gBAC3E,mDAAmD;aACpD,CAAC;QACN,+EAA+E;QAC/E,8EAA8E;QAC9E,qCAAqC;QACrC,GAAG,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAmB,CAAC,CAAC,CAAC,CAAC;KAC7J,CAAC;IACF,uIAAuI;IACvI,sGAAsG;IACtG,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAE,GAAuC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;IACtJ,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC;QAClC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC;QAC1B,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;QACrE,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACpH,SAAS,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE;KAC9B,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAqB,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACxG,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;AACtG,CAAC;AAMD,MAAM,UAAU,GAAwB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;AAuB9E,wDAAwD;AACxD,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAE,GAAW,EAAY,EAAE;IACnE,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,QAAQ,CAAC;IACrD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtB,CAAC,CAAC;AAEF,6GAA6G;AAC7G,MAAM,CAAC,MAAM,UAAU,GAAG,kBAAkB,CAAC;AAC7C,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC;AAqB5C;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,KAAsB,EAAE,SAAmD,EAAE,MAA6B;IAClI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAClD,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,EAAE,EAAE,WAAW,KAAK,CAAC,GAAG,EAAE;QAC1B,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC;QACnF,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC;QACrF,QAAQ,EAAE,CAAC,IAAI,CAAC;QAChB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvB,IAAI,EAAE,CAAC,CAAC,GAAG;YACX,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAClF,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpF,CAAC,CAAC;QACH,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9B,CAAC;AACJ,CAAC;AAQD,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,IAAkB;IAClE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,EAAE,uBAAuB,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAEvE,CAAC;IACF,MAAM,GAAG,GAAmB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9G,2FAA2F;IAC3F,MAAM,SAAS,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC,GAAW,EAAE,EAAE;QAClD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,CAAC;QAChC,OAAO;YACL,iBAAiB,EAAE,UAAU,GAAG,EAAE;YAClC,GAAG,UAAU;YACb,GAAG,CAAC,KAAK,KAAK,QAAQ;gBACpB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE,GAAG,OAAO,CAAC,CAAC,GAAG,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,iBAAiB,CAAC,CAAC;oBAC7F,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9F,uFAAuF;oBACvF,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnF,CAAC;SACP,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,MAAM,GAAG;QACb,GAAG,MAAM;QACT,GAAG;QACH,4EAA4E;QAC5E,4EAA4E;QAC5E,qCAAqC,UAAU,gCAAgC;QAC/E,+EAA+E;QAC/E,6EAA6E;QAC7E,6EAA6E;QAC7E,+EAA+E;QAC/E,gFAAgF;QAChF,gFAAgF;QAChF,sEAAsE;KACvE,CAAC;IACF,MAAM,YAAY,GAAG,CAAC,KAAY,EAAY,EAAE,CAAC;QAC/C,GAAG,MAAM;QACT,GAAG;QACH,4CAA4C,cAAc,+BAA+B;QACzF,4EAA4E;QAC5E,8DAA8D;QAC9D,GAAG,CAAC,KAAK,KAAK,QAAQ;YACpB,CAAC,CAAC,CAAC,2EAA2E,CAAC;YAC/E,CAAC,CAAC,CAAC,gFAAgF,EAAE,sEAAsE,CAAC,CAAC;KAChK,CAAC;IACF,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,WAAW,GAAG;QAClB,GAAG,MAAM;QACT,GAAG;QACH,kFAAkF;QAClF,iFAAiF;QACjF,6EAA6E;QAC7E,kFAAkF;QAClF,gFAAgF;QAChF,2EAA2E;KAC5E,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAC1C,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAC/C,KAAK,EACL;YACE,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,eAAe,CAAC;YAC3D,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE,EACD,GAAG,CACJ,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,MAAM,CAAC,KAAK,IAAI,0CAA0C,EAAE,CAAC,CAAC;QACjI,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,EAAE,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,cAAc,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5H,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC;YACrE,sEAAsE;YACtE,IAAI,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,cAAc,aAAa;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/I,4EAA4E;iBACvE,IAAI,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,cAAc,YAAY;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,WAAW,EAAE,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;;gBACrL,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QACrJ,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,KAAY,EAAE,IAAY,EAAE,KAAsB,EAAE,EAAa,EAAE,OAAoD,EAAE;IAChJ,+DAA+D;IAC/D,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,SAAS,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC;IAC1K,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAA4B,CAAC;IAC/D,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,CAA0B,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QACjI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QACpG,sGAAsG;QACtG,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,cAAc,eAAe,CAA+F,CAAC;QACnJ,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,SAAS,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC;YAC5E,0FAA0F;YAC1F,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/E,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;YACxH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClD,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;YACvE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAC3C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrE,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YAClC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,QAAQ,CAAC,EAAE,8BAA8B,CAAC,CAAC;YAC3G,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,CAAC,SAAS,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QAC9G,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;gBAAE,SAAS;YAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACrD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,CAAC,GAAG,GAAgE,CAAC;YAC3E,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;YACzF,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YAClG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9N,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACrC,IAAI,EAAE,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,gCAAgC,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAiE,CAAC;IACnF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;IAC1D,IAAI,GAAG,GAAG,GAAG,QAAQ,EAAE,EAAE,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,oDAAoD,CAAC,CAAC;IAClH,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,4FAA4F;QAC5F,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC;QAC/G,GAAG,CAAC,KAAK,CAAC,IAAI,CACZ,EAAE,IAAI,EAAE,gBAAgB,GAAG,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAC5E,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,CAChK,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,EAAE,CAAC;AAClH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,KAAY,EAAE,IAAY,EAAE,KAAsB,EAAE,OAAgB,EAAE,QAAqD,EAAE;IACrJ,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACrC,IAAI,EAAE,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,kCAAkC,CAAC,CAAC;IACxE,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAsD,CAAC;IACzF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;IAC9D,IAAI,GAAG,GAAG,GAAG,QAAQ,EAAE,EAAE,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,yDAAyD,CAAC,CAAC;IACvH,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACrC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,8CAA8C,CAAC,CAAC;IAClF,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAuC,CAAC;IAC1D,mGAAmG;IACnG,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,QAAQ,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC1G,IAAI,QAAQ,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,kEAAkE,CAAC,CAAC;IAC9G,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrM,OAAO,GAAG,CAAC,KAAK,CAAC;IACjB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACtJ,oFAAoF;IACpF,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,EAAE,CAAC;AACpH,CAAC;AAED,sHAAsH;AACtH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAW,EAAE,IAAuB;IAClE,MAAM,QAAQ,GAAG,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,KAAgB,CAAC;IAC3D,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACtI,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAA8F,EAAE,CAAC,EAAE,GAA6B,EAAE,EAAE;QACvJ,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,CAAC,CAAC,SAAS,GAAG,2BAA2B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvI,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAa,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/I,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACxM,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,CAAC,CAAC,cAAc,QAAQ,2BAA2B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChL,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAoC,CAAC;QACxD,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7L,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,IAAI,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACrM,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAW,EAAE,KAAsB;IACnE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IACtD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,GAAG,GAAW,EAAE,CAAC;IACvB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QAC5D,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAUD;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,GAAW,EAAE,OAAgB,EAAE,KAAY,EAAE,KAAsB;IAC3F,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC;IACxD,6GAA6G;IAC7G,OAAO;QACL,IAAI,EAAE,SAAS,GAAG,EAAE;QACpB,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,GAAG,iBAAiB,CAAC,CAAC,EAAE,YAAY,EAAE,qBAAqB,EAAE;QAC/H,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7H,CAAC;AACJ,CAAC;AAED,uHAAuH;AACvH,SAAS,WAAW,CAAC,KAAY,EAAE,GAAW,EAAE,MAA6B;IAC3E,IAAI,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAC1D,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,mCAAmC,EAAE,CAAC,EAAE,EAAE,MAAc,EAAE,EAAE,CAAC,iBAAiB,MAAM,qBAAqB,CAAC,CAAC;IACrI,IAAI,KAAK,KAAK,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;IACtH,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,KAAc,EAAE,IAAY,EAAE,GAAW,EAAE,IAAiD;IAClH,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACrC,IAAI,EAAE,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,mBAAmB,GAAG,cAAc,CAAC,CAAC;IAC1E,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAwE,CAAC;IAC3G,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;IAC9D,IAAI,GAAG,GAAG,GAAG,QAAQ,EAAE,EAAE,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,mBAAmB,GAAG,qCAAqC,CAAC,CAAC;IACzH,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,mBAAmB,GAAG,iBAAiB,GAAG,MAAM,CAAC,CAAC;IACpF,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,WAAW,GAAG,EAAE,CAAC,CAAC;IACnE,OAAO,GAAG,GAAG,GAAG,QAAQ,EAAE,EAAE,CAAC;AAC/B,CAAC;AAED,uLAAuL;AACvL,SAAS,iBAAiB,CAAC,IAAY,EAAE,IAA2D;IAClG,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACnE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAA4B,CAAC;IAC/D,MAAM,IAAI,GAAG,CAAC,CAA0B,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IACjI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IACrG,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,GAAG,EAAE,CAA0E,CAAC;QACzG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,KAAK,SAAS;YAAE,SAAS;QAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,iBAAiB,GAAG,EAAE,CAAC,CAAC;QAChG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACtG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,KAAmB;IACnE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACvC,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,EAAE,mBAAmB,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAEnE,CAAC;IACF,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,KAAK,EAAE,KAAY,EAAE,KAAgB,EAAE,WAAqB,EAAE,EAAE;QAC3E,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACtC,KAAK,EACL,KAAK,EACL;YACE,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC;YACpE,WAAW;YACX,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnF,EACD,GAAG,CACJ,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,MAAM,CAAC,KAAK,IAAI,sCAAsC,EAAE,CAAC,CAAC;QAC7H,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,EAAE,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,cAAc,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5H,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC;YACrE,oFAAoF;YACpF,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;YACrD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5J,CAAC;IACH,CAAC,CAAC;IACF,gGAAgG;IAChG,KAAK,MAAM,KAAK,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAU,EAAE,CAAC;QACnD,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3H,CAAC;IACD,oGAAoG;IACpG,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;IACpH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,+EAA+E;AAE/E,4EAA4E;AAC5E,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAW,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAErE,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAW;IAC5C,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACpE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAI,MAA8E,CAAC,GAAG,CAAC;IAChG,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,CAAC;IAC7B,IAAI,OAAO,KAAK,YAAY,IAAI,OAAO,KAAK,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/J,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;IAC3D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IACnF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,KAAK,MAAM,EAAE,IAAI,CAAC,WAAW,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,eAAe,EAAE,QAAQ,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;IACD,MAAM,EAAE,GAAG,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,EAAE,QAAQ,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IAC7D,OAAO;QACL,OAAO;QACP,KAAK,EAAE,IAAI;QACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,MAAM;QACN,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,KAAK,EAAE,MAAM,WAAW,CAAC,GAAG,EAAE,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACzD,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,MAAM;QAC5B,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,aAAa,CAAC,QAAiC,EAAE,IAAuB;IACtF,MAAM,GAAG,GAAmC,EAAE,CAAC;IAC/C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,KAAK,GAAG,CAAC,IAAU,EAAa,EAAE;YACtC,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAClC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5E,CAAC,CAAC;QACF,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;IAClE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,qEAAqE;AACrE,KAAK,UAAU,UAAU,CAAC,GAAW;IACnC,OAAO,CAAC,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC;AAC9C,CAAC;AAuBD,wCAAwC;AACxC,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,IAAY;IAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,sBAAsB,CAAC,CAAC;IACrG,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAA4B,CAAC;IAChF,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,YAAY,GAAG,2BAA2B,CAAC,CAAC;IACrI,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAU,EAAE,CAAC;QACjD,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,SAAS;YAAE,SAAS;QAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,GAAG,qDAAqD,CAAC,CAAC;QACnJ,GAAG,CAAC,GAAG,CAAC,GAAG,CAA+B,CAAC;IAC7C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,qFAAqF;AACrF,SAAS,OAAO,CAAI,GAA2C,EAAE,MAA+B,EAAE,IAAY;IAC5G,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,IAAI,IAAI,IAAI,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,QAAQ,IAAI,8DAA8D,CAAC,CAAC;IAClI,CAAC;IACD,OAAO,GAAwB,CAAC;AAClC,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,MAAM,CAAC,IAAkB;IACvC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,QAAQ,CAAC;IACjD,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,SAAS,CAAC;IACnD,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,QAAQ,CAAC;IAChD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,GAAW;IACtC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;IACrC,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5G,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/ci/render.ts"],"names":[],"mappings":"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"}