@lodestar/beacon-node 1.51.0-dev.c6e566f915 → 1.51.0-dev.cda05d18f1

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 (598) hide show
  1. package/lib/api/impl/api.js +1 -1
  2. package/lib/api/impl/api.js.map +1 -1
  3. package/lib/api/impl/beacon/blocks/index.d.ts +2 -1
  4. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  5. package/lib/api/impl/beacon/blocks/index.js +48 -95
  6. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  7. package/lib/api/impl/beacon/index.d.ts +2 -1
  8. package/lib/api/impl/beacon/index.d.ts.map +1 -1
  9. package/lib/api/impl/beacon/index.js +2 -2
  10. package/lib/api/impl/beacon/index.js.map +1 -1
  11. package/lib/api/impl/beacon/pool/index.d.ts.map +1 -1
  12. package/lib/api/impl/beacon/pool/index.js +22 -2
  13. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  14. package/lib/api/impl/beacon/state/utils.d.ts +1 -1
  15. package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
  16. package/lib/api/impl/validator/index.d.ts +6 -0
  17. package/lib/api/impl/validator/index.d.ts.map +1 -1
  18. package/lib/api/impl/validator/index.js +49 -31
  19. package/lib/api/impl/validator/index.js.map +1 -1
  20. package/lib/api/options.d.ts +2 -0
  21. package/lib/api/options.d.ts.map +1 -1
  22. package/lib/api/options.js +1 -0
  23. package/lib/api/options.js.map +1 -1
  24. package/lib/chain/GetBlobsTracker.d.ts +13 -2
  25. package/lib/chain/GetBlobsTracker.d.ts.map +1 -1
  26. package/lib/chain/GetBlobsTracker.js +69 -35
  27. package/lib/chain/GetBlobsTracker.js.map +1 -1
  28. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  29. package/lib/chain/archiveStore/archiveStore.js +1 -0
  30. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  31. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts +4 -0
  32. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
  33. package/lib/chain/archiveStore/utils/archiveBlocks.js +61 -97
  34. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  35. package/lib/chain/blocks/blockInput/blockInput.d.ts +11 -56
  36. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +1 -1
  37. package/lib/chain/blocks/blockInput/blockInput.js +5 -241
  38. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  39. package/lib/chain/blocks/blockInput/errors.d.ts +2 -4
  40. package/lib/chain/blocks/blockInput/errors.d.ts.map +1 -1
  41. package/lib/chain/blocks/blockInput/errors.js.map +1 -1
  42. package/lib/chain/blocks/blockInput/types.d.ts +2 -18
  43. package/lib/chain/blocks/blockInput/types.d.ts.map +1 -1
  44. package/lib/chain/blocks/blockInput/types.js +0 -1
  45. package/lib/chain/blocks/blockInput/types.js.map +1 -1
  46. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  47. package/lib/chain/blocks/importBlock.js +40 -56
  48. package/lib/chain/blocks/importBlock.js.map +1 -1
  49. package/lib/chain/blocks/importExecutionPayload.d.ts +10 -11
  50. package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
  51. package/lib/chain/blocks/importExecutionPayload.js +34 -19
  52. package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
  53. package/lib/chain/blocks/index.d.ts.map +1 -1
  54. package/lib/chain/blocks/index.js +4 -4
  55. package/lib/chain/blocks/index.js.map +1 -1
  56. package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts +12 -9
  57. package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts.map +1 -1
  58. package/lib/chain/blocks/payloadEnvelopeProcessor.js +24 -19
  59. package/lib/chain/blocks/payloadEnvelopeProcessor.js.map +1 -1
  60. package/lib/chain/blocks/types.d.ts +4 -20
  61. package/lib/chain/blocks/types.d.ts.map +1 -1
  62. package/lib/chain/blocks/types.js +0 -24
  63. package/lib/chain/blocks/types.js.map +1 -1
  64. package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
  65. package/lib/chain/blocks/verifyBlock.js +18 -7
  66. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  67. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +1 -1
  68. package/lib/chain/blocks/verifyBlocksDataAvailability.js +14 -2
  69. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  70. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +1 -1
  71. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +1 -1
  72. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +7 -3
  73. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  74. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +1 -1
  75. package/lib/chain/blocks/verifyBlocksSanityChecks.js +4 -0
  76. package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
  77. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +1 -1
  78. package/lib/chain/blocks/verifyBlocksSignatures.js +10 -5
  79. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  80. package/lib/chain/blocks/verifyPayloadsDataAvailability.d.ts +3 -3
  81. package/lib/chain/blocks/verifyPayloadsDataAvailability.d.ts.map +1 -1
  82. package/lib/chain/blocks/verifyPayloadsDataAvailability.js +11 -6
  83. package/lib/chain/blocks/verifyPayloadsDataAvailability.js.map +1 -1
  84. package/lib/chain/blocks/writeBlockInputToDb.d.ts +0 -2
  85. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +1 -1
  86. package/lib/chain/blocks/writeBlockInputToDb.js +6 -24
  87. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  88. package/lib/chain/bls/interface.d.ts +2 -0
  89. package/lib/chain/bls/interface.d.ts.map +1 -1
  90. package/lib/chain/bls/multithread/index.d.ts +1 -1
  91. package/lib/chain/bls/multithread/index.d.ts.map +1 -1
  92. package/lib/chain/bls/multithread/index.js +50 -22
  93. package/lib/chain/bls/multithread/index.js.map +1 -1
  94. package/lib/chain/bls/multithread/types.d.ts +1 -1
  95. package/lib/chain/bls/multithread/types.d.ts.map +1 -1
  96. package/lib/chain/bls/multithread/worker.js +1 -1
  97. package/lib/chain/bls/multithread/worker.js.map +1 -1
  98. package/lib/chain/bls/singleThread.js +1 -1
  99. package/lib/chain/bls/singleThread.js.map +1 -1
  100. package/lib/chain/bls/utils.js +1 -1
  101. package/lib/chain/bls/utils.js.map +1 -1
  102. package/lib/chain/chain.d.ts +25 -4
  103. package/lib/chain/chain.d.ts.map +1 -1
  104. package/lib/chain/chain.js +124 -43
  105. package/lib/chain/chain.js.map +1 -1
  106. package/lib/chain/emitter.d.ts +7 -7
  107. package/lib/chain/emitter.d.ts.map +1 -1
  108. package/lib/chain/emitter.js +5 -5
  109. package/lib/chain/emitter.js.map +1 -1
  110. package/lib/chain/errors/blockError.d.ts +1 -1
  111. package/lib/chain/errors/blockError.d.ts.map +1 -1
  112. package/lib/chain/errors/blockError.js +1 -1
  113. package/lib/chain/errors/blockError.js.map +1 -1
  114. package/lib/chain/errors/executionPayloadEnvelope.d.ts +7 -0
  115. package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
  116. package/lib/chain/errors/executionPayloadEnvelope.js +1 -0
  117. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
  118. package/lib/chain/errors/index.d.ts +0 -1
  119. package/lib/chain/errors/index.d.ts.map +1 -1
  120. package/lib/chain/errors/index.js +0 -1
  121. package/lib/chain/errors/index.js.map +1 -1
  122. package/lib/chain/forkChoice/index.d.ts +11 -1
  123. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  124. package/lib/chain/forkChoice/index.js +11 -0
  125. package/lib/chain/forkChoice/index.js.map +1 -1
  126. package/lib/chain/forkChoiceExecutionEngine.d.ts +51 -0
  127. package/lib/chain/forkChoiceExecutionEngine.d.ts.map +1 -0
  128. package/lib/chain/forkChoiceExecutionEngine.js +117 -0
  129. package/lib/chain/forkChoiceExecutionEngine.js.map +1 -0
  130. package/lib/chain/interface.d.ts +9 -7
  131. package/lib/chain/interface.d.ts.map +1 -1
  132. package/lib/chain/interface.js.map +1 -1
  133. package/lib/chain/opPools/aggregatedAttestationPool.d.ts +17 -4
  134. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  135. package/lib/chain/opPools/aggregatedAttestationPool.js +199 -46
  136. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  137. package/lib/chain/opPools/attestationPool.d.ts +1 -1
  138. package/lib/chain/opPools/attestationPool.d.ts.map +1 -1
  139. package/lib/chain/opPools/attestationPool.js +15 -4
  140. package/lib/chain/opPools/attestationPool.js.map +1 -1
  141. package/lib/chain/opPools/inclusionListStore.d.ts.map +1 -1
  142. package/lib/chain/opPools/inclusionListStore.js +2 -2
  143. package/lib/chain/opPools/inclusionListStore.js.map +1 -1
  144. package/lib/chain/opPools/index.d.ts +1 -0
  145. package/lib/chain/opPools/index.d.ts.map +1 -1
  146. package/lib/chain/opPools/index.js +1 -0
  147. package/lib/chain/opPools/index.js.map +1 -1
  148. package/lib/chain/opPools/payloadAttestationPool.d.ts.map +1 -1
  149. package/lib/chain/opPools/payloadAttestationPool.js +17 -7
  150. package/lib/chain/opPools/payloadAttestationPool.js.map +1 -1
  151. package/lib/chain/opPools/singleAttestationPool.d.ts +77 -0
  152. package/lib/chain/opPools/singleAttestationPool.d.ts.map +1 -0
  153. package/lib/chain/opPools/singleAttestationPool.js +209 -0
  154. package/lib/chain/opPools/singleAttestationPool.js.map +1 -0
  155. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +1 -1
  156. package/lib/chain/opPools/syncCommitteeMessagePool.js +9 -3
  157. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  158. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +1 -1
  159. package/lib/chain/opPools/syncContributionAndProofPool.js +11 -3
  160. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  161. package/lib/chain/opPools/utils.d.ts +1 -1
  162. package/lib/chain/opPools/utils.d.ts.map +1 -1
  163. package/lib/chain/opPools/utils.js +1 -1
  164. package/lib/chain/opPools/utils.js.map +1 -1
  165. package/lib/chain/options.d.ts +5 -3
  166. package/lib/chain/options.d.ts.map +1 -1
  167. package/lib/chain/options.js +0 -1
  168. package/lib/chain/options.js.map +1 -1
  169. package/lib/chain/produceBlock/produceBlockBody.d.ts +3 -2
  170. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  171. package/lib/chain/produceBlock/produceBlockBody.js +3 -3
  172. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  173. package/lib/chain/proposerTracker.d.ts +31 -0
  174. package/lib/chain/proposerTracker.d.ts.map +1 -0
  175. package/lib/chain/proposerTracker.js +75 -0
  176. package/lib/chain/proposerTracker.js.map +1 -0
  177. package/lib/chain/regen/interface.d.ts +1 -2
  178. package/lib/chain/regen/interface.d.ts.map +1 -1
  179. package/lib/chain/regen/interface.js +0 -1
  180. package/lib/chain/regen/interface.js.map +1 -1
  181. package/lib/chain/regen/queued.d.ts +1 -1
  182. package/lib/chain/regen/queued.d.ts.map +1 -1
  183. package/lib/chain/regen/queued.js +5 -3
  184. package/lib/chain/regen/queued.js.map +1 -1
  185. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +7 -14
  186. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +1 -1
  187. package/lib/chain/seenCache/seenGossipBlockInput.js +6 -65
  188. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  189. package/lib/chain/validation/executionPayloadBid.d.ts +0 -15
  190. package/lib/chain/validation/executionPayloadBid.d.ts.map +1 -1
  191. package/lib/chain/validation/executionPayloadBid.js +13 -166
  192. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  193. package/lib/chain/validation/executionPayloadEnvelope.d.ts +6 -0
  194. package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -1
  195. package/lib/chain/validation/executionPayloadEnvelope.js +53 -0
  196. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  197. package/lib/chain/validation/inclusionList.d.ts.map +1 -1
  198. package/lib/chain/validation/inclusionList.js +11 -2
  199. package/lib/chain/validation/inclusionList.js.map +1 -1
  200. package/lib/chain/validation/syncCommittee.d.ts.map +1 -1
  201. package/lib/chain/validation/syncCommittee.js +16 -10
  202. package/lib/chain/validation/syncCommittee.js.map +1 -1
  203. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +1 -1
  204. package/lib/chain/validation/syncCommitteeContributionAndProof.js +11 -0
  205. package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
  206. package/lib/chain/validatorMonitor.d.ts +1 -2
  207. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  208. package/lib/chain/validatorMonitor.js +0 -3
  209. package/lib/chain/validatorMonitor.js.map +1 -1
  210. package/lib/db/beacon.d.ts +7 -0
  211. package/lib/db/beacon.d.ts.map +1 -1
  212. package/lib/db/beacon.js +34 -0
  213. package/lib/db/beacon.js.map +1 -1
  214. package/lib/db/dataColumnStore.d.ts +1 -1
  215. package/lib/db/dataColumnStore.d.ts.map +1 -1
  216. package/lib/db/dataColumnStore.js +1 -4
  217. package/lib/db/dataColumnStore.js.map +1 -1
  218. package/lib/db/flatFileStore/flatFileStore.js +5 -5
  219. package/lib/db/flatFileStore/flatFileStore.js.map +1 -1
  220. package/lib/db/flatFileStore/slotIndex.d.ts.map +1 -1
  221. package/lib/db/flatFileStore/slotIndex.js +2 -2
  222. package/lib/db/flatFileStore/slotIndex.js.map +1 -1
  223. package/lib/db/interface.d.ts +1 -0
  224. package/lib/db/interface.d.ts.map +1 -1
  225. package/lib/db/repositories/blobSidecars.d.ts +0 -1
  226. package/lib/db/repositories/blobSidecars.d.ts.map +1 -1
  227. package/lib/db/repositories/blobSidecars.js +0 -1
  228. package/lib/db/repositories/blobSidecars.js.map +1 -1
  229. package/lib/db/repositories/dataColumnSidecarArchive.d.ts +6 -0
  230. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +1 -1
  231. package/lib/db/repositories/dataColumnSidecarArchive.js +19 -0
  232. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  233. package/lib/execution/builder/apiClient.d.ts +14 -8
  234. package/lib/execution/builder/apiClient.d.ts.map +1 -1
  235. package/lib/execution/builder/apiClient.js +12 -10
  236. package/lib/execution/builder/apiClient.js.map +1 -1
  237. package/lib/execution/builder/http.d.ts +2 -0
  238. package/lib/execution/builder/http.d.ts.map +1 -1
  239. package/lib/execution/builder/http.js +2 -0
  240. package/lib/execution/builder/http.js.map +1 -1
  241. package/lib/execution/engine/blobVersionedHashes.d.ts +1 -1
  242. package/lib/execution/engine/blobVersionedHashes.d.ts.map +1 -1
  243. package/lib/execution/engine/blobVersionedHashes.js.map +1 -1
  244. package/lib/execution/engine/http.d.ts +4 -6
  245. package/lib/execution/engine/http.d.ts.map +1 -1
  246. package/lib/execution/engine/http.js +8 -11
  247. package/lib/execution/engine/http.js.map +1 -1
  248. package/lib/execution/engine/index.d.ts +1 -1
  249. package/lib/execution/engine/index.d.ts.map +1 -1
  250. package/lib/execution/engine/index.js +1 -1
  251. package/lib/execution/engine/index.js.map +1 -1
  252. package/lib/execution/engine/interface.d.ts +18 -6
  253. package/lib/execution/engine/interface.d.ts.map +1 -1
  254. package/lib/execution/engine/interface.js.map +1 -1
  255. package/lib/execution/engine/jsonRpcTransport.d.ts +2 -4
  256. package/lib/execution/engine/jsonRpcTransport.d.ts.map +1 -1
  257. package/lib/execution/engine/jsonRpcTransport.js +2 -12
  258. package/lib/execution/engine/jsonRpcTransport.js.map +1 -1
  259. package/lib/execution/engine/mock.d.ts +0 -1
  260. package/lib/execution/engine/mock.d.ts.map +1 -1
  261. package/lib/execution/engine/mock.js +6 -8
  262. package/lib/execution/engine/mock.js.map +1 -1
  263. package/lib/execution/engine/payloadIdCache.d.ts +1 -2
  264. package/lib/execution/engine/payloadIdCache.d.ts.map +1 -1
  265. package/lib/execution/engine/payloadIdCache.js +3 -3
  266. package/lib/execution/engine/payloadIdCache.js.map +1 -1
  267. package/lib/execution/engine/restTransport.d.ts +2 -4
  268. package/lib/execution/engine/restTransport.d.ts.map +1 -1
  269. package/lib/execution/engine/restTransport.js +1 -15
  270. package/lib/execution/engine/restTransport.js.map +1 -1
  271. package/lib/execution/engine/sszTypes.d.ts +38 -47
  272. package/lib/execution/engine/sszTypes.d.ts.map +1 -1
  273. package/lib/execution/engine/sszTypes.js +0 -5
  274. package/lib/execution/engine/sszTypes.js.map +1 -1
  275. package/lib/execution/engine/transport.d.ts +1 -14
  276. package/lib/execution/engine/transport.d.ts.map +1 -1
  277. package/lib/execution/engine/types.d.ts +1 -9
  278. package/lib/execution/engine/types.d.ts.map +1 -1
  279. package/lib/execution/engine/types.js +9 -16
  280. package/lib/execution/engine/types.js.map +1 -1
  281. package/lib/execution/engine/utils.d.ts.map +1 -1
  282. package/lib/execution/engine/utils.js +3 -2
  283. package/lib/execution/engine/utils.js.map +1 -1
  284. package/lib/index.d.ts +1 -0
  285. package/lib/index.d.ts.map +1 -1
  286. package/lib/index.js +2 -0
  287. package/lib/index.js.map +1 -1
  288. package/lib/metrics/metrics/beacon.d.ts +0 -9
  289. package/lib/metrics/metrics/beacon.d.ts.map +1 -1
  290. package/lib/metrics/metrics/beacon.js +0 -30
  291. package/lib/metrics/metrics/beacon.js.map +1 -1
  292. package/lib/metrics/metrics/lodestar.d.ts +33 -8
  293. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  294. package/lib/metrics/metrics/lodestar.js +84 -18
  295. package/lib/metrics/metrics/lodestar.js.map +1 -1
  296. package/lib/metrics/server/http.js +5 -5
  297. package/lib/metrics/server/http.js.map +1 -1
  298. package/lib/monitoring/service.js +1 -1
  299. package/lib/monitoring/service.js.map +1 -1
  300. package/lib/network/core/networkCore.d.ts +4 -1
  301. package/lib/network/core/networkCore.d.ts.map +1 -1
  302. package/lib/network/core/networkCore.js +7 -0
  303. package/lib/network/core/networkCore.js.map +1 -1
  304. package/lib/network/core/networkCoreWorker.js +2 -0
  305. package/lib/network/core/networkCoreWorker.js.map +1 -1
  306. package/lib/network/core/networkCoreWorkerHandler.d.ts +4 -1
  307. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +1 -1
  308. package/lib/network/core/networkCoreWorkerHandler.js +6 -0
  309. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  310. package/lib/network/core/types.d.ts +6 -1
  311. package/lib/network/core/types.d.ts.map +1 -1
  312. package/lib/network/gossip/gossipsub.d.ts +1 -0
  313. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  314. package/lib/network/gossip/gossipsub.js +10 -0
  315. package/lib/network/gossip/gossipsub.js.map +1 -1
  316. package/lib/network/gossip/interface.d.ts +1 -8
  317. package/lib/network/gossip/interface.d.ts.map +1 -1
  318. package/lib/network/gossip/interface.js +0 -1
  319. package/lib/network/gossip/interface.js.map +1 -1
  320. package/lib/network/gossip/topic.d.ts +6 -22
  321. package/lib/network/gossip/topic.d.ts.map +1 -1
  322. package/lib/network/gossip/topic.js +0 -23
  323. package/lib/network/gossip/topic.js.map +1 -1
  324. package/lib/network/interface.d.ts +4 -5
  325. package/lib/network/interface.d.ts.map +1 -1
  326. package/lib/network/libp2p/index.d.ts.map +1 -1
  327. package/lib/network/libp2p/index.js +5 -1
  328. package/lib/network/libp2p/index.js.map +1 -1
  329. package/lib/network/network.d.ts +8 -7
  330. package/lib/network/network.d.ts.map +1 -1
  331. package/lib/network/network.js +53 -35
  332. package/lib/network/network.js.map +1 -1
  333. package/lib/network/options.d.ts +2 -0
  334. package/lib/network/options.d.ts.map +1 -1
  335. package/lib/network/options.js +2 -0
  336. package/lib/network/options.js.map +1 -1
  337. package/lib/network/peers/peerManager.d.ts +2 -1
  338. package/lib/network/peers/peerManager.d.ts.map +1 -1
  339. package/lib/network/peers/peerManager.js +28 -1
  340. package/lib/network/peers/peerManager.js.map +1 -1
  341. package/lib/network/peers/utils/assertPeerRelevance.d.ts +9 -1
  342. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +1 -1
  343. package/lib/network/peers/utils/assertPeerRelevance.js +32 -21
  344. package/lib/network/peers/utils/assertPeerRelevance.js.map +1 -1
  345. package/lib/network/peers/utils/prioritizePeers.d.ts +4 -1
  346. package/lib/network/peers/utils/prioritizePeers.d.ts.map +1 -1
  347. package/lib/network/peers/utils/prioritizePeers.js +8 -16
  348. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  349. package/lib/network/peers/utils/subnetMap.d.ts +5 -2
  350. package/lib/network/peers/utils/subnetMap.d.ts.map +1 -1
  351. package/lib/network/peers/utils/subnetMap.js +6 -3
  352. package/lib/network/peers/utils/subnetMap.js.map +1 -1
  353. package/lib/network/processor/extractSlotRootFns.d.ts.map +1 -1
  354. package/lib/network/processor/extractSlotRootFns.js +1 -8
  355. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  356. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  357. package/lib/network/processor/gossipHandlers.js +79 -149
  358. package/lib/network/processor/gossipHandlers.js.map +1 -1
  359. package/lib/network/processor/gossipQueues/index.d.ts.map +1 -1
  360. package/lib/network/processor/gossipQueues/index.js +0 -6
  361. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  362. package/lib/network/processor/gossipValidatorFn.d.ts.map +1 -1
  363. package/lib/network/processor/gossipValidatorFn.js +1 -5
  364. package/lib/network/processor/gossipValidatorFn.js.map +1 -1
  365. package/lib/network/processor/index.d.ts +6 -0
  366. package/lib/network/processor/index.d.ts.map +1 -1
  367. package/lib/network/processor/index.js +55 -29
  368. package/lib/network/processor/index.js.map +1 -1
  369. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +1 -1
  370. package/lib/network/reqresp/ReqRespBeaconNode.js +0 -3
  371. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  372. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts +2 -2
  373. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
  374. package/lib/network/reqresp/handlers/index.d.ts.map +1 -1
  375. package/lib/network/reqresp/handlers/index.js +1 -12
  376. package/lib/network/reqresp/handlers/index.js.map +1 -1
  377. package/lib/network/reqresp/protocols.d.ts +0 -2
  378. package/lib/network/reqresp/protocols.d.ts.map +1 -1
  379. package/lib/network/reqresp/protocols.js +0 -10
  380. package/lib/network/reqresp/protocols.js.map +1 -1
  381. package/lib/network/reqresp/rateLimit.d.ts.map +1 -1
  382. package/lib/network/reqresp/rateLimit.js +1 -17
  383. package/lib/network/reqresp/rateLimit.js.map +1 -1
  384. package/lib/network/reqresp/types.d.ts +2 -8
  385. package/lib/network/reqresp/types.d.ts.map +1 -1
  386. package/lib/network/reqresp/types.js +1 -7
  387. package/lib/network/reqresp/types.js.map +1 -1
  388. package/lib/network/subnets/attnetsService.d.ts +35 -5
  389. package/lib/network/subnets/attnetsService.d.ts.map +1 -1
  390. package/lib/network/subnets/attnetsService.js +84 -6
  391. package/lib/network/subnets/attnetsService.js.map +1 -1
  392. package/lib/network/subnets/interface.d.ts +7 -0
  393. package/lib/network/subnets/interface.d.ts.map +1 -1
  394. package/lib/network/subnets/interface.js.map +1 -1
  395. package/lib/node/nodejs.d.ts +3 -1
  396. package/lib/node/nodejs.d.ts.map +1 -1
  397. package/lib/node/nodejs.js +47 -21
  398. package/lib/node/nodejs.js.map +1 -1
  399. package/lib/node/options.d.ts +3 -1
  400. package/lib/node/options.d.ts.map +1 -1
  401. package/lib/node/options.js +4 -2
  402. package/lib/node/options.js.map +1 -1
  403. package/lib/sync/interface.d.ts.map +1 -1
  404. package/lib/sync/interface.js.map +1 -1
  405. package/lib/sync/range/batch.d.ts +2 -3
  406. package/lib/sync/range/batch.d.ts.map +1 -1
  407. package/lib/sync/range/batch.js +9 -22
  408. package/lib/sync/range/batch.js.map +1 -1
  409. package/lib/sync/range/chain.d.ts.map +1 -1
  410. package/lib/sync/range/chain.js +2 -15
  411. package/lib/sync/range/chain.js.map +1 -1
  412. package/lib/sync/sync.d.ts +15 -0
  413. package/lib/sync/sync.d.ts.map +1 -1
  414. package/lib/sync/sync.js +103 -25
  415. package/lib/sync/sync.js.map +1 -1
  416. package/lib/sync/unknownBlock.d.ts.map +1 -1
  417. package/lib/sync/unknownBlock.js +43 -25
  418. package/lib/sync/unknownBlock.js.map +1 -1
  419. package/lib/sync/utils/downloadByRange.d.ts +6 -34
  420. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  421. package/lib/sync/utils/downloadByRange.js +24 -128
  422. package/lib/sync/utils/downloadByRange.js.map +1 -1
  423. package/lib/sync/utils/downloadByRoot.d.ts +2 -18
  424. package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
  425. package/lib/sync/utils/downloadByRoot.js +14 -99
  426. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  427. package/lib/util/blobs.d.ts +1 -7
  428. package/lib/util/blobs.d.ts.map +1 -1
  429. package/lib/util/blobs.js +0 -19
  430. package/lib/util/blobs.js.map +1 -1
  431. package/lib/util/execution.d.ts +3 -4
  432. package/lib/util/execution.d.ts.map +1 -1
  433. package/lib/util/execution.js +1 -73
  434. package/lib/util/execution.js.map +1 -1
  435. package/lib/util/file.d.ts.map +1 -1
  436. package/lib/util/file.js +8 -9
  437. package/lib/util/file.js.map +1 -1
  438. package/lib/util/queue/itemQueue.js +1 -1
  439. package/lib/util/queue/itemQueue.js.map +1 -1
  440. package/lib/util/sszBytes.d.ts +5 -1
  441. package/lib/util/sszBytes.d.ts.map +1 -1
  442. package/lib/util/sszBytes.js +36 -19
  443. package/lib/util/sszBytes.js.map +1 -1
  444. package/lib/util/types.d.ts +0 -5
  445. package/lib/util/types.d.ts.map +1 -1
  446. package/lib/util/types.js +1 -2
  447. package/lib/util/types.js.map +1 -1
  448. package/package.json +31 -32
  449. package/src/api/impl/api.ts +1 -1
  450. package/src/api/impl/beacon/blocks/index.ts +81 -126
  451. package/src/api/impl/beacon/index.ts +3 -1
  452. package/src/api/impl/beacon/pool/index.ts +31 -1
  453. package/src/api/impl/beacon/state/utils.ts +1 -1
  454. package/src/api/impl/validator/index.ts +54 -37
  455. package/src/api/options.ts +3 -0
  456. package/src/chain/GetBlobsTracker.ts +82 -52
  457. package/src/chain/archiveStore/archiveStore.ts +1 -0
  458. package/src/chain/archiveStore/utils/archiveBlocks.ts +76 -130
  459. package/src/chain/blocks/blockInput/blockInput.ts +11 -343
  460. package/src/chain/blocks/blockInput/errors.ts +1 -2
  461. package/src/chain/blocks/blockInput/types.ts +2 -20
  462. package/src/chain/blocks/importBlock.ts +61 -76
  463. package/src/chain/blocks/importExecutionPayload.ts +57 -35
  464. package/src/chain/blocks/index.ts +11 -4
  465. package/src/chain/blocks/payloadEnvelopeProcessor.ts +35 -24
  466. package/src/chain/blocks/types.ts +5 -31
  467. package/src/chain/blocks/verifyBlock.ts +31 -16
  468. package/src/chain/blocks/verifyBlocksDataAvailability.ts +16 -2
  469. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +9 -6
  470. package/src/chain/blocks/verifyBlocksSanityChecks.ts +4 -1
  471. package/src/chain/blocks/verifyBlocksSignatures.ts +10 -5
  472. package/src/chain/blocks/verifyPayloadsDataAvailability.ts +14 -6
  473. package/src/chain/blocks/writeBlockInputToDb.ts +6 -29
  474. package/src/chain/bls/interface.ts +2 -0
  475. package/src/chain/bls/multithread/index.ts +48 -24
  476. package/src/chain/bls/multithread/types.ts +1 -1
  477. package/src/chain/bls/multithread/worker.ts +1 -5
  478. package/src/chain/bls/singleThread.ts +1 -1
  479. package/src/chain/bls/utils.ts +1 -1
  480. package/src/chain/chain.ts +140 -42
  481. package/src/chain/emitter.ts +8 -8
  482. package/src/chain/errors/blockError.ts +1 -1
  483. package/src/chain/errors/executionPayloadEnvelope.ts +8 -0
  484. package/src/chain/errors/index.ts +0 -1
  485. package/src/chain/forkChoice/index.ts +11 -0
  486. package/src/chain/forkChoiceExecutionEngine.ts +183 -0
  487. package/src/chain/interface.ts +9 -6
  488. package/src/chain/opPools/aggregatedAttestationPool.ts +246 -43
  489. package/src/chain/opPools/attestationPool.ts +16 -4
  490. package/src/chain/opPools/inclusionListStore.ts +3 -3
  491. package/src/chain/opPools/index.ts +1 -0
  492. package/src/chain/opPools/payloadAttestationPool.ts +18 -7
  493. package/src/chain/opPools/singleAttestationPool.ts +287 -0
  494. package/src/chain/opPools/syncCommitteeMessagePool.ts +10 -3
  495. package/src/chain/opPools/syncContributionAndProofPool.ts +13 -3
  496. package/src/chain/opPools/utils.ts +1 -1
  497. package/src/chain/options.ts +5 -4
  498. package/src/chain/produceBlock/produceBlockBody.ts +7 -4
  499. package/src/chain/proposerTracker.ts +94 -0
  500. package/src/chain/regen/interface.ts +1 -2
  501. package/src/chain/regen/queued.ts +6 -4
  502. package/src/chain/seenCache/seenGossipBlockInput.ts +9 -93
  503. package/src/chain/validation/executionPayloadBid.ts +14 -193
  504. package/src/chain/validation/executionPayloadEnvelope.ts +68 -1
  505. package/src/chain/validation/inclusionList.ts +11 -2
  506. package/src/chain/validation/syncCommittee.ts +31 -15
  507. package/src/chain/validation/syncCommitteeContributionAndProof.ts +13 -0
  508. package/src/chain/validatorMonitor.ts +0 -6
  509. package/src/db/beacon.ts +44 -0
  510. package/src/db/dataColumnStore.ts +2 -4
  511. package/src/db/flatFileStore/flatFileStore.ts +7 -7
  512. package/src/db/flatFileStore/slotIndex.ts +4 -3
  513. package/src/db/interface.ts +2 -0
  514. package/src/db/repositories/blobSidecars.ts +0 -1
  515. package/src/db/repositories/dataColumnSidecarArchive.ts +20 -0
  516. package/src/execution/builder/apiClient.ts +16 -13
  517. package/src/execution/builder/http.ts +4 -0
  518. package/src/execution/engine/blobVersionedHashes.ts +1 -1
  519. package/src/execution/engine/http.ts +19 -43
  520. package/src/execution/engine/index.ts +1 -1
  521. package/src/execution/engine/interface.ts +19 -10
  522. package/src/execution/engine/jsonRpcTransport.ts +10 -22
  523. package/src/execution/engine/mock.ts +6 -11
  524. package/src/execution/engine/payloadIdCache.ts +6 -7
  525. package/src/execution/engine/restTransport.ts +3 -22
  526. package/src/execution/engine/sszTypes.ts +0 -9
  527. package/src/execution/engine/transport.ts +8 -17
  528. package/src/execution/engine/types.ts +11 -26
  529. package/src/execution/engine/utils.ts +4 -2
  530. package/src/index.ts +2 -0
  531. package/src/metrics/metrics/beacon.ts +0 -30
  532. package/src/metrics/metrics/lodestar.ts +85 -18
  533. package/src/metrics/server/http.ts +5 -5
  534. package/src/monitoring/service.ts +1 -1
  535. package/src/network/core/networkCore.ts +11 -1
  536. package/src/network/core/networkCoreWorker.ts +2 -0
  537. package/src/network/core/networkCoreWorkerHandler.ts +8 -1
  538. package/src/network/core/types.ts +6 -1
  539. package/src/network/gossip/gossipsub.ts +11 -0
  540. package/src/network/gossip/interface.ts +0 -5
  541. package/src/network/gossip/topic.ts +0 -25
  542. package/src/network/interface.ts +2 -5
  543. package/src/network/libp2p/index.ts +5 -1
  544. package/src/network/network.ts +55 -58
  545. package/src/network/options.ts +4 -0
  546. package/src/network/peers/peerManager.ts +28 -3
  547. package/src/network/peers/utils/assertPeerRelevance.ts +39 -23
  548. package/src/network/peers/utils/prioritizePeers.ts +14 -22
  549. package/src/network/peers/utils/subnetMap.ts +6 -3
  550. package/src/network/processor/extractSlotRootFns.ts +0 -9
  551. package/src/network/processor/gossipHandlers.ts +99 -183
  552. package/src/network/processor/gossipQueues/index.ts +0 -6
  553. package/src/network/processor/gossipValidatorFn.ts +0 -5
  554. package/src/network/processor/index.ts +47 -27
  555. package/src/network/processor/types.ts +1 -1
  556. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -7
  557. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +2 -2
  558. package/src/network/reqresp/handlers/index.ts +0 -17
  559. package/src/network/reqresp/protocols.ts +0 -12
  560. package/src/network/reqresp/rateLimit.ts +1 -17
  561. package/src/network/reqresp/types.ts +0 -13
  562. package/src/network/subnets/attnetsService.ts +94 -6
  563. package/src/network/subnets/interface.ts +7 -0
  564. package/src/node/nodejs.ts +58 -22
  565. package/src/node/options.ts +9 -6
  566. package/src/sync/interface.ts +1 -0
  567. package/src/sync/range/batch.ts +9 -21
  568. package/src/sync/range/chain.ts +2 -14
  569. package/src/sync/sync.ts +108 -26
  570. package/src/sync/unknownBlock.ts +48 -36
  571. package/src/sync/utils/downloadByRange.ts +31 -230
  572. package/src/sync/utils/downloadByRoot.ts +15 -142
  573. package/src/util/blobs.ts +0 -34
  574. package/src/util/execution.ts +8 -102
  575. package/src/util/file.ts +8 -9
  576. package/src/util/queue/itemQueue.ts +1 -1
  577. package/src/util/sszBytes.ts +42 -24
  578. package/src/util/types.ts +1 -8
  579. package/lib/chain/errors/blobSidecarError.d.ts +0 -108
  580. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  581. package/lib/chain/errors/blobSidecarError.js +0 -38
  582. package/lib/chain/errors/blobSidecarError.js.map +0 -1
  583. package/lib/chain/validation/blobSidecar.d.ts +0 -16
  584. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  585. package/lib/chain/validation/blobSidecar.js +0 -276
  586. package/lib/chain/validation/blobSidecar.js.map +0 -1
  587. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts +0 -9
  588. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  589. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +0 -91
  590. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +0 -1
  591. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts +0 -5
  592. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  593. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +0 -46
  594. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +0 -1
  595. package/src/chain/errors/blobSidecarError.ts +0 -70
  596. package/src/chain/validation/blobSidecar.ts +0 -357
  597. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -133
  598. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -69
@@ -1 +1 @@
1
- {"version":3,"file":"gossipHandlers.js","sourceRoot":"","sources":["../../../src/network/processor/gossipHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAErC,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAML,OAAO,EACP,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,iBAAiB,EAAE,yBAAyB,EAAC,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAWL,wBAAwB,EACxB,GAAG,EACH,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,QAAQ,EAAU,KAAK,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAGL,gBAAgB,EAEhB,mBAAmB,GACpB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAC,YAAY,EAAE,gBAAgB,EAAC,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAuB,0BAA0B,EAAC,MAAM,kDAAkD,CAAC;AAClH,OAAO,EAAC,qBAAqB,EAAE,mBAAmB,EAAC,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAClD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,EACjC,YAAY,EACZ,iBAAiB,EACjB,uBAAuB,EACvB,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAC,yBAAyB,EAAC,MAAM,uCAAuC,CAAC;AAChF,OAAO,EACL,mCAAmC,EACnC,oCAAoC,GACrC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAC,iCAAiC,EAAC,MAAM,+CAA+C,CAAC;AAChG,OAAO,EAAC,sCAAsC,EAAC,MAAM,oDAAoD,CAAC;AAC1G,OAAO,EAAgC,2BAA2B,EAAC,MAAM,yCAAyC,CAAC;AACnH,OAAO,EAGL,0BAA0B,EAC1B,+BAA+B,EAC/B,qCAAqC,EACrC,8BAA8B,EAC9B,mBAAmB,EACnB,kCAAkC,EAClC,8BAA8B,EAC9B,2BAA2B,EAC3B,2BAA2B,EAC3B,+CAA+C,EAC/C,4BAA4B,GAC7B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAC,iCAAiC,EAAC,MAAM,qDAAqD,CAAC;AACtG,OAAO,EAAC,mCAAmC,EAAC,MAAM,uDAAuD,CAAC;AAC1G,OAAO,EAAC,uCAAuC,EAAC,MAAM,qDAAqD,CAAC;AAC5G,OAAO,EAAC,iCAAiC,EAAC,MAAM,+CAA+C,CAAC;AAChG,OAAO,EAAC,QAAQ,EAAC,MAAM,iCAAiC,CAAC;AAEzD,OAAO,EAAC,4BAA4B,EAAC,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAC,qBAAqB,EAAE,wBAAwB,EAAC,MAAM,2BAA2B,CAAC;AAC1F,OAAO,EAAC,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAG5D,OAAO,EAIL,UAAU,GAEX,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAqB7C,MAAM,8BAA8B,GAAG,CAAC,CAAC;AACzC,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAE3C;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAA4B,EAAE,OAA0B;IACxF,OAAO,EAAC,GAAG,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAC,CAAC;AAC7F,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,OAA4B,EAAE,OAA0B;IACrF,MAAM,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAC,GAAG,OAAO,CAAC;IAEvD;;OAEG;IACH,SAAS,2BAA2B,CAClC,WAA8B,EAC9B,YAAqB,EACrB,IAAc,EACd,SAAiB,EACjB,gBAAwB;QAExB,MAAM,UAAU,GAAG,KAAK,CAAC,mBAAmB,CAAC,UAAU,CAAC;YACtD,KAAK,EAAE,WAAW;YAClB,YAAY;YACZ,MAAM,EAAE,gBAAgB,CAAC,MAAM;YAC/B,gBAAgB;YAChB,SAAS;SACV,CAAC,CAAC;QAEH,kHAAkH;QAClH,wDAAwD;QACxD,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,6BAA6B,CAAC,GAAG,CAAC;gBACtC,YAAY;gBACZ,KAAK,EAAE,WAA+C;gBACtD,QAAQ,EAAE,IAAI;gBACd,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc;gBAClD,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc;gBAClD,gBAAgB;gBAChB,MAAM,EAAE,0BAA0B,CAAC,MAAM;aAC1C,CAAC,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,UAAU,mBAAmB,CAChC,WAA8B,EAC9B,IAAc,EACd,SAAiB,EACjB,gBAAwB;QAExB,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QACxF,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACjE,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,gBAAgB,CAAC;QAE9D,MAAM,MAAM,GAAG;YACb,IAAI;YACJ,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW;YACpC,MAAM,EAAE,SAAS;YACjB,QAAQ;YACR,gBAAgB;SACjB,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAC,GAAG,MAAM,EAAC,CAAC,CAAC;QAEnD,KAAK,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAE5D,IAAI,CAAC;YACH,MAAM,EAAC,YAAY,EAAC,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;YACnF,MAAM,UAAU,GAAG,2BAA2B,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAE7G,MAAM,cAAc,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;YAE/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,gBAAgB,CAAC;YAC9D,MAAM,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;YAE3D,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACjF,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAC7E,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAExD,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;gBACrC,GAAG,cAAc;gBACjB,GAAG,MAAM;gBACT,gBAAgB;gBAChB,cAAc;gBACd,YAAY;aACb,CAAC,CAAC;YAEH,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,EAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAC,CAAC,CAAC;YAErF,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,gBAAgB,EAAE,CAAC;gBAClC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;gBACtF,IACE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,oBAAoB;oBACnD,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,sBAAsB,EACrD,CAAC;oBACD,qGAAqG;oBACrG,iCAAiC;oBACjC,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC;oBACxD,MAAM,4BAA4B,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;oBACrE,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CACvC,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,yBAAyB,CAAC,MAAM,EAAE,WAAW,CAAC,CAC/C,CAAC;oBAEF,+FAA+F;oBAC/F,IAAI,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC;wBAC1D,IAAI,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,CAAC;4BACjF,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;gCAC9C,IAAI,EAAE,cAAc,CAAC,eAAe;gCACpC,aAAa;gCACb,IAAI,EAAE,YAAY;6BACnB,CAAC,CAAC;wBACL,CAAC;wBACD,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,cAAc,CAAC,aAAa,EAAE,IAAI,EAAE,YAAY,EAAC,CAAC,CAAC;oBAC5G,CAAC;oBACD,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;oBAEhE,MAAM,UAAU,GAAG,2BAA2B,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;oBAC7G,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE;wBAChD,UAAU;wBACV,IAAI,EAAE,SAAS;wBACf,MAAM,EAAE,gBAAgB,CAAC,MAAM;qBAChC,CAAC,CAAC;oBACH,MAAM,CAAC,CAAC;gBACV,CAAC;gBAED,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;oBACrC,KAAK,CAAC,sBAAsB,CAC1B,SAAS,CAAC,iBAAiB,EAC3B,WAAW,EACX,sBAAsB,IAAI,EAAE,EAC5B,YAAY,CACb,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;gBAAS,CAAC;YACT,KAAK,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;YAC9D,kGAAkG;YAClG,oGAAoG;YACpG,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC;YACxD,IAAI,KAAK,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC;gBACjE,KAAK,CAAC,2BAA2B,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,UAAU,kBAAkB,CAC/B,WAA8B,EAC9B,MAAgB,EAChB,SAAiB,EACjB,gBAAwB;QAExB,MAAM,eAAe,GAAG,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC;QAC9D,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC;QAE3F,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACjE,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,gBAAgB,CAAC;QAE9D,IAAI,CAAC;YACH,MAAM,yBAAyB,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YAClE,MAAM,UAAU,GAAG,KAAK,CAAC,mBAAmB,CAAC,SAAS,CAAC;gBACrD,YAAY;gBACZ,WAAW;gBACX,MAAM,EAAE,gBAAgB,CAAC,MAAM;gBAC/B,gBAAgB;gBAChB,SAAS;aACV,CAAC,CAAC;YACH,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,gBAAgB,CAAC;YAC9D,MAAM,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;YAE3D,OAAO,EAAE,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC/D,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAE3D,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrE,IAAI,aAAyB,CAAC;gBAC9B,IAAI,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAC1B,sGAAsG;oBACtG,aAAa,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACrE,CAAC;qBAAM,CAAC;oBACN,aAAa,GAAG,4BAA4B,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBAC1E,CAAC;gBACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE;oBACtD,SAAS,EAAE,YAAY;oBACvB,IAAI;oBACJ,KAAK,EAAE,WAAW,CAAC,KAAK;oBACxB,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC;oBAC/C,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC;iBACpC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE;gBACnC,GAAG,UAAU,CAAC,UAAU,EAAE;gBAC1B,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW;gBACpC,MAAM,EAAE,SAAS;gBACjB,QAAQ;gBACR,MAAM;gBACN,gBAAgB;gBAChB,gBAAgB;gBAChB,cAAc;aACf,CAAC,CAAC;YAEH,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,sBAAsB,EAAE,CAAC;gBACxC,qEAAqE;gBACrE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,oBAAoB,CAAC,cAAc,EAAE,CAAC;oBACxD,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;oBACrF,sGAAsG;oBACtG,EAAE;oBACF,gGAAgG;oBAChG,0FAA0F;oBAC1F,oDAAoD;oBACpD,+EAA+E;gBACjF,CAAC;gBAED,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;oBACrC,KAAK,CAAC,sBAAsB,CAC1B,GAAG,CAAC,KAAK,CAAC,WAAW,EACrB,WAAW,EACX,sBAAsB,IAAI,UAAU,WAAW,CAAC,KAAK,EAAE,CACxD,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,UAAU,wBAAwB,CACrC,iBAAyC,EACzC,gBAA4B,EAC5B,YAAsB,EACtB,SAAiB,EACjB,gBAAwB;QAExB,OAAO,EAAE,OAAO,CAAC,mCAAmC,CAAC,GAAG,EAAE,CAAC;QAC3D,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC;QAC1E,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC;QACxC,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAEjG,gIAAgI;QAChI,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/C,OAAO,EAAE,OAAO,CAAC,+BAA+B,CAAC,GAAG,EAAE,CAAC;YACvD,MAAM,CAAC,KAAK,CAAC,iEAAiE,EAAE;gBAC9E,IAAI;gBACJ,SAAS,EAAE,YAAY;gBACvB,KAAK,EAAE,iBAAiB,CAAC,KAAK;aAC/B,CAAC,CAAC;YACH,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;gBAC1D,IAAI,EAAE,0BAA0B,CAAC,aAAa;gBAC9C,WAAW,EAAE,iBAAiB,CAAC,KAAK;gBACpC,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,sGAAsG;QACtG,CAAC;YACC,MAAM,UAAU,GAAG,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC/D,IAAI,UAAU,IAAI,mBAAmB,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnG,OAAO,EAAE,OAAO,CAAC,+BAA+B,CAAC,GAAG,EAAE,CAAC;gBACvD,MAAM,CAAC,KAAK,CAAC,gEAAgE,EAAE;oBAC7E,GAAG,UAAU,CAAC,UAAU,EAAE;oBAC1B,KAAK,EAAE,iBAAiB,CAAC,KAAK;iBAC/B,CAAC,CAAC;gBACH,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;oBAC1D,IAAI,EAAE,0BAA0B,CAAC,aAAa;oBAC9C,WAAW,EAAE,iBAAiB,CAAC,KAAK;oBACpC,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,iBAAiB,GAAG,OAAO,EAAE,OAAO,CAAC,uCAAuC,CAAC,UAAU,EAAE,CAAC;QAEhG,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,gBAAgB,CAAC;QAE9D,IAAI,CAAC;YACH,MAAM,mCAAmC,CAAC,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YAC3F,MAAM,UAAU,GAAG,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC;gBACvD,YAAY;gBACZ,aAAa,EAAE,iBAAiB;gBAChC,MAAM,EAAE,gBAAgB,CAAC,MAAM;gBAC/B,gBAAgB;gBAChB,SAAS;aACV,CAAC,CAAC;YAEH,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,gBAAgB,CAAC;YAC9D,MAAM,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;YAE3D,OAAO,EAAE,OAAO,CAAC,oCAAoC,CAAC,GAAG,EAAE,CAAC;YAC5D,OAAO,EAAE,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC/D,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAE3D,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC3E,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,EAAE;oBAC5D,SAAS,EAAE,YAAY;oBACvB,IAAI;oBACJ,KAAK,EAAE,iBAAiB,CAAC,KAAK;oBAC9B,cAAc,EAAE,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;iBAC5D,CAAC,CAAC;YACL,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;gBACzC,GAAG,UAAU,CAAC,UAAU,EAAE;gBAC1B,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW;gBACpC,MAAM,EAAE,SAAS;gBACjB,QAAQ;gBACR,WAAW;gBACX,YAAY;gBACZ,WAAW,EAAE,iBAAiB,CAAC,KAAK;gBACpC,gBAAgB;gBAChB,gBAAgB;gBAChB,cAAc;aACf,CAAC,CAAC;YAEH,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,4BAA4B,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;gBAClF,KAAK,CAAC,sBAAsB,CAC1B,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAC1B,iBAAiB,EACjB,sBAAsB,IAAI,UAAU,iBAAiB,CAAC,KAAK,EAAE,CAC9D,CAAC;gBACF,sGAAsG;gBACtG,EAAE;gBACF,kGAAkG;gBAClG,0FAA0F;gBAC1F,oDAAoD;gBACpD,+EAA+E;YACjF,CAAC;YAED,MAAM,CAAC,CAAC;QACV,CAAC;gBAAS,CAAC;YACT,iBAAiB,EAAE,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED,KAAK,UAAU,yBAAyB,CACtC,iBAA0C,EAC1C,YAAsB,EACtB,SAAiB,EACjB,gBAAwB;QAExB,OAAO,EAAE,OAAO,CAAC,mCAAmC,CAAC,GAAG,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;QACpC,MAAM,YAAY,GAAG,SAAS,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAElE,4IAA4I;QAC5I,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5E,OAAO,EAAE,OAAO,CAAC,+BAA+B,CAAC,GAAG,EAAE,CAAC;YACvD,MAAM,CAAC,KAAK,CAAC,mEAAmE,EAAE;gBAChF,IAAI;gBACJ,SAAS,EAAE,YAAY;gBACvB,KAAK,EAAE,iBAAiB,CAAC,KAAK;aAC/B,CAAC,CAAC;YACH,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;gBAC1D,IAAI,EAAE,0BAA0B,CAAC,aAAa;gBAC9C,WAAW,EAAE,iBAAiB,CAAC,KAAK;gBACpC,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,6BAA6B,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE3E,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,+FAA+F;YAC/F,qEAAqE;YACrE,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;gBAC1D,IAAI,EAAE,0BAA0B,CAAC,8BAA8B;gBAC/D,IAAI;gBACJ,SAAS,EAAE,YAAY;aACxB,CAAC,CAAC;QACL,CAAC;QAED,0DAA0D;QAC1D,mEAAmE;QACnE,IAAI,YAAY,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,OAAO,EAAE,OAAO,CAAC,+BAA+B,CAAC,GAAG,EAAE,CAAC;YACvD,MAAM,CAAC,KAAK,CAAC,0EAA0E,EAAE;gBACvF,GAAG,YAAY,CAAC,UAAU,EAAE;gBAC5B,KAAK,EAAE,iBAAiB,CAAC,KAAK;aAC/B,CAAC,CAAC;YACH,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;gBAC1D,IAAI,EAAE,0BAA0B,CAAC,aAAa;gBAC9C,WAAW,EAAE,iBAAiB,CAAC,KAAK;gBACpC,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,MAAM,iBAAiB,GAAG,OAAO,EAAE,OAAO,CAAC,uCAAuC,CAAC,UAAU,EAAE,CAAC;QAEhG,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,gBAAgB,CAAC;QAE9D,IAAI,CAAC;YACH,MAAM,oCAAoC,CAAC,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YAE1G,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC;gBACzC,aAAa,EAAE,iBAAiB;gBAChC,MAAM,EAAE,0BAA0B,CAAC,MAAM;gBACzC,gBAAgB;gBAChB,SAAS;aACV,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,EAAE,OAAO,CAAC,+BAA+B,CAAC,GAAG,EAAE,CAAC;gBACvD,MAAM,CAAC,KAAK,CAAC,0EAA0E,EAAE;oBACvF,GAAG,YAAY,CAAC,UAAU,EAAE;oBAC5B,KAAK,EAAE,iBAAiB,CAAC,KAAK;iBAC/B,CAAC,CAAC;gBACH,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;oBAC1D,IAAI,EAAE,0BAA0B,CAAC,aAAa;oBAC9C,WAAW,EAAE,iBAAiB,CAAC,KAAK;oBACpC,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;YAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,gBAAgB,CAAC;YAC9D,MAAM,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;YAE3D,OAAO,EAAE,OAAO,CAAC,oCAAoC,CAAC,GAAG,EAAE,CAAC;YAC5D,OAAO,EAAE,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC/D,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAE3D,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC3E,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,EAAE;oBAC5D,SAAS,EAAE,YAAY;oBACvB,IAAI;oBACJ,KAAK,EAAE,iBAAiB,CAAC,KAAK;iBAC/B,CAAC,CAAC;YACL,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;gBACzC,GAAG,YAAY,CAAC,UAAU,EAAE;gBAC5B,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW;gBACpC,MAAM,EAAE,SAAS;gBACjB,QAAQ;gBACR,WAAW;gBACX,YAAY;gBACZ,WAAW,EAAE,iBAAiB,CAAC,KAAK;gBACpC,gBAAgB;gBAChB,gBAAgB;gBAChB,cAAc;aACf,CAAC,CAAC;YAEH,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,4BAA4B,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;gBAClF,KAAK,CAAC,sBAAsB,CAC1B,WAAW,CAAC,YAAY,CAAC,QAAyB,CAAC,CAAC,iBAAiB,EACrE,iBAAiB,EACjB,sBAAsB,IAAI,UAAU,iBAAiB,CAAC,KAAK,EAAE,CAC9D,CAAC;YACJ,CAAC;YAED,MAAM,CAAC,CAAC;QACV,CAAC;gBAAS,CAAC;YACT,iBAAiB,EAAE,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED,SAAS,sBAAsB,CAAC,UAAuB,EAAE,SAAiB,EAAE,gBAAwB;QAClG,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;QAEtC,0EAA0E;QAE1E,MAAM,QAAQ,GAAG,gBAAgB,GAAG,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QACvF,OAAO,EAAE,WAAW,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAC,EAAE,QAAQ,CAAC,CAAC;QAC1F,KAAK,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5F,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,EAAE,CAAC;YACrC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,6DAA6D,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;YAC3G,qGAAqG;YACrG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE;gBAClD,UAAU;gBACV,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,gBAAgB,CAAC,MAAM;aAChC,CAAC,CAAC;YACH,kEAAkE;YAClE,KAAK,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,oBAAoB,CAAC,6BAA6B,CAAC,GAAG,EAAE,CAAC;YAClE,MAAM,SAAS,GAAG,qBAAqB,CACrC,UAAU,CAAC,QAAQ,EACnB,WAA+C,CAChD,CAAC,MAAM,CAAC;YACT,OAAO,EAAE,oBAAoB,CAAC,iCAAiC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjF,CAAC;QAED,KAAK;aACF,YAAY,CAAC,UAAU,EAAE;YACxB,4DAA4D;YAC5D,aAAa,EAAE,IAAI;YACnB,8DAA8D;YAC9D,sBAAsB,EAAE,IAAI;YAC5B,+DAA+D;YAC/D,iBAAiB,EAAE,qBAAqB,CAAC,UAAU;YACnD,qDAAqD;YACrD,4GAA4G;YAC5G,wDAAwD;YACxD,qHAAqH;YACrH,+GAA+G;YAC/G,wDAAwD;YACxD,qBAAqB,EAAE,IAAI;YAC3B,+BAA+B;YAC/B,gBAAgB;SACjB,CAAC;aACD,IAAI,CAAC,GAAG,EAAE;YACT,yEAAyE;YACzE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC/C,OAAO,EAAE,WAAW,CAAC,wBAAwB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAEhE,IAAI,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzC,kFAAkF;gBAClF,MAAM,YAAY,GAAG,KAAK,CAAC,6BAA6B,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;gBACtF,0EAA0E;gBAC1E,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,MAAM,KAAK,CACT,6CAA6C,UAAU,CAAC,YAAY,2BAA2B,CAChG,CAAC;gBACJ,CAAC;gBAED,sGAAsG;gBACtG,sGAAsG;gBACtG,kGAAkG;gBAClG,qFAAqF;gBACrF,0FAA0F;gBAC1F,8FAA8F;gBAC9F,KAAK,CAAC,eAAe,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YACtD,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,uCAAuC;YACvC,IAAI,QAAkB,CAAC;YAEvB,IAAI,CAAC,YAAY,UAAU,EAAE,CAAC;gBAC5B,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAK,cAAc,CAAC,gBAAgB,EAAE,CAAC;wBACrC,2CAA2C;wBAC3C,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;wBAC1B,MAAM;oBACR,CAAC;oBACD,gEAAgE;oBAChE,kGAAkG;oBAClG,KAAK,cAAc,CAAC,aAAa,CAAC;oBAClC,KAAK,cAAc,CAAC,oBAAoB,CAAC;oBACzC,KAAK,cAAc,CAAC,gBAAgB,CAAC;oBACrC,KAAK,cAAc,CAAC,sBAAsB;wBACxC,2EAA2E;wBAC3E,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;wBAC1B,MAAM;oBACR,KAAK,cAAc,CAAC,wBAAwB;wBAC1C,8BAA8B;wBAC9B,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,CAAC;wBACnF,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;wBACzB,MAAM;oBACR;wBACE,wCAAwC;wBACxC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;wBAC3E,mEAAmE;wBACnE,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC7B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,uBAAuB;gBACvB,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC5B,CAAC;YACD,OAAO,EAAE,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAC,KAAK,EAAE,CAAC,YAAY,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAC,CAAC,CAAC;YAChH,MAAM,CAAC,QAAQ,CAAC,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,YAAY,EAAE,IAAI,EAAE,SAAS,EAAC,EAAE,CAAU,CAAC,CAAC;YAC/G,iDAAiD;YACjD,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QACL,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,EAChC,UAAU,EACV,KAAK,EACL,SAAS,EACT,gBAAgB,GACmC,EAAE,EAAE;YACvD,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YAEpC,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAC1D,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;gBAC5G,kFAAkF;gBAClF,mBAAmB,CAAC,GAAG,EAAE;oBACvB,IAAI,CAAC;wBACH,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;wBACvD,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;oBAClE,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,MAAM,CAAC,KAAK,CACV,6BAA6B,EAC7B,EAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,YAAY,EAAC,EAC/D,CAAU,CACX,CAAC;oBACJ,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,wDAAwD;gBACxD,uGAAuG;gBACvG,uFAAuF;gBACvF,IACE,CAAC,YAAY,gBAAgB;oBAC7B,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe;oBAC9C,wGAAwG;oBACxG,sFAAsF;oBACtF,KAAK,CAAC,kBAAkB,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBAClG,sGAAsG;oBACtG,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAC7F,CAAC;oBACD,MAAM,UAAU,GAAG,2BAA2B,CAC5C,WAAW,EACX,CAAC,CAAC,IAAI,CAAC,IAAI,EACX,KAAK,CAAC,QAAQ,CAAC,IAAI,EACnB,SAAS,EACT,gBAAgB,CACjB,CAAC;oBACF,6FAA6F;oBAC7F,2FAA2F;oBAC3F,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;oBACvD,iGAAiG;oBACjG,kGAAkG;oBAClG,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;gBAClE,CAAC;gBACD,kGAAkG;gBAClG,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC;QAED,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,EAChC,UAAU,EACV,KAAK,EACL,SAAS,EACT,gBAAgB,GACmC,EAAE,EAAE;YACvD,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC;YAC5D,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;YAEhC,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChD,MAAM,IAAI,iBAAiB,CAAC,YAAY,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,iBAAiB,EAAC,CAAC,CAAC;YAC9E,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;YACpG,kFAAkF;YAClF,mBAAmB,CAAC,GAAG,EAAE;gBACvB,IAAI,CAAC;oBACH,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;oBACvD,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,EAAE,CAAC;wBACrC,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,4BAA4B,CAAC,CAAC;wBACpF,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,EAAE;4BAC7E,QAAQ,EAAE,YAAY;4BACtB,SAAS,EAAE,KAAK;4BAChB,GAAG,UAAU,CAAC,UAAU,EAAE;yBAC3B,CAAC,CAAC;wBACH,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE;4BACnD,KAAK,CAAC,MAAM,CAAC,KAAK,CAChB,6GAA6G,EAC7G;gCACE,SAAS,EAAE,KAAK;gCAChB,GAAG,UAAU,CAAC,UAAU,EAAE;6BAC3B,CACF,CAAC;4BACF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE;gCAClD,UAAU;gCACV,IAAI,EAAE,SAAS;gCACf,MAAM,EAAE,gBAAgB,CAAC,MAAM;6BAChC,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CACV,4BAA4B,EAC5B,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,YAAY,EAAE,KAAK,EAAC,EACtD,CAAU,CACX,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,EACvC,UAAU,EACV,KAAK,EACL,SAAS,EACT,gBAAgB,GAC0C,EAAE,EAAE;YAC9D,MAAM,EAAC,IAAI,EAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC9B,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAChE,MAAM,cAAc,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;YACnE,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;YACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;YAE3E,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBACjD,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;wBAC1D,IAAI,EAAE,0BAA0B,CAAC,cAAc;wBAC/C,IAAI,EAAE,cAAc;wBACpB,WAAW,EAAE,KAAK;wBAClB,IAAI;qBACL,CAAC,CAAC;gBACL,CAAC;gBAED,gEAAgE;gBAChE,MAAM,YAAY,GAAG,MAAM,yBAAyB,CAClD,iBAAiB,EACjB,KAAK,CAAC,MAAM,EACZ,SAAS,EACT,gBAAgB,CACjB,CAAC;gBACF,kFAAkF;gBAClF,mBAAmB,CAAC,GAAG,EAAE;oBACvB,IAAI,CAAC;wBACH,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;wBAE7D,MAAM,gBAAgB,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC;wBACnD,MAAM,EAAC,eAAe,EAAC,GAAG,gBAAgB,CAAC;wBAC3C,yDAAyD;wBACzD,qEAAqE;wBACrE,QAAQ,eAAe,EAAE,CAAC;4BACxB,KAAK,CAAC,CAAC;4BACP,KAAK,MAAM,CAAC,gBAAgB,CAAC;4BAC7B,KAAK,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC;4BACjC,KAAK,iBAAiB,GAAG,CAAC,CAAC;4BAC3B,KAAK,iBAAiB,GAAG,CAAC,CAAC;4BAC3B,KAAK,iBAAiB;gCACpB,OAAO,EAAE,WAAW,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAC,aAAa,EAAE,eAAe,EAAC,EAAE,QAAQ,CAAC,CAAC;gCACjG,MAAM;wBACV,CAAC;wBAED,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAE,CAAC;4BACvC,qFAAqF;4BACrF,IAAI,eAAe,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;gCAC7C,KAAK,CAAC,2BAA2B,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAC;4BAC9E,CAAC;4BAED,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,sEAAsE,EAAE;gCACzF,eAAe,EAAE,KAAK;gCACtB,GAAG,gBAAgB;6BACpB,CAAC,CAAC;wBACL,CAAC;wBAED,qFAAqF;wBACrF,oFAAoF;wBACpF,wFAAwF;wBAExF,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC;4BAC/B,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,cAAc,EAAE,4BAA4B,CAAC,CAAC;4BAC1F,mDAAmD;4BACnD,YAAY,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE;gCAChE,KAAK,CAAC,MAAM,CAAC,KAAK,CAChB,mHAAmH,EACnH;oCACE,eAAe,EAAE,KAAK;oCACtB,GAAG,gBAAgB;iCACpB,CACF,CAAC;gCACF,oDAAoD;gCACpD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,yBAAyB,EAAE;oCACvD,YAAY;oCACZ,IAAI,EAAE,SAAS;oCACf,MAAM,EAAE,gBAAgB,CAAC,MAAM;iCAChC,CAAC,CAAC;4BACL,CAAC,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,MAAM,CAAC,KAAK,CACV,mCAAmC,EACnC,EAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,CAAC,YAAY,EAAE,KAAK,EAAC,EAC9D,CAAU,CACX,CAAC;oBACJ,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;oBACrD,MAAM,IAAI,iBAAiB,CAAC,YAAY,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,gBAAgB,EAAC,CAAC,CAAC;gBAC7E,CAAC;gBAED,IAAI,wBAAwB,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBAChD,MAAM,IAAI,4BAA4B,CAAC,YAAY,CAAC,MAAM,EAAE;wBAC1D,IAAI,EAAE,0BAA0B,CAAC,cAAc;wBAC/C,IAAI,EAAE,cAAc;wBACpB,WAAW,EAAE,KAAK;wBAClB,IAAI;qBACL,CAAC,CAAC;gBACL,CAAC;gBAED,uDAAuD;gBACvD,MAAM,UAAU,GAAG,MAAM,wBAAwB,CAC/C,iBAAiB,EACjB,cAAc,EACd,KAAK,CAAC,MAAM,EACZ,SAAS,EACT,gBAAgB,CACjB,CAAC;gBACF,kFAAkF;gBAClF,mBAAmB,CAAC,GAAG,EAAE;oBACvB,IAAI,CAAC;wBACH,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;wBAC7D,MAAM,cAAc,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;wBAC/C,MAAM,EAAC,eAAe,EAAC,GAAG,cAAc,CAAC;wBACzC,yDAAyD;wBACzD,qEAAqE;wBACrE,QAAQ,eAAe,EAAE,CAAC;4BACxB,KAAK,CAAC,CAAC;4BACP,KAAK,MAAM,CAAC,gBAAgB,CAAC;4BAC7B,KAAK,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC;4BACjC,KAAK,iBAAiB,GAAG,CAAC,CAAC;4BAC3B,KAAK,iBAAiB,GAAG,CAAC,CAAC;4BAC3B,KAAK,iBAAiB;gCACpB,OAAO,EAAE,WAAW,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAC,aAAa,EAAE,eAAe,EAAC,EAAE,QAAQ,CAAC,CAAC;gCACjG,MAAM;wBACV,CAAC;wBAED,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,EAAE,CAAC;4BACrC,kEAAkE;4BAClE,KAAK,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;4BAClD,qFAAqF;4BACrF,IAAI,UAAU,CAAC,WAAW,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;gCACpD,KAAK,CAAC,2BAA2B,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC;4BAC5E,CAAC;wBACH,CAAC;wBAED,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,EAAE,CAAC;4BACrC,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,cAAc,EAAE,4BAA4B,CAAC,CAAC;4BAC1F,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,iEAAiE,EAAE;gCACpF,QAAQ,EAAE,YAAY;gCACtB,eAAe,EAAE,KAAK;gCACtB,GAAG,cAAc;6BAClB,CAAC,CAAC;4BACH,mDAAmD;4BACnD,UAAU,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE;gCAC3D,KAAK,CAAC,MAAM,CAAC,KAAK,CAChB,+GAA+G,EAC/G;oCACE,eAAe,EAAE,KAAK;oCACtB,GAAG,cAAc;iCAClB,CACF,CAAC;gCACF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE;oCAClD,UAAU;oCACV,IAAI,EAAE,SAAS;oCACf,MAAM,EAAE,gBAAgB,CAAC,MAAM;iCAChC,CAAC,CAAC;4BACL,CAAC,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,MAAM,CAAC,KAAK,CACV,mCAAmC,EACnC,EAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,CAAC,YAAY,EAAE,KAAK,EAAC,EAC5D,CAAU,CACX,CAAC;oBACJ,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE,KAAK,EAAE,EAC9C,UAAU,EACV,KAAK,EACL,gBAAgB,GACiD,EAAE,EAAE;YACrE,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,IAAI,gBAAmD,CAAC;YACxD,MAAM,uBAAuB,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YACtE,MAAM,EAAC,IAAI,EAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;YAE9B,IAAI,CAAC;gBACH,gBAAgB,GAAG,MAAM,+BAA+B,CAAC,IAAI,EAAE,KAAK,EAAE,uBAAuB,EAAE,cAAc,CAAC,CAAC;YACjH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,gBAAgB,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;oBACtE,KAAK,CAAC,sBAAsB,CAC1B,WAAW,CAAC,IAAI,CAAC,CAAC,uBAAuB,EACzC,uBAAuB,EACvB,eAAe,CAChB,CAAC;gBACJ,CAAC;gBACD,MAAM,CAAC,CAAC;YACV,CAAC;YAED,kFAAkF;YAClF,MAAM,EAAC,kBAAkB,EAAE,yBAAyB,EAAE,cAAc,EAAC,GAAG,gBAAgB,CAAC;YACzF,mBAAmB,CAAC,GAAG,EAAE;gBACvB,IAAI,CAAC;oBACH,KAAK,CAAC,gBAAgB,EAAE,mCAAmC,CACzD,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,CACnB,CAAC;oBACF,MAAM,qBAAqB,GAAG,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC;oBAExE,MAAM,aAAa,GAAG,KAAK,CAAC,yBAAyB,CAAC,GAAG,CACvD,qBAAqB,EACrB,cAAc,EACd,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,EAC1C,yBAAyB,CAC1B,CAAC;oBACF,OAAO,EAAE,MAAM,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAC,aAAa,EAAC,CAAC,CAAC;oBAEnF,IAAI,CAAC,OAAO,CAAC,sCAAsC,EAAE,CAAC;wBACpD,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;oBACrE,CAAC;oBAED,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACrG,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CACV,2CAA2C,EAC3C;wBACE,IAAI,EAAE,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI;wBACzD,IAAI,EAAE,SAAS,CAAC,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC;qBAChF,EACD,CAAU,CACX,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,EACrC,UAAU,EACV,KAAK,GACmD,EAAE,EAAE;YAC5D,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,EAAC,IAAI,EAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC9B,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAC/D,MAAM,eAAe,GAAG,MAAM,8BAA8B,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;YAEtF,kFAAkF;YAClF,mBAAmB,CAAC,GAAG,EAAE;gBACvB,IAAI,CAAC;oBACH,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;oBAC7E,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;oBACtD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;gBACjF,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CACV,yCAAyC,EACzC,EAAC,IAAI,EAAE,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAC,EAC/C,CAAU,CACX,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,EACrC,UAAU,EACV,KAAK,GACmD,EAAE,EAAE;YAC5D,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAC/D,MAAM,cAAc,GAAG,MAAM,8BAA8B,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;YAErF,kFAAkF;YAClF,mBAAmB,CAAC,GAAG,EAAE;gBACvB,IAAI,CAAC;oBACH,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;oBACtE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;gBACjF,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CACV,yCAAyC,EACzC;wBACE,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI;wBACjD,aAAa,EAAE,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa;qBACpE,EACD,CAAU,CACX,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,EAAC,UAAU,EAAE,KAAK,EAAuD,EAAE,EAAE;YAC/G,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAC5D,MAAM,2BAA2B,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YAExD,kFAAkF;YAClF,mBAAmB,CAAC,GAAG,EAAE;gBACvB,IAAI,CAAC;oBACH,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;oBAChD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;gBAC3E,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CACV,sCAAsC,EACtC,EAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,cAAc,EAAC,EAC1F,CAAU,CACX,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,CAAC,UAAU,CAAC,qCAAqC,CAAC,EAAE,KAAK,EAAE,EACzD,UAAU,EACV,KAAK,GACuE,EAAE,EAAE;YAChF,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,oBAAoB,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YACnE,MAAM,EAAC,+BAA+B,EAAC,GAAG,MAAM,+CAA+C,CAC7F,KAAK,EACL,oBAAoB,CACrB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBACZ,IAAI,CAAC,YAAY,kBAAkB,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;oBACxE,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,0BAA0B,EAAE,oBAAoB,EAAE,eAAe,CAAC,CAAC;gBAC7G,CAAC;gBACD,MAAM,CAAC,CAAC;YACV,CAAC,CAAC,CAAC;YAEH,kFAAkF;YAClF,mBAAmB,CAAC,GAAG,EAAE;gBACvB,IAAI,CAAC;oBACH,KAAK,CAAC,gBAAgB,EAAE,sCAAsC,CAC5D,oBAAoB,CAAC,OAAO,EAC5B,+BAA+B,CAChC,CAAC;oBACF,MAAM,aAAa,GAAG,KAAK,CAAC,4BAA4B,CAAC,GAAG,CAC1D,oBAAoB,CAAC,OAAO,EAC5B,+BAA+B,CAAC,MAAM,CACvC,CAAC;oBACF,OAAO,EAAE,MAAM,CAAC,4BAA4B,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAC,aAAa,EAAC,CAAC,CAAC;oBACtF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;gBACzF,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CACV,8CAA8C,EAC9C;wBACE,IAAI,EAAE,oBAAoB,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI;wBACpD,iBAAiB,EAAE,oBAAoB,CAAC,OAAO,CAAC,YAAY,CAAC,iBAAiB;qBAC/E,EACD,CAAU,CACX,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,EAAC,UAAU,EAAE,KAAK,EAAuD,EAAE,EAAE;YAC/G,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAC5D,MAAM,EAAC,MAAM,EAAC,GAAG,KAAK,CAAC;YACvB,IAAI,qBAAqB,GAAa,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC;gBACH,qBAAqB,GAAG,CAAC,MAAM,2BAA2B,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC;YAClH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,kBAAkB,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;oBACxE,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,oBAAoB,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;gBAChG,CAAC;gBACD,MAAM,CAAC,CAAC;YACV,CAAC;YAED,kFAAkF;YAClF,iEAAiE;YACjE,mBAAmB,CAAC,GAAG,EAAE;gBACvB,IAAI,CAAC;oBACH,KAAK,MAAM,mBAAmB,IAAI,qBAAqB,EAAE,CAAC;wBACxD,MAAM,aAAa,GAAG,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;wBACrG,OAAO,EAAE,MAAM,CAAC,qCAAqC,CAAC,GAAG,CAAC,EAAC,aAAa,EAAC,CAAC,CAAC;oBAC7E,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CACV,sCAAsC,EACtC,EAAC,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,CAAC,cAAc,EAAC,EAChF,CAAU,CACX,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,CAAC,UAAU,CAAC,4BAA4B,CAAC,EAAE,KAAK,EAAE,EAChD,UAAU,EACV,KAAK,GAC8D,EAAE,EAAE;YACvE,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,yBAAyB,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YACxE,iCAAiC,CAAC,MAAM,EAAE,KAAK,EAAE,yBAAyB,CAAC,CAAC;QAC9E,CAAC;QAED,CAAC,UAAU,CAAC,8BAA8B,CAAC,EAAE,KAAK,EAAE,EAClD,UAAU,EACV,KAAK,GACgE,EAAE,EAAE;YACzE,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,2BAA2B,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAC1E,mCAAmC,CAAC,MAAM,EAAE,KAAK,EAAE,2BAA2B,CAAC,CAAC;QAClF,CAAC;QAED,qFAAqF;QACrF,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,KAAK,EAAE,EAC3C,UAAU,EACV,KAAK,GACyD,EAAE,EAAE;YAClE,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,oBAAoB,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YACnE,MAAM,kCAAkC,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;YAEtE,kFAAkF;YAClF,mBAAmB,CAAC,GAAG,EAAE;gBACvB,IAAI,CAAC;oBACH,KAAK,CAAC,MAAM,CAAC,0BAA0B,CAAC,oBAAoB,CAAC,CAAC;oBAC9D,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;gBACzF,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CACV,+CAA+C,EAC/C,EAAC,cAAc,EAAE,oBAAoB,CAAC,OAAO,CAAC,cAAc,EAAC,EAC7D,CAAU,CACX,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,EACrC,UAAU,EACV,KAAK,EACL,SAAS,EACT,gBAAgB,GACwC,EAAE,EAAE;YAC5D,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,cAAc,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC;YAExC,sEAAsE;YACtE,iGAAiG;YACjG,IAAI,CAAC;gBACH,MAAM,sCAAsC,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YACtE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,6BAA6B,EAAE,CAAC;oBAC/C,MAAM,EAAC,eAAe,EAAC,GAAG,cAAc,CAAC,OAAO,CAAC;oBACjD,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;oBACvD,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;oBAEvG,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;wBACrC,KAAK,CAAC,sBAAsB,CAC1B,GAAG,CAAC,KAAK,CAAC,8BAA8B,EACxC,cAAc,EACd,sBAAsB,IAAI,EAAE,CAC7B,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,MAAM,CAAC,CAAC;YACV,CAAC;YAED,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;YACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;YAEjE,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE;gBAC/C,IAAI;gBACJ,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW;gBACpC,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC;gBAC9C,QAAQ;aACT,CAAC,CAAC;YAEH,OAAO,EAAE,8BAA8B,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAC,EAAE,QAAQ,CAAC,CAAC;YAC7G,KAAK,CAAC,gBAAgB,EAAE,gCAAgC,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;YAEpG,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YACzD,2FAA2F;YAC3F,gDAAgD;YAChD,MAAM,YAAY,GAAG,KAAK,CAAC,6BAA6B,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAE3E,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,wHAAwH;gBACxH,MAAM,IAAI,6BAA6B,CAAC,YAAY,CAAC,MAAM,EAAE;oBAC3D,IAAI,EAAE,iCAAiC,CAAC,8BAA8B;oBACtE,SAAS,EAAE,YAAY;iBACxB,CAAC,CAAC;YACL,CAAC;YAED,kFAAkF;YAClF,mBAAmB,CAAC,GAAG,EAAE;gBACvB,IAAI,CAAC;oBACH,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;oBAE1D,YAAY,CAAC,kBAAkB,CAAC;wBAC9B,QAAQ,EAAE,cAAc;wBACxB,MAAM,EAAE,0BAA0B,CAAC,MAAM;wBACzC,gBAAgB;wBAChB,SAAS;qBACV,CAAC,CAAC;oBAEH,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,sBAAsB,EAAE;wBACjE,IAAI;wBACJ,YAAY,EAAE,QAAQ,CAAC,YAAY;wBACnC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;wBAChD,SAAS,EAAE,YAAY;qBACxB,CAAC,CAAC;oBAEH,KAAK,CAAC,uBAAuB,CAAC,YAAY,EAAE,EAAC,cAAc,EAAE,IAAI,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC9E,uCAAuC;wBACvC,IAAI,QAAkB,CAAC;wBAEvB,IAAI,CAAC,YAAY,YAAY,EAAE,CAAC;4BAC9B,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gCACpB,2FAA2F;gCAC3F,+CAA+C;gCAC/C,KAAK,gBAAgB,CAAC,wBAAwB,CAAC;gCAC/C,KAAK,gBAAgB,CAAC,gBAAgB,CAAC;gCACvC,KAAK,gBAAgB,CAAC,sBAAsB;oCAC1C,0EAA0E;oCAC1E,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;oCAC1B,MAAM;gCACR,sFAAsF;gCACtF,KAAK,gBAAgB,CAAC,iBAAiB,CAAC;gCACxC,KAAK,gBAAgB,CAAC,2BAA2B,CAAC;gCAClD,KAAK,gBAAgB,CAAC,wBAAwB;oCAC5C,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;oCAC7E,0FAA0F;oCAC1F,+DAA+D;oCAC/D,KAAK,CAAC,6BAA6B,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;oCAChE,mEAAmE;oCACnE,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;oCACzB,MAAM;4BACV,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,uBAAuB;4BACvB,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;wBAC5B,CAAC;wBACD,OAAO,EAAE,8BAA8B,CAAC,oBAAoB,CAAC,GAAG,CAAC;4BAC/D,KAAK,EAAE,CAAC,YAAY,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB;yBACrE,CAAC,CAAC;wBACH,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CACpB,gDAAgD,EAChD,EAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAC,EAC3C,CAAU,CACX,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAC,EAAE,CAAU,CAAC,CAAC;gBAClG,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,CAAC,UAAU,CAAC,2BAA2B,CAAC,EAAE,KAAK,EAAE,EAC/C,UAAU,EACV,KAAK,EACL,gBAAgB,GACkD,EAAE,EAAE;YACtE,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,yBAAyB,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YACxE,MAAM,gBAAgB,GAAG,MAAM,uCAAuC,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;YAEzG,kFAAkF;YAClF,mBAAmB,CAAC,GAAG,EAAE;gBACvB,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;oBAChG,OAAO,EAAE,+BAA+B,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAC,EAAE,QAAQ,CAAC,CAAC;oBAC9G,MAAM,gBAAgB,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;oBACzG,MAAM,kBAAkB,GAAG,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oBAE3E,IAAI,kBAAkB,EAAE,CAAC;wBACvB,IAAI,CAAC;4BACH,MAAM,aAAa,GAAG,KAAK,CAAC,sBAAsB,CAAC,GAAG,CACpD,yBAAyB,EACzB,gBAAgB,CAAC,cAAc,EAC/B,gBAAgB,CAAC,yBAAyB,CAC3C,CAAC;4BACF,OAAO,EAAE,MAAM,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAC,aAAa,EAAC,CAAC,CAAC;wBAClF,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,EAAE,EAAE,CAAU,CAAC,CAAC;wBAC1E,CAAC;oBACH,CAAC;oBAED,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAChC,SAAS,CAAC,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,EACzD,yBAAyB,CAAC,IAAI,CAAC,IAAI,EACnC,gBAAgB,CAAC,yBAAyB,EAC1C,yBAAyB,CAAC,IAAI,CAAC,cAAc,EAC7C,yBAAyB,CAAC,IAAI,CAAC,iBAAiB,CACjD,CAAC;oBAEF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,yBAAyB,EAAE;wBACpE,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;wBAChE,IAAI,EAAE,yBAAyB;qBAChC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CACV,mDAAmD,EACnD;wBACE,IAAI,EAAE,yBAAyB,CAAC,IAAI,CAAC,IAAI;wBACzC,IAAI,EAAE,SAAS,CAAC,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC;qBAChE,EACD,CAAU,CACX,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,EACzC,UAAU,EACV,KAAK,EACL,gBAAgB,GAC4C,EAAE,EAAE;YAChE,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,mBAAmB,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAClE,MAAM,EAAC,aAAa,EAAC,GAAG,MAAM,iCAAiC,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;YAE5F,kFAAkF;YAClF,mBAAmB,CAAC,GAAG,EAAE;gBACvB,IAAI,CAAC;oBACH,iGAAiG;oBACjG,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;oBAC/F,OAAO,EAAE,yBAAyB,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAC,EAAE,UAAU,CAAC,CAAC;oBAE1G,oDAAoD;oBACpD,MAAM,aAAa,GAAG,KAAK,CAAC,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC;oBAC5G,OAAO,EAAE,MAAM,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAC,aAAa,EAAC,CAAC,CAAC;oBAEjF,KAAK,CAAC,gBAAgB,EAAE,2BAA2B,CACjD,QAAQ,CAAC,MAAM,EACf,aAAa,EACb,mBAAmB,CAAC,OAAO,CAC5B,CAAC;oBAEF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE;wBAC9D,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC;wBAC7D,IAAI,EAAE,mBAAmB;qBAC1B,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CACV,6CAA6C,EAC7C;wBACE,IAAI,EAAE,mBAAmB,CAAC,OAAO,CAAC,IAAI;wBACtC,IAAI,EAAE,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,eAAe,CAAC;wBAC5D,aAAa;qBACd,EACD,CAAU,CACX,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,EACxC,UAAU,EACV,KAAK,GACsD,EAAE,EAAE;YAC/D,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,yBAAyB,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YACxE,MAAM,iCAAiC,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;YAE1E,kFAAkF;YAClF,mBAAmB,CAAC,GAAG,EAAE;gBACvB,IAAI,CAAC;oBACH,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE;wBAC9D,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,yBAAyB,CAAC,OAAO,CAAC,YAAY,CAAC;wBAC3E,IAAI,EAAE,yBAAyB;qBAChC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CACV,4CAA4C,EAC5C,EAAC,YAAY,EAAE,yBAAyB,CAAC,OAAO,CAAC,YAAY,EAAC,EAC9D,CAAU,CACX,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,EAClC,UAAU,EACV,KAAK,EACL,gBAAgB,GACqC,EAAE,EAAE;YACzD,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,mBAAmB,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAClE,MAAM,EAAC,IAAI,EAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC;YAE3C,OAAO,EAAE,sBAAsB,CAAC,GAAG,CAAC,EAAC,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAC,CAAC,CAAC;YAC1E,OAAO,EAAE,iCAAiC,CAAC,GAAG,CAC5C,EAAC,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAC,EACpC,mBAAmB,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAChD,CAAC;YAEF,MAAM,KAAK,GAAG,OAAO,EAAE,4BAA4B,CAAC,UAAU,EAAE,CAAC;YACjE,IAAI,gBAA+C,CAAC;YACpD,IAAI,CAAC;gBACH,gBAAgB,GAAG,MAAM,2BAA2B,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;YACnF,CAAC;oBAAS,CAAC;gBACT,KAAK,EAAE,CAAC,EAAC,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAC,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,EAAC,gBAAgB,EAAE,UAAU,EAAC,GAAG,gBAAgB,CAAC;YAExD,kFAAkF;YAClF,mBAAmB,CAAC,GAAG,EAAE;gBACvB,IAAI,CAAC;oBACH,OAAO,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAC,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAC,CAAC,CAAC;oBACvE,OAAO,EAAE,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACjD,oGAAoG;oBACpG,oGAAoG;oBACpG,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;oBACpE,OAAO,EAAE,wBAAwB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBACvD,MAAM,QAAQ,GACZ,WAAW,IAAI,CAAC,IAAI,WAAW,GAAG,IAAI,GAAG,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;oBAElG,MAAM,aAAa,GAAG,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;oBACxG,OAAO,EAAE,kBAAkB,CAAC,aAAa,CAAC,GAAG,CAAC,EAAC,aAAa,EAAC,CAAC,CAAC;oBAC/D,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBAEpE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE;wBACxD,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;wBACjC,IAAI,EAAE,mBAAmB;qBAC1B,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAC,IAAI,EAAC,EAAE,CAAU,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAA4B,EAAE,OAA0B;IAChF,MAAM,EAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAC,GAAG,OAAO,CAAC;IAC5D,OAAO;QACL,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,KAAK,EACpC,mBAA+E,EACzC,EAAE;YACxC,MAAM,OAAO,GAAgC,EAAE,CAAC;YAChD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,MAAM,CAAC;YACpD,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,sFAAsF;YACtF,MAAM,EAAC,IAAI,EAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;YACrD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC3D,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc;gBAC/C,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO;gBACjC,aAAa,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO;gBACvC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;aAC3B,CAAC,CAAwB,CAAC;YAC3B,MAAM,EAAC,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAC,GAAG,MAAM,qCAAqC,CAC5F,IAAI,EACJ,KAAK,EACL,gBAAgB,CACjB,CAAC;YACF,2DAA2D;YAC3D,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAE,gBAAgB,CAAC,GAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzF,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,EAAE,iBAAiB,CAAC,yBAAyB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACjF,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,iBAAiB,CAAC,wBAAwB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC5E,CAAC;YAED,mFAAmF;YACnF,mBAAmB,CAAC,GAAG,EAAE;gBACvB,KAAK,MAAM,CAAC,CAAC,EAAE,gBAAgB,CAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC;oBAChE,IAAI,gBAAgB,CAAC,GAAG;wBAAE,SAAS;oBACnC,MAAM,EACJ,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,cAAc,EACd,uBAAuB,EACvB,aAAa,EACb,MAAM,GACP,GAAG,gBAAgB,CAAC,MAAM,CAAC;oBAC5B,IAAI,CAAC;wBACH,KAAK,CAAC,gBAAgB,EAAE,qCAAqC,CAC3D,mBAAmB,CAAC,CAAC,CAAC,CAAC,gBAAgB,EACvC,kBAAkB,CACnB,CAAC;wBAEF,IAAI,CAAC;4BACH,uGAAuG;4BACvG,yDAAyD;4BACzD,IAAI,iBAAiB,CAAC,eAAe,CAAC,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gCAC5E,MAAM,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAC7C,cAAc,EACd,WAAW,EACX,cAAc,EACd,uBAAuB,EACvB,aAAa,CACd,CAAC;gCACF,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAC,aAAa,EAAC,CAAC,CAAC;4BAC3E,CAAC;wBACH,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,MAAM,CAAC,KAAK,CAAC,sDAAsD,EAAE,EAAC,MAAM,EAAC,EAAE,CAAU,CAAC,CAAC;wBAC7F,CAAC;wBAED,qFAAqF;wBACrF,IAAI,CAAC,OAAO,CAAC,sCAAsC,EAAE,CAAC;4BACpD,IAAI,CAAC;gCACH,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;4BACrE,CAAC;4BAAC,OAAO,CAAC,EAAE,CAAC;gCACX,MAAM,CAAC,KAAK,CAAC,4DAA4D,EAAE,EAAC,MAAM,EAAC,EAAE,CAAU,CAAC,CAAC;4BACnG,CAAC;wBACH,CAAC;wBAED,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC5B,KAAK,CAAC,OAAO,CAAC,IAAI,CAChB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,EACzC,WAAiD,CAClD,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACN,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,WAAgD,CAAC,CAAC;4BAC1G,KAAK,CAAC,OAAO,CAAC,IAAI,CAChB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,EACzC,0BAA0B,CACxB,WAAgD,EAChD,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CACvC,CACF,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAC,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAC,EAAE,CAAU,CAAC,CAAC;oBAC9G,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,EAAoB,EACpB,OAAiB,EACjB,KAAmB,EACnB,IAAU,EACV,SAAe;IAEf,IAAI,uBAAuB,GAAG,CAAC,CAAC;IAChC,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,wBAAwB,GAC5B,CAAC,YAAY,gBAAgB,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,oBAAoB,CAAC,yCAAyC,CAAC;YAClH,MAAM,+BAA+B,GACnC,CAAC,YAAY,uBAAuB,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,2BAA2B,CAAC,kBAAkB,CAAC;YAEzG,IAAI,wBAAwB,IAAI,+BAA+B,EAAE,CAAC;gBAChE,IAAI,uBAAuB,KAAK,CAAC,EAAE,CAAC;oBAClC,yCAAyC;oBACzC,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;oBACrC,OAAO,CAAC,kBAAkB,CAAC,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAC7E,CAAC;gBAED,IAAI,uBAAuB,EAAE,GAAG,8BAA8B,EAAE,CAAC;oBAC/D,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;oBACxE,uGAAuG;oBACvG,oCAAoC;oBACpC,IAAI,UAAU,EAAE,CAAC;wBACf,SAAS;oBACX,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,KAAwE,EACxE,SAAe,EACf,qBAA6B;IAE7B,OAAO,IAAI,CAAC,GAAG,CACb,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,EACzG,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"gossipHandlers.js","sourceRoot":"","sources":["../../../src/network/processor/gossipHandlers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/network/processor/gossipQueues/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,UAAU,EAAuB,MAAM,2BAA2B,CAAC;AAC5F,OAAO,EAAC,uBAAuB,EAAC,MAAM,aAAa,CAAC;AAGpD,OAAO,EAAW,WAAW,EAA8D,MAAM,YAAY,CAAC;AAQ9G;;GAEG;AACH,eAAO,MAAM,kCAAkC,KAAK,CAAC;AAgGrD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,IAAI;KACnC,CAAC,IAAI,UAAU,GAAG,WAAW,CAAC,uBAAuB,CAAC;CACxD,CASA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/network/processor/gossipQueues/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,UAAU,EAAuB,MAAM,2BAA2B,CAAC;AAC5F,OAAO,EAAC,uBAAuB,EAAC,MAAM,aAAa,CAAC;AAGpD,OAAO,EAAW,WAAW,EAA8D,MAAM,YAAY,CAAC;AAQ9G;;GAEG;AACH,eAAO,MAAM,kCAAkC,KAAK,CAAC;AA0FrD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,IAAI;KACnC,CAAC,IAAI,UAAU,GAAG,WAAW,CAAC,uBAAuB,CAAC;CACxD,CASA"}
@@ -19,12 +19,6 @@ export const MIN_SIGNATURE_SETS_TO_BATCH_VERIFY = 32;
19
19
  const linearGossipQueueOpts = {
20
20
  // validation gossip block asap
21
21
  [GossipType.beacon_block]: { maxLength: 1024, type: QueueType.FIFO, dropOpts: { type: DropType.count, count: 1 } },
22
- // gossip length for blob is beacon block length * max blobs per block = 4096
23
- [GossipType.blob_sidecar]: {
24
- maxLength: 4096,
25
- type: QueueType.FIFO,
26
- dropOpts: { type: DropType.count, count: 1 },
27
- },
28
22
  [GossipType.data_column_sidecar]: {
29
23
  maxLength: 4096,
30
24
  type: QueueType.FIFO,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/network/processor/gossipQueues/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/network/processor/gossipQueues/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,+BAA+B,EAAC,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAkB,UAAU,EAAuB,MAAM,2BAA2B,CAAC;AAE5F,OAAO,EAAC,yBAAyB,EAAC,MAAM,cAAc,CAAC;AACvD,OAAO,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,QAAQ,EAAgC,SAAS,EAAE,+BAA+B,EAAC,MAAM,YAAY,CAAC;AAE9G;;;GAGG;AACH,MAAM,iCAAiC,GAAG,GAAG,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,CAAC;AAErD;;GAEG;AACH,MAAM,qBAAqB,GAEvB;IACF,+BAA+B;IAC/B,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC,EAAC;IAC9G,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE;QAChC,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC;KAC3C;IACD,iGAAiG;IACjG,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE;QACvC,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC;KAC3C;IACD,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC,EAAC;IAChH,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC,EAAC;IACnH,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC,EAAC;IACnH,CAAC,UAAU,CAAC,qCAAqC,CAAC,EAAE;QAClD,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC;KAC3C;IACD,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC,EAAC;IAChH,CAAC,UAAU,CAAC,4BAA4B,CAAC,EAAE;QACzC,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC;KAC3C;IACD,CAAC,UAAU,CAAC,8BAA8B,CAAC,EAAE;QAC3C,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC;KAC3C;IACD,2FAA2F;IAC3F,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE;QACpC,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC;KAC3C;IACD,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE;QAC9B,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC;KAC3C;IACD,CAAC,UAAU,CAAC,2BAA2B,CAAC,EAAE;QACxC,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC;KAC3C;IACD,6FAA6F;IAC7F,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE;QAClC,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC;KAC3C;IACD,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE;QACjC,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC;KAC3C;IACD,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;QAC3B,2FAA2F;QAC3F,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC;KAC3C;CACF,CAAC;AAEF,MAAM,sBAAsB,GAExB;IACF,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE;QAC/B,uGAAuG;QACvG,kFAAkF;QAClF,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,CAAC,IAA6B,EAAE,EAAE;YACzC,OAAO,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClF,CAAC;QACD,YAAY,EAAE,kCAAkC;QAChD,YAAY,EAAE,iCAAiC;KAChD;CACF,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB;IAGhC,MAAM,eAAe,GAAG,EAAC,GAAG,qBAAqB,EAAE,GAAG,sBAAsB,EAAC,CAAC;IAE9E,OAAO,SAAS,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE;QACzC,IAAI,+BAA+B,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,iBAAiB,CAA0B,IAAI,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"gossipValidatorFn.d.ts","sourceRoot":"","sources":["../../../src/network/processor/gossipValidatorFn.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAoBvC,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAGL,cAAc,EAEd,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAG7C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;AA8EtD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAG3E;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,aAAa,GACzB,sBAAsB,CAqExB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,aAAa,GACzB,iBAAiB,CA+DnB"}
1
+ {"version":3,"file":"gossipValidatorFn.d.ts","sourceRoot":"","sources":["../../../src/network/processor/gossipValidatorFn.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAmBvC,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAGL,cAAc,EAEd,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAG7C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;AA0EtD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAG3E;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,aAAa,GACzB,sBAAsB,CAqExB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,aAAa,GACzB,iBAAiB,CA+DnB"}
@@ -1,5 +1,5 @@
1
1
  import { TopicValidatorResult } from "@libp2p/gossipsub";
2
- import { AttestationError, AttestationErrorCode, AttesterSlashingErrorCode, BlobSidecarErrorCode, BlockErrorCode, BlsToExecutionChangeErrorCode, DataColumnSidecarErrorCode, ExecutionPayloadBidErrorCode, ExecutionPayloadEnvelopeErrorCode, GossipAction, GossipActionError, InclusionListErrorCode, PayloadAttestationErrorCode, ProposerPreferencesErrorCode, ProposerSlashingErrorCode, SyncCommitteeErrorCode, VoluntaryExitErrorCode, } from "../../chain/errors/index.js";
2
+ import { AttestationError, AttestationErrorCode, AttesterSlashingErrorCode, BlockErrorCode, BlsToExecutionChangeErrorCode, DataColumnSidecarErrorCode, ExecutionPayloadBidErrorCode, ExecutionPayloadEnvelopeErrorCode, GossipAction, GossipActionError, InclusionListErrorCode, PayloadAttestationErrorCode, ProposerPreferencesErrorCode, ProposerSlashingErrorCode, SyncCommitteeErrorCode, VoluntaryExitErrorCode, } from "../../chain/errors/index.js";
3
3
  import { GossipType, } from "../gossip/interface.js";
4
4
  import { PeerAction } from "../peers/index.js";
5
5
  import { prettyPrintPeerIdStr } from "../util.js";
@@ -12,10 +12,6 @@ const gossipRejectPeerAction = {
12
12
  default: PeerAction.LowToleranceError,
13
13
  byCode: { [BlockErrorCode.PROPOSAL_SIGNATURE_INVALID]: PeerAction.Fatal },
14
14
  },
15
- [GossipType.blob_sidecar]: {
16
- default: PeerAction.LowToleranceError,
17
- byCode: { [BlobSidecarErrorCode.PROPOSAL_SIGNATURE_INVALID]: PeerAction.Fatal },
18
- },
19
15
  [GossipType.data_column_sidecar]: {
20
16
  default: PeerAction.LowToleranceError,
21
17
  byCode: { [DataColumnSidecarErrorCode.PROPOSAL_SIGNATURE_INVALID]: PeerAction.Fatal },
@@ -1 +1 @@
1
- {"version":3,"file":"gossipValidatorFn.js","sourceRoot":"","sources":["../../../src/network/processor/gossipValidatorFn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAGvD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,cAAc,EACd,6BAA6B,EAC7B,0BAA0B,EAC1B,4BAA4B,EAC5B,iCAAiC,EACjC,YAAY,EACZ,iBAAiB,EACjB,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EAKL,UAAU,GAGX,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,oBAAoB,EAAC,MAAM,YAAY,CAAC;AAahD;;;GAGG;AACH,MAAM,sBAAsB,GAA6C;IACvE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;QACzB,OAAO,EAAE,UAAU,CAAC,iBAAiB;QACrC,MAAM,EAAE,EAAC,CAAC,cAAc,CAAC,0BAA0B,CAAC,EAAE,UAAU,CAAC,KAAK,EAAC;KACxE;IACD,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;QACzB,OAAO,EAAE,UAAU,CAAC,iBAAiB;QACrC,MAAM,EAAE,EAAC,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,EAAE,UAAU,CAAC,KAAK,EAAC;KAC9E;IACD,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE;QAChC,OAAO,EAAE,UAAU,CAAC,iBAAiB;QACrC,MAAM,EAAE,EAAC,CAAC,0BAA0B,CAAC,0BAA0B,CAAC,EAAE,UAAU,CAAC,KAAK,EAAC;KACpF;IACD,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE;QAC9B,OAAO,EAAE,UAAU,CAAC,iBAAiB;QACrC,MAAM,EAAE,EAAC,CAAC,iCAAiC,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,KAAK,EAAC;KAClF;IACD,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE;QACvC,OAAO,EAAE,UAAU,CAAC,iBAAiB;QACrC,MAAM,EAAE,EAAC,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,KAAK,EAAC;KACrE;IACD,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE;QAC/B,OAAO,EAAE,UAAU,CAAC,iBAAiB;QACrC,MAAM,EAAE,EAAC,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,KAAK,EAAC;KACrE;IACD,CAAC,UAAU,CAAC,qCAAqC,CAAC,EAAE;QAClD,OAAO,EAAE,UAAU,CAAC,iBAAiB;QACrC,MAAM,EAAE,EAAC,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,KAAK,EAAC;KACvE;IACD,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;QAC3B,OAAO,EAAE,UAAU,CAAC,iBAAiB;QACrC,MAAM,EAAE,EAAC,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,KAAK,EAAC;KACvE;IACD,CAAC,UAAU,CAAC,2BAA2B,CAAC,EAAE;QACxC,OAAO,EAAE,UAAU,CAAC,iBAAiB;QACrC,MAAM,EAAE,EAAC,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,KAAK,EAAC;KAC5E;IACD,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;QAC3B,OAAO,EAAE,UAAU,CAAC,iBAAiB;QACrC,MAAM,EAAE,EAAC,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,KAAK,EAAC;KACvE;IACD,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE;QAClC,OAAO,EAAE,UAAU,CAAC,kBAAkB;QACtC,MAAM,EAAE,EAAC,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,KAAK,EAAC;KAC7E;IACD,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE;QACjC,OAAO,EAAE,UAAU,CAAC,kBAAkB;QACtC,MAAM,EAAE,EAAC,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,KAAK,EAAC;KAC7E;IACD,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;QAC3B,OAAO,EAAE,UAAU,CAAC,kBAAkB;QACtC,MAAM,EAAE,EAAC,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,KAAK,EAAC;KACvE;IACD,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE;QACpC,OAAO,EAAE,UAAU,CAAC,kBAAkB;QACtC,MAAM,EAAE,EAAC,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,KAAK,EAAC;KAC9E;IACD,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE;QAC9B,OAAO,EAAE,UAAU,CAAC,kBAAkB;QACtC,MAAM,EAAE,EAAC,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,KAAK,EAAC;KAC1E;IACD,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE;QAC9B,OAAO,EAAE,UAAU,CAAC,kBAAkB;QACtC,MAAM,EAAE,EAAC,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,KAAK,EAAC;KAC1E;IACD,4CAA4C;IAC5C,CAAC,UAAU,CAAC,4BAA4B,CAAC,EAAE,EAAC,OAAO,EAAE,UAAU,CAAC,kBAAkB,EAAC;IACnF,CAAC,UAAU,CAAC,8BAA8B,CAAC,EAAE,EAAC,OAAO,EAAE,UAAU,CAAC,kBAAkB,EAAC;CACtF,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,IAAgB,EAAE,IAAY;IAC7D,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,cAA8B,EAC9B,OAA2B,EAC3B,WAA0B;IAE1B,MAAM,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAC,GAAG,OAAO,CAAC;IAExC,OAAO,KAAK,UAAU,sBAAsB,CAAC,YAAiC;QAC5E,wCAAwC;QACxC,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAO,cAAc,CAAC,IAAI,CAA0B,CAClE,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACjC,UAAU,EAAE;oBACV,cAAc,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI;oBACpC,OAAO,EAAE,WAAW,CAAC,OAAO;oBAC5B,OAAO,EAAE,WAAW,CAAC,OAAO;iBAC7B;gBACD,KAAK,EAAE,WAAW,CAAC,KAAK;gBACxB,SAAS,EAAE,WAAW,CAAC,iBAAiB;gBACxC,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;aAC/C,CAAC,CAAC,CACJ,CAAC;YAEF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC1B,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;oBACd,OAAO,oBAAoB,CAAC,MAAM,CAAC;gBACrC,CAAC;gBAED,MAAM,EAAC,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAExE,IAAI,CAAC,CAAC,CAAC,YAAY,gBAAgB,CAAC,EAAE,CAAC;oBACrC,MAAM,CAAC,KAAK,CACV,2BAA2B,IAAI,+BAA+B,EAC9D,EAAC,MAAM,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAC,EAC7E,CAAU,CACX,CAAC;oBACF,OAAO,EAAE,gBAAgB,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;oBACpE,OAAO,oBAAoB,CAAC,MAAM,CAAC;gBACrC,CAAC;gBAED,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;oBACjB,KAAK,YAAY,CAAC,MAAM;wBACtB,OAAO,EAAE,gBAAgB,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;wBACpE,sDAAsD;wBACtD,OAAO,EAAE,gBAAgB,CAAC,+BAA+B,CAAC,GAAG,CAAC,EAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;wBACrF,OAAO,oBAAoB,CAAC,MAAM,CAAC;oBACrC,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;wBACzB,OAAO,EAAE,gBAAgB,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;wBACpE,sDAAsD;wBACtD,OAAO,EAAE,gBAAgB,CAAC,+BAA+B,CAAC,GAAG,CAAC,EAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;wBACrF,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACvD,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC5D,IAAI,UAAU,KAAK,UAAU,CAAC,KAAK;4BAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC;wBACpE,MAAM,CAAC,KAAK,CACV,qBAAqB,IAAI,WAAW,EACpC,EAAC,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAC,EACjE,CAAC,CACF,CAAC;wBACF,OAAO,oBAAoB,CAAC,MAAM,CAAC;oBACrC,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,0BAA0B;YAC1B,MAAM,CAAC,KAAK,CAAC,2BAA2B,IAAI,iBAAiB,EAAE,EAAE,EAAE,CAAU,CAAC,CAAC;YAC/E,MAAM,OAAO,GAA2B,EAAE,CAAC;YAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAC5C,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAClC,cAA8B,EAC9B,OAA2B,EAC3B,WAA0B;IAE1B,MAAM,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAC,GAAG,OAAO,CAAC;IAExC,OAAO,KAAK,UAAU,iBAAiB,CAAC,EACtC,KAAK,EACL,GAAG,EACH,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,OAAO,GACR;QACC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAExB,IAAI,CAAC;YACH,MAAO,cAAc,CAAC,IAAI,CAAqB,CAAC;gBAC9C,UAAU,EAAE,EAAC,cAAc,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAC;gBAC/C,KAAK;gBACL,SAAS,EAAE,iBAAiB;gBAC5B,gBAAgB;aACjB,CAAC,CAAC;YAEH,OAAO,EAAE,gBAAgB,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;YAEpE,OAAO,oBAAoB,CAAC,MAAM,CAAC;QACrC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,CAAC,CAAC,YAAY,iBAAiB,CAAC,EAAE,CAAC;gBACtC,iEAAiE;gBACjE,MAAM,CAAC,KAAK,CACV,qBAAqB,IAAI,gCAAgC,EACzD,EAAC,MAAM,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAC,EAC7E,CAAU,CACX,CAAC;gBACF,OAAO,oBAAoB,CAAC,MAAM,CAAC;YACrC,CAAC;YAED,mCAAmC;YACnC,qGAAqG;YACrG,OAAO,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,CAAC;gBAClD,KAAK,EAAE,IAAI;gBACX,KAAK,EAAG,CAAuC,CAAC,IAAI,CAAC,IAAI;aAC1D,CAAC,CAAC;YAEH,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;gBACjB,KAAK,YAAY,CAAC,MAAM;oBACtB,OAAO,EAAE,gBAAgB,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;oBACpE,OAAO,oBAAoB,CAAC,MAAM,CAAC;gBAErC,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;oBACzB,OAAO,EAAE,gBAAgB,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;oBACpE,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvD,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5D,IAAI,UAAU,KAAK,UAAU,CAAC,KAAK;wBAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC;oBACpE,MAAM,CAAC,KAAK,CACV,qBAAqB,IAAI,WAAW,EACpC,EAAC,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAC,EACjE,CAAC,CACF,CAAC;oBACF,OAAO,oBAAoB,CAAC,MAAM,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"gossipValidatorFn.js","sourceRoot":"","sources":["../../../src/network/processor/gossipValidatorFn.ts"],"names":[],"mappings":"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"}
@@ -105,6 +105,12 @@ export declare enum CannotAcceptWorkReason {
105
105
  */
106
106
  export declare class NetworkProcessor {
107
107
  private readonly opts;
108
+ private stopped;
109
+ /**
110
+ * Replaced by dropAllJobs(). Loops that yield while re-queueing awaiting messages compare it after each yield
111
+ * and stop, so no message is queued after a drop.
112
+ */
113
+ private jobGeneration;
108
114
  private readonly chain;
109
115
  private readonly core;
110
116
  private readonly events;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/network/processor/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAC,MAAM,EAA2B,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,wCAAwC,CAAC;AAGxE,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AAEjD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAY/C,OAAO,EAAe,eAAe,EAAC,MAAM,cAAc,CAAC;AAC3D,OAAO,EACL,cAAc,EAEd,UAAU,EAGX,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAC,iBAAiB,EAAE,mBAAmB,EAAoB,MAAM,qBAAqB,CAAC;AAE9F,OAAO,EACL,kBAAkB,EAInB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,uBAAuB,EAAC,MAAM,YAAY,CAAC;AAEnD,cAAc,YAAY,CAAC;AAE3B,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,GACvD,kBAAkB,GAAG;IACnB,KAAK,EAAE,YAAY,CAAC;IACpB,EAAE,EAAE,SAAS,CAAC;IACd,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAExB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAEJ,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,GAAG;IACrD,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAEnD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAI9E,CAAC;AAoBF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAgDzC;;GAEG;AACH,oBAAY,qBAAqB;IAC/B;;OAEG;IACH,aAAa,kBAAkB;IAC/B;;OAEG;IACH,kBAAkB,uBAAuB;IACzC;;OAEG;IACH,mBAAmB,wBAAwB;IAC3C;;OAEG;IACH,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,oBAAY,sBAAsB;IAChC;;OAEG;IACH,GAAG,aAAa;IAChB;;OAEG;IACH,KAAK,eAAe;CACrB;AA6BD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,gBAAgB;IAgCzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IA/BvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAe;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyB;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwC;IACrE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA8B;IACrE,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAmC;IAI3E,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAoE;IAChH,OAAO,CAAC,yBAAyB,CAAK;IAGtC,OAAO,CAAC,QAAQ,CAAC,kCAAkC,CAGjD;IACF,OAAO,CAAC,2BAA2B,CAAK;IACxC,OAAO,CAAC,mBAAmB,CAEzB;IACF,OAAO,CAAC,mBAAmB,CAAmD;IAC9E,8CAA8C;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IAEzD,YACE,OAAO,EAAE,uBAAuB,EACf,IAAI,EAAE,oBAAoB,EAyD5C;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAK1B;IAED,WAAW,IAAI,IAAI,CAIlB;IAED,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,uBAAuB,EAAE,CAO5D;IAED;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAqB9F;IAED;;;;;OAKG;IACH,qBAAqB,CACnB,EAAC,IAAI,EAAE,IAAI,EAAC,EAAE,WAAW,EACzB,MAAM,EAAE,gBAAgB,EACxB,IAAI,CAAC,EAAE,SAAS,EAChB,iBAAiB,UAAQ,GACxB,IAAI,CA6BN;IAED,OAAO,CAAC,WAAW,CAEjB;IAEF,OAAO,CAAC,yBAAyB,CAmO/B;IAEF;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IA8BvB,6CAA6C;IAC7C,OAAO,CAAC,iBAAiB;IA4BzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;OAEG;IACH,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAMzD;IAED;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,kCAAkC;IAa1C,OAAO,CAAC,gBAAgB,CAwCtB;IAEF,OAAO,CAAC,0BAA0B,CAqChC;IAEF,OAAO,CAAC,WAAW,CAwEjB;IAEF,OAAO,CAAC,WAAW;YAkDL,8BAA8B;IAuF5C,OAAO,CAAC,YAAY;IAkBpB;;OAEG;IACH,OAAO,CAAC,eAAe;CAWxB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/network/processor/index.ts"],"names":[],"mappings":"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"}
@@ -61,7 +61,6 @@ export const FATAL_PEER_EXPIRY_SLOTS = 3;
61
61
  const executeGossipWorkOrderObj = {
62
62
  [GossipType.beacon_block]: { bypassQueue: true },
63
63
  [GossipType.execution_payload]: { bypassQueue: true },
64
- [GossipType.blob_sidecar]: { bypassQueue: true },
65
64
  [GossipType.data_column_sidecar]: { bypassQueue: true },
66
65
  [GossipType.beacon_aggregate_and_proof]: {},
67
66
  [GossipType.voluntary_exit]: {},
@@ -163,6 +162,12 @@ var SearchTarget;
163
162
  */
164
163
  export class NetworkProcessor {
165
164
  opts;
165
+ stopped = false;
166
+ /**
167
+ * Replaced by dropAllJobs(). Loops that yield while re-queueing awaiting messages compare it after each yield
168
+ * and stop, so no message is queued after a drop.
169
+ */
170
+ jobGeneration = Symbol();
166
171
  chain;
167
172
  core;
168
173
  events;
@@ -228,15 +233,27 @@ export class NetworkProcessor {
228
233
  // this.regen.onAvailable(() => this.executeWork());
229
234
  }
230
235
  async stop() {
236
+ if (this.stopped)
237
+ return;
238
+ this.stopped = true;
231
239
  this.events.off(NetworkEvent.pendingGossipsubMessage, this.onPendingGossipsubMessage);
232
240
  this.chain.emitter.off(routes.events.EventType.block, this.onBlockProcessed);
233
241
  this.chain.emitter.off(routes.events.EventType.executionPayload, this.onPayloadEnvelopeProcessed);
234
- this.chain.emitter.off(ClockEvent.slot, this.onClockSlot);
242
+ this.chain.clock.off(ClockEvent.slot, this.onClockSlot);
243
+ this.dropAllJobs();
235
244
  }
236
245
  dropAllJobs() {
246
+ this.jobGeneration = Symbol();
237
247
  for (const topic of executeGossipWorkOrder) {
238
248
  this.gossipQueues[topic].clear();
239
249
  }
250
+ this.awaitingMessagesByBlockRoot.clear();
251
+ this.awaitingBlockMessageCount = 0;
252
+ this.awaitingMessagesByPayloadBlockRoot.clear();
253
+ this.awaitingPayloadMessageCount = 0;
254
+ this.searchedRootsBySlot.clear();
255
+ this.bufferedRootsBySlot.clear();
256
+ this.fatalPeers.clear();
240
257
  }
241
258
  dumpGossipQueue(topic) {
242
259
  const queue = this.gossipQueues[topic];
@@ -253,7 +270,7 @@ export class NetworkProcessor {
253
270
  * prefer them as by-root download candidates.
254
271
  */
255
272
  searchUnknownBlock({ slot, root }, source, peer) {
256
- if (this.chain.seenBlock(root)) {
273
+ if (this.stopped || this.chain.seenBlock(root)) {
257
274
  return;
258
275
  }
259
276
  const entry = this.searchedRootsBySlot.getOrDefault(slot).getOrDefault(root);
@@ -280,7 +297,7 @@ export class NetworkProcessor {
280
297
  * Same peer-forwarding + dedup behavior as searchUnknownBlock.
281
298
  */
282
299
  searchUnknownEnvelope({ slot, root }, source, peer, slotIsPayloadSlot = false) {
283
- if (this.chain.seenPayloadEnvelope(root)) {
300
+ if (this.stopped || this.chain.seenPayloadEnvelope(root)) {
284
301
  return;
285
302
  }
286
303
  const entry = this.searchedRootsBySlot.getOrDefault(slot).getOrDefault(root);
@@ -653,6 +670,7 @@ export class NetworkProcessor {
653
670
  if (this.awaitingMessagesByBlockRoot.delete(rootHex)) {
654
671
  this.awaitingBlockMessageCount -= total;
655
672
  }
673
+ const generation = this.jobGeneration;
656
674
  const nowSec = Date.now() / 1000;
657
675
  let count = 0;
658
676
  // TODO: we can group attestations to process in batches but since we have the SeenAttestationDatas
@@ -668,6 +686,8 @@ export class NetworkProcessor {
668
686
  if (count === MAX_AWAITING_GOSSIP_OBJECTS_PER_TICK) {
669
687
  count = 0;
670
688
  await sleep(AWAITING_GOSSIP_OBJECTS_YIELD_EVERY_MS);
689
+ if (generation !== this.jobGeneration)
690
+ return;
671
691
  }
672
692
  }
673
693
  }
@@ -689,6 +709,7 @@ export class NetworkProcessor {
689
709
  if (this.awaitingMessagesByPayloadBlockRoot.delete(rootHex)) {
690
710
  this.awaitingPayloadMessageCount -= total;
691
711
  }
712
+ const generation = this.jobGeneration;
692
713
  const nowSec = Date.now() / 1000;
693
714
  let count = 0;
694
715
  for (const messages of messagesByTopic.values()) {
@@ -701,6 +722,8 @@ export class NetworkProcessor {
701
722
  if (count === MAX_AWAITING_GOSSIP_OBJECTS_PER_TICK) {
702
723
  count = 0;
703
724
  await sleep(AWAITING_GOSSIP_OBJECTS_YIELD_EVERY_MS);
725
+ if (generation !== this.jobGeneration)
726
+ return;
704
727
  }
705
728
  }
706
729
  }
@@ -708,21 +731,22 @@ export class NetworkProcessor {
708
731
  onClockSlot = (clockSlot) => {
709
732
  const nowSec = Date.now() / 1000;
710
733
  const minSlot = clockSlot - MAX_UNKNOWN_ROOTS_SLOT_CACHE_SIZE;
711
- for (const [slot, searchedRoots] of this.searchedRootsBySlot) {
734
+ for (const [slot, bufferedRoots] of this.bufferedRootsBySlot) {
712
735
  if (slot > minSlot)
713
736
  continue;
714
- // expire messages awaiting an unknown block for these roots. Only roots this slot did a BLOCK search
715
- // for (blockPeerIds set) have block waits keyed here; skipping the rest avoids deleting a payload wait
716
- // that a newer slot created for the same root (block/envelope searches share searchedRootsBySlot).
717
- for (const [rootHex, entry] of searchedRoots) {
718
- if (entry.blockPeerIds === undefined)
719
- continue;
737
+ for (const rootHex of bufferedRoots) {
720
738
  const messagesByTopic = this.awaitingMessagesByBlockRoot.get(rootHex);
721
739
  if (messagesByTopic === undefined)
722
740
  continue;
723
- let removed = 0;
741
+ let remaining = 0;
724
742
  for (const messages of messagesByTopic.values()) {
725
743
  for (const message of messages) {
744
+ // the same root may be buffered again from a newer slot, keep those messages.
745
+ // msgSlot is always set before buffering, a missing one expires rather than leaks
746
+ if ((message.msgSlot ?? minSlot) > minSlot)
747
+ continue;
748
+ messages.delete(message);
749
+ this.awaitingBlockMessageCount--;
726
750
  const topicType = message.topic.type;
727
751
  this.metrics?.awaitingBlockGossipMessages.reject.inc({
728
752
  topic: topicType,
@@ -731,23 +755,24 @@ export class NetworkProcessor {
731
755
  this.metrics?.awaitingBlockGossipMessages.waitSecBeforeReject.set({ topic: topicType, reason: ReprocessRejectReason.expired }, nowSec - message.seenTimestampSec);
732
756
  // No need to report the dropped job to gossip. It will be eventually pruned from the mcache
733
757
  }
734
- removed += messages.size;
735
- }
736
- if (this.awaitingMessagesByBlockRoot.delete(rootHex)) {
737
- this.awaitingBlockMessageCount -= removed;
758
+ remaining += messages.size;
738
759
  }
760
+ if (remaining === 0)
761
+ this.awaitingMessagesByBlockRoot.delete(rootHex);
739
762
  }
740
- // expire messages awaiting an unknown payload envelope for these roots. Symmetric to the block pass:
741
- // only roots this slot did an ENVELOPE search for (envelopePeerIds set) have payload waits keyed here.
742
- for (const [rootHex, entry] of searchedRoots) {
743
- if (entry.envelopePeerIds === undefined)
744
- continue;
763
+ for (const rootHex of bufferedRoots) {
745
764
  const messagesByTopic = this.awaitingMessagesByPayloadBlockRoot.get(rootHex);
746
765
  if (messagesByTopic === undefined)
747
766
  continue;
748
- let removed = 0;
767
+ let remaining = 0;
749
768
  for (const messages of messagesByTopic.values()) {
750
769
  for (const message of messages) {
770
+ // the same root may be buffered again from a newer slot, keep those messages.
771
+ // msgSlot is always set before buffering, a missing one expires rather than leaks
772
+ if ((message.msgSlot ?? minSlot) > minSlot)
773
+ continue;
774
+ messages.delete(message);
775
+ this.awaitingPayloadMessageCount--;
751
776
  const topicType = message.topic.type;
752
777
  this.metrics?.awaitingPayloadGossipMessages.reject.inc({
753
778
  topic: topicType,
@@ -756,17 +781,16 @@ export class NetworkProcessor {
756
781
  this.metrics?.awaitingPayloadGossipMessages.waitSecBeforeReject.set({ topic: topicType, reason: ReprocessRejectReason.expired }, nowSec - message.seenTimestampSec);
757
782
  // No need to report the dropped job to gossip. It will be eventually pruned from the mcache
758
783
  }
759
- removed += messages.size;
760
- }
761
- if (this.awaitingMessagesByPayloadBlockRoot.delete(rootHex)) {
762
- this.awaitingPayloadMessageCount -= removed;
784
+ remaining += messages.size;
763
785
  }
786
+ if (remaining === 0)
787
+ this.awaitingMessagesByPayloadBlockRoot.delete(rootHex);
764
788
  }
765
- this.searchedRootsBySlot.delete(slot);
789
+ this.bufferedRootsBySlot.delete(slot);
766
790
  }
767
- for (const slot of this.bufferedRootsBySlot.keys()) {
791
+ for (const slot of this.searchedRootsBySlot.keys()) {
768
792
  if (slot <= minSlot)
769
- this.bufferedRootsBySlot.delete(slot);
793
+ this.searchedRootsBySlot.delete(slot);
770
794
  }
771
795
  for (const [peer, slot] of this.fatalPeers) {
772
796
  if (clockSlot - slot > FATAL_PEER_EXPIRY_SLOTS)
@@ -774,6 +798,8 @@ export class NetworkProcessor {
774
798
  }
775
799
  };
776
800
  executeWork() {
801
+ if (this.stopped)
802
+ return;
777
803
  // TODO: Maybe de-bounce by timing the last time executeWork was run
778
804
  this.metrics?.networkProcessor.executeWorkCalls.inc();
779
805
  let jobsSubmitted = 0;