@aztec-foundation/l1-artifacts 6.0.0-rc.4 → 6.0.0-rc.6

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 (357) hide show
  1. package/dest/AttesterExitExtLibAbi.d.ts +12 -0
  2. package/dest/AttesterExitExtLibAbi.d.ts.map +1 -1
  3. package/dest/AttesterExitExtLibAbi.js +16 -0
  4. package/dest/AttesterExitExtLibAbi.js.map +1 -1
  5. package/dest/AttesterExitExtLibBytecode.d.ts +1 -1
  6. package/dest/AttesterExitExtLibBytecode.js +1 -1
  7. package/dest/CoinIssuerAbi.d.ts +12 -0
  8. package/dest/CoinIssuerAbi.d.ts.map +1 -1
  9. package/dest/CoinIssuerAbi.js +16 -0
  10. package/dest/CoinIssuerAbi.js.map +1 -1
  11. package/dest/DateGatedRelayerAbi.d.ts +12 -0
  12. package/dest/DateGatedRelayerAbi.d.ts.map +1 -1
  13. package/dest/DateGatedRelayerAbi.js +16 -0
  14. package/dest/DateGatedRelayerAbi.js.map +1 -1
  15. package/dest/EmpireBaseAbi.d.ts +12 -0
  16. package/dest/EmpireBaseAbi.d.ts.map +1 -1
  17. package/dest/EmpireBaseAbi.js +16 -0
  18. package/dest/EmpireBaseAbi.js.map +1 -1
  19. package/dest/EpochProofExtLibAbi.d.ts +12 -0
  20. package/dest/EpochProofExtLibAbi.d.ts.map +1 -1
  21. package/dest/EpochProofExtLibAbi.js +16 -0
  22. package/dest/EpochProofExtLibAbi.js.map +1 -1
  23. package/dest/EpochProofExtLibBytecode.d.ts +1 -1
  24. package/dest/EpochProofExtLibBytecode.js +1 -1
  25. package/dest/ErrorsAbi.d.ts +12 -0
  26. package/dest/ErrorsAbi.d.ts.map +1 -1
  27. package/dest/ErrorsAbi.js +16 -0
  28. package/dest/ErrorsAbi.js.map +1 -1
  29. package/dest/EscapeHatchAbi.d.ts +22 -0
  30. package/dest/EscapeHatchAbi.d.ts.map +1 -1
  31. package/dest/EscapeHatchAbi.js +29 -0
  32. package/dest/EscapeHatchAbi.js.map +1 -1
  33. package/dest/EscapeHatchBytecode.d.ts +1 -1
  34. package/dest/EscapeHatchBytecode.d.ts.map +1 -1
  35. package/dest/EscapeHatchBytecode.js +1 -1
  36. package/dest/EscapeHatchBytecode.js.map +1 -1
  37. package/dest/EscapeHatchStorage.d.ts +8 -8
  38. package/dest/EscapeHatchStorage.js +8 -8
  39. package/dest/FeeAssetHandlerAbi.d.ts +12 -0
  40. package/dest/FeeAssetHandlerAbi.d.ts.map +1 -1
  41. package/dest/FeeAssetHandlerAbi.js +16 -0
  42. package/dest/FeeAssetHandlerAbi.js.map +1 -1
  43. package/dest/FeeJuicePortalAbi.d.ts +12 -0
  44. package/dest/FeeJuicePortalAbi.d.ts.map +1 -1
  45. package/dest/FeeJuicePortalAbi.js +16 -0
  46. package/dest/FeeJuicePortalAbi.js.map +1 -1
  47. package/dest/FeeJuicePortalBytecode.d.ts +1 -1
  48. package/dest/FeeJuicePortalBytecode.js +1 -1
  49. package/dest/GSEAbi.d.ts +12 -0
  50. package/dest/GSEAbi.d.ts.map +1 -1
  51. package/dest/GSEAbi.js +16 -0
  52. package/dest/GSEAbi.js.map +1 -1
  53. package/dest/GovernanceAbi.d.ts +12 -0
  54. package/dest/GovernanceAbi.d.ts.map +1 -1
  55. package/dest/GovernanceAbi.js +16 -0
  56. package/dest/GovernanceAbi.js.map +1 -1
  57. package/dest/GovernanceProposerAbi.d.ts +12 -0
  58. package/dest/GovernanceProposerAbi.d.ts.map +1 -1
  59. package/dest/GovernanceProposerAbi.js +16 -0
  60. package/dest/GovernanceProposerAbi.js.map +1 -1
  61. package/dest/HonkVerifierAbi.d.ts +12 -0
  62. package/dest/HonkVerifierAbi.d.ts.map +1 -1
  63. package/dest/HonkVerifierAbi.js +16 -0
  64. package/dest/HonkVerifierAbi.js.map +1 -1
  65. package/dest/IERC20Abi.d.ts +12 -0
  66. package/dest/IERC20Abi.d.ts.map +1 -1
  67. package/dest/IERC20Abi.js +16 -0
  68. package/dest/IERC20Abi.js.map +1 -1
  69. package/dest/ISequencerRewardCalculatorAbi.d.ts +12 -0
  70. package/dest/ISequencerRewardCalculatorAbi.d.ts.map +1 -1
  71. package/dest/ISequencerRewardCalculatorAbi.js +16 -0
  72. package/dest/ISequencerRewardCalculatorAbi.js.map +1 -1
  73. package/dest/IVerifierAbi.d.ts +12 -0
  74. package/dest/IVerifierAbi.d.ts.map +1 -1
  75. package/dest/IVerifierAbi.js +16 -0
  76. package/dest/IVerifierAbi.js.map +1 -1
  77. package/dest/InboxAbi.d.ts +12 -0
  78. package/dest/InboxAbi.d.ts.map +1 -1
  79. package/dest/InboxAbi.js +16 -0
  80. package/dest/InboxAbi.js.map +1 -1
  81. package/dest/InboxBytecode.d.ts +1 -1
  82. package/dest/InboxBytecode.js +1 -1
  83. package/dest/MockVerifierAbi.d.ts +12 -0
  84. package/dest/MockVerifierAbi.d.ts.map +1 -1
  85. package/dest/MockVerifierAbi.js +16 -0
  86. package/dest/MockVerifierAbi.js.map +1 -1
  87. package/dest/MockZKPassportVerifierAbi.d.ts +12 -0
  88. package/dest/MockZKPassportVerifierAbi.d.ts.map +1 -1
  89. package/dest/MockZKPassportVerifierAbi.js +16 -0
  90. package/dest/MockZKPassportVerifierAbi.js.map +1 -1
  91. package/dest/MultiAdderAbi.d.ts +12 -0
  92. package/dest/MultiAdderAbi.d.ts.map +1 -1
  93. package/dest/MultiAdderAbi.js +16 -0
  94. package/dest/MultiAdderAbi.js.map +1 -1
  95. package/dest/MultiAdderBytecode.d.ts +1 -1
  96. package/dest/MultiAdderBytecode.js +1 -1
  97. package/dest/NewGovernanceProposerPayloadAbi.d.ts +12 -0
  98. package/dest/NewGovernanceProposerPayloadAbi.d.ts.map +1 -1
  99. package/dest/NewGovernanceProposerPayloadAbi.js +16 -0
  100. package/dest/NewGovernanceProposerPayloadAbi.js.map +1 -1
  101. package/dest/OutboxAbi.d.ts +12 -0
  102. package/dest/OutboxAbi.d.ts.map +1 -1
  103. package/dest/OutboxAbi.js +16 -0
  104. package/dest/OutboxAbi.js.map +1 -1
  105. package/dest/OutboxBytecode.d.ts +1 -1
  106. package/dest/OutboxBytecode.js +1 -1
  107. package/dest/RegisterNewRollupVersionPayloadAbi.d.ts +40 -0
  108. package/dest/RegisterNewRollupVersionPayloadAbi.d.ts.map +1 -1
  109. package/dest/RegisterNewRollupVersionPayloadAbi.js +52 -0
  110. package/dest/RegisterNewRollupVersionPayloadAbi.js.map +1 -1
  111. package/dest/RegisterNewRollupVersionPayloadBytecode.d.ts +1 -1
  112. package/dest/RegisterNewRollupVersionPayloadBytecode.d.ts.map +1 -1
  113. package/dest/RegisterNewRollupVersionPayloadBytecode.js +1 -1
  114. package/dest/RegisterNewRollupVersionPayloadBytecode.js.map +1 -1
  115. package/dest/RegistryAbi.d.ts +12 -0
  116. package/dest/RegistryAbi.d.ts.map +1 -1
  117. package/dest/RegistryAbi.js +16 -0
  118. package/dest/RegistryAbi.js.map +1 -1
  119. package/dest/RewardDistributorAbi.d.ts +12 -0
  120. package/dest/RewardDistributorAbi.d.ts.map +1 -1
  121. package/dest/RewardDistributorAbi.js +16 -0
  122. package/dest/RewardDistributorAbi.js.map +1 -1
  123. package/dest/RewardExtLibAbi.d.ts +12 -0
  124. package/dest/RewardExtLibAbi.d.ts.map +1 -1
  125. package/dest/RewardExtLibAbi.js +16 -0
  126. package/dest/RewardExtLibAbi.js.map +1 -1
  127. package/dest/RewardExtLibBytecode.d.ts +1 -1
  128. package/dest/RewardExtLibBytecode.js +1 -1
  129. package/dest/RollupAbi.d.ts +12 -0
  130. package/dest/RollupAbi.d.ts.map +1 -1
  131. package/dest/RollupAbi.js +16 -0
  132. package/dest/RollupAbi.js.map +1 -1
  133. package/dest/RollupBytecode.d.ts +1 -1
  134. package/dest/RollupBytecode.js +1 -1
  135. package/dest/RollupOperationsExtLibAbi.d.ts +12 -0
  136. package/dest/RollupOperationsExtLibAbi.d.ts.map +1 -1
  137. package/dest/RollupOperationsExtLibAbi.js +16 -0
  138. package/dest/RollupOperationsExtLibAbi.js.map +1 -1
  139. package/dest/RollupOperationsExtLibBytecode.d.ts +1 -1
  140. package/dest/RollupOperationsExtLibBytecode.js +1 -1
  141. package/dest/SlasherAbi.d.ts +12 -0
  142. package/dest/SlasherAbi.d.ts.map +1 -1
  143. package/dest/SlasherAbi.js +16 -0
  144. package/dest/SlasherAbi.js.map +1 -1
  145. package/dest/SlasherDeploymentExtLibAbi.d.ts +12 -0
  146. package/dest/SlasherDeploymentExtLibAbi.d.ts.map +1 -1
  147. package/dest/SlasherDeploymentExtLibAbi.js +16 -0
  148. package/dest/SlasherDeploymentExtLibAbi.js.map +1 -1
  149. package/dest/SlasherDeploymentExtLibBytecode.d.ts +1 -1
  150. package/dest/SlasherDeploymentExtLibBytecode.js +1 -1
  151. package/dest/SlashingProposerAbi.d.ts +12 -0
  152. package/dest/SlashingProposerAbi.d.ts.map +1 -1
  153. package/dest/SlashingProposerAbi.js +16 -0
  154. package/dest/SlashingProposerAbi.js.map +1 -1
  155. package/dest/SlashingProposerBytecode.d.ts +1 -1
  156. package/dest/SlashingProposerBytecode.js +1 -1
  157. package/dest/StakingAssetHandlerAbi.d.ts +12 -0
  158. package/dest/StakingAssetHandlerAbi.d.ts.map +1 -1
  159. package/dest/StakingAssetHandlerAbi.js +16 -0
  160. package/dest/StakingAssetHandlerAbi.js.map +1 -1
  161. package/dest/TestERC20Abi.d.ts +12 -0
  162. package/dest/TestERC20Abi.d.ts.map +1 -1
  163. package/dest/TestERC20Abi.js +16 -0
  164. package/dest/TestERC20Abi.js.map +1 -1
  165. package/dest/TokenPortalAbi.d.ts +12 -0
  166. package/dest/TokenPortalAbi.d.ts.map +1 -1
  167. package/dest/TokenPortalAbi.js +16 -0
  168. package/dest/TokenPortalAbi.js.map +1 -1
  169. package/dest/TokenPortalBytecode.d.ts +1 -1
  170. package/dest/TokenPortalBytecode.js +1 -1
  171. package/dest/UniswapPortalAbi.d.ts +12 -0
  172. package/dest/UniswapPortalAbi.d.ts.map +1 -1
  173. package/dest/UniswapPortalAbi.js +16 -0
  174. package/dest/UniswapPortalAbi.js.map +1 -1
  175. package/dest/UniswapPortalBytecode.d.ts +1 -1
  176. package/dest/UniswapPortalBytecode.js +1 -1
  177. package/dest/ValidatorOperationsExtLibAbi.d.ts +12 -0
  178. package/dest/ValidatorOperationsExtLibAbi.d.ts.map +1 -1
  179. package/dest/ValidatorOperationsExtLibAbi.js +16 -0
  180. package/dest/ValidatorOperationsExtLibAbi.js.map +1 -1
  181. package/dest/ValidatorOperationsExtLibBytecode.d.ts +1 -1
  182. package/dest/ValidatorOperationsExtLibBytecode.d.ts.map +1 -1
  183. package/dest/ValidatorOperationsExtLibBytecode.js +1 -1
  184. package/dest/ValidatorOperationsExtLibBytecode.js.map +1 -1
  185. package/dest/ValidatorSelectionLibAbi.d.ts +12 -0
  186. package/dest/ValidatorSelectionLibAbi.d.ts.map +1 -1
  187. package/dest/ValidatorSelectionLibAbi.js +16 -0
  188. package/dest/ValidatorSelectionLibAbi.js.map +1 -1
  189. package/dest/ValidatorSelectionLibBytecode.d.ts +1 -1
  190. package/dest/ValidatorSelectionLibBytecode.js +1 -1
  191. package/dest/checksum.d.ts +1 -1
  192. package/dest/checksum.js +1 -1
  193. package/l1-contracts/cache/solidity-files-cache.json +1 -1
  194. package/l1-contracts/foundry.toml +1 -0
  195. package/l1-contracts/out/AddressSnapshotLib.sol/AddressSnapshotLib.json +1 -1
  196. package/l1-contracts/out/AttestationLib.sol/AttestationLib.json +1 -1
  197. package/l1-contracts/out/AttesterExitExtLib.sol/AttesterExitExtLib.json +1 -1
  198. package/l1-contracts/out/BN254Lib.sol/BN254Lib.json +1 -1
  199. package/l1-contracts/out/Ballot.sol/BallotLib.json +1 -1
  200. package/l1-contracts/out/BlobLib.sol/BlobLib.json +1 -1
  201. package/l1-contracts/out/Bn254LibWrapper.sol/Bn254LibWrapper.json +1 -1
  202. package/l1-contracts/out/CheckpointLog.sol/CompressedTempCheckpointLogLib.json +1 -1
  203. package/l1-contracts/out/CheckpointedUintLib.sol/CheckpointedUintLib.json +1 -1
  204. package/l1-contracts/out/CoinIssuer.sol/CoinIssuer.json +1 -1
  205. package/l1-contracts/out/CompressedTimeMath.sol/CompressedTimeMath.json +1 -1
  206. package/l1-contracts/out/Configuration.sol/CompressedConfigurationLib.json +1 -1
  207. package/l1-contracts/out/ConfigurationLib.sol/ConfigurationLib.json +1 -1
  208. package/l1-contracts/out/ConstantsGen.sol/Constants.json +1 -1
  209. package/l1-contracts/out/CoordinationSignatureLib.sol/CoordinationSignatureLib.json +1 -1
  210. package/l1-contracts/out/DataStructures.sol/DataStructures.json +1 -1
  211. package/l1-contracts/out/DateGatedRelayer.sol/DateGatedRelayer.json +1 -1
  212. package/l1-contracts/out/DeployAztecL1Contracts.s.sol/DeployAztecL1Contracts.json +1 -1
  213. package/l1-contracts/out/DeployRollupForUpgrade.s.sol/DeployRollupForUpgrade.json +1 -1
  214. package/l1-contracts/out/DeployRollupLib.sol/DeployRollupLib.json +1 -1
  215. package/l1-contracts/out/DeploymentConfiguration.sol/DeploymentConfiguration.json +1 -1
  216. package/l1-contracts/out/DeploymentConfiguration.sol/IDeploymentConfiguration.json +1 -1
  217. package/l1-contracts/out/DepositDelegationLib.sol/DepositDelegationLib.json +1 -1
  218. package/l1-contracts/out/EmpireBase.sol/EmpireBase.json +1 -1
  219. package/l1-contracts/out/EpochProofExtLib.sol/EpochProofExtLib.json +1 -1
  220. package/l1-contracts/out/EpochProofLib.sol/EpochProofLib.json +1 -1
  221. package/l1-contracts/out/Errors.sol/Errors.json +1 -1
  222. package/l1-contracts/out/EscapeHatch.sol/EscapeHatch.json +1 -1
  223. package/l1-contracts/out/FeeAssetHandler.sol/FeeAssetHandler.json +1 -1
  224. package/l1-contracts/out/FeeAssetHandler.sol/IFeeAssetHandler.json +1 -1
  225. package/l1-contracts/out/FeeConfig.sol/FeeConfigLib.json +1 -1
  226. package/l1-contracts/out/FeeConfig.sol/PriceLib.json +1 -1
  227. package/l1-contracts/out/FeeJuicePortal.sol/FeeJuicePortal.json +1 -1
  228. package/l1-contracts/out/FeeLib.sol/FeeLib.json +1 -1
  229. package/l1-contracts/out/FeeStructs.sol/FeeHeaderLib.json +1 -1
  230. package/l1-contracts/out/FeeStructs.sol/FeeStructsLib.json +1 -1
  231. package/l1-contracts/out/FieldLib.sol/FieldLib.json +1 -1
  232. package/l1-contracts/out/FlushEntryQueue.s.sol/FlushEntryQueue.json +1 -0
  233. package/l1-contracts/out/FlushRewarder.sol/FlushRewarder.json +1 -1
  234. package/l1-contracts/out/GSE.sol/GSE.json +1 -1
  235. package/l1-contracts/out/GSE.sol/GSECore.json +1 -1
  236. package/l1-contracts/out/GSE.sol/IGSE.json +1 -1
  237. package/l1-contracts/out/GSE.sol/IGSECore.json +1 -1
  238. package/l1-contracts/out/GSEPayload.sol/GSEPayload.json +1 -1
  239. package/l1-contracts/out/Governance.sol/Governance.json +1 -1
  240. package/l1-contracts/out/GovernanceProposer.sol/GovernanceProposer.json +1 -1
  241. package/l1-contracts/out/Hash.sol/Hash.json +1 -1
  242. package/l1-contracts/out/HonkVerifier.sol/HonkVerifier.json +1 -1
  243. package/l1-contracts/out/IBn254LibWrapper.sol/IBn254LibWrapper.json +1 -1
  244. package/l1-contracts/out/ICoinIssuer.sol/ICoinIssuer.json +1 -1
  245. package/l1-contracts/out/IDateGatedRelayer.sol/IDateGatedRelayer.json +1 -1
  246. package/l1-contracts/out/IEmpire.sol/IEmperor.json +1 -1
  247. package/l1-contracts/out/IEmpire.sol/IEmpire.json +1 -1
  248. package/l1-contracts/out/IEscapeHatch.sol/IEscapeHatch.json +1 -1
  249. package/l1-contracts/out/IEscapeHatch.sol/IEscapeHatchCore.json +1 -1
  250. package/l1-contracts/out/IFeeJuicePortal.sol/IFeeJuicePortal.json +1 -1
  251. package/l1-contracts/out/IFlushRewarder.sol/IFlushRewarder.json +1 -1
  252. package/l1-contracts/out/IGovernance.sol/IGovernance.json +1 -1
  253. package/l1-contracts/out/IGovernanceProposer.sol/IGovernanceProposer.json +1 -1
  254. package/l1-contracts/out/IInbox.sol/IInbox.json +1 -1
  255. package/l1-contracts/out/IInstance.sol/IInstance.json +1 -1
  256. package/l1-contracts/out/IMintableERC20.sol/IMintableERC20.json +1 -1
  257. package/l1-contracts/out/IOutbox.sol/IOutbox.json +1 -1
  258. package/l1-contracts/out/IPayload.sol/IPayload.json +1 -1
  259. package/l1-contracts/out/IProposerPayload.sol/IProposerPayload.json +1 -1
  260. package/l1-contracts/out/IRegistry.sol/IHaveVersion.json +1 -1
  261. package/l1-contracts/out/IRegistry.sol/IRegistry.json +1 -1
  262. package/l1-contracts/out/IRewardDistributor.sol/IRewardDistributor.json +1 -1
  263. package/l1-contracts/out/IRollup.sol/IRollup.json +1 -1
  264. package/l1-contracts/out/IRollup.sol/IRollupCore.json +1 -1
  265. package/l1-contracts/out/IRootRegistry.sol/IRootRegistry.json +1 -1
  266. package/l1-contracts/out/ISequencerRewardCalculator.sol/ISequencerRewardCalculator.json +1 -1
  267. package/l1-contracts/out/ISlasher.sol/ISlasher.json +1 -1
  268. package/l1-contracts/out/IStaking.sol/IStaking.json +1 -1
  269. package/l1-contracts/out/IStaking.sol/IStakingCore.json +1 -1
  270. package/l1-contracts/out/IValidatorSelection.sol/IValidatorSelection.json +1 -1
  271. package/l1-contracts/out/IValidatorSelection.sol/IValidatorSelectionCore.json +1 -1
  272. package/l1-contracts/out/IVerifier.sol/IVerifier.json +1 -1
  273. package/l1-contracts/out/Inbox.sol/Inbox.json +1 -1
  274. package/l1-contracts/out/InputsExtractor.sol/InputsExtractor.json +1 -1
  275. package/l1-contracts/out/InvalidateLib.sol/InvalidateLib.json +1 -1
  276. package/l1-contracts/out/MerkleLib.sol/MerkleLib.json +1 -1
  277. package/l1-contracts/out/MockERC20.sol/MockERC20.json +1 -1
  278. package/l1-contracts/out/MockERC721.sol/MockERC721.json +1 -1
  279. package/l1-contracts/out/MockFeeJuicePortal.sol/MockFeeJuicePortal.json +1 -1
  280. package/l1-contracts/out/MockVerifier.sol/MockVerifier.json +1 -1
  281. package/l1-contracts/out/MockZKPassportVerifier.sol/IZKPassportVerifier.json +1 -1
  282. package/l1-contracts/out/MockZKPassportVerifier.sol/MockZKPassportVerifier.json +1 -1
  283. package/l1-contracts/out/MultiAdder.sol/IMultiAdder.json +1 -1
  284. package/l1-contracts/out/MultiAdder.sol/MultiAdder.json +1 -1
  285. package/l1-contracts/out/Outbox.sol/Outbox.json +1 -1
  286. package/l1-contracts/out/OuterCount8.sol/HonkVerifier.json +1 -1
  287. package/l1-contracts/out/Proposal.sol/CompressedProposalLib.json +1 -1
  288. package/l1-contracts/out/ProposalLib.sol/ProposalLib.json +1 -1
  289. package/l1-contracts/out/ProposeLib.sol/ProposeLib.json +1 -1
  290. package/l1-contracts/out/ProposedHeaderLib.sol/ProposedHeaderLib.json +1 -1
  291. package/l1-contracts/out/RegisterNewRollupVersionPayload.sol/RegisterNewRollupVersionPayload.json +1 -1
  292. package/l1-contracts/out/Registry.sol/Registry.json +1 -1
  293. package/l1-contracts/out/RewardBooster.sol/IBooster.json +1 -1
  294. package/l1-contracts/out/RewardBooster.sol/IBoosterCore.json +1 -1
  295. package/l1-contracts/out/RewardBooster.sol/RewardBooster.json +1 -1
  296. package/l1-contracts/out/RewardDistributor.sol/RewardDistributor.json +1 -1
  297. package/l1-contracts/out/RewardExtLib.sol/RewardExtLib.json +1 -1
  298. package/l1-contracts/out/RewardLib.sol/BpsLib.json +1 -1
  299. package/l1-contracts/out/RewardLib.sol/RewardLib.json +1 -1
  300. package/l1-contracts/out/Rollup.sol/Rollup.json +1 -1
  301. package/l1-contracts/out/RollupConfiguration.sol/IRollupConfiguration.json +1 -1
  302. package/l1-contracts/out/RollupConfiguration.sol/RollupConfiguration.json +1 -1
  303. package/l1-contracts/out/RollupCore.sol/RollupCore.json +1 -1
  304. package/l1-contracts/out/RollupOperationsExtLib.sol/RollupOperationsExtLib.json +1 -1
  305. package/l1-contracts/out/STFLib.sol/STFLib.json +1 -1
  306. package/l1-contracts/out/SampleLib.sol/SampleLib.json +1 -1
  307. package/l1-contracts/out/SequencerRewardCalculatorLib.sol/SequencerRewardCalculatorLib.json +1 -1
  308. package/l1-contracts/out/SignatureLib.sol/SignatureLib.json +1 -1
  309. package/l1-contracts/out/SlashPayload.sol/SlashPayload.json +1 -1
  310. package/l1-contracts/out/SlashPayloadCloneable.sol/SlashPayloadCloneable.json +1 -1
  311. package/l1-contracts/out/SlashPayloadLib.sol/SlashPayloadLib.json +1 -1
  312. package/l1-contracts/out/SlashRoundLib.sol/CompressedSlashRoundMath.json +1 -1
  313. package/l1-contracts/out/Slasher.sol/Slasher.json +1 -1
  314. package/l1-contracts/out/SlasherDeploymentExtLib.sol/SlasherDeploymentExtLib.json +1 -1
  315. package/l1-contracts/out/SlashingProposer.sol/SlashingProposer.json +1 -1
  316. package/l1-contracts/out/StakingAssetHandler.sol/IStakingAssetHandler.json +1 -1
  317. package/l1-contracts/out/StakingAssetHandler.sol/StakingAssetHandler.json +1 -1
  318. package/l1-contracts/out/StakingLib.sol/StakingLib.json +1 -1
  319. package/l1-contracts/out/StakingQueue.sol/StakingQueueLib.json +1 -1
  320. package/l1-contracts/out/StakingQueueConfig.sol/StakingQueueConfigLib.json +1 -1
  321. package/l1-contracts/out/StdError.sol/stdError.json +1 -1
  322. package/l1-contracts/out/TestERC20.sol/TestERC20.json +1 -1
  323. package/l1-contracts/out/TestPayloads.sol/CallAssetPayload.json +1 -1
  324. package/l1-contracts/out/TestPayloads.sol/CallRevertingPayload.json +1 -1
  325. package/l1-contracts/out/TestPayloads.sol/EmptyPayload.json +1 -1
  326. package/l1-contracts/out/TestPayloads.sol/FakeRollup.json +1 -1
  327. package/l1-contracts/out/TestPayloads.sol/RevertingCall.json +1 -1
  328. package/l1-contracts/out/TestPayloads.sol/UpgradePayload.json +1 -1
  329. package/l1-contracts/out/TimeLib.sol/TimeLib.json +1 -1
  330. package/l1-contracts/out/Tips.sol/ChainTipsLib.json +1 -1
  331. package/l1-contracts/out/ValidatorOperationsExtLib.sol/ValidatorOperationsExtLib.json +1 -1
  332. package/l1-contracts/out/ValidatorSelectionLib.sol/ValidatorSelectionLib.json +1 -1
  333. package/l1-contracts/out/ZKPassportHelper.sol/ZKPassportHelper.json +1 -1
  334. package/l1-contracts/out/ZKPassportRootVerifier.sol/ZKPassportRootVerifier.json +1 -1
  335. package/l1-contracts/out/ZKPassportSubVerifier.sol/ZKPassportSubVerifier.json +1 -1
  336. package/l1-contracts/out/build-info/018c24616ac5aeef.json +1 -0
  337. package/l1-contracts/out/generated/HonkVerifier.sol/HonkVerifier.json +1 -1
  338. package/l1-contracts/out/libraries/Errors.sol/Errors.json +1 -1
  339. package/l1-contracts/out/rollup/BlobLib.sol/BlobLib.json +1 -1
  340. package/l1-contracts/out/src/ZKPassportHelper.sol/ZKPassportHelper.json +1 -1
  341. package/l1-contracts/out/src/ZKPassportRootVerifier.sol/ZKPassportRootVerifier.json +1 -1
  342. package/l1-contracts/out/src/ZKPassportSubVerifier.sol/ZKPassportSubVerifier.json +1 -1
  343. package/l1-contracts/script/deploy/DeployRollupLib.sol +5 -12
  344. package/l1-contracts/script/deploy/FlushEntryQueue.s.sol +32 -0
  345. package/l1-contracts/scripts/forge_broadcast.js +104 -34
  346. package/l1-contracts/scripts/network-defaults.json +1 -1
  347. package/l1-contracts/src/core/EscapeHatch.sol +56 -12
  348. package/l1-contracts/src/core/interfaces/IEscapeHatch.sol +1 -0
  349. package/l1-contracts/src/core/interfaces/IStaking.sol +11 -0
  350. package/l1-contracts/src/core/libraries/ConstantsGen.sol +1 -1
  351. package/l1-contracts/src/core/libraries/Errors.sol +1 -0
  352. package/l1-contracts/src/core/libraries/rollup/FeeLib.sol +7 -12
  353. package/l1-contracts/src/core/libraries/rollup/StakingLib.sol +117 -12
  354. package/l1-contracts/src/core/libraries/rollup/ValidatorSelectionLib.sol +8 -6
  355. package/l1-contracts/src/periphery/RegisterNewRollupVersionPayload.sol +30 -10
  356. package/package.json +1 -1
  357. package/l1-contracts/out/build-info/4cb7b5442b848dcc.json +0 -1
@@ -1 +1 @@
1
- {"abi":[{"type":"function","name":"canPruneAtTime","inputs":[{"name":"_ts","type":"uint256","internalType":"Timestamp"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getCheckpointReward","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCollectiveProverRewardsForEpoch","inputs":[{"name":"_epoch","type":"uint256","internalType":"Epoch"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getEpochForCheckpoint","inputs":[{"name":"_checkpointNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"Epoch"}],"stateMutability":"view"},{"type":"function","name":"getEthPerFeeAssetAtCheckpoint","inputs":[{"name":"_checkpointNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"EthPerFeeAssetE12"}],"stateMutability":"view"},{"type":"function","name":"getFirstProvenBy","inputs":[{"name":"_checkpointNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getHasClaimed","inputs":[{"name":"_prover","type":"address","internalType":"address"},{"name":"_epoch","type":"uint256","internalType":"Epoch"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getHasSubmitted","inputs":[{"name":"_epoch","type":"uint256","internalType":"Epoch"},{"name":"_length","type":"uint256","internalType":"uint256"},{"name":"_prover","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getHasSubmittedFullEpoch","inputs":[{"name":"_epoch","type":"uint256","internalType":"Epoch"},{"name":"_length","type":"uint256","internalType":"uint256"},{"name":"_prover","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getL1FeesAt","inputs":[{"name":"_timestamp","type":"uint256","internalType":"Timestamp"}],"outputs":[{"name":"","type":"tuple","internalType":"struct L1FeeData","components":[{"name":"baseFee","type":"uint256","internalType":"uint256"},{"name":"blobFee","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getManaMinFeeComponentsAt","inputs":[{"name":"_timestamp","type":"uint256","internalType":"Timestamp"},{"name":"_inFeeAsset","type":"bool","internalType":"bool"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ManaMinFeeComponents","components":[{"name":"protocolFee","type":"uint256","internalType":"uint256"},{"name":"congestionMultiplier","type":"uint256","internalType":"uint256"},{"name":"sequencerCost","type":"uint256","internalType":"uint256"},{"name":"proverCost","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getProvingCostPerMana","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"EthValue"}],"stateMutability":"view"},{"type":"function","name":"getProvingCostPerManaInFeeAsset","inputs":[{"name":"_ethPerFeeAsset","type":"uint256","internalType":"EthPerFeeAssetE12"}],"outputs":[{"name":"","type":"uint256","internalType":"FeeAssetValue"}],"stateMutability":"view"},{"type":"function","name":"getRewardConfig","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct RewardConfig","components":[{"name":"rewardDistributor","type":"IRewardDistributor","internalType":"contract IRewardDistributor"},{"name":"sequencerBps","type":"uint32","internalType":"Bps"},{"name":"booster","type":"IBoosterCore","internalType":"contract IBoosterCore"},{"name":"checkpointReward","type":"uint96","internalType":"uint96"}]}],"stateMutability":"view"},{"type":"function","name":"getRewardDistributor","inputs":[],"outputs":[{"name":"","type":"IRewardDistributor","internalType":"contract IRewardDistributor"}],"stateMutability":"view"},{"type":"function","name":"getSequencerRewardCalculator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getSequencerRewards","inputs":[{"name":"_sequencer","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getSharesFor","inputs":[{"name":"_prover","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getSpecificProverRewardsForEpoch","inputs":[{"name":"_epoch","type":"uint256","internalType":"Epoch"},{"name":"_prover","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"summedMinFee","inputs":[{"name":"_components","type":"tuple","internalType":"struct ManaMinFeeComponents","components":[{"name":"protocolFee","type":"uint256","internalType":"uint256"},{"name":"congestionMultiplier","type":"uint256","internalType":"uint256"},{"name":"sequencerCost","type":"uint256","internalType":"uint256"},{"name":"proverCost","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"event","name":"ManaTargetUpdated","inputs":[{"name":"manaTarget","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProtocolFeeMarginUpdated","inputs":[{"name":"oldBps","type":"uint16","indexed":false,"internalType":"uint16"},{"name":"newBps","type":"uint16","indexed":false,"internalType":"uint16"}],"anonymous":false},{"type":"event","name":"ProtocolFeeRecipientUpdated","inputs":[{"name":"oldRecipient","type":"address","indexed":false,"internalType":"address"},{"name":"newRecipient","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RewardConfigUpdated","inputs":[{"name":"rewardConfig","type":"tuple","indexed":false,"internalType":"struct MutableRewardConfig","components":[{"name":"sequencerBps","type":"uint32","internalType":"Bps"},{"name":"checkpointReward","type":"uint96","internalType":"uint96"}]}],"anonymous":false},{"type":"event","name":"SequencerRewardCalculatorUpdated","inputs":[{"name":"oldCalculator","type":"address","indexed":false,"internalType":"address"},{"name":"newCalculator","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"FeeLib__InvalidManaLimit","inputs":[{"name":"maximum","type":"uint256","internalType":"uint256"},{"name":"provided","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FeeLib__InvalidManaTarget","inputs":[{"name":"minimum","type":"uint256","internalType":"uint256"},{"name":"provided","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FeeLib__ProtocolFeeMarginCooldown","inputs":[{"name":"nextAllowed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FeeLib__ProtocolFeeMarginStepExceeded","inputs":[{"name":"current","type":"uint256","internalType":"uint256"},{"name":"requested","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FeeLib__ProvingCostBelowFloor","inputs":[{"name":"provided","type":"uint256","internalType":"uint256"},{"name":"minimum","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FeeLib__ProvingCostCooldown","inputs":[{"name":"nextAllowed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FeeLib__ProvingCostStepExceeded","inputs":[{"name":"current","type":"uint256","internalType":"uint256"},{"name":"requested","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"RewardLib__InvalidProtocolFeeRecipient","inputs":[]},{"type":"error","name":"RewardLib__InvalidSequencerBps","inputs":[]},{"type":"error","name":"Rollup__CheckpointNotProven","inputs":[{"name":"proven","type":"uint256","internalType":"uint256"},{"name":"requested","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Rollup__InvalidCheckpointNumber","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"actual","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Rollup__InvalidManaTarget","inputs":[{"name":"minimum","type":"uint256","internalType":"uint256"},{"name":"provided","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Rollup__NotPastDeadline","inputs":[{"name":"deadline","type":"uint256","internalType":"Epoch"},{"name":"currentEpoch","type":"uint256","internalType":"Epoch"}]},{"type":"error","name":"Rollup__UnavailableTempCheckpointLog","inputs":[{"name":"checkpointNumber","type":"uint256","internalType":"uint256"},{"name":"pendingCheckpointNumber","type":"uint256","internalType":"uint256"},{"name":"upperLimit","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeCastOverflowedIntToUint","inputs":[{"name":"value","type":"int256","internalType":"int256"}]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x61356b610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101ab575f3560e01c806386a0d763116100f6578063dc1bb8f41161009a578063dc1bb8f41461041c578063dfff3ebc1461042f578063e068d95a14610442578063e6e2844014610455578063eb7991fa14610474578063ec14780614610493578063ed176514146104e8578063fe2a92d014610507575f5ffd5b806386a0d7631461036a5780638789a132146103725780638841c46714610385578063a4f40ee9146103a4578063bcfe1a1c146103c3578063c4fb3d7c146103e2578063cf20d872146103f5578063d4003253146103fd575f5ffd5b8063385b90121161015d578063385b90121461029e578063483315b3146102bd578063508ac49b146102d05780635a97eaa1146102e45780635e5fafb3146102f75780635f82401f14610316578063604ef88f1461034457806368faa77814610357575f5ffd5b806311704430146101af57806316a7ced5146101fe5780631df47f801461021f578063235ce66f1461024057806328e07ac314610263578063305656b2146102765780633334f7dc1461028b575b5f5ffd5b6101c26101bd36600461238d565b61050f565b6040516101f591908151815260208083015190820152604080830151908201526060918201519181019190915260800190565b60405180910390f35b61021161020c3660046123bf565b61052a565b6040519081526020016101f5565b81801561022a575f5ffd5b5061023e6102393660046123ea565b610534565b005b61025361024e366004612405565b610589565b60405190151581526020016101f5565b61025361027136600461243b565b61059f565b61027e6105aa565b6040516101f59190612465565b610253610299366004612405565b6105b8565b8180156102a9575f5ffd5b506102116102b83660046124f5565b6105c4565b6102116102cb3660046123bf565b6105d0565b8180156102db575f5ffd5b5061023e6105da565b6102116102f23660046123bf565b6105e4565b818015610302575f5ffd5b506102116103113660046125c3565b6105ee565b6103296103243660046123bf565b6105f9565b604080518251815260209283015192810192909252016101f5565b6102116103523660046123bf565b610615565b6102116103653660046125ef565b610628565b610211610633565b6102116103803660046123ea565b61063c565b818015610390575f5ffd5b5061023e61039f366004612639565b610646565b8180156103af575f5ffd5b5061023e6103be366004612695565b61069e565b8180156103ce575f5ffd5b5061027e6103dd3660046126b6565b6106f7565b61027e6103f03660046123bf565b61077f565b61027e610789565b818015610408575f5ffd5b5061023e6104173660046123ea565b6107a4565b61025361042a3660046123bf565b6107f1565b61021161043d3660046123ea565b6107fb565b61021161045036600461274d565b610805565b818015610460575f5ffd5b5061023e61046f3660046123bf565b61080f565b81801561047f575f5ffd5b5061023e61048e366004612792565b610894565b61049b6108a6565b6040805182516001600160a01b03908116825260208085015163ffffffff16908301528383015116918101919091526060918201516001600160601b0316918101919091526080016101f5565b8180156104f3575f5ffd5b5061023e6105023660046123bf565b610926565b610211610932565b61051761235c565b610521838361093b565b90505b92915050565b5f61052482610962565b5f61053e8261097d565b604080516001600160a01b038084168252851660208201529192507fd3890fc76afcfc31cba1dcf2c27b50e2541e4d75039c981855b5b5e03682aea091015b60405180910390a15050565b5f6105958484846109d7565b90505b9392505050565b5f6105218383610a22565b5f6105b3610a50565b905090565b5f610595848484610a6b565b5f610595848484610ab7565b5f61052482610cd4565b6105e2610d24565b565b5f61052482610e42565b5f6105218383610e6e565b604080518082019091525f808252602082015261052482610ebf565b5f61052482610622610f3e565b90610f57565b5f6105218383610f6a565b5f6105b3611057565b5f61052482611079565b61064f816110a0565b60408051825163ffffffff1681526020808401516001600160601b0316908201527f24ea90802d5c1d10fd3da4b05f2415af510be55a0e3b385831be1851c3975869910160405180910390a150565b5f5f6106a983611124565b9150915081156106f2576040805161ffff8084168252851660208201527f50cfb74385ad073f39f956bcb64fa0e087dc901b2a9dcdf8e7a1d340cbf64b74910160405180910390a15b505050565b5f5f308360405161070790612380565b6001600160a01b039092168252805163ffffffff908116602080850191909152820151811660408085019190915282015181166060808501919091528201518116608080850191909152909101511660a082015260c001604051809103905ff080158015610777573d5f5f3e3d5ffd5b509392505050565b5f6105248261128f565b5f610792611342565b600301546001600160a01b0316919050565b5f6107ae82611366565b604080516001600160a01b038084168252851660208201529192507f94d38706e4767859df7903f27cd8cd923dff3af746eb8bbdf828b958710c458b910161057d565b5f61052482611399565b5f6105248261140a565b5f61052482611483565b5f61082861081b6114b6565b5460c01c63ffffffff1690565b905080828181101561085b57604051630d1bff9560e21b8152600481019290925260248201526044015b60405180910390fd5b5050610866826114da565b60405182907faaa1053539ab4621b2aecf54a7ccf2096610ff768f32261f667aca9ae3069482905f90a25050565b61089d82611533565b6106f281611366565b604080516080810182525f8082526020820181905291810182905260608101919091526108d1611342565b6040805160808101825260038301546001600160a01b038082168352600160a01b9182900463ffffffff1660208401526004909401549384169282019290925291046001600160601b03166060820152919050565b61092f816115e8565b50565b5f6105b3610f3e565b61094361235c565b5f61094d84611732565b905061095a81858561176d565b949350505050565b5f61052461096f83611926565b60501c65ffffffffffff1690565b5f6001600160a01b0382166109a557604051638513472b60e01b815260040160405180910390fd5b5f6109ae611342565b60050180546001600160a01b039485166001600160a01b03198216179091559290921692915050565b5f6109e0611342565b5f94855260019081016020908152604080872095875294820181528486206001600160a01b03949094168652920190915250902054600160f81b900460ff1690565b5f61052182610a2f611342565b6001600160a01b0386165f908152600291909101602052604090209061193a565b5f610a59611342565b600601546001600160a01b0316919050565b5f5f610a75611342565b5f95865260019081016020908152604080882096885295820181528587206001600160a01b039590951687529301909252509120546001600160f81b03161190565b5f5f610ac24261195d565b90505f610acd611342565b90505f805b8651811015610caf57610b0784888381518110610af157610af161280e565b60200260200101516119b590919063ffffffff16565b15610b2a888381518110610b1d57610b1d61280e565b60200260200101516119bf565b859091610b5357604051632851216f60e21b815260048101929092526024820152604401610852565b5050610ba5878281518110610b6a57610b6a61280e565b6020026020010151846002015f8b6001600160a01b03166001600160a01b031681526020019081526020015f2061193a90919063ffffffff16565b610ca757610bf9878281518110610bbe57610bbe61280e565b6020026020010151846002015f8b6001600160a01b03166001600160a01b031681526020019081526020015f206119f790919063ffffffff16565b5f836001015f898481518110610c1157610c1161280e565b60209081029190910181015182528181019290925260409081015f90812080546001600160801b03168252600180820185528383206001600160a01b038f168452908101909452919020549092506001600160f81b03168015610ca35781548354610c8c90600160801b90046001600160801b031683612836565b610c969190612861565b610ca09086612874565b94505b5050505b600101610ad2565b508015610cca57610cca6001600160a01b0386168883611a1f565b9695505050505050565b5f5f610cde611a71565b805490915060801c8381811115610d11576040516368dd4dfd60e11b815260048101929092526024820152604401610852565b5050610598610d1f84611a95565b611aaf565b5f610d2e42611ad0565b90505f610d396114b6565b60018101549091505f90610d6590600160e01b900463ffffffff16610d6060056002611b00565b611b0b565b905082811115610d7457505050565b604080516060810182526001840154600160701b90046001600160701b03168152815180830190925248825290602080830191610dbc918101610db5611b16565b9052611c13565b6001600160701b03168152602001610ddd610dd8866002611b0b565b611c58565b63ffffffff9081169091528151600190940180546020840151604090940151909216600160e01b026001600160e01b036001600160701b03948516600160701b026001600160e01b031990941694909616939093179190911793909316179091555050565b5f610e4b611342565b5f928352600101602052506040902054600160801b90046001600160801b031690565b5f5f610e78611342565b6001600160a01b0385165f90815260208290526040902054909150801561095a576001600160a01b038086165f9081526020849052604081205561095a9085168683611a1f565b604080518082019091525f80825260208201525f610edb6114b6565b9050610f00610ee984611ad0565b6001830154600160e01b900463ffffffff165b1190565b610f27576001810154610f2290600160701b90046001600160701b0316611c62565b610598565b6001810154610598906001600160701b0316611c62565b5f6105b3610f4a6114b6565b546001600160401b031690565b5f6105218364e8d4a51000846001611c9c565b5f5f610f74611342565b6001600160a01b0384165f9081526002820160205260409020909150610f9a908561193a565b15610fa8575f915050610524565b5f84815260018083016020908152604080842080546001600160801b0316855280840183528185206001600160a01b038916865293840190925283205490926001600160f81b039091169003611003575f9350505050610524565b805482546001600160a01b0387165f90815260018401602052604090205461104491600160801b90046001600160801b0316906001600160f81b0316612887565b6001600160f81b0316610cca9190612861565b5f611060611342565b60040154600160a01b90046001600160601b0316919050565b5f611082611342565b6001600160a01b039092165f90815260209290925250604090205490565b612710815f015163ffffffff1611156110cc57604051633b97c27960e21b815260040160405180910390fd5b5f6110d5611342565b825160038201805463ffffffff60a01b1916600160a01b63ffffffff9093168302179055602090930151600490910180546001600160a01b03166001600160601b039092169093021790915550565b5f5f5f61112f6114b6565b90505f61113e825f0154611ce7565b9050806060015192508261ffff168561ffff1603611160575f93505050915091565b8261ffff168561ffff1611156112495760028201545f906111959062278d0090600160401b90046001600160401b0316612874565b6002840154909150600160401b90046001600160401b031615806111b95750804210155b81906111db5760405163777ec76b60e11b815260040161085291815260200190565b5060036111ee61ffff8616612710612874565b6111f89190612836565b600261120a61ffff8916612710612874565b6112149190612836565b1115848790916112455760405163e4e1563360e01b815261ffff928316600482015291166024820152604401610852565b5050505b61ffff8516606082015261125c81611d6b565b825550600201805467ffffffffffffffff60401b1916600160401b426001600160401b0316021790556001939092509050565b5f5f611299611a71565b80549091506001600160801b031683158015906112b65750808411155b818590916112e057604051631e19e11960e21b815260048101929092526024820152604401610852565b508490505b81811161131e575f818152600384016020526040902054801561130b5795945050505050565b5080611316816128b8565b9150506112e5565b50604051631e19e11960e21b81526004810182905260248101859052604401610852565b7f7da2ae3c4a8197dbe64388763d16e7945dd85ef9823a62323a7cdcce718a163790565b5f5f611370611342565b60060180546001600160a01b039485166001600160a01b03198216179091559290921692915050565b5f5f6113a3611a71565b80549091506001600160801b0381166113bc8260801c90565b036113ca57505f9392505050565b5f6113e76113e26001600160801b0384166001612874565b610cd4565b90505f6113f38661195d565b90506113ff82826119b5565b159695505050505050565b5f611413611342565b6004908101546040516337ffcfaf60e21b81526001600160a01b039091169163dfff3ebc9161144491869101612465565b602060405180830381865afa15801561145f573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061052491906128d0565b5f610524825f01518360600151846040015161149f9190612874565b6114a99190612874565b6001600160801b03611dde565b7f2e57d696f4035f6dfbf369d367f6b4aaf23baac5f6ee9a3a5207d71c56de652c90565b6114e381611ded565b505f6114ed6114b6565b90505f6114fc825f0154611ce7565b83815290506305f5e1006115146332f1b33685612836565b61151e9190612861565b602082015261152c81611d6b565b9091555050565b612710816020015163ffffffff16111561156057604051633b97c27960e21b815260040160405180910390fd5b5f611569611342565b8251600382018054602086015163ffffffff16600160a01b9081026001600160c01b03199092166001600160a01b03948516179190911790915560408501516060909501516001600160601b03160293169290921760048301555060050180546001600160a01b0319166b4355415548584943414c4c4960401b179055565b5f6115f16114b6565b90505f611600825f0154611ce7565b6040810151909150838060028082101561163657604051631ad480f960e11b815260048101929092526024820152604401610852565b505060028401545f906116569062278d00906001600160401b0316612874565b60028601549091506001600160401b031615806116735750804210155b8190611695576040516344331fd960e01b815260040161085291815260200190565b506116a1600384612836565b6116ac600284612836565b111580156116ce57506116c0600284612836565b6116cb600384612836565b10155b838390916116f857604051637e42087560e01b815260048101929092526024820152604401610852565b50506040840186905261170a84611d6b565b85555050506002909101805467ffffffffffffffff1916426001600160401b03161790555050565b5f5f61173c611a71565b805490915061174a84611399565b61175d576117588160801c90565b61095a565b6001600160801b03169392505050565b61177561235c565b5f61177e6114b6565b90505f611794825f015460c01c63ffffffff1690565b90505f5f5f5f6117a389610ebf565b90505f81602001516202000060036117bb9190612836565b6117c59190612836565b82516117d4906207a120612836565b6117de9190612874565b90506117ee816001886001611c9c565b94505061183961182961181f623d0900845f015161180a611e67565b54600160a01b900463ffffffff166001611c9c565b6001886001611c9c565b87546001600160401b0316611b0b565b92506118458484611b0b565b9150505f6118528a611926565b90505f61188963ffffffff83166118718460201c65ffffffffffff1690565b61187b9190612874565b611884886128e7565b611e8b565b90505f61189582611ed9565b90505f6118b16118ab8684633b9aca005f611c9c565b86611b00565b90505f8b6118c45764e8d4a510006118cd565b6118cd8e610962565b905060405180608001604052806118ed8385610f5790919063ffffffff16565b8152602081018590526040016119038a84610f57565b81526020016119128984610f57565b90529e9d5050505050505050505050505050565b5f61193082611f49565b6006015492915050565b600881901c5f90815260208390526040902054600160ff83161b16151592915050565b5f5f611967611e67565b805490915061198c9063ffffffff600160801b8204811691600160a01b900416612901565b815463ffffffff91909116906119ab906001600160801b031685612927565b6105989190612861565b5f61052182610efc855b5f5f6119c9611e67565b80549091506105989084906119ec90600160c01b900463ffffffff16600161293a565b63ffffffff16611b0b565b600881901c5f90815260209290925260409091208054600160ff9093169290921b9091179055565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526106f2908490611fec565b7f0958201b72d64259285941dffd868dac55267471fcc73e8a06e1fd9cf870636190565b5f610524611aa283611f49565b6005015463ffffffff1690565b5f611ab8611e67565b5461052490600160a01b900463ffffffff1683612861565b5f5f611ada611e67565b805490915063ffffffff600160801b820416906119ab906001600160801b031685612927565b5f6105218284612927565b5f6105218284612874565b5f617a694614808015611b3d5750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15155b15611c0b5760408051600481526024810182526020810180516001600160e01b0316631f6d6ef760e01b17905290515f918291737109709ecfa91a80626ff3989d68f67f5b1dd12d91611b8f91612956565b5f60405180830381855afa9150503d805f8114611bc7576040519150601f19603f3d011682016040523d82523d5f602084013e611bcc565b606091505b5091509150818015611be057506020815110155b15611c015780806020019051810190611bf991906128d0565b935050505090565b6001935050505090565b4a5b91505090565b5f5f5f90505f611c268460200151612055565b66ffffffffffffff16901b811790506038611c43845f0151612055565b66ffffffffffffff16901b176105988161208c565b5f610524826120bf565b604080518082019091525f8082526020820152506040805180820190915266ffffffffffffff603883901c81168252909116602082015290565b5f611cc9611ca9836120ef565b8015611cc457505f8480611cbf57611cbf61284d565b868809115b151590565b611cd486868661211b565b611cde9190612874565b95945050505050565b611d0e60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060800160405280611d298460c01c63ffffffff1690565b8152602001611d418460401c6001600160801b031690565b81526020016001600160401b0384168152602001611d638460e01c61ffff1690565b905292915050565b5f5f5f9050611d7d83604001516121d1565b6001600160401b0316811790506040611d998460200151612206565b6001600160801b0316901b8117905060c0611db6845f01516120bf565b63ffffffff16901b8117905060e0611dd18460600151612239565b61ffff16901b1792915050565b5f828218828410028218610521565b5f60018280611e18576040516372e1574f60e01b815260048101929092526024820152604401610852565b505f9050611e27836002612836565b905063ffffffff8181811115611e5e576040516303fd5c0b60e41b815263ffffffff90921660048301526024820152604401610852565b50909392505050565b7fcc2bde3d21ba778aa5c156bb6fc47381978b0054c8a1ef73f44234164324cbe090565b5f5f8212611ead57611e9c82612267565b611ea69084612874565b9050610524565b60ff82901d8083011880841115611ed057611ec88185612927565b915050610524565b505f9392505050565b5f5f611ee36114b6565b90505f611efc825f015460401c6001600160801b031690565b90505f611f1385611f0e846064612836565b611dde565b9050611cde611f29845f015460e01c61ffff1690565b611f3590612710612874565b611f4290620186a0612836565b828461228c565b5f5f611f5d611f56611a71565b5460801c90565b90505f611f686122f7565b90505f611f758286612874565b90505f838611158015611f8757508184105b905085848383611fbb57604051638711786b60e01b8152600481019390935260248301919091526044820152606401610852565b505050611fc6611a71565b6002015f611fd4858961296c565b81526020019081526020015f20945050505050919050565b5f5f60205f8451602086015f885af18061200b576040513d5f823e3d81fd5b50505f513d9150811561202257806001141561202f565b6001600160a01b0384163b155b1561204f5783604051635274afe760e01b81526004016108529190612465565b50505050565b5f66ffffffffffffff821115612088576040516306dfcc6560e41b81526038600482015260248101839052604401610852565b5090565b5f6001600160701b03821115612088576040516306dfcc6560e41b81526070600482015260248101839052604401610852565b5f63ffffffff821115612088576040516306dfcc6560e41b81526020600482015260248101839052604401610852565b5f60028260038111156121045761210461297f565b61210e9190612993565b60ff166001149050919050565b5f838302815f1985870982811083820303915050805f0361214f578382816121455761214561284d565b0492505050610598565b80841161216657612166600385150260111861230b565b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b5f6001600160401b0382111561208857604080516306dfcc6560e41b8152600481019190915260248101839052604401610852565b5f6001600160801b03821115612088576040516306dfcc6560e41b81526080600482015260248101839052604401610852565b5f61ffff821115612088576040516306dfcc6560e41b81526010600482015260248101839052604401610852565b5f5f82121561208857604051635467221960e11b815260048101839052602401610852565b5f6001818061229b8588612836565b90505b80156122e2576122ae8183612874565b91506122ba8386612836565b6122c48783612836565b6122ce9190612861565b90506122db600184612874565b925061229e565b6122ec8583612861565b979650505050505050565b5f61230061231c565b6105b3906001612874565b634e487b715f52806020526024601cfd5b5f5f612326611e67565b805490915061234390600160c01b900463ffffffff166001612874565b8154611c0d9190600160a01b900463ffffffff16612836565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b610b81806129b583390190565b5f5f6040838503121561239e575f5ffd5b82359150602083013580151581146123b4575f5ffd5b809150509250929050565b5f602082840312156123cf575f5ffd5b5035919050565b6001600160a01b038116811461092f575f5ffd5b5f602082840312156123fa575f5ffd5b8135610598816123d6565b5f5f5f60608486031215612417575f5ffd5b83359250602084013591506040840135612430816123d6565b809150509250925092565b5f5f6040838503121561244c575f5ffd5b8235612457816123d6565b946020939093013593505050565b6001600160a01b0391909116815260200190565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b03811182821017156124af576124af612479565b60405290565b604051601f8201601f191681016001600160401b03811182821017156124dd576124dd612479565b604052919050565b80356124f0816123d6565b919050565b5f5f5f60608486031215612507575f5ffd5b8335612512816123d6565b925060208401356001600160401b0381111561252c575f5ffd5b8401601f8101861361253c575f5ffd5b80356001600160401b0381111561255557612555612479565b8060051b612565602082016124b5565b91825260208184018101929081019089841115612580575f5ffd5b6020850194505b838510156125a657843580835260209586019590935090910190612587565b80965050505050506125ba604085016124e5565b90509250925092565b5f5f604083850312156125d4575f5ffd5b82356125df816123d6565b915060208301356123b4816123d6565b5f5f60408385031215612600575f5ffd5b8235915060208301356123b4816123d6565b63ffffffff8116811461092f575f5ffd5b80356001600160601b03811681146124f0575f5ffd5b5f604082840312801561264a575f5ffd5b50604080519081016001600160401b038111828210171561266d5761266d612479565b604052823561267b81612612565b815261268960208401612623565b60208201529392505050565b5f602082840312156126a5575f5ffd5b813561ffff81168114610598575f5ffd5b5f60a08284031280156126c7575f5ffd5b5060405160a081016001600160401b03811182821017156126ea576126ea612479565b60405282356126f881612612565b8152602083013561270881612612565b6020820152604083013561271b81612612565b6040820152606083013561272e81612612565b6060820152608083013561274181612612565b60808201529392505050565b5f608082840312801561275e575f5ffd5b5061276761248d565b8235815260208084013590820152604080840135908201526060928301359281019290925250919050565b5f5f82840360a08112156127a4575f5ffd5b60808112156127b1575f5ffd5b506127ba61248d565b83356127c5816123d6565b815260208401356127d581612612565b602082015260408401356127e8816123d6565b60408201526127f960608501612623565b6060820152915060808301356123b4816123d6565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761052457610524612822565b634e487b7160e01b5f52601260045260245ffd5b5f8261286f5761286f61284d565b500490565b8082018082111561052457610524612822565b6001600160f81b038181168382168181029092169181830481148215176128b0576128b0612822565b505092915050565b5f600182016128c9576128c9612822565b5060010190565b5f602082840312156128e0575f5ffd5b5051919050565b5f600160ff1b82016128fb576128fb612822565b505f0390565b63ffffffff818116838216029081169081811461292057612920612822565b5092915050565b8181038181111561052457610524612822565b63ffffffff818116838216019081111561052457610524612822565b5f82518060208501845e5f920191825250919050565b5f8261297a5761297a61284d565b500690565b634e487b7160e01b5f52602160045260245ffd5b5f60ff8316806129a5576129a561284d565b8060ff8416069150509291505056fe610140604052348015610010575f5ffd5b50604051610b81380380610b8183398101604081905261002f91610143565b5f816080015163ffffffff1611610059576040516318dbcf2b60e21b815260040160405180910390fd5b5f816060015163ffffffff1611610083576040516318dbcf2b60e21b815260040160405180910390fd5b5f816020015163ffffffff16116100ad576040516318dbcf2b60e21b815260040160405180910390fd5b806080015163ffffffff16816060015163ffffffff1611156100e2576040516318dbcf2b60e21b815260040160405180910390fd5b6001600160a01b039091166080908152815163ffffffff90811660a0526020830151811660c0526040830151811660e0526060830151811661010052910151166101205261020d565b805163ffffffff8116811461013e575f5ffd5b919050565b5f5f82840360c0811215610155575f5ffd5b83516001600160a01b038116811461016b575f5ffd5b925060a0601f198201121561017e575f5ffd5b5060405160a081016001600160401b03811182821017156101ad57634e487b7160e01b5f52604160045260245ffd5b6040526101bc6020850161012b565b81526101ca6040850161012b565b60208201526101db6060850161012b565b60408201526101ec6080850161012b565b60608201526101fd60a0850161012b565b6080820152809150509250929050565b60805160a05160c05160e05161010051610120516108d36102ae5f395f8181610520015281816106800152818161071c015261077301525f81816104ec01528181610744015261079901525f81816104b801526106df01525f818161038a015281816104840152818161065801526106ab01525f8181610354015261045001525f818160b8015281816101a60152818161023b015261028f01526108d35ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80634fd90e56146100595780638e3356ce146100925780639611c5c2146100b3578063c3f909d4146100f2578063dfff3ebc14610159575b5f5ffd5b61006c6100673660046107d4565b61016c565b604080518251815260209283015163ffffffff1692810192909252015b60405180910390f35b6100a56100a03660046107d4565b61022f565b604051908152602001610089565b6100da7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610089565b6100fa610416565b60405161008991905f60a08201905063ffffffff835116825263ffffffff602084015116602083015263ffffffff604084015116604083015263ffffffff606084015116606083015263ffffffff608084015116608083015292915050565b6100a56101673660046107d4565b610551565b604080518082019091525f80825260208201526102295f5f846001600160a01b03166001600160a01b031681526020019081526020015f207f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b97dd9e26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610200573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022491906107fa565b61056d565b92915050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016811461028b5760405163fe671df560e01b81526001600160a01b0390911660048201526024015b60405180910390fd5b505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b97dd9e26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102e9573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030d91906107fa565b6001600160a01b0384165f908152602081905260408120919250610331828461056d565b805183549192506103479163ffffffff16141590565b156103f5576103b36103ae7f0000000000000000000000000000000000000000000000000000000000000000836020015163ffffffff166103889190610825565b7f0000000000000000000000000000000000000000000000000000000000000000610605565b610617565b825463ffffffff91909116600160201b0267ffffffff000000001990911617825580516103df9061064b565b825463ffffffff191663ffffffff919091161782555b815461040d90600160201b900463ffffffff16610655565b95945050505050565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091526040518060a001604052806104747f0000000000000000000000000000000000000000000000000000000000000000610617565b63ffffffff1681526020016104a87f0000000000000000000000000000000000000000000000000000000000000000610617565b63ffffffff1681526020016104dc7f0000000000000000000000000000000000000000000000000000000000000000610617565b63ffffffff1681526020016105107f0000000000000000000000000000000000000000000000000000000000000000610617565b63ffffffff1681526020016105447f0000000000000000000000000000000000000000000000000000000000000000610617565b63ffffffff169052919050565b5f61022961055e8361016c565b6020015163ffffffff16610655565b604080518082019091525f808252602082015282545f9063ffffffff166105949084610838565b6105a190620186a061084b565b604080518082019091528481528554919250906020820190600160201b900463ffffffff1683116105f3576105d583610617565b86546105ee9190600160201b900463ffffffff16610862565b6105f5565b5f5b63ffffffff169052949350505050565b5f8282188284100282185b9392505050565b5f63ffffffff821115610647576040516306dfcc6560e41b81526020600482015260248101839052604401610282565b5090565b5f61022982610617565b5f7f000000000000000000000000000000000000000000000000000000000000000082106106a457507f0000000000000000000000000000000000000000000000000000000000000000919050565b5f6106cf837f0000000000000000000000000000000000000000000000000000000000000000610838565b90505f6402540be40082610703817f000000000000000000000000000000000000000000000000000000000000000061084b565b61070d919061084b565b610717919061087e565b9050807f0000000000000000000000000000000000000000000000000000000000000000101561076a57507f00000000000000000000000000000000000000000000000000000000000000009392505050565b6107bd610797827f0000000000000000000000000000000000000000000000000000000000000000610838565b7f00000000000000000000000000000000000000000000000000000000000000006107c5565b949350505050565b5f828218828411028218610610565b5f602082840312156107e4575f5ffd5b81356001600160a01b0381168114610610575f5ffd5b5f6020828403121561080a575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561022957610229610811565b8181038181111561022957610229610811565b808202811582820484141761022957610229610811565b63ffffffff828116828216039081111561022957610229610811565b5f8261089857634e487b7160e01b5f52601260045260245ffd5b50049056fea264697066735822122036a2966f46b9c90f837b54cb23afe8fceffae61c90e86ea8fb890a9392426bfd64736f6c634300081e0033a26469706673582212203f9662d5c64306fa06440daae80d3d0d23e60fc053ef47519013e5759de6dd6864736f6c634300081e0033","sourceMap":"1085:7034:113:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1085:7034:113;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600436106101ab575f3560e01c806386a0d763116100f6578063dc1bb8f41161009a578063dc1bb8f41461041c578063dfff3ebc1461042f578063e068d95a14610442578063e6e2844014610455578063eb7991fa14610474578063ec14780614610493578063ed176514146104e8578063fe2a92d014610507575f5ffd5b806386a0d7631461036a5780638789a132146103725780638841c46714610385578063a4f40ee9146103a4578063bcfe1a1c146103c3578063c4fb3d7c146103e2578063cf20d872146103f5578063d4003253146103fd575f5ffd5b8063385b90121161015d578063385b90121461029e578063483315b3146102bd578063508ac49b146102d05780635a97eaa1146102e45780635e5fafb3146102f75780635f82401f14610316578063604ef88f1461034457806368faa77814610357575f5ffd5b806311704430146101af57806316a7ced5146101fe5780631df47f801461021f578063235ce66f1461024057806328e07ac314610263578063305656b2146102765780633334f7dc1461028b575b5f5ffd5b6101c26101bd36600461238d565b61050f565b6040516101f591908151815260208083015190820152604080830151908201526060918201519181019190915260800190565b60405180910390f35b61021161020c3660046123bf565b61052a565b6040519081526020016101f5565b81801561022a575f5ffd5b5061023e6102393660046123ea565b610534565b005b61025361024e366004612405565b610589565b60405190151581526020016101f5565b61025361027136600461243b565b61059f565b61027e6105aa565b6040516101f59190612465565b610253610299366004612405565b6105b8565b8180156102a9575f5ffd5b506102116102b83660046124f5565b6105c4565b6102116102cb3660046123bf565b6105d0565b8180156102db575f5ffd5b5061023e6105da565b6102116102f23660046123bf565b6105e4565b818015610302575f5ffd5b506102116103113660046125c3565b6105ee565b6103296103243660046123bf565b6105f9565b604080518251815260209283015192810192909252016101f5565b6102116103523660046123bf565b610615565b6102116103653660046125ef565b610628565b610211610633565b6102116103803660046123ea565b61063c565b818015610390575f5ffd5b5061023e61039f366004612639565b610646565b8180156103af575f5ffd5b5061023e6103be366004612695565b61069e565b8180156103ce575f5ffd5b5061027e6103dd3660046126b6565b6106f7565b61027e6103f03660046123bf565b61077f565b61027e610789565b818015610408575f5ffd5b5061023e6104173660046123ea565b6107a4565b61025361042a3660046123bf565b6107f1565b61021161043d3660046123ea565b6107fb565b61021161045036600461274d565b610805565b818015610460575f5ffd5b5061023e61046f3660046123bf565b61080f565b81801561047f575f5ffd5b5061023e61048e366004612792565b610894565b61049b6108a6565b6040805182516001600160a01b03908116825260208085015163ffffffff16908301528383015116918101919091526060918201516001600160601b0316918101919091526080016101f5565b8180156104f3575f5ffd5b5061023e6105023660046123bf565b610926565b610211610932565b61051761235c565b610521838361093b565b90505b92915050565b5f61052482610962565b5f61053e8261097d565b604080516001600160a01b038084168252851660208201529192507fd3890fc76afcfc31cba1dcf2c27b50e2541e4d75039c981855b5b5e03682aea091015b60405180910390a15050565b5f6105958484846109d7565b90505b9392505050565b5f6105218383610a22565b5f6105b3610a50565b905090565b5f610595848484610a6b565b5f610595848484610ab7565b5f61052482610cd4565b6105e2610d24565b565b5f61052482610e42565b5f6105218383610e6e565b604080518082019091525f808252602082015261052482610ebf565b5f61052482610622610f3e565b90610f57565b5f6105218383610f6a565b5f6105b3611057565b5f61052482611079565b61064f816110a0565b60408051825163ffffffff1681526020808401516001600160601b0316908201527f24ea90802d5c1d10fd3da4b05f2415af510be55a0e3b385831be1851c3975869910160405180910390a150565b5f5f6106a983611124565b9150915081156106f2576040805161ffff8084168252851660208201527f50cfb74385ad073f39f956bcb64fa0e087dc901b2a9dcdf8e7a1d340cbf64b74910160405180910390a15b505050565b5f5f308360405161070790612380565b6001600160a01b039092168252805163ffffffff908116602080850191909152820151811660408085019190915282015181166060808501919091528201518116608080850191909152909101511660a082015260c001604051809103905ff080158015610777573d5f5f3e3d5ffd5b509392505050565b5f6105248261128f565b5f610792611342565b600301546001600160a01b0316919050565b5f6107ae82611366565b604080516001600160a01b038084168252851660208201529192507f94d38706e4767859df7903f27cd8cd923dff3af746eb8bbdf828b958710c458b910161057d565b5f61052482611399565b5f6105248261140a565b5f61052482611483565b5f61082861081b6114b6565b5460c01c63ffffffff1690565b905080828181101561085b57604051630d1bff9560e21b8152600481019290925260248201526044015b60405180910390fd5b5050610866826114da565b60405182907faaa1053539ab4621b2aecf54a7ccf2096610ff768f32261f667aca9ae3069482905f90a25050565b61089d82611533565b6106f281611366565b604080516080810182525f8082526020820181905291810182905260608101919091526108d1611342565b6040805160808101825260038301546001600160a01b038082168352600160a01b9182900463ffffffff1660208401526004909401549384169282019290925291046001600160601b03166060820152919050565b61092f816115e8565b50565b5f6105b3610f3e565b61094361235c565b5f61094d84611732565b905061095a81858561176d565b949350505050565b5f61052461096f83611926565b60501c65ffffffffffff1690565b5f6001600160a01b0382166109a557604051638513472b60e01b815260040160405180910390fd5b5f6109ae611342565b60050180546001600160a01b039485166001600160a01b03198216179091559290921692915050565b5f6109e0611342565b5f94855260019081016020908152604080872095875294820181528486206001600160a01b03949094168652920190915250902054600160f81b900460ff1690565b5f61052182610a2f611342565b6001600160a01b0386165f908152600291909101602052604090209061193a565b5f610a59611342565b600601546001600160a01b0316919050565b5f5f610a75611342565b5f95865260019081016020908152604080882096885295820181528587206001600160a01b039590951687529301909252509120546001600160f81b03161190565b5f5f610ac24261195d565b90505f610acd611342565b90505f805b8651811015610caf57610b0784888381518110610af157610af161280e565b60200260200101516119b590919063ffffffff16565b15610b2a888381518110610b1d57610b1d61280e565b60200260200101516119bf565b859091610b5357604051632851216f60e21b815260048101929092526024820152604401610852565b5050610ba5878281518110610b6a57610b6a61280e565b6020026020010151846002015f8b6001600160a01b03166001600160a01b031681526020019081526020015f2061193a90919063ffffffff16565b610ca757610bf9878281518110610bbe57610bbe61280e565b6020026020010151846002015f8b6001600160a01b03166001600160a01b031681526020019081526020015f206119f790919063ffffffff16565b5f836001015f898481518110610c1157610c1161280e565b60209081029190910181015182528181019290925260409081015f90812080546001600160801b03168252600180820185528383206001600160a01b038f168452908101909452919020549092506001600160f81b03168015610ca35781548354610c8c90600160801b90046001600160801b031683612836565b610c969190612861565b610ca09086612874565b94505b5050505b600101610ad2565b508015610cca57610cca6001600160a01b0386168883611a1f565b9695505050505050565b5f5f610cde611a71565b805490915060801c8381811115610d11576040516368dd4dfd60e11b815260048101929092526024820152604401610852565b5050610598610d1f84611a95565b611aaf565b5f610d2e42611ad0565b90505f610d396114b6565b60018101549091505f90610d6590600160e01b900463ffffffff16610d6060056002611b00565b611b0b565b905082811115610d7457505050565b604080516060810182526001840154600160701b90046001600160701b03168152815180830190925248825290602080830191610dbc918101610db5611b16565b9052611c13565b6001600160701b03168152602001610ddd610dd8866002611b0b565b611c58565b63ffffffff9081169091528151600190940180546020840151604090940151909216600160e01b026001600160e01b036001600160701b03948516600160701b026001600160e01b031990941694909616939093179190911793909316179091555050565b5f610e4b611342565b5f928352600101602052506040902054600160801b90046001600160801b031690565b5f5f610e78611342565b6001600160a01b0385165f90815260208290526040902054909150801561095a576001600160a01b038086165f9081526020849052604081205561095a9085168683611a1f565b604080518082019091525f80825260208201525f610edb6114b6565b9050610f00610ee984611ad0565b6001830154600160e01b900463ffffffff165b1190565b610f27576001810154610f2290600160701b90046001600160701b0316611c62565b610598565b6001810154610598906001600160701b0316611c62565b5f6105b3610f4a6114b6565b546001600160401b031690565b5f6105218364e8d4a51000846001611c9c565b5f5f610f74611342565b6001600160a01b0384165f9081526002820160205260409020909150610f9a908561193a565b15610fa8575f915050610524565b5f84815260018083016020908152604080842080546001600160801b0316855280840183528185206001600160a01b038916865293840190925283205490926001600160f81b039091169003611003575f9350505050610524565b805482546001600160a01b0387165f90815260018401602052604090205461104491600160801b90046001600160801b0316906001600160f81b0316612887565b6001600160f81b0316610cca9190612861565b5f611060611342565b60040154600160a01b90046001600160601b0316919050565b5f611082611342565b6001600160a01b039092165f90815260209290925250604090205490565b612710815f015163ffffffff1611156110cc57604051633b97c27960e21b815260040160405180910390fd5b5f6110d5611342565b825160038201805463ffffffff60a01b1916600160a01b63ffffffff9093168302179055602090930151600490910180546001600160a01b03166001600160601b039092169093021790915550565b5f5f5f61112f6114b6565b90505f61113e825f0154611ce7565b9050806060015192508261ffff168561ffff1603611160575f93505050915091565b8261ffff168561ffff1611156112495760028201545f906111959062278d0090600160401b90046001600160401b0316612874565b6002840154909150600160401b90046001600160401b031615806111b95750804210155b81906111db5760405163777ec76b60e11b815260040161085291815260200190565b5060036111ee61ffff8616612710612874565b6111f89190612836565b600261120a61ffff8916612710612874565b6112149190612836565b1115848790916112455760405163e4e1563360e01b815261ffff928316600482015291166024820152604401610852565b5050505b61ffff8516606082015261125c81611d6b565b825550600201805467ffffffffffffffff60401b1916600160401b426001600160401b0316021790556001939092509050565b5f5f611299611a71565b80549091506001600160801b031683158015906112b65750808411155b818590916112e057604051631e19e11960e21b815260048101929092526024820152604401610852565b508490505b81811161131e575f818152600384016020526040902054801561130b5795945050505050565b5080611316816128b8565b9150506112e5565b50604051631e19e11960e21b81526004810182905260248101859052604401610852565b7f7da2ae3c4a8197dbe64388763d16e7945dd85ef9823a62323a7cdcce718a163790565b5f5f611370611342565b60060180546001600160a01b039485166001600160a01b03198216179091559290921692915050565b5f5f6113a3611a71565b80549091506001600160801b0381166113bc8260801c90565b036113ca57505f9392505050565b5f6113e76113e26001600160801b0384166001612874565b610cd4565b90505f6113f38661195d565b90506113ff82826119b5565b159695505050505050565b5f611413611342565b6004908101546040516337ffcfaf60e21b81526001600160a01b039091169163dfff3ebc9161144491869101612465565b602060405180830381865afa15801561145f573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061052491906128d0565b5f610524825f01518360600151846040015161149f9190612874565b6114a99190612874565b6001600160801b03611dde565b7f2e57d696f4035f6dfbf369d367f6b4aaf23baac5f6ee9a3a5207d71c56de652c90565b6114e381611ded565b505f6114ed6114b6565b90505f6114fc825f0154611ce7565b83815290506305f5e1006115146332f1b33685612836565b61151e9190612861565b602082015261152c81611d6b565b9091555050565b612710816020015163ffffffff16111561156057604051633b97c27960e21b815260040160405180910390fd5b5f611569611342565b8251600382018054602086015163ffffffff16600160a01b9081026001600160c01b03199092166001600160a01b03948516179190911790915560408501516060909501516001600160601b03160293169290921760048301555060050180546001600160a01b0319166b4355415548584943414c4c4960401b179055565b5f6115f16114b6565b90505f611600825f0154611ce7565b6040810151909150838060028082101561163657604051631ad480f960e11b815260048101929092526024820152604401610852565b505060028401545f906116569062278d00906001600160401b0316612874565b60028601549091506001600160401b031615806116735750804210155b8190611695576040516344331fd960e01b815260040161085291815260200190565b506116a1600384612836565b6116ac600284612836565b111580156116ce57506116c0600284612836565b6116cb600384612836565b10155b838390916116f857604051637e42087560e01b815260048101929092526024820152604401610852565b50506040840186905261170a84611d6b565b85555050506002909101805467ffffffffffffffff1916426001600160401b03161790555050565b5f5f61173c611a71565b805490915061174a84611399565b61175d576117588160801c90565b61095a565b6001600160801b03169392505050565b61177561235c565b5f61177e6114b6565b90505f611794825f015460c01c63ffffffff1690565b90505f5f5f5f6117a389610ebf565b90505f81602001516202000060036117bb9190612836565b6117c59190612836565b82516117d4906207a120612836565b6117de9190612874565b90506117ee816001886001611c9c565b94505061183961182961181f623d0900845f015161180a611e67565b54600160a01b900463ffffffff166001611c9c565b6001886001611c9c565b87546001600160401b0316611b0b565b92506118458484611b0b565b9150505f6118528a611926565b90505f61188963ffffffff83166118718460201c65ffffffffffff1690565b61187b9190612874565b611884886128e7565b611e8b565b90505f61189582611ed9565b90505f6118b16118ab8684633b9aca005f611c9c565b86611b00565b90505f8b6118c45764e8d4a510006118cd565b6118cd8e610962565b905060405180608001604052806118ed8385610f5790919063ffffffff16565b8152602081018590526040016119038a84610f57565b81526020016119128984610f57565b90529e9d5050505050505050505050505050565b5f61193082611f49565b6006015492915050565b600881901c5f90815260208390526040902054600160ff83161b16151592915050565b5f5f611967611e67565b805490915061198c9063ffffffff600160801b8204811691600160a01b900416612901565b815463ffffffff91909116906119ab906001600160801b031685612927565b6105989190612861565b5f61052182610efc855b5f5f6119c9611e67565b80549091506105989084906119ec90600160c01b900463ffffffff16600161293a565b63ffffffff16611b0b565b600881901c5f90815260209290925260409091208054600160ff9093169290921b9091179055565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526106f2908490611fec565b7f0958201b72d64259285941dffd868dac55267471fcc73e8a06e1fd9cf870636190565b5f610524611aa283611f49565b6005015463ffffffff1690565b5f611ab8611e67565b5461052490600160a01b900463ffffffff1683612861565b5f5f611ada611e67565b805490915063ffffffff600160801b820416906119ab906001600160801b031685612927565b5f6105218284612927565b5f6105218284612874565b5f617a694614808015611b3d5750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15155b15611c0b5760408051600481526024810182526020810180516001600160e01b0316631f6d6ef760e01b17905290515f918291737109709ecfa91a80626ff3989d68f67f5b1dd12d91611b8f91612956565b5f60405180830381855afa9150503d805f8114611bc7576040519150601f19603f3d011682016040523d82523d5f602084013e611bcc565b606091505b5091509150818015611be057506020815110155b15611c015780806020019051810190611bf991906128d0565b935050505090565b6001935050505090565b4a5b91505090565b5f5f5f90505f611c268460200151612055565b66ffffffffffffff16901b811790506038611c43845f0151612055565b66ffffffffffffff16901b176105988161208c565b5f610524826120bf565b604080518082019091525f8082526020820152506040805180820190915266ffffffffffffff603883901c81168252909116602082015290565b5f611cc9611ca9836120ef565b8015611cc457505f8480611cbf57611cbf61284d565b868809115b151590565b611cd486868661211b565b611cde9190612874565b95945050505050565b611d0e60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060800160405280611d298460c01c63ffffffff1690565b8152602001611d418460401c6001600160801b031690565b81526020016001600160401b0384168152602001611d638460e01c61ffff1690565b905292915050565b5f5f5f9050611d7d83604001516121d1565b6001600160401b0316811790506040611d998460200151612206565b6001600160801b0316901b8117905060c0611db6845f01516120bf565b63ffffffff16901b8117905060e0611dd18460600151612239565b61ffff16901b1792915050565b5f828218828410028218610521565b5f60018280611e18576040516372e1574f60e01b815260048101929092526024820152604401610852565b505f9050611e27836002612836565b905063ffffffff8181811115611e5e576040516303fd5c0b60e41b815263ffffffff90921660048301526024820152604401610852565b50909392505050565b7fcc2bde3d21ba778aa5c156bb6fc47381978b0054c8a1ef73f44234164324cbe090565b5f5f8212611ead57611e9c82612267565b611ea69084612874565b9050610524565b60ff82901d8083011880841115611ed057611ec88185612927565b915050610524565b505f9392505050565b5f5f611ee36114b6565b90505f611efc825f015460401c6001600160801b031690565b90505f611f1385611f0e846064612836565b611dde565b9050611cde611f29845f015460e01c61ffff1690565b611f3590612710612874565b611f4290620186a0612836565b828461228c565b5f5f611f5d611f56611a71565b5460801c90565b90505f611f686122f7565b90505f611f758286612874565b90505f838611158015611f8757508184105b905085848383611fbb57604051638711786b60e01b8152600481019390935260248301919091526044820152606401610852565b505050611fc6611a71565b6002015f611fd4858961296c565b81526020019081526020015f20945050505050919050565b5f5f60205f8451602086015f885af18061200b576040513d5f823e3d81fd5b50505f513d9150811561202257806001141561202f565b6001600160a01b0384163b155b1561204f5783604051635274afe760e01b81526004016108529190612465565b50505050565b5f66ffffffffffffff821115612088576040516306dfcc6560e41b81526038600482015260248101839052604401610852565b5090565b5f6001600160701b03821115612088576040516306dfcc6560e41b81526070600482015260248101839052604401610852565b5f63ffffffff821115612088576040516306dfcc6560e41b81526020600482015260248101839052604401610852565b5f60028260038111156121045761210461297f565b61210e9190612993565b60ff166001149050919050565b5f838302815f1985870982811083820303915050805f0361214f578382816121455761214561284d565b0492505050610598565b80841161216657612166600385150260111861230b565b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b5f6001600160401b0382111561208857604080516306dfcc6560e41b8152600481019190915260248101839052604401610852565b5f6001600160801b03821115612088576040516306dfcc6560e41b81526080600482015260248101839052604401610852565b5f61ffff821115612088576040516306dfcc6560e41b81526010600482015260248101839052604401610852565b5f5f82121561208857604051635467221960e11b815260048101839052602401610852565b5f6001818061229b8588612836565b90505b80156122e2576122ae8183612874565b91506122ba8386612836565b6122c48783612836565b6122ce9190612861565b90506122db600184612874565b925061229e565b6122ec8583612861565b979650505050505050565b5f61230061231c565b6105b3906001612874565b634e487b715f52806020526024601cfd5b5f5f612326611e67565b805490915061234390600160c01b900463ffffffff166001612874565b8154611c0d9190600160a01b900463ffffffff16612836565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b610b81806129b583390190565b5f5f6040838503121561239e575f5ffd5b82359150602083013580151581146123b4575f5ffd5b809150509250929050565b5f602082840312156123cf575f5ffd5b5035919050565b6001600160a01b038116811461092f575f5ffd5b5f602082840312156123fa575f5ffd5b8135610598816123d6565b5f5f5f60608486031215612417575f5ffd5b83359250602084013591506040840135612430816123d6565b809150509250925092565b5f5f6040838503121561244c575f5ffd5b8235612457816123d6565b946020939093013593505050565b6001600160a01b0391909116815260200190565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b03811182821017156124af576124af612479565b60405290565b604051601f8201601f191681016001600160401b03811182821017156124dd576124dd612479565b604052919050565b80356124f0816123d6565b919050565b5f5f5f60608486031215612507575f5ffd5b8335612512816123d6565b925060208401356001600160401b0381111561252c575f5ffd5b8401601f8101861361253c575f5ffd5b80356001600160401b0381111561255557612555612479565b8060051b612565602082016124b5565b91825260208184018101929081019089841115612580575f5ffd5b6020850194505b838510156125a657843580835260209586019590935090910190612587565b80965050505050506125ba604085016124e5565b90509250925092565b5f5f604083850312156125d4575f5ffd5b82356125df816123d6565b915060208301356123b4816123d6565b5f5f60408385031215612600575f5ffd5b8235915060208301356123b4816123d6565b63ffffffff8116811461092f575f5ffd5b80356001600160601b03811681146124f0575f5ffd5b5f604082840312801561264a575f5ffd5b50604080519081016001600160401b038111828210171561266d5761266d612479565b604052823561267b81612612565b815261268960208401612623565b60208201529392505050565b5f602082840312156126a5575f5ffd5b813561ffff81168114610598575f5ffd5b5f60a08284031280156126c7575f5ffd5b5060405160a081016001600160401b03811182821017156126ea576126ea612479565b60405282356126f881612612565b8152602083013561270881612612565b6020820152604083013561271b81612612565b6040820152606083013561272e81612612565b6060820152608083013561274181612612565b60808201529392505050565b5f608082840312801561275e575f5ffd5b5061276761248d565b8235815260208084013590820152604080840135908201526060928301359281019290925250919050565b5f5f82840360a08112156127a4575f5ffd5b60808112156127b1575f5ffd5b506127ba61248d565b83356127c5816123d6565b815260208401356127d581612612565b602082015260408401356127e8816123d6565b60408201526127f960608501612623565b6060820152915060808301356123b4816123d6565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761052457610524612822565b634e487b7160e01b5f52601260045260245ffd5b5f8261286f5761286f61284d565b500490565b8082018082111561052457610524612822565b6001600160f81b038181168382168181029092169181830481148215176128b0576128b0612822565b505092915050565b5f600182016128c9576128c9612822565b5060010190565b5f602082840312156128e0575f5ffd5b5051919050565b5f600160ff1b82016128fb576128fb612822565b505f0390565b63ffffffff818116838216029081169081811461292057612920612822565b5092915050565b8181038181111561052457610524612822565b63ffffffff818116838216019081111561052457610524612822565b5f82518060208501845e5f920191825250919050565b5f8261297a5761297a61284d565b500690565b634e487b7160e01b5f52602160045260245ffd5b5f60ff8316806129a5576129a561284d565b8060ff8416069150509291505056fe610140604052348015610010575f5ffd5b50604051610b81380380610b8183398101604081905261002f91610143565b5f816080015163ffffffff1611610059576040516318dbcf2b60e21b815260040160405180910390fd5b5f816060015163ffffffff1611610083576040516318dbcf2b60e21b815260040160405180910390fd5b5f816020015163ffffffff16116100ad576040516318dbcf2b60e21b815260040160405180910390fd5b806080015163ffffffff16816060015163ffffffff1611156100e2576040516318dbcf2b60e21b815260040160405180910390fd5b6001600160a01b039091166080908152815163ffffffff90811660a0526020830151811660c0526040830151811660e0526060830151811661010052910151166101205261020d565b805163ffffffff8116811461013e575f5ffd5b919050565b5f5f82840360c0811215610155575f5ffd5b83516001600160a01b038116811461016b575f5ffd5b925060a0601f198201121561017e575f5ffd5b5060405160a081016001600160401b03811182821017156101ad57634e487b7160e01b5f52604160045260245ffd5b6040526101bc6020850161012b565b81526101ca6040850161012b565b60208201526101db6060850161012b565b60408201526101ec6080850161012b565b60608201526101fd60a0850161012b565b6080820152809150509250929050565b60805160a05160c05160e05161010051610120516108d36102ae5f395f8181610520015281816106800152818161071c015261077301525f81816104ec01528181610744015261079901525f81816104b801526106df01525f818161038a015281816104840152818161065801526106ab01525f8181610354015261045001525f818160b8015281816101a60152818161023b015261028f01526108d35ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80634fd90e56146100595780638e3356ce146100925780639611c5c2146100b3578063c3f909d4146100f2578063dfff3ebc14610159575b5f5ffd5b61006c6100673660046107d4565b61016c565b604080518251815260209283015163ffffffff1692810192909252015b60405180910390f35b6100a56100a03660046107d4565b61022f565b604051908152602001610089565b6100da7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610089565b6100fa610416565b60405161008991905f60a08201905063ffffffff835116825263ffffffff602084015116602083015263ffffffff604084015116604083015263ffffffff606084015116606083015263ffffffff608084015116608083015292915050565b6100a56101673660046107d4565b610551565b604080518082019091525f80825260208201526102295f5f846001600160a01b03166001600160a01b031681526020019081526020015f207f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b97dd9e26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610200573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022491906107fa565b61056d565b92915050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016811461028b5760405163fe671df560e01b81526001600160a01b0390911660048201526024015b60405180910390fd5b505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b97dd9e26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102e9573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030d91906107fa565b6001600160a01b0384165f908152602081905260408120919250610331828461056d565b805183549192506103479163ffffffff16141590565b156103f5576103b36103ae7f0000000000000000000000000000000000000000000000000000000000000000836020015163ffffffff166103889190610825565b7f0000000000000000000000000000000000000000000000000000000000000000610605565b610617565b825463ffffffff91909116600160201b0267ffffffff000000001990911617825580516103df9061064b565b825463ffffffff191663ffffffff919091161782555b815461040d90600160201b900463ffffffff16610655565b95945050505050565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091526040518060a001604052806104747f0000000000000000000000000000000000000000000000000000000000000000610617565b63ffffffff1681526020016104a87f0000000000000000000000000000000000000000000000000000000000000000610617565b63ffffffff1681526020016104dc7f0000000000000000000000000000000000000000000000000000000000000000610617565b63ffffffff1681526020016105107f0000000000000000000000000000000000000000000000000000000000000000610617565b63ffffffff1681526020016105447f0000000000000000000000000000000000000000000000000000000000000000610617565b63ffffffff169052919050565b5f61022961055e8361016c565b6020015163ffffffff16610655565b604080518082019091525f808252602082015282545f9063ffffffff166105949084610838565b6105a190620186a061084b565b604080518082019091528481528554919250906020820190600160201b900463ffffffff1683116105f3576105d583610617565b86546105ee9190600160201b900463ffffffff16610862565b6105f5565b5f5b63ffffffff169052949350505050565b5f8282188284100282185b9392505050565b5f63ffffffff821115610647576040516306dfcc6560e41b81526020600482015260248101839052604401610282565b5090565b5f61022982610617565b5f7f000000000000000000000000000000000000000000000000000000000000000082106106a457507f0000000000000000000000000000000000000000000000000000000000000000919050565b5f6106cf837f0000000000000000000000000000000000000000000000000000000000000000610838565b90505f6402540be40082610703817f000000000000000000000000000000000000000000000000000000000000000061084b565b61070d919061084b565b610717919061087e565b9050807f0000000000000000000000000000000000000000000000000000000000000000101561076a57507f00000000000000000000000000000000000000000000000000000000000000009392505050565b6107bd610797827f0000000000000000000000000000000000000000000000000000000000000000610838565b7f00000000000000000000000000000000000000000000000000000000000000006107c5565b949350505050565b5f828218828411028218610610565b5f602082840312156107e4575f5ffd5b81356001600160a01b0381168114610610575f5ffd5b5f6020828403121561080a575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561022957610229610811565b8181038181111561022957610229610811565b808202811582820484141761022957610229610811565b63ffffffff828116828216039081111561022957610229610811565b5f8261089857634e487b7160e01b5f52601260045260245ffd5b50049056fea264697066735822122036a2966f46b9c90f837b54cb23afe8fceffae61c90e86ea8fb890a9392426bfd64736f6c634300081e0033a26469706673582212203f9662d5c64306fa06440daae80d3d0d23e60fc053ef47519013e5759de6dd6864736f6c634300081e0033","sourceMap":"1085:7034:113:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6693:220;;;;;;:::i;:::-;;:::i;:::-;;;;;;697:13:184;;679:32;;767:4;755:17;;;749:24;727:20;;;720:54;830:4;818:17;;;812:24;790:20;;;783:54;893:4;881:17;;;875:24;853:20;;;846:54;;;;666:3;651:19;;446:460;6693:220:113;;;;;;;;7475:181;;;;;;:::i;:::-;;:::i;:::-;;;1335:25:184;;;1323:2;1308:18;7475:181:113;1142:224:184;3322:223:113;;;;;;;;;;-1:-1:-1;3322:223:113;;;;;:::i;:::-;;:::i;:::-;;5587:189;;;;;;:::i;:::-;;:::i;:::-;;;2452:14:184;;2445:22;2427:41;;2415:2;2400:18;5587:189:113;2279:195:184;5780:141:113;;;;;;:::i;:::-;;:::i;6475:130::-;;;:::i;:::-;;;;;;;:::i;5412:171::-;;;;;;:::i;:::-;;:::i;4265:189::-;;;;;;;;;;-1:-1:-1;4265:189:113;;;;;:::i;:::-;;:::i;7033:153::-;;;;;;:::i;:::-;;:::i;2522:81::-;;;;;;;;;;;;;:::i;5248:160::-;;;;;;:::i;:::-;;:::i;4093:168::-;;;;;;;;;;-1:-1:-1;4093:168:113;;;;;:::i;:::-;;:::i;7339:132::-;;;;;;:::i;:::-;;:::i;:::-;;;;6740:13:184;;6722:32;;6810:4;6798:17;;;6792:24;6770:20;;;6763:54;;;;6695:18;7339:132:113;6512:311:184;7778:190:113;;;;;;:::i;:::-;;:::i;4794:182::-;;;;;;:::i;:::-;;:::i;5925:112::-;;;:::i;5104:140::-;;;;;;:::i;:::-;;:::i;2358:160::-;;;;;;;;;;-1:-1:-1;2358:160:113;;;;;:::i;:::-;;:::i;3096:222::-;;;;;;;;;;-1:-1:-1;3096:222:113;;;;;:::i;:::-;;:::i;4458:235::-;;;;;;;;;;-1:-1:-1;4458:235:113;;;;;:::i;:::-;;:::i;7190:145::-;;;;;;:::i;:::-;;:::i;6163:140::-;;;:::i;3849:240::-;;;;;;;;;;-1:-1:-1;3849:240:113;;;;;:::i;:::-;;:::i;6917:112::-;;;;;;:::i;:::-;;:::i;4980:120::-;;;;;;:::i;:::-;;:::i;7972:145::-;;;;;;:::i;:::-;;:::i;2747:345::-;;;;;;;;;;-1:-1:-1;2747:345:113;;;;;:::i;:::-;;:::i;1501:218::-;;;;;;;;;;-1:-1:-1;1501:218:113;;;;;:::i;:::-;;:::i;6041:118::-;;;:::i;:::-;;;;12610:13:184;;-1:-1:-1;;;;;12606:39:184;;;12588:58;;12706:4;12694:17;;;12688:24;12714:10;12684:41;12662:20;;;12655:71;12774:17;;;12768:24;12764:50;12742:20;;;12735:80;;;;12875:4;12863:17;;;12857:24;-1:-1:-1;;;;;12853:57:184;12831:20;;;12824:87;;;;12575:3;12560:19;6041:118:113;12371:546:184;2607:136:113;;;;;;;;;;-1:-1:-1;2607:136:113;;;;;:::i;:::-;;:::i;7660:114::-;;;:::i;6693:220::-;6803:27;;:::i;:::-;6847:61;6884:10;6896:11;6847:36;:61::i;:::-;6840:68;;6693:220;;;;;:::o;7475:181::-;7564:17;7596:55;7633:17;7596:36;:55::i;3322:223::-;3393:20;3416:48;3453:10;3416:36;:48::i;:::-;3475:65;;;-1:-1:-1;;;;;13595:32:184;;;13577:51;;13664:32;;13659:2;13644:18;;13637:60;3393:71:113;;-1:-1:-1;3475:65:113;;13550:18:184;3475:65:113;;;;;;;;3387:158;3322:223;:::o;5587:189::-;5692:4;5711:60;5746:6;5754:7;5763;5711:34;:60::i;:::-;5704:67;;5587:189;;;;;;:::o;5780:141::-;5857:4;5876:40;5900:7;5909:6;5876:23;:40::i;6475:130::-;6538:7;6560:40;:38;:40::i;:::-;6553:47;;6475:130;:::o;5412:171::-;5508:4;5527:51;5553:6;5561:7;5570;5527:25;:51::i;4265:189::-;4370:7;4392:57;4421:7;4430;4439:9;4392:28;:57::i;7033:153::-;7114:5;7134:47;7163:17;7134:28;:47::i;2522:81::-;2569:29;:27;:29::i;:::-;2522:81::o;5248:160::-;5329:7;5351:52;5396:6;5351:44;:52::i;4093:168::-;4180:7;4202:54;4234:10;4246:9;4202:31;:54::i;7339:132::-;-1:-1:-1;;;;;;;;;;;;;;;;;7436:30:113;7455:10;7436:18;:30::i;7778:190::-;7877:13;7905:58;7947:15;7905:30;:28;:30::i;:::-;:41;;:58::i;4794:182::-;4890:7;4912:59;4955:6;4963:7;4912:42;:59::i;5925:112::-;5979:7;6001:31;:29;:31::i;5104:140::-;5176:7;5198:41;5228:10;5198:29;:41::i;2358:160::-;2431:31;2454:7;2431:22;:31::i;:::-;2473:40;;;13952:13:184;;13967:10;13948:30;13930:49;;14039:4;14027:17;;;14021:24;-1:-1:-1;;;;;14017:57:184;13995:20;;;13988:87;2473:40:113;;13903:18:184;2473:40:113;;;;;;;2358:160;:::o;3096:222::-;3158:12;3172:13;3189:36;3220:4;3189:30;:36::i;:::-;3157:68;;;;3235:7;3231:83;;;3257:50;;;14286:6:184;14274:19;;;14256:38;;14330:19;;14325:2;14310:18;;14303:47;3257:50:113;;14229:18:184;3257:50:113;;;;;;;3231:83;3151:167;;3096:222;:::o;4458:235::-;4539:12;4559:21;4629:4;4637:7;4583:62;;;;;:::i;:::-;-1:-1:-1;;;;;14655:32:184;;;14637:51;;14728:13;;14743:10;14724:30;;;14719:2;14704:18;;;14697:58;;;;14801:15;;14795:22;14791:39;;14786:2;14771:18;;;14764:67;;;;14877:15;;14871:22;14867:39;;14862:2;14847:18;;;14840:67;;;;14954:15;;14948:22;14944:39;;14938:3;14923:19;;;14916:68;;;;15031:16;;;15025:23;15021:40;14675:3;15000:19;;14993:69;14624:3;14609:19;4583:62:113;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4559:86:113;4458:235;-1:-1:-1;;;4458:235:113:o;7190:145::-;7266:7;7288:42;7312:17;7288:23;:42::i;6163:140::-;6218:18;6251:22;:20;:22::i;:::-;:29;;:47;-1:-1:-1;;;;;6251:47:113;;6163:140;-1:-1:-1;6163:140:113:o;3849:240::-;3926:21;3950:51;3989:11;3950:38;:51::i;:::-;4012:72;;;-1:-1:-1;;;;;13595:32:184;;;13577:51;;13664:32;;13659:2;13644:18;;13637:60;3926:75:113;;-1:-1:-1;4012:72:113;;13550:18:184;4012:72:113;13403:300:184;6917:112:113;6979:4;6998:26;7020:3;6998:21;:26::i;4980:120::-;5042:7;5064:31;5087:7;5064:22;:31::i;7972:145::-;8058:7;8080:32;8100:11;8080:19;:32::i;2747:345::-;2809:25;2837:42;:19;:17;:19::i;:::-;:26;3653:3:97;3601:55;3334:10;3600:72;;3490:187;2837:42:113;2809:70;-1:-1:-1;2809:70:113;2893:11;:32;;;;2885:107;;;;-1:-1:-1;;;2885:107:113;;;;;15247:25:184;;;;15288:18;;;15281:34;15220:18;;2885:107:113;;;;;;;;;;;2998:36;3022:11;2998:23;:36::i;:::-;3045:42;;3075:11;;3045:42;;;;;2803:289;2747:345;:::o;1501:218::-;1607:35;1634:7;1607:26;:35::i;:::-;1648:66;1687:26;1648:38;:66::i;6041:118::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6125:22:113;:20;:22::i;:::-;6118:36;;;;;;;;6125:29;;;6118:36;-1:-1:-1;;;;;6118:36:113;;;;;-1:-1:-1;;;6118:36:113;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6118:36:113;;;;;;;-1:-1:-1;6041:118:113:o;2607:136::-;2686:52;2718:19;2686:31;:52::i;:::-;2607:136;:::o;7660:114::-;7716:8;7739:30;:28;:30::i;27317:329:111:-;27427:27;;:::i;:::-;27464:28;27495:54;27538:10;27495:42;:54::i;:::-;27464:85;;27562:79;27595:20;27617:10;27629:11;27562:32;:79::i;:::-;27555:86;27317:329;-1:-1:-1;;;;27317:329:111:o;17084:208:108:-;17173:17;17228:58;:38;17248:17;17228:19;:38::i;:::-;3126:2:98;3074:54;2444:14;3073:71;;2959:190;5086:353:114;5160:20;-1:-1:-1;;;;;5196:24:114;;5188:82;;;;-1:-1:-1;;;5188:82:114;;;;;;;;;;;;5276:35;5314:12;:10;:12::i;:::-;5347:34;;;;-1:-1:-1;;;;;5387:47:114;;;-1:-1:-1;;;;;;5387:47:114;;;;;;5347:34;;;;;5086:353;-1:-1:-1;;5086:353:114:o;13117:213::-;13222:4;13241:12;:10;:12::i;:::-;:33;;;;:25;;;;:33;;;;;;;;:51;;;:42;;;:51;;;;;-1:-1:-1;;;;;13241:74:114;;;;;;:65;;:74;;;-1:-1:-1;13241:74:114;;:84;-1:-1:-1;;;13241:84:114;;;;;13117:213::o;13334:162::-;13411:4;13430:61;13483:6;13430:12;:10;:12::i;:::-;-1:-1:-1;;;;;13430:35:114;;;;;;:26;;;;;:35;;;;;;:39;:61::i;13743:128::-;13806:7;13828:12;:10;:12::i;:::-;:38;;;-1:-1:-1;;;;;13828:38:114;;13743:128;-1:-1:-1;13743:128:114:o;12908:205::-;13004:4;13107:1;13023:12;:10;:12::i;:::-;:33;;;;:25;;;;:33;;;;;;;;:51;;;:42;;;:51;;;;;-1:-1:-1;;;;;13023:74:114;;;;;;:65;;:74;;;-1:-1:-1;13023:74:114;;:81;-1:-1:-1;;;;;13023:81:114;:85;;12908:205::o;6490:1130::-;6595:7;6610:18;6631:52;6646:15;6631:50;:52::i;:::-;6610:73;;6690:35;6728:12;:10;:12::i;:::-;6690:50;-1:-1:-1;6747:26:114;;6783:701;6807:7;:14;6803:1;:18;6783:701;;;6854:49;6890:12;6854:7;6862:1;6854:10;;;;;;;;:::i;:::-;;;;;;;:35;;:49;;;;:::i;:::-;6853:50;6944:28;:7;6952:1;6944:10;;;;;;;;:::i;:::-;;;;;;;:26;:28::i;:::-;6974:12;6836:159;;;;;;-1:-1:-1;;;6836:159:114;;;;;15247:25:184;;;;15288:18;;;15281:34;15220:18;;6836:159:114;15073:248:184;6836:159:114;;;7008:66;7062:7;7070:1;7062:10;;;;;;;;:::i;:::-;;;;;;;7008:13;:27;;:36;7036:7;-1:-1:-1;;;;;7008:36:114;-1:-1:-1;;;;;7008:36:114;;;;;;;;;;;;:40;;:66;;;;:::i;:::-;7086:8;7004:99;7110:66;7164:7;7172:1;7164:10;;;;;;;;:::i;:::-;;;;;;;7110:13;:27;;:36;7138:7;-1:-1:-1;;;;;7110:36:114;-1:-1:-1;;;;;7110:36:114;;;;;;;;;;;;:40;;:66;;;;:::i;:::-;7185:22;7210:13;:26;;:38;7237:7;7245:1;7237:10;;;;;;;;:::i;:::-;;;;;;;;;;;;7210:38;;;;;;;;;;;;;-1:-1:-1;7210:38:114;;;7296:21;;-1:-1:-1;;;;;7296:21:114;7285:33;;:10;;;;:33;;;;;-1:-1:-1;;;;;7343:25:114;;;;:16;;;:25;;;;;;:32;7210:38;;-1:-1:-1;;;;;;7343:32:114;7387:10;;7383:95;;7453:15;;7441:9;;7432:18;;-1:-1:-1;;;7441:9:114;;-1:-1:-1;;;;;7441:9:114;7432:6;:18;:::i;:::-;:36;;;;:::i;:::-;7409:60;;;;:::i;:::-;;;7383:95;6828:656;;;6783:701;6823:3;;6783:701;;;-1:-1:-1;7494:22:114;;7490:94;;7526:51;-1:-1:-1;;;;;7526:22:114;;7549:7;7558:18;7526:22;:51::i;:::-;7597:18;6490:1130;-1:-1:-1;;;;;;6490:1130:114:o;21264:386:116:-;21345:5;21358:31;21392:19;:17;:19::i;:::-;21453:16;;;;-1:-1:-1;693:3:96;641:55;21432:50:116;;;;;21417:167;;;;-1:-1:-1;;;21417:167:116;;;;;15247:25:184;;;;15288:18;;;15281:34;15220:18;;21417:167:116;15073:248:184;21417:167:116;;;21597:48;:32;21611:17;21597:13;:32::i;:::-;:46;:48::i;12562:620:108:-;12609:9;12621:51;12636:15;12621:49;:51::i;:::-;12609:63;;12738:25;12766:12;:10;:12::i;:::-;12807:26;;;:39;:26;;-1:-1:-1;12785:19:108;;12807:71;;-1:-1:-1;;;12807:39:108;;;;12863:14;6750:1;6795;12863:14;:::i;:::-;12807:71;:::i;:::-;12785:93;-1:-1:-1;;;;12885:48:108;;;12920:7;;;12562:620::o;12885:48::-;12968:209;;;;;;;;12999:26;;;:31;-1:-1:-1;;;12999:31:108;;-1:-1:-1;;;;;12999:31:108;12968:209;;13044:70;;;;;;;;13064:13;13044:70;;12968:209;;;;;;13044:81;;:70;;13088:24;:22;:24::i;:::-;13044:70;;:79;:81::i;:::-;-1:-1:-1;;;;;12968:209:108;;;;;13147:23;13148:10;:4;6795:1;13148:10;:::i;:::-;13147:21;:23::i;:::-;12968:209;;;;;;;12939:238;;:26;;;;:238;;;;;;;;;;;;;;-1:-1:-1;;;12939:238:108;-1:-1:-1;;;;;;;;;;12939:238:108;;;-1:-1:-1;;;12939:238:108;-1:-1:-1;;;;;;12939:238:108;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12562:620:108:o;12602:149:114:-;12683:7;12705:12;:10;:12::i;:::-;:33;;;;:25;;:33;;-1:-1:-1;12705:33:114;;;:41;-1:-1:-1;;;12705:41:114;;-1:-1:-1;;;;;12705:41:114;;12602:149::o;6111:375::-;6198:7;6213:35;6251:12;:10;:12::i;:::-;-1:-1:-1;;;;;6286:42:114;;6269:14;6286:42;;;;;;;;;;;6213:50;;-1:-1:-1;6339:10:114;;6335:127;;-1:-1:-1;;;;;6359:42:114;;;6404:1;6359:42;;;;;;;;;;:46;6413:42;;:22;;6390:10;6448:6;6413:22;:42::i;13953:338:108:-;-1:-1:-1;;;;;;;;;;;;;;;;;14043:25:108;14071:12;:10;:12::i;:::-;14043:40;;14096:85;:30;:10;:28;:30::i;:::-;14129:26;;;:39;-1:-1:-1;;;14129:39:108;;;;:52;-1:-1:-1;1759:33:182;1694:101;14096:85:108;:190;;14242:26;;;:31;:44;;-1:-1:-1;;;14242:31:108;;-1:-1:-1;;;;;14242:31:108;:42;:44::i;:::-;14096:190;;;14190:26;;;:30;:43;;-1:-1:-1;;;;;14190:30:108;:41;:43::i;16812:127::-;16868:8;16891:43;:12;:10;:12::i;:::-;:19;-1:-1:-1;;;;;4019:63:97;;3886:202;2850:334;2948:13;3002:171;3039:9;1062:4;3121:15;3147:18;3002:11;:171::i;13875:661:114:-;13971:7;13986:35;14024:12;:10;:12::i;:::-;-1:-1:-1;;;;;14047:36:114;;;;;;:27;;;:36;;;;;13986:50;;-1:-1:-1;14047:62:114;;14101:6;14047:40;:62::i;:::-;14043:91;;;14126:1;14119:8;;;;;14043:91;14140:23;14166:34;;;:26;;;;:34;;;;;;;;14247:22;;-1:-1:-1;;;;;14247:22:114;14235:35;;:11;;;:35;;;;;-1:-1:-1;;;;;14391:25:114;;;;:16;;;:25;;;;;:32;14166:34;;-1:-1:-1;;;;;14391:32:114;;;:37;;14387:66;;14445:1;14438:8;;;;;;;14387:66;14515:15;;14502:10;;-1:-1:-1;;;;;14467:25:114;;14515:15;14467:25;;;:16;;;:25;;;;;:32;:45;;-1:-1:-1;;;14502:10:114;;-1:-1:-1;;;;;14502:10:114;;-1:-1:-1;;;;;14467:32:114;:45;:::i;:::-;-1:-1:-1;;;;;14467:63:114;;;;;:::i;13500:117::-;13554:7;13576:12;:10;:12::i;:::-;:36;;;-1:-1:-1;;;13576:36:114;;-1:-1:-1;;;;;13576:36:114;;;-1:-1:-1;13500:117:114:o;12458:140::-;12530:7;12552:12;:10;:12::i;:::-;-1:-1:-1;;;;;12552:41:114;;;:29;:41;;;;;;;;-1:-1:-1;12552:41:114;;;;;12458:140::o;5749:358::-;5866:6;5841:7;:20;;;5830:42;;;;5822:92;;;;-1:-1:-1;;;5822:92:114;;;;;;;;;;;;5920:35;5958:12;:10;:12::i;:::-;6012:20;;5976;;;:56;;-1:-1:-1;;;;5976:56:114;-1:-1:-1;;;5976:56:114;;;;;;;;;6078:24;;;;;6038:37;;;;:64;;-1:-1:-1;;;;;6038:64:114;-1:-1:-1;;;;;6038:64:114;;;;;;;;;;-1:-1:-1;5749:358:114:o;11528:1030:108:-;11592:12;11606:13;11627:25;11655:12;:10;:12::i;:::-;11627:40;;11673:23;11699:28;:8;:15;;;:26;:28::i;:::-;11673:54;;11750:6;:27;;;11734:44;;11797:6;11789:14;;:4;:14;;;11785:57;;11821:5;11813:22;;;;11528:1030;;;:::o;11785:57::-;11859:6;11852:13;;:4;:13;;;11848:531;;;11905:33;;;;11875:19;;11897:80;;5688:7;;-1:-1:-1;;;11905:33:108;;-1:-1:-1;;;;;11905:33:108;11897:80;:::i;:::-;12002:33;;;;11875:102;;-1:-1:-1;;;;12002:33:108;;-1:-1:-1;;;;;12002:33:108;:38;;:72;;;12063:11;12044:15;:30;;12002:72;12125:11;11985:160;;;;;-1:-1:-1;;;11985:160:108;;;;;;1335:25:184;;1323:2;1308:18;;1142:224;11985:160:108;-1:-1:-1;5745:1:108;12240:24;12249:15;;;12240:6;:24;:::i;:::-;12239:57;;;;:::i;:::-;5796:1;12171:22;12180:13;;;12171:6;:22;:::i;:::-;12170:55;;;;:::i;:::-;:126;;12351:6;12359:4;12153:219;;;;;;-1:-1:-1;;;12153:219:108;;14286:6:184;14274:19;;;12153:219:108;;;14256:38:184;14330:19;;14310:18;;;14303:47;14229:18;;12153:219:108;14086:270:184;12153:219:108;;;11867:512;11848:531;12385:34;;;:27;;;:34;12443:17;12385:6;12443:15;:17::i;:::-;12425:35;;-1:-1:-1;12466:33:108;;:59;;-1:-1:-1;;;;12466:59:108;-1:-1:-1;;;12509:15:108;-1:-1:-1;;;;;12466:59:108;;;;;-1:-1:-1;;11528:1030:108;;-1:-1:-1;;;11528:1030:108:o;22412:818:116:-;22488:7;22503:31;22537:19;:17;:19::i;:::-;22579:16;;;;-1:-1:-1;;;;;;811:80:96;22628:21:116;;;;;:52;;;22674:6;22653:17;:27;;22628:52;22723:6;22731:17;22613:142;;;;;;-1:-1:-1;;;22613:142:116;;;;;15247:25:184;;;;15288:18;;;15281:34;15220:18;;22613:142:116;15073:248:184;22613:142:116;-1:-1:-1;22779:17:116;;-1:-1:-1;22762:215:116;22803:6;22798:1;:11;22762:215;;22824:23;22850:28;;;:25;;;:28;;;;;;22890:20;;22886:85;;22945:15;22412:818;-1:-1:-1;;;;;22412:818:116:o;22886:85::-;-1:-1:-1;22811:3:116;;;;:::i;:::-;;;;22762:215;;;-1:-1:-1;23164:61:116;;-1:-1:-1;;;23164:61:116;;;;;15247:25:184;;;15288:18;;;15281:34;;;15220:18;;23164:61:116;15073:248:184;14540:193:114;3396:33;;14540:193::o;4582:281::-;4659:21;4688:35;4726:12;:10;:12::i;:::-;4760:39;;;;-1:-1:-1;;;;;4805:53:114;;;-1:-1:-1;;;;;;4805:53:114;;;;;;4760:39;;;;;4582:281;-1:-1:-1;;4582:281:114:o;24600:458:116:-;24662:4;24674:31;24708:19;:17;:19::i;:::-;24761:16;;;;-1:-1:-1;;;;;;811:80:96;;24788:17:116;:4;693:3:96;641:55;;534:167;24788:17:116;:37;24784:70;;-1:-1:-1;24842:5:116;;24600:458;-1:-1:-1;;;24600:458:116:o;24784:70::-;24860:24;24887:43;24909:20;-1:-1:-1;;;;;811:80:96;;24928:1:116;24909:20;:::i;:::-;24887:21;:43::i;:::-;24860:70;;24936:18;24957:24;:3;:22;:24::i;:::-;24936:45;-1:-1:-1;24996:57:116;:18;24936:45;24996:43;:57::i;:::-;24995:58;;24600:458;-1:-1:-1;;;;;;24600:458:116:o;12316:138:114:-;12378:7;12400:12;:10;:12::i;:::-;:27;;;;;:49;;-1:-1:-1;;;12400:49:114;;-1:-1:-1;;;;;12400:27:114;;;;:40;;:49;;12441:7;;12400:49;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;19709:502:108:-;19795:7;20101:105;20163:11;:23;;;20138:11;:22;;;20110:11;:25;;;:50;;;;:::i;:::-;:76;;;;:::i;:::-;-1:-1:-1;;;;;20101:8:108;:105::i;21239:183::-;6848:30;;21239:183::o;9060:464::-;9183:29;9200:11;9183:16;:29::i;:::-;;9219:25;9247:12;:10;:12::i;:::-;9219:40;;9266:23;9292:28;:8;:15;;;:26;:28::i;:::-;9326:31;;;9266:54;-1:-1:-1;3599:3:108;9397:47;3657:11;9346;9397:47;:::i;:::-;:80;;;;:::i;:::-;9363:31;;;:114;9502:17;9363:6;9502:15;:17::i;:::-;9484:35;;;-1:-1:-1;;9060:464:108:o;3769:430:114:-;3883:6;3858:7;:20;;;3847:42;;;;3839:92;;;;-1:-1:-1;;;3839:92:114;;;;;;;;;;;;3937:35;3975:12;:10;:12::i;:::-;3993:30;;:20;;;:30;;;;;;;;-1:-1:-1;;;3993:30:114;;;-1:-1:-1;;;;;;3993:30:114;;;-1:-1:-1;;;;;3993:30:114;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3993:30:114;;;;;;;;;;;;-1:-1:-1;4125:34:114;;:69;;-1:-1:-1;;;;;;4125:69:114;-1:-1:-1;;;4125:69:114;;;3769:430::o;9528:1062:108:-;9607:25;9635:12;:10;:12::i;:::-;9607:40;;9653:23;9679:28;:8;:15;;;:26;:28::i;:::-;9748:25;;;;9653:54;;-1:-1:-1;9811:19:108;;4712:1;9846:33;;;;9838:113;;;;-1:-1:-1;;;9838:113:108;;;;;15247:25:184;;;;15288:18;;;15281:34;15220:18;;9838:113:108;15073:248:184;9838:113:108;-1:-1:-1;;9988:30:108;;;;9958:19;;9980:70;;4570:7;;-1:-1:-1;;;;;9988:30:108;9980:70;:::i;:::-;10071:30;;;;9958:92;;-1:-1:-1;;;;;;10071:30:108;:35;;:69;;;10129:11;10110:15;:30;;10071:69;10183:11;10056:145;;;;;-1:-1:-1;;;10056:145:108;;;;;;1335:25:184;;1323:2;1308:18;;1142:224;10056:145:108;-1:-1:-1;10255:31:108;4620:1;10255:7;:31;:::i;:::-;10223:28;4664:1;10223:4;:28;:::i;:::-;:63;;:138;;;;-1:-1:-1;10330:31:108;4664:1;10330:7;:31;:::i;:::-;10298:28;4620:1;10298:4;:28;:::i;:::-;:63;;10223:138;10408:7;10417:4;10208:220;;;;;;-1:-1:-1;;;10208:220:108;;;;;15247:25:184;;;;15288:18;;;15281:34;15220:18;;10208:220:108;15073:248:184;10208:220:108;-1:-1:-1;;10435:25:108;;;:47;;;10506:17;10435:6;10506:15;:17::i;:::-;10488:35;;-1:-1:-1;;;10529:30:108;;;;:56;;-1:-1:-1;;10529:56:108;10569:15;-1:-1:-1;;;;;10529:56:108;;;;-1:-1:-1;;9528:1062:108:o;20563:297:116:-;20653:7;20668:31;20702:19;:17;:19::i;:::-;20754:16;;20668:53;;-1:-1:-1;20783:33:116;20805:10;20783:21;:33::i;:::-;:72;;20838:17;:4;693:3:96;641:55;;534:167;20838:17:116;20783:72;;;-1:-1:-1;;;;;811:80:96;;20776:79:116;-1:-1:-1;;;20563:297:116:o;14295:2226:108:-;14436:27;;:::i;:::-;14473:25;14501:12;:10;:12::i;:::-;14473:40;;14520:18;14541:31;:8;:15;;;3653:3:97;3601:55;3334:10;3600:72;;3490:187;14541:31:108;14520:52;;14579:29;14614:26;14646:14;14675:21;14699:30;14718:10;14699:18;:30::i;:::-;14675:54;;14781:15;14903:4;:12;;;3708:7;3757:1;14860:40;;;;:::i;:::-;:55;;;;:::i;:::-;14843:12;;14810:45;;2993:7;14810:45;:::i;:::-;14809:107;;;;:::i;:::-;14781:135;;14964:55;14976:7;14985:1;14988:10;15000:18;14964:11;:55::i;:::-;14927:93;;14771:258;15097:339;15124:258;15151:140;3047:9;15207:4;:12;;;15221:20;:18;:20::i;:::-;:34;-1:-1:-1;;;15221:34:108;;;;15257:18;15151:11;:140::i;:::-;15307:1;15324:10;15350:18;15124:11;:258::i;:::-;15397:15;;-1:-1:-1;;;;;4019:63:97;12807:71:108;:::i;15097:339::-;15077:359;;15461:40;:20;15484:17;15461:40;:::i;:::-;15453:48;;14667:841;15514:35;15552:42;15572:21;15552:19;:42::i;:::-;15514:80;-1:-1:-1;15600:18:108;15627:103;2389:10:98;2697:63;;15645:31:108;:15;2932:2:98;2880:54;2444:14;2879:71;;2769:186;15645:31:108;:63;;;;:::i;:::-;15710:19;15718:10;15710:19;:::i;:::-;15627:17;:103::i;:::-;15600:130;;15736:29;15768:32;15789:10;15768:20;:32::i;:::-;15736:64;;15807:20;15834:149;15857:110;15885:5;15893:21;3348:3;15947:19;15857:11;:110::i;:::-;15978:5;15834:149;:::i;:::-;15807:176;;15990:32;16025:11;:139;;1062:4:97;16025:139:108;;;16045:59;16082:21;16045:36;:59::i;:::-;15990:174;;16178:338;;;;;;;;16419:38;16442:14;16419:11;:22;;:38;;;;:::i;:::-;16178:338;;;;;;;;;;16243:47;:20;16275:14;16243:31;:47::i;:::-;16178:338;;;;16332:44;:17;16361:14;16332:28;:44::i;:::-;16178:338;;16171:345;14295:2226;-1:-1:-1;;;;;;;;;;;;;;14295:2226:108:o;16881:167:116:-;16953:19;16987:46;17015:17;16987:27;:46::i;:::-;:56;;;;16881:167;-1:-1:-1;;16881:167:116:o;1028:217:64:-;1144:1;1135:10;;;1102:4;1206:20;;;;;;;;;;;1170:1;1184:4;1176:12;;1170:19;1206:27;:32;;1028:217;;;;:::o;5304:236:93:-;5369:5;5382:25;5410:12;:10;:12::i;:::-;5515:18;;5382:40;;-1:-1:-1;5493:40:93;;5515:18;-1:-1:-1;;;5515:18:93;;;;;-1:-1:-1;;;5493:19:93;;;:40;:::i;:::-;5471:17;;5447:87;;;;;;5448:40;;-1:-1:-1;;;;;5471:17:93;5465:2;5448:40;:::i;:::-;5447:87;;;;:::i;5175:125::-;5252:4;5271:24;:2;5276:19;5292:2;3348:439;3406:5;3419:25;3447:12;:10;:12::i;:::-;3750:27;;;;-1:-1:-1;3734:48:93;;:2;;3750:31;;-1:-1:-1;;;3750:27:93;;;;3780:1;3750:31;:::i;:::-;3739:43;;3734:48;:::i;1581:186:64:-;1677:1;1668:10;;;1651:14;1732:20;;;;;;;;;;;;:28;;1703:1;1717:4;1709:12;;;1703:19;;;;1732:28;;;;;1581:186::o;1219:160:46:-;1328:43;;;-1:-1:-1;;;;;18645:32:184;;1328:43:46;;;18627:51:184;18694:18;;;;18687:34;;;1328:43:46;;;;;;;;;;18600:18:184;;;;1328:43:46;;;;;;;;-1:-1:-1;;;;;1328:43:46;-1:-1:-1;;;1328:43:46;;;1301:71;;1321:5;;1301:19;:71::i;25754:188:116:-;5747:30;;25754:188::o;18020:167::-;18093:4;18112:70;:46;18140:17;18112:27;:46::i;:::-;:57;;;;;;979:137:180;5544:136:93;5599:5;5648:12;:10;:12::i;:::-;:26;5630:44;;-1:-1:-1;;;5648:26:93;;;;5642:2;5630:44;:::i;2588:208::-;2652:4;2664:25;2692:12;:10;:12::i;:::-;2772:18;;2664:40;;-1:-1:-1;2772:18:93;-1:-1:-1;;;2772:18:93;;;;2728:40;;-1:-1:-1;;;;;2751:17:93;2745:2;2728:40;:::i;1370:113:182:-;1419:4;1446:33;1476:2;1458;1446:33;:::i;1255:113::-;1304:4;1331:33;1361:2;1343;1331:33;:::i;2466:989:169:-;2515:7;2947:6;2930:13;:23;;2963:46;;;;-1:-1:-1;2983:22:169;;:26;;2963:46;2959:451;;;3152:43;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3152:43:169;-1:-1:-1;;;3152:43:169;;;3130:66;;3095:12;;;;3130:21;;:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3094:102;;;;3208:7;:28;;;;;3234:2;3219:4;:11;:17;;3208:28;3204:87;;;3266:4;3255:27;;;;;;;;;;;;:::i;:::-;3248:34;;;;;2466:989;:::o;3204:87::-;3402:1;3395:8;;;;;2466:989;:::o;2959:451::-;2425:17:104;3422:28:169;3415:35;;;2466:989;:::o;1685:277:98:-;1750:19;1777:13;1793:1;1777:17;;1846:1;1817:24;:5;:13;;;:22;:24::i;:::-;1809:33;;:38;;1800:47;;;;1899:2;1870:24;:5;:13;;;:22;:24::i;:::-;1862:33;;:39;;1853:48;1939:17;1853:48;1939:15;:17::i;518:145:180:-;571:14;620:37;650:5;620:17;:37::i;1966:322:98:-;-1:-1:-1;;;;;;;;;;;;;;;;;;2218:65:98;;;;;;;;;1298:16;2187:2;2178:11;;;;;2218:65;;2133:20;;;2218:65;;;;;1966:322::o;9351:238:61:-;9452:7;9506:76;9522:26;9539:8;9522:16;:26::i;:::-;:59;;;;;9580:1;9565:11;9552:25;;;;;:::i;:::-;9562:1;9559;9552:25;:29;9522:59;34914:9:62;34907:17;;34795:145;9506:76:61;9478:25;9485:1;9488;9491:11;9478:6;:25::i;:::-;:104;;;;:::i;:::-;9471:111;9351:238;-1:-1:-1;;;;;9351:238:61:o;4740:422:97:-;4825:16;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4825:16:97;4856:301;;;;;;;;5040:35;5054:20;3653:3;3601:55;3334:10;3600:72;;3490:187;5040:35;4856:301;;;;4971:49;4999:20;3858:2;3806:54;-1:-1:-1;;;;;3805:72:97;;3681:201;4971:49;4856:301;;;;-1:-1:-1;;;;;4019:63:97;;4856:301;;;;5105:45;5129:20;4265:3;4213:55;3284:6;4212:72;;4092:197;5105:45;4856:301;;4849:308;4740:422;-1:-1:-1;;4740:422:97:o;4293:443::-;4360:19;4387:13;4403:1;4387:17;;4427:54;4443:7;:26;;;4427:52;:54::i;:::-;-1:-1:-1;;;;;4419:63:97;4410:72;;;;4554:2;4505:44;:7;:32;;;:42;:44::i;:::-;-1:-1:-1;;;;;4497:53:97;:59;;4488:68;;;;4613:3;4579:29;:7;:18;;;:27;:29::i;:::-;4571:38;;:45;;4562:54;;;;4683:3;4639:39;:7;:28;;;:37;:39::i;:::-;4631:48;;:55;;4622:64;;4293:443;-1:-1:-1;;4293:443:97:o;3371:111:61:-;3429:7;3066:5;;;3463;;;3065:36;3060:42;;3455:20;2825:294;18427:403:108;18497:7;18570:1;18520:11;:15;18512:74;;;;-1:-1:-1;;;18512:74:108;;;;;15247:25:184;;;;15288:18;;;15281:34;15220:18;;18512:74:108;15073:248:184;18512:74:108;-1:-1:-1;18592:17:108;;-1:-1:-1;18612:15:108;:11;18626:1;18612:15;:::i;:::-;18592:35;-1:-1:-1;18723:16:108;18592:35;18710:29;;;;18702:100;;;;-1:-1:-1;;;18702:100:108;;19502:10:184;19490:23;;;18702:100:108;;;19472:42:184;19530:18;;;19523:34;19445:18;;18702:100:108;19299:264:184;18702:100:108;-1:-1:-1;18816:9:108;;18427:403;-1:-1:-1;;;18427:403:108:o;5861:189:93:-;937:31;;5861:189::o;21720:243:108:-;21786:7;21811:1;21805:2;:7;21801:54;;21834:14;:2;:12;:14::i;:::-;21829:19;;:2;:19;:::i;:::-;21822:26;;;;21801:54;2436:3:63;2431:8;;;2576;;;2575:17;21904:8:108;;;21900:44;;;21929:8;21934:3;21929:2;:8;:::i;:::-;21922:15;;;;;21900:44;-1:-1:-1;21957:1:108;;21720:243;-1:-1:-1;;;21720:243:108:o;17562:861::-;17635:7;17650:25;17678:12;:10;:12::i;:::-;17650:40;;17696:19;17718:45;:8;:15;;;3858:2:97;3806:54;-1:-1:-1;;;;;3805:72:97;;3681:201;17718:45:108;17696:67;-1:-1:-1;17929:23:108;17955:39;17964:10;17976:17;17696:67;17990:3;17976:17;:::i;:::-;17955:8;:39::i;:::-;17929:65;;18313:105;18339:41;:8;:15;;;4265:3:97;4213:55;3284:6;4212:72;;4092:197;18339:41:108;18330:50;;:6;:50;:::i;:::-;18329:58;;18384:3;18329:58;:::i;:::-;18389:15;18406:11;18313:15;:105::i;13583:541:116:-;13682:35;13727:15;13745:30;:12;:10;:12::i;:::-;:17;693:3:96;641:55;;534:167;13745:30:116;13727:48;;13781:12;13796:16;:14;:16::i;:::-;13781:31;-1:-1:-1;13819:18:116;13840:24;13781:31;13840:17;:24;:::i;:::-;13819:45;;13870:14;13908:7;13887:17;:28;;:52;;;;;13929:10;13919:7;:20;13887:52;13870:69;-1:-1:-1;14008:17:116;14027:7;14036:10;13870:69;13945:103;;;;-1:-1:-1;;;13945:103:116;;;;;19770:25:184;;;;19811:18;;;19804:34;;;;19854:18;;;19847:34;19743:18;;13945:103:116;19568:319:184;13945:103:116;;;;14062:12;:10;:12::i;:::-;:31;;:57;14094:24;14114:4;14094:17;:24;:::i;:::-;14062:57;;;;;;;;;;;14055:64;;;;;;13583:541;;;:::o;7686:720:46:-;7766:18;7794:19;7932:4;7929:1;7922:4;7916:11;7909:4;7903;7899:15;7896:1;7889:5;7882;7877:60;7989:7;7979:176;;8033:4;8027:11;8078:16;8075:1;8070:3;8055:40;8124:16;8119:3;8112:29;7979:176;-1:-1:-1;;8232:1:46;8226:8;8182:16;;-1:-1:-1;8258:15:46;;:68;;8310:11;8325:1;8310:16;;8258:68;;;-1:-1:-1;;;;;8276:26:46;;;:31;8258:68;8254:146;;;8382:5;8349:40;;-1:-1:-1;;;8349:40:46;;;;;;;;:::i;8254:146::-;7756:650;;7686:720;;:::o;13796:213:62:-;13852:6;13882:16;13874:24;;13870:103;;;13921:41;;-1:-1:-1;;;13921:41:62;;13952:2;13921:41;;;20190:36:184;20242:18;;;20235:34;;;20163:18;;13921:41:62;20009:266:184;13870:103:62;-1:-1:-1;13996:5:62;13796:213::o;10282:218::-;10339:7;-1:-1:-1;;;;;10362:25:62;;10358:105;;;10410:42;;-1:-1:-1;;;10410:42:62;;10441:3;10410:42;;;20190:36:184;20242:18;;;20235:34;;;20163:18;;10410:42:62;20009:266:184;15296:213:62;15352:6;15382:16;15374:24;;15370:103;;;15421:41;;-1:-1:-1;;;15421:41:62;;15452:2;15421:41;;;20190:36:184;20242:18;;;20235:34;;;20163:18;;15421:41:62;20009:266:184;29534:122:61;29602:4;29643:1;29631:8;29625:15;;;;;;;;:::i;:::-;:19;;;;:::i;:::-;:24;;29648:1;29625:24;29618:31;;29534:122;;;:::o;4996:4226::-;5078:14;5449:5;;;5078:14;-1:-1:-1;;5453:1:61;5449;5621:20;5694:5;5690:2;5687:13;5679:5;5675:2;5671:14;5667:34;5658:43;;;5796:5;5805:1;5796:10;5792:368;;6134:11;6126:5;:19;;;;;:::i;:::-;;6119:26;;;;;;5792:368;6285:5;6270:11;:20;6266:143;;6310:84;3066:5;6330:16;;3065:36;940:4:51;3060:42:61;6310:11;:84::i;:::-;6664:17;6799:11;6796:1;6793;6786:25;7199:12;7229:15;;;7214:31;;7348:22;;;;;8094:1;8075;:15;;8074:21;;8327;;;8323:25;;8312:36;8397:21;;;8393:25;;8382:36;8469:21;;;8465:25;;8454:36;8540:21;;;8536:25;;8525:36;8613:21;;;8609:25;;8598:36;8687:21;;;8683:25;;;8672:36;7597:12;;;;7593:23;;;7618:1;7589:31;6913:20;;;6902:32;;;7709:12;;;;6960:21;;;;7446:16;;;;7700:21;;;;9163:15;;;;;-1:-1:-1;;4996:4226:61;;;;;:::o;13296:213:62:-;13352:6;-1:-1:-1;;;;;13374:24:62;;13370:103;;;13452:2;13421:41;;-1:-1:-1;;;13421:41:62;;;;;20190:36:184;;;;20242:18;;;20235:34;;;20163:18;;13421:41:62;20009:266:184;9264:218:62;9321:7;-1:-1:-1;;;;;9344:25:62;;9340:105;;;9392:42;;-1:-1:-1;;;9392:42:62;;9423:3;9392:42;;;20190:36:184;20242:18;;;20235:34;;;20163:18;;9392:42:62;20009:266:184;16296:213:62;16352:6;16382:16;16374:24;;16370:103;;;16421:41;;-1:-1:-1;;;16421:41:62;;16452:2;16421:41;;;20190:36:184;20242:18;;;20235:34;;;20163:18;;16421:41:62;20009:266:184;17171:193:62;17227:7;17258:1;17250:5;:9;17246:81;;;17282:34;;-1:-1:-1;;;17282:34:62;;;;;1335:25:184;;;1308:18;;17282:34:62;1142:224:184;24089:440:108;24195:7;24222:1;24195:7;;24284:22;24294:12;24284:7;:22;:::i;:::-;24253:53;;24312:179;24319:24;;24312:179;;24353:30;24363:20;24353:30;;:::i;:::-;;-1:-1:-1;24453:16:108;24468:1;24453:12;:16;:::i;:::-;24415:33;24438:10;24415:20;:33;:::i;:::-;24414:56;;;;:::i;:::-;24391:79;-1:-1:-1;24478:6:108;24483:1;24478:6;;:::i;:::-;;;24312:179;;;24503:21;24512:12;24503:6;:21;:::i;:::-;24496:28;24089:440;-1:-1:-1;;;;;;;24089:440:108:o;11736:202:116:-;11785:7;11897:32;:30;:32::i;:::-;:36;;11932:1;11897:36;:::i;1776:194:51:-;1881:10;1875:4;1868:24;1918:4;1912;1905:18;1949:4;1943;1936:18;4672:203:93;4729:7;4744:25;4772:12;:10;:12::i;:::-;4837:27;;;;-1:-1:-1;4829:40:93;;-1:-1:-1;;;4837:27:93;;;;4868:1;4829:40;:::i;:::-;4805:19;;4797:73;;;-1:-1:-1;;;4805:19:93;;;;4797:73;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;14:427:184:-;111:6;119;172:2;160:9;151:7;147:23;143:32;140:52;;;188:1;185;178:12;140:52;233:23;;;-1:-1:-1;332:2:184;317:18;;304:32;374:15;;367:23;355:36;;345:64;;405:1;402;395:12;345:64;428:7;418:17;;;14:427;;;;;:::o;911:226::-;970:6;1023:2;1011:9;1002:7;998:23;994:32;991:52;;;1039:1;1036;1029:12;991:52;-1:-1:-1;1084:23:184;;911:226;-1:-1:-1;911:226:184:o;1371:131::-;-1:-1:-1;;;;;1446:31:184;;1436:42;;1426:70;;1492:1;1489;1482:12;1507:247;1566:6;1619:2;1607:9;1598:7;1594:23;1590:32;1587:52;;;1635:1;1632;1625:12;1587:52;1674:9;1661:23;1693:31;1718:5;1693:31;:::i;1759:515::-;1864:6;1872;1880;1933:2;1921:9;1912:7;1908:23;1904:32;1901:52;;;1949:1;1946;1939:12;1901:52;1994:23;;;-1:-1:-1;2114:2:184;2099:18;;2086:32;;-1:-1:-1;2196:2:184;2181:18;;2168:32;2209:33;2168:32;2209:33;:::i;:::-;2261:7;2251:17;;;1759:515;;;;;:::o;2479:395::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;2838:2;2823:18;;;;2810:32;;-1:-1:-1;;;2479:395:184:o;2879:211::-;-1:-1:-1;;;;;3051:32:184;;;;3033:51;;3021:2;3006:18;;2879:211::o;3095:127::-;3156:10;3151:3;3147:20;3144:1;3137:31;3187:4;3184:1;3177:15;3211:4;3208:1;3201:15;3227:252;3299:2;3293:9;3341:3;3329:16;;-1:-1:-1;;;;;3360:34:184;;3396:22;;;3357:62;3354:88;;;3422:18;;:::i;:::-;3458:2;3451:22;3227:252;:::o;3484:275::-;3555:2;3549:9;3620:2;3601:13;;-1:-1:-1;;3597:27:184;3585:40;;-1:-1:-1;;;;;3640:34:184;;3676:22;;;3637:62;3634:88;;;3702:18;;:::i;:::-;3738:2;3731:22;3484:275;;-1:-1:-1;3484:275:184:o;3764:142::-;3840:20;;3869:31;3840:20;3869:31;:::i;:::-;3764:142;;;:::o;3911:1257::-;4057:6;4065;4073;4126:2;4114:9;4105:7;4101:23;4097:32;4094:52;;;4142:1;4139;4132:12;4094:52;4181:9;4168:23;4200:31;4225:5;4200:31;:::i;:::-;4250:5;-1:-1:-1;4306:2:184;4291:18;;4278:32;-1:-1:-1;;;;;4322:30:184;;4319:50;;;4365:1;4362;4355:12;4319:50;4388:22;;4441:4;4433:13;;4429:27;-1:-1:-1;4419:55:184;;4470:1;4467;4460:12;4419:55;4510:2;4497:16;-1:-1:-1;;;;;4528:6:184;4525:30;4522:56;;;4558:18;;:::i;:::-;4604:6;4601:1;4597:14;4631:28;4655:2;4651;4647:11;4631:28;:::i;:::-;4693:19;;;4737:2;4767:11;;;4763:20;;;4728:12;;;;4795:19;;;4792:39;;;4827:1;4824;4817:12;4792:39;4859:2;4855;4851:11;4840:22;;4871:202;4887:6;4882:3;4879:15;4871:202;;;4981:17;;5011:20;;;5060:2;4904:12;;;;4981:17;;-1:-1:-1;5051:12:184;;;;4871:202;;;5092:5;5082:15;;;;;;;5116:46;5158:2;5147:9;5143:18;5116:46;:::i;:::-;5106:56;;3911:1257;;;;;:::o;5840:404::-;5924:6;5932;5985:2;5973:9;5964:7;5960:23;5956:32;5953:52;;;6001:1;5998;5991:12;5953:52;6040:9;6027:23;6059:31;6084:5;6059:31;:::i;:::-;6109:5;-1:-1:-1;6166:2:184;6151:18;;6138:32;6179:33;6138:32;6179:33;:::i;7323:395::-;7419:6;7427;7480:2;7468:9;7459:7;7455:23;7451:32;7448:52;;;7496:1;7493;7486:12;7448:52;7541:23;;;-1:-1:-1;7640:2:184;7625:18;;7612:32;7653:33;7612:32;7653:33;:::i;7723:139::-;7826:10;7819:5;7815:22;7808:5;7805:33;7795:61;;7852:1;7849;7842:12;7867:179;7934:20;;-1:-1:-1;;;;;7983:38:184;;7973:49;;7963:77;;8036:1;8033;8026:12;8051:663;8148:6;8208:2;8196:9;8187:7;8183:23;8179:32;8223:2;8220:22;;;8238:1;8235;8228:12;8220:22;-1:-1:-1;8307:2:184;8301:9;;;8337:15;;-1:-1:-1;;;;;8367:34:184;;8403:22;;;8364:62;8361:88;;;8429:18;;:::i;:::-;8465:2;8458:22;8502:23;;8534:48;8502:23;8534:48;:::i;:::-;8591:21;;8645:37;8678:2;8663:18;;8645:37;:::i;:::-;8640:2;8628:15;;8621:62;8632:6;8051:663;-1:-1:-1;;;8051:663:184:o;8719:272::-;8777:6;8830:2;8818:9;8809:7;8805:23;8801:32;8798:52;;;8846:1;8843;8836:12;8798:52;8885:9;8872:23;8935:6;8928:5;8924:18;8917:5;8914:29;8904:57;;8957:1;8954;8947:12;8996:1218;9091:6;9151:3;9139:9;9130:7;9126:23;9122:33;9167:2;9164:22;;;9182:1;9179;9172:12;9164:22;-1:-1:-1;9251:2:184;9245:9;9293:3;9281:16;;-1:-1:-1;;;;;9312:34:184;;9348:22;;;9309:62;9306:88;;;9374:18;;:::i;:::-;9410:2;9403:22;9447:23;;9479:48;9447:23;9479:48;:::i;:::-;9536:21;;9609:2;9594:18;;9581:32;9622:50;9581:32;9622:50;:::i;:::-;9700:2;9688:15;;9681:32;9765:2;9750:18;;9737:32;9778:50;9737:32;9778:50;:::i;:::-;9856:2;9844:15;;9837:32;9921:2;9906:18;;9893:32;9934:50;9893:32;9934:50;:::i;:::-;10012:2;10000:15;;9993:32;10077:3;10062:19;;10049:33;10091:50;10049:33;10091:50;:::i;:::-;10169:3;10157:16;;10150:33;10161:6;8996:1218;-1:-1:-1;;;8996:1218:184:o;10701:733::-;10799:6;10859:3;10847:9;10838:7;10834:23;10830:33;10875:2;10872:22;;;10890:1;10887;10880:12;10872:22;-1:-1:-1;10932:22:184;;:::i;:::-;10999:23;;11031:22;;11126:2;11111:18;;;11098:32;11146:14;;;11139:31;11243:2;11228:18;;;11215:32;11263:14;;;11256:31;11360:2;11345:18;;;11332:32;11380:14;;;11373:31;;;;-1:-1:-1;11038:5:184;10701:733;-1:-1:-1;10701:733:184:o;11439:927::-;11538:6;11546;11590:9;11581:7;11577:23;11620:3;11616:2;11612:12;11609:32;;;11637:1;11634;11627:12;11609:32;11661:4;11657:2;11653:13;11650:33;;;11679:1;11676;11669:12;11650:33;;11705:22;;:::i;:::-;11764:9;11751:23;11783:33;11808:7;11783:33;:::i;:::-;11825:22;;11899:2;11884:18;;11871:32;11912:50;11871:32;11912:50;:::i;:::-;11989:2;11978:14;;11971:31;12054:2;12039:18;;12026:32;12067:33;12026:32;12067:33;:::i;:::-;12127:2;12116:14;;12109:31;12172:37;12205:2;12190:18;;12172:37;:::i;:::-;12167:2;12156:14;;12149:61;12160:5;-1:-1:-1;12286:4:184;12271:20;;12258:34;12301:33;12258:34;12301:33;:::i;15326:127::-;15387:10;15382:3;15378:20;15375:1;15368:31;15418:4;15415:1;15408:15;15442:4;15439:1;15432:15;15767:127;15828:10;15823:3;15819:20;15816:1;15809:31;15859:4;15856:1;15849:15;15883:4;15880:1;15873:15;15899:168;15972:9;;;16003;;16020:15;;;16014:22;;16000:37;15990:71;;16041:18;;:::i;16072:127::-;16133:10;16128:3;16124:20;16121:1;16114:31;16164:4;16161:1;16154:15;16188:4;16185:1;16178:15;16204:120;16244:1;16270;16260:35;;16275:18;;:::i;:::-;-1:-1:-1;16309:9:184;;16204:120::o;16329:125::-;16394:9;;;16415:10;;;16412:36;;;16428:18;;:::i;16459:298::-;-1:-1:-1;;;;;16532:27:184;;;16579;;;16630:13;;;16626:39;;;;16708:17;;;16700:26;;16687:11;;16684:43;16674:77;;16731:18;;:::i;:::-;16674:77;;16459:298;;;;:::o;17221:135::-;17260:3;17281:17;;;17278:43;;17301:18;;:::i;:::-;-1:-1:-1;17348:1:184;17337:13;;17221:135::o;17569:184::-;17639:6;17692:2;17680:9;17671:7;17667:23;17663:32;17660:52;;;17708:1;17705;17698:12;17660:52;-1:-1:-1;17731:16:184;;17569:184;-1:-1:-1;17569:184:184:o;17758:136::-;17793:3;-1:-1:-1;;;17814:22:184;;17811:48;;17839:18;;:::i;:::-;-1:-1:-1;17879:1:184;17875:13;;17758:136::o;17899:244::-;18010:10;17983:18;;;18003;;;17979:43;18042:28;;;;18089:24;;;18079:58;;18117:18;;:::i;:::-;18079:58;17899:244;;;;:::o;18148:128::-;18215:9;;;18236:11;;;18233:37;;;18250:18;;:::i;18281:167::-;18376:10;18349:18;;;18369;;;18345:43;;18400:19;;18397:45;;;18422:18;;:::i;18732:301::-;18861:3;18899:6;18893:13;18945:6;18938:4;18930:6;18926:17;18921:3;18915:37;19007:1;18971:16;;18996:13;;;-1:-1:-1;18971:16:184;18732:301;-1:-1:-1;18732:301:184:o;19892:112::-;19924:1;19950;19940:35;;19955:18;;:::i;:::-;-1:-1:-1;19989:9:184;;19892:112::o;20823:127::-;20884:10;20879:3;20875:20;20872:1;20865:31;20915:4;20912:1;20905:15;20939:4;20936:1;20929:15;20955:157;20985:1;21019:4;21016:1;21012:12;21043:3;21033:37;;21050:18;;:::i;:::-;21102:3;21095:4;21092:1;21088:12;21084:22;21079:27;;;20955:157;;;;:::o","linkReferences":{}},"methodIdentifiers":{"canPruneAtTime(uint256)":"dc1bb8f4","claimProverRewards(address,uint256[],IERC20)":"385b9012","claimSequencerRewards(address,IERC20)":"5e5fafb3","deployRewardBooster(RewardBoostConfig)":"bcfe1a1c","getCheckpointReward()":"86a0d763","getCollectiveProverRewardsForEpoch(uint256)":"5a97eaa1","getEpochForCheckpoint(uint256)":"483315b3","getEthPerFeeAssetAtCheckpoint(uint256)":"16a7ced5","getFirstProvenBy(uint256)":"c4fb3d7c","getHasClaimed(address,uint256)":"28e07ac3","getHasSubmitted(uint256,uint256,address)":"3334f7dc","getHasSubmittedFullEpoch(uint256,uint256,address)":"235ce66f","getL1FeesAt(uint256)":"5f82401f","getManaMinFeeComponentsAt(uint256,bool)":"11704430","getProvingCostPerMana()":"fe2a92d0","getProvingCostPerManaInFeeAsset(uint256)":"604ef88f","getRewardConfig()":"ec147806","getRewardDistributor()":"cf20d872","getSequencerRewardCalculator()":"305656b2","getSequencerRewards(address)":"8789a132","getSharesFor(address)":"dfff3ebc","getSpecificProverRewardsForEpoch(uint256,address)":"68faa778","initializeConfig(RewardConfig,address)":"eb7991fa","summedMinFee(ManaMinFeeComponents)":"e068d95a","updateConfig(MutableRewardConfig)":"8841c467","updateL1GasFeeOracle()":"508ac49b","updateManaTarget(uint256)":"e6e28440","updateProtocolFeeMargin(uint16)":"a4f40ee9","updateProtocolFeeRecipient(address)":"1df47f80","updateProvingCostPerMana(uint256)":"ed176514","updateSequencerRewardCalculator(address)":"d4003253"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maximum\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"}],\"name\":\"FeeLib__InvalidManaLimit\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minimum\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"}],\"name\":\"FeeLib__InvalidManaTarget\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nextAllowed\",\"type\":\"uint256\"}],\"name\":\"FeeLib__ProtocolFeeMarginCooldown\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"current\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requested\",\"type\":\"uint256\"}],\"name\":\"FeeLib__ProtocolFeeMarginStepExceeded\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minimum\",\"type\":\"uint256\"}],\"name\":\"FeeLib__ProvingCostBelowFloor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nextAllowed\",\"type\":\"uint256\"}],\"name\":\"FeeLib__ProvingCostCooldown\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"current\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requested\",\"type\":\"uint256\"}],\"name\":\"FeeLib__ProvingCostStepExceeded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RewardLib__InvalidProtocolFeeRecipient\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RewardLib__InvalidSequencerBps\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proven\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requested\",\"type\":\"uint256\"}],\"name\":\"Rollup__CheckpointNotProven\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actual\",\"type\":\"uint256\"}],\"name\":\"Rollup__InvalidCheckpointNumber\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minimum\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"}],\"name\":\"Rollup__InvalidManaTarget\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"Epoch\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"Epoch\",\"name\":\"currentEpoch\",\"type\":\"uint256\"}],\"name\":\"Rollup__NotPastDeadline\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"checkpointNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pendingCheckpointNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"upperLimit\",\"type\":\"uint256\"}],\"name\":\"Rollup__UnavailableTempCheckpointLog\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"SafeCastOverflowedIntToUint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"manaTarget\",\"type\":\"uint256\"}],\"name\":\"ManaTargetUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"oldBps\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"newBps\",\"type\":\"uint16\"}],\"name\":\"ProtocolFeeMarginUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newRecipient\",\"type\":\"address\"}],\"name\":\"ProtocolFeeRecipientUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"Bps\",\"name\":\"sequencerBps\",\"type\":\"uint32\"},{\"internalType\":\"uint96\",\"name\":\"checkpointReward\",\"type\":\"uint96\"}],\"indexed\":false,\"internalType\":\"struct MutableRewardConfig\",\"name\":\"rewardConfig\",\"type\":\"tuple\"}],\"name\":\"RewardConfigUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldCalculator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newCalculator\",\"type\":\"address\"}],\"name\":\"SequencerRewardCalculatorUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"Timestamp\",\"name\":\"_ts\",\"type\":\"uint256\"}],\"name\":\"canPruneAtTime\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCheckpointReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Epoch\",\"name\":\"_epoch\",\"type\":\"uint256\"}],\"name\":\"getCollectiveProverRewardsForEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_checkpointNumber\",\"type\":\"uint256\"}],\"name\":\"getEpochForCheckpoint\",\"outputs\":[{\"internalType\":\"Epoch\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_checkpointNumber\",\"type\":\"uint256\"}],\"name\":\"getEthPerFeeAssetAtCheckpoint\",\"outputs\":[{\"internalType\":\"EthPerFeeAssetE12\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_checkpointNumber\",\"type\":\"uint256\"}],\"name\":\"getFirstProvenBy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_prover\",\"type\":\"address\"},{\"internalType\":\"Epoch\",\"name\":\"_epoch\",\"type\":\"uint256\"}],\"name\":\"getHasClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Epoch\",\"name\":\"_epoch\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_length\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_prover\",\"type\":\"address\"}],\"name\":\"getHasSubmitted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Epoch\",\"name\":\"_epoch\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_length\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_prover\",\"type\":\"address\"}],\"name\":\"getHasSubmittedFullEpoch\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Timestamp\",\"name\":\"_timestamp\",\"type\":\"uint256\"}],\"name\":\"getL1FeesAt\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"baseFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blobFee\",\"type\":\"uint256\"}],\"internalType\":\"struct L1FeeData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Timestamp\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_inFeeAsset\",\"type\":\"bool\"}],\"name\":\"getManaMinFeeComponentsAt\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocolFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"congestionMultiplier\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"sequencerCost\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proverCost\",\"type\":\"uint256\"}],\"internalType\":\"struct ManaMinFeeComponents\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProvingCostPerMana\",\"outputs\":[{\"internalType\":\"EthValue\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"EthPerFeeAssetE12\",\"name\":\"_ethPerFeeAsset\",\"type\":\"uint256\"}],\"name\":\"getProvingCostPerManaInFeeAsset\",\"outputs\":[{\"internalType\":\"FeeAssetValue\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"contract IRewardDistributor\",\"name\":\"rewardDistributor\",\"type\":\"IRewardDistributor\"},{\"internalType\":\"Bps\",\"name\":\"sequencerBps\",\"type\":\"uint32\"},{\"internalType\":\"contract IBoosterCore\",\"name\":\"booster\",\"type\":\"IBoosterCore\"},{\"internalType\":\"uint96\",\"name\":\"checkpointReward\",\"type\":\"uint96\"}],\"internalType\":\"struct RewardConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardDistributor\",\"outputs\":[{\"internalType\":\"contract IRewardDistributor\",\"name\":\"\",\"type\":\"IRewardDistributor\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSequencerRewardCalculator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sequencer\",\"type\":\"address\"}],\"name\":\"getSequencerRewards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_prover\",\"type\":\"address\"}],\"name\":\"getSharesFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Epoch\",\"name\":\"_epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_prover\",\"type\":\"address\"}],\"name\":\"getSpecificProverRewardsForEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocolFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"congestionMultiplier\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"sequencerCost\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proverCost\",\"type\":\"uint256\"}],\"internalType\":\"struct ManaMinFeeComponents\",\"name\":\"_components\",\"type\":\"tuple\"}],\"name\":\"summedMinFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"SafeCastOverflowedIntToUint(int256)\":[{\"details\":\"An int value doesn't fit in an uint of `bits` size.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"kind\":\"dev\",\"methods\":{\"getSequencerRewardCalculator()\":{\"returns\":{\"_0\":\"The calculator, or zero if every checkpoint receives the default sequencer reward\"}},\"initializeConfig(RewardConfig,address)\":{\"params\":{\"_config\":\"The full reward configuration, including the immutable distributor and booster\",\"_sequencerRewardCalculator\":\"The initial sequencer reward calculator, or zero for none\"}},\"updateConfig(MutableRewardConfig)\":{\"details\":\"The owner-only fee and reward setters below hold their validation, mutation and event emission here rather than in the Rollup. The Rollup sits close to the EIP-170 limit, and an event's topic hash plus its argument encoding costs it ~75 bytes per emit site; the `FeeLib` mutators inline another few hundred. A delegatecall keeps `msg.sender`, storage and the log's emitting address, so moving them across this boundary is behaviour preserving, and it only costs gas on cold admin paths. `ProposeLib` calls `FeeLib` directly, so `propose` is unaffected.\"},\"updateSequencerRewardCalculator(address)\":{\"details\":\"Accepts any address, including zero (no calculator). The event is emitted even if the value is unchanged.\",\"params\":{\"_calculator\":\"The new calculator, or zero for none\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getSequencerRewardCalculator()\":{\"notice\":\"Returns the current sequencer reward calculator\"},\"initializeConfig(RewardConfig,address)\":{\"notice\":\"Writes the reward configuration and the initial sequencer reward calculator at construction\"},\"updateSequencerRewardCalculator(address)\":{\"notice\":\"Replaces the sequencer reward calculator and emits {IRollupCore.SequencerRewardCalculatorUpdated}\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/core/libraries/rollup/RewardExtLib.sol\":\"RewardExtLib\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[\":@aztec-blob-lib/=src/mock/libraries/\",\":@aztec/=src/\",\":@generated/=generated/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@oz/=lib/openzeppelin-contracts/contracts/\",\":@test/=test/\",\":@zkpassport-test/=lib/circuits/src/solidity/test/\",\":@zkpassport/=lib/circuits/src/solidity/src/\",\":circuits/=lib/circuits/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x4251fed1ac036ad28996501522371736318527d7bf2bf7d66fbd2769d6c4771b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2df261bd4de240f54c5829faeaf0ffc919a01f1497cf7ffd8a9a544bdec8fca\",\"dweb:/ipfs/Qmb9ndUuv9RZPKJXZGzjVuhmNuoizxuGRn4QMBmdmLcxS3\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x8447b57b63810fe2e367c09496a966f143ec0e825d71ddb9fce2506cff84b618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://996cb48f793bf151555045b37138e36b3cdb31d6bc6552d3149285260be00cfb\",\"dweb:/ipfs/QmcLaTTMNVbkMx58xhkp6GeFt4V3GtSyupZuaKG3vYW2Zc\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x9e82c00fb176503860139c6bbf593b1a954ee7ff97ab2969656571382b9b58a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34b4eb157b44d4441315db65561ba7cf0fe909dc598c2cfd7080d203077d5b57\",\"dweb:/ipfs/QmcNdvK3kDUAUr48urHxoeHd1TqVDya4YfZTM66i4goEJn\"]},\"lib/openzeppelin-contracts/contracts/utils/TransientSlot.sol\":{\"keccak256\":\"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889\",\"dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9\",\"dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x2c33f654cefbbe80a9b436b5792cfe8bda2e87f139f110073c99762558db252f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc7ebd80046a52f28978cf46a24ff3e4c8568264ab6bb138038951c75d576167\",\"dweb:/ipfs/QmQQjXVr4CbDR3DXd8GHEqn3JSJYTnbBHMJp9tvc29yXrc\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol\":{\"keccak256\":\"0x3616f1b0d0a9ee1ca8f0953ecaceb9230e36f691c7974d30f964212acff52d2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4bebdd07b31ac28e3e596ac6f0333da90a4e332405aa7d65f3a3a7e0b4cf15e\",\"dweb:/ipfs/QmckoDU5bBnye2UtPcrfJNahLD2FbxrnPP9nrREMWPpnug\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]},\"src/core/interfaces/IEscapeHatch.sol\":{\"keccak256\":\"0x1a499acad8813b56e7d9cdcff3152e36196482794e62302e95a28603f5915747\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://18da3711ad1fbc413336c252709e1ad32d51092336fbe6c2428b48768f58352c\",\"dweb:/ipfs/QmdkMJiH1pdcuoLe5zPHeMtnFhZ1k7PLZJtoWQUcpcm4bJ\"]},\"src/core/interfaces/IFeeJuicePortal.sol\":{\"keccak256\":\"0xce84c8907395b4c11cc6dd8035d8e14560153450f9d88340cfb8abb914c66639\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f5eb389f1a6e9adbb2f24dad7a6c0bc706d49decad82ba9b582c288e12eddda6\",\"dweb:/ipfs/QmNM3uQmJYn9B6RAHSMUT3TZMR6R75okjJErUEsuRjxGXt\"]},\"src/core/interfaces/IRollup.sol\":{\"keccak256\":\"0x4885f9bbf279f63143fa0ccd21ce4918fd34eef9ce4ba871c78c22ae6c174f8b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c3eac7f06a1db468466f6e977fc204b4106808d0293ca57d336004ed33cc0add\",\"dweb:/ipfs/QmUzzFrVi15V2WRFsgpSmDQBfPUbbA4ochmZD55VhovJBR\"]},\"src/core/interfaces/ISequencerRewardCalculator.sol\":{\"keccak256\":\"0xb7fb4ad1c171762783aecdd5e85036e71990438fc11e1121842b31c431ff0c67\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://15bf6fea8074c7a5f71860b325786d2dd5b625cbfb5b0bd4d0fc4f1a5f566d5a\",\"dweb:/ipfs/QmTH4XovGivVCs4Hp6PT3UVKLrSCPPtv1mmtvUeALVCnAZ\"]},\"src/core/interfaces/ISlasher.sol\":{\"keccak256\":\"0xf7dc3b2795b2806dbec7c94c33665abcf00a35ee65802a47f6222faf8641d302\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d7c9283746c66f04df5a133145b3196fc176e06e2fe6b3285056ffac68a09e9b\",\"dweb:/ipfs/QmPxTkM1eMNFny3yibc69p1GqWvPkno5fzBjyju89h7CNk\"]},\"src/core/interfaces/IStaking.sol\":{\"keccak256\":\"0x81ddf8fa0cf8a213d690845fd4d3e31e45c543e5876612e94607cdb753804f1d\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7e0ae2a10903274cca7231306660dd6d5d1e5632238618b390aa7f4dfa5422f3\",\"dweb:/ipfs/QmTMXRYdNGnmecbUdREFfgsLwnMsRjDseLVXsvPqQoiago\"]},\"src/core/interfaces/IValidatorSelection.sol\":{\"keccak256\":\"0xe22dc335f3fd5f5cbf10928fa7e9e945ea8a04fa99362ec6e2022c862d7baca4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e26be09d3c823c545a2252467e13b68d366f3e711e15085be09f565ac436acc9\",\"dweb:/ipfs/QmS1ddcZteAjeojaJJz1ZgRPdynzpNu1HSSPbmEjJNe99G\"]},\"src/core/interfaces/IVerifier.sol\":{\"keccak256\":\"0xf5b6025ff3d59b8922bb45fb05786764e74109b4a349d206b8a7979f46484c55\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://98ec47ac3e15b1d8f2c80854ed6fd83e655e9e96341bb827f3be8e6b47f4c7fb\",\"dweb:/ipfs/QmcmUkLgM7fb7mEaJTiWJWrZTW2kAWtRcYS6imBfmueALe\"]},\"src/core/interfaces/messagebridge/IInbox.sol\":{\"keccak256\":\"0x1149c904c8b3bd2942628fbab5480cdc044e831d51963f9e6946f1974cc162bd\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://af2f1f49feba389b0bdbf427c4a85fac2908699585e5babd75f77cf14416ed5f\",\"dweb:/ipfs/QmZYjZyhicCpTcwPuWTjTTUxnaBnfv5bTMWDgxyDGqy8Gm\"]},\"src/core/interfaces/messagebridge/IOutbox.sol\":{\"keccak256\":\"0xf66d0bb4f6d978acf91a036737cd4326bfab16a4030d10510d2976e4218ed8ad\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e796eea21d552b2ca4d0446bb096e2c980ab84816d9dd1398113293ae8128b30\",\"dweb:/ipfs/QmNuGgRtPFgRe3asa68vDMcWpyfDFqQ5w5j5U7yWD1EsyZ\"]},\"src/core/libraries/ConstantsGen.sol\":{\"keccak256\":\"0xe328f94338f5563669e04618c3ec21ec38b9f21ab24d5de698d80cf38f977dfa\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3d9872c9a78d7241053e9ce3eadf192d18a9cb4b95c0ac120470d92435b7216e\",\"dweb:/ipfs/QmcRnfbW8sNWwRHPik4wvkA7CTY1BTjuf2ydu3jN5otQJT\"]},\"src/core/libraries/DataStructures.sol\":{\"keccak256\":\"0x5ea9d1097f0b53eafbd72332d4c5c517307e5a056266befe5b46f5f43ee3d83c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1a742311dc3c5ead2d5361549f017d20f46c40a4e74e879823ac168cf5b572d4\",\"dweb:/ipfs/QmTNDc1fiPti41QqJTJQoV9uduB6eXaQhbfq1hfVVjVNvS\"]},\"src/core/libraries/Errors.sol\":{\"keccak256\":\"0x282e22d0eb9cd8f22f7bfaef3c3e3cad5461734d6e421f392b372a146c83d467\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5c250d031a44b257109f81417bb89c0e5b99d44bb17a55379695061afa9d3ef1\",\"dweb:/ipfs/QmenxQJyukQT7KkCsfXV6by3VU6qumEUnK4EH4mqHAw6iK\"]},\"src/core/libraries/HatchMath.sol\":{\"keccak256\":\"0xca787b2889e281c8db132043312aa9513315669782981689824344c910833fe4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://77ec2f6b5919d53d3a7128f6006155f2566a84e7a56cd26e9d5e6d1514ccd7a2\",\"dweb:/ipfs/Qmc3Z2quujEwxQU1JBfrxhkiULaczspBsTMjXibqXCjFyd\"]},\"src/core/libraries/SlashRoundLib.sol\":{\"keccak256\":\"0x6773eea1fa593e5c1e16fcd3a8341b537bf5ed7ee2f10472649dfd542e3ade8e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://756bdaa3facd4034149eeb3553ae99777b646c3e16abf8d41f9558e74249baa6\",\"dweb:/ipfs/QmNpb62diGKNKf5pcynejjhNex9c6PTkZnVUeuLvJ2qCZ9\"]},\"src/core/libraries/StakingQueue.sol\":{\"keccak256\":\"0xbbeafda1659a92be14ec5b77838952a089f075cc1d0c5f348b6ff336ea6a1a98\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f3c8bdb1de77dab697ef4442f72fa4830c757059f8d948d2f3aeb7f6983aa64f\",\"dweb:/ipfs/QmSDYdTnFo8nx34q3fdJCKpy8DCnKBQ4isxr49o4sY5T6T\"]},\"src/core/libraries/TimeLib.sol\":{\"keccak256\":\"0x865b760fe681ee74a93b49491d897a98091432ebc2923ff17717ddb6d26d31ab\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://4ccdfb80464d8e58a95a68314fe2dd33f4a1634ab0695a9a4e9c180a50cc592b\",\"dweb:/ipfs/QmNUUFN7RTjiicZCkci6eEnfromVTPS2MVE4CkbqoneV6P\"]},\"src/core/libraries/compressed-data/CheckpointLog.sol\":{\"keccak256\":\"0x613513b7eb7855ff619c9eb3f1589fcfb0d7675e15c5261034ac353a62c5cabf\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://110e7cc1eae76116a6682a9044cf9031744a7a8c46164987e246923169618d5e\",\"dweb:/ipfs/QmcuhMXiGWjAbYGYYXKrTCLNYguQZpgxpWVWteJezYKVzQ\"]},\"src/core/libraries/compressed-data/StakingQueueConfig.sol\":{\"keccak256\":\"0x32b00fd08e1754d9d9c9b377ae0a0ea887ace519db0ec6d252e1b2216891068e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://4ecea0a1ff8536819d37d3800b2915249b5c854d9dc611e91aae81df6acf7d76\",\"dweb:/ipfs/Qmf3FgXCf1MP78p5B76kQnwx8yXFXncutVzQhV2fteBvVn\"]},\"src/core/libraries/compressed-data/Tips.sol\":{\"keccak256\":\"0xdf872f54470e59b86349871e2c12075e8daaad85894f90e64f92538daf5f4008\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://493e4bc02c6e9acbb5bfaa68f19bf4defb409211b701784e43d2ca6cbc11ccd1\",\"dweb:/ipfs/QmSUahndZ78LBx6WdozXWL6QkqxZXzrXpHna2kGwCqgy34\"]},\"src/core/libraries/compressed-data/fees/FeeConfig.sol\":{\"keccak256\":\"0xd5593d342fd9e75cf10d9c126d5aa46eab6707221111d81757e0f5c3473c23fd\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5cdfdfa94ea9d7b93cb80bdbd9e81c80fc7d71de890d88bb957960d0d5734298\",\"dweb:/ipfs/QmQ2VjHtpja19AxDnGg2Q5hCck678PUrfLDuwUNvcyo4YS\"]},\"src/core/libraries/compressed-data/fees/FeeStructs.sol\":{\"keccak256\":\"0x23304769b5d5098b6d6b1092be483f34c0c901d7e14667404e8c5335dad8b501\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9ef5000b6a27a338f60dad80f73ea03d6560afc46c063d8d52932574d82cf157\",\"dweb:/ipfs/QmSzdqmERrrCqdfqy4jXhdiyokyNRLvi4qLp85iw8rR9iJ\"]},\"src/core/libraries/crypto/Hash.sol\":{\"keccak256\":\"0x0e2bad615ee34b98ffdc7b81558e78ad3701cf8e02dc0fa4721555b4cdb861cb\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://8f69943a9ad3fba8a12ae34b3d60815c4339ea66a5ec75beb781d22a872c2d4d\",\"dweb:/ipfs/QmTfjRk9vBaxfziFgwYzWgTWFEvbB8EEudkcYupPw6qLXW\"]},\"src/core/libraries/crypto/SampleLib.sol\":{\"keccak256\":\"0x59e87e7d6a1e966c0f73bd919825ff7d81dc898625fe9fd20e6786e10b43783e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a931d31192faf6d9d9c82fc7099a776b5886d90dd0a2a9ee8093cc680dfdef70\",\"dweb:/ipfs/QmbQjTTf96tr2WSiuoWK8k984dGuXKooZWZ5o9EL7wEPhv\"]},\"src/core/libraries/rollup/AttestationLib.sol\":{\"keccak256\":\"0xf2111c30dc0d6c81d4f990990dfa37813932180e2b94739050356c5942f316e3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://fc4d8c42797fa58646094be9e108a60a278f2c2beea06bd7b06b00933b00c5b9\",\"dweb:/ipfs/QmdNPs36gak9y4YoCQq2ttv1nj8ALyab6f9P7SoozECrfN\"]},\"src/core/libraries/rollup/BlobLib.sol\":{\"keccak256\":\"0x5b0d454bd38592154954f1da4cc59f50a036d0a28a169401abd9b5fdb88a4fe1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://68cf3a3fa979a6cfdc618e66621a0233263a83c259b17f6193fb0339796bee9d\",\"dweb:/ipfs/QmcRKQmFf8mZxWKUT7Vgg3LnTxVsCen5f8TnMqCQMGi2j6\"]},\"src/core/libraries/rollup/CoordinationSignatureLib.sol\":{\"keccak256\":\"0x939c2aa29f536822f1f35db30af3b783986612bb35a210c583247f764c39dfae\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6f5e71fe318f83063eda2027992740e7be7e0274887b4c11ab00ef3199398729\",\"dweb:/ipfs/QmPGkRVfkoLj8bi95vyySrtFeTaUGf62qcWoBy1nZRjZQc\"]},\"src/core/libraries/rollup/FeeLib.sol\":{\"keccak256\":\"0x78cccc8618137ebda0ca1cb68071a6458eff5c1e4eecce22de77c7479cb2f917\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://eb96d87ba3229de5d5a8e8cd9e1c29438789e578f915d787f2f7c0788f380679\",\"dweb:/ipfs/Qma3VYid6EyGtNCLertDyViT1Z8Ma1vNnc7EAEmJfxf8t9\"]},\"src/core/libraries/rollup/FieldLib.sol\":{\"keccak256\":\"0xd09f77d3aa6d7efc844e99bd496a145171613825bc45d35e1518889098f91e95\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://499d0aeb3c7b6801e49f7554110a194ebeca73bec4ddf4b00ea8dd64fcc4b2ac\",\"dweb:/ipfs/QmQf7EeP4kwTGPR2xfDK2MpNAqqcAY4vWZ3faEKn6JEW8R\"]},\"src/core/libraries/rollup/ProposeLib.sol\":{\"keccak256\":\"0x90d4fff721a1bcdbb555aad73a040ac1f0c3a61e286b0f291f47248129d8a777\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://988c7390ba413ae25939df5a9f8850649106627ddf453a60b472e31c32a97156\",\"dweb:/ipfs/QmXNPKm6y3bgTmjfeTMrY4sfBUFT4fLxZsMBBSC13Nt6oy\"]},\"src/core/libraries/rollup/ProposedHeaderLib.sol\":{\"keccak256\":\"0x43a9fa530b7cb948c1d7c436bddafdd8ddd8c022c67e25045372bc68b9e5018c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://904e4aa94b322f68c605dd34ea38bb77343437e2f2203c3e650cf7a7bb3aa19e\",\"dweb:/ipfs/QmX3H4PMwh57L5Zv3LFrHjkNmgVZiik4FmzSyJhnTJcqPD\"]},\"src/core/libraries/rollup/RewardExtLib.sol\":{\"keccak256\":\"0x258e1b7ebfa2c5cecc4d5bcecacfda7e6398b0191a08d6f2a9f775724ab7fd5d\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9d1d38d938a44dd27419cb656a7726609da2dc074fef9c54e35909d5e304915b\",\"dweb:/ipfs/QmSZ6VVTYYBXQra114KmdZyVXVSh6J8MLKRjwEF9EmE3fp\"]},\"src/core/libraries/rollup/RewardLib.sol\":{\"keccak256\":\"0x3a73a07577c713179be2de8df601445e79c606afb42f74bed33d1000c6f14ff8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e432e402f6721bf70849ae3d731dcc669abeeb7df8399c878cc946fea0657a1a\",\"dweb:/ipfs/QmYuGKQvN9iFhQpKLo6Rd7oTkMZx6VfdrJFh6tVgLEDg5M\"]},\"src/core/libraries/rollup/STFLib.sol\":{\"keccak256\":\"0xcb2ae0566bd5b0834f8ec2f73d78037f25d4d65894bff1ab8abcb9f8c65c7bc0\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://35689b10ee3d4fff126625efa170fe77c617441fd7902d7376488af5061a79e0\",\"dweb:/ipfs/QmUzDZoMrpJAuhVYVGSruX4mj9jTJmSZncvoTHbsyZL7eM\"]},\"src/core/libraries/rollup/SequencerRewardCalculatorLib.sol\":{\"keccak256\":\"0x2d5e8efc5a87bec1d50a8c9df0696a8248e0905ab62dcd7ec6a51527ad33b604\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://15d4a7d1f265fc1a248762702373534fcae9d85df5150e5e1a45f79b94736ed4\",\"dweb:/ipfs/QmdAT5Aw6JSg5GJnTikfDtJHnJZuMib7L8GB3yQ4jMuiFr\"]},\"src/core/libraries/rollup/StakingLib.sol\":{\"keccak256\":\"0x6e3c96f937701c67570d902aca8d2f9a1ee35942e17b1e5a375b264582a6fe8c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://ddb78c290af17a9574b89104177d2f1079c5abeb462446722b8fb09e03659ea6\",\"dweb:/ipfs/QmURXaGC2SRKZc36NQZ4SXqNtgY5MpYQRamS3Shn2GMAoe\"]},\"src/core/libraries/rollup/ValidatorSelectionLib.sol\":{\"keccak256\":\"0xea94ff99c5e47c51bbd4ffe8282447c7aae23065e255ec2d2806a11901ab1752\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://4e5c466c3c0ca5834c41714ddd64e7e5a34e6c37a5d57ddbed40b567582746bb\",\"dweb:/ipfs/QmUYZ4KgwoUhxQCMtazUgj8tN6wkRHcakZ5rg5EjQq1XuU\"]},\"src/core/reward-boost/RewardBooster.sol\":{\"keccak256\":\"0x1cffe0dcbc06775ad415b06cd3591f74331bad3b154a3305ea6c5a081915fce0\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a2fcdbdcc260b3330bae0bc61227f652f9cb68e175fbc7d4173bf1d2dfaa92d1\",\"dweb:/ipfs/QmddUmciRbznTTfBpbZf2p3R9sC1oePRF9C3Swnq8qU3Xb\"]},\"src/core/slashing/Slasher.sol\":{\"keccak256\":\"0xc3040cd1813a6064a6afda9ca8b1f65f5cba2e7359050c48507d2f71d3606786\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://73f73fac9ffe650304c68a49635604806b86b0a5baadbf59ef36931e7937bc51\",\"dweb:/ipfs/QmaMMMXycUeybJyf2ZowJgQ1Wo4ZC7g5kyp1BHWfj8dkD9\"]},\"src/governance/Bn254LibWrapper.sol\":{\"keccak256\":\"0xea39571de45fe0fec82d9e760998677eb2432e08c6cdb00c41efa58caf56e607\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1e470b821f3d87fa0c988c5f23a8deed3849bffd2527b3b4ee137a90e0c1264c\",\"dweb:/ipfs/QmW3M4HyRLDruV5AYXCKicFCiiczmwnSTtnwVKUnQSm7a8\"]},\"src/governance/GSE.sol\":{\"keccak256\":\"0xc19fa4868d78030e2411dd5cef6d0da09645ade1d1ea0c4374b284a89feb722a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d06396c249566d0e9de5d34eade2bf27c4d583005c0129787bf6c413dcd9e273\",\"dweb:/ipfs/QmcimKKiV9KqobS5wzPsKYzyYu5WezCF3gyHkekf5tjrUU\"]},\"src/governance/GSEPayload.sol\":{\"keccak256\":\"0x40e5385b008f0335b50e066c647bb906685511c9fef206ce90a3391468558bae\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a129e87e1d57cf0813b14108cbdbcdd4c114b20f3f2d67477302d6d050120c7e\",\"dweb:/ipfs/QmRcQQkeDhkrmQha3nkA8qvXnGmF6nLhZMKAhMx61A7a5y\"]},\"src/governance/Governance.sol\":{\"keccak256\":\"0x07770c3d80369adae51be8e361f63a2aa5ec489b354b10c8590be1e294dfe2e5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7219becf3467ea8368dba0bd093ba932b165cf3f214e7286f652e2730bf42eaf\",\"dweb:/ipfs/QmTSCDhSQBTKhzGUk12phxhqohSba6yopYMzF5T5XPFUWw\"]},\"src/governance/interfaces/IBn254LibWrapper.sol\":{\"keccak256\":\"0xdd0a3de8b8ff67cf2bf090d04b4a37aa6d604f402db3328387d2466d2354464a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://daef0234547509cd7ae3a7babf0e50a8d1ca2894f1817e3e2409a50fd32947b9\",\"dweb:/ipfs/QmbwSedqnBfsqRnUq8XcXzoeoyhZTXJWJ9rpJn61BAJfej\"]},\"src/governance/interfaces/IEmpire.sol\":{\"keccak256\":\"0xe6a8a8c3fef8e6f9f5118bd40c63e951b13a59d5f885bbb979d38745ef760ed3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://940c1fe4138d7364ccdb7d5635ea90bafa1da274f680039b0b54ee8c2a275a9a\",\"dweb:/ipfs/QmX2EeoVyES18BMgcbKVDb36MCq8ooDVR98m2RmnmZjEAo\"]},\"src/governance/interfaces/IGovernance.sol\":{\"keccak256\":\"0xe420d305fbe7c35f4620cd1e0f05f9f4c5a91532621d21a64ea553a3d9a3c005\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1900ac41f945aa692d5228f134ae63840081d284bf89fdd2a06b45424fe359ff\",\"dweb:/ipfs/QmePFZ1xv5qfftJVDLc98XUVFsrpuKAbKZiro7MoMDTpoa\"]},\"src/governance/interfaces/IGovernanceProposer.sol\":{\"keccak256\":\"0x2be820a5452c481ffd329d68c46d0af6a286934963f26b36d363cd34fb0e5817\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f58839d1504e11e7da42b7f5a03fb9b9d8cc39ab4c16cfb86fa44c4de08df76f\",\"dweb:/ipfs/QmR6jUJozP9tfpZuSduk66E8n7WuL3zzsR3WHZ7BR2ZBX2\"]},\"src/governance/interfaces/IPayload.sol\":{\"keccak256\":\"0x5844ea725ce56ac8adeb20b2d37aa431ca087f68a65a7ca91f981be7458737c3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5ea670db51b2ccfac05a684b95458ecc015c9d12a6567c3f73d473386533f58c\",\"dweb:/ipfs/QmRUB8mckkGQ4nNsErRhnKMsD9SSkokRSpnr5XZC9dZdin\"]},\"src/governance/interfaces/IProposerPayload.sol\":{\"keccak256\":\"0x89068dd464c0bfb7d447c0e99728277e03c7c4b864208ead20321f0590187248\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://4d1d9ba5f8b7da374d773acde9514ca6607ad31a3e83950caa097bdb8b0f9167\",\"dweb:/ipfs/Qmd7tWAD2Ubz434zZPJvuyAGsHYpXBHvVhVefLFzUudD2o\"]},\"src/governance/interfaces/IRegistry.sol\":{\"keccak256\":\"0xc3678c04c0945d3dc1d8007df3dc7f8b25d8108b0b25134842ffc5169f996ce8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://71e4e401f1a6f561262755cc2e1c347cd3aa79e67d2e52ca547864f49de01724\",\"dweb:/ipfs/QmPvoKFEDTb41DSC3MmDMqtM3trj5oZb1Jj2jtQSnNfHBn\"]},\"src/governance/interfaces/IRewardDistributor.sol\":{\"keccak256\":\"0xf263f75be83d0b0e3c8f17ec7fc2558d3543df788dcb2db6f1ee158208134f14\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b2b65819a5f9ecd2237957e987bb69160d3076ccaf9f76f925a936e574d63d76\",\"dweb:/ipfs/QmNgWESeo6UUvgW7rCMP3d4o8mUqSSbKrwbicH4kaUrm7h\"]},\"src/governance/libraries/AddressSnapshotLib.sol\":{\"keccak256\":\"0x1006e58059e0a1f0fef102f2f11f5649dffc7f2eb066fce51845e65a064f4210\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://de385ab9eb3bb66d7be1218b49ae9bba7d88797bcb375b9a7481a209d303a402\",\"dweb:/ipfs/QmZe6DTv3cACfdXNSMhbMhoefg31LW3uLxHLDC7nZhb4Yp\"]},\"src/governance/libraries/CheckpointedUintLib.sol\":{\"keccak256\":\"0xcd73cf7a62e4ac5cc79f7f8df8b35d5c5e4df5b8a3478bcbc2b29c9aa89ea4b4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f56f37060d39d3c9276f23c96be7f6b1ea44676312dbaa1ab16ab3bff6acebf1\",\"dweb:/ipfs/QmPDUEEgdbpTTs9r3fvdMYJo9akCRsWcJXyarBhQgcKb5q\"]},\"src/governance/libraries/ConfigurationLib.sol\":{\"keccak256\":\"0x7cb65bdbd8d077f3cfc01b065fb3a57628db36cd46f68885c74b9131198c2149\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e37bde50f5f739f479feb95fbe81ed24ee47f841b99f066ecf6782e758d1978a\",\"dweb:/ipfs/QmebPE5REUpYRB8dikUebcGtyk9uy44G9mbchKJtHxJAgy\"]},\"src/governance/libraries/DepositDelegationLib.sol\":{\"keccak256\":\"0x37fbca65ccabec9d901bd71d684dceec7c59fa5a05438fd209ea0d5e16e764c0\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e42f2622978abc3ac84223a6b206201898d0269d20bf81539636c0999a0db9eb\",\"dweb:/ipfs/QmW4BgTjR6BuPxwxreKarUeK1u8gx3p9yFdDD4EsC5hkyb\"]},\"src/governance/libraries/Errors.sol\":{\"keccak256\":\"0x8861ea7508138c83e89f186ce17accb42a6eee7d1d2e52841975d4ba676daae4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b0d5b01c2b0a20c3c70a7ab2b8405d083a063bf5758beb87a4d488bda76078fa\",\"dweb:/ipfs/QmfGH6CTCPA6nVA6KidcTSvaJ6MQZkv6KiuDVBTARGBTRv\"]},\"src/governance/libraries/ProposalLib.sol\":{\"keccak256\":\"0x616ffbb24c4454ca9e223e85ff01e8dca139723d5cd312d5d6f6111d79782a90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://192f9be3355a7a94d19ae4e5b397e5db19dde64ccc671e149da06dfaa2577192\",\"dweb:/ipfs/QmTDcm7XEFLe7o5cXUmuu5wQDyprU78AVMymiWvrmP4tHT\"]},\"src/governance/libraries/compressed-data/Ballot.sol\":{\"keccak256\":\"0xca07dc8cf36ac2beae7674804af144b34b3c5848153351c17d996e9b3293cd5d\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6911cc49f1d6977c12f652063c14891697c1ffe49fdf36903c32a8ad73cbd012\",\"dweb:/ipfs/QmQBEZARCAAj1ZLcswkH6FwP1RP8uuNjYTHqthmE9Z5RnM\"]},\"src/governance/libraries/compressed-data/Configuration.sol\":{\"keccak256\":\"0x40744f275af22d33c38fd9c6a7b822292c9c87b17ac2c78abbef4eb8356fd9f9\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://73c685be7e934516207827a59cbbeb7fc1164e7659dd3ec857a91cfea765b482\",\"dweb:/ipfs/QmQfudRpSSQnG9u4XV8iA2UAyDzQPFqWzpZy5NZbaD6htv\"]},\"src/governance/libraries/compressed-data/Proposal.sol\":{\"keccak256\":\"0x72cf619a21c8e95875c63d4361cbe1a815d9d67f36f3fe32b6c9ca4d9ab0d33a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d80f47beb3f91da3cc68264c86fc8fb8f0e4abaf9d92243ab3206407fceed5c6\",\"dweb:/ipfs/QmYyrBTDMfkTBu6EcKcSMR7JyfphZ5xH1VCQ8EHMQUvsoN\"]},\"src/governance/proposer/EmpireBase.sol\":{\"keccak256\":\"0x747b20e201dab632a831c12f1fee9ee52cc80a2098c77e8b6c7b09b0f3ba2bc0\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b7d4a0475ca364f75aa2a1d17ed9e6970f0be605126f2efe26d53c791d4a5209\",\"dweb:/ipfs/Qma5tkTcy94PqE9vtQybQSyH9LWaHR8V3ubwDPZwiUNT35\"]},\"src/governance/proposer/GovernanceProposer.sol\":{\"keccak256\":\"0xa2829df5b65856c9f1d6bf490fb50616f14402ff8eece2e32b63828b8b9337c3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://8ad52830a7a3aed3477bf55f92c3d68cb1c16a5cf1d636227ab76a306c846607\",\"dweb:/ipfs/QmRonyZQZj5D1e2g4Y6Tmj2AEUnekL4pGmgdMT4ycRAM8m\"]},\"src/mock/libraries/BlobLib.sol\":{\"keccak256\":\"0xa1b19239c5c64ba1b0c9f83ec0a30059f10ded12bf40d5d7c3f65974752b3121\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5cbce7d0dd0096232d60ec5c6920f211ffcaa46c8675b1129c1f939a1ee84837\",\"dweb:/ipfs/QmSS2qUhzUuZY1qHDjWUGvHuMqMG3cjHoHeDVvgWsjMdA9\"]},\"src/shared/libraries/BN254Lib.sol\":{\"keccak256\":\"0x0c3a5b7dabde2f5c81f19e1a4a212308a8636b5bb4a16bb1a518d58ef4feb6f5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://870be6219c7081ed081cee2fa9ad1e7f3efff623ae1a59aed966f2bdcee65b7a\",\"dweb:/ipfs/QmNzohb1TazCgaT1e55CMDuuG7AHdGrGA6jvT4wzxdAM52\"]},\"src/shared/libraries/CompressedTimeMath.sol\":{\"keccak256\":\"0x361023cf30593e7e27417c91af3702e75235fcab251e4ad5ac2e47306a730ec1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9b192242472b3126c97a4a4e4fa792809a6bf20b548a57e677f5260c0dbf3ad3\",\"dweb:/ipfs/QmfK4WAucepcqzMLu11rs68HJazwfegVsgK5tTco82SooB\"]},\"src/shared/libraries/SignatureLib.sol\":{\"keccak256\":\"0xb69989f57384383341d1bb4693fb1e6ce31a2ab6c0fadb48bf088078a332a56a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f199be27853a14d746c567c5e3a473f474e84cfd3d119a6404e6ceff4e986e5c\",\"dweb:/ipfs/QmWsLozeiKLQbTSEUDVZK2ASEX3EodKxT4DdA9BA6bD6N2\"]},\"src/shared/libraries/TimeMath.sol\":{\"keccak256\":\"0x8da20dc8b4ce296b7c11f117a3381bfe5cd611a3512a74a500e2e54e0353417f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://18c74be98a4e31e8a16356e573514f639a8fc43928e741f6ead81dd755e9a914\",\"dweb:/ipfs/QmPDEdYYEj3DhXjrCDPuudJbhsBaNj1sK6hH94Z86168Q3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"maximum","type":"uint256"},{"internalType":"uint256","name":"provided","type":"uint256"}],"type":"error","name":"FeeLib__InvalidManaLimit"},{"inputs":[{"internalType":"uint256","name":"minimum","type":"uint256"},{"internalType":"uint256","name":"provided","type":"uint256"}],"type":"error","name":"FeeLib__InvalidManaTarget"},{"inputs":[{"internalType":"uint256","name":"nextAllowed","type":"uint256"}],"type":"error","name":"FeeLib__ProtocolFeeMarginCooldown"},{"inputs":[{"internalType":"uint256","name":"current","type":"uint256"},{"internalType":"uint256","name":"requested","type":"uint256"}],"type":"error","name":"FeeLib__ProtocolFeeMarginStepExceeded"},{"inputs":[{"internalType":"uint256","name":"provided","type":"uint256"},{"internalType":"uint256","name":"minimum","type":"uint256"}],"type":"error","name":"FeeLib__ProvingCostBelowFloor"},{"inputs":[{"internalType":"uint256","name":"nextAllowed","type":"uint256"}],"type":"error","name":"FeeLib__ProvingCostCooldown"},{"inputs":[{"internalType":"uint256","name":"current","type":"uint256"},{"internalType":"uint256","name":"requested","type":"uint256"}],"type":"error","name":"FeeLib__ProvingCostStepExceeded"},{"inputs":[],"type":"error","name":"RewardLib__InvalidProtocolFeeRecipient"},{"inputs":[],"type":"error","name":"RewardLib__InvalidSequencerBps"},{"inputs":[{"internalType":"uint256","name":"proven","type":"uint256"},{"internalType":"uint256","name":"requested","type":"uint256"}],"type":"error","name":"Rollup__CheckpointNotProven"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"actual","type":"uint256"}],"type":"error","name":"Rollup__InvalidCheckpointNumber"},{"inputs":[{"internalType":"uint256","name":"minimum","type":"uint256"},{"internalType":"uint256","name":"provided","type":"uint256"}],"type":"error","name":"Rollup__InvalidManaTarget"},{"inputs":[{"internalType":"Epoch","name":"deadline","type":"uint256"},{"internalType":"Epoch","name":"currentEpoch","type":"uint256"}],"type":"error","name":"Rollup__NotPastDeadline"},{"inputs":[{"internalType":"uint256","name":"checkpointNumber","type":"uint256"},{"internalType":"uint256","name":"pendingCheckpointNumber","type":"uint256"},{"internalType":"uint256","name":"upperLimit","type":"uint256"}],"type":"error","name":"Rollup__UnavailableTempCheckpointLog"},{"inputs":[{"internalType":"int256","name":"value","type":"int256"}],"type":"error","name":"SafeCastOverflowedIntToUint"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[{"internalType":"uint256","name":"manaTarget","type":"uint256","indexed":true}],"type":"event","name":"ManaTargetUpdated","anonymous":false},{"inputs":[{"internalType":"uint16","name":"oldBps","type":"uint16","indexed":false},{"internalType":"uint16","name":"newBps","type":"uint16","indexed":false}],"type":"event","name":"ProtocolFeeMarginUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"oldRecipient","type":"address","indexed":false},{"internalType":"address","name":"newRecipient","type":"address","indexed":false}],"type":"event","name":"ProtocolFeeRecipientUpdated","anonymous":false},{"inputs":[{"internalType":"struct MutableRewardConfig","name":"rewardConfig","type":"tuple","components":[{"internalType":"Bps","name":"sequencerBps","type":"uint32"},{"internalType":"uint96","name":"checkpointReward","type":"uint96"}],"indexed":false}],"type":"event","name":"RewardConfigUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"oldCalculator","type":"address","indexed":false},{"internalType":"address","name":"newCalculator","type":"address","indexed":false}],"type":"event","name":"SequencerRewardCalculatorUpdated","anonymous":false},{"inputs":[{"internalType":"Timestamp","name":"_ts","type":"uint256"}],"stateMutability":"view","type":"function","name":"canPruneAtTime","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCheckpointReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"Epoch","name":"_epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCollectiveProverRewardsForEpoch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_checkpointNumber","type":"uint256"}],"stateMutability":"view","type":"function","name":"getEpochForCheckpoint","outputs":[{"internalType":"Epoch","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_checkpointNumber","type":"uint256"}],"stateMutability":"view","type":"function","name":"getEthPerFeeAssetAtCheckpoint","outputs":[{"internalType":"EthPerFeeAssetE12","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_checkpointNumber","type":"uint256"}],"stateMutability":"view","type":"function","name":"getFirstProvenBy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_prover","type":"address"},{"internalType":"Epoch","name":"_epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getHasClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"Epoch","name":"_epoch","type":"uint256"},{"internalType":"uint256","name":"_length","type":"uint256"},{"internalType":"address","name":"_prover","type":"address"}],"stateMutability":"view","type":"function","name":"getHasSubmitted","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"Epoch","name":"_epoch","type":"uint256"},{"internalType":"uint256","name":"_length","type":"uint256"},{"internalType":"address","name":"_prover","type":"address"}],"stateMutability":"view","type":"function","name":"getHasSubmittedFullEpoch","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"Timestamp","name":"_timestamp","type":"uint256"}],"stateMutability":"view","type":"function","name":"getL1FeesAt","outputs":[{"internalType":"struct L1FeeData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"baseFee","type":"uint256"},{"internalType":"uint256","name":"blobFee","type":"uint256"}]}]},{"inputs":[{"internalType":"Timestamp","name":"_timestamp","type":"uint256"},{"internalType":"bool","name":"_inFeeAsset","type":"bool"}],"stateMutability":"view","type":"function","name":"getManaMinFeeComponentsAt","outputs":[{"internalType":"struct ManaMinFeeComponents","name":"","type":"tuple","components":[{"internalType":"uint256","name":"protocolFee","type":"uint256"},{"internalType":"uint256","name":"congestionMultiplier","type":"uint256"},{"internalType":"uint256","name":"sequencerCost","type":"uint256"},{"internalType":"uint256","name":"proverCost","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getProvingCostPerMana","outputs":[{"internalType":"EthValue","name":"","type":"uint256"}]},{"inputs":[{"internalType":"EthPerFeeAssetE12","name":"_ethPerFeeAsset","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProvingCostPerManaInFeeAsset","outputs":[{"internalType":"FeeAssetValue","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRewardConfig","outputs":[{"internalType":"struct RewardConfig","name":"","type":"tuple","components":[{"internalType":"contract IRewardDistributor","name":"rewardDistributor","type":"IRewardDistributor"},{"internalType":"Bps","name":"sequencerBps","type":"uint32"},{"internalType":"contract IBoosterCore","name":"booster","type":"IBoosterCore"},{"internalType":"uint96","name":"checkpointReward","type":"uint96"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRewardDistributor","outputs":[{"internalType":"contract IRewardDistributor","name":"","type":"IRewardDistributor"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getSequencerRewardCalculator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_sequencer","type":"address"}],"stateMutability":"view","type":"function","name":"getSequencerRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_prover","type":"address"}],"stateMutability":"view","type":"function","name":"getSharesFor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"Epoch","name":"_epoch","type":"uint256"},{"internalType":"address","name":"_prover","type":"address"}],"stateMutability":"view","type":"function","name":"getSpecificProverRewardsForEpoch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"struct ManaMinFeeComponents","name":"_components","type":"tuple","components":[{"internalType":"uint256","name":"protocolFee","type":"uint256"},{"internalType":"uint256","name":"congestionMultiplier","type":"uint256"},{"internalType":"uint256","name":"sequencerCost","type":"uint256"},{"internalType":"uint256","name":"proverCost","type":"uint256"}]}],"stateMutability":"pure","type":"function","name":"summedMinFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"getSequencerRewardCalculator()":{"returns":{"_0":"The calculator, or zero if every checkpoint receives the default sequencer reward"}},"initializeConfig(RewardConfig,address)":{"params":{"_config":"The full reward configuration, including the immutable distributor and booster","_sequencerRewardCalculator":"The initial sequencer reward calculator, or zero for none"}},"updateConfig(MutableRewardConfig)":{"details":"The owner-only fee and reward setters below hold their validation, mutation and event emission here rather than in the Rollup. The Rollup sits close to the EIP-170 limit, and an event's topic hash plus its argument encoding costs it ~75 bytes per emit site; the `FeeLib` mutators inline another few hundred. A delegatecall keeps `msg.sender`, storage and the log's emitting address, so moving them across this boundary is behaviour preserving, and it only costs gas on cold admin paths. `ProposeLib` calls `FeeLib` directly, so `propose` is unaffected."},"updateSequencerRewardCalculator(address)":{"details":"Accepts any address, including zero (no calculator). The event is emitted even if the value is unchanged.","params":{"_calculator":"The new calculator, or zero for none"}}},"version":1},"userdoc":{"kind":"user","methods":{"getSequencerRewardCalculator()":{"notice":"Returns the current sequencer reward calculator"},"initializeConfig(RewardConfig,address)":{"notice":"Writes the reward configuration and the initial sequencer reward calculator at construction"},"updateSequencerRewardCalculator(address)":{"notice":"Replaces the sequencer reward calculator and emits {IRollupCore.SequencerRewardCalculatorUpdated}"}},"version":1}},"settings":{"remappings":["@aztec-blob-lib/=src/mock/libraries/","@aztec/=src/","@generated/=generated/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@oz/=lib/openzeppelin-contracts/contracts/","@test/=test/","@zkpassport-test/=lib/circuits/src/solidity/test/","@zkpassport/=lib/circuits/src/solidity/src/","circuits/=lib/circuits/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":100},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/core/libraries/rollup/RewardExtLib.sol":"RewardExtLib"},"evmVersion":"prague","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"keccak256":"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7","urls":["bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b","dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x4251fed1ac036ad28996501522371736318527d7bf2bf7d66fbd2769d6c4771b","urls":["bzz-raw://b2df261bd4de240f54c5829faeaf0ffc919a01f1497cf7ffd8a9a544bdec8fca","dweb:/ipfs/Qmb9ndUuv9RZPKJXZGzjVuhmNuoizxuGRn4QMBmdmLcxS3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol":{"keccak256":"0x8447b57b63810fe2e367c09496a966f143ec0e825d71ddb9fce2506cff84b618","urls":["bzz-raw://996cb48f793bf151555045b37138e36b3cdb31d6bc6552d3149285260be00cfb","dweb:/ipfs/QmcLaTTMNVbkMx58xhkp6GeFt4V3GtSyupZuaKG3vYW2Zc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x9e82c00fb176503860139c6bbf593b1a954ee7ff97ab2969656571382b9b58a2","urls":["bzz-raw://34b4eb157b44d4441315db65561ba7cf0fe909dc598c2cfd7080d203077d5b57","dweb:/ipfs/QmcNdvK3kDUAUr48urHxoeHd1TqVDya4YfZTM66i4goEJn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/TransientSlot.sol":{"keccak256":"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1","urls":["bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889","dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84","urls":["bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9","dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575","urls":["bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e","dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0x2c33f654cefbbe80a9b436b5792cfe8bda2e87f139f110073c99762558db252f","urls":["bzz-raw://dc7ebd80046a52f28978cf46a24ff3e4c8568264ab6bb138038951c75d576167","dweb:/ipfs/QmQQjXVr4CbDR3DXd8GHEqn3JSJYTnbBHMJp9tvc29yXrc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol":{"keccak256":"0x3616f1b0d0a9ee1ca8f0953ecaceb9230e36f691c7974d30f964212acff52d2b","urls":["bzz-raw://d4bebdd07b31ac28e3e596ac6f0333da90a4e332405aa7d65f3a3a7e0b4cf15e","dweb:/ipfs/QmckoDU5bBnye2UtPcrfJNahLD2FbxrnPP9nrREMWPpnug"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"},"src/core/interfaces/IEscapeHatch.sol":{"keccak256":"0x1a499acad8813b56e7d9cdcff3152e36196482794e62302e95a28603f5915747","urls":["bzz-raw://18da3711ad1fbc413336c252709e1ad32d51092336fbe6c2428b48768f58352c","dweb:/ipfs/QmdkMJiH1pdcuoLe5zPHeMtnFhZ1k7PLZJtoWQUcpcm4bJ"],"license":"Apache-2.0"},"src/core/interfaces/IFeeJuicePortal.sol":{"keccak256":"0xce84c8907395b4c11cc6dd8035d8e14560153450f9d88340cfb8abb914c66639","urls":["bzz-raw://f5eb389f1a6e9adbb2f24dad7a6c0bc706d49decad82ba9b582c288e12eddda6","dweb:/ipfs/QmNM3uQmJYn9B6RAHSMUT3TZMR6R75okjJErUEsuRjxGXt"],"license":"Apache-2.0"},"src/core/interfaces/IRollup.sol":{"keccak256":"0x4885f9bbf279f63143fa0ccd21ce4918fd34eef9ce4ba871c78c22ae6c174f8b","urls":["bzz-raw://c3eac7f06a1db468466f6e977fc204b4106808d0293ca57d336004ed33cc0add","dweb:/ipfs/QmUzzFrVi15V2WRFsgpSmDQBfPUbbA4ochmZD55VhovJBR"],"license":"Apache-2.0"},"src/core/interfaces/ISequencerRewardCalculator.sol":{"keccak256":"0xb7fb4ad1c171762783aecdd5e85036e71990438fc11e1121842b31c431ff0c67","urls":["bzz-raw://15bf6fea8074c7a5f71860b325786d2dd5b625cbfb5b0bd4d0fc4f1a5f566d5a","dweb:/ipfs/QmTH4XovGivVCs4Hp6PT3UVKLrSCPPtv1mmtvUeALVCnAZ"],"license":"Apache-2.0"},"src/core/interfaces/ISlasher.sol":{"keccak256":"0xf7dc3b2795b2806dbec7c94c33665abcf00a35ee65802a47f6222faf8641d302","urls":["bzz-raw://d7c9283746c66f04df5a133145b3196fc176e06e2fe6b3285056ffac68a09e9b","dweb:/ipfs/QmPxTkM1eMNFny3yibc69p1GqWvPkno5fzBjyju89h7CNk"],"license":"Apache-2.0"},"src/core/interfaces/IStaking.sol":{"keccak256":"0x81ddf8fa0cf8a213d690845fd4d3e31e45c543e5876612e94607cdb753804f1d","urls":["bzz-raw://7e0ae2a10903274cca7231306660dd6d5d1e5632238618b390aa7f4dfa5422f3","dweb:/ipfs/QmTMXRYdNGnmecbUdREFfgsLwnMsRjDseLVXsvPqQoiago"],"license":"Apache-2.0"},"src/core/interfaces/IValidatorSelection.sol":{"keccak256":"0xe22dc335f3fd5f5cbf10928fa7e9e945ea8a04fa99362ec6e2022c862d7baca4","urls":["bzz-raw://e26be09d3c823c545a2252467e13b68d366f3e711e15085be09f565ac436acc9","dweb:/ipfs/QmS1ddcZteAjeojaJJz1ZgRPdynzpNu1HSSPbmEjJNe99G"],"license":"Apache-2.0"},"src/core/interfaces/IVerifier.sol":{"keccak256":"0xf5b6025ff3d59b8922bb45fb05786764e74109b4a349d206b8a7979f46484c55","urls":["bzz-raw://98ec47ac3e15b1d8f2c80854ed6fd83e655e9e96341bb827f3be8e6b47f4c7fb","dweb:/ipfs/QmcmUkLgM7fb7mEaJTiWJWrZTW2kAWtRcYS6imBfmueALe"],"license":"Apache-2.0"},"src/core/interfaces/messagebridge/IInbox.sol":{"keccak256":"0x1149c904c8b3bd2942628fbab5480cdc044e831d51963f9e6946f1974cc162bd","urls":["bzz-raw://af2f1f49feba389b0bdbf427c4a85fac2908699585e5babd75f77cf14416ed5f","dweb:/ipfs/QmZYjZyhicCpTcwPuWTjTTUxnaBnfv5bTMWDgxyDGqy8Gm"],"license":"Apache-2.0"},"src/core/interfaces/messagebridge/IOutbox.sol":{"keccak256":"0xf66d0bb4f6d978acf91a036737cd4326bfab16a4030d10510d2976e4218ed8ad","urls":["bzz-raw://e796eea21d552b2ca4d0446bb096e2c980ab84816d9dd1398113293ae8128b30","dweb:/ipfs/QmNuGgRtPFgRe3asa68vDMcWpyfDFqQ5w5j5U7yWD1EsyZ"],"license":"Apache-2.0"},"src/core/libraries/ConstantsGen.sol":{"keccak256":"0xe328f94338f5563669e04618c3ec21ec38b9f21ab24d5de698d80cf38f977dfa","urls":["bzz-raw://3d9872c9a78d7241053e9ce3eadf192d18a9cb4b95c0ac120470d92435b7216e","dweb:/ipfs/QmcRnfbW8sNWwRHPik4wvkA7CTY1BTjuf2ydu3jN5otQJT"],"license":"Apache-2.0"},"src/core/libraries/DataStructures.sol":{"keccak256":"0x5ea9d1097f0b53eafbd72332d4c5c517307e5a056266befe5b46f5f43ee3d83c","urls":["bzz-raw://1a742311dc3c5ead2d5361549f017d20f46c40a4e74e879823ac168cf5b572d4","dweb:/ipfs/QmTNDc1fiPti41QqJTJQoV9uduB6eXaQhbfq1hfVVjVNvS"],"license":"Apache-2.0"},"src/core/libraries/Errors.sol":{"keccak256":"0x282e22d0eb9cd8f22f7bfaef3c3e3cad5461734d6e421f392b372a146c83d467","urls":["bzz-raw://5c250d031a44b257109f81417bb89c0e5b99d44bb17a55379695061afa9d3ef1","dweb:/ipfs/QmenxQJyukQT7KkCsfXV6by3VU6qumEUnK4EH4mqHAw6iK"],"license":"Apache-2.0"},"src/core/libraries/HatchMath.sol":{"keccak256":"0xca787b2889e281c8db132043312aa9513315669782981689824344c910833fe4","urls":["bzz-raw://77ec2f6b5919d53d3a7128f6006155f2566a84e7a56cd26e9d5e6d1514ccd7a2","dweb:/ipfs/Qmc3Z2quujEwxQU1JBfrxhkiULaczspBsTMjXibqXCjFyd"],"license":"Apache-2.0"},"src/core/libraries/SlashRoundLib.sol":{"keccak256":"0x6773eea1fa593e5c1e16fcd3a8341b537bf5ed7ee2f10472649dfd542e3ade8e","urls":["bzz-raw://756bdaa3facd4034149eeb3553ae99777b646c3e16abf8d41f9558e74249baa6","dweb:/ipfs/QmNpb62diGKNKf5pcynejjhNex9c6PTkZnVUeuLvJ2qCZ9"],"license":"Apache-2.0"},"src/core/libraries/StakingQueue.sol":{"keccak256":"0xbbeafda1659a92be14ec5b77838952a089f075cc1d0c5f348b6ff336ea6a1a98","urls":["bzz-raw://f3c8bdb1de77dab697ef4442f72fa4830c757059f8d948d2f3aeb7f6983aa64f","dweb:/ipfs/QmSDYdTnFo8nx34q3fdJCKpy8DCnKBQ4isxr49o4sY5T6T"],"license":"Apache-2.0"},"src/core/libraries/TimeLib.sol":{"keccak256":"0x865b760fe681ee74a93b49491d897a98091432ebc2923ff17717ddb6d26d31ab","urls":["bzz-raw://4ccdfb80464d8e58a95a68314fe2dd33f4a1634ab0695a9a4e9c180a50cc592b","dweb:/ipfs/QmNUUFN7RTjiicZCkci6eEnfromVTPS2MVE4CkbqoneV6P"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/CheckpointLog.sol":{"keccak256":"0x613513b7eb7855ff619c9eb3f1589fcfb0d7675e15c5261034ac353a62c5cabf","urls":["bzz-raw://110e7cc1eae76116a6682a9044cf9031744a7a8c46164987e246923169618d5e","dweb:/ipfs/QmcuhMXiGWjAbYGYYXKrTCLNYguQZpgxpWVWteJezYKVzQ"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/StakingQueueConfig.sol":{"keccak256":"0x32b00fd08e1754d9d9c9b377ae0a0ea887ace519db0ec6d252e1b2216891068e","urls":["bzz-raw://4ecea0a1ff8536819d37d3800b2915249b5c854d9dc611e91aae81df6acf7d76","dweb:/ipfs/Qmf3FgXCf1MP78p5B76kQnwx8yXFXncutVzQhV2fteBvVn"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/Tips.sol":{"keccak256":"0xdf872f54470e59b86349871e2c12075e8daaad85894f90e64f92538daf5f4008","urls":["bzz-raw://493e4bc02c6e9acbb5bfaa68f19bf4defb409211b701784e43d2ca6cbc11ccd1","dweb:/ipfs/QmSUahndZ78LBx6WdozXWL6QkqxZXzrXpHna2kGwCqgy34"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/fees/FeeConfig.sol":{"keccak256":"0xd5593d342fd9e75cf10d9c126d5aa46eab6707221111d81757e0f5c3473c23fd","urls":["bzz-raw://5cdfdfa94ea9d7b93cb80bdbd9e81c80fc7d71de890d88bb957960d0d5734298","dweb:/ipfs/QmQ2VjHtpja19AxDnGg2Q5hCck678PUrfLDuwUNvcyo4YS"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/fees/FeeStructs.sol":{"keccak256":"0x23304769b5d5098b6d6b1092be483f34c0c901d7e14667404e8c5335dad8b501","urls":["bzz-raw://9ef5000b6a27a338f60dad80f73ea03d6560afc46c063d8d52932574d82cf157","dweb:/ipfs/QmSzdqmERrrCqdfqy4jXhdiyokyNRLvi4qLp85iw8rR9iJ"],"license":"Apache-2.0"},"src/core/libraries/crypto/Hash.sol":{"keccak256":"0x0e2bad615ee34b98ffdc7b81558e78ad3701cf8e02dc0fa4721555b4cdb861cb","urls":["bzz-raw://8f69943a9ad3fba8a12ae34b3d60815c4339ea66a5ec75beb781d22a872c2d4d","dweb:/ipfs/QmTfjRk9vBaxfziFgwYzWgTWFEvbB8EEudkcYupPw6qLXW"],"license":"Apache-2.0"},"src/core/libraries/crypto/SampleLib.sol":{"keccak256":"0x59e87e7d6a1e966c0f73bd919825ff7d81dc898625fe9fd20e6786e10b43783e","urls":["bzz-raw://a931d31192faf6d9d9c82fc7099a776b5886d90dd0a2a9ee8093cc680dfdef70","dweb:/ipfs/QmbQjTTf96tr2WSiuoWK8k984dGuXKooZWZ5o9EL7wEPhv"],"license":"Apache-2.0"},"src/core/libraries/rollup/AttestationLib.sol":{"keccak256":"0xf2111c30dc0d6c81d4f990990dfa37813932180e2b94739050356c5942f316e3","urls":["bzz-raw://fc4d8c42797fa58646094be9e108a60a278f2c2beea06bd7b06b00933b00c5b9","dweb:/ipfs/QmdNPs36gak9y4YoCQq2ttv1nj8ALyab6f9P7SoozECrfN"],"license":"Apache-2.0"},"src/core/libraries/rollup/BlobLib.sol":{"keccak256":"0x5b0d454bd38592154954f1da4cc59f50a036d0a28a169401abd9b5fdb88a4fe1","urls":["bzz-raw://68cf3a3fa979a6cfdc618e66621a0233263a83c259b17f6193fb0339796bee9d","dweb:/ipfs/QmcRKQmFf8mZxWKUT7Vgg3LnTxVsCen5f8TnMqCQMGi2j6"],"license":"Apache-2.0"},"src/core/libraries/rollup/CoordinationSignatureLib.sol":{"keccak256":"0x939c2aa29f536822f1f35db30af3b783986612bb35a210c583247f764c39dfae","urls":["bzz-raw://6f5e71fe318f83063eda2027992740e7be7e0274887b4c11ab00ef3199398729","dweb:/ipfs/QmPGkRVfkoLj8bi95vyySrtFeTaUGf62qcWoBy1nZRjZQc"],"license":"Apache-2.0"},"src/core/libraries/rollup/FeeLib.sol":{"keccak256":"0x78cccc8618137ebda0ca1cb68071a6458eff5c1e4eecce22de77c7479cb2f917","urls":["bzz-raw://eb96d87ba3229de5d5a8e8cd9e1c29438789e578f915d787f2f7c0788f380679","dweb:/ipfs/Qma3VYid6EyGtNCLertDyViT1Z8Ma1vNnc7EAEmJfxf8t9"],"license":"Apache-2.0"},"src/core/libraries/rollup/FieldLib.sol":{"keccak256":"0xd09f77d3aa6d7efc844e99bd496a145171613825bc45d35e1518889098f91e95","urls":["bzz-raw://499d0aeb3c7b6801e49f7554110a194ebeca73bec4ddf4b00ea8dd64fcc4b2ac","dweb:/ipfs/QmQf7EeP4kwTGPR2xfDK2MpNAqqcAY4vWZ3faEKn6JEW8R"],"license":"Apache-2.0"},"src/core/libraries/rollup/ProposeLib.sol":{"keccak256":"0x90d4fff721a1bcdbb555aad73a040ac1f0c3a61e286b0f291f47248129d8a777","urls":["bzz-raw://988c7390ba413ae25939df5a9f8850649106627ddf453a60b472e31c32a97156","dweb:/ipfs/QmXNPKm6y3bgTmjfeTMrY4sfBUFT4fLxZsMBBSC13Nt6oy"],"license":"Apache-2.0"},"src/core/libraries/rollup/ProposedHeaderLib.sol":{"keccak256":"0x43a9fa530b7cb948c1d7c436bddafdd8ddd8c022c67e25045372bc68b9e5018c","urls":["bzz-raw://904e4aa94b322f68c605dd34ea38bb77343437e2f2203c3e650cf7a7bb3aa19e","dweb:/ipfs/QmX3H4PMwh57L5Zv3LFrHjkNmgVZiik4FmzSyJhnTJcqPD"],"license":"Apache-2.0"},"src/core/libraries/rollup/RewardExtLib.sol":{"keccak256":"0x258e1b7ebfa2c5cecc4d5bcecacfda7e6398b0191a08d6f2a9f775724ab7fd5d","urls":["bzz-raw://9d1d38d938a44dd27419cb656a7726609da2dc074fef9c54e35909d5e304915b","dweb:/ipfs/QmSZ6VVTYYBXQra114KmdZyVXVSh6J8MLKRjwEF9EmE3fp"],"license":"Apache-2.0"},"src/core/libraries/rollup/RewardLib.sol":{"keccak256":"0x3a73a07577c713179be2de8df601445e79c606afb42f74bed33d1000c6f14ff8","urls":["bzz-raw://e432e402f6721bf70849ae3d731dcc669abeeb7df8399c878cc946fea0657a1a","dweb:/ipfs/QmYuGKQvN9iFhQpKLo6Rd7oTkMZx6VfdrJFh6tVgLEDg5M"],"license":"Apache-2.0"},"src/core/libraries/rollup/STFLib.sol":{"keccak256":"0xcb2ae0566bd5b0834f8ec2f73d78037f25d4d65894bff1ab8abcb9f8c65c7bc0","urls":["bzz-raw://35689b10ee3d4fff126625efa170fe77c617441fd7902d7376488af5061a79e0","dweb:/ipfs/QmUzDZoMrpJAuhVYVGSruX4mj9jTJmSZncvoTHbsyZL7eM"],"license":"Apache-2.0"},"src/core/libraries/rollup/SequencerRewardCalculatorLib.sol":{"keccak256":"0x2d5e8efc5a87bec1d50a8c9df0696a8248e0905ab62dcd7ec6a51527ad33b604","urls":["bzz-raw://15d4a7d1f265fc1a248762702373534fcae9d85df5150e5e1a45f79b94736ed4","dweb:/ipfs/QmdAT5Aw6JSg5GJnTikfDtJHnJZuMib7L8GB3yQ4jMuiFr"],"license":"Apache-2.0"},"src/core/libraries/rollup/StakingLib.sol":{"keccak256":"0x6e3c96f937701c67570d902aca8d2f9a1ee35942e17b1e5a375b264582a6fe8c","urls":["bzz-raw://ddb78c290af17a9574b89104177d2f1079c5abeb462446722b8fb09e03659ea6","dweb:/ipfs/QmURXaGC2SRKZc36NQZ4SXqNtgY5MpYQRamS3Shn2GMAoe"],"license":"Apache-2.0"},"src/core/libraries/rollup/ValidatorSelectionLib.sol":{"keccak256":"0xea94ff99c5e47c51bbd4ffe8282447c7aae23065e255ec2d2806a11901ab1752","urls":["bzz-raw://4e5c466c3c0ca5834c41714ddd64e7e5a34e6c37a5d57ddbed40b567582746bb","dweb:/ipfs/QmUYZ4KgwoUhxQCMtazUgj8tN6wkRHcakZ5rg5EjQq1XuU"],"license":"Apache-2.0"},"src/core/reward-boost/RewardBooster.sol":{"keccak256":"0x1cffe0dcbc06775ad415b06cd3591f74331bad3b154a3305ea6c5a081915fce0","urls":["bzz-raw://a2fcdbdcc260b3330bae0bc61227f652f9cb68e175fbc7d4173bf1d2dfaa92d1","dweb:/ipfs/QmddUmciRbznTTfBpbZf2p3R9sC1oePRF9C3Swnq8qU3Xb"],"license":"Apache-2.0"},"src/core/slashing/Slasher.sol":{"keccak256":"0xc3040cd1813a6064a6afda9ca8b1f65f5cba2e7359050c48507d2f71d3606786","urls":["bzz-raw://73f73fac9ffe650304c68a49635604806b86b0a5baadbf59ef36931e7937bc51","dweb:/ipfs/QmaMMMXycUeybJyf2ZowJgQ1Wo4ZC7g5kyp1BHWfj8dkD9"],"license":"Apache-2.0"},"src/governance/Bn254LibWrapper.sol":{"keccak256":"0xea39571de45fe0fec82d9e760998677eb2432e08c6cdb00c41efa58caf56e607","urls":["bzz-raw://1e470b821f3d87fa0c988c5f23a8deed3849bffd2527b3b4ee137a90e0c1264c","dweb:/ipfs/QmW3M4HyRLDruV5AYXCKicFCiiczmwnSTtnwVKUnQSm7a8"],"license":"Apache-2.0"},"src/governance/GSE.sol":{"keccak256":"0xc19fa4868d78030e2411dd5cef6d0da09645ade1d1ea0c4374b284a89feb722a","urls":["bzz-raw://d06396c249566d0e9de5d34eade2bf27c4d583005c0129787bf6c413dcd9e273","dweb:/ipfs/QmcimKKiV9KqobS5wzPsKYzyYu5WezCF3gyHkekf5tjrUU"],"license":"Apache-2.0"},"src/governance/GSEPayload.sol":{"keccak256":"0x40e5385b008f0335b50e066c647bb906685511c9fef206ce90a3391468558bae","urls":["bzz-raw://a129e87e1d57cf0813b14108cbdbcdd4c114b20f3f2d67477302d6d050120c7e","dweb:/ipfs/QmRcQQkeDhkrmQha3nkA8qvXnGmF6nLhZMKAhMx61A7a5y"],"license":"Apache-2.0"},"src/governance/Governance.sol":{"keccak256":"0x07770c3d80369adae51be8e361f63a2aa5ec489b354b10c8590be1e294dfe2e5","urls":["bzz-raw://7219becf3467ea8368dba0bd093ba932b165cf3f214e7286f652e2730bf42eaf","dweb:/ipfs/QmTSCDhSQBTKhzGUk12phxhqohSba6yopYMzF5T5XPFUWw"],"license":"Apache-2.0"},"src/governance/interfaces/IBn254LibWrapper.sol":{"keccak256":"0xdd0a3de8b8ff67cf2bf090d04b4a37aa6d604f402db3328387d2466d2354464a","urls":["bzz-raw://daef0234547509cd7ae3a7babf0e50a8d1ca2894f1817e3e2409a50fd32947b9","dweb:/ipfs/QmbwSedqnBfsqRnUq8XcXzoeoyhZTXJWJ9rpJn61BAJfej"],"license":"Apache-2.0"},"src/governance/interfaces/IEmpire.sol":{"keccak256":"0xe6a8a8c3fef8e6f9f5118bd40c63e951b13a59d5f885bbb979d38745ef760ed3","urls":["bzz-raw://940c1fe4138d7364ccdb7d5635ea90bafa1da274f680039b0b54ee8c2a275a9a","dweb:/ipfs/QmX2EeoVyES18BMgcbKVDb36MCq8ooDVR98m2RmnmZjEAo"],"license":"Apache-2.0"},"src/governance/interfaces/IGovernance.sol":{"keccak256":"0xe420d305fbe7c35f4620cd1e0f05f9f4c5a91532621d21a64ea553a3d9a3c005","urls":["bzz-raw://1900ac41f945aa692d5228f134ae63840081d284bf89fdd2a06b45424fe359ff","dweb:/ipfs/QmePFZ1xv5qfftJVDLc98XUVFsrpuKAbKZiro7MoMDTpoa"],"license":"Apache-2.0"},"src/governance/interfaces/IGovernanceProposer.sol":{"keccak256":"0x2be820a5452c481ffd329d68c46d0af6a286934963f26b36d363cd34fb0e5817","urls":["bzz-raw://f58839d1504e11e7da42b7f5a03fb9b9d8cc39ab4c16cfb86fa44c4de08df76f","dweb:/ipfs/QmR6jUJozP9tfpZuSduk66E8n7WuL3zzsR3WHZ7BR2ZBX2"],"license":"Apache-2.0"},"src/governance/interfaces/IPayload.sol":{"keccak256":"0x5844ea725ce56ac8adeb20b2d37aa431ca087f68a65a7ca91f981be7458737c3","urls":["bzz-raw://5ea670db51b2ccfac05a684b95458ecc015c9d12a6567c3f73d473386533f58c","dweb:/ipfs/QmRUB8mckkGQ4nNsErRhnKMsD9SSkokRSpnr5XZC9dZdin"],"license":"Apache-2.0"},"src/governance/interfaces/IProposerPayload.sol":{"keccak256":"0x89068dd464c0bfb7d447c0e99728277e03c7c4b864208ead20321f0590187248","urls":["bzz-raw://4d1d9ba5f8b7da374d773acde9514ca6607ad31a3e83950caa097bdb8b0f9167","dweb:/ipfs/Qmd7tWAD2Ubz434zZPJvuyAGsHYpXBHvVhVefLFzUudD2o"],"license":"Apache-2.0"},"src/governance/interfaces/IRegistry.sol":{"keccak256":"0xc3678c04c0945d3dc1d8007df3dc7f8b25d8108b0b25134842ffc5169f996ce8","urls":["bzz-raw://71e4e401f1a6f561262755cc2e1c347cd3aa79e67d2e52ca547864f49de01724","dweb:/ipfs/QmPvoKFEDTb41DSC3MmDMqtM3trj5oZb1Jj2jtQSnNfHBn"],"license":"Apache-2.0"},"src/governance/interfaces/IRewardDistributor.sol":{"keccak256":"0xf263f75be83d0b0e3c8f17ec7fc2558d3543df788dcb2db6f1ee158208134f14","urls":["bzz-raw://b2b65819a5f9ecd2237957e987bb69160d3076ccaf9f76f925a936e574d63d76","dweb:/ipfs/QmNgWESeo6UUvgW7rCMP3d4o8mUqSSbKrwbicH4kaUrm7h"],"license":"Apache-2.0"},"src/governance/libraries/AddressSnapshotLib.sol":{"keccak256":"0x1006e58059e0a1f0fef102f2f11f5649dffc7f2eb066fce51845e65a064f4210","urls":["bzz-raw://de385ab9eb3bb66d7be1218b49ae9bba7d88797bcb375b9a7481a209d303a402","dweb:/ipfs/QmZe6DTv3cACfdXNSMhbMhoefg31LW3uLxHLDC7nZhb4Yp"],"license":"Apache-2.0"},"src/governance/libraries/CheckpointedUintLib.sol":{"keccak256":"0xcd73cf7a62e4ac5cc79f7f8df8b35d5c5e4df5b8a3478bcbc2b29c9aa89ea4b4","urls":["bzz-raw://f56f37060d39d3c9276f23c96be7f6b1ea44676312dbaa1ab16ab3bff6acebf1","dweb:/ipfs/QmPDUEEgdbpTTs9r3fvdMYJo9akCRsWcJXyarBhQgcKb5q"],"license":"Apache-2.0"},"src/governance/libraries/ConfigurationLib.sol":{"keccak256":"0x7cb65bdbd8d077f3cfc01b065fb3a57628db36cd46f68885c74b9131198c2149","urls":["bzz-raw://e37bde50f5f739f479feb95fbe81ed24ee47f841b99f066ecf6782e758d1978a","dweb:/ipfs/QmebPE5REUpYRB8dikUebcGtyk9uy44G9mbchKJtHxJAgy"],"license":"Apache-2.0"},"src/governance/libraries/DepositDelegationLib.sol":{"keccak256":"0x37fbca65ccabec9d901bd71d684dceec7c59fa5a05438fd209ea0d5e16e764c0","urls":["bzz-raw://e42f2622978abc3ac84223a6b206201898d0269d20bf81539636c0999a0db9eb","dweb:/ipfs/QmW4BgTjR6BuPxwxreKarUeK1u8gx3p9yFdDD4EsC5hkyb"],"license":"Apache-2.0"},"src/governance/libraries/Errors.sol":{"keccak256":"0x8861ea7508138c83e89f186ce17accb42a6eee7d1d2e52841975d4ba676daae4","urls":["bzz-raw://b0d5b01c2b0a20c3c70a7ab2b8405d083a063bf5758beb87a4d488bda76078fa","dweb:/ipfs/QmfGH6CTCPA6nVA6KidcTSvaJ6MQZkv6KiuDVBTARGBTRv"],"license":"Apache-2.0"},"src/governance/libraries/ProposalLib.sol":{"keccak256":"0x616ffbb24c4454ca9e223e85ff01e8dca139723d5cd312d5d6f6111d79782a90","urls":["bzz-raw://192f9be3355a7a94d19ae4e5b397e5db19dde64ccc671e149da06dfaa2577192","dweb:/ipfs/QmTDcm7XEFLe7o5cXUmuu5wQDyprU78AVMymiWvrmP4tHT"],"license":"Apache-2.0"},"src/governance/libraries/compressed-data/Ballot.sol":{"keccak256":"0xca07dc8cf36ac2beae7674804af144b34b3c5848153351c17d996e9b3293cd5d","urls":["bzz-raw://6911cc49f1d6977c12f652063c14891697c1ffe49fdf36903c32a8ad73cbd012","dweb:/ipfs/QmQBEZARCAAj1ZLcswkH6FwP1RP8uuNjYTHqthmE9Z5RnM"],"license":"Apache-2.0"},"src/governance/libraries/compressed-data/Configuration.sol":{"keccak256":"0x40744f275af22d33c38fd9c6a7b822292c9c87b17ac2c78abbef4eb8356fd9f9","urls":["bzz-raw://73c685be7e934516207827a59cbbeb7fc1164e7659dd3ec857a91cfea765b482","dweb:/ipfs/QmQfudRpSSQnG9u4XV8iA2UAyDzQPFqWzpZy5NZbaD6htv"],"license":"Apache-2.0"},"src/governance/libraries/compressed-data/Proposal.sol":{"keccak256":"0x72cf619a21c8e95875c63d4361cbe1a815d9d67f36f3fe32b6c9ca4d9ab0d33a","urls":["bzz-raw://d80f47beb3f91da3cc68264c86fc8fb8f0e4abaf9d92243ab3206407fceed5c6","dweb:/ipfs/QmYyrBTDMfkTBu6EcKcSMR7JyfphZ5xH1VCQ8EHMQUvsoN"],"license":"Apache-2.0"},"src/governance/proposer/EmpireBase.sol":{"keccak256":"0x747b20e201dab632a831c12f1fee9ee52cc80a2098c77e8b6c7b09b0f3ba2bc0","urls":["bzz-raw://b7d4a0475ca364f75aa2a1d17ed9e6970f0be605126f2efe26d53c791d4a5209","dweb:/ipfs/Qma5tkTcy94PqE9vtQybQSyH9LWaHR8V3ubwDPZwiUNT35"],"license":"Apache-2.0"},"src/governance/proposer/GovernanceProposer.sol":{"keccak256":"0xa2829df5b65856c9f1d6bf490fb50616f14402ff8eece2e32b63828b8b9337c3","urls":["bzz-raw://8ad52830a7a3aed3477bf55f92c3d68cb1c16a5cf1d636227ab76a306c846607","dweb:/ipfs/QmRonyZQZj5D1e2g4Y6Tmj2AEUnekL4pGmgdMT4ycRAM8m"],"license":"Apache-2.0"},"src/mock/libraries/BlobLib.sol":{"keccak256":"0xa1b19239c5c64ba1b0c9f83ec0a30059f10ded12bf40d5d7c3f65974752b3121","urls":["bzz-raw://5cbce7d0dd0096232d60ec5c6920f211ffcaa46c8675b1129c1f939a1ee84837","dweb:/ipfs/QmSS2qUhzUuZY1qHDjWUGvHuMqMG3cjHoHeDVvgWsjMdA9"],"license":"Apache-2.0"},"src/shared/libraries/BN254Lib.sol":{"keccak256":"0x0c3a5b7dabde2f5c81f19e1a4a212308a8636b5bb4a16bb1a518d58ef4feb6f5","urls":["bzz-raw://870be6219c7081ed081cee2fa9ad1e7f3efff623ae1a59aed966f2bdcee65b7a","dweb:/ipfs/QmNzohb1TazCgaT1e55CMDuuG7AHdGrGA6jvT4wzxdAM52"],"license":"Apache-2.0"},"src/shared/libraries/CompressedTimeMath.sol":{"keccak256":"0x361023cf30593e7e27417c91af3702e75235fcab251e4ad5ac2e47306a730ec1","urls":["bzz-raw://9b192242472b3126c97a4a4e4fa792809a6bf20b548a57e677f5260c0dbf3ad3","dweb:/ipfs/QmfK4WAucepcqzMLu11rs68HJazwfegVsgK5tTco82SooB"],"license":"Apache-2.0"},"src/shared/libraries/SignatureLib.sol":{"keccak256":"0xb69989f57384383341d1bb4693fb1e6ce31a2ab6c0fadb48bf088078a332a56a","urls":["bzz-raw://f199be27853a14d746c567c5e3a473f474e84cfd3d119a6404e6ceff4e986e5c","dweb:/ipfs/QmWsLozeiKLQbTSEUDVZK2ASEX3EodKxT4DdA9BA6bD6N2"],"license":"Apache-2.0"},"src/shared/libraries/TimeMath.sol":{"keccak256":"0x8da20dc8b4ce296b7c11f117a3381bfe5cd611a3512a74a500e2e54e0353417f","urls":["bzz-raw://18c74be98a4e31e8a16356e573514f639a8fc43928e741f6ead81dd755e9a914","dweb:/ipfs/QmPDEdYYEj3DhXjrCDPuudJbhsBaNj1sK6hH94Z86168Q3"],"license":"Apache-2.0"}},"version":1},"id":113}
1
+ {"abi":[{"type":"function","name":"canPruneAtTime","inputs":[{"name":"_ts","type":"uint256","internalType":"Timestamp"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getCheckpointReward","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCollectiveProverRewardsForEpoch","inputs":[{"name":"_epoch","type":"uint256","internalType":"Epoch"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getEpochForCheckpoint","inputs":[{"name":"_checkpointNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"Epoch"}],"stateMutability":"view"},{"type":"function","name":"getEthPerFeeAssetAtCheckpoint","inputs":[{"name":"_checkpointNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"EthPerFeeAssetE12"}],"stateMutability":"view"},{"type":"function","name":"getFirstProvenBy","inputs":[{"name":"_checkpointNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getHasClaimed","inputs":[{"name":"_prover","type":"address","internalType":"address"},{"name":"_epoch","type":"uint256","internalType":"Epoch"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getHasSubmitted","inputs":[{"name":"_epoch","type":"uint256","internalType":"Epoch"},{"name":"_length","type":"uint256","internalType":"uint256"},{"name":"_prover","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getHasSubmittedFullEpoch","inputs":[{"name":"_epoch","type":"uint256","internalType":"Epoch"},{"name":"_length","type":"uint256","internalType":"uint256"},{"name":"_prover","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getL1FeesAt","inputs":[{"name":"_timestamp","type":"uint256","internalType":"Timestamp"}],"outputs":[{"name":"","type":"tuple","internalType":"struct L1FeeData","components":[{"name":"baseFee","type":"uint256","internalType":"uint256"},{"name":"blobFee","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getManaMinFeeComponentsAt","inputs":[{"name":"_timestamp","type":"uint256","internalType":"Timestamp"},{"name":"_inFeeAsset","type":"bool","internalType":"bool"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ManaMinFeeComponents","components":[{"name":"protocolFee","type":"uint256","internalType":"uint256"},{"name":"congestionMultiplier","type":"uint256","internalType":"uint256"},{"name":"sequencerCost","type":"uint256","internalType":"uint256"},{"name":"proverCost","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getProvingCostPerMana","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"EthValue"}],"stateMutability":"view"},{"type":"function","name":"getProvingCostPerManaInFeeAsset","inputs":[{"name":"_ethPerFeeAsset","type":"uint256","internalType":"EthPerFeeAssetE12"}],"outputs":[{"name":"","type":"uint256","internalType":"FeeAssetValue"}],"stateMutability":"view"},{"type":"function","name":"getRewardConfig","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct RewardConfig","components":[{"name":"rewardDistributor","type":"IRewardDistributor","internalType":"contract IRewardDistributor"},{"name":"sequencerBps","type":"uint32","internalType":"Bps"},{"name":"booster","type":"IBoosterCore","internalType":"contract IBoosterCore"},{"name":"checkpointReward","type":"uint96","internalType":"uint96"}]}],"stateMutability":"view"},{"type":"function","name":"getRewardDistributor","inputs":[],"outputs":[{"name":"","type":"IRewardDistributor","internalType":"contract IRewardDistributor"}],"stateMutability":"view"},{"type":"function","name":"getSequencerRewardCalculator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getSequencerRewards","inputs":[{"name":"_sequencer","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getSharesFor","inputs":[{"name":"_prover","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getSpecificProverRewardsForEpoch","inputs":[{"name":"_epoch","type":"uint256","internalType":"Epoch"},{"name":"_prover","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"summedMinFee","inputs":[{"name":"_components","type":"tuple","internalType":"struct ManaMinFeeComponents","components":[{"name":"protocolFee","type":"uint256","internalType":"uint256"},{"name":"congestionMultiplier","type":"uint256","internalType":"uint256"},{"name":"sequencerCost","type":"uint256","internalType":"uint256"},{"name":"proverCost","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"event","name":"ManaTargetUpdated","inputs":[{"name":"manaTarget","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProtocolFeeMarginUpdated","inputs":[{"name":"oldBps","type":"uint16","indexed":false,"internalType":"uint16"},{"name":"newBps","type":"uint16","indexed":false,"internalType":"uint16"}],"anonymous":false},{"type":"event","name":"ProtocolFeeRecipientUpdated","inputs":[{"name":"oldRecipient","type":"address","indexed":false,"internalType":"address"},{"name":"newRecipient","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RewardConfigUpdated","inputs":[{"name":"rewardConfig","type":"tuple","indexed":false,"internalType":"struct MutableRewardConfig","components":[{"name":"sequencerBps","type":"uint32","internalType":"Bps"},{"name":"checkpointReward","type":"uint96","internalType":"uint96"}]}],"anonymous":false},{"type":"event","name":"SequencerRewardCalculatorUpdated","inputs":[{"name":"oldCalculator","type":"address","indexed":false,"internalType":"address"},{"name":"newCalculator","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"FeeLib__InvalidManaLimit","inputs":[{"name":"maximum","type":"uint256","internalType":"uint256"},{"name":"provided","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FeeLib__InvalidManaTarget","inputs":[{"name":"minimum","type":"uint256","internalType":"uint256"},{"name":"provided","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FeeLib__ProtocolFeeMarginCooldown","inputs":[{"name":"nextAllowed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FeeLib__ProtocolFeeMarginStepExceeded","inputs":[{"name":"current","type":"uint256","internalType":"uint256"},{"name":"requested","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FeeLib__ProvingCostBelowFloor","inputs":[{"name":"provided","type":"uint256","internalType":"uint256"},{"name":"minimum","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FeeLib__ProvingCostCooldown","inputs":[{"name":"nextAllowed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FeeLib__ProvingCostStepExceeded","inputs":[{"name":"current","type":"uint256","internalType":"uint256"},{"name":"requested","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"RewardLib__InvalidProtocolFeeRecipient","inputs":[]},{"type":"error","name":"RewardLib__InvalidSequencerBps","inputs":[]},{"type":"error","name":"Rollup__CheckpointNotProven","inputs":[{"name":"proven","type":"uint256","internalType":"uint256"},{"name":"requested","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Rollup__InvalidCheckpointNumber","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"actual","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Rollup__InvalidManaTarget","inputs":[{"name":"minimum","type":"uint256","internalType":"uint256"},{"name":"provided","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Rollup__NotPastDeadline","inputs":[{"name":"deadline","type":"uint256","internalType":"Epoch"},{"name":"currentEpoch","type":"uint256","internalType":"Epoch"}]},{"type":"error","name":"Rollup__UnavailableTempCheckpointLog","inputs":[{"name":"checkpointNumber","type":"uint256","internalType":"uint256"},{"name":"pendingCheckpointNumber","type":"uint256","internalType":"uint256"},{"name":"upperLimit","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeCastOverflowedIntToUint","inputs":[{"name":"value","type":"int256","internalType":"int256"}]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x61356b610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101ab575f3560e01c806386a0d763116100f6578063dc1bb8f41161009a578063dc1bb8f41461041c578063dfff3ebc1461042f578063e068d95a14610442578063e6e2844014610455578063eb7991fa14610474578063ec14780614610493578063ed176514146104e8578063fe2a92d014610507575f5ffd5b806386a0d7631461036a5780638789a132146103725780638841c46714610385578063a4f40ee9146103a4578063bcfe1a1c146103c3578063c4fb3d7c146103e2578063cf20d872146103f5578063d4003253146103fd575f5ffd5b8063385b90121161015d578063385b90121461029e578063483315b3146102bd578063508ac49b146102d05780635a97eaa1146102e45780635e5fafb3146102f75780635f82401f14610316578063604ef88f1461034457806368faa77814610357575f5ffd5b806311704430146101af57806316a7ced5146101fe5780631df47f801461021f578063235ce66f1461024057806328e07ac314610263578063305656b2146102765780633334f7dc1461028b575b5f5ffd5b6101c26101bd36600461238d565b61050f565b6040516101f591908151815260208083015190820152604080830151908201526060918201519181019190915260800190565b60405180910390f35b61021161020c3660046123bf565b61052a565b6040519081526020016101f5565b81801561022a575f5ffd5b5061023e6102393660046123ea565b610534565b005b61025361024e366004612405565b610589565b60405190151581526020016101f5565b61025361027136600461243b565b61059f565b61027e6105aa565b6040516101f59190612465565b610253610299366004612405565b6105b8565b8180156102a9575f5ffd5b506102116102b83660046124f5565b6105c4565b6102116102cb3660046123bf565b6105d0565b8180156102db575f5ffd5b5061023e6105da565b6102116102f23660046123bf565b6105e4565b818015610302575f5ffd5b506102116103113660046125c3565b6105ee565b6103296103243660046123bf565b6105f9565b604080518251815260209283015192810192909252016101f5565b6102116103523660046123bf565b610615565b6102116103653660046125ef565b610628565b610211610633565b6102116103803660046123ea565b61063c565b818015610390575f5ffd5b5061023e61039f366004612639565b610646565b8180156103af575f5ffd5b5061023e6103be366004612695565b61069e565b8180156103ce575f5ffd5b5061027e6103dd3660046126b6565b6106f7565b61027e6103f03660046123bf565b61077f565b61027e610789565b818015610408575f5ffd5b5061023e6104173660046123ea565b6107a4565b61025361042a3660046123bf565b6107f1565b61021161043d3660046123ea565b6107fb565b61021161045036600461274d565b610805565b818015610460575f5ffd5b5061023e61046f3660046123bf565b61080f565b81801561047f575f5ffd5b5061023e61048e366004612792565b610894565b61049b6108a6565b6040805182516001600160a01b03908116825260208085015163ffffffff16908301528383015116918101919091526060918201516001600160601b0316918101919091526080016101f5565b8180156104f3575f5ffd5b5061023e6105023660046123bf565b610926565b610211610932565b61051761235c565b610521838361093b565b90505b92915050565b5f61052482610962565b5f61053e8261097d565b604080516001600160a01b038084168252851660208201529192507fd3890fc76afcfc31cba1dcf2c27b50e2541e4d75039c981855b5b5e03682aea091015b60405180910390a15050565b5f6105958484846109d7565b90505b9392505050565b5f6105218383610a22565b5f6105b3610a50565b905090565b5f610595848484610a6b565b5f610595848484610ab7565b5f61052482610cd4565b6105e2610d24565b565b5f61052482610e42565b5f6105218383610e6e565b604080518082019091525f808252602082015261052482610ebf565b5f61052482610622610f3e565b90610f57565b5f6105218383610f6a565b5f6105b3611057565b5f61052482611079565b61064f816110a0565b60408051825163ffffffff1681526020808401516001600160601b0316908201527f24ea90802d5c1d10fd3da4b05f2415af510be55a0e3b385831be1851c3975869910160405180910390a150565b5f5f6106a983611124565b9150915081156106f2576040805161ffff8084168252851660208201527f50cfb74385ad073f39f956bcb64fa0e087dc901b2a9dcdf8e7a1d340cbf64b74910160405180910390a15b505050565b5f5f308360405161070790612380565b6001600160a01b039092168252805163ffffffff908116602080850191909152820151811660408085019190915282015181166060808501919091528201518116608080850191909152909101511660a082015260c001604051809103905ff080158015610777573d5f5f3e3d5ffd5b509392505050565b5f6105248261128f565b5f610792611342565b600301546001600160a01b0316919050565b5f6107ae82611366565b604080516001600160a01b038084168252851660208201529192507f94d38706e4767859df7903f27cd8cd923dff3af746eb8bbdf828b958710c458b910161057d565b5f61052482611399565b5f6105248261140a565b5f61052482611483565b5f61082861081b6114b6565b5460c01c63ffffffff1690565b905080828181101561085b57604051630d1bff9560e21b8152600481019290925260248201526044015b60405180910390fd5b5050610866826114da565b60405182907faaa1053539ab4621b2aecf54a7ccf2096610ff768f32261f667aca9ae3069482905f90a25050565b61089d82611533565b6106f281611366565b604080516080810182525f8082526020820181905291810182905260608101919091526108d1611342565b6040805160808101825260038301546001600160a01b038082168352600160a01b9182900463ffffffff1660208401526004909401549384169282019290925291046001600160601b03166060820152919050565b61092f816115e8565b50565b5f6105b3610f3e565b61094361235c565b5f61094d84611732565b905061095a81858561176d565b949350505050565b5f61052461096f83611926565b60501c65ffffffffffff1690565b5f6001600160a01b0382166109a557604051638513472b60e01b815260040160405180910390fd5b5f6109ae611342565b60050180546001600160a01b039485166001600160a01b03198216179091559290921692915050565b5f6109e0611342565b5f94855260019081016020908152604080872095875294820181528486206001600160a01b03949094168652920190915250902054600160f81b900460ff1690565b5f61052182610a2f611342565b6001600160a01b0386165f908152600291909101602052604090209061193a565b5f610a59611342565b600601546001600160a01b0316919050565b5f5f610a75611342565b5f95865260019081016020908152604080882096885295820181528587206001600160a01b039590951687529301909252509120546001600160f81b03161190565b5f5f610ac24261195d565b90505f610acd611342565b90505f805b8651811015610caf57610b0784888381518110610af157610af161280e565b60200260200101516119b590919063ffffffff16565b15610b2a888381518110610b1d57610b1d61280e565b60200260200101516119bf565b859091610b5357604051632851216f60e21b815260048101929092526024820152604401610852565b5050610ba5878281518110610b6a57610b6a61280e565b6020026020010151846002015f8b6001600160a01b03166001600160a01b031681526020019081526020015f2061193a90919063ffffffff16565b610ca757610bf9878281518110610bbe57610bbe61280e565b6020026020010151846002015f8b6001600160a01b03166001600160a01b031681526020019081526020015f206119f790919063ffffffff16565b5f836001015f898481518110610c1157610c1161280e565b60209081029190910181015182528181019290925260409081015f90812080546001600160801b03168252600180820185528383206001600160a01b038f168452908101909452919020549092506001600160f81b03168015610ca35781548354610c8c90600160801b90046001600160801b031683612836565b610c969190612861565b610ca09086612874565b94505b5050505b600101610ad2565b508015610cca57610cca6001600160a01b0386168883611a1f565b9695505050505050565b5f5f610cde611a71565b805490915060801c8381811115610d11576040516368dd4dfd60e11b815260048101929092526024820152604401610852565b5050610598610d1f84611a95565b611aaf565b5f610d2e42611ad0565b90505f610d396114b6565b60018101549091505f90610d6590600160e01b900463ffffffff16610d6060056002611b00565b611b0b565b905082811115610d7457505050565b604080516060810182526001840154600160701b90046001600160701b03168152815180830190925248825290602080830191610dbc918101610db5611b16565b9052611c13565b6001600160701b03168152602001610ddd610dd8866002611b0b565b611c58565b63ffffffff9081169091528151600190940180546020840151604090940151909216600160e01b026001600160e01b036001600160701b03948516600160701b026001600160e01b031990941694909616939093179190911793909316179091555050565b5f610e4b611342565b5f928352600101602052506040902054600160801b90046001600160801b031690565b5f5f610e78611342565b6001600160a01b0385165f90815260208290526040902054909150801561095a576001600160a01b038086165f9081526020849052604081205561095a9085168683611a1f565b604080518082019091525f80825260208201525f610edb6114b6565b9050610f00610ee984611ad0565b6001830154600160e01b900463ffffffff165b1190565b610f27576001810154610f2290600160701b90046001600160701b0316611c62565b610598565b6001810154610598906001600160701b0316611c62565b5f6105b3610f4a6114b6565b546001600160401b031690565b5f6105218364e8d4a51000846001611c9c565b5f5f610f74611342565b6001600160a01b0384165f9081526002820160205260409020909150610f9a908561193a565b15610fa8575f915050610524565b5f84815260018083016020908152604080842080546001600160801b0316855280840183528185206001600160a01b038916865293840190925283205490926001600160f81b039091169003611003575f9350505050610524565b805482546001600160a01b0387165f90815260018401602052604090205461104491600160801b90046001600160801b0316906001600160f81b0316612887565b6001600160f81b0316610cca9190612861565b5f611060611342565b60040154600160a01b90046001600160601b0316919050565b5f611082611342565b6001600160a01b039092165f90815260209290925250604090205490565b612710815f015163ffffffff1611156110cc57604051633b97c27960e21b815260040160405180910390fd5b5f6110d5611342565b825160038201805463ffffffff60a01b1916600160a01b63ffffffff9093168302179055602090930151600490910180546001600160a01b03166001600160601b039092169093021790915550565b5f5f5f61112f6114b6565b90505f61113e825f0154611ce7565b9050806060015192508261ffff168561ffff1603611160575f93505050915091565b8261ffff168561ffff1611156112495760028201545f906111959062278d0090600160401b90046001600160401b0316612874565b6002840154909150600160401b90046001600160401b031615806111b95750804210155b81906111db5760405163777ec76b60e11b815260040161085291815260200190565b5060036111ee61ffff8616612710612874565b6111f89190612836565b600261120a61ffff8916612710612874565b6112149190612836565b1115848790916112455760405163e4e1563360e01b815261ffff928316600482015291166024820152604401610852565b5050505b61ffff8516606082015261125c81611d6b565b825550600201805467ffffffffffffffff60401b1916600160401b426001600160401b0316021790556001939092509050565b5f5f611299611a71565b80549091506001600160801b031683158015906112b65750808411155b818590916112e057604051631e19e11960e21b815260048101929092526024820152604401610852565b508490505b81811161131e575f818152600384016020526040902054801561130b5795945050505050565b5080611316816128b8565b9150506112e5565b50604051631e19e11960e21b81526004810182905260248101859052604401610852565b7f7da2ae3c4a8197dbe64388763d16e7945dd85ef9823a62323a7cdcce718a163790565b5f5f611370611342565b60060180546001600160a01b039485166001600160a01b03198216179091559290921692915050565b5f5f6113a3611a71565b80549091506001600160801b0381166113bc8260801c90565b036113ca57505f9392505050565b5f6113e76113e26001600160801b0384166001612874565b610cd4565b90505f6113f38661195d565b90506113ff82826119b5565b159695505050505050565b5f611413611342565b6004908101546040516337ffcfaf60e21b81526001600160a01b039091169163dfff3ebc9161144491869101612465565b602060405180830381865afa15801561145f573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061052491906128d0565b5f610524825f01518360600151846040015161149f9190612874565b6114a99190612874565b6001600160801b03611dde565b7f2e57d696f4035f6dfbf369d367f6b4aaf23baac5f6ee9a3a5207d71c56de652c90565b6114e381611ded565b505f6114ed6114b6565b90505f6114fc825f0154611ce7565b83815290506305f5e1006115146332f1b33685612836565b61151e9190612861565b602082015261152c81611d6b565b9091555050565b612710816020015163ffffffff16111561156057604051633b97c27960e21b815260040160405180910390fd5b5f611569611342565b8251600382018054602086015163ffffffff16600160a01b9081026001600160c01b03199092166001600160a01b03948516179190911790915560408501516060909501516001600160601b03160293169290921760048301555060050180546001600160a01b0319166b4355415548584943414c4c4960401b179055565b5f6115f16114b6565b90505f611600825f0154611ce7565b6040810151909150838060028082101561163657604051631ad480f960e11b815260048101929092526024820152604401610852565b505060028401545f906116569062278d00906001600160401b0316612874565b60028601549091506001600160401b031615806116735750804210155b8190611695576040516344331fd960e01b815260040161085291815260200190565b506116a1600384612836565b6116ac600284612836565b111580156116ce57506116c0600284612836565b6116cb600384612836565b10155b838390916116f857604051637e42087560e01b815260048101929092526024820152604401610852565b50506040840186905261170a84611d6b565b85555050506002909101805467ffffffffffffffff1916426001600160401b03161790555050565b5f5f61173c611a71565b805490915061174a84611399565b61175d576117588160801c90565b61095a565b6001600160801b03169392505050565b61177561235c565b5f61177e6114b6565b90505f611794825f015460c01c63ffffffff1690565b90505f5f5f5f6117a389610ebf565b90505f81602001516202000060036117bb9190612836565b6117c59190612836565b82516117d4906207ef40612836565b6117de9190612874565b90506117ee816001886001611c9c565b94505061183961182961181f622625a0845f015161180a611e67565b54600160a01b900463ffffffff166001611c9c565b6001886001611c9c565b87546001600160401b0316611b0b565b92506118458484611b0b565b9150505f6118528a611926565b90505f61188963ffffffff83166118718460201c65ffffffffffff1690565b61187b9190612874565b611884886128e7565b611e8b565b90505f61189582611ed9565b90505f6118b16118ab8684633b9aca005f611c9c565b86611b00565b90505f8b6118c45764e8d4a510006118cd565b6118cd8e610962565b905060405180608001604052806118ed8385610f5790919063ffffffff16565b8152602081018590526040016119038a84610f57565b81526020016119128984610f57565b90529e9d5050505050505050505050505050565b5f61193082611f49565b6006015492915050565b600881901c5f90815260208390526040902054600160ff83161b16151592915050565b5f5f611967611e67565b805490915061198c9063ffffffff600160801b8204811691600160a01b900416612901565b815463ffffffff91909116906119ab906001600160801b031685612927565b6105989190612861565b5f61052182610efc855b5f5f6119c9611e67565b80549091506105989084906119ec90600160c01b900463ffffffff16600161293a565b63ffffffff16611b0b565b600881901c5f90815260209290925260409091208054600160ff9093169290921b9091179055565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526106f2908490611fec565b7f0958201b72d64259285941dffd868dac55267471fcc73e8a06e1fd9cf870636190565b5f610524611aa283611f49565b6005015463ffffffff1690565b5f611ab8611e67565b5461052490600160a01b900463ffffffff1683612861565b5f5f611ada611e67565b805490915063ffffffff600160801b820416906119ab906001600160801b031685612927565b5f6105218284612927565b5f6105218284612874565b5f617a694614808015611b3d5750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15155b15611c0b5760408051600481526024810182526020810180516001600160e01b0316631f6d6ef760e01b17905290515f918291737109709ecfa91a80626ff3989d68f67f5b1dd12d91611b8f91612956565b5f60405180830381855afa9150503d805f8114611bc7576040519150601f19603f3d011682016040523d82523d5f602084013e611bcc565b606091505b5091509150818015611be057506020815110155b15611c015780806020019051810190611bf991906128d0565b935050505090565b6001935050505090565b4a5b91505090565b5f5f5f90505f611c268460200151612055565b66ffffffffffffff16901b811790506038611c43845f0151612055565b66ffffffffffffff16901b176105988161208c565b5f610524826120bf565b604080518082019091525f8082526020820152506040805180820190915266ffffffffffffff603883901c81168252909116602082015290565b5f611cc9611ca9836120ef565b8015611cc457505f8480611cbf57611cbf61284d565b868809115b151590565b611cd486868661211b565b611cde9190612874565b95945050505050565b611d0e60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060800160405280611d298460c01c63ffffffff1690565b8152602001611d418460401c6001600160801b031690565b81526020016001600160401b0384168152602001611d638460e01c61ffff1690565b905292915050565b5f5f5f9050611d7d83604001516121d1565b6001600160401b0316811790506040611d998460200151612206565b6001600160801b0316901b8117905060c0611db6845f01516120bf565b63ffffffff16901b8117905060e0611dd18460600151612239565b61ffff16901b1792915050565b5f828218828410028218610521565b5f60018280611e18576040516372e1574f60e01b815260048101929092526024820152604401610852565b505f9050611e27836002612836565b905063ffffffff8181811115611e5e576040516303fd5c0b60e41b815263ffffffff90921660048301526024820152604401610852565b50909392505050565b7fcc2bde3d21ba778aa5c156bb6fc47381978b0054c8a1ef73f44234164324cbe090565b5f5f8212611ead57611e9c82612267565b611ea69084612874565b9050610524565b60ff82901d8083011880841115611ed057611ec88185612927565b915050610524565b505f9392505050565b5f5f611ee36114b6565b90505f611efc825f015460401c6001600160801b031690565b90505f611f1385611f0e846064612836565b611dde565b9050611cde611f29845f015460e01c61ffff1690565b611f3590612710612874565b611f4290620186a0612836565b828461228c565b5f5f611f5d611f56611a71565b5460801c90565b90505f611f686122f7565b90505f611f758286612874565b90505f838611158015611f8757508184105b905085848383611fbb57604051638711786b60e01b8152600481019390935260248301919091526044820152606401610852565b505050611fc6611a71565b6002015f611fd4858961296c565b81526020019081526020015f20945050505050919050565b5f5f60205f8451602086015f885af18061200b576040513d5f823e3d81fd5b50505f513d9150811561202257806001141561202f565b6001600160a01b0384163b155b1561204f5783604051635274afe760e01b81526004016108529190612465565b50505050565b5f66ffffffffffffff821115612088576040516306dfcc6560e41b81526038600482015260248101839052604401610852565b5090565b5f6001600160701b03821115612088576040516306dfcc6560e41b81526070600482015260248101839052604401610852565b5f63ffffffff821115612088576040516306dfcc6560e41b81526020600482015260248101839052604401610852565b5f60028260038111156121045761210461297f565b61210e9190612993565b60ff166001149050919050565b5f838302815f1985870982811083820303915050805f0361214f578382816121455761214561284d565b0492505050610598565b80841161216657612166600385150260111861230b565b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b5f6001600160401b0382111561208857604080516306dfcc6560e41b8152600481019190915260248101839052604401610852565b5f6001600160801b03821115612088576040516306dfcc6560e41b81526080600482015260248101839052604401610852565b5f61ffff821115612088576040516306dfcc6560e41b81526010600482015260248101839052604401610852565b5f5f82121561208857604051635467221960e11b815260048101839052602401610852565b5f6001818061229b8588612836565b90505b80156122e2576122ae8183612874565b91506122ba8386612836565b6122c48783612836565b6122ce9190612861565b90506122db600184612874565b925061229e565b6122ec8583612861565b979650505050505050565b5f61230061231c565b6105b3906001612874565b634e487b715f52806020526024601cfd5b5f5f612326611e67565b805490915061234390600160c01b900463ffffffff166001612874565b8154611c0d9190600160a01b900463ffffffff16612836565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b610b81806129b583390190565b5f5f6040838503121561239e575f5ffd5b82359150602083013580151581146123b4575f5ffd5b809150509250929050565b5f602082840312156123cf575f5ffd5b5035919050565b6001600160a01b038116811461092f575f5ffd5b5f602082840312156123fa575f5ffd5b8135610598816123d6565b5f5f5f60608486031215612417575f5ffd5b83359250602084013591506040840135612430816123d6565b809150509250925092565b5f5f6040838503121561244c575f5ffd5b8235612457816123d6565b946020939093013593505050565b6001600160a01b0391909116815260200190565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b03811182821017156124af576124af612479565b60405290565b604051601f8201601f191681016001600160401b03811182821017156124dd576124dd612479565b604052919050565b80356124f0816123d6565b919050565b5f5f5f60608486031215612507575f5ffd5b8335612512816123d6565b925060208401356001600160401b0381111561252c575f5ffd5b8401601f8101861361253c575f5ffd5b80356001600160401b0381111561255557612555612479565b8060051b612565602082016124b5565b91825260208184018101929081019089841115612580575f5ffd5b6020850194505b838510156125a657843580835260209586019590935090910190612587565b80965050505050506125ba604085016124e5565b90509250925092565b5f5f604083850312156125d4575f5ffd5b82356125df816123d6565b915060208301356123b4816123d6565b5f5f60408385031215612600575f5ffd5b8235915060208301356123b4816123d6565b63ffffffff8116811461092f575f5ffd5b80356001600160601b03811681146124f0575f5ffd5b5f604082840312801561264a575f5ffd5b50604080519081016001600160401b038111828210171561266d5761266d612479565b604052823561267b81612612565b815261268960208401612623565b60208201529392505050565b5f602082840312156126a5575f5ffd5b813561ffff81168114610598575f5ffd5b5f60a08284031280156126c7575f5ffd5b5060405160a081016001600160401b03811182821017156126ea576126ea612479565b60405282356126f881612612565b8152602083013561270881612612565b6020820152604083013561271b81612612565b6040820152606083013561272e81612612565b6060820152608083013561274181612612565b60808201529392505050565b5f608082840312801561275e575f5ffd5b5061276761248d565b8235815260208084013590820152604080840135908201526060928301359281019290925250919050565b5f5f82840360a08112156127a4575f5ffd5b60808112156127b1575f5ffd5b506127ba61248d565b83356127c5816123d6565b815260208401356127d581612612565b602082015260408401356127e8816123d6565b60408201526127f960608501612623565b6060820152915060808301356123b4816123d6565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761052457610524612822565b634e487b7160e01b5f52601260045260245ffd5b5f8261286f5761286f61284d565b500490565b8082018082111561052457610524612822565b6001600160f81b038181168382168181029092169181830481148215176128b0576128b0612822565b505092915050565b5f600182016128c9576128c9612822565b5060010190565b5f602082840312156128e0575f5ffd5b5051919050565b5f600160ff1b82016128fb576128fb612822565b505f0390565b63ffffffff818116838216029081169081811461292057612920612822565b5092915050565b8181038181111561052457610524612822565b63ffffffff818116838216019081111561052457610524612822565b5f82518060208501845e5f920191825250919050565b5f8261297a5761297a61284d565b500690565b634e487b7160e01b5f52602160045260245ffd5b5f60ff8316806129a5576129a561284d565b8060ff8416069150509291505056fe610140604052348015610010575f5ffd5b50604051610b81380380610b8183398101604081905261002f91610143565b5f816080015163ffffffff1611610059576040516318dbcf2b60e21b815260040160405180910390fd5b5f816060015163ffffffff1611610083576040516318dbcf2b60e21b815260040160405180910390fd5b5f816020015163ffffffff16116100ad576040516318dbcf2b60e21b815260040160405180910390fd5b806080015163ffffffff16816060015163ffffffff1611156100e2576040516318dbcf2b60e21b815260040160405180910390fd5b6001600160a01b039091166080908152815163ffffffff90811660a0526020830151811660c0526040830151811660e0526060830151811661010052910151166101205261020d565b805163ffffffff8116811461013e575f5ffd5b919050565b5f5f82840360c0811215610155575f5ffd5b83516001600160a01b038116811461016b575f5ffd5b925060a0601f198201121561017e575f5ffd5b5060405160a081016001600160401b03811182821017156101ad57634e487b7160e01b5f52604160045260245ffd5b6040526101bc6020850161012b565b81526101ca6040850161012b565b60208201526101db6060850161012b565b60408201526101ec6080850161012b565b60608201526101fd60a0850161012b565b6080820152809150509250929050565b60805160a05160c05160e05161010051610120516108d36102ae5f395f8181610520015281816106800152818161071c015261077301525f81816104ec01528181610744015261079901525f81816104b801526106df01525f818161038a015281816104840152818161065801526106ab01525f8181610354015261045001525f818160b8015281816101a60152818161023b015261028f01526108d35ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80634fd90e56146100595780638e3356ce146100925780639611c5c2146100b3578063c3f909d4146100f2578063dfff3ebc14610159575b5f5ffd5b61006c6100673660046107d4565b61016c565b604080518251815260209283015163ffffffff1692810192909252015b60405180910390f35b6100a56100a03660046107d4565b61022f565b604051908152602001610089565b6100da7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610089565b6100fa610416565b60405161008991905f60a08201905063ffffffff835116825263ffffffff602084015116602083015263ffffffff604084015116604083015263ffffffff606084015116606083015263ffffffff608084015116608083015292915050565b6100a56101673660046107d4565b610551565b604080518082019091525f80825260208201526102295f5f846001600160a01b03166001600160a01b031681526020019081526020015f207f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b97dd9e26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610200573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022491906107fa565b61056d565b92915050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016811461028b5760405163fe671df560e01b81526001600160a01b0390911660048201526024015b60405180910390fd5b505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b97dd9e26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102e9573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030d91906107fa565b6001600160a01b0384165f908152602081905260408120919250610331828461056d565b805183549192506103479163ffffffff16141590565b156103f5576103b36103ae7f0000000000000000000000000000000000000000000000000000000000000000836020015163ffffffff166103889190610825565b7f0000000000000000000000000000000000000000000000000000000000000000610605565b610617565b825463ffffffff91909116600160201b0267ffffffff000000001990911617825580516103df9061064b565b825463ffffffff191663ffffffff919091161782555b815461040d90600160201b900463ffffffff16610655565b95945050505050565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091526040518060a001604052806104747f0000000000000000000000000000000000000000000000000000000000000000610617565b63ffffffff1681526020016104a87f0000000000000000000000000000000000000000000000000000000000000000610617565b63ffffffff1681526020016104dc7f0000000000000000000000000000000000000000000000000000000000000000610617565b63ffffffff1681526020016105107f0000000000000000000000000000000000000000000000000000000000000000610617565b63ffffffff1681526020016105447f0000000000000000000000000000000000000000000000000000000000000000610617565b63ffffffff169052919050565b5f61022961055e8361016c565b6020015163ffffffff16610655565b604080518082019091525f808252602082015282545f9063ffffffff166105949084610838565b6105a190620186a061084b565b604080518082019091528481528554919250906020820190600160201b900463ffffffff1683116105f3576105d583610617565b86546105ee9190600160201b900463ffffffff16610862565b6105f5565b5f5b63ffffffff169052949350505050565b5f8282188284100282185b9392505050565b5f63ffffffff821115610647576040516306dfcc6560e41b81526020600482015260248101839052604401610282565b5090565b5f61022982610617565b5f7f000000000000000000000000000000000000000000000000000000000000000082106106a457507f0000000000000000000000000000000000000000000000000000000000000000919050565b5f6106cf837f0000000000000000000000000000000000000000000000000000000000000000610838565b90505f6402540be40082610703817f000000000000000000000000000000000000000000000000000000000000000061084b565b61070d919061084b565b610717919061087e565b9050807f0000000000000000000000000000000000000000000000000000000000000000101561076a57507f00000000000000000000000000000000000000000000000000000000000000009392505050565b6107bd610797827f0000000000000000000000000000000000000000000000000000000000000000610838565b7f00000000000000000000000000000000000000000000000000000000000000006107c5565b949350505050565b5f828218828411028218610610565b5f602082840312156107e4575f5ffd5b81356001600160a01b0381168114610610575f5ffd5b5f6020828403121561080a575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561022957610229610811565b8181038181111561022957610229610811565b808202811582820484141761022957610229610811565b63ffffffff828116828216039081111561022957610229610811565b5f8261089857634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212202339a61393861259d8104d901dff4b7f2365a1528387efb97a22e86661f9c74964736f6c634300081e0033a26469706673582212205ef08f43c4660448c54c81b0840d4458a988cc7c16d0c7405bc2f1b593ffb91c64736f6c634300081e0033","sourceMap":"1085:7034:114:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1085:7034:114;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600436106101ab575f3560e01c806386a0d763116100f6578063dc1bb8f41161009a578063dc1bb8f41461041c578063dfff3ebc1461042f578063e068d95a14610442578063e6e2844014610455578063eb7991fa14610474578063ec14780614610493578063ed176514146104e8578063fe2a92d014610507575f5ffd5b806386a0d7631461036a5780638789a132146103725780638841c46714610385578063a4f40ee9146103a4578063bcfe1a1c146103c3578063c4fb3d7c146103e2578063cf20d872146103f5578063d4003253146103fd575f5ffd5b8063385b90121161015d578063385b90121461029e578063483315b3146102bd578063508ac49b146102d05780635a97eaa1146102e45780635e5fafb3146102f75780635f82401f14610316578063604ef88f1461034457806368faa77814610357575f5ffd5b806311704430146101af57806316a7ced5146101fe5780631df47f801461021f578063235ce66f1461024057806328e07ac314610263578063305656b2146102765780633334f7dc1461028b575b5f5ffd5b6101c26101bd36600461238d565b61050f565b6040516101f591908151815260208083015190820152604080830151908201526060918201519181019190915260800190565b60405180910390f35b61021161020c3660046123bf565b61052a565b6040519081526020016101f5565b81801561022a575f5ffd5b5061023e6102393660046123ea565b610534565b005b61025361024e366004612405565b610589565b60405190151581526020016101f5565b61025361027136600461243b565b61059f565b61027e6105aa565b6040516101f59190612465565b610253610299366004612405565b6105b8565b8180156102a9575f5ffd5b506102116102b83660046124f5565b6105c4565b6102116102cb3660046123bf565b6105d0565b8180156102db575f5ffd5b5061023e6105da565b6102116102f23660046123bf565b6105e4565b818015610302575f5ffd5b506102116103113660046125c3565b6105ee565b6103296103243660046123bf565b6105f9565b604080518251815260209283015192810192909252016101f5565b6102116103523660046123bf565b610615565b6102116103653660046125ef565b610628565b610211610633565b6102116103803660046123ea565b61063c565b818015610390575f5ffd5b5061023e61039f366004612639565b610646565b8180156103af575f5ffd5b5061023e6103be366004612695565b61069e565b8180156103ce575f5ffd5b5061027e6103dd3660046126b6565b6106f7565b61027e6103f03660046123bf565b61077f565b61027e610789565b818015610408575f5ffd5b5061023e6104173660046123ea565b6107a4565b61025361042a3660046123bf565b6107f1565b61021161043d3660046123ea565b6107fb565b61021161045036600461274d565b610805565b818015610460575f5ffd5b5061023e61046f3660046123bf565b61080f565b81801561047f575f5ffd5b5061023e61048e366004612792565b610894565b61049b6108a6565b6040805182516001600160a01b03908116825260208085015163ffffffff16908301528383015116918101919091526060918201516001600160601b0316918101919091526080016101f5565b8180156104f3575f5ffd5b5061023e6105023660046123bf565b610926565b610211610932565b61051761235c565b610521838361093b565b90505b92915050565b5f61052482610962565b5f61053e8261097d565b604080516001600160a01b038084168252851660208201529192507fd3890fc76afcfc31cba1dcf2c27b50e2541e4d75039c981855b5b5e03682aea091015b60405180910390a15050565b5f6105958484846109d7565b90505b9392505050565b5f6105218383610a22565b5f6105b3610a50565b905090565b5f610595848484610a6b565b5f610595848484610ab7565b5f61052482610cd4565b6105e2610d24565b565b5f61052482610e42565b5f6105218383610e6e565b604080518082019091525f808252602082015261052482610ebf565b5f61052482610622610f3e565b90610f57565b5f6105218383610f6a565b5f6105b3611057565b5f61052482611079565b61064f816110a0565b60408051825163ffffffff1681526020808401516001600160601b0316908201527f24ea90802d5c1d10fd3da4b05f2415af510be55a0e3b385831be1851c3975869910160405180910390a150565b5f5f6106a983611124565b9150915081156106f2576040805161ffff8084168252851660208201527f50cfb74385ad073f39f956bcb64fa0e087dc901b2a9dcdf8e7a1d340cbf64b74910160405180910390a15b505050565b5f5f308360405161070790612380565b6001600160a01b039092168252805163ffffffff908116602080850191909152820151811660408085019190915282015181166060808501919091528201518116608080850191909152909101511660a082015260c001604051809103905ff080158015610777573d5f5f3e3d5ffd5b509392505050565b5f6105248261128f565b5f610792611342565b600301546001600160a01b0316919050565b5f6107ae82611366565b604080516001600160a01b038084168252851660208201529192507f94d38706e4767859df7903f27cd8cd923dff3af746eb8bbdf828b958710c458b910161057d565b5f61052482611399565b5f6105248261140a565b5f61052482611483565b5f61082861081b6114b6565b5460c01c63ffffffff1690565b905080828181101561085b57604051630d1bff9560e21b8152600481019290925260248201526044015b60405180910390fd5b5050610866826114da565b60405182907faaa1053539ab4621b2aecf54a7ccf2096610ff768f32261f667aca9ae3069482905f90a25050565b61089d82611533565b6106f281611366565b604080516080810182525f8082526020820181905291810182905260608101919091526108d1611342565b6040805160808101825260038301546001600160a01b038082168352600160a01b9182900463ffffffff1660208401526004909401549384169282019290925291046001600160601b03166060820152919050565b61092f816115e8565b50565b5f6105b3610f3e565b61094361235c565b5f61094d84611732565b905061095a81858561176d565b949350505050565b5f61052461096f83611926565b60501c65ffffffffffff1690565b5f6001600160a01b0382166109a557604051638513472b60e01b815260040160405180910390fd5b5f6109ae611342565b60050180546001600160a01b039485166001600160a01b03198216179091559290921692915050565b5f6109e0611342565b5f94855260019081016020908152604080872095875294820181528486206001600160a01b03949094168652920190915250902054600160f81b900460ff1690565b5f61052182610a2f611342565b6001600160a01b0386165f908152600291909101602052604090209061193a565b5f610a59611342565b600601546001600160a01b0316919050565b5f5f610a75611342565b5f95865260019081016020908152604080882096885295820181528587206001600160a01b039590951687529301909252509120546001600160f81b03161190565b5f5f610ac24261195d565b90505f610acd611342565b90505f805b8651811015610caf57610b0784888381518110610af157610af161280e565b60200260200101516119b590919063ffffffff16565b15610b2a888381518110610b1d57610b1d61280e565b60200260200101516119bf565b859091610b5357604051632851216f60e21b815260048101929092526024820152604401610852565b5050610ba5878281518110610b6a57610b6a61280e565b6020026020010151846002015f8b6001600160a01b03166001600160a01b031681526020019081526020015f2061193a90919063ffffffff16565b610ca757610bf9878281518110610bbe57610bbe61280e565b6020026020010151846002015f8b6001600160a01b03166001600160a01b031681526020019081526020015f206119f790919063ffffffff16565b5f836001015f898481518110610c1157610c1161280e565b60209081029190910181015182528181019290925260409081015f90812080546001600160801b03168252600180820185528383206001600160a01b038f168452908101909452919020549092506001600160f81b03168015610ca35781548354610c8c90600160801b90046001600160801b031683612836565b610c969190612861565b610ca09086612874565b94505b5050505b600101610ad2565b508015610cca57610cca6001600160a01b0386168883611a1f565b9695505050505050565b5f5f610cde611a71565b805490915060801c8381811115610d11576040516368dd4dfd60e11b815260048101929092526024820152604401610852565b5050610598610d1f84611a95565b611aaf565b5f610d2e42611ad0565b90505f610d396114b6565b60018101549091505f90610d6590600160e01b900463ffffffff16610d6060056002611b00565b611b0b565b905082811115610d7457505050565b604080516060810182526001840154600160701b90046001600160701b03168152815180830190925248825290602080830191610dbc918101610db5611b16565b9052611c13565b6001600160701b03168152602001610ddd610dd8866002611b0b565b611c58565b63ffffffff9081169091528151600190940180546020840151604090940151909216600160e01b026001600160e01b036001600160701b03948516600160701b026001600160e01b031990941694909616939093179190911793909316179091555050565b5f610e4b611342565b5f928352600101602052506040902054600160801b90046001600160801b031690565b5f5f610e78611342565b6001600160a01b0385165f90815260208290526040902054909150801561095a576001600160a01b038086165f9081526020849052604081205561095a9085168683611a1f565b604080518082019091525f80825260208201525f610edb6114b6565b9050610f00610ee984611ad0565b6001830154600160e01b900463ffffffff165b1190565b610f27576001810154610f2290600160701b90046001600160701b0316611c62565b610598565b6001810154610598906001600160701b0316611c62565b5f6105b3610f4a6114b6565b546001600160401b031690565b5f6105218364e8d4a51000846001611c9c565b5f5f610f74611342565b6001600160a01b0384165f9081526002820160205260409020909150610f9a908561193a565b15610fa8575f915050610524565b5f84815260018083016020908152604080842080546001600160801b0316855280840183528185206001600160a01b038916865293840190925283205490926001600160f81b039091169003611003575f9350505050610524565b805482546001600160a01b0387165f90815260018401602052604090205461104491600160801b90046001600160801b0316906001600160f81b0316612887565b6001600160f81b0316610cca9190612861565b5f611060611342565b60040154600160a01b90046001600160601b0316919050565b5f611082611342565b6001600160a01b039092165f90815260209290925250604090205490565b612710815f015163ffffffff1611156110cc57604051633b97c27960e21b815260040160405180910390fd5b5f6110d5611342565b825160038201805463ffffffff60a01b1916600160a01b63ffffffff9093168302179055602090930151600490910180546001600160a01b03166001600160601b039092169093021790915550565b5f5f5f61112f6114b6565b90505f61113e825f0154611ce7565b9050806060015192508261ffff168561ffff1603611160575f93505050915091565b8261ffff168561ffff1611156112495760028201545f906111959062278d0090600160401b90046001600160401b0316612874565b6002840154909150600160401b90046001600160401b031615806111b95750804210155b81906111db5760405163777ec76b60e11b815260040161085291815260200190565b5060036111ee61ffff8616612710612874565b6111f89190612836565b600261120a61ffff8916612710612874565b6112149190612836565b1115848790916112455760405163e4e1563360e01b815261ffff928316600482015291166024820152604401610852565b5050505b61ffff8516606082015261125c81611d6b565b825550600201805467ffffffffffffffff60401b1916600160401b426001600160401b0316021790556001939092509050565b5f5f611299611a71565b80549091506001600160801b031683158015906112b65750808411155b818590916112e057604051631e19e11960e21b815260048101929092526024820152604401610852565b508490505b81811161131e575f818152600384016020526040902054801561130b5795945050505050565b5080611316816128b8565b9150506112e5565b50604051631e19e11960e21b81526004810182905260248101859052604401610852565b7f7da2ae3c4a8197dbe64388763d16e7945dd85ef9823a62323a7cdcce718a163790565b5f5f611370611342565b60060180546001600160a01b039485166001600160a01b03198216179091559290921692915050565b5f5f6113a3611a71565b80549091506001600160801b0381166113bc8260801c90565b036113ca57505f9392505050565b5f6113e76113e26001600160801b0384166001612874565b610cd4565b90505f6113f38661195d565b90506113ff82826119b5565b159695505050505050565b5f611413611342565b6004908101546040516337ffcfaf60e21b81526001600160a01b039091169163dfff3ebc9161144491869101612465565b602060405180830381865afa15801561145f573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061052491906128d0565b5f610524825f01518360600151846040015161149f9190612874565b6114a99190612874565b6001600160801b03611dde565b7f2e57d696f4035f6dfbf369d367f6b4aaf23baac5f6ee9a3a5207d71c56de652c90565b6114e381611ded565b505f6114ed6114b6565b90505f6114fc825f0154611ce7565b83815290506305f5e1006115146332f1b33685612836565b61151e9190612861565b602082015261152c81611d6b565b9091555050565b612710816020015163ffffffff16111561156057604051633b97c27960e21b815260040160405180910390fd5b5f611569611342565b8251600382018054602086015163ffffffff16600160a01b9081026001600160c01b03199092166001600160a01b03948516179190911790915560408501516060909501516001600160601b03160293169290921760048301555060050180546001600160a01b0319166b4355415548584943414c4c4960401b179055565b5f6115f16114b6565b90505f611600825f0154611ce7565b6040810151909150838060028082101561163657604051631ad480f960e11b815260048101929092526024820152604401610852565b505060028401545f906116569062278d00906001600160401b0316612874565b60028601549091506001600160401b031615806116735750804210155b8190611695576040516344331fd960e01b815260040161085291815260200190565b506116a1600384612836565b6116ac600284612836565b111580156116ce57506116c0600284612836565b6116cb600384612836565b10155b838390916116f857604051637e42087560e01b815260048101929092526024820152604401610852565b50506040840186905261170a84611d6b565b85555050506002909101805467ffffffffffffffff1916426001600160401b03161790555050565b5f5f61173c611a71565b805490915061174a84611399565b61175d576117588160801c90565b61095a565b6001600160801b03169392505050565b61177561235c565b5f61177e6114b6565b90505f611794825f015460c01c63ffffffff1690565b90505f5f5f5f6117a389610ebf565b90505f81602001516202000060036117bb9190612836565b6117c59190612836565b82516117d4906207ef40612836565b6117de9190612874565b90506117ee816001886001611c9c565b94505061183961182961181f622625a0845f015161180a611e67565b54600160a01b900463ffffffff166001611c9c565b6001886001611c9c565b87546001600160401b0316611b0b565b92506118458484611b0b565b9150505f6118528a611926565b90505f61188963ffffffff83166118718460201c65ffffffffffff1690565b61187b9190612874565b611884886128e7565b611e8b565b90505f61189582611ed9565b90505f6118b16118ab8684633b9aca005f611c9c565b86611b00565b90505f8b6118c45764e8d4a510006118cd565b6118cd8e610962565b905060405180608001604052806118ed8385610f5790919063ffffffff16565b8152602081018590526040016119038a84610f57565b81526020016119128984610f57565b90529e9d5050505050505050505050505050565b5f61193082611f49565b6006015492915050565b600881901c5f90815260208390526040902054600160ff83161b16151592915050565b5f5f611967611e67565b805490915061198c9063ffffffff600160801b8204811691600160a01b900416612901565b815463ffffffff91909116906119ab906001600160801b031685612927565b6105989190612861565b5f61052182610efc855b5f5f6119c9611e67565b80549091506105989084906119ec90600160c01b900463ffffffff16600161293a565b63ffffffff16611b0b565b600881901c5f90815260209290925260409091208054600160ff9093169290921b9091179055565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526106f2908490611fec565b7f0958201b72d64259285941dffd868dac55267471fcc73e8a06e1fd9cf870636190565b5f610524611aa283611f49565b6005015463ffffffff1690565b5f611ab8611e67565b5461052490600160a01b900463ffffffff1683612861565b5f5f611ada611e67565b805490915063ffffffff600160801b820416906119ab906001600160801b031685612927565b5f6105218284612927565b5f6105218284612874565b5f617a694614808015611b3d5750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15155b15611c0b5760408051600481526024810182526020810180516001600160e01b0316631f6d6ef760e01b17905290515f918291737109709ecfa91a80626ff3989d68f67f5b1dd12d91611b8f91612956565b5f60405180830381855afa9150503d805f8114611bc7576040519150601f19603f3d011682016040523d82523d5f602084013e611bcc565b606091505b5091509150818015611be057506020815110155b15611c015780806020019051810190611bf991906128d0565b935050505090565b6001935050505090565b4a5b91505090565b5f5f5f90505f611c268460200151612055565b66ffffffffffffff16901b811790506038611c43845f0151612055565b66ffffffffffffff16901b176105988161208c565b5f610524826120bf565b604080518082019091525f8082526020820152506040805180820190915266ffffffffffffff603883901c81168252909116602082015290565b5f611cc9611ca9836120ef565b8015611cc457505f8480611cbf57611cbf61284d565b868809115b151590565b611cd486868661211b565b611cde9190612874565b95945050505050565b611d0e60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060800160405280611d298460c01c63ffffffff1690565b8152602001611d418460401c6001600160801b031690565b81526020016001600160401b0384168152602001611d638460e01c61ffff1690565b905292915050565b5f5f5f9050611d7d83604001516121d1565b6001600160401b0316811790506040611d998460200151612206565b6001600160801b0316901b8117905060c0611db6845f01516120bf565b63ffffffff16901b8117905060e0611dd18460600151612239565b61ffff16901b1792915050565b5f828218828410028218610521565b5f60018280611e18576040516372e1574f60e01b815260048101929092526024820152604401610852565b505f9050611e27836002612836565b905063ffffffff8181811115611e5e576040516303fd5c0b60e41b815263ffffffff90921660048301526024820152604401610852565b50909392505050565b7fcc2bde3d21ba778aa5c156bb6fc47381978b0054c8a1ef73f44234164324cbe090565b5f5f8212611ead57611e9c82612267565b611ea69084612874565b9050610524565b60ff82901d8083011880841115611ed057611ec88185612927565b915050610524565b505f9392505050565b5f5f611ee36114b6565b90505f611efc825f015460401c6001600160801b031690565b90505f611f1385611f0e846064612836565b611dde565b9050611cde611f29845f015460e01c61ffff1690565b611f3590612710612874565b611f4290620186a0612836565b828461228c565b5f5f611f5d611f56611a71565b5460801c90565b90505f611f686122f7565b90505f611f758286612874565b90505f838611158015611f8757508184105b905085848383611fbb57604051638711786b60e01b8152600481019390935260248301919091526044820152606401610852565b505050611fc6611a71565b6002015f611fd4858961296c565b81526020019081526020015f20945050505050919050565b5f5f60205f8451602086015f885af18061200b576040513d5f823e3d81fd5b50505f513d9150811561202257806001141561202f565b6001600160a01b0384163b155b1561204f5783604051635274afe760e01b81526004016108529190612465565b50505050565b5f66ffffffffffffff821115612088576040516306dfcc6560e41b81526038600482015260248101839052604401610852565b5090565b5f6001600160701b03821115612088576040516306dfcc6560e41b81526070600482015260248101839052604401610852565b5f63ffffffff821115612088576040516306dfcc6560e41b81526020600482015260248101839052604401610852565b5f60028260038111156121045761210461297f565b61210e9190612993565b60ff166001149050919050565b5f838302815f1985870982811083820303915050805f0361214f578382816121455761214561284d565b0492505050610598565b80841161216657612166600385150260111861230b565b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b5f6001600160401b0382111561208857604080516306dfcc6560e41b8152600481019190915260248101839052604401610852565b5f6001600160801b03821115612088576040516306dfcc6560e41b81526080600482015260248101839052604401610852565b5f61ffff821115612088576040516306dfcc6560e41b81526010600482015260248101839052604401610852565b5f5f82121561208857604051635467221960e11b815260048101839052602401610852565b5f6001818061229b8588612836565b90505b80156122e2576122ae8183612874565b91506122ba8386612836565b6122c48783612836565b6122ce9190612861565b90506122db600184612874565b925061229e565b6122ec8583612861565b979650505050505050565b5f61230061231c565b6105b3906001612874565b634e487b715f52806020526024601cfd5b5f5f612326611e67565b805490915061234390600160c01b900463ffffffff166001612874565b8154611c0d9190600160a01b900463ffffffff16612836565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b610b81806129b583390190565b5f5f6040838503121561239e575f5ffd5b82359150602083013580151581146123b4575f5ffd5b809150509250929050565b5f602082840312156123cf575f5ffd5b5035919050565b6001600160a01b038116811461092f575f5ffd5b5f602082840312156123fa575f5ffd5b8135610598816123d6565b5f5f5f60608486031215612417575f5ffd5b83359250602084013591506040840135612430816123d6565b809150509250925092565b5f5f6040838503121561244c575f5ffd5b8235612457816123d6565b946020939093013593505050565b6001600160a01b0391909116815260200190565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b03811182821017156124af576124af612479565b60405290565b604051601f8201601f191681016001600160401b03811182821017156124dd576124dd612479565b604052919050565b80356124f0816123d6565b919050565b5f5f5f60608486031215612507575f5ffd5b8335612512816123d6565b925060208401356001600160401b0381111561252c575f5ffd5b8401601f8101861361253c575f5ffd5b80356001600160401b0381111561255557612555612479565b8060051b612565602082016124b5565b91825260208184018101929081019089841115612580575f5ffd5b6020850194505b838510156125a657843580835260209586019590935090910190612587565b80965050505050506125ba604085016124e5565b90509250925092565b5f5f604083850312156125d4575f5ffd5b82356125df816123d6565b915060208301356123b4816123d6565b5f5f60408385031215612600575f5ffd5b8235915060208301356123b4816123d6565b63ffffffff8116811461092f575f5ffd5b80356001600160601b03811681146124f0575f5ffd5b5f604082840312801561264a575f5ffd5b50604080519081016001600160401b038111828210171561266d5761266d612479565b604052823561267b81612612565b815261268960208401612623565b60208201529392505050565b5f602082840312156126a5575f5ffd5b813561ffff81168114610598575f5ffd5b5f60a08284031280156126c7575f5ffd5b5060405160a081016001600160401b03811182821017156126ea576126ea612479565b60405282356126f881612612565b8152602083013561270881612612565b6020820152604083013561271b81612612565b6040820152606083013561272e81612612565b6060820152608083013561274181612612565b60808201529392505050565b5f608082840312801561275e575f5ffd5b5061276761248d565b8235815260208084013590820152604080840135908201526060928301359281019290925250919050565b5f5f82840360a08112156127a4575f5ffd5b60808112156127b1575f5ffd5b506127ba61248d565b83356127c5816123d6565b815260208401356127d581612612565b602082015260408401356127e8816123d6565b60408201526127f960608501612623565b6060820152915060808301356123b4816123d6565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761052457610524612822565b634e487b7160e01b5f52601260045260245ffd5b5f8261286f5761286f61284d565b500490565b8082018082111561052457610524612822565b6001600160f81b038181168382168181029092169181830481148215176128b0576128b0612822565b505092915050565b5f600182016128c9576128c9612822565b5060010190565b5f602082840312156128e0575f5ffd5b5051919050565b5f600160ff1b82016128fb576128fb612822565b505f0390565b63ffffffff818116838216029081169081811461292057612920612822565b5092915050565b8181038181111561052457610524612822565b63ffffffff818116838216019081111561052457610524612822565b5f82518060208501845e5f920191825250919050565b5f8261297a5761297a61284d565b500690565b634e487b7160e01b5f52602160045260245ffd5b5f60ff8316806129a5576129a561284d565b8060ff8416069150509291505056fe610140604052348015610010575f5ffd5b50604051610b81380380610b8183398101604081905261002f91610143565b5f816080015163ffffffff1611610059576040516318dbcf2b60e21b815260040160405180910390fd5b5f816060015163ffffffff1611610083576040516318dbcf2b60e21b815260040160405180910390fd5b5f816020015163ffffffff16116100ad576040516318dbcf2b60e21b815260040160405180910390fd5b806080015163ffffffff16816060015163ffffffff1611156100e2576040516318dbcf2b60e21b815260040160405180910390fd5b6001600160a01b039091166080908152815163ffffffff90811660a0526020830151811660c0526040830151811660e0526060830151811661010052910151166101205261020d565b805163ffffffff8116811461013e575f5ffd5b919050565b5f5f82840360c0811215610155575f5ffd5b83516001600160a01b038116811461016b575f5ffd5b925060a0601f198201121561017e575f5ffd5b5060405160a081016001600160401b03811182821017156101ad57634e487b7160e01b5f52604160045260245ffd5b6040526101bc6020850161012b565b81526101ca6040850161012b565b60208201526101db6060850161012b565b60408201526101ec6080850161012b565b60608201526101fd60a0850161012b565b6080820152809150509250929050565b60805160a05160c05160e05161010051610120516108d36102ae5f395f8181610520015281816106800152818161071c015261077301525f81816104ec01528181610744015261079901525f81816104b801526106df01525f818161038a015281816104840152818161065801526106ab01525f8181610354015261045001525f818160b8015281816101a60152818161023b015261028f01526108d35ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80634fd90e56146100595780638e3356ce146100925780639611c5c2146100b3578063c3f909d4146100f2578063dfff3ebc14610159575b5f5ffd5b61006c6100673660046107d4565b61016c565b604080518251815260209283015163ffffffff1692810192909252015b60405180910390f35b6100a56100a03660046107d4565b61022f565b604051908152602001610089565b6100da7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610089565b6100fa610416565b60405161008991905f60a08201905063ffffffff835116825263ffffffff602084015116602083015263ffffffff604084015116604083015263ffffffff606084015116606083015263ffffffff608084015116608083015292915050565b6100a56101673660046107d4565b610551565b604080518082019091525f80825260208201526102295f5f846001600160a01b03166001600160a01b031681526020019081526020015f207f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b97dd9e26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610200573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022491906107fa565b61056d565b92915050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016811461028b5760405163fe671df560e01b81526001600160a01b0390911660048201526024015b60405180910390fd5b505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b97dd9e26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102e9573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030d91906107fa565b6001600160a01b0384165f908152602081905260408120919250610331828461056d565b805183549192506103479163ffffffff16141590565b156103f5576103b36103ae7f0000000000000000000000000000000000000000000000000000000000000000836020015163ffffffff166103889190610825565b7f0000000000000000000000000000000000000000000000000000000000000000610605565b610617565b825463ffffffff91909116600160201b0267ffffffff000000001990911617825580516103df9061064b565b825463ffffffff191663ffffffff919091161782555b815461040d90600160201b900463ffffffff16610655565b95945050505050565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091526040518060a001604052806104747f0000000000000000000000000000000000000000000000000000000000000000610617565b63ffffffff1681526020016104a87f0000000000000000000000000000000000000000000000000000000000000000610617565b63ffffffff1681526020016104dc7f0000000000000000000000000000000000000000000000000000000000000000610617565b63ffffffff1681526020016105107f0000000000000000000000000000000000000000000000000000000000000000610617565b63ffffffff1681526020016105447f0000000000000000000000000000000000000000000000000000000000000000610617565b63ffffffff169052919050565b5f61022961055e8361016c565b6020015163ffffffff16610655565b604080518082019091525f808252602082015282545f9063ffffffff166105949084610838565b6105a190620186a061084b565b604080518082019091528481528554919250906020820190600160201b900463ffffffff1683116105f3576105d583610617565b86546105ee9190600160201b900463ffffffff16610862565b6105f5565b5f5b63ffffffff169052949350505050565b5f8282188284100282185b9392505050565b5f63ffffffff821115610647576040516306dfcc6560e41b81526020600482015260248101839052604401610282565b5090565b5f61022982610617565b5f7f000000000000000000000000000000000000000000000000000000000000000082106106a457507f0000000000000000000000000000000000000000000000000000000000000000919050565b5f6106cf837f0000000000000000000000000000000000000000000000000000000000000000610838565b90505f6402540be40082610703817f000000000000000000000000000000000000000000000000000000000000000061084b565b61070d919061084b565b610717919061087e565b9050807f0000000000000000000000000000000000000000000000000000000000000000101561076a57507f00000000000000000000000000000000000000000000000000000000000000009392505050565b6107bd610797827f0000000000000000000000000000000000000000000000000000000000000000610838565b7f00000000000000000000000000000000000000000000000000000000000000006107c5565b949350505050565b5f828218828411028218610610565b5f602082840312156107e4575f5ffd5b81356001600160a01b0381168114610610575f5ffd5b5f6020828403121561080a575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561022957610229610811565b8181038181111561022957610229610811565b808202811582820484141761022957610229610811565b63ffffffff828116828216039081111561022957610229610811565b5f8261089857634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212202339a61393861259d8104d901dff4b7f2365a1528387efb97a22e86661f9c74964736f6c634300081e0033a26469706673582212205ef08f43c4660448c54c81b0840d4458a988cc7c16d0c7405bc2f1b593ffb91c64736f6c634300081e0033","sourceMap":"1085:7034:114:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6693:220;;;;;;:::i;:::-;;:::i;:::-;;;;;;697:13:185;;679:32;;767:4;755:17;;;749:24;727:20;;;720:54;830:4;818:17;;;812:24;790:20;;;783:54;893:4;881:17;;;875:24;853:20;;;846:54;;;;666:3;651:19;;446:460;6693:220:114;;;;;;;;7475:181;;;;;;:::i;:::-;;:::i;:::-;;;1335:25:185;;;1323:2;1308:18;7475:181:114;1142:224:185;3322:223:114;;;;;;;;;;-1:-1:-1;3322:223:114;;;;;:::i;:::-;;:::i;:::-;;5587:189;;;;;;:::i;:::-;;:::i;:::-;;;2452:14:185;;2445:22;2427:41;;2415:2;2400:18;5587:189:114;2279:195:185;5780:141:114;;;;;;:::i;:::-;;:::i;6475:130::-;;;:::i;:::-;;;;;;;:::i;5412:171::-;;;;;;:::i;:::-;;:::i;4265:189::-;;;;;;;;;;-1:-1:-1;4265:189:114;;;;;:::i;:::-;;:::i;7033:153::-;;;;;;:::i;:::-;;:::i;2522:81::-;;;;;;;;;;;;;:::i;5248:160::-;;;;;;:::i;:::-;;:::i;4093:168::-;;;;;;;;;;-1:-1:-1;4093:168:114;;;;;:::i;:::-;;:::i;7339:132::-;;;;;;:::i;:::-;;:::i;:::-;;;;6740:13:185;;6722:32;;6810:4;6798:17;;;6792:24;6770:20;;;6763:54;;;;6695:18;7339:132:114;6512:311:185;7778:190:114;;;;;;:::i;:::-;;:::i;4794:182::-;;;;;;:::i;:::-;;:::i;5925:112::-;;;:::i;5104:140::-;;;;;;:::i;:::-;;:::i;2358:160::-;;;;;;;;;;-1:-1:-1;2358:160:114;;;;;:::i;:::-;;:::i;3096:222::-;;;;;;;;;;-1:-1:-1;3096:222:114;;;;;:::i;:::-;;:::i;4458:235::-;;;;;;;;;;-1:-1:-1;4458:235:114;;;;;:::i;:::-;;:::i;7190:145::-;;;;;;:::i;:::-;;:::i;6163:140::-;;;:::i;3849:240::-;;;;;;;;;;-1:-1:-1;3849:240:114;;;;;:::i;:::-;;:::i;6917:112::-;;;;;;:::i;:::-;;:::i;4980:120::-;;;;;;:::i;:::-;;:::i;7972:145::-;;;;;;:::i;:::-;;:::i;2747:345::-;;;;;;;;;;-1:-1:-1;2747:345:114;;;;;:::i;:::-;;:::i;1501:218::-;;;;;;;;;;-1:-1:-1;1501:218:114;;;;;:::i;:::-;;:::i;6041:118::-;;;:::i;:::-;;;;12610:13:185;;-1:-1:-1;;;;;12606:39:185;;;12588:58;;12706:4;12694:17;;;12688:24;12714:10;12684:41;12662:20;;;12655:71;12774:17;;;12768:24;12764:50;12742:20;;;12735:80;;;;12875:4;12863:17;;;12857:24;-1:-1:-1;;;;;12853:57:185;12831:20;;;12824:87;;;;12575:3;12560:19;6041:118:114;12371:546:185;2607:136:114;;;;;;;;;;-1:-1:-1;2607:136:114;;;;;:::i;:::-;;:::i;7660:114::-;;;:::i;6693:220::-;6803:27;;:::i;:::-;6847:61;6884:10;6896:11;6847:36;:61::i;:::-;6840:68;;6693:220;;;;;:::o;7475:181::-;7564:17;7596:55;7633:17;7596:36;:55::i;3322:223::-;3393:20;3416:48;3453:10;3416:36;:48::i;:::-;3475:65;;;-1:-1:-1;;;;;13595:32:185;;;13577:51;;13664:32;;13659:2;13644:18;;13637:60;3393:71:114;;-1:-1:-1;3475:65:114;;13550:18:185;3475:65:114;;;;;;;;3387:158;3322:223;:::o;5587:189::-;5692:4;5711:60;5746:6;5754:7;5763;5711:34;:60::i;:::-;5704:67;;5587:189;;;;;;:::o;5780:141::-;5857:4;5876:40;5900:7;5909:6;5876:23;:40::i;6475:130::-;6538:7;6560:40;:38;:40::i;:::-;6553:47;;6475:130;:::o;5412:171::-;5508:4;5527:51;5553:6;5561:7;5570;5527:25;:51::i;4265:189::-;4370:7;4392:57;4421:7;4430;4439:9;4392:28;:57::i;7033:153::-;7114:5;7134:47;7163:17;7134:28;:47::i;2522:81::-;2569:29;:27;:29::i;:::-;2522:81::o;5248:160::-;5329:7;5351:52;5396:6;5351:44;:52::i;4093:168::-;4180:7;4202:54;4234:10;4246:9;4202:31;:54::i;7339:132::-;-1:-1:-1;;;;;;;;;;;;;;;;;7436:30:114;7455:10;7436:18;:30::i;7778:190::-;7877:13;7905:58;7947:15;7905:30;:28;:30::i;:::-;:41;;:58::i;4794:182::-;4890:7;4912:59;4955:6;4963:7;4912:42;:59::i;5925:112::-;5979:7;6001:31;:29;:31::i;5104:140::-;5176:7;5198:41;5228:10;5198:29;:41::i;2358:160::-;2431:31;2454:7;2431:22;:31::i;:::-;2473:40;;;13952:13:185;;13967:10;13948:30;13930:49;;14039:4;14027:17;;;14021:24;-1:-1:-1;;;;;14017:57:185;13995:20;;;13988:87;2473:40:114;;13903:18:185;2473:40:114;;;;;;;2358:160;:::o;3096:222::-;3158:12;3172:13;3189:36;3220:4;3189:30;:36::i;:::-;3157:68;;;;3235:7;3231:83;;;3257:50;;;14286:6:185;14274:19;;;14256:38;;14330:19;;14325:2;14310:18;;14303:47;3257:50:114;;14229:18:185;3257:50:114;;;;;;;3231:83;3151:167;;3096:222;:::o;4458:235::-;4539:12;4559:21;4629:4;4637:7;4583:62;;;;;:::i;:::-;-1:-1:-1;;;;;14655:32:185;;;14637:51;;14728:13;;14743:10;14724:30;;;14719:2;14704:18;;;14697:58;;;;14801:15;;14795:22;14791:39;;14786:2;14771:18;;;14764:67;;;;14877:15;;14871:22;14867:39;;14862:2;14847:18;;;14840:67;;;;14954:15;;14948:22;14944:39;;14938:3;14923:19;;;14916:68;;;;15031:16;;;15025:23;15021:40;14675:3;15000:19;;14993:69;14624:3;14609:19;4583:62:114;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4559:86:114;4458:235;-1:-1:-1;;;4458:235:114:o;7190:145::-;7266:7;7288:42;7312:17;7288:23;:42::i;6163:140::-;6218:18;6251:22;:20;:22::i;:::-;:29;;:47;-1:-1:-1;;;;;6251:47:114;;6163:140;-1:-1:-1;6163:140:114:o;3849:240::-;3926:21;3950:51;3989:11;3950:38;:51::i;:::-;4012:72;;;-1:-1:-1;;;;;13595:32:185;;;13577:51;;13664:32;;13659:2;13644:18;;13637:60;3926:75:114;;-1:-1:-1;4012:72:114;;13550:18:185;4012:72:114;13403:300:185;6917:112:114;6979:4;6998:26;7020:3;6998:21;:26::i;4980:120::-;5042:7;5064:31;5087:7;5064:22;:31::i;7972:145::-;8058:7;8080:32;8100:11;8080:19;:32::i;2747:345::-;2809:25;2837:42;:19;:17;:19::i;:::-;:26;3653:3:98;3601:55;3334:10;3600:72;;3490:187;2837:42:114;2809:70;-1:-1:-1;2809:70:114;2893:11;:32;;;;2885:107;;;;-1:-1:-1;;;2885:107:114;;;;;15247:25:185;;;;15288:18;;;15281:34;15220:18;;2885:107:114;;;;;;;;;;;2998:36;3022:11;2998:23;:36::i;:::-;3045:42;;3075:11;;3045:42;;;;;2803:289;2747:345;:::o;1501:218::-;1607:35;1634:7;1607:26;:35::i;:::-;1648:66;1687:26;1648:38;:66::i;6041:118::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6125:22:114;:20;:22::i;:::-;6118:36;;;;;;;;6125:29;;;6118:36;-1:-1:-1;;;;;6118:36:114;;;;;-1:-1:-1;;;6118:36:114;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6118:36:114;;;;;;;-1:-1:-1;6041:118:114:o;2607:136::-;2686:52;2718:19;2686:31;:52::i;:::-;2607:136;:::o;7660:114::-;7716:8;7739:30;:28;:30::i;27317:329:112:-;27427:27;;:::i;:::-;27464:28;27495:54;27538:10;27495:42;:54::i;:::-;27464:85;;27562:79;27595:20;27617:10;27629:11;27562:32;:79::i;:::-;27555:86;27317:329;-1:-1:-1;;;;27317:329:112:o;16825:208:109:-;16914:17;16969:58;:38;16989:17;16969:19;:38::i;:::-;3126:2:99;3074:54;2444:14;3073:71;;2959:190;5086:353:115;5160:20;-1:-1:-1;;;;;5196:24:115;;5188:82;;;;-1:-1:-1;;;5188:82:115;;;;;;;;;;;;5276:35;5314:12;:10;:12::i;:::-;5347:34;;;;-1:-1:-1;;;;;5387:47:115;;;-1:-1:-1;;;;;;5387:47:115;;;;;;5347:34;;;;;5086:353;-1:-1:-1;;5086:353:115:o;13117:213::-;13222:4;13241:12;:10;:12::i;:::-;:33;;;;:25;;;;:33;;;;;;;;:51;;;:42;;;:51;;;;;-1:-1:-1;;;;;13241:74:115;;;;;;:65;;:74;;;-1:-1:-1;13241:74:115;;:84;-1:-1:-1;;;13241:84:115;;;;;13117:213::o;13334:162::-;13411:4;13430:61;13483:6;13430:12;:10;:12::i;:::-;-1:-1:-1;;;;;13430:35:115;;;;;;:26;;;;;:35;;;;;;:39;:61::i;13743:128::-;13806:7;13828:12;:10;:12::i;:::-;:38;;;-1:-1:-1;;;;;13828:38:115;;13743:128;-1:-1:-1;13743:128:115:o;12908:205::-;13004:4;13107:1;13023:12;:10;:12::i;:::-;:33;;;;:25;;;;:33;;;;;;;;:51;;;:42;;;:51;;;;;-1:-1:-1;;;;;13023:74:115;;;;;;:65;;:74;;;-1:-1:-1;13023:74:115;;:81;-1:-1:-1;;;;;13023:81:115;:85;;12908:205::o;6490:1130::-;6595:7;6610:18;6631:52;6646:15;6631:50;:52::i;:::-;6610:73;;6690:35;6728:12;:10;:12::i;:::-;6690:50;-1:-1:-1;6747:26:115;;6783:701;6807:7;:14;6803:1;:18;6783:701;;;6854:49;6890:12;6854:7;6862:1;6854:10;;;;;;;;:::i;:::-;;;;;;;:35;;:49;;;;:::i;:::-;6853:50;6944:28;:7;6952:1;6944:10;;;;;;;;:::i;:::-;;;;;;;:26;:28::i;:::-;6974:12;6836:159;;;;;;-1:-1:-1;;;6836:159:115;;;;;15247:25:185;;;;15288:18;;;15281:34;15220:18;;6836:159:115;15073:248:185;6836:159:115;;;7008:66;7062:7;7070:1;7062:10;;;;;;;;:::i;:::-;;;;;;;7008:13;:27;;:36;7036:7;-1:-1:-1;;;;;7008:36:115;-1:-1:-1;;;;;7008:36:115;;;;;;;;;;;;:40;;:66;;;;:::i;:::-;7086:8;7004:99;7110:66;7164:7;7172:1;7164:10;;;;;;;;:::i;:::-;;;;;;;7110:13;:27;;:36;7138:7;-1:-1:-1;;;;;7110:36:115;-1:-1:-1;;;;;7110:36:115;;;;;;;;;;;;:40;;:66;;;;:::i;:::-;7185:22;7210:13;:26;;:38;7237:7;7245:1;7237:10;;;;;;;;:::i;:::-;;;;;;;;;;;;7210:38;;;;;;;;;;;;;-1:-1:-1;7210:38:115;;;7296:21;;-1:-1:-1;;;;;7296:21:115;7285:33;;:10;;;;:33;;;;;-1:-1:-1;;;;;7343:25:115;;;;:16;;;:25;;;;;;:32;7210:38;;-1:-1:-1;;;;;;7343:32:115;7387:10;;7383:95;;7453:15;;7441:9;;7432:18;;-1:-1:-1;;;7441:9:115;;-1:-1:-1;;;;;7441:9:115;7432:6;:18;:::i;:::-;:36;;;;:::i;:::-;7409:60;;;;:::i;:::-;;;7383:95;6828:656;;;6783:701;6823:3;;6783:701;;;-1:-1:-1;7494:22:115;;7490:94;;7526:51;-1:-1:-1;;;;;7526:22:115;;7549:7;7558:18;7526:22;:51::i;:::-;7597:18;6490:1130;-1:-1:-1;;;;;;6490:1130:115:o;21264:386:117:-;21345:5;21358:31;21392:19;:17;:19::i;:::-;21453:16;;;;-1:-1:-1;693:3:97;641:55;21432:50:117;;;;;21417:167;;;;-1:-1:-1;;;21417:167:117;;;;;15247:25:185;;;;15288:18;;;15281:34;15220:18;;21417:167:117;15073:248:185;21417:167:117;;;21597:48;:32;21611:17;21597:13;:32::i;:::-;:46;:48::i;12303:620:109:-;12350:9;12362:51;12377:15;12362:49;:51::i;:::-;12350:63;;12479:25;12507:12;:10;:12::i;:::-;12548:26;;;:39;:26;;-1:-1:-1;12526:19:109;;12548:71;;-1:-1:-1;;;12548:39:109;;;;12604:14;6491:1;6536;12604:14;:::i;:::-;12548:71;:::i;:::-;12526:93;-1:-1:-1;;;;12626:48:109;;;12661:7;;;12303:620::o;12626:48::-;12709:209;;;;;;;;12740:26;;;:31;-1:-1:-1;;;12740:31:109;;-1:-1:-1;;;;;12740:31:109;12709:209;;12785:70;;;;;;;;12805:13;12785:70;;12709:209;;;;;;12785:81;;:70;;12829:24;:22;:24::i;:::-;12785:70;;:79;:81::i;:::-;-1:-1:-1;;;;;12709:209:109;;;;;12888:23;12889:10;:4;6536:1;12889:10;:::i;:::-;12888:21;:23::i;:::-;12709:209;;;;;;;12680:238;;:26;;;;:238;;;;;;;;;;;;;;-1:-1:-1;;;12680:238:109;-1:-1:-1;;;;;;;;;;12680:238:109;;;-1:-1:-1;;;12680:238:109;-1:-1:-1;;;;;;12680:238:109;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12303:620:109:o;12602:149:115:-;12683:7;12705:12;:10;:12::i;:::-;:33;;;;:25;;:33;;-1:-1:-1;12705:33:115;;;:41;-1:-1:-1;;;12705:41:115;;-1:-1:-1;;;;;12705:41:115;;12602:149::o;6111:375::-;6198:7;6213:35;6251:12;:10;:12::i;:::-;-1:-1:-1;;;;;6286:42:115;;6269:14;6286:42;;;;;;;;;;;6213:50;;-1:-1:-1;6339:10:115;;6335:127;;-1:-1:-1;;;;;6359:42:115;;;6404:1;6359:42;;;;;;;;;;:46;6413:42;;:22;;6390:10;6448:6;6413:22;:42::i;13694:338:109:-;-1:-1:-1;;;;;;;;;;;;;;;;;13784:25:109;13812:12;:10;:12::i;:::-;13784:40;;13837:85;:30;:10;:28;:30::i;:::-;13870:26;;;:39;-1:-1:-1;;;13870:39:109;;;;:52;-1:-1:-1;1759:33:183;1694:101;13837:85:109;:190;;13983:26;;;:31;:44;;-1:-1:-1;;;13983:31:109;;-1:-1:-1;;;;;13983:31:109;:42;:44::i;:::-;13837:190;;;13931:26;;;:30;:43;;-1:-1:-1;;;;;13931:30:109;:41;:43::i;16553:127::-;16609:8;16632:43;:12;:10;:12::i;:::-;:19;-1:-1:-1;;;;;4019:63:98;;3886:202;2850:334;2948:13;3002:171;3039:9;1062:4;3121:15;3147:18;3002:11;:171::i;13875:661:115:-;13971:7;13986:35;14024:12;:10;:12::i;:::-;-1:-1:-1;;;;;14047:36:115;;;;;;:27;;;:36;;;;;13986:50;;-1:-1:-1;14047:62:115;;14101:6;14047:40;:62::i;:::-;14043:91;;;14126:1;14119:8;;;;;14043:91;14140:23;14166:34;;;:26;;;;:34;;;;;;;;14247:22;;-1:-1:-1;;;;;14247:22:115;14235:35;;:11;;;:35;;;;;-1:-1:-1;;;;;14391:25:115;;;;:16;;;:25;;;;;:32;14166:34;;-1:-1:-1;;;;;14391:32:115;;;:37;;14387:66;;14445:1;14438:8;;;;;;;14387:66;14515:15;;14502:10;;-1:-1:-1;;;;;14467:25:115;;14515:15;14467:25;;;:16;;;:25;;;;;:32;:45;;-1:-1:-1;;;14502:10:115;;-1:-1:-1;;;;;14502:10:115;;-1:-1:-1;;;;;14467:32:115;:45;:::i;:::-;-1:-1:-1;;;;;14467:63:115;;;;;:::i;13500:117::-;13554:7;13576:12;:10;:12::i;:::-;:36;;;-1:-1:-1;;;13576:36:115;;-1:-1:-1;;;;;13576:36:115;;;-1:-1:-1;13500:117:115:o;12458:140::-;12530:7;12552:12;:10;:12::i;:::-;-1:-1:-1;;;;;12552:41:115;;;:29;:41;;;;;;;;-1:-1:-1;12552:41:115;;;;;12458:140::o;5749:358::-;5866:6;5841:7;:20;;;5830:42;;;;5822:92;;;;-1:-1:-1;;;5822:92:115;;;;;;;;;;;;5920:35;5958:12;:10;:12::i;:::-;6012:20;;5976;;;:56;;-1:-1:-1;;;;5976:56:115;-1:-1:-1;;;5976:56:115;;;;;;;;;6078:24;;;;;6038:37;;;;:64;;-1:-1:-1;;;;;6038:64:115;-1:-1:-1;;;;;6038:64:115;;;;;;;;;;-1:-1:-1;5749:358:115:o;11269:1030:109:-;11333:12;11347:13;11368:25;11396:12;:10;:12::i;:::-;11368:40;;11414:23;11440:28;:8;:15;;;:26;:28::i;:::-;11414:54;;11491:6;:27;;;11475:44;;11538:6;11530:14;;:4;:14;;;11526:57;;11562:5;11554:22;;;;11269:1030;;;:::o;11526:57::-;11600:6;11593:13;;:4;:13;;;11589:531;;;11646:33;;;;11616:19;;11638:80;;5429:7;;-1:-1:-1;;;11646:33:109;;-1:-1:-1;;;;;11646:33:109;11638:80;:::i;:::-;11743:33;;;;11616:102;;-1:-1:-1;;;;11743:33:109;;-1:-1:-1;;;;;11743:33:109;:38;;:72;;;11804:11;11785:15;:30;;11743:72;11866:11;11726:160;;;;;-1:-1:-1;;;11726:160:109;;;;;;1335:25:185;;1323:2;1308:18;;1142:224;11726:160:109;-1:-1:-1;5486:1:109;11981:24;11990:15;;;11981:6;:24;:::i;:::-;11980:57;;;;:::i;:::-;5537:1;11912:22;11921:13;;;11912:6;:22;:::i;:::-;11911:55;;;;:::i;:::-;:126;;12092:6;12100:4;11894:219;;;;;;-1:-1:-1;;;11894:219:109;;14286:6:185;14274:19;;;11894:219:109;;;14256:38:185;14330:19;;14310:18;;;14303:47;14229:18;;11894:219:109;14086:270:185;11894:219:109;;;11608:512;11589:531;12126:34;;;:27;;;:34;12184:17;12126:6;12184:15;:17::i;:::-;12166:35;;-1:-1:-1;12207:33:109;;:59;;-1:-1:-1;;;;12207:59:109;-1:-1:-1;;;12250:15:109;-1:-1:-1;;;;;12207:59:109;;;;;-1:-1:-1;;11269:1030:109;;-1:-1:-1;;;11269:1030:109:o;22412:818:117:-;22488:7;22503:31;22537:19;:17;:19::i;:::-;22579:16;;;;-1:-1:-1;;;;;;811:80:97;22628:21:117;;;;;:52;;;22674:6;22653:17;:27;;22628:52;22723:6;22731:17;22613:142;;;;;;-1:-1:-1;;;22613:142:117;;;;;15247:25:185;;;;15288:18;;;15281:34;15220:18;;22613:142:117;15073:248:185;22613:142:117;-1:-1:-1;22779:17:117;;-1:-1:-1;22762:215:117;22803:6;22798:1;:11;22762:215;;22824:23;22850:28;;;:25;;;:28;;;;;;22890:20;;22886:85;;22945:15;22412:818;-1:-1:-1;;;;;22412:818:117:o;22886:85::-;-1:-1:-1;22811:3:117;;;;:::i;:::-;;;;22762:215;;;-1:-1:-1;23164:61:117;;-1:-1:-1;;;23164:61:117;;;;;15247:25:185;;;15288:18;;;15281:34;;;15220:18;;23164:61:117;15073:248:185;14540:193:115;3396:33;;14540:193::o;4582:281::-;4659:21;4688:35;4726:12;:10;:12::i;:::-;4760:39;;;;-1:-1:-1;;;;;4805:53:115;;;-1:-1:-1;;;;;;4805:53:115;;;;;;4760:39;;;;;4582:281;-1:-1:-1;;4582:281:115:o;24600:458:117:-;24662:4;24674:31;24708:19;:17;:19::i;:::-;24761:16;;;;-1:-1:-1;;;;;;811:80:97;;24788:17:117;:4;693:3:97;641:55;;534:167;24788:17:117;:37;24784:70;;-1:-1:-1;24842:5:117;;24600:458;-1:-1:-1;;;24600:458:117:o;24784:70::-;24860:24;24887:43;24909:20;-1:-1:-1;;;;;811:80:97;;24928:1:117;24909:20;:::i;:::-;24887:21;:43::i;:::-;24860:70;;24936:18;24957:24;:3;:22;:24::i;:::-;24936:45;-1:-1:-1;24996:57:117;:18;24936:45;24996:43;:57::i;:::-;24995:58;;24600:458;-1:-1:-1;;;;;;24600:458:117:o;12316:138:115:-;12378:7;12400:12;:10;:12::i;:::-;:27;;;;;:49;;-1:-1:-1;;;12400:49:115;;-1:-1:-1;;;;;12400:27:115;;;;:40;;:49;;12441:7;;12400:49;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;19450:502:109:-;19536:7;19842:105;19904:11;:23;;;19879:11;:22;;;19851:11;:25;;;:50;;;;:::i;:::-;:76;;;;:::i;:::-;-1:-1:-1;;;;;19842:8:109;:105::i;20980:183::-;6589:30;;20980:183::o;8801:464::-;8924:29;8941:11;8924:16;:29::i;:::-;;8960:25;8988:12;:10;:12::i;:::-;8960:40;;9007:23;9033:28;:8;:15;;;:26;:28::i;:::-;9067:31;;;9007:54;-1:-1:-1;3340:3:109;9138:47;3398:11;9087;9138:47;:::i;:::-;:80;;;;:::i;:::-;9104:31;;;:114;9243:17;9104:6;9243:15;:17::i;:::-;9225:35;;;-1:-1:-1;;8801:464:109:o;3769:430:115:-;3883:6;3858:7;:20;;;3847:42;;;;3839:92;;;;-1:-1:-1;;;3839:92:115;;;;;;;;;;;;3937:35;3975:12;:10;:12::i;:::-;3993:30;;:20;;;:30;;;;;;;;-1:-1:-1;;;3993:30:115;;;-1:-1:-1;;;;;;3993:30:115;;;-1:-1:-1;;;;;3993:30:115;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3993:30:115;;;;;;;;;;;;-1:-1:-1;4125:34:115;;:69;;-1:-1:-1;;;;;;4125:69:115;-1:-1:-1;;;4125:69:115;;;3769:430::o;9269:1062:109:-;9348:25;9376:12;:10;:12::i;:::-;9348:40;;9394:23;9420:28;:8;:15;;;:26;:28::i;:::-;9489:25;;;;9394:54;;-1:-1:-1;9552:19:109;;4453:1;9587:33;;;;9579:113;;;;-1:-1:-1;;;9579:113:109;;;;;15247:25:185;;;;15288:18;;;15281:34;15220:18;;9579:113:109;15073:248:185;9579:113:109;-1:-1:-1;;9729:30:109;;;;9699:19;;9721:70;;4311:7;;-1:-1:-1;;;;;9729:30:109;9721:70;:::i;:::-;9812:30;;;;9699:92;;-1:-1:-1;;;;;;9812:30:109;:35;;:69;;;9870:11;9851:15;:30;;9812:69;9924:11;9797:145;;;;;-1:-1:-1;;;9797:145:109;;;;;;1335:25:185;;1323:2;1308:18;;1142:224;9797:145:109;-1:-1:-1;9996:31:109;4361:1;9996:7;:31;:::i;:::-;9964:28;4405:1;9964:4;:28;:::i;:::-;:63;;:138;;;;-1:-1:-1;10071:31:109;4405:1;10071:7;:31;:::i;:::-;10039:28;4361:1;10039:4;:28;:::i;:::-;:63;;9964:138;10149:7;10158:4;9949:220;;;;;;-1:-1:-1;;;9949:220:109;;;;;15247:25:185;;;;15288:18;;;15281:34;15220:18;;9949:220:109;15073:248:185;9949:220:109;-1:-1:-1;;10176:25:109;;;:47;;;10247:17;10176:6;10247:15;:17::i;:::-;10229:35;;-1:-1:-1;;;10270:30:109;;;;:56;;-1:-1:-1;;10270:56:109;10310:15;-1:-1:-1;;;;;10270:56:109;;;;-1:-1:-1;;9269:1062:109:o;20563:297:117:-;20653:7;20668:31;20702:19;:17;:19::i;:::-;20754:16;;20668:53;;-1:-1:-1;20783:33:117;20805:10;20783:21;:33::i;:::-;:72;;20838:17;:4;693:3:97;641:55;;534:167;20838:17:117;20783:72;;;-1:-1:-1;;;;;811:80:97;;20776:79:117;-1:-1:-1;;;20563:297:117:o;14036:2226:109:-;14177:27;;:::i;:::-;14214:25;14242:12;:10;:12::i;:::-;14214:40;;14261:18;14282:31;:8;:15;;;3653:3:98;3601:55;3334:10;3600:72;;3490:187;14282:31:109;14261:52;;14320:29;14355:26;14387:14;14416:21;14440:30;14459:10;14440:18;:30::i;:::-;14416:54;;14522:15;14644:4;:12;;;3449:7;3498:1;14601:40;;;;:::i;:::-;:55;;;;:::i;:::-;14584:12;;14551:45;;2734:7;14551:45;:::i;:::-;14550:107;;;;:::i;:::-;14522:135;;14705:55;14717:7;14726:1;14729:10;14741:18;14705:11;:55::i;:::-;14668:93;;14512:258;14838:339;14865:258;14892:140;2788:9;14948:4;:12;;;14962:20;:18;:20::i;:::-;:34;-1:-1:-1;;;14962:34:109;;;;14998:18;14892:11;:140::i;:::-;15048:1;15065:10;15091:18;14865:11;:258::i;:::-;15138:15;;-1:-1:-1;;;;;4019:63:98;12548:71:109;:::i;14838:339::-;14818:359;;15202:40;:20;15225:17;15202:40;:::i;:::-;15194:48;;14408:841;15255:35;15293:42;15313:21;15293:19;:42::i;:::-;15255:80;-1:-1:-1;15341:18:109;15368:103;2389:10:99;2697:63;;15386:31:109;:15;2932:2:99;2880:54;2444:14;2879:71;;2769:186;15386:31:109;:63;;;;:::i;:::-;15451:19;15459:10;15451:19;:::i;:::-;15368:17;:103::i;:::-;15341:130;;15477:29;15509:32;15530:10;15509:20;:32::i;:::-;15477:64;;15548:20;15575:149;15598:110;15626:5;15634:21;3089:3;15688:19;15598:11;:110::i;:::-;15719:5;15575:149;:::i;:::-;15548:176;;15731:32;15766:11;:139;;1062:4:98;15766:139:109;;;15786:59;15823:21;15786:36;:59::i;:::-;15731:174;;15919:338;;;;;;;;16160:38;16183:14;16160:11;:22;;:38;;;;:::i;:::-;15919:338;;;;;;;;;;15984:47;:20;16016:14;15984:31;:47::i;:::-;15919:338;;;;16073:44;:17;16102:14;16073:28;:44::i;:::-;15919:338;;15912:345;14036:2226;-1:-1:-1;;;;;;;;;;;;;;14036:2226:109:o;16881:167:117:-;16953:19;16987:46;17015:17;16987:27;:46::i;:::-;:56;;;;16881:167;-1:-1:-1;;16881:167:117:o;1028:217:64:-;1144:1;1135:10;;;1102:4;1206:20;;;;;;;;;;;1170:1;1184:4;1176:12;;1170:19;1206:27;:32;;1028:217;;;;:::o;5304:236:94:-;5369:5;5382:25;5410:12;:10;:12::i;:::-;5515:18;;5382:40;;-1:-1:-1;5493:40:94;;5515:18;-1:-1:-1;;;5515:18:94;;;;;-1:-1:-1;;;5493:19:94;;;:40;:::i;:::-;5471:17;;5447:87;;;;;;5448:40;;-1:-1:-1;;;;;5471:17:94;5465:2;5448:40;:::i;:::-;5447:87;;;;:::i;5175:125::-;5252:4;5271:24;:2;5276:19;5292:2;3348:439;3406:5;3419:25;3447:12;:10;:12::i;:::-;3750:27;;;;-1:-1:-1;3734:48:94;;:2;;3750:31;;-1:-1:-1;;;3750:27:94;;;;3780:1;3750:31;:::i;:::-;3739:43;;3734:48;:::i;1581:186:64:-;1677:1;1668:10;;;1651:14;1732:20;;;;;;;;;;;;:28;;1703:1;1717:4;1709:12;;;1703:19;;;;1732:28;;;;;1581:186::o;1219:160:46:-;1328:43;;;-1:-1:-1;;;;;18645:32:185;;1328:43:46;;;18627:51:185;18694:18;;;;18687:34;;;1328:43:46;;;;;;;;;;18600:18:185;;;;1328:43:46;;;;;;;;-1:-1:-1;;;;;1328:43:46;-1:-1:-1;;;1328:43:46;;;1301:71;;1321:5;;1301:19;:71::i;25754:188:117:-;5747:30;;25754:188::o;18020:167::-;18093:4;18112:70;:46;18140:17;18112:27;:46::i;:::-;:57;;;;;;979:137:181;5544:136:94;5599:5;5648:12;:10;:12::i;:::-;:26;5630:44;;-1:-1:-1;;;5648:26:94;;;;5642:2;5630:44;:::i;2588:208::-;2652:4;2664:25;2692:12;:10;:12::i;:::-;2772:18;;2664:40;;-1:-1:-1;2772:18:94;-1:-1:-1;;;2772:18:94;;;;2728:40;;-1:-1:-1;;;;;2751:17:94;2745:2;2728:40;:::i;1370:113:183:-;1419:4;1446:33;1476:2;1458;1446:33;:::i;1255:113::-;1304:4;1331:33;1361:2;1343;1331:33;:::i;2466:989:170:-;2515:7;2947:6;2930:13;:23;;2963:46;;;;-1:-1:-1;2983:22:170;;:26;;2963:46;2959:451;;;3152:43;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3152:43:170;-1:-1:-1;;;3152:43:170;;;3130:66;;3095:12;;;;3130:21;;:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3094:102;;;;3208:7;:28;;;;;3234:2;3219:4;:11;:17;;3208:28;3204:87;;;3266:4;3255:27;;;;;;;;;;;;:::i;:::-;3248:34;;;;;2466:989;:::o;3204:87::-;3402:1;3395:8;;;;;2466:989;:::o;2959:451::-;2425:17:105;3422:28:170;3415:35;;;2466:989;:::o;1685:277:99:-;1750:19;1777:13;1793:1;1777:17;;1846:1;1817:24;:5;:13;;;:22;:24::i;:::-;1809:33;;:38;;1800:47;;;;1899:2;1870:24;:5;:13;;;:22;:24::i;:::-;1862:33;;:39;;1853:48;1939:17;1853:48;1939:15;:17::i;518:145:181:-;571:14;620:37;650:5;620:17;:37::i;1966:322:99:-;-1:-1:-1;;;;;;;;;;;;;;;;;;2218:65:99;;;;;;;;;1298:16;2187:2;2178:11;;;;;2218:65;;2133:20;;;2218:65;;;;;1966:322::o;9351:238:61:-;9452:7;9506:76;9522:26;9539:8;9522:16;:26::i;:::-;:59;;;;;9580:1;9565:11;9552:25;;;;;:::i;:::-;9562:1;9559;9552:25;:29;9522:59;34914:9:62;34907:17;;34795:145;9506:76:61;9478:25;9485:1;9488;9491:11;9478:6;:25::i;:::-;:104;;;;:::i;:::-;9471:111;9351:238;-1:-1:-1;;;;;9351:238:61:o;4740:422:98:-;4825:16;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4825:16:98;4856:301;;;;;;;;5040:35;5054:20;3653:3;3601:55;3334:10;3600:72;;3490:187;5040:35;4856:301;;;;4971:49;4999:20;3858:2;3806:54;-1:-1:-1;;;;;3805:72:98;;3681:201;4971:49;4856:301;;;;-1:-1:-1;;;;;4019:63:98;;4856:301;;;;5105:45;5129:20;4265:3;4213:55;3284:6;4212:72;;4092:197;5105:45;4856:301;;4849:308;4740:422;-1:-1:-1;;4740:422:98:o;4293:443::-;4360:19;4387:13;4403:1;4387:17;;4427:54;4443:7;:26;;;4427:52;:54::i;:::-;-1:-1:-1;;;;;4419:63:98;4410:72;;;;4554:2;4505:44;:7;:32;;;:42;:44::i;:::-;-1:-1:-1;;;;;4497:53:98;:59;;4488:68;;;;4613:3;4579:29;:7;:18;;;:27;:29::i;:::-;4571:38;;:45;;4562:54;;;;4683:3;4639:39;:7;:28;;;:37;:39::i;:::-;4631:48;;:55;;4622:64;;4293:443;-1:-1:-1;;4293:443:98:o;3371:111:61:-;3429:7;3066:5;;;3463;;;3065:36;3060:42;;3455:20;2825:294;18168:403:109;18238:7;18311:1;18261:11;:15;18253:74;;;;-1:-1:-1;;;18253:74:109;;;;;15247:25:185;;;;15288:18;;;15281:34;15220:18;;18253:74:109;15073:248:185;18253:74:109;-1:-1:-1;18333:17:109;;-1:-1:-1;18353:15:109;:11;18367:1;18353:15;:::i;:::-;18333:35;-1:-1:-1;18464:16:109;18333:35;18451:29;;;;18443:100;;;;-1:-1:-1;;;18443:100:109;;19502:10:185;19490:23;;;18443:100:109;;;19472:42:185;19530:18;;;19523:34;19445:18;;18443:100:109;19299:264:185;18443:100:109;-1:-1:-1;18557:9:109;;18168:403;-1:-1:-1;;;18168:403:109:o;5861:189:94:-;937:31;;5861:189::o;21461:243:109:-;21527:7;21552:1;21546:2;:7;21542:54;;21575:14;:2;:12;:14::i;:::-;21570:19;;:2;:19;:::i;:::-;21563:26;;;;21542:54;2436:3:63;2431:8;;;2576;;;2575:17;21645:8:109;;;21641:44;;;21670:8;21675:3;21670:2;:8;:::i;:::-;21663:15;;;;;21641:44;-1:-1:-1;21698:1:109;;21461:243;-1:-1:-1;;;21461:243:109:o;17303:861::-;17376:7;17391:25;17419:12;:10;:12::i;:::-;17391:40;;17437:19;17459:45;:8;:15;;;3858:2:98;3806:54;-1:-1:-1;;;;;3805:72:98;;3681:201;17459:45:109;17437:67;-1:-1:-1;17670:23:109;17696:39;17705:10;17717:17;17437:67;17731:3;17717:17;:::i;:::-;17696:8;:39::i;:::-;17670:65;;18054:105;18080:41;:8;:15;;;4265:3:98;4213:55;3284:6;4212:72;;4092:197;18080:41:109;18071:50;;:6;:50;:::i;:::-;18070:58;;18125:3;18070:58;:::i;:::-;18130:15;18147:11;18054:15;:105::i;13583:541:117:-;13682:35;13727:15;13745:30;:12;:10;:12::i;:::-;:17;693:3:97;641:55;;534:167;13745:30:117;13727:48;;13781:12;13796:16;:14;:16::i;:::-;13781:31;-1:-1:-1;13819:18:117;13840:24;13781:31;13840:17;:24;:::i;:::-;13819:45;;13870:14;13908:7;13887:17;:28;;:52;;;;;13929:10;13919:7;:20;13887:52;13870:69;-1:-1:-1;14008:17:117;14027:7;14036:10;13870:69;13945:103;;;;-1:-1:-1;;;13945:103:117;;;;;19770:25:185;;;;19811:18;;;19804:34;;;;19854:18;;;19847:34;19743:18;;13945:103:117;19568:319:185;13945:103:117;;;;14062:12;:10;:12::i;:::-;:31;;:57;14094:24;14114:4;14094:17;:24;:::i;:::-;14062:57;;;;;;;;;;;14055:64;;;;;;13583:541;;;:::o;7686:720:46:-;7766:18;7794:19;7932:4;7929:1;7922:4;7916:11;7909:4;7903;7899:15;7896:1;7889:5;7882;7877:60;7989:7;7979:176;;8033:4;8027:11;8078:16;8075:1;8070:3;8055:40;8124:16;8119:3;8112:29;7979:176;-1:-1:-1;;8232:1:46;8226:8;8182:16;;-1:-1:-1;8258:15:46;;:68;;8310:11;8325:1;8310:16;;8258:68;;;-1:-1:-1;;;;;8276:26:46;;;:31;8258:68;8254:146;;;8382:5;8349:40;;-1:-1:-1;;;8349:40:46;;;;;;;;:::i;8254:146::-;7756:650;;7686:720;;:::o;13796:213:62:-;13852:6;13882:16;13874:24;;13870:103;;;13921:41;;-1:-1:-1;;;13921:41:62;;13952:2;13921:41;;;20190:36:185;20242:18;;;20235:34;;;20163:18;;13921:41:62;20009:266:185;13870:103:62;-1:-1:-1;13996:5:62;13796:213::o;10282:218::-;10339:7;-1:-1:-1;;;;;10362:25:62;;10358:105;;;10410:42;;-1:-1:-1;;;10410:42:62;;10441:3;10410:42;;;20190:36:185;20242:18;;;20235:34;;;20163:18;;10410:42:62;20009:266:185;15296:213:62;15352:6;15382:16;15374:24;;15370:103;;;15421:41;;-1:-1:-1;;;15421:41:62;;15452:2;15421:41;;;20190:36:185;20242:18;;;20235:34;;;20163:18;;15421:41:62;20009:266:185;29534:122:61;29602:4;29643:1;29631:8;29625:15;;;;;;;;:::i;:::-;:19;;;;:::i;:::-;:24;;29648:1;29625:24;29618:31;;29534:122;;;:::o;4996:4226::-;5078:14;5449:5;;;5078:14;-1:-1:-1;;5453:1:61;5449;5621:20;5694:5;5690:2;5687:13;5679:5;5675:2;5671:14;5667:34;5658:43;;;5796:5;5805:1;5796:10;5792:368;;6134:11;6126:5;:19;;;;;:::i;:::-;;6119:26;;;;;;5792:368;6285:5;6270:11;:20;6266:143;;6310:84;3066:5;6330:16;;3065:36;940:4:51;3060:42:61;6310:11;:84::i;:::-;6664:17;6799:11;6796:1;6793;6786:25;7199:12;7229:15;;;7214:31;;7348:22;;;;;8094:1;8075;:15;;8074:21;;8327;;;8323:25;;8312:36;8397:21;;;8393:25;;8382:36;8469:21;;;8465:25;;8454:36;8540:21;;;8536:25;;8525:36;8613:21;;;8609:25;;8598:36;8687:21;;;8683:25;;;8672:36;7597:12;;;;7593:23;;;7618:1;7589:31;6913:20;;;6902:32;;;7709:12;;;;6960:21;;;;7446:16;;;;7700:21;;;;9163:15;;;;;-1:-1:-1;;4996:4226:61;;;;;:::o;13296:213:62:-;13352:6;-1:-1:-1;;;;;13374:24:62;;13370:103;;;13452:2;13421:41;;-1:-1:-1;;;13421:41:62;;;;;20190:36:185;;;;20242:18;;;20235:34;;;20163:18;;13421:41:62;20009:266:185;9264:218:62;9321:7;-1:-1:-1;;;;;9344:25:62;;9340:105;;;9392:42;;-1:-1:-1;;;9392:42:62;;9423:3;9392:42;;;20190:36:185;20242:18;;;20235:34;;;20163:18;;9392:42:62;20009:266:185;16296:213:62;16352:6;16382:16;16374:24;;16370:103;;;16421:41;;-1:-1:-1;;;16421:41:62;;16452:2;16421:41;;;20190:36:185;20242:18;;;20235:34;;;20163:18;;16421:41:62;20009:266:185;17171:193:62;17227:7;17258:1;17250:5;:9;17246:81;;;17282:34;;-1:-1:-1;;;17282:34:62;;;;;1335:25:185;;;1308:18;;17282:34:62;1142:224:185;23830:440:109;23936:7;23963:1;23936:7;;24025:22;24035:12;24025:7;:22;:::i;:::-;23994:53;;24053:179;24060:24;;24053:179;;24094:30;24104:20;24094:30;;:::i;:::-;;-1:-1:-1;24194:16:109;24209:1;24194:12;:16;:::i;:::-;24156:33;24179:10;24156:20;:33;:::i;:::-;24155:56;;;;:::i;:::-;24132:79;-1:-1:-1;24219:6:109;24224:1;24219:6;;:::i;:::-;;;24053:179;;;24244:21;24253:12;24244:6;:21;:::i;:::-;24237:28;23830:440;-1:-1:-1;;;;;;;23830:440:109:o;11736:202:117:-;11785:7;11897:32;:30;:32::i;:::-;:36;;11932:1;11897:36;:::i;1776:194:51:-;1881:10;1875:4;1868:24;1918:4;1912;1905:18;1949:4;1943;1936:18;4672:203:94;4729:7;4744:25;4772:12;:10;:12::i;:::-;4837:27;;;;-1:-1:-1;4829:40:94;;-1:-1:-1;;;4837:27:94;;;;4868:1;4829:40;:::i;:::-;4805:19;;4797:73;;;-1:-1:-1;;;4805:19:94;;;;4797:73;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;14:427:185:-;111:6;119;172:2;160:9;151:7;147:23;143:32;140:52;;;188:1;185;178:12;140:52;233:23;;;-1:-1:-1;332:2:185;317:18;;304:32;374:15;;367:23;355:36;;345:64;;405:1;402;395:12;345:64;428:7;418:17;;;14:427;;;;;:::o;911:226::-;970:6;1023:2;1011:9;1002:7;998:23;994:32;991:52;;;1039:1;1036;1029:12;991:52;-1:-1:-1;1084:23:185;;911:226;-1:-1:-1;911:226:185:o;1371:131::-;-1:-1:-1;;;;;1446:31:185;;1436:42;;1426:70;;1492:1;1489;1482:12;1507:247;1566:6;1619:2;1607:9;1598:7;1594:23;1590:32;1587:52;;;1635:1;1632;1625:12;1587:52;1674:9;1661:23;1693:31;1718:5;1693:31;:::i;1759:515::-;1864:6;1872;1880;1933:2;1921:9;1912:7;1908:23;1904:32;1901:52;;;1949:1;1946;1939:12;1901:52;1994:23;;;-1:-1:-1;2114:2:185;2099:18;;2086:32;;-1:-1:-1;2196:2:185;2181:18;;2168:32;2209:33;2168:32;2209:33;:::i;:::-;2261:7;2251:17;;;1759:515;;;;;:::o;2479:395::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;2838:2;2823:18;;;;2810:32;;-1:-1:-1;;;2479:395:185:o;2879:211::-;-1:-1:-1;;;;;3051:32:185;;;;3033:51;;3021:2;3006:18;;2879:211::o;3095:127::-;3156:10;3151:3;3147:20;3144:1;3137:31;3187:4;3184:1;3177:15;3211:4;3208:1;3201:15;3227:252;3299:2;3293:9;3341:3;3329:16;;-1:-1:-1;;;;;3360:34:185;;3396:22;;;3357:62;3354:88;;;3422:18;;:::i;:::-;3458:2;3451:22;3227:252;:::o;3484:275::-;3555:2;3549:9;3620:2;3601:13;;-1:-1:-1;;3597:27:185;3585:40;;-1:-1:-1;;;;;3640:34:185;;3676:22;;;3637:62;3634:88;;;3702:18;;:::i;:::-;3738:2;3731:22;3484:275;;-1:-1:-1;3484:275:185:o;3764:142::-;3840:20;;3869:31;3840:20;3869:31;:::i;:::-;3764:142;;;:::o;3911:1257::-;4057:6;4065;4073;4126:2;4114:9;4105:7;4101:23;4097:32;4094:52;;;4142:1;4139;4132:12;4094:52;4181:9;4168:23;4200:31;4225:5;4200:31;:::i;:::-;4250:5;-1:-1:-1;4306:2:185;4291:18;;4278:32;-1:-1:-1;;;;;4322:30:185;;4319:50;;;4365:1;4362;4355:12;4319:50;4388:22;;4441:4;4433:13;;4429:27;-1:-1:-1;4419:55:185;;4470:1;4467;4460:12;4419:55;4510:2;4497:16;-1:-1:-1;;;;;4528:6:185;4525:30;4522:56;;;4558:18;;:::i;:::-;4604:6;4601:1;4597:14;4631:28;4655:2;4651;4647:11;4631:28;:::i;:::-;4693:19;;;4737:2;4767:11;;;4763:20;;;4728:12;;;;4795:19;;;4792:39;;;4827:1;4824;4817:12;4792:39;4859:2;4855;4851:11;4840:22;;4871:202;4887:6;4882:3;4879:15;4871:202;;;4981:17;;5011:20;;;5060:2;4904:12;;;;4981:17;;-1:-1:-1;5051:12:185;;;;4871:202;;;5092:5;5082:15;;;;;;;5116:46;5158:2;5147:9;5143:18;5116:46;:::i;:::-;5106:56;;3911:1257;;;;;:::o;5840:404::-;5924:6;5932;5985:2;5973:9;5964:7;5960:23;5956:32;5953:52;;;6001:1;5998;5991:12;5953:52;6040:9;6027:23;6059:31;6084:5;6059:31;:::i;:::-;6109:5;-1:-1:-1;6166:2:185;6151:18;;6138:32;6179:33;6138:32;6179:33;:::i;7323:395::-;7419:6;7427;7480:2;7468:9;7459:7;7455:23;7451:32;7448:52;;;7496:1;7493;7486:12;7448:52;7541:23;;;-1:-1:-1;7640:2:185;7625:18;;7612:32;7653:33;7612:32;7653:33;:::i;7723:139::-;7826:10;7819:5;7815:22;7808:5;7805:33;7795:61;;7852:1;7849;7842:12;7867:179;7934:20;;-1:-1:-1;;;;;7983:38:185;;7973:49;;7963:77;;8036:1;8033;8026:12;8051:663;8148:6;8208:2;8196:9;8187:7;8183:23;8179:32;8223:2;8220:22;;;8238:1;8235;8228:12;8220:22;-1:-1:-1;8307:2:185;8301:9;;;8337:15;;-1:-1:-1;;;;;8367:34:185;;8403:22;;;8364:62;8361:88;;;8429:18;;:::i;:::-;8465:2;8458:22;8502:23;;8534:48;8502:23;8534:48;:::i;:::-;8591:21;;8645:37;8678:2;8663:18;;8645:37;:::i;:::-;8640:2;8628:15;;8621:62;8632:6;8051:663;-1:-1:-1;;;8051:663:185:o;8719:272::-;8777:6;8830:2;8818:9;8809:7;8805:23;8801:32;8798:52;;;8846:1;8843;8836:12;8798:52;8885:9;8872:23;8935:6;8928:5;8924:18;8917:5;8914:29;8904:57;;8957:1;8954;8947:12;8996:1218;9091:6;9151:3;9139:9;9130:7;9126:23;9122:33;9167:2;9164:22;;;9182:1;9179;9172:12;9164:22;-1:-1:-1;9251:2:185;9245:9;9293:3;9281:16;;-1:-1:-1;;;;;9312:34:185;;9348:22;;;9309:62;9306:88;;;9374:18;;:::i;:::-;9410:2;9403:22;9447:23;;9479:48;9447:23;9479:48;:::i;:::-;9536:21;;9609:2;9594:18;;9581:32;9622:50;9581:32;9622:50;:::i;:::-;9700:2;9688:15;;9681:32;9765:2;9750:18;;9737:32;9778:50;9737:32;9778:50;:::i;:::-;9856:2;9844:15;;9837:32;9921:2;9906:18;;9893:32;9934:50;9893:32;9934:50;:::i;:::-;10012:2;10000:15;;9993:32;10077:3;10062:19;;10049:33;10091:50;10049:33;10091:50;:::i;:::-;10169:3;10157:16;;10150:33;10161:6;8996:1218;-1:-1:-1;;;8996:1218:185:o;10701:733::-;10799:6;10859:3;10847:9;10838:7;10834:23;10830:33;10875:2;10872:22;;;10890:1;10887;10880:12;10872:22;-1:-1:-1;10932:22:185;;:::i;:::-;10999:23;;11031:22;;11126:2;11111:18;;;11098:32;11146:14;;;11139:31;11243:2;11228:18;;;11215:32;11263:14;;;11256:31;11360:2;11345:18;;;11332:32;11380:14;;;11373:31;;;;-1:-1:-1;11038:5:185;10701:733;-1:-1:-1;10701:733:185:o;11439:927::-;11538:6;11546;11590:9;11581:7;11577:23;11620:3;11616:2;11612:12;11609:32;;;11637:1;11634;11627:12;11609:32;11661:4;11657:2;11653:13;11650:33;;;11679:1;11676;11669:12;11650:33;;11705:22;;:::i;:::-;11764:9;11751:23;11783:33;11808:7;11783:33;:::i;:::-;11825:22;;11899:2;11884:18;;11871:32;11912:50;11871:32;11912:50;:::i;:::-;11989:2;11978:14;;11971:31;12054:2;12039:18;;12026:32;12067:33;12026:32;12067:33;:::i;:::-;12127:2;12116:14;;12109:31;12172:37;12205:2;12190:18;;12172:37;:::i;:::-;12167:2;12156:14;;12149:61;12160:5;-1:-1:-1;12286:4:185;12271:20;;12258:34;12301:33;12258:34;12301:33;:::i;15326:127::-;15387:10;15382:3;15378:20;15375:1;15368:31;15418:4;15415:1;15408:15;15442:4;15439:1;15432:15;15767:127;15828:10;15823:3;15819:20;15816:1;15809:31;15859:4;15856:1;15849:15;15883:4;15880:1;15873:15;15899:168;15972:9;;;16003;;16020:15;;;16014:22;;16000:37;15990:71;;16041:18;;:::i;16072:127::-;16133:10;16128:3;16124:20;16121:1;16114:31;16164:4;16161:1;16154:15;16188:4;16185:1;16178:15;16204:120;16244:1;16270;16260:35;;16275:18;;:::i;:::-;-1:-1:-1;16309:9:185;;16204:120::o;16329:125::-;16394:9;;;16415:10;;;16412:36;;;16428:18;;:::i;16459:298::-;-1:-1:-1;;;;;16532:27:185;;;16579;;;16630:13;;;16626:39;;;;16708:17;;;16700:26;;16687:11;;16684:43;16674:77;;16731:18;;:::i;:::-;16674:77;;16459:298;;;;:::o;17221:135::-;17260:3;17281:17;;;17278:43;;17301:18;;:::i;:::-;-1:-1:-1;17348:1:185;17337:13;;17221:135::o;17569:184::-;17639:6;17692:2;17680:9;17671:7;17667:23;17663:32;17660:52;;;17708:1;17705;17698:12;17660:52;-1:-1:-1;17731:16:185;;17569:184;-1:-1:-1;17569:184:185:o;17758:136::-;17793:3;-1:-1:-1;;;17814:22:185;;17811:48;;17839:18;;:::i;:::-;-1:-1:-1;17879:1:185;17875:13;;17758:136::o;17899:244::-;18010:10;17983:18;;;18003;;;17979:43;18042:28;;;;18089:24;;;18079:58;;18117:18;;:::i;:::-;18079:58;17899:244;;;;:::o;18148:128::-;18215:9;;;18236:11;;;18233:37;;;18250:18;;:::i;18281:167::-;18376:10;18349:18;;;18369;;;18345:43;;18400:19;;18397:45;;;18422:18;;:::i;18732:301::-;18861:3;18899:6;18893:13;18945:6;18938:4;18930:6;18926:17;18921:3;18915:37;19007:1;18971:16;;18996:13;;;-1:-1:-1;18971:16:185;18732:301;-1:-1:-1;18732:301:185:o;19892:112::-;19924:1;19950;19940:35;;19955:18;;:::i;:::-;-1:-1:-1;19989:9:185;;19892:112::o;20823:127::-;20884:10;20879:3;20875:20;20872:1;20865:31;20915:4;20912:1;20905:15;20939:4;20936:1;20929:15;20955:157;20985:1;21019:4;21016:1;21012:12;21043:3;21033:37;;21050:18;;:::i;:::-;21102:3;21095:4;21092:1;21088:12;21084:22;21079:27;;;20955:157;;;;:::o","linkReferences":{}},"methodIdentifiers":{"canPruneAtTime(uint256)":"dc1bb8f4","claimProverRewards(address,uint256[],IERC20)":"385b9012","claimSequencerRewards(address,IERC20)":"5e5fafb3","deployRewardBooster(RewardBoostConfig)":"bcfe1a1c","getCheckpointReward()":"86a0d763","getCollectiveProverRewardsForEpoch(uint256)":"5a97eaa1","getEpochForCheckpoint(uint256)":"483315b3","getEthPerFeeAssetAtCheckpoint(uint256)":"16a7ced5","getFirstProvenBy(uint256)":"c4fb3d7c","getHasClaimed(address,uint256)":"28e07ac3","getHasSubmitted(uint256,uint256,address)":"3334f7dc","getHasSubmittedFullEpoch(uint256,uint256,address)":"235ce66f","getL1FeesAt(uint256)":"5f82401f","getManaMinFeeComponentsAt(uint256,bool)":"11704430","getProvingCostPerMana()":"fe2a92d0","getProvingCostPerManaInFeeAsset(uint256)":"604ef88f","getRewardConfig()":"ec147806","getRewardDistributor()":"cf20d872","getSequencerRewardCalculator()":"305656b2","getSequencerRewards(address)":"8789a132","getSharesFor(address)":"dfff3ebc","getSpecificProverRewardsForEpoch(uint256,address)":"68faa778","initializeConfig(RewardConfig,address)":"eb7991fa","summedMinFee(ManaMinFeeComponents)":"e068d95a","updateConfig(MutableRewardConfig)":"8841c467","updateL1GasFeeOracle()":"508ac49b","updateManaTarget(uint256)":"e6e28440","updateProtocolFeeMargin(uint16)":"a4f40ee9","updateProtocolFeeRecipient(address)":"1df47f80","updateProvingCostPerMana(uint256)":"ed176514","updateSequencerRewardCalculator(address)":"d4003253"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maximum\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"}],\"name\":\"FeeLib__InvalidManaLimit\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minimum\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"}],\"name\":\"FeeLib__InvalidManaTarget\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nextAllowed\",\"type\":\"uint256\"}],\"name\":\"FeeLib__ProtocolFeeMarginCooldown\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"current\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requested\",\"type\":\"uint256\"}],\"name\":\"FeeLib__ProtocolFeeMarginStepExceeded\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minimum\",\"type\":\"uint256\"}],\"name\":\"FeeLib__ProvingCostBelowFloor\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nextAllowed\",\"type\":\"uint256\"}],\"name\":\"FeeLib__ProvingCostCooldown\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"current\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requested\",\"type\":\"uint256\"}],\"name\":\"FeeLib__ProvingCostStepExceeded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RewardLib__InvalidProtocolFeeRecipient\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RewardLib__InvalidSequencerBps\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proven\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requested\",\"type\":\"uint256\"}],\"name\":\"Rollup__CheckpointNotProven\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actual\",\"type\":\"uint256\"}],\"name\":\"Rollup__InvalidCheckpointNumber\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minimum\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"}],\"name\":\"Rollup__InvalidManaTarget\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"Epoch\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"Epoch\",\"name\":\"currentEpoch\",\"type\":\"uint256\"}],\"name\":\"Rollup__NotPastDeadline\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"checkpointNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pendingCheckpointNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"upperLimit\",\"type\":\"uint256\"}],\"name\":\"Rollup__UnavailableTempCheckpointLog\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"SafeCastOverflowedIntToUint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"manaTarget\",\"type\":\"uint256\"}],\"name\":\"ManaTargetUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"oldBps\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"newBps\",\"type\":\"uint16\"}],\"name\":\"ProtocolFeeMarginUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newRecipient\",\"type\":\"address\"}],\"name\":\"ProtocolFeeRecipientUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"Bps\",\"name\":\"sequencerBps\",\"type\":\"uint32\"},{\"internalType\":\"uint96\",\"name\":\"checkpointReward\",\"type\":\"uint96\"}],\"indexed\":false,\"internalType\":\"struct MutableRewardConfig\",\"name\":\"rewardConfig\",\"type\":\"tuple\"}],\"name\":\"RewardConfigUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldCalculator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newCalculator\",\"type\":\"address\"}],\"name\":\"SequencerRewardCalculatorUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"Timestamp\",\"name\":\"_ts\",\"type\":\"uint256\"}],\"name\":\"canPruneAtTime\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCheckpointReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Epoch\",\"name\":\"_epoch\",\"type\":\"uint256\"}],\"name\":\"getCollectiveProverRewardsForEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_checkpointNumber\",\"type\":\"uint256\"}],\"name\":\"getEpochForCheckpoint\",\"outputs\":[{\"internalType\":\"Epoch\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_checkpointNumber\",\"type\":\"uint256\"}],\"name\":\"getEthPerFeeAssetAtCheckpoint\",\"outputs\":[{\"internalType\":\"EthPerFeeAssetE12\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_checkpointNumber\",\"type\":\"uint256\"}],\"name\":\"getFirstProvenBy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_prover\",\"type\":\"address\"},{\"internalType\":\"Epoch\",\"name\":\"_epoch\",\"type\":\"uint256\"}],\"name\":\"getHasClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Epoch\",\"name\":\"_epoch\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_length\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_prover\",\"type\":\"address\"}],\"name\":\"getHasSubmitted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Epoch\",\"name\":\"_epoch\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_length\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_prover\",\"type\":\"address\"}],\"name\":\"getHasSubmittedFullEpoch\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Timestamp\",\"name\":\"_timestamp\",\"type\":\"uint256\"}],\"name\":\"getL1FeesAt\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"baseFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blobFee\",\"type\":\"uint256\"}],\"internalType\":\"struct L1FeeData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Timestamp\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_inFeeAsset\",\"type\":\"bool\"}],\"name\":\"getManaMinFeeComponentsAt\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocolFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"congestionMultiplier\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"sequencerCost\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proverCost\",\"type\":\"uint256\"}],\"internalType\":\"struct ManaMinFeeComponents\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProvingCostPerMana\",\"outputs\":[{\"internalType\":\"EthValue\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"EthPerFeeAssetE12\",\"name\":\"_ethPerFeeAsset\",\"type\":\"uint256\"}],\"name\":\"getProvingCostPerManaInFeeAsset\",\"outputs\":[{\"internalType\":\"FeeAssetValue\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"contract IRewardDistributor\",\"name\":\"rewardDistributor\",\"type\":\"IRewardDistributor\"},{\"internalType\":\"Bps\",\"name\":\"sequencerBps\",\"type\":\"uint32\"},{\"internalType\":\"contract IBoosterCore\",\"name\":\"booster\",\"type\":\"IBoosterCore\"},{\"internalType\":\"uint96\",\"name\":\"checkpointReward\",\"type\":\"uint96\"}],\"internalType\":\"struct RewardConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardDistributor\",\"outputs\":[{\"internalType\":\"contract IRewardDistributor\",\"name\":\"\",\"type\":\"IRewardDistributor\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSequencerRewardCalculator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sequencer\",\"type\":\"address\"}],\"name\":\"getSequencerRewards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_prover\",\"type\":\"address\"}],\"name\":\"getSharesFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Epoch\",\"name\":\"_epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_prover\",\"type\":\"address\"}],\"name\":\"getSpecificProverRewardsForEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocolFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"congestionMultiplier\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"sequencerCost\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proverCost\",\"type\":\"uint256\"}],\"internalType\":\"struct ManaMinFeeComponents\",\"name\":\"_components\",\"type\":\"tuple\"}],\"name\":\"summedMinFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"SafeCastOverflowedIntToUint(int256)\":[{\"details\":\"An int value doesn't fit in an uint of `bits` size.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"kind\":\"dev\",\"methods\":{\"getSequencerRewardCalculator()\":{\"returns\":{\"_0\":\"The calculator, or zero if every checkpoint receives the default sequencer reward\"}},\"initializeConfig(RewardConfig,address)\":{\"params\":{\"_config\":\"The full reward configuration, including the immutable distributor and booster\",\"_sequencerRewardCalculator\":\"The initial sequencer reward calculator, or zero for none\"}},\"updateConfig(MutableRewardConfig)\":{\"details\":\"The owner-only fee and reward setters below hold their validation, mutation and event emission here rather than in the Rollup. The Rollup sits close to the EIP-170 limit, and an event's topic hash plus its argument encoding costs it ~75 bytes per emit site; the `FeeLib` mutators inline another few hundred. A delegatecall keeps `msg.sender`, storage and the log's emitting address, so moving them across this boundary is behaviour preserving, and it only costs gas on cold admin paths. `ProposeLib` calls `FeeLib` directly, so `propose` is unaffected.\"},\"updateSequencerRewardCalculator(address)\":{\"details\":\"Accepts any address, including zero (no calculator). The event is emitted even if the value is unchanged.\",\"params\":{\"_calculator\":\"The new calculator, or zero for none\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getSequencerRewardCalculator()\":{\"notice\":\"Returns the current sequencer reward calculator\"},\"initializeConfig(RewardConfig,address)\":{\"notice\":\"Writes the reward configuration and the initial sequencer reward calculator at construction\"},\"updateSequencerRewardCalculator(address)\":{\"notice\":\"Replaces the sequencer reward calculator and emits {IRollupCore.SequencerRewardCalculatorUpdated}\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/core/libraries/rollup/RewardExtLib.sol\":\"RewardExtLib\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[\":@aztec-blob-lib/=src/mock/libraries/\",\":@aztec/=src/\",\":@generated/=generated/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@oz/=lib/openzeppelin-contracts/contracts/\",\":@test/=test/\",\":@zkpassport-test/=lib/circuits/src/solidity/test/\",\":@zkpassport/=lib/circuits/src/solidity/src/\",\":circuits/=lib/circuits/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x4251fed1ac036ad28996501522371736318527d7bf2bf7d66fbd2769d6c4771b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2df261bd4de240f54c5829faeaf0ffc919a01f1497cf7ffd8a9a544bdec8fca\",\"dweb:/ipfs/Qmb9ndUuv9RZPKJXZGzjVuhmNuoizxuGRn4QMBmdmLcxS3\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x8447b57b63810fe2e367c09496a966f143ec0e825d71ddb9fce2506cff84b618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://996cb48f793bf151555045b37138e36b3cdb31d6bc6552d3149285260be00cfb\",\"dweb:/ipfs/QmcLaTTMNVbkMx58xhkp6GeFt4V3GtSyupZuaKG3vYW2Zc\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x9e82c00fb176503860139c6bbf593b1a954ee7ff97ab2969656571382b9b58a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34b4eb157b44d4441315db65561ba7cf0fe909dc598c2cfd7080d203077d5b57\",\"dweb:/ipfs/QmcNdvK3kDUAUr48urHxoeHd1TqVDya4YfZTM66i4goEJn\"]},\"lib/openzeppelin-contracts/contracts/utils/TransientSlot.sol\":{\"keccak256\":\"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889\",\"dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9\",\"dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x2c33f654cefbbe80a9b436b5792cfe8bda2e87f139f110073c99762558db252f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc7ebd80046a52f28978cf46a24ff3e4c8568264ab6bb138038951c75d576167\",\"dweb:/ipfs/QmQQjXVr4CbDR3DXd8GHEqn3JSJYTnbBHMJp9tvc29yXrc\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol\":{\"keccak256\":\"0x3616f1b0d0a9ee1ca8f0953ecaceb9230e36f691c7974d30f964212acff52d2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4bebdd07b31ac28e3e596ac6f0333da90a4e332405aa7d65f3a3a7e0b4cf15e\",\"dweb:/ipfs/QmckoDU5bBnye2UtPcrfJNahLD2FbxrnPP9nrREMWPpnug\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]},\"src/core/interfaces/IEscapeHatch.sol\":{\"keccak256\":\"0xdb2f10d2a34d6a7d2bad4d13bcd5fe039aeab3047f6ca163e615e73ba1f87ddc\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7d565262c0608292d3235a6a9011e8e71212c45a2881635c4aaacdfc4348bddb\",\"dweb:/ipfs/QmUV2MHGfFRR8gDvVtbJfbQ4nSie6PJjkfEatRWQQDHs2f\"]},\"src/core/interfaces/IFeeJuicePortal.sol\":{\"keccak256\":\"0xce84c8907395b4c11cc6dd8035d8e14560153450f9d88340cfb8abb914c66639\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f5eb389f1a6e9adbb2f24dad7a6c0bc706d49decad82ba9b582c288e12eddda6\",\"dweb:/ipfs/QmNM3uQmJYn9B6RAHSMUT3TZMR6R75okjJErUEsuRjxGXt\"]},\"src/core/interfaces/IRollup.sol\":{\"keccak256\":\"0x4885f9bbf279f63143fa0ccd21ce4918fd34eef9ce4ba871c78c22ae6c174f8b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c3eac7f06a1db468466f6e977fc204b4106808d0293ca57d336004ed33cc0add\",\"dweb:/ipfs/QmUzzFrVi15V2WRFsgpSmDQBfPUbbA4ochmZD55VhovJBR\"]},\"src/core/interfaces/ISequencerRewardCalculator.sol\":{\"keccak256\":\"0xb7fb4ad1c171762783aecdd5e85036e71990438fc11e1121842b31c431ff0c67\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://15bf6fea8074c7a5f71860b325786d2dd5b625cbfb5b0bd4d0fc4f1a5f566d5a\",\"dweb:/ipfs/QmTH4XovGivVCs4Hp6PT3UVKLrSCPPtv1mmtvUeALVCnAZ\"]},\"src/core/interfaces/ISlasher.sol\":{\"keccak256\":\"0xf7dc3b2795b2806dbec7c94c33665abcf00a35ee65802a47f6222faf8641d302\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d7c9283746c66f04df5a133145b3196fc176e06e2fe6b3285056ffac68a09e9b\",\"dweb:/ipfs/QmPxTkM1eMNFny3yibc69p1GqWvPkno5fzBjyju89h7CNk\"]},\"src/core/interfaces/IStaking.sol\":{\"keccak256\":\"0xc48108e5590bd25fa67f44dfe602e3f64509cd170c93279185d4fa6c87e8d0c0\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1724c0cf4b33aaec9adf6207dc77d97f16fdbc472099b01314458c55e85608fb\",\"dweb:/ipfs/QmctJfzT7zenykjynptbsUiK6a8iQ1USv7iYBs9i9eij5a\"]},\"src/core/interfaces/IValidatorSelection.sol\":{\"keccak256\":\"0xe22dc335f3fd5f5cbf10928fa7e9e945ea8a04fa99362ec6e2022c862d7baca4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e26be09d3c823c545a2252467e13b68d366f3e711e15085be09f565ac436acc9\",\"dweb:/ipfs/QmS1ddcZteAjeojaJJz1ZgRPdynzpNu1HSSPbmEjJNe99G\"]},\"src/core/interfaces/IVerifier.sol\":{\"keccak256\":\"0xf5b6025ff3d59b8922bb45fb05786764e74109b4a349d206b8a7979f46484c55\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://98ec47ac3e15b1d8f2c80854ed6fd83e655e9e96341bb827f3be8e6b47f4c7fb\",\"dweb:/ipfs/QmcmUkLgM7fb7mEaJTiWJWrZTW2kAWtRcYS6imBfmueALe\"]},\"src/core/interfaces/messagebridge/IInbox.sol\":{\"keccak256\":\"0x1149c904c8b3bd2942628fbab5480cdc044e831d51963f9e6946f1974cc162bd\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://af2f1f49feba389b0bdbf427c4a85fac2908699585e5babd75f77cf14416ed5f\",\"dweb:/ipfs/QmZYjZyhicCpTcwPuWTjTTUxnaBnfv5bTMWDgxyDGqy8Gm\"]},\"src/core/interfaces/messagebridge/IOutbox.sol\":{\"keccak256\":\"0xf66d0bb4f6d978acf91a036737cd4326bfab16a4030d10510d2976e4218ed8ad\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e796eea21d552b2ca4d0446bb096e2c980ab84816d9dd1398113293ae8128b30\",\"dweb:/ipfs/QmNuGgRtPFgRe3asa68vDMcWpyfDFqQ5w5j5U7yWD1EsyZ\"]},\"src/core/libraries/ConstantsGen.sol\":{\"keccak256\":\"0xe49740db3cbad2fa2e9949912e5bd6c60f4df7decd75e7c70854d91c32376d6a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://51e6d2ef7403905632c983aabd5f6cd9c54cf1d69c45bf09ed16756ed7562596\",\"dweb:/ipfs/QmbGu9ehSTAaFgchgStzYqfYnpWkTwynZV6ZPW8aWcGrQC\"]},\"src/core/libraries/DataStructures.sol\":{\"keccak256\":\"0x5ea9d1097f0b53eafbd72332d4c5c517307e5a056266befe5b46f5f43ee3d83c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1a742311dc3c5ead2d5361549f017d20f46c40a4e74e879823ac168cf5b572d4\",\"dweb:/ipfs/QmTNDc1fiPti41QqJTJQoV9uduB6eXaQhbfq1hfVVjVNvS\"]},\"src/core/libraries/Errors.sol\":{\"keccak256\":\"0xeb0e1ac808b43123469f5d8249fa1769549c30e4ae899ae52e1200c43d9c2217\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://886e98c5838765908f0d61a90b02abc834e880fc04fa3155114306943443c2af\",\"dweb:/ipfs/QmboYvMGc4rTpaLbT22LgNvnd4nLmirbMfosAxXyGFV9AA\"]},\"src/core/libraries/HatchMath.sol\":{\"keccak256\":\"0xca787b2889e281c8db132043312aa9513315669782981689824344c910833fe4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://77ec2f6b5919d53d3a7128f6006155f2566a84e7a56cd26e9d5e6d1514ccd7a2\",\"dweb:/ipfs/Qmc3Z2quujEwxQU1JBfrxhkiULaczspBsTMjXibqXCjFyd\"]},\"src/core/libraries/SlashRoundLib.sol\":{\"keccak256\":\"0x6773eea1fa593e5c1e16fcd3a8341b537bf5ed7ee2f10472649dfd542e3ade8e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://756bdaa3facd4034149eeb3553ae99777b646c3e16abf8d41f9558e74249baa6\",\"dweb:/ipfs/QmNpb62diGKNKf5pcynejjhNex9c6PTkZnVUeuLvJ2qCZ9\"]},\"src/core/libraries/StakingQueue.sol\":{\"keccak256\":\"0xbbeafda1659a92be14ec5b77838952a089f075cc1d0c5f348b6ff336ea6a1a98\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f3c8bdb1de77dab697ef4442f72fa4830c757059f8d948d2f3aeb7f6983aa64f\",\"dweb:/ipfs/QmSDYdTnFo8nx34q3fdJCKpy8DCnKBQ4isxr49o4sY5T6T\"]},\"src/core/libraries/TimeLib.sol\":{\"keccak256\":\"0x865b760fe681ee74a93b49491d897a98091432ebc2923ff17717ddb6d26d31ab\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://4ccdfb80464d8e58a95a68314fe2dd33f4a1634ab0695a9a4e9c180a50cc592b\",\"dweb:/ipfs/QmNUUFN7RTjiicZCkci6eEnfromVTPS2MVE4CkbqoneV6P\"]},\"src/core/libraries/compressed-data/CheckpointLog.sol\":{\"keccak256\":\"0x613513b7eb7855ff619c9eb3f1589fcfb0d7675e15c5261034ac353a62c5cabf\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://110e7cc1eae76116a6682a9044cf9031744a7a8c46164987e246923169618d5e\",\"dweb:/ipfs/QmcuhMXiGWjAbYGYYXKrTCLNYguQZpgxpWVWteJezYKVzQ\"]},\"src/core/libraries/compressed-data/StakingQueueConfig.sol\":{\"keccak256\":\"0x32b00fd08e1754d9d9c9b377ae0a0ea887ace519db0ec6d252e1b2216891068e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://4ecea0a1ff8536819d37d3800b2915249b5c854d9dc611e91aae81df6acf7d76\",\"dweb:/ipfs/Qmf3FgXCf1MP78p5B76kQnwx8yXFXncutVzQhV2fteBvVn\"]},\"src/core/libraries/compressed-data/Tips.sol\":{\"keccak256\":\"0xdf872f54470e59b86349871e2c12075e8daaad85894f90e64f92538daf5f4008\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://493e4bc02c6e9acbb5bfaa68f19bf4defb409211b701784e43d2ca6cbc11ccd1\",\"dweb:/ipfs/QmSUahndZ78LBx6WdozXWL6QkqxZXzrXpHna2kGwCqgy34\"]},\"src/core/libraries/compressed-data/fees/FeeConfig.sol\":{\"keccak256\":\"0xd5593d342fd9e75cf10d9c126d5aa46eab6707221111d81757e0f5c3473c23fd\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5cdfdfa94ea9d7b93cb80bdbd9e81c80fc7d71de890d88bb957960d0d5734298\",\"dweb:/ipfs/QmQ2VjHtpja19AxDnGg2Q5hCck678PUrfLDuwUNvcyo4YS\"]},\"src/core/libraries/compressed-data/fees/FeeStructs.sol\":{\"keccak256\":\"0x23304769b5d5098b6d6b1092be483f34c0c901d7e14667404e8c5335dad8b501\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9ef5000b6a27a338f60dad80f73ea03d6560afc46c063d8d52932574d82cf157\",\"dweb:/ipfs/QmSzdqmERrrCqdfqy4jXhdiyokyNRLvi4qLp85iw8rR9iJ\"]},\"src/core/libraries/crypto/Hash.sol\":{\"keccak256\":\"0x0e2bad615ee34b98ffdc7b81558e78ad3701cf8e02dc0fa4721555b4cdb861cb\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://8f69943a9ad3fba8a12ae34b3d60815c4339ea66a5ec75beb781d22a872c2d4d\",\"dweb:/ipfs/QmTfjRk9vBaxfziFgwYzWgTWFEvbB8EEudkcYupPw6qLXW\"]},\"src/core/libraries/crypto/SampleLib.sol\":{\"keccak256\":\"0x59e87e7d6a1e966c0f73bd919825ff7d81dc898625fe9fd20e6786e10b43783e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a931d31192faf6d9d9c82fc7099a776b5886d90dd0a2a9ee8093cc680dfdef70\",\"dweb:/ipfs/QmbQjTTf96tr2WSiuoWK8k984dGuXKooZWZ5o9EL7wEPhv\"]},\"src/core/libraries/rollup/AttestationLib.sol\":{\"keccak256\":\"0xf2111c30dc0d6c81d4f990990dfa37813932180e2b94739050356c5942f316e3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://fc4d8c42797fa58646094be9e108a60a278f2c2beea06bd7b06b00933b00c5b9\",\"dweb:/ipfs/QmdNPs36gak9y4YoCQq2ttv1nj8ALyab6f9P7SoozECrfN\"]},\"src/core/libraries/rollup/BlobLib.sol\":{\"keccak256\":\"0x5b0d454bd38592154954f1da4cc59f50a036d0a28a169401abd9b5fdb88a4fe1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://68cf3a3fa979a6cfdc618e66621a0233263a83c259b17f6193fb0339796bee9d\",\"dweb:/ipfs/QmcRKQmFf8mZxWKUT7Vgg3LnTxVsCen5f8TnMqCQMGi2j6\"]},\"src/core/libraries/rollup/CoordinationSignatureLib.sol\":{\"keccak256\":\"0x939c2aa29f536822f1f35db30af3b783986612bb35a210c583247f764c39dfae\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6f5e71fe318f83063eda2027992740e7be7e0274887b4c11ab00ef3199398729\",\"dweb:/ipfs/QmPGkRVfkoLj8bi95vyySrtFeTaUGf62qcWoBy1nZRjZQc\"]},\"src/core/libraries/rollup/FeeLib.sol\":{\"keccak256\":\"0x8542067d8641a712cbcbd1b8f004129d54f31da3edf36463901baad3f53a1fdd\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://72dce5dee233e49f6371433d455a38e21a9c2d4be21f1276ca3b247757e5d6bc\",\"dweb:/ipfs/QmReGPHQLGH1Rbocqrs6BGbvuietB4j151s9L5m3SkJYzk\"]},\"src/core/libraries/rollup/FieldLib.sol\":{\"keccak256\":\"0xd09f77d3aa6d7efc844e99bd496a145171613825bc45d35e1518889098f91e95\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://499d0aeb3c7b6801e49f7554110a194ebeca73bec4ddf4b00ea8dd64fcc4b2ac\",\"dweb:/ipfs/QmQf7EeP4kwTGPR2xfDK2MpNAqqcAY4vWZ3faEKn6JEW8R\"]},\"src/core/libraries/rollup/ProposeLib.sol\":{\"keccak256\":\"0x90d4fff721a1bcdbb555aad73a040ac1f0c3a61e286b0f291f47248129d8a777\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://988c7390ba413ae25939df5a9f8850649106627ddf453a60b472e31c32a97156\",\"dweb:/ipfs/QmXNPKm6y3bgTmjfeTMrY4sfBUFT4fLxZsMBBSC13Nt6oy\"]},\"src/core/libraries/rollup/ProposedHeaderLib.sol\":{\"keccak256\":\"0x43a9fa530b7cb948c1d7c436bddafdd8ddd8c022c67e25045372bc68b9e5018c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://904e4aa94b322f68c605dd34ea38bb77343437e2f2203c3e650cf7a7bb3aa19e\",\"dweb:/ipfs/QmX3H4PMwh57L5Zv3LFrHjkNmgVZiik4FmzSyJhnTJcqPD\"]},\"src/core/libraries/rollup/RewardExtLib.sol\":{\"keccak256\":\"0x258e1b7ebfa2c5cecc4d5bcecacfda7e6398b0191a08d6f2a9f775724ab7fd5d\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9d1d38d938a44dd27419cb656a7726609da2dc074fef9c54e35909d5e304915b\",\"dweb:/ipfs/QmSZ6VVTYYBXQra114KmdZyVXVSh6J8MLKRjwEF9EmE3fp\"]},\"src/core/libraries/rollup/RewardLib.sol\":{\"keccak256\":\"0x3a73a07577c713179be2de8df601445e79c606afb42f74bed33d1000c6f14ff8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e432e402f6721bf70849ae3d731dcc669abeeb7df8399c878cc946fea0657a1a\",\"dweb:/ipfs/QmYuGKQvN9iFhQpKLo6Rd7oTkMZx6VfdrJFh6tVgLEDg5M\"]},\"src/core/libraries/rollup/STFLib.sol\":{\"keccak256\":\"0xcb2ae0566bd5b0834f8ec2f73d78037f25d4d65894bff1ab8abcb9f8c65c7bc0\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://35689b10ee3d4fff126625efa170fe77c617441fd7902d7376488af5061a79e0\",\"dweb:/ipfs/QmUzDZoMrpJAuhVYVGSruX4mj9jTJmSZncvoTHbsyZL7eM\"]},\"src/core/libraries/rollup/SequencerRewardCalculatorLib.sol\":{\"keccak256\":\"0x2d5e8efc5a87bec1d50a8c9df0696a8248e0905ab62dcd7ec6a51527ad33b604\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://15d4a7d1f265fc1a248762702373534fcae9d85df5150e5e1a45f79b94736ed4\",\"dweb:/ipfs/QmdAT5Aw6JSg5GJnTikfDtJHnJZuMib7L8GB3yQ4jMuiFr\"]},\"src/core/libraries/rollup/StakingLib.sol\":{\"keccak256\":\"0x64132e16903b88cc0caf2deb576e06f3f52e77fdc78c8af65ebc331d5418f081\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://bf2c055fe01b3693fb0cbc3dd06b818a766e664455f7f0966cf3f8544a24b055\",\"dweb:/ipfs/QmciPGacwFhpwxvJjpm3VYwuhA8yVtk9Ju2TdUWFMKhXJa\"]},\"src/core/libraries/rollup/ValidatorSelectionLib.sol\":{\"keccak256\":\"0xf6ba71f62d3b0e57403087cfa1c16d5f8adf30eb16d78e96510d5f48d3f681d9\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://ff43237bc4904ee1eef99da183c8082811737b8702dc452572498526dbdfe9c2\",\"dweb:/ipfs/QmaPuWp41oRGZcMLDK2Qf4BRz7QBr1HU72qb31qasniUKW\"]},\"src/core/reward-boost/RewardBooster.sol\":{\"keccak256\":\"0x1cffe0dcbc06775ad415b06cd3591f74331bad3b154a3305ea6c5a081915fce0\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a2fcdbdcc260b3330bae0bc61227f652f9cb68e175fbc7d4173bf1d2dfaa92d1\",\"dweb:/ipfs/QmddUmciRbznTTfBpbZf2p3R9sC1oePRF9C3Swnq8qU3Xb\"]},\"src/core/slashing/Slasher.sol\":{\"keccak256\":\"0xc3040cd1813a6064a6afda9ca8b1f65f5cba2e7359050c48507d2f71d3606786\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://73f73fac9ffe650304c68a49635604806b86b0a5baadbf59ef36931e7937bc51\",\"dweb:/ipfs/QmaMMMXycUeybJyf2ZowJgQ1Wo4ZC7g5kyp1BHWfj8dkD9\"]},\"src/governance/Bn254LibWrapper.sol\":{\"keccak256\":\"0xea39571de45fe0fec82d9e760998677eb2432e08c6cdb00c41efa58caf56e607\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1e470b821f3d87fa0c988c5f23a8deed3849bffd2527b3b4ee137a90e0c1264c\",\"dweb:/ipfs/QmW3M4HyRLDruV5AYXCKicFCiiczmwnSTtnwVKUnQSm7a8\"]},\"src/governance/GSE.sol\":{\"keccak256\":\"0xc19fa4868d78030e2411dd5cef6d0da09645ade1d1ea0c4374b284a89feb722a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d06396c249566d0e9de5d34eade2bf27c4d583005c0129787bf6c413dcd9e273\",\"dweb:/ipfs/QmcimKKiV9KqobS5wzPsKYzyYu5WezCF3gyHkekf5tjrUU\"]},\"src/governance/GSEPayload.sol\":{\"keccak256\":\"0x40e5385b008f0335b50e066c647bb906685511c9fef206ce90a3391468558bae\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a129e87e1d57cf0813b14108cbdbcdd4c114b20f3f2d67477302d6d050120c7e\",\"dweb:/ipfs/QmRcQQkeDhkrmQha3nkA8qvXnGmF6nLhZMKAhMx61A7a5y\"]},\"src/governance/Governance.sol\":{\"keccak256\":\"0x07770c3d80369adae51be8e361f63a2aa5ec489b354b10c8590be1e294dfe2e5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7219becf3467ea8368dba0bd093ba932b165cf3f214e7286f652e2730bf42eaf\",\"dweb:/ipfs/QmTSCDhSQBTKhzGUk12phxhqohSba6yopYMzF5T5XPFUWw\"]},\"src/governance/interfaces/IBn254LibWrapper.sol\":{\"keccak256\":\"0xdd0a3de8b8ff67cf2bf090d04b4a37aa6d604f402db3328387d2466d2354464a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://daef0234547509cd7ae3a7babf0e50a8d1ca2894f1817e3e2409a50fd32947b9\",\"dweb:/ipfs/QmbwSedqnBfsqRnUq8XcXzoeoyhZTXJWJ9rpJn61BAJfej\"]},\"src/governance/interfaces/IEmpire.sol\":{\"keccak256\":\"0xe6a8a8c3fef8e6f9f5118bd40c63e951b13a59d5f885bbb979d38745ef760ed3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://940c1fe4138d7364ccdb7d5635ea90bafa1da274f680039b0b54ee8c2a275a9a\",\"dweb:/ipfs/QmX2EeoVyES18BMgcbKVDb36MCq8ooDVR98m2RmnmZjEAo\"]},\"src/governance/interfaces/IGovernance.sol\":{\"keccak256\":\"0xe420d305fbe7c35f4620cd1e0f05f9f4c5a91532621d21a64ea553a3d9a3c005\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1900ac41f945aa692d5228f134ae63840081d284bf89fdd2a06b45424fe359ff\",\"dweb:/ipfs/QmePFZ1xv5qfftJVDLc98XUVFsrpuKAbKZiro7MoMDTpoa\"]},\"src/governance/interfaces/IGovernanceProposer.sol\":{\"keccak256\":\"0x2be820a5452c481ffd329d68c46d0af6a286934963f26b36d363cd34fb0e5817\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f58839d1504e11e7da42b7f5a03fb9b9d8cc39ab4c16cfb86fa44c4de08df76f\",\"dweb:/ipfs/QmR6jUJozP9tfpZuSduk66E8n7WuL3zzsR3WHZ7BR2ZBX2\"]},\"src/governance/interfaces/IPayload.sol\":{\"keccak256\":\"0x5844ea725ce56ac8adeb20b2d37aa431ca087f68a65a7ca91f981be7458737c3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5ea670db51b2ccfac05a684b95458ecc015c9d12a6567c3f73d473386533f58c\",\"dweb:/ipfs/QmRUB8mckkGQ4nNsErRhnKMsD9SSkokRSpnr5XZC9dZdin\"]},\"src/governance/interfaces/IProposerPayload.sol\":{\"keccak256\":\"0x89068dd464c0bfb7d447c0e99728277e03c7c4b864208ead20321f0590187248\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://4d1d9ba5f8b7da374d773acde9514ca6607ad31a3e83950caa097bdb8b0f9167\",\"dweb:/ipfs/Qmd7tWAD2Ubz434zZPJvuyAGsHYpXBHvVhVefLFzUudD2o\"]},\"src/governance/interfaces/IRegistry.sol\":{\"keccak256\":\"0xc3678c04c0945d3dc1d8007df3dc7f8b25d8108b0b25134842ffc5169f996ce8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://71e4e401f1a6f561262755cc2e1c347cd3aa79e67d2e52ca547864f49de01724\",\"dweb:/ipfs/QmPvoKFEDTb41DSC3MmDMqtM3trj5oZb1Jj2jtQSnNfHBn\"]},\"src/governance/interfaces/IRewardDistributor.sol\":{\"keccak256\":\"0xf263f75be83d0b0e3c8f17ec7fc2558d3543df788dcb2db6f1ee158208134f14\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b2b65819a5f9ecd2237957e987bb69160d3076ccaf9f76f925a936e574d63d76\",\"dweb:/ipfs/QmNgWESeo6UUvgW7rCMP3d4o8mUqSSbKrwbicH4kaUrm7h\"]},\"src/governance/libraries/AddressSnapshotLib.sol\":{\"keccak256\":\"0x1006e58059e0a1f0fef102f2f11f5649dffc7f2eb066fce51845e65a064f4210\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://de385ab9eb3bb66d7be1218b49ae9bba7d88797bcb375b9a7481a209d303a402\",\"dweb:/ipfs/QmZe6DTv3cACfdXNSMhbMhoefg31LW3uLxHLDC7nZhb4Yp\"]},\"src/governance/libraries/CheckpointedUintLib.sol\":{\"keccak256\":\"0xcd73cf7a62e4ac5cc79f7f8df8b35d5c5e4df5b8a3478bcbc2b29c9aa89ea4b4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f56f37060d39d3c9276f23c96be7f6b1ea44676312dbaa1ab16ab3bff6acebf1\",\"dweb:/ipfs/QmPDUEEgdbpTTs9r3fvdMYJo9akCRsWcJXyarBhQgcKb5q\"]},\"src/governance/libraries/ConfigurationLib.sol\":{\"keccak256\":\"0x7cb65bdbd8d077f3cfc01b065fb3a57628db36cd46f68885c74b9131198c2149\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e37bde50f5f739f479feb95fbe81ed24ee47f841b99f066ecf6782e758d1978a\",\"dweb:/ipfs/QmebPE5REUpYRB8dikUebcGtyk9uy44G9mbchKJtHxJAgy\"]},\"src/governance/libraries/DepositDelegationLib.sol\":{\"keccak256\":\"0x37fbca65ccabec9d901bd71d684dceec7c59fa5a05438fd209ea0d5e16e764c0\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e42f2622978abc3ac84223a6b206201898d0269d20bf81539636c0999a0db9eb\",\"dweb:/ipfs/QmW4BgTjR6BuPxwxreKarUeK1u8gx3p9yFdDD4EsC5hkyb\"]},\"src/governance/libraries/Errors.sol\":{\"keccak256\":\"0x8861ea7508138c83e89f186ce17accb42a6eee7d1d2e52841975d4ba676daae4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b0d5b01c2b0a20c3c70a7ab2b8405d083a063bf5758beb87a4d488bda76078fa\",\"dweb:/ipfs/QmfGH6CTCPA6nVA6KidcTSvaJ6MQZkv6KiuDVBTARGBTRv\"]},\"src/governance/libraries/ProposalLib.sol\":{\"keccak256\":\"0x616ffbb24c4454ca9e223e85ff01e8dca139723d5cd312d5d6f6111d79782a90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://192f9be3355a7a94d19ae4e5b397e5db19dde64ccc671e149da06dfaa2577192\",\"dweb:/ipfs/QmTDcm7XEFLe7o5cXUmuu5wQDyprU78AVMymiWvrmP4tHT\"]},\"src/governance/libraries/compressed-data/Ballot.sol\":{\"keccak256\":\"0xca07dc8cf36ac2beae7674804af144b34b3c5848153351c17d996e9b3293cd5d\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6911cc49f1d6977c12f652063c14891697c1ffe49fdf36903c32a8ad73cbd012\",\"dweb:/ipfs/QmQBEZARCAAj1ZLcswkH6FwP1RP8uuNjYTHqthmE9Z5RnM\"]},\"src/governance/libraries/compressed-data/Configuration.sol\":{\"keccak256\":\"0x40744f275af22d33c38fd9c6a7b822292c9c87b17ac2c78abbef4eb8356fd9f9\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://73c685be7e934516207827a59cbbeb7fc1164e7659dd3ec857a91cfea765b482\",\"dweb:/ipfs/QmQfudRpSSQnG9u4XV8iA2UAyDzQPFqWzpZy5NZbaD6htv\"]},\"src/governance/libraries/compressed-data/Proposal.sol\":{\"keccak256\":\"0x72cf619a21c8e95875c63d4361cbe1a815d9d67f36f3fe32b6c9ca4d9ab0d33a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d80f47beb3f91da3cc68264c86fc8fb8f0e4abaf9d92243ab3206407fceed5c6\",\"dweb:/ipfs/QmYyrBTDMfkTBu6EcKcSMR7JyfphZ5xH1VCQ8EHMQUvsoN\"]},\"src/governance/proposer/EmpireBase.sol\":{\"keccak256\":\"0x747b20e201dab632a831c12f1fee9ee52cc80a2098c77e8b6c7b09b0f3ba2bc0\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b7d4a0475ca364f75aa2a1d17ed9e6970f0be605126f2efe26d53c791d4a5209\",\"dweb:/ipfs/Qma5tkTcy94PqE9vtQybQSyH9LWaHR8V3ubwDPZwiUNT35\"]},\"src/governance/proposer/GovernanceProposer.sol\":{\"keccak256\":\"0xa2829df5b65856c9f1d6bf490fb50616f14402ff8eece2e32b63828b8b9337c3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://8ad52830a7a3aed3477bf55f92c3d68cb1c16a5cf1d636227ab76a306c846607\",\"dweb:/ipfs/QmRonyZQZj5D1e2g4Y6Tmj2AEUnekL4pGmgdMT4ycRAM8m\"]},\"src/mock/libraries/BlobLib.sol\":{\"keccak256\":\"0xa1b19239c5c64ba1b0c9f83ec0a30059f10ded12bf40d5d7c3f65974752b3121\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5cbce7d0dd0096232d60ec5c6920f211ffcaa46c8675b1129c1f939a1ee84837\",\"dweb:/ipfs/QmSS2qUhzUuZY1qHDjWUGvHuMqMG3cjHoHeDVvgWsjMdA9\"]},\"src/shared/libraries/BN254Lib.sol\":{\"keccak256\":\"0x0c3a5b7dabde2f5c81f19e1a4a212308a8636b5bb4a16bb1a518d58ef4feb6f5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://870be6219c7081ed081cee2fa9ad1e7f3efff623ae1a59aed966f2bdcee65b7a\",\"dweb:/ipfs/QmNzohb1TazCgaT1e55CMDuuG7AHdGrGA6jvT4wzxdAM52\"]},\"src/shared/libraries/CompressedTimeMath.sol\":{\"keccak256\":\"0x361023cf30593e7e27417c91af3702e75235fcab251e4ad5ac2e47306a730ec1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9b192242472b3126c97a4a4e4fa792809a6bf20b548a57e677f5260c0dbf3ad3\",\"dweb:/ipfs/QmfK4WAucepcqzMLu11rs68HJazwfegVsgK5tTco82SooB\"]},\"src/shared/libraries/SignatureLib.sol\":{\"keccak256\":\"0xb69989f57384383341d1bb4693fb1e6ce31a2ab6c0fadb48bf088078a332a56a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f199be27853a14d746c567c5e3a473f474e84cfd3d119a6404e6ceff4e986e5c\",\"dweb:/ipfs/QmWsLozeiKLQbTSEUDVZK2ASEX3EodKxT4DdA9BA6bD6N2\"]},\"src/shared/libraries/TimeMath.sol\":{\"keccak256\":\"0x8da20dc8b4ce296b7c11f117a3381bfe5cd611a3512a74a500e2e54e0353417f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://18c74be98a4e31e8a16356e573514f639a8fc43928e741f6ead81dd755e9a914\",\"dweb:/ipfs/QmPDEdYYEj3DhXjrCDPuudJbhsBaNj1sK6hH94Z86168Q3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"maximum","type":"uint256"},{"internalType":"uint256","name":"provided","type":"uint256"}],"type":"error","name":"FeeLib__InvalidManaLimit"},{"inputs":[{"internalType":"uint256","name":"minimum","type":"uint256"},{"internalType":"uint256","name":"provided","type":"uint256"}],"type":"error","name":"FeeLib__InvalidManaTarget"},{"inputs":[{"internalType":"uint256","name":"nextAllowed","type":"uint256"}],"type":"error","name":"FeeLib__ProtocolFeeMarginCooldown"},{"inputs":[{"internalType":"uint256","name":"current","type":"uint256"},{"internalType":"uint256","name":"requested","type":"uint256"}],"type":"error","name":"FeeLib__ProtocolFeeMarginStepExceeded"},{"inputs":[{"internalType":"uint256","name":"provided","type":"uint256"},{"internalType":"uint256","name":"minimum","type":"uint256"}],"type":"error","name":"FeeLib__ProvingCostBelowFloor"},{"inputs":[{"internalType":"uint256","name":"nextAllowed","type":"uint256"}],"type":"error","name":"FeeLib__ProvingCostCooldown"},{"inputs":[{"internalType":"uint256","name":"current","type":"uint256"},{"internalType":"uint256","name":"requested","type":"uint256"}],"type":"error","name":"FeeLib__ProvingCostStepExceeded"},{"inputs":[],"type":"error","name":"RewardLib__InvalidProtocolFeeRecipient"},{"inputs":[],"type":"error","name":"RewardLib__InvalidSequencerBps"},{"inputs":[{"internalType":"uint256","name":"proven","type":"uint256"},{"internalType":"uint256","name":"requested","type":"uint256"}],"type":"error","name":"Rollup__CheckpointNotProven"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"actual","type":"uint256"}],"type":"error","name":"Rollup__InvalidCheckpointNumber"},{"inputs":[{"internalType":"uint256","name":"minimum","type":"uint256"},{"internalType":"uint256","name":"provided","type":"uint256"}],"type":"error","name":"Rollup__InvalidManaTarget"},{"inputs":[{"internalType":"Epoch","name":"deadline","type":"uint256"},{"internalType":"Epoch","name":"currentEpoch","type":"uint256"}],"type":"error","name":"Rollup__NotPastDeadline"},{"inputs":[{"internalType":"uint256","name":"checkpointNumber","type":"uint256"},{"internalType":"uint256","name":"pendingCheckpointNumber","type":"uint256"},{"internalType":"uint256","name":"upperLimit","type":"uint256"}],"type":"error","name":"Rollup__UnavailableTempCheckpointLog"},{"inputs":[{"internalType":"int256","name":"value","type":"int256"}],"type":"error","name":"SafeCastOverflowedIntToUint"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[{"internalType":"uint256","name":"manaTarget","type":"uint256","indexed":true}],"type":"event","name":"ManaTargetUpdated","anonymous":false},{"inputs":[{"internalType":"uint16","name":"oldBps","type":"uint16","indexed":false},{"internalType":"uint16","name":"newBps","type":"uint16","indexed":false}],"type":"event","name":"ProtocolFeeMarginUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"oldRecipient","type":"address","indexed":false},{"internalType":"address","name":"newRecipient","type":"address","indexed":false}],"type":"event","name":"ProtocolFeeRecipientUpdated","anonymous":false},{"inputs":[{"internalType":"struct MutableRewardConfig","name":"rewardConfig","type":"tuple","components":[{"internalType":"Bps","name":"sequencerBps","type":"uint32"},{"internalType":"uint96","name":"checkpointReward","type":"uint96"}],"indexed":false}],"type":"event","name":"RewardConfigUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"oldCalculator","type":"address","indexed":false},{"internalType":"address","name":"newCalculator","type":"address","indexed":false}],"type":"event","name":"SequencerRewardCalculatorUpdated","anonymous":false},{"inputs":[{"internalType":"Timestamp","name":"_ts","type":"uint256"}],"stateMutability":"view","type":"function","name":"canPruneAtTime","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCheckpointReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"Epoch","name":"_epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCollectiveProverRewardsForEpoch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_checkpointNumber","type":"uint256"}],"stateMutability":"view","type":"function","name":"getEpochForCheckpoint","outputs":[{"internalType":"Epoch","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_checkpointNumber","type":"uint256"}],"stateMutability":"view","type":"function","name":"getEthPerFeeAssetAtCheckpoint","outputs":[{"internalType":"EthPerFeeAssetE12","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_checkpointNumber","type":"uint256"}],"stateMutability":"view","type":"function","name":"getFirstProvenBy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_prover","type":"address"},{"internalType":"Epoch","name":"_epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getHasClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"Epoch","name":"_epoch","type":"uint256"},{"internalType":"uint256","name":"_length","type":"uint256"},{"internalType":"address","name":"_prover","type":"address"}],"stateMutability":"view","type":"function","name":"getHasSubmitted","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"Epoch","name":"_epoch","type":"uint256"},{"internalType":"uint256","name":"_length","type":"uint256"},{"internalType":"address","name":"_prover","type":"address"}],"stateMutability":"view","type":"function","name":"getHasSubmittedFullEpoch","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"Timestamp","name":"_timestamp","type":"uint256"}],"stateMutability":"view","type":"function","name":"getL1FeesAt","outputs":[{"internalType":"struct L1FeeData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"baseFee","type":"uint256"},{"internalType":"uint256","name":"blobFee","type":"uint256"}]}]},{"inputs":[{"internalType":"Timestamp","name":"_timestamp","type":"uint256"},{"internalType":"bool","name":"_inFeeAsset","type":"bool"}],"stateMutability":"view","type":"function","name":"getManaMinFeeComponentsAt","outputs":[{"internalType":"struct ManaMinFeeComponents","name":"","type":"tuple","components":[{"internalType":"uint256","name":"protocolFee","type":"uint256"},{"internalType":"uint256","name":"congestionMultiplier","type":"uint256"},{"internalType":"uint256","name":"sequencerCost","type":"uint256"},{"internalType":"uint256","name":"proverCost","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getProvingCostPerMana","outputs":[{"internalType":"EthValue","name":"","type":"uint256"}]},{"inputs":[{"internalType":"EthPerFeeAssetE12","name":"_ethPerFeeAsset","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProvingCostPerManaInFeeAsset","outputs":[{"internalType":"FeeAssetValue","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRewardConfig","outputs":[{"internalType":"struct RewardConfig","name":"","type":"tuple","components":[{"internalType":"contract IRewardDistributor","name":"rewardDistributor","type":"IRewardDistributor"},{"internalType":"Bps","name":"sequencerBps","type":"uint32"},{"internalType":"contract IBoosterCore","name":"booster","type":"IBoosterCore"},{"internalType":"uint96","name":"checkpointReward","type":"uint96"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRewardDistributor","outputs":[{"internalType":"contract IRewardDistributor","name":"","type":"IRewardDistributor"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getSequencerRewardCalculator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_sequencer","type":"address"}],"stateMutability":"view","type":"function","name":"getSequencerRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_prover","type":"address"}],"stateMutability":"view","type":"function","name":"getSharesFor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"Epoch","name":"_epoch","type":"uint256"},{"internalType":"address","name":"_prover","type":"address"}],"stateMutability":"view","type":"function","name":"getSpecificProverRewardsForEpoch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"struct ManaMinFeeComponents","name":"_components","type":"tuple","components":[{"internalType":"uint256","name":"protocolFee","type":"uint256"},{"internalType":"uint256","name":"congestionMultiplier","type":"uint256"},{"internalType":"uint256","name":"sequencerCost","type":"uint256"},{"internalType":"uint256","name":"proverCost","type":"uint256"}]}],"stateMutability":"pure","type":"function","name":"summedMinFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"getSequencerRewardCalculator()":{"returns":{"_0":"The calculator, or zero if every checkpoint receives the default sequencer reward"}},"initializeConfig(RewardConfig,address)":{"params":{"_config":"The full reward configuration, including the immutable distributor and booster","_sequencerRewardCalculator":"The initial sequencer reward calculator, or zero for none"}},"updateConfig(MutableRewardConfig)":{"details":"The owner-only fee and reward setters below hold their validation, mutation and event emission here rather than in the Rollup. The Rollup sits close to the EIP-170 limit, and an event's topic hash plus its argument encoding costs it ~75 bytes per emit site; the `FeeLib` mutators inline another few hundred. A delegatecall keeps `msg.sender`, storage and the log's emitting address, so moving them across this boundary is behaviour preserving, and it only costs gas on cold admin paths. `ProposeLib` calls `FeeLib` directly, so `propose` is unaffected."},"updateSequencerRewardCalculator(address)":{"details":"Accepts any address, including zero (no calculator). The event is emitted even if the value is unchanged.","params":{"_calculator":"The new calculator, or zero for none"}}},"version":1},"userdoc":{"kind":"user","methods":{"getSequencerRewardCalculator()":{"notice":"Returns the current sequencer reward calculator"},"initializeConfig(RewardConfig,address)":{"notice":"Writes the reward configuration and the initial sequencer reward calculator at construction"},"updateSequencerRewardCalculator(address)":{"notice":"Replaces the sequencer reward calculator and emits {IRollupCore.SequencerRewardCalculatorUpdated}"}},"version":1}},"settings":{"remappings":["@aztec-blob-lib/=src/mock/libraries/","@aztec/=src/","@generated/=generated/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@oz/=lib/openzeppelin-contracts/contracts/","@test/=test/","@zkpassport-test/=lib/circuits/src/solidity/test/","@zkpassport/=lib/circuits/src/solidity/src/","circuits/=lib/circuits/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":100},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/core/libraries/rollup/RewardExtLib.sol":"RewardExtLib"},"evmVersion":"prague","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"keccak256":"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7","urls":["bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b","dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x4251fed1ac036ad28996501522371736318527d7bf2bf7d66fbd2769d6c4771b","urls":["bzz-raw://b2df261bd4de240f54c5829faeaf0ffc919a01f1497cf7ffd8a9a544bdec8fca","dweb:/ipfs/Qmb9ndUuv9RZPKJXZGzjVuhmNuoizxuGRn4QMBmdmLcxS3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol":{"keccak256":"0x8447b57b63810fe2e367c09496a966f143ec0e825d71ddb9fce2506cff84b618","urls":["bzz-raw://996cb48f793bf151555045b37138e36b3cdb31d6bc6552d3149285260be00cfb","dweb:/ipfs/QmcLaTTMNVbkMx58xhkp6GeFt4V3GtSyupZuaKG3vYW2Zc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x9e82c00fb176503860139c6bbf593b1a954ee7ff97ab2969656571382b9b58a2","urls":["bzz-raw://34b4eb157b44d4441315db65561ba7cf0fe909dc598c2cfd7080d203077d5b57","dweb:/ipfs/QmcNdvK3kDUAUr48urHxoeHd1TqVDya4YfZTM66i4goEJn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/TransientSlot.sol":{"keccak256":"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1","urls":["bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889","dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84","urls":["bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9","dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575","urls":["bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e","dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0x2c33f654cefbbe80a9b436b5792cfe8bda2e87f139f110073c99762558db252f","urls":["bzz-raw://dc7ebd80046a52f28978cf46a24ff3e4c8568264ab6bb138038951c75d576167","dweb:/ipfs/QmQQjXVr4CbDR3DXd8GHEqn3JSJYTnbBHMJp9tvc29yXrc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol":{"keccak256":"0x3616f1b0d0a9ee1ca8f0953ecaceb9230e36f691c7974d30f964212acff52d2b","urls":["bzz-raw://d4bebdd07b31ac28e3e596ac6f0333da90a4e332405aa7d65f3a3a7e0b4cf15e","dweb:/ipfs/QmckoDU5bBnye2UtPcrfJNahLD2FbxrnPP9nrREMWPpnug"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"},"src/core/interfaces/IEscapeHatch.sol":{"keccak256":"0xdb2f10d2a34d6a7d2bad4d13bcd5fe039aeab3047f6ca163e615e73ba1f87ddc","urls":["bzz-raw://7d565262c0608292d3235a6a9011e8e71212c45a2881635c4aaacdfc4348bddb","dweb:/ipfs/QmUV2MHGfFRR8gDvVtbJfbQ4nSie6PJjkfEatRWQQDHs2f"],"license":"Apache-2.0"},"src/core/interfaces/IFeeJuicePortal.sol":{"keccak256":"0xce84c8907395b4c11cc6dd8035d8e14560153450f9d88340cfb8abb914c66639","urls":["bzz-raw://f5eb389f1a6e9adbb2f24dad7a6c0bc706d49decad82ba9b582c288e12eddda6","dweb:/ipfs/QmNM3uQmJYn9B6RAHSMUT3TZMR6R75okjJErUEsuRjxGXt"],"license":"Apache-2.0"},"src/core/interfaces/IRollup.sol":{"keccak256":"0x4885f9bbf279f63143fa0ccd21ce4918fd34eef9ce4ba871c78c22ae6c174f8b","urls":["bzz-raw://c3eac7f06a1db468466f6e977fc204b4106808d0293ca57d336004ed33cc0add","dweb:/ipfs/QmUzzFrVi15V2WRFsgpSmDQBfPUbbA4ochmZD55VhovJBR"],"license":"Apache-2.0"},"src/core/interfaces/ISequencerRewardCalculator.sol":{"keccak256":"0xb7fb4ad1c171762783aecdd5e85036e71990438fc11e1121842b31c431ff0c67","urls":["bzz-raw://15bf6fea8074c7a5f71860b325786d2dd5b625cbfb5b0bd4d0fc4f1a5f566d5a","dweb:/ipfs/QmTH4XovGivVCs4Hp6PT3UVKLrSCPPtv1mmtvUeALVCnAZ"],"license":"Apache-2.0"},"src/core/interfaces/ISlasher.sol":{"keccak256":"0xf7dc3b2795b2806dbec7c94c33665abcf00a35ee65802a47f6222faf8641d302","urls":["bzz-raw://d7c9283746c66f04df5a133145b3196fc176e06e2fe6b3285056ffac68a09e9b","dweb:/ipfs/QmPxTkM1eMNFny3yibc69p1GqWvPkno5fzBjyju89h7CNk"],"license":"Apache-2.0"},"src/core/interfaces/IStaking.sol":{"keccak256":"0xc48108e5590bd25fa67f44dfe602e3f64509cd170c93279185d4fa6c87e8d0c0","urls":["bzz-raw://1724c0cf4b33aaec9adf6207dc77d97f16fdbc472099b01314458c55e85608fb","dweb:/ipfs/QmctJfzT7zenykjynptbsUiK6a8iQ1USv7iYBs9i9eij5a"],"license":"Apache-2.0"},"src/core/interfaces/IValidatorSelection.sol":{"keccak256":"0xe22dc335f3fd5f5cbf10928fa7e9e945ea8a04fa99362ec6e2022c862d7baca4","urls":["bzz-raw://e26be09d3c823c545a2252467e13b68d366f3e711e15085be09f565ac436acc9","dweb:/ipfs/QmS1ddcZteAjeojaJJz1ZgRPdynzpNu1HSSPbmEjJNe99G"],"license":"Apache-2.0"},"src/core/interfaces/IVerifier.sol":{"keccak256":"0xf5b6025ff3d59b8922bb45fb05786764e74109b4a349d206b8a7979f46484c55","urls":["bzz-raw://98ec47ac3e15b1d8f2c80854ed6fd83e655e9e96341bb827f3be8e6b47f4c7fb","dweb:/ipfs/QmcmUkLgM7fb7mEaJTiWJWrZTW2kAWtRcYS6imBfmueALe"],"license":"Apache-2.0"},"src/core/interfaces/messagebridge/IInbox.sol":{"keccak256":"0x1149c904c8b3bd2942628fbab5480cdc044e831d51963f9e6946f1974cc162bd","urls":["bzz-raw://af2f1f49feba389b0bdbf427c4a85fac2908699585e5babd75f77cf14416ed5f","dweb:/ipfs/QmZYjZyhicCpTcwPuWTjTTUxnaBnfv5bTMWDgxyDGqy8Gm"],"license":"Apache-2.0"},"src/core/interfaces/messagebridge/IOutbox.sol":{"keccak256":"0xf66d0bb4f6d978acf91a036737cd4326bfab16a4030d10510d2976e4218ed8ad","urls":["bzz-raw://e796eea21d552b2ca4d0446bb096e2c980ab84816d9dd1398113293ae8128b30","dweb:/ipfs/QmNuGgRtPFgRe3asa68vDMcWpyfDFqQ5w5j5U7yWD1EsyZ"],"license":"Apache-2.0"},"src/core/libraries/ConstantsGen.sol":{"keccak256":"0xe49740db3cbad2fa2e9949912e5bd6c60f4df7decd75e7c70854d91c32376d6a","urls":["bzz-raw://51e6d2ef7403905632c983aabd5f6cd9c54cf1d69c45bf09ed16756ed7562596","dweb:/ipfs/QmbGu9ehSTAaFgchgStzYqfYnpWkTwynZV6ZPW8aWcGrQC"],"license":"Apache-2.0"},"src/core/libraries/DataStructures.sol":{"keccak256":"0x5ea9d1097f0b53eafbd72332d4c5c517307e5a056266befe5b46f5f43ee3d83c","urls":["bzz-raw://1a742311dc3c5ead2d5361549f017d20f46c40a4e74e879823ac168cf5b572d4","dweb:/ipfs/QmTNDc1fiPti41QqJTJQoV9uduB6eXaQhbfq1hfVVjVNvS"],"license":"Apache-2.0"},"src/core/libraries/Errors.sol":{"keccak256":"0xeb0e1ac808b43123469f5d8249fa1769549c30e4ae899ae52e1200c43d9c2217","urls":["bzz-raw://886e98c5838765908f0d61a90b02abc834e880fc04fa3155114306943443c2af","dweb:/ipfs/QmboYvMGc4rTpaLbT22LgNvnd4nLmirbMfosAxXyGFV9AA"],"license":"Apache-2.0"},"src/core/libraries/HatchMath.sol":{"keccak256":"0xca787b2889e281c8db132043312aa9513315669782981689824344c910833fe4","urls":["bzz-raw://77ec2f6b5919d53d3a7128f6006155f2566a84e7a56cd26e9d5e6d1514ccd7a2","dweb:/ipfs/Qmc3Z2quujEwxQU1JBfrxhkiULaczspBsTMjXibqXCjFyd"],"license":"Apache-2.0"},"src/core/libraries/SlashRoundLib.sol":{"keccak256":"0x6773eea1fa593e5c1e16fcd3a8341b537bf5ed7ee2f10472649dfd542e3ade8e","urls":["bzz-raw://756bdaa3facd4034149eeb3553ae99777b646c3e16abf8d41f9558e74249baa6","dweb:/ipfs/QmNpb62diGKNKf5pcynejjhNex9c6PTkZnVUeuLvJ2qCZ9"],"license":"Apache-2.0"},"src/core/libraries/StakingQueue.sol":{"keccak256":"0xbbeafda1659a92be14ec5b77838952a089f075cc1d0c5f348b6ff336ea6a1a98","urls":["bzz-raw://f3c8bdb1de77dab697ef4442f72fa4830c757059f8d948d2f3aeb7f6983aa64f","dweb:/ipfs/QmSDYdTnFo8nx34q3fdJCKpy8DCnKBQ4isxr49o4sY5T6T"],"license":"Apache-2.0"},"src/core/libraries/TimeLib.sol":{"keccak256":"0x865b760fe681ee74a93b49491d897a98091432ebc2923ff17717ddb6d26d31ab","urls":["bzz-raw://4ccdfb80464d8e58a95a68314fe2dd33f4a1634ab0695a9a4e9c180a50cc592b","dweb:/ipfs/QmNUUFN7RTjiicZCkci6eEnfromVTPS2MVE4CkbqoneV6P"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/CheckpointLog.sol":{"keccak256":"0x613513b7eb7855ff619c9eb3f1589fcfb0d7675e15c5261034ac353a62c5cabf","urls":["bzz-raw://110e7cc1eae76116a6682a9044cf9031744a7a8c46164987e246923169618d5e","dweb:/ipfs/QmcuhMXiGWjAbYGYYXKrTCLNYguQZpgxpWVWteJezYKVzQ"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/StakingQueueConfig.sol":{"keccak256":"0x32b00fd08e1754d9d9c9b377ae0a0ea887ace519db0ec6d252e1b2216891068e","urls":["bzz-raw://4ecea0a1ff8536819d37d3800b2915249b5c854d9dc611e91aae81df6acf7d76","dweb:/ipfs/Qmf3FgXCf1MP78p5B76kQnwx8yXFXncutVzQhV2fteBvVn"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/Tips.sol":{"keccak256":"0xdf872f54470e59b86349871e2c12075e8daaad85894f90e64f92538daf5f4008","urls":["bzz-raw://493e4bc02c6e9acbb5bfaa68f19bf4defb409211b701784e43d2ca6cbc11ccd1","dweb:/ipfs/QmSUahndZ78LBx6WdozXWL6QkqxZXzrXpHna2kGwCqgy34"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/fees/FeeConfig.sol":{"keccak256":"0xd5593d342fd9e75cf10d9c126d5aa46eab6707221111d81757e0f5c3473c23fd","urls":["bzz-raw://5cdfdfa94ea9d7b93cb80bdbd9e81c80fc7d71de890d88bb957960d0d5734298","dweb:/ipfs/QmQ2VjHtpja19AxDnGg2Q5hCck678PUrfLDuwUNvcyo4YS"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/fees/FeeStructs.sol":{"keccak256":"0x23304769b5d5098b6d6b1092be483f34c0c901d7e14667404e8c5335dad8b501","urls":["bzz-raw://9ef5000b6a27a338f60dad80f73ea03d6560afc46c063d8d52932574d82cf157","dweb:/ipfs/QmSzdqmERrrCqdfqy4jXhdiyokyNRLvi4qLp85iw8rR9iJ"],"license":"Apache-2.0"},"src/core/libraries/crypto/Hash.sol":{"keccak256":"0x0e2bad615ee34b98ffdc7b81558e78ad3701cf8e02dc0fa4721555b4cdb861cb","urls":["bzz-raw://8f69943a9ad3fba8a12ae34b3d60815c4339ea66a5ec75beb781d22a872c2d4d","dweb:/ipfs/QmTfjRk9vBaxfziFgwYzWgTWFEvbB8EEudkcYupPw6qLXW"],"license":"Apache-2.0"},"src/core/libraries/crypto/SampleLib.sol":{"keccak256":"0x59e87e7d6a1e966c0f73bd919825ff7d81dc898625fe9fd20e6786e10b43783e","urls":["bzz-raw://a931d31192faf6d9d9c82fc7099a776b5886d90dd0a2a9ee8093cc680dfdef70","dweb:/ipfs/QmbQjTTf96tr2WSiuoWK8k984dGuXKooZWZ5o9EL7wEPhv"],"license":"Apache-2.0"},"src/core/libraries/rollup/AttestationLib.sol":{"keccak256":"0xf2111c30dc0d6c81d4f990990dfa37813932180e2b94739050356c5942f316e3","urls":["bzz-raw://fc4d8c42797fa58646094be9e108a60a278f2c2beea06bd7b06b00933b00c5b9","dweb:/ipfs/QmdNPs36gak9y4YoCQq2ttv1nj8ALyab6f9P7SoozECrfN"],"license":"Apache-2.0"},"src/core/libraries/rollup/BlobLib.sol":{"keccak256":"0x5b0d454bd38592154954f1da4cc59f50a036d0a28a169401abd9b5fdb88a4fe1","urls":["bzz-raw://68cf3a3fa979a6cfdc618e66621a0233263a83c259b17f6193fb0339796bee9d","dweb:/ipfs/QmcRKQmFf8mZxWKUT7Vgg3LnTxVsCen5f8TnMqCQMGi2j6"],"license":"Apache-2.0"},"src/core/libraries/rollup/CoordinationSignatureLib.sol":{"keccak256":"0x939c2aa29f536822f1f35db30af3b783986612bb35a210c583247f764c39dfae","urls":["bzz-raw://6f5e71fe318f83063eda2027992740e7be7e0274887b4c11ab00ef3199398729","dweb:/ipfs/QmPGkRVfkoLj8bi95vyySrtFeTaUGf62qcWoBy1nZRjZQc"],"license":"Apache-2.0"},"src/core/libraries/rollup/FeeLib.sol":{"keccak256":"0x8542067d8641a712cbcbd1b8f004129d54f31da3edf36463901baad3f53a1fdd","urls":["bzz-raw://72dce5dee233e49f6371433d455a38e21a9c2d4be21f1276ca3b247757e5d6bc","dweb:/ipfs/QmReGPHQLGH1Rbocqrs6BGbvuietB4j151s9L5m3SkJYzk"],"license":"Apache-2.0"},"src/core/libraries/rollup/FieldLib.sol":{"keccak256":"0xd09f77d3aa6d7efc844e99bd496a145171613825bc45d35e1518889098f91e95","urls":["bzz-raw://499d0aeb3c7b6801e49f7554110a194ebeca73bec4ddf4b00ea8dd64fcc4b2ac","dweb:/ipfs/QmQf7EeP4kwTGPR2xfDK2MpNAqqcAY4vWZ3faEKn6JEW8R"],"license":"Apache-2.0"},"src/core/libraries/rollup/ProposeLib.sol":{"keccak256":"0x90d4fff721a1bcdbb555aad73a040ac1f0c3a61e286b0f291f47248129d8a777","urls":["bzz-raw://988c7390ba413ae25939df5a9f8850649106627ddf453a60b472e31c32a97156","dweb:/ipfs/QmXNPKm6y3bgTmjfeTMrY4sfBUFT4fLxZsMBBSC13Nt6oy"],"license":"Apache-2.0"},"src/core/libraries/rollup/ProposedHeaderLib.sol":{"keccak256":"0x43a9fa530b7cb948c1d7c436bddafdd8ddd8c022c67e25045372bc68b9e5018c","urls":["bzz-raw://904e4aa94b322f68c605dd34ea38bb77343437e2f2203c3e650cf7a7bb3aa19e","dweb:/ipfs/QmX3H4PMwh57L5Zv3LFrHjkNmgVZiik4FmzSyJhnTJcqPD"],"license":"Apache-2.0"},"src/core/libraries/rollup/RewardExtLib.sol":{"keccak256":"0x258e1b7ebfa2c5cecc4d5bcecacfda7e6398b0191a08d6f2a9f775724ab7fd5d","urls":["bzz-raw://9d1d38d938a44dd27419cb656a7726609da2dc074fef9c54e35909d5e304915b","dweb:/ipfs/QmSZ6VVTYYBXQra114KmdZyVXVSh6J8MLKRjwEF9EmE3fp"],"license":"Apache-2.0"},"src/core/libraries/rollup/RewardLib.sol":{"keccak256":"0x3a73a07577c713179be2de8df601445e79c606afb42f74bed33d1000c6f14ff8","urls":["bzz-raw://e432e402f6721bf70849ae3d731dcc669abeeb7df8399c878cc946fea0657a1a","dweb:/ipfs/QmYuGKQvN9iFhQpKLo6Rd7oTkMZx6VfdrJFh6tVgLEDg5M"],"license":"Apache-2.0"},"src/core/libraries/rollup/STFLib.sol":{"keccak256":"0xcb2ae0566bd5b0834f8ec2f73d78037f25d4d65894bff1ab8abcb9f8c65c7bc0","urls":["bzz-raw://35689b10ee3d4fff126625efa170fe77c617441fd7902d7376488af5061a79e0","dweb:/ipfs/QmUzDZoMrpJAuhVYVGSruX4mj9jTJmSZncvoTHbsyZL7eM"],"license":"Apache-2.0"},"src/core/libraries/rollup/SequencerRewardCalculatorLib.sol":{"keccak256":"0x2d5e8efc5a87bec1d50a8c9df0696a8248e0905ab62dcd7ec6a51527ad33b604","urls":["bzz-raw://15d4a7d1f265fc1a248762702373534fcae9d85df5150e5e1a45f79b94736ed4","dweb:/ipfs/QmdAT5Aw6JSg5GJnTikfDtJHnJZuMib7L8GB3yQ4jMuiFr"],"license":"Apache-2.0"},"src/core/libraries/rollup/StakingLib.sol":{"keccak256":"0x64132e16903b88cc0caf2deb576e06f3f52e77fdc78c8af65ebc331d5418f081","urls":["bzz-raw://bf2c055fe01b3693fb0cbc3dd06b818a766e664455f7f0966cf3f8544a24b055","dweb:/ipfs/QmciPGacwFhpwxvJjpm3VYwuhA8yVtk9Ju2TdUWFMKhXJa"],"license":"Apache-2.0"},"src/core/libraries/rollup/ValidatorSelectionLib.sol":{"keccak256":"0xf6ba71f62d3b0e57403087cfa1c16d5f8adf30eb16d78e96510d5f48d3f681d9","urls":["bzz-raw://ff43237bc4904ee1eef99da183c8082811737b8702dc452572498526dbdfe9c2","dweb:/ipfs/QmaPuWp41oRGZcMLDK2Qf4BRz7QBr1HU72qb31qasniUKW"],"license":"Apache-2.0"},"src/core/reward-boost/RewardBooster.sol":{"keccak256":"0x1cffe0dcbc06775ad415b06cd3591f74331bad3b154a3305ea6c5a081915fce0","urls":["bzz-raw://a2fcdbdcc260b3330bae0bc61227f652f9cb68e175fbc7d4173bf1d2dfaa92d1","dweb:/ipfs/QmddUmciRbznTTfBpbZf2p3R9sC1oePRF9C3Swnq8qU3Xb"],"license":"Apache-2.0"},"src/core/slashing/Slasher.sol":{"keccak256":"0xc3040cd1813a6064a6afda9ca8b1f65f5cba2e7359050c48507d2f71d3606786","urls":["bzz-raw://73f73fac9ffe650304c68a49635604806b86b0a5baadbf59ef36931e7937bc51","dweb:/ipfs/QmaMMMXycUeybJyf2ZowJgQ1Wo4ZC7g5kyp1BHWfj8dkD9"],"license":"Apache-2.0"},"src/governance/Bn254LibWrapper.sol":{"keccak256":"0xea39571de45fe0fec82d9e760998677eb2432e08c6cdb00c41efa58caf56e607","urls":["bzz-raw://1e470b821f3d87fa0c988c5f23a8deed3849bffd2527b3b4ee137a90e0c1264c","dweb:/ipfs/QmW3M4HyRLDruV5AYXCKicFCiiczmwnSTtnwVKUnQSm7a8"],"license":"Apache-2.0"},"src/governance/GSE.sol":{"keccak256":"0xc19fa4868d78030e2411dd5cef6d0da09645ade1d1ea0c4374b284a89feb722a","urls":["bzz-raw://d06396c249566d0e9de5d34eade2bf27c4d583005c0129787bf6c413dcd9e273","dweb:/ipfs/QmcimKKiV9KqobS5wzPsKYzyYu5WezCF3gyHkekf5tjrUU"],"license":"Apache-2.0"},"src/governance/GSEPayload.sol":{"keccak256":"0x40e5385b008f0335b50e066c647bb906685511c9fef206ce90a3391468558bae","urls":["bzz-raw://a129e87e1d57cf0813b14108cbdbcdd4c114b20f3f2d67477302d6d050120c7e","dweb:/ipfs/QmRcQQkeDhkrmQha3nkA8qvXnGmF6nLhZMKAhMx61A7a5y"],"license":"Apache-2.0"},"src/governance/Governance.sol":{"keccak256":"0x07770c3d80369adae51be8e361f63a2aa5ec489b354b10c8590be1e294dfe2e5","urls":["bzz-raw://7219becf3467ea8368dba0bd093ba932b165cf3f214e7286f652e2730bf42eaf","dweb:/ipfs/QmTSCDhSQBTKhzGUk12phxhqohSba6yopYMzF5T5XPFUWw"],"license":"Apache-2.0"},"src/governance/interfaces/IBn254LibWrapper.sol":{"keccak256":"0xdd0a3de8b8ff67cf2bf090d04b4a37aa6d604f402db3328387d2466d2354464a","urls":["bzz-raw://daef0234547509cd7ae3a7babf0e50a8d1ca2894f1817e3e2409a50fd32947b9","dweb:/ipfs/QmbwSedqnBfsqRnUq8XcXzoeoyhZTXJWJ9rpJn61BAJfej"],"license":"Apache-2.0"},"src/governance/interfaces/IEmpire.sol":{"keccak256":"0xe6a8a8c3fef8e6f9f5118bd40c63e951b13a59d5f885bbb979d38745ef760ed3","urls":["bzz-raw://940c1fe4138d7364ccdb7d5635ea90bafa1da274f680039b0b54ee8c2a275a9a","dweb:/ipfs/QmX2EeoVyES18BMgcbKVDb36MCq8ooDVR98m2RmnmZjEAo"],"license":"Apache-2.0"},"src/governance/interfaces/IGovernance.sol":{"keccak256":"0xe420d305fbe7c35f4620cd1e0f05f9f4c5a91532621d21a64ea553a3d9a3c005","urls":["bzz-raw://1900ac41f945aa692d5228f134ae63840081d284bf89fdd2a06b45424fe359ff","dweb:/ipfs/QmePFZ1xv5qfftJVDLc98XUVFsrpuKAbKZiro7MoMDTpoa"],"license":"Apache-2.0"},"src/governance/interfaces/IGovernanceProposer.sol":{"keccak256":"0x2be820a5452c481ffd329d68c46d0af6a286934963f26b36d363cd34fb0e5817","urls":["bzz-raw://f58839d1504e11e7da42b7f5a03fb9b9d8cc39ab4c16cfb86fa44c4de08df76f","dweb:/ipfs/QmR6jUJozP9tfpZuSduk66E8n7WuL3zzsR3WHZ7BR2ZBX2"],"license":"Apache-2.0"},"src/governance/interfaces/IPayload.sol":{"keccak256":"0x5844ea725ce56ac8adeb20b2d37aa431ca087f68a65a7ca91f981be7458737c3","urls":["bzz-raw://5ea670db51b2ccfac05a684b95458ecc015c9d12a6567c3f73d473386533f58c","dweb:/ipfs/QmRUB8mckkGQ4nNsErRhnKMsD9SSkokRSpnr5XZC9dZdin"],"license":"Apache-2.0"},"src/governance/interfaces/IProposerPayload.sol":{"keccak256":"0x89068dd464c0bfb7d447c0e99728277e03c7c4b864208ead20321f0590187248","urls":["bzz-raw://4d1d9ba5f8b7da374d773acde9514ca6607ad31a3e83950caa097bdb8b0f9167","dweb:/ipfs/Qmd7tWAD2Ubz434zZPJvuyAGsHYpXBHvVhVefLFzUudD2o"],"license":"Apache-2.0"},"src/governance/interfaces/IRegistry.sol":{"keccak256":"0xc3678c04c0945d3dc1d8007df3dc7f8b25d8108b0b25134842ffc5169f996ce8","urls":["bzz-raw://71e4e401f1a6f561262755cc2e1c347cd3aa79e67d2e52ca547864f49de01724","dweb:/ipfs/QmPvoKFEDTb41DSC3MmDMqtM3trj5oZb1Jj2jtQSnNfHBn"],"license":"Apache-2.0"},"src/governance/interfaces/IRewardDistributor.sol":{"keccak256":"0xf263f75be83d0b0e3c8f17ec7fc2558d3543df788dcb2db6f1ee158208134f14","urls":["bzz-raw://b2b65819a5f9ecd2237957e987bb69160d3076ccaf9f76f925a936e574d63d76","dweb:/ipfs/QmNgWESeo6UUvgW7rCMP3d4o8mUqSSbKrwbicH4kaUrm7h"],"license":"Apache-2.0"},"src/governance/libraries/AddressSnapshotLib.sol":{"keccak256":"0x1006e58059e0a1f0fef102f2f11f5649dffc7f2eb066fce51845e65a064f4210","urls":["bzz-raw://de385ab9eb3bb66d7be1218b49ae9bba7d88797bcb375b9a7481a209d303a402","dweb:/ipfs/QmZe6DTv3cACfdXNSMhbMhoefg31LW3uLxHLDC7nZhb4Yp"],"license":"Apache-2.0"},"src/governance/libraries/CheckpointedUintLib.sol":{"keccak256":"0xcd73cf7a62e4ac5cc79f7f8df8b35d5c5e4df5b8a3478bcbc2b29c9aa89ea4b4","urls":["bzz-raw://f56f37060d39d3c9276f23c96be7f6b1ea44676312dbaa1ab16ab3bff6acebf1","dweb:/ipfs/QmPDUEEgdbpTTs9r3fvdMYJo9akCRsWcJXyarBhQgcKb5q"],"license":"Apache-2.0"},"src/governance/libraries/ConfigurationLib.sol":{"keccak256":"0x7cb65bdbd8d077f3cfc01b065fb3a57628db36cd46f68885c74b9131198c2149","urls":["bzz-raw://e37bde50f5f739f479feb95fbe81ed24ee47f841b99f066ecf6782e758d1978a","dweb:/ipfs/QmebPE5REUpYRB8dikUebcGtyk9uy44G9mbchKJtHxJAgy"],"license":"Apache-2.0"},"src/governance/libraries/DepositDelegationLib.sol":{"keccak256":"0x37fbca65ccabec9d901bd71d684dceec7c59fa5a05438fd209ea0d5e16e764c0","urls":["bzz-raw://e42f2622978abc3ac84223a6b206201898d0269d20bf81539636c0999a0db9eb","dweb:/ipfs/QmW4BgTjR6BuPxwxreKarUeK1u8gx3p9yFdDD4EsC5hkyb"],"license":"Apache-2.0"},"src/governance/libraries/Errors.sol":{"keccak256":"0x8861ea7508138c83e89f186ce17accb42a6eee7d1d2e52841975d4ba676daae4","urls":["bzz-raw://b0d5b01c2b0a20c3c70a7ab2b8405d083a063bf5758beb87a4d488bda76078fa","dweb:/ipfs/QmfGH6CTCPA6nVA6KidcTSvaJ6MQZkv6KiuDVBTARGBTRv"],"license":"Apache-2.0"},"src/governance/libraries/ProposalLib.sol":{"keccak256":"0x616ffbb24c4454ca9e223e85ff01e8dca139723d5cd312d5d6f6111d79782a90","urls":["bzz-raw://192f9be3355a7a94d19ae4e5b397e5db19dde64ccc671e149da06dfaa2577192","dweb:/ipfs/QmTDcm7XEFLe7o5cXUmuu5wQDyprU78AVMymiWvrmP4tHT"],"license":"Apache-2.0"},"src/governance/libraries/compressed-data/Ballot.sol":{"keccak256":"0xca07dc8cf36ac2beae7674804af144b34b3c5848153351c17d996e9b3293cd5d","urls":["bzz-raw://6911cc49f1d6977c12f652063c14891697c1ffe49fdf36903c32a8ad73cbd012","dweb:/ipfs/QmQBEZARCAAj1ZLcswkH6FwP1RP8uuNjYTHqthmE9Z5RnM"],"license":"Apache-2.0"},"src/governance/libraries/compressed-data/Configuration.sol":{"keccak256":"0x40744f275af22d33c38fd9c6a7b822292c9c87b17ac2c78abbef4eb8356fd9f9","urls":["bzz-raw://73c685be7e934516207827a59cbbeb7fc1164e7659dd3ec857a91cfea765b482","dweb:/ipfs/QmQfudRpSSQnG9u4XV8iA2UAyDzQPFqWzpZy5NZbaD6htv"],"license":"Apache-2.0"},"src/governance/libraries/compressed-data/Proposal.sol":{"keccak256":"0x72cf619a21c8e95875c63d4361cbe1a815d9d67f36f3fe32b6c9ca4d9ab0d33a","urls":["bzz-raw://d80f47beb3f91da3cc68264c86fc8fb8f0e4abaf9d92243ab3206407fceed5c6","dweb:/ipfs/QmYyrBTDMfkTBu6EcKcSMR7JyfphZ5xH1VCQ8EHMQUvsoN"],"license":"Apache-2.0"},"src/governance/proposer/EmpireBase.sol":{"keccak256":"0x747b20e201dab632a831c12f1fee9ee52cc80a2098c77e8b6c7b09b0f3ba2bc0","urls":["bzz-raw://b7d4a0475ca364f75aa2a1d17ed9e6970f0be605126f2efe26d53c791d4a5209","dweb:/ipfs/Qma5tkTcy94PqE9vtQybQSyH9LWaHR8V3ubwDPZwiUNT35"],"license":"Apache-2.0"},"src/governance/proposer/GovernanceProposer.sol":{"keccak256":"0xa2829df5b65856c9f1d6bf490fb50616f14402ff8eece2e32b63828b8b9337c3","urls":["bzz-raw://8ad52830a7a3aed3477bf55f92c3d68cb1c16a5cf1d636227ab76a306c846607","dweb:/ipfs/QmRonyZQZj5D1e2g4Y6Tmj2AEUnekL4pGmgdMT4ycRAM8m"],"license":"Apache-2.0"},"src/mock/libraries/BlobLib.sol":{"keccak256":"0xa1b19239c5c64ba1b0c9f83ec0a30059f10ded12bf40d5d7c3f65974752b3121","urls":["bzz-raw://5cbce7d0dd0096232d60ec5c6920f211ffcaa46c8675b1129c1f939a1ee84837","dweb:/ipfs/QmSS2qUhzUuZY1qHDjWUGvHuMqMG3cjHoHeDVvgWsjMdA9"],"license":"Apache-2.0"},"src/shared/libraries/BN254Lib.sol":{"keccak256":"0x0c3a5b7dabde2f5c81f19e1a4a212308a8636b5bb4a16bb1a518d58ef4feb6f5","urls":["bzz-raw://870be6219c7081ed081cee2fa9ad1e7f3efff623ae1a59aed966f2bdcee65b7a","dweb:/ipfs/QmNzohb1TazCgaT1e55CMDuuG7AHdGrGA6jvT4wzxdAM52"],"license":"Apache-2.0"},"src/shared/libraries/CompressedTimeMath.sol":{"keccak256":"0x361023cf30593e7e27417c91af3702e75235fcab251e4ad5ac2e47306a730ec1","urls":["bzz-raw://9b192242472b3126c97a4a4e4fa792809a6bf20b548a57e677f5260c0dbf3ad3","dweb:/ipfs/QmfK4WAucepcqzMLu11rs68HJazwfegVsgK5tTco82SooB"],"license":"Apache-2.0"},"src/shared/libraries/SignatureLib.sol":{"keccak256":"0xb69989f57384383341d1bb4693fb1e6ce31a2ab6c0fadb48bf088078a332a56a","urls":["bzz-raw://f199be27853a14d746c567c5e3a473f474e84cfd3d119a6404e6ceff4e986e5c","dweb:/ipfs/QmWsLozeiKLQbTSEUDVZK2ASEX3EodKxT4DdA9BA6bD6N2"],"license":"Apache-2.0"},"src/shared/libraries/TimeMath.sol":{"keccak256":"0x8da20dc8b4ce296b7c11f117a3381bfe5cd611a3512a74a500e2e54e0353417f","urls":["bzz-raw://18c74be98a4e31e8a16356e573514f639a8fc43928e741f6ead81dd755e9a914","dweb:/ipfs/QmPDEdYYEj3DhXjrCDPuudJbhsBaNj1sK6hH94Z86168Q3"],"license":"Apache-2.0"}},"version":1},"id":114}