@effect/cluster 0.48.9 → 0.48.10
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/dist/cjs/Sharding.js
CHANGED
|
@@ -132,9 +132,10 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
132
132
|
yield* storageReadLatch.open;
|
|
133
133
|
yield* Effect.forkIn(syncSingletons, shardingScope);
|
|
134
134
|
}
|
|
135
|
+
yield* Effect.sleep(1000);
|
|
135
136
|
activeShardsLatch.unsafeOpen();
|
|
136
137
|
}
|
|
137
|
-
}).pipe(Effect.catchAllCause(cause => Effect.logWarning("Could not acquire/release shards", cause)), Effect.
|
|
138
|
+
}).pipe(Effect.catchAllCause(cause => Effect.logWarning("Could not acquire/release shards", cause)), Effect.forever, Effect.annotateLogs({
|
|
138
139
|
package: "@effect/cluster",
|
|
139
140
|
module: "Sharding",
|
|
140
141
|
fiber: "Shard acquisition loop",
|
|
@@ -152,7 +153,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
152
153
|
}), Effect.retry({
|
|
153
154
|
times: 5,
|
|
154
155
|
schedule: Schedule.spaced(50)
|
|
155
|
-
}), Effect.catchAllCause(cause => Effect.logError("Could not refresh shard locks", cause).pipe(Effect.andThen(clearSelfShards))), Effect.
|
|
156
|
+
}), Effect.catchAllCause(cause => Effect.logError("Could not refresh shard locks", cause).pipe(Effect.andThen(clearSelfShards))), Effect.schedule(Schedule.fixed(4000)), Effect.interruptible, Effect.forkIn(shardingScope));
|
|
156
157
|
const releaseShardsLock = Effect.unsafeMakeSemaphore(1).withPermits(1);
|
|
157
158
|
const releaseShards = releaseShardsLock(Effect.suspend(() => Effect.forEach(releasingShards, shardId => Effect.forEach(entityManagers.values(), state => state.manager.interruptShard(shardId), {
|
|
158
159
|
concurrency: "unbounded",
|
|
@@ -164,7 +165,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
164
165
|
})), {
|
|
165
166
|
concurrency: "unbounded",
|
|
166
167
|
discard: true
|
|
167
|
-
})));
|
|
168
|
+
})).pipe(Effect.andThen(activeShardsLatch.open)));
|
|
168
169
|
}
|
|
169
170
|
const clearSelfShards = Effect.suspend(() => {
|
|
170
171
|
MutableHashSet.clear(selfShards);
|
package/dist/cjs/Sharding.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sharding.js","names":["RpcClient","_interopRequireWildcard","require","_RpcMessage","Arr","Cause","Context","Deferred","Effect","Equal","Exit","Fiber","FiberHandle","FiberMap","FiberRef","_Function","HashMap","Iterable","Layer","MutableHashMap","MutableHashSet","MutableRef","Option","Predicate","PubSub","Schedule","Scope","Stream","_ClusterError","ClusterError","_ClusterSchema","ClusterSchema","_EntityAddress","_EntityId","Envelope","EntityManager","_entityReaper","_hash","_interruptors","_resourceMap","Message","MessageStorage","Reply","_Runners","_ShardId","_ShardingConfig","_ShardingRegistrationEvent","_ShardManager","_ShardStorage","_SingletonAddress","Snowflake","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Sharding","Tag","exports","make","gen","config","ShardingConfig","runners","Runners","shardManager","ShardManagerClient","snowflakeGen","Generator","shardingScope","scope","isShutdown","storage","storageEnabled","noop","shardStorage","ShardStorage","entityManagers","Map","shardAssignments","empty","selfShards","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","group","id","Math","abs","hashString","shardsPerGroup","ShardId","disableValidation","isEntityOnLocalShards","shardId","selfAddress","addFinalizerExit","ignore","releaseAll","releasingShards","unsafeOpen","await","unsafeClose","remove","add","unacquiredShards","size","forkIn","syncSingletons","releaseShards","acquired","acquire","resetShards","length","storageReadLatch","open","pipe","catchAllCause","cause","logWarning","repeat","spaced","entityMessagePollInterval","annotateLogs","package","module","fiber","runner","interruptible","suspend","refresh","flatMap","some","_","symbol","andThen","void","retry","times","schedule","logError","clearSelfShards","delay","forever","releaseShardsLock","unsafeMakeSemaphore","withPermits","forEach","values","state","manager","interruptShard","concurrency","discard","release","clear","singletons","singletonFibers","withSingletonLock","registerSingleton","fnUntraced","name","run","options","shardGroup","SingletonAddress","EntityId","map","dieMessage","context","wrappedRun","locally","currentLogAnnotations","never","scoped","provide","orDie","publish","SingletonRegistered","logDebug","running","unsafeHas","shouldBeRunning","internalInterruptors","fiberId","openStorageReadLatch","constant","storageReadLock","withStorageReadLock","storageAlreadyProcessed","_message","sentRequestIds","Set","sentRequestIdSets","addFinalizer","message","envelope","requestId","entityType","isProcessingFor","excludeReplies","take","messages","unprocessedMessages","currentSentRequestIds","send","index","_tag","respond","ReplyWithContext","fromDefect","unsafeNext","defect","EntityNotManagedByRunner","isProcessing","resumptionState","entityResumptionState","unprocessed","interrupts","error","failureOption","isNone","saveReply","squash","resumeEntityFromStorage","whileLoop","while","step","body","oldest","unsafeHead","delete","ensuring","lastReceivedMessage","resumeEntityFromStorageImpl","getOrThrow","done","messageIds","push","unprocessedMessagesById","sleep","sendWithRetry","catchTags","fail","EntityNotAssignedToRunner","interrupt","MailboxFull","sendRetryInterval","AlreadyProcessingMessage","sync","effect","entity","sendLocal","simulateRemoteSerialization","notifyLocal","notify","envelopeId","isTransientError","or","RunnerUnavailable","is","sendOutgoing","retries","catchIf","maybeRunner","isPersisted","rpc","annotations","Persisted","runnerIsLocal","die","reset","clearReplies","matchCause","onSuccess","onFailure","shardManagerTimeoutFiber","extend","startShardManagerTimeout","shardManagerUnavailableTimeout","onlyIfMissing","stopShardManagerTimeout","machineId","register","shardGroups","setMachineId","mailbox","shardingEvents","startedLatch","eventsFiber","takeAll","event","shard","shards","RunnerNotRegistered","intoDeferred","zipRight","forkScoped","syncFiber","syncAssignments","refreshAssignmentsInterval","joinAll","exponential","union","assignments","getAssignments","clientRequests","clients","ResourceMap","client","makeNoSerialization","protocol","spanPrefix","type","disableTracing","ClientTracingEnabled","supportsAck","generateRequestId","RequestId","flatten","onFromClient","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","entry","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","none","OutgoingEnvelope","AckChunk","replyId","lastChunkId","Uninterruptible","isTransientInterrupt","interruptors","Interrupt","withFiberRuntime","EntityAddress","getShardGroup","clientFn","merge","proxyClient","Proxy","p","target","undefined","makeClient","_reply","reply","clientId","exit","reaper","EntityReaper","registerEntity","build","sharding","EntityRegistered","close","unregister","activeEntityCount","count","of","pollStorage","layer","layerGenerator","Default","GenericTag"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":";;;;;;AAIA,IAAAA,SAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAH,uBAAA,CAAAC,OAAA;AACA,IAAAG,KAAA,GAAAJ,uBAAA,CAAAC,OAAA;AACA,IAAAI,OAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,QAAA,GAAAN,uBAAA,CAAAC,OAAA;AAEA,IAAAM,MAAA,GAAAP,uBAAA,CAAAC,OAAA;AACA,IAAAO,KAAA,GAAAR,uBAAA,CAAAC,OAAA;AACA,IAAAQ,IAAA,GAAAT,uBAAA,CAAAC,OAAA;AACA,IAAAS,KAAA,GAAAV,uBAAA,CAAAC,OAAA;AACA,IAAAU,WAAA,GAAAX,uBAAA,CAAAC,OAAA;AACA,IAAAW,QAAA,GAAAZ,uBAAA,CAAAC,OAAA;AACA,IAAAY,QAAA,GAAAb,uBAAA,CAAAC,OAAA;AACA,IAAAa,SAAA,GAAAb,OAAA;AACA,IAAAc,OAAA,GAAAf,uBAAA,CAAAC,OAAA;AACA,IAAAe,QAAA,GAAAhB,uBAAA,CAAAC,OAAA;AACA,IAAAgB,KAAA,GAAAjB,uBAAA,CAAAC,OAAA;AACA,IAAAiB,cAAA,GAAAlB,uBAAA,CAAAC,OAAA;AACA,IAAAkB,cAAA,GAAAnB,uBAAA,CAAAC,OAAA;AACA,IAAAmB,UAAA,GAAApB,uBAAA,CAAAC,OAAA;AACA,IAAAoB,MAAA,GAAArB,uBAAA,CAAAC,OAAA;AACA,IAAAqB,SAAA,GAAAtB,uBAAA,CAAAC,OAAA;AACA,IAAAsB,MAAA,GAAAvB,uBAAA,CAAAC,OAAA;AACA,IAAAuB,QAAA,GAAAxB,uBAAA,CAAAC,OAAA;AACA,IAAAwB,KAAA,GAAAzB,uBAAA,CAAAC,OAAA;AACA,IAAAyB,MAAA,GAAA1B,uBAAA,CAAAC,OAAA;AAEA,IAAA0B,aAAA,GAAA3B,uBAAA,CAAAC,OAAA;AAK0B,IAAA2B,YAAA,GAAAD,aAAA;AAE1B,IAAAE,cAAA,GAAA7B,uBAAA,CAAAC,OAAA;AAA+D,IAAA6B,aAAA,GAAAD,cAAA;AAG/D,IAAAE,cAAA,GAAA9B,OAAA;AACA,IAAA+B,SAAA,GAAA/B,OAAA;AACA,IAAAgC,QAAA,GAAAjC,uBAAA,CAAAC,OAAA;AACA,IAAAiC,aAAA,GAAAlC,uBAAA,CAAAC,OAAA;AACA,IAAAkC,aAAA,GAAAlC,OAAA;AACA,IAAAmC,KAAA,GAAAnC,OAAA;AACA,IAAAoC,aAAA,GAAApC,OAAA;AACA,IAAAqC,YAAA,GAAArC,OAAA;AACA,IAAAsC,OAAA,GAAAvC,uBAAA,CAAAC,OAAA;AACA,IAAAuC,cAAA,GAAAxC,uBAAA,CAAAC,OAAA;AACA,IAAAwC,KAAA,GAAAzC,uBAAA,CAAAC,OAAA;AAEA,IAAAyC,QAAA,GAAAzC,OAAA;AACA,IAAA0C,QAAA,GAAA1C,OAAA;AACA,IAAA2C,eAAA,GAAA3C,OAAA;AACA,IAAA4C,0BAAA,GAAA5C,OAAA;AACA,IAAA6C,aAAA,GAAA7C,OAAA;AACA,IAAA8C,aAAA,GAAA9C,OAAA;AACA,IAAA+C,iBAAA,GAAA/C,OAAA;AACA,IAAAgD,SAAA,GAAAjD,uBAAA,CAAAC,OAAA;AAA2C,SAAAD,wBAAAkD,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAApD,uBAAA,YAAAA,CAAAkD,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAE3C;;;;AAIM,MAAOkB,QAAS,sBAAQhE,OAAO,CAACiE,GAAG,CAAC,0BAA0B,CAAC,EAyGjE;AAAAC,OAAA,CAAAF,QAAA,GAAAA,QAAA;AAYJ,MAAMG,IAAI,gBAAGjE,MAAM,CAACkE,GAAG,CAAC,aAAS;EAC/B,MAAMC,MAAM,GAAG,OAAOC,8BAAc;EAEpC,MAAMC,OAAO,GAAG,OAAOC,gBAAO;EAC9B,MAAMC,YAAY,GAAG,OAAOC,gCAAkB;EAC9C,MAAMC,YAAY,GAAG,OAAO/B,SAAS,CAACgC,SAAS;EAC/C,MAAMC,aAAa,GAAG,OAAO3E,MAAM,CAAC4E,KAAK;EACzC,MAAMC,UAAU,GAAGhE,UAAU,CAACoD,IAAI,CAAC,KAAK,CAAC;EAEzC,MAAMa,OAAO,GAAG,OAAO7C,cAAc,CAACA,cAAc;EACpD,MAAM8C,cAAc,GAAGD,OAAO,KAAK7C,cAAc,CAAC+C,IAAI;EACtD,MAAMC,YAAY,GAAG,OAAOC,0BAAY;EAExC,MAAMC,cAAc,GAAG,IAAIC,GAAG,EAA8B;EAE5D,MAAMC,gBAAgB,GAAG1E,cAAc,CAAC2E,KAAK,EAA0B;EACvE,MAAMC,UAAU,GAAG3E,cAAc,CAAC0E,KAAK,EAAW;EAElD;EACA,MAAME,cAAc,GAAG5E,cAAc,CAAC0E,KAAK,EAAW;EACtD,MAAMG,iBAAiB,GAAG,OAAOzF,MAAM,CAAC0F,SAAS,CAAC,KAAK,CAAC;EAExD,MAAMC,MAAM,GAAG,OAAO3E,MAAM,CAAC4E,SAAS,EAA6B;EACnE,MAAMC,qBAAqB,GAA6C1E,MAAM,CAAC2E,UAAU,CAACH,MAAM,CAAC;EAEjG,MAAMI,aAAa,GAAIC,OAAsB,IAC3ClF,MAAM,CAACmF,MAAM,CAAC9B,MAAM,CAAC+B,aAAa,CAAC,IAAIjG,KAAK,CAACkG,MAAM,CAACH,OAAO,EAAE7B,MAAM,CAAC+B,aAAa,CAACE,KAAK,CAAC;EAE1F,SAASC,UAAUA,CAACC,QAAkB,EAAEC,KAAa;IACnD,MAAMC,EAAE,GAAGC,IAAI,CAACC,GAAG,CAAC,IAAAC,gBAAU,EAACL,QAAQ,CAAC,GAAGnC,MAAM,CAACyC,cAAc,CAAC,GAAG,CAAC;IACrE,OAAOC,gBAAO,CAAC5C,IAAI,CAAC;MAAEsC,KAAK;MAAEC;IAAE,CAAE,EAAE;MAAEM,iBAAiB,EAAE;IAAI,CAAE,CAAC;EACjE;EAEA,SAASC,qBAAqBA,CAACf,OAAsB;IACnD,OAAOpF,cAAc,CAAC0C,GAAG,CAACkC,cAAc,EAAEQ,OAAO,CAACgB,OAAO,CAAC;EAC5D;EAEA;EAEA,IAAIlG,MAAM,CAACmF,MAAM,CAAC9B,MAAM,CAAC+B,aAAa,CAAC,EAAE;IACvC,MAAMe,WAAW,GAAG9C,MAAM,CAAC+B,aAAa,CAACE,KAAK;IAC9C,OAAOlF,KAAK,CAACgG,gBAAgB,CAACvC,aAAa,EAAE,MAAK;MAChD;MACA,OAAO3E,MAAM,CAACmH,MAAM,CAAClC,YAAY,CAACmC,UAAU,CAACH,WAAW,CAAC,CAAC;IAC5D,CAAC,CAAC;IAEF,MAAMI,eAAe,GAAGzG,cAAc,CAAC0E,KAAK,EAAW;IACvD,OAAOtF,MAAM,CAACkE,GAAG,CAAC,aAAS;MACzBuB,iBAAiB,CAAC6B,UAAU,EAAE;MAC9B,OAAO,IAAI,EAAE;QACX,OAAO7B,iBAAiB,CAAC8B,KAAK;QAC9B9B,iBAAiB,CAAC+B,WAAW,EAAE;QAE/B;QACA,KAAK,MAAMR,OAAO,IAAIxB,cAAc,EAAE;UACpC,IAAI5E,cAAc,CAAC0C,GAAG,CAACiC,UAAU,EAAEyB,OAAO,CAAC,EAAE;UAC7CpG,cAAc,CAAC6G,MAAM,CAACjC,cAAc,EAAEwB,OAAO,CAAC;UAC9CpG,cAAc,CAAC8G,GAAG,CAACL,eAAe,EAAEL,OAAO,CAAC;QAC9C;QACA;QACA,MAAMW,gBAAgB,GAAG/G,cAAc,CAAC0E,KAAK,EAAW;QACxD,KAAK,MAAM0B,OAAO,IAAIzB,UAAU,EAAE;UAChC,IAAI3E,cAAc,CAAC0C,GAAG,CAACkC,cAAc,EAAEwB,OAAO,CAAC,IAAIpG,cAAc,CAAC0C,GAAG,CAAC+D,eAAe,EAAEL,OAAO,CAAC,EAAE;UACjGpG,cAAc,CAAC8G,GAAG,CAACC,gBAAgB,EAAEX,OAAO,CAAC;QAC/C;QAEA,IAAIpG,cAAc,CAACgH,IAAI,CAACP,eAAe,CAAC,GAAG,CAAC,EAAE;UAC5C,OAAOrH,MAAM,CAAC6H,MAAM,CAACC,cAAc,EAAEnD,aAAa,CAAC;UACnD,OAAOoD,aAAa;QACtB;QAEA,IAAInH,cAAc,CAACgH,IAAI,CAACD,gBAAgB,CAAC,KAAK,CAAC,EAAE;UAC/C;QACF;QAEA,MAAMK,QAAQ,GAAG,OAAO/C,YAAY,CAACgD,OAAO,CAAChB,WAAW,EAAEU,gBAAgB,CAAC;QAC3E,OAAO3H,MAAM,CAACmH,MAAM,CAACrC,OAAO,CAACoD,WAAW,CAACF,QAAQ,CAAC,CAAC;QACnD,KAAK,MAAMhB,OAAO,IAAIgB,QAAQ,EAAE;UAC9BpH,cAAc,CAAC8G,GAAG,CAAClC,cAAc,EAAEwB,OAAO,CAAC;QAC7C;QACA,IAAIgB,QAAQ,CAACG,MAAM,GAAG,CAAC,EAAE;UACvB,OAAOC,gBAAgB,CAACC,IAAI;UAC5B,OAAOrI,MAAM,CAAC6H,MAAM,CAACC,cAAc,EAAEnD,aAAa,CAAC;QACrD;QACAc,iBAAiB,CAAC6B,UAAU,EAAE;MAChC;IACF,CAAC,CAAC,CAACgB,IAAI,CACLtI,MAAM,CAACuI,aAAa,CAAEC,KAAK,IAAKxI,MAAM,CAACyI,UAAU,CAAC,kCAAkC,EAAED,KAAK,CAAC,CAAC,EAC7FxI,MAAM,CAAC0I,MAAM,CAACzH,QAAQ,CAAC0H,MAAM,CAACxE,MAAM,CAACyE,yBAAyB,CAAC,CAAC,EAChE5I,MAAM,CAAC6I,YAAY,CAAC;MAClBC,OAAO,EAAE,iBAAiB;MAC1BC,MAAM,EAAE,UAAU;MAClBC,KAAK,EAAE,wBAAwB;MAC/BC,MAAM,EAAEhC;KACT,CAAC,EACFjH,MAAM,CAACkJ,aAAa,EACpBlJ,MAAM,CAAC6H,MAAM,CAAClD,aAAa,CAAC,CAC7B;IAED;IACA,OAAO3E,MAAM,CAACmJ,OAAO,CAAC,MACpBlE,YAAY,CAACmE,OAAO,CAACnC,WAAW,EAAE,CAChC,GAAGzB,cAAc,EACjB,GAAG6B,eAAe,CACnB,CAAC,CACH,CAACiB,IAAI,CACJtI,MAAM,CAACqJ,OAAO,CAAErB,QAAQ,IAAI;MAC1B,KAAK,MAAMhB,OAAO,IAAIxB,cAAc,EAAE;QACpC,IAAI,CAACwC,QAAQ,CAACsB,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACtJ,KAAK,CAACuJ,MAAM,CAAC,CAACxC,OAAO,CAAC,CAAC,EAAE;UACnDpG,cAAc,CAAC6G,MAAM,CAACjC,cAAc,EAAEwB,OAAO,CAAC;UAC9CpG,cAAc,CAAC8G,GAAG,CAACL,eAAe,EAAEL,OAAO,CAAC;QAC9C;MACF;MACA,OAAOpG,cAAc,CAACgH,IAAI,CAACP,eAAe,CAAC,GAAG,CAAC,GAC7CrH,MAAM,CAACyJ,OAAO,CACZzJ,MAAM,CAAC6H,MAAM,CAACC,cAAc,EAAEnD,aAAa,CAAC,EAC5CoD,aAAa,CACd,GACD/H,MAAM,CAAC0J,IAAI;IACf,CAAC,CAAC,EACF1J,MAAM,CAAC2J,KAAK,CAAC;MACXC,KAAK,EAAE,CAAC;MACRC,QAAQ,EAAE5I,QAAQ,CAAC0H,MAAM,CAAC,EAAE;KAC7B,CAAC,EACF3I,MAAM,CAACuI,aAAa,CAAEC,KAAK,IACzBxI,MAAM,CAAC8J,QAAQ,CAAC,+BAA+B,EAAEtB,KAAK,CAAC,CAACF,IAAI,CAC1DtI,MAAM,CAACyJ,OAAO,CAACM,eAAe,CAAC,CAChC,CACF,EACD/J,MAAM,CAACgK,KAAK,CAAC,WAAW,CAAC,EACzBhK,MAAM,CAACiK,OAAO,EACdjK,MAAM,CAACkJ,aAAa,EACpBlJ,MAAM,CAAC6H,MAAM,CAAClD,aAAa,CAAC,CAC7B;IAED,MAAMuF,iBAAiB,GAAGlK,MAAM,CAACmK,mBAAmB,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC;IACtE,MAAMrC,aAAa,GAAGmC,iBAAiB,CACrClK,MAAM,CAACmJ,OAAO,CAAC,MACbnJ,MAAM,CAACqK,OAAO,CACZhD,eAAe,EACdL,OAAO,IACNhH,MAAM,CAACqK,OAAO,CACZlF,cAAc,CAACmF,MAAM,EAAE,EACtBC,KAAK,IAAKA,KAAK,CAACC,OAAO,CAACC,cAAc,CAACzD,OAAO,CAAC,EAChD;MAAE0D,WAAW,EAAE,WAAW;MAAEC,OAAO,EAAE;IAAI,CAAE,CAC5C,CAACrC,IAAI,CACJtI,MAAM,CAACyJ,OAAO,CAACxE,YAAY,CAAC2F,OAAO,CAAC3D,WAAW,EAAED,OAAO,CAAC,CAAC,EAC1DhH,MAAM,CAAC6I,YAAY,CAAC;MAClBI,MAAM,EAAEhC;KACT,CAAC,EACFjH,MAAM,CAACyJ,OAAO,CAAC,MAAK;MAClB7I,cAAc,CAAC6G,MAAM,CAACJ,eAAe,EAAEL,OAAO,CAAC;IACjD,CAAC,CAAC,CACH,EACH;MAAE0D,WAAW,EAAE,WAAW;MAAEC,OAAO,EAAE;IAAI,CAAE,CAC5C,CACF,CACF;EACH;EAEA,MAAMZ,eAAe,GAAG/J,MAAM,CAACmJ,OAAO,CAAC,MAAK;IAC1CvI,cAAc,CAACiK,KAAK,CAACtF,UAAU,CAAC;IAChC,OAAOE,iBAAiB,CAAC4C,IAAI;EAC/B,CAAC,CAAC;EAEF;EAEA,MAAMyC,UAAU,GAAG,IAAI1F,GAAG,EAAiF;EAC3G,MAAM2F,eAAe,GAAG,OAAO1K,QAAQ,CAAC4D,IAAI,EAAoB;EAChE,MAAM+G,iBAAiB,GAAGhL,MAAM,CAACmK,mBAAmB,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC;EAEtE,MAAMa,iBAAiB,GAA0CjL,MAAM,CAACkL,UAAU,CAChF,WAAUC,IAAI,EAAEC,GAAG,EAAEC,OAAO;IAC1B,MAAMC,UAAU,GAAGD,OAAO,EAAEC,UAAU,IAAI,SAAS;IACnD,MAAMtF,OAAO,GAAG,IAAIuF,kCAAgB,CAAC;MACnCvE,OAAO,EAAEX,UAAU,CAACmF,kBAAQ,CAACvH,IAAI,CAACkH,IAAI,CAAC,EAAEG,UAAU,CAAC;MACpDH;KACD,CAAC;IAEF,IAAIM,GAAG,GAAGX,UAAU,CAACvH,GAAG,CAACyC,OAAO,CAACgB,OAAO,CAAC;IACzC,IAAI,CAACyE,GAAG,EAAE;MACRA,GAAG,GAAG9K,cAAc,CAAC2E,KAAK,EAAE;MAC5BwF,UAAU,CAACtH,GAAG,CAACwC,OAAO,CAACgB,OAAO,EAAEyE,GAAG,CAAC;IACtC;IACA,IAAI9K,cAAc,CAAC2C,GAAG,CAACmI,GAAG,EAAEzF,OAAO,CAAC,EAAE;MACpC,OAAO,OAAOhG,MAAM,CAAC0L,UAAU,CAAC,cAAcP,IAAI,yBAAyB,CAAC;IAC9E;IAEA,MAAMQ,OAAO,GAAG,OAAO3L,MAAM,CAAC2L,OAAO,EAAS;IAC9C,MAAMC,UAAU,GAAGR,GAAG,CAAC9C,IAAI,CACzBtI,MAAM,CAAC6L,OAAO,CAACvL,QAAQ,CAACwL,qBAAqB,EAAEtL,OAAO,CAAC8E,KAAK,EAAE,CAAC,EAC/DtF,MAAM,CAACyJ,OAAO,CAACzJ,MAAM,CAAC+L,KAAK,CAAC,EAC5B/L,MAAM,CAACgM,MAAM,EACbhM,MAAM,CAACiM,OAAO,CAACN,OAAO,CAAC,EACvB3L,MAAM,CAACkM,KAAK,EACZlM,MAAM,CAACkJ,aAAa,CACG;IACzBvI,cAAc,CAAC6C,GAAG,CAACiI,GAAG,EAAEzF,OAAO,EAAE4F,UAAU,CAAC;IAE5C,OAAO5K,MAAM,CAACmL,OAAO,CAACxG,MAAM,EAAE,IAAAyG,8CAAmB,EAAC;MAAEpG;IAAO,CAAE,CAAC,CAAC;IAE/D;IACA,IAAIpF,cAAc,CAAC0C,GAAG,CAACkC,cAAc,EAAEQ,OAAO,CAACgB,OAAO,CAAC,EAAE;MACvD,OAAOhH,MAAM,CAACqM,QAAQ,CAAC,oBAAoB,EAAErG,OAAO,CAAC;MACrD,OAAO3F,QAAQ,CAAC+K,GAAG,CAACL,eAAe,EAAE/E,OAAO,EAAE4F,UAAU,CAAC;IAC3D;EACF,CAAC,EACDZ,iBAAiB,CAClB;EAED,MAAMlD,cAAc,GAAGkD,iBAAiB,CAAChL,MAAM,CAACkE,GAAG,CAAC,aAAS;IAC3D,KAAK,MAAM,CAAC8C,OAAO,EAAEyE,GAAG,CAAC,IAAIX,UAAU,EAAE;MACvC,KAAK,MAAM,CAAC9E,OAAO,EAAEoF,GAAG,CAAC,IAAIK,GAAG,EAAE;QAChC,MAAMa,OAAO,GAAGjM,QAAQ,CAACkM,SAAS,CAACxB,eAAe,EAAE/E,OAAO,CAAC;QAC5D,MAAMwG,eAAe,GAAG5L,cAAc,CAAC0C,GAAG,CAACkC,cAAc,EAAEwB,OAAO,CAAC;QACnE,IAAIsF,OAAO,IAAI,CAACE,eAAe,EAAE;UAC/B,OAAOxM,MAAM,CAACqM,QAAQ,CAAC,oBAAoB,EAAErG,OAAO,CAAC;UACrDyG,kCAAoB,CAAC/E,GAAG,CAAC,OAAO1H,MAAM,CAAC0M,OAAO,CAAC;UAC/C,OAAOrM,QAAQ,CAACoH,MAAM,CAACsD,eAAe,EAAE/E,OAAO,CAAC;QAClD,CAAC,MAAM,IAAI,CAACsG,OAAO,IAAIE,eAAe,EAAE;UACtC,OAAOxM,MAAM,CAACqM,QAAQ,CAAC,oBAAoB,EAAErG,OAAO,CAAC;UACrD,OAAO3F,QAAQ,CAAC+K,GAAG,CAACL,eAAe,EAAE/E,OAAO,EAAEoF,GAAG,CAAC;QACpD;MACF;IACF;EACF,CAAC,CAAC,CAAC;EAEH;EAEA,MAAMhD,gBAAgB,GAAG,OAAOpI,MAAM,CAAC0F,SAAS,CAAC,IAAI,CAAC;EACtD,MAAMiH,oBAAoB,GAAG,IAAAC,kBAAQ,EAACxE,gBAAgB,CAACC,IAAI,CAAC;EAE5D,MAAMwE,eAAe,GAAG7M,MAAM,CAACmK,mBAAmB,CAAC,CAAC,CAAC;EACrD,MAAM2C,mBAAmB,GAAGD,eAAe,CAACzC,WAAW,CAAC,CAAC,CAAC;EAE1D,IAAI2C,uBAAuB,GAAIC,QAAsC,IAAK,IAAI;EAE9E;EACA;EACA,MAAMC,cAAc,GAAG,IAAIC,GAAG,EAAuB;EACrD,MAAMC,iBAAiB,GAAG,IAAID,GAAG,EAA4B;EAE7D,IAAInI,cAAc,IAAIjE,MAAM,CAACmF,MAAM,CAAC9B,MAAM,CAAC+B,aAAa,CAAC,EAAE;IACzD,MAAMe,WAAW,GAAG9C,MAAM,CAAC+B,aAAa,CAACE,KAAK;IAE9C,OAAOpG,MAAM,CAACkE,GAAG,CAAC,aAAS;MACzB,OAAOlE,MAAM,CAACqM,QAAQ,CAAC,UAAU,CAAC;MAClC,OAAOrM,MAAM,CAACoN,YAAY,CAAC,MAAMpN,MAAM,CAACqM,QAAQ,CAAC,eAAe,CAAC,CAAC;MAElEY,cAAc,CAACpC,KAAK,EAAE;MACtBsC,iBAAiB,CAACtC,KAAK,EAAE;MAEzBkC,uBAAuB,GAAIM,OAAqC,IAAI;QAClE,IAAI,CAACJ,cAAc,CAAC3J,GAAG,CAAC+J,OAAO,CAACC,QAAQ,CAACC,SAAS,CAAC,EAAE;UACnD,OAAO,KAAK;QACd;QACA,MAAMhD,KAAK,GAAGpF,cAAc,CAAC5B,GAAG,CAAC8J,OAAO,CAACC,QAAQ,CAACtH,OAAO,CAACwH,UAAU,CAAC;QACrE,IAAI,CAACjD,KAAK,EAAE,OAAO,IAAI;QACvB,OAAO,CAACA,KAAK,CAACC,OAAO,CAACiD,eAAe,CAACJ,OAAO,EAAE;UAAEK,cAAc,EAAE;QAAI,CAAE,CAAC;MAC1E,CAAC;MAED,OAAO,IAAI,EAAE;QACX;QACA,OAAOtF,gBAAgB,CAACb,KAAK;QAE7B;QACA;QACAa,gBAAgB,CAACZ,WAAW,EAAE;QAE9B;QACA;QACA;QACA,OAAOqF,eAAe,CAACc,IAAI,CAAC,CAAC,CAAC;QAE9B,MAAMC,QAAQ,GAAG,OAAO9I,OAAO,CAAC+I,mBAAmB,CAACrI,cAAc,CAAC;QACnE,MAAMsI,qBAAqB,GAAG,IAAIZ,GAAG,EAAuB;QAC5DC,iBAAiB,CAACzF,GAAG,CAACoG,qBAAqB,CAAC;QAE5C,MAAMC,IAAI,GAAG/N,MAAM,CAACuI,aAAa,CAC/BvI,MAAM,CAACmJ,OAAO,CAAC,MAAK;UAClB,MAAMkE,OAAO,GAAGO,QAAQ,CAACI,KAAK,CAAC;UAC/B,IAAIX,OAAO,CAACY,IAAI,KAAK,iBAAiB,EAAE;YACtC,IAAIhB,cAAc,CAAC3J,GAAG,CAAC+J,OAAO,CAACC,QAAQ,CAACC,SAAS,CAAC,EAAE;cAClD,OAAOvN,MAAM,CAAC0J,IAAI;YACpB;YACAuD,cAAc,CAACvF,GAAG,CAAC2F,OAAO,CAACC,QAAQ,CAACC,SAAS,CAAC;YAC9CO,qBAAqB,CAACpG,GAAG,CAAC2F,OAAO,CAACC,QAAQ,CAACC,SAAS,CAAC;UACvD;UACA,MAAMvH,OAAO,GAAGqH,OAAO,CAACC,QAAQ,CAACtH,OAAO;UACxC,IAAI,CAACpF,cAAc,CAAC0C,GAAG,CAACkC,cAAc,EAAEQ,OAAO,CAACgB,OAAO,CAAC,EAAE;YACxD,OAAOhH,MAAM,CAAC0J,IAAI;UACpB;UACA,MAAMa,KAAK,GAAGpF,cAAc,CAAC5B,GAAG,CAACyC,OAAO,CAACwH,UAAU,CAAC;UACpD,IAAI,CAACjD,KAAK,EAAE;YACV,IAAI8C,OAAO,CAACY,IAAI,KAAK,iBAAiB,EAAE;cACtC,OAAOjO,MAAM,CAACkM,KAAK,CAACmB,OAAO,CAACa,OAAO,CAAChM,KAAK,CAACiM,gBAAgB,CAACC,UAAU,CAAC;gBACpE5H,EAAE,EAAE/B,YAAY,CAAC4J,UAAU,EAAE;gBAC7Bd,SAAS,EAAEF,OAAO,CAACC,QAAQ,CAACC,SAAS;gBACrCe,MAAM,EAAE,IAAIC,sCAAwB,CAAC;kBAAEvI;gBAAO,CAAE;eACjD,CAAC,CAAC,CAAC;YACN;YACA,OAAOhG,MAAM,CAAC0J,IAAI;UACpB;UAEA,MAAM8E,YAAY,GAAGjE,KAAK,CAACC,OAAO,CAACiD,eAAe,CAACJ,OAAO,CAAC;UAE3D;UACA;UACA,IAAIA,OAAO,CAACY,IAAI,KAAK,kBAAkB,IAAIO,YAAY,EAAE;YACvD,OAAOjE,KAAK,CAACC,OAAO,CAACuD,IAAI,CAACV,OAAO,CAAC;UACpC,CAAC,MAAM,IAAImB,YAAY,EAAE;YACvB,OAAOxO,MAAM,CAAC0J,IAAI;UACpB;UAEA;UACA;UACA,MAAM+E,eAAe,GAAG9N,cAAc,CAAC4C,GAAG,CAACmL,qBAAqB,EAAE1I,OAAO,CAAC;UAC1E,IAAIlF,MAAM,CAACmF,MAAM,CAACwI,eAAe,CAAC,EAAE;YAClCA,eAAe,CAACrI,KAAK,CAACuI,WAAW,CAACjH,GAAG,CAAC2F,OAAO,CAACC,QAAQ,CAACC,SAAS,CAAC;YACjE,IAAIF,OAAO,CAACC,QAAQ,CAACW,IAAI,KAAK,WAAW,EAAE;cACzCQ,eAAe,CAACrI,KAAK,CAACwI,UAAU,CAACpL,GAAG,CAAC6J,OAAO,CAACC,QAAQ,CAACC,SAAS,EAAEF,OAAmC,CAAC;YACvG;YACA,OAAOrN,MAAM,CAAC0J,IAAI;UACpB;UACA,OAAOa,KAAK,CAACC,OAAO,CAACuD,IAAI,CAACV,OAAO,CAAC;QACpC,CAAC,CAAC,EACD7E,KAAK,IAAI;UACR,MAAM6E,OAAO,GAAGO,QAAQ,CAACI,KAAK,CAAC;UAC/B,MAAMa,KAAK,GAAGhP,KAAK,CAACiP,aAAa,CAACtG,KAAK,CAAC;UACxC;UACA,IAAI1H,MAAM,CAACiO,MAAM,CAACF,KAAK,CAAC,EAAE;YACxB,OAAO/J,OAAO,CAACkK,SAAS,CAAC9M,KAAK,CAACiM,gBAAgB,CAACC,UAAU,CAAC;cACzD5H,EAAE,EAAE/B,YAAY,CAAC4J,UAAU,EAAE;cAC7Bd,SAAS,EAAEF,OAAO,CAACC,QAAQ,CAACC,SAAS;cACrCe,MAAM,EAAEzO,KAAK,CAACoP,MAAM,CAACzG,KAAK;aAC3B,CAAC,CAAC;UACL;UACA,IAAIqG,KAAK,CAACzI,KAAK,CAAC6H,IAAI,KAAK,aAAa,EAAE;YACtC;YACA,OAAOiB,uBAAuB,CAAC7B,OAAuC,CAAC;UACzE;UACA,OAAOrN,MAAM,CAAC0J,IAAI;QACpB,CAAC,CACF;QAED,IAAIsE,KAAK,GAAG,CAAC;QACb,OAAOhO,MAAM,CAACmP,SAAS,CAAC;UACtBC,KAAK,EAAEA,CAAA,KAAMpB,KAAK,GAAGJ,QAAQ,CAACzF,MAAM;UACpCkH,IAAI,EAAEA,CAAA,KAAMrB,KAAK,EAAE;UACnBsB,IAAI,EAAE,IAAA1C,kBAAQ,EAACmB,IAAI;SACpB,CAAC;QAEF;QACA,OAAOlB,eAAe,CAACjC,OAAO,CAAC,CAAC,CAAC;QAEjC,OAAOuC,iBAAiB,CAACvF,IAAI,GAAG,EAAE,EAAE;UAClC,MAAM2H,MAAM,GAAG9O,QAAQ,CAAC+O,UAAU,CAACrC,iBAAiB,CAAC;UACrDA,iBAAiB,CAACsC,MAAM,CAACF,MAAM,CAAC;UAChC,KAAK,MAAM/I,EAAE,IAAI+I,MAAM,EAAE;YACvBtC,cAAc,CAACwC,MAAM,CAACjJ,EAAE,CAAC;UAC3B;QACF;MACF;IACF,CAAC,CAAC,CAAC8B,IAAI,CACLtI,MAAM,CAACgM,MAAM,EACbhM,MAAM,CAAC0P,QAAQ,CAAC7C,eAAe,CAACzF,UAAU,CAAC,EAC3CpH,MAAM,CAACuI,aAAa,CAAEC,KAAK,IAAKxI,MAAM,CAACyI,UAAU,CAAC,sCAAsC,EAAED,KAAK,CAAC,CAAC,EACjGxI,MAAM,CAAC0I,MAAM,CAACzH,QAAQ,CAAC0H,MAAM,CAACxE,MAAM,CAACyE,yBAAyB,CAAC,CAAC,EAChE5I,MAAM,CAAC6I,YAAY,CAAC;MAClBC,OAAO,EAAE,iBAAiB;MAC1BC,MAAM,EAAE,UAAU;MAClBC,KAAK,EAAE,mBAAmB;MAC1BC,MAAM,EAAEhC;KACT,CAAC,EACFjH,MAAM,CAACkJ,aAAa,EACpBlJ,MAAM,CAAC6H,MAAM,CAAClD,aAAa,CAAC,CAC7B;IAED;IACA,OAAOyD,gBAAgB,CAACC,IAAI,CAACC,IAAI,CAC/BtI,MAAM,CAACgK,KAAK,CAAC7F,MAAM,CAACyE,yBAAyB,CAAC,EAC9C5I,MAAM,CAACiK,OAAO,EACdjK,MAAM,CAACkJ,aAAa,EACpBlJ,MAAM,CAAC6H,MAAM,CAAClD,aAAa,CAAC,CAC7B;IAED;IACA,MAAM+J,qBAAqB,GAAG/N,cAAc,CAAC2E,KAAK,EAG9C;IACJ,MAAM4J,uBAAuB,GAAIS,mBAAiD,IAAI;MACpF,MAAM3J,OAAO,GAAG2J,mBAAmB,CAACrC,QAAQ,CAACtH,OAAO;MACpD,MAAMyI,eAAe,GAAG9N,cAAc,CAAC4C,GAAG,CAACmL,qBAAqB,EAAE1I,OAAO,CAAC;MAC1E,IAAIlF,MAAM,CAACmF,MAAM,CAACwI,eAAe,CAAC,EAAE;QAClCA,eAAe,CAACrI,KAAK,CAACuI,WAAW,CAACjH,GAAG,CAACiI,mBAAmB,CAACrC,QAAQ,CAACC,SAAS,CAAC;QAC7E,OAAOvN,MAAM,CAAC0J,IAAI;MACpB;MACA/I,cAAc,CAAC6C,GAAG,CAACkL,qBAAqB,EAAE1I,OAAO,EAAE;QACjD2I,WAAW,EAAE,IAAIzB,GAAG,CAAC,CAACyC,mBAAmB,CAACrC,QAAQ,CAACC,SAAS,CAAC,CAAC;QAC9DqB,UAAU,EAAE,IAAIxJ,GAAG;OACpB,CAAC;MACF,OAAOwK,2BAA2B,CAAC5J,OAAO,CAAC;IAC7C,CAAC;IACD,MAAM4J,2BAA2B,GAAG5P,MAAM,CAACkL,UAAU,CACnD,WAAUlF,OAAsB;MAC9B,MAAMuE,KAAK,GAAGpF,cAAc,CAAC5B,GAAG,CAACyC,OAAO,CAACwH,UAAU,CAAC;MACpD,IAAI,CAACjD,KAAK,EAAE;QACV5J,cAAc,CAAC8G,MAAM,CAACiH,qBAAqB,EAAE1I,OAAO,CAAC;QACrD;MACF;MAEA,MAAMyI,eAAe,GAAG3N,MAAM,CAAC+O,UAAU,CAAClP,cAAc,CAAC4C,GAAG,CAACmL,qBAAqB,EAAE1I,OAAO,CAAC,CAAC;MAC7F,IAAI8J,IAAI,GAAG,KAAK;MAEhB,OAAO,CAACA,IAAI,EAAE;QACZ;QACA,IAAI,CAAClP,cAAc,CAAC0C,GAAG,CAACkC,cAAc,EAAEQ,OAAO,CAACgB,OAAO,CAAC,EAAE;UACxD;QACF;QAEA;QACA,MAAM+I,UAAU,GAAGnQ,GAAG,CAAC0F,KAAK,EAAuB;QACnD,KAAK,MAAMkB,EAAE,IAAIiI,eAAe,CAACE,WAAW,EAAE;UAC5C,IAAIoB,UAAU,CAAC5H,MAAM,KAAK,IAAI,EAAE;UAChC4H,UAAU,CAACC,IAAI,CAACxJ,EAAE,CAAC;QACrB;QAEA,MAAMoH,QAAQ,GAAG,OAAO9I,OAAO,CAACmL,uBAAuB,CAACF,UAAU,CAAC;QAEnE;QACA,IAAInC,QAAQ,CAACzF,MAAM,KAAK,CAAC,EAAE;UACzB,OAAOnI,MAAM,CAACkQ,KAAK,CAAC/L,MAAM,CAACyE,yBAAyB,CAAC;UACrD;QACF;QAEA,IAAIoF,KAAK,GAAG,CAAC;QAEb,MAAMmC,aAAa,GAGfnQ,MAAM,CAACoQ,SAAS,CAClBpQ,MAAM,CAACmJ,OAAO,CAAC,MAAK;UAClB,IAAI,CAACvI,cAAc,CAAC0C,GAAG,CAACkC,cAAc,EAAEQ,OAAO,CAACgB,OAAO,CAAC,EAAE;YACxD,OAAOhH,MAAM,CAACqQ,IAAI,CAAC,IAAIC,uCAAyB,CAAC;cAAEtK;YAAO,CAAE,CAAC,CAAC;UAChE;UAEA,MAAMqH,OAAO,GAAGO,QAAQ,CAACI,KAAK,CAAC;UAC/B;UACA,MAAMuC,SAAS,GAAGlD,OAAO,CAACY,IAAI,KAAK,iBAAiB,IAClDQ,eAAe,CAACG,UAAU,CAACrL,GAAG,CAAC8J,OAAO,CAACC,QAAQ,CAACC,SAAS,CAAC;UAC5D,OAAOgD,SAAS,GACdvQ,MAAM,CAACqJ,OAAO,CAACkB,KAAK,CAACC,OAAO,CAACuD,IAAI,CAACV,OAAO,CAAC,EAAE,MAAK;YAC/CoB,eAAe,CAACG,UAAU,CAACa,MAAM,CAACpC,OAAO,CAACC,QAAQ,CAACC,SAAS,CAAC;YAC7D,OAAOhD,KAAK,CAACC,OAAO,CAACuD,IAAI,CAACwC,SAAS,CAAC;UACtC,CAAC,CAAC,GACFhG,KAAK,CAACC,OAAO,CAACuD,IAAI,CAACV,OAAO,CAAC;QAC/B,CAAC,CAAC,EACF;UACEmD,WAAW,EAAEA,CAAA,KAAMxQ,MAAM,CAACgK,KAAK,CAACmG,aAAa,EAAEhM,MAAM,CAACsM,iBAAiB,CAAC;UACxEC,wBAAwB,EAAEA,CAAA,KAAM1Q,MAAM,CAAC0J;SACxC,CACF;QAED,OAAO1J,MAAM,CAACmP,SAAS,CAAC;UACtBC,KAAK,EAAEA,CAAA,KAAMpB,KAAK,GAAGJ,QAAQ,CAACzF,MAAM;UACpCmH,IAAI,EAAE,IAAA1C,kBAAQ,EAACuD,aAAa,CAAC;UAC7Bd,IAAI,EAAEA,CAAA,KAAMrB,KAAK;SAClB,CAAC;QAEF,KAAK,MAAMxH,EAAE,IAAIuJ,UAAU,EAAE;UAC3BtB,eAAe,CAACE,WAAW,CAACc,MAAM,CAACjJ,EAAE,CAAC;QACxC;QACA,IAAIiI,eAAe,CAACE,WAAW,CAAC/G,IAAI,GAAG,CAAC,EAAE;QAE1C;QACA,OAAOkF,mBAAmB,CAAC9M,MAAM,CAAC2Q,IAAI,CAAC,MAAK;UAC1C,IAAIlC,eAAe,CAACE,WAAW,CAAC/G,IAAI,KAAK,CAAC,EAAE;YAC1CjH,cAAc,CAAC8G,MAAM,CAACiH,qBAAqB,EAAE1I,OAAO,CAAC;YACrD8J,IAAI,GAAG,IAAI;UACb;QACF,CAAC,CAAC,CAAC;MACL;IACF,CAAC,EACD9P,MAAM,CAAC2J,KAAK,CAAC;MACXyF,KAAK,EAAGzM,CAAC,IAAKA,CAAC,CAACsL,IAAI,KAAK,kBAAkB;MAC3CpE,QAAQ,EAAE5I,QAAQ,CAAC0H,MAAM,CAACxE,MAAM,CAACyE,yBAAyB;KAC3D,CAAC,EACF5I,MAAM,CAACuI,aAAa,CAAEC,KAAK,IAAKxI,MAAM,CAAC8J,QAAQ,CAAC,uCAAuC,EAAEtB,KAAK,CAAC,CAAC,EAChG,CAACoI,MAAM,EAAE5K,OAAO,KACdhG,MAAM,CAAC6I,YAAY,CAAC+H,MAAM,EAAE;MAC1B9H,OAAO,EAAE,iBAAiB;MAC1BC,MAAM,EAAE,UAAU;MAClBC,KAAK,EAAE,+BAA+B;MACtCC,MAAM,EAAEhC,WAAW;MACnB4J,MAAM,EAAE7K;KACT,CAAC,EACJ,CAAC4K,MAAM,EAAE5K,OAAO,KACdhG,MAAM,CAAC0P,QAAQ,CACbkB,MAAM,EACN5Q,MAAM,CAAC2Q,IAAI,CAAC,MAAMhQ,cAAc,CAAC8G,MAAM,CAACiH,qBAAqB,EAAE1I,OAAO,CAAC,CAAC,CACzE,EACHhG,MAAM,CAACkJ,aAAa,EACpBlJ,MAAM,CAAC6H,MAAM,CAAClD,aAAa,CAAC,CAC7B;EACH;EAEA;EAEA,MAAMmM,SAAS,GACbzD,OAAU,IASVrN,MAAM,CAACmJ,OAAO,CAAC,MAAK;IAClB,MAAMnD,OAAO,GAAGqH,OAAO,CAACC,QAAQ,CAACtH,OAAO;IACxC,IAAI,CAACe,qBAAqB,CAACf,OAAO,CAAC,EAAE;MACnC,OAAOhG,MAAM,CAACqQ,IAAI,CAAC,IAAIC,uCAAyB,CAAC;QAAEtK;MAAO,CAAE,CAAC,CAAC;IAChE;IACA,MAAMuE,KAAK,GAAGpF,cAAc,CAAC5B,GAAG,CAACyC,OAAO,CAACwH,UAAU,CAAC;IACpD,IAAI,CAACjD,KAAK,EAAE;MACV,OAAOvK,MAAM,CAACqQ,IAAI,CAAC,IAAI9B,sCAAwB,CAAC;QAAEvI;MAAO,CAAE,CAAC,CAAC;IAC/D;IAEA,OAAOqH,OAAO,CAACY,IAAI,KAAK,iBAAiB,IAAIZ,OAAO,CAACY,IAAI,KAAK,kBAAkB,GAC9E1D,KAAK,CAACC,OAAO,CAACuD,IAAI,CAACV,OAAO,CAAC,GAC3BhJ,OAAO,CAACyM,SAAS,CAAC;MAChBzD,OAAO;MACPU,IAAI,EAAExD,KAAK,CAACC,OAAO,CAACsG,SAAS;MAC7BC,2BAA2B,EAAE5M,MAAM,CAAC4M;KACrC,CAAQ;EACb,CAAC,CAAC;EAEJ,MAAMC,WAAW,GAAGA,CAClB3D,OAAU,EACV1C,OAAgB,KAEhB3K,MAAM,CAACmJ,OAAO,CACZ,MAMI;IACF,MAAMnD,OAAO,GAAGqH,OAAO,CAACC,QAAQ,CAACtH,OAAO;IACxC,IAAI,CAACe,qBAAqB,CAACf,OAAO,CAAC,EAAE;MACnC,OAAOhG,MAAM,CAACqQ,IAAI,CAAC,IAAIC,uCAAyB,CAAC;QAAEtK;MAAO,CAAE,CAAC,CAAC;IAChE,CAAC,MAAM,IAAI,CAACb,cAAc,CAAC7B,GAAG,CAAC0C,OAAO,CAACwH,UAAU,CAAC,EAAE;MAClD,OAAOxN,MAAM,CAACqQ,IAAI,CAAC,IAAI9B,sCAAwB,CAAC;QAAEvI;MAAO,CAAE,CAAC,CAAC;IAC/D;IAEA,MAAMiL,MAAM,GAAGlM,cAAc,GACzB4H,oBAAoB,GACpB,MAAM3M,MAAM,CAAC0L,UAAU,CAAC,2CAA2C,CAAC;IAExE,IAAI2B,OAAO,CAACY,IAAI,KAAK,iBAAiB,IAAIZ,OAAO,CAACY,IAAI,KAAK,kBAAkB,EAAE;MAC7E,IAAIZ,OAAO,CAACY,IAAI,KAAK,iBAAiB,IAAIlB,uBAAuB,CAACM,OAAO,CAAC,EAAE;QAC1E,OAAOrN,MAAM,CAACqQ,IAAI,CAAC,IAAIK,sCAAwB,CAAC;UAAE1K,OAAO;UAAEkL,UAAU,EAAE7D,OAAO,CAACC,QAAQ,CAACC;QAAS,CAAE,CAAC,CAAC;MACvG;MACA,OAAO0D,MAAM,EAAE;IACjB;IAEA,OAAO5M,OAAO,CAAC2M,WAAW,CAAC;MAAE3D,OAAO;MAAE4D,MAAM;MAAEtG;IAAO,CAAE,CAAQ;EACjE,CAAC,CACF;EAEH,MAAMwG,gBAAgB,GAAGpQ,SAAS,CAACqQ,EAAE,CAACC,+BAAiB,CAACC,EAAE,EAAEhB,uCAAyB,CAACgB,EAAE,CAAC;EACzF,SAASC,YAAYA,CACnBlE,OAA8B,EAC9B1C,OAAgB,EAChB6G,OAAgB;IAKhB,OAAOxR,MAAM,CAACyR,OAAO,CACnBzR,MAAM,CAACmJ,OAAO,CAAC,MAAK;MAClB,MAAMnD,OAAO,GAAGqH,OAAO,CAACC,QAAQ,CAACtH,OAAO;MACxC,MAAM0L,WAAW,GAAG/Q,cAAc,CAAC4C,GAAG,CAAC8B,gBAAgB,EAAEW,OAAO,CAACgB,OAAO,CAAC;MACzE,MAAM2K,WAAW,GAAG7R,OAAO,CAACyD,GAAG,CAAC8J,OAAO,CAACuE,GAAG,CAACC,WAAW,EAAEC,wBAAS,CAAC;MACnE,IAAIH,WAAW,IAAI,CAAC5M,cAAc,EAAE;QAClC,OAAO/E,MAAM,CAAC0L,UAAU,CAAC,kEAAkE,CAAC;MAC9F;MACA,MAAMqG,aAAa,GAAGjR,MAAM,CAACmF,MAAM,CAACyL,WAAW,CAAC,IAAI3L,aAAa,CAAC2L,WAAW,CAACtL,KAAK,CAAC;MACpF,IAAIuL,WAAW,EAAE;QACf,OAAOI,aAAa,GAChBf,WAAW,CAAC3D,OAAO,EAAE1C,OAAO,CAAC,GAC7BtG,OAAO,CAAC4M,MAAM,CAAC;UAAEjL,OAAO,EAAE0L,WAAW;UAAErE,OAAO;UAAE1C;QAAO,CAAE,CAAC;MAChE,CAAC,MAAM,IAAI7J,MAAM,CAACiO,MAAM,CAAC2C,WAAW,CAAC,EAAE;QACrC,OAAO1R,MAAM,CAACqQ,IAAI,CAAC,IAAIC,uCAAyB,CAAC;UAAEtK;QAAO,CAAE,CAAC,CAAC;MAChE;MACA,OAAO+L,aAAa,GAChBjB,SAAS,CAACzD,OAAO,CAAC,GAClBhJ,OAAO,CAAC0J,IAAI,CAAC;QAAE/H,OAAO,EAAE0L,WAAW,CAACtL,KAAK;QAAEiH;MAAO,CAAE,CAAC;IAC3D,CAAC,CAAC,EACF8D,gBAAgB,EACftC,KAAK,IAAI;MACR,IAAI2C,OAAO,KAAK,CAAC,EAAE;QACjB,OAAOxR,MAAM,CAACgS,GAAG,CAACnD,KAAK,CAAC;MAC1B;MACA,OAAO7O,MAAM,CAACgK,KAAK,CAACuH,YAAY,CAAClE,OAAO,EAAE1C,OAAO,EAAE6G,OAAO,IAAIA,OAAO,GAAG,CAAC,CAAC,EAAErN,MAAM,CAACsM,iBAAiB,CAAC;IACvG,CAAC,CACF;EACH;EAEA,MAAMwB,KAAK,GAA8BjS,MAAM,CAACkL,UAAU,CACxD,WAAUqC,SAAS;IACjB,OAAOzI,OAAO,CAACoN,YAAY,CAAC3E,SAAS,CAAC;IACtCN,cAAc,CAACwC,MAAM,CAAClC,SAAS,CAAC;EAClC,CAAC,EACDvN,MAAM,CAACmS,UAAU,CAAC;IAChBC,SAAS,EAAEA,CAAA,KAAM,IAAI;IACrBC,SAAS,EAAEA,CAAA,KAAM;GAClB,CAAC,CACH;EAED;EAEA,MAAMC,wBAAwB,GAAG,OAAOlS,WAAW,CAAC6D,IAAI,EAAE,CAACqE,IAAI,CAC7DpH,KAAK,CAACqR,MAAM,CAAC5N,aAAa,CAAC,CAC5B;EACD,MAAM6N,wBAAwB,GAAGpS,WAAW,CAACgL,GAAG,CAC9CkH,wBAAwB,EACxBtS,MAAM,CAACqJ,OAAO,CAACrJ,MAAM,CAACkQ,KAAK,CAAC/L,MAAM,CAACsO,8BAA8B,CAAC,EAAE,MAAK;IACvE9R,cAAc,CAACkK,KAAK,CAACxF,gBAAgB,CAAC;IACtC,OAAO0E,eAAe;EACxB,CAAC,CAAC,EACF;IAAE2I,aAAa,EAAE;EAAI,CAAE,CACxB;EACD,MAAMC,uBAAuB,GAAGvS,WAAW,CAACyK,KAAK,CAACyH,wBAAwB,CAAC;EAE3E;EACA;EACA,OAAOtS,MAAM,CAACkE,GAAG,CAAC,aAAS;IACzB,OAAOlE,MAAM,CAACqM,QAAQ,CAAC,gCAAgC,CAAC;IACxD,IAAIvL,MAAM,CAACmF,MAAM,CAAC9B,MAAM,CAAC+B,aAAa,CAAC,EAAE;MACvC,MAAM0M,SAAS,GAAG,OAAOrO,YAAY,CAACsO,QAAQ,CAAC1O,MAAM,CAAC+B,aAAa,CAACE,KAAK,EAAEjC,MAAM,CAAC2O,WAAW,CAAC;MAC9F,OAAOrO,YAAY,CAACsO,YAAY,CAACH,SAAS,CAAC;IAC7C;IAEA,OAAOD,uBAAuB;IAE9B,OAAO3S,MAAM,CAACqM,QAAQ,CAAC,gCAAgC,CAAC;IACxD,MAAM2G,OAAO,GAAG,OAAOzO,YAAY,CAAC0O,cAAc,CAAC9O,MAAM,CAAC+B,aAAa,CAAC;IACxE,MAAMgN,YAAY,GAAG,OAAOnT,QAAQ,CAACkE,IAAI,EAA0C;IAEnF,MAAMkP,WAAW,GAAG,OAAOnT,MAAM,CAACkE,GAAG,CAAC,aAAS;MAC7C,OAAO,IAAI,EAAE;QACX,MAAM,CAACyB,MAAM,EAAEmK,IAAI,CAAC,GAAG,OAAOkD,OAAO,CAACI,OAAO;QAC7C,IAAItD,IAAI,EAAE;QACV,KAAK,MAAMuD,KAAK,IAAI1N,MAAM,EAAE;UAC1B,OAAO3F,MAAM,CAACqM,QAAQ,CAAC,yBAAyB,EAAEgH,KAAK,CAAC;UAExD,QAAQA,KAAK,CAACpF,IAAI;YAChB,KAAK,eAAe;cAAE;gBACpB,OAAOlO,QAAQ,CAAC+P,IAAI,CAACoD,YAAY,EAAEhT,IAAI,CAACwJ,IAAI,CAAC;gBAC7C;cACF;YACA,KAAK,gBAAgB;cAAE;gBACrB,KAAK,MAAM4J,KAAK,IAAID,KAAK,CAACE,MAAM,EAAE;kBAChC5S,cAAc,CAAC6C,GAAG,CAAC6B,gBAAgB,EAAEiO,KAAK,EAAED,KAAK,CAACrN,OAAO,CAAC;gBAC5D;gBACA,IAAI,CAACnF,UAAU,CAAC0C,GAAG,CAACsB,UAAU,CAAC,IAAIkB,aAAa,CAACsN,KAAK,CAACrN,OAAO,CAAC,EAAE;kBAC/D,KAAK,MAAMgB,OAAO,IAAIqM,KAAK,CAACE,MAAM,EAAE;oBAClC,IAAI3S,cAAc,CAAC0C,GAAG,CAACiC,UAAU,EAAEyB,OAAO,CAAC,EAAE;oBAC7CpG,cAAc,CAAC8G,GAAG,CAACnC,UAAU,EAAEyB,OAAO,CAAC;kBACzC;kBACA,OAAOvB,iBAAiB,CAAC4C,IAAI;gBAC/B;gBACA;cACF;YACA,KAAK,kBAAkB;cAAE;gBACvB,KAAK,MAAMiL,KAAK,IAAID,KAAK,CAACE,MAAM,EAAE;kBAChC5S,cAAc,CAAC8G,MAAM,CAACpC,gBAAgB,EAAEiO,KAAK,CAAC;gBAChD;gBACA,IAAIvN,aAAa,CAACsN,KAAK,CAACrN,OAAO,CAAC,EAAE;kBAChC,KAAK,MAAMsN,KAAK,IAAID,KAAK,CAACE,MAAM,EAAE;oBAChC3S,cAAc,CAAC6G,MAAM,CAAClC,UAAU,EAAE+N,KAAK,CAAC;kBAC1C;kBACA,OAAO7N,iBAAiB,CAAC4C,IAAI;gBAC/B;gBACA;cACF;YACA,KAAK,oBAAoB;cAAE;gBACzB,IAAI,CAACtC,aAAa,CAACsN,KAAK,CAACrN,OAAO,CAAC,EAAE;gBACnC,OAAO,OAAOhG,MAAM,CAACqQ,IAAI,CAAC,IAAIhP,YAAY,CAACmS,mBAAmB,CAAC;kBAAExN,OAAO,EAAEqN,KAAK,CAACrN;gBAAO,CAAE,CAAC,CAAC;cAC7F;UACF;QACF;MACF;IACF,CAAC,CAAC,CAACsC,IAAI,CACLtI,MAAM,CAACyT,YAAY,CAACP,YAAY,CAAC,EACjClT,MAAM,CAAC0T,QAAQ,CAAC1T,MAAM,CAAC0L,UAAU,CAAC,iCAAiC,CAAC,CAAC,EACrE1L,MAAM,CAAC2T,UAAU,CAClB;IAED;IACA,OAAO5T,QAAQ,CAACwH,KAAK,CAAC2L,YAAY,CAAC;IAEnC;IACA,MAAMU,SAAS,GAAG,OAAOC,eAAe,CAACvL,IAAI,CAC3CtI,MAAM,CAACyJ,OAAO,CAACzJ,MAAM,CAACkQ,KAAK,CAAC/L,MAAM,CAAC2P,0BAA0B,CAAC,CAAC,EAC/D9T,MAAM,CAACiK,OAAO,EACdjK,MAAM,CAAC2T,UAAU,CAClB;IAED,OAAO,OAAOxT,KAAK,CAAC4T,OAAO,CAAC,CAACZ,WAAW,EAAES,SAAS,CAAC,CAAC;EACvD,CAAC,CAAC,CAACtL,IAAI,CACLtI,MAAM,CAACgM,MAAM,EACbhM,MAAM,CAACuI,aAAa,CAAEC,KAAK,IAAKxI,MAAM,CAACqM,QAAQ,CAAC7D,KAAK,CAAC,CAAC,EACvDxI,MAAM,CAAC0T,QAAQ,CAAClB,wBAAwB,CAAC,EACzCxS,MAAM,CAAC0I,MAAM,CACXzH,QAAQ,CAAC+S,WAAW,CAAC,IAAI,CAAC,CAAC1L,IAAI,CAC7BrH,QAAQ,CAACgT,KAAK,CAAChT,QAAQ,CAAC0H,MAAM,CAAC,MAAM,CAAC,CAAC,CACxC,CACF,EACD3I,MAAM,CAAC6I,YAAY,CAAC;IAClBC,OAAO,EAAE,iBAAiB;IAC1BC,MAAM,EAAE,UAAU;IAClBC,KAAK,EAAE,mBAAmB;IAC1BC,MAAM,EAAE9E,MAAM,CAAC+B;GAChB,CAAC,EACFlG,MAAM,CAACkJ,aAAa,EACpBlJ,MAAM,CAAC6H,MAAM,CAAClD,aAAa,CAAC,CAC7B;EAED,MAAMkP,eAAe,GAAG7T,MAAM,CAACkE,GAAG,CAAC,aAAS;IAC1C,MAAMgQ,WAAW,GAAG,OAAO3P,YAAY,CAAC4P,cAAc;IACtD,OAAOnU,MAAM,CAACqM,QAAQ,CAAC,4BAA4B,EAAE6H,WAAW,CAAC;IAEjE,KAAK,MAAM,CAAClN,OAAO,EAAEiC,MAAM,CAAC,IAAIiL,WAAW,EAAE;MAC3C,IAAIpT,MAAM,CAACiO,MAAM,CAAC9F,MAAM,CAAC,EAAE;QACzBtI,cAAc,CAAC8G,MAAM,CAACpC,gBAAgB,EAAE2B,OAAO,CAAC;QAChDpG,cAAc,CAAC6G,MAAM,CAAClC,UAAU,EAAEyB,OAAO,CAAC;QAC1C;MACF;MAEArG,cAAc,CAAC6C,GAAG,CAAC6B,gBAAgB,EAAE2B,OAAO,EAAEiC,MAAM,CAAC7C,KAAK,CAAC;MAE3D,IAAI,CAACL,aAAa,CAACkD,MAAM,CAAC7C,KAAK,CAAC,EAAE;QAChCxF,cAAc,CAAC6G,MAAM,CAAClC,UAAU,EAAEyB,OAAO,CAAC;QAC1C;MACF;MACA,IAAInG,UAAU,CAAC0C,GAAG,CAACsB,UAAU,CAAC,IAAIjE,cAAc,CAAC0C,GAAG,CAACiC,UAAU,EAAEyB,OAAO,CAAC,EAAE;QACzE;MACF;MACApG,cAAc,CAAC8G,GAAG,CAACnC,UAAU,EAAEyB,OAAO,CAAC;IACzC;IAEA,OAAOvB,iBAAiB,CAAC4C,IAAI;EAC/B,CAAC,CAAC;EASF,MAAM+L,cAAc,GAAG,IAAIhP,GAAG,EAA2C;EAEzE,MAAMiP,OAAO,GAOT,OAAOC,wBAAW,CAACrQ,IAAI,CAACjE,MAAM,CAACkL,UAAU,CAAC,WAAU2F,MAA2B;IACjF,MAAM0D,MAAM,GAAG,OAAO/U,SAAS,CAACgV,mBAAmB,CAAC3D,MAAM,CAAC4D,QAAQ,EAAE;MACnEC,UAAU,EAAE,GAAG7D,MAAM,CAAC8D,IAAI,SAAS;MACnCC,cAAc,EAAE,CAAC9U,OAAO,CAACyD,GAAG,CAACsN,MAAM,CAAC4D,QAAQ,CAAC5C,WAAW,EAAEtQ,aAAa,CAACsT,oBAAoB,CAAC;MAC7FC,WAAW,EAAE,IAAI;MACjBC,iBAAiB,EAAEA,CAAA,KAAM,IAAAC,qBAAS,EAACvQ,YAAY,CAAC4J,UAAU,EAAE,CAAC;MAC7D4G,OAAO,EAAE,IAAI;MACbC,YAAYA,CAAC7J,OAAO;QAIlB,MAAMrF,OAAO,GAAGlG,OAAO,CAACqV,SAAS,CAAC9J,OAAO,CAACM,OAAO,EAAEyJ,gBAAgB,CAAC;QACpE,QAAQ/J,OAAO,CAACgC,OAAO,CAACY,IAAI;UAC1B,KAAK,SAAS;YAAE;cACd,MAAMjF,KAAK,GAAGlI,MAAM,CAAC+O,UAAU,CAAC1P,KAAK,CAACkV,eAAe,EAAE,CAAC;cACxD,MAAM7O,EAAE,GAAG9D,SAAS,CAACA,SAAS,CAAC2I,OAAO,CAACgC,OAAO,CAAC7G,EAAE,CAAC;cAClD,MAAMoL,GAAG,GAAGf,MAAM,CAAC4D,QAAQ,CAACa,QAAQ,CAAC/R,GAAG,CAAC8H,OAAO,CAACgC,OAAO,CAACkI,GAAG,CAAE;cAC9D,IAAIrH,OAAyD;cAC7D,IAAI,CAAC7C,OAAO,CAACV,OAAO,EAAE;gBACpB,MAAM6K,KAAK,GAAuB;kBAChC5D,GAAG,EAAEA,GAAU;kBACfjG,OAAO,EAAE3C,KAAK,CAACyM;iBAChB;gBACDrB,cAAc,CAAC5Q,GAAG,CAACgD,EAAE,EAAEgP,KAAK,CAAC;gBAC7BtH,OAAO,GAAGwH,iBAAiB,CAACF,KAAK,EAAEjB,MAAM,CAACoB,KAAK,CAAC;cAClD,CAAC,MAAM;gBACLzH,OAAO,GAAG0H,oBAAoB;cAChC;cACA,OAAOrE,YAAY,CACjB,IAAIvP,OAAO,CAAC6T,eAAe,CAAC;gBAC1BvI,QAAQ,EAAE5L,QAAQ,CAACoU,WAAW,CAAC;kBAC7BvI,SAAS,EAAE/G,EAAE;kBACbR,OAAO;kBACPuP,GAAG,EAAElK,OAAO,CAACgC,OAAO,CAACkI,GAAG;kBACxBQ,OAAO,EAAE1K,OAAO,CAACgC,OAAO,CAAC0I,OAAO;kBAChCC,OAAO,EAAE3K,OAAO,CAACgC,OAAO,CAAC2I,OAAO;kBAChCC,OAAO,EAAE5K,OAAO,CAACgC,OAAO,CAAC4I,OAAO;kBAChCC,MAAM,EAAE7K,OAAO,CAACgC,OAAO,CAAC6I,MAAM;kBAC9BC,OAAO,EAAE9K,OAAO,CAACgC,OAAO,CAAC8I;iBAC1B,CAAC;gBACFC,iBAAiB,EAAEtV,MAAM,CAACuV,IAAI,EAAE;gBAChCzE,GAAG;gBACHjG,OAAO,EAAE3C,KAAK,CAACyM,cAAsC;gBACrDvH;eACD,CAAC,EACF7C,OAAO,CAACV,OAAO,CAChB;YACH;UACA,KAAK,KAAK;YAAE;cACV,MAAM4C,SAAS,GAAG7K,SAAS,CAACA,SAAS,CAAC2I,OAAO,CAACgC,OAAO,CAACE,SAAS,CAAC;cAChE,MAAMiI,KAAK,GAAGpB,cAAc,CAAC7Q,GAAG,CAACgK,SAAS,CAAC;cAC3C,IAAI,CAACiI,KAAK,EAAE,OAAOxV,MAAM,CAAC0J,IAAI;cAC9B,OAAO6H,YAAY,CACjB,IAAIvP,OAAO,CAACsU,gBAAgB,CAAC;gBAC3BhJ,QAAQ,EAAE,IAAI5L,QAAQ,CAAC6U,QAAQ,CAAC;kBAC9B/P,EAAE,EAAE/B,YAAY,CAAC4J,UAAU,EAAE;kBAC7BrI,OAAO;kBACPuH,SAAS;kBACTiJ,OAAO,EAAEhB,KAAK,CAACiB;iBAChB,CAAC;gBACF7E,GAAG,EAAE4D,KAAK,CAAC5D;eACZ,CAAC,EACF,KAAK,CACN;YACH;UACA,KAAK,WAAW;YAAE;cAChB,MAAMrE,SAAS,GAAG7K,SAAS,CAACA,SAAS,CAAC2I,OAAO,CAACgC,OAAO,CAACE,SAAS,CAAC;cAChE,MAAMiI,KAAK,GAAGpB,cAAc,CAAC7Q,GAAG,CAACgK,SAAS,CAAE;cAC5C,IAAI,CAACiI,KAAK,EAAE,OAAOxV,MAAM,CAAC0J,IAAI;cAC9B0K,cAAc,CAAC3E,MAAM,CAAClC,SAAS,CAAC;cAChC,IAAIzN,OAAO,CAACyD,GAAG,CAACiS,KAAK,CAAC5D,GAAG,CAACC,WAAW,EAAE6E,8BAAe,CAAC,EAAE;gBACvD,OAAO1W,MAAM,CAAC0J,IAAI;cACpB;cACA;cACA;cACA,MAAMiN,oBAAoB,GAAG9V,UAAU,CAAC0C,GAAG,CAACsB,UAAU,CAAC,IACrDwG,OAAO,CAACgC,OAAO,CAACuJ,YAAY,CAACtN,IAAI,CAAE9C,EAAE,IAAKiG,kCAAoB,CAACnJ,GAAG,CAACkD,EAAE,CAAC,CAAC;cACzE,IAAImQ,oBAAoB,IAAI7W,OAAO,CAACyD,GAAG,CAACiS,KAAK,CAAC5D,GAAG,CAACC,WAAW,EAAEC,wBAAS,CAAC,EAAE;gBACzE,OAAO9R,MAAM,CAAC0J,IAAI;cACpB;cACA,OAAO1J,MAAM,CAACmH,MAAM,CAACoK,YAAY,CAC/B,IAAIvP,OAAO,CAACsU,gBAAgB,CAAC;gBAC3BhJ,QAAQ,EAAE,IAAI5L,QAAQ,CAACmV,SAAS,CAAC;kBAC/BrQ,EAAE,EAAE/B,YAAY,CAAC4J,UAAU,EAAE;kBAC7BrI,OAAO;kBACPuH;iBACD,CAAC;gBACFqE,GAAG,EAAE4D,KAAK,CAAC5D;eACZ,CAAC,EACF,KAAK,EACL,CAAC,CACF,CAAC;YACJ;QACF;QACA,OAAO5R,MAAM,CAAC0J,IAAI;MACpB;KACD,CAAC;IAEF,OAAOxI,KAAK,CAACkM,YAAY,CACvB,OAAOpN,MAAM,CAAC4E,KAAK,EACnB5E,MAAM,CAAC8W,gBAAgB,CAAE9N,KAAK,IAAI;MAChCyD,kCAAoB,CAAC/E,GAAG,CAACsB,KAAK,CAACxC,EAAE,EAAE,CAAC;MACpC,OAAOxG,MAAM,CAAC0J,IAAI;IACpB,CAAC,CAAC,CACH;IAED,OAAQpD,QAAgB,IAAI;MAC1B,MAAME,EAAE,GAAGgF,kBAAQ,CAACvH,IAAI,CAACqC,QAAQ,CAAC;MAClC,MAAMN,OAAO,GAAGoP,gBAAgB,CAACzJ,OAAO,CAACoL,4BAAa,CAAC9S,IAAI,CAAC;QAC1D+C,OAAO,EAAEX,UAAU,CAACG,EAAE,EAAEqK,MAAM,CAACmG,aAAa,CAAC1Q,QAAoB,CAAC,CAAC;QACnEA,QAAQ,EAAEE,EAAE;QACZgH,UAAU,EAAEqD,MAAM,CAAC8D;OACpB,CAAC,CAAC;MACH,MAAMsC,QAAQ,GAAG,SAAAA,CAAS1B,GAAW,EAAEQ,OAAY,EAAE1K,OAEpD;QACC,MAAMM,OAAO,GAAGN,OAAO,EAAEM,OAAO,GAAG7L,OAAO,CAACoX,KAAK,CAAC7L,OAAO,CAACM,OAAO,EAAE3F,OAAO,CAAC,GAAGA,OAAO;QACpF,OAAOuO,MAAM,CAACA,MAAM,CAACgB,GAAG,EAAEQ,OAAO,EAAE;UACjC,GAAG1K,OAAO;UACVM;SACD,CAAC;MACJ,CAAC;MACD,MAAMwL,WAAW,GAAQ,EAAE;MAC3B,OAAO,IAAIC,KAAK,CAACD,WAAW,EAAE;QAC5B7T,GAAGA,CAACiG,CAAC,EAAE8N,CAAC;UACN,OAAOxG,MAAM,CAAC4D,QAAQ,CAACa,QAAQ,CAAChS,GAAG,CAAC+T,CAAW,CAAC;QAClD,CAAC;QACD9T,GAAGA,CAAC+T,MAAM,EAAED,CAAC;UACX,IAAIA,CAAC,IAAIC,MAAM,EAAE;YACf,OAAOA,MAAM,CAACD,CAAC,CAAC;UAClB,CAAC,MAAM,IAAI,CAACxG,MAAM,CAAC4D,QAAQ,CAACa,QAAQ,CAAChS,GAAG,CAAC+T,CAAW,CAAC,EAAE;YACrD,OAAOE,SAAS;UAClB;UACA,OAAOD,MAAM,CAACD,CAAC,CAAC,GAAG,CAACtB,OAAY,EAAE1K,OAAY,KAAK4L,QAAQ,CAACI,CAAW,EAAEtB,OAAO,EAAE1K,OAAO,CAAC;QAC5F;OACD,CAAC;IACJ,CAAC;EACH,CAAC,CAAC,CAAC;EAEH,MAAMmM,UAAU,GAA+C3G,MAA0B,IAIpFwD,OAAO,CAAC9Q,GAAG,CAACsN,MAAM,CAAQ;EAE/B,MAAM+E,oBAAoB,GAAI6B,MAAwB,IAAKzX,MAAM,CAAC0J,IAAI;EAEtE,MAAMgM,iBAAiB,GAAGA,CACxBF,KAAyB,EACzBG,KAAsD,KAEvD+B,KAAuB,IAAI;IAC1B,QAAQA,KAAK,CAACzJ,IAAI;MAChB,KAAK,OAAO;QAAE;UACZuH,KAAK,CAACiB,WAAW,GAAGiB,KAAK,CAAClR,EAAE;UAC5B,OAAOmP,KAAK,CAAC;YACX1H,IAAI,EAAE,OAAO;YACb0J,QAAQ,EAAE,CAAC;YACXpK,SAAS,EAAE,IAAAyH,qBAAS,EAAC0C,KAAK,CAACnK,SAAS,CAAC;YACrCjD,MAAM,EAAEoN,KAAK,CAACpN;WACf,CAAC;QACJ;MACA,KAAK,UAAU;QAAE;UACf8J,cAAc,CAAC3E,MAAM,CAACiI,KAAK,CAACnK,SAAS,CAAC;UACtC,OAAOoI,KAAK,CAAC;YACX1H,IAAI,EAAE,MAAM;YACZ0J,QAAQ,EAAE,CAAC;YACXpK,SAAS,EAAE,IAAAyH,qBAAS,EAAC0C,KAAK,CAACnK,SAAS,CAAC;YACrCqK,IAAI,EAAEF,KAAK,CAACE;WACb,CAAC;QACJ;IACF;EACF,CAAC;EAED;EAEA,MAAMjM,OAAO,GAAG,OAAO3L,MAAM,CAAC2L,OAAO,EAAkB;EACvD,MAAMkM,MAAM,GAAG,OAAOC,0BAAY;EAClC,MAAMC,cAAc,GAAuC/X,MAAM,CAACkL,UAAU,CAC1E,WAAU2F,MAAM,EAAEmH,KAAK,EAAE3M,OAAO;IAC9B,IAAIvK,MAAM,CAACiO,MAAM,CAAC5K,MAAM,CAAC+B,aAAa,CAAC,IAAIf,cAAc,CAAC7B,GAAG,CAACuN,MAAM,CAAC8D,IAAI,CAAC,EAAE;IAC5E,MAAM/P,KAAK,GAAG,OAAO1D,KAAK,CAAC+C,IAAI,EAAE;IACjC,MAAMuG,OAAO,GAAG,OAAO7I,aAAa,CAACsC,IAAI,CAAC4M,MAAM,EAAEmH,KAAK,EAAE;MACvD,GAAG3M,OAAO;MACVvG,OAAO;MACPoB,aAAa,EAAE/B,MAAM,CAAC+B,aAAa,CAACE,KAAK;MACzC6R;KACD,CAAC,CAAC3P,IAAI,CACLtI,MAAM,CAACiM,OAAO,CAACN,OAAO,CAACrD,IAAI,CACzBxI,OAAO,CAAC4H,GAAG,CAACoQ,0BAAY,EAAED,MAAM,CAAC,EACjC/X,OAAO,CAAC4H,GAAG,CAACxG,KAAK,CAACA,KAAK,EAAE0D,KAAK,CAAC,EAC/B9E,OAAO,CAAC4H,GAAG,CAAChF,SAAS,CAACgC,SAAS,EAAED,YAAY,CAAC,CAC/C,CAAC,CAC2C;IAC/CU,cAAc,CAAC3B,GAAG,CAACqN,MAAM,CAAC8D,IAAI,EAAE;MAC9B9D,MAAM;MACNjM,KAAK;MACL4F;KACD,CAAC;IAEF,OAAOxJ,MAAM,CAACmL,OAAO,CAACxG,MAAM,EAAE,IAAAuS,2CAAgB,EAAC;MAAErH;IAAM,CAAE,CAAC,CAAC;EAC7D,CAAC,CACF;EAED,OAAO3P,KAAK,CAACgG,gBAAgB,CAC3BvC,aAAa,EACZiT,IAAI,IACH5X,MAAM,CAACqK,OAAO,CACZlF,cAAc,CAACmF,MAAM,EAAE,EACtBC,KAAK,IACJvK,MAAM,CAACuI,aAAa,CAACrH,KAAK,CAACiX,KAAK,CAAC5N,KAAK,CAAC3F,KAAK,EAAEgT,IAAI,CAAC,EAAGpP,KAAK,IACzDxI,MAAM,CAAC6I,YAAY,CAAC7I,MAAM,CAAC8J,QAAQ,CAAC,8BAA8B,EAAEtB,KAAK,CAAC,EAAE;IAC1EqI,MAAM,EAAEtG,KAAK,CAACsG,MAAM,CAAC8D;GACtB,CAAC,CAAC,EACP;IAAEjK,WAAW,EAAE,WAAW;IAAEC,OAAO,EAAE;EAAI,CAAE,CAC5C,CACJ;EAED;EAEA,IAAI7J,MAAM,CAACmF,MAAM,CAAC9B,MAAM,CAAC+B,aAAa,CAAC,EAAE;IACvC,MAAMe,WAAW,GAAG9C,MAAM,CAAC+B,aAAa,CAACE,KAAK;IAC9C;IACA,OAAOlF,KAAK,CAACkM,YAAY,CACvBzI,aAAa,EACb3E,MAAM,CAACkE,GAAG,CAAC,aAAS;MAClB,OAAOlE,MAAM,CAACqM,QAAQ,CAAC,yCAAyC,EAAEpF,WAAW,CAAC;MAC9E,OAAO1C,YAAY,CAAC6T,UAAU,CAACnR,WAAW,CAAC,CAACqB,IAAI,CAC9CtI,MAAM,CAACuI,aAAa,CAAEC,KAAK,IAAKxI,MAAM,CAAC8J,QAAQ,CAAC,6CAA6C,EAAEtB,KAAK,CAAC,CAAC,CACvG;MACD,OAAOuB,eAAe;IACxB,CAAC,CAAC,CACH;EACH;EAEA,OAAO7I,KAAK,CAACkM,YAAY,CACvBzI,aAAa,EACb3E,MAAM,CAAC8W,gBAAgB,CAAE9N,KAAK,IAAI;IAChCnI,UAAU,CAAC2C,GAAG,CAACqB,UAAU,EAAE,IAAI,CAAC;IAChC4H,kCAAoB,CAAC/E,GAAG,CAACsB,KAAK,CAACxC,EAAE,EAAE,CAAC;IACpC,OAAOxG,MAAM,CAAC0J,IAAI;EACpB,CAAC,CAAC,CACH;EAED,MAAM2O,iBAAiB,GAAGrY,MAAM,CAACkE,GAAG,CAAC,aAAS;IAC5C,IAAIoU,KAAK,GAAG,CAAC;IACb,KAAK,MAAM/N,KAAK,IAAIpF,cAAc,CAACmF,MAAM,EAAE,EAAE;MAC3CgO,KAAK,IAAI,OAAO/N,KAAK,CAACC,OAAO,CAAC6N,iBAAiB;IACjD;IACA,OAAOC,KAAK;EACd,CAAC,CAAC;EAEF,MAAML,QAAQ,GAAGnU,QAAQ,CAACyU,EAAE,CAAC;IAC3B1S,qBAAqB;IACrBQ,UAAU;IACVxB,UAAU,EAAE7E,MAAM,CAAC2Q,IAAI,CAAC,MAAM9P,UAAU,CAAC0C,GAAG,CAACsB,UAAU,CAAC,CAAC;IACzDkT,cAAc;IACd9M,iBAAiB;IACjBuM,UAAU;IACVzJ,IAAI,EAAE+C,SAAS;IACfS,YAAY,EAAEA,CAAClE,OAAO,EAAE1C,OAAO,KAAK4G,YAAY,CAAClE,OAAO,EAAE1C,OAAO,CAAC;IAClEsG,MAAM,EAAG5D,OAAO,IAAK2D,WAAW,CAAC3D,OAAO,EAAE,KAAK,CAAC;IAChDgL,iBAAiB;IACjBG,WAAW,EAAEpQ,gBAAgB,CAACC,IAAI;IAClC4J;GACD,CAAC;EAEF,OAAOgG,QAAQ;AACjB,CAAC,CAAC;AAEF;;;;AAIO,MAAMQ,KAAK,GAAAzU,OAAA,CAAAyU,KAAA,gBAId/X,KAAK,CAACsL,MAAM,CAAClI,QAAQ,EAAEG,IAAI,CAAC,CAACqE,IAAI,cACnC5H,KAAK,CAACuL,OAAO,CAAC,CAACvJ,SAAS,CAACgW,cAAc,EAAEZ,0BAAY,CAACa,OAAO,CAAC,CAAC,CAChE;AAED;AAEA,MAAMvD,gBAAgB,gBAAGtV,OAAO,CAAC8Y,UAAU,CAAgB,wCAAwC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Sharding.js","names":["RpcClient","_interopRequireWildcard","require","_RpcMessage","Arr","Cause","Context","Deferred","Effect","Equal","Exit","Fiber","FiberHandle","FiberMap","FiberRef","_Function","HashMap","Iterable","Layer","MutableHashMap","MutableHashSet","MutableRef","Option","Predicate","PubSub","Schedule","Scope","Stream","_ClusterError","ClusterError","_ClusterSchema","ClusterSchema","_EntityAddress","_EntityId","Envelope","EntityManager","_entityReaper","_hash","_interruptors","_resourceMap","Message","MessageStorage","Reply","_Runners","_ShardId","_ShardingConfig","_ShardingRegistrationEvent","_ShardManager","_ShardStorage","_SingletonAddress","Snowflake","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Sharding","Tag","exports","make","gen","config","ShardingConfig","runners","Runners","shardManager","ShardManagerClient","snowflakeGen","Generator","shardingScope","scope","isShutdown","storage","storageEnabled","noop","shardStorage","ShardStorage","entityManagers","Map","shardAssignments","empty","selfShards","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","group","id","Math","abs","hashString","shardsPerGroup","ShardId","disableValidation","isEntityOnLocalShards","shardId","selfAddress","addFinalizerExit","ignore","releaseAll","releasingShards","unsafeOpen","await","unsafeClose","remove","add","unacquiredShards","size","forkIn","syncSingletons","releaseShards","acquired","acquire","resetShards","length","storageReadLatch","open","sleep","pipe","catchAllCause","cause","logWarning","forever","annotateLogs","package","module","fiber","runner","interruptible","suspend","refresh","flatMap","some","_","symbol","andThen","void","retry","times","schedule","spaced","logError","clearSelfShards","fixed","releaseShardsLock","unsafeMakeSemaphore","withPermits","forEach","values","state","manager","interruptShard","concurrency","discard","release","clear","singletons","singletonFibers","withSingletonLock","registerSingleton","fnUntraced","name","run","options","shardGroup","SingletonAddress","EntityId","map","dieMessage","context","wrappedRun","locally","currentLogAnnotations","never","scoped","provide","orDie","publish","SingletonRegistered","logDebug","running","unsafeHas","shouldBeRunning","internalInterruptors","fiberId","openStorageReadLatch","constant","storageReadLock","withStorageReadLock","storageAlreadyProcessed","_message","sentRequestIds","Set","sentRequestIdSets","addFinalizer","message","envelope","requestId","entityType","isProcessingFor","excludeReplies","take","messages","unprocessedMessages","currentSentRequestIds","send","index","_tag","respond","ReplyWithContext","fromDefect","unsafeNext","defect","EntityNotManagedByRunner","isProcessing","resumptionState","entityResumptionState","unprocessed","interrupts","error","failureOption","isNone","saveReply","squash","resumeEntityFromStorage","whileLoop","while","step","body","oldest","unsafeHead","delete","ensuring","repeat","entityMessagePollInterval","delay","lastReceivedMessage","resumeEntityFromStorageImpl","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","fail","EntityNotAssignedToRunner","interrupt","MailboxFull","sendRetryInterval","AlreadyProcessingMessage","sync","effect","entity","sendLocal","simulateRemoteSerialization","notifyLocal","notify","envelopeId","isTransientError","or","RunnerUnavailable","is","sendOutgoing","retries","catchIf","maybeRunner","isPersisted","rpc","annotations","Persisted","runnerIsLocal","die","reset","clearReplies","matchCause","onSuccess","onFailure","shardManagerTimeoutFiber","extend","startShardManagerTimeout","shardManagerUnavailableTimeout","onlyIfMissing","stopShardManagerTimeout","machineId","register","shardGroups","setMachineId","mailbox","shardingEvents","startedLatch","eventsFiber","takeAll","event","shard","shards","RunnerNotRegistered","intoDeferred","zipRight","forkScoped","syncFiber","syncAssignments","refreshAssignmentsInterval","joinAll","exponential","union","assignments","getAssignments","clientRequests","clients","ResourceMap","client","makeNoSerialization","protocol","spanPrefix","type","disableTracing","ClientTracingEnabled","supportsAck","generateRequestId","RequestId","flatten","onFromClient","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","entry","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","none","OutgoingEnvelope","AckChunk","replyId","lastChunkId","Uninterruptible","isTransientInterrupt","interruptors","Interrupt","withFiberRuntime","EntityAddress","getShardGroup","clientFn","merge","proxyClient","Proxy","p","target","undefined","makeClient","_reply","reply","clientId","exit","reaper","EntityReaper","registerEntity","build","sharding","EntityRegistered","close","unregister","activeEntityCount","count","of","pollStorage","layer","layerGenerator","Default","GenericTag"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":";;;;;;AAIA,IAAAA,SAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAH,uBAAA,CAAAC,OAAA;AACA,IAAAG,KAAA,GAAAJ,uBAAA,CAAAC,OAAA;AACA,IAAAI,OAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,QAAA,GAAAN,uBAAA,CAAAC,OAAA;AAEA,IAAAM,MAAA,GAAAP,uBAAA,CAAAC,OAAA;AACA,IAAAO,KAAA,GAAAR,uBAAA,CAAAC,OAAA;AACA,IAAAQ,IAAA,GAAAT,uBAAA,CAAAC,OAAA;AACA,IAAAS,KAAA,GAAAV,uBAAA,CAAAC,OAAA;AACA,IAAAU,WAAA,GAAAX,uBAAA,CAAAC,OAAA;AACA,IAAAW,QAAA,GAAAZ,uBAAA,CAAAC,OAAA;AACA,IAAAY,QAAA,GAAAb,uBAAA,CAAAC,OAAA;AACA,IAAAa,SAAA,GAAAb,OAAA;AACA,IAAAc,OAAA,GAAAf,uBAAA,CAAAC,OAAA;AACA,IAAAe,QAAA,GAAAhB,uBAAA,CAAAC,OAAA;AACA,IAAAgB,KAAA,GAAAjB,uBAAA,CAAAC,OAAA;AACA,IAAAiB,cAAA,GAAAlB,uBAAA,CAAAC,OAAA;AACA,IAAAkB,cAAA,GAAAnB,uBAAA,CAAAC,OAAA;AACA,IAAAmB,UAAA,GAAApB,uBAAA,CAAAC,OAAA;AACA,IAAAoB,MAAA,GAAArB,uBAAA,CAAAC,OAAA;AACA,IAAAqB,SAAA,GAAAtB,uBAAA,CAAAC,OAAA;AACA,IAAAsB,MAAA,GAAAvB,uBAAA,CAAAC,OAAA;AACA,IAAAuB,QAAA,GAAAxB,uBAAA,CAAAC,OAAA;AACA,IAAAwB,KAAA,GAAAzB,uBAAA,CAAAC,OAAA;AACA,IAAAyB,MAAA,GAAA1B,uBAAA,CAAAC,OAAA;AAEA,IAAA0B,aAAA,GAAA3B,uBAAA,CAAAC,OAAA;AAK0B,IAAA2B,YAAA,GAAAD,aAAA;AAE1B,IAAAE,cAAA,GAAA7B,uBAAA,CAAAC,OAAA;AAA+D,IAAA6B,aAAA,GAAAD,cAAA;AAG/D,IAAAE,cAAA,GAAA9B,OAAA;AACA,IAAA+B,SAAA,GAAA/B,OAAA;AACA,IAAAgC,QAAA,GAAAjC,uBAAA,CAAAC,OAAA;AACA,IAAAiC,aAAA,GAAAlC,uBAAA,CAAAC,OAAA;AACA,IAAAkC,aAAA,GAAAlC,OAAA;AACA,IAAAmC,KAAA,GAAAnC,OAAA;AACA,IAAAoC,aAAA,GAAApC,OAAA;AACA,IAAAqC,YAAA,GAAArC,OAAA;AACA,IAAAsC,OAAA,GAAAvC,uBAAA,CAAAC,OAAA;AACA,IAAAuC,cAAA,GAAAxC,uBAAA,CAAAC,OAAA;AACA,IAAAwC,KAAA,GAAAzC,uBAAA,CAAAC,OAAA;AAEA,IAAAyC,QAAA,GAAAzC,OAAA;AACA,IAAA0C,QAAA,GAAA1C,OAAA;AACA,IAAA2C,eAAA,GAAA3C,OAAA;AACA,IAAA4C,0BAAA,GAAA5C,OAAA;AACA,IAAA6C,aAAA,GAAA7C,OAAA;AACA,IAAA8C,aAAA,GAAA9C,OAAA;AACA,IAAA+C,iBAAA,GAAA/C,OAAA;AACA,IAAAgD,SAAA,GAAAjD,uBAAA,CAAAC,OAAA;AAA2C,SAAAD,wBAAAkD,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAApD,uBAAA,YAAAA,CAAAkD,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAE3C;;;;AAIM,MAAOkB,QAAS,sBAAQhE,OAAO,CAACiE,GAAG,CAAC,0BAA0B,CAAC,EAyGjE;AAAAC,OAAA,CAAAF,QAAA,GAAAA,QAAA;AAYJ,MAAMG,IAAI,gBAAGjE,MAAM,CAACkE,GAAG,CAAC,aAAS;EAC/B,MAAMC,MAAM,GAAG,OAAOC,8BAAc;EAEpC,MAAMC,OAAO,GAAG,OAAOC,gBAAO;EAC9B,MAAMC,YAAY,GAAG,OAAOC,gCAAkB;EAC9C,MAAMC,YAAY,GAAG,OAAO/B,SAAS,CAACgC,SAAS;EAC/C,MAAMC,aAAa,GAAG,OAAO3E,MAAM,CAAC4E,KAAK;EACzC,MAAMC,UAAU,GAAGhE,UAAU,CAACoD,IAAI,CAAC,KAAK,CAAC;EAEzC,MAAMa,OAAO,GAAG,OAAO7C,cAAc,CAACA,cAAc;EACpD,MAAM8C,cAAc,GAAGD,OAAO,KAAK7C,cAAc,CAAC+C,IAAI;EACtD,MAAMC,YAAY,GAAG,OAAOC,0BAAY;EAExC,MAAMC,cAAc,GAAG,IAAIC,GAAG,EAA8B;EAE5D,MAAMC,gBAAgB,GAAG1E,cAAc,CAAC2E,KAAK,EAA0B;EACvE,MAAMC,UAAU,GAAG3E,cAAc,CAAC0E,KAAK,EAAW;EAElD;EACA,MAAME,cAAc,GAAG5E,cAAc,CAAC0E,KAAK,EAAW;EACtD,MAAMG,iBAAiB,GAAG,OAAOzF,MAAM,CAAC0F,SAAS,CAAC,KAAK,CAAC;EAExD,MAAMC,MAAM,GAAG,OAAO3E,MAAM,CAAC4E,SAAS,EAA6B;EACnE,MAAMC,qBAAqB,GAA6C1E,MAAM,CAAC2E,UAAU,CAACH,MAAM,CAAC;EAEjG,MAAMI,aAAa,GAAIC,OAAsB,IAC3ClF,MAAM,CAACmF,MAAM,CAAC9B,MAAM,CAAC+B,aAAa,CAAC,IAAIjG,KAAK,CAACkG,MAAM,CAACH,OAAO,EAAE7B,MAAM,CAAC+B,aAAa,CAACE,KAAK,CAAC;EAE1F,SAASC,UAAUA,CAACC,QAAkB,EAAEC,KAAa;IACnD,MAAMC,EAAE,GAAGC,IAAI,CAACC,GAAG,CAAC,IAAAC,gBAAU,EAACL,QAAQ,CAAC,GAAGnC,MAAM,CAACyC,cAAc,CAAC,GAAG,CAAC;IACrE,OAAOC,gBAAO,CAAC5C,IAAI,CAAC;MAAEsC,KAAK;MAAEC;IAAE,CAAE,EAAE;MAAEM,iBAAiB,EAAE;IAAI,CAAE,CAAC;EACjE;EAEA,SAASC,qBAAqBA,CAACf,OAAsB;IACnD,OAAOpF,cAAc,CAAC0C,GAAG,CAACkC,cAAc,EAAEQ,OAAO,CAACgB,OAAO,CAAC;EAC5D;EAEA;EAEA,IAAIlG,MAAM,CAACmF,MAAM,CAAC9B,MAAM,CAAC+B,aAAa,CAAC,EAAE;IACvC,MAAMe,WAAW,GAAG9C,MAAM,CAAC+B,aAAa,CAACE,KAAK;IAC9C,OAAOlF,KAAK,CAACgG,gBAAgB,CAACvC,aAAa,EAAE,MAAK;MAChD;MACA,OAAO3E,MAAM,CAACmH,MAAM,CAAClC,YAAY,CAACmC,UAAU,CAACH,WAAW,CAAC,CAAC;IAC5D,CAAC,CAAC;IAEF,MAAMI,eAAe,GAAGzG,cAAc,CAAC0E,KAAK,EAAW;IACvD,OAAOtF,MAAM,CAACkE,GAAG,CAAC,aAAS;MACzBuB,iBAAiB,CAAC6B,UAAU,EAAE;MAC9B,OAAO,IAAI,EAAE;QACX,OAAO7B,iBAAiB,CAAC8B,KAAK;QAC9B9B,iBAAiB,CAAC+B,WAAW,EAAE;QAE/B;QACA,KAAK,MAAMR,OAAO,IAAIxB,cAAc,EAAE;UACpC,IAAI5E,cAAc,CAAC0C,GAAG,CAACiC,UAAU,EAAEyB,OAAO,CAAC,EAAE;UAC7CpG,cAAc,CAAC6G,MAAM,CAACjC,cAAc,EAAEwB,OAAO,CAAC;UAC9CpG,cAAc,CAAC8G,GAAG,CAACL,eAAe,EAAEL,OAAO,CAAC;QAC9C;QACA;QACA,MAAMW,gBAAgB,GAAG/G,cAAc,CAAC0E,KAAK,EAAW;QACxD,KAAK,MAAM0B,OAAO,IAAIzB,UAAU,EAAE;UAChC,IAAI3E,cAAc,CAAC0C,GAAG,CAACkC,cAAc,EAAEwB,OAAO,CAAC,IAAIpG,cAAc,CAAC0C,GAAG,CAAC+D,eAAe,EAAEL,OAAO,CAAC,EAAE;UACjGpG,cAAc,CAAC8G,GAAG,CAACC,gBAAgB,EAAEX,OAAO,CAAC;QAC/C;QAEA,IAAIpG,cAAc,CAACgH,IAAI,CAACP,eAAe,CAAC,GAAG,CAAC,EAAE;UAC5C,OAAOrH,MAAM,CAAC6H,MAAM,CAACC,cAAc,EAAEnD,aAAa,CAAC;UACnD,OAAOoD,aAAa;QACtB;QAEA,IAAInH,cAAc,CAACgH,IAAI,CAACD,gBAAgB,CAAC,KAAK,CAAC,EAAE;UAC/C;QACF;QAEA,MAAMK,QAAQ,GAAG,OAAO/C,YAAY,CAACgD,OAAO,CAAChB,WAAW,EAAEU,gBAAgB,CAAC;QAC3E,OAAO3H,MAAM,CAACmH,MAAM,CAACrC,OAAO,CAACoD,WAAW,CAACF,QAAQ,CAAC,CAAC;QACnD,KAAK,MAAMhB,OAAO,IAAIgB,QAAQ,EAAE;UAC9BpH,cAAc,CAAC8G,GAAG,CAAClC,cAAc,EAAEwB,OAAO,CAAC;QAC7C;QACA,IAAIgB,QAAQ,CAACG,MAAM,GAAG,CAAC,EAAE;UACvB,OAAOC,gBAAgB,CAACC,IAAI;UAC5B,OAAOrI,MAAM,CAAC6H,MAAM,CAACC,cAAc,EAAEnD,aAAa,CAAC;QACrD;QACA,OAAO3E,MAAM,CAACsI,KAAK,CAAC,IAAI,CAAC;QACzB7C,iBAAiB,CAAC6B,UAAU,EAAE;MAChC;IACF,CAAC,CAAC,CAACiB,IAAI,CACLvI,MAAM,CAACwI,aAAa,CAAEC,KAAK,IAAKzI,MAAM,CAAC0I,UAAU,CAAC,kCAAkC,EAAED,KAAK,CAAC,CAAC,EAC7FzI,MAAM,CAAC2I,OAAO,EACd3I,MAAM,CAAC4I,YAAY,CAAC;MAClBC,OAAO,EAAE,iBAAiB;MAC1BC,MAAM,EAAE,UAAU;MAClBC,KAAK,EAAE,wBAAwB;MAC/BC,MAAM,EAAE/B;KACT,CAAC,EACFjH,MAAM,CAACiJ,aAAa,EACpBjJ,MAAM,CAAC6H,MAAM,CAAClD,aAAa,CAAC,CAC7B;IAED;IACA,OAAO3E,MAAM,CAACkJ,OAAO,CAAC,MACpBjE,YAAY,CAACkE,OAAO,CAAClC,WAAW,EAAE,CAChC,GAAGzB,cAAc,EACjB,GAAG6B,eAAe,CACnB,CAAC,CACH,CAACkB,IAAI,CACJvI,MAAM,CAACoJ,OAAO,CAAEpB,QAAQ,IAAI;MAC1B,KAAK,MAAMhB,OAAO,IAAIxB,cAAc,EAAE;QACpC,IAAI,CAACwC,QAAQ,CAACqB,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACrJ,KAAK,CAACsJ,MAAM,CAAC,CAACvC,OAAO,CAAC,CAAC,EAAE;UACnDpG,cAAc,CAAC6G,MAAM,CAACjC,cAAc,EAAEwB,OAAO,CAAC;UAC9CpG,cAAc,CAAC8G,GAAG,CAACL,eAAe,EAAEL,OAAO,CAAC;QAC9C;MACF;MACA,OAAOpG,cAAc,CAACgH,IAAI,CAACP,eAAe,CAAC,GAAG,CAAC,GAC7CrH,MAAM,CAACwJ,OAAO,CACZxJ,MAAM,CAAC6H,MAAM,CAACC,cAAc,EAAEnD,aAAa,CAAC,EAC5CoD,aAAa,CACd,GACD/H,MAAM,CAACyJ,IAAI;IACf,CAAC,CAAC,EACFzJ,MAAM,CAAC0J,KAAK,CAAC;MACXC,KAAK,EAAE,CAAC;MACRC,QAAQ,EAAE3I,QAAQ,CAAC4I,MAAM,CAAC,EAAE;KAC7B,CAAC,EACF7J,MAAM,CAACwI,aAAa,CAAEC,KAAK,IACzBzI,MAAM,CAAC8J,QAAQ,CAAC,+BAA+B,EAAErB,KAAK,CAAC,CAACF,IAAI,CAC1DvI,MAAM,CAACwJ,OAAO,CAACO,eAAe,CAAC,CAChC,CACF,EACD/J,MAAM,CAAC4J,QAAQ,CAAC3I,QAAQ,CAAC+I,KAAK,CAAC,IAAI,CAAC,CAAC,EACrChK,MAAM,CAACiJ,aAAa,EACpBjJ,MAAM,CAAC6H,MAAM,CAAClD,aAAa,CAAC,CAC7B;IAED,MAAMsF,iBAAiB,GAAGjK,MAAM,CAACkK,mBAAmB,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC;IACtE,MAAMpC,aAAa,GAAGkC,iBAAiB,CACrCjK,MAAM,CAACkJ,OAAO,CAAC,MACblJ,MAAM,CAACoK,OAAO,CACZ/C,eAAe,EACdL,OAAO,IACNhH,MAAM,CAACoK,OAAO,CACZjF,cAAc,CAACkF,MAAM,EAAE,EACtBC,KAAK,IAAKA,KAAK,CAACC,OAAO,CAACC,cAAc,CAACxD,OAAO,CAAC,EAChD;MAAEyD,WAAW,EAAE,WAAW;MAAEC,OAAO,EAAE;IAAI,CAAE,CAC5C,CAACnC,IAAI,CACJvI,MAAM,CAACwJ,OAAO,CAACvE,YAAY,CAAC0F,OAAO,CAAC1D,WAAW,EAAED,OAAO,CAAC,CAAC,EAC1DhH,MAAM,CAAC4I,YAAY,CAAC;MAAEI,MAAM,EAAE/B;IAAW,CAAE,CAAC,EAC5CjH,MAAM,CAACwJ,OAAO,CAAC,MAAK;MAClB5I,cAAc,CAAC6G,MAAM,CAACJ,eAAe,EAAEL,OAAO,CAAC;IACjD,CAAC,CAAC,CACH,EACH;MAAEyD,WAAW,EAAE,WAAW;MAAEC,OAAO,EAAE;IAAI,CAAE,CAC5C,CACF,CAACnC,IAAI,CAACvI,MAAM,CAACwJ,OAAO,CAAC/D,iBAAiB,CAAC4C,IAAI,CAAC,CAAC,CAC/C;EACH;EAEA,MAAM0B,eAAe,GAAG/J,MAAM,CAACkJ,OAAO,CAAC,MAAK;IAC1CtI,cAAc,CAACgK,KAAK,CAACrF,UAAU,CAAC;IAChC,OAAOE,iBAAiB,CAAC4C,IAAI;EAC/B,CAAC,CAAC;EAEF;EAEA,MAAMwC,UAAU,GAAG,IAAIzF,GAAG,EAAiF;EAC3G,MAAM0F,eAAe,GAAG,OAAOzK,QAAQ,CAAC4D,IAAI,EAAoB;EAChE,MAAM8G,iBAAiB,GAAG/K,MAAM,CAACkK,mBAAmB,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC;EAEtE,MAAMa,iBAAiB,GAA0ChL,MAAM,CAACiL,UAAU,CAChF,WAAUC,IAAI,EAAEC,GAAG,EAAEC,OAAO;IAC1B,MAAMC,UAAU,GAAGD,OAAO,EAAEC,UAAU,IAAI,SAAS;IACnD,MAAMrF,OAAO,GAAG,IAAIsF,kCAAgB,CAAC;MACnCtE,OAAO,EAAEX,UAAU,CAACkF,kBAAQ,CAACtH,IAAI,CAACiH,IAAI,CAAC,EAAEG,UAAU,CAAC;MACpDH;KACD,CAAC;IAEF,IAAIM,GAAG,GAAGX,UAAU,CAACtH,GAAG,CAACyC,OAAO,CAACgB,OAAO,CAAC;IACzC,IAAI,CAACwE,GAAG,EAAE;MACRA,GAAG,GAAG7K,cAAc,CAAC2E,KAAK,EAAE;MAC5BuF,UAAU,CAACrH,GAAG,CAACwC,OAAO,CAACgB,OAAO,EAAEwE,GAAG,CAAC;IACtC;IACA,IAAI7K,cAAc,CAAC2C,GAAG,CAACkI,GAAG,EAAExF,OAAO,CAAC,EAAE;MACpC,OAAO,OAAOhG,MAAM,CAACyL,UAAU,CAAC,cAAcP,IAAI,yBAAyB,CAAC;IAC9E;IAEA,MAAMQ,OAAO,GAAG,OAAO1L,MAAM,CAAC0L,OAAO,EAAS;IAC9C,MAAMC,UAAU,GAAGR,GAAG,CAAC5C,IAAI,CACzBvI,MAAM,CAAC4L,OAAO,CAACtL,QAAQ,CAACuL,qBAAqB,EAAErL,OAAO,CAAC8E,KAAK,EAAE,CAAC,EAC/DtF,MAAM,CAACwJ,OAAO,CAACxJ,MAAM,CAAC8L,KAAK,CAAC,EAC5B9L,MAAM,CAAC+L,MAAM,EACb/L,MAAM,CAACgM,OAAO,CAACN,OAAO,CAAC,EACvB1L,MAAM,CAACiM,KAAK,EACZjM,MAAM,CAACiJ,aAAa,CACG;IACzBtI,cAAc,CAAC6C,GAAG,CAACgI,GAAG,EAAExF,OAAO,EAAE2F,UAAU,CAAC;IAE5C,OAAO3K,MAAM,CAACkL,OAAO,CAACvG,MAAM,EAAE,IAAAwG,8CAAmB,EAAC;MAAEnG;IAAO,CAAE,CAAC,CAAC;IAE/D;IACA,IAAIpF,cAAc,CAAC0C,GAAG,CAACkC,cAAc,EAAEQ,OAAO,CAACgB,OAAO,CAAC,EAAE;MACvD,OAAOhH,MAAM,CAACoM,QAAQ,CAAC,oBAAoB,EAAEpG,OAAO,CAAC;MACrD,OAAO3F,QAAQ,CAAC8K,GAAG,CAACL,eAAe,EAAE9E,OAAO,EAAE2F,UAAU,CAAC;IAC3D;EACF,CAAC,EACDZ,iBAAiB,CAClB;EAED,MAAMjD,cAAc,GAAGiD,iBAAiB,CAAC/K,MAAM,CAACkE,GAAG,CAAC,aAAS;IAC3D,KAAK,MAAM,CAAC8C,OAAO,EAAEwE,GAAG,CAAC,IAAIX,UAAU,EAAE;MACvC,KAAK,MAAM,CAAC7E,OAAO,EAAEmF,GAAG,CAAC,IAAIK,GAAG,EAAE;QAChC,MAAMa,OAAO,GAAGhM,QAAQ,CAACiM,SAAS,CAACxB,eAAe,EAAE9E,OAAO,CAAC;QAC5D,MAAMuG,eAAe,GAAG3L,cAAc,CAAC0C,GAAG,CAACkC,cAAc,EAAEwB,OAAO,CAAC;QACnE,IAAIqF,OAAO,IAAI,CAACE,eAAe,EAAE;UAC/B,OAAOvM,MAAM,CAACoM,QAAQ,CAAC,oBAAoB,EAAEpG,OAAO,CAAC;UACrDwG,kCAAoB,CAAC9E,GAAG,CAAC,OAAO1H,MAAM,CAACyM,OAAO,CAAC;UAC/C,OAAOpM,QAAQ,CAACoH,MAAM,CAACqD,eAAe,EAAE9E,OAAO,CAAC;QAClD,CAAC,MAAM,IAAI,CAACqG,OAAO,IAAIE,eAAe,EAAE;UACtC,OAAOvM,MAAM,CAACoM,QAAQ,CAAC,oBAAoB,EAAEpG,OAAO,CAAC;UACrD,OAAO3F,QAAQ,CAAC8K,GAAG,CAACL,eAAe,EAAE9E,OAAO,EAAEmF,GAAG,CAAC;QACpD;MACF;IACF;EACF,CAAC,CAAC,CAAC;EAEH;EAEA,MAAM/C,gBAAgB,GAAG,OAAOpI,MAAM,CAAC0F,SAAS,CAAC,IAAI,CAAC;EACtD,MAAMgH,oBAAoB,GAAG,IAAAC,kBAAQ,EAACvE,gBAAgB,CAACC,IAAI,CAAC;EAE5D,MAAMuE,eAAe,GAAG5M,MAAM,CAACkK,mBAAmB,CAAC,CAAC,CAAC;EACrD,MAAM2C,mBAAmB,GAAGD,eAAe,CAACzC,WAAW,CAAC,CAAC,CAAC;EAE1D,IAAI2C,uBAAuB,GAAIC,QAAsC,IAAK,IAAI;EAE9E;EACA;EACA,MAAMC,cAAc,GAAG,IAAIC,GAAG,EAAuB;EACrD,MAAMC,iBAAiB,GAAG,IAAID,GAAG,EAA4B;EAE7D,IAAIlI,cAAc,IAAIjE,MAAM,CAACmF,MAAM,CAAC9B,MAAM,CAAC+B,aAAa,CAAC,EAAE;IACzD,MAAMe,WAAW,GAAG9C,MAAM,CAAC+B,aAAa,CAACE,KAAK;IAE9C,OAAOpG,MAAM,CAACkE,GAAG,CAAC,aAAS;MACzB,OAAOlE,MAAM,CAACoM,QAAQ,CAAC,UAAU,CAAC;MAClC,OAAOpM,MAAM,CAACmN,YAAY,CAAC,MAAMnN,MAAM,CAACoM,QAAQ,CAAC,eAAe,CAAC,CAAC;MAElEY,cAAc,CAACpC,KAAK,EAAE;MACtBsC,iBAAiB,CAACtC,KAAK,EAAE;MAEzBkC,uBAAuB,GAAIM,OAAqC,IAAI;QAClE,IAAI,CAACJ,cAAc,CAAC1J,GAAG,CAAC8J,OAAO,CAACC,QAAQ,CAACC,SAAS,CAAC,EAAE;UACnD,OAAO,KAAK;QACd;QACA,MAAMhD,KAAK,GAAGnF,cAAc,CAAC5B,GAAG,CAAC6J,OAAO,CAACC,QAAQ,CAACrH,OAAO,CAACuH,UAAU,CAAC;QACrE,IAAI,CAACjD,KAAK,EAAE,OAAO,IAAI;QACvB,OAAO,CAACA,KAAK,CAACC,OAAO,CAACiD,eAAe,CAACJ,OAAO,EAAE;UAAEK,cAAc,EAAE;QAAI,CAAE,CAAC;MAC1E,CAAC;MAED,OAAO,IAAI,EAAE;QACX;QACA,OAAOrF,gBAAgB,CAACb,KAAK;QAE7B;QACA;QACAa,gBAAgB,CAACZ,WAAW,EAAE;QAE9B;QACA;QACA;QACA,OAAOoF,eAAe,CAACc,IAAI,CAAC,CAAC,CAAC;QAE9B,MAAMC,QAAQ,GAAG,OAAO7I,OAAO,CAAC8I,mBAAmB,CAACpI,cAAc,CAAC;QACnE,MAAMqI,qBAAqB,GAAG,IAAIZ,GAAG,EAAuB;QAC5DC,iBAAiB,CAACxF,GAAG,CAACmG,qBAAqB,CAAC;QAE5C,MAAMC,IAAI,GAAG9N,MAAM,CAACwI,aAAa,CAC/BxI,MAAM,CAACkJ,OAAO,CAAC,MAAK;UAClB,MAAMkE,OAAO,GAAGO,QAAQ,CAACI,KAAK,CAAC;UAC/B,IAAIX,OAAO,CAACY,IAAI,KAAK,iBAAiB,EAAE;YACtC,IAAIhB,cAAc,CAAC1J,GAAG,CAAC8J,OAAO,CAACC,QAAQ,CAACC,SAAS,CAAC,EAAE;cAClD,OAAOtN,MAAM,CAACyJ,IAAI;YACpB;YACAuD,cAAc,CAACtF,GAAG,CAAC0F,OAAO,CAACC,QAAQ,CAACC,SAAS,CAAC;YAC9CO,qBAAqB,CAACnG,GAAG,CAAC0F,OAAO,CAACC,QAAQ,CAACC,SAAS,CAAC;UACvD;UACA,MAAMtH,OAAO,GAAGoH,OAAO,CAACC,QAAQ,CAACrH,OAAO;UACxC,IAAI,CAACpF,cAAc,CAAC0C,GAAG,CAACkC,cAAc,EAAEQ,OAAO,CAACgB,OAAO,CAAC,EAAE;YACxD,OAAOhH,MAAM,CAACyJ,IAAI;UACpB;UACA,MAAMa,KAAK,GAAGnF,cAAc,CAAC5B,GAAG,CAACyC,OAAO,CAACuH,UAAU,CAAC;UACpD,IAAI,CAACjD,KAAK,EAAE;YACV,IAAI8C,OAAO,CAACY,IAAI,KAAK,iBAAiB,EAAE;cACtC,OAAOhO,MAAM,CAACiM,KAAK,CAACmB,OAAO,CAACa,OAAO,CAAC/L,KAAK,CAACgM,gBAAgB,CAACC,UAAU,CAAC;gBACpE3H,EAAE,EAAE/B,YAAY,CAAC2J,UAAU,EAAE;gBAC7Bd,SAAS,EAAEF,OAAO,CAACC,QAAQ,CAACC,SAAS;gBACrCe,MAAM,EAAE,IAAIC,sCAAwB,CAAC;kBAAEtI;gBAAO,CAAE;eACjD,CAAC,CAAC,CAAC;YACN;YACA,OAAOhG,MAAM,CAACyJ,IAAI;UACpB;UAEA,MAAM8E,YAAY,GAAGjE,KAAK,CAACC,OAAO,CAACiD,eAAe,CAACJ,OAAO,CAAC;UAE3D;UACA;UACA,IAAIA,OAAO,CAACY,IAAI,KAAK,kBAAkB,IAAIO,YAAY,EAAE;YACvD,OAAOjE,KAAK,CAACC,OAAO,CAACuD,IAAI,CAACV,OAAO,CAAC;UACpC,CAAC,MAAM,IAAImB,YAAY,EAAE;YACvB,OAAOvO,MAAM,CAACyJ,IAAI;UACpB;UAEA;UACA;UACA,MAAM+E,eAAe,GAAG7N,cAAc,CAAC4C,GAAG,CAACkL,qBAAqB,EAAEzI,OAAO,CAAC;UAC1E,IAAIlF,MAAM,CAACmF,MAAM,CAACuI,eAAe,CAAC,EAAE;YAClCA,eAAe,CAACpI,KAAK,CAACsI,WAAW,CAAChH,GAAG,CAAC0F,OAAO,CAACC,QAAQ,CAACC,SAAS,CAAC;YACjE,IAAIF,OAAO,CAACC,QAAQ,CAACW,IAAI,KAAK,WAAW,EAAE;cACzCQ,eAAe,CAACpI,KAAK,CAACuI,UAAU,CAACnL,GAAG,CAAC4J,OAAO,CAACC,QAAQ,CAACC,SAAS,EAAEF,OAAmC,CAAC;YACvG;YACA,OAAOpN,MAAM,CAACyJ,IAAI;UACpB;UACA,OAAOa,KAAK,CAACC,OAAO,CAACuD,IAAI,CAACV,OAAO,CAAC;QACpC,CAAC,CAAC,EACD3E,KAAK,IAAI;UACR,MAAM2E,OAAO,GAAGO,QAAQ,CAACI,KAAK,CAAC;UAC/B,MAAMa,KAAK,GAAG/O,KAAK,CAACgP,aAAa,CAACpG,KAAK,CAAC;UACxC;UACA,IAAI3H,MAAM,CAACgO,MAAM,CAACF,KAAK,CAAC,EAAE;YACxB,OAAO9J,OAAO,CAACiK,SAAS,CAAC7M,KAAK,CAACgM,gBAAgB,CAACC,UAAU,CAAC;cACzD3H,EAAE,EAAE/B,YAAY,CAAC2J,UAAU,EAAE;cAC7Bd,SAAS,EAAEF,OAAO,CAACC,QAAQ,CAACC,SAAS;cACrCe,MAAM,EAAExO,KAAK,CAACmP,MAAM,CAACvG,KAAK;aAC3B,CAAC,CAAC;UACL;UACA,IAAImG,KAAK,CAACxI,KAAK,CAAC4H,IAAI,KAAK,aAAa,EAAE;YACtC;YACA,OAAOiB,uBAAuB,CAAC7B,OAAuC,CAAC;UACzE;UACA,OAAOpN,MAAM,CAACyJ,IAAI;QACpB,CAAC,CACF;QAED,IAAIsE,KAAK,GAAG,CAAC;QACb,OAAO/N,MAAM,CAACkP,SAAS,CAAC;UACtBC,KAAK,EAAEA,CAAA,KAAMpB,KAAK,GAAGJ,QAAQ,CAACxF,MAAM;UACpCiH,IAAI,EAAEA,CAAA,KAAMrB,KAAK,EAAE;UACnBsB,IAAI,EAAE,IAAA1C,kBAAQ,EAACmB,IAAI;SACpB,CAAC;QAEF;QACA,OAAOlB,eAAe,CAACjC,OAAO,CAAC,CAAC,CAAC;QAEjC,OAAOuC,iBAAiB,CAACtF,IAAI,GAAG,EAAE,EAAE;UAClC,MAAM0H,MAAM,GAAG7O,QAAQ,CAAC8O,UAAU,CAACrC,iBAAiB,CAAC;UACrDA,iBAAiB,CAACsC,MAAM,CAACF,MAAM,CAAC;UAChC,KAAK,MAAM9I,EAAE,IAAI8I,MAAM,EAAE;YACvBtC,cAAc,CAACwC,MAAM,CAAChJ,EAAE,CAAC;UAC3B;QACF;MACF;IACF,CAAC,CAAC,CAAC+B,IAAI,CACLvI,MAAM,CAAC+L,MAAM,EACb/L,MAAM,CAACyP,QAAQ,CAAC7C,eAAe,CAACxF,UAAU,CAAC,EAC3CpH,MAAM,CAACwI,aAAa,CAAEC,KAAK,IAAKzI,MAAM,CAAC0I,UAAU,CAAC,sCAAsC,EAAED,KAAK,CAAC,CAAC,EACjGzI,MAAM,CAAC0P,MAAM,CAACzO,QAAQ,CAAC4I,MAAM,CAAC1F,MAAM,CAACwL,yBAAyB,CAAC,CAAC,EAChE3P,MAAM,CAAC4I,YAAY,CAAC;MAClBC,OAAO,EAAE,iBAAiB;MAC1BC,MAAM,EAAE,UAAU;MAClBC,KAAK,EAAE,mBAAmB;MAC1BC,MAAM,EAAE/B;KACT,CAAC,EACFjH,MAAM,CAACiJ,aAAa,EACpBjJ,MAAM,CAAC6H,MAAM,CAAClD,aAAa,CAAC,CAC7B;IAED;IACA,OAAOyD,gBAAgB,CAACC,IAAI,CAACE,IAAI,CAC/BvI,MAAM,CAAC4P,KAAK,CAACzL,MAAM,CAACwL,yBAAyB,CAAC,EAC9C3P,MAAM,CAAC2I,OAAO,EACd3I,MAAM,CAACiJ,aAAa,EACpBjJ,MAAM,CAAC6H,MAAM,CAAClD,aAAa,CAAC,CAC7B;IAED;IACA,MAAM8J,qBAAqB,GAAG9N,cAAc,CAAC2E,KAAK,EAG9C;IACJ,MAAM2J,uBAAuB,GAAIY,mBAAiD,IAAI;MACpF,MAAM7J,OAAO,GAAG6J,mBAAmB,CAACxC,QAAQ,CAACrH,OAAO;MACpD,MAAMwI,eAAe,GAAG7N,cAAc,CAAC4C,GAAG,CAACkL,qBAAqB,EAAEzI,OAAO,CAAC;MAC1E,IAAIlF,MAAM,CAACmF,MAAM,CAACuI,eAAe,CAAC,EAAE;QAClCA,eAAe,CAACpI,KAAK,CAACsI,WAAW,CAAChH,GAAG,CAACmI,mBAAmB,CAACxC,QAAQ,CAACC,SAAS,CAAC;QAC7E,OAAOtN,MAAM,CAACyJ,IAAI;MACpB;MACA9I,cAAc,CAAC6C,GAAG,CAACiL,qBAAqB,EAAEzI,OAAO,EAAE;QACjD0I,WAAW,EAAE,IAAIzB,GAAG,CAAC,CAAC4C,mBAAmB,CAACxC,QAAQ,CAACC,SAAS,CAAC,CAAC;QAC9DqB,UAAU,EAAE,IAAIvJ,GAAG;OACpB,CAAC;MACF,OAAO0K,2BAA2B,CAAC9J,OAAO,CAAC;IAC7C,CAAC;IACD,MAAM8J,2BAA2B,GAAG9P,MAAM,CAACiL,UAAU,CACnD,WAAUjF,OAAsB;MAC9B,MAAMsE,KAAK,GAAGnF,cAAc,CAAC5B,GAAG,CAACyC,OAAO,CAACuH,UAAU,CAAC;MACpD,IAAI,CAACjD,KAAK,EAAE;QACV3J,cAAc,CAAC8G,MAAM,CAACgH,qBAAqB,EAAEzI,OAAO,CAAC;QACrD;MACF;MAEA,MAAMwI,eAAe,GAAG1N,MAAM,CAACiP,UAAU,CAACpP,cAAc,CAAC4C,GAAG,CAACkL,qBAAqB,EAAEzI,OAAO,CAAC,CAAC;MAC7F,IAAIgK,IAAI,GAAG,KAAK;MAEhB,OAAO,CAACA,IAAI,EAAE;QACZ;QACA,IAAI,CAACpP,cAAc,CAAC0C,GAAG,CAACkC,cAAc,EAAEQ,OAAO,CAACgB,OAAO,CAAC,EAAE;UACxD;QACF;QAEA;QACA,MAAMiJ,UAAU,GAAGrQ,GAAG,CAAC0F,KAAK,EAAuB;QACnD,KAAK,MAAMkB,EAAE,IAAIgI,eAAe,CAACE,WAAW,EAAE;UAC5C,IAAIuB,UAAU,CAAC9H,MAAM,KAAK,IAAI,EAAE;UAChC8H,UAAU,CAACC,IAAI,CAAC1J,EAAE,CAAC;QACrB;QAEA,MAAMmH,QAAQ,GAAG,OAAO7I,OAAO,CAACqL,uBAAuB,CAACF,UAAU,CAAC;QAEnE;QACA,IAAItC,QAAQ,CAACxF,MAAM,KAAK,CAAC,EAAE;UACzB,OAAOnI,MAAM,CAACsI,KAAK,CAACnE,MAAM,CAACwL,yBAAyB,CAAC;UACrD;QACF;QAEA,IAAI5B,KAAK,GAAG,CAAC;QAEb,MAAMqC,aAAa,GAGfpQ,MAAM,CAACqQ,SAAS,CAClBrQ,MAAM,CAACkJ,OAAO,CAAC,MAAK;UAClB,IAAI,CAACtI,cAAc,CAAC0C,GAAG,CAACkC,cAAc,EAAEQ,OAAO,CAACgB,OAAO,CAAC,EAAE;YACxD,OAAOhH,MAAM,CAACsQ,IAAI,CAAC,IAAIC,uCAAyB,CAAC;cAAEvK;YAAO,CAAE,CAAC,CAAC;UAChE;UAEA,MAAMoH,OAAO,GAAGO,QAAQ,CAACI,KAAK,CAAC;UAC/B;UACA,MAAMyC,SAAS,GAAGpD,OAAO,CAACY,IAAI,KAAK,iBAAiB,IAClDQ,eAAe,CAACG,UAAU,CAACpL,GAAG,CAAC6J,OAAO,CAACC,QAAQ,CAACC,SAAS,CAAC;UAC5D,OAAOkD,SAAS,GACdxQ,MAAM,CAACoJ,OAAO,CAACkB,KAAK,CAACC,OAAO,CAACuD,IAAI,CAACV,OAAO,CAAC,EAAE,MAAK;YAC/CoB,eAAe,CAACG,UAAU,CAACa,MAAM,CAACpC,OAAO,CAACC,QAAQ,CAACC,SAAS,CAAC;YAC7D,OAAOhD,KAAK,CAACC,OAAO,CAACuD,IAAI,CAAC0C,SAAS,CAAC;UACtC,CAAC,CAAC,GACFlG,KAAK,CAACC,OAAO,CAACuD,IAAI,CAACV,OAAO,CAAC;QAC/B,CAAC,CAAC,EACF;UACEqD,WAAW,EAAEA,CAAA,KAAMzQ,MAAM,CAAC4P,KAAK,CAACQ,aAAa,EAAEjM,MAAM,CAACuM,iBAAiB,CAAC;UACxEC,wBAAwB,EAAEA,CAAA,KAAM3Q,MAAM,CAACyJ;SACxC,CACF;QAED,OAAOzJ,MAAM,CAACkP,SAAS,CAAC;UACtBC,KAAK,EAAEA,CAAA,KAAMpB,KAAK,GAAGJ,QAAQ,CAACxF,MAAM;UACpCkH,IAAI,EAAE,IAAA1C,kBAAQ,EAACyD,aAAa,CAAC;UAC7BhB,IAAI,EAAEA,CAAA,KAAMrB,KAAK;SAClB,CAAC;QAEF,KAAK,MAAMvH,EAAE,IAAIyJ,UAAU,EAAE;UAC3BzB,eAAe,CAACE,WAAW,CAACc,MAAM,CAAChJ,EAAE,CAAC;QACxC;QACA,IAAIgI,eAAe,CAACE,WAAW,CAAC9G,IAAI,GAAG,CAAC,EAAE;QAE1C;QACA,OAAOiF,mBAAmB,CAAC7M,MAAM,CAAC4Q,IAAI,CAAC,MAAK;UAC1C,IAAIpC,eAAe,CAACE,WAAW,CAAC9G,IAAI,KAAK,CAAC,EAAE;YAC1CjH,cAAc,CAAC8G,MAAM,CAACgH,qBAAqB,EAAEzI,OAAO,CAAC;YACrDgK,IAAI,GAAG,IAAI;UACb;QACF,CAAC,CAAC,CAAC;MACL;IACF,CAAC,EACDhQ,MAAM,CAAC0J,KAAK,CAAC;MACXyF,KAAK,EAAGxM,CAAC,IAAKA,CAAC,CAACqL,IAAI,KAAK,kBAAkB;MAC3CpE,QAAQ,EAAE3I,QAAQ,CAAC4I,MAAM,CAAC1F,MAAM,CAACwL,yBAAyB;KAC3D,CAAC,EACF3P,MAAM,CAACwI,aAAa,CAAEC,KAAK,IAAKzI,MAAM,CAAC8J,QAAQ,CAAC,uCAAuC,EAAErB,KAAK,CAAC,CAAC,EAChG,CAACoI,MAAM,EAAE7K,OAAO,KACdhG,MAAM,CAAC4I,YAAY,CAACiI,MAAM,EAAE;MAC1BhI,OAAO,EAAE,iBAAiB;MAC1BC,MAAM,EAAE,UAAU;MAClBC,KAAK,EAAE,+BAA+B;MACtCC,MAAM,EAAE/B,WAAW;MACnB6J,MAAM,EAAE9K;KACT,CAAC,EACJ,CAAC6K,MAAM,EAAE7K,OAAO,KACdhG,MAAM,CAACyP,QAAQ,CACboB,MAAM,EACN7Q,MAAM,CAAC4Q,IAAI,CAAC,MAAMjQ,cAAc,CAAC8G,MAAM,CAACgH,qBAAqB,EAAEzI,OAAO,CAAC,CAAC,CACzE,EACHhG,MAAM,CAACiJ,aAAa,EACpBjJ,MAAM,CAAC6H,MAAM,CAAClD,aAAa,CAAC,CAC7B;EACH;EAEA;EAEA,MAAMoM,SAAS,GACb3D,OAAU,IASVpN,MAAM,CAACkJ,OAAO,CAAC,MAAK;IAClB,MAAMlD,OAAO,GAAGoH,OAAO,CAACC,QAAQ,CAACrH,OAAO;IACxC,IAAI,CAACe,qBAAqB,CAACf,OAAO,CAAC,EAAE;MACnC,OAAOhG,MAAM,CAACsQ,IAAI,CAAC,IAAIC,uCAAyB,CAAC;QAAEvK;MAAO,CAAE,CAAC,CAAC;IAChE;IACA,MAAMsE,KAAK,GAAGnF,cAAc,CAAC5B,GAAG,CAACyC,OAAO,CAACuH,UAAU,CAAC;IACpD,IAAI,CAACjD,KAAK,EAAE;MACV,OAAOtK,MAAM,CAACsQ,IAAI,CAAC,IAAIhC,sCAAwB,CAAC;QAAEtI;MAAO,CAAE,CAAC,CAAC;IAC/D;IAEA,OAAOoH,OAAO,CAACY,IAAI,KAAK,iBAAiB,IAAIZ,OAAO,CAACY,IAAI,KAAK,kBAAkB,GAC9E1D,KAAK,CAACC,OAAO,CAACuD,IAAI,CAACV,OAAO,CAAC,GAC3B/I,OAAO,CAAC0M,SAAS,CAAC;MAChB3D,OAAO;MACPU,IAAI,EAAExD,KAAK,CAACC,OAAO,CAACwG,SAAS;MAC7BC,2BAA2B,EAAE7M,MAAM,CAAC6M;KACrC,CAAQ;EACb,CAAC,CAAC;EAEJ,MAAMC,WAAW,GAAGA,CAClB7D,OAAU,EACV1C,OAAgB,KAEhB1K,MAAM,CAACkJ,OAAO,CACZ,MAMI;IACF,MAAMlD,OAAO,GAAGoH,OAAO,CAACC,QAAQ,CAACrH,OAAO;IACxC,IAAI,CAACe,qBAAqB,CAACf,OAAO,CAAC,EAAE;MACnC,OAAOhG,MAAM,CAACsQ,IAAI,CAAC,IAAIC,uCAAyB,CAAC;QAAEvK;MAAO,CAAE,CAAC,CAAC;IAChE,CAAC,MAAM,IAAI,CAACb,cAAc,CAAC7B,GAAG,CAAC0C,OAAO,CAACuH,UAAU,CAAC,EAAE;MAClD,OAAOvN,MAAM,CAACsQ,IAAI,CAAC,IAAIhC,sCAAwB,CAAC;QAAEtI;MAAO,CAAE,CAAC,CAAC;IAC/D;IAEA,MAAMkL,MAAM,GAAGnM,cAAc,GACzB2H,oBAAoB,GACpB,MAAM1M,MAAM,CAACyL,UAAU,CAAC,2CAA2C,CAAC;IAExE,IAAI2B,OAAO,CAACY,IAAI,KAAK,iBAAiB,IAAIZ,OAAO,CAACY,IAAI,KAAK,kBAAkB,EAAE;MAC7E,IAAIZ,OAAO,CAACY,IAAI,KAAK,iBAAiB,IAAIlB,uBAAuB,CAACM,OAAO,CAAC,EAAE;QAC1E,OAAOpN,MAAM,CAACsQ,IAAI,CAAC,IAAIK,sCAAwB,CAAC;UAAE3K,OAAO;UAAEmL,UAAU,EAAE/D,OAAO,CAACC,QAAQ,CAACC;QAAS,CAAE,CAAC,CAAC;MACvG;MACA,OAAO4D,MAAM,EAAE;IACjB;IAEA,OAAO7M,OAAO,CAAC4M,WAAW,CAAC;MAAE7D,OAAO;MAAE8D,MAAM;MAAExG;IAAO,CAAE,CAAQ;EACjE,CAAC,CACF;EAEH,MAAM0G,gBAAgB,GAAGrQ,SAAS,CAACsQ,EAAE,CAACC,+BAAiB,CAACC,EAAE,EAAEhB,uCAAyB,CAACgB,EAAE,CAAC;EACzF,SAASC,YAAYA,CACnBpE,OAA8B,EAC9B1C,OAAgB,EAChB+G,OAAgB;IAKhB,OAAOzR,MAAM,CAAC0R,OAAO,CACnB1R,MAAM,CAACkJ,OAAO,CAAC,MAAK;MAClB,MAAMlD,OAAO,GAAGoH,OAAO,CAACC,QAAQ,CAACrH,OAAO;MACxC,MAAM2L,WAAW,GAAGhR,cAAc,CAAC4C,GAAG,CAAC8B,gBAAgB,EAAEW,OAAO,CAACgB,OAAO,CAAC;MACzE,MAAM4K,WAAW,GAAG9R,OAAO,CAACyD,GAAG,CAAC6J,OAAO,CAACyE,GAAG,CAACC,WAAW,EAAEC,wBAAS,CAAC;MACnE,IAAIH,WAAW,IAAI,CAAC7M,cAAc,EAAE;QAClC,OAAO/E,MAAM,CAACyL,UAAU,CAAC,kEAAkE,CAAC;MAC9F;MACA,MAAMuG,aAAa,GAAGlR,MAAM,CAACmF,MAAM,CAAC0L,WAAW,CAAC,IAAI5L,aAAa,CAAC4L,WAAW,CAACvL,KAAK,CAAC;MACpF,IAAIwL,WAAW,EAAE;QACf,OAAOI,aAAa,GAChBf,WAAW,CAAC7D,OAAO,EAAE1C,OAAO,CAAC,GAC7BrG,OAAO,CAAC6M,MAAM,CAAC;UAAElL,OAAO,EAAE2L,WAAW;UAAEvE,OAAO;UAAE1C;QAAO,CAAE,CAAC;MAChE,CAAC,MAAM,IAAI5J,MAAM,CAACgO,MAAM,CAAC6C,WAAW,CAAC,EAAE;QACrC,OAAO3R,MAAM,CAACsQ,IAAI,CAAC,IAAIC,uCAAyB,CAAC;UAAEvK;QAAO,CAAE,CAAC,CAAC;MAChE;MACA,OAAOgM,aAAa,GAChBjB,SAAS,CAAC3D,OAAO,CAAC,GAClB/I,OAAO,CAACyJ,IAAI,CAAC;QAAE9H,OAAO,EAAE2L,WAAW,CAACvL,KAAK;QAAEgH;MAAO,CAAE,CAAC;IAC3D,CAAC,CAAC,EACFgE,gBAAgB,EACfxC,KAAK,IAAI;MACR,IAAI6C,OAAO,KAAK,CAAC,EAAE;QACjB,OAAOzR,MAAM,CAACiS,GAAG,CAACrD,KAAK,CAAC;MAC1B;MACA,OAAO5O,MAAM,CAAC4P,KAAK,CAAC4B,YAAY,CAACpE,OAAO,EAAE1C,OAAO,EAAE+G,OAAO,IAAIA,OAAO,GAAG,CAAC,CAAC,EAAEtN,MAAM,CAACuM,iBAAiB,CAAC;IACvG,CAAC,CACF;EACH;EAEA,MAAMwB,KAAK,GAA8BlS,MAAM,CAACiL,UAAU,CACxD,WAAUqC,SAAS;IACjB,OAAOxI,OAAO,CAACqN,YAAY,CAAC7E,SAAS,CAAC;IACtCN,cAAc,CAACwC,MAAM,CAAClC,SAAS,CAAC;EAClC,CAAC,EACDtN,MAAM,CAACoS,UAAU,CAAC;IAChBC,SAAS,EAAEA,CAAA,KAAM,IAAI;IACrBC,SAAS,EAAEA,CAAA,KAAM;GAClB,CAAC,CACH;EAED;EAEA,MAAMC,wBAAwB,GAAG,OAAOnS,WAAW,CAAC6D,IAAI,EAAE,CAACsE,IAAI,CAC7DrH,KAAK,CAACsR,MAAM,CAAC7N,aAAa,CAAC,CAC5B;EACD,MAAM8N,wBAAwB,GAAGrS,WAAW,CAAC+K,GAAG,CAC9CoH,wBAAwB,EACxBvS,MAAM,CAACoJ,OAAO,CAACpJ,MAAM,CAACsI,KAAK,CAACnE,MAAM,CAACuO,8BAA8B,CAAC,EAAE,MAAK;IACvE/R,cAAc,CAACiK,KAAK,CAACvF,gBAAgB,CAAC;IACtC,OAAO0E,eAAe;EACxB,CAAC,CAAC,EACF;IAAE4I,aAAa,EAAE;EAAI,CAAE,CACxB;EACD,MAAMC,uBAAuB,GAAGxS,WAAW,CAACwK,KAAK,CAAC2H,wBAAwB,CAAC;EAE3E;EACA;EACA,OAAOvS,MAAM,CAACkE,GAAG,CAAC,aAAS;IACzB,OAAOlE,MAAM,CAACoM,QAAQ,CAAC,gCAAgC,CAAC;IACxD,IAAItL,MAAM,CAACmF,MAAM,CAAC9B,MAAM,CAAC+B,aAAa,CAAC,EAAE;MACvC,MAAM2M,SAAS,GAAG,OAAOtO,YAAY,CAACuO,QAAQ,CAAC3O,MAAM,CAAC+B,aAAa,CAACE,KAAK,EAAEjC,MAAM,CAAC4O,WAAW,CAAC;MAC9F,OAAOtO,YAAY,CAACuO,YAAY,CAACH,SAAS,CAAC;IAC7C;IAEA,OAAOD,uBAAuB;IAE9B,OAAO5S,MAAM,CAACoM,QAAQ,CAAC,gCAAgC,CAAC;IACxD,MAAM6G,OAAO,GAAG,OAAO1O,YAAY,CAAC2O,cAAc,CAAC/O,MAAM,CAAC+B,aAAa,CAAC;IACxE,MAAMiN,YAAY,GAAG,OAAOpT,QAAQ,CAACkE,IAAI,EAA0C;IAEnF,MAAMmP,WAAW,GAAG,OAAOpT,MAAM,CAACkE,GAAG,CAAC,aAAS;MAC7C,OAAO,IAAI,EAAE;QACX,MAAM,CAACyB,MAAM,EAAEqK,IAAI,CAAC,GAAG,OAAOiD,OAAO,CAACI,OAAO;QAC7C,IAAIrD,IAAI,EAAE;QACV,KAAK,MAAMsD,KAAK,IAAI3N,MAAM,EAAE;UAC1B,OAAO3F,MAAM,CAACoM,QAAQ,CAAC,yBAAyB,EAAEkH,KAAK,CAAC;UAExD,QAAQA,KAAK,CAACtF,IAAI;YAChB,KAAK,eAAe;cAAE;gBACpB,OAAOjO,QAAQ,CAACiQ,IAAI,CAACmD,YAAY,EAAEjT,IAAI,CAACuJ,IAAI,CAAC;gBAC7C;cACF;YACA,KAAK,gBAAgB;cAAE;gBACrB,KAAK,MAAM8J,KAAK,IAAID,KAAK,CAACE,MAAM,EAAE;kBAChC7S,cAAc,CAAC6C,GAAG,CAAC6B,gBAAgB,EAAEkO,KAAK,EAAED,KAAK,CAACtN,OAAO,CAAC;gBAC5D;gBACA,IAAI,CAACnF,UAAU,CAAC0C,GAAG,CAACsB,UAAU,CAAC,IAAIkB,aAAa,CAACuN,KAAK,CAACtN,OAAO,CAAC,EAAE;kBAC/D,KAAK,MAAMgB,OAAO,IAAIsM,KAAK,CAACE,MAAM,EAAE;oBAClC,IAAI5S,cAAc,CAAC0C,GAAG,CAACiC,UAAU,EAAEyB,OAAO,CAAC,EAAE;oBAC7CpG,cAAc,CAAC8G,GAAG,CAACnC,UAAU,EAAEyB,OAAO,CAAC;kBACzC;kBACA,OAAOvB,iBAAiB,CAAC4C,IAAI;gBAC/B;gBACA;cACF;YACA,KAAK,kBAAkB;cAAE;gBACvB,KAAK,MAAMkL,KAAK,IAAID,KAAK,CAACE,MAAM,EAAE;kBAChC7S,cAAc,CAAC8G,MAAM,CAACpC,gBAAgB,EAAEkO,KAAK,CAAC;gBAChD;gBACA,IAAIxN,aAAa,CAACuN,KAAK,CAACtN,OAAO,CAAC,EAAE;kBAChC,KAAK,MAAMuN,KAAK,IAAID,KAAK,CAACE,MAAM,EAAE;oBAChC5S,cAAc,CAAC6G,MAAM,CAAClC,UAAU,EAAEgO,KAAK,CAAC;kBAC1C;kBACA,OAAO9N,iBAAiB,CAAC4C,IAAI;gBAC/B;gBACA;cACF;YACA,KAAK,oBAAoB;cAAE;gBACzB,IAAI,CAACtC,aAAa,CAACuN,KAAK,CAACtN,OAAO,CAAC,EAAE;gBACnC,OAAO,OAAOhG,MAAM,CAACsQ,IAAI,CAAC,IAAIjP,YAAY,CAACoS,mBAAmB,CAAC;kBAAEzN,OAAO,EAAEsN,KAAK,CAACtN;gBAAO,CAAE,CAAC,CAAC;cAC7F;UACF;QACF;MACF;IACF,CAAC,CAAC,CAACuC,IAAI,CACLvI,MAAM,CAAC0T,YAAY,CAACP,YAAY,CAAC,EACjCnT,MAAM,CAAC2T,QAAQ,CAAC3T,MAAM,CAACyL,UAAU,CAAC,iCAAiC,CAAC,CAAC,EACrEzL,MAAM,CAAC4T,UAAU,CAClB;IAED;IACA,OAAO7T,QAAQ,CAACwH,KAAK,CAAC4L,YAAY,CAAC;IAEnC;IACA,MAAMU,SAAS,GAAG,OAAOC,eAAe,CAACvL,IAAI,CAC3CvI,MAAM,CAACwJ,OAAO,CAACxJ,MAAM,CAACsI,KAAK,CAACnE,MAAM,CAAC4P,0BAA0B,CAAC,CAAC,EAC/D/T,MAAM,CAAC2I,OAAO,EACd3I,MAAM,CAAC4T,UAAU,CAClB;IAED,OAAO,OAAOzT,KAAK,CAAC6T,OAAO,CAAC,CAACZ,WAAW,EAAES,SAAS,CAAC,CAAC;EACvD,CAAC,CAAC,CAACtL,IAAI,CACLvI,MAAM,CAAC+L,MAAM,EACb/L,MAAM,CAACwI,aAAa,CAAEC,KAAK,IAAKzI,MAAM,CAACoM,QAAQ,CAAC3D,KAAK,CAAC,CAAC,EACvDzI,MAAM,CAAC2T,QAAQ,CAAClB,wBAAwB,CAAC,EACzCzS,MAAM,CAAC0P,MAAM,CACXzO,QAAQ,CAACgT,WAAW,CAAC,IAAI,CAAC,CAAC1L,IAAI,CAC7BtH,QAAQ,CAACiT,KAAK,CAACjT,QAAQ,CAAC4I,MAAM,CAAC,MAAM,CAAC,CAAC,CACxC,CACF,EACD7J,MAAM,CAAC4I,YAAY,CAAC;IAClBC,OAAO,EAAE,iBAAiB;IAC1BC,MAAM,EAAE,UAAU;IAClBC,KAAK,EAAE,mBAAmB;IAC1BC,MAAM,EAAE7E,MAAM,CAAC+B;GAChB,CAAC,EACFlG,MAAM,CAACiJ,aAAa,EACpBjJ,MAAM,CAAC6H,MAAM,CAAClD,aAAa,CAAC,CAC7B;EAED,MAAMmP,eAAe,GAAG9T,MAAM,CAACkE,GAAG,CAAC,aAAS;IAC1C,MAAMiQ,WAAW,GAAG,OAAO5P,YAAY,CAAC6P,cAAc;IACtD,OAAOpU,MAAM,CAACoM,QAAQ,CAAC,4BAA4B,EAAE+H,WAAW,CAAC;IAEjE,KAAK,MAAM,CAACnN,OAAO,EAAEgC,MAAM,CAAC,IAAImL,WAAW,EAAE;MAC3C,IAAIrT,MAAM,CAACgO,MAAM,CAAC9F,MAAM,CAAC,EAAE;QACzBrI,cAAc,CAAC8G,MAAM,CAACpC,gBAAgB,EAAE2B,OAAO,CAAC;QAChDpG,cAAc,CAAC6G,MAAM,CAAClC,UAAU,EAAEyB,OAAO,CAAC;QAC1C;MACF;MAEArG,cAAc,CAAC6C,GAAG,CAAC6B,gBAAgB,EAAE2B,OAAO,EAAEgC,MAAM,CAAC5C,KAAK,CAAC;MAE3D,IAAI,CAACL,aAAa,CAACiD,MAAM,CAAC5C,KAAK,CAAC,EAAE;QAChCxF,cAAc,CAAC6G,MAAM,CAAClC,UAAU,EAAEyB,OAAO,CAAC;QAC1C;MACF;MACA,IAAInG,UAAU,CAAC0C,GAAG,CAACsB,UAAU,CAAC,IAAIjE,cAAc,CAAC0C,GAAG,CAACiC,UAAU,EAAEyB,OAAO,CAAC,EAAE;QACzE;MACF;MACApG,cAAc,CAAC8G,GAAG,CAACnC,UAAU,EAAEyB,OAAO,CAAC;IACzC;IAEA,OAAOvB,iBAAiB,CAAC4C,IAAI;EAC/B,CAAC,CAAC;EASF,MAAMgM,cAAc,GAAG,IAAIjP,GAAG,EAA2C;EAEzE,MAAMkP,OAAO,GAOT,OAAOC,wBAAW,CAACtQ,IAAI,CAACjE,MAAM,CAACiL,UAAU,CAAC,WAAU6F,MAA2B;IACjF,MAAM0D,MAAM,GAAG,OAAOhV,SAAS,CAACiV,mBAAmB,CAAC3D,MAAM,CAAC4D,QAAQ,EAAE;MACnEC,UAAU,EAAE,GAAG7D,MAAM,CAAC8D,IAAI,SAAS;MACnCC,cAAc,EAAE,CAAC/U,OAAO,CAACyD,GAAG,CAACuN,MAAM,CAAC4D,QAAQ,CAAC5C,WAAW,EAAEvQ,aAAa,CAACuT,oBAAoB,CAAC;MAC7FC,WAAW,EAAE,IAAI;MACjBC,iBAAiB,EAAEA,CAAA,KAAM,IAAAC,qBAAS,EAACxQ,YAAY,CAAC2J,UAAU,EAAE,CAAC;MAC7D8G,OAAO,EAAE,IAAI;MACbC,YAAYA,CAAC/J,OAAO;QAIlB,MAAMpF,OAAO,GAAGlG,OAAO,CAACsV,SAAS,CAAChK,OAAO,CAACM,OAAO,EAAE2J,gBAAgB,CAAC;QACpE,QAAQjK,OAAO,CAACgC,OAAO,CAACY,IAAI;UAC1B,KAAK,SAAS;YAAE;cACd,MAAMjF,KAAK,GAAGjI,MAAM,CAACiP,UAAU,CAAC5P,KAAK,CAACmV,eAAe,EAAE,CAAC;cACxD,MAAM9O,EAAE,GAAG9D,SAAS,CAACA,SAAS,CAAC0I,OAAO,CAACgC,OAAO,CAAC5G,EAAE,CAAC;cAClD,MAAMqL,GAAG,GAAGf,MAAM,CAAC4D,QAAQ,CAACa,QAAQ,CAAChS,GAAG,CAAC6H,OAAO,CAACgC,OAAO,CAACoI,GAAG,CAAE;cAC9D,IAAIvH,OAAyD;cAC7D,IAAI,CAAC7C,OAAO,CAACV,OAAO,EAAE;gBACpB,MAAM+K,KAAK,GAAuB;kBAChC5D,GAAG,EAAEA,GAAU;kBACfnG,OAAO,EAAE3C,KAAK,CAAC2M;iBAChB;gBACDrB,cAAc,CAAC7Q,GAAG,CAACgD,EAAE,EAAEiP,KAAK,CAAC;gBAC7BxH,OAAO,GAAG0H,iBAAiB,CAACF,KAAK,EAAEjB,MAAM,CAACoB,KAAK,CAAC;cAClD,CAAC,MAAM;gBACL3H,OAAO,GAAG4H,oBAAoB;cAChC;cACA,OAAOrE,YAAY,CACjB,IAAIxP,OAAO,CAAC8T,eAAe,CAAC;gBAC1BzI,QAAQ,EAAE3L,QAAQ,CAACqU,WAAW,CAAC;kBAC7BzI,SAAS,EAAE9G,EAAE;kBACbR,OAAO;kBACPwP,GAAG,EAAEpK,OAAO,CAACgC,OAAO,CAACoI,GAAG;kBACxBQ,OAAO,EAAE5K,OAAO,CAACgC,OAAO,CAAC4I,OAAO;kBAChCC,OAAO,EAAE7K,OAAO,CAACgC,OAAO,CAAC6I,OAAO;kBAChCC,OAAO,EAAE9K,OAAO,CAACgC,OAAO,CAAC8I,OAAO;kBAChCC,MAAM,EAAE/K,OAAO,CAACgC,OAAO,CAAC+I,MAAM;kBAC9BC,OAAO,EAAEhL,OAAO,CAACgC,OAAO,CAACgJ;iBAC1B,CAAC;gBACFC,iBAAiB,EAAEvV,MAAM,CAACwV,IAAI,EAAE;gBAChCzE,GAAG;gBACHnG,OAAO,EAAE3C,KAAK,CAAC2M,cAAsC;gBACrDzH;eACD,CAAC,EACF7C,OAAO,CAACV,OAAO,CAChB;YACH;UACA,KAAK,KAAK;YAAE;cACV,MAAM4C,SAAS,GAAG5K,SAAS,CAACA,SAAS,CAAC0I,OAAO,CAACgC,OAAO,CAACE,SAAS,CAAC;cAChE,MAAMmI,KAAK,GAAGpB,cAAc,CAAC9Q,GAAG,CAAC+J,SAAS,CAAC;cAC3C,IAAI,CAACmI,KAAK,EAAE,OAAOzV,MAAM,CAACyJ,IAAI;cAC9B,OAAO+H,YAAY,CACjB,IAAIxP,OAAO,CAACuU,gBAAgB,CAAC;gBAC3BlJ,QAAQ,EAAE,IAAI3L,QAAQ,CAAC8U,QAAQ,CAAC;kBAC9BhQ,EAAE,EAAE/B,YAAY,CAAC2J,UAAU,EAAE;kBAC7BpI,OAAO;kBACPsH,SAAS;kBACTmJ,OAAO,EAAEhB,KAAK,CAACiB;iBAChB,CAAC;gBACF7E,GAAG,EAAE4D,KAAK,CAAC5D;eACZ,CAAC,EACF,KAAK,CACN;YACH;UACA,KAAK,WAAW;YAAE;cAChB,MAAMvE,SAAS,GAAG5K,SAAS,CAACA,SAAS,CAAC0I,OAAO,CAACgC,OAAO,CAACE,SAAS,CAAC;cAChE,MAAMmI,KAAK,GAAGpB,cAAc,CAAC9Q,GAAG,CAAC+J,SAAS,CAAE;cAC5C,IAAI,CAACmI,KAAK,EAAE,OAAOzV,MAAM,CAACyJ,IAAI;cAC9B4K,cAAc,CAAC7E,MAAM,CAAClC,SAAS,CAAC;cAChC,IAAIxN,OAAO,CAACyD,GAAG,CAACkS,KAAK,CAAC5D,GAAG,CAACC,WAAW,EAAE6E,8BAAe,CAAC,EAAE;gBACvD,OAAO3W,MAAM,CAACyJ,IAAI;cACpB;cACA;cACA;cACA,MAAMmN,oBAAoB,GAAG/V,UAAU,CAAC0C,GAAG,CAACsB,UAAU,CAAC,IACrDuG,OAAO,CAACgC,OAAO,CAACyJ,YAAY,CAACxN,IAAI,CAAE7C,EAAE,IAAKgG,kCAAoB,CAAClJ,GAAG,CAACkD,EAAE,CAAC,CAAC;cACzE,IAAIoQ,oBAAoB,IAAI9W,OAAO,CAACyD,GAAG,CAACkS,KAAK,CAAC5D,GAAG,CAACC,WAAW,EAAEC,wBAAS,CAAC,EAAE;gBACzE,OAAO/R,MAAM,CAACyJ,IAAI;cACpB;cACA,OAAOzJ,MAAM,CAACmH,MAAM,CAACqK,YAAY,CAC/B,IAAIxP,OAAO,CAACuU,gBAAgB,CAAC;gBAC3BlJ,QAAQ,EAAE,IAAI3L,QAAQ,CAACoV,SAAS,CAAC;kBAC/BtQ,EAAE,EAAE/B,YAAY,CAAC2J,UAAU,EAAE;kBAC7BpI,OAAO;kBACPsH;iBACD,CAAC;gBACFuE,GAAG,EAAE4D,KAAK,CAAC5D;eACZ,CAAC,EACF,KAAK,EACL,CAAC,CACF,CAAC;YACJ;QACF;QACA,OAAO7R,MAAM,CAACyJ,IAAI;MACpB;KACD,CAAC;IAEF,OAAOvI,KAAK,CAACiM,YAAY,CACvB,OAAOnN,MAAM,CAAC4E,KAAK,EACnB5E,MAAM,CAAC+W,gBAAgB,CAAEhO,KAAK,IAAI;MAChCyD,kCAAoB,CAAC9E,GAAG,CAACqB,KAAK,CAACvC,EAAE,EAAE,CAAC;MACpC,OAAOxG,MAAM,CAACyJ,IAAI;IACpB,CAAC,CAAC,CACH;IAED,OAAQnD,QAAgB,IAAI;MAC1B,MAAME,EAAE,GAAG+E,kBAAQ,CAACtH,IAAI,CAACqC,QAAQ,CAAC;MAClC,MAAMN,OAAO,GAAGqP,gBAAgB,CAAC3J,OAAO,CAACsL,4BAAa,CAAC/S,IAAI,CAAC;QAC1D+C,OAAO,EAAEX,UAAU,CAACG,EAAE,EAAEsK,MAAM,CAACmG,aAAa,CAAC3Q,QAAoB,CAAC,CAAC;QACnEA,QAAQ,EAAEE,EAAE;QACZ+G,UAAU,EAAEuD,MAAM,CAAC8D;OACpB,CAAC,CAAC;MACH,MAAMsC,QAAQ,GAAG,SAAAA,CAAS1B,GAAW,EAAEQ,OAAY,EAAE5K,OAEpD;QACC,MAAMM,OAAO,GAAGN,OAAO,EAAEM,OAAO,GAAG5L,OAAO,CAACqX,KAAK,CAAC/L,OAAO,CAACM,OAAO,EAAE1F,OAAO,CAAC,GAAGA,OAAO;QACpF,OAAOwO,MAAM,CAACA,MAAM,CAACgB,GAAG,EAAEQ,OAAO,EAAE;UACjC,GAAG5K,OAAO;UACVM;SACD,CAAC;MACJ,CAAC;MACD,MAAM0L,WAAW,GAAQ,EAAE;MAC3B,OAAO,IAAIC,KAAK,CAACD,WAAW,EAAE;QAC5B9T,GAAGA,CAACgG,CAAC,EAAEgO,CAAC;UACN,OAAOxG,MAAM,CAAC4D,QAAQ,CAACa,QAAQ,CAACjS,GAAG,CAACgU,CAAW,CAAC;QAClD,CAAC;QACD/T,GAAGA,CAACgU,MAAM,EAAED,CAAC;UACX,IAAIA,CAAC,IAAIC,MAAM,EAAE;YACf,OAAOA,MAAM,CAACD,CAAC,CAAC;UAClB,CAAC,MAAM,IAAI,CAACxG,MAAM,CAAC4D,QAAQ,CAACa,QAAQ,CAACjS,GAAG,CAACgU,CAAW,CAAC,EAAE;YACrD,OAAOE,SAAS;UAClB;UACA,OAAOD,MAAM,CAACD,CAAC,CAAC,GAAG,CAACtB,OAAY,EAAE5K,OAAY,KAAK8L,QAAQ,CAACI,CAAW,EAAEtB,OAAO,EAAE5K,OAAO,CAAC;QAC5F;OACD,CAAC;IACJ,CAAC;EACH,CAAC,CAAC,CAAC;EAEH,MAAMqM,UAAU,GAA+C3G,MAA0B,IAIpFwD,OAAO,CAAC/Q,GAAG,CAACuN,MAAM,CAAQ;EAE/B,MAAM+E,oBAAoB,GAAI6B,MAAwB,IAAK1X,MAAM,CAACyJ,IAAI;EAEtE,MAAMkM,iBAAiB,GAAGA,CACxBF,KAAyB,EACzBG,KAAsD,KAEvD+B,KAAuB,IAAI;IAC1B,QAAQA,KAAK,CAAC3J,IAAI;MAChB,KAAK,OAAO;QAAE;UACZyH,KAAK,CAACiB,WAAW,GAAGiB,KAAK,CAACnR,EAAE;UAC5B,OAAOoP,KAAK,CAAC;YACX5H,IAAI,EAAE,OAAO;YACb4J,QAAQ,EAAE,CAAC;YACXtK,SAAS,EAAE,IAAA2H,qBAAS,EAAC0C,KAAK,CAACrK,SAAS,CAAC;YACrCjD,MAAM,EAAEsN,KAAK,CAACtN;WACf,CAAC;QACJ;MACA,KAAK,UAAU;QAAE;UACfgK,cAAc,CAAC7E,MAAM,CAACmI,KAAK,CAACrK,SAAS,CAAC;UACtC,OAAOsI,KAAK,CAAC;YACX5H,IAAI,EAAE,MAAM;YACZ4J,QAAQ,EAAE,CAAC;YACXtK,SAAS,EAAE,IAAA2H,qBAAS,EAAC0C,KAAK,CAACrK,SAAS,CAAC;YACrCuK,IAAI,EAAEF,KAAK,CAACE;WACb,CAAC;QACJ;IACF;EACF,CAAC;EAED;EAEA,MAAMnM,OAAO,GAAG,OAAO1L,MAAM,CAAC0L,OAAO,EAAkB;EACvD,MAAMoM,MAAM,GAAG,OAAOC,0BAAY;EAClC,MAAMC,cAAc,GAAuChY,MAAM,CAACiL,UAAU,CAC1E,WAAU6F,MAAM,EAAEmH,KAAK,EAAE7M,OAAO;IAC9B,IAAItK,MAAM,CAACgO,MAAM,CAAC3K,MAAM,CAAC+B,aAAa,CAAC,IAAIf,cAAc,CAAC7B,GAAG,CAACwN,MAAM,CAAC8D,IAAI,CAAC,EAAE;IAC5E,MAAMhQ,KAAK,GAAG,OAAO1D,KAAK,CAAC+C,IAAI,EAAE;IACjC,MAAMsG,OAAO,GAAG,OAAO5I,aAAa,CAACsC,IAAI,CAAC6M,MAAM,EAAEmH,KAAK,EAAE;MACvD,GAAG7M,OAAO;MACVtG,OAAO;MACPoB,aAAa,EAAE/B,MAAM,CAAC+B,aAAa,CAACE,KAAK;MACzC8R;KACD,CAAC,CAAC3P,IAAI,CACLvI,MAAM,CAACgM,OAAO,CAACN,OAAO,CAACnD,IAAI,CACzBzI,OAAO,CAAC4H,GAAG,CAACqQ,0BAAY,EAAED,MAAM,CAAC,EACjChY,OAAO,CAAC4H,GAAG,CAACxG,KAAK,CAACA,KAAK,EAAE0D,KAAK,CAAC,EAC/B9E,OAAO,CAAC4H,GAAG,CAAChF,SAAS,CAACgC,SAAS,EAAED,YAAY,CAAC,CAC/C,CAAC,CAC2C;IAC/CU,cAAc,CAAC3B,GAAG,CAACsN,MAAM,CAAC8D,IAAI,EAAE;MAC9B9D,MAAM;MACNlM,KAAK;MACL2F;KACD,CAAC;IAEF,OAAOvJ,MAAM,CAACkL,OAAO,CAACvG,MAAM,EAAE,IAAAwS,2CAAgB,EAAC;MAAErH;IAAM,CAAE,CAAC,CAAC;EAC7D,CAAC,CACF;EAED,OAAO5P,KAAK,CAACgG,gBAAgB,CAC3BvC,aAAa,EACZkT,IAAI,IACH7X,MAAM,CAACoK,OAAO,CACZjF,cAAc,CAACkF,MAAM,EAAE,EACtBC,KAAK,IACJtK,MAAM,CAACwI,aAAa,CAACtH,KAAK,CAACkX,KAAK,CAAC9N,KAAK,CAAC1F,KAAK,EAAEiT,IAAI,CAAC,EAAGpP,KAAK,IACzDzI,MAAM,CAAC4I,YAAY,CAAC5I,MAAM,CAAC8J,QAAQ,CAAC,8BAA8B,EAAErB,KAAK,CAAC,EAAE;IAC1EqI,MAAM,EAAExG,KAAK,CAACwG,MAAM,CAAC8D;GACtB,CAAC,CAAC,EACP;IAAEnK,WAAW,EAAE,WAAW;IAAEC,OAAO,EAAE;EAAI,CAAE,CAC5C,CACJ;EAED;EAEA,IAAI5J,MAAM,CAACmF,MAAM,CAAC9B,MAAM,CAAC+B,aAAa,CAAC,EAAE;IACvC,MAAMe,WAAW,GAAG9C,MAAM,CAAC+B,aAAa,CAACE,KAAK;IAC9C;IACA,OAAOlF,KAAK,CAACiM,YAAY,CACvBxI,aAAa,EACb3E,MAAM,CAACkE,GAAG,CAAC,aAAS;MAClB,OAAOlE,MAAM,CAACoM,QAAQ,CAAC,yCAAyC,EAAEnF,WAAW,CAAC;MAC9E,OAAO1C,YAAY,CAAC8T,UAAU,CAACpR,WAAW,CAAC,CAACsB,IAAI,CAC9CvI,MAAM,CAACwI,aAAa,CAAEC,KAAK,IAAKzI,MAAM,CAAC8J,QAAQ,CAAC,6CAA6C,EAAErB,KAAK,CAAC,CAAC,CACvG;MACD,OAAOsB,eAAe;IACxB,CAAC,CAAC,CACH;EACH;EAEA,OAAO7I,KAAK,CAACiM,YAAY,CACvBxI,aAAa,EACb3E,MAAM,CAAC+W,gBAAgB,CAAEhO,KAAK,IAAI;IAChClI,UAAU,CAAC2C,GAAG,CAACqB,UAAU,EAAE,IAAI,CAAC;IAChC2H,kCAAoB,CAAC9E,GAAG,CAACqB,KAAK,CAACvC,EAAE,EAAE,CAAC;IACpC,OAAOxG,MAAM,CAACyJ,IAAI;EACpB,CAAC,CAAC,CACH;EAED,MAAM6O,iBAAiB,GAAGtY,MAAM,CAACkE,GAAG,CAAC,aAAS;IAC5C,IAAIqU,KAAK,GAAG,CAAC;IACb,KAAK,MAAMjO,KAAK,IAAInF,cAAc,CAACkF,MAAM,EAAE,EAAE;MAC3CkO,KAAK,IAAI,OAAOjO,KAAK,CAACC,OAAO,CAAC+N,iBAAiB;IACjD;IACA,OAAOC,KAAK;EACd,CAAC,CAAC;EAEF,MAAML,QAAQ,GAAGpU,QAAQ,CAAC0U,EAAE,CAAC;IAC3B3S,qBAAqB;IACrBQ,UAAU;IACVxB,UAAU,EAAE7E,MAAM,CAAC4Q,IAAI,CAAC,MAAM/P,UAAU,CAAC0C,GAAG,CAACsB,UAAU,CAAC,CAAC;IACzDmT,cAAc;IACdhN,iBAAiB;IACjByM,UAAU;IACV3J,IAAI,EAAEiD,SAAS;IACfS,YAAY,EAAEA,CAACpE,OAAO,EAAE1C,OAAO,KAAK8G,YAAY,CAACpE,OAAO,EAAE1C,OAAO,CAAC;IAClEwG,MAAM,EAAG9D,OAAO,IAAK6D,WAAW,CAAC7D,OAAO,EAAE,KAAK,CAAC;IAChDkL,iBAAiB;IACjBG,WAAW,EAAErQ,gBAAgB,CAACC,IAAI;IAClC6J;GACD,CAAC;EAEF,OAAOgG,QAAQ;AACjB,CAAC,CAAC;AAEF;;;;AAIO,MAAMQ,KAAK,GAAA1U,OAAA,CAAA0U,KAAA,gBAIdhY,KAAK,CAACqL,MAAM,CAACjI,QAAQ,EAAEG,IAAI,CAAC,CAACsE,IAAI,cACnC7H,KAAK,CAACsL,OAAO,CAAC,CAACtJ,SAAS,CAACiW,cAAc,EAAEZ,0BAAY,CAACa,OAAO,CAAC,CAAC,CAChE;AAED;AAEA,MAAMvD,gBAAgB,gBAAGvV,OAAO,CAAC+Y,UAAU,CAAgB,wCAAwC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sharding.d.ts","sourceRoot":"","sources":["../../src/Sharding.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Sharding.d.ts","sourceRoot":"","sources":["../../src/Sharding.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/Sharding.js
CHANGED
|
@@ -124,9 +124,10 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
124
124
|
yield* storageReadLatch.open;
|
|
125
125
|
yield* Effect.forkIn(syncSingletons, shardingScope);
|
|
126
126
|
}
|
|
127
|
+
yield* Effect.sleep(1000);
|
|
127
128
|
activeShardsLatch.unsafeOpen();
|
|
128
129
|
}
|
|
129
|
-
}).pipe(Effect.catchAllCause(cause => Effect.logWarning("Could not acquire/release shards", cause)), Effect.
|
|
130
|
+
}).pipe(Effect.catchAllCause(cause => Effect.logWarning("Could not acquire/release shards", cause)), Effect.forever, Effect.annotateLogs({
|
|
130
131
|
package: "@effect/cluster",
|
|
131
132
|
module: "Sharding",
|
|
132
133
|
fiber: "Shard acquisition loop",
|
|
@@ -144,7 +145,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
144
145
|
}), Effect.retry({
|
|
145
146
|
times: 5,
|
|
146
147
|
schedule: Schedule.spaced(50)
|
|
147
|
-
}), Effect.catchAllCause(cause => Effect.logError("Could not refresh shard locks", cause).pipe(Effect.andThen(clearSelfShards))), Effect.
|
|
148
|
+
}), Effect.catchAllCause(cause => Effect.logError("Could not refresh shard locks", cause).pipe(Effect.andThen(clearSelfShards))), Effect.schedule(Schedule.fixed(4000)), Effect.interruptible, Effect.forkIn(shardingScope));
|
|
148
149
|
const releaseShardsLock = Effect.unsafeMakeSemaphore(1).withPermits(1);
|
|
149
150
|
const releaseShards = releaseShardsLock(Effect.suspend(() => Effect.forEach(releasingShards, shardId => Effect.forEach(entityManagers.values(), state => state.manager.interruptShard(shardId), {
|
|
150
151
|
concurrency: "unbounded",
|
|
@@ -156,7 +157,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
156
157
|
})), {
|
|
157
158
|
concurrency: "unbounded",
|
|
158
159
|
discard: true
|
|
159
|
-
})));
|
|
160
|
+
})).pipe(Effect.andThen(activeShardsLatch.open)));
|
|
160
161
|
}
|
|
161
162
|
const clearSelfShards = Effect.suspend(() => {
|
|
162
163
|
MutableHashSet.clear(selfShards);
|
package/dist/esm/Sharding.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sharding.js","names":["RpcClient","RequestId","Arr","Cause","Context","Deferred","Effect","Equal","Exit","Fiber","FiberHandle","FiberMap","FiberRef","constant","HashMap","Iterable","Layer","MutableHashMap","MutableHashSet","MutableRef","Option","Predicate","PubSub","Schedule","Scope","Stream","AlreadyProcessingMessage","EntityNotAssignedToRunner","EntityNotManagedByRunner","RunnerUnavailable","ClusterError","Persisted","Uninterruptible","ClusterSchema","EntityAddress","EntityId","Envelope","EntityManager","EntityReaper","hashString","internalInterruptors","ResourceMap","Message","MessageStorage","Reply","Runners","ShardId","ShardingConfig","EntityRegistered","SingletonRegistered","ShardManagerClient","ShardStorage","SingletonAddress","Snowflake","Sharding","Tag","make","gen","config","runners","shardManager","snowflakeGen","Generator","shardingScope","scope","isShutdown","storage","storageEnabled","noop","shardStorage","entityManagers","Map","shardAssignments","empty","selfShards","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","group","id","Math","abs","shardsPerGroup","disableValidation","isEntityOnLocalShards","has","shardId","selfAddress","addFinalizerExit","ignore","releaseAll","releasingShards","unsafeOpen","await","unsafeClose","remove","add","unacquiredShards","size","forkIn","syncSingletons","releaseShards","acquired","acquire","resetShards","length","storageReadLatch","open","pipe","catchAllCause","cause","logWarning","repeat","spaced","entityMessagePollInterval","annotateLogs","package","module","fiber","runner","interruptible","suspend","refresh","flatMap","some","_","symbol","andThen","void","retry","times","schedule","logError","clearSelfShards","delay","forever","releaseShardsLock","unsafeMakeSemaphore","withPermits","forEach","values","state","manager","interruptShard","concurrency","discard","release","clear","singletons","singletonFibers","withSingletonLock","registerSingleton","fnUntraced","name","run","options","shardGroup","map","get","set","dieMessage","context","wrappedRun","locally","currentLogAnnotations","never","scoped","provide","orDie","publish","logDebug","running","unsafeHas","shouldBeRunning","fiberId","openStorageReadLatch","storageReadLock","withStorageReadLock","storageAlreadyProcessed","_message","sentRequestIds","Set","sentRequestIdSets","addFinalizer","message","envelope","requestId","entityType","isProcessingFor","excludeReplies","take","messages","unprocessedMessages","currentSentRequestIds","send","index","_tag","respond","ReplyWithContext","fromDefect","unsafeNext","defect","isProcessing","resumptionState","entityResumptionState","unprocessed","interrupts","error","failureOption","isNone","saveReply","squash","resumeEntityFromStorage","whileLoop","while","step","body","oldest","unsafeHead","delete","ensuring","lastReceivedMessage","resumeEntityFromStorageImpl","getOrThrow","done","messageIds","push","unprocessedMessagesById","sleep","sendWithRetry","catchTags","fail","interrupt","MailboxFull","sendRetryInterval","sync","e","effect","entity","sendLocal","simulateRemoteSerialization","notifyLocal","notify","envelopeId","isTransientError","or","is","sendOutgoing","retries","catchIf","maybeRunner","isPersisted","rpc","annotations","runnerIsLocal","die","reset","clearReplies","matchCause","onSuccess","onFailure","shardManagerTimeoutFiber","extend","startShardManagerTimeout","shardManagerUnavailableTimeout","onlyIfMissing","stopShardManagerTimeout","machineId","register","shardGroups","setMachineId","mailbox","shardingEvents","startedLatch","eventsFiber","takeAll","event","shard","shards","RunnerNotRegistered","intoDeferred","zipRight","forkScoped","syncFiber","syncAssignments","refreshAssignmentsInterval","joinAll","exponential","union","assignments","getAssignments","clientRequests","clients","client","makeNoSerialization","protocol","spanPrefix","type","disableTracing","ClientTracingEnabled","supportsAck","generateRequestId","flatten","onFromClient","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","entry","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","none","OutgoingEnvelope","AckChunk","replyId","lastChunkId","isTransientInterrupt","interruptors","Interrupt","withFiberRuntime","getShardGroup","clientFn","merge","proxyClient","Proxy","p","target","undefined","makeClient","_reply","reply","clientId","exit","reaper","registerEntity","build","sharding","close","unregister","activeEntityCount","count","of","pollStorage","layer","layerGenerator","Default","GenericTag"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Sharding.js","names":["RpcClient","RequestId","Arr","Cause","Context","Deferred","Effect","Equal","Exit","Fiber","FiberHandle","FiberMap","FiberRef","constant","HashMap","Iterable","Layer","MutableHashMap","MutableHashSet","MutableRef","Option","Predicate","PubSub","Schedule","Scope","Stream","AlreadyProcessingMessage","EntityNotAssignedToRunner","EntityNotManagedByRunner","RunnerUnavailable","ClusterError","Persisted","Uninterruptible","ClusterSchema","EntityAddress","EntityId","Envelope","EntityManager","EntityReaper","hashString","internalInterruptors","ResourceMap","Message","MessageStorage","Reply","Runners","ShardId","ShardingConfig","EntityRegistered","SingletonRegistered","ShardManagerClient","ShardStorage","SingletonAddress","Snowflake","Sharding","Tag","make","gen","config","runners","shardManager","snowflakeGen","Generator","shardingScope","scope","isShutdown","storage","storageEnabled","noop","shardStorage","entityManagers","Map","shardAssignments","empty","selfShards","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","group","id","Math","abs","shardsPerGroup","disableValidation","isEntityOnLocalShards","has","shardId","selfAddress","addFinalizerExit","ignore","releaseAll","releasingShards","unsafeOpen","await","unsafeClose","remove","add","unacquiredShards","size","forkIn","syncSingletons","releaseShards","acquired","acquire","resetShards","length","storageReadLatch","open","sleep","pipe","catchAllCause","cause","logWarning","forever","annotateLogs","package","module","fiber","runner","interruptible","suspend","refresh","flatMap","some","_","symbol","andThen","void","retry","times","schedule","spaced","logError","clearSelfShards","fixed","releaseShardsLock","unsafeMakeSemaphore","withPermits","forEach","values","state","manager","interruptShard","concurrency","discard","release","clear","singletons","singletonFibers","withSingletonLock","registerSingleton","fnUntraced","name","run","options","shardGroup","map","get","set","dieMessage","context","wrappedRun","locally","currentLogAnnotations","never","scoped","provide","orDie","publish","logDebug","running","unsafeHas","shouldBeRunning","fiberId","openStorageReadLatch","storageReadLock","withStorageReadLock","storageAlreadyProcessed","_message","sentRequestIds","Set","sentRequestIdSets","addFinalizer","message","envelope","requestId","entityType","isProcessingFor","excludeReplies","take","messages","unprocessedMessages","currentSentRequestIds","send","index","_tag","respond","ReplyWithContext","fromDefect","unsafeNext","defect","isProcessing","resumptionState","entityResumptionState","unprocessed","interrupts","error","failureOption","isNone","saveReply","squash","resumeEntityFromStorage","whileLoop","while","step","body","oldest","unsafeHead","delete","ensuring","repeat","entityMessagePollInterval","delay","lastReceivedMessage","resumeEntityFromStorageImpl","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","fail","interrupt","MailboxFull","sendRetryInterval","sync","e","effect","entity","sendLocal","simulateRemoteSerialization","notifyLocal","notify","envelopeId","isTransientError","or","is","sendOutgoing","retries","catchIf","maybeRunner","isPersisted","rpc","annotations","runnerIsLocal","die","reset","clearReplies","matchCause","onSuccess","onFailure","shardManagerTimeoutFiber","extend","startShardManagerTimeout","shardManagerUnavailableTimeout","onlyIfMissing","stopShardManagerTimeout","machineId","register","shardGroups","setMachineId","mailbox","shardingEvents","startedLatch","eventsFiber","takeAll","event","shard","shards","RunnerNotRegistered","intoDeferred","zipRight","forkScoped","syncFiber","syncAssignments","refreshAssignmentsInterval","joinAll","exponential","union","assignments","getAssignments","clientRequests","clients","client","makeNoSerialization","protocol","spanPrefix","type","disableTracing","ClientTracingEnabled","supportsAck","generateRequestId","flatten","onFromClient","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","entry","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","none","OutgoingEnvelope","AckChunk","replyId","lastChunkId","isTransientInterrupt","interruptors","Interrupt","withFiberRuntime","getShardGroup","clientFn","merge","proxyClient","Proxy","p","target","undefined","makeClient","_reply","reply","clientId","exit","reaper","registerEntity","build","sharding","close","unregister","activeEntityCount","count","of","pollStorage","layer","layerGenerator","Default","GenericTag"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/cluster",
|
|
3
|
-
"version": "0.48.
|
|
3
|
+
"version": "0.48.10",
|
|
4
4
|
"description": "Unified interfaces for common cluster-specific services",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -11,11 +11,11 @@
|
|
|
11
11
|
"sideEffects": [],
|
|
12
12
|
"homepage": "https://effect.website",
|
|
13
13
|
"peerDependencies": {
|
|
14
|
-
"@effect/
|
|
15
|
-
"@effect/
|
|
14
|
+
"@effect/rpc": "^0.69.3",
|
|
15
|
+
"@effect/sql": "^0.44.2",
|
|
16
|
+
"@effect/platform": "^0.90.10",
|
|
16
17
|
"@effect/workflow": "^0.9.5",
|
|
17
|
-
"effect": "^3.17.13"
|
|
18
|
-
"@effect/sql": "^0.44.2"
|
|
18
|
+
"effect": "^3.17.13"
|
|
19
19
|
},
|
|
20
20
|
"publishConfig": {
|
|
21
21
|
"provenance": true
|
package/src/Sharding.ts
CHANGED
|
@@ -266,11 +266,12 @@ const make = Effect.gen(function*() {
|
|
|
266
266
|
yield* storageReadLatch.open
|
|
267
267
|
yield* Effect.forkIn(syncSingletons, shardingScope)
|
|
268
268
|
}
|
|
269
|
+
yield* Effect.sleep(1000)
|
|
269
270
|
activeShardsLatch.unsafeOpen()
|
|
270
271
|
}
|
|
271
272
|
}).pipe(
|
|
272
273
|
Effect.catchAllCause((cause) => Effect.logWarning("Could not acquire/release shards", cause)),
|
|
273
|
-
Effect.
|
|
274
|
+
Effect.forever,
|
|
274
275
|
Effect.annotateLogs({
|
|
275
276
|
package: "@effect/cluster",
|
|
276
277
|
module: "Sharding",
|
|
@@ -311,8 +312,7 @@ const make = Effect.gen(function*() {
|
|
|
311
312
|
Effect.andThen(clearSelfShards)
|
|
312
313
|
)
|
|
313
314
|
),
|
|
314
|
-
Effect.
|
|
315
|
-
Effect.forever,
|
|
315
|
+
Effect.schedule(Schedule.fixed(4000)),
|
|
316
316
|
Effect.interruptible,
|
|
317
317
|
Effect.forkIn(shardingScope)
|
|
318
318
|
)
|
|
@@ -329,16 +329,14 @@ const make = Effect.gen(function*() {
|
|
|
329
329
|
{ concurrency: "unbounded", discard: true }
|
|
330
330
|
).pipe(
|
|
331
331
|
Effect.andThen(shardStorage.release(selfAddress, shardId)),
|
|
332
|
-
Effect.annotateLogs({
|
|
333
|
-
runner: selfAddress
|
|
334
|
-
}),
|
|
332
|
+
Effect.annotateLogs({ runner: selfAddress }),
|
|
335
333
|
Effect.andThen(() => {
|
|
336
334
|
MutableHashSet.remove(releasingShards, shardId)
|
|
337
335
|
})
|
|
338
336
|
),
|
|
339
337
|
{ concurrency: "unbounded", discard: true }
|
|
340
338
|
)
|
|
341
|
-
)
|
|
339
|
+
).pipe(Effect.andThen(activeShardsLatch.open))
|
|
342
340
|
)
|
|
343
341
|
}
|
|
344
342
|
|