@effect-atom/atom 0.1.1 → 0.1.3
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.
- package/AtomRpc/package.json +6 -0
- package/dist/cjs/Atom.js +19 -13
- package/dist/cjs/Atom.js.map +1 -1
- package/dist/cjs/AtomRpc.js +97 -0
- package/dist/cjs/AtomRpc.js.map +1 -0
- package/dist/cjs/index.js +3 -1
- package/dist/dts/Atom.d.ts +14 -5
- package/dist/dts/Atom.d.ts.map +1 -1
- package/dist/dts/AtomRpc.d.ts +38 -0
- package/dist/dts/AtomRpc.d.ts.map +1 -0
- package/dist/dts/index.d.ts +4 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/esm/Atom.js +18 -12
- package/dist/esm/Atom.js.map +1 -1
- package/dist/esm/AtomRpc.js +69 -0
- package/dist/esm/AtomRpc.js.map +1 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/package.json +10 -1
- package/src/Atom.ts +38 -25
- package/src/AtomRpc.ts +198 -0
- package/src/index.ts +5 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as Headers from "@effect/platform/Headers";
|
|
2
|
+
import type * as Rpc from "@effect/rpc/Rpc";
|
|
3
|
+
import * as RpcClient from "@effect/rpc/RpcClient";
|
|
4
|
+
import type { RpcClientError } from "@effect/rpc/RpcClientError";
|
|
5
|
+
import type * as RpcGroup from "@effect/rpc/RpcGroup";
|
|
6
|
+
import type { RequestId } from "@effect/rpc/RpcMessage";
|
|
7
|
+
import * as RpcSchema from "@effect/rpc/RpcSchema";
|
|
8
|
+
import type { ReadonlyRecord } from "effect/Record";
|
|
9
|
+
import * as Atom from "./Atom.js";
|
|
10
|
+
import type * as Result from "./Result.js";
|
|
11
|
+
/**
|
|
12
|
+
* @since 1.0.0
|
|
13
|
+
* @category Models
|
|
14
|
+
*/
|
|
15
|
+
export interface AtomRpcClient<Rpcs extends Rpc.Any, E> {
|
|
16
|
+
readonly client: Atom.Atom<Result.Result<RpcClient.RpcClient.Flat<Rpcs, RpcClientError>, E>>;
|
|
17
|
+
readonly mutation: <Tag extends Rpc.Tag<Rpcs>>(arg: Tag) => Rpc.ExtractTag<Rpcs, Tag> extends Rpc.Rpc<infer _Tag, infer _Payload, infer _Success, infer _Error, infer _Middleware> ? [_Success] extends [RpcSchema.Stream<infer _A, infer _E>] ? never : Atom.AtomResultFn<{
|
|
18
|
+
readonly payload: Rpc.PayloadConstructor<Rpc.ExtractTag<Rpcs, Tag>>;
|
|
19
|
+
readonly reactivityKeys?: ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined;
|
|
20
|
+
readonly headers?: Headers.Input | undefined;
|
|
21
|
+
}, _Success["Type"], _Error["Type"] | E | _Middleware["failure"]["Type"]> : never;
|
|
22
|
+
readonly query: <Tag extends Rpc.Tag<Rpcs>>(tag: Tag, payload: Rpc.PayloadConstructor<Rpc.ExtractTag<Rpcs, Tag>>, options?: {
|
|
23
|
+
readonly headers?: Headers.Input | undefined;
|
|
24
|
+
readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined;
|
|
25
|
+
}) => Rpc.ExtractTag<Rpcs, Tag> extends Rpc.Rpc<infer _Tag, infer _Payload, infer _Success, infer _Error, infer _Middleware> ? [_Success] extends [RpcSchema.Stream<infer _A, infer _E>] ? Atom.Writable<Atom.PullResult<_A, _E | _Error["Type"] | E | _Middleware["failure"]["Type"]>, void> : Atom.Atom<Result.Result<_Success["Type"], _Error["Type"] | E | _Middleware["failure"]["Type"]>> : never;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @since 1.0.0
|
|
29
|
+
* @category Constructors
|
|
30
|
+
*/
|
|
31
|
+
export declare const make: <Rpcs extends Rpc.Any, ER>(group: RpcGroup.RpcGroup<Rpcs>, options: {
|
|
32
|
+
readonly runtime: Atom.AtomRuntime<RpcClient.Protocol | Rpc.MiddlewareClient<Rpcs> | Rpc.Context<Rpcs>, ER>;
|
|
33
|
+
readonly spanPrefix?: string | undefined;
|
|
34
|
+
readonly spanAttributes?: Record<string, unknown> | undefined;
|
|
35
|
+
readonly generateRequestId?: (() => RequestId) | undefined;
|
|
36
|
+
readonly disableTracing?: boolean | undefined;
|
|
37
|
+
}) => AtomRpcClient<Rpcs, ER>;
|
|
38
|
+
//# sourceMappingURL=AtomRpc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AtomRpc.d.ts","sourceRoot":"","sources":["../../src/AtomRpc.ts"],"names":[],"mappings":"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"}
|
package/dist/dts/index.d.ts
CHANGED
package/dist/dts/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
|
package/dist/esm/Atom.js
CHANGED
|
@@ -122,18 +122,6 @@ const RuntimeProto = {
|
|
|
122
122
|
const runtime = Result.getOrThrow(get(this));
|
|
123
123
|
return readSubscribable(get, ref, runtime);
|
|
124
124
|
});
|
|
125
|
-
},
|
|
126
|
-
withReactivity(keys) {
|
|
127
|
-
return atom => transform(atom, get => {
|
|
128
|
-
const runtimeResult = get(this);
|
|
129
|
-
if (!Result.isSuccess(runtimeResult)) return get(atom);
|
|
130
|
-
const reactivity = EffectContext.get(runtimeResult.value.context, Reactivity.Reactivity);
|
|
131
|
-
get.addFinalizer(reactivity.unsafeRegister(keys, () => {
|
|
132
|
-
get.refresh(atom);
|
|
133
|
-
}));
|
|
134
|
-
get.subscribe(atom, value => get.setSelf(value));
|
|
135
|
-
return get.once(atom);
|
|
136
|
-
});
|
|
137
125
|
}
|
|
138
126
|
};
|
|
139
127
|
const makeFnRuntime = (self, arg, options) => {
|
|
@@ -286,6 +274,7 @@ export const context = options => {
|
|
|
286
274
|
self.keepAlive = false;
|
|
287
275
|
self.lazy = true;
|
|
288
276
|
self.refresh = undefined;
|
|
277
|
+
self.factory = factory;
|
|
289
278
|
const layerAtom = keepAlive(typeof create === "function" ? readable(get => Layer.provideMerge(create(get), globalLayer)) : readable(() => Layer.provideMerge(create, globalLayer)));
|
|
290
279
|
self.layer = layerAtom;
|
|
291
280
|
self.read = function read(get) {
|
|
@@ -301,6 +290,15 @@ export const context = options => {
|
|
|
301
290
|
factory.addGlobalLayer = layer => {
|
|
302
291
|
globalLayer = Layer.provideMerge(globalLayer, Layer.provide(layer, Reactivity.layer));
|
|
303
292
|
};
|
|
293
|
+
const reactivityAtom = make(Effect.scopeWith(scope => Layer.buildWithMemoMap(Reactivity.layer, options.memoMap, scope)).pipe(Effect.map(EffectContext.get(Reactivity.Reactivity))));
|
|
294
|
+
factory.withReactivity = keys => atom => transform(atom, get => {
|
|
295
|
+
const reactivity = Result.getOrThrow(get(reactivityAtom));
|
|
296
|
+
get.addFinalizer(reactivity.unsafeRegister(keys, () => {
|
|
297
|
+
get.refresh(atom);
|
|
298
|
+
}));
|
|
299
|
+
get.subscribe(atom, value => get.setSelf(value));
|
|
300
|
+
return get.once(atom);
|
|
301
|
+
});
|
|
304
302
|
return factory;
|
|
305
303
|
};
|
|
306
304
|
/**
|
|
@@ -315,6 +313,14 @@ export const defaultMemoMap = /*#__PURE__*/globalValue("@effect-atom/atom/Atom/d
|
|
|
315
313
|
export const runtime = /*#__PURE__*/globalValue("@effect-atom/atom/Atom/defaultContext", () => context({
|
|
316
314
|
memoMap: defaultMemoMap
|
|
317
315
|
}));
|
|
316
|
+
/**
|
|
317
|
+
* An alias to `Rx.runtime.withReactivity`, for refreshing an atom whenever the
|
|
318
|
+
* keys change in the `Reactivity` service.
|
|
319
|
+
*
|
|
320
|
+
* @since 1.0.0
|
|
321
|
+
* @category Reactivity
|
|
322
|
+
*/
|
|
323
|
+
export const withReactivity = runtime.withReactivity;
|
|
318
324
|
// -----------------------------------------------------------------------------
|
|
319
325
|
// constructors - stream
|
|
320
326
|
// -----------------------------------------------------------------------------
|
package/dist/esm/Atom.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Atom.js","names":["Reactivity","KeyValueStore","Arr","NoSuchElementException","Cause","Channel","Chunk","EffectContext","Duration","Effect","Either","Exit","Fiber","FiberRef","constant","constVoid","dual","pipe","globalValue","Inspectable","Layer","MutableHashMap","Option","pipeArguments","Runtime","Schema","Scope","Stream","Subscribable","SubscriptionRef","internalRegistry","runCallbackSync","Registry","AtomRegistry","Result","TypeId","WritableTypeId","AtomProto","arguments","toJSON","_id","keepAlive","lazy","label","toString","format","NodeInspectSymbol","RuntimeProto","atom","arg","options","read","makeRead","readable","get","previous","self","runtimeResult","_tag","replacePrevious","value","fn","length","makeFnRuntime","pull","pullSignal","state","pullAtom","makeEffect","makeStreamPullEffect","initial","makeStreamPull","subscriptionRef","ref","makeSubRef","SubscriptionRefTypeId","runtime","getOrThrow","readSubscribable","subscribable","makeSubscribable","isSubscribable","withReactivity","keys","transform","isSuccess","reactivity","context","addFinalizer","unsafeRegister","refresh","subscribe","setSelf","once","write","argAtom","makeResultFn","reactivityKeys","a","effect","isEffect","mutation","ensuring","invalidate","writable","WritableProto","isWritable","Object","create","constSetSelf","ctx","make","readOrAtom","isDataType","u","providedRuntime","EffectTypeId","StreamTypeId","stream","initialValue","_get","undefined","success","uninterruptible","defaultRuntime","scope","runSync","runFork","close","void","contextMap","Map","unsafeMap","set","key","registry","scopedRuntime","unsafeMake","fiberRefs","runtimeFlags","syncResult","isAsync","cancel","exit","fromExitWithPrevious","waitingFrom","waiting","globalLayer","layer","factory","layerAtom","provideMerge","build","flatMap","buildWithMemoMap","memoMap","provide","addGlobalLayer","defaultMemoMap","makeMemoMap","makeStream","writer","readWithCause","onInput","input","suspend","last","onFailure","cause","sync","failureWithPrevious","onDone","_done","match","onNone","failWithPrevious","onSome","registryRuntime","add","runDrain","pipeTo","toChannel","sub","changes","runForEach","runCallback","refAtom","subAtom","fnSync","args","makeFnSync","f","hasInitialValue","isFn","counter","none","some","batch","refreshSelf","Reset","Symbol","for","makeFn","toPull","pullChunk","semaphore","unsafeMakeSemaphore","fiber","getCurrentFiber","currentContext","acc","empty","locally","onLeft","items","toReadonlyArray","isNonEmptyArray","fail","succeed","done","onRight","chunk","disableAccumulation","appendAll","arr","pullWithSemaphore","withPermits","getFiberRefs","cancels","Set","delete","result","pending","size","_","family","WeakRef","FinalizationRegistry","atoms","atomEntry","newAtom","remove","flatMapNullable","deref","register","withFallback","fallback","assign","getPrototypeOf","autoDispose","setLazy","withLabel","name","Error","stack","split","setIdleTTL","duration","idleTTL","toMillis","map","mapResult","debounce","millis","timeout","update","clearTimeout","val","setTimeout","optimistic","writeAtom","lastValue","isResult","current","getOrUndefined","timestamp","transitions","has","isFailure","immediate","clear","optimisticFn","transition","reducer","onExit","suspendOnWaiting","fromExit","as","windowFocusSignal","count","document","visibilityState","window","addEventListener","removeEventListener","makeRefreshOnSignal","signal","refreshOnWindowFocus","kvs","setAtom","fnUntraced","store","forSchema","schema","resultAtom","flatten","mount","getOrElse","defaultValue","searchParam","decode","decodeEither","encode","encodeEither","handleUpdate","searchParamState","updating","searchParams","URLSearchParams","location","search","newValue","getRight","encoded","v","updates","zipRight","updateSearchParams","entries","newUrl","pathname","history","pushState","toStream","unwrap","toStreamResult","modify","getResult","SerializableTypeId","isSerializable","serializable","encodeSync","decodeSync","ServerValueTypeId","withServerValue","withServerValueInitial","getServerValue"],"sources":["../../src/Atom.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA;AACA,OAAO,KAAKA,UAAU,MAAM,iCAAiC;AAC7D,OAAO,KAAKC,aAAa,MAAM,gCAAgC;AAC/D,OAAO,KAAKC,GAAG,MAAM,cAAc;AACnC,SAASC,sBAAsB,QAAQ,cAAc;AACrD,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,aAAa,MAAM,gBAAgB;AAC/C,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAE3C,SAASC,QAAQ,EAAEC,SAAS,EAAEC,IAAI,EAAEC,IAAI,QAAQ,iBAAiB;AACjE,SAASC,WAAW,QAAQ,oBAAoB;AAChD,OAAO,KAAKC,WAAW,MAAM,oBAAoB;AACjD,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,cAAc,MAAM,uBAAuB;AACvD,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAAwBC,aAAa,QAAQ,iBAAiB;AAE9D,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,YAAY,MAAM,qBAAqB;AACnD,OAAO,KAAKC,eAAe,MAAM,wBAAwB;AAEzD,OAAO,KAAKC,gBAAgB,MAAM,wBAAwB;AAC1D,SAASC,eAAe,QAAQ,uBAAuB;AACvD,OAAO,KAAKC,QAAQ,MAAM,eAAe;AACzC,SAASC,YAA4B,QAAQ,eAAe;AAC5D,OAAO,KAAKC,MAAM,MAAM,aAAa;AAErC;;;;AAIA,OAAO,MAAMC,MAAM,GAAW,wBAAwB;AAgDtD;;;;AAIA,OAAO,MAAMC,cAAc,GAAmB,iCAAiC;AAiE/E,MAAMC,SAAS,GAAG;EAChB,CAACF,MAAM,GAAGA,MAAM;EAChBlB,IAAIA,CAAA;IACF,OAAOM,aAAa,CAAC,IAAI,EAAEe,SAAS,CAAC;EACvC,CAAC;EACDC,MAAMA,CAAA;IACJ,OAAO;MACLC,GAAG,EAAE,MAAM;MACXC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBC,IAAI,EAAE,IAAI,CAACA,IAAI;MACfC,KAAK,EAAE,IAAI,CAACA;KACb;EACH,CAAC;EACDC,QAAQA,CAAA;IACN,OAAOzB,WAAW,CAAC0B,MAAM,CAAC,IAAI,CAAC;EACjC,CAAC;EACD,CAAC1B,WAAW,CAAC2B,iBAAiB,IAAC;IAC7B,OAAO,IAAI,CAACP,MAAM,EAAE;EACtB;CACQ;AAEV,MAAMQ,YAAY,GAAG;EACnB,GAAGV,SAAS;EACZW,IAAIA,CAA8BC,GAAQ,EAAEC,OAA6C;IACvF,MAAMC,IAAI,GAAGC,QAAQ,CAACH,GAAG,EAAEC,OAAO,CAAC;IACnC,OAAOG,QAAQ,CAAEC,GAAG,IAAI;MACtB,MAAMC,QAAQ,GAAGD,GAAG,CAACE,IAAI,EAA2B;MACpD,MAAMC,aAAa,GAAGH,GAAG,CAAC,IAAI,CAAC;MAC/B,IAAIG,aAAa,CAACC,IAAI,KAAK,SAAS,EAAE;QACpC,OAAOxB,MAAM,CAACyB,eAAe,CAACF,aAAa,EAAEF,QAAQ,CAAC;MACxD;MACA,OAAOJ,IAAI,CAACG,GAAG,EAAEG,aAAa,CAACG,KAAK,CAAC;IACvC,CAAC,CAAC;EACJ,CAAC;EAEDC,EAAEA,CAA8BZ,GAAQ,EAAEC,OAGzC;IACC,IAAIZ,SAAS,CAACwB,MAAM,KAAK,CAAC,EAAE;MAC1B,OAAO,CAACb,GAAQ,EAAEC,OAAY,KAAKa,aAAa,CAAC,IAAI,EAAEd,GAAG,EAAEC,OAAO,CAAC;IACtE;IACA,OAAOa,aAAa,CAAC,IAAI,EAAEd,GAAG,EAAEC,OAAO,CAAC;EAC1C,CAAC;EAEDc,IAAIA,CAA8Bf,GAAQ,EAAEC,OAG3C;IACC,MAAMe,UAAU,GAAGC,KAAK,CAAC,CAAC,CAAC;IAC3B,MAAMC,QAAQ,GAAGd,QAAQ,CAAEC,GAAG,IAAI;MAChC,MAAMC,QAAQ,GAAGD,GAAG,CAACE,IAAI,EAA2B;MACpD,MAAMC,aAAa,GAAGH,GAAG,CAAC,IAAI,CAAC;MAC/B,IAAIG,aAAa,CAACC,IAAI,KAAK,SAAS,EAAE;QACpC,OAAOxB,MAAM,CAACyB,eAAe,CAACF,aAAa,EAAEF,QAAQ,CAAC;MACxD;MACA,OAAOa,UAAU,CACfd,GAAG,EACHe,oBAAoB,CAACf,GAAG,EAAEW,UAAU,EAAEhB,GAAG,EAAEC,OAAO,CAAC,EACnDhB,MAAM,CAACoC,OAAO,CAAC,IAAI,CAAC,EACpBb,aAAa,CAACG,KAAK,CACpB;IACH,CAAC,CAAC;IACF,OAAOW,cAAc,CAACN,UAAU,EAAEE,QAAQ,CAAC;EAC7C,CAAC;EAEDK,eAAeA,CAA8BC,GAAQ;IACnD,OAAOC,UAAU,CACfrB,QAAQ,CAAEC,GAAG,IAAI;MACf,MAAMC,QAAQ,GAAGD,GAAG,CAACE,IAAI,EAA2B;MACpD,MAAMC,aAAa,GAAGH,GAAG,CAAC,IAAI,CAAC;MAC/B,IAAIG,aAAa,CAACC,IAAI,KAAK,SAAS,EAAE;QACpC,OAAOxB,MAAM,CAACyB,eAAe,CAACF,aAAa,EAAEF,QAAQ,CAAC;MACxD;MACA,MAAMK,KAAK,GAAG,OAAOa,GAAG,KAAK,UAAU,GAAGA,GAAG,CAACnB,GAAG,CAAC,GAAGmB,GAAG;MACxD,OAAO5C,eAAe,CAAC8C,qBAAqB,IAAIf,KAAK,GACjDA,KAAK,GACLQ,UAAU,CAACd,GAAG,EAAEM,KAAK,EAAE1B,MAAM,CAACoC,OAAO,CAAC,IAAI,CAAC,EAAEb,aAAa,CAACG,KAAK,CAAC;IACvE,CAAC,CAAC,EACF,CAACN,GAAG,EAAEmB,GAAG,KAAI;MACX,MAAMG,OAAO,GAAG1C,MAAM,CAAC2C,UAAU,CAACvB,GAAG,CAAC,IAAI,CAAC,CAAC;MAC5C,OAAOwB,gBAAgB,CAACxB,GAAG,EAAEmB,GAAG,EAAEG,OAAO,CAAC;IAC5C,CAAC,CACF;EACH,CAAC;EAEDG,YAAYA,CAA8B9B,GAAQ;IAChD,OAAO+B,gBAAgB,CACrB3B,QAAQ,CAAEC,GAAG,IAAI;MACf,MAAMC,QAAQ,GAAGD,GAAG,CAACE,IAAI,EAA2B;MACpD,MAAMC,aAAa,GAAGH,GAAG,CAAC,IAAI,CAAC;MAC/B,IAAIG,aAAa,CAACC,IAAI,KAAK,SAAS,EAAE;QACpC,OAAOxB,MAAM,CAACyB,eAAe,CAACF,aAAa,EAAEF,QAAQ,CAAC;MACxD;MACA,MAAMK,KAAK,GAAG,OAAOX,GAAG,KAAK,UAAU,GAAGA,GAAG,CAACK,GAAG,CAAC,GAAGL,GAAG;MACxD,OAAOrB,YAAY,CAACqD,cAAc,CAACrB,KAAK,CAAC,GACvCA,KAA4C,GAC1CQ,UAAU,CAACd,GAAG,EAAEM,KAAK,EAAE1B,MAAM,CAACoC,OAAO,CAAC,IAAI,CAAC,EAAEb,aAAa,CAACG,KAAK,CAAC;IACvE,CAAC,CAAC,EACF,CAACN,GAAG,EAAEmB,GAAG,KAAI;MACX,MAAMG,OAAO,GAAG1C,MAAM,CAAC2C,UAAU,CAACvB,GAAG,CAAC,IAAI,CAAC,CAAC;MAC5C,OAAOwB,gBAAgB,CAACxB,GAAG,EAAEmB,GAAG,EAAEG,OAAO,CAAC;IAC5C,CAAC,CACF;EACH,CAAC;EAEDM,cAAcA,CAEZC,IAA6E;IAE7E,OAA6BnC,IAAO,IAClCoC,SAAS,CAACpC,IAAI,EAAGM,GAAG,IAAI;MACtB,MAAMG,aAAa,GAAGH,GAAG,CAAC,IAAI,CAAC;MAC/B,IAAI,CAACpB,MAAM,CAACmD,SAAS,CAAC5B,aAAa,CAAC,EAAE,OAAOH,GAAG,CAACN,IAAI,CAAC;MACtD,MAAMsC,UAAU,GAAG/E,aAAa,CAAC+C,GAAG,CAACG,aAAa,CAACG,KAAK,CAAC2B,OAAO,EAAEvF,UAAU,CAACA,UAAU,CAAC;MACxFsD,GAAG,CAACkC,YAAY,CAACF,UAAU,CAACG,cAAc,CAACN,IAAI,EAAE,MAAK;QACpD7B,GAAG,CAACoC,OAAO,CAAC1C,IAAI,CAAC;MACnB,CAAC,CAAC,CAAC;MACHM,GAAG,CAACqC,SAAS,CAAC3C,IAAI,EAAGY,KAAK,IAAKN,GAAG,CAACsC,OAAO,CAAChC,KAAK,CAAC,CAAC;MAClD,OAAON,GAAG,CAACuC,IAAI,CAAC7C,IAAI,CAAC;IACvB,CAAC,CAAa;EAClB;CACD;AAED,MAAMe,aAAa,GAAGA,CACpBP,IAA2B,EAC3BP,GAKyC,EACzCC,OAGC,KACC;EACF,MAAM,CAACC,IAAI,EAAE2C,KAAK,EAAEC,OAAO,CAAC,GAAGC,YAAY,CACzC9C,OAAO,EAAE+C,cAAc,GACpB,CAACC,CAAM,EAAE5C,GAAc,KAAI;IAC1B,MAAM6C,MAAM,GAAGlD,GAAG,CAACiD,CAAC,EAAE5C,GAAG,CAAC;IAC1B,OAAO7C,MAAM,CAAC2F,QAAQ,CAACD,MAAM,CAAC,GAC1BnG,UAAU,CAACqG,QAAQ,CAACF,MAAM,EAAEjD,OAAO,CAAC+C,cAAe,CAAC,GACpDtE,MAAM,CAAC2E,QAAQ,CAACH,MAAM,EAAEnG,UAAU,CAACuG,UAAU,CAACrD,OAAO,CAAC+C,cAAe,CAAC,CAAC;EAC7E,CAAC,GACDhD,GAAG,EACLC,OAAO,CACR;EACD,OAAOsD,QAAQ,CAAElD,GAAG,IAAI;IACtBA,GAAG,CAACA,GAAG,CAACyC,OAAO,CAAC;IAChB,MAAMxC,QAAQ,GAAGD,GAAG,CAACE,IAAI,EAA2B;IACpD,MAAMC,aAAa,GAAGH,GAAG,CAACA,GAAG,CAACE,IAAI,CAAC;IACnC,IAAIC,aAAa,CAACC,IAAI,KAAK,SAAS,EAAE;MACpC,OAAOxB,MAAM,CAACyB,eAAe,CAACF,aAAa,EAAEF,QAAQ,CAAC;IACxD;IACA,OAAOJ,IAAI,CAACG,GAAG,EAAEG,aAAa,CAACG,KAAK,CAAC;EACvC,CAAC,EAAEkC,KAAK,CAAC;AACX,CAAC;AAED,MAAMW,aAAa,GAAG;EACpB,GAAGpE,SAAS;EACZ,CAACD,cAAc,GAAGA;CACV;AAEV;;;;AAIA,OAAO,MAAMsE,UAAU,GAAU1D,IAAa,IAA6BZ,cAAc,IAAIY,IAAI;AAEjG;;;;AAIA,OAAO,MAAMK,QAAQ,GAAGA,CACtBF,IAAyB,EACzBuC,OAAiD,KACtC;EACX,MAAMlC,IAAI,GAAGmD,MAAM,CAACC,MAAM,CAACvE,SAAS,CAAC;EACrCmB,IAAI,CAACf,SAAS,GAAG,KAAK;EACtBe,IAAI,CAACd,IAAI,GAAG,IAAI;EAChBc,IAAI,CAACL,IAAI,GAAGA,IAAI;EAChBK,IAAI,CAACkC,OAAO,GAAGA,OAAO;EACtB,OAAOlC,IAAI;AACb,CAAC;AAED;;;;AAIA,OAAO,MAAMgD,QAAQ,GAAGA,CACtBrD,IAAyB,EACzB2C,KAA+C,EAC/CJ,OAAiD,KAC/B;EAClB,MAAMlC,IAAI,GAAGmD,MAAM,CAACC,MAAM,CAACH,aAAa,CAAC;EACzCjD,IAAI,CAACf,SAAS,GAAG,KAAK;EACtBe,IAAI,CAACd,IAAI,GAAG,IAAI;EAChBc,IAAI,CAACL,IAAI,GAAGA,IAAI;EAChBK,IAAI,CAACsC,KAAK,GAAGA,KAAK;EAClBtC,IAAI,CAACkC,OAAO,GAAGA,OAAO;EACtB,OAAOlC,IAAI;AACb,CAAC;AAED,SAASqD,YAAYA,CAAIC,GAAoB,EAAElD,KAAQ;EACrDkD,GAAG,CAAClB,OAAO,CAAChC,KAAK,CAAC;AACpB;AAEA;AACA;AACA;AAEA;;;;AAIA,OAAO,MAAMmD,IAAI,GAebA,CAAC9D,GAAQ,EAAEC,OAA6C,KAAI;EAC9D,MAAM8D,UAAU,GAAG5D,QAAQ,CAACH,GAAG,EAAEC,OAAO,CAAC;EACzC,IAAIf,MAAM,IAAI6E,UAAU,EAAE;IACxB,OAAOA,UAAiB;EAC1B;EACA,OAAO3D,QAAQ,CAAC2D,UAAU,CAAC;AAC7B,CAAC;AAED;AACA;AACA;AAEA,MAAMC,UAAU,GAAIC,CAAS,IAC3B5F,MAAM,CAACa,MAAM,IAAI+E,CAAC,IAClBxG,MAAM,CAACyB,MAAM,IAAI+E,CAAC;AAEpB,MAAM9D,QAAQ,GAeVA,CACFH,GAMK,EACLC,OAA6C,KAC3C;EACF,IAAI,OAAOD,GAAG,KAAK,UAAU,EAAE;IAC7B,MAAM2D,MAAM,GAAG3D,GAA4B;IAC3C,OAAO,UAASK,GAAY,EAAE6D,eAAsC;MAClE,MAAMvD,KAAK,GAAGgD,MAAM,CAACtD,GAAG,CAAC;MACzB,IAAI,OAAOM,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,EAAE;QAC/C,IAAIqD,UAAU,CAACrD,KAAK,CAAC,EAAE;UACrB,OAAOA,KAAK;QACd,CAAC,MAAM,IAAInD,MAAM,CAAC2G,YAAY,IAAIxD,KAAK,EAAE;UACvC,OAAOuC,MAAM,CAAC7C,GAAG,EAAEM,KAAY,EAAEV,OAAO,EAAEiE,eAAe,CAAC;QAC5D,CAAC,MAAM,IAAIxF,MAAM,CAAC0F,YAAY,IAAIzD,KAAK,EAAE;UACvC,OAAO0D,MAAM,CAAChE,GAAG,EAAEM,KAAK,EAAEV,OAAO,EAAEiE,eAAe,CAAC;QACrD;MACF;MACA,OAAOvD,KAAK;IACd,CAAC;EACH,CAAC,MAAM,IAAI,OAAOX,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,IAAI,EAAE;IAClD,IAAIgE,UAAU,CAAChE,GAAG,CAAC,EAAE;MACnB,OAAOiB,KAAK,CAACjB,GAAG,CAAC;IACnB,CAAC,MAAM,IAAIxC,MAAM,CAAC2G,YAAY,IAAInE,GAAG,EAAE;MACrC,OAAO,UAASK,GAAY,EAAE6D,eAAsC;QAClE,OAAOhB,MAAM,CAAC7C,GAAG,EAAEL,GAAG,EAAEC,OAAO,EAAEiE,eAAe,CAAC;MACnD,CAAC;IACH,CAAC,MAAM,IAAIxF,MAAM,CAAC0F,YAAY,IAAIpE,GAAG,EAAE;MACrC,OAAO,UAASK,GAAY,EAAE6D,eAAsC;QAClE,OAAOG,MAAM,CAAChE,GAAG,EAAEL,GAAG,EAAEC,OAAO,EAAEiE,eAAe,CAAC;MACnD,CAAC;IACH;EACF;EAEA,OAAOjD,KAAK,CAACjB,GAAG,CAAQ;AAC1B,CAAC;AAED,MAAMiB,KAAK,GACTqD,YAAe,IAEff,QAAQ,CAAC,UAASgB,IAAI;EACpB,OAAOD,YAAY;AACrB,CAAC,EAAEV,YAAY,CAAC;AAElB,MAAMV,MAAM,GAAGA,CACb7C,GAAY,EACZ6C,MAAuD,EACvDjD,OAA2E,EAC3E0B,OAA8B,KACP;EACvB,MAAM2C,YAAY,GAAGrE,OAAO,EAAEqE,YAAY,KAAKE,SAAS,GACpDvF,MAAM,CAACwF,OAAO,CAAOxE,OAAO,CAACqE,YAAY,CAAC,GAC1CrF,MAAM,CAACoC,OAAO,EAAQ;EAC1B,OAAOF,UAAU,CAACd,GAAG,EAAE6C,MAAM,EAAEoB,YAAY,EAAE3C,OAAO,EAAE1B,OAAO,EAAEyE,eAAe,CAAC;AACjF,CAAC;AAED,SAASvD,UAAUA,CACjB0C,GAAY,EACZX,MAAuD,EACvDoB,YAAiC,EACjC3C,OAAO,GAAGpD,OAAO,CAACoG,cAAc,EAChCD,eAAe,GAAG,KAAK;EAEvB,MAAMpE,QAAQ,GAAGuD,GAAG,CAACtD,IAAI,EAAuB;EAEhD,MAAMqE,KAAK,GAAGpH,MAAM,CAACqH,OAAO,CAACpG,KAAK,CAACqF,IAAI,EAAE,CAAC;EAC1CD,GAAG,CAACtB,YAAY,CAAC,MAAK;IACpB/E,MAAM,CAACsH,OAAO,CAACrG,KAAK,CAACsG,KAAK,CAACH,KAAK,EAAElH,IAAI,CAACsH,IAAI,CAAC,CAAC;EAC/C,CAAC,CAAC;EACF,MAAMC,UAAU,GAAG,IAAIC,GAAG,CAACvD,OAAO,CAACW,OAAO,CAAC6C,SAAS,CAAC;EACrDF,UAAU,CAACG,GAAG,CAAC3G,KAAK,CAACA,KAAK,CAAC4G,GAAG,EAAET,KAAK,CAAC;EACtCK,UAAU,CAACG,GAAG,CAACpG,YAAY,CAACqG,GAAG,EAAExB,GAAG,CAACyB,QAAQ,CAAC;EAC9C,MAAMC,aAAa,GAAGhH,OAAO,CAACuF,IAAI,CAAC;IACjCxB,OAAO,EAAEhF,aAAa,CAACkI,UAAU,CAACP,UAAU,CAAC;IAC7CQ,SAAS,EAAE9D,OAAO,CAAC8D,SAAS;IAC5BC,YAAY,EAAE/D,OAAO,CAAC+D;GACvB,CAAC;EACF,IAAIC,UAA2C;EAC/C,IAAIC,OAAO,GAAG,KAAK;EACnB,MAAMC,MAAM,GAAG/G,eAAe,CAACyG,aAAa,CAAC,CAC3CrC,MAAM,EACN,UAAS4C,IAAI;IACXH,UAAU,GAAG1G,MAAM,CAAC8G,oBAAoB,CAACD,IAAI,EAAExF,QAAQ,CAAC;IACxD,IAAIsF,OAAO,EAAE/B,GAAG,CAAClB,OAAO,CAACgD,UAAU,CAAC;EACtC,CAAC,EACDjB,eAAe,CAChB;EACDkB,OAAO,GAAG,IAAI;EACd,IAAIC,MAAM,KAAKrB,SAAS,EAAE;IACxBX,GAAG,CAACtB,YAAY,CAACsD,MAAM,CAAC;EAC1B;EACA,IAAIF,UAAU,KAAKnB,SAAS,EAAE;IAC5B,OAAOmB,UAAU;EACnB,CAAC,MAAM,IAAIrF,QAAQ,CAACG,IAAI,KAAK,MAAM,EAAE;IACnC,OAAOxB,MAAM,CAAC+G,WAAW,CAAC1F,QAAQ,CAAC;EACrC;EACA,OAAOrB,MAAM,CAACgH,OAAO,CAAC3B,YAAY,CAAC;AACrC;AAiHA;;;;AAIA,OAAO,MAAMhC,OAAO,GAEIrC,OAAO,IAAI;EACjC,IAAIiG,WAAW,GAAwCnJ,UAAU,CAACoJ,KAAK;EACvE,SAASC,OAAOA,CACdzC,MAE+E;IAE/E,MAAMpD,IAAI,GAAGmD,MAAM,CAACC,MAAM,CAAC7D,YAAY,CAAC;IACxCS,IAAI,CAACf,SAAS,GAAG,KAAK;IACtBe,IAAI,CAACd,IAAI,GAAG,IAAI;IAChBc,IAAI,CAACkC,OAAO,GAAG+B,SAAS;IAExB,MAAM6B,SAAS,GAAG7G,SAAS,CACzB,OAAOmE,MAAM,KAAK,UAAU,GACxBvD,QAAQ,CAAEC,GAAG,IAAKlC,KAAK,CAACmI,YAAY,CAAC3C,MAAM,CAACtD,GAAG,CAAC,EAAE6F,WAAW,CAAC,CAAC,GAC/D9F,QAAQ,CAAC,MAAMjC,KAAK,CAACmI,YAAY,CAAC3C,MAAM,EAAEuC,WAAW,CAAC,CAAC,CAC5D;IACD3F,IAAI,CAAC4F,KAAK,GAAGE,SAAS;IAEtB9F,IAAI,CAACL,IAAI,GAAG,SAASA,IAAIA,CAACG,GAAY;MACpC,MAAM8F,KAAK,GAAG9F,GAAG,CAACgG,SAAS,CAAC;MAC5B,MAAME,KAAK,GAAG/I,MAAM,CAACgJ,OAAO,CAC1BhJ,MAAM,CAACgJ,OAAO,CAAChJ,MAAM,CAACoH,KAAK,EAAGA,KAAK,IAAKzG,KAAK,CAACsI,gBAAgB,CAACN,KAAK,EAAElG,OAAO,CAACyG,OAAO,EAAE9B,KAAK,CAAC,CAAC,EAC7FtC,OAAO,IAAK9E,MAAM,CAACmJ,OAAO,CAACnJ,MAAM,CAACmE,OAAO,EAAK,EAAEW,OAAO,CAAC,CAC1D;MACD,OAAOY,MAAM,CAAC7C,GAAG,EAAEkG,KAAK,EAAE;QAAE7B,eAAe,EAAE;MAAI,CAAE,CAAC;IACtD,CAAC;IAED,OAAOnE,IAAI;EACb;EACA6F,OAAO,CAACM,OAAO,GAAGzG,OAAO,CAACyG,OAAO;EACjCN,OAAO,CAACQ,cAAc,GAAIT,KAAkE,IAAI;IAC9FD,WAAW,GAAG/H,KAAK,CAACmI,YAAY,CAACJ,WAAW,EAAE/H,KAAK,CAACwI,OAAO,CAACR,KAAK,EAAEpJ,UAAU,CAACoJ,KAAK,CAAC,CAAC;EACvF,CAAC;EACD,OAAOC,OAAO;AAChB,CAAC;AAED;;;;AAIA,OAAO,MAAMS,cAAc,gBAAkB5I,WAAW,CACtD,uCAAuC,EACvC,MAAMT,MAAM,CAACqH,OAAO,CAAC1G,KAAK,CAAC2I,WAAW,CAAC,CACxC;AAED;;;;AAIA,OAAO,MAAMnF,OAAO,gBAAmB1D,WAAW,CAChD,uCAAuC,EACvC,MAAMqE,OAAO,CAAC;EAAEoE,OAAO,EAAEG;AAAc,CAAE,CAAC,CAC3C;AAED;AACA;AACA;AAEA,MAAMxC,MAAM,GAAGA,CACbhE,GAAY,EACZgE,MAAyC,EACzCpE,OAAuC,EACvC0B,OAA8B,KACkB;EAChD,MAAM2C,YAAY,GAAGrE,OAAO,EAAEqE,YAAY,KAAKE,SAAS,GACpDvF,MAAM,CAACwF,OAAO,CAAOxE,OAAO,CAACqE,YAAY,CAAC,GAC1CrF,MAAM,CAACoC,OAAO,EAAQ;EAC1B,OAAO0F,UAAU,CAAC1G,GAAG,EAAEgE,MAAM,EAAEC,YAAY,EAAE3C,OAAO,CAAC;AACvD,CAAC;AAED,SAASoF,UAAUA,CACjBlD,GAAY,EACZQ,MAAyC,EACzCC,YAA0D,EAC1D3C,OAAO,GAAGpD,OAAO,CAACoG,cAAc;EAEhC,MAAMrE,QAAQ,GAAGuD,GAAG,CAACtD,IAAI,EAAgD;EAEzE,MAAMyG,MAAM,GAAqD5J,OAAO,CAAC6J,aAAa,CAAC;IACrFC,OAAOA,CAACC,KAAqB;MAC3B,OAAO/J,OAAO,CAACgK,OAAO,CAAC,MAAK;QAC1B,MAAMC,IAAI,GAAGhK,KAAK,CAACgK,IAAI,CAACF,KAAK,CAAC;QAC9B,IAAIE,IAAI,CAAC5G,IAAI,KAAK,MAAM,EAAE;UACxBoD,GAAG,CAAClB,OAAO,CAAC1D,MAAM,CAACwF,OAAO,CAAC4C,IAAI,CAAC1G,KAAK,EAAE;YACrCsF,OAAO,EAAE;WACV,CAAC,CAAC;QACL;QACA,OAAOe,MAAM;MACf,CAAC,CAAC;IACJ,CAAC;IACDM,SAASA,CAACC,KAAqB;MAC7B,OAAOnK,OAAO,CAACoK,IAAI,CAAC,MAAK;QACvB3D,GAAG,CAAClB,OAAO,CAAC1D,MAAM,CAACwI,mBAAmB,CAACF,KAAK,EAAE;UAAEjH;QAAQ,CAAE,CAAC,CAAC;MAC9D,CAAC,CAAC;IACJ,CAAC;IACDoH,MAAMA,CAACC,KAAc;MACnB,OAAOvK,OAAO,CAACoK,IAAI,CAAC,MAAK;QACvBxJ,IAAI,CACF6F,GAAG,CAACtD,IAAI,EAAgD,EACxDlC,MAAM,CAACmI,OAAO,CAACvH,MAAM,CAAC0B,KAAK,CAAC,EAC5BtC,MAAM,CAACuJ,KAAK,CAAC;UACXC,MAAM,EAAEA,CAAA,KAAMhE,GAAG,CAAClB,OAAO,CAAC1D,MAAM,CAAC6I,gBAAgB,CAAC,IAAI5K,sBAAsB,EAAE,EAAE;YAAEoD;UAAQ,CAAE,CAAC,CAAC;UAC9FyH,MAAM,EAAG9E,CAAC,IAAKY,GAAG,CAAClB,OAAO,CAAC1D,MAAM,CAACwF,OAAO,CAACxB,CAAC,CAAC;SAC7C,CAAC,CACH;MACH,CAAC,CAAC;IACJ;GACD,CAAC;EAEF,MAAM+E,eAAe,GAAGzJ,OAAO,CAACuF,IAAI,CAAC;IACnCxB,OAAO,EAAEhF,aAAa,CAAC2K,GAAG,CAACtG,OAAO,CAACW,OAAO,EAAEtD,YAAY,EAAE6E,GAAG,CAACyB,QAAQ,CAAC;IACvEG,SAAS,EAAE9D,OAAO,CAAC8D,SAAS;IAC5BC,YAAY,EAAE/D,OAAO,CAAC+D;GACvB,CAAC;EAEF,MAAMG,MAAM,GAAG/G,eAAe,CAACkJ,eAAe,CAAC,CAC7C5K,OAAO,CAAC8K,QAAQ,CAAC9K,OAAO,CAAC+K,MAAM,CAACzJ,MAAM,CAAC0J,SAAS,CAAC/D,MAAM,CAAC,EAAE2C,MAAM,CAAC,CAAC,EAClElJ,SAAS,CACV;EACD,IAAI+H,MAAM,KAAKrB,SAAS,EAAE;IACxBX,GAAG,CAACtB,YAAY,CAACsD,MAAM,CAAC;EAC1B;EAEA,IAAIvF,QAAQ,CAACG,IAAI,KAAK,MAAM,EAAE;IAC5B,OAAOxB,MAAM,CAAC+G,WAAW,CAAC1F,QAAQ,CAAC;EACrC;EACA,OAAOrB,MAAM,CAACgH,OAAO,CAAC3B,YAAY,CAAC;AACrC;AAEA;AACA;AACA;AAEA;AACA,MAAMzC,gBAAgB,GAAGA,CACvBxB,GAAY,EACZgI,GAE2D,EAC3D1G,OAAO,GAAGpD,OAAO,CAACoG,cAAc,KAC9B;EACF,IAAIhG,YAAY,CAACO,MAAM,IAAImJ,GAAG,EAAE;IAC9BhI,GAAG,CAACkC,YAAY,CACd8F,GAAG,CAACC,OAAO,CAACtK,IAAI,CACdU,MAAM,CAAC6J,UAAU,CAAE5H,KAAK,IAAI;MAC1BN,GAAG,CAACsC,OAAO,CAAChC,KAAK,CAAC;MAClB,OAAOnD,MAAM,CAACwH,IAAI;IACpB,CAAC,CAAC,EACFzG,OAAO,CAACiK,WAAW,CAAC7G,OAAO,CAAC,CAC7B,CACF;IACD,OAAOpD,OAAO,CAACsG,OAAO,CAAClD,OAAO,CAAC,CAAC0G,GAAG,CAAChI,GAAG,CAAC;EAC1C,CAAC,MAAM,IAAIgI,GAAG,CAAC5H,IAAI,KAAK,SAAS,EAAE;IACjC,OAAO4H,GAAG;EACZ;EACA,OAAOtB,UAAU,CAAC1G,GAAG,EAAEgI,GAAG,CAAC1H,KAAK,CAAC2H,OAAO,EAAErJ,MAAM,CAACoC,OAAO,CAAC,IAAI,CAAC,EAAEM,OAAO,CAAC;AAC1E,CAAC;AAED,MAAMF,UAAU,GAAGA,CACjBgH,OAA8G,EAC9GvI,IAGQ,KACN;EACF,SAAS2C,KAAKA,CAACgB,GAAuD,EAAElD,KAAU;IAChF,MAAMa,GAAG,GAAGqC,GAAG,CAACxD,GAAG,CAACoI,OAAO,CAAC;IAC5B,IAAI7J,eAAe,CAAC8C,qBAAqB,IAAIF,GAAG,EAAE;MAChDhE,MAAM,CAACqH,OAAO,CAACjG,eAAe,CAACwG,GAAG,CAAC5D,GAAG,EAAEb,KAAK,CAAC,CAAC;IACjD,CAAC,MAAM,IAAI1B,MAAM,CAACmD,SAAS,CAACZ,GAAG,CAAC,EAAE;MAChChE,MAAM,CAACqH,OAAO,CAACjG,eAAe,CAACwG,GAAG,CAAC5D,GAAG,CAACb,KAAK,EAAEA,KAAK,CAAC,CAAC;IACvD;EACF;EACA,OAAO4C,QAAQ,CAAElD,GAAG,IAAI;IACtB,MAAMmB,GAAG,GAAGnB,GAAG,CAACoI,OAAO,CAAC;IACxB,IAAI7J,eAAe,CAAC8C,qBAAqB,IAAIF,GAAG,EAAE;MAChD,OAAOtB,IAAI,CAACG,GAAG,EAAEmB,GAAG,CAAC;IACvB,CAAC,MAAM,IAAIvC,MAAM,CAACmD,SAAS,CAACZ,GAAG,CAAC,EAAE;MAChC,OAAOtB,IAAI,CAACG,GAAG,EAAEmB,GAAG,CAAC;IACvB;IACA,OAAOA,GAAG;EACZ,CAAC,EAAEqB,KAAK,CAAC;AACX,CAAC;AAED;;;;AAIA,OAAO,MAAMtB,eAAe,GAQ1BC,GAI4G,IAE5GC,UAAU,CACRrB,QAAQ,CAAEC,GAAG,IAAI;EACf,MAAMM,KAAK,GAAG,OAAOa,GAAG,KAAK,UAAU,GAAGA,GAAG,CAACnB,GAAG,CAAC,GAAGmB,GAAG;EACxD,OAAO5C,eAAe,CAAC8C,qBAAqB,IAAIf,KAAK,GACjDA,KAAK,GACLQ,UAAU,CAACd,GAAG,EAAEM,KAAK,EAAE1B,MAAM,CAACoC,OAAO,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC,CAAC,EACFQ,gBAAgB,CACjB;AAEH;AACA;AACA;AAEA;;;;AAIA,OAAO,MAAMC,YAAY,GAUvBN,GAI2G,IAE3GO,gBAAgB,CACd3B,QAAQ,CAAEC,GAAG,IAAI;EACf,MAAMM,KAAK,GAAG,OAAOa,GAAG,KAAK,UAAU,GAAGA,GAAG,CAACnB,GAAG,CAAC,GAAGmB,GAAG;EACxD,OAAO7C,YAAY,CAACqD,cAAc,CAACrB,KAAK,CAAC,GACrCA,KAAK,GACLQ,UAAU,CAACd,GAAG,EAAEM,KAAK,EAAE1B,MAAM,CAACoC,OAAO,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC,CAAC,EACFQ,gBAAgB,CACjB;AAEH,MAAME,gBAAgB,GAAGA,CACvB2G,OAA4G,EAC5GxI,IAGQ,KAERE,QAAQ,CAAEC,GAAG,IAAI;EACf,MAAMgI,GAAG,GAAGhI,GAAG,CAACqI,OAAO,CAAC;EACxB,IAAI/J,YAAY,CAACqD,cAAc,CAACqG,GAAG,CAAC,EAAE;IACpC,OAAOnI,IAAI,CAACG,GAAG,EAAEgI,GAAG,CAAC;EACvB,CAAC,MAAM,IAAIpJ,MAAM,CAACmD,SAAS,CAACiG,GAAG,CAAC,EAAE;IAChC,OAAOnI,IAAI,CAACG,GAAG,EAAEgI,GAAG,CAAC;EACvB;EACA,OAAOA,GAAG;AACZ,CAAC,CAAC;AAcJ;;;;AAIA,OAAO,MAAMM,MAAM,GAiBf,SAAAA,CAAS,GAAGC,IAAwB;EACtC,IAAIA,IAAI,CAAC/H,MAAM,KAAK,CAAC,EAAE;IACrB,OAAOgI,UAAU;EACnB;EACA,OAAOA,UAAU,CAAC,GAAGD,IAAkB,CAAQ;AACjD,CAAC;AAED,MAAMC,UAAU,GAAGA,CAASC,CAAkC,EAAE7I,OAE/D,KAAyC;EACxC,MAAM6C,OAAO,GAAG7B,KAAK,CAAgB,CAAC,CAAC,EAAEuD,SAAgB,CAAC,CAAC;EAC3D,MAAMuE,eAAe,GAAG9I,OAAO,EAAEqE,YAAY,KAAKE,SAAS;EAC3D,OAAOjB,QAAQ,CAAC,UAASlD,GAAG;IAC1B;IAAEA,GAAW,CAAC2I,IAAI,GAAG,IAAI;IACzB,MAAM,CAACC,OAAO,EAAEjJ,GAAG,CAAC,GAAGK,GAAG,CAACA,GAAG,CAACyC,OAAO,CAAC;IACvC,IAAImG,OAAO,KAAK,CAAC,EAAE;MACjB,OAAOF,eAAe,GAAG9I,OAAO,CAACqE,YAAY,GAAGjG,MAAM,CAAC6K,IAAI,EAAE;IAC/D;IACA,OAAOH,eAAe,GAAGD,CAAC,CAAC9I,GAAG,EAAEK,GAAG,CAAC,GAAGhC,MAAM,CAAC8K,IAAI,CAACL,CAAC,CAAC9I,GAAG,EAAEK,GAAG,CAAC,CAAC;EACjE,CAAC,EAAE,UAASwD,GAAG,EAAE7D,GAAG;IAClBoJ,KAAK,CAAC,MAAK;MACTvF,GAAG,CAACuB,GAAG,CAACtC,OAAO,EAAE,CAACe,GAAG,CAACxD,GAAG,CAACyC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE9C,GAAU,CAAC,CAAC;MACvD6D,GAAG,CAACwF,WAAW,EAAE;IACnB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AAQD;;;;AAIA,OAAO,MAAMC,KAAK,gBAAGC,MAAM,CAACC,GAAG,CAAC,8BAA8B,CAAC;AAQ/D;;;;AAIA,OAAO,MAAM5I,EAAE,GAaX,SAAAA,CAAS,GAAGgI,IAAwB;EACtC,IAAIA,IAAI,CAAC/H,MAAM,KAAK,CAAC,EAAE;IACrB,OAAO4I,MAAM;EACf;EACA,OAAOA,MAAM,CAAC,GAAGb,IAAkB,CAAQ;AAC7C,CAAC;AAED,MAAMa,MAAM,GAAGA,CACbX,CAAoH,EACpH7I,OAEC,KACmD;EACpD,MAAM,CAACC,IAAI,EAAE2C,KAAK,CAAC,GAAGE,YAAY,CAAC+F,CAAC,EAAE7I,OAAO,CAAC;EAC9C,OAAOsD,QAAQ,CAACrD,IAAI,EAAE2C,KAAK,CAAQ;AACrC,CAAC;AAED,SAASE,YAAYA,CACnB+F,CAAoH,EACpH7I,OAEC;EAED,MAAM6C,OAAO,GAAG7B,KAAK,CAAgB,CAAC,CAAC,EAAEuD,SAAgB,CAAC,CAAC;EAC3D,MAAMF,YAAY,GAAGrE,OAAO,EAAEqE,YAAY,KAAKE,SAAS,GACpDvF,MAAM,CAACwF,OAAO,CAAOxE,OAAO,CAACqE,YAAY,CAAC,GAC1CrF,MAAM,CAACoC,OAAO,EAAQ;EAE1B,SAASnB,IAAIA,CAACG,GAAY,EAAEsB,OAA8B;IACxD;IAAEtB,GAAW,CAAC2I,IAAI,GAAG,IAAI;IACzB,MAAM,CAACC,OAAO,EAAEjJ,GAAG,CAAC,GAAGK,GAAG,CAACA,GAAG,CAACyC,OAAO,CAAC;IACvC,IAAImG,OAAO,KAAK,CAAC,EAAE;MACjB,OAAO3E,YAAY;IACrB;IACA,MAAM3D,KAAK,GAAGmI,CAAC,CAAC9I,GAAG,EAAEK,GAAG,CAAC;IACzB,IAAI7C,MAAM,CAAC2G,YAAY,IAAIxD,KAAK,EAAE;MAChC,OAAOQ,UAAU,CAACd,GAAG,EAAEM,KAAK,EAAE2D,YAAY,EAAE3C,OAAO,CAAC;IACtD;IACA,OAAOoF,UAAU,CAAC1G,GAAG,EAAEM,KAAK,EAAE2D,YAAY,EAAE3C,OAAO,CAAC;EACtD;EACA,SAASkB,KAAKA,CAACgB,GAA+D,EAAE7D,GAAgB;IAC9FoJ,KAAK,CAAC,MAAK;MACT,IAAIpJ,GAAG,KAAKsJ,KAAK,EAAE;QACjBzF,GAAG,CAACuB,GAAG,CAACtC,OAAO,EAAE,CAAC,CAAC,EAAE0B,SAAgB,CAAC,CAAC;MACzC,CAAC,MAAM;QACLX,GAAG,CAACuB,GAAG,CAACtC,OAAO,EAAE,CAACe,GAAG,CAACxD,GAAG,CAACyC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE9C,GAAG,CAAC,CAAC;MAClD;MACA6D,GAAG,CAACwF,WAAW,EAAE;IACnB,CAAC,CAAC;EACJ;EACA,OAAO,CAACnJ,IAAI,EAAE2C,KAAK,EAAEC,OAAO,CAAU;AACxC;AAWA;;;;AAIA,OAAO,MAAM/B,IAAI,GAAGA,CAClB4C,MAAiG,EACjG1D,OAEC,KACmC;EACpC,MAAMe,UAAU,GAAGC,KAAK,CAAC,CAAC,CAAC;EAC3B,MAAMC,QAAQ,GAAGd,QAAQ,CACvBD,QAAQ,CAAC,UAASE,GAAG;IACnB,OAAOe,oBAAoB,CAACf,GAAG,EAAEW,UAAU,EAAE2C,MAAM,EAAE1D,OAAO,CAAC;EAC/D,CAAC,CAAC,CACH;EACD,OAAOqB,cAAc,CAACN,UAAU,EAAEE,QAAQ,CAAC;AAC7C,CAAC;AAED,MAAME,oBAAoB,GAAGA,CAC3Bf,GAAY,EACZW,UAAwB,EACxB2C,MAAiG,EACjG1D,OAEC,KAMDzC,MAAM,CAACgJ,OAAO,CACZpJ,OAAO,CAACsM,MAAM,CACZhL,MAAM,CAAC0J,SAAS,CAAC,OAAOzE,MAAM,KAAK,UAAU,GAAGA,MAAM,CAACtD,GAAG,CAAC,GAAGsD,MAAM,CAAC,CACtE,EACAgG,SAAS,IAAI;EACZ,MAAMC,SAAS,GAAGpM,MAAM,CAACqM,mBAAmB,CAAC,CAAC,CAAC;EAC/C,MAAMC,KAAK,GAAGzL,MAAM,CAACuD,UAAU,CAACjE,KAAK,CAACoM,eAAe,EAAE,CAAC;EACxD,MAAMzH,OAAO,GAAGwH,KAAK,CAACE,cAAmE;EACzF,IAAIC,GAAG,GAAG5M,KAAK,CAAC6M,KAAK,EAAK;EAC1B,MAAMnJ,IAAI,GAONvD,MAAM,CAACgJ,OAAO,CAChBhJ,MAAM,CAAC2M,OAAO,CACZ3M,MAAM,CAAC4J,OAAO,CAAC,MAAMuC,SAAS,CAAC,EAC/B/L,QAAQ,CAACoM,cAAc,EACvB1H,OAAO,CACR,EACD7E,MAAM,CAACmK,KAAK,CAAC;IACXwC,MAAM,EAAEA,CAAA,KAGJ;MACF,MAAMC,KAAK,GAAGhN,KAAK,CAACiN,eAAe,CAACL,GAAG,CAAa;MACpD,IAAI,CAAChN,GAAG,CAACsN,eAAe,CAACF,KAAK,CAAC,EAAE;QAC/B,OAAO7M,MAAM,CAACgN,IAAI,CAAC,IAAIrN,KAAK,CAACD,sBAAsB,CAAC,qBAAqB,CAAC,CAAC;MAC7E;MACA,OAAOM,MAAM,CAACiN,OAAO,CAAC;QAAEC,IAAI,EAAE,IAAI;QAAEL;MAAK,CAAE,CAAC;IAC9C,CAAC;IACDM,OAAOA,CAACC,KAAK;MACX,IAAIP,KAAqB;MACzB,IAAIpK,OAAO,EAAE4K,mBAAmB,EAAE;QAChCR,KAAK,GAAGO,KAAK;MACf,CAAC,MAAM;QACLP,KAAK,GAAGhN,KAAK,CAACyN,SAAS,CAACb,GAAG,EAAEW,KAAK,CAAC;QACnCX,GAAG,GAAGI,KAAK;MACb;MACA,MAAMU,GAAG,GAAG1N,KAAK,CAACiN,eAAe,CAACD,KAAK,CAAa;MACpD,IAAI,CAACpN,GAAG,CAACsN,eAAe,CAACQ,GAAG,CAAC,EAAE;QAC7B,OAAOhK,IAAI;MACb;MACA,OAAOvD,MAAM,CAACiN,OAAO,CAAC;QAAEC,IAAI,EAAE,KAAK;QAAEL,KAAK,EAAEU;MAAG,CAAE,CAAC;IACpD;GACD,CAAC,CACH;EACD,MAAMC,iBAAiB,GAAGpB,SAAS,CAACqB,WAAW,CAAC,CAAC,CAAC,CAAClK,IAAI,CAAC;EAExD,MAAMyH,WAAW,GAAG1J,eAAe,CAACP,OAAO,CAACuF,IAAI,CAAC;IAC/CxB,OAAO;IACPmD,SAAS,EAAEqE,KAAK,CAACoB,YAAY,EAAE;IAC/BxF,YAAY,EAAEnH,OAAO,CAACoG,cAAc,CAACe;GACtC,CAAC,CAAC;EACH,MAAMyF,OAAO,GAAG,IAAIC,GAAG,EAAc;EACrC/K,GAAG,CAACkC,YAAY,CAAC,MAAK;IACpB,KAAK,MAAMsD,MAAM,IAAIsF,OAAO,EAAEtF,MAAM,EAAE;EACxC,CAAC,CAAC;EACFxF,GAAG,CAACuC,IAAI,CAAC5B,UAAU,CAAC;EACpBX,GAAG,CAACqC,SAAS,CAAC1B,UAAU,EAAE,MAAK;IAC7BX,GAAG,CAACsC,OAAO,CAAC1D,MAAM,CAAC+G,WAAW,CAAC3F,GAAG,CAACE,IAAI,EAAoB,CAAC,CAAC;IAC7D,IAAIsF,MAAgC;IACpC;IACAA,MAAM,GAAG2C,WAAW,CAACwC,iBAAiB,EAAGlF,IAAI,IAAI;MAC/C,IAAID,MAAM,EAAEsF,OAAO,CAACE,MAAM,CAACxF,MAAM,CAAC;MAClC,MAAMyF,MAAM,GAAGrM,MAAM,CAAC8G,oBAAoB,CAACD,IAAI,EAAEzF,GAAG,CAACE,IAAI,EAAE,CAAC;MAC5D,MAAMgL,OAAO,GAAGJ,OAAO,CAACK,IAAI,GAAG,CAAC;MAChCnL,GAAG,CAACsC,OAAO,CAAC4I,OAAO,GAAGtM,MAAM,CAACgH,OAAO,CAACqF,MAAM,CAAC,GAAGA,MAAM,CAAC;IACxD,CAAC,CAAC;IACF,IAAIzF,MAAM,EAAEsF,OAAO,CAAClD,GAAG,CAACpC,MAAM,CAAC;EACjC,CAAC,CAAC;EAEF,OAAO9E,IAAI;AACb,CAAC,CACF;AAEH,MAAMO,cAAc,GAAGA,CACrBN,UAA4B,EAC5BE,QAAgC,KAEhCqC,QAAQ,CAACrC,QAAQ,CAAChB,IAAI,EAAE,UAAS2D,GAAG,EAAE4H,CAAC;EACrC5H,GAAG,CAACuB,GAAG,CAACpE,UAAU,EAAE6C,GAAG,CAACxD,GAAG,CAACW,UAAU,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEJ;;;;AAIA,OAAO,MAAM0K,MAAM,GAAG,OAAOC,OAAO,KAAK,WAAW,IAAI,OAAOC,oBAAoB,KAAK,WAAW,GAE/F9C,CAAkB,IACC;EACnB,MAAM+C,KAAK,GAAGzN,cAAc,CAAC8L,KAAK,EAAU;EAC5C,OAAO,UAASlK,GAAG;IACjB,MAAM8L,SAAS,GAAG1N,cAAc,CAACiC,GAAG,CAACwL,KAAK,EAAE7L,GAAG,CAAC;IAChD,IAAI8L,SAAS,CAACrL,IAAI,KAAK,MAAM,EAAE;MAC7B,OAAOqL,SAAS,CAACnL,KAAK;IACxB;IACA,MAAMoL,OAAO,GAAGjD,CAAC,CAAC9I,GAAG,CAAC;IACtB5B,cAAc,CAACgH,GAAG,CAACyG,KAAK,EAAE7L,GAAG,EAAE+L,OAAO,CAAC;IACvC,OAAOA,OAAO;EAChB,CAAC;AACH,CAAC,GAECjD,CAAkB,IACC;EACnB,MAAM+C,KAAK,GAAGzN,cAAc,CAAC8L,KAAK,EAAmB;EACrD,MAAM5E,QAAQ,GAAG,IAAIsG,oBAAoB,CAAO5L,GAAG,IAAI;IACrD5B,cAAc,CAAC4N,MAAM,CAACH,KAAK,EAAE7L,GAAG,CAAC;EACnC,CAAC,CAAC;EACF,OAAO,UAASA,GAAG;IACjB,MAAM8L,SAAS,GAAG1N,cAAc,CAACiC,GAAG,CAACwL,KAAK,EAAE7L,GAAG,CAAC,CAAChC,IAAI,CACnDK,MAAM,CAAC4N,eAAe,CAAEzK,GAAG,IAAKA,GAAG,CAAC0K,KAAK,EAAE,CAAC,CAC7C;IAED,IAAIJ,SAAS,CAACrL,IAAI,KAAK,MAAM,EAAE;MAC7B,OAAOqL,SAAS,CAACnL,KAAK;IACxB;IACA,MAAMoL,OAAO,GAAGjD,CAAC,CAAC9I,GAAG,CAAC;IACtB5B,cAAc,CAACgH,GAAG,CAACyG,KAAK,EAAE7L,GAAG,EAAE,IAAI2L,OAAO,CAACI,OAAO,CAAC,CAAC;IACpDzG,QAAQ,CAAC6G,QAAQ,CAACJ,OAAO,EAAE/L,GAAG,CAAC;IAC/B,OAAO+L,OAAO;EAChB,CAAC;AACH,CAAC;AAEH;;;;AAIA,OAAO,MAAMK,YAAY,gBAcrBrO,IAAI,CAAC,CAAC,EAAE,CACVwC,IAAO,EACP8L,QAAqC,KAG6D;EAElG,SAASD,YAAYA,CAAC/L,GAAY;IAChC,MAAMiL,MAAM,GAAGjL,GAAG,CAACE,IAAI,CAAC;IACxB,IAAI+K,MAAM,CAAC7K,IAAI,KAAK,SAAS,EAAE;MAC7B,OAAOxB,MAAM,CAACgH,OAAO,CAAC5F,GAAG,CAACgM,QAAQ,CAAC,CAAC;IACtC;IACA,OAAOf,MAAM;EACf;EACA,OAAO7H,UAAU,CAAClD,IAAI,CAAC,GACnBgD,QAAQ,CACR6I,YAAY,EACZ7L,IAAI,CAACsC,KAAK,EACVtC,IAAI,CAACkC,OAAO,IAAI,UAASA,OAAO;IAC9BA,OAAO,CAAClC,IAAI,CAAC;EACf,CAAC,CACK,GACNH,QAAQ,CACRgM,YAAY,EACZ7L,IAAI,CAACkC,OAAO,IAAI,UAASA,OAAO;IAC9BA,OAAO,CAAClC,IAAI,CAAC;EACf,CAAC,CACK;AACZ,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAMf,SAAS,GAAyBe,IAAO,IACpDmD,MAAM,CAAC4I,MAAM,CAAC5I,MAAM,CAACC,MAAM,CAACD,MAAM,CAAC6I,cAAc,CAAChM,IAAI,CAAC,CAAC,EAAE;EACxD,GAAGA,IAAI;EACPf,SAAS,EAAE;CACZ,CAAC;AAEJ;;;;;;;;;AASA,OAAO,MAAMgN,WAAW,GAAyBjM,IAAO,IACtDmD,MAAM,CAAC4I,MAAM,CAAC5I,MAAM,CAACC,MAAM,CAACD,MAAM,CAAC6I,cAAc,CAAChM,IAAI,CAAC,CAAC,EAAE;EACxD,GAAGA,IAAI;EACPf,SAAS,EAAE;CACZ,CAAC;AAEJ;;;;AAIA,OAAO,MAAMiN,OAAO,gBAGhB1O,IAAI,CAAC,CAAC,EAAE,CAAsBwC,IAAO,EAAEd,IAAa,KACtDiE,MAAM,CAAC4I,MAAM,CAAC5I,MAAM,CAACC,MAAM,CAACD,MAAM,CAAC6I,cAAc,CAAChM,IAAI,CAAC,CAAC,EAAE;EACxD,GAAGA,IAAI;EACPd;CACD,CAAC,CAAC;AAEL;;;;AAIA,OAAO,MAAMiN,SAAS,gBAGlB3O,IAAI,CAGN,CAAC,EAAE,CAACwC,IAAI,EAAEoM,IAAI,KACdjJ,MAAM,CAAC4I,MAAM,CAAC5I,MAAM,CAACC,MAAM,CAACD,MAAM,CAAC6I,cAAc,CAAChM,IAAI,CAAC,CAAC,EAAE;EACxD,GAAGA,IAAI;EACPb,KAAK,EAAE,CAACiN,IAAI,EAAE,IAAIC,KAAK,EAAE,CAACC,KAAK,EAAEC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;CACtD,CAAC,CAAC;AAEL;;;;AAIA,OAAO,MAAMC,UAAU,gBAGnBhP,IAAI,CAGN,CAAC,EAAE,CAACwC,IAAI,EAAEyM,QAAQ,KAClBtJ,MAAM,CAAC4I,MAAM,CAAC5I,MAAM,CAACC,MAAM,CAACD,MAAM,CAAC6I,cAAc,CAAChM,IAAI,CAAC,CAAC,EAAE;EACxD,GAAGA,IAAI;EACPf,SAAS,EAAE,KAAK;EAChByN,OAAO,EAAE1P,QAAQ,CAAC2P,QAAQ,CAACF,QAAQ;CACpC,CAAC,CAAC;AAEL;;;;AAIA,OAAO,MAAM1I,YAAY,gBAGrBvG,IAAI,CAGN,CAAC,EAAE,CAACwC,IAAI,EAAE+D,YAAY,KAAK,CAAC/D,IAAI,EAAE+D,YAAY,CAAC,CAAC;AAElD;;;;AAIA,OAAO,MAAMnC,SAAS,gBAQlBpE,IAAI,CACN,CAAC,EACA,CAAOwC,IAAa,EAAEuI,CAAsB,KAC3CrF,UAAU,CAAClD,IAAI,CAAC,GACZgD,QAAQ,CACRuF,CAAC,EACD,UAASjF,GAAG,EAAElD,KAAK;EACjBkD,GAAG,CAACuB,GAAG,CAAC7E,IAAI,EAAEI,KAAK,CAAC;AACtB,CAAC,EACDJ,IAAI,CAACkC,OAAO,IAAI,UAASA,OAAO;EAC9BA,OAAO,CAAClC,IAAI,CAAC;AACf,CAAC,CACF,GACCH,QAAQ,CACR0I,CAAC,EACDvI,IAAI,CAACkC,OAAO,IAAI,UAASA,OAAO;EAC9BA,OAAO,CAAClC,IAAI,CAAC;AACf,CAAC,CACM,CACd;AAED;;;;AAIA,OAAO,MAAM4M,GAAG,gBAQZpP,IAAI,CACN,CAAC,EACD,CAAOwC,IAAa,EAAEuI,CAAc,KAAc3G,SAAS,CAAC5B,IAAI,EAAGF,GAAG,IAAKyI,CAAC,CAACzI,GAAG,CAACE,IAAI,CAAC,CAAC,CAAC,CACzF;AAED;;;;AAIA,OAAO,MAAM6M,SAAS,gBAYlBrP,IAAI,CAAC,CAAC,EAAE,CACVwC,IAAO,EACPuI,CAA2C,KAEiBqE,GAAG,CAAC5M,IAAI,EAAEtB,MAAM,CAACkO,GAAG,CAACrE,CAAC,CAAC,CAAC,CAAC;AAEvF;;;;AAIA,OAAO,MAAMuE,QAAQ,gBAGjBtP,IAAI,CACN,CAAC,EACD,CAAIwC,IAAa,EAAEyM,QAAgC,KAAa;EAC9D,MAAMM,MAAM,GAAG/P,QAAQ,CAAC2P,QAAQ,CAACF,QAAQ,CAAC;EAC1C,OAAO7K,SAAS,CAAC5B,IAAI,EAAE,UAASF,GAAG;IACjC,IAAIkN,OAA2B;IAC/B,IAAI5M,KAAK,GAAGN,GAAG,CAACuC,IAAI,CAACrC,IAAI,CAAC;IAC1B,SAASiN,MAAMA,CAAA;MACbD,OAAO,GAAG/I,SAAS;MACnBnE,GAAG,CAACsC,OAAO,CAAChC,KAAK,CAAC;IACpB;IACAN,GAAG,CAACkC,YAAY,CAAC;MACf,IAAIgL,OAAO,EAAEE,YAAY,CAACF,OAAO,CAAC;IACpC,CAAC,CAAC;IACFlN,GAAG,CAACqC,SAAS,CAACnC,IAAI,EAAE,UAASmN,GAAG;MAC9B/M,KAAK,GAAG+M,GAAG;MACX,IAAIH,OAAO,EAAEE,YAAY,CAACF,OAAO,CAAC;MAClCA,OAAO,GAAGI,UAAU,CAACH,MAAM,EAAEF,MAAM,CAAC;IACtC,CAAC,CAAC;IACF,OAAO3M,KAAK;EACd,CAAC,CAAC;AACJ,CAAC,CACF;AAED;;;;AAIA,OAAO,MAAMiN,UAAU,GACrBrN,IAAa,IACmC;EAChD,IAAI0I,OAAO,GAAG,CAAC;EACf,MAAM4E,SAAS,GAAG5M,KAAK,CACrB,CACEgI,OAAO,EACPzE,SAAmD,CAC3C,CACX;EACD,OAAOjB,QAAQ,CACZlD,GAAG,IAAI;IACN,IAAIyN,SAAS,GAAGzN,GAAG,CAACuC,IAAI,CAACrC,IAAI,CAAC;IAC9BF,GAAG,CAACqC,SAAS,CAACnC,IAAI,EAAGI,KAAK,IAAI;MAC5BmN,SAAS,GAAGnN,KAAK;MACjB,IAAI,CAAC1B,MAAM,CAAC8O,QAAQ,CAACpN,KAAK,CAAC,EAAE;QAC3B,OAAON,GAAG,CAACsC,OAAO,CAAChC,KAAK,CAAC;MAC3B;MACA,MAAMqN,OAAO,GAAG3P,MAAM,CAAC4P,cAAc,CAAC5N,GAAG,CAACE,IAAI,EAA2B,CAAE;MAC3E,IAAItB,MAAM,CAACmD,SAAS,CAAC4L,OAAO,CAAC,IAAI/O,MAAM,CAACmD,SAAS,CAACzB,KAAK,CAAC,EAAE;QACxD,IAAIA,KAAK,CAACuN,SAAS,IAAIF,OAAO,CAACE,SAAS,EAAE;UACxC7N,GAAG,CAACsC,OAAO,CAAChC,KAAK,CAAC;QACpB;MACF,CAAC,MAAM;QACLN,GAAG,CAACsC,OAAO,CAAChC,KAAK,CAAC;MACpB;IACF,CAAC,CAAC;IACF,MAAMwN,WAAW,GAAG,IAAI/C,GAAG,EAAmC;IAC9D,MAAMD,OAAO,GAAG,IAAIC,GAAG,EAAc;IACrC/K,GAAG,CAACqC,SAAS,CAACmL,SAAS,EAAE,CAAC,GAAG9N,IAAI,CAAC,KAAI;MACpC,IAAIoO,WAAW,CAACC,GAAG,CAACrO,IAAI,CAAC,EAAE;MAC3BoO,WAAW,CAAClG,GAAG,CAAClI,IAAI,CAAC;MACrB,IAAI8F,MAAgC;MACpC;MACAA,MAAM,GAAGxF,GAAG,CAACiF,QAAQ,CAAC5C,SAAS,CAAC3C,IAAI,EAAGuL,MAAM,IAAI;QAC/C,IAAIrM,MAAM,CAACmD,SAAS,CAACkJ,MAAM,CAAC,IAAIA,MAAM,CAACrF,OAAO,EAAE;UAC9C,OAAO5F,GAAG,CAACsC,OAAO,CAAC2I,MAAM,CAAC3K,KAAK,CAAC;QAClC;QACAwN,WAAW,CAAC9C,MAAM,CAACtL,IAAI,CAAC;QACxB,IAAI8F,MAAM,EAAE;UACVsF,OAAO,CAACE,MAAM,CAACxF,MAAM,CAAC;UACtBA,MAAM,EAAE;QACV;QACA,IAAIsI,WAAW,CAAC3C,IAAI,KAAK,CAAC,EAAE;UAC1B,IAAIvM,MAAM,CAACoP,SAAS,CAAC/C,MAAM,CAAC,EAAE;YAC5BjL,GAAG,CAACsC,OAAO,CAACmL,SAAS,CAAC;UACxB;UACAzN,GAAG,CAACoC,OAAO,CAAClC,IAAI,CAAC;QACnB;MACF,CAAC,EAAE;QAAE+N,SAAS,EAAE;MAAI,CAAE,CAAC;MACvB,IAAIH,WAAW,CAACC,GAAG,CAACrO,IAAI,CAAC,EAAE;QACzBoL,OAAO,CAAClD,GAAG,CAACpC,MAAM,CAAC;MACrB,CAAC,MAAM;QACLA,MAAM,EAAE;MACV;IACF,CAAC,CAAC;IACFxF,GAAG,CAACkC,YAAY,CAAC,MAAK;MACpB,KAAK,MAAMsD,MAAM,IAAIsF,OAAO,EAAEtF,MAAM,EAAE;MACtCsI,WAAW,CAACI,KAAK,EAAE;MACnBpD,OAAO,CAACoD,KAAK,EAAE;IACjB,CAAC,CAAC;IACF,OAAOT,SAAS;EAClB,CAAC,EACD,CAACjK,GAAG,EAAE9D,IAAI,KAAK8D,GAAG,CAACuB,GAAG,CAACyI,SAAS,EAAE,CAAC,EAAE5E,OAAO,EAAElJ,IAAI,CAAC,CAAC,EACnD0C,OAAO,IAAKA,OAAO,CAAClC,IAAI,CAAC,CAC3B;AACH,CAAC;AAED;;;;AAIA,OAAO,MAAMiO,YAAY,gBAoBrBzQ,IAAI,CAAC,CAAC,EAAE,CACVwC,IAAkD,EAClDN,OAKC,KAC2B;EAC5B,MAAMwO,UAAU,GAAGxN,KAAK,CAA4BhC,MAAM,CAACoC,OAAO,EAAE,CAAC;EACrE,OAAOT,EAAE,CAAC,CAACZ,GAAO,EAAEK,GAAG,KAAI;IACzB,IAAIM,KAAK,GAAGV,OAAO,CAACyO,OAAO,CAACrO,GAAG,CAACE,IAAI,CAAC,EAAEP,GAAG,CAAC;IAC3C,IAAIf,MAAM,CAAC8O,QAAQ,CAACpN,KAAK,CAAC,IAAI,CAACA,KAAK,CAACsF,OAAO,EAAE;MAC5CtF,KAAK,GAAG1B,MAAM,CAACgH,OAAO,CAACtF,KAAK,CAAC;IAC/B;IACAN,GAAG,CAAC+E,GAAG,CAACqJ,UAAU,EAAExP,MAAM,CAACwF,OAAO,CAAC9D,KAAK,EAAE;MAAEsF,OAAO,EAAE;IAAI,CAAE,CAAC,CAAC;IAC7D5F,GAAG,CAAC+E,GAAG,CAAC7E,IAAI,EAAEkO,UAAU,CAAC;IACzB,MAAM7N,EAAE,GAAG,OAAOX,OAAO,CAACW,EAAE,KAAK,UAAU,GACvC4L,WAAW,CAACvM,OAAO,CAACW,EAAE,CAAED,KAAK,IAC7BN,GAAG,CAAC+E,GAAG,CACLqJ,UAAU,EACVxP,MAAM,CAACwF,OAAO,CAACxF,MAAM,CAAC8O,QAAQ,CAACpN,KAAK,CAAC,GAAG1B,MAAM,CAACgH,OAAO,CAACtF,KAAK,CAAC,GAAGA,KAAK,EAAE;MAAEsF,OAAO,EAAE;IAAI,CAAE,CAAC,CAC1F,CACF,CAAC,GACAhG,OAAO,CAACW,EAAE;IACdP,GAAG,CAAC+E,GAAG,CAACxE,EAAE,EAAEZ,GAAG,CAAC;IAChB,OAAOxC,MAAM,CAACmR,MAAM,CAACtO,GAAG,CAACiL,MAAM,CAAC1K,EAAE,EAAE;MAAEgO,gBAAgB,EAAE;IAAI,CAAE,CAAC,EAAG9I,IAAI,IAAI;MACxEzF,GAAG,CAAC+E,GAAG,CAACqJ,UAAU,EAAExP,MAAM,CAAC4P,QAAQ,CAACnR,IAAI,CAACoR,EAAE,CAAChJ,IAAI,EAAEnF,KAAK,CAAC,CAAC,CAAC;MAC1D,OAAOnD,MAAM,CAACwH,IAAI;IACpB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAMoE,KAAK,GAA4BvK,gBAAgB,CAACuK,KAAK;AAEpE;AACA;AACA;AAEA;;;;AAIA,OAAO,MAAM2F,iBAAiB,gBAAiB3O,QAAQ,CAAEC,GAAG,IAAI;EAC9D,IAAI2O,KAAK,GAAG,CAAC;EACb,SAASxB,MAAMA,CAAA;IACb,IAAIyB,QAAQ,CAACC,eAAe,KAAK,SAAS,EAAE;MAC1C7O,GAAG,CAACsC,OAAO,CAAC,EAAEqM,KAAK,CAAC;IACtB;EACF;EACAG,MAAM,CAACC,gBAAgB,CAAC,kBAAkB,EAAE5B,MAAM,CAAC;EACnDnN,GAAG,CAACkC,YAAY,CAAC,MAAK;IACpB4M,MAAM,CAACE,mBAAmB,CAAC,kBAAkB,EAAE7B,MAAM,CAAC;EACxD,CAAC,CAAC;EACF,OAAOwB,KAAK;AACd,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAMM,mBAAmB,GAAOC,MAAe,IAA2BhP,IAAO,IACtF4B,SAAS,CAAC5B,IAAI,EAAGF,GAAG,IAAI;EACtBA,GAAG,CAACqC,SAAS,CAAC6M,MAAM,EAAG9D,CAAC,IAAKpL,GAAG,CAACoC,OAAO,CAAClC,IAAI,CAAC,CAAC;EAC/CF,GAAG,CAACqC,SAAS,CAACnC,IAAI,EAAGI,KAAK,IAAKN,GAAG,CAACsC,OAAO,CAAChC,KAAK,CAAC,CAAC;EAClD,OAAON,GAAG,CAACuC,IAAI,CAACrC,IAAI,CAAC;AACvB,CAAC,CAAQ;AAEX;;;;AAIA,OAAO,MAAMiP,oBAAoB,gBAA6DF,mBAAmB,CAC/GP,iBAAiB,CAClB;AAED;AACA;AACA;AAEA;;;;AAIA,OAAO,MAAMU,GAAG,GAAOxP,OAKtB,IAAiB;EAChB,MAAMyP,OAAO,GAAGzP,OAAO,CAAC0B,OAAO,CAACf,EAAE,CAChCpD,MAAM,CAACmS,UAAU,CAAC,WAAUhP,KAAQ;IAClC,MAAMiP,KAAK,GAAG,CAAC,OAAO5S,aAAa,CAACA,aAAa,EAAE6S,SAAS,CAC1D5P,OAAO,CAAC6P,MAAM,CACf;IACD,OAAOF,KAAK,CAACxK,GAAG,CAACnF,OAAO,CAACoF,GAAG,EAAE1E,KAAK,CAAC;EACtC,CAAC,CAAC,CACH;EACD,MAAMoP,UAAU,GAAG9P,OAAO,CAAC0B,OAAO,CAAC5B,IAAI,CACrCvC,MAAM,CAACgJ,OAAO,CACZxJ,aAAa,CAACA,aAAa,EAC1B4S,KAAK,IAAKpS,MAAM,CAACwS,OAAO,CAACJ,KAAK,CAACC,SAAS,CAAC5P,OAAO,CAAC6P,MAAM,CAAC,CAACzP,GAAG,CAACJ,OAAO,CAACoF,GAAG,CAAC,CAAC,CAC5E,CACF;EACD,OAAO9B,QAAQ,CACZlD,GAAG,IAAI;IACNA,GAAG,CAAC4P,KAAK,CAACP,OAAO,CAAC;IAClB,OAAOzQ,MAAM,CAACiR,SAAS,CAAC7P,GAAG,CAAC0P,UAAU,CAAC,EAAE9P,OAAO,CAACkQ,YAAY,CAAC;EAChE,CAAC,EACD,CAACtM,GAAG,EAAElD,KAAQ,KAAI;IAChBkD,GAAG,CAACuB,GAAG,CAACsK,OAAO,EAAE/O,KAAY,CAAC;IAC9BkD,GAAG,CAAClB,OAAO,CAAChC,KAAK,CAAC;EACpB,CAAC,CACF;AACH,CAAC;AAED;AACA;AACA;AAEA;;;;;;;;AAQA,OAAO,MAAMyP,WAAW,GAAGA,CAAsCzD,IAAY,EAAE1M,OAE9E,KAA+D;EAC9D,MAAMoQ,MAAM,GAAGpQ,OAAO,EAAE6P,MAAM,IAAItR,MAAM,CAAC8R,YAAY,CAACrQ,OAAO,CAAC6P,MAAM,CAAC;EACrE,MAAMS,MAAM,GAAGtQ,OAAO,EAAE6P,MAAM,IAAItR,MAAM,CAACgS,YAAY,CAACvQ,OAAO,CAAC6P,MAAM,CAAC;EACrE,OAAOvM,QAAQ,CACZlD,GAAG,IAAI;IACN,MAAMoQ,YAAY,GAAGA,CAAA,KAAK;MACxB,IAAIC,gBAAgB,CAACC,QAAQ,EAAE;MAC/B,MAAMC,YAAY,GAAG,IAAIC,eAAe,CAAC1B,MAAM,CAAC2B,QAAQ,CAACC,MAAM,CAAC;MAChE,MAAMC,QAAQ,GAAGJ,YAAY,CAACvQ,GAAG,CAACsM,IAAI,CAAC,IAAI,EAAE;MAC7C,IAAI0D,MAAM,EAAE;QACVhQ,GAAG,CAACsC,OAAO,CAAClF,MAAM,CAACwT,QAAQ,CAACZ,MAAM,CAACW,QAAa,CAAC,CAAC,CAAC;MACrD,CAAC,MAAM,IAAIA,QAAQ,KAAK3S,MAAM,CAAC4P,cAAc,CAAC5N,GAAG,CAACE,IAAI,EAAE,CAAC,EAAE;QACzDF,GAAG,CAACsC,OAAO,CAACqO,QAAQ,CAAC;MACvB;IACF,CAAC;IACD7B,MAAM,CAACC,gBAAgB,CAAC,UAAU,EAAEqB,YAAY,CAAC;IACjDtB,MAAM,CAACC,gBAAgB,CAAC,WAAW,EAAEqB,YAAY,CAAC;IAClDpQ,GAAG,CAACkC,YAAY,CAAC,MAAK;MACpB4M,MAAM,CAACE,mBAAmB,CAAC,UAAU,EAAEoB,YAAY,CAAC;MACpDtB,MAAM,CAACE,mBAAmB,CAAC,WAAW,EAAEoB,YAAY,CAAC;IACvD,CAAC,CAAC;IACF,MAAM9P,KAAK,GAAG,IAAIkQ,eAAe,CAAC1B,MAAM,CAAC2B,QAAQ,CAACC,MAAM,CAAC,CAAC1Q,GAAG,CAACsM,IAAI,CAAC,IAAI,EAAE;IACzE,OAAO0D,MAAM,GAAG5S,MAAM,CAACwT,QAAQ,CAACZ,MAAM,CAAC1P,KAAU,CAAC,CAAC,GAAGA,KAAY;EACpE,CAAC,EACD,CAACkD,GAAG,EAAElD,KAAU,KAAI;IAClB,IAAI4P,MAAM,EAAE;MACV,MAAMW,OAAO,GAAG7S,MAAM,CAACmI,OAAO,CAAC7F,KAAK,EAAGwQ,CAAC,IAAK1T,MAAM,CAACwT,QAAQ,CAACV,MAAM,CAACY,CAAM,CAAC,CAAC,CAAC;MAC7ET,gBAAgB,CAACU,OAAO,CAAChM,GAAG,CAACuH,IAAI,EAAEtO,MAAM,CAAC6R,SAAS,CAACgB,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;MACvEvQ,KAAK,GAAGtC,MAAM,CAACgT,QAAQ,CAACH,OAAO,EAAEvQ,KAAK,CAAC;IACzC,CAAC,MAAM;MACL+P,gBAAgB,CAACU,OAAO,CAAChM,GAAG,CAACuH,IAAI,EAAEhM,KAAK,CAAC;IAC3C;IACAkD,GAAG,CAAClB,OAAO,CAAChC,KAAK,CAAC;IAClB,IAAI+P,gBAAgB,CAACnD,OAAO,EAAE;MAC5BE,YAAY,CAACiD,gBAAgB,CAACnD,OAAO,CAAC;IACxC;IACAmD,gBAAgB,CAACnD,OAAO,GAAGI,UAAU,CAAC2D,kBAAkB,EAAE,GAAG,CAAC;EAChE,CAAC,CACF;AACH,CAAC;AAED,MAAMZ,gBAAgB,GAAG;EACvBnD,OAAO,EAAE/I,SAA+B;EACxC4M,OAAO,eAAE,IAAIlM,GAAG,EAAkB;EAClCyL,QAAQ,EAAE;CACX;AAED,SAASW,kBAAkBA,CAAA;EACzBZ,gBAAgB,CAACnD,OAAO,GAAG/I,SAAS;EACpCkM,gBAAgB,CAACC,QAAQ,GAAG,IAAI;EAChC,MAAMC,YAAY,GAAG,IAAIC,eAAe,CAAC1B,MAAM,CAAC2B,QAAQ,CAACC,MAAM,CAAC;EAChE,KAAK,MAAM,CAAC1L,GAAG,EAAE1E,KAAK,CAAC,IAAI+P,gBAAgB,CAACU,OAAO,CAACG,OAAO,EAAE,EAAE;IAC7D,IAAI5Q,KAAK,CAACE,MAAM,GAAG,CAAC,EAAE;MACpB+P,YAAY,CAACxL,GAAG,CAACC,GAAG,EAAE1E,KAAK,CAAC;IAC9B,CAAC,MAAM;MACLiQ,YAAY,CAACvF,MAAM,CAAChG,GAAG,CAAC;IAC1B;EACF;EACAqL,gBAAgB,CAACU,OAAO,CAAC7C,KAAK,EAAE;EAChC,MAAMiD,MAAM,GAAG,GAAGrC,MAAM,CAAC2B,QAAQ,CAACW,QAAQ,IAAIb,YAAY,CAACjR,QAAQ,EAAE,EAAE;EACvEwP,MAAM,CAACuC,OAAO,CAACC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAEH,MAAM,CAAC;EACxCd,gBAAgB,CAACC,QAAQ,GAAG,KAAK;AACnC;AAEA;AACA;AACA;AAEA;;;;AAIA,OAAO,MAAMiB,QAAQ,GAAOrR,IAAa,IACvC7B,MAAM,CAACmT,MAAM,CAACrU,MAAM,CAAC2P,GAAG,CAACnO,YAAY,EAAED,QAAQ,CAAC6S,QAAQ,CAACrR,IAAI,CAAC,CAAC,CAAC;AAElE;;;;AAIA,OAAO,MAAMuR,cAAc,GAAUvR,IAA+B,IAClE7B,MAAM,CAACmT,MAAM,CAACrU,MAAM,CAAC2P,GAAG,CAACnO,YAAY,EAAED,QAAQ,CAAC+S,cAAc,CAACvR,IAAI,CAAC,CAAC,CAAC;AAExE;;;;AAIA,OAAO,MAAMF,GAAG,GAAOE,IAAa,IAClC/C,MAAM,CAAC2P,GAAG,CAACnO,YAAY,EAAGyM,CAAC,IAAKA,CAAC,CAACpL,GAAG,CAACE,IAAI,CAAC,CAAC;AAE9C;;;;AAIA,OAAO,MAAMwR,MAAM,gBAKfhU,IAAI,CACN,CAAC,EACD,CAAUwC,IAAoB,EAAEuI,CAA2C,KACzEtL,MAAM,CAAC2P,GAAG,CAACnO,YAAY,EAAGyM,CAAC,IAAKA,CAAC,CAACsG,MAAM,CAACxR,IAAI,EAAEuI,CAAC,CAAC,CAAC,CACrD;AAED;;;;AAIA,OAAO,MAAM1D,GAAG,gBAGZrH,IAAI,CACN,CAAC,EACD,CAAOwC,IAAoB,EAAEI,KAAQ,KACnCnD,MAAM,CAAC2P,GAAG,CAACnO,YAAY,EAAGyM,CAAC,IAAKA,CAAC,CAACrG,GAAG,CAAC7E,IAAI,EAAEI,KAAK,CAAC,CAAC,CACtD;AAED;;;;AAIA,OAAO,MAAM6M,MAAM,gBAGfzP,IAAI,CACN,CAAC,EACD,CAAOwC,IAAoB,EAAEuI,CAAc,KACzCtL,MAAM,CAAC2P,GAAG,CAACnO,YAAY,EAAGyM,CAAC,IAAKA,CAAC,CAAC+B,MAAM,CAACjN,IAAI,EAAEuI,CAAC,CAAC,CAAC,CACrD;AAED;;;;AAIA,OAAO,MAAMkJ,SAAS,GAAGA,CACvBzR,IAA+B,EAC/BN,OAA6D,KACvBzC,MAAM,CAACgJ,OAAO,CAACxH,YAAY,EAAED,QAAQ,CAACiT,SAAS,CAACzR,IAAI,EAAEN,OAAO,CAAC,CAAC;AAEvG;;;;AAIA,OAAO,MAAMwC,OAAO,GAAOlC,IAAa,IACtC/C,MAAM,CAAC2P,GAAG,CAACnO,YAAY,EAAGyM,CAAC,IAAKA,CAAC,CAAChJ,OAAO,CAAClC,IAAI,CAAC,CAAC;AAElD;AACA;AACA;AAEA;;;;AAIA,OAAO,MAAM0R,kBAAkB,GAAuB,qCAAqC;AAoB3F;;;;AAIA,OAAO,MAAMC,cAAc,GAAI3R,IAAe,IAAuC0R,kBAAkB,IAAI1R,IAAI;AAE/G;;;;AAIA,OAAO,MAAM4R,YAAY,gBASrBpU,IAAI,CAAC,CAAC,EAAE,CAA4BwC,IAAO,EAAEN,OAGhD,KACCyD,MAAM,CAAC4I,MAAM,CAAC5I,MAAM,CAACC,MAAM,CAACD,MAAM,CAAC6I,cAAc,CAAChM,IAAI,CAAC,CAAC,EAAE;EACxD,GAAGA,IAAI;EACPb,KAAK,EAAEa,IAAI,CAACb,KAAK,IAAI,CAACO,OAAO,CAACoF,GAAG,EAAE,IAAIuH,KAAK,EAAE,CAACC,KAAK,EAAEC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;EAC3E,CAACmF,kBAAkB,GAAG;IACpB5M,GAAG,EAAEpF,OAAO,CAACoF,GAAG;IAChBkL,MAAM,EAAE/R,MAAM,CAAC4T,UAAU,CAACnS,OAAO,CAAC6P,MAAM,CAAC;IACzCO,MAAM,EAAE7R,MAAM,CAAC6T,UAAU,CAACpS,OAAO,CAAC6P,MAAM;;CAE3C,CAAC,CAAC;AAEL;;;;AAIA,OAAO,MAAMwC,iBAAiB,GAAG,oCAA6C;AAE9E;;;;;;AAMA,OAAO,MAAMC,eAAe,gBAGxBxU,IAAI,CACN,CAAC,EACD,CAAsBwC,IAAO,EAAEL,IAA+C,KAC5EwD,MAAM,CAAC4I,MAAM,CAAC5I,MAAM,CAACC,MAAM,CAACD,MAAM,CAAC6I,cAAc,CAAChM,IAAI,CAAC,CAAC,EAAE;EACxD,GAAGA,IAAI;EACP,CAAC+R,iBAAiB,GAAGpS;CACtB,CAAC,CACL;AAED;;;;;;AAMA,OAAO,MAAMsS,sBAAsB,GAA6CjS,IAAO,IACrFgS,eAAe,CAAChS,IAAI,EAAE1C,QAAQ,CAACoB,MAAM,CAACoC,OAAO,CAAC,IAAI,CAAC,CAAQ,CAAC;AAE9D;;;;AAIA,OAAO,MAAMoR,cAAc,gBAGvB1U,IAAI,CACN,CAAC,EACD,CAAIwC,IAAa,EAAE+E,QAA2B,KAC5CgN,iBAAiB,IAAI/R,IAAI,GACpBA,IAAY,CAAC+R,iBAAiB,CAAC,CAAEvS,IAAe,IAAKuF,QAAQ,CAACjF,GAAG,CAACN,IAAI,CAAC,CAAC,GACzEuF,QAAQ,CAACjF,GAAG,CAACE,IAAI,CAAC,CACzB","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Atom.js","names":["Reactivity","KeyValueStore","Arr","NoSuchElementException","Cause","Channel","Chunk","EffectContext","Duration","Effect","Either","Exit","Fiber","FiberRef","constant","constVoid","dual","pipe","globalValue","Inspectable","Layer","MutableHashMap","Option","pipeArguments","Runtime","Schema","Scope","Stream","Subscribable","SubscriptionRef","internalRegistry","runCallbackSync","Registry","AtomRegistry","Result","TypeId","WritableTypeId","AtomProto","arguments","toJSON","_id","keepAlive","lazy","label","toString","format","NodeInspectSymbol","RuntimeProto","atom","arg","options","read","makeRead","readable","get","previous","self","runtimeResult","_tag","replacePrevious","value","fn","length","makeFnRuntime","pull","pullSignal","state","pullAtom","makeEffect","makeStreamPullEffect","initial","makeStreamPull","subscriptionRef","ref","makeSubRef","SubscriptionRefTypeId","runtime","getOrThrow","readSubscribable","subscribable","makeSubscribable","isSubscribable","write","argAtom","makeResultFn","reactivityKeys","a","effect","isEffect","mutation","ensuring","invalidate","writable","WritableProto","isWritable","refresh","Object","create","constSetSelf","ctx","setSelf","make","readOrAtom","isDataType","u","providedRuntime","EffectTypeId","StreamTypeId","stream","initialValue","_get","undefined","success","uninterruptible","defaultRuntime","scope","runSync","addFinalizer","runFork","close","void","contextMap","Map","context","unsafeMap","set","key","registry","scopedRuntime","unsafeMake","fiberRefs","runtimeFlags","syncResult","isAsync","cancel","exit","fromExitWithPrevious","waitingFrom","waiting","globalLayer","layer","factory","layerAtom","provideMerge","build","flatMap","buildWithMemoMap","memoMap","provide","addGlobalLayer","reactivityAtom","scopeWith","map","withReactivity","keys","transform","reactivity","unsafeRegister","subscribe","once","defaultMemoMap","makeMemoMap","makeStream","writer","readWithCause","onInput","input","suspend","last","onFailure","cause","sync","failureWithPrevious","onDone","_done","match","onNone","failWithPrevious","onSome","registryRuntime","add","runDrain","pipeTo","toChannel","sub","changes","runForEach","runCallback","refAtom","isSuccess","subAtom","fnSync","args","makeFnSync","f","hasInitialValue","isFn","counter","none","some","batch","refreshSelf","Reset","Symbol","for","makeFn","toPull","pullChunk","semaphore","unsafeMakeSemaphore","fiber","getCurrentFiber","currentContext","acc","empty","locally","onLeft","items","toReadonlyArray","isNonEmptyArray","fail","succeed","done","onRight","chunk","disableAccumulation","appendAll","arr","pullWithSemaphore","withPermits","getFiberRefs","cancels","Set","delete","result","pending","size","_","family","WeakRef","FinalizationRegistry","atoms","atomEntry","newAtom","remove","flatMapNullable","deref","register","withFallback","fallback","assign","getPrototypeOf","autoDispose","setLazy","withLabel","name","Error","stack","split","setIdleTTL","duration","idleTTL","toMillis","mapResult","debounce","millis","timeout","update","clearTimeout","val","setTimeout","optimistic","writeAtom","lastValue","isResult","current","getOrUndefined","timestamp","transitions","has","isFailure","immediate","clear","optimisticFn","transition","reducer","onExit","suspendOnWaiting","fromExit","as","windowFocusSignal","count","document","visibilityState","window","addEventListener","removeEventListener","makeRefreshOnSignal","signal","refreshOnWindowFocus","kvs","setAtom","fnUntraced","store","forSchema","schema","resultAtom","flatten","mount","getOrElse","defaultValue","searchParam","decode","decodeEither","encode","encodeEither","handleUpdate","searchParamState","updating","searchParams","URLSearchParams","location","search","newValue","getRight","encoded","v","updates","zipRight","updateSearchParams","entries","newUrl","pathname","history","pushState","toStream","unwrap","toStreamResult","modify","getResult","SerializableTypeId","isSerializable","serializable","encodeSync","decodeSync","ServerValueTypeId","withServerValue","withServerValueInitial","getServerValue"],"sources":["../../src/Atom.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as Reactivity from "@effect/experimental/Reactivity";
|
|
5
|
+
import * as Headers from "@effect/platform/Headers";
|
|
6
|
+
import * as RpcClient from "@effect/rpc/RpcClient";
|
|
7
|
+
import * as RpcSchema from "@effect/rpc/RpcSchema";
|
|
8
|
+
import * as Data from "effect/Data";
|
|
9
|
+
import * as Effect from "effect/Effect";
|
|
10
|
+
import * as Equal from "effect/Equal";
|
|
11
|
+
import { pipe } from "effect/Function";
|
|
12
|
+
import * as Hash from "effect/Hash";
|
|
13
|
+
import * as Stream from "effect/Stream";
|
|
14
|
+
import * as Atom from "./Atom.js";
|
|
15
|
+
/**
|
|
16
|
+
* @since 1.0.0
|
|
17
|
+
* @category Constructors
|
|
18
|
+
*/
|
|
19
|
+
export const make = (group, options) => {
|
|
20
|
+
const client = options.runtime.atom(RpcClient.make(group, {
|
|
21
|
+
...options,
|
|
22
|
+
flatten: true
|
|
23
|
+
}));
|
|
24
|
+
const mutation = Atom.family(tag => options.runtime.fn()(Effect.fnUntraced(function* ({
|
|
25
|
+
headers,
|
|
26
|
+
payload,
|
|
27
|
+
reactivityKeys
|
|
28
|
+
}, get) {
|
|
29
|
+
const c = yield* get.result(client);
|
|
30
|
+
const effect = c(tag, payload, {
|
|
31
|
+
headers
|
|
32
|
+
});
|
|
33
|
+
return yield* reactivityKeys ? Reactivity.mutation(effect, reactivityKeys) : effect;
|
|
34
|
+
})));
|
|
35
|
+
const queryFamily = Atom.family(({
|
|
36
|
+
headers,
|
|
37
|
+
payload,
|
|
38
|
+
reactivityKeys,
|
|
39
|
+
tag
|
|
40
|
+
}) => {
|
|
41
|
+
const rpc = group.requests.get(tag);
|
|
42
|
+
const atom = RpcSchema.isStreamSchema(rpc.successSchema) ? Atom.pull(get => get.result(client).pipe(Effect.map(client => client(tag, payload, {
|
|
43
|
+
headers
|
|
44
|
+
})), Stream.unwrap)) : Atom.make(get => get.result(client).pipe(Effect.flatMap(client => client(tag, payload, {
|
|
45
|
+
headers
|
|
46
|
+
}))));
|
|
47
|
+
return reactivityKeys ? options.runtime.factory.withReactivity(reactivityKeys)(atom) : atom;
|
|
48
|
+
});
|
|
49
|
+
const query = (tag, payload, options) => queryFamily(new QueryKey({
|
|
50
|
+
tag,
|
|
51
|
+
payload: Data.struct(payload),
|
|
52
|
+
headers: options?.headers ? Data.unsafeStruct(Headers.fromInput(options.headers)) : undefined,
|
|
53
|
+
reactivityKeys: options?.reactivityKeys ? Data.array(options.reactivityKeys) : undefined
|
|
54
|
+
}));
|
|
55
|
+
return {
|
|
56
|
+
client,
|
|
57
|
+
mutation,
|
|
58
|
+
query
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
class QueryKey extends Data.Class {
|
|
62
|
+
[Equal.symbol](that) {
|
|
63
|
+
return this.tag === that.tag && Equal.equals(this.payload, that.payload) && Equal.equals(this.headers, that.headers) && Equal.equals(this.reactivityKeys, that.reactivityKeys);
|
|
64
|
+
}
|
|
65
|
+
[Hash.symbol]() {
|
|
66
|
+
return pipe(Hash.string(this.tag), Hash.combine(Hash.hash(this.payload)), Hash.combine(Hash.hash(this.headers)), Hash.combine(Hash.hash(this.reactivityKeys)), Hash.cached(this));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=AtomRpc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AtomRpc.js","names":["Reactivity","Headers","RpcClient","RpcSchema","Data","Effect","Equal","pipe","Hash","Stream","Atom","make","group","options","client","runtime","atom","flatten","mutation","family","tag","fn","fnUntraced","headers","payload","reactivityKeys","get","c","result","effect","queryFamily","rpc","requests","isStreamSchema","successSchema","pull","map","unwrap","flatMap","factory","withReactivity","query","QueryKey","struct","unsafeStruct","fromInput","undefined","array","Class","symbol","that","equals","string","combine","hash","cached"],"sources":["../../src/AtomRpc.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Atom","AtomRef","Hydration","Registry","Result"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,IAAI,MAAM,WAAW;AAEjC;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["Atom","AtomRef","AtomRpc","Hydration","Registry","Result"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,IAAI,MAAM,WAAW;AAEjC;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-atom/atom",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Reactive toolkit for Effect",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"peerDependencies": {
|
|
14
14
|
"@effect/experimental": "^0.54.3",
|
|
15
15
|
"@effect/platform": "^0.90.0",
|
|
16
|
+
"@effect/rpc": "^0.68.3",
|
|
16
17
|
"effect": "^3.17.0"
|
|
17
18
|
},
|
|
18
19
|
"main": "./dist/cjs/index.js",
|
|
@@ -35,6 +36,11 @@
|
|
|
35
36
|
"import": "./dist/esm/AtomRef.js",
|
|
36
37
|
"default": "./dist/cjs/AtomRef.js"
|
|
37
38
|
},
|
|
39
|
+
"./AtomRpc": {
|
|
40
|
+
"types": "./dist/dts/AtomRpc.d.ts",
|
|
41
|
+
"import": "./dist/esm/AtomRpc.js",
|
|
42
|
+
"default": "./dist/cjs/AtomRpc.js"
|
|
43
|
+
},
|
|
38
44
|
"./Hydration": {
|
|
39
45
|
"types": "./dist/dts/Hydration.d.ts",
|
|
40
46
|
"import": "./dist/esm/Hydration.js",
|
|
@@ -59,6 +65,9 @@
|
|
|
59
65
|
"AtomRef": [
|
|
60
66
|
"./dist/dts/AtomRef.d.ts"
|
|
61
67
|
],
|
|
68
|
+
"AtomRpc": [
|
|
69
|
+
"./dist/dts/AtomRpc.d.ts"
|
|
70
|
+
],
|
|
62
71
|
"Hydration": [
|
|
63
72
|
"./dist/dts/Hydration.d.ts"
|
|
64
73
|
],
|
package/src/Atom.ts
CHANGED
|
@@ -263,23 +263,6 @@ const RuntimeProto = {
|
|
|
263
263
|
return readSubscribable(get, ref, runtime)
|
|
264
264
|
}
|
|
265
265
|
)
|
|
266
|
-
},
|
|
267
|
-
|
|
268
|
-
withReactivity(
|
|
269
|
-
this: AtomRuntime<any, any>,
|
|
270
|
-
keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>
|
|
271
|
-
) {
|
|
272
|
-
return <A extends Atom<any>>(atom: A): A =>
|
|
273
|
-
transform(atom, (get) => {
|
|
274
|
-
const runtimeResult = get(this)
|
|
275
|
-
if (!Result.isSuccess(runtimeResult)) return get(atom)
|
|
276
|
-
const reactivity = EffectContext.get(runtimeResult.value.context, Reactivity.Reactivity)
|
|
277
|
-
get.addFinalizer(reactivity.unsafeRegister(keys, () => {
|
|
278
|
-
get.refresh(atom)
|
|
279
|
-
}))
|
|
280
|
-
get.subscribe(atom, (value) => get.setSelf(value))
|
|
281
|
-
return get.once(atom)
|
|
282
|
-
}) as any as A
|
|
283
266
|
}
|
|
284
267
|
}
|
|
285
268
|
|
|
@@ -534,6 +517,8 @@ function makeEffect<A, E>(
|
|
|
534
517
|
* @category models
|
|
535
518
|
*/
|
|
536
519
|
export interface AtomRuntime<R, ER> extends Atom<Result.Result<Runtime.Runtime<R>, ER>> {
|
|
520
|
+
readonly factory: RuntimeFactory
|
|
521
|
+
|
|
537
522
|
readonly layer: Atom<Layer.Layer<R, ER>>
|
|
538
523
|
|
|
539
524
|
readonly atom: {
|
|
@@ -612,14 +597,6 @@ export interface AtomRuntime<R, ER> extends Atom<Result.Result<Runtime.Runtime<R
|
|
|
612
597
|
get: Context
|
|
613
598
|
) => Effect.Effect<Subscribable.Subscribable<A, E, R>, E1, R | AtomRegistry | Reactivity.Reactivity>)
|
|
614
599
|
) => Atom<Result.Result<A, E | E1>>
|
|
615
|
-
|
|
616
|
-
/**
|
|
617
|
-
* Uses the `Reactivity` service from the runtime to refresh the atom whenever
|
|
618
|
-
* the keys change.
|
|
619
|
-
*/
|
|
620
|
-
readonly withReactivity: (
|
|
621
|
-
keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>
|
|
622
|
-
) => <A extends Atom<any>>(atom: A) => A
|
|
623
600
|
}
|
|
624
601
|
|
|
625
602
|
/**
|
|
@@ -634,6 +611,14 @@ export interface RuntimeFactory {
|
|
|
634
611
|
): AtomRuntime<R, E>
|
|
635
612
|
readonly memoMap: Layer.MemoMap
|
|
636
613
|
readonly addGlobalLayer: <A, E>(layer: Layer.Layer<A, E, AtomRegistry | Reactivity.Reactivity>) => void
|
|
614
|
+
|
|
615
|
+
/**
|
|
616
|
+
* Uses the `Reactivity` service from the runtime to refresh the atom whenever
|
|
617
|
+
* the keys change.
|
|
618
|
+
*/
|
|
619
|
+
readonly withReactivity: (
|
|
620
|
+
keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>
|
|
621
|
+
) => <A extends Atom<any>>(atom: A) => A
|
|
637
622
|
}
|
|
638
623
|
|
|
639
624
|
/**
|
|
@@ -653,6 +638,7 @@ export const context: (options: {
|
|
|
653
638
|
self.keepAlive = false
|
|
654
639
|
self.lazy = true
|
|
655
640
|
self.refresh = undefined
|
|
641
|
+
self.factory = factory
|
|
656
642
|
|
|
657
643
|
const layerAtom = keepAlive(
|
|
658
644
|
typeof create === "function"
|
|
@@ -676,6 +662,22 @@ export const context: (options: {
|
|
|
676
662
|
factory.addGlobalLayer = (layer: Layer.Layer<any, any, AtomRegistry | Reactivity.Reactivity>) => {
|
|
677
663
|
globalLayer = Layer.provideMerge(globalLayer, Layer.provide(layer, Reactivity.layer))
|
|
678
664
|
}
|
|
665
|
+
const reactivityAtom = make(
|
|
666
|
+
Effect.scopeWith((scope) => Layer.buildWithMemoMap(Reactivity.layer, options.memoMap, scope)).pipe(
|
|
667
|
+
Effect.map(EffectContext.get(Reactivity.Reactivity))
|
|
668
|
+
)
|
|
669
|
+
)
|
|
670
|
+
factory.withReactivity =
|
|
671
|
+
(keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>) =>
|
|
672
|
+
<A extends Atom<any>>(atom: A): A =>
|
|
673
|
+
transform(atom, (get) => {
|
|
674
|
+
const reactivity = Result.getOrThrow(get(reactivityAtom))
|
|
675
|
+
get.addFinalizer(reactivity.unsafeRegister(keys, () => {
|
|
676
|
+
get.refresh(atom)
|
|
677
|
+
}))
|
|
678
|
+
get.subscribe(atom, (value) => get.setSelf(value))
|
|
679
|
+
return get.once(atom)
|
|
680
|
+
}) as any as A
|
|
679
681
|
return factory
|
|
680
682
|
}
|
|
681
683
|
|
|
@@ -697,6 +699,17 @@ export const runtime: RuntimeFactory = globalValue(
|
|
|
697
699
|
() => context({ memoMap: defaultMemoMap })
|
|
698
700
|
)
|
|
699
701
|
|
|
702
|
+
/**
|
|
703
|
+
* An alias to `Rx.runtime.withReactivity`, for refreshing an atom whenever the
|
|
704
|
+
* keys change in the `Reactivity` service.
|
|
705
|
+
*
|
|
706
|
+
* @since 1.0.0
|
|
707
|
+
* @category Reactivity
|
|
708
|
+
*/
|
|
709
|
+
export const withReactivity: (
|
|
710
|
+
keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>
|
|
711
|
+
) => <A extends Atom<any>>(atom: A) => A = runtime.withReactivity
|
|
712
|
+
|
|
700
713
|
// -----------------------------------------------------------------------------
|
|
701
714
|
// constructors - stream
|
|
702
715
|
// -----------------------------------------------------------------------------
|