veryfront 0.1.1062 → 0.1.1064

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 (35) hide show
  1. package/esm/cli/commands/demo/demo.d.ts.map +1 -1
  2. package/esm/cli/commands/demo/demo.js +2 -1
  3. package/esm/cli/commands/demo/steps.js +4 -4
  4. package/esm/cli/commands/deploy/command-help.d.ts.map +1 -1
  5. package/esm/cli/commands/deploy/command-help.js +6 -1
  6. package/esm/cli/commands/init/init-command.d.ts.map +1 -1
  7. package/esm/cli/commands/init/init-command.js +5 -4
  8. package/esm/cli/commands/pull/command-help.d.ts.map +1 -1
  9. package/esm/cli/commands/pull/command-help.js +20 -3
  10. package/esm/cli/commands/pull/command.d.ts +8 -1
  11. package/esm/cli/commands/pull/command.d.ts.map +1 -1
  12. package/esm/cli/commands/pull/command.js +310 -64
  13. package/esm/cli/commands/push/command-help.d.ts.map +1 -1
  14. package/esm/cli/commands/push/command-help.js +13 -5
  15. package/esm/cli/commands/push/command.d.ts +3 -3
  16. package/esm/cli/commands/push/command.d.ts.map +1 -1
  17. package/esm/cli/commands/push/command.js +66 -30
  18. package/esm/cli/help/tips.d.ts.map +1 -1
  19. package/esm/cli/help/tips.js +3 -2
  20. package/esm/cli/skills/core-skills.js +8 -8
  21. package/esm/cli/sync/ignore.d.ts.map +1 -1
  22. package/esm/cli/sync/ignore.js +18 -1
  23. package/esm/cli/utils/env-prompt.d.ts.map +1 -1
  24. package/esm/cli/utils/env-prompt.js +17 -4
  25. package/esm/deno.js +1 -1
  26. package/esm/src/schedule/factory.d.ts.map +1 -1
  27. package/esm/src/schedule/factory.js +105 -0
  28. package/esm/src/schedule/index.d.ts +1 -1
  29. package/esm/src/schedule/index.d.ts.map +1 -1
  30. package/esm/src/schedule/types.d.ts +20 -1
  31. package/esm/src/schedule/types.d.ts.map +1 -1
  32. package/esm/src/schedule/types.js +65 -1
  33. package/esm/src/utils/version-constant.d.ts +1 -1
  34. package/esm/src/utils/version-constant.js +1 -1
  35. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"demo.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/demo/demo.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAqDH,KAAK,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,CAAC;AA6Y9D,MAAM,WAAW,WAAW;IAC1B,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8CAA8C;IAC9C,WAAW,CAAC,EAAE,UAAU,CAAC;CAC1B;AA+DD,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4G1E"}
1
+ {"version":3,"file":"demo.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/demo/demo.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAqDH,KAAK,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,CAAC;AA6Y9D,MAAM,WAAW,WAAW;IAC1B,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8CAA8C;IAC9C,WAAW,CAAC,EAAE,UAAU,CAAC;CAC1B;AA+DD,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmH1E"}
@@ -482,7 +482,8 @@ export async function demoCommand(options = {}) {
482
482
  console.log();
483
483
  console.log(` ${dim("1.")} Edit your app in ${brand(`${projectName}/`)}`);
484
484
  console.log(` ${dim("2.")} Run ${brand("veryfront dev")} to start developing`);
485
- console.log(` ${dim("3.")} Run ${brand("veryfront deploy")} to publish changes`);
485
+ console.log(` ${dim("3.")} Run ${brand("veryfront push --branch main")} to upload changes`);
486
+ console.log(` ${dim("4.")} Run ${brand("veryfront deploy --branch main --env production")} to create a release and deploy`);
486
487
  console.log();
487
488
  console.log(` ${dim("Learn more at https://veryfront.com/docs")}`);
488
489
  console.log();
@@ -40,12 +40,12 @@ export const DEMO_STEPS = [
40
40
  },
41
41
  {
42
42
  id: "deploy",
43
- title: "Deploy to Production",
43
+ title: "Create a Release and Deploy",
44
44
  description: [
45
- "Deploy your app to Veryfront's global edge network with a single command.",
46
- "No build step required - we handle that for you.",
45
+ "The demo pushed your source to main when it created the project.",
46
+ "Now create a release from that source and deploy it to production.",
47
47
  ],
48
- command: "veryfront deploy",
48
+ command: "veryfront deploy --branch main --env production",
49
49
  hasAction: true,
50
50
  },
51
51
  {
@@ -1 +1 @@
1
- {"version":3,"file":"command-help.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deploy/command-help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,UAAU,EAAE,WAwCxB,CAAC"}
1
+ {"version":3,"file":"command-help.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deploy/command-help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,UAAU,EAAE,WA6CxB,CAAC"}
@@ -18,18 +18,23 @@ export const deployHelp = {
18
18
  },
19
19
  {
20
20
  flag: "-f, --force",
21
- description: "Deploy without confirmation",
21
+ description: "Skip confirmation for compatibility (prefer global --yes)",
22
22
  },
23
23
  {
24
24
  flag: "--dry-run",
25
25
  description: "Preview without executing",
26
26
  },
27
+ {
28
+ flag: "-q, --quiet",
29
+ description: "Suppress progress and summary output",
30
+ },
27
31
  ],
28
32
  examples: [
29
33
  "veryfront deploy",
30
34
  "veryfront deploy --env staging",
31
35
  "veryfront deploy --branch feature-x --env preview",
32
36
  "veryfront deploy --release-name v1.2.0",
37
+ "veryfront deploy --branch main --env production --yes",
33
38
  "veryfront deploy --dry-run",
34
39
  ],
35
40
  notes: [
@@ -1 +1 @@
1
- {"version":3,"file":"init-command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/init/init-command.ts"],"names":[],"mappings":"AAAA;;;iCAGiC;AAWjC,OAAO,KAAK,EAAE,WAAW,EAA6B,MAAM,YAAY,CAAC;AA6PzE;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA8arE"}
1
+ {"version":3,"file":"init-command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/init/init-command.ts"],"names":[],"mappings":"AAAA;;;iCAGiC;AAWjC,OAAO,KAAK,EAAE,WAAW,EAA6B,MAAM,YAAY,CAAC;AA6PzE;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA+arE"}
@@ -463,14 +463,15 @@ export async function initCommand(options) {
463
463
  const { writeProjectSlug } = await import("../../shared/config.js");
464
464
  const { pushCommand } = await import("../push/index.js");
465
465
  const { deployCommand } = await import("../deploy/index.js");
466
+ const manualDeployHint = `Run ${brand("veryfront push --branch main")}, then ${brand("veryfront deploy --branch main --env production")} to deploy later.`;
466
467
  const authResult = await ensureAuthenticated();
467
468
  if (!authResult) {
468
- log(`\n Authentication required for --deploy. Run ${brand("veryfront push")} to deploy later.`);
469
+ log(`\n Authentication required for --deploy. ${manualDeployHint}`);
469
470
  }
470
471
  else {
471
472
  const token = await readToken();
472
473
  if (!token) {
473
- log(`\n Could not read auth token. Run ${brand("veryfront push")} to deploy later.`);
474
+ log(`\n Could not read auth token. ${manualDeployHint}`);
474
475
  }
475
476
  else {
476
477
  const slug = `${projectName ?? "my-app"}-${randomSuffix()}`;
@@ -499,7 +500,7 @@ export async function initCommand(options) {
499
500
  catch (error) {
500
501
  const message = error instanceof Error ? error.message : String(error);
501
502
  log(`\n Deploy failed: ${message}`);
502
- log(` Your project was created locally. Run ${brand("veryfront push")} to deploy later.`);
503
+ log(` Your project was created locally. ${manualDeployHint}`);
503
504
  }
504
505
  }
505
506
  }
@@ -531,7 +532,7 @@ export async function initCommand(options) {
531
532
  successContent.push("", `${green("Live:")} https://${deployedSlug}.production.veryfront.com`);
532
533
  }
533
534
  if (!deployedSlug) {
534
- successContent.push("", `${brand("veryfront push")} ${dim("→ share a preview")}`, `${brand("veryfront deploy")} ${dim("→ go live")}`);
535
+ successContent.push("", `${brand("veryfront push --branch main")} ${dim("→ upload source")}`, `${brand("veryfront deploy --branch main --env production")} ${dim("→ create a release and go live")}`);
535
536
  }
536
537
  if (!quiet) {
537
538
  console.log("");
@@ -1 +1 @@
1
- {"version":3,"file":"command-help.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/pull/command-help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,QAAQ,EAAE,WA2DtB,CAAC"}
1
+ {"version":3,"file":"command-help.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/pull/command-help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,QAAQ,EAAE,WA4EtB,CAAC"}
@@ -30,11 +30,19 @@ export const pullHelp = {
30
30
  },
31
31
  {
32
32
  flag: "-f, --force",
33
- description: "Force overwrite without confirmation",
33
+ description: "Skip confirmation for compatibility (prefer global --yes)",
34
34
  },
35
35
  {
36
36
  flag: "--dry-run",
37
- description: "Show what would be written without writing",
37
+ description: "Show what would be written or deleted without changing files",
38
+ },
39
+ {
40
+ flag: "--prune",
41
+ description: "Delete managed local files missing from the selected source",
42
+ },
43
+ {
44
+ flag: "-q, --quiet",
45
+ description: "Suppress progress and summary output",
38
46
  },
39
47
  ],
40
48
  examples: [
@@ -47,8 +55,10 @@ export const pullHelp = {
47
55
  "veryfront pull --release v1.2.0",
48
56
  "veryfront pull --projects project-a,project-b,project-c",
49
57
  "veryfront pull --projects my-app --dir ./apps",
58
+ "veryfront pull --branch studio-change --prune --dry-run",
59
+ "veryfront pull --branch studio-change --prune --yes",
50
60
  "veryfront pull --dry-run",
51
- "veryfront pull --force",
61
+ "veryfront pull --yes",
52
62
  ],
53
63
  notes: [
54
64
  "Requires VERYFRONT_API_TOKEN env var or veryfront.json config",
@@ -56,5 +66,12 @@ export const pullHelp = {
56
66
  "With --projects, each project is pulled into a subdirectory named after the slug",
57
67
  'Projects list can also be specified in veryfront.json: { "projects": ["slug1", "slug2"] }',
58
68
  "Priority order: --env > --release > --branch > main",
69
+ "--prune applies a full managed-source snapshot; it does not perform a Git merge",
70
+ "Mutating --prune requires a clean Git worktree; --yes and --force skip confirmation only",
71
+ "--prune --dry-run can preview anywhere and never writes or deletes local files",
72
+ "Only supported text files are managed; ignored, unsupported, and binary files remain unchanged",
73
+ "Pull preserves remote bytes exactly, including line endings and a missing final newline",
74
+ "Invalid, duplicate, reserved, or symlink-traversing remote paths fail before local writes",
75
+ "A fetch failure causes no writes or pruning; a local write or delete failure exits with an error",
59
76
  ],
60
77
  };
@@ -20,6 +20,7 @@ export declare const getPullArgsSchema: () => import("../../../src/internal-agen
20
20
  release: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
21
21
  force: import("../../../src/internal-agents/schema.js").Schema<boolean>;
22
22
  dryRun: import("../../../src/internal-agents/schema.js").Schema<boolean>;
23
+ prune: import("../../../src/internal-agents/schema.js").Schema<boolean>;
23
24
  quiet: import("../../../src/internal-agents/schema.js").Schema<boolean>;
24
25
  }>>;
25
26
  export declare const PullArgsSchema: import("../../../src/internal-agents/schema.js").Schema<import("../../../src/extensions/schema/schema-validator.js").InferShape<{
@@ -31,6 +32,7 @@ export declare const PullArgsSchema: import("../../../src/internal-agents/schema
31
32
  release: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
32
33
  force: import("../../../src/internal-agents/schema.js").Schema<boolean>;
33
34
  dryRun: import("../../../src/internal-agents/schema.js").Schema<boolean>;
35
+ prune: import("../../../src/internal-agents/schema.js").Schema<boolean>;
34
36
  quiet: import("../../../src/internal-agents/schema.js").Schema<boolean>;
35
37
  }>>;
36
38
  export type PullArgs = InferSchema<ReturnType<typeof getPullArgsSchema>>;
@@ -46,6 +48,7 @@ export declare const parsePullArgs: (args: import("../../shared/types.js").Parse
46
48
  release: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
47
49
  force: import("../../../src/internal-agents/schema.js").Schema<boolean>;
48
50
  dryRun: import("../../../src/internal-agents/schema.js").Schema<boolean>;
51
+ prune: import("../../../src/internal-agents/schema.js").Schema<boolean>;
49
52
  quiet: import("../../../src/internal-agents/schema.js").Schema<boolean>;
50
53
  }>>;
51
54
  /**
@@ -79,10 +82,12 @@ export interface PullOptions {
79
82
  env?: string;
80
83
  /** Release version to pull from (e.g., "v1.2.0") */
81
84
  release?: string;
82
- /** Force overwrite without confirmation */
85
+ /** Skip confirmation without changing overwrite semantics */
83
86
  force?: boolean;
84
87
  /** Dry run - show what would be written without writing */
85
88
  dryRun?: boolean;
89
+ /** Delete managed local files that are absent from the selected source */
90
+ prune?: boolean;
86
91
  /** Quiet mode - suppress spinner/progress output */
87
92
  quiet?: boolean;
88
93
  }
@@ -98,6 +103,8 @@ interface ProjectFile {
98
103
  created_at: string;
99
104
  updated_at: string;
100
105
  }
106
+ /** Validate a remote file path as a canonical relative POSIX path. */
107
+ export declare function validateRemoteFilePath(filePath: string): string;
101
108
  /**
102
109
  * Build the files list URL based on pull source
103
110
  */
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/pull/command.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAM3E,OAAO,EACL,eAAe,EAIhB,MAAM,wBAAwB,CAAC;AAgBhC;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;GAY7B,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;GAAgC,CAAC;AAE5D,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;GAUxB,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU,CAKlE;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAyDD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CAWjF;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,EAC1C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,WAAW,EAAE,CAAC,CAoBxB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CAmBjG;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,EAC1C,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,MAAM,CAAC,CAQjB;AAwND;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8IpE"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/pull/command.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAM3E,OAAO,EACL,eAAe,EAIhB,MAAM,wBAAwB,CAAC;AAiBhC;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;GAa7B,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;GAAgC,CAAC;AAE5D,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;GAWxB,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU,CAKlE;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAkCD,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmB/D;AA+CD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CAWjF;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,EAC1C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,WAAW,EAAE,CAAC,CAoBxB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CAmBjG;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,EAC1C,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,MAAM,CAAC,CAKjB;AAkdD;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoKpE"}