@effect-app/vue 4.0.0-beta.0 → 4.0.0-beta.2

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.
@@ -2,7 +2,7 @@
2
2
  import { it } from "@effect/vitest"
3
3
  import { Cause, Effect, Exit, Fiber, Option } from "effect-app"
4
4
  import { CommandContext, DefaultIntl } from "../src/experimental/commander.js"
5
- import { Result } from "../src/lib.js"
5
+ import { AsyncResult } from "../src/lib.js"
6
6
  import { useExperimental } from "./stubs.js"
7
7
 
8
8
  const unwrap = <A, E>(r: Fiber.Fiber<Exit.Exit<A, E>, never>) => Fiber.join(r).pipe(Effect.flatten)
@@ -88,7 +88,7 @@ describe("alt2", () => {
88
88
  expect(r).toBe("test-value") // to confirm that the initial function has ran.
89
89
  expect(executed).toBe(true) // to confirm that the combinators have ran.
90
90
 
91
- expect(command.result.pipe(Result.value)).toEqual(Option.some("test-value"))
91
+ expect(command.result.pipe(AsyncResult.value)).toEqual(Option.some("test-value"))
92
92
 
93
93
  expect(toasts.length).toBe(0)
94
94
 
@@ -140,7 +140,7 @@ it.live("works", () =>
140
140
  expect(r).toBe("test-value") // to confirm that the initial function has ran.
141
141
  expect(executed).toBe(true) // to confirm that the combinators have ran.
142
142
 
143
- expect(command.result.pipe(Result.value)).toEqual(Option.some("test-value"))
143
+ expect(command.result.pipe(AsyncResult.value)).toEqual(Option.some("test-value"))
144
144
 
145
145
  expect(toasts.length).toBe(0)
146
146
 
@@ -187,7 +187,7 @@ it.live("works non-gen", () =>
187
187
  expect(r).toBe("test-value") // to confirm that the initial function has ran.
188
188
  expect(executed).toBe(true) // to confirm that the combinators have ran.
189
189
 
190
- expect(command.result.pipe(Result.value)).toEqual(Option.some("test-value"))
190
+ expect(command.result.pipe(AsyncResult.value)).toEqual(Option.some("test-value"))
191
191
 
192
192
  expect(toasts.length).toBe(0)
193
193
  }))
@@ -360,7 +360,7 @@ it.live("interrupted", () =>
360
360
  expect(Exit.hasInterrupts(r)).toBe(true) // to confirm that the initial function has interrupted
361
361
 
362
362
  expect(command.waiting).toBe(false)
363
- expect(Exit.hasInterrupts(Result.toExit(command.result))).toBe(true)
363
+ expect(Exit.hasInterrupts(AsyncResult.toExit(command.result))).toBe(true)
364
364
  expect(toasts.length).toBe(0) // toast is removed on interruption. TODO: maybe a nicer user experience can be had?
365
365
  }))
366
366
 
@@ -386,7 +386,7 @@ it.live("fail", () =>
386
386
  expect(Exit.isFailure(r) && Cause.hasFails(r.cause)).toBe(true) // to confirm that the initial function has failed
387
387
 
388
388
  expect(command.waiting).toBe(false)
389
- expect(Exit.isFailure(Result.toExit(command.result))).toBe(true)
389
+ expect(Exit.isFailure(AsyncResult.toExit(command.result))).toBe(true)
390
390
  expect(toasts.length).toBe(1) // toast should show error
391
391
  expect(toasts[0].message).toBe("Test Action Failed:\nBoom!")
392
392
  }))
@@ -414,7 +414,7 @@ it.live("fail and recover", () =>
414
414
  expect(r).toBe("recovered") // to confirm that the initial function has failed but we recovered
415
415
 
416
416
  expect(command.waiting).toBe(false)
417
- expect(Result.toExit(command.result)).toEqual(Exit.succeed("recovered"))
417
+ expect(AsyncResult.toExit(command.result)).toEqual(Exit.succeed("recovered"))
418
418
  expect(toasts.length).toBe(1) // toast should show error
419
419
  expect(toasts[0].message).toBe("Test Action Success")
420
420
  }))
@@ -442,7 +442,7 @@ it.live("defect", () =>
442
442
  expect(Exit.isFailure(r) && Cause.hasDies(r.cause)).toBe(true) // to confirm that the initial function has died
443
443
 
444
444
  expect(command.waiting).toBe(false)
445
- expect(Exit.isFailure(Result.toExit(command.result))).toBe(true)
445
+ expect(Exit.isFailure(AsyncResult.toExit(command.result))).toBe(true)
446
446
  expect(toasts.length).toBe(1) // toast should show error
447
447
  expect(toasts[0].message).toBe("Test Action unexpected error, please try again shortly.")
448
448
  }))
@@ -484,7 +484,7 @@ it.live("works with alt", () =>
484
484
  expect(r).toBe("test-value") // to confirm that the initial function has ran.
485
485
  expect(executed).toBe(true) // to confirm that the combinators have ran.
486
486
 
487
- expect(command.result.pipe(Result.value)).toEqual(Option.some("test-value"))
487
+ expect(command.result.pipe(AsyncResult.value)).toEqual(Option.some("test-value"))
488
488
 
489
489
  expect(toasts.length).toBe(0)
490
490
  }))
@@ -666,7 +666,7 @@ it.live("interrupted with alt", () =>
666
666
  expect(Exit.hasInterrupts(r)).toBe(true) // to confirm that the initial function has interrupted
667
667
 
668
668
  expect(command.waiting).toBe(false)
669
- expect(Exit.hasInterrupts(Result.toExit(command.result))).toBe(true)
669
+ expect(Exit.hasInterrupts(AsyncResult.toExit(command.result))).toBe(true)
670
670
  expect(toasts.length).toBe(0) // toast is removed on interruption. TODO: maybe a nicer user experience can be had?
671
671
  }))
672
672
 
@@ -694,7 +694,7 @@ it.live("fail with alt", () =>
694
694
  expect(Exit.isFailure(r) && Cause.hasFails(r.cause)).toBe(true) // to confirm that the initial function has failed
695
695
 
696
696
  expect(command.waiting).toBe(false)
697
- expect(Exit.isFailure(Result.toExit(command.result))).toBe(true)
697
+ expect(Exit.isFailure(AsyncResult.toExit(command.result))).toBe(true)
698
698
  expect(toasts.length).toBe(1) // toast should show error
699
699
  expect(toasts[0].message).toBe("Test Action Failed:\nBoom!")
700
700
  }))
@@ -724,7 +724,7 @@ it.live("fail and recover with alt", () =>
724
724
  expect(r).toBe("recovered") // to confirm that the initial function has failed but we recovered
725
725
 
726
726
  expect(command.waiting).toBe(false)
727
- expect(Result.toExit(command.result)).toEqual(Exit.succeed("recovered"))
727
+ expect(AsyncResult.toExit(command.result)).toEqual(Exit.succeed("recovered"))
728
728
  expect(toasts.length).toBe(1) // toast should show error
729
729
  expect(toasts[0].message).toBe("Test Action Success")
730
730
  }))
@@ -754,7 +754,7 @@ it.live("defect with alt", () =>
754
754
  expect(Exit.isFailure(r) && Cause.hasDies(r.cause)).toBe(true) // to confirm that the initial function has died
755
755
 
756
756
  expect(command.waiting).toBe(false)
757
- expect(Exit.isFailure(Result.toExit(command.result))).toBe(true)
757
+ expect(Exit.isFailure(AsyncResult.toExit(command.result))).toBe(true)
758
758
  expect(toasts.length).toBe(1) // toast should show error
759
759
  expect(toasts[0].message).toBe("Test Action unexpected error, please try again shortly.")
760
760
  }))
@@ -13,7 +13,7 @@ export declare const fakeIntlLayer: (messages?: Record<string, string> | Record<
13
13
  export declare const useExperimental: (options?: {
14
14
  messages?: Record<string, string> | Record<string, MessageFormatElement[]>;
15
15
  toasts: any[];
16
- }) => import("../src/experimental/makeUseCommand.js").CommanderResolved<I18n | WithToast | Toast.Toast, never>;
16
+ }) => import("../src/experimental/makeUseCommand.js").CommanderResolved<Toast.Toast | I18n | WithToast, never>;
17
17
  declare const RequestContextMap_base: (new () => {
18
18
  readonly config: {};
19
19
  }) & {
@@ -69,12 +69,14 @@ export declare const Req: <_Self>() => {
69
69
  readonly fields: {
70
70
  readonly _tag: S.tag<Tag>;
71
71
  } & Payload_2;
72
- readonly success: S.Schema<void>;
72
+ readonly success: S.Codec<void, void, never, never>;
73
73
  readonly error: C_2 extends {
74
74
  error: infer E;
75
75
  } ? E extends S.Top ? E : E extends S.Struct.Fields ? S.Struct<E> : S.Void : S.Void;
76
76
  readonly config: Omit<C_2, "success" | "error">;
77
- readonly "~decodingServices": unknown;
77
+ readonly "~decodingServices": S.Codec.DecodingServices<C_2 extends {
78
+ error: infer E;
79
+ } ? E extends S.Top ? E : E extends S.Struct.Fields ? S.Struct<E> : S.Void : S.Void>;
78
80
  };
79
81
  <Tag extends string, Payload_3 extends S.Struct.Fields, C_3 extends Record<string, any>>(tag: Tag, fields: Payload_3, config: C_3 & RpcContextMap.GetContextConfig<{}>): S.TaggedStruct<Tag, Payload_3> & {
80
82
  new (...args: any[]): any;
@@ -82,12 +84,14 @@ export declare const Req: <_Self>() => {
82
84
  readonly fields: {
83
85
  readonly _tag: S.tag<Tag>;
84
86
  } & Payload_3;
85
- readonly success: S.Schema<void>;
87
+ readonly success: S.Codec<void, void, never, never>;
86
88
  readonly error: C_3 extends {
87
89
  error: infer E;
88
90
  } ? E extends S.Top ? E : E extends S.Struct.Fields ? S.Struct<E> : S.Void : S.Void;
89
91
  readonly config: Omit<C_3, "success" | "error">;
90
- readonly "~decodingServices": unknown;
92
+ readonly "~decodingServices": S.Codec.DecodingServices<C_3 extends {
93
+ error: infer E;
94
+ } ? E extends S.Top ? E : E extends S.Struct.Fields ? S.Struct<E> : S.Void : S.Void>;
91
95
  };
92
96
  <Tag extends string, Payload_4 extends S.Struct.Fields>(tag: Tag, fields: Payload_4): S.TaggedStruct<Tag, Payload_4> & {
93
97
  new (...args: any[]): any;
@@ -95,10 +99,10 @@ export declare const Req: <_Self>() => {
95
99
  readonly fields: {
96
100
  readonly _tag: S.tag<Tag>;
97
101
  } & Payload_4;
98
- readonly success: S.Schema<void>;
102
+ readonly success: S.Codec<void, void, never, never>;
99
103
  readonly error: never;
100
104
  readonly config: Record<string, never>;
101
- readonly "~decodingServices": unknown;
105
+ readonly "~decodingServices": never;
102
106
  };
103
107
  };
104
108
  declare const GetSomething2_base: S.TaggedStruct<"GetSomething2", {
@@ -151,14 +155,14 @@ export declare const useClient: (options?: {
151
155
  messages?: Record<string, string> | Record<string, MessageFormatElement[]>;
152
156
  toasts: any[];
153
157
  }) => {
154
- Command: import("../src/experimental/makeUseCommand.js").CommanderResolved<WithToast | (Commander | ApiClientFactory | LegacyMutation | (I18n | Toast.Toast)), never>;
155
- useCommand: () => import("../src/experimental/makeUseCommand.js").CommanderResolved<WithToast | (Commander | ApiClientFactory | LegacyMutation | (I18n | Toast.Toast)), never>;
156
- clientFor: <M extends import("effect-app/client").Requests>(m: M, queryInvalidation?: ((client: import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>) => import("../src/makeClient.js").QueryInvalidation<M>) | undefined) => { [Key in keyof import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>]: import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key] & import("../src/makeClient.js").RequestWithExtensions<WithToast | (Commander | ApiClientFactory | LegacyMutation | (I18n | Toast.Toast)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key]> & {
157
- mutate: import("../src/makeClient.js").MutationWithExtensions<WithToast | (Commander | ApiClientFactory | LegacyMutation | (I18n | Toast.Toast)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key]>;
158
- } & import("../src/makeClient.js").Queries<WithToast | (Commander | ApiClientFactory | LegacyMutation | (I18n | Toast.Toast)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key]>; } & {
159
- helpers: { [Key_1 in keyof import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]> as `${import("../src/makeClient.js").ToCamel<string & Key_1>}Request`]: import("../src/makeClient.js").RequestWithExtensions<WithToast | (Commander | ApiClientFactory | LegacyMutation | (I18n | Toast.Toast)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key_1]>; } & { [Key_2 in keyof import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]> as `${import("../src/makeClient.js").ToCamel<string & Key_2>}Mutation`]: import("../src/makeClient.js").MutationWithExtensions<WithToast | (Commander | ApiClientFactory | LegacyMutation | (I18n | Toast.Toast)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key_2]>; } & { [Key_3 in keyof import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]> as `${import("../src/makeClient.js").ToCamel<string & Key_3>}Query`]: import("../src/makeClient.js").Queries<WithToast | (Commander | ApiClientFactory | LegacyMutation | (I18n | Toast.Toast)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key_3]>["query"]; } & { [Key_4 in keyof import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]> as `${import("../src/makeClient.js").ToCamel<string & Key_4>}SuspenseQuery`]: import("../src/makeClient.js").Queries<WithToast | (Commander | ApiClientFactory | LegacyMutation | (I18n | Toast.Toast)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key_4]>["suspense"]; };
158
+ Command: import("../src/experimental/makeUseCommand.js").CommanderResolved<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast | I18n)), never>;
159
+ useCommand: () => import("../src/experimental/makeUseCommand.js").CommanderResolved<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast | I18n)), never>;
160
+ clientFor: <M extends import("effect-app/client").Requests>(m: M, queryInvalidation?: ((client: import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>) => import("../src/makeClient.js").QueryInvalidation<M>) | undefined) => { [Key in keyof import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>]: import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key] & import("../src/makeClient.js").RequestWithExtensions<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast | I18n)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key]> & {
161
+ mutate: import("../src/makeClient.js").MutationWithExtensions<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast | I18n)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key]>;
162
+ } & import("../src/makeClient.js").Queries<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast | I18n)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key]>; } & {
163
+ helpers: { [Key_1 in keyof import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]> as `${import("../src/makeClient.js").ToCamel<string & Key_1>}Request`]: import("../src/makeClient.js").RequestWithExtensions<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast | I18n)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key_1]>; } & { [Key_2 in keyof import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]> as `${import("../src/makeClient.js").ToCamel<string & Key_2>}Mutation`]: import("../src/makeClient.js").MutationWithExtensions<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast | I18n)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key_2]>; } & { [Key_3 in keyof import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]> as `${import("../src/makeClient.js").ToCamel<string & Key_3>}Query`]: import("../src/makeClient.js").Queries<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast | I18n)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key_3]>["query"]; } & { [Key_4 in keyof import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]> as `${import("../src/makeClient.js").ToCamel<string & Key_4>}SuspenseQuery`]: import("../src/makeClient.js").Queries<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast | I18n)), import("effect-app/client").RequestHandlers<never, never, M, M["meta"]["moduleName"]>[Key_4]>["suspense"]; };
160
164
  };
161
- legacy: import("../src/makeClient.js").Legacy<WithToast | (Commander | ApiClientFactory | LegacyMutation | (I18n | Toast.Toast))>;
165
+ legacy: import("../src/makeClient.js").Legacy<WithToast | (Commander | ApiClientFactory | LegacyMutation | (Toast.Toast | I18n))>;
162
166
  };
163
167
  export {};
164
168
  //# sourceMappingURL=stubs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stubs.d.ts","sourceRoot":"","sources":["../stubs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,oCAAoC,CAAA;AAE9E,OAAO,EAAU,KAAK,EAA0B,CAAC,EAAE,MAAM,YAAY,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAiB,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAG9C,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAElD,OAAO,KAAK,KAAK,MAAM,8BAA8B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAc,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AA8CxD,eAAO,MAAM,YAAY,GAAI,WAAU,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAM,KAepG,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAClD,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,WAAU,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAM,oCACpC,CAAA;AAExE,eAAO,MAAM,eAAe,GAC1B,UAAU;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAAC,MAAM,EAAE,GAAG,EAAE,CAAA;CAAE,6GASxG,CAAA;;;;;;;;AAED,qBAAa,iBAAkB,SAAQ,sBAAyB;CAAG;AACnE,eAAO,MAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAqC,CAAA;;;;;;;;;;;;;;;;;;AACtE,qBAAa,aAAc,SAAQ,kBAEA;CAAG;;;;;;;;;;;;;;iBAML,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;;;;;AAJjE,qBAAa,6BAA8B,SAAQ,kCAMjD;CAAG;AAEL,eAAO,MAAM,SAAS;;;;;;CAA+F,CAAA;AAErH,eAAO,MAAM,SAAS,GACpB,UAAU;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAAC,MAAM,EAAE,GAAG,EAAE,CAAA;CAAE;;;;;;;;;CAcxG,CAAA"}
1
+ {"version":3,"file":"stubs.d.ts","sourceRoot":"","sources":["../stubs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,oCAAoC,CAAA;AAE9E,OAAO,EAAU,KAAK,EAA0B,CAAC,EAAE,MAAM,YAAY,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAiB,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAG9C,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAElD,OAAO,KAAK,KAAK,MAAM,8BAA8B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAc,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AA8CxD,eAAO,MAAM,YAAY,GAAI,WAAU,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAM,KAepG,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAClD,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,WAAU,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAM,oCACpC,CAAA;AAExE,eAAO,MAAM,eAAe,GAC1B,UAAU;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAAC,MAAM,EAAE,GAAG,EAAE,CAAA;CAAE,6GASxG,CAAA;;;;;;;;AAED,qBAAa,iBAAkB,SAAQ,sBAAyB;CAAG;AACnE,eAAO,MAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAqC,CAAA;;;;;;;;;;;;;;;;;;AACtE,qBAAa,aAAc,SAAQ,kBAEA;CAAG;;;;;;;;;;;;;;iBAML,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;;;;;AAJjE,qBAAa,6BAA8B,SAAQ,kCAMjD;CAAG;AAEL,eAAO,MAAM,SAAS;;;;;;CAA+F,CAAA;AAErH,eAAO,MAAM,SAAS,GACpB,UAAU;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAAC,MAAM,EAAE,GAAG,EAAE,CAAA;CAAE;;;;;;;;;CAcxG,CAAA"}