@effect/cluster 0.50.6 → 0.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/RunnerStorage/package.json +6 -0
  2. package/SqlRunnerStorage/package.json +6 -0
  3. package/dist/cjs/ClusterError.js +2 -24
  4. package/dist/cjs/ClusterError.js.map +1 -1
  5. package/dist/cjs/ClusterMetrics.js +13 -15
  6. package/dist/cjs/ClusterMetrics.js.map +1 -1
  7. package/dist/cjs/ClusterSchema.js +17 -2
  8. package/dist/cjs/ClusterSchema.js.map +1 -1
  9. package/dist/cjs/ClusterWorkflowEngine.js +50 -83
  10. package/dist/cjs/ClusterWorkflowEngine.js.map +1 -1
  11. package/dist/cjs/Entity.js +1 -13
  12. package/dist/cjs/Entity.js.map +1 -1
  13. package/dist/cjs/EntityAddress.js +9 -1
  14. package/dist/cjs/EntityAddress.js.map +1 -1
  15. package/dist/cjs/EntityId.js +7 -1
  16. package/dist/cjs/EntityId.js.map +1 -1
  17. package/dist/cjs/EntityProxy.js +1 -1
  18. package/dist/cjs/EntityProxy.js.map +1 -1
  19. package/dist/cjs/HttpRunner.js +69 -43
  20. package/dist/cjs/HttpRunner.js.map +1 -1
  21. package/dist/cjs/MessageStorage.js +64 -16
  22. package/dist/cjs/MessageStorage.js.map +1 -1
  23. package/dist/cjs/Runner.js +3 -3
  24. package/dist/cjs/Runner.js.map +1 -1
  25. package/dist/cjs/RunnerAddress.js +7 -0
  26. package/dist/cjs/RunnerAddress.js.map +1 -1
  27. package/dist/cjs/RunnerHealth.js +91 -32
  28. package/dist/cjs/RunnerHealth.js.map +1 -1
  29. package/dist/cjs/RunnerServer.js +38 -24
  30. package/dist/cjs/RunnerServer.js.map +1 -1
  31. package/dist/cjs/RunnerStorage.js +100 -0
  32. package/dist/cjs/RunnerStorage.js.map +1 -0
  33. package/dist/cjs/Runners.js +18 -22
  34. package/dist/cjs/Runners.js.map +1 -1
  35. package/dist/cjs/ShardId.js +17 -7
  36. package/dist/cjs/ShardId.js.map +1 -1
  37. package/dist/cjs/Sharding.js +444 -320
  38. package/dist/cjs/Sharding.js.map +1 -1
  39. package/dist/cjs/ShardingConfig.js +10 -14
  40. package/dist/cjs/ShardingConfig.js.map +1 -1
  41. package/dist/cjs/Snowflake.js +1 -1
  42. package/dist/cjs/SocketRunner.js +1 -1
  43. package/dist/cjs/SocketRunner.js.map +1 -1
  44. package/dist/cjs/SqlMessageStorage.js +22 -28
  45. package/dist/cjs/SqlMessageStorage.js.map +1 -1
  46. package/dist/cjs/SqlRunnerStorage.js +375 -0
  47. package/dist/cjs/SqlRunnerStorage.js.map +1 -0
  48. package/dist/cjs/index.js +5 -15
  49. package/dist/cjs/internal/entityManager.js +42 -23
  50. package/dist/cjs/internal/entityManager.js.map +1 -1
  51. package/dist/dts/ClusterError.d.ts +0 -22
  52. package/dist/dts/ClusterError.d.ts.map +1 -1
  53. package/dist/dts/ClusterMetrics.d.ts +4 -14
  54. package/dist/dts/ClusterMetrics.d.ts.map +1 -1
  55. package/dist/dts/ClusterSchema.d.ts +9 -1
  56. package/dist/dts/ClusterSchema.d.ts.map +1 -1
  57. package/dist/dts/ClusterWorkflowEngine.d.ts.map +1 -1
  58. package/dist/dts/Entity.d.ts +3 -14
  59. package/dist/dts/Entity.d.ts.map +1 -1
  60. package/dist/dts/EntityAddress.d.ts +11 -0
  61. package/dist/dts/EntityAddress.d.ts.map +1 -1
  62. package/dist/dts/EntityId.d.ts +5 -0
  63. package/dist/dts/EntityId.d.ts.map +1 -1
  64. package/dist/dts/EntityProxy.d.ts +5 -6
  65. package/dist/dts/EntityProxy.d.ts.map +1 -1
  66. package/dist/dts/HttpRunner.d.ts +48 -25
  67. package/dist/dts/HttpRunner.d.ts.map +1 -1
  68. package/dist/dts/MessageStorage.d.ts +13 -5
  69. package/dist/dts/MessageStorage.d.ts.map +1 -1
  70. package/dist/dts/Runner.d.ts +4 -4
  71. package/dist/dts/Runner.d.ts.map +1 -1
  72. package/dist/dts/RunnerAddress.d.ts +5 -0
  73. package/dist/dts/RunnerAddress.d.ts.map +1 -1
  74. package/dist/dts/RunnerHealth.d.ts +24 -16
  75. package/dist/dts/RunnerHealth.d.ts.map +1 -1
  76. package/dist/dts/RunnerServer.d.ts +5 -4
  77. package/dist/dts/RunnerServer.d.ts.map +1 -1
  78. package/dist/dts/{ShardStorage.d.ts → RunnerStorage.d.ts} +41 -54
  79. package/dist/dts/RunnerStorage.d.ts.map +1 -0
  80. package/dist/dts/Runners.d.ts +15 -11
  81. package/dist/dts/Runners.d.ts.map +1 -1
  82. package/dist/dts/ShardId.d.ts +1 -1
  83. package/dist/dts/ShardId.d.ts.map +1 -1
  84. package/dist/dts/Sharding.d.ts +20 -10
  85. package/dist/dts/Sharding.d.ts.map +1 -1
  86. package/dist/dts/ShardingConfig.d.ts +40 -14
  87. package/dist/dts/ShardingConfig.d.ts.map +1 -1
  88. package/dist/dts/SocketRunner.d.ts +4 -3
  89. package/dist/dts/SocketRunner.d.ts.map +1 -1
  90. package/dist/dts/SqlMessageStorage.d.ts +2 -3
  91. package/dist/dts/SqlMessageStorage.d.ts.map +1 -1
  92. package/dist/dts/SqlRunnerStorage.d.ts +40 -0
  93. package/dist/dts/SqlRunnerStorage.d.ts.map +1 -0
  94. package/dist/dts/index.d.ts +4 -24
  95. package/dist/dts/index.d.ts.map +1 -1
  96. package/dist/esm/ClusterError.js +0 -21
  97. package/dist/esm/ClusterError.js.map +1 -1
  98. package/dist/esm/ClusterMetrics.js +12 -14
  99. package/dist/esm/ClusterMetrics.js.map +1 -1
  100. package/dist/esm/ClusterSchema.js +17 -2
  101. package/dist/esm/ClusterSchema.js.map +1 -1
  102. package/dist/esm/ClusterWorkflowEngine.js +50 -83
  103. package/dist/esm/ClusterWorkflowEngine.js.map +1 -1
  104. package/dist/esm/Entity.js +0 -12
  105. package/dist/esm/Entity.js.map +1 -1
  106. package/dist/esm/EntityAddress.js +7 -0
  107. package/dist/esm/EntityAddress.js.map +1 -1
  108. package/dist/esm/EntityId.js +5 -0
  109. package/dist/esm/EntityId.js.map +1 -1
  110. package/dist/esm/EntityProxy.js +2 -2
  111. package/dist/esm/EntityProxy.js.map +1 -1
  112. package/dist/esm/HttpRunner.js +62 -39
  113. package/dist/esm/HttpRunner.js.map +1 -1
  114. package/dist/esm/MessageStorage.js +65 -17
  115. package/dist/esm/MessageStorage.js.map +1 -1
  116. package/dist/esm/Runner.js +3 -3
  117. package/dist/esm/Runner.js.map +1 -1
  118. package/dist/esm/RunnerAddress.js +7 -0
  119. package/dist/esm/RunnerAddress.js.map +1 -1
  120. package/dist/esm/RunnerHealth.js +88 -30
  121. package/dist/esm/RunnerHealth.js.map +1 -1
  122. package/dist/esm/RunnerServer.js +38 -24
  123. package/dist/esm/RunnerServer.js.map +1 -1
  124. package/dist/esm/RunnerStorage.js +90 -0
  125. package/dist/esm/RunnerStorage.js.map +1 -0
  126. package/dist/esm/Runners.js +19 -23
  127. package/dist/esm/Runners.js.map +1 -1
  128. package/dist/esm/ShardId.js +16 -6
  129. package/dist/esm/ShardId.js.map +1 -1
  130. package/dist/esm/Sharding.js +447 -323
  131. package/dist/esm/Sharding.js.map +1 -1
  132. package/dist/esm/ShardingConfig.js +10 -14
  133. package/dist/esm/ShardingConfig.js.map +1 -1
  134. package/dist/esm/Snowflake.js +1 -1
  135. package/dist/esm/SocketRunner.js +1 -1
  136. package/dist/esm/SocketRunner.js.map +1 -1
  137. package/dist/esm/SqlMessageStorage.js +22 -28
  138. package/dist/esm/SqlMessageStorage.js.map +1 -1
  139. package/dist/esm/SqlRunnerStorage.js +366 -0
  140. package/dist/esm/SqlRunnerStorage.js.map +1 -0
  141. package/dist/esm/index.js +4 -24
  142. package/dist/esm/index.js.map +1 -1
  143. package/dist/esm/internal/entityManager.js +41 -22
  144. package/dist/esm/internal/entityManager.js.map +1 -1
  145. package/package.json +20 -60
  146. package/src/ClusterError.ts +0 -24
  147. package/src/ClusterMetrics.ts +12 -16
  148. package/src/ClusterSchema.ts +17 -2
  149. package/src/ClusterWorkflowEngine.ts +48 -80
  150. package/src/Entity.ts +3 -21
  151. package/src/EntityAddress.ts +10 -0
  152. package/src/EntityId.ts +6 -0
  153. package/src/EntityProxy.ts +10 -10
  154. package/src/HttpRunner.ts +132 -67
  155. package/src/MessageStorage.ts +89 -24
  156. package/src/Runner.ts +4 -4
  157. package/src/RunnerAddress.ts +8 -0
  158. package/src/RunnerHealth.ts +119 -56
  159. package/src/RunnerServer.ts +64 -47
  160. package/src/RunnerStorage.ts +218 -0
  161. package/src/Runners.ts +32 -45
  162. package/src/ShardId.ts +14 -3
  163. package/src/Sharding.ts +561 -417
  164. package/src/ShardingConfig.ts +39 -31
  165. package/src/Snowflake.ts +1 -1
  166. package/src/SocketRunner.ts +6 -4
  167. package/src/SqlMessageStorage.ts +28 -30
  168. package/src/SqlRunnerStorage.ts +537 -0
  169. package/src/index.ts +4 -29
  170. package/src/internal/entityManager.ts +45 -29
  171. package/HttpCommon/package.json +0 -6
  172. package/HttpShardManager/package.json +0 -6
  173. package/ShardManager/package.json +0 -6
  174. package/ShardStorage/package.json +0 -6
  175. package/SocketShardManager/package.json +0 -6
  176. package/SqlShardStorage/package.json +0 -6
  177. package/SynchronizedClock/package.json +0 -6
  178. package/dist/cjs/HttpCommon.js +0 -48
  179. package/dist/cjs/HttpCommon.js.map +0 -1
  180. package/dist/cjs/HttpShardManager.js +0 -139
  181. package/dist/cjs/HttpShardManager.js.map +0 -1
  182. package/dist/cjs/ShardManager.js +0 -549
  183. package/dist/cjs/ShardManager.js.map +0 -1
  184. package/dist/cjs/ShardStorage.js +0 -151
  185. package/dist/cjs/ShardStorage.js.map +0 -1
  186. package/dist/cjs/SocketShardManager.js +0 -32
  187. package/dist/cjs/SocketShardManager.js.map +0 -1
  188. package/dist/cjs/SqlShardStorage.js +0 -253
  189. package/dist/cjs/SqlShardStorage.js.map +0 -1
  190. package/dist/cjs/SynchronizedClock.js +0 -65
  191. package/dist/cjs/SynchronizedClock.js.map +0 -1
  192. package/dist/cjs/internal/shardManager.js +0 -353
  193. package/dist/cjs/internal/shardManager.js.map +0 -1
  194. package/dist/dts/HttpCommon.d.ts +0 -25
  195. package/dist/dts/HttpCommon.d.ts.map +0 -1
  196. package/dist/dts/HttpShardManager.d.ts +0 -119
  197. package/dist/dts/HttpShardManager.d.ts.map +0 -1
  198. package/dist/dts/ShardManager.d.ts +0 -459
  199. package/dist/dts/ShardManager.d.ts.map +0 -1
  200. package/dist/dts/ShardStorage.d.ts.map +0 -1
  201. package/dist/dts/SocketShardManager.d.ts +0 -17
  202. package/dist/dts/SocketShardManager.d.ts.map +0 -1
  203. package/dist/dts/SqlShardStorage.d.ts +0 -38
  204. package/dist/dts/SqlShardStorage.d.ts.map +0 -1
  205. package/dist/dts/SynchronizedClock.d.ts +0 -19
  206. package/dist/dts/SynchronizedClock.d.ts.map +0 -1
  207. package/dist/dts/internal/shardManager.d.ts +0 -2
  208. package/dist/dts/internal/shardManager.d.ts.map +0 -1
  209. package/dist/esm/HttpCommon.js +0 -38
  210. package/dist/esm/HttpCommon.js.map +0 -1
  211. package/dist/esm/HttpShardManager.js +0 -128
  212. package/dist/esm/HttpShardManager.js.map +0 -1
  213. package/dist/esm/ShardManager.js +0 -535
  214. package/dist/esm/ShardManager.js.map +0 -1
  215. package/dist/esm/ShardStorage.js +0 -141
  216. package/dist/esm/ShardStorage.js.map +0 -1
  217. package/dist/esm/SocketShardManager.js +0 -24
  218. package/dist/esm/SocketShardManager.js.map +0 -1
  219. package/dist/esm/SqlShardStorage.js +0 -244
  220. package/dist/esm/SqlShardStorage.js.map +0 -1
  221. package/dist/esm/SynchronizedClock.js +0 -57
  222. package/dist/esm/SynchronizedClock.js.map +0 -1
  223. package/dist/esm/internal/shardManager.js +0 -342
  224. package/dist/esm/internal/shardManager.js.map +0 -1
  225. package/src/HttpCommon.ts +0 -73
  226. package/src/HttpShardManager.ts +0 -273
  227. package/src/ShardManager.ts +0 -823
  228. package/src/ShardStorage.ts +0 -297
  229. package/src/SocketShardManager.ts +0 -48
  230. package/src/SqlShardStorage.ts +0 -329
  231. package/src/SynchronizedClock.ts +0 -82
  232. package/src/internal/shardManager.ts +0 -412
@@ -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","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","isInterrupted","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","isLocal","notify","envelopeId","storageOnly","isTransientError","or","is","sendOutgoing","retries","catchIf","maybeRunner","isPersisted","rpc","annotations","runnerIsLocal","die","reset","clearReplies","matchCause","onSuccess","onFailure","shardManagerTimeoutFiber","extend","startShardManagerTimeout","shardManagerUnavailableTimeout","onlyIfMissing","stopShardManagerTimeout","current","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","Effect","Either","Equal","Fiber","FiberMap","FiberRef","FiberSet","constant","HashMap","HashRing","Layer","MutableHashMap","MutableHashSet","MutableRef","Option","PubSub","Schedule","Scope","Stream","AlreadyProcessingMessage","EntityNotAssignedToRunner","ClusterMetrics","Persisted","Uninterruptible","ClusterSchema","make","makeEntityAddress","makeEntityId","Envelope","EntityManager","EntityReaper","hashString","internalInterruptors","ResourceMap","Message","MessageStorage","Reply","Runner","RunnerHealth","Runners","RunnerStorage","makeShardId","ShardingConfig","EntityRegistered","SingletonRegistered","SingletonAddress","Snowflake","Sharding","Tag","gen","config","runnersService","runnerHealth","snowflakeGen","Generator","shardingScope","scope","isShutdown","fiberSet","runFork","runtime","pipe","mapInputContext","context","omit","storage","storageEnabled","noop","runnerStorage","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","isEntityOnLocalShards","has","shardId","releasingShards","selfAddress","addFinalizerExit","ignore","releaseAll","unsafeOpen","await","unsafeClose","remove","add","size","forkIn","syncSingletons","releaseShards","unacquiredShards","acquired","acquire","resetShards","length","storageReadLatch","open","shards","unsafeUpdate","BigInt","sleep","catchAllCause","cause","logWarning","repeat","spaced","entityMessagePollInterval","annotateLogs","package","module","fiber","runner","suspend","refresh","flatMap","includes","i","void","retry","times","schedule","logError","andThen","clearSelfShards","fixed","shardLockRefreshInterval","forever","releaseShardsLock","unsafeMakeSemaphore","withPermits","forEach","values","state","manager","interruptShard","concurrency","discard","release","unregisterShardReplyHandlers","delay","sync","clear","openStorageReadLatch","storageReadLock","withStorageReadLock","logDebug","addFinalizer","index","messages","removableNotifications","Set","resetAddresses","processMessages","whileLoop","while","step","body","send","message","_tag","current","envelope","get","entityType","closed","isProcessing","isProcessingFor","pendingNotifications","requestId","entry","delete","resume","resumptionState","entityResumptionState","unprocessed","interrupts","set","error","failureOrCause","isRight","isInterrupted","saveReply","ReplyWithContext","fromDefect","unsafeNext","defect","squash","left","resumeEntityFromStorage","take","clearProcessed","unprocessedMessages","fail","resetAddress","scoped","ensuring","withUnhandledErrorLogLevel","none","lastReceivedMessage","resumeEntityFromStorageImpl","fnUntraced","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","interrupt","MailboxFull","sendRetryInterval","e","effect","entity","sendLocal","loop","waitForEntityManager","simulateRemoteSerialization","notifyLocal","options","isLocal","notify","die","excludeReplies","envelopeId","waitUntilRead","async","prevResume","storageOnly","sendOutgoing","retries","catchIf","isPersisted","rpc","annotations","maybeRunner","runnerIsLocal","isNone","reset","matchCause","clearReplies","onSuccess","onFailure","selfRunner","groups","shardGroups","weight","runnerShardWeight","undefined","allRunners","healthyRunnerCount","runners","runnersHealthy","hashRings","nextRunners","healthyRunners","machineId","register","setMachineId","getRunners","changed","healthy","wasHealthy","j","ring","_","onRunnerUnavailable","prevRunners","newAssignments","getShards","shard","setRunnerHealth","refreshAssignmentsInterval","clientRequests","clients","client","makeNoSerialization","protocol","spanPrefix","type","disableTracing","ClientTracingEnabled","supportsAck","generateRequestId","flatten","onFromClient","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","respond","services","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","OutgoingEnvelope","AckChunk","replyId","lastChunkId","forClient","isTransientInterrupt","interruptors","some","Interrupt","withFiberRuntime","getShardGroup","clientFn","merge","proxyClient","Proxy","p","target","makeClient","_reply","reply","clientId","exit","singletons","singletonFibers","withSingletonLock","registerSingleton","name","run","shardGroup","map","wrappedRun","locally","currentLogAnnotations","never","provide","orDie","interruptible","publish","running","unsafeHas","shouldBeRunning","reaper","entityManagerLatches","registerEntity","build","sharding","close","latch","unsafeMakeLatch","checkRunner","isAlive","runnerHealthCheckInterval","fiberId","unregister","activeEntityCount","count","of","hasShardId","getSnowflake","pollStorage","layer","layerGenerator","Default","GenericTag"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,SAAS,MAAM,uBAAuB;AAClD,SAA0BC,SAAS,QAAQ,wBAAwB;AACnE,OAAO,KAAKC,GAAG,MAAM,cAAc;AACnC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AAEzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,cAAc,MAAM,uBAAuB;AACvD,OAAO,KAAKC,cAAc,MAAM,uBAAuB;AACvD,OAAO,KAAKC,UAAU,MAAM,mBAAmB;AAC/C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,SAASC,wBAAwB,EAAEC,yBAAyB,QAAQ,mBAAmB;AACvF,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AACrD,SAASC,SAAS,EAAEC,eAAe,QAAQ,oBAAoB;AAC/D,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAGnD,SAASC,IAAI,IAAIC,iBAAiB,QAAQ,oBAAoB;AAE9D,SAASD,IAAI,IAAIE,YAAY,QAAQ,eAAe;AACpD,OAAO,KAAKC,QAAQ,MAAM,eAAe;AACzC,OAAO,KAAKC,aAAa,MAAM,6BAA6B;AAC5D,SAASC,YAAY,QAAQ,4BAA4B;AACzD,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,SAASC,oBAAoB,QAAQ,4BAA4B;AACjE,SAASC,WAAW,QAAQ,2BAA2B;AACvD,OAAO,KAAKC,OAAO,MAAM,cAAc;AACvC,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AACrD,OAAO,KAAKC,KAAK,MAAM,YAAY;AACnC,SAASC,MAAM,QAAQ,aAAa;AAEpC,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AACjD,SAASC,OAAO,QAAQ,cAAc;AACtC,SAASC,aAAa,QAAQ,oBAAoB;AAElD,SAASf,IAAI,IAAIgB,WAAW,QAAQ,cAAc;AAClD,SAASC,cAAc,QAAQ,qBAAqB;AACpD,SAASC,gBAAgB,EAAkCC,mBAAmB,QAAQ,gCAAgC;AACtH,SAASC,gBAAgB,QAAQ,uBAAuB;AACxD,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;;AAIA,OAAM,MAAOC,QAAS,sBAAQhD,OAAO,CAACiD,GAAG,CAAC,0BAA0B,CAAC,EAqHjE;AAaJ,MAAMvB,IAAI,gBAAGzB,MAAM,CAACiD,GAAG,CAAC,aAAS;EAC/B,MAAMC,MAAM,GAAG,OAAOR,cAAc;EAEpC,MAAMS,cAAc,GAAG,OAAOZ,OAAO;EACrC,MAAMa,YAAY,GAAG,OAAOd,YAAY,CAACA,YAAY;EACrD,MAAMe,YAAY,GAAG,OAAOP,SAAS,CAACQ,SAAS;EAC/C,MAAMC,aAAa,GAAG,OAAOvD,MAAM,CAACwD,KAAK;EACzC,MAAMC,UAAU,GAAG5C,UAAU,CAACY,IAAI,CAAC,KAAK,CAAC;EACzC,MAAMiC,QAAQ,GAAG,OAAOpD,QAAQ,CAACmB,IAAI,EAAE;EACvC,MAAMkC,OAAO,GAAG,OAAOrD,QAAQ,CAACsD,OAAO,CAACF,QAAQ,CAAC,EAAS,CAACG,IAAI,CAC7D7D,MAAM,CAAC8D,eAAe,CAAEC,OAA+B,IAAKhE,OAAO,CAACiE,IAAI,CAAC/C,KAAK,CAACA,KAAK,CAAC,CAAC8C,OAAO,CAAC,CAAC,CAChG;EAED,MAAME,OAAO,GAAG,OAAO9B,cAAc,CAACA,cAAc;EACpD,MAAM+B,cAAc,GAAGD,OAAO,KAAK9B,cAAc,CAACgC,IAAI;EACtD,MAAMC,aAAa,GAAG,OAAO5B,aAAa;EAE1C,MAAM6B,cAAc,GAAG,IAAIC,GAAG,EAA8B;EAE5D,MAAMC,gBAAgB,GAAG5D,cAAc,CAAC6D,KAAK,EAA0B;EACvE,MAAMC,UAAU,GAAG7D,cAAc,CAAC4D,KAAK,EAAW;EAElD;EACA,MAAME,cAAc,GAAG9D,cAAc,CAAC4D,KAAK,EAAW;EACtD,MAAMG,iBAAiB,GAAG,OAAO3E,MAAM,CAAC4E,SAAS,CAAC,KAAK,CAAC;EAExD,MAAMC,MAAM,GAAG,OAAO9D,MAAM,CAAC+D,SAAS,EAA6B;EACnE,MAAMC,qBAAqB,GAA6C7D,MAAM,CAAC8D,UAAU,CAACH,MAAM,CAAC;EAEjG,MAAMI,aAAa,GAAIC,OAAsB,IAC3CpE,MAAM,CAACqE,MAAM,CAACjC,MAAM,CAACkC,aAAa,CAAC,IAAIlF,KAAK,CAACmF,MAAM,CAACH,OAAO,EAAEhC,MAAM,CAACkC,aAAa,CAACE,KAAK,CAAC;EAE1F,SAASC,UAAUA,CAACC,QAAkB,EAAEC,KAAa;IACnD,MAAMC,EAAE,GAAGC,IAAI,CAACC,GAAG,CAAC7D,UAAU,CAACyD,QAAQ,CAAC,GAAGtC,MAAM,CAAC2C,cAAc,CAAC,GAAG,CAAC;IACrE,OAAOpD,WAAW,CAACgD,KAAK,EAAEC,EAAE,CAAC;EAC/B;EAEA,SAASI,qBAAqBA,CAACZ,OAAsB;IACnD,OAAOtE,cAAc,CAACmF,GAAG,CAACrB,cAAc,EAAEQ,OAAO,CAACc,OAAO,CAAC;EAC5D;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA,MAAMC,eAAe,GAAGrF,cAAc,CAAC4D,KAAK,EAAW;EACvD,IAAI1D,MAAM,CAACqE,MAAM,CAACjC,MAAM,CAACkC,aAAa,CAAC,EAAE;IACvC,MAAMc,WAAW,GAAGhD,MAAM,CAACkC,aAAa,CAACE,KAAK;IAC9C,OAAOrE,KAAK,CAACkF,gBAAgB,CAAC5C,aAAa,EAAE,MAAK;MAChD;MACA,OAAOvD,MAAM,CAACoG,MAAM,CAAChC,aAAa,CAACiC,UAAU,CAACH,WAAW,CAAC,CAAC;IAC7D,CAAC,CAAC;IAEF,OAAOlG,MAAM,CAACiD,GAAG,CAAC,aAAS;MACzB0B,iBAAiB,CAAC2B,UAAU,EAAE;MAE9B,OAAO,IAAI,EAAE;QACX,OAAO3B,iBAAiB,CAAC4B,KAAK;QAC9B5B,iBAAiB,CAAC6B,WAAW,EAAE;QAE/B;QACA,KAAK,MAAMR,OAAO,IAAItB,cAAc,EAAE;UACpC,IAAI9D,cAAc,CAACmF,GAAG,CAACtB,UAAU,EAAEuB,OAAO,CAAC,EAAE;UAC7CpF,cAAc,CAAC6F,MAAM,CAAC/B,cAAc,EAAEsB,OAAO,CAAC;UAC9CpF,cAAc,CAAC8F,GAAG,CAACT,eAAe,EAAED,OAAO,CAAC;QAC9C;QAEA,IAAIpF,cAAc,CAAC+F,IAAI,CAACV,eAAe,CAAC,GAAG,CAAC,EAAE;UAC5C,OAAOjG,MAAM,CAAC4G,MAAM,CAACC,cAAc,EAAEtD,aAAa,CAAC;UACnD,OAAOuD,aAAa;QACtB;QAEA;QACA,MAAMC,gBAAgB,GAAGnG,cAAc,CAAC4D,KAAK,EAAW;QACxD,KAAK,MAAMwB,OAAO,IAAIvB,UAAU,EAAE;UAChC,IAAI7D,cAAc,CAACmF,GAAG,CAACrB,cAAc,EAAEsB,OAAO,CAAC,IAAIpF,cAAc,CAACmF,GAAG,CAACE,eAAe,EAAED,OAAO,CAAC,EAAE;UACjGpF,cAAc,CAAC8F,GAAG,CAACK,gBAAgB,EAAEf,OAAO,CAAC;QAC/C;QAEA,IAAIpF,cAAc,CAAC+F,IAAI,CAACI,gBAAgB,CAAC,KAAK,CAAC,EAAE;UAC/C;QACF;QAEA,MAAMC,QAAQ,GAAG,OAAO5C,aAAa,CAAC6C,OAAO,CAACf,WAAW,EAAEa,gBAAgB,CAAC;QAC5E,OAAO/G,MAAM,CAACoG,MAAM,CAACnC,OAAO,CAACiD,WAAW,CAACF,QAAQ,CAAC,CAAC;QACnD,KAAK,MAAMhB,OAAO,IAAIgB,QAAQ,EAAE;UAC9B,IAAIpG,cAAc,CAACmF,GAAG,CAACE,eAAe,EAAED,OAAO,CAAC,IAAI,CAACpF,cAAc,CAACmF,GAAG,CAACtB,UAAU,EAAEuB,OAAO,CAAC,EAAE;YAC5F;UACF;UACApF,cAAc,CAAC8F,GAAG,CAAChC,cAAc,EAAEsB,OAAO,CAAC;QAC7C;QACA,IAAIgB,QAAQ,CAACG,MAAM,GAAG,CAAC,EAAE;UACvB,OAAOC,gBAAgB,CAACC,IAAI;UAC5B,OAAOrH,MAAM,CAAC4G,MAAM,CAACC,cAAc,EAAEtD,aAAa,CAAC;UAEnD;UACAlC,cAAc,CAACiG,MAAM,CAACC,YAAY,CAACC,MAAM,CAAC5G,cAAc,CAAC+F,IAAI,CAACjC,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC;QACrF;QACA,OAAO1E,MAAM,CAACyH,KAAK,CAAC,IAAI,CAAC;QACzB9C,iBAAiB,CAAC2B,UAAU,EAAE;MAChC;IACF,CAAC,CAAC,CAACzC,IAAI,CACL7D,MAAM,CAAC0H,aAAa,CAAEC,KAAK,IAAK3H,MAAM,CAAC4H,UAAU,CAAC,kCAAkC,EAAED,KAAK,CAAC,CAAC,EAC7F3H,MAAM,CAAC6H,MAAM,CAAC7G,QAAQ,CAAC8G,MAAM,CAAC5E,MAAM,CAAC6E,yBAAyB,CAAC,CAAC,EAChE/H,MAAM,CAACgI,YAAY,CAAC;MAClBC,OAAO,EAAE,iBAAiB;MAC1BC,MAAM,EAAE,UAAU;MAClBC,KAAK,EAAE,wBAAwB;MAC/BC,MAAM,EAAElC;KACT,CAAC,EACFlG,MAAM,CAAC4G,MAAM,CAACrD,aAAa,CAAC,CAC7B;IAED;IACA,OAAOvD,MAAM,CAACqI,OAAO,CAAC,MACpBjE,aAAa,CAACkE,OAAO,CAACpC,WAAW,EAAE,CACjC,GAAGxB,cAAc,EACjB,GAAGuB,eAAe,CACnB,CAAC,CACH,CAACpC,IAAI,CACJ7D,MAAM,CAACuI,OAAO,CAAEvB,QAAQ,IAAI;MAC1B,KAAK,MAAMhB,OAAO,IAAItB,cAAc,EAAE;QACpC,IAAI,CAACsC,QAAQ,CAACwB,QAAQ,CAACxC,OAAO,CAAC,EAAE;UAC/BpF,cAAc,CAAC6F,MAAM,CAAC/B,cAAc,EAAEsB,OAAO,CAAC;UAC9CpF,cAAc,CAAC8F,GAAG,CAACT,eAAe,EAAED,OAAO,CAAC;QAC9C;MACF;MACA,KAAK,IAAIyC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGzB,QAAQ,CAACG,MAAM,EAAEsB,CAAC,EAAE,EAAE;QACxC,MAAMzC,OAAO,GAAGgB,QAAQ,CAACyB,CAAC,CAAC;QAC3B,IAAI,CAAC7H,cAAc,CAACmF,GAAG,CAACtB,UAAU,EAAEuB,OAAO,CAAC,EAAE;UAC5CpF,cAAc,CAAC6F,MAAM,CAAC/B,cAAc,EAAEsB,OAAO,CAAC;UAC9CpF,cAAc,CAAC8F,GAAG,CAACT,eAAe,EAAED,OAAO,CAAC;QAC9C;MACF;MACA,OAAOpF,cAAc,CAAC+F,IAAI,CAACV,eAAe,CAAC,GAAG,CAAC,GAC3CtB,iBAAiB,CAAC0C,IAAI,GACtBrH,MAAM,CAAC0I,IAAI;IACjB,CAAC,CAAC,EACF1I,MAAM,CAAC2I,KAAK,CAAC;MACXC,KAAK,EAAE,CAAC;MACRC,QAAQ,EAAE7H,QAAQ,CAAC8G,MAAM,CAAC,EAAE;KAC7B,CAAC,EACF9H,MAAM,CAAC0H,aAAa,CAAEC,KAAK,IACzB3H,MAAM,CAAC8I,QAAQ,CAAC,+BAA+B,EAAEnB,KAAK,CAAC,CAAC9D,IAAI,CAC1D7D,MAAM,CAAC+I,OAAO,CAACC,eAAe,CAAC,CAChC,CACF,EACDhJ,MAAM,CAAC6H,MAAM,CAAC7G,QAAQ,CAACiI,KAAK,CAAC/F,MAAM,CAACgG,wBAAwB,CAAC,CAAC,EAC9DlJ,MAAM,CAACmJ,OAAO,EACdnJ,MAAM,CAAC4G,MAAM,CAACrD,aAAa,CAAC,CAC7B;IAED,MAAM6F,iBAAiB,GAAGpJ,MAAM,CAACqJ,mBAAmB,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC;IACtE,MAAMxC,aAAa,GAAGsC,iBAAiB,CACrCpJ,MAAM,CAACqI,OAAO,CAAC,MACbrI,MAAM,CAACuJ,OAAO,CACZtD,eAAe,EACdD,OAAO,IACNhG,MAAM,CAACuJ,OAAO,CACZlF,cAAc,CAACmF,MAAM,EAAE,EACtBC,KAAK,IAAKA,KAAK,CAACC,OAAO,CAACC,cAAc,CAAC3D,OAAO,CAAC,EAChD;MAAE4D,WAAW,EAAE,WAAW;MAAEC,OAAO,EAAE;IAAI,CAAE,CAC5C,CAAChG,IAAI,CACJ7D,MAAM,CAAC+I,OAAO,CAAC3E,aAAa,CAAC0F,OAAO,CAAC5D,WAAW,EAAEF,OAAO,CAAC,CAAC,EAC3DhG,MAAM,CAACgI,YAAY,CAAC;MAAEI,MAAM,EAAElC;IAAW,CAAE,CAAC,EAC5ClG,MAAM,CAACuI,OAAO,CAAC,MAAK;MAClB3H,cAAc,CAAC6F,MAAM,CAACR,eAAe,EAAED,OAAO,CAAC;MAC/C,OAAO/B,OAAO,CAAC8F,4BAA4B,CAAC/D,OAAO,CAAC;IACtD,CAAC,CAAC,CACH,EACH;MAAE4D,WAAW,EAAE,WAAW;MAAEC,OAAO,EAAE;IAAI,CAAE,CAC5C,CACF,CACF;IAED;IACA,OAAOlF,iBAAiB,CAAC0C,IAAI,CAACxD,IAAI,CAChC7D,MAAM,CAACgK,KAAK,CAAC9G,MAAM,CAAC6E,yBAAyB,CAAC,EAC9C/H,MAAM,CAACmJ,OAAO,EACdnJ,MAAM,CAAC4G,MAAM,CAACrD,aAAa,CAAC,CAC7B;EACH;EAEA,MAAMyF,eAAe,GAAGhJ,MAAM,CAACiK,IAAI,CAAC,MAAK;IACvCrJ,cAAc,CAACsJ,KAAK,CAACzF,UAAU,CAAC;IAChCE,iBAAiB,CAAC2B,UAAU,EAAE;EAChC,CAAC,CAAC;EAEF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA,MAAMc,gBAAgB,GAAG,OAAOpH,MAAM,CAAC4E,SAAS,CAAC,IAAI,CAAC;EACtD,MAAMuF,oBAAoB,GAAG5J,QAAQ,CAAC6G,gBAAgB,CAACC,IAAI,CAAC;EAE5D,MAAM+C,eAAe,GAAGpK,MAAM,CAACqJ,mBAAmB,CAAC,CAAC,CAAC;EACrD,MAAMgB,mBAAmB,GAAGD,eAAe,CAACd,WAAW,CAAC,CAAC,CAAC;EAE1D,IAAIpF,cAAc,IAAIpD,MAAM,CAACqE,MAAM,CAACjC,MAAM,CAACkC,aAAa,CAAC,EAAE;IACzD,MAAMc,WAAW,GAAGhD,MAAM,CAACkC,aAAa,CAACE,KAAK;IAE9C,OAAOtF,MAAM,CAACiD,GAAG,CAAC,aAAS;MACzB,OAAOjD,MAAM,CAACsK,QAAQ,CAAC,UAAU,CAAC;MAClC,OAAOtK,MAAM,CAACuK,YAAY,CAAC,MAAMvK,MAAM,CAACsK,QAAQ,CAAC,eAAe,CAAC,CAAC;MAElE,IAAIE,KAAK,GAAG,CAAC;MACb,IAAIC,QAAQ,GAAiC,EAAE;MAC/C,MAAMC,sBAAsB,GAAG,IAAIC,GAAG,EAAuB;MAC7D,MAAMC,cAAc,GAAGhK,cAAc,CAAC4D,KAAK,EAAiB;MAE5D,MAAMqG,eAAe,GAAG7K,MAAM,CAAC8K,SAAS,CAAC;QACvCC,KAAK,EAAEA,CAAA,KAAMP,KAAK,GAAGC,QAAQ,CAACtD,MAAM;QACpC6D,IAAI,EAAEA,CAAA,KAAMR,KAAK,EAAE;QACnBS,IAAI,EAAEA,CAAA,KAAMC;OACb,CAAC;MAEF,MAAMA,IAAI,GAAGlL,MAAM,CAAC0H,aAAa,CAC/B1H,MAAM,CAACqI,OAAO,CAAC,MAAK;QAClB,MAAM8C,OAAO,GAAGV,QAAQ,CAACD,KAAK,CAAC;QAC/B;QACA,IAAIW,OAAO,CAACC,IAAI,KAAK,iBAAiB,IAAI3H,UAAU,CAAC4H,OAAO,EAAE;UAC5D,IAAI5H,UAAU,CAAC4H,OAAO,EAAE;YACtB,OAAOrL,MAAM,CAAC0I,IAAI;UACpB;QACF;QACA,MAAMxD,OAAO,GAAGiG,OAAO,CAACG,QAAQ,CAACpG,OAAO;QACxC,IAAI,CAACtE,cAAc,CAACmF,GAAG,CAACrB,cAAc,EAAEQ,OAAO,CAACc,OAAO,CAAC,EAAE;UACxD,OAAOhG,MAAM,CAAC0I,IAAI;QACpB;QACA,MAAMe,KAAK,GAAGpF,cAAc,CAACkH,GAAG,CAACrG,OAAO,CAACsG,UAAU,CAAC;QACpD,IAAI,CAAC/B,KAAK,EAAE;UACV;UACA7I,cAAc,CAAC8F,GAAG,CAACkE,cAAc,EAAE1F,OAAO,CAAC;UAC3C,OAAOlF,MAAM,CAAC0I,IAAI;QACpB,CAAC,MAAM,IAAIe,KAAK,CAACgC,MAAM,EAAE;UACvB,OAAOzL,MAAM,CAAC0I,IAAI;QACpB;QAEA,MAAMgD,YAAY,GAAGjC,KAAK,CAACC,OAAO,CAACiC,eAAe,CAACR,OAAO,CAAC;QAE3D;QACA;QACA,IAAIA,OAAO,CAACC,IAAI,KAAK,kBAAkB,IAAIM,YAAY,EAAE;UACvD,OAAOjC,KAAK,CAACC,OAAO,CAACwB,IAAI,CAACC,OAAO,CAAC;QACpC,CAAC,MAAM,IAAIO,YAAY,EAAE;UACvB,OAAO1L,MAAM,CAAC0I,IAAI;QACpB,CAAC,MAAM,IAAIyC,OAAO,CAACC,IAAI,KAAK,iBAAiB,IAAIQ,oBAAoB,CAAC7F,GAAG,CAACoF,OAAO,CAACG,QAAQ,CAACO,SAAS,CAAC,EAAE;UACrG,MAAMC,KAAK,GAAGF,oBAAoB,CAACL,GAAG,CAACJ,OAAO,CAACG,QAAQ,CAACO,SAAS,CAAE;UACnED,oBAAoB,CAACG,MAAM,CAACZ,OAAO,CAACG,QAAQ,CAACO,SAAS,CAAC;UACvDnB,sBAAsB,CAACqB,MAAM,CAACD,KAAK,CAAC;UACpCA,KAAK,CAACE,MAAM,CAAChM,MAAM,CAAC0I,IAAI,CAAC;QAC3B;QAEA;QACA;QACA,MAAMuD,eAAe,GAAGtL,cAAc,CAAC4K,GAAG,CAACW,qBAAqB,EAAEhH,OAAO,CAAC;QAC1E,IAAIpE,MAAM,CAACqE,MAAM,CAAC8G,eAAe,CAAC,EAAE;UAClCA,eAAe,CAAC3G,KAAK,CAAC6G,WAAW,CAACzF,GAAG,CAACyE,OAAO,CAACG,QAAQ,CAACO,SAAS,CAAC;UACjE,IAAIV,OAAO,CAACG,QAAQ,CAACF,IAAI,KAAK,WAAW,EAAE;YACzCa,eAAe,CAAC3G,KAAK,CAAC8G,UAAU,CAACC,GAAG,CAAClB,OAAO,CAACG,QAAQ,CAACO,SAAS,EAAEV,OAAmC,CAAC;UACvG;UACA,OAAOnL,MAAM,CAAC0I,IAAI;QACpB;QACA,OAAOe,KAAK,CAACC,OAAO,CAACwB,IAAI,CAACC,OAAO,CAAC;MACpC,CAAC,CAAC,EACDxD,KAAK,IAAI;QACR,MAAMwD,OAAO,GAAGV,QAAQ,CAACD,KAAK,CAAC;QAC/B,MAAM8B,KAAK,GAAGxM,KAAK,CAACyM,cAAc,CAAC5E,KAAK,CAAC;QACzC;QACA,IAAI1H,MAAM,CAACuM,OAAO,CAACF,KAAK,CAAC,EAAE;UACzB,IAAIxM,KAAK,CAAC2M,aAAa,CAAC9E,KAAK,CAAC,EAAE;YAC9B,OAAO3H,MAAM,CAAC0I,IAAI;UACpB;UACA,OAAO1I,MAAM,CAACoG,MAAM,CAACnC,OAAO,CAACyI,SAAS,CAACtK,KAAK,CAACuK,gBAAgB,CAACC,UAAU,CAAC;YACvElH,EAAE,EAAErC,YAAY,CAACwJ,UAAU,EAAE;YAC7BhB,SAAS,EAAEV,OAAO,CAACG,QAAQ,CAACO,SAAS;YACrCiB,MAAM,EAAEhN,KAAK,CAACiN,MAAM,CAACpF,KAAK;WAC3B,CAAC,CAAC,CAAC;QACN;QACA,IAAI2E,KAAK,CAACU,IAAI,CAAC5B,IAAI,KAAK,aAAa,EAAE;UACrC;UACA,OAAO6B,uBAAuB,CAAC9B,OAAuC,CAAC;QACzE;QACA,OAAOnL,MAAM,CAAC0I,IAAI;MACpB,CAAC,CACF;MAED,OAAO,IAAI,EAAE;QACX;QACA,OAAOtB,gBAAgB,CAACb,KAAK;QAE7B;QACA;QACAa,gBAAgB,CAACZ,WAAW,EAAE;QAE9B;QACA;QACA;QACA,OAAO4D,eAAe,CAAC8C,IAAI,CAAC,CAAC,CAAC;QAE9B7I,cAAc,CAACkF,OAAO,CAAEE,KAAK,IAAKA,KAAK,CAACC,OAAO,CAACyD,cAAc,EAAE,CAAC;QACjE,IAAIvB,oBAAoB,CAACjF,IAAI,GAAG,CAAC,EAAE;UACjCiF,oBAAoB,CAACrC,OAAO,CAAEuC,KAAK,IAAKpB,sBAAsB,CAAChE,GAAG,CAACoF,KAAK,CAAC,CAAC;QAC5E;QAEArB,QAAQ,GAAG,OAAOxG,OAAO,CAACmJ,mBAAmB,CAAC1I,cAAc,CAAC;QAC7D8F,KAAK,GAAG,CAAC;QACT,OAAOK,eAAe;QAEtB,IAAIH,sBAAsB,CAAC/D,IAAI,GAAG,CAAC,EAAE;UACnC+D,sBAAsB,CAACnB,OAAO,CAAC,CAAC;YAAE4B,OAAO;YAAEa;UAAM,CAAE,KAAI;YACrDJ,oBAAoB,CAACG,MAAM,CAACZ,OAAO,CAACG,QAAQ,CAACO,SAAS,CAAC;YACvDG,MAAM,CAAChM,MAAM,CAACqN,IAAI,CAAC,IAAIjM,yBAAyB,CAAC;cAAE8D,OAAO,EAAEiG,OAAO,CAACG,QAAQ,CAACpG;YAAO,CAAE,CAAC,CAAC,CAAC;UAC3F,CAAC,CAAC;UACFwF,sBAAsB,CAACR,KAAK,EAAE;QAChC;QACA,IAAItJ,cAAc,CAAC+F,IAAI,CAACiE,cAAc,CAAC,GAAG,CAAC,EAAE;UAC3C,KAAK,MAAM1F,OAAO,IAAI0F,cAAc,EAAE;YACpC,OAAO5K,MAAM,CAAC4H,UAAU,CAAC,qDAAqD,CAAC,CAAC/D,IAAI,CAClF7D,MAAM,CAACgI,YAAY,CAAC;cAAE9C;YAAO,CAAE,CAAC,CACjC;YACD,OAAOlF,MAAM,CAAC4G,MAAM,CAAC3C,OAAO,CAACqJ,YAAY,CAACpI,OAAO,CAAC,EAAE3B,aAAa,CAAC;UACpE;UACA3C,cAAc,CAACsJ,KAAK,CAACU,cAAc,CAAC;QACtC;QAEA;QACA,OAAOR,eAAe,CAACN,OAAO,CAAC,CAAC,CAAC;MACnC;IACF,CAAC,CAAC,CAACjG,IAAI,CACL7D,MAAM,CAACuN,MAAM,EACbvN,MAAM,CAACwN,QAAQ,CAACpD,eAAe,CAAC/D,UAAU,CAAC,EAC3CrG,MAAM,CAAC0H,aAAa,CAAEC,KAAK,IAAK3H,MAAM,CAAC4H,UAAU,CAAC,sCAAsC,EAAED,KAAK,CAAC,CAAC,EACjG3H,MAAM,CAACmJ,OAAO,EACdnJ,MAAM,CAACgI,YAAY,CAAC;MAClBC,OAAO,EAAE,iBAAiB;MAC1BC,MAAM,EAAE,UAAU;MAClBC,KAAK,EAAE,mBAAmB;MAC1BC,MAAM,EAAElC;KACT,CAAC,EACFlG,MAAM,CAACyN,0BAA0B,CAAC3M,MAAM,CAAC4M,IAAI,EAAE,CAAC,EAChD1N,MAAM,CAAC4G,MAAM,CAACrD,aAAa,CAAC,CAC7B;IAED;IACA,OAAO6D,gBAAgB,CAACC,IAAI,CAACxD,IAAI,CAC/B7D,MAAM,CAACgK,KAAK,CAAC9G,MAAM,CAAC6E,yBAAyB,CAAC,EAC9C/H,MAAM,CAACmJ,OAAO,EACdnJ,MAAM,CAAC4G,MAAM,CAACrD,aAAa,CAAC,CAC7B;IAED;IACA,MAAM2I,qBAAqB,GAAGvL,cAAc,CAAC6D,KAAK,EAG9C;IACJ,MAAMyI,uBAAuB,GAAIU,mBAAiD,IAAI;MACpF,MAAMzI,OAAO,GAAGyI,mBAAmB,CAACrC,QAAQ,CAACpG,OAAO;MACpD,MAAM+G,eAAe,GAAGtL,cAAc,CAAC4K,GAAG,CAACW,qBAAqB,EAAEhH,OAAO,CAAC;MAC1E,IAAIpE,MAAM,CAACqE,MAAM,CAAC8G,eAAe,CAAC,EAAE;QAClCA,eAAe,CAAC3G,KAAK,CAAC6G,WAAW,CAACzF,GAAG,CAACiH,mBAAmB,CAACrC,QAAQ,CAACO,SAAS,CAAC;QAC7E,OAAO7L,MAAM,CAAC0I,IAAI;MACpB;MACA/H,cAAc,CAAC0L,GAAG,CAACH,qBAAqB,EAAEhH,OAAO,EAAE;QACjDiH,WAAW,EAAE,IAAIxB,GAAG,CAAC,CAACgD,mBAAmB,CAACrC,QAAQ,CAACO,SAAS,CAAC,CAAC;QAC9DO,UAAU,EAAE,IAAI9H,GAAG;OACpB,CAAC;MACF,OAAOsJ,2BAA2B,CAAC1I,OAAO,CAAC;IAC7C,CAAC;IACD,MAAM0I,2BAA2B,GAAG5N,MAAM,CAAC6N,UAAU,CACnD,WAAU3I,OAAsB;MAC9B,MAAMuE,KAAK,GAAGpF,cAAc,CAACkH,GAAG,CAACrG,OAAO,CAACsG,UAAU,CAAC;MACpD,IAAI,CAAC/B,KAAK,EAAE;QACV9I,cAAc,CAAC8F,MAAM,CAACyF,qBAAqB,EAAEhH,OAAO,CAAC;QACrD;MACF;MAEA,MAAM+G,eAAe,GAAGnL,MAAM,CAACgN,UAAU,CAACnN,cAAc,CAAC4K,GAAG,CAACW,qBAAqB,EAAEhH,OAAO,CAAC,CAAC;MAC7F,IAAI6I,IAAI,GAAG,KAAK;MAEhB,OAAO,CAACA,IAAI,EAAE;QACZ;QACA,IAAI,CAACnN,cAAc,CAACmF,GAAG,CAACrB,cAAc,EAAEQ,OAAO,CAACc,OAAO,CAAC,EAAE;UACxD;QACF;QAEA;QACA,MAAMgI,UAAU,GAAGnO,GAAG,CAAC2E,KAAK,EAAuB;QACnD,KAAK,MAAMkB,EAAE,IAAIuG,eAAe,CAACE,WAAW,EAAE;UAC5C,IAAI6B,UAAU,CAAC7G,MAAM,KAAK,IAAI,EAAE;UAChC6G,UAAU,CAACC,IAAI,CAACvI,EAAE,CAAC;QACrB;QAEA,MAAM+E,QAAQ,GAAG,OAAOxG,OAAO,CAACiK,uBAAuB,CAACF,UAAU,CAAC;QAEnE;QACA,IAAIvD,QAAQ,CAACtD,MAAM,KAAK,CAAC,EAAE;UACzB,OAAOnH,MAAM,CAACyH,KAAK,CAACvE,MAAM,CAAC6E,yBAAyB,CAAC;UACrD;QACF;QAEA,IAAIyC,KAAK,GAAG,CAAC;QAEb,MAAM2D,aAAa,GAGfnO,MAAM,CAACoO,SAAS,CAClBpO,MAAM,CAACqI,OAAO,CAAC,MAAK;UAClB,IAAI,CAACzH,cAAc,CAACmF,GAAG,CAACrB,cAAc,EAAEQ,OAAO,CAACc,OAAO,CAAC,EAAE;YACxD,OAAOhG,MAAM,CAACqN,IAAI,CAAC,IAAIjM,yBAAyB,CAAC;cAAE8D;YAAO,CAAE,CAAC,CAAC;UAChE;UAEA,MAAMiG,OAAO,GAAGV,QAAQ,CAACD,KAAK,CAAC;UAC/B;UACA,MAAM6D,SAAS,GAAGlD,OAAO,CAACC,IAAI,KAAK,iBAAiB,IAClDa,eAAe,CAACG,UAAU,CAACb,GAAG,CAACJ,OAAO,CAACG,QAAQ,CAACO,SAAS,CAAC;UAC5D,OAAOwC,SAAS,GACdrO,MAAM,CAACuI,OAAO,CAACkB,KAAK,CAACC,OAAO,CAACwB,IAAI,CAACC,OAAO,CAAC,EAAE,MAAK;YAC/Cc,eAAe,CAACG,UAAU,CAACL,MAAM,CAACZ,OAAO,CAACG,QAAQ,CAACO,SAAS,CAAC;YAC7D,OAAOpC,KAAK,CAACC,OAAO,CAACwB,IAAI,CAACmD,SAAS,CAAC;UACtC,CAAC,CAAC,GACF5E,KAAK,CAACC,OAAO,CAACwB,IAAI,CAACC,OAAO,CAAC;QAC/B,CAAC,CAAC,EACF;UACEmD,WAAW,EAAEA,CAAA,KAAMtO,MAAM,CAACgK,KAAK,CAACmE,aAAa,EAAEjL,MAAM,CAACqL,iBAAiB,CAAC;UACxEpN,wBAAwB,EAAEA,CAAA,KAAMnB,MAAM,CAAC0I;SACxC,CACF;QAED,OAAO1I,MAAM,CAAC8K,SAAS,CAAC;UACtBC,KAAK,EAAEA,CAAA,KAAMP,KAAK,GAAGC,QAAQ,CAACtD,MAAM;UACpC8D,IAAI,EAAE1K,QAAQ,CAAC4N,aAAa,CAAC;UAC7BnD,IAAI,EAAEA,CAAA,KAAMR,KAAK;SAClB,CAAC;QAEF,KAAK,MAAM9E,EAAE,IAAIsI,UAAU,EAAE;UAC3B/B,eAAe,CAACE,WAAW,CAACJ,MAAM,CAACrG,EAAE,CAAC;QACxC;QACA,IAAIuG,eAAe,CAACE,WAAW,CAACxF,IAAI,GAAG,CAAC,EAAE;QAE1C;QACA,OAAO0D,mBAAmB,CAACrK,MAAM,CAACiK,IAAI,CAAC,MAAK;UAC1C,IAAIgC,eAAe,CAACE,WAAW,CAACxF,IAAI,KAAK,CAAC,EAAE;YAC1ChG,cAAc,CAAC8F,MAAM,CAACyF,qBAAqB,EAAEhH,OAAO,CAAC;YACrD6I,IAAI,GAAG,IAAI;UACb;QACF,CAAC,CAAC,CAAC;MACL;IACF,CAAC,EACD/N,MAAM,CAAC2I,KAAK,CAAC;MACXoC,KAAK,EAAGyD,CAAC,IAAKA,CAAC,CAACpD,IAAI,KAAK,kBAAkB;MAC3CvC,QAAQ,EAAE7H,QAAQ,CAAC8G,MAAM,CAAC5E,MAAM,CAAC6E,yBAAyB;KAC3D,CAAC,EACF/H,MAAM,CAAC0H,aAAa,CAAEC,KAAK,IAAK3H,MAAM,CAACsK,QAAQ,CAAC,uCAAuC,EAAE3C,KAAK,CAAC,CAAC,EAChG,CAAC8G,MAAM,EAAEvJ,OAAO,KACdlF,MAAM,CAACgI,YAAY,CAACyG,MAAM,EAAE;MAC1BxG,OAAO,EAAE,iBAAiB;MAC1BC,MAAM,EAAE,UAAU;MAClBC,KAAK,EAAE,+BAA+B;MACtCC,MAAM,EAAElC,WAAW;MACnBwI,MAAM,EAAExJ;KACT,CAAC,EACJ,CAACuJ,MAAM,EAAEvJ,OAAO,KACdlF,MAAM,CAACwN,QAAQ,CACbiB,MAAM,EACNzO,MAAM,CAACiK,IAAI,CAAC,MAAMtJ,cAAc,CAAC8F,MAAM,CAACyF,qBAAqB,EAAEhH,OAAO,CAAC,CAAC,CACzE,EACHlF,MAAM,CAACyN,0BAA0B,CAAC3M,MAAM,CAAC4M,IAAI,EAAE,CAAC,EAChD1N,MAAM,CAAC4G,MAAM,CAACrD,aAAa,CAAC,CAC7B;EACH;EAEA;EAEA,MAAMoL,SAAS,GAA6DxD,OAAU,IACpFnL,MAAM,CAACqI,OAAO,CAAC,SAASuG,IAAIA,CAAA;IAO1B,MAAM1J,OAAO,GAAGiG,OAAO,CAACG,QAAQ,CAACpG,OAAO;IACxC,IAAI,CAACY,qBAAqB,CAACZ,OAAO,CAAC,EAAE;MACnC,OAAOlF,MAAM,CAACqN,IAAI,CAAC,IAAIjM,yBAAyB,CAAC;QAAE8D;MAAO,CAAE,CAAC,CAAC;IAChE;IACA,MAAMuE,KAAK,GAAGpF,cAAc,CAACkH,GAAG,CAACrG,OAAO,CAACsG,UAAU,CAAC;IACpD,IAAI,CAAC/B,KAAK,EAAE;MACV,OAAOzJ,MAAM,CAACuI,OAAO,CAACsG,oBAAoB,CAAC3J,OAAO,CAACsG,UAAU,CAAC,EAAEoD,IAAI,CAAC;IACvE,CAAC,MAAM,IAAInF,KAAK,CAACgC,MAAM,IAAKhI,UAAU,CAAC4H,OAAO,IAAIF,OAAO,CAACC,IAAI,KAAK,iBAAkB,EAAE;MACrF;MACA,OAAOpL,MAAM,CAACqN,IAAI,CAAC,IAAIjM,yBAAyB,CAAC;QAAE8D;MAAO,CAAE,CAAC,CAAC;IAChE;IAEA,OAAOiG,OAAO,CAACC,IAAI,KAAK,iBAAiB,IAAID,OAAO,CAACC,IAAI,KAAK,kBAAkB,GAC9E3B,KAAK,CAACC,OAAO,CAACwB,IAAI,CAACC,OAAO,CAAC,GAC3BhI,cAAc,CAACwL,SAAS,CAAC;MACvBxD,OAAO;MACPD,IAAI,EAAEzB,KAAK,CAACC,OAAO,CAACiF,SAAS;MAC7BG,2BAA2B,EAAE5L,MAAM,CAAC4L;KACrC,CAAQ;EACb,CAAC,CAAC;EAMJ,MAAMlD,oBAAoB,GAAG,IAAItH,GAAG,EAA4C;EAChF,MAAMyK,WAAW,GAAGA,CAClB5D,OAAU,EACVtB,OAAgB,EAChBmF,OAEC,KAEDhP,MAAM,CAACqI,OAAO,CAAC,SAASuG,IAAIA,CAAA;IAM1B,MAAM1J,OAAO,GAAGiG,OAAO,CAACG,QAAQ,CAACpG,OAAO;IACxC,MAAMuE,KAAK,GAAGpF,cAAc,CAACkH,GAAG,CAACrG,OAAO,CAACsG,UAAU,CAAC;IACpD,IAAI,CAAC/B,KAAK,EAAE;MACV,OAAOzJ,MAAM,CAACuI,OAAO,CAACsG,oBAAoB,CAAC3J,OAAO,CAACsG,UAAU,CAAC,EAAEoD,IAAI,CAAC;IACvE,CAAC,MAAM,IAAInF,KAAK,CAACgC,MAAM,IAAI,CAAC3F,qBAAqB,CAACZ,OAAO,CAAC,EAAE;MAC1D,OAAOlF,MAAM,CAACqN,IAAI,CAAC,IAAIjM,yBAAyB,CAAC;QAAE8D;MAAO,CAAE,CAAC,CAAC;IAChE;IAEA,MAAM+J,OAAO,GAAGnJ,qBAAqB,CAACZ,OAAO,CAAC;IAC9C,MAAMgK,MAAM,GAAGhL,cAAc,GACzBiG,oBAAoB,GACpB,MAAMnK,MAAM,CAACmP,GAAG,CAAC,2CAA2C,CAAC;IAEjE,IAAIhE,OAAO,CAACC,IAAI,KAAK,iBAAiB,IAAID,OAAO,CAACC,IAAI,KAAK,kBAAkB,EAAE;MAC7E,IAAI,CAAC6D,OAAO,EAAE;QACZ,OAAOjP,MAAM,CAACqN,IAAI,CAAC,IAAIjM,yBAAyB,CAAC;UAAE8D;QAAO,CAAE,CAAC,CAAC;MAChE,CAAC,MAAM,IACLiG,OAAO,CAACC,IAAI,KAAK,iBAAiB,IAAI3B,KAAK,CAACC,OAAO,CAACiC,eAAe,CAACR,OAAO,EAAE;QAAEiE,cAAc,EAAE;MAAI,CAAE,CAAC,EACtG;QACA,OAAOpP,MAAM,CAACqN,IAAI,CAAC,IAAIlM,wBAAwB,CAAC;UAAE+D,OAAO;UAAEmK,UAAU,EAAElE,OAAO,CAACG,QAAQ,CAACO;QAAS,CAAE,CAAC,CAAC;MACvG,CAAC,MAAM,IAAIV,OAAO,CAACC,IAAI,KAAK,iBAAiB,IAAI4D,OAAO,EAAEM,aAAa,EAAE;QACvE,IAAI,CAACpL,cAAc,EAAE,OAAOgL,MAAM,EAAE;QACpC,OAAOlP,MAAM,CAACuP,KAAK,CAAmCvD,MAAM,IAAI;UAC9D,IAAIF,KAAK,GAAGF,oBAAoB,CAACL,GAAG,CAACJ,OAAO,CAACG,QAAQ,CAACO,SAAS,CAAC;UAChE,IAAIC,KAAK,EAAE;YACT,MAAM0D,UAAU,GAAG1D,KAAK,CAACE,MAAM;YAC/BF,KAAK,CAACE,MAAM,GAAIyC,MAAM,IAAI;cACxBe,UAAU,CAACf,MAAM,CAAC;cAClBzC,MAAM,CAACyC,MAAM,CAAC;YAChB,CAAC;YACD;UACF;UACA3C,KAAK,GAAG;YAAEE,MAAM;YAAEb;UAAO,CAAE;UAC3BS,oBAAoB,CAACS,GAAG,CAAClB,OAAO,CAACG,QAAQ,CAACO,SAAS,EAAEC,KAAK,CAAC;UAC3D1E,gBAAgB,CAACd,UAAU,EAAE;QAC/B,CAAC,CAAC;MACJ;MACA,OAAO4I,MAAM,EAAE;IACjB;IAEA,OAAO/L,cAAc,CAAC4L,WAAW,CAAC;MAAE5D,OAAO;MAAE+D,MAAM;MAAErF,OAAO;MAAE4F,WAAW,EAAE,CAACR;IAAO,CAAE,CAAQ;EAC/F,CAAC,CAAC;EAEJ,SAASS,YAAYA,CACnBvE,OAA8B,EAC9BtB,OAAgB,EAChB8F,OAAgB;IAKhB,OAAO3P,MAAM,CAAC4P,OAAO,CACnB5P,MAAM,CAACqI,OAAO,CAAC,MAAK;MAClB,MAAMnD,OAAO,GAAGiG,OAAO,CAACG,QAAQ,CAACpG,OAAO;MACxC,MAAM2K,WAAW,GAAG9P,OAAO,CAACwL,GAAG,CAACJ,OAAO,CAAC2E,GAAG,CAACC,WAAW,EAAEzO,SAAS,CAAC;MACnE,IAAIuO,WAAW,IAAI,CAAC3L,cAAc,EAAE;QAClC,OAAOlE,MAAM,CAACmP,GAAG,CAAC,kEAAkE,CAAC;MACvF;MACA,MAAMa,WAAW,GAAGrP,cAAc,CAAC4K,GAAG,CAAChH,gBAAgB,EAAEW,OAAO,CAACc,OAAO,CAAC;MACzE,MAAMiK,aAAa,GAAGnP,MAAM,CAACqE,MAAM,CAAC6K,WAAW,CAAC,IAAI/K,aAAa,CAAC+K,WAAW,CAAC1K,KAAK,CAAC;MACpF,IAAIuK,WAAW,EAAE;QACf,OAAOI,aAAa,GAChBlB,WAAW,CAAC5D,OAAO,EAAEtB,OAAO,CAAC,GAC7B1G,cAAc,CAAC+L,MAAM,CAAC;UAAEhK,OAAO,EAAE8K,WAAW;UAAE7E,OAAO;UAAEtB;QAAO,CAAE,CAAC;MACvE,CAAC,MAAM,IAAI/I,MAAM,CAACoP,MAAM,CAACF,WAAW,CAAC,EAAE;QACrC,OAAOhQ,MAAM,CAACqN,IAAI,CAAC,IAAIjM,yBAAyB,CAAC;UAAE8D;QAAO,CAAE,CAAC,CAAC;MAChE;MACA,OAAO+K,aAAa,GAChBtB,SAAS,CAACxD,OAAO,CAAC,GAClBhI,cAAc,CAAC+H,IAAI,CAAC;QAAEhG,OAAO,EAAE8K,WAAW,CAAC1K,KAAK;QAAE6F;MAAO,CAAE,CAAC;IAClE,CAAC,CAAC,EACDmB,KAAK,IAAKA,KAAK,CAAClB,IAAI,KAAK,2BAA2B,IAAIkB,KAAK,CAAClB,IAAI,KAAK,mBAAmB,EAC1FkB,KAAK,IAAI;MACR,IAAIqD,OAAO,KAAK,CAAC,EAAE;QACjB,OAAO3P,MAAM,CAACmP,GAAG,CAAC7C,KAAK,CAAC;MAC1B;MACA,OAAOtM,MAAM,CAACgK,KAAK,CAAC0F,YAAY,CAACvE,OAAO,EAAEtB,OAAO,EAAE8F,OAAO,IAAIA,OAAO,GAAG,CAAC,CAAC,EAAEzM,MAAM,CAACqL,iBAAiB,CAAC;IACvG,CAAC,CACF;EACH;EAEA,MAAM4B,KAAK,GAA+BtE,SAAS,IACjD7L,MAAM,CAACoQ,UAAU,CAACnM,OAAO,CAACoM,YAAY,CAACxE,SAAS,CAAC,EAAE;IACjDyE,SAAS,EAAEA,CAAA,KAAM,IAAI;IACrBC,SAAS,EAAEA,CAAA,KAAM;GAClB,CAAC;EAEJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA,MAAMC,UAAU,GAAG1P,MAAM,CAACqE,MAAM,CAACjC,MAAM,CAACkC,aAAa,CAAC,GACpD,IAAI/C,MAAM,CAAC;IACT6C,OAAO,EAAEhC,MAAM,CAACkC,aAAa,CAACE,KAAK;IACnCmL,MAAM,EAAEvN,MAAM,CAACwN,WAAW;IAC1BC,MAAM,EAAEzN,MAAM,CAAC0N;GAChB,CAAC,GACFC,SAAS;EAEX,IAAIC,UAAU,GAAGnQ,cAAc,CAAC6D,KAAK,EAAmB;EACxD,IAAIuM,kBAAkB,GAAG,CAAC;EAE1B;EACA,IAAIP,UAAU,EAAE;IACdnP,cAAc,CAAC2P,OAAO,CAACzJ,YAAY,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAClDnG,cAAc,CAAC4P,cAAc,CAAC1J,YAAY,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;EAC3D;EAEA,OAAOxH,MAAM,CAACiD,GAAG,CAAC,aAAS;IACzB,MAAMiO,SAAS,GAAG,IAAI5M,GAAG,EAA4C;IACrE,IAAI6M,WAAW,GAAGxQ,cAAc,CAAC6D,KAAK,EAAmB;IACzD,MAAM4M,cAAc,GAAGxQ,cAAc,CAAC4D,KAAK,EAAU;IAErD,OAAO,IAAI,EAAE;MACX;MACA,IAAIgM,UAAU,IAAI,CAAC/M,UAAU,CAAC4H,OAAO,IAAI,CAAC1K,cAAc,CAACoF,GAAG,CAAC+K,UAAU,EAAEN,UAAU,CAAC,EAAE;QACpF,OAAOxQ,MAAM,CAACsK,QAAQ,CAAC,oBAAoB,EAAEkG,UAAU,CAAC;QACxD,MAAMa,SAAS,GAAG,OAAOjN,aAAa,CAACkN,QAAQ,CAACd,UAAU,EAAE,IAAI,CAAC;QACjE,OAAOnN,YAAY,CAACkO,YAAY,CAACF,SAAS,CAAC;MAC7C;MAEA,MAAML,OAAO,GAAG,OAAO5M,aAAa,CAACoN,UAAU;MAC/C,IAAIC,OAAO,GAAG,KAAK;MACnB,KAAK,IAAIhJ,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGuI,OAAO,CAAC7J,MAAM,EAAEsB,CAAC,EAAE,EAAE;QACvC,MAAM,CAACL,MAAM,EAAEsJ,OAAO,CAAC,GAAGV,OAAO,CAACvI,CAAC,CAAC;QACpC9H,cAAc,CAAC0L,GAAG,CAAC8E,WAAW,EAAE/I,MAAM,EAAEsJ,OAAO,CAAC;QAChD,MAAMC,UAAU,GAAG/Q,cAAc,CAACmF,GAAG,CAACqL,cAAc,EAAEhJ,MAAM,CAAC;QAC7D,IAAI,CAACsJ,OAAO,IAAIC,UAAU,EAAE;UAC1B,IAAID,OAAO,KAAKC,UAAU,IAAI,CAACA,UAAU,EAAE;YACzC;YACAhR,cAAc,CAAC8F,MAAM,CAACqK,UAAU,EAAE1I,MAAM,CAAC;UAC3C;UACA;QACF;QACAqJ,OAAO,GAAG,IAAI;QACd7Q,cAAc,CAAC8F,GAAG,CAAC0K,cAAc,EAAEhJ,MAAM,CAAC;QAC1CzH,cAAc,CAAC8F,MAAM,CAACqK,UAAU,EAAE1I,MAAM,CAAC;QACzC,KAAK,IAAIwJ,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGxJ,MAAM,CAACqI,MAAM,CAACtJ,MAAM,EAAEyK,CAAC,EAAE,EAAE;UAC7C,MAAMnM,KAAK,GAAG2C,MAAM,CAACqI,MAAM,CAACmB,CAAC,CAAC;UAC9B,IAAIC,IAAI,GAAGX,SAAS,CAAC3F,GAAG,CAAC9F,KAAK,CAAC;UAC/B,IAAI,CAACoM,IAAI,EAAE;YACTA,IAAI,GAAGpR,QAAQ,CAACgB,IAAI,EAAE;YACtByP,SAAS,CAAC7E,GAAG,CAAC5G,KAAK,EAAEoM,IAAI,CAAC;UAC5B;UACApR,QAAQ,CAACiG,GAAG,CAACmL,IAAI,EAAEzJ,MAAM,CAAClD,OAAO,EAAE;YAAEyL,MAAM,EAAEvI,MAAM,CAACuI;UAAM,CAAE,CAAC;QAC/D;MACF;MAEA;MACAhQ,cAAc,CAAC4I,OAAO,CAACuH,UAAU,EAAE,CAACgB,CAAC,EAAE1J,MAAM,KAAI;QAC/CqJ,OAAO,GAAG,IAAI;QACd9Q,cAAc,CAAC8F,MAAM,CAACqK,UAAU,EAAE1I,MAAM,CAAC;QACzCxH,cAAc,CAAC6F,MAAM,CAAC2K,cAAc,EAAEhJ,MAAM,CAAC;QAC7CzE,OAAO,CAACR,cAAc,CAAC4O,mBAAmB,CAAC3J,MAAM,CAAClD,OAAO,CAAC,CAAC;QAC3D,KAAK,IAAIuD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,MAAM,CAACqI,MAAM,CAACtJ,MAAM,EAAEsB,CAAC,EAAE,EAAE;UAC7ChI,QAAQ,CAACgG,MAAM,CAACyK,SAAS,CAAC3F,GAAG,CAACnD,MAAM,CAACqI,MAAM,CAAChI,CAAC,CAAC,CAAE,EAAEL,MAAM,CAAClD,OAAO,CAAC;QACnE;MACF,CAAC,CAAC;MAEF;MACA,MAAM8M,WAAW,GAAGlB,UAAU;MAC9BA,UAAU,GAAGK,WAAW;MACxBA,WAAW,GAAGa,WAAW;MACzBjB,kBAAkB,GAAGnQ,cAAc,CAAC+F,IAAI,CAACyK,cAAc,CAAC;MAExD;MACA,IAAIZ,UAAU,IAAI,CAAC/M,UAAU,CAAC4H,OAAO,IAAI,CAAC1K,cAAc,CAACoF,GAAG,CAAC+K,UAAU,EAAEN,UAAU,CAAC,EAAE;QACpF;MACF;MAEA;MACA,IAAIiB,OAAO,EAAE;QACX7Q,cAAc,CAACsJ,KAAK,CAACzF,UAAU,CAAC;QAChCyM,SAAS,CAAC3H,OAAO,CAAC,CAACsI,IAAI,EAAEpM,KAAK,KAAI;UAChC,MAAMwM,cAAc,GAAGxR,QAAQ,CAACyR,SAAS,CAACL,IAAI,EAAE3O,MAAM,CAAC2C,cAAc,CAAC;UACtE,KAAK,IAAI4C,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGvF,MAAM,CAAC2C,cAAc,EAAE4C,CAAC,EAAE,EAAE;YAC9C,MAAM0J,KAAK,GAAG1P,WAAW,CAACgD,KAAK,EAAEgD,CAAC,GAAG,CAAC,CAAC;YACvC,IAAIwJ,cAAc,EAAE;cAClB,MAAM7J,MAAM,GAAG6J,cAAc,CAACxJ,CAAC,CAAC;cAChC9H,cAAc,CAAC0L,GAAG,CAAC9H,gBAAgB,EAAE4N,KAAK,EAAE/J,MAAM,CAAC;cACnD,IAAInD,aAAa,CAACmD,MAAM,CAAC,EAAE;gBACzBxH,cAAc,CAAC8F,GAAG,CAACjC,UAAU,EAAE0N,KAAK,CAAC;cACvC;YACF,CAAC,MAAM;cACLxR,cAAc,CAAC8F,MAAM,CAAClC,gBAAgB,EAAE4N,KAAK,CAAC;YAChD;UACF;QACF,CAAC,CAAC;QACF,OAAOnS,MAAM,CAACsK,QAAQ,CAAC,uBAAuB,EAAE7F,UAAU,CAAC;QAC3DE,iBAAiB,CAAC2B,UAAU,EAAE;QAE9B;QACA,IAAIkK,UAAU,EAAE;UACdnP,cAAc,CAAC4P,cAAc,CAAC1J,YAAY,CACxCC,MAAM,CAAC5G,cAAc,CAACmF,GAAG,CAACqL,cAAc,EAAEZ,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAC9D,EAAE,CACH;QACH;MACF;MAEA,IAAIA,UAAU,IAAI5P,cAAc,CAAC+F,IAAI,CAACyK,cAAc,CAAC,KAAK,CAAC,EAAE;QAC3D,OAAOpR,MAAM,CAAC4H,UAAU,CAAC,8BAA8B,CAAC;QACxD;QACA;QACA,OAAOxD,aAAa,CAACgO,eAAe,CAAC5B,UAAU,CAACtL,OAAO,EAAE,IAAI,CAAC;MAChE;MAEA,OAAOlF,MAAM,CAACyH,KAAK,CAACvE,MAAM,CAACmP,0BAA0B,CAAC;IACxD;EACF,CAAC,CAAC,CAACxO,IAAI,CACL7D,MAAM,CAAC0H,aAAa,CAAEC,KAAK,IAAK3H,MAAM,CAACsK,QAAQ,CAAC3C,KAAK,CAAC,CAAC,EACvD3H,MAAM,CAAC6H,MAAM,CAAC7G,QAAQ,CAAC8G,MAAM,CAAC,IAAI,CAAC,CAAC,EACpC9H,MAAM,CAACgI,YAAY,CAAC;IAClBC,OAAO,EAAE,iBAAiB;IAC1BC,MAAM,EAAE,UAAU;IAClBC,KAAK,EAAE,oBAAoB;IAC3BC,MAAM,EAAElF,MAAM,CAACkC;GAChB,CAAC,EACFpF,MAAM,CAAC4G,MAAM,CAACrD,aAAa,CAAC,CAC7B;EASD,MAAM+O,cAAc,GAAG,IAAIhO,GAAG,EAA2C;EAEzE,MAAMiO,OAAO,GAOT,OAAOtQ,WAAW,CAACR,IAAI,CAACzB,MAAM,CAAC6N,UAAU,CAAC,WAAUa,MAA2B;IACjF,MAAM8D,MAAM,GAAG,OAAO7S,SAAS,CAAC8S,mBAAmB,CAAC/D,MAAM,CAACgE,QAAQ,EAAE;MACnEC,UAAU,EAAE,GAAGjE,MAAM,CAACkE,IAAI,SAAS;MACnCC,cAAc,EAAE,CAAC9S,OAAO,CAACwL,GAAG,CAACmD,MAAM,CAACgE,QAAQ,CAAC3C,WAAW,EAAEvO,aAAa,CAACsR,oBAAoB,CAAC;MAC7FC,WAAW,EAAE,IAAI;MACjBC,iBAAiB,EAAEA,CAAA,KAAMpT,SAAS,CAACyD,YAAY,CAACwJ,UAAU,EAAE,CAAC;MAC7DoG,OAAO,EAAE,IAAI;MACbC,YAAYA,CAAClE,OAAO;QAIlB,MAAM9J,OAAO,GAAGnF,OAAO,CAACoT,SAAS,CAACnE,OAAO,CAACjL,OAAO,EAAEqP,gBAAgB,CAAC;QACpE,QAAQpE,OAAO,CAAC7D,OAAO,CAACC,IAAI;UAC1B,KAAK,SAAS;YAAE;cACd,MAAMjD,KAAK,GAAGrH,MAAM,CAACgN,UAAU,CAAC3N,KAAK,CAACkT,eAAe,EAAE,CAAC;cACxD,MAAM3N,EAAE,GAAG5C,SAAS,CAACA,SAAS,CAACkM,OAAO,CAAC7D,OAAO,CAACzF,EAAE,CAAC;cAClD,MAAMoK,GAAG,GAAGpB,MAAM,CAACgE,QAAQ,CAACY,QAAQ,CAAC/H,GAAG,CAACyD,OAAO,CAAC7D,OAAO,CAACoI,GAAG,CAAE;cAC9D,IAAIC,OAAyD;cAC7D,IAAI,CAACxE,OAAO,CAACnF,OAAO,EAAE;gBACpB,MAAMiC,KAAK,GAAuB;kBAChCgE,GAAG,EAAEA,GAAU;kBACf2D,QAAQ,EAAEtL,KAAK,CAACuL;iBACjB;gBACDpB,cAAc,CAACjG,GAAG,CAAC3G,EAAE,EAAEoG,KAAK,CAAC;gBAC7B0H,OAAO,GAAGG,iBAAiB,CAAC7H,KAAK,EAAE0G,MAAM,CAACoB,KAAK,CAAC;cAClD,CAAC,MAAM;gBACLJ,OAAO,GAAGK,oBAAoB;cAChC;cACA,OAAOnE,YAAY,CACjB,IAAIxN,OAAO,CAAC4R,eAAe,CAAC;gBAC1BxI,QAAQ,EAAE1J,QAAQ,CAACmS,WAAW,CAAC;kBAC7BlI,SAAS,EAAEnG,EAAE;kBACbR,OAAO;kBACPqO,GAAG,EAAEvE,OAAO,CAAC7D,OAAO,CAACoI,GAAG;kBACxBS,OAAO,EAAEhF,OAAO,CAAC7D,OAAO,CAAC6I,OAAO;kBAChCC,OAAO,EAAEjF,OAAO,CAAC7D,OAAO,CAAC8I,OAAO;kBAChCC,OAAO,EAAElF,OAAO,CAAC7D,OAAO,CAAC+I,OAAO;kBAChCC,MAAM,EAAEnF,OAAO,CAAC7D,OAAO,CAACgJ,MAAM;kBAC9BC,OAAO,EAAEpF,OAAO,CAAC7D,OAAO,CAACiJ;iBAC1B,CAAC;gBACFC,iBAAiB,EAAEvT,MAAM,CAAC4M,IAAI,EAAE;gBAChCoC,GAAG;gBACH/L,OAAO,EAAEoE,KAAK,CAACuL,cAAsC;gBACrDF;eACD,CAAC,EACFxE,OAAO,CAACnF,OAAO,CAChB;YACH;UACA,KAAK,KAAK;YAAE;cACV,MAAMgC,SAAS,GAAG/I,SAAS,CAACA,SAAS,CAACkM,OAAO,CAAC7D,OAAO,CAACU,SAAS,CAAC;cAChE,MAAMC,KAAK,GAAGwG,cAAc,CAAC/G,GAAG,CAACM,SAAS,CAAC;cAC3C,IAAI,CAACC,KAAK,EAAE,OAAO9L,MAAM,CAAC0I,IAAI;cAC9B,OAAOgH,YAAY,CACjB,IAAIxN,OAAO,CAACoS,gBAAgB,CAAC;gBAC3BhJ,QAAQ,EAAE,IAAI1J,QAAQ,CAAC2S,QAAQ,CAAC;kBAC9B7O,EAAE,EAAErC,YAAY,CAACwJ,UAAU,EAAE;kBAC7B3H,OAAO;kBACP2G,SAAS;kBACT2I,OAAO,EAAE1I,KAAK,CAAC2I;iBAChB,CAAC;gBACF3E,GAAG,EAAEhE,KAAK,CAACgE;eACZ,CAAC,EACF,KAAK,CACN;YACH;UACA,KAAK,WAAW;YAAE;cAChB,MAAMjE,SAAS,GAAG/I,SAAS,CAACA,SAAS,CAACkM,OAAO,CAAC7D,OAAO,CAACU,SAAS,CAAC;cAChE,MAAMC,KAAK,GAAGwG,cAAc,CAAC/G,GAAG,CAACM,SAAS,CAAE;cAC5C,IAAI,CAACC,KAAK,EAAE,OAAO9L,MAAM,CAAC0I,IAAI;cAC9B4J,cAAc,CAACvG,MAAM,CAACF,SAAS,CAAC;cAChC,IAAItK,eAAe,CAACmT,SAAS,CAAC5I,KAAK,CAACgE,GAAG,CAACC,WAAW,CAAC,EAAE;gBACpD,OAAO/P,MAAM,CAAC0I,IAAI;cACpB;cACA;cACA;cACA,MAAMiM,oBAAoB,GAAG9T,UAAU,CAAC0K,GAAG,CAAC9H,UAAU,CAAC,IACrDuL,OAAO,CAAC7D,OAAO,CAACyJ,YAAY,CAACC,IAAI,CAAEnP,EAAE,IAAK1D,oBAAoB,CAAC+D,GAAG,CAACL,EAAE,CAAC,CAAC;cACzE,IAAIiP,oBAAoB,IAAI5U,OAAO,CAACwL,GAAG,CAACO,KAAK,CAACgE,GAAG,CAACC,WAAW,EAAEzO,SAAS,CAAC,EAAE;gBACzE,OAAOtB,MAAM,CAAC0I,IAAI;cACpB;cACA,OAAO1I,MAAM,CAACoG,MAAM,CAACsJ,YAAY,CAC/B,IAAIxN,OAAO,CAACoS,gBAAgB,CAAC;gBAC3BhJ,QAAQ,EAAE,IAAI1J,QAAQ,CAACkT,SAAS,CAAC;kBAC/BpP,EAAE,EAAErC,YAAY,CAACwJ,UAAU,EAAE;kBAC7B3H,OAAO;kBACP2G;iBACD,CAAC;gBACFiE,GAAG,EAAEhE,KAAK,CAACgE;eACZ,CAAC,EACF,KAAK,EACL,CAAC,CACF,CAAC;YACJ;QACF;QACA,OAAO9P,MAAM,CAAC0I,IAAI;MACpB;KACD,CAAC;IAEF,OAAOzH,KAAK,CAACsJ,YAAY,CACvB,OAAOvK,MAAM,CAACwD,KAAK,EACnBxD,MAAM,CAAC+U,gBAAgB,CAAE5M,KAAK,IAAI;MAChCnG,oBAAoB,CAAC0E,GAAG,CAACyB,KAAK,CAACzC,EAAE,EAAE,CAAC;MACpC,OAAO1F,MAAM,CAAC0I,IAAI;IACpB,CAAC,CAAC,CACH;IAED,OAAQlD,QAAgB,IAAI;MAC1B,MAAME,EAAE,GAAG/D,YAAY,CAAC6D,QAAQ,CAAC;MACjC,MAAMN,OAAO,GAAGkO,gBAAgB,CAACrP,OAAO,CAACrC,iBAAiB,CAAC;QACzDsE,OAAO,EAAET,UAAU,CAACG,EAAE,EAAEgJ,MAAM,CAACsG,aAAa,CAACxP,QAAoB,CAAC,CAAC;QACnEA,QAAQ,EAAEE,EAAE;QACZ8F,UAAU,EAAEkD,MAAM,CAACkE;OACpB,CAAC,CAAC;MACH,MAAMqC,QAAQ,GAAG,SAAAA,CAAS1B,GAAW,EAAES,OAAY,EAAEhF,OAEpD;QACC,MAAMjL,OAAO,GAAGiL,OAAO,EAAEjL,OAAO,GAAGhE,OAAO,CAACmV,KAAK,CAAClG,OAAO,CAACjL,OAAO,EAAEmB,OAAO,CAAC,GAAGA,OAAO;QACpF,OAAOsN,MAAM,CAACA,MAAM,CAACe,GAAG,EAAES,OAAO,EAAE;UACjC,GAAGhF,OAAO;UACVjL;SACD,CAAC;MACJ,CAAC;MACD,MAAMoR,WAAW,GAAQ,EAAE;MAC3B,OAAO,IAAIC,KAAK,CAACD,WAAW,EAAE;QAC5BpP,GAAGA,CAAC+L,CAAC,EAAEuD,CAAC;UACN,OAAO3G,MAAM,CAACgE,QAAQ,CAACY,QAAQ,CAACvN,GAAG,CAACsP,CAAW,CAAC;QAClD,CAAC;QACD9J,GAAGA,CAAC+J,MAAM,EAAED,CAAC;UACX,IAAIA,CAAC,IAAIC,MAAM,EAAE;YACf,OAAOA,MAAM,CAACD,CAAC,CAAC;UAClB,CAAC,MAAM,IAAI,CAAC3G,MAAM,CAACgE,QAAQ,CAACY,QAAQ,CAACvN,GAAG,CAACsP,CAAW,CAAC,EAAE;YACrD,OAAOxE,SAAS;UAClB;UACA,OAAOyE,MAAM,CAACD,CAAC,CAAC,GAAG,CAACrB,OAAY,EAAEhF,OAAY,KAAKiG,QAAQ,CAACI,CAAW,EAAErB,OAAO,EAAEhF,OAAO,CAAC;QAC5F;OACD,CAAC;IACJ,CAAC;EACH,CAAC,CAAC,CAAC;EAEH,MAAMuG,UAAU,GAA+C7G,MAA0B,IAIpF6D,OAAO,CAAChH,GAAG,CAACmD,MAAM,CAAQ;EAE/B,MAAMmF,oBAAoB,GAAI2B,MAAwB,IAAKxV,MAAM,CAAC0I,IAAI;EAEtE,MAAMiL,iBAAiB,GAAGA,CACxB7H,KAAyB,EACzB8H,KAAsD,KAEvD6B,KAAuB,IAAI;IAC1B,QAAQA,KAAK,CAACrK,IAAI;MAChB,KAAK,OAAO;QAAE;UACZU,KAAK,CAAC2I,WAAW,GAAGgB,KAAK,CAAC/P,EAAE;UAC5B,OAAOkO,KAAK,CAAC;YACXxI,IAAI,EAAE,OAAO;YACbsK,QAAQ,EAAE,CAAC;YACX7J,SAAS,EAAEjM,SAAS,CAAC6V,KAAK,CAAC5J,SAAS,CAAC;YACrCrC,MAAM,EAAEiM,KAAK,CAACjM;WACf,CAAC;QACJ;MACA,KAAK,UAAU;QAAE;UACf8I,cAAc,CAACvG,MAAM,CAAC0J,KAAK,CAAC5J,SAAS,CAAC;UACtC,OAAO+H,KAAK,CAAC;YACXxI,IAAI,EAAE,MAAM;YACZsK,QAAQ,EAAE,CAAC;YACX7J,SAAS,EAAEjM,SAAS,CAAC6V,KAAK,CAAC5J,SAAS,CAAC;YACrC8J,IAAI,EAAEF,KAAK,CAACE;WACb,CAAC;QACJ;IACF;EACF,CAAC;EAED;EAEA,MAAMC,UAAU,GAAG,IAAItR,GAAG,EAAiF;EAC3G,MAAMuR,eAAe,GAAG,OAAOzV,QAAQ,CAACqB,IAAI,EAAoB;EAChE,MAAMqU,iBAAiB,GAAG9V,MAAM,CAACqJ,mBAAmB,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC;EAEtE,MAAMyM,iBAAiB,GAA0C/V,MAAM,CAAC6N,UAAU,CAChF,WAAUmI,IAAI,EAAEC,GAAG,EAAEjH,OAAO;IAC1B,MAAMkH,UAAU,GAAGlH,OAAO,EAAEkH,UAAU,IAAI,SAAS;IACnD,MAAMhR,OAAO,GAAG,IAAIrC,gBAAgB,CAAC;MACnCmD,OAAO,EAAET,UAAU,CAAC5D,YAAY,CAACqU,IAAI,CAAC,EAAEE,UAAU,CAAC;MACnDF;KACD,CAAC;IAEF,IAAIG,GAAG,GAAGP,UAAU,CAACrK,GAAG,CAACrG,OAAO,CAACc,OAAO,CAAC;IACzC,IAAI,CAACmQ,GAAG,EAAE;MACRA,GAAG,GAAGxV,cAAc,CAAC6D,KAAK,EAAE;MAC5BoR,UAAU,CAACvJ,GAAG,CAACnH,OAAO,CAACc,OAAO,EAAEmQ,GAAG,CAAC;IACtC;IACA,IAAIxV,cAAc,CAACoF,GAAG,CAACoQ,GAAG,EAAEjR,OAAO,CAAC,EAAE;MACpC,OAAO,OAAOlF,MAAM,CAACmP,GAAG,CAAC,cAAc6G,IAAI,yBAAyB,CAAC;IACvE;IAEA,MAAMjS,OAAO,GAAG,OAAO/D,MAAM,CAAC+D,OAAO,EAAS;IAC9C,MAAMqS,UAAU,GAAGH,GAAG,CAACpS,IAAI,CACzB7D,MAAM,CAACqW,OAAO,CAAChW,QAAQ,CAACiW,qBAAqB,EAAE9V,OAAO,CAACgE,KAAK,EAAE,CAAC,EAC/DxE,MAAM,CAAC+I,OAAO,CAAC/I,MAAM,CAACuW,KAAK,CAAC,EAC5BvW,MAAM,CAACuN,MAAM,EACbvN,MAAM,CAACwW,OAAO,CAACzS,OAAO,CAAC,EACvB/D,MAAM,CAACyW,KAAK,EACZzW,MAAM,CAAC0W,aAAa,CACG;IACzB/V,cAAc,CAAC0L,GAAG,CAAC8J,GAAG,EAAEjR,OAAO,EAAEkR,UAAU,CAAC;IAE5C,OAAOrV,MAAM,CAAC4V,OAAO,CAAC9R,MAAM,EAAEjC,mBAAmB,CAAC;MAAEsC;IAAO,CAAE,CAAC,CAAC;IAE/D;IACA,IAAItE,cAAc,CAACmF,GAAG,CAACrB,cAAc,EAAEQ,OAAO,CAACc,OAAO,CAAC,EAAE;MACvD,OAAOhG,MAAM,CAACsK,QAAQ,CAAC,oBAAoB,EAAEpF,OAAO,CAAC;MACrD,OAAO9E,QAAQ,CAAC6V,GAAG,CAACJ,eAAe,EAAE3Q,OAAO,EAAEkR,UAAU,CAAC;IAC3D;EACF,CAAC,EACDN,iBAAiB,CAClB;EAED,MAAMjP,cAAc,GAAGiP,iBAAiB,CAAC9V,MAAM,CAACiD,GAAG,CAAC,aAAS;IAC3D,KAAK,MAAM,CAAC+C,OAAO,EAAEmQ,GAAG,CAAC,IAAIP,UAAU,EAAE;MACvC,KAAK,MAAM,CAAC1Q,OAAO,EAAE+Q,GAAG,CAAC,IAAIE,GAAG,EAAE;QAChC,MAAMS,OAAO,GAAGxW,QAAQ,CAACyW,SAAS,CAAChB,eAAe,EAAE3Q,OAAO,CAAC;QAC5D,MAAM4R,eAAe,GAAGlW,cAAc,CAACmF,GAAG,CAACrB,cAAc,EAAEsB,OAAO,CAAC;QACnE,IAAI4Q,OAAO,IAAI,CAACE,eAAe,EAAE;UAC/B,OAAO9W,MAAM,CAACsK,QAAQ,CAAC,oBAAoB,EAAEpF,OAAO,CAAC;UACrDlD,oBAAoB,CAAC0E,GAAG,CAAC5F,MAAM,CAACgN,UAAU,CAAC3N,KAAK,CAACkT,eAAe,EAAE,CAAC,CAAC3N,EAAE,EAAE,CAAC;UACzE,OAAOtF,QAAQ,CAACqG,MAAM,CAACoP,eAAe,EAAE3Q,OAAO,CAAC;QAClD,CAAC,MAAM,IAAI,CAAC0R,OAAO,IAAIE,eAAe,EAAE;UACtC,OAAO9W,MAAM,CAACsK,QAAQ,CAAC,oBAAoB,EAAEpF,OAAO,CAAC;UACrD,OAAO9E,QAAQ,CAAC6V,GAAG,CAACJ,eAAe,EAAE3Q,OAAO,EAAE+Q,GAAG,CAAC;QACpD;MACF;IACF;IACA5U,cAAc,CAACuU,UAAU,CAACrO,YAAY,CACpCC,MAAM,CAAC,OAAOpH,QAAQ,CAACuG,IAAI,CAACkP,eAAe,CAAC,CAAC,EAC7C,EAAE,CACH;EACH,CAAC,CAAC,CAAC;EAEH;EAEA,MAAM9R,OAAO,GAAG,OAAO/D,MAAM,CAAC+D,OAAO,EAAkB;EACvD,MAAMgT,MAAM,GAAG,OAAOjV,YAAY;EAClC,MAAMkV,oBAAoB,GAAG,IAAI1S,GAAG,EAAwB;EAE5D,MAAM2S,cAAc,GAAuCjX,MAAM,CAAC6N,UAAU,CAC1E,WAAUa,MAAM,EAAEwI,KAAK,EAAElI,OAAO;IAC9B,IAAIlO,MAAM,CAACoP,MAAM,CAAChN,MAAM,CAACkC,aAAa,CAAC,IAAIf,cAAc,CAAC0B,GAAG,CAAC2I,MAAM,CAACkE,IAAI,CAAC,EAAE;IAC5E,MAAMpP,KAAK,GAAG,OAAOvC,KAAK,CAACQ,IAAI,EAAE;IACjC,OAAOR,KAAK,CAACsJ,YAAY,CACvB/G,KAAK,EACLxD,MAAM,CAACiK,IAAI,CAAC,MAAK;MACfR,KAAK,CAACgC,MAAM,GAAG,IAAI;IACrB,CAAC,CAAC,CACH;IACD,MAAM/B,OAAO,GAAG,OAAO7H,aAAa,CAACJ,IAAI,CAACiN,MAAM,EAAEwI,KAAK,EAAE;MACvD,GAAGlI,OAAO;MACV/K,OAAO;MACPmB,aAAa,EAAElC,MAAM,CAACkC,aAAa,CAACE,KAAK;MACzC6R;KACD,CAAC,CAACtT,IAAI,CACL7D,MAAM,CAACwW,OAAO,CAACzS,OAAO,CAACF,IAAI,CACzB9D,OAAO,CAAC2G,GAAG,CAAC5E,YAAY,EAAEiV,MAAM,CAAC,EACjChX,OAAO,CAAC2G,GAAG,CAACzF,KAAK,CAACA,KAAK,EAAEuC,KAAK,CAAC,EAC/BzD,OAAO,CAAC2G,GAAG,CAAC5D,SAAS,CAACQ,SAAS,EAAED,YAAY,CAAC,CAC/C,CAAC,CAC2C;IAC/C,MAAMoG,KAAK,GAAuB;MAChCiF,MAAM;MACNlL,KAAK;MACLiI,MAAM,EAAE,KAAK;MACb/B;KACD;IAED;IACA;IACA,OAAOW,mBAAmB,CAACrK,MAAM,CAACiK,IAAI,CAAC,MAAK;MAC1C5F,cAAc,CAACgI,GAAG,CAACqC,MAAM,CAACkE,IAAI,EAAEnJ,KAAK,CAAC;MACtC,IAAIuN,oBAAoB,CAACjR,GAAG,CAAC2I,MAAM,CAACkE,IAAI,CAAC,EAAE;QACzCoE,oBAAoB,CAACzL,GAAG,CAACmD,MAAM,CAACkE,IAAI,CAAE,CAACtM,UAAU,EAAE;QACnD0Q,oBAAoB,CAACjL,MAAM,CAAC2C,MAAM,CAACkE,IAAI,CAAC;MAC1C;IACF,CAAC,CAAC,CAAC;IAEH,OAAO7R,MAAM,CAAC4V,OAAO,CAAC9R,MAAM,EAAElC,gBAAgB,CAAC;MAAE+L;IAAM,CAAE,CAAC,CAAC;EAC7D,CAAC,CACF;EAED,OAAOzN,KAAK,CAACkF,gBAAgB,CAC3B5C,aAAa,EACZoS,IAAI,IACH3V,MAAM,CAACuJ,OAAO,CACZlF,cAAc,CAACmF,MAAM,EAAE,EACtBC,KAAK,IACJzJ,MAAM,CAAC0H,aAAa,CAACzG,KAAK,CAACmW,KAAK,CAAC3N,KAAK,CAACjG,KAAK,EAAEmS,IAAI,CAAC,EAAGhO,KAAK,IACzD3H,MAAM,CAACgI,YAAY,CAAChI,MAAM,CAAC8I,QAAQ,CAAC,8BAA8B,EAAEnB,KAAK,CAAC,EAAE;IAC1E+G,MAAM,EAAEjF,KAAK,CAACiF,MAAM,CAACkE;GACtB,CAAC,CAAC,EACP;IAAEhJ,WAAW,EAAE,WAAW;IAAEC,OAAO,EAAE;EAAI,CAAE,CAC5C,CACJ;EAED,MAAMgF,oBAAoB,GAAIrD,UAAkB,IAAI;IAClD,IAAI6L,KAAK,GAAGL,oBAAoB,CAACzL,GAAG,CAACC,UAAU,CAAC;IAChD,IAAI,CAAC6L,KAAK,EAAE;MACVA,KAAK,GAAGrX,MAAM,CAACsX,eAAe,EAAE;MAChCN,oBAAoB,CAAC3K,GAAG,CAACb,UAAU,EAAE6L,KAAK,CAAC;IAC7C;IACA,OAAOA,KAAK,CAAC9Q,KAAK;EACpB,CAAC;EAED;EAEA,IAAIiK,UAAU,EAAE;IACd,MAAM+G,WAAW,GAAGA,CAAC,CAACnP,MAAM,EAAEsJ,OAAO,CAAoB,KACvD1R,MAAM,CAACuI,OAAO,CAACnF,YAAY,CAACoU,OAAO,CAACpP,MAAM,CAAClD,OAAO,CAAC,EAAGsS,OAAO,IAAI;MAC/D,IAAI9F,OAAO,KAAK8F,OAAO,EAAE,OAAOxX,MAAM,CAAC0I,IAAI;MAC3C,IAAI8O,OAAO,EAAE;QACXzG,kBAAkB,EAAE;QACpB,OAAO/Q,MAAM,CAACsK,QAAQ,CAAC,mBAAmB,EAAElC,MAAM,CAAC,CAACvE,IAAI,CACtD7D,MAAM,CAAC+I,OAAO,CAAC3E,aAAa,CAACgO,eAAe,CAAChK,MAAM,CAAClD,OAAO,EAAEsS,OAAO,CAAC,CAAC,CACvE;MACH;MACA,IAAIzG,kBAAkB,IAAI,CAAC,EAAE;QAC3B;QACA,OAAO/Q,MAAM,CAAC0I,IAAI;MACpB;MACAqI,kBAAkB,EAAE;MACpB,OAAO/Q,MAAM,CAACsK,QAAQ,CAAC,qBAAqB,EAAElC,MAAM,CAAC,CAACvE,IAAI,CACxD7D,MAAM,CAAC+I,OAAO,CAAC3E,aAAa,CAACgO,eAAe,CAAChK,MAAM,CAAClD,OAAO,EAAEsS,OAAO,CAAC,CAAC,CACvE;IACH,CAAC,CAAC;IAEJ,OAAOzB,iBAAiB,CACtB,sCAAsC,EACtC/V,MAAM,CAACiD,GAAG,CAAC,aAAS;MAClB,OAAO,IAAI,EAAE;QACX;QACA,IAAItC,cAAc,CAACgG,IAAI,CAACmK,UAAU,CAAC,GAAG,CAAC,EAAE;UACvC,OAAO9Q,MAAM,CAACuJ,OAAO,CAACuH,UAAU,EAAEyG,WAAW,EAAE;YAAE1N,OAAO,EAAE,IAAI;YAAED,WAAW,EAAE;UAAE,CAAE,CAAC;QACpF;QACA,OAAO5J,MAAM,CAACyH,KAAK,CAACvE,MAAM,CAACuU,yBAAyB,CAAC;MACvD;IACF,CAAC,CAAC,CAAC5T,IAAI,CACL7D,MAAM,CAAC0H,aAAa,CAAEC,KAAK,IAAK3H,MAAM,CAACsK,QAAQ,CAAC,4BAA4B,EAAE3C,KAAK,CAAC,CAAC,EACrF3H,MAAM,CAACmJ,OAAO,EACdnJ,MAAM,CAACgI,YAAY,CAAC;MAClBC,OAAO,EAAE,iBAAiB;MAC1BC,MAAM,EAAE,UAAU;MAClBC,KAAK,EAAE;KACR,CAAC,CACH,CACF;EACH;EAEA;EAEA,OAAOlH,KAAK,CAACkF,gBAAgB,CAC3B5C,aAAa,EACbvD,MAAM,CAAC6N,UAAU,CAAC,WAAU8H,IAAI;IAC9B,OAAO3V,MAAM,CAACsK,QAAQ,CAAC,eAAe,EAAEqL,IAAI,CAACvK,IAAI,KAAK,SAAS,GAAG,EAAE,GAAGuK,IAAI,CAAChO,KAAK,CAAC,CAAC9D,IAAI,CACrF7D,MAAM,CAACgI,YAAY,CAAC;MAClBC,OAAO,EAAE,iBAAiB;MAC1BC,MAAM,EAAE;KACT,CAAC,CACH;IACD,MAAMwP,OAAO,GAAG,OAAO1X,MAAM,CAAC0X,OAAO;IACrC7W,UAAU,CAACwL,GAAG,CAAC5I,UAAU,EAAE,IAAI,CAAC;IAChCzB,oBAAoB,CAAC0E,GAAG,CAACgR,OAAO,CAAC;IACjC,IAAIlH,UAAU,EAAE;MACd,OAAOxQ,MAAM,CAACoG,MAAM,CAAChC,aAAa,CAACuT,UAAU,CAACnH,UAAU,CAACtL,OAAO,CAAC,CAAC;IACpE;EACF,CAAC,CAAC,CACH;EAED,MAAM0S,iBAAiB,GAAG5X,MAAM,CAACiD,GAAG,CAAC,aAAS;IAC5C,IAAI4U,KAAK,GAAG,CAAC;IACb,KAAK,MAAMpO,KAAK,IAAIpF,cAAc,CAACmF,MAAM,EAAE,EAAE;MAC3CqO,KAAK,IAAI,OAAOpO,KAAK,CAACC,OAAO,CAACkO,iBAAiB;IACjD;IACA,OAAOC,KAAK;EACd,CAAC,CAAC;EAEF,MAAMV,QAAQ,GAAGpU,QAAQ,CAAC+U,EAAE,CAAC;IAC3B/S,qBAAqB;IACrBQ,UAAU;IACVwS,UAAUA,CAAC/R,OAAgB;MACzB,IAAIvC,UAAU,CAAC4H,OAAO,EAAE,OAAO,KAAK;MACpC,OAAOzK,cAAc,CAACmF,GAAG,CAACrB,cAAc,EAAEsB,OAAO,CAAC;IACpD,CAAC;IACDgS,YAAY,EAAEhY,MAAM,CAACiK,IAAI,CAAC,MAAM5G,YAAY,CAACwJ,UAAU,EAAE,CAAC;IAC1DpJ,UAAU,EAAEzD,MAAM,CAACiK,IAAI,CAAC,MAAMpJ,UAAU,CAAC0K,GAAG,CAAC9H,UAAU,CAAC,CAAC;IACzDwT,cAAc;IACdlB,iBAAiB;IACjBR,UAAU;IACVrK,IAAI,EAAEyD,SAAS;IACfe,YAAY,EAAEA,CAACvE,OAAO,EAAEtB,OAAO,KAAK6F,YAAY,CAACvE,OAAO,EAAEtB,OAAO,CAAC;IAClEqF,MAAM,EAAEA,CAAC/D,OAAO,EAAE6D,OAAO,KAAKD,WAAW,CAAC5D,OAAO,EAAE,KAAK,EAAE6D,OAAO,CAAC;IAClE4I,iBAAiB;IACjBK,WAAW,EAAE7Q,gBAAgB,CAACC,IAAI;IAClC8I;GACD,CAAC;EAEF,OAAOgH,QAAQ;AACjB,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAMe,KAAK,gBAIdxX,KAAK,CAAC6M,MAAM,CAACxK,QAAQ,CAAC,CAACtB,IAAI,CAAC,CAACoC,IAAI,cACnCnD,KAAK,CAAC8V,OAAO,CAAC,CAAC1T,SAAS,CAACqV,cAAc,EAAErW,YAAY,CAACsW,OAAO,CAAC,CAAC,CAChE;AAED;AAEA,MAAMhF,gBAAgB,gBAAGrT,OAAO,CAACsY,UAAU,CAAgB,wCAAwC,CAAC","ignoreList":[]}
@@ -27,21 +27,19 @@ const defaultRunnerAddress = /*#__PURE__*/RunnerAddress.make({
27
27
  export const defaults = {
28
28
  runnerAddress: /*#__PURE__*/Option.some(defaultRunnerAddress),
29
29
  runnerListenAddress: /*#__PURE__*/Option.none(),
30
- serverVersion: 1,
30
+ runnerShardWeight: 1,
31
31
  shardsPerGroup: 300,
32
- shardManagerAddress: /*#__PURE__*/RunnerAddress.make({
33
- host: "localhost",
34
- port: 8080
35
- }),
36
- shardManagerUnavailableTimeout: /*#__PURE__*/Duration.minutes(10),
37
32
  shardGroups: ["default"],
33
+ shardLockRefreshInterval: /*#__PURE__*/Duration.seconds(10),
34
+ shardLockExpiration: /*#__PURE__*/Duration.seconds(35),
38
35
  entityMailboxCapacity: 4096,
39
36
  entityMaxIdleTime: /*#__PURE__*/Duration.minutes(1),
40
37
  entityTerminationTimeout: /*#__PURE__*/Duration.seconds(15),
41
38
  entityMessagePollInterval: /*#__PURE__*/Duration.seconds(10),
42
39
  entityReplyPollInterval: /*#__PURE__*/Duration.millis(200),
43
40
  sendRetryInterval: /*#__PURE__*/Duration.millis(100),
44
- refreshAssignmentsInterval: /*#__PURE__*/Duration.minutes(5),
41
+ refreshAssignmentsInterval: /*#__PURE__*/Duration.seconds(3),
42
+ runnerHealthCheckInterval: /*#__PURE__*/Duration.minutes(1),
45
43
  simulateRemoteSerialization: true
46
44
  };
47
45
  /**
@@ -70,21 +68,19 @@ export const config = /*#__PURE__*/Config.all({
70
68
  host: Config.string("listenHost").pipe(Config.withDescription("The host to listen on.")),
71
69
  port: Config.integer("listenPort").pipe(Config.withDefault(defaultRunnerAddress.port), Config.withDescription("The port to listen on."))
72
70
  }).pipe(/*#__PURE__*/Config.map(options => RunnerAddress.make(options)), Config.option),
73
- serverVersion: /*#__PURE__*/Config.integer("serverVersion").pipe(/*#__PURE__*/Config.withDefault(defaults.serverVersion), /*#__PURE__*/Config.withDescription("The version of the current runner.")),
71
+ runnerShardWeight: /*#__PURE__*/Config.integer("runnerShardWeight").pipe(/*#__PURE__*/Config.withDefault(defaults.runnerShardWeight)),
74
72
  shardGroups: /*#__PURE__*/Config.array(Config.string("shardGroups")).pipe(/*#__PURE__*/Config.withDefault(["default"]), /*#__PURE__*/Config.withDescription("The shard groups that are assigned to this runner.")),
75
73
  shardsPerGroup: /*#__PURE__*/Config.integer("shardsPerGroup").pipe(/*#__PURE__*/Config.withDefault(defaults.shardsPerGroup), /*#__PURE__*/Config.withDescription("The number of shards to allocate per shard group.")),
76
- shardManagerAddress: /*#__PURE__*/Config.all({
77
- host: Config.string("shardManagerHost").pipe(Config.withDefault(defaults.shardManagerAddress.host), Config.withDescription("The host of the shard manager.")),
78
- port: Config.integer("shardManagerPort").pipe(Config.withDefault(defaults.shardManagerAddress.port), Config.withDescription("The port of the shard manager."))
79
- }).pipe(/*#__PURE__*/Config.map(options => RunnerAddress.make(options))),
80
- shardManagerUnavailableTimeout: /*#__PURE__*/Config.duration("shardManagerUnavailableTimeout").pipe(/*#__PURE__*/Config.withDefault(defaults.shardManagerUnavailableTimeout), /*#__PURE__*/Config.withDescription("If the shard is unavilable for this duration, all the shard assignments will be reset.")),
74
+ shardLockRefreshInterval: /*#__PURE__*/Config.duration("shardLockRefreshInterval").pipe(/*#__PURE__*/Config.withDefault(defaults.shardLockRefreshInterval), /*#__PURE__*/Config.withDescription("Shard lock refresh interval.")),
75
+ shardLockExpiration: /*#__PURE__*/Config.duration("shardLockExpiration").pipe(/*#__PURE__*/Config.withDefault(defaults.shardLockExpiration), /*#__PURE__*/Config.withDescription("Shard lock expiration duration.")),
81
76
  entityMailboxCapacity: /*#__PURE__*/Config.integer("entityMailboxCapacity").pipe(/*#__PURE__*/Config.withDefault(defaults.entityMailboxCapacity), /*#__PURE__*/Config.withDescription("The default capacity of the mailbox for entities.")),
82
77
  entityMaxIdleTime: /*#__PURE__*/Config.duration("entityMaxIdleTime").pipe(/*#__PURE__*/Config.withDefault(defaults.entityMaxIdleTime), /*#__PURE__*/Config.withDescription("The maximum duration of inactivity (i.e. without receiving a message) after which an entity will be interrupted.")),
83
78
  entityTerminationTimeout: /*#__PURE__*/Config.duration("entityTerminationTimeout").pipe(/*#__PURE__*/Config.withDefault(defaults.entityTerminationTimeout), /*#__PURE__*/Config.withDescription("The maximum duration of time to wait for an entity to terminate.")),
84
79
  entityMessagePollInterval: /*#__PURE__*/Config.duration("entityMessagePollInterval").pipe(/*#__PURE__*/Config.withDefault(defaults.entityMessagePollInterval), /*#__PURE__*/Config.withDescription("The interval at which to poll for unprocessed messages from storage.")),
85
80
  entityReplyPollInterval: /*#__PURE__*/Config.duration("entityReplyPollInterval").pipe(/*#__PURE__*/Config.withDefault(defaults.entityReplyPollInterval), /*#__PURE__*/Config.withDescription("The interval at which to poll for client replies from storage.")),
86
- sendRetryInterval: /*#__PURE__*/Config.duration("sendRetryInterval").pipe(/*#__PURE__*/Config.withDefault(defaults.sendRetryInterval), /*#__PURE__*/Config.withDescription("The interval to retry a send if EntityNotManagedByRunner is returned.")),
81
+ sendRetryInterval: /*#__PURE__*/Config.duration("sendRetryInterval").pipe(/*#__PURE__*/Config.withDefault(defaults.sendRetryInterval), /*#__PURE__*/Config.withDescription("The interval to retry a send if EntityNotAssignedToRunner is returned.")),
87
82
  refreshAssignmentsInterval: /*#__PURE__*/Config.duration("refreshAssignmentsInterval").pipe(/*#__PURE__*/Config.withDefault(defaults.refreshAssignmentsInterval), /*#__PURE__*/Config.withDescription("The interval at which to refresh shard assignments.")),
83
+ runnerHealthCheckInterval: /*#__PURE__*/Config.duration("runnerHealthCheckInterval").pipe(/*#__PURE__*/Config.withDefault(defaults.runnerHealthCheckInterval), /*#__PURE__*/Config.withDescription("The interval at which to check for unhealthy runners and report them.")),
88
84
  simulateRemoteSerialization: /*#__PURE__*/Config.boolean("simulateRemoteSerialization").pipe(/*#__PURE__*/Config.withDefault(defaults.simulateRemoteSerialization), /*#__PURE__*/Config.withDescription("Simulate serialization and deserialization to remote runners for local entities."))
89
85
  });
90
86
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ShardingConfig.js","names":["Config","ConfigProvider","Context","Duration","Effect","Layer","Option","RunnerAddress","ShardingConfig","Tag","defaultRunnerAddress","make","host","port","defaults","runnerAddress","some","runnerListenAddress","none","serverVersion","shardsPerGroup","shardManagerAddress","shardManagerUnavailableTimeout","minutes","shardGroups","entityMailboxCapacity","entityMaxIdleTime","entityTerminationTimeout","seconds","entityMessagePollInterval","entityReplyPollInterval","millis","sendRetryInterval","refreshAssignmentsInterval","simulateRemoteSerialization","layer","options","succeed","layerDefaults","config","all","string","pipe","withDefault","withDescription","integer","map","option","array","duration","boolean","configFromEnv","withConfigProvider","fromEnv","constantCase","layerFromEnv","effect"],"sources":["../../src/ShardingConfig.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ShardingConfig.js","names":["Config","ConfigProvider","Context","Duration","Effect","Layer","Option","RunnerAddress","ShardingConfig","Tag","defaultRunnerAddress","make","host","port","defaults","runnerAddress","some","runnerListenAddress","none","runnerShardWeight","shardsPerGroup","shardGroups","shardLockRefreshInterval","seconds","shardLockExpiration","entityMailboxCapacity","entityMaxIdleTime","minutes","entityTerminationTimeout","entityMessagePollInterval","entityReplyPollInterval","millis","sendRetryInterval","refreshAssignmentsInterval","runnerHealthCheckInterval","simulateRemoteSerialization","layer","options","succeed","layerDefaults","config","all","string","pipe","withDefault","withDescription","integer","map","option","array","duration","boolean","configFromEnv","withConfigProvider","fromEnv","constantCase","layerFromEnv","effect"],"sources":["../../src/ShardingConfig.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -90,7 +90,7 @@ export const makeGenerator = /*#__PURE__*/Effect.gen(function* () {
90
90
  // reset sequence if we're in a new millisecond
91
91
  sequence = 0;
92
92
  sequenceAt = now;
93
- } else if (sequence >= 1024) {
93
+ } else if (sequence >= 4096) {
94
94
  // if we've hit the max sequence for this millisecond, go to the next
95
95
  // millisecond
96
96
  sequenceAt++;
@@ -18,7 +18,7 @@ const withLogAddress = layer => Layer.effectDiscard(Effect.gen(function* () {
18
18
  * @since 1.0.0
19
19
  * @category Layers
20
20
  */
21
- export const layer = /*#__PURE__*/RunnerServer.layerWithClients.pipe(withLogAddress, /*#__PURE__*/Layer.provide(/*#__PURE__*/Layer.fresh(RpcServer.layerProtocolSocketServer)));
21
+ export const layer = /*#__PURE__*/RunnerServer.layerWithClients.pipe(withLogAddress, /*#__PURE__*/Layer.provide(RpcServer.layerProtocolSocketServer));
22
22
  /**
23
23
  * @since 1.0.0
24
24
  * @category Layers
@@ -1 +1 @@
1
- {"version":3,"file":"SocketRunner.js","names":["SocketServer","RpcServer","Effect","Layer","RunnerServer","withLogAddress","layer","effectDiscard","gen","server","address","_tag","path","hostname","port","annotateLogs","logInfo","package","service","pipe","provideMerge","layerWithClients","provide","fresh","layerProtocolSocketServer","layerClientOnly"],"sources":["../../src/SocketRunner.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,SAASA,YAAY,QAAQ,+BAA+B;AAE5D,OAAO,KAAKC,SAAS,MAAM,uBAAuB;AAClD,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAGrC,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAKjD,MAAMC,cAAc,GAAaC,KAA2B,IAC1DH,KAAK,CAACI,aAAa,CAACL,MAAM,CAACM,GAAG,CAAC,aAAS;EACtC,MAAMC,MAAM,GAAG,OAAOT,YAAY;EAClC,MAAMU,OAAO,GAAGD,MAAM,CAACC,OAAO,CAACC,IAAI,KAAK,aAAa,GACjDF,MAAM,CAACC,OAAO,CAACE,IAAI,GACnB,GAAGH,MAAM,CAACC,OAAO,CAACG,QAAQ,IAAIJ,MAAM,CAACC,OAAO,CAACI,IAAI,EAAE;EACvD,OAAOZ,MAAM,CAACa,YAAY,CAACb,MAAM,CAACc,OAAO,CAAC,iBAAiBN,OAAO,EAAE,CAAC,EAAE;IACrEO,OAAO,EAAE,iBAAiB;IAC1BC,OAAO,EAAE;GACV,CAAC;AACJ,CAAC,CAAC,CAAC,CAACC,IAAI,CAAChB,KAAK,CAACiB,YAAY,CAACd,KAAK,CAAC,CAAC;AAErC;;;;AAIA,OAAO,MAAMA,KAAK,gBASdF,YAAY,CAACiB,gBAAgB,CAACF,IAAI,CACpCd,cAAc,eACdF,KAAK,CAACmB,OAAO,cAACnB,KAAK,CAACoB,KAAK,CAACtB,SAAS,CAACuB,yBAAyB,CAAC,CAAC,CAChE;AAED;;;;AAIA,OAAO,MAAMC,eAAe,GAIxBrB,YAAY,CAACqB,eAAe","ignoreList":[]}
1
+ {"version":3,"file":"SocketRunner.js","names":["SocketServer","RpcServer","Effect","Layer","RunnerServer","withLogAddress","layer","effectDiscard","gen","server","address","_tag","path","hostname","port","annotateLogs","logInfo","package","service","pipe","provideMerge","layerWithClients","provide","layerProtocolSocketServer","layerClientOnly"],"sources":["../../src/SocketRunner.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,SAASA,YAAY,QAAQ,+BAA+B;AAE5D,OAAO,KAAKC,SAAS,MAAM,uBAAuB;AAClD,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAIrC,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAKjD,MAAMC,cAAc,GAAaC,KAA2B,IAC1DH,KAAK,CAACI,aAAa,CAACL,MAAM,CAACM,GAAG,CAAC,aAAS;EACtC,MAAMC,MAAM,GAAG,OAAOT,YAAY;EAClC,MAAMU,OAAO,GAAGD,MAAM,CAACC,OAAO,CAACC,IAAI,KAAK,aAAa,GACjDF,MAAM,CAACC,OAAO,CAACE,IAAI,GACnB,GAAGH,MAAM,CAACC,OAAO,CAACG,QAAQ,IAAIJ,MAAM,CAACC,OAAO,CAACI,IAAI,EAAE;EACvD,OAAOZ,MAAM,CAACa,YAAY,CAACb,MAAM,CAACc,OAAO,CAAC,iBAAiBN,OAAO,EAAE,CAAC,EAAE;IACrEO,OAAO,EAAE,iBAAiB;IAC1BC,OAAO,EAAE;GACV,CAAC;AACJ,CAAC,CAAC,CAAC,CAACC,IAAI,CAAChB,KAAK,CAACiB,YAAY,CAACd,KAAK,CAAC,CAAC;AAErC;;;;AAIA,OAAO,MAAMA,KAAK,gBAUdF,YAAY,CAACiB,gBAAgB,CAACF,IAAI,CACpCd,cAAc,eACdF,KAAK,CAACmB,OAAO,CAACrB,SAAS,CAACsB,yBAAyB,CAAC,CACnD;AAED;;;;AAIA,OAAO,MAAMC,eAAe,GAIxBpB,YAAY,CAACoB,eAAe","ignoreList":[]}
@@ -27,6 +27,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
27
27
  table: table("migrations")
28
28
  }));
29
29
  const messageKindAckChunk = sql.literal(String(messageKind.AckChunk));
30
+ const messageKindInterrupt = sql.literal(String(messageKind.Interrupt));
30
31
  const replyKindWithExit = sql.literal(String(replyKind.WithExit));
31
32
  const messagesTable = table("messages");
32
33
  const messagesTableSql = sql(messagesTable);
@@ -234,11 +235,11 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
234
235
  times: 3
235
236
  }))
236
237
  });
237
- const fiveMinutesAgo = sql.onDialectOrElse({
238
- mssql: () => sql.literal(`DATEADD(MINUTE, -5, GETDATE())`),
239
- mysql: () => sql.literal(`NOW() - INTERVAL 5 MINUTE`),
240
- pg: () => sql.literal(`NOW() - INTERVAL '5 minutes'`),
241
- orElse: () => sql.literal(`DATETIME('now', '-5 minute')`)
238
+ const tenMinutesAgo = sql.onDialectOrElse({
239
+ mssql: () => sql.literal(`DATEADD(MINUTE, -10, GETDATE())`),
240
+ mysql: () => sql.literal(`NOW() - INTERVAL 10 MINUTE`),
241
+ pg: () => sql.literal(`NOW() - INTERVAL '10 minutes'`),
242
+ orElse: () => sql.literal(`DATETIME('now', '-10 minute')`)
242
243
  });
243
244
  const sqlNowString = sql.onDialectOrElse({
244
245
  pg: () => "NOW()",
@@ -265,7 +266,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
265
266
  AND (kind = ${replyKindWithExit} OR acked = ${sqlFalse})
266
267
  )
267
268
  AND m.processed = ${sqlFalse}
268
- AND (m.last_read IS NULL OR m.last_read < ${fiveMinutesAgo})
269
+ AND (m.last_read IS NULL OR m.last_read < ${tenMinutesAgo})
269
270
  AND (m.deliver_at IS NULL OR m.deliver_at <= ${sql.literal(String(now))})
270
271
  ORDER BY m.rowid ASC
271
272
  FOR UPDATE
@@ -285,7 +286,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
285
286
  AND (kind = ${replyKindWithExit} OR acked = ${sqlFalse})
286
287
  )
287
288
  AND processed = ${sqlFalse}
288
- AND (m.last_read IS NULL OR m.last_read < ${fiveMinutesAgo})
289
+ AND (m.last_read IS NULL OR m.last_read < ${tenMinutesAgo})
289
290
  AND (m.deliver_at IS NULL OR m.deliver_at <= ${sql.literal(String(now))})
290
291
  ORDER BY m.rowid ASC
291
292
  `.unprepared.pipe(Effect.tap(rows => {
@@ -331,17 +332,18 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
331
332
  }) : Option.none()
332
333
  });
333
334
  }));
334
- }).pipe(Effect.provideService(SqlClient.SafeIntegers, true), PersistenceError.refail),
335
+ }).pipe(Effect.provideService(SqlClient.SafeIntegers, true), PersistenceError.refail, withTracerDisabled),
335
336
  saveReply: reply => Effect.suspend(() => {
336
337
  const row = replyToRow(reply);
337
338
  const update = reply._tag === "Chunk" ? sql`UPDATE ${messagesTableSql} SET last_reply_id = ${reply.id} WHERE id = ${reply.requestId}` : sql`UPDATE ${messagesTableSql} SET processed = ${sqlTrue}, last_reply_id = ${reply.id} WHERE request_id = ${reply.requestId}`;
338
339
  return update.unprepared.pipe(Effect.andThen(sql`INSERT INTO ${repliesTableSql} ${sql.insert(row)}`), sql.withTransaction);
339
- }).pipe(Effect.asVoid, PersistenceError.refail),
340
+ }).pipe(Effect.asVoid, PersistenceError.refail, withTracerDisabled),
340
341
  clearReplies: Effect.fnUntraced(function* (requestId) {
341
- yield* sql`DELETE FROM ${repliesTableSql} WHERE request_id = ${String(requestId)}`;
342
+ yield* sql`DELETE FROM ${repliesTableSql} WHERE request_id = ${String(requestId)} AND kind = 0`;
343
+ yield* sql`DELETE FROM ${messagesTableSql} WHERE request_id = ${String(requestId)} AND kind = ${messageKindInterrupt}`;
342
344
  yield* sql`UPDATE ${messagesTableSql} SET processed = ${sqlFalse}, last_reply_id = NULL, last_read = NULL WHERE request_id = ${String(requestId)}`;
343
- }, sql.withTransaction, PersistenceError.refail),
344
- requestIdForPrimaryKey: primaryKey => sql`SELECT id FROM ${messagesTableSql} WHERE message_id = ${primaryKey}`.pipe(Effect.map(rows => Option.fromNullable(rows[0]?.id).pipe(Option.map(Snowflake.Snowflake))), Effect.provideService(SqlClient.SafeIntegers, true), PersistenceError.refail),
345
+ }, sql.withTransaction, PersistenceError.refail, withTracerDisabled),
346
+ requestIdForPrimaryKey: primaryKey => sql`SELECT id FROM ${messagesTableSql} WHERE message_id = ${primaryKey}`.pipe(Effect.map(rows => Option.fromNullable(rows[0]?.id).pipe(Option.map(Snowflake.Snowflake))), Effect.provideService(SqlClient.SafeIntegers, true), PersistenceError.refail, withTracerDisabled),
345
347
  repliesFor: requestIds =>
346
348
  // replies where:
347
349
  // - the request is in the list
@@ -470,8 +472,7 @@ const migrations = options => {
470
472
  last_reply_id BIGINT,
471
473
  last_read DATETIME,
472
474
  deliver_at BIGINT,
473
- UNIQUE (message_id),
474
- FOREIGN KEY (request_id) REFERENCES ${messagesTableSql} (id) ON DELETE CASCADE
475
+ UNIQUE (message_id)
475
476
  )
476
477
  `,
477
478
  mysql: () => sql`
@@ -496,8 +497,7 @@ const migrations = options => {
496
497
  last_read DATETIME,
497
498
  deliver_at BIGINT,
498
499
  UNIQUE (id),
499
- UNIQUE (message_id),
500
- FOREIGN KEY (request_id) REFERENCES ${messagesTableSql} (id) ON DELETE CASCADE
500
+ UNIQUE (message_id)
501
501
  )
502
502
  `,
503
503
  pg: () => sql`
@@ -521,8 +521,7 @@ const migrations = options => {
521
521
  last_reply_id BIGINT,
522
522
  last_read TIMESTAMP,
523
523
  deliver_at BIGINT,
524
- UNIQUE (message_id),
525
- FOREIGN KEY (request_id) REFERENCES ${messagesTableSql} (id) ON DELETE CASCADE
524
+ UNIQUE (message_id)
526
525
  )
527
526
  `.pipe(Effect.ignore),
528
527
  orElse: () =>
@@ -547,8 +546,7 @@ const migrations = options => {
547
546
  last_reply_id INTEGER,
548
547
  last_read TEXT,
549
548
  deliver_at INTEGER,
550
- UNIQUE (message_id),
551
- FOREIGN KEY (request_id) REFERENCES ${messagesTableSql} (id) ON DELETE CASCADE
549
+ UNIQUE (message_id)
552
550
  )
553
551
  `
554
552
  });
@@ -606,8 +604,7 @@ const migrations = options => {
606
604
  sequence INT,
607
605
  acked BIT NOT NULL DEFAULT 0,
608
606
  CONSTRAINT ${sql(repliesTable + "_one_exit")} UNIQUE (request_id, kind),
609
- CONSTRAINT ${sql(repliesTable + "_sequence")} UNIQUE (request_id, sequence),
610
- FOREIGN KEY (request_id) REFERENCES ${messagesTableSql} (id) ON DELETE CASCADE
607
+ CONSTRAINT ${sql(repliesTable + "_sequence")} UNIQUE (request_id, sequence)
611
608
  )
612
609
  `,
613
610
  mysql: () => sql`
@@ -621,8 +618,7 @@ const migrations = options => {
621
618
  acked BOOLEAN NOT NULL DEFAULT FALSE,
622
619
  UNIQUE (id),
623
620
  UNIQUE (request_id, kind),
624
- UNIQUE (request_id, sequence),
625
- FOREIGN KEY (request_id) REFERENCES ${messagesTableSql} (id) ON DELETE CASCADE
621
+ UNIQUE (request_id, sequence)
626
622
  )
627
623
  `,
628
624
  pg: () => sql`
@@ -635,8 +631,7 @@ const migrations = options => {
635
631
  sequence INT,
636
632
  acked BOOLEAN NOT NULL DEFAULT FALSE,
637
633
  UNIQUE (request_id, kind),
638
- UNIQUE (request_id, sequence),
639
- FOREIGN KEY (request_id) REFERENCES ${messagesTableSql} (id) ON DELETE CASCADE
634
+ UNIQUE (request_id, sequence)
640
635
  )
641
636
  `,
642
637
  orElse: () =>
@@ -650,8 +645,7 @@ const migrations = options => {
650
645
  sequence INTEGER,
651
646
  acked BOOLEAN NOT NULL DEFAULT FALSE,
652
647
  UNIQUE (request_id, kind),
653
- UNIQUE (request_id, sequence),
654
- FOREIGN KEY (request_id) REFERENCES ${messagesTableSql} (id) ON DELETE CASCADE
648
+ UNIQUE (request_id, sequence)
655
649
  )
656
650
  `
657
651
  });
@@ -1 +1 @@
1
- {"version":3,"file":"SqlMessageStorage.js","names":["Migrator","SqlClient","Arr","Effect","Layer","Option","Schedule","PersistenceError","MessageStorage","SaveResultEncoded","ShardId","Snowflake","withTracerDisabled","withTracerEnabled","make","fnUntraced","options","sql","withoutTransforms","prefix","table","name","orDie","loader","migrations","messageKindAckChunk","literal","String","messageKind","AckChunk","replyKindWithExit","replyKind","WithExit","messagesTable","messagesTableSql","repliesTable","repliesTableSql","envelopeToRow","envelope","message_id","deliver_at","_tag","id","requestId","shard_id","toString","address","shardId","entity_type","entityType","entity_id","entityId","kind","Request","tag","payload","JSON","stringify","headers","trace_id","traceId","span_id","spanId","sampled","undefined","supportsBooleans","request_id","reply_id","replyId","Interrupt","replyToRow","reply","exit","values","sequence","onDialectOrElse","mssql","sqlite","orElse","messageFromRow","row","Number","fromStringEncoded","parse","lastSentReply","reply_reply_id","some","reply_sequence","reply_payload","none","sqlFalse","sqlTrue","insertEnvelope","pg","insert","pipe","flatMap","rows","length","succeed","mysql","raw","affectedRows","tap","withTransaction","retry","times","fiveMinutesAgo","sqlNowString","sqlNow","wrapString","s","getUnprocessedMessages","shardIds","now","map","join","unprepared","void","makeEncoded","saveEnvelope","deliverAt","primaryKey","suspend","as","andThen","Success","replyKindNum","reply_kind","Duplicate","originalId","lastReceivedReply","provideService","SafeIntegers","refail","saveReply","update","asVoid","clearReplies","requestIdForPrimaryKey","fromNullable","repliesFor","requestIds","replyFromRow","repliesForUnfiltered","unprocessedMessages","messages","Array","ids","i","unprocessedMessagesById","idArr","from","resetAddress","clearAddress","resetShards","layer","scoped","provide","layerGenerator","layerWith","fromRecord","gen","ignore","shardLookupIndex","requestIdLookupIndex","tapDefect","error","annotateLogs","logDebug","package","module","schedule","spaced","all","replyLookupIndex"],"sources":["../../src/SqlMessageStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SqlMessageStorage.js","names":["Migrator","SqlClient","Arr","Effect","Layer","Option","Schedule","PersistenceError","MessageStorage","SaveResultEncoded","ShardId","Snowflake","withTracerDisabled","withTracerEnabled","make","fnUntraced","options","sql","withoutTransforms","prefix","table","name","orDie","loader","migrations","messageKindAckChunk","literal","String","messageKind","AckChunk","messageKindInterrupt","Interrupt","replyKindWithExit","replyKind","WithExit","messagesTable","messagesTableSql","repliesTable","repliesTableSql","envelopeToRow","envelope","message_id","deliver_at","_tag","id","requestId","shard_id","toString","address","shardId","entity_type","entityType","entity_id","entityId","kind","Request","tag","payload","JSON","stringify","headers","trace_id","traceId","span_id","spanId","sampled","undefined","supportsBooleans","request_id","reply_id","replyId","replyToRow","reply","exit","values","sequence","onDialectOrElse","mssql","sqlite","orElse","messageFromRow","row","Number","fromStringEncoded","parse","lastSentReply","reply_reply_id","some","reply_sequence","reply_payload","none","sqlFalse","sqlTrue","insertEnvelope","pg","insert","pipe","flatMap","rows","length","succeed","mysql","raw","affectedRows","tap","withTransaction","retry","times","tenMinutesAgo","sqlNowString","sqlNow","wrapString","s","getUnprocessedMessages","shardIds","now","map","join","unprepared","void","makeEncoded","saveEnvelope","deliverAt","primaryKey","suspend","as","andThen","Success","replyKindNum","reply_kind","Duplicate","originalId","lastReceivedReply","provideService","SafeIntegers","refail","saveReply","update","asVoid","clearReplies","requestIdForPrimaryKey","fromNullable","repliesFor","requestIds","replyFromRow","repliesForUnfiltered","unprocessedMessages","messages","Array","ids","i","unprocessedMessagesById","idArr","from","resetAddress","clearAddress","resetShards","layer","scoped","provide","layerGenerator","layerWith","fromRecord","gen","ignore","shardLookupIndex","requestIdLookupIndex","tapDefect","error","annotateLogs","logDebug","package","module","schedule","spaced","all","replyLookupIndex"],"sources":["../../src/SqlMessageStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}