@ethlete/cli 3.0.0-next.23 → 3.0.0-next.25

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 (202) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/design/contrast.ts +49 -0
  3. package/design/define-call.ts +48 -8
  4. package/design/define-part.ts +83 -1
  5. package/design/embed-page.ts +37 -4
  6. package/design/icon-sheet.ts +151 -0
  7. package/design/mark-part.ts +79 -2
  8. package/design/morph.ts +67 -0
  9. package/design/motion-runtime.ts +407 -0
  10. package/design/spring.ts +53 -0
  11. package/design/token-sheet.ts +87 -0
  12. package/design/web/env.d.ts +6 -2
  13. package/design/web/frame.ts +159 -6
  14. package/package.json +2 -1
  15. package/src/lib/design/calls-tsconfig.js +1 -2
  16. package/src/lib/design/calls-tsconfig.js.map +1 -1
  17. package/src/lib/design/changed-parts.d.ts +4 -4
  18. package/src/lib/design/changed-parts.js +10 -6
  19. package/src/lib/design/changed-parts.js.map +1 -1
  20. package/src/lib/design/contact-sheet.d.ts +26 -13
  21. package/src/lib/design/contact-sheet.js +122 -40
  22. package/src/lib/design/contact-sheet.js.map +1 -1
  23. package/src/lib/design/design-command.js +50 -2
  24. package/src/lib/design/design-command.js.map +1 -1
  25. package/src/lib/design/force-interactions.d.ts +2 -1
  26. package/src/lib/design/force-interactions.js +7 -4
  27. package/src/lib/design/force-interactions.js.map +1 -1
  28. package/src/lib/design/generated-stylesheets.d.ts +15 -0
  29. package/src/lib/design/generated-stylesheets.js +52 -0
  30. package/src/lib/design/generated-stylesheets.js.map +1 -0
  31. package/src/lib/design/inbox-command.d.ts +1 -0
  32. package/src/lib/design/inbox-command.js +15 -0
  33. package/src/lib/design/inbox-command.js.map +1 -1
  34. package/src/lib/design/mcp-command.d.ts +60 -0
  35. package/src/lib/design/mcp-command.js +327 -0
  36. package/src/lib/design/mcp-command.js.map +1 -0
  37. package/src/lib/design/merge-compare.d.ts +10 -0
  38. package/src/lib/design/merge-compare.js +17 -4
  39. package/src/lib/design/merge-compare.js.map +1 -1
  40. package/src/lib/design/motion-command.d.ts +71 -0
  41. package/src/lib/design/motion-command.js +314 -0
  42. package/src/lib/design/motion-command.js.map +1 -0
  43. package/src/lib/design/motion-endpoint.d.ts +61 -0
  44. package/src/lib/design/motion-endpoint.js +133 -0
  45. package/src/lib/design/motion-endpoint.js.map +1 -0
  46. package/src/lib/design/motion-flow.d.ts +5 -0
  47. package/src/lib/design/motion-flow.js +29 -0
  48. package/src/lib/design/motion-flow.js.map +1 -0
  49. package/src/lib/design/motion-shot.d.ts +43 -0
  50. package/src/lib/design/motion-shot.js +97 -0
  51. package/src/lib/design/motion-shot.js.map +1 -0
  52. package/src/lib/design/paths.d.ts +11 -0
  53. package/src/lib/design/paths.js.map +1 -1
  54. package/src/lib/design/ready-shots.d.ts +7 -0
  55. package/src/lib/design/ready-shots.js +22 -1
  56. package/src/lib/design/ready-shots.js.map +1 -1
  57. package/src/lib/design/render-packages.d.ts +9 -0
  58. package/src/lib/design/render-packages.js +13 -3
  59. package/src/lib/design/render-packages.js.map +1 -1
  60. package/src/lib/design/render.js +3 -3
  61. package/src/lib/design/render.js.map +1 -1
  62. package/src/lib/design/serve.js +108 -21
  63. package/src/lib/design/serve.js.map +1 -1
  64. package/src/lib/design/shot-command.d.ts +12 -6
  65. package/src/lib/design/shot-command.js +60 -48
  66. package/src/lib/design/shot-command.js.map +1 -1
  67. package/src/lib/design/shot.d.ts +30 -4
  68. package/src/lib/design/shot.js +138 -53
  69. package/src/lib/design/shot.js.map +1 -1
  70. package/src/lib/design/sketch-command.js +132 -39
  71. package/src/lib/design/sketch-command.js.map +1 -1
  72. package/src/lib/design/sketch-stylesheets.d.ts +7 -0
  73. package/src/lib/design/sketch-stylesheets.js +63 -0
  74. package/src/lib/design/sketch-stylesheets.js.map +1 -0
  75. package/src/lib/design/studio-api.d.ts +28 -6
  76. package/src/lib/design/studio-api.js +102 -17
  77. package/src/lib/design/studio-api.js.map +1 -1
  78. package/src/lib/design/system/check-system.js +8 -0
  79. package/src/lib/design/system/check-system.js.map +1 -1
  80. package/src/lib/design/system/comments/comment.d.ts +17 -0
  81. package/src/lib/design/system/comments/comment.js +35 -1
  82. package/src/lib/design/system/comments/comment.js.map +1 -1
  83. package/src/lib/design/system/comments/complete.js +4 -2
  84. package/src/lib/design/system/comments/complete.js.map +1 -1
  85. package/src/lib/design/system/complete-command.d.ts +9 -0
  86. package/src/lib/design/system/complete-command.js +134 -0
  87. package/src/lib/design/system/complete-command.js.map +1 -0
  88. package/src/lib/design/system/complete.d.ts +171 -0
  89. package/src/lib/design/system/complete.js +1106 -0
  90. package/src/lib/design/system/complete.js.map +1 -0
  91. package/src/lib/design/system/contrast-check.d.ts +26 -0
  92. package/src/lib/design/system/contrast-check.js +153 -0
  93. package/src/lib/design/system/contrast-check.js.map +1 -0
  94. package/src/lib/design/system/exceptions.d.ts +59 -0
  95. package/src/lib/design/system/exceptions.js +132 -0
  96. package/src/lib/design/system/exceptions.js.map +1 -0
  97. package/src/lib/design/system/flows/flow.d.ts +3 -0
  98. package/src/lib/design/system/flows/flow.js +5 -3
  99. package/src/lib/design/system/flows/flow.js.map +1 -1
  100. package/src/lib/design/system/handoff.d.ts +11 -0
  101. package/src/lib/design/system/handoff.js +30 -0
  102. package/src/lib/design/system/handoff.js.map +1 -0
  103. package/src/lib/design/system/imports.d.ts +28 -3
  104. package/src/lib/design/system/imports.js +84 -7
  105. package/src/lib/design/system/imports.js.map +1 -1
  106. package/src/lib/design/system/inventory-approval.d.ts +41 -0
  107. package/src/lib/design/system/inventory-approval.js +71 -0
  108. package/src/lib/design/system/inventory-approval.js.map +1 -0
  109. package/src/lib/design/system/inventory.d.ts +65 -0
  110. package/src/lib/design/system/inventory.js +168 -0
  111. package/src/lib/design/system/inventory.js.map +1 -0
  112. package/src/lib/design/system/list-system.d.ts +11 -0
  113. package/src/lib/design/system/list-system.js +26 -3
  114. package/src/lib/design/system/list-system.js.map +1 -1
  115. package/src/lib/design/system/product-stylesheets.d.ts +3 -0
  116. package/src/lib/design/system/product-stylesheets.js +40 -0
  117. package/src/lib/design/system/product-stylesheets.js.map +1 -0
  118. package/src/lib/design/system/render-check.js +30 -4
  119. package/src/lib/design/system/render-check.js.map +1 -1
  120. package/src/lib/design/system/resolve-product.d.ts +2 -3
  121. package/src/lib/design/system/resolve-product.js +4 -6
  122. package/src/lib/design/system/resolve-product.js.map +1 -1
  123. package/src/lib/design/system/rules/canonical-class.d.ts +9 -0
  124. package/src/lib/design/system/rules/canonical-class.js +132 -0
  125. package/src/lib/design/system/rules/canonical-class.js.map +1 -0
  126. package/src/lib/design/system/rules/inline-svg.d.ts +7 -0
  127. package/src/lib/design/system/rules/inline-svg.js +28 -0
  128. package/src/lib/design/system/rules/inline-svg.js.map +1 -0
  129. package/src/lib/design/system/rules/motion.d.ts +4 -0
  130. package/src/lib/design/system/rules/motion.js +46 -2
  131. package/src/lib/design/system/rules/motion.js.map +1 -1
  132. package/src/lib/design/system/rules/stale-replace.js +41 -2
  133. package/src/lib/design/system/rules/stale-replace.js.map +1 -1
  134. package/src/lib/design/system/rules/token-selectors.js +1 -1
  135. package/src/lib/design/system/rules/token-selectors.js.map +1 -1
  136. package/src/lib/design/system/rules/utility-css.d.ts +11 -0
  137. package/src/lib/design/system/rules/utility-css.js +290 -0
  138. package/src/lib/design/system/rules/utility-css.js.map +1 -0
  139. package/src/lib/design/system/sketch/baseline.d.ts +3 -2
  140. package/src/lib/design/system/sketch/baseline.js +10 -4
  141. package/src/lib/design/system/sketch/baseline.js.map +1 -1
  142. package/src/lib/design/system/sketch/host-edit.d.ts +4 -0
  143. package/src/lib/design/system/sketch/host-edit.js +68 -0
  144. package/src/lib/design/system/sketch/host-edit.js.map +1 -0
  145. package/src/lib/design/system/sketch/merge-preview.d.ts +4 -2
  146. package/src/lib/design/system/sketch/merge-preview.js +20 -3
  147. package/src/lib/design/system/sketch/merge-preview.js.map +1 -1
  148. package/src/lib/design/system/sketch/merge-shared.d.ts +42 -6
  149. package/src/lib/design/system/sketch/merge-shared.js +122 -24
  150. package/src/lib/design/system/sketch/merge-shared.js.map +1 -1
  151. package/src/lib/design/system/sketch/merge.d.ts +6 -5
  152. package/src/lib/design/system/sketch/merge.js +95 -35
  153. package/src/lib/design/system/sketch/merge.js.map +1 -1
  154. package/src/lib/design/system/sketch/merged-parts.d.ts +17 -0
  155. package/src/lib/design/system/sketch/merged-parts.js +35 -2
  156. package/src/lib/design/system/sketch/merged-parts.js.map +1 -1
  157. package/src/lib/design/system/sketch/no-visible-change.d.ts +10 -3
  158. package/src/lib/design/system/sketch/no-visible-change.js +75 -20
  159. package/src/lib/design/system/sketch/no-visible-change.js.map +1 -1
  160. package/src/lib/design/system/sketch/overlay.js +16 -3
  161. package/src/lib/design/system/sketch/overlay.js.map +1 -1
  162. package/src/lib/design/system/sketch/part-definition.d.ts +12 -0
  163. package/src/lib/design/system/sketch/part-definition.js +40 -1
  164. package/src/lib/design/system/sketch/part-definition.js.map +1 -1
  165. package/src/lib/design/system/sketch/sketch.d.ts +40 -3
  166. package/src/lib/design/system/sketch/sketch.js +147 -50
  167. package/src/lib/design/system/sketch/sketch.js.map +1 -1
  168. package/src/lib/design/system/sketch/unchanged-states.d.ts +10 -4
  169. package/src/lib/design/system/sketch/unchanged-states.js +37 -23
  170. package/src/lib/design/system/sketch/unchanged-states.js.map +1 -1
  171. package/src/lib/design/system/sketch/unused-closure.d.ts +12 -0
  172. package/src/lib/design/system/sketch/unused-closure.js +185 -0
  173. package/src/lib/design/system/sketch/unused-closure.js.map +1 -0
  174. package/src/lib/design/system/system-modules.d.ts +5 -1
  175. package/src/lib/design/system/system-modules.js +32 -17
  176. package/src/lib/design/system/system-modules.js.map +1 -1
  177. package/src/lib/design/system/system-tsconfig.d.ts +2 -1
  178. package/src/lib/design/system/system-tsconfig.js +11 -6
  179. package/src/lib/design/system/system-tsconfig.js.map +1 -1
  180. package/src/lib/design/thumb.d.ts +6 -2
  181. package/src/lib/design/thumb.js +36 -15
  182. package/src/lib/design/thumb.js.map +1 -1
  183. package/src/lib/design/variant-diff.d.ts +12 -10
  184. package/src/lib/design/variant-diff.js +14 -13
  185. package/src/lib/design/variant-diff.js.map +1 -1
  186. package/src/lib/design/warm-pages.d.ts +20 -0
  187. package/src/lib/design/warm-pages.js +78 -0
  188. package/src/lib/design/warm-pages.js.map +1 -0
  189. package/src/lib/update/commits.d.ts +9 -0
  190. package/src/lib/update/commits.js +15 -1
  191. package/src/lib/update/commits.js.map +1 -1
  192. package/src/lib/update/migration-manifest.d.ts +6 -0
  193. package/src/lib/update/migration-manifest.js +7 -0
  194. package/src/lib/update/migration-manifest.js.map +1 -1
  195. package/src/lib/update/migrations-command.js +1 -0
  196. package/src/lib/update/migrations-command.js.map +1 -1
  197. package/src/lib/update/run-migrations.d.ts +22 -0
  198. package/src/lib/update/run-migrations.js +60 -1
  199. package/src/lib/update/run-migrations.js.map +1 -1
  200. package/src/lib/update/update-command.d.ts +10 -0
  201. package/src/lib/update/update-command.js +28 -2
  202. package/src/lib/update/update-command.js.map +1 -1
@@ -21,6 +21,7 @@ var __rest = (this && this.__rest) || function (s, e) {
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.designSketch = exports.verdictLinesOf = exports.sketchFlagHelpOf = exports.SKETCH_USAGE = void 0;
24
+ const unused_closure_1 = require("./system/sketch/unused-closure");
24
25
  const path_1 = require("path");
25
26
  const assets_1 = require("./system/assets");
26
27
  const comment_1 = require("./system/comments/comment");
@@ -36,16 +37,18 @@ const render_check_1 = require("./system/render-check");
36
37
  const merge_preview_1 = require("./system/sketch/merge-preview");
37
38
  const sketch_1 = require("./system/sketch/sketch");
38
39
  exports.SKETCH_USAGE = [
39
- 'sketch new <layer>/<name> --variants a,b --by <model id> [--like <layer>/<name>[:<variant>]] [--round <title>] [--note <text>] [--variant-note <variant>=<text>]… [--product <name>]',
40
+ 'sketch new <layer>/<name> [<layer>/<name>…] --variants a,b --by <model id> [--like <layer>/<name>[:<variant>]] [--round <title>] [--note <text>] [--variant-note <variant>=<text>]… [--override | --into-base] [--product <name>]',
40
41
  'sketch variant <layer>/<name> <variant>[,<variant>…] --from <variant> --by <model id> [--round <title> --note <why the running round lost> [--round-note <what the new round shows>]] [--product <name>]',
41
42
  'sketch round <layer>/<name> <round> [--title <text>] [--note <text>] [--drops <state,state>] --by <model id> [--product <name>]',
42
43
  'sketch list [--product <name>] [--json]',
43
44
  'sketch report <layer>/<name> --variant <key> --by <model id> (<text> | --done) [--product <name>]',
44
45
  'sketch ready <layer>/<name> --by <model id> [--product <name>]',
46
+ 'sketch hold <layer>/<name> --until <what the change waits on> --by <model id> [--product <name>]',
47
+ 'sketch release <layer>/<name> --by <model id> [--product <name>]',
45
48
  'sketch check [<layer>/<name>] [--fix] [--product <name>]',
46
49
  'sketch preview <layer>/<name> <variant> [--product <name>] [--json]',
47
50
  'sketch rebase <layer>/<name> --by <model id> [--product <name>]',
48
- 'sketch merge <layer>/<name> [--note <reason>] --by <model id> [--product <name>]',
51
+ 'sketch merge <layer>/<name> [--note <reason>] [--variant <key> --allowed-by <plan ref>] --by <model id> [--product <name>]',
49
52
  'sketch discard <layer>/<name> --by <model id> [--product <name>]',
50
53
  'sketch reject <layer>/<name> --variant <key> [--reason <text>] --by <model id | designer> [--product <name>]',
51
54
  'sketch reopen <layer>/<name> --variant <key> [--reason <text>] --by <model id | designer> [--product <name>]',
@@ -55,13 +58,17 @@ const FLAG_HELP = {
55
58
  '--variant-note': "the note of one variant, kept in sketch.json apart from the part's merged note; repeat it per variant: a=<text>",
56
59
  '--by': 'the exact model id the coordinator gave you, e.g. claude-opus-5-5',
57
60
  '--like': 'start each variant from another part, or from a variant of the open sketch on it',
61
+ '--override': 'on a base part: merge into a product copy that overrides the base, not into the base; on a product override: sketch that copy',
62
+ '--into-base': 'on a part the product overrides: start from the product copy, merge into the base and remove the copy',
58
63
  '--round': 'the title of a new round',
59
64
  '--round-note': 'what the new round shows',
60
65
  '--from': 'the variant to copy',
61
66
  '--title': 'the new title of the round',
62
67
  '--drops': 'the states the round drops on purpose, a comma list',
63
- '--variant': 'the variant the command is about',
68
+ '--variant': 'the variant the command is about; on merge, the only live variant of a sketch with no pick',
69
+ '--allowed-by': 'the plan entry that lets the merge go without a pick in Studio; logged in accepted.json, needs --variant',
64
70
  '--reason': 'why; on reject of a variant that is rejected already it sets the reason of that rejection; stored with who wrote it',
71
+ '--until': 'what the pending change waits on: an open decision, a helper still to land',
65
72
  '--done': 'end the live report of the variant',
66
73
  '--product': 'the product; needed only when config.json declares more than one and no other product has the sketch',
67
74
  '--json': 'print JSON',
@@ -83,7 +90,19 @@ const sketchFlagHelpOf = (usage) => {
83
90
  };
84
91
  exports.sketchFlagHelpOf = sketchFlagHelpOf;
85
92
  const VERDICTS = new Set(['reject', 'reopen']);
86
- const WRITES = new Set(['new', 'variant', 'round', 'report', 'ready', 'rebase', 'merge', 'discard', ...VERDICTS]);
93
+ const WRITES = new Set([
94
+ 'new',
95
+ 'variant',
96
+ 'round',
97
+ 'report',
98
+ 'ready',
99
+ 'hold',
100
+ 'release',
101
+ 'rebase',
102
+ 'merge',
103
+ 'discard',
104
+ ...VERDICTS,
105
+ ]);
87
106
  const fail = (message) => {
88
107
  console.error(message);
89
108
  return 1;
@@ -133,47 +152,57 @@ const withSketch = (context, run) => {
133
152
  };
134
153
  const partFileOf = (options) => {
135
154
  var _a;
136
- const { root, sketch, variant } = options;
137
- const name = (_a = sketch.target.split('/').pop()) !== null && _a !== void 0 ? _a : '';
138
- return (0, path_1.relative)(root, (0, path_1.resolve)(sketch.dir, variant, sketch.target, `${name}.ts`));
155
+ const { root, sketch, variant, part } = options;
156
+ const name = (_a = part.split('/').pop()) !== null && _a !== void 0 ? _a : '';
157
+ return (0, path_1.relative)(root, (0, path_1.resolve)(sketch.dir, variant, part, `${name}.ts`));
139
158
  };
140
159
  const variantLineOf = (options) => {
141
160
  const { root, sketch, variant } = options;
142
- return ` ${variant}: ${partFileOf(options)} assets: ${(0, path_1.relative)(root, (0, path_1.resolve)(sketch.dir, variant, assets_1.ASSETS_FOLDER))}/`;
161
+ const files = sketch.targets.map((part) => partFileOf(Object.assign(Object.assign({}, options), { part }))).join(', ');
162
+ return ` ${variant}: ${files} assets: ${(0, path_1.relative)(root, (0, path_1.resolve)(sketch.dir, variant, assets_1.ASSETS_FOLDER))}/`;
143
163
  };
144
164
  const created = (context) => {
145
- var _a, _b, _c, _d;
165
+ var _a, _b, _c, _d, _e;
146
166
  const { target, config, args } = context;
147
167
  const product = (0, cli_args_1.oneProductOf)({ target, config, asked: args.values['--product'] });
148
168
  if (typeof product === 'string')
149
169
  return fail(product);
150
- const parsed = (0, sketch_1.parseTarget)(args.positional[0]);
151
- if (typeof parsed === 'string')
152
- return fail(parsed);
153
- const variants = ((_a = args.values['--variants']) !== null && _a !== void 0 ? _a : '').split(',').filter((variant) => variant !== '');
154
- const notes = variantNotesOf((_b = args.repeated['--variant-note']) !== null && _b !== void 0 ? _b : [], variants);
170
+ const [parsed, ...others] = (args.positional.length > 0 ? args.positional : [undefined]).map(sketch_1.parseTarget);
171
+ const unknown = [parsed, ...others].find((entry) => typeof entry === 'string');
172
+ if (typeof unknown === 'string')
173
+ return fail(unknown);
174
+ if (parsed === undefined || typeof parsed === 'string')
175
+ return fail((_a = exports.SKETCH_USAGE[0]) !== null && _a !== void 0 ? _a : '');
176
+ const variants = ((_b = args.values['--variants']) !== null && _b !== void 0 ? _b : '').split(',').filter((variant) => variant !== '');
177
+ const notes = variantNotesOf((_c = args.repeated['--variant-note']) !== null && _c !== void 0 ? _c : [], variants);
155
178
  if (typeof notes === 'string')
156
179
  return fail(notes);
157
- if (args.values['--round'] !== undefined && ((_c = args.values['--note']) !== null && _c !== void 0 ? _c : '').trim() === '')
180
+ if (args.values['--round'] !== undefined && ((_d = args.values['--note']) !== null && _d !== void 0 ? _d : '').trim() === '')
158
181
  return fail(`--round needs --note "<what the round shows>" - sketch ready refuses a round without a note`);
159
182
  const asked = args.values['--like'];
160
183
  const like = asked === undefined ? undefined : (0, sketch_1.sketchSourceOf)({ product, like: asked });
161
184
  if (typeof like === 'string')
162
185
  return fail(like);
186
+ const override = args.flags.has('--override');
187
+ const intoBase = args.flags.has('--into-base');
188
+ if (override && intoBase)
189
+ return fail('pass --override or --into-base, not both');
163
190
  const sketch = (0, sketch_1.createSketch)({
164
191
  product,
165
192
  sketch: parsed,
193
+ others: others.filter((entry) => typeof entry !== 'string'),
166
194
  variants,
167
195
  roundTitle: args.values['--round'],
168
196
  roundNote: args.values['--note'],
169
- author: (_d = (0, cli_args_1.authorOf)(args)) !== null && _d !== void 0 ? _d : undefined,
197
+ author: (_e = (0, cli_args_1.authorOf)(args)) !== null && _e !== void 0 ? _e : undefined,
170
198
  like,
171
199
  variantNotes: notes,
200
+ merge: override ? 'override' : intoBase ? 'into-base' : undefined,
172
201
  });
173
202
  if (typeof sketch === 'string')
174
203
  return fail(sketch);
175
204
  (0, check_format_1.formatSketch)({ target, sketch, variants: sketch.variants });
176
- console.log(`${sketch.target} in progress: ${(0, path_1.relative)(target, sketch.dir)} with ${sketch.variants.join(', ')}`);
205
+ console.log(`${sketch.targets.join(', ')} in progress: ${(0, path_1.relative)(target, sketch.dir)} with ${sketch.variants.join(', ')}`);
177
206
  for (const variant of sketch.variants)
178
207
  console.log(variantLineOf({ root: target, sketch, variant }));
179
208
  const shared = (0, sketch_1.sourceFilesIn)((0, sketch_1.sharedDirOf)(sketch));
@@ -304,7 +333,7 @@ const listed = (context) => {
304
333
  : ', discard asked'
305
334
  : '';
306
335
  const rejected = sketch.variants.filter((variant) => (0, sketch_1.rejectionOf)(sketch, variant));
307
- console.log(`${sketch.product} ${sketch.target} ${sketch.status} ${sketch.variants.join(', ')}${decided}${rejected.length > 0 ? `, rejected ${rejected.join(', ')}` : ''}`);
336
+ console.log(`${sketch.product} ${sketch.target} ${sketch.status} ${sketch.variants.join(', ')}${decided}${rejected.length > 0 ? `, rejected ${rejected.join(', ')}` : ''}${sketch.hold ? `, held until: ${sketch.hold.until}` : ''}`);
308
337
  for (const round of sketch.rounds) {
309
338
  const variants = sketch.variants.filter((variant) => { var _a; return ((_a = sketch.variantInfo[variant]) === null || _a === void 0 ? void 0 : _a.round) === round.key; });
310
339
  console.log(` ${round.key} ${round.title} ${variants.join(', ')}${round.note === '' ? '' : ` - ${round.note}`}${round.lost ? ` - lost: ${round.lost}` : ''}`);
@@ -357,17 +386,37 @@ const readied = (context) => {
357
386
  const found = productAndSketchOf(context);
358
387
  if (typeof found === 'string')
359
388
  return fail(found);
360
- const status = markedReady(context, found);
361
- if (typeof status === 'number')
362
- return status;
363
- return autoMerged(Object.assign(Object.assign({ context }, found), { sketch: status.ready, again: found.sketch.status === 'ready' }));
389
+ const hold = (0, sketch_1.heldProblemOf)(found.sketch);
390
+ if (hold !== null)
391
+ return fail(hold);
392
+ const refused = readyRefusalOf(context, found);
393
+ if (refused !== null)
394
+ return refused;
395
+ return loadedAndReady(context, found);
364
396
  };
397
+ const loadedAndReady = (context_1, _a) => __awaiter(void 0, [context_1, _a], void 0, function* (context, { product, sketch }) {
398
+ var _b;
399
+ const unloaded = yield (0, ready_shots_1.variantsThatDoNotLoad)({ target: context.target, config: context.config, product, sketch });
400
+ if (unloaded.length > 0)
401
+ return fail(`${unloaded.map((line) => `${sketch.target} ${line}`).join('\n')}\n${sketch.target} does not load - fix it before ready`);
402
+ const ready = sketch.status === 'ready'
403
+ ? sketch
404
+ : (0, sketch_1.markSketchReady)({ checkout: context.target, sketch, author: (_b = (0, cli_args_1.authorOf)(context.args)) !== null && _b !== void 0 ? _b : undefined });
405
+ if (typeof ready === 'string')
406
+ return fail(ready);
407
+ return autoMerged({ context, product, sketch: ready, again: sketch.status === 'ready' });
408
+ });
365
409
  const autoMerged = (options) => __awaiter(void 0, void 0, void 0, function* () {
366
410
  var _a, _b;
367
411
  const { context, product, sketch, again } = options;
368
412
  if (!again)
369
413
  console.log(`${sketch.target} is ready`);
370
- if (!product.parts.some((part) => (0, resolve_product_1.partKeyOf)(part) === sketch.target)) {
414
+ for (const variant of sketch.variants.filter((candidate) => !(0, sketch_1.rejectionOf)(sketch, candidate))) {
415
+ const { shared } = (0, merge_preview_1.mergePreviewOf)({ product, sketch, variant });
416
+ if (shared.length > 0)
417
+ console.log(`variant ${variant}: a shared/ edit reaches ${shared.join(', ')}`);
418
+ }
419
+ if (!sketch.targets.every((key) => product.parts.some((part) => (0, resolve_product_1.partKeyOf)(part) === key))) {
371
420
  console.log('auto-merge skipped: new part, the user merges');
372
421
  return again ? fail(`${sketch.target} is ready, not in progress`) : 0;
373
422
  }
@@ -386,34 +435,52 @@ const autoMerged = (options) => __awaiter(void 0, void 0, void 0, function* () {
386
435
  console.warn(`${sketch.target} shows no visible change but did not merge: ${result.reason}`);
387
436
  return 0;
388
437
  }
389
- (0, merged_parts_1.recordAutoMerge)({ product, part: sketch.target, by: author !== null && author !== void 0 ? author : 'user' });
390
- console.log(`No visible change in any state: merged ${sketch.target} automatically.`);
438
+ for (const part of sketch.targets)
439
+ (0, merged_parts_1.recordAutoMerge)({ product, part, by: author !== null && author !== void 0 ? author : 'user' });
440
+ console.log(`No visible change in any state: merged ${sketch.targets.join(', ')} automatically.`);
391
441
  return 0;
392
442
  });
393
- const markedReady = (context, { product, sketch }) => {
394
- var _a;
443
+ const readyRefusalOf = (context, { product, sketch }) => {
395
444
  const lineOf = (variant, problem) => `${sketch.target} ${variant}: ${problem.rule} ${(0, path_1.relative)(context.target, problem.file)}: ${problem.message}`;
396
445
  const found = (0, check_sketches_1.variantProblemsOf)({ product, sketch });
397
446
  found.forEach(({ variant, before }) => before.forEach((problem) => console.warn(`NOTE (was there before) ${lineOf(variant, problem)}`)));
398
- const problems = found.flatMap(({ variant, problems }) => [...problems, ...(0, check_format_1.formatProblemsOf)({ target: context.target, sketch, variant })].map((problem) => lineOf(variant, problem)));
447
+ const problems = found.flatMap(({ variant, problems }) => [
448
+ ...problems,
449
+ ...(0, check_format_1.formatProblemsOf)({ target: context.target, sketch, variant }),
450
+ ...((0, sketch_1.rejectionOf)(sketch, variant) ? [] : (0, unused_closure_1.unusedInVariantOf)({ product, sketch, variant })),
451
+ ].map((problem) => lineOf(variant, problem)));
399
452
  sketch.variants.forEach((variant) => (0, check_sketches_1.variantWarningsOf)({ target: context.target, product, sketch, variant }).forEach((warning) => console.warn(`${sketch.target} ${variant}: ${warning}`)));
400
453
  if (problems.length > 0)
401
454
  return fail(`${problems.join('\n')}\n${sketch.target} has problems - fix them before ready`);
402
455
  const running = (0, sketch_1.runningRoundOf)(sketch);
403
456
  if (running.note.trim() === '')
404
457
  return fail(`${sketch.target} round ${running.key} has no note - set it with: sketch round ${sketch.target} ${running.key} --note "<what the round shows>" --by <model id>`);
405
- if (sketch.status === 'ready')
406
- return { ready: sketch };
407
- const ready = (0, sketch_1.markSketchReady)({ checkout: context.target, sketch, author: (_a = (0, cli_args_1.authorOf)(context.args)) !== null && _a !== void 0 ? _a : undefined });
408
- if (typeof ready === 'string')
409
- return fail(ready);
410
- return { ready };
458
+ return null;
411
459
  };
412
460
  const rebased = (context) => withSketch(context, ({ product, sketch }) => {
413
461
  (0, sketch_1.rebaseSketch)({ product, sketch });
414
462
  console.log(`${sketch.target} now compares with the product as it is`);
415
463
  return 0;
416
464
  });
465
+ const held = (context) => withSketch(context, ({ sketch }) => {
466
+ var _a, _b, _c;
467
+ const until = context.args.values['--until'];
468
+ if (context.args.positional.length !== 1 || until === undefined)
469
+ return fail(`usage: sketch hold <layer>/<name> --until <what the change waits on> --by <model id> [--product <name>]`);
470
+ const wasReady = sketch.status === 'ready';
471
+ const holding = (0, sketch_1.holdSketch)({ sketch, until, by: (_a = (0, cli_args_1.authorOf)(context.args)) !== null && _a !== void 0 ? _a : '' });
472
+ if (typeof holding === 'string')
473
+ return fail(holding);
474
+ console.log(`${holding.target} is held until: ${(_c = (_b = holding.hold) === null || _b === void 0 ? void 0 : _b.until) !== null && _c !== void 0 ? _c : ''}${wasReady ? ' - back in progress, out of the merge queue' : ''}`);
475
+ return 0;
476
+ });
477
+ const released = (context) => withSketch(context, ({ sketch }) => {
478
+ const freed = (0, sketch_1.releaseSketch)({ sketch });
479
+ if (typeof freed === 'string')
480
+ return fail(freed);
481
+ console.log(`${freed.target} is no longer held - mark it ready once the change is in`);
482
+ return 0;
483
+ });
417
484
  const checked = (context) => __awaiter(void 0, void 0, void 0, function* () {
418
485
  var _a, _b;
419
486
  const { target, config, args } = context;
@@ -430,6 +497,10 @@ const checked = (context) => __awaiter(void 0, void 0, void 0, function* () {
430
497
  let failed = asked === undefined && unreadable.length > 0;
431
498
  if (asked === undefined)
432
499
  unreadable.forEach((problem) => console.error(`${problem.rule} ${(0, path_1.relative)(target, problem.file)}: ${problem.message}`));
500
+ new Set(chosen.map((entry) => entry.sketch)).forEach((sketch) => {
501
+ if (sketch.hold)
502
+ console.warn(`HELD ${sketch.target}: until ${sketch.hold.until}`);
503
+ });
433
504
  for (const { sketch, variant, problems, before } of chosen) {
434
505
  const typed = (0, check_sketches_1.typecheckVariant)({ target, product, sketch, variant });
435
506
  before.forEach((problem) => console.warn(`NOTE (was there before) ${sketch.target} ${variant}: ${problem.rule} ${(0, path_1.relative)(target, problem.file)}: ${problem.message}`));
@@ -496,26 +567,44 @@ const previewed = (context) => withSketch(context, ({ product, sketch }) => {
496
567
  }
497
568
  else {
498
569
  console.log(`changes: ${preview.changed.join(', ')}`);
570
+ if (preview.shared.length > 0)
571
+ console.log(`a shared/ edit reaches: ${preview.shared.join(', ')}`);
499
572
  console.log(`shows: ${preview.affected.join(', ') || 'no other element or page'}`);
500
573
  }
501
574
  return 0;
502
575
  });
576
+ const allowedMergeOf = (options) => {
577
+ const { sketch, variant } = options;
578
+ const live = sketch.variants.filter((candidate) => !(0, sketch_1.rejectionOf)(sketch, candidate));
579
+ if (live.length !== 1 || live[0] !== variant)
580
+ return `${sketch.target} has ${live.length} live variants (${live.join(', ') || 'none'}), not only "${variant}" - the user picks in Studio`;
581
+ return (0, sketch_1.decideSketch)({ sketch, decision: { kind: 'pick', variant } });
582
+ };
503
583
  const merged = (context) => withSketch(context, ({ product, sketch }) => {
504
- var _a, _b;
505
- const note = context.args.values['--note'];
584
+ var _a, _b, _c, _d;
585
+ const { '--note': note, '--variant': flagVariant, '--allowed-by': planRef } = context.args.values;
506
586
  if (context.args.positional.length > 1)
507
587
  return fail(`usage: sketch merge <layer>/<name> [--note <reason>] - it merges the variant the user picked`);
588
+ if ((flagVariant === undefined) !== (planRef === undefined))
589
+ return fail('--variant and --allowed-by go together: name the only live variant and the plan that allows the merge');
590
+ const allowed = flagVariant !== undefined && planRef !== undefined && ((_a = sketch.decision) === null || _a === void 0 ? void 0 : _a.kind) !== 'pick';
591
+ const decidedSketch = allowed ? allowedMergeOf({ sketch, variant: flagVariant }) : sketch;
592
+ if (typeof decidedSketch === 'string')
593
+ return fail(decidedSketch);
508
594
  const result = (0, merge_1.mergeSketch)({
509
595
  target: context.target,
510
596
  config: context.config,
511
597
  product,
512
- sketch,
598
+ sketch: decidedSketch,
513
599
  note,
514
- author: (_a = (0, cli_args_1.authorOf)(context.args)) !== null && _a !== void 0 ? _a : undefined,
600
+ author: (_b = (0, cli_args_1.authorOf)(context.args)) !== null && _b !== void 0 ? _b : undefined,
515
601
  });
516
602
  if (!Array.isArray(result))
517
603
  return fail(result.reason);
518
- const variant = ((_b = sketch.decision) === null || _b === void 0 ? void 0 : _b.kind) === 'pick' ? sketch.decision.variant : '';
604
+ if (allowed)
605
+ for (const part of sketch.targets)
606
+ (0, merged_parts_1.recordAllowedMerge)({ product, part, by: (_c = (0, cli_args_1.authorOf)(context.args)) !== null && _c !== void 0 ? _c : 'user', planRef: planRef.trim() });
607
+ const variant = ((_d = decidedSketch.decision) === null || _d === void 0 ? void 0 : _d.kind) === 'pick' ? decidedSketch.decision.variant : '';
519
608
  console.log(`merged ${sketch.target} variant ${variant} into ${product.name}: ${result.join(', ')}`);
520
609
  return 0;
521
610
  });
@@ -567,6 +656,8 @@ const COMMANDS = {
567
656
  list: listed,
568
657
  report: reported,
569
658
  ready: readied,
659
+ hold: held,
660
+ release: released,
570
661
  check: checked,
571
662
  preview: previewed,
572
663
  rebase: rebased,
@@ -597,6 +688,8 @@ const designSketch = (options) => {
597
688
  '--drops',
598
689
  '--variant-note',
599
690
  '--reason',
691
+ '--allowed-by',
692
+ '--until',
600
693
  ]);
601
694
  const unauthored = typeof args !== 'string' && WRITES.has(command) && (0, cli_args_1.authorOf)(args) === null;
602
695
  if (!run || typeof args === 'string' || unauthored) {
@@ -1 +1 @@
1
- {"version":3,"file":"sketch-command.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/sketch-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sketch-command.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/sketch-command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAmE;AACnE,+BAAyC;AAEzC,4CAAgD;AAChD,uDAAoF;AACpF,8CAAgD;AAEhD,8DAAsE;AACtE,+DAA8E;AAC9E,mEAKwC;AACxC,uDAAwH;AACxH,+CAAyE;AACzE,iDAAmE;AACnE,+DAAmF;AACnF,wDAA0E;AAC1E,iEAA+D;AAC/D,mDAwBgC;AAEnB,QAAA,YAAY,GAAG;IAC1B,mOAAmO;IACnO,0MAA0M;IAC1M,iIAAiI;IACjI,yCAAyC;IACzC,mGAAmG;IACnG,gEAAgE;IAChE,kGAAkG;IAClG,kEAAkE;IAClE,0DAA0D;IAC1D,qEAAqE;IACrE,iEAAiE;IACjE,4HAA4H;IAC5H,kEAAkE;IAClE,8GAA8G;IAC9G,8GAA8G;CAC/G,CAAC;AAEF,MAAM,SAAS,GAA2B;IACxC,YAAY,EAAE,kDAAkD;IAChE,gBAAgB,EACd,iHAAiH;IACnH,MAAM,EAAE,mEAAmE;IAC3E,QAAQ,EAAE,kFAAkF;IAC5F,YAAY,EACV,+HAA+H;IACjI,aAAa,EACX,uGAAuG;IACzG,SAAS,EAAE,0BAA0B;IACrC,cAAc,EAAE,0BAA0B;IAC1C,QAAQ,EAAE,qBAAqB;IAC/B,SAAS,EAAE,4BAA4B;IACvC,SAAS,EAAE,qDAAqD;IAChE,WAAW,EAAE,4FAA4F;IACzG,cAAc,EACZ,0GAA0G;IAC5G,UAAU,EACR,qHAAqH;IACvH,SAAS,EAAE,4EAA4E;IACvF,QAAQ,EAAE,oCAAoC;IAC9C,WAAW,EAAE,sGAAsG;IACnH,QAAQ,EAAE,YAAY;IACtB,OAAO,EAAE,4DAA4D;CACtE,CAAC;AAEF,MAAM,eAAe,GACnB,6IAA6I,CAAC;AAEhJ,MAAM,SAAS,GAA2B;IACxC,GAAG,EAAE,4BAA4B;IACjC,OAAO,EAAE,iDAAiD;IAC1D,KAAK,EAAE,sBAAsB;IAC7B,KAAK,EAAE,kBAAkB;CAC1B,CAAC;AAEF,6EAA6E;AACtE,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,EAAE;;IAChD,MAAM,OAAO,GAAG,MAAA,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC;IAC1C,MAAM,IAAI,iDACL,SAAS,KACZ,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,KACzB,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC9D,CAAC;IAEF,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAA,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,mCAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACrE,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CACtE,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,gBAAgB,oBAW3B;AAEF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE/C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC;IACrB,KAAK;IACL,SAAS;IACT,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,SAAS;IACT,QAAQ;IACR,OAAO;IACP,SAAS;IACT,GAAG,QAAQ;CACZ,CAAC,CAAC;AAIH,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,EAAE;IAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEvB,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,OAAgB,EAAE,GAAqD,EAAE,EAAE;;IACvG,OAAA,MAAM,CAAC,IAAI,CAAC,MAAA,OAAO,CAAC,MAAM,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACzD,GAAG,CAAC,IAAA,sBAAY,EAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CACnE,CAAA;CAAA,CAAC;AAEJ;;;GAGG;AACH,MAAM,eAAe,GAAG,CAAC,OAAgB,EAA4B,EAAE;;IACrE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAA,MAAM,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC;IAEpD,IAAI,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAA,uBAAY,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAE/F,MAAM,MAAM,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,OAAO,GACX,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS;QAC9B,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CACpD,IAAA,qBAAY,EAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CACnF;QACH,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ;YAC1B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,oBAAoB,CAClB,OAAO,EACP,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,IAAA,mBAAU,EAAC,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,IAAI,CACtF,CAAC;IAEV,OAAO,IAAA,uBAAY,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;AAChG,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,OAAgB,EAAyD,EAAE;;IACrG,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACzB,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAEzC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAEhD,MAAM,MAAM,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/C,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAE9C,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE9F,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,gBAAgB,IAAA,2BAAS,EAAC,MAAM,CAAC,OAAO,OAAO,CAAC,IAAI,GAAG,MAAA,OAAO,CAAC,YAAY,mCAAI,EAAE,EAAE,CAAC;IAChH,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAE,GAAoE,EAAE,EAAE;IAC5G,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE1C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,OAAwE,EAAE,EAAE;;IAC9F,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAChD,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,mCAAI,EAAE,CAAC;IAEzC,OAAO,IAAA,eAAQ,EAAC,IAAI,EAAE,IAAA,cAAO,EAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,OAA0D,EAAE,EAAE;IACnF,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,iCAAM,OAAO,KAAE,IAAI,IAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAExF,OAAO,KAAK,OAAO,KAAK,KAAK,aAAa,IAAA,eAAQ,EAAC,IAAI,EAAE,IAAA,cAAO,EAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,sBAAa,CAAC,CAAC,GAAG,CAAC;AAC3G,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,OAAgB,EAAE,EAAE;;IACnC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACzC,MAAM,OAAO,GAAG,IAAA,uBAAY,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAElF,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;IAEtD,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAW,CAAC,CAAC;IAC1G,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;IAE/E,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,MAAA,oBAAY,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC,CAAC;IAE3F,MAAM,QAAQ,GAAG,CAAC,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,mCAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;IAClG,MAAM,KAAK,GAAG,cAAc,CAAC,MAAA,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,mCAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;IAE9E,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;IAElD,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,SAAS,IAAI,CAAC,MAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;QACrF,OAAO,IAAI,CAAC,6FAA6F,CAAC,CAAC;IAE7G,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,uBAAc,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAExF,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAE/C,IAAI,QAAQ,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAElF,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC;QAC1B,OAAO;QACP,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;QAC3D,QAAQ;QACR,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAClC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChC,MAAM,EAAE,MAAA,IAAA,mBAAQ,EAAC,IAAI,CAAC,mCAAI,SAAS;QACnC,IAAI;QACJ,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;KAClE,CAAC,CAAC;IAEH,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IAEpD,IAAA,2BAAY,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CACT,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAA,eAAQ,EAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/G,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAErG,MAAM,MAAM,GAAG,IAAA,sBAAa,EAAC,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC,CAAC;IAElD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAC;QACnG,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAA,eAAQ,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAEvE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE;;IACtD,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,cAAc,OAAO,EAAE,CAAC;IACnD,MAAM,KAAK,GAAG,MAAA,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,mCAAI,OAAO,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAA,uBAAc,EAAC,MAAM,CAAC,CAAC;IAEvC,OAAO;QACL,OAAO;QACP,mBAAmB,EAAE,cAAc,KAAK,+DAA+D;QACvG,mBAAmB,EAAE,cAAc,KAAK,0GAA0G;QAClJ,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;YAC5B,CAAC,CAAC;gBACE,kBAAkB,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,cAAc,OAAO,kDAAkD;aACtH;YACH,CAAC,CAAC,EAAE,CAAC;QACP,kBAAkB,EAAE,EAAE;QACtB,kBAAkB,EAAE,kBAAkB;KACvC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,KAAe,EAAE,QAAkB,EAAgC,EAAE;IAC3F,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IAExC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAErC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC1C,OAAO,qDAAqD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB,UAAU,IAAI,GAAG,CAAC;QAEvH,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,aAAa,GACjB,8KAA8K,CAAC;AAEjL,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAE,EAAE;;IAClC,OAAA,UAAU,iCAEH,OAAO,KACV,YAAY,EAAE,iCAAiC,MAAA,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,mCAAI,gBAAgB,qCAAqC,KAEpI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;;QACb,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QAC5C,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;QAEzC,IACE,UAAU,CAAC,MAAM,KAAK,CAAC;YACvB,CAAC,OAAO;YACR,CAAC,IAAI;YACL,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC;YAClD,CAAC,KAAK,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,CAAC;YAEhD,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;QAE7B,MAAM,IAAI,GACR,KAAK,KAAK,SAAS;YACjB,CAAC,CAAC,IAAA,0BAAgB,EAAC,EAAE,UAAU,EAAE,IAAA,cAAO,EAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACpG,CAAC,CAAC,EAAE,CAAC;QAET,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YACjB,OAAO,IAAI,CACT;gBACE,GAAG,MAAM,CAAC,MAAM,QAAQ,IAAI,CAAC,MAAM,oEAAoE;gBACvG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,eAAC,OAAA,KAAK,OAAO,CAAC,EAAE,OAAO,MAAA,MAAA,OAAO,CAAC,MAAM,0CAAE,OAAO,mCAAI,EAAE,KAAK,OAAO,CAAC,IAAI,EAAE,CAAA,EAAA,CAAC;gBAChG,kBAAkB,MAAM,CAAC,MAAM,IAAI,OAAO,qHAAqH;gBAC/J,2FAA2F;aAC5F,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QAEJ,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;QAEjH,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAA,sBAAa,EAAC,IAAI,CAAC,CAAC,CAAC;QAE9D,IAAI,OAAO,KAAK,SAAS;YACvB,OAAO,IAAI,CAAC,IAAI,OAAO,oFAAoF,CAAC,CAAC;QAC/G,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,2BAA2B,KAAK,GAAG,CAAC,CAAC;QAE1F,IAAI,KAAK,GAAG,MAAM,CAAC;QAEnB,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAA,mBAAU,kBACrB,MAAM,EAAE,KAAK,EACb,OAAO,EAAE,IAAI,EACb,IAAI,EACJ,MAAM,EAAE,MAAA,IAAA,mBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,mCAAI,SAAS,IACxC,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS;gBAC9D,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;gBACjD,CAAC,CAAC,EAAE,CAAC,EACP,CAAC;YAEH,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;YAEhD,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,eAAC,OAAA,KAAK,CAAC,GAAG,MAAK,MAAA,KAAK,CAAC,WAAW,CAAC,MAAA,QAAQ,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC,0CAAE,KAAK,CAAA,CAAA,EAAA,CAAC,CAAC;QAEtG,MAAM,QAAQ,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEzF,IAAI,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,KAAK,UAAU,MAAA,QAAQ,CAAC,IAAI,mCAAI,EAAE,EAAE,CAAC,CAAC;QAEtG,IAAA,2BAAY,EAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAElE,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,yBAAyB,IAAI,SAAS,IAAI,aAAa,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,mCAAI,EAAE,EAAE,CAAC,CAAC;YACtG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACrF,CAAC;QAED,IAAI,KAAK,KAAK,SAAS,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,EAAE;YAC3C,OAAO,CAAC,GAAG,CACT,SAAS,KAAK,CAAC,GAAG,2DAA2D,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,kDAAkD,CACzJ,CAAC;QAEJ,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;QAElC,MAAM,SAAS,GAAG,IAAA,+BAAqB,EAAC;YACtC,MAAM;YACN,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,MAAA,IAAA,mBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,mCAAI,SAAS;YAC3C,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG;SAClB,CAAC,CAAC;QAEH,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YACtB,OAAO,CAAC,GAAG,CACT,aAAa,SAAS,CAAC,MAAM,0BAA0B,IAAI,aAAa,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,mCAAI,EAAE,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxI,CAAC;QAEJ,OAAO,CAAC,CAAC;IACX,CAAC,CACF,CAAA;CAAA,CAAC;AAEJ,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAE,EAAE;IAClC,MAAM,KAAK,GAAG,IAAA,yBAAc,EAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAElG,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACtC,IAAA,qBAAY,EAAC,EAAE,UAAU,EAAE,IAAA,sBAAY,EAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CACrG,CAAC;IACF,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAoB,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC;IAC7F,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAoB,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC;IAEvF,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAExD,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAkB,EAAE,EAAE;gBAAtB,EAAE,GAAG,OAAa,EAAR,MAAM,cAAhB,OAAkB,CAAF;YAAO,OAAA,iCAAM,MAAM,KAAE,GAAG,EAAE,IAAA,eAAQ,EAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,IAAG,CAAA;SAAA,CAAC,EACrF,IAAI,EACJ,CAAC,CACF,CACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ;gBAC7B,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM;oBAC/B,CAAC,CAAC,YAAY,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;oBACvC,CAAC,CAAC,iBAAiB;gBACrB,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,oBAAW,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YAEnF,OAAO,CAAC,GAAG,CACT,GAAG,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5N,CAAC;YAEF,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,0CAAE,KAAK,MAAK,KAAK,CAAC,GAAG,CAAA,EAAA,CAAC,CAAC;gBAEvG,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACtJ,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,OAAgB,EAAE,EAAE,CACpC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,IAAA,mBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE9C,IAAI,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM;QAClD,OAAO,IAAI,CACT,gLAAgL,CACjL,CAAC;IAEJ,IAAI,IAAI,EAAE,CAAC;QACT,IAAA,2BAAkB,EAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,YAAY,OAAO,cAAc,CAAC,CAAC;QAE/D,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,qBAAY,EAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAE9F,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;IAExD,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,MAAM,YAAY,OAAO,KAAK,OAAO,EAAE,CAAC,CAAC;IAE3E,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEL,MAAM,WAAW,GACf,qHAAqH,CAAC;AAExH,MAAM,WAAW,GAAG,CAAC,OAAgB,EAAE,EAAE,CACvC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;;IACjC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAC5C,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAE5B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;IAEhE,MAAM,MAAM,GAAG,IAAA,kBAAS,EAAC;QACvB,MAAM;QACN,KAAK;QACL,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC;QACtB,KAAK,EAAE,MAAA,MAAM,CAAC,SAAS,CAAC,0CACpB,KAAK,CAAC,GAAG,EACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAC3B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;KACnC,CAAC,CAAC;IAEH,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IAEpD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC;IAEzE,OAAO,CAAC,GAAG,CACT,GAAG,MAAM,CAAC,MAAM,UAAU,KAAK,KAAK,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,mCAAI,EAAE,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAC,CAAC,CAAC,YAAY,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,EAAC,CAAC,CAAC,YAAY,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1M,CAAC;IAEF,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEL,MAAM,OAAO,GAAG,CAAC,OAAgB,EAAE,EAAE;IACnC,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE1C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,IAAI,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEzC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IAErC,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAE/C,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC;IAErC,OAAO,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,gBAA4F,EAAE,uDAAvF,OAAgB,EAAE,EAAE,OAAO,EAAE,MAAM,EAAgD;;IAC/G,MAAM,QAAQ,GAAG,MAAM,IAAA,mCAAqB,EAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAElH,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QACrB,OAAO,IAAI,CACT,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,sCAAsC,CACzH,CAAC;IAEJ,MAAM,KAAK,GACT,MAAM,CAAC,MAAM,KAAK,OAAO;QACvB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,IAAA,wBAAe,EAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAA,IAAA,mBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,mCAAI,SAAS,EAAE,CAAC,CAAC;IAEzG,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;IAElD,OAAO,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC,CAAC;AAC3F,CAAC,CAAA,CAAC;AAEF,MAAM,UAAU,GAAG,CAAO,OAAuF,EAAE,EAAE;;IACnH,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAEpD,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC;IAErD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAA,oBAAW,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;QAC7F,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,8BAAc,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAEhE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,4BAA4B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxG,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,2BAAS,EAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;QAC1F,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAE7D,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,IAAA,+BAAiB,EAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAE9G,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QAE/C,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,MAAM,GAAG,MAAA,IAAA,mBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,mCAAI,SAAS,CAAC;IACnD,MAAM,OAAO,GAAG,MAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAA,oBAAW,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC,mCAAI,EAAE,CAAC;IAC3F,MAAM,OAAO,GAAG,IAAA,qBAAY,EAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAE9E,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAG,IAAA,mBAAW,EAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAEjH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,+CAA+C,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAE7F,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO;QAAE,IAAA,8BAAe,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,MAAM,EAAE,CAAC,CAAC;IAC5F,OAAO,CAAC,GAAG,CAAC,0CAA0C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAElG,OAAO,CAAC,CAAC;AACX,CAAC,CAAA,CAAC;AAEF,MAAM,cAAc,GAAG,CACrB,OAAgB,EAChB,EAAE,OAAO,EAAE,MAAM,EAAgD,EAClD,EAAE;IACjB,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,OAAgB,EAAE,EAAE,CACnD,GAAG,MAAM,CAAC,MAAM,IAAI,OAAO,KAAK,OAAO,CAAC,IAAI,IAAI,IAAA,eAAQ,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;IAC/G,MAAM,KAAK,GAAG,IAAA,kCAAiB,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAErD,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CACpC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CACjG,CAAC;IAEF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CACvD;QACE,GAAG,QAAQ;QACX,GAAG,IAAA,+BAAgB,EAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAChE,GAAG,CAAC,IAAA,oBAAW,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,kCAAiB,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;KACzF,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAC7C,CAAC;IAEF,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAClC,IAAA,kCAAiB,EAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1F,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC,CACxD,CACF,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,uCAAuC,CAAC,CAAC;IAEtH,MAAM,OAAO,GAAG,IAAA,uBAAc,EAAC,MAAM,CAAC,CAAC;IAEvC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;QAC5B,OAAO,IAAI,CACT,GAAG,MAAM,CAAC,MAAM,UAAU,OAAO,CAAC,GAAG,4CAA4C,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,kDAAkD,CAChK,CAAC;IAEJ,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,OAAgB,EAAE,EAAE,CACnC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;IAC1C,IAAA,qBAAY,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,yCAAyC,CAAC,CAAC;IAEvE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEL,MAAM,IAAI,GAAG,CAAC,OAAgB,EAAE,EAAE,CAChC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAE7C,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS;QAC7D,OAAO,IAAI,CACT,yGAAyG,CAC1G,CAAC;IAEJ,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAA,mBAAU,EAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAA,IAAA,mBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,mCAAI,EAAE,EAAE,CAAC,CAAC;IAEhF,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;IAEtD,OAAO,CAAC,GAAG,CACT,GAAG,OAAO,CAAC,MAAM,mBAAmB,MAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,KAAK,mCAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,6CAA6C,CAAC,CAAC,CAAC,EAAE,EAAE,CAChI,CAAC;IAEF,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEL,MAAM,QAAQ,GAAG,CAAC,OAAgB,EAAE,EAAE,CACpC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;IACjC,MAAM,KAAK,GAAG,IAAA,sBAAa,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAExC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;IAElD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,0DAA0D,CAAC,CAAC;IAEvF,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEL,MAAM,OAAO,GAAG,CAAO,OAAgB,EAAE,EAAE;;IACzC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACzC,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAEzC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;IAEtD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAA,qCAAoB,EAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;IAE1G,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,gBAAgB,KAAK,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAExG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;QACzB,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAC9D,IAAA,2BAAY,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAC5D,CAAC;IAEJ,IAAI,MAAM,GAAG,KAAK,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAE1D,IAAI,KAAK,KAAK,SAAS;QACrB,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC7B,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,IAAA,eAAQ,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CACvF,CAAC;IAEJ,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC9D,IAAI,MAAM,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,MAAM,WAAW,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,IAAA,iCAAgB,EAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAErE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CACzB,OAAO,CAAC,IAAI,CACV,2BAA2B,MAAM,CAAC,MAAM,IAAI,OAAO,KAAK,OAAO,CAAC,IAAI,IAAI,IAAA,eAAQ,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,CAC7H,CACF,CAAC;QAEF,IAAA,kCAAiB,EAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1E,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC,CACxD,CAAC;QAEF,MAAM,GAAG,GAAG;YACV,GAAG,QAAQ;YACX,GAAG,IAAA,+BAAgB,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAChD,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5G,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACjH,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,GAAG,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CACX,GAAG,MAAM,CAAC,MAAM,IAAI,OAAO,KAAK,OAAO,CAAC,IAAI,IAAI,IAAA,eAAQ,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,CACrG,CAAC;QACJ,CAAC;QAED,MAAM,KAAN,MAAM,GAAK,GAAG,CAAC,MAAM,GAAG,CAAC,EAAC;IAC5B,CAAC;IAED,IAAI,MAAM;QAAE,OAAO,CAAC,CAAC;IAErB,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAc,EAAC;QACpC,MAAM;QACN,MAAM;QACN,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;YACvC,MAAM,OAAO,GAAG,IAAA,8BAAc,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YAE7D,OAAO;gBACL,OAAO,EAAE,OAAO,CAAC,IAAI;gBACrB,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE;gBAC1C,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;aACjD,CAAC;QACJ,CAAC,CAAC;KACH,CAAC,CAAC;IAEH,IAAI,aAAa,IAAI,QAAQ;QAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;SACxF,CAAC;QACJ,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC3D,MAAM,KAAK,GAAG;gBACZ,GAAG,IAAI,GAAG,CACR,QAAQ,CAAC,MAAM;qBACZ,MAAM,CACL,CAAC,KAAK,EAAE,EAAE;;oBACR,OAAA,CAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,MAAM,OAAK,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA;wBACvC,CAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,OAAO,OAAK,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAA;wBACzC,KAAK,CAAC,IAAI,KAAK,IAAI;wBACnB,KAAK,CAAC,KAAK,KAAK,KAAK;wBACrB,KAAK,CAAC,IAAI,KAAK,IAAI,CAAA;iBAAA,CACtB;qBACA,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAC9B;aACF,CAAC;YAEF,OAAO,CAAC,GAAG,CACT,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,mCAAI,EAAE,IAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,mCAAI,EAAE,KAAK,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAC3G,CAAC;QACJ,CAAC;QAED,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,eAChD,OAAA,OAAO,CAAC,GAAG,CAAC,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,mCAAI,EAAE,IAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,mCAAI,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,CAAA,EAAA,CACjF,CAAC;QACF,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,uBAClC,OAAA,OAAO,CAAC,IAAI,CAAC,GAAG,MAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,MAAM,mCAAI,EAAE,IAAI,MAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,OAAO,mCAAI,EAAE,aAAa,IAAA,gCAAiB,EAAC,KAAK,CAAC,EAAE,CAAC,CAAA,EAAA,CAClH,CAAC;QACF,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,uBAChC,OAAA,OAAO,CAAC,KAAK,CAAC,GAAG,MAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,MAAM,mCAAI,EAAE,IAAI,MAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,OAAO,mCAAI,EAAE,KAAK,IAAA,gCAAiB,EAAC,KAAK,CAAC,EAAE,CAAC,CAAA,EAAA,CAC3G,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IAEjE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAElB,OAAO,CAAC,CAAC;AACX,CAAC,CAAA,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAE,EAAE,CACrC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAE3C,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;QAChD,OAAO,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,oBAAoB,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,cAAc,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE3G,MAAM,OAAO,GAAG,IAAA,8BAAc,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAE7D,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEtD,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEnG,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,0BAA0B,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEL,MAAM,cAAc,GAAG,CAAC,OAA4C,EAAE,EAAE;IACtE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAA,oBAAW,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAEpF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO;QAC1C,OAAO,GAAG,MAAM,CAAC,MAAM,QAAQ,IAAI,CAAC,MAAM,mBAAmB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,gBAAgB,OAAO,8BAA8B,CAAC;IAE9I,OAAO,IAAA,qBAAY,EAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;AACvE,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAE,EAAE,CAClC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;;IAC1C,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;IAElG,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;QACpC,OAAO,IAAI,CAAC,8FAA8F,CAAC,CAAC;IAC9G,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC;QACzD,OAAO,IAAI,CACT,uGAAuG,CACxG,CAAC;IAEJ,MAAM,OAAO,GAAG,WAAW,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,IAAI,CAAA,MAAA,MAAM,CAAC,QAAQ,0CAAE,IAAI,MAAK,MAAM,CAAC;IACvG,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAE1F,IAAI,OAAO,aAAa,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;IAElE,MAAM,MAAM,GAAG,IAAA,mBAAW,EAAC;QACzB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO;QACP,MAAM,EAAE,aAAa;QACrB,IAAI;QACJ,MAAM,EAAE,MAAA,IAAA,mBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,mCAAI,SAAS;KAC5C,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEvD,IAAI,OAAO;QACT,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO;YAC/B,IAAA,iCAAkB,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAA,IAAA,mBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,mCAAI,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEzG,MAAM,OAAO,GAAG,CAAA,MAAA,aAAa,CAAC,QAAQ,0CAAE,IAAI,MAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9F,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,MAAM,YAAY,OAAO,SAAS,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAErG,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEL,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAE,EAAE,CACrC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;;IACjC,MAAM,OAAO,GAAG,IAAA,qBAAa,EAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAA,IAAA,mBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,mCAAI,SAAS,EAAE,CAAC,CAAC;IAE/G,IAAI,OAAO;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;IAElC,OAAO,CAAC,GAAG,CAAC,2BAA2B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAExD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEL,MAAM,eAAe,GAAG,CAAC,EAAmB,EAAE,EAA+B,EAAE,EAAE,CAC/E,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AAElD,gFAAgF;AACzE,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE;;IAChE,MAAM,OAAO,GAAG,MAAA,MAAA,MAAM,CAAC,UAAU,0CAAG,OAAO,CAAC,mCAAI,EAAE,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;QAC3C,qBAAqB,SAAS,CAAC,EAAE,OAAO,SAAS,CAAC,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QACnK,GAAG,CAAC,SAAS,CAAC,QAAQ;YACpB,CAAC,CAAC;gBACE,qBAAqB,SAAS,CAAC,QAAQ,CAAC,EAAE,OAAO,SAAS,CAAC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;aACpJ;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,YAAY,OAAO,KAAK,IAAA,oBAAW,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;AAClH,CAAC,CAAC;AAZW,QAAA,cAAc,kBAYzB;AAEF,MAAM,MAAM,GAAG,CAAC,IAAyB,EAAE,EAAE,CAAC,CAAC,OAAgB,EAAE,EAAE,CACjE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;;IACjC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,CAAA,MAAA,MAAM,CAAC,UAAU,CAAC,0CAAE,IAAI,EAAE,KAAI,SAAS,CAAC;IACvD,MAAM,EAAE,GAAoB,IAAA,mBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;IAEzF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO;QACrC,OAAO,IAAI,CACT,iBAAiB,IAAI,iGAAiG,CACvH,CAAC;IAEJ,MAAM,QAAQ,GACZ,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAA,oBAAW,EAAC,MAAM,EAAE,OAAO,CAAC;QACzD,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QACzC,CAAC,+BAAG,IAAI,EAAE,OAAO,IAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAE,EAAE,GAAE,CAAC;IAC3D,MAAM,OAAO,GAAG,IAAA,qBAAY,EAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEnD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;IAEtD,IAAA,sBAAc,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAEtE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEL,MAAM,QAAQ,GAAmE;IAC/E,GAAG,EAAE,OAAO;IACZ,OAAO,EAAE,MAAM;IACf,KAAK,EAAE,WAAW;IAClB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,QAAQ;IACjB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,OAAO;IACf,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC;CACzB,CAAC;AAEF;;;GAGG;AACI,MAAM,YAAY,GAAG,CAAC,OAA+D,EAAE,EAAE;IAC9F,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC7C,MAAM,CAAC,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAA,iBAAM,EAAC,IAAI,EAAE;QACxB,WAAW;QACX,YAAY;QACZ,QAAQ;QACR,WAAW;QACX,MAAM;QACN,QAAQ;QACR,SAAS;QACT,cAAc;QACd,SAAS;QACT,QAAQ;QACR,SAAS;QACT,gBAAgB;QAChB,UAAU;QACV,cAAc;QACd,SAAS;KACV,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAA,mBAAQ,EAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAE9F,IAAI,CAAC,GAAG,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,UAAU,EAAE,CAAC;QACnD,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG;YAAE,OAAO,CAAC,KAAK,CAAC,2BAA2B,OAAO,GAAG,CAAC,CAAC;QAC/D,IAAI,UAAU;YAAE,OAAO,CAAC,KAAK,CAAC,UAAU,OAAO,IAAI,uBAAY,EAAE,CAAC,CAAC;QAEnE,OAAO,CAAC,KAAK,CAAC,oBAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,UAAU,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAErF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,mBAAQ,EAAC,MAAM,CAAC,CAAC;IAEhC,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IAEpD,OAAO,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AACvC,CAAC,CAAC;AAtCW,QAAA,YAAY,gBAsCvB"}
@@ -0,0 +1,7 @@
1
+ import { Plugin } from 'postcss';
2
+ /**
3
+ * A PostCSS plugin that swaps the rules each stylesheet inlined through an `@import` of a file `replacementsOf`
4
+ * maps, called with the stylesheet's module id, for the rules of the file it maps to. It must run after the
5
+ * `@import`s are inlined and before Tailwind compiles the sheet.
6
+ */
7
+ export declare const sketchStylesheetsPlugin: (replacementsOf: (id: string) => Map<string, string> | Promise<Map<string, string>>) => Plugin;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.sketchStylesheetsPlugin = void 0;
13
+ const fs_1 = require("fs");
14
+ const path_1 = require("path");
15
+ const PLUGIN = 'ethlete-sketch-stylesheets';
16
+ /**
17
+ * A PostCSS plugin that swaps the rules each stylesheet inlined through an `@import` of a file `replacementsOf`
18
+ * maps, called with the stylesheet's module id, for the rules of the file it maps to. It must run after the
19
+ * `@import`s are inlined and before Tailwind compiles the sheet.
20
+ */
21
+ const sketchStylesheetsPlugin = (replacementsOf) => ({
22
+ postcssPlugin: PLUGIN,
23
+ Once: (root_1, _a) => __awaiter(void 0, [root_1, _a], void 0, function* (root, { result, postcss }) {
24
+ var _b, _c;
25
+ const from = result.opts.from;
26
+ const replacements = from ? yield replacementsOf(from) : new Map();
27
+ if (!from || replacements.size === 0)
28
+ return;
29
+ const fileOf = (node) => {
30
+ var _a;
31
+ const file = (_a = node.source) === null || _a === void 0 ? void 0 : _a.input.file;
32
+ return file ? (0, path_1.resolve)(file) : null;
33
+ };
34
+ // postcss-import wraps a file imported with `layer()`, `supports()` or a media query in at-rules it builds
35
+ // with that file's source; only a parsed at-rule has `raws.afterName`.
36
+ const isWrapper = (node) => node.type === 'atrule' && node.raws.afterName === undefined;
37
+ const runs = new Map();
38
+ const parents = new Map();
39
+ root.walk((node) => {
40
+ var _a, _b;
41
+ const file = fileOf(node);
42
+ if (!file || !replacements.has(file) || isWrapper(node) || !node.parent)
43
+ return;
44
+ if (fileOf(node.parent) === file && !isWrapper(node.parent))
45
+ return;
46
+ const parent = node.parent;
47
+ const id = (_a = parents.get(parent)) !== null && _a !== void 0 ? _a : parents.size;
48
+ parents.set(parent, id);
49
+ const run = (_b = runs.get(`${id} ${file}`)) !== null && _b !== void 0 ? _b : { file, nodes: [] };
50
+ run.nodes.push(node);
51
+ runs.set(`${id} ${file}`, run);
52
+ });
53
+ for (const { file, nodes } of runs.values()) {
54
+ const replacement = (_b = replacements.get(file)) !== null && _b !== void 0 ? _b : file;
55
+ const parsed = postcss.parse((0, fs_1.readFileSync)(replacement, 'utf8'), { from: replacement });
56
+ (_c = nodes[0]) === null || _c === void 0 ? void 0 : _c.before(parsed.nodes);
57
+ nodes.forEach((node) => node.remove());
58
+ result.messages.push({ type: 'dependency', plugin: PLUGIN, file: replacement, parent: from });
59
+ }
60
+ }),
61
+ });
62
+ exports.sketchStylesheetsPlugin = sketchStylesheetsPlugin;
63
+ //# sourceMappingURL=sketch-stylesheets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sketch-stylesheets.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/design/sketch-stylesheets.ts"],"names":[],"mappings":"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"}