@percher/core 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/dist/commands/account.d.ts +24 -14
  2. package/dist/commands/account.d.ts.map +1 -1
  3. package/dist/commands/account.js +17 -4
  4. package/dist/commands/account.js.map +1 -1
  5. package/dist/commands/admin-reconcile-routes.d.ts +18 -0
  6. package/dist/commands/admin-reconcile-routes.d.ts.map +1 -0
  7. package/dist/commands/admin-reconcile-routes.js +22 -0
  8. package/dist/commands/admin-reconcile-routes.js.map +1 -0
  9. package/dist/commands/ai-files.d.ts +5 -17
  10. package/dist/commands/ai-files.d.ts.map +1 -1
  11. package/dist/commands/ai-files.js +3 -4
  12. package/dist/commands/ai-files.js.map +1 -1
  13. package/dist/commands/alerts.d.ts +69 -0
  14. package/dist/commands/alerts.d.ts.map +1 -0
  15. package/dist/commands/alerts.js +80 -0
  16. package/dist/commands/alerts.js.map +1 -0
  17. package/dist/commands/app-resources.d.ts +30 -0
  18. package/dist/commands/app-resources.d.ts.map +1 -0
  19. package/dist/commands/app-resources.js +34 -0
  20. package/dist/commands/app-resources.js.map +1 -0
  21. package/dist/commands/app-topology.d.ts +18 -0
  22. package/dist/commands/app-topology.d.ts.map +1 -0
  23. package/dist/commands/app-topology.js +25 -0
  24. package/dist/commands/app-topology.js.map +1 -0
  25. package/dist/commands/billing.d.ts +8 -8
  26. package/dist/commands/billing.d.ts.map +1 -1
  27. package/dist/commands/billing.js +1 -1
  28. package/dist/commands/billing.js.map +1 -1
  29. package/dist/commands/continue.d.ts +1 -1
  30. package/dist/commands/create.d.ts +2 -12
  31. package/dist/commands/create.d.ts.map +1 -1
  32. package/dist/commands/create.js +1 -1
  33. package/dist/commands/create.js.map +1 -1
  34. package/dist/commands/dashboard.d.ts +2 -8
  35. package/dist/commands/dashboard.d.ts.map +1 -1
  36. package/dist/commands/dashboard.js +1 -1
  37. package/dist/commands/dashboard.js.map +1 -1
  38. package/dist/commands/data-export.d.ts +2 -8
  39. package/dist/commands/data-export.d.ts.map +1 -1
  40. package/dist/commands/data-export.js +1 -1
  41. package/dist/commands/data-export.js.map +1 -1
  42. package/dist/commands/data.d.ts +2 -8
  43. package/dist/commands/data.d.ts.map +1 -1
  44. package/dist/commands/data.js +1 -1
  45. package/dist/commands/data.js.map +1 -1
  46. package/dist/commands/delete.d.ts +2 -8
  47. package/dist/commands/delete.d.ts.map +1 -1
  48. package/dist/commands/delete.js +1 -1
  49. package/dist/commands/delete.js.map +1 -1
  50. package/dist/commands/deploys.d.ts +4 -28
  51. package/dist/commands/deploys.d.ts.map +1 -1
  52. package/dist/commands/deploys.js +1 -1
  53. package/dist/commands/deploys.js.map +1 -1
  54. package/dist/commands/dev.d.ts +2 -6
  55. package/dist/commands/dev.d.ts.map +1 -1
  56. package/dist/commands/dev.js +3 -2
  57. package/dist/commands/dev.js.map +1 -1
  58. package/dist/commands/diagnose.d.ts +2 -22
  59. package/dist/commands/diagnose.d.ts.map +1 -1
  60. package/dist/commands/diagnose.js +1 -1
  61. package/dist/commands/diagnose.js.map +1 -1
  62. package/dist/commands/doctor.d.ts +20 -35
  63. package/dist/commands/doctor.d.ts.map +1 -1
  64. package/dist/commands/doctor.js +42 -4
  65. package/dist/commands/doctor.js.map +1 -1
  66. package/dist/commands/domains.d.ts +5 -27
  67. package/dist/commands/domains.d.ts.map +1 -1
  68. package/dist/commands/domains.js +1 -1
  69. package/dist/commands/domains.js.map +1 -1
  70. package/dist/commands/env-scan.js +1 -1
  71. package/dist/commands/env-scan.js.map +1 -1
  72. package/dist/commands/env.d.ts +4 -20
  73. package/dist/commands/env.d.ts.map +1 -1
  74. package/dist/commands/env.js +1 -1
  75. package/dist/commands/env.js.map +1 -1
  76. package/dist/commands/export.d.ts +1 -1
  77. package/dist/commands/forgejo.d.ts +45 -0
  78. package/dist/commands/forgejo.d.ts.map +1 -0
  79. package/dist/commands/forgejo.js +125 -0
  80. package/dist/commands/forgejo.js.map +1 -0
  81. package/dist/commands/generate.d.ts +2 -6
  82. package/dist/commands/generate.d.ts.map +1 -1
  83. package/dist/commands/generate.js +1 -1
  84. package/dist/commands/generate.js.map +1 -1
  85. package/dist/commands/github.d.ts +4 -15
  86. package/dist/commands/github.d.ts.map +1 -1
  87. package/dist/commands/github.js +17 -1
  88. package/dist/commands/github.js.map +1 -1
  89. package/dist/commands/import-project.d.ts +13 -9
  90. package/dist/commands/import-project.d.ts.map +1 -1
  91. package/dist/commands/import-project.js +73 -22
  92. package/dist/commands/import-project.js.map +1 -1
  93. package/dist/commands/init.d.ts +26 -11
  94. package/dist/commands/init.d.ts.map +1 -1
  95. package/dist/commands/init.js +103 -2
  96. package/dist/commands/init.js.map +1 -1
  97. package/dist/commands/insights.d.ts +2 -6
  98. package/dist/commands/insights.d.ts.map +1 -1
  99. package/dist/commands/insights.js +1 -1
  100. package/dist/commands/insights.js.map +1 -1
  101. package/dist/commands/login.d.ts +2 -8
  102. package/dist/commands/login.d.ts.map +1 -1
  103. package/dist/commands/login.js +22 -1
  104. package/dist/commands/login.js.map +1 -1
  105. package/dist/commands/logs.d.ts +25 -10
  106. package/dist/commands/logs.d.ts.map +1 -1
  107. package/dist/commands/logs.js +65 -5
  108. package/dist/commands/logs.js.map +1 -1
  109. package/dist/commands/mcp.d.ts +2 -2
  110. package/dist/commands/mcp.d.ts.map +1 -1
  111. package/dist/commands/mcp.js +1 -1
  112. package/dist/commands/mcp.js.map +1 -1
  113. package/dist/commands/migrate-supabase-map.d.ts +171 -0
  114. package/dist/commands/migrate-supabase-map.d.ts.map +1 -0
  115. package/dist/commands/migrate-supabase-map.js +452 -0
  116. package/dist/commands/migrate-supabase-map.js.map +1 -0
  117. package/dist/commands/migrate-supabase-schema.d.ts +67 -0
  118. package/dist/commands/migrate-supabase-schema.d.ts.map +1 -0
  119. package/dist/commands/migrate-supabase-schema.js +321 -0
  120. package/dist/commands/migrate-supabase-schema.js.map +1 -0
  121. package/dist/commands/migrate-supabase-scripts.d.ts +64 -0
  122. package/dist/commands/migrate-supabase-scripts.d.ts.map +1 -0
  123. package/dist/commands/migrate-supabase-scripts.js +564 -0
  124. package/dist/commands/migrate-supabase-scripts.js.map +1 -0
  125. package/dist/commands/migrate-supabase-sdk.d.ts +133 -0
  126. package/dist/commands/migrate-supabase-sdk.d.ts.map +1 -0
  127. package/dist/commands/migrate-supabase-sdk.js +1119 -0
  128. package/dist/commands/migrate-supabase-sdk.js.map +1 -0
  129. package/dist/commands/migrate-supabase-walker.d.ts +93 -0
  130. package/dist/commands/migrate-supabase-walker.d.ts.map +1 -0
  131. package/dist/commands/migrate-supabase-walker.js +413 -0
  132. package/dist/commands/migrate-supabase-walker.js.map +1 -0
  133. package/dist/commands/migrate-supabase.d.ts +81 -0
  134. package/dist/commands/migrate-supabase.d.ts.map +1 -0
  135. package/dist/commands/migrate-supabase.js +579 -0
  136. package/dist/commands/migrate-supabase.js.map +1 -0
  137. package/dist/commands/open.d.ts +2 -6
  138. package/dist/commands/open.d.ts.map +1 -1
  139. package/dist/commands/open.js +1 -1
  140. package/dist/commands/open.js.map +1 -1
  141. package/dist/commands/publish-api-error.d.ts +46 -0
  142. package/dist/commands/publish-api-error.d.ts.map +1 -0
  143. package/dist/commands/publish-api-error.js +307 -0
  144. package/dist/commands/publish-api-error.js.map +1 -0
  145. package/dist/commands/publish-failure.d.ts.map +1 -1
  146. package/dist/commands/publish-failure.js +11 -3
  147. package/dist/commands/publish-failure.js.map +1 -1
  148. package/dist/commands/publish-node.d.ts +5 -2
  149. package/dist/commands/publish-node.d.ts.map +1 -1
  150. package/dist/commands/publish-node.js +7 -3
  151. package/dist/commands/publish-node.js.map +1 -1
  152. package/dist/commands/publish.d.ts +58 -17
  153. package/dist/commands/publish.d.ts.map +1 -1
  154. package/dist/commands/publish.js +407 -145
  155. package/dist/commands/publish.js.map +1 -1
  156. package/dist/commands/push.d.ts +2 -12
  157. package/dist/commands/push.d.ts.map +1 -1
  158. package/dist/commands/push.js +25 -7
  159. package/dist/commands/push.js.map +1 -1
  160. package/dist/commands/redeploy.d.ts +2 -8
  161. package/dist/commands/redeploy.d.ts.map +1 -1
  162. package/dist/commands/redeploy.js +20 -16
  163. package/dist/commands/redeploy.js.map +1 -1
  164. package/dist/commands/rename.d.ts +2 -8
  165. package/dist/commands/rename.d.ts.map +1 -1
  166. package/dist/commands/rename.js +1 -1
  167. package/dist/commands/rename.js.map +1 -1
  168. package/dist/commands/reproduce.d.ts +2 -8
  169. package/dist/commands/reproduce.d.ts.map +1 -1
  170. package/dist/commands/reproduce.js +1 -1
  171. package/dist/commands/reproduce.js.map +1 -1
  172. package/dist/commands/reset-superuser.d.ts +2 -16
  173. package/dist/commands/reset-superuser.d.ts.map +1 -1
  174. package/dist/commands/reset-superuser.js +1 -1
  175. package/dist/commands/reset-superuser.js.map +1 -1
  176. package/dist/commands/restore.d.ts +7 -22
  177. package/dist/commands/restore.d.ts.map +1 -1
  178. package/dist/commands/restore.js +1 -1
  179. package/dist/commands/restore.js.map +1 -1
  180. package/dist/commands/resume.d.ts +2 -6
  181. package/dist/commands/resume.d.ts.map +1 -1
  182. package/dist/commands/resume.js +1 -1
  183. package/dist/commands/resume.js.map +1 -1
  184. package/dist/commands/rollback.d.ts +4 -9
  185. package/dist/commands/rollback.d.ts.map +1 -1
  186. package/dist/commands/rollback.js +3 -2
  187. package/dist/commands/rollback.js.map +1 -1
  188. package/dist/commands/sharing.d.ts +48 -0
  189. package/dist/commands/sharing.d.ts.map +1 -0
  190. package/dist/commands/sharing.js +85 -0
  191. package/dist/commands/sharing.js.map +1 -0
  192. package/dist/commands/status.d.ts +29 -0
  193. package/dist/commands/status.d.ts.map +1 -0
  194. package/dist/commands/status.js +48 -0
  195. package/dist/commands/status.js.map +1 -0
  196. package/dist/commands/transfers.d.ts +34 -0
  197. package/dist/commands/transfers.d.ts.map +1 -0
  198. package/dist/commands/transfers.js +62 -0
  199. package/dist/commands/transfers.js.map +1 -0
  200. package/dist/commands/unsuspend.d.ts +2 -6
  201. package/dist/commands/unsuspend.d.ts.map +1 -1
  202. package/dist/commands/unsuspend.js +1 -1
  203. package/dist/commands/unsuspend.js.map +1 -1
  204. package/dist/commands/versions.d.ts +2 -6
  205. package/dist/commands/versions.d.ts.map +1 -1
  206. package/dist/commands/versions.js +1 -1
  207. package/dist/commands/versions.js.map +1 -1
  208. package/dist/commands/wait-deploy.d.ts +2 -12
  209. package/dist/commands/wait-deploy.d.ts.map +1 -1
  210. package/dist/commands/wait-deploy.js +5 -4
  211. package/dist/commands/wait-deploy.js.map +1 -1
  212. package/dist/context.d.ts +15 -0
  213. package/dist/context.d.ts.map +1 -1
  214. package/dist/detect.d.ts +11 -0
  215. package/dist/detect.d.ts.map +1 -1
  216. package/dist/detect.js +31 -8
  217. package/dist/detect.js.map +1 -1
  218. package/dist/env-scan-source.js +1 -1
  219. package/dist/env-scan-source.js.map +1 -1
  220. package/dist/error-classifier.d.ts +17 -0
  221. package/dist/error-classifier.d.ts.map +1 -1
  222. package/dist/error-classifier.js +95 -9
  223. package/dist/error-classifier.js.map +1 -1
  224. package/dist/errors.d.ts +1 -1
  225. package/dist/errors.d.ts.map +1 -1
  226. package/dist/errors.js.map +1 -1
  227. package/dist/event-renderer.d.ts +17 -0
  228. package/dist/event-renderer.d.ts.map +1 -0
  229. package/dist/event-renderer.js +130 -0
  230. package/dist/event-renderer.js.map +1 -0
  231. package/dist/index.d.ts +63 -47
  232. package/dist/index.d.ts.map +1 -1
  233. package/dist/index.js +56 -40
  234. package/dist/index.js.map +1 -1
  235. package/dist/plans.d.ts +70 -5
  236. package/dist/plans.d.ts.map +1 -1
  237. package/dist/plans.js +83 -18
  238. package/dist/plans.js.map +1 -1
  239. package/dist/poll-deployment.d.ts +13 -1
  240. package/dist/poll-deployment.d.ts.map +1 -1
  241. package/dist/poll-deployment.js +37 -1
  242. package/dist/poll-deployment.js.map +1 -1
  243. package/dist/publish-retry.d.ts +29 -0
  244. package/dist/publish-retry.d.ts.map +1 -0
  245. package/dist/publish-retry.js +224 -0
  246. package/dist/publish-retry.js.map +1 -0
  247. package/dist/recovery.d.ts +60 -3
  248. package/dist/recovery.d.ts.map +1 -1
  249. package/dist/recovery.js +24 -1
  250. package/dist/recovery.js.map +1 -1
  251. package/dist/static-docker.d.ts +77 -0
  252. package/dist/static-docker.d.ts.map +1 -0
  253. package/dist/static-docker.js +105 -0
  254. package/dist/static-docker.js.map +1 -0
  255. package/dist/structured-error-codes.d.ts +30 -0
  256. package/dist/structured-error-codes.d.ts.map +1 -0
  257. package/dist/structured-error-codes.js +86 -0
  258. package/dist/structured-error-codes.js.map +1 -0
  259. package/dist/tarball.d.ts +11 -0
  260. package/dist/tarball.d.ts.map +1 -1
  261. package/dist/tarball.js +31 -10
  262. package/dist/tarball.js.map +1 -1
  263. package/dist/templates/ai-files/cursor-percher-mdc.d.ts.map +1 -1
  264. package/dist/templates/ai-files/cursor-percher-mdc.js +12 -9
  265. package/dist/templates/ai-files/cursor-percher-mdc.js.map +1 -1
  266. package/dist/templates.js +11 -11
  267. package/dist/templates.js.map +1 -1
  268. package/dist/watcher.js +1 -1
  269. package/dist/watcher.js.map +1 -1
  270. package/package.json +7 -2
@@ -0,0 +1,133 @@
1
+ import { type API, type FileInfo, type Options } from "jscodeshift";
2
+ /**
3
+ * FUTURE9 Phase D chunk 1 — Supabase JS SDK → PocketBase JS SDK
4
+ * source rewriter (single-file, pure).
5
+ *
6
+ * Pure function: takes a source-string + file-path hint, returns
7
+ * the rewritten source + a structured `flags[]` array describing
8
+ * every transformation (or refusal to transform). No I/O.
9
+ *
10
+ * Why pure: the file walker (chunk 3) drives this against every
11
+ * `.ts`/`.tsx`/`.js`/`.jsx` file in the project. Keeping the
12
+ * rewriter I/O-free means tests pin exact before/after pairs
13
+ * without disk, AND the walker can `--dry-run` the whole project
14
+ * by collecting flag totals without writing anything.
15
+ *
16
+ * AST library choice: jscodeshift. Matches the plan in
17
+ * docs/plans/FUTURE9_fas-8-lovable-migration-plan.md (Decision 4)
18
+ * and has the test-harness story we want. ts-morph would be the
19
+ * alternative if/when we hit TS-specific shape problems.
20
+ *
21
+ * Scope of THIS chunk (chunk 1): high-confidence rewrites only.
22
+ * - supabase.auth.signInWithPassword({email, password})
23
+ * - supabase.auth.signUp({email, password})
24
+ * - supabase.auth.signOut()
25
+ * - supabase.auth.getUser()
26
+ * - supabase.from("t").select("*" | "a,b") → getFullList
27
+ * - supabase.from("t").insert({...}) → create
28
+ * - supabase.from("t").update({...}).eq("id", v) → update(v, {...})
29
+ * - supabase.from("t").delete().eq("id", v) → delete(v)
30
+ *
31
+ * Chunk 2 will add medium-confidence (.eq() filters, .order,
32
+ * .range, .onAuthStateChange). Chunk 3 will add flag-only handling
33
+ * for low-confidence patterns (storage, channel/subscribe, rpc,
34
+ * functions) and the file walker that drives this against a project.
35
+ *
36
+ * Safety invariants pinned by tests:
37
+ * - Files that don't import @supabase/supabase-js are returned
38
+ * unchanged with zero flags.
39
+ * - Every transformation produces a corresponding `flags[]` entry
40
+ * with before/after text and line/column. The caller can render
41
+ * a diff log without re-parsing.
42
+ * - The PB client identifier (default `pb`) is configurable so
43
+ * a project that uses a different name doesn't get
44
+ * double-imports.
45
+ * - Surrounding code shape is preserved (no formatting drift) —
46
+ * jscodeshift's recast-based printer round-trips untouched code.
47
+ */
48
+ export type RewriteFlagKind =
49
+ /** Mapped 1:1 with no caveats — safe to use as-is. */
50
+ "rewritten"
51
+ /** Mapped but the semantics differ in ways the user should review. */
52
+ | "manual_review"
53
+ /** Source has a pattern we won't auto-translate (subscribe, rpc, storage etc.). Inserted as-is with a TODO comment. */
54
+ | "unsupported";
55
+ export interface RewriteFlag {
56
+ kind: RewriteFlagKind;
57
+ /** Stable short id for the pattern matched. Tests/reports key on this. */
58
+ pattern: string;
59
+ /** Source line (1-based) of the original call. Undefined if jscodeshift can't recover. */
60
+ line?: number;
61
+ /** Source column (0-based). Undefined if jscodeshift can't recover. */
62
+ column?: number;
63
+ /** Short human-readable summary the file walker can roll up. */
64
+ note: string;
65
+ }
66
+ export interface RewriteSupabaseSdkInput {
67
+ /** File source string. */
68
+ source: string;
69
+ /** Path the source came from (used in flag.note for context, not for I/O). */
70
+ filePath?: string;
71
+ /**
72
+ * Identifier name PocketBase will live under in the rewritten
73
+ * source. Defaults to `pb` — matches PocketBase's docs convention.
74
+ * Override when the project already has a `pb` binding for
75
+ * something else.
76
+ */
77
+ pbIdentifier?: string;
78
+ /**
79
+ * Identifier name(s) the Supabase client lives under in the source.
80
+ * Default: ["supabase"]. The rewriter walks the AST looking for
81
+ * member access on these names. Pass extra names when a project
82
+ * uses `const sb = createClient(...)` or `const client = ...`.
83
+ */
84
+ supabaseIdentifiers?: string[];
85
+ }
86
+ export interface RewriteSupabaseSdkResult {
87
+ /** The new source. Equals input.source byte-for-byte when no AST mutation happened. */
88
+ rewritten: string;
89
+ /** Flags for every transformation OR flagged-untransformed call. Empty array means nothing matched. */
90
+ flags: RewriteFlag[];
91
+ /**
92
+ * True when the AST was mutated and `rewritten` differs from
93
+ * `source` — the file walker keys writes on this.
94
+ *
95
+ * NOT the same as `flags.length > 0`: `manual_review` flags may
96
+ * land WITHOUT a mutation (e.g. `consumesDataErrorEnvelope`
97
+ * downgrades the rewrite without touching the AST so the file
98
+ * stays byte-identical, but a flag still records the call site
99
+ * for the human review report). If you want "did anything
100
+ * match", check `flags.length > 0` directly. Codex P2 round 6
101
+ * (2026-05-17) — earlier doc said `flags.length > 0` and the
102
+ * implementation drifted.
103
+ */
104
+ changed: boolean;
105
+ /**
106
+ * Set when the source failed to parse — the file is returned
107
+ * unchanged and no rewrite was attempted. Distinct from "no
108
+ * Supabase calls found" which leaves this undefined. Callers
109
+ * (the project walker) use this to classify the file as
110
+ * `skipped[reason="parse_error"]` instead of folding it into
111
+ * the clean-files report, which would silently hide files the
112
+ * migration couldn't analyse. Codex P2 round 10 (2026-05-17).
113
+ */
114
+ parseError?: string;
115
+ }
116
+ /**
117
+ * Rewrite Supabase JS SDK calls into PocketBase JS SDK calls.
118
+ *
119
+ * Pure (no I/O). Idempotent — feeding the output back in produces
120
+ * the same output with an empty flags array (already-rewritten
121
+ * code has no Supabase calls left to match).
122
+ */
123
+ export declare function rewriteSupabaseSdk(input: RewriteSupabaseSdkInput): RewriteSupabaseSdkResult;
124
+ /**
125
+ * Entry point matching jscodeshift's `transform` signature, in case
126
+ * a caller wants to run this as a standalone codemod via the
127
+ * jscodeshift CLI (`jscodeshift -t this-file.js src/`). Not used by
128
+ * Percher's own file walker — that calls `rewriteSupabaseSdk`
129
+ * directly for control over the flag-stream — but exposing it keeps
130
+ * the door open for ad-hoc usage.
131
+ */
132
+ export default function transform(file: FileInfo, _api: API, options?: Options): string | null;
133
+ //# sourceMappingURL=migrate-supabase-sdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-supabase-sdk.d.ts","sourceRoot":"","sources":["../../src/commands/migrate-supabase-sdk.ts"],"names":[],"mappings":"AAAA,OAAoB,EAClB,KAAK,GAAG,EAGR,KAAK,QAAQ,EACb,KAAK,OAAO,EACb,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,MAAM,MAAM,eAAe;AACzB,sDAAsD;AACpD,WAAW;AACb,sEAAsE;GACpE,eAAe;AACjB,uHAAuH;GACrH,aAAa,CAAC;AAElB,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,0FAA0F;IAC1F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,uBAAuB;IACtC,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,wBAAwB;IACvC,uFAAuF;IACvF,SAAS,EAAE,MAAM,CAAC;IAClB,uGAAuG;IACvG,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB;;;;;;;;;;;;OAYG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAKD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,wBAAwB,CAsD3F;AAgmDD;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAE,OAAY,GAAG,MAAM,GAAG,IAAI,CAOjG"}