@meterio/sumer-js 0.2.29 → 0.2.31

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 (247) hide show
  1. package/dist/browser/sumer.min.js +10 -10
  2. package/dist/nodejs/abi.d.ts +175 -214
  3. package/dist/nodejs/abi.js +9208 -9987
  4. package/dist/nodejs/abi.js.map +1 -1
  5. package/dist/nodejs/constants/arbitrum.d.ts +4 -4
  6. package/dist/nodejs/constants/arbitrum.js +12 -12
  7. package/dist/nodejs/constants/arbitrum.js.map +1 -1
  8. package/dist/nodejs/constants/basemain.d.ts +4 -4
  9. package/dist/nodejs/constants/basemain.js +12 -12
  10. package/dist/nodejs/constants/basemain.js.map +1 -1
  11. package/dist/nodejs/constants/basetest.d.ts +4 -4
  12. package/dist/nodejs/constants/basetest.js +9 -9
  13. package/dist/nodejs/constants/basetest.js.map +1 -1
  14. package/dist/nodejs/constants/ethereum.d.ts +5 -4
  15. package/dist/nodejs/constants/ethereum.js +25 -13
  16. package/dist/nodejs/constants/ethereum.js.map +1 -1
  17. package/dist/nodejs/constants/metermain.d.ts +4 -4
  18. package/dist/nodejs/constants/metermain.js +9 -9
  19. package/dist/nodejs/constants/metermain.js.map +1 -1
  20. package/dist/nodejs/constants/metertest.d.ts +5 -5
  21. package/dist/nodejs/constants/metertest.js +46 -47
  22. package/dist/nodejs/constants/metertest.js.map +1 -1
  23. package/dist/nodejs/constants/sepolia.d.ts +28 -4
  24. package/dist/nodejs/constants/sepolia.js +68 -16
  25. package/dist/nodejs/constants/sepolia.js.map +1 -1
  26. package/dist/nodejs/errorABIs.js +141 -658
  27. package/dist/nodejs/errorABIs.js.map +1 -1
  28. package/dist/nodejs/errors.d.ts +48 -20
  29. package/dist/nodejs/errors.js +48 -20
  30. package/dist/nodejs/errors.js.map +1 -1
  31. package/dist/nodejs/index.d.ts +175 -214
  32. package/dist/nodejs/typechain/@chainlink/contracts/index.d.ts +2 -0
  33. package/dist/nodejs/typechain/@chainlink/contracts/index.js +3 -0
  34. package/dist/nodejs/typechain/@chainlink/contracts/index.js.map +1 -0
  35. package/dist/nodejs/typechain/@chainlink/contracts/src/index.d.ts +2 -0
  36. package/dist/nodejs/typechain/@chainlink/contracts/src/index.js +3 -0
  37. package/dist/nodejs/typechain/@chainlink/contracts/src/index.js.map +1 -0
  38. package/dist/nodejs/typechain/@chainlink/contracts/src/v0.8/index.d.ts +2 -0
  39. package/dist/nodejs/typechain/@chainlink/contracts/src/v0.8/index.js +3 -0
  40. package/dist/nodejs/typechain/@chainlink/contracts/src/v0.8/index.js.map +1 -0
  41. package/dist/nodejs/typechain/@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.d.ts +103 -0
  42. package/dist/nodejs/typechain/@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.js +3 -0
  43. package/dist/nodejs/typechain/@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.js.map +1 -0
  44. package/dist/nodejs/typechain/@chainlink/contracts/src/v0.8/interfaces/index.d.ts +1 -0
  45. package/dist/nodejs/typechain/@chainlink/contracts/src/v0.8/interfaces/index.js +3 -0
  46. package/dist/nodejs/typechain/@chainlink/contracts/src/v0.8/interfaces/index.js.map +1 -0
  47. package/dist/nodejs/typechain/@chainlink/index.d.ts +2 -0
  48. package/dist/nodejs/typechain/@chainlink/index.js +3 -0
  49. package/dist/nodejs/typechain/@chainlink/index.js.map +1 -0
  50. package/dist/nodejs/typechain/contracts/CToken/CErc20.d.ts +12 -10
  51. package/dist/nodejs/typechain/contracts/CToken/CEther.d.ts +12 -10
  52. package/dist/nodejs/typechain/contracts/CToken/CToken.d.ts +9 -1
  53. package/dist/nodejs/typechain/contracts/CToken/CTokenStorage.d.ts +12 -411
  54. package/dist/nodejs/typechain/contracts/CToken/SuErc20.d.ts +12 -10
  55. package/dist/nodejs/typechain/contracts/Comptroller/CompoundLens.d.ts +17 -1
  56. package/dist/nodejs/typechain/contracts/Comptroller/Comptroller.d.ts +358 -709
  57. package/dist/nodejs/typechain/contracts/Comptroller/ComptrollerStorage.d.ts +163 -207
  58. package/dist/nodejs/typechain/contracts/Comptroller/RedemptionManager.d.ts +1 -3
  59. package/dist/nodejs/typechain/contracts/Comptroller/index.d.ts +0 -1
  60. package/dist/nodejs/typechain/contracts/Interfaces/ICToken.d.ts +4 -407
  61. package/dist/nodejs/typechain/contracts/Interfaces/ICompLogic.d.ts +1 -19
  62. package/dist/nodejs/typechain/contracts/Interfaces/IComptroller.d.ts +122 -130
  63. package/dist/nodejs/typechain/contracts/Interfaces/IPMarket.d.ts +488 -0
  64. package/dist/nodejs/typechain/contracts/Interfaces/IPMarket.js +3 -0
  65. package/dist/nodejs/typechain/contracts/Interfaces/IPMarket.js.map +1 -0
  66. package/dist/nodejs/typechain/contracts/Interfaces/IPPrincipalToken.d.ts +193 -0
  67. package/dist/nodejs/typechain/contracts/Interfaces/IPPrincipalToken.js +3 -0
  68. package/dist/nodejs/typechain/contracts/Interfaces/IPPrincipalToken.js.map +1 -0
  69. package/dist/nodejs/typechain/contracts/Interfaces/IPYieldToken.d.ts +365 -0
  70. package/dist/nodejs/typechain/contracts/Interfaces/IPYieldToken.js +3 -0
  71. package/dist/nodejs/typechain/contracts/Interfaces/IPYieldToken.js.map +1 -0
  72. package/dist/nodejs/typechain/contracts/Interfaces/IPendlePtOracle.d.ts +65 -0
  73. package/dist/nodejs/typechain/contracts/Interfaces/IPendlePtOracle.js +3 -0
  74. package/dist/nodejs/typechain/contracts/Interfaces/IPendlePtOracle.js.map +1 -0
  75. package/dist/nodejs/typechain/contracts/Interfaces/IStandardizedYield.d.ts +365 -0
  76. package/dist/nodejs/typechain/contracts/Interfaces/IStandardizedYield.js +3 -0
  77. package/dist/nodejs/typechain/contracts/Interfaces/IStandardizedYield.js.map +1 -0
  78. package/dist/nodejs/typechain/contracts/Interfaces/ITimelock.d.ts +1 -15
  79. package/dist/nodejs/typechain/contracts/Interfaces/index.d.ts +5 -1
  80. package/dist/nodejs/typechain/contracts/Oracle/FeedPriceOracle.d.ts +321 -138
  81. package/dist/nodejs/typechain/contracts/Oracle/PriceOracle.sol/PriceAdapter.d.ts +25 -0
  82. package/dist/nodejs/typechain/contracts/Oracle/PriceOracle.sol/PriceAdapter.js +3 -0
  83. package/dist/nodejs/typechain/contracts/Oracle/PriceOracle.sol/PriceAdapter.js.map +1 -0
  84. package/dist/nodejs/typechain/contracts/Oracle/PriceOracle.sol/PriceOracle.d.ts +37 -0
  85. package/dist/nodejs/typechain/contracts/Oracle/PriceOracle.sol/PriceOracle.js +3 -0
  86. package/dist/nodejs/typechain/contracts/Oracle/PriceOracle.sol/PriceOracle.js.map +1 -0
  87. package/dist/nodejs/typechain/contracts/Oracle/PriceOracle.sol/index.d.ts +2 -0
  88. package/dist/nodejs/typechain/contracts/Oracle/PriceOracle.sol/index.js +3 -0
  89. package/dist/nodejs/typechain/contracts/Oracle/PriceOracle.sol/index.js.map +1 -0
  90. package/dist/nodejs/typechain/contracts/Oracle/WstETHAdapter.sol/IStETH.d.ts +33 -0
  91. package/dist/nodejs/typechain/contracts/Oracle/WstETHAdapter.sol/IStETH.js +3 -0
  92. package/dist/nodejs/typechain/contracts/Oracle/WstETHAdapter.sol/IStETH.js.map +1 -0
  93. package/dist/nodejs/typechain/contracts/Oracle/WstETHAdapter.sol/WstETHAdapter.d.ts +25 -0
  94. package/dist/nodejs/typechain/contracts/Oracle/WstETHAdapter.sol/WstETHAdapter.js +3 -0
  95. package/dist/nodejs/typechain/contracts/Oracle/WstETHAdapter.sol/WstETHAdapter.js.map +1 -0
  96. package/dist/nodejs/typechain/contracts/Oracle/WstETHAdapter.sol/index.d.ts +2 -0
  97. package/dist/nodejs/typechain/contracts/Oracle/WstETHAdapter.sol/index.js +3 -0
  98. package/dist/nodejs/typechain/contracts/Oracle/WstETHAdapter.sol/index.js.map +1 -0
  99. package/dist/nodejs/typechain/contracts/Oracle/WstMTRGAdapter.sol/IWstMTRG.d.ts +25 -0
  100. package/dist/nodejs/typechain/contracts/Oracle/WstMTRGAdapter.sol/IWstMTRG.js +3 -0
  101. package/dist/nodejs/typechain/contracts/Oracle/WstMTRGAdapter.sol/IWstMTRG.js.map +1 -0
  102. package/dist/nodejs/typechain/contracts/Oracle/WstMTRGAdapter.sol/WstMTRGAdapter.d.ts +25 -0
  103. package/dist/nodejs/typechain/contracts/Oracle/WstMTRGAdapter.sol/WstMTRGAdapter.js +3 -0
  104. package/dist/nodejs/typechain/contracts/Oracle/WstMTRGAdapter.sol/WstMTRGAdapter.js.map +1 -0
  105. package/dist/nodejs/typechain/contracts/Oracle/WstMTRGAdapter.sol/index.d.ts +2 -0
  106. package/dist/nodejs/typechain/contracts/Oracle/WstMTRGAdapter.sol/index.js +3 -0
  107. package/dist/nodejs/typechain/contracts/Oracle/WstMTRGAdapter.sol/index.js.map +1 -0
  108. package/dist/nodejs/typechain/contracts/Oracle/index.d.ts +6 -4
  109. package/dist/nodejs/typechain/contracts/Timelock.d.ts +14 -4
  110. package/dist/nodejs/typechain/factories/@chainlink/contracts/index.d.ts +1 -0
  111. package/dist/nodejs/typechain/factories/@chainlink/contracts/index.js +31 -0
  112. package/dist/nodejs/typechain/factories/@chainlink/contracts/index.js.map +1 -0
  113. package/dist/nodejs/typechain/factories/@chainlink/contracts/src/index.d.ts +1 -0
  114. package/dist/nodejs/typechain/factories/@chainlink/contracts/src/index.js +31 -0
  115. package/dist/nodejs/typechain/factories/@chainlink/contracts/src/index.js.map +1 -0
  116. package/dist/nodejs/typechain/factories/@chainlink/contracts/src/v0.8/index.d.ts +1 -0
  117. package/dist/nodejs/typechain/factories/@chainlink/contracts/src/v0.8/index.js +31 -0
  118. package/dist/nodejs/typechain/factories/@chainlink/contracts/src/v0.8/index.js.map +1 -0
  119. package/dist/nodejs/typechain/factories/@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface__factory.d.ts +93 -0
  120. package/dist/nodejs/typechain/factories/@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface__factory.js +131 -0
  121. package/dist/nodejs/typechain/factories/@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface__factory.js.map +1 -0
  122. package/dist/nodejs/typechain/factories/@chainlink/contracts/src/v0.8/interfaces/index.d.ts +1 -0
  123. package/dist/nodejs/typechain/factories/@chainlink/contracts/src/v0.8/interfaces/index.js +9 -0
  124. package/dist/nodejs/typechain/factories/@chainlink/contracts/src/v0.8/interfaces/index.js.map +1 -0
  125. package/dist/nodejs/typechain/factories/@chainlink/index.d.ts +1 -0
  126. package/dist/nodejs/typechain/factories/@chainlink/index.js +31 -0
  127. package/dist/nodejs/typechain/factories/@chainlink/index.js.map +1 -0
  128. package/dist/nodejs/typechain/factories/contracts/CToken/CErc20__factory.d.ts +30 -30
  129. package/dist/nodejs/typechain/factories/contracts/CToken/CErc20__factory.js +38 -37
  130. package/dist/nodejs/typechain/factories/contracts/CToken/CErc20__factory.js.map +1 -1
  131. package/dist/nodejs/typechain/factories/contracts/CToken/CEther__factory.d.ts +29 -29
  132. package/dist/nodejs/typechain/factories/contracts/CToken/CEther__factory.js +37 -36
  133. package/dist/nodejs/typechain/factories/contracts/CToken/CEther__factory.js.map +1 -1
  134. package/dist/nodejs/typechain/factories/contracts/CToken/CTokenStorage__factory.d.ts +2 -357
  135. package/dist/nodejs/typechain/factories/contracts/CToken/CTokenStorage__factory.js +2 -445
  136. package/dist/nodejs/typechain/factories/contracts/CToken/CTokenStorage__factory.js.map +1 -1
  137. package/dist/nodejs/typechain/factories/contracts/CToken/CToken__factory.d.ts +28 -20
  138. package/dist/nodejs/typechain/factories/contracts/CToken/CToken__factory.js +36 -25
  139. package/dist/nodejs/typechain/factories/contracts/CToken/CToken__factory.js.map +1 -1
  140. package/dist/nodejs/typechain/factories/contracts/CToken/SuErc20__factory.d.ts +30 -34
  141. package/dist/nodejs/typechain/factories/contracts/CToken/SuErc20__factory.js +38 -42
  142. package/dist/nodejs/typechain/factories/contracts/CToken/SuErc20__factory.js.map +1 -1
  143. package/dist/nodejs/typechain/factories/contracts/Comptroller/AccountLiquidity__factory.d.ts +9 -21
  144. package/dist/nodejs/typechain/factories/contracts/Comptroller/AccountLiquidity__factory.js +11 -26
  145. package/dist/nodejs/typechain/factories/contracts/Comptroller/AccountLiquidity__factory.js.map +1 -1
  146. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompLogic__factory.d.ts +1 -1
  147. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompLogic__factory.js +1 -1
  148. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompoundLens__factory.d.ts +31 -21
  149. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompoundLens__factory.js +40 -26
  150. package/dist/nodejs/typechain/factories/contracts/Comptroller/CompoundLens__factory.js.map +1 -1
  151. package/dist/nodejs/typechain/factories/contracts/Comptroller/ComptrollerStorage__factory.d.ts +107 -221
  152. package/dist/nodejs/typechain/factories/contracts/Comptroller/ComptrollerStorage__factory.js +117 -265
  153. package/dist/nodejs/typechain/factories/contracts/Comptroller/ComptrollerStorage__factory.js.map +1 -1
  154. package/dist/nodejs/typechain/factories/contracts/Comptroller/Comptroller__factory.d.ts +299 -1054
  155. package/dist/nodejs/typechain/factories/contracts/Comptroller/Comptroller__factory.js +380 -1375
  156. package/dist/nodejs/typechain/factories/contracts/Comptroller/Comptroller__factory.js.map +1 -1
  157. package/dist/nodejs/typechain/factories/contracts/Comptroller/RedemptionManager__factory.d.ts +9 -25
  158. package/dist/nodejs/typechain/factories/contracts/Comptroller/RedemptionManager__factory.js +11 -31
  159. package/dist/nodejs/typechain/factories/contracts/Comptroller/RedemptionManager__factory.js.map +1 -1
  160. package/dist/nodejs/typechain/factories/contracts/Comptroller/SortedBorrows__factory.d.ts +1 -1
  161. package/dist/nodejs/typechain/factories/contracts/Comptroller/SortedBorrows__factory.js +1 -1
  162. package/dist/nodejs/typechain/factories/contracts/Comptroller/index.d.ts +0 -1
  163. package/dist/nodejs/typechain/factories/contracts/Comptroller/index.js +1 -3
  164. package/dist/nodejs/typechain/factories/contracts/Comptroller/index.js.map +1 -1
  165. package/dist/nodejs/typechain/factories/contracts/Interfaces/ICErc20__factory.d.ts +1 -1
  166. package/dist/nodejs/typechain/factories/contracts/Interfaces/ICErc20__factory.js +1 -1
  167. package/dist/nodejs/typechain/factories/contracts/Interfaces/ICErc20__factory.js.map +1 -1
  168. package/dist/nodejs/typechain/factories/contracts/Interfaces/ICToken__factory.d.ts +0 -365
  169. package/dist/nodejs/typechain/factories/contracts/Interfaces/ICToken__factory.js +0 -456
  170. package/dist/nodejs/typechain/factories/contracts/Interfaces/ICToken__factory.js.map +1 -1
  171. package/dist/nodejs/typechain/factories/contracts/Interfaces/ICompLogic__factory.d.ts +0 -28
  172. package/dist/nodejs/typechain/factories/contracts/Interfaces/ICompLogic__factory.js +0 -37
  173. package/dist/nodejs/typechain/factories/contracts/Interfaces/ICompLogic__factory.js.map +1 -1
  174. package/dist/nodejs/typechain/factories/contracts/Interfaces/IComptroller__factory.d.ts +108 -222
  175. package/dist/nodejs/typechain/factories/contracts/Interfaces/IComptroller__factory.js +135 -287
  176. package/dist/nodejs/typechain/factories/contracts/Interfaces/IComptroller__factory.js.map +1 -1
  177. package/dist/nodejs/typechain/factories/contracts/Interfaces/IPMarket__factory.d.ts +543 -0
  178. package/dist/nodejs/typechain/factories/contracts/Interfaces/IPMarket__factory.js +712 -0
  179. package/dist/nodejs/typechain/factories/contracts/Interfaces/IPMarket__factory.js.map +1 -0
  180. package/dist/nodejs/typechain/factories/contracts/Interfaces/IPPrincipalToken__factory.d.ts +265 -0
  181. package/dist/nodejs/typechain/factories/contracts/Interfaces/IPPrincipalToken__factory.js +356 -0
  182. package/dist/nodejs/typechain/factories/contracts/Interfaces/IPPrincipalToken__factory.js.map +1 -0
  183. package/dist/nodejs/typechain/factories/contracts/Interfaces/IPYieldToken__factory.d.ts +473 -0
  184. package/dist/nodejs/typechain/factories/contracts/Interfaces/IPYieldToken__factory.js +624 -0
  185. package/dist/nodejs/typechain/factories/contracts/Interfaces/IPYieldToken__factory.js.map +1 -0
  186. package/dist/nodejs/typechain/factories/contracts/Interfaces/IPendlePtOracle__factory.d.ts +51 -0
  187. package/dist/nodejs/typechain/factories/contracts/Interfaces/IPendlePtOracle__factory.js +78 -0
  188. package/dist/nodejs/typechain/factories/contracts/Interfaces/IPendlePtOracle__factory.js.map +1 -0
  189. package/dist/nodejs/typechain/factories/contracts/Interfaces/IStandardizedYield__factory.d.ts +493 -0
  190. package/dist/nodejs/typechain/factories/contracts/Interfaces/IStandardizedYield__factory.js +652 -0
  191. package/dist/nodejs/typechain/factories/contracts/Interfaces/IStandardizedYield__factory.js.map +1 -0
  192. package/dist/nodejs/typechain/factories/contracts/Interfaces/ITimelock__factory.d.ts +0 -18
  193. package/dist/nodejs/typechain/factories/contracts/Interfaces/ITimelock__factory.js +0 -24
  194. package/dist/nodejs/typechain/factories/contracts/Interfaces/ITimelock__factory.js.map +1 -1
  195. package/dist/nodejs/typechain/factories/contracts/Interfaces/index.d.ts +5 -1
  196. package/dist/nodejs/typechain/factories/contracts/Interfaces/index.js +11 -3
  197. package/dist/nodejs/typechain/factories/contracts/Interfaces/index.js.map +1 -1
  198. package/dist/nodejs/typechain/factories/contracts/Oracle/FeedPriceOracle__factory.d.ts +398 -102
  199. package/dist/nodejs/typechain/factories/contracts/Oracle/FeedPriceOracle__factory.js +494 -110
  200. package/dist/nodejs/typechain/factories/contracts/Oracle/FeedPriceOracle__factory.js.map +1 -1
  201. package/dist/nodejs/typechain/factories/contracts/Oracle/PriceOracle.sol/PriceAdapter__factory.d.ts +17 -0
  202. package/dist/nodejs/typechain/factories/contracts/Oracle/PriceOracle.sol/PriceAdapter__factory.js +33 -0
  203. package/dist/nodejs/typechain/factories/contracts/Oracle/PriceOracle.sol/PriceAdapter__factory.js.map +1 -0
  204. package/dist/nodejs/typechain/factories/contracts/Oracle/PriceOracle.sol/PriceOracle__factory.d.ts +45 -0
  205. package/dist/nodejs/typechain/factories/contracts/Oracle/PriceOracle.sol/PriceOracle__factory.js +71 -0
  206. package/dist/nodejs/typechain/factories/contracts/Oracle/PriceOracle.sol/PriceOracle__factory.js.map +1 -0
  207. package/dist/nodejs/typechain/factories/contracts/Oracle/PriceOracle.sol/index.d.ts +2 -0
  208. package/dist/nodejs/typechain/factories/contracts/Oracle/PriceOracle.sol/index.js +11 -0
  209. package/dist/nodejs/typechain/factories/contracts/Oracle/PriceOracle.sol/index.js.map +1 -0
  210. package/dist/nodejs/typechain/factories/contracts/Oracle/WstETHAdapter.sol/IStETH__factory.d.ts +31 -0
  211. package/dist/nodejs/typechain/factories/contracts/Oracle/WstETHAdapter.sol/IStETH__factory.js +52 -0
  212. package/dist/nodejs/typechain/factories/contracts/Oracle/WstETHAdapter.sol/IStETH__factory.js.map +1 -0
  213. package/dist/nodejs/typechain/factories/contracts/Oracle/WstETHAdapter.sol/WstETHAdapter__factory.d.ts +44 -0
  214. package/dist/nodejs/typechain/factories/contracts/Oracle/WstETHAdapter.sol/WstETHAdapter__factory.js +69 -0
  215. package/dist/nodejs/typechain/factories/contracts/Oracle/WstETHAdapter.sol/WstETHAdapter__factory.js.map +1 -0
  216. package/dist/nodejs/typechain/factories/contracts/Oracle/WstETHAdapter.sol/index.d.ts +2 -0
  217. package/dist/nodejs/typechain/factories/contracts/Oracle/WstETHAdapter.sol/index.js +11 -0
  218. package/dist/nodejs/typechain/factories/contracts/Oracle/WstETHAdapter.sol/index.js.map +1 -0
  219. package/dist/nodejs/typechain/factories/contracts/Oracle/WstMTRGAdapter.sol/IWstMTRG__factory.d.ts +17 -0
  220. package/dist/nodejs/typechain/factories/contracts/Oracle/WstMTRGAdapter.sol/IWstMTRG__factory.js +33 -0
  221. package/dist/nodejs/typechain/factories/contracts/Oracle/WstMTRGAdapter.sol/IWstMTRG__factory.js.map +1 -0
  222. package/dist/nodejs/typechain/factories/contracts/Oracle/WstMTRGAdapter.sol/WstMTRGAdapter__factory.d.ts +44 -0
  223. package/dist/nodejs/typechain/factories/contracts/Oracle/WstMTRGAdapter.sol/WstMTRGAdapter__factory.js +69 -0
  224. package/dist/nodejs/typechain/factories/contracts/Oracle/WstMTRGAdapter.sol/WstMTRGAdapter__factory.js.map +1 -0
  225. package/dist/nodejs/typechain/factories/contracts/Oracle/WstMTRGAdapter.sol/index.d.ts +2 -0
  226. package/dist/nodejs/typechain/factories/contracts/Oracle/WstMTRGAdapter.sol/index.js +11 -0
  227. package/dist/nodejs/typechain/factories/contracts/Oracle/WstMTRGAdapter.sol/index.js.map +1 -0
  228. package/dist/nodejs/typechain/factories/contracts/Oracle/index.d.ts +3 -4
  229. package/dist/nodejs/typechain/factories/contracts/Oracle/index.js +4 -9
  230. package/dist/nodejs/typechain/factories/contracts/Oracle/index.js.map +1 -1
  231. package/dist/nodejs/typechain/factories/contracts/SumerErrors__factory.d.ts +9 -21
  232. package/dist/nodejs/typechain/factories/contracts/SumerErrors__factory.js +11 -26
  233. package/dist/nodejs/typechain/factories/contracts/SumerErrors__factory.js.map +1 -1
  234. package/dist/nodejs/typechain/factories/contracts/Timelock__factory.d.ts +29 -25
  235. package/dist/nodejs/typechain/factories/contracts/Timelock__factory.js +37 -31
  236. package/dist/nodejs/typechain/factories/contracts/Timelock__factory.js.map +1 -1
  237. package/dist/nodejs/typechain/factories/contracts/stake/VeSumer.sol/VeSumer__factory.d.ts +1 -1
  238. package/dist/nodejs/typechain/factories/contracts/stake/VeSumer.sol/VeSumer__factory.js +1 -1
  239. package/dist/nodejs/typechain/factories/contracts/stake/VeSumer.sol/VeSumer__factory.js.map +1 -1
  240. package/dist/nodejs/typechain/factories/index.d.ts +1 -0
  241. package/dist/nodejs/typechain/factories/index.js +2 -1
  242. package/dist/nodejs/typechain/factories/index.js.map +1 -1
  243. package/dist/nodejs/typechain/hardhat.d.ts +178 -70
  244. package/dist/nodejs/typechain/index.d.ts +26 -14
  245. package/dist/nodejs/typechain/index.js +25 -14
  246. package/dist/nodejs/typechain/index.js.map +1 -1
  247. package/package.json +1 -1
@@ -14,7 +14,7 @@ export declare class Comptroller__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): Comptroller__factory;
17
- static readonly bytecode = "0x60808060405234620000c6576000549060ff8260081c1662000074575060ff8082161062000038575b6040516155c59081620000cc8239f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a13862000028565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fdfe608060408181526004918236101561001657600080fd5b60009260e08435811c9283627e3dd214613c615750826301ffc9a714613bed5782630914888d14613a60578263098c76f5146139e35782630df9ef2c146139545782631407e281146138f3578263141a7a65146138d357826318c882a5146137c15782631dbd1aa91461373b57826321af456914610eb057826324008a6214613705578263243cdb55146136dd578263248a9ca3146136b157826324a3d62214612bc3578263250d71e71461352a5782632a6a60651461347b5782632bebbc09146134395782632d70db78146133395782632f2ff15d1461328f578263317b0b771461321e5782633278eb04146131f457826336085d4614613111578263360f5a01146130e757826336568abe14613055578263391957d714612e9f5782633bcf7ec114612d715782633bd3838114612cbf5782633c8f817114612c9f5782633c94786f14612c7757826347bd11ad14612c575782634a58443214612c1e5782634ada90af14612bed5782634cab0f2d14612bc35782634e79238f14612b435782634ede8e6a14612b235782634ef4c3e1146128df57826352d84d1e146128b3578263554994f21461288957826355ee1fe11461280c5782635ae4ef2e146127b75782635ec88c79146127085782635f5af1aa146125475782635f87769b146124bd5782635fc7e71e1461227c578263607ef6c1146121525782636322b51314611d225782636d154ea514611ce3578263731f0c2b14611ca457826373a19dc514611a055782637dc0d1d0146119db578263840f82ac1461198257826384b927201461166d57826387f76303146116455782638cfcef4a146115cf5782638e8f294b146115755782638ebf6364146114505782639010d07c1461140e57826391d14854146113c7578263929fe9a11461137057826395ee8208146113495782639cc7becf146113105782639d1b5a0a146112e65782639d8ef7e6146112b7578263a217fddf1461129b578263a22c602e14611273578263aa6fb5c014611233578263abfceffc146111b9578263ac0b0bb714611191578263b0772d0b14611104578263b3030a631461107d578263bc1fc18a14611041578263bdacb30314611001578263bdcdc25814610faa578263c299823814610eda578263c42e5b2b14610eb0578263c7108b4314610e86578263c91033b014610e63578263ca15c87314610e3a578263ce8b680514610e1a578263d02f735114610ccd578263d1eb167e14610c99578263d33219b414610c6f578263d547741f14610c33578263da3d454c1461086957508163dce1544914610810578163e4295d4114610797578163e63ab1e91461076e578163e6653f3d14610747578163e875544614610728578163e876211014610709578163eabe7d91146106eb578163ede4edd0146106be578163eebc3a991461063a578163f21d1250146105ea578163f794062e146105ac578163f8717d401461047c575063f96dae0a1461045157600080fd5b3461047857816003193601126104785760d15490516001600160a01b039091168152602090f35b5080fd5b8383346104785761048c36614073565b90918580526020966065885285872033600052885260ff866000205416158061057f575b6105715781158015610567575b6105595750855b8181106104d45787878751908152f35b806104e36105549285876150fd565b6001600160a01b039035816105016104fc85888c6150fd565b61510d565b168a5260ce8b52888a205561051a6104fc83868a6150fd565b167fb65effed4883ea5c94b76be51cffe6df198456313627302a7726e8a3de19dbea8a61054884888a6150fd565b358a51908152a2614774565b6104c4565b855163b4fa3fb360e01b8152fd5b50828214156104bd565b8551633a73e24b60e21b8152fd5b5060008051602061555083398151915287526065885285872033600052885260ff866000205416156104b0565b5050346104785760203660031901126104785760209160ff9082906001600160a01b036105d7613d2f565b16815260cc855220541690519015158152f35b505034610478576020366003190112610478576106369061062361061d61060f613e68565b610617614f8f565b50614bab565b50614fce565b9051918291602083526020830190613ec0565b0390f35b838334610478576060366003190112610478577fc435a64a252a70e1626526c36dd5dba2119d3d877951ff6fefdea93d062ade9c60c060209435602435906044359061068461411c565b60ca549260cf5460d054928060ca558260cf558460d05588519586528a860152878501526060840152608083015260a0820152a151908152f35b505034610478576020366003190112610478576020906106e46106df613d2f565b61492b565b9051908152f35b8334610706576107036106fd36613f5a565b916152a7565b80f35b80fd5b50503461047857816003193601126104785760209060d0549051908152f35b50503461047857816003193601126104785760209060c9549051908152f35b50503461047857816003193601126104785760209060ff60d55460a81c1690519015158152f35b505034610478578160031936011261047857602090516000805160206155308339815191528152f35b90503461080c57602036600319011261080c578035906107b561411c565b670de0b6b3a764000082106107fe5750907fb0f69b6b3d9133f1b3df441f537a83f47c418431a6aa99e86705aca32b9779af9160df54908060df5582519182526020820152a180f35b8251635012e14560e01b8152fd5b8280fd5b50503461047857806003193601126104785761082a613d2f565b6001600160a01b03908116835260cb60205281832080546024359490851015610706575060209361085a91613fdc565b92905490519260031b1c168152f35b84918434610c2f5760ff61087c36613f5a565b929091955416610c205760018060a01b03908186169182885260209660d7885260ff868a205416610c105783895260cc88526108c660ff878b2054166108c0614797565b906147c4565b83895260cc88526001868a2001928281169384600052895260ff87600020541615610bc5575b506024888360db541688519283809263fc57d4df60e01b8252898d8301525afa908115610afb578a91610b98575b5015610b885783895260d988528589205480610b05575b508551637f4e225760e11b81529780898981885afa8015610afb578798998b98979891610ace575b50156109ee575b50509060849160dc541684519586948593634e79238f60e01b85528a850152602484015289604484015260648301525afa9081156109e45784916109b5575b506109a8578280f35b51633a23d82560e01b8152fd5b6109d59150823d84116109dd575b6109cd8183613cf7565b810190614b95565b90508461099f565b503d6109c3565b82513d86823e3d90fd5b9091929394516395dd919360e01b815233898201528181602481895afa918215610ac4579087918b93610a85575b505090610a3e610a4492610a38670de0b6b3a76400009561537f565b926144d3565b906144aa565b0460df5490818015159182610a7b575b5050610a6557908186949392610960565b8660249187519163e4504b1f60e01b8352820152fd5b109050818a610a54565b8193508092503d8311610abd575b610a9d8183613cf7565b81010312610ab8575185610a3e670de0b6b3a7640000610a1c565b600080fd5b503d610a93565b88513d8c823e3d90fd5b610aee9150823d8411610af4575b610ae68183613cf7565b810190615121565b8b610959565b503d610adc565b87513d8c823e3d90fd5b86516308f7a6e360e31b815289818a81895afa8015610b7e5787908c90610b4d575b610b3192506144d3565b1015610b3d5789610931565b85516353977d1f60e01b81528790fd5b50508981813d8311610b77575b610b648183613cf7565b81010312610ab85786610b319151610b27565b503d610b5a565b88513d8d823e3d90fd5b85516348fa9b2b60e11b81528790fd5b90508881813d8311610bbe575b610baf8183613cf7565b81010312610ab857518a61091a565b503d610ba5565b843303610c0057610bd690336147f0565b5083895260cc88526001868a2001836000528852610bfa60ff87600020541661490e565b896108ec565b86516318e2bacb60e11b81528890fd5b855163095865a360e11b81528790fd5b505051632bc2c01360e21b8152fd5b8380fd5b8482853461080c578060031936011261080c576107039135610c6a6001610c58613d45565b93838752606560205286200154614316565b614421565b5050503461047857816003193601126104785760dd5490516001600160a01b039091168152602090f35b505050346104785760203660031901126104785760ff8160209382610cbc613e68565b16815260d485522054169051908152f35b9092915034610c2f5760ff90610ce236613ff4565b5050509290915416610c205760ff60d55460b81c16610e0b576001600160a01b0390811680865260cc6020908152848720549193909160ff1680610df9575b610d2d906108c0614797565b84519382858881635fe3b56760e01b948582525afa948515610def579087918996610dc8575b5086519081529183918391829087165afa918215610dbe57908392918892610d91575b505016911603610d84578280f35b51630c73eb0560e01b8152fd5b610db09250803d10610db7575b610da88183613cf7565b8101906154f0565b3880610d76565b503d610d9e565b85513d89823e3d90fd5b859391965091610de58593843d8611610db757610da88183613cf7565b9691935091610d53565b86513d8a823e3d90fd5b5080831687528487205460ff16610d21565b5050516307f4077b60e11b8152fd5b5050503461047857816003193601126104785760209060ca549051908152f35b5090503461080c57602036600319011261080c5760209282913581526097845220549051908152f35b5050503461047857816003193601126104785760209060ff60d354169051908152f35b50505034610478578160031936011261047857602090516000805160206155508339815191528152f35b5050503461047857816003193601126104785760d85490516001600160a01b039091168152602090f35b8385346107065790610eeb36613d5b565b91825190610ef882613d18565b610f0484519182613cf7565b828152610f1083613d18565b6020958287019491601f1901368637835b828110610f665750505083519485948186019282875251809352850193925b828110610f4f57505050500390f35b835185528695509381019392810192600101610f40565b9596949592949392610f9f90610f8f336001600160a01b03610f888487614783565b51166147f0565b610f998289614783565b52614774565b969594929396610f21565b8385913461080c5760ff610fbd36613e27565b959293919490505416610ff25760ff60d55460b01c16610fe357506107039394506152a7565b5163cd1fda9f60e01b81528590fd5b51632bc2c01360e21b81528590fd5b84346107065760203660031901126107065761101b613d2f565b61102361411c565b60018060a01b03166001600160601b0360a01b60dd54161760dd5580f35b50505034610478578160031936011261047857602090517f750fc7a006f78e0009a09aa4bf97546d802b8f6c9d27e623dd7cc78951321eaf8152f35b50505034610478576020366003190112610478577fc0d13b4b69c287fa32efe3ab6c1eb07cc9b0dba2055584c98fa3262873f6ce50906110bb613d2f565b906110c461411c565b60da80546001600160a01b039384166001600160a01b03198216811790925591518383168152918516909216909117602082015280604081015b0390a180f35b838534610706578060031936011261070657815191829160cd5480855260208095019460cd83527f83978b4c69c48dd978ab43fe30f077615294f938fb7f936d9eb340e51ea7db2e92905b828210611171576106368686611167828b0383613cf7565b51918291826140d8565b83546001600160a01b03168752958601956001938401939091019061114f565b5050503461047857816003193601126104785760209060ff60d55460b81c1690519015158152f35b50505034610478576020908160031936011261080c576001600160a01b0392836111e1613d2f565b16815260cb8352818120938251908194808754938481520196845280842093915b83831061121a576106368787611167828c0383613cf7565b8454811688529681019660019485019490920191611202565b505050346104785760203660031901126104785760209160ff9082906001600160a01b0361125f613d2f565b16815260cc8552205460081c169051908152f35b5050503461047857816003193601126104785760209065ffffffffffff60e354169051908152f35b5050503461047857816003193601126104785751908152602090f35b505050346104785780600319360112610478576020906106e46112d8613d2f565b6112e0613d45565b90615139565b5050503461047857816003193601126104785760d15490516001600160a01b039091168152602090f35b505050346104785760203660031901126104785760209181906001600160a01b03611339613d2f565b16815260ce845220549051908152f35b50505034610478576020366003190112610478576020906106e461136b613d2f565b61537f565b5050503461047857806003193601126104785760209161138e613d2f565b906001600160a01b03906001908490836113a6613d45565b16815260cc875220019116600052825260ff81600020541690519015158152f35b5090503461080c578160031936011261080c57816020936113e6613d45565b9235815260658552209060018060a01b0316600052825260ff81600020541690519015158152f35b5090503461080c578160031936011261080c5760209261143a9135815260978452826024359120613fdc565b905491519160018060a01b039160031b1c168152f35b50838334610478576020928360031936011261080c5761146e613de9565b9081156114ff578380526065855282842033600052855260ff836000205416156114f1575060a0600080516020615570833981519152915b15159360d55460ff60b01b8660b01b169060ff60b01b19161760d555835190815260608682015260086060820152672a3930b739b332b960c11b60808201528484820152a151908152f35b8251634755657960e01b8152fd5b8380526065855282842033600052855260ff8360002054161580611548575b61153a575060a0600080516020615570833981519152916114a6565b8251630e8e849b60e41b8152fd5b5060008051602061553083398151915284526065855282842033600052855260ff8360002054161561151e565b505050346104785760203660031901126104785760609181906001600160a01b0361159e613d2f565b16815260cc602052209060ff600283549301541660ff8251938181161515855260081c166020840152151590820152f35b5090503461080c57602036600319011261080c57359065ffffffffffff808316809303610c2f577f0588449e0b0110e13fc93a8a6bb18de54b76ab663510c4dbab7cac04da3981619261162061411c565b8460e3548265ffffffffffff1982161760e3558451938116845216176020820152a180f35b5050503461047857816003193601126104785760209060ff60d55460b01c1690519015158152f35b5083833461047857608036600319011261047857611689613d2f565b926024359060ff821694858303610ab85760443591606435916116aa61411c565b60018060a01b03908181169586895260209960cc8b5260ff898b20541661191f571561197257888089518c810190637f4e225760e11b82528781526116ee81613cc1565b519082865af13d1561196d573d611704816140bd565b906117118b519283613cf7565b81528a8c3d92013e5b80611963575b1561192f5786895260cc8a526001888a209161ff0083549160081b169061ffff1916171790558760cd54905b8181106118f95750600160401b8110156118e45790611774826001611793940160cd55613f8f565b90919082549060031b9160018060a01b03809116831b921b1916179055565b6117d786516117a181613cc1565b601c81527f626c6f636b206e756d62657220657863656564732033322062697473000000008a82015264010000000043106147c4565b60da541690813b156118e05784604488928389519586948593633ace041560e11b855284015263ffffffff431660248401525af180156118d6578688939286926118b4575b50507f6f1951b2aad10f3fc81b86d91105b413a5b3f847a34bbc5ce1904201b14438f6837fb65effed4883ea5c94b76be51cffe6df198456313627302a7726e8a3de19dbea957fcf583bb0c569eb967f806b11601c4cb93c10310485c67add5f8362c2f212321f828a51868152a1838a5260d9825280898b20558851908152a283865260ce825280858720558451908152a251908152f35b90929493506118c39150613c7c565b6118d25790859083868961181c565b8480fd5b85513d88823e3d90fd5b8680fd5b604184634e487b7160e01b6000525260246000fd5b878461190483613f8f565b90549060031b1c161461191f5761191a90614774565b61174c565b8851634d5eeb4960e01b81528590fd5b875162461bcd60e51b81528085018b9052600e60248201526d31b7b73a3930b1ba1032b93937b960911b6044820152606490fd5b50813b1515611720565b61171a565b8751631b47388560e11b81528490fd5b5090503461080c57602036600319011261080c5761199e613d2f565b6119a661411c565b6001600160a01b03169182156119ce5750506001600160601b0360a01b60d154161760d15580f35b5163e6c4247b60e01b8152fd5b5050503461047857816003193601126104785760db5490516001600160a01b039091168152602090f35b8484833461080c578360031936011261080c57611a20613e68565b90602435916001600160401b0383116118d257366023840112156118d2578282013595611a4c876140bd565b91611a5986519384613cf7565b878352602097888401953660248383010111611ca05781899260248c930189378501015260443592606435956084359160a43593898b8d60c43598611a9c61411c565b60d35415611c41575b60ff8095169b8c845260d483528585852054169081158015611c35575b8015611c1f575b15611ba257505093838a979360d48f948f9b987f878e48ed20dc6724a982e6ed357e7ad8d32f3a8550cc2d946046e3a708545e799f9d9a9660c09f8f928f92918e8e600194611b789f978e611b49995198611b238a613ca5565b89528a8901528c8801526060870152608086015260a085015260c0840152820152614dd6565b611b568560d35416614df9565b9b835252209716968760ff198254161790558c51928392839251928391613e78565b8101039020988a519586528c860152898501526060840152608083015260a0820152a35b51908152f35b94508c9d9750809c9350611bba919b96959250614bab565b50541603611c11575092611c0c9897959260019592611c0698958e8d519b611be18d613ca5565b8c528b01528b8a01526060890152608088015260a087015260c0860152840152614bab565b90614c7d565b611b9c565b8a5163e70616f160e01b8152fd5b508d87611c2b84614bab565b5054161415611ac9565b5060d354821015611ac2565b611c9b8451611c4f81613ca5565b8481528551611c5d81613cc1565b6007815266125b9d985b1a5960ca1b858201528482015284868201528460608201528460808201528460a08201528460c08201528483820152614dd6565b611aa5565b8880fd5b505050346104785760203660031901126104785760209160ff9082906001600160a01b03611cd0613d2f565b16815260d6855220541690519015158152f35b505050346104785760203660031901126104785760209160ff9082906001600160a01b03611d0f613d2f565b16815260d7855220541690519015158152f35b5090503461080c5761012036600319011261080c57611d3f613d2f565b90611d48613d45565b6001600160a01b03926044358481169190829003610ab857606435858116809103610ab85760843590868216809203610ab85788549660ff8860081c161596878098612145575b801561212e575b156120d457508980959493928a9260ff199a8a60018d83161785556120c3575b5082805260209a8b916065835280868620981697886000528352856000205460ff16159a611e5f611f0a997fc0d13b4b69c287fa32efe3ab6c1eb07cc9b0dba2055584c98fa3262873f6ce509860977f48bd816f205e181001b83aa1cf7320a5d50507ac4003c9cc33c314354b1c7ea69f97611ead977fd52b2b9b7e9ee655fcb95d2e5b9e0c9f69e7ef2b8e9d2d0ea78402d576d22e229961208b575b508a80525288206145ff565b506001600160601b0360a01b998a60d154161760d155670de0b6b3a764000060d25516808960db54161760db558d5191829182919091602060408201936000835260018060a01b0316910152565b0390a160da805487811683179091558b51600081529216176001600160a01b0316602082015280604081010390a160dc805493841682179055875160008152939092169091176001600160a01b0316602083015281906040820190565b0390a17f3b9670cf975d26958e754b57098eaa2ac914d8d2a31b83257997b9f346110fd98360a4358060c95581519087825285820152a17fc435a64a252a70e1626526c36dd5dba2119d3d877951ff6fefdea93d062ade9c60c060c4358060ca5560e4358060cf5561010435908160d055875192898452878401528888840152606083015287608083015260a0820152a17fdef449b2f4609015f25664c39d8c4d1d5355a91831d907228ab84fbe334c6ce68368056bc75e2d631000008060df557fb0f69b6b3d9133f1b3df441f537a83f47c418431a6aa99e86705aca32b9779af8280518981528388820152a18060e15581519087825285820152a17f0588449e0b0110e13fc93a8a6bb18de54b76ab663510c4dbab7cac04da3981618360e354603c65ffffffffffff1982161760e355603c87835192818452161785820152a1612054578280f35b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a138808280f35b8b805260658252838c208560005282526001846000209182541617905533848c6000805160206155108339815191528180a438611e53565b61ffff191661010117835538611db6565b60849060208b519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b158015611d965750600160ff8a1614611d96565b50600160ff8a1610611d8f565b5090503461080c5761216336614073565b90939294918680526020936065855283882033600052855260ff846000205416158061224f575b6122415781158015612237575b6122295750865b8181106121a9578780f35b80826121b961222493868a6150fd565b35896121d16104fc8560018060a01b039586946150fd565b168b5260d98852868b20556121ea6104fc83868c6150fd565b167f6f1951b2aad10f3fc81b86d91105b413a5b3f847a34bbc5ce1904201b14438f68761221884888c6150fd565b358851908152a2614774565b61219e565b835163b4fa3fb360e01b8152fd5b5082821415612197565b8351633a73e24b60e21b8152fd5b5060008051602061555083398151915288526065855283882033600052855260ff8460002054161561218a565b8482853461080c5761228d36613ff4565b929093915060018060a01b038083169081895260209260cc84528160ff898c205416159182156124aa575b505061249a5786516395dd919360e01b8152958116888701819052928087602481865afa968715610ac4578a9761246b575b5065ffffffffffff8060e3541642039042821161245657858c5260e28352898c2054161015612446578751630c71782360e41b815281818b81875afa91821561243c579089949392918c9261241f575b50501561235d5750505050501161235057505080f35b5163e46c155960e01b8152fd5b60849060dc54169383519485938492634e79238f60e01b84528c840152602483015260006044830152600060648301525afa908115610dbe578791612400575b50156123f0576123ac9061537f565b670de0b6b3a76400006123cd816123c58660c9546144aa565b0480936144aa565b0460e154116000146123e457501161235057505080f35b91501161235057505080f35b5050505163095bf33360e01b8152fd5b6124179150853d87116109dd576109cd8183613cf7565b90508761239d565b6124359250803d10610af457610ae68183613cf7565b8b8061233a565b89513d8d823e3d90fd5b875163d26a7d5f60e01b81528990fd5b60118b634e487b7160e01b6000525260246000fd5b9080975081813d8311612493575b6124838183613cf7565b81010312610ab85751958a6122ea565b503d612479565b86516334b04fe360e11b81528890fd5b168a52508689205460ff1615818b6122b8565b8482853461080c57606036600319011261080c57826124da613d2f565b6124e261411c565b60da546001600160a01b039190821690813b15610c2f578360649286519788958694635f87769b60e01b86521690840152602435602484015260443560448401525af190811561253e5750612535575080f35b61070390613c7c565b513d84823e3d90fd5b50838334610478576020928360031936011261080c57612565613d2f565b61256d61411c565b6001600160a01b039081169182156126fa575090816126537f0613b6ee6a04f0d09f390e4d9318894b9f6ac7fd83897cd8d18896ba579c401e9360d55416926000805160206155308339815191528088526065808a526125d26001898b200154614316565b818952808a52878920868a528a5260ff888a2054166126b5575b81895260978a526125ff86898b20614684565b50826001600160601b0360a01b60d554161760d555818952808a526126296001898b200154614316565b818952808a52878920838a528a5260ff888a2054161561267f575b508752609788528587206145ff565b5060d55484516001600160a01b0393841681529116909116602082015280604081015b0390a151908152f35b81895289528688208289528952868820805460ff191660011790553382826000805160206155108339815191528b80a489612644565b818952808a52878920868a528a52878920805460ff191690553386837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b8c80a46125ec565b835163e6c4247b60e01b8152fd5b508383346104785760203660031901126104785780612725613d2f565b608460018060a01b03918260dc541684519788948593634e79238f60e01b855216908301528660248301528660448301528660648301525afa9283156127ac578293612787575b50516000815260208101919091526040810191909152606090f35b816127a492945061063693503d85116109dd576109cd8183613cf7565b92909161276c565b5051903d90823e3d90fd5b8482853461080c57602036600319011261080c577fdef449b2f4609015f25664c39d8c4d1d5355a91831d907228ab84fbe334c6ce691356127f661411c565b60e154908060e15582519182526020820152a180f35b5050503461047857602036600319011261047857906020917fd52b2b9b7e9ee655fcb95d2e5b9e0c9f69e7ef2b8e9d2d0ea78402d576d22e2261284d613d2f565b61285561411c565b60db80546001600160a01b039283166001600160a01b03198216811790925584519216825260208201528060408101612676565b5050503461047857816003193601126104785760dc5490516001600160a01b039091168152602090f35b5090503461080c57602036600319011261080c57359160cd54831015610706575061143a602092613f8f565b9092915034610c2f5760ff906128f436613f5a565b9390925416612b135760018060a01b038091169081875260209260d6845260ff8689205416612b035782885260cc845261293660ff878a2054166108c0614797565b85516361bfb47160e11b815291811687830181905291608081602481875afa8015612af957898a928b92612abf575b50612979906129726148e4565b90156147c4565b848a5260cc86526001888b2001848b52865260ff888b205416159182612ab6575b5081612aad575b50612a63575b505080865260ce8252838620541592831592836129d9575b50505050156129cc578280f35b516354db2d5d60e11b8152fd5b9293509091836129f0575b505050388080806129bf565b84516318160ddd60e01b8152929350909181818781875afa908115610dbe578791612a35575b5060ce92612a23916144d3565b928652528184205410153880806129e4565b90508181813d8311612a5c575b612a4c8183613cf7565b810103126118e0575160ce612a16565b503d612a42565b823303612a9d57612a7490336147f0565b5081875260cc83526001858820019087528252612a9660ff858820541661490e565b38806129a7565b855163094d2b6d60e21b81528790fd5b905015386129a1565b1591503861299a565b90506129799250612ae7915060803d8111612af2575b612adf8183613cf7565b8101906148c2565b509290929190612965565b503d612ad5565b87513d8b823e3d90fd5b8551636be9245d60e11b81528790fd5b50505051632bc2c01360e21b8152fd5b5050503461047857816003193601126104785760209060cf549051908152f35b508383346104785780612b5536613f21565b60dc548551634e79238f60e01b81526001600160a01b03958616998101998a5293851660208a0152604089019290925260608801529095869290839003608001918391165afa9283156127ac5782936127875750516000815260208101919091526040810191909152606090f35b5050503461047857816003193601126104785760d55490516001600160a01b039091168152602090f35b5050503461047857816003193601126104785760609060ca549060cf549060d0549181519384526020840152820152f35b505050346104785760203660031901126104785760209181906001600160a01b03612c47613d2f565b16815260d9845220549051908152f35b5050503461047857816003193601126104785760209060d2549051908152f35b5050503461047857816003193601126104785760209060ff60d55460a01c1690519015158152f35b5050503461047857816003193601126104785760209060e1549051908152f35b8482853461080c576020612cd236613f21565b60dc5486516354f2052160e11b81526001600160a01b039586169881019889529385166020890152604088019290925260608701529094859290839003608001918391165afa918215612d67578392612d30575b6020838351908152f35b9091506020813d8211612d5f575b81612d4b60209383613cf7565b8101031261080c5760209250519083612d26565b3d9150612d3e565b81513d85823e3d90fd5b5083833461047857612d8236613df8565b908115612e1f57838052606560205282842033855260205260ff838520541615612e0f5781602095612de3600080516020615570833981519152948660a0955b600180881b03169889815260d68b52209060ff801983541691151516179055565b8451958652606087870152606086015263135a5b9d60e21b60808601521515938484820152a151908152f35b8251634755657960e01b81528590fd5b838052606560205282842033855260205260ff83852054161580612e72575b612e625781602095612de3600080516020615570833981519152948660a095612dc2565b8251630e8e849b60e41b81528590fd5b506000805160206155308339815191528452606560205282842033855260205260ff838520541615612e3e565b838583346104785760208060031936011261080c57612ebc613d2f565b91612ec561411c565b6001600160a01b03838116918215613047575094612fab6110fe9260977feda98690e518e9a05f8ec6837663e188211b2da8f4906648b323f2c1d4434e29979860d8541695600080516020615550833981519152808b528a612f84600188606593848752612f37838383200154614316565b8581528487528181208d8252875260ff8282205416613002575b858152878752612f638d838320614684565b5060d880546001600160a01b0319168a179055858152848752200154614316565b818c52808352868c20858d52835260ff878d20541615612fcc575b508a52528288206145ff565b50516001600160a01b03928316815292909116602083015281906040820190565b818c528252858b20848c528252858b20805460ff191660011790553384826000805160206155108339815191528e80a48b612f9f565b8581528487528181208d82528752818120805460ff19169055338d877ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b8480a4612f51565b865163e6c4247b60e01b8152fd5b83858334610478578260031936011261047857613070613d45565b90336001600160a01b0383160361308c57906107039135614421565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b5050503461047857816003193601126104785760da5490516001600160a01b039091168152602090f35b83853461070657806003193601126107065760d35461312f81613d18565b9161313c84519384613cf7565b81835260d3815260209283810192827f915c3eb987b20e1af620c1403197bf687fb7f18513b3a73fde6e78c7072c41a6855b8383106131cf57505050508451938085019181865251809252858501958260051b8601019392955b8287106131a35785850386f35b9091929382806131bf600193603f198a82030186528851613ec0565b9601920196019592919092613196565b6008886001926131e2859b98999b614fce565b8152019201920191909694939661316e565b5050503461047857816003193601126104785760de5490516001600160a01b039091168152602090f35b508383346104785760203660031901126104785782359261323d61411c565b831561328157507f3b9670cf975d26958e754b57098eaa2ac914d8d2a31b83257997b9f346110fd98160209460c954908060c955825191825286820152a151908152f35b905163ee0bdbdf60e01b8152fd5b8482853461080c578060031936011261080c576132fe91359060976132b2613d45565b92808652602090606582526132cc60018589200154614316565b808752606582528387206001600160a01b039095168088529482528387205460ff1615613302575b86525283206145ff565b5080f35b808752606582528387208588528252838720805460ff191660011790553385826000805160206155108339815191528a80a46132f4565b50838334610478576020928360031936011261080c57613357613de9565b9081156133d55783805260658552828420338552855260ff8385205416156114f1575060a0600080516020615570833981519152915b15159360d55460ff60b81b8660b81b169060ff60b81b19161760d555835190815260608682015260056060820152645365697a6560d81b60808201528484820152a151908152f35b83805260658552828420338552855260ff8385205416158061340e575b61153a575060a06000805160206155708339815191529161338d565b50600080516020615530833981519152845260658552828420338552855260ff8385205416156133f2565b505050346104785760203660031901126104785760209165ffffffffffff9082906001600160a01b0361346a613d2f565b16815260e285522054169051908152f35b838534610706576020938460031936011261047857613498613de9565b918383156134d257818060ff9352606588528181203382528852205416156114f157505b15159160ff1981541660ff841617905551908152f35b508080526065865283812033825286528360ff81832054161591826134fe575b505061153a57506134bc565b60ff925060008051602061553083398151915281526065885281812033825288522054161583876134f2565b50838334610478576020928360031936011261080c57613548613e68565b61355061411c565b60ff8060d3541691818061356b61356686614df9565b614bab565b50541691169384875260d4885282868820541692858161358a86614bab565b505416146136a25761359e61356686614df9565b506135a885614bab565b9290926136905791817f3142b1d766c6799b48d5083bdb3ef6e5a2d93657c1a073fba6c4cf5a93f3d0be9795938c979593830361361c575b50505050875260d4835285872060ff199182825416179055613600614ee4565b84875260d483528587209081541690558451908152a251908152f35b60078261368795838395541660ff198754161786556136416001830160018801614e0c565b60028201546002870155600382015460038701558082015490860155600581015460058601556006810154600686015501541691019060ff801983541691151516179055565b898080806135e0565b634e487b7160e01b8a5289845260248afd5b508551631b47388560e11b8152fd5b5090503461080c57602036600319011261080c5781602093600192358152606585522001549051908152f35b505050346104785760203660031901126104785761063690610623613700613e68565b6150d1565b505050346104785760ff6107039161371c36613e27565b5050506001600160a01b0316845260cc602052832054166108c0614797565b5050503461047857816003193601126104785761375661411c565b815b60d3549060ff9182821610156137945761378f9161377582614bab565b505416845260d4602052828420805460ff19169055614f7e565b613758565b8360ff8060d35416825b81838216106137ab578380f35b6137bc906137b7614ee4565b614f7e565b61379e565b50838334610478576137d236613df8565b93841561386357838052606560205282842033855260205260ff8385205416156114f1575060a08461383360209685600080516020615570833981519152955b600180871b03169788815260d78a52209060ff801983541691151516179055565b83519485526060868601526006606086015265426f72726f7760d01b60808601521515938484820152a151908152f35b838052606560205282842033855260205260ff838520541615806138a6575b61153a575060a0846138336020968560008051602061557083398151915295613812565b506000805160206155308339815191528452606560205282842033855260205260ff838520541615613882565b5050503461047857816003193601126104785760209060df549051908152f35b5050503461047857806003193601126104785761390e613d2f565b33835260cc60205261392860ff83852054166108c0614797565b6001600160a01b0316825260e26020528120805465ffffffffffff19164265ffffffffffff1617905580f35b5090503461080c57602036600319011261080c576001600160a01b0390358181169290839003610c2f576110fe7f74da322741e80869260bbc86121057ddc6438621671e5f4ae9656d53580e40df936139ab61411c565b60de80546001600160a01b0319811683179091559251939092166001600160a01b039081168452909116602083015281906040820190565b50505034610478576020366003190112610478577f48bd816f205e181001b83aa1cf7320a5d50507ac4003c9cc33c314354b1c7ea690613a21613d2f565b90613a2a61411c565b60dc80546001600160a01b039384166001600160a01b0319821681179092559151929091168252602082015280604081016110fe565b8482853461080c57613a7136613d5b565b613a7961411c565b805191845b60cd54811015613be957613a9181613f8f565b90546001600160a01b0360039290921b1c811690875b868110613abf57505050613aba90614774565b613a7e565b81613ad082889495989a969a614783565b5116908551916370a0823160e01b835280868401526020602493818186818d5afa908115613bdf578d91613bae575b501590811591613b38575b50613b1b9350613b27575b50614774565b96929694919094613aa7565b613b3190886147f0565b508a613b15565b8091508c8951958680926305eff7ef60e21b8252868c8301528d5af1908115613ba4578c91613b70575b50613b1b935015158c613b0a565b905083813d8311613b9d575b613b868183613cf7565b81010312613b9957613b1b92518c613b62565b8a80fd5b503d613b7c565b88513d8e823e3d90fd5b90508181813d8311613bd8575b613bc58183613cf7565b81010312613bd457518d613aff565b8c80fd5b503d613bbb565b89513d8f823e3d90fd5b8580f35b5090503461080c57602036600319011261080c57359063ffffffff60e01b821680920361080c5760209250635a05180f60e01b8214918215613c33575b50519015158152f35b909150637965db0b60e01b8114908115613c50575b509038613c2a565b6301ffc9a760e01b14905038613c48565b85903461047857816003193601126104785780600160209252f35b6001600160401b038111613c8f57604052565b634e487b7160e01b600052604160045260246000fd5b61010081019081106001600160401b03821117613c8f57604052565b604081019081106001600160401b03821117613c8f57604052565b608081019081106001600160401b03821117613c8f57604052565b90601f801991011681019081106001600160401b03821117613c8f57604052565b6001600160401b038111613c8f5760051b60200190565b600435906001600160a01b0382168203610ab857565b602435906001600160a01b0382168203610ab857565b602080600319830112610ab857600435916001600160401b038311610ab85780602384011215610ab8578260040135613d9381613d18565b93613da16040519586613cf7565b81855260248486019260051b820101928311610ab857602401905b828210613dca575050505090565b81356001600160a01b0381168103610ab8578152908301908301613dbc565b600435908115158203610ab857565b6040906003190112610ab8576004356001600160a01b0381168103610ab857906024358015158103610ab85790565b6080906003190112610ab8576001600160a01b036004358181168103610ab857916024358281168103610ab857916044359081168103610ab8579060643590565b6004359060ff82168203610ab857565b60005b838110613e8b5750506000910152565b8181015183820152602001613e7b565b90602091613eb481518092818552858086019101613e78565b601f01601f1916010190565b9060ff825116815260e080613ee46020850151610100806020870152850190613e9b565b9360408101516040850152606081015160608501526080810151608085015260a081015160a085015260c081015160c08501520151151591015290565b6080906003190112610ab8576001600160a01b03906004358281168103610ab857916024359081168103610ab857906044359060643590565b6060906003190112610ab8576001600160a01b03906004358281168103610ab857916024359081168103610ab8579060443590565b60cd54811015613fc65760cd6000527f83978b4c69c48dd978ab43fe30f077615294f938fb7f936d9eb340e51ea7db2e0190600090565b634e487b7160e01b600052603260045260246000fd5b8054821015613fc65760005260206000200190600090565b60a0906003190112610ab8576001600160a01b03906004358281168103610ab857916024358181168103610ab857916044358281168103610ab857916064359081168103610ab8579060843590565b9181601f84011215610ab8578235916001600160401b038311610ab8576020808501948460051b010111610ab857565b6040600319820112610ab8576001600160401b0391600435838111610ab8578261409f91600401614043565b93909392602435918211610ab8576140b991600401614043565b9091565b6001600160401b038111613c8f57601f01601f191660200190565b6020908160408183019282815285518094520193019160005b8281106140ff575050505090565b83516001600160a01b0316855293810193928101926001016140f1565b3360009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602090815260408083205490929060ff161561415e57505050565b614167336144f1565b908084519061417582613cdc565b6042825284820192606036853782511561430257603084538251906001918210156143025790607860218501536041915b8183116142945750505061425257604861424e93869361423293614223985198899376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a8601526141fa815180928c603789019101613e78565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190613e78565b01036028810187520185613cf7565b5192839262461bcd60e51b845260048401526024830190613e9b565b0390fd5b60648486519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f811660108110156142ee576f181899199a1a9b1b9c1cb0b131b232b360811b901a6142c485876144e0565b5360041c9280156142da576000190191906141a6565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b60009080825260209060658252604092838120338252835260ff8482205416156143405750505050565b614349336144f1565b9184519061435682613cdc565b6042825284820192606036853782511561430257603084538251906001918210156143025790607860218501536041915b8183116143db5750505061425257604861424e93869361423293614223985198899376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a8601526141fa815180928c603789019101613e78565b909192600f811660108110156142ee576f181899199a1a9b1b9c1cb0b131b232b360811b901a61440b85876144e0565b5360041c9280156142da57600019019190614387565b90604061445f9260009080825260656020528282209360018060a01b03169384835260205260ff8383205416614462575b8152609760205220614684565b50565b808252606560205282822084835260205282822060ff1981541690553384827ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b8580a4614452565b818102929181159184041417156144bd57565b634e487b7160e01b600052601160045260246000fd5b919082018092116144bd57565b908151811015613fc6570160200190565b60405190606082018281106001600160401b03821117613c8f57604052602a8252602082016040368237825115613fc657603090538151600190811015613fc657607860218401536029905b80821161459157505061454d5790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f811660108110156145ea576f181899199a1a9b1b9c1cb0b131b232b360811b901a6145c084866144e0565b5360041c9180156145d557600019019061453d565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fd5b9190600183016000908282528060205260408220541560001461467e57845494600160401b86101561466a578361465a614643886001604098999a01855584613fdc565b819391549060031b91821b91600019901b19161790565b9055549382526020522055600190565b634e487b7160e01b83526041600452602483fd5b50925050565b9060018201906000928184528260205260408420549081151560001461476d57600019918083018181116147595782549084820191821161474557808203614710575b505050805480156146fc578201916146df8383613fdc565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b6147306147206146439386613fdc565b90549060031b1c92839286613fdc565b905586528460205260408620553880806146c7565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b60001981146144bd5760010190565b8051821015613fc65760209160051b010190565b604051906147a482613cc1565b60118252701b585c9ad95d081b9bdd081b1a5cdd1959607a1b6020830152565b156147cc5750565b60405162461bcd60e51b81526020600482015290819061424e906024830190613e9b565b6001600160a01b03808216600090815260cc602052604081208054919493926001926148219060ff166108c0614797565b841685520160205260408320805460ff811661476d5760ff1916600117905560cb60205260408320805490600160401b8210156148ae57826117748361488f9360017f3ab23ab0d51cccc0c3085aec51f99228625aa1a922b3a8ca89a26b0f2027a1a5989796018155613fdc565b604080516001600160a01b03928316815292909116602083015290a190565b634e487b7160e01b85526041600452602485fd5b9190826080910312610ab8578151916020810151916060604083015192015190565b604051906148f182613cc1565b600e82526d39b730b839b437ba1032b93937b960911b6020830152565b1561491557565b634e487b7160e01b600052600160045260246000fd5b604080516361bfb47160e11b81523360048201526001600160a01b03838116939091608081602481885afa8015614b8a57600080928192614b60575b50614974906129726148e4565b614b4f576149839033836152a7565b8360005260209260cc845260019384826000200133600052815281600020805460ff811615614b425760ff1916905560cb8152816000209482519081968791848254948581520191600052846000209060005b86868210614b2a57505050506149ee92500386613cf7565b845194859660005b888110614af8575b505050614a12859660cb939495961061490e565b33600052528060002092835494600019958681019081116144bd57614a6e9183614a3f614a499389613fdc565b9390549289613fdc565b92909360031b1c169082549060031b9160018060a01b03809116831b921b1916179055565b8354938415614ae2577fe699a64c18b07ac5b7301aa273f36a2287239eb9501d81950672794afba29a0d95614ada950191614aa98383613fdc565b815460039190911b9290921b19909116905555516001600160a01b0390911681523360208201529081906040820190565b0390a1600090565b634e487b7160e01b600052603160045260246000fd5b8187614b048386614783565b511614614b1957614b1490614774565b6149f6565b9650614a12915060cb9050386149fe565b83548b1685528b9550909301929181019181016149d6565b5050505050505050600090565b8351631a4e452560e31b8152600490fd5b90506149749250614b7f915060803d8111612af257612adf8183613cf7565b509290929190614967565b84513d6000823e3d90fd5b9190826040910312610ab8576020825192015190565b60d354811015613fc65760d360005260031b7f915c3eb987b20e1af620c1403197bf687fb7f18513b3a73fde6e78c7072c41a60190600090565b90600182811c92168015614c15575b6020831014614bff57565b634e487b7160e01b600052602260045260246000fd5b91607f1691614bf4565b818110614c2a575050565b60008155600101614c1f565b9190601f8111614c4557505050565b614c71926000526020600020906020601f840160051c83019310614c73575b601f0160051c0190614c1f565b565b9091508190614c64565b90614dc05760ff82511660ff19825416178155600191828201602080830151948551916001600160401b038311613c8f57614cc283614cbc8654614be5565b86614c36565b80601f8411600114614d4c575091808060e0959360079795614c719a600094614d41575b50501b916000199060031b1c19161790555b60408101516002850155606081015160038501556080810151600485015560a0810151600585015560c081015160068501550151151591019060ff801983541691151516179055565b015192503880614ce6565b9193949596601f1984168660005283600020936000905b828210614da95750509260e095928592614c719a99966007999610614d90575b505050811b019055614cf8565b015160001960f88460031b161c19169055388080614d83565b808886978294978701518155019601940190614d63565b634e487b7160e01b600052600060045260246000fd5b60d35490600160401b821015613c8f57611c06826001614c71940160d355614bab565b60ff6000199116019060ff82116144bd57565b90808214614ee057614e1e8154614be5565b906001600160401b038211613c8f578190614e3d82614cbc8654614be5565b600090601f8311600114614e7457600092614e69575b50508160011b916000199060031b1c1916179055565b015490503880614e53565b81526020808220858352818320935090601f1985169083905b828210614ec7575050908460019594939210614eae575b505050811b019055565b015460001960f88460031b161c19169055388080614ea4565b8495819295850154815560018091019601940190614e8d565b5050565b60d3548015614ae25760001901614efa81614bab565b614dc05760076000918281558260018201614f158154614be5565b80614f41575b50506002820155826003820155826004820155826005820155826006820155015560d355565b82601f8211600114614f59575050555b823880614f1b565b9091808252614f77601f60208420940160051c840160018501614c1f565b5555614f51565b60ff1660ff81146144bd5760010190565b60405190614f9c82613ca5565b8160e0600091828152606060208201528260408201528260608201528260808201528260a08201528260c08201520152565b90604051614fdb81613ca5565b809260ff8154168252600180820160405191600091805490614ffc82614be5565b808652918381169081156150a7575060011461506b575b50505060e0928261502a60ff946007940382613cf7565b6020860152600281015460408601526003810154606086015260048101546080860152600581015460a0860152600681015460c08601520154161515910152565b90925060005260209182600020916000925b82841061509457505050820101828261502a615013565b805486850186015292840192810161507d565b60ff191660208088019190915292151560051b8601909201935085925084915061502a9050615013565b60ff906150dc614f8f565b501660005260d46020526150fa61061d60ff60406000205416614bab565b90565b9190811015613fc65760051b0190565b356001600160a01b0381168103610ab85790565b90816020910312610ab857518015158103610ab85790565b60018060a01b038091169060009082825260209060cc825260409460ff86852054161561529657169283835260cc825260ff8584205416156152855780835260cc825260ff8584205460081c169380845260ff8685205460081c16928651928184600481637f4e225760e11b948582525afa93841561527b57869461525a575b508190600489518095819382525afa94851561524f5794615230575b50501561521057820361520257156151f5576151f0906150d1565b015190565b606091506151f0906150d1565b5060a091506151f0906150d1565b919250508103615225576151f06080916150d1565b6151f060c0916150d1565b615247929450803d10610af457610ae68183613cf7565b9138806151d5565b8751903d90823e3d90fd5b8291945061527490823d8411610af457610ae68183613cf7565b93906151b9565b88513d88823e3d90fd5b84516334b04fe360e11b8152600490fd5b85516334b04fe360e11b8152600490fd5b9160018060a01b038093169160009280845260cc6020526040946152d360ff87872054166108c0614797565b81855260cc6020528060018787200193169283865260205260ff86862054161561537757859260849160dc541684519586948593634e79238f60e01b85526004850152602484015260448301528660648301525afa91821561536c579161534d575b5061533d5750565b51633a23d82560e01b8152600490fd5b6153649150823d84116109dd576109cd8183613cf7565b905038615335565b8351903d90823e3d90fd5b505050505050565b60018060a01b0380911690600090828252602060cc815260409160ff8385205416156154df5790806024939260db541683519485809263fc57d4df60e01b82528960048301525afa9283156109e45784936154b0575b508294831561549f5790808392600494519485809263313ce56760e01b82525afa9182156154965750849161545d575b5060ff9150166012811061541a575b50505090565b90919392506012036012811161544957604d811161544957615441929350600a0a906144aa565b388080615414565b634e487b7160e01b84526011600452602484fd5b905081813d831161548f575b6154738183613cf7565b8101031261080c575160ff8116810361080c5760ff9038615405565b503d615469565b513d86823e3d90fd5b82516348fa9b2b60e11b8152600490fd5b9080935081813d83116154d8575b6154c88183613cf7565b81010312610c2f575191386153d5565b503d6154be565b82516334b04fe360e11b8152600490fd5b90816020910312610ab857516001600160a01b0381168103610ab8579056fe2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a585dbb3f830c4325b9ffb1ad42c16ada76c518747b0fb7ee297b261fc6a0f29f71aec636243f9709bb0007ae15e9afb8150ab01716d75fd7573be5cc096e03b0a264697066735822122023fca9bc89d9892b3a0a8e6c148a29eb06cd6137a236d952bc1143a31910ac9a64736f6c63430008130033";
17
+ static readonly bytecode = "0x60808060405234620000c6576000549060ff8260081c1662000074575060ff8082161062000038575b604051615d669081620000cc8239f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a13862000028565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fdfe61024080604052600436101561001457600080fd5b60006101405260003560e01c9081627e3dd21461441e5750806301ffc9a7146143c85780631407e2811461436057806322c70ebd146141f457806323ec2fb2146141aa57806324008a6214614170578063248a9ca31461413d57806324a3d62214614111578063250d71e7146140b05780632bebbc091461406a5780632f2ff15d14613f9e5780633278eb0414613f72578063360f5a0114613f4657806336568abe14613eb45780633e90dce514613bd15780634e79238f146132475780634ef4c3e11461300557806352d84d1e14612fc357806355ee1fe114612f4d5780635608737514612e945780635f5af1aa14612cb95780635fc7e71e14611f9a5780637dc0d1d014611f6e57806381a397e414611edf57806387bae18f14611e575780638c765e9414611e1b5780638e8f294b14611dbd5780639158c2aa14611c2b57806391d1485414611bda57806395ee820814611baf578063a217fddf14611b90578063a7adfb4414611a6c578063a7c1abe014611a0a578063abfceffc14611987578063b0772d0b146118ec578063bdcdc25814611880578063c299823814611797578063cc2a9a5b146114be578063d02f73511461137e578063d33219b414611352578063d547741f1461130f578063d78a18d81461129a578063da3d454c146105e9578063dce1544914610588578063e22b393414610377578063e63ab1e914610339578063eabe7d91146102ec578063ede4edd0146102c4578063f794062e146102815763f96dae0a1461024b57600080fd5b3461027a5761014051806003193601126102775760d1546040516001600160a01b039091168152602090f35b80fd5b6101405180fd5b3461027a57602036600319011261027a576001600160a01b036102a2614438565b16610140515260cc602052602060ff6040610140512054166040519015158152f35b3461027a57602036600319011261027a576102e56102e0614438565b614d11565b6101405180f35b3461027a576102fa366144b5565b9060018060a01b038316610140515260cc60205260ff60406101405120541615610327576102e592615053565b6040516341554b6360e01b8152600490fd5b3461027a5761014051806003193601126102775760206040517f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a8152f35b3461027a57606036600319011261027a5767ffffffffffffffff60043581811161027a576103a99036906004016146a3565b60243583811161027a576103c19036906004016146a3565b9360443590811161027a576103da9036906004016146a3565b9390916103e56146d4565b8315801561057e575b8015610574575b61056257610140515b84811061040c576101405180f35b61041781888461501b565b6104209061502b565b6001600160a01b03908161043584898861501b565b61043e9061503f565b16610140515260e56020918183526101405160409020906104819190640100000000600160981b0382549160201b1690640100000000600160981b031916179055565b61048c848a8961501b565b6104959061502b565b91836104a2868b8a61501b565b6104ab9061503f565b166101405152526101405160409020600101906001600160781b03166001600160781b03198254161790556104e182878661501b565b6104ea9061503f565b906104f683898861501b565b6104ff9061502b565b9161050b848a8961501b565b6105149061502b565b604080516001600160781b0395861681529190941660208201529116917f1f4350c8add28a86ccd16ab5ca63fc8dda2858c65a32b7b4b7c281300e14da1291a261055d90614bd6565b6103fe565b60405163b4fa3fb360e01b8152600490fd5b50848414156103f5565b50858414156103ee565b3461027a57604036600319011261027a576105a1614438565b61014080516001600160a01b03928316905260cb6020525160408120805460243593929084101561027757506020926105d991614537565b9190546040519260031b1c168152f35b3461027a576105f7366144b5565b6101005261014080516001600160a01b038416905260cc60205251604090205490919060ff16156103275761014080516001600160a01b038316905260e560205251604090205460081c60ff166112885760018060a01b038116610140515260cc6020526001604061014051200160018060a01b03831660005260205260ff60406000205416156111ff575b60018060a01b038116610140515260e56020526001600160781b03604061014051205460201c168061115c575b506106b9615bb2565b50600160ff60e65460701c16019060ff8211610d0f576106db60ff831661468b565b906106e96040519283614669565b60ff8316808352601f19906106fd9061468b565b0160005b818110611145575050600060c0526000610719615bb2565b60018060a01b03861660c0515260cb602052604060c05120916040518084602082965493848152019060c0515260c0519260208420935b81811061112357505061076592500384614669565b60c0515b8351811015610c42576001600160a01b036107848286614be5565b5116908160c0515260cc60205260ff604060c051205460081c1660ff6107aa828a614be5565b51511615610a2a575b6040516361bfb47160e11b81526001600160a01b038b16600482015290608082602481875afa91821561093c5760c051948591869087956109f1575b506001600160a01b038b168214948515806109e9575b806109e1575b6109d15760049761085e6108759261085961082587615a10565b60405196879161083483614614565b82526040519061084382614614565b81526040519361085285614614565b8452615cd0565b615cd0565b9061087e670de0b6b3a76400008094819385615d09565b51049685615d09565b510496610949575b5050604051637f4e225760e11b81529660209288925082905afa94851561093c576108ef958b9160c0519161090d575b50156108f457826040926108df60206108d56108e7976108d596614be5565b5101918251614aa9565b90528b614be5565b90525b614bd6565b610769565b826080926108df60606108d56108e7976108d596614be5565b61092f915060203d602011610935575b6109278183614669565b810190614f87565b8e6108b6565b503d61091d565b6040513d60c051823e3d90fd5b906109a692948161096f602096999460405161096481614614565b60c051905251614a87565b8060405161097c81614614565b5204908082116109af5761099f9161099391614d04565b955b6101005190615d09565b5104614aa9565b93908e80610886565b6109be906109c4939492614d04565b90614aa9565b9061099f60c05195610995565b5050505050506108ef9150614bd6565b50831561080b565b508715610805565b9250509450610a1991925060803d608011610a23575b610a118183614669565b810190614cc5565b939295908e6107ef565b503d610a07565b8060c0515260e4602052604060c0512060405190610a47826145e2565b549060ff8216815261ffff8260081c169081602082015261ffff8360181c16604082015261ffff8360281c16606082015261ffff8360381c16608082015261ffff8360481c1660a082015281662386f26fc10000810204662386f26fc100001482151715610c2a57662386f26fc1000060405192610ac484614614565b02825261ffff60408201511680662386f26fc10000810204662386f26fc100001481151715610c2a57662386f26fc1000060405191610b0283614614565b02815261ffff6060830151169081662386f26fc10000810204662386f26fc100001482151715610c2a57662386f26fc1000060405192610b4184614614565b02825261ffff6080840151169283662386f26fc10000810204662386f26fc100001484151715610c2a5760a061ffff91662386f26fc1000060405196610b8688614614565b0286520151169384662386f26fc10000810204662386f26fc100001485151715610c2a57662386f26fc1000060405195610bbf87614614565b02855260ff60405196610bd188614630565b16865260c051602087015260c051604087015260c051606087015260c051608087015260a086015260c085015260e0840152610100830152610120820152610c19828a614be5565b52610c248189614be5565b506107b3565b634e487b7160e01b60c051526011600452602460c051fd5b5060c080516001600160a01b038616905260cc60205251604081205460081c60ff169285929188918891905b60ff821660ff8516811015610e885760ff610c898286614be5565b51511615610e7e57610c9b9084614be5565b5190608082015180610e5b575b50604082015180610e38575b50608082015180610e15575b50604082015180610df2575b50610ce06020830151606084015190614aa9565b151580610dd7575b610d8f57815160ff168803610d25575060ff90915b1660ff8114610d0f5760010190610c6e565b634e487b7160e01b600052601160045260246000fd5b9194816080610d80610d8993610d7261099f610d5d61010060ff99015160c05190670de0b6b3a764000093849160208b015190615d09565b9061099f610120880151606089015190615d09565b60c052604084015190614aa9565b91015190614aa9565b94610cfd565b60a48260ff81511690602081015190606081015160806040830151920151926040519463f523ae3d60e01b865260048601526024850152604484015260648301526084820152fd5b50610deb6040830151608084015190614aa9565b1515610ce8565b610e08606084019182519060e086015191615c40565b6040850152905288610ccc565b610e2b606084019182519060e086015191615c40565b6080850152905288610cc0565b610e4e602084019182519060a086015191615c40565b6040850152905288610cb4565b610e71602084019182519060c086015191615c40565b6080850152905288610ca8565b509060ff90610cfd565b50858560c05181811160001461110f5750610ea59060c051614d04565b60c0526000905b6040830192835180151580611104575b6110c7575b5060808101918251801515806110bc575b61107f575b5083611061575b83611043575b60c051906001600160a01b03811615159081610fc9575b50610f4e92610f569592610f4692600014610f9b5761099f610f34670de0b6b3a7640000928361099f60c0870151602088015190615d09565b925b606060e082015191015190615d09565b945190614aa9565b905190614aa9565b90151580610f92575b610f8057610f6e576101405180f35b604051633a23d82560e01b8152600490fd5b604051633bcdab6b60e01b8152600490fd5b50801515610f5f565b50670de0b6b3a764000061099f610fc360a08401518361099f60c05192602088015190615d09565b92610f36565b604051637f4e225760e11b81529295929150602090829060049082906001600160a01b03165afa92831561103757610f5695610f4e94610f4693600091611018575b5015925092955092610efb565b611031915060203d602011610935576109278183614669565b8961100b565b6040513d6000823e3d90fd5b61105a606083019485519061012085015191615c40565b9452610ee4565b611078602083019485519061010085015191615c40565b9452610ede565b60c051818111156110a7575050611099835160c051614d04565b60c052600083525b85610ed7565b6110b091614d04565b8352600060c0526110a1565b5060c0511515610ed2565b60c051818111156110ef5750506110e1845160c051614d04565b60c052600084525b84610ec1565b6110f891614d04565b8452600060c0526110e9565b5060c0511515610ebc565b61111891614d04565b90600060c052610eac565b84546001600160a01b0316835260019485019488945060209093019201610750565b602090611150615bb2565b82828701015201610701565b6040516308f7a6e360e31b81526020816004816001600160a01b0387165afa80156111f15761014051906111b8575b61119a91506101005190614aa9565b10156111a657826106b0565b6040516353977d1f60e01b8152600490fd5b506020813d6020116111e9575b816111d260209383614669565b810103126111e45761119a905161118b565b600080fd5b3d91506111c5565b6040513d61014051823e3d90fd5b6001600160a01b03811633036112765733610140515260cc60205260ff60406101405120541615610327576112348233614bf9565b60018060a01b038116610140515260cc6020526001604061014051200160018060a01b03831660005260205261127160ff60406000205416614ce7565b610683565b6040516318e2bacb60e11b8152600490fd5b60405163095865a360e11b8152600490fd5b3461027a57602036600319011261027a5760ff6112b56144a5565b16610140515260e460205260c060406101405120546040519060ff8116825261ffff90818160081c166020840152818160181c166040840152818160281c166060840152818160381c16608084015260481c1660a0820152f35b3461027a57604036600319011261027a576102e560043561132e61444e565b90806101405152606560205261134d60016040610140512001546148e2565b614a11565b3461027a5761014051806003193601126102775760dd546040516001600160a01b039091168152602090f35b3461027a5761138c3661454f565b5050509060018060a01b038091169182610140515260209060cc825260ff6040610140512054161561032757821680610140515260cc825260ff604061014051205416156103275783610140515260e5825260ff604061014051205460181c166114ac57604051938285600481635fe3b56760e01b948582525afa9485156111f157610140519561148b575b50829060046040518094819382525afa9081156111f1578392610140519261145e575b50501691160361144c576101405180f35b604051630c73eb0560e01b8152600490fd5b61147d9250803d10611484575b6114758183614669565b810190615b93565b848061143b565b503d61146b565b839195506114a590823d8411611484576114758183614669565b9490611418565b6040516307f4077b60e11b8152600490fd5b3461027a5760c036600319011261027a576114d7614438565b6114df61444e565b906044356001600160a01b03811690036111e4576064356001600160a01b03811690036111e457608435916001600160a01b03831683036111e45760a4356001600160a01b03811681036111e45761014051549160ff8360081c16159485809661178a575b8015611773575b15611717577ff261845a790fe29bbd6631e2ca4a5bdc83e6eed7c3271d9590d97287e00e912394602094610140519088600160ff198316178355611706575b508052606585526101405160408082206001600160a01b0384166000908152908852205460ff16156116a8575b505060d180546001600160a01b039384166001600160a01b03199182161790915560da80546044358516908316811790915560de80546064359095169483168517905560408051918252602082019490945290927f4f813296278c4a6ff473beaa88063942b681c61aa1f935692e19c41a02dde62a91a160dd80546001600160a01b0392831690841617905560db8054939091169183168217905560405161014051909216178152a161166b576101405180f35b6101405161ff001981541690557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a16102e5565b8052606585526101405160408082206001600160a01b039390931660008181529388529220805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a486806115b7565b61ffff19166101011781558861158a565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561154b5750600160ff85161461154b565b50600160ff851610611544565b3461027a5760208060031936011261027a5760043567ffffffffffffffff811161027a573660238201121561027a578060040135906117d58261468b565b916117e36040519384614669565b80835260248484019160051b8301019136831161027a57602401905b82821061186157505050805190610140515b82811061181f576101405180f35b6001600160a01b036118318284614be5565b51169081610140515260cc855260ff60406101405120541615610327576108ea61185c923390614bf9565b611811565b81356001600160a01b03811681036111e45781529084019084016117ff565b3461027a5761188e36614464565b91905060018060a01b03831680610140515260e560205260ff604061014051205460101c166118da57610140515260cc60205260ff60406101405120541615610327576102e592615053565b60405163cd1fda9f60e01b8152600490fd5b3461027a576101405180600319360112610277576040518060cd549182815260208091019260cd61014051527f83978b4c69c48dd978ab43fe30f077615294f938fb7f936d9eb340e51ea7db2e9161014051905b828210611967576119638561195781890382614669565b6040519182918261459e565b0390f35b83546001600160a01b031686529485019460019384019390910190611940565b3461027a5760208060031936011261027a576001600160a01b03806119aa614438565b16610140515260cb8252604061014051209160405180928285549283815201946101405152610140519280842093915b8383106119f15761196386611957818a0382614669565b84548116875295810195600194850194909201916119da565b3461027a5761014051806003193601126102775760e6546040805161ffff83168152601083901c63ffffffff9081166020830152603084901c811692820192909252605083901c909116606082015260709190911c60ff16608082015260a090f35b3461027a5760a036600319011261027a57611a856146d4565b61ffff611a90614f9f565b1660e6549065ffffffff0000611aa4614fd2565b60101b1669ffffffff000000000000611abb614fe5565b60301b169063ffffffff60501b611ad0614ff8565b60501b169260ff60701b611ae261500b565b60701b16946001600160781b031916171717171760e6557f14afda479c9cdb1b364268a7f4859305595991e335158f423d3f30ece9565fa1611b22614f9f565b611b2a614fd2565b90611b86611b36614fe5565b611b3e614ff8565b611b4661500b565b9160405195869586939260809360ff939796929761ffff60a088019916875263ffffffff9283809216602089015216604087015216606085015216910152565b0390a16101405180f35b3461027a57610140518060031936011261027757602090604051908152f35b3461027a57602036600319011261027a576020611bd2611bcd614438565b615a10565b604051908152f35b3461027a57604036600319011261027a57611bf361444e565b60043561014051526065602052604061014051209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b3461027a5760c036600319011261027a57611c446144a5565b6024359061ffff918281168091036111e457604435928084168094036111e457606435918183168093036111e457608435908282168092036111e45760a4359283168093036111e4577f9fda7abee4eda89d92494b6c6eaa73afc7d274ff49f02c4900e35dfbdb64910f9260a092611cba6146d4565b60405195611cc7876145e2565b60ff881698878a80995260208101868152604082018381526060830185815260808401908782528a8501928984528d610140515260e460205260ff604061014051209651166affff00000000000000000068ffff0000000000000066ffff000000000064ffff00000062ffff008b549a5160081b16955160181b16955160281b16955160381b16955160481b16956affffffffffffffffffffff191617171717171790556040519485526020850152604084015260608301526080820152a260e6549160ff8360701c1610611d9d576101405180f35b60ff60701b1990911660709190911b60ff60701b161760e65580806102e5565b3461027a57602036600319011261027a576001600160a01b03611dde614438565b16610140515260cc60205260606040610140512060ff600282549201541660ff604051928181161515845260081c16602083015215156040820152f35b3461027a57610140518060031936011261027757606060e7546040519061ffff908181168352818160101c16602084015260201c166040820152f35b3461027a57602036600319011261027a57611e70614438565b611e786146d4565b6001600160a01b03168015611ecd576020817f2d4667ae407248b3da2da6f92d6dc3c9d3529d53fbdc7d476d540d68bb29d02d926001600160601b0360a01b60dd54161760dd55604051908152a16101405180f35b6040516342bcdf7f60e11b8152600490fd5b3461027a57602036600319011261027a576001600160a01b03611f00614438565b16610140515260e560205260c06040610140512060018154916001600160781b03918291015416906040519260ff81161515845260ff8160081c161515602085015260ff8160101c161515604085015260ff8160181c161515606085015260201c16608083015260a0820152f35b3461027a5761014051806003193601126102775760db546040516001600160a01b039091168152602090f35b3461027a57611fa83661454f565b93915061016052806101205260018060a01b0316610140515260cc6020526101405160ff60408220541615918215612c99575b5050612c87576040516395dd919360e01b8152610160516001600160a01b0390811660048301526101205160209183916024918391165afa9081156111f1576101405191612c55575b5061203f63ffffffff60e654806101805260501c1642614d04565b60018060a01b036101605116610140515260e260205265ffffffffffff6040610140512054161015612c4357604051630c71782360e41b815261012051602090829060049082906001600160a01b03165afa9081156111f1576101405191612c24575b50156120c657106120b4576101405180f35b60405163e46c155960e01b8152600490fd5b906120cf615bb2565b506101805160ff6001818360701c160111610d0f576120fb60ff6001816121089460701c16011661468b565b604051806101c052614669565b60ff6001816101805160701c1601166101c05152601f1961213660ff6001816101805160701c16011661468b565b0160005b818110612c0a575050600060e052600090600060a052612158615bb2565b60a05260018060a01b03610160511660e0515260cb602052604060e0512060405190816101e0526020815492838152019060e0515260e0519160208320925b818110612beb5750506121b291506101e05180910390614669565b60e0515b6101e051805182101561265f576001600160a01b03906121d7908390614be5565b5116908160e0515260cc602052604060e051205460089060ff6122018183851c166101c051614be5565b51511615612433575b6040516361bfb47160e11b8152610160516001600160a01b0316600482015291608083602481885afa92831561234b5760e0519586918790889661240a575b50610120516001600160a01b0316821495861580612402575b806123fa575b6123e9576004986122826108759261085961082587615a10565b90612299670de0b6b3a76400008094819385615d09565b510497612358575b5050604051637f4e225760e11b81529760209289925082905afa801561234b576123049660e0519161232c575b50156123095760ff83836108d5936122f760206108d5866108e79a60409a1c166101c051614be5565b90521c166101c051614be5565b6121b6565b60ff83836108d5936122f760606108d5866108e79a60809a1c166101c051614be5565b612345915060203d602011610935576109278183614669565b8a6122ce565b6040513d60e051823e3d90fd5b906123c492948161237e6020969a9460405161237381614614565b60e051905251614a87565b8060405161238b81614614565b5204908082116123cd576123b0916123a291614d04565b955b60405161237381614614565b806040516123bd81614614565b5204614aa9565b94908b806122a1565b6109be906123dc939492614d04565b906123b060e051956123a4565b505050505050506123049150614bd6565b508315612268565b508815612262565b925050955061242991935060803d608011610a2357610a118183614669565b949296908b612249565b60ff81831c1660e0515260e4602052604060e0512060405190612455826145e2565b549060ff8216815261ffff82851c169081602082015261ffff8360181c16604082015261ffff8360281c16606082015261ffff8360381c16608082015261ffff8360481c1660a082015281662386f26fc10000810204662386f26fc10000148215171561264757662386f26fc10000604051926124d184614614565b02825261ffff60408201511680662386f26fc10000810204662386f26fc10000148115171561264757662386f26fc100006040519161250f83614614565b02815261ffff6060830151169081662386f26fc10000810204662386f26fc10000148215171561264757662386f26fc100006040519261254e84614614565b02825261ffff6080840151169283662386f26fc10000810204662386f26fc1000014841517156126475760a061ffff91662386f26fc100006040519661259388614614565b0286520151169384662386f26fc10000810204662386f26fc10000148515171561264757662386f26fc10000604051956125cc87614614565b02855260ff604051966125de88614630565b16865260e051602087015260e051604087015260e051606087015260e051608087015260a086015260c085015260e084015261010083015261012082015261262e60ff83851c166101c051614be5565b5261264160ff82841c166101c051614be5565b5061220a565b634e487b7160e01b60e051526011600452602460e051fd5b5050919060018060a01b03610120511660e0515260cc60205260e0519260ff604085205460081c16935b60ff6001816101805160701c16011660ff82169081101561287e5760ff6126b3826101c051614be5565b51511615612875576126c8906101c051614be5565b51608081015180612852575b5060408101518061282f575b5060808101518061280c575b506040810151806127e9575b5061270c6020820151606083015190614aa9565b1515806127ce575b61278657805160ff16860361273b5760a05260ff905b1660ff8114610d0f57600101612689565b806080610d8060ff949661277261099f610d5d61010061278098015160e05190670de0b6b3a764000093849160208b015190615d09565b60e052604084015190614aa9565b9261272a565b8060ff60a492511690602081015190606081015160806040830151920151926040519463f523ae3d60e01b865260048601526024850152604484015260648301526084820152fd5b506127e26040820151608083015190614aa9565b1515612714565b6127ff606083019182519060e085015191615c40565b60408401529052866126f8565b612822606083019182519060e085015191615c40565b60808401529052866126ec565b612845602083019182519060a085015191615c40565b60408401529052866126e0565b612868602083019182519060c085015191615c40565b60808401529052866126d4565b5060ff9061272a565b505091925060e051818111600014612bd8575061289d9060e051614d04565b60e05260005b604060a051015180151580612bcd575b612b81575b50608060a051015180151580612b76575b612b2a575b5080612b0a575b80612aea575b60e051610120519091906001600160a01b0316151580612a8d575b6060929015612a595761295861294a61292b61296593670de0b6b3a764000061099f60a051602060c082015191015190615d09565b60a05161099f60e0820151670de0b6b3a7640000988993015190615d09565b92604060a051015190614aa9565b608060a051015190614aa9565b90151580612a50575b610f805715612a3e5761298361012051615a10565b9061ffff6101805116662386f26fc100009081810290808204831481151715612a24576d04ee2d6d415b85acef810000000002918183041490151715612a24576129da826129d2878294614a96565b048094614a96565b040463ffffffff6101805160101c1611600014612a0a575011156102e55760405163e46c155960e01b8152600490fd5b915011156102e55760405163e46c155960e01b8152600490fd5b634e487b7160e01b61014051526011600452602461014051fd5b60405163095bf33360e01b8152600490fd5b5080151561296e565b5061296561295861294a612a8860a051670de0b6b3a764000061099f60a0830151602060e05194015190615d09565b61292b565b5060405191637f4e225760e11b835260208360048160018060a01b0361012051165afa801561103757606093600091612acb575b50159092506128f6565b612ae4915060203d602011610935576109278183614669565b86612ac1565b612b0360a0516060810192610120845192015191615c40565b91526128db565b612b2360a0516020810192610100845192015191615c40565b91526128d5565b60e05181811115612b5c575050612b49608060a051015160e051614d04565b60e0526000608060a05101525b836128ce565b612b6591614d04565b608060a0510152600060e052612b56565b5060e05115156128c9565b60e05181811115612bb3575050612ba0604060a051015160e051614d04565b60e0526000604060a05101525b836128b8565b612bbc91614d04565b604060a0510152600060e052612bad565b5060e05115156128b3565b612be191614d04565b600060e0526128a3565b83546001600160a01b0316835260019384019360209093019201612197565b602090612c15615bb2565b82826101c0510101520161213a565b612c3d915060203d602011610935576109278183614669565b836120a2565b60405163d26a7d5f60e01b8152600490fd5b90506020813d602011612c7f575b81612c7060209383614669565b810103126111e4575182612024565b3d9150612c63565b6040516334b04fe360e11b8152600490fd5b6001600160a01b031690525061014051604090205460ff16158280611fdb565b3461027a5760208060031936011261027a57612cd3614438565b612cdb6146d4565b6001600160a01b03908116908115611ecd577f0613b6ee6a04f0d09f390e4d9318894b9f6ac7fd83897cd8d18896ba579c401e928160d55416927f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a8061014051526065808452612d5460016040610140512001546148e2565b81600052808452604060002086600052845260ff60406000205416612e48575b826001600160601b0360a01b60d554161760d555816101405152808452612da460016040610140512001546148e2565b816101405152808452610140516040812084600052855260ff6040600020541615612df5575b60d554604080516001600160a01b038a81168252928916909216602083015289919081908101611b86565b82905283526101405192604084209083600052526040600020600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a48380808080612dca565b816000528084526040600020866000528452604060002060ff1981541690553386837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b600080a4612d74565b3461027a57606036600319011261027a57612ead6146d4565b7f2698927ee5b9013fbd186eaff76d8f2c53d81f992f036c5a8e0ebcc3b9e34c27606061ffff80612edc614f9f565b1660e7549063ffff0000612eee614fb0565b60101b169065ffff00000000612f02614fc1565b60201b169265ffffffffffff191617171760e755612f1e614f9f565b90612f27614fb0565b81612f30614fc1565b918160405195168552166020840152166040820152a16101405180f35b3461027a57602036600319011261027a57612f66614438565b612f6e6146d4565b6001600160a01b03168015611ecd576020817ff261845a790fe29bbd6631e2ca4a5bdc83e6eed7c3271d9590d97287e00e9123926001600160601b0360a01b60db54161760db55604051908152a16101405180f35b3461027a57602036600319011261027a5760043560cd5481101561027a57612fec6020916144ea565b905460405160039290921b1c6001600160a01b03168152f35b3461027a57613013366144b5565b60018060a09493941b038092169182610140515260209360cc855260ff604061014051205416156103275783610140515260e5855260ff604061014051205416613235576040516361bfb47160e11b81529181166004830181905291608081602481885afa80156111f15761014051918291613213575b5085610140515260cc87526001604061014051200184600052875260ff6040600020541615918261320a575b5081613201575b50613192575b505081610140515260e583526001600160781b0390816001604061014051200154161515938461310f575b505050506130fd576101405180f35b6040516354db2d5d60e11b8152600490fd5b90919293506040516318160ddd60e01b81528181600481885afa9081156111f1576101405191613164575b5060e59261314791614aa9565b9361014051525260016040610140512001541610818080806130ee565b90508181813d831161318b575b61317b8183614669565b810103126111e4575160e561313a565b503d613171565b8333036131ef5733610140515260cc855260ff60406101405120541615610327576131bd9033614bf9565b82610140515260cc8452600160406101405120019060005283526131e860ff60406000205416614ce7565b83806130c3565b60405163094d2b6d60e21b8152600490fd5b905015866130bd565b159150876130b6565b905061322d915060803d8111610a2357610a118183614669565b50508761308a565b604051636be9245d60e11b8152600490fd5b3461027a57608036600319011261027a57613260614438565b61326861444e565b613270615bb2565b50600160ff60e65460701c1601806101a05260ff8111610d0f5760ff613296911661468b565b906132a46040519283614669565b60ff6101a051168252601f196132bf60ff6101a0511661468b565b0160005b818110613bba57505060006080526000916132dc615bb2565b60018060a01b0385166080515260cb6020526040608051209060405180836020829554938481520190608051526080519260208420935b818110613b9857505061332892500383614669565b6080515b825181101561378a576001600160a01b036133478285614be5565b511690816080515260cc6020526040608051205460089060ff61336e8183851c1689614be5565b51511615613564575b6040516361bfb47160e11b81526001600160a01b038b16600482015291608083602481885afa9283156134ae576080519586918790889661353b575b506001600160a01b038c16821495861580613533575b8061352b575b61351a576004986133e96108759261085961082587615a10565b90613400670de0b6b3a76400008094819385615d09565b5104976134bb575b5050604051637f4e225760e11b81529760209289925082905afa9586156134ae57613469968a916080519161348f575b501561346e5783836108d59361345f60206108d560ff96876108e79b60409b1c1690614be5565b90521c1689614be5565b61332c565b83836108d59361345f60606108d560ff96876108e79b60809b1c1690614be5565b6134a8915060203d602011610935576109278183614669565b8e613438565b6040513d608051823e3d90fd5b906134f59294816134d36020969a9460443590615d09565b5104908082116134fe5761099f916134ea91614d04565b955b60643590615d09565b94908e80613408565b6109be9061350d939492614d04565b9061099f608051956134ec565b505050505050506134699150614bd6565b5083156133cf565b5088156133c9565b925050955061355a91935060803d608011610a2357610a118183614669565b949296908e6133b3565b60ff81831c166080515260e460205260406080512060405190613586826145e2565b549060ff8216815261ffff82851c169081602082015261ffff8360181c16604082015261ffff8360281c16606082015261ffff8360381c16608082015261ffff8360481c1660a082015281662386f26fc10000810204662386f26fc10000148215171561377257662386f26fc100006040519261360284614614565b02825261ffff60408201511680662386f26fc10000810204662386f26fc10000148115171561377257662386f26fc100006040519161364083614614565b02815261ffff6060830151169081662386f26fc10000810204662386f26fc10000148215171561377257662386f26fc100006040519261367f84614614565b02825261ffff6080840151169283662386f26fc10000810204662386f26fc1000014841517156137725760a061ffff91662386f26fc10000604051966136c488614614565b0286520151169384662386f26fc10000810204662386f26fc10000148515171561377257662386f26fc10000604051956136fd87614614565b02855260ff6040519661370f88614630565b168652608051602087015260805160408701526080516060870152608051608087015260a086015260c085015260e084015261010083015261012082015261375c60ff83851c1689614be5565b5261376c60ff82841c1688614be5565b50613377565b634e487b7160e01b6080515260116004526024608051fd5b608080516001600160a01b038716905260cc60205251604081205460081c60ff1690878787865b60ff851660ff6101a051168110156139505760ff6137cf8285614be5565b51511615613946576137e19083614be5565b5190608082015180613923575b50604082015180613900575b506080820151806138dd575b506040820151806138ba575b506138266020830151606084015190614aa9565b15158061389f575b610d8f57815160ff168703613855575060ff90945b1660ff8114610d0f57600101936137b1565b9493816080610d806138999361388c61099f610d5d61010060ff990151865190670de0b6b3a764000093849160208b015190615d09565b8352604084015190614aa9565b93613843565b506138b36040830151608084015190614aa9565b151561382e565b6138d0606084019182519060e086015191615c40565b6040850152905287613812565b6138f3606084019182519060e086015191615c40565b6080850152905287613806565b613916602084019182519060a086015191615c40565b60408501529052876137fa565b613939602084019182519060c086015191615c40565b60808501529052876137ee565b509360ff90613843565b508284608051818111600014613b84575061396d90608051614d04565b6080526000905b6040830192835180151580613b79575b613b3c575b506080810191825180151580613b31575b613af4575b5083613ad6575b83613ab8575b608051906001600160a01b03811615159081613a4a575b50610f4e926139fc9592610f4692600014613a225761099f610f34670de0b6b3a7640000928361099f60c0870151602088015190615d09565b9080151580613a19575b610f805760409182519182526020820152f35b50811515613a06565b50670de0b6b3a764000061099f610fc360a08401518361099f60805192602088015190615d09565b604051637f4e225760e11b81529295929150602090829060049082906001600160a01b03165afa928315611037576139fc95610f4e94610f4693600091613a99575b50159250929550926139c3565b613ab2915060203d602011610935576109278183614669565b89613a8c565b613acf606083019485519061012085015191615c40565b94526139ac565b613aed602083019485519061010085015191615c40565b94526139a6565b60805181811115613b1c575050613b0e8351608051614d04565b608052600083525b8561399f565b613b2591614d04565b83526000608052613b16565b50608051151561399a565b60805181811115613b64575050613b568451608051614d04565b608052600084525b84613989565b613b6d91614d04565b84526000608052613b5e565b506080511515613984565b613b8d91614d04565b906000608052613974565b84546001600160a01b0316835260019485019487945060209093019201613313565b602090613bc5615bb2565b828287010152016132c3565b3461027a57608036600319011261027a57613bea614438565b6024359060ff82169081830361027a576044356001600160781b0391828216820361027a576064359283169081840361027a57613c256146d4565b60018060a01b03908181169687610140515260209660cc885260ff604061014051205416613e735715613ea257604051637f4e225760e11b815287816004818c5afa80156111f157613e85575b50813b156105625787610140515260cc875261014051906001604083209161ff0083549160081b169061ffff1916171790559060cd54915b828110613e4d5750600160401b821015613e2157613cd1826001613cf0940160cd556144ea565b90919082549060031b9160018060a01b03809116831b921b1916179055565b640100000000431015613e3b5760da5416803b1561027a5760405190633ace041560e11b825286600483015263ffffffff43166024830152816044816101405180945af180156111f157613e08575b5060e5847fcf583bb0c569eb967f806b11601c4cb93c10310485c67add5f8362c2f212321f7f1f4350c8add28a86ccd16ab5ca63fc8dda2858c65a32b7b4b7c281300e14da1296604051898152a186610140515252600160406101405120613dca848290640100000000600160981b0382549160201b1690640100000000600160981b031916179055565b0180546effffffffffffffffffffffffffffff1916919091179055604080516001600160781b03928316815292909116602083015290a26101405180f35b67ffffffffffffffff8111613e215760405260e5613d3f565b634e487b7160e01b61014051526041600452602461014051fd5b604051631391e11b60e21b8152600490fd5b8884613e58836144ea565b90549060031b1c1614613e7357613e6e90614bd6565b613caa565b604051634d5eeb4960e01b8152600490fd5b613e9b90883d8a11610935576109278183614669565b5088613c72565b604051631b47388560e11b8152600490fd5b3461027a57604036600319011261027a57613ecd61444e565b336001600160a01b03821603613ee9576102e590600435614a11565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b3461027a5761014051806003193601126102775760da546040516001600160a01b039091168152602090f35b3461027a5761014051806003193601126102775760de546040516001600160a01b039091168152602090f35b3461027a57604036600319011261027a57600435613fba61444e565b8161014051526065602052613fd860016040610140512001546148e2565b81610140515260656020526101405190604082209060018060a01b03168092526020526101405160ff60408220541615614013576101405180f35b82905260656020526101405181604082209152602052610140519160408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a48080806102e5565b3461027a57602036600319011261027a576001600160a01b0361408b614438565b16610140515260e2602052602065ffffffffffff604061014051205416604051908152f35b3461027a57602036600319011261027a5760ff6140cb6144a5565b6140d36146d4565b1680610140515260e460205261014051908160408120557f43d0e400379e99c6a1d618a8b7110cc3558e16380afb06f6b69f5da65c17a7d88280a280f35b3461027a5761014051806003193601126102775760d5546040516001600160a01b039091168152602090f35b3461027a57602036600319011261027a576004356101405152606560205260206001604061014051200154604051908152f35b3461027a5761417e36614464565b50505060018060a01b0316610140515260cc60205260ff60406101405120541615610327576101405180f35b3461027a57602036600319011261027a576141c3614438565b6141cb6146d4565b6001600160a01b03168015611ecd576001600160601b0360a01b60d154161760d1556101405180f35b3461027a5760a036600319011261027a5761420d614438565b6024359081151580920361027a5760443580151580910361027a5760643580151580910361027a576084359081151580920361027a576101405180526020926065845261014051604081209033905284526101405160ff604082205416159081614318575b50614306577f6cdba85bf8c0449c45d7967a9c1ef7e6f69aabd25eb273e4b6f184f9e26477a69560a095600180881b03169485610140515260e5815260406101405120805463ff0000008760181b169062ff00008760101b169060ff86169063ffffffff19161761ff008760081b161717179055604051958652850152604084015260608301526080820152a16101405180f35b604051630e8e849b60e41b8152600490fd5b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a91505260658452610140516040812090339052845260ff6040610140512054161587614272565b3461027a57604036600319011261027a57614379614438565b33610140515260cc60205260ff604061014051205416156103275760018060a01b0316610140515260e2602052610140516040812065ffffffffffff421665ffffffffffff1982541617905580f35b3461027a57602036600319011261027a5760043563ffffffff60e01b811680910361027a57602090637965db0b60e01b811490811561440d575b506040519015158152f35b6301ffc9a760e01b14905082614402565b346111e45760003660031901126111e45780600160209252f35b600435906001600160a01b03821682036111e457565b602435906001600160a01b03821682036111e457565b60809060031901126111e4576001600160a01b0360043581811681036111e4579160243582811681036111e4579160443590811681036111e4579060643590565b6004359060ff821682036111e457565b60609060031901126111e4576001600160a01b039060043582811681036111e4579160243590811681036111e4579060443590565b60cd548110156145215760cd6000527f83978b4c69c48dd978ab43fe30f077615294f938fb7f936d9eb340e51ea7db2e0190600090565b634e487b7160e01b600052603260045260246000fd5b80548210156145215760005260206000200190600090565b60a09060031901126111e4576001600160a01b039060043582811681036111e4579160243581811681036111e4579160443582811681036111e4579160643590811681036111e4579060843590565b6020908160408183019282815285518094520193019160005b8281106145c5575050505090565b83516001600160a01b0316855293810193928101926001016145b7565b60c0810190811067ffffffffffffffff8211176145fe57604052565b634e487b7160e01b600052604160045260246000fd5b6020810190811067ffffffffffffffff8211176145fe57604052565b610140810190811067ffffffffffffffff8211176145fe57604052565b6080810190811067ffffffffffffffff8211176145fe57604052565b90601f8019910116810190811067ffffffffffffffff8211176145fe57604052565b67ffffffffffffffff81116145fe5760051b60200190565b9181601f840112156111e45782359167ffffffffffffffff83116111e4576020808501948460051b0101116111e457565b3360009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b60209081526040808320549092919060ff161561471757505050565b61472033614ac7565b83518361472c8261464d565b604282528382019460603687378251156148ce57603086538251906001918210156148ce5790607860218501536041915b8183116148605750505061481e57846147ec60486148109360449798519889916147dd8984019876020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a526147b4815180928d6037890191016149ee565b8401917001034b99036b4b9b9b4b733903937b6329607d1b6037840152518093868401906149ee565b01036028810189520187614669565b5194859362461bcd60e51b85526004850152518092816024860152858501906149ee565b601f01601f19168101030190fd5b60648386519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f811660108110156148ba576f181899199a1a9b1b9c1cb0b131b232b360811b901a6148908587614ab6565b5360041c9280156148a65760001901919061475d565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b6000818152602060658152604092838320338452825260ff84842054161561490a5750505050565b61491333614ac7565b908451906149208261464d565b604282528382019460603687378251156148ce57603086538251906001918210156148ce5790607860218501536041915b8183116149a85750505061481e57846147ec60486148109360449798519889916147dd8984019876020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a526147b4815180928d6037890191016149ee565b909192600f811660108110156148ba576f181899199a1a9b1b9c1cb0b131b232b360811b901a6149d88587614ab6565b5360041c9280156148a657600019019190614951565b60005b838110614a015750506000910152565b81810151838201526020016149f1565b906000918083526065602052604083209160018060a01b03169182845260205260ff604084205416614a4257505050565b8083526065602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b906001600092151715610d0f57565b81810292918115918404141715610d0f57565b91908201809211610d0f57565b908151811015614521570160200190565b604051906060820182811067ffffffffffffffff8211176145fe57604052602a82526020820160403682378251156145215760309053815160019081101561452157607860218401536029905b808211614b68575050614b245790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015614bc1576f181899199a1a9b1b9c1cb0b131b232b360811b901a614b978486614ab6565b5360041c918015614bac576000190190614b14565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fd5b6000198114610d0f5760010190565b80518210156145215760209160051b010190565b919060018060a01b0392600093808216855260cc60205260016040862001908316855260205260408420805460ff8116614cbd5760ff1916600117905560cb60205260408420805494600160401b861015614ca9575081613cd186614c859360017f3ab23ab0d51cccc0c3085aec51f99228625aa1a922b3a8ca89a26b0f2027a1a59899018155614537565b604080516001600160a01b039283168152929091166020830152819081015b0390a1565b634e487b7160e01b81526041600452602490fd5b505050509050565b91908260809103126111e4578151916020810151916060604083015192015190565b15614cee57565b634e487b7160e01b600052600160045260246000fd5b91908203918211610d0f57565b604080516361bfb47160e11b81523360048201526001600160a01b03838116939192909190608084602481885afa8015614f7c576000948591614f56575b50614f46578460005260209360cc855260ff82600020541615614f3557614d77903384615053565b8460005260cc845260019384826000200133600052815281600020805460ff811615614f2b5760ff1916905560cb8152816000209482519081968791848254948581520191600052846000209060005b86868210614f135750505050614ddf92500386614669565b845194859660005b888110614ee1575b505050614e03859660cb9394959610614ce7565b3360005252806000209283549460001995868101908111610d0f57614e5f9183614e30614e3a9389614537565b9390549289614537565b92909360031b1c169082549060031b9160018060a01b03809116831b921b1916179055565b8354938415614ecb577fe699a64c18b07ac5b7301aa273f36a2287239eb9501d81950672794afba29a0d95614ca4950191614e9a8383614537565b815460039190911b9290921b19909116905555516001600160a01b0390911681523360208201529081906040820190565b634e487b7160e01b600052603160045260246000fd5b8187614eed8386614be5565b511614614f0257614efd90614bd6565b614de7565b9650614e03915060cb905038614def565b83548b1685528b955090930192918101918101614dc7565b5050505050505050565b81516341554b6360e01b8152600490fd5b51631a4e452560e31b8152600490fd5b9050614f7191945060803d8111610a2357610a118183614669565b505093909338614d4f565b50513d6000823e3d90fd5b908160209103126111e4575180151581036111e45790565b60043561ffff811681036111e45790565b60243561ffff811681036111e45790565b60443561ffff811681036111e45790565b60243563ffffffff811681036111e45790565b60443563ffffffff811681036111e45790565b60643563ffffffff811681036111e45790565b60843560ff811681036111e45790565b91908110156145215760051b0190565b356001600160781b03811681036111e45790565b356001600160a01b03811681036111e45790565b90929181610220526102005260018060a01b031660005260cc602052600160406000200160018060a01b03831660005260205260ff6040600020541615615a0c5761509c615bb2565b50600160ff60e65460701c16019060ff8211610d0f576150be60ff831661468b565b906150cc6040519283614669565b60ff8316808352601f19906150e09061468b565b0160005b8181106159f557505060009060006150fa615bb2565b9060018060a01b03871660005260cb6020526040600020936040518086602082985493848152019060005260206000209260005b8181106159d357505061514392500386614669565b60005b85518110156155ae576001600160a01b036151618288614be5565b5116908160005260cc6020526040600020549160089260ff6151878183871c168c614be5565b515116156153a6575b6040516361bfb47160e11b81526001600160a01b038d16600482015293608085602481865afa9485156110375760009360009160009060009861537d575b50610220516001600160a01b031682141580615375575b8061536d575b61535d5761522a61521360049961085961520486615a10565b60405195869161083483614614565b96615233670de0b6b3a7640000809381938b615d09565b51049584615d09565b516102205191900497906001600160a01b031684146152f2575b5050604051637f4e225760e11b81529760209289925082905afa958615611037576152ad968d916000916152d3575b50156152b25783836108d5936152a360206108d560ff96876108e79b60409b1c1690614be5565b90521c168c614be5565b615146565b83836108d5936152a360606108d560ff96876108e79b60809b1c1690614be5565b6152ec915060203d602011610935576109278183614669565b3861527c565b9061533992948161530b6020969a946102005190615d09565b510490808211615342576123b09161532291614d04565b955b600060405161533281614614565b5251614a87565b9490388061524d565b6109be90615351939492614d04565b906123b0600095615324565b5050505050506152ad9150614bd6565b5082156151eb565b5085156151e5565b925050935061539c91955060803d608011610a2357610a118183614669565b96929490386151ce565b60ff81851c1660005260e46020526040600020604051906153c6826145e2565b549060ff8216815261ffff82871c169081602082015261ffff8360181c16604082015261ffff8360281c16606082015261ffff8360381c16608082015261ffff8360481c1660a082015281662386f26fc10000810204662386f26fc100001482151715610d0f57662386f26fc100006040519261544284614614565b02825261ffff60408201511680662386f26fc10000810204662386f26fc100001481151715610d0f57662386f26fc100006040519161548083614614565b02815261ffff6060830151169081662386f26fc10000810204662386f26fc100001482151715610d0f57662386f26fc10000604051926154bf84614614565b02825261ffff6080840151169283662386f26fc10000810204662386f26fc100001484151715610d0f5760a061ffff91662386f26fc100006040519661550488614614565b0286520151169384662386f26fc10000810204662386f26fc100001485151715610d0f57662386f26fc100006040519561553d87614614565b02855260ff6040519661554f88614630565b1686526000602087015260006040870152600060608701526000608087015260a086015260c085015260e084015261010083015261012082015261559860ff83871c168c614be5565b526155a860ff82861c168b614be5565b50615190565b50610220516001600160a01b0316600090815260cc602052604081205460081c60ff169850969195909450909290915b60ff871660ff85168110156157b05760ff6155f98286614be5565b515116156157a65761560b9084614be5565b519060808201805180615786575b506040830190815180615766575b50805180615746575b50815180615726575b506020840180516156506060870191825190614aa9565b151580615711575b6156d657855160ff168d0361568357505050505060ff90965b1660ff8114610d0f57600101956155de565b856156d0959c9b9261099f6156c8936101206156bd610f4e98999f61010060ff9d01519561099f670de0b6b3a76400009788925190615d09565b940151905190615d09565b985190614aa9565b95615671565b60a4928460ff8851169351925190519151926040519463f523ae3d60e01b865260048601526024850152604484015260648301526084820152fd5b5061571f8451845190614aa9565b1515615658565b61573c606086019182519060e088015191615c40565b8452905238615639565b61575c606086019182519060e088015191615c40565b8352905238615630565b61577c602086019182519060a088015191615c40565b8452905238615627565b61579c602085019182519060c087015191615c40565b8352905238615619565b509560ff90615671565b509550955050508181116000146159c257906157cb91614d04565b906000915b60408201928351801515806159b9575b615983575b50608083019182518015158061597a575b615947575b5081615929575b8161590b575b6102205181906001600160a01b031615158061588e575b94670de0b6b3a764000061099f610f4e9594610f4694615859996000146158755750610f34908361099f60c0870151602088015190615d09565b9015158061586c575b610f8057610f6e57565b50801515615862565b610fc391508361099f60a0870151602088015190615d09565b5060409291925194637f4e225760e11b865260208660048160018060a01b0361022051165afa80156110375761099f610f4e95610f4694670de0b6b3a7640000936158599a6000916158ec575b50159499509450949550505061581f565b615905915060203d602011610935576109278183614669565b386158db565b615922606085019283519061012087015191615c40565b9252615808565b615940602085019283519061010087015191615c40565b9252615802565b90818111156159685761595d9150835190614d04565b600083525b386157fb565b61597191614d04565b82526000615962565b508115156157f6565b9091818111156159a65761599a9150845190614d04565b90600084525b386157e5565b6159af91614d04565b83526000906159a0565b508215156157e0565b6159cb91614d04565b9060006157d0565b84546001600160a01b031683526001948501948a94506020909301920161512e565b602090615a00615bb2565b828287010152016150e4565b9050565b60018060a01b0380911690600090828252602060cc815260409160ff838520541615615b825790806024939260db541683519485809263fc57d4df60e01b82528960048301525afa928315615b78578493615b45575b5082948315615b345790808392600494519485809263313ce56760e01b82525afa918215615b2b57508491615aee575b5060ff91501660128110615aab575b50505090565b909193925060120360128111615ada57604d8111615ada57615ad2929350600a0a90614a96565b388080615aa5565b634e487b7160e01b84526011600452602484fd5b905081813d8311615b24575b615b048183614669565b81010312615b20575160ff81168103615b205760ff9038615a96565b8280fd5b503d615afa565b513d86823e3d90fd5b82516348fa9b2b60e11b8152600490fd5b9080935081813d8311615b71575b615b5d8183614669565b81010312615b6d57519138615a66565b8380fd5b503d615b53565b82513d86823e3d90fd5b82516334b04fe360e11b8152600490fd5b908160209103126111e457516001600160a01b03811681036111e45790565b604090815191615bc183614630565b6101208360009283825283602083015283818301528360608301528360808301528051615bed81614614565b84815260a08301528051615c0081614614565b84815260c08301528051615c1381614614565b84815260e08301528051615c2681614614565b8481526101008301525192615c3a84614614565b83520152565b90929180518015615cc7578290615c61670de0b6b3a7640000928392614a96565b0491818602918683041486151715610d0f5751918215615cb1576000908196808211600014615c9e5750505090615c9a92910490614d04565b9190565b925092509450615cae9250614d04565b90565b634e487b7160e01b600052601260045260246000fd5b50505060009190565b670de0b6b3a764000091615cf6916000604051615cec81614614565b5251905190614a96565b0460405190615d0482614614565b815290565b90615d23916000604051615d1c81614614565b5251614a96565b60405190615d048261461456fea26469706673582212204dfdecb5da381288c7a8e8827aa9d5b9eef48e988fdeb25777b2a87ef4b7d85f64736f6c63430008130033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [];
20
20
  readonly stateMutability: "nonpayable";
@@ -99,10 +99,6 @@ export declare class Comptroller__factory extends ContractFactory {
99
99
  readonly inputs: readonly [];
100
100
  readonly name: "ExpiredSignature";
101
101
  readonly type: "error";
102
- }, {
103
- readonly inputs: readonly [];
104
- readonly name: "GroupIdMismatch";
105
- readonly type: "error";
106
102
  }, {
107
103
  readonly inputs: readonly [];
108
104
  readonly name: "InsufficientCollateral";
@@ -119,6 +115,10 @@ export declare class Comptroller__factory extends ContractFactory {
119
115
  readonly inputs: readonly [];
120
116
  readonly name: "InvalidAmount";
121
117
  readonly type: "error";
118
+ }, {
119
+ readonly inputs: readonly [];
120
+ readonly name: "InvalidBlockNumber";
121
+ readonly type: "error";
122
122
  }, {
123
123
  readonly inputs: readonly [];
124
124
  readonly name: "InvalidCloseFactor";
@@ -239,18 +239,10 @@ export declare class Comptroller__factory extends ContractFactory {
239
239
  readonly inputs: readonly [];
240
240
  readonly name: "NotSuToken";
241
241
  readonly type: "error";
242
- }, {
243
- readonly inputs: readonly [];
244
- readonly name: "OneOfRedeemTokensAndRedeemAmountMustBeZero";
245
- readonly type: "error";
246
242
  }, {
247
243
  readonly inputs: readonly [];
248
244
  readonly name: "OnlyAdmin";
249
245
  readonly type: "error";
250
- }, {
251
- readonly inputs: readonly [];
252
- readonly name: "OnlyAdminOrCapper";
253
- readonly type: "error";
254
246
  }, {
255
247
  readonly inputs: readonly [];
256
248
  readonly name: "OnlyAdminOrPauser";
@@ -279,10 +271,6 @@ export declare class Comptroller__factory extends ContractFactory {
279
271
  readonly inputs: readonly [];
280
272
  readonly name: "ProtectedMint_OnlyAllowAssetsInTheSameGroup";
281
273
  readonly type: "error";
282
- }, {
283
- readonly inputs: readonly [];
284
- readonly name: "ProtocolIsPaused";
285
- readonly type: "error";
286
274
  }, {
287
275
  readonly inputs: readonly [];
288
276
  readonly name: "RedeemMarketNotFresh";
@@ -307,10 +295,6 @@ export declare class Comptroller__factory extends ContractFactory {
307
295
  readonly inputs: readonly [];
308
296
  readonly name: "ReduceReservesMarketNotFresh";
309
297
  readonly type: "error";
310
- }, {
311
- readonly inputs: readonly [];
312
- readonly name: "ReduceReservesOverflow";
313
- readonly type: "error";
314
298
  }, {
315
299
  readonly inputs: readonly [];
316
300
  readonly name: "RepayBorrowMarketNotFresh";
@@ -368,25 +352,9 @@ export declare class Comptroller__factory extends ContractFactory {
368
352
  readonly name: "UnderlyingBalanceError";
369
353
  readonly type: "error";
370
354
  }, {
371
- readonly anonymous: false;
372
- readonly inputs: readonly [{
373
- readonly indexed: false;
374
- readonly internalType: "address";
375
- readonly name: "cToken";
376
- readonly type: "address";
377
- }, {
378
- readonly indexed: false;
379
- readonly internalType: "string";
380
- readonly name: "action";
381
- readonly type: "string";
382
- }, {
383
- readonly indexed: false;
384
- readonly internalType: "bool";
385
- readonly name: "pauseState";
386
- readonly type: "bool";
387
- }];
388
- readonly name: "ActionPaused";
389
- readonly type: "event";
355
+ readonly inputs: readonly [];
356
+ readonly name: "ZeroAddressNotAllowed";
357
+ readonly type: "error";
390
358
  }, {
391
359
  readonly anonymous: false;
392
360
  readonly inputs: readonly [{
@@ -437,21 +405,6 @@ export declare class Comptroller__factory extends ContractFactory {
437
405
  }];
438
406
  readonly name: "MarketListed";
439
407
  readonly type: "event";
440
- }, {
441
- readonly anonymous: false;
442
- readonly inputs: readonly [{
443
- readonly indexed: false;
444
- readonly internalType: "address";
445
- readonly name: "oldAddress";
446
- readonly type: "address";
447
- }, {
448
- readonly indexed: false;
449
- readonly internalType: "address";
450
- readonly name: "newAddress";
451
- readonly type: "address";
452
- }];
453
- readonly name: "NewAccountLiquidity";
454
- readonly type: "event";
455
408
  }, {
456
409
  readonly anonymous: false;
457
410
  readonly inputs: readonly [{
@@ -459,41 +412,31 @@ export declare class Comptroller__factory extends ContractFactory {
459
412
  readonly internalType: "uint8";
460
413
  readonly name: "groupId";
461
414
  readonly type: "uint8";
462
- }, {
463
- readonly indexed: true;
464
- readonly internalType: "string";
465
- readonly name: "groupName";
466
- readonly type: "string";
467
415
  }, {
468
416
  readonly indexed: false;
469
- readonly internalType: "uint256";
470
- readonly name: "intraCRateMantissa";
471
- readonly type: "uint256";
472
- }, {
473
- readonly indexed: false;
474
- readonly internalType: "uint256";
475
- readonly name: "intraMintRateMantissa";
476
- readonly type: "uint256";
417
+ readonly internalType: "uint16";
418
+ readonly name: "intraCRatePercent";
419
+ readonly type: "uint16";
477
420
  }, {
478
421
  readonly indexed: false;
479
- readonly internalType: "uint256";
480
- readonly name: "intraSuRateMantissa";
481
- readonly type: "uint256";
422
+ readonly internalType: "uint16";
423
+ readonly name: "intraMintRatePercent";
424
+ readonly type: "uint16";
482
425
  }, {
483
426
  readonly indexed: false;
484
- readonly internalType: "uint256";
485
- readonly name: "interCRateMantissa";
486
- readonly type: "uint256";
427
+ readonly internalType: "uint16";
428
+ readonly name: "intraSuRatePercent";
429
+ readonly type: "uint16";
487
430
  }, {
488
431
  readonly indexed: false;
489
- readonly internalType: "uint256";
490
- readonly name: "interSuRateMantissa";
491
- readonly type: "uint256";
432
+ readonly internalType: "uint16";
433
+ readonly name: "interCRatePercent";
434
+ readonly type: "uint16";
492
435
  }, {
493
436
  readonly indexed: false;
494
- readonly internalType: "uint8";
495
- readonly name: "assetsGroupNum";
496
- readonly type: "uint8";
437
+ readonly internalType: "uint16";
438
+ readonly name: "interSuRatePercent";
439
+ readonly type: "uint16";
497
440
  }];
498
441
  readonly name: "NewAssetGroup";
499
442
  readonly type: "event";
@@ -506,136 +449,111 @@ export declare class Comptroller__factory extends ContractFactory {
506
449
  readonly type: "address";
507
450
  }, {
508
451
  readonly indexed: false;
509
- readonly internalType: "uint256";
510
- readonly name: "newBorrowCap";
511
- readonly type: "uint256";
512
- }];
513
- readonly name: "NewBorrowCap";
514
- readonly type: "event";
515
- }, {
516
- readonly anonymous: false;
517
- readonly inputs: readonly [{
518
- readonly indexed: false;
519
- readonly internalType: "address";
520
- readonly name: "oldBorrowCapGuardian";
521
- readonly type: "address";
522
- }, {
523
- readonly indexed: false;
524
- readonly internalType: "address";
525
- readonly name: "newBorrowCapGuardian";
526
- readonly type: "address";
527
- }];
528
- readonly name: "NewBorrowCapGuardian";
529
- readonly type: "event";
530
- }, {
531
- readonly anonymous: false;
532
- readonly inputs: readonly [{
533
- readonly indexed: false;
534
- readonly internalType: "uint256";
535
- readonly name: "oldCloseFactorMantissa";
536
- readonly type: "uint256";
452
+ readonly internalType: "uint120";
453
+ readonly name: "borrowCap";
454
+ readonly type: "uint120";
537
455
  }, {
538
456
  readonly indexed: false;
539
- readonly internalType: "uint256";
540
- readonly name: "newCloseFactorMantissa";
541
- readonly type: "uint256";
457
+ readonly internalType: "uint120";
458
+ readonly name: "supplyCap";
459
+ readonly type: "uint120";
542
460
  }];
543
- readonly name: "NewCloseFactor";
461
+ readonly name: "NewCap";
544
462
  readonly type: "event";
545
463
  }, {
546
464
  readonly anonymous: false;
547
465
  readonly inputs: readonly [{
548
466
  readonly indexed: false;
549
467
  readonly internalType: "address";
550
- readonly name: "oldAddress";
468
+ readonly name: "compLogic";
551
469
  readonly type: "address";
552
470
  }, {
553
471
  readonly indexed: false;
554
472
  readonly internalType: "address";
555
- readonly name: "newAddress";
473
+ readonly name: "redemptionManager";
556
474
  readonly type: "address";
557
475
  }];
558
- readonly name: "NewCompLogic";
476
+ readonly name: "NewDependencies";
559
477
  readonly type: "event";
560
478
  }, {
561
479
  readonly anonymous: false;
562
480
  readonly inputs: readonly [{
563
481
  readonly indexed: false;
564
- readonly internalType: "uint256";
565
- readonly name: "oldHeteroIncentive";
566
- readonly type: "uint256";
567
- }, {
568
- readonly indexed: false;
569
- readonly internalType: "uint256";
570
- readonly name: "newHeteroIncentive";
571
- readonly type: "uint256";
482
+ readonly internalType: "uint16";
483
+ readonly name: "closeFactorPercent";
484
+ readonly type: "uint16";
572
485
  }, {
573
486
  readonly indexed: false;
574
- readonly internalType: "uint256";
575
- readonly name: "oldHomoIncentive";
576
- readonly type: "uint256";
487
+ readonly internalType: "uint32";
488
+ readonly name: "minCloseValue";
489
+ readonly type: "uint32";
577
490
  }, {
578
491
  readonly indexed: false;
579
- readonly internalType: "uint256";
580
- readonly name: "newHomoIncentive";
581
- readonly type: "uint256";
492
+ readonly internalType: "uint32";
493
+ readonly name: "minSuBorrowValue";
494
+ readonly type: "uint32";
582
495
  }, {
583
496
  readonly indexed: false;
584
- readonly internalType: "uint256";
585
- readonly name: "oldSutokenIncentive";
586
- readonly type: "uint256";
497
+ readonly internalType: "uint32";
498
+ readonly name: "minWaitBeforeLiquidatable";
499
+ readonly type: "uint32";
587
500
  }, {
588
501
  readonly indexed: false;
589
- readonly internalType: "uint256";
590
- readonly name: "newSutokenIncentive";
591
- readonly type: "uint256";
502
+ readonly internalType: "uint8";
503
+ readonly name: "largestGroupId";
504
+ readonly type: "uint8";
592
505
  }];
593
- readonly name: "NewLiquidationIncentive";
506
+ readonly name: "NewGlobalConfig";
594
507
  readonly type: "event";
595
508
  }, {
596
509
  readonly anonymous: false;
597
510
  readonly inputs: readonly [{
598
511
  readonly indexed: false;
599
- readonly internalType: "uint256";
600
- readonly name: "oldValue";
601
- readonly type: "uint256";
512
+ readonly internalType: "uint16";
513
+ readonly name: "heteroPercent";
514
+ readonly type: "uint16";
602
515
  }, {
603
516
  readonly indexed: false;
604
- readonly internalType: "uint256";
605
- readonly name: "newValue";
606
- readonly type: "uint256";
517
+ readonly internalType: "uint64";
518
+ readonly name: "homoPercent";
519
+ readonly type: "uint64";
520
+ }, {
521
+ readonly indexed: false;
522
+ readonly internalType: "uint64";
523
+ readonly name: "sutokenPercent";
524
+ readonly type: "uint64";
607
525
  }];
608
- readonly name: "NewMinCloseValue";
526
+ readonly name: "NewLiquidationIncentive";
609
527
  readonly type: "event";
610
528
  }, {
611
529
  readonly anonymous: false;
612
530
  readonly inputs: readonly [{
613
531
  readonly indexed: false;
614
- readonly internalType: "uint256";
615
- readonly name: "oldValue";
616
- readonly type: "uint256";
532
+ readonly internalType: "address";
533
+ readonly name: "ctoken";
534
+ readonly type: "address";
617
535
  }, {
618
536
  readonly indexed: false;
619
- readonly internalType: "uint256";
620
- readonly name: "newValue";
621
- readonly type: "uint256";
622
- }];
623
- readonly name: "NewMinSuBorrowValue";
624
- readonly type: "event";
625
- }, {
626
- readonly anonymous: false;
627
- readonly inputs: readonly [{
537
+ readonly internalType: "bool";
538
+ readonly name: "mintPaused";
539
+ readonly type: "bool";
540
+ }, {
628
541
  readonly indexed: false;
629
- readonly internalType: "uint48";
630
- readonly name: "oldValue";
631
- readonly type: "uint48";
542
+ readonly internalType: "bool";
543
+ readonly name: "borrowPaused";
544
+ readonly type: "bool";
632
545
  }, {
633
546
  readonly indexed: false;
634
- readonly internalType: "uint48";
635
- readonly name: "newValue";
636
- readonly type: "uint48";
547
+ readonly internalType: "bool";
548
+ readonly name: "transferPaused";
549
+ readonly type: "bool";
550
+ }, {
551
+ readonly indexed: false;
552
+ readonly internalType: "bool";
553
+ readonly name: "seizePaused";
554
+ readonly type: "bool";
637
555
  }];
638
- readonly name: "NewMinWaitBeforeLiquidatable";
556
+ readonly name: "NewPause";
639
557
  readonly type: "event";
640
558
  }, {
641
559
  readonly anonymous: false;
@@ -657,12 +575,7 @@ export declare class Comptroller__factory extends ContractFactory {
657
575
  readonly inputs: readonly [{
658
576
  readonly indexed: false;
659
577
  readonly internalType: "address";
660
- readonly name: "oldPriceOracle";
661
- readonly type: "address";
662
- }, {
663
- readonly indexed: false;
664
- readonly internalType: "address";
665
- readonly name: "newPriceOracle";
578
+ readonly name: "priceOracle";
666
579
  readonly type: "address";
667
580
  }];
668
581
  readonly name: "NewPriceOracle";
@@ -672,15 +585,10 @@ export declare class Comptroller__factory extends ContractFactory {
672
585
  readonly inputs: readonly [{
673
586
  readonly indexed: false;
674
587
  readonly internalType: "address";
675
- readonly name: "oldAddress";
676
- readonly type: "address";
677
- }, {
678
- readonly indexed: false;
679
- readonly internalType: "address";
680
- readonly name: "newAddress";
588
+ readonly name: "timelock";
681
589
  readonly type: "address";
682
590
  }];
683
- readonly name: "NewRedemptionManager";
591
+ readonly name: "NewTimelock";
684
592
  readonly type: "event";
685
593
  }, {
686
594
  readonly anonymous: false;
@@ -689,11 +597,6 @@ export declare class Comptroller__factory extends ContractFactory {
689
597
  readonly internalType: "uint8";
690
598
  readonly name: "groupId";
691
599
  readonly type: "uint8";
692
- }, {
693
- readonly indexed: false;
694
- readonly internalType: "uint8";
695
- readonly name: "equalAssetsGroupNum";
696
- readonly type: "uint8";
697
600
  }];
698
601
  readonly name: "RemoveAssetGroup";
699
602
  readonly type: "event";
@@ -757,41 +660,6 @@ export declare class Comptroller__factory extends ContractFactory {
757
660
  }];
758
661
  readonly name: "RoleRevoked";
759
662
  readonly type: "event";
760
- }, {
761
- readonly anonymous: false;
762
- readonly inputs: readonly [{
763
- readonly indexed: true;
764
- readonly internalType: "address";
765
- readonly name: "cToken";
766
- readonly type: "address";
767
- }, {
768
- readonly indexed: false;
769
- readonly internalType: "uint256";
770
- readonly name: "amount";
771
- readonly type: "uint256";
772
- }];
773
- readonly name: "SetMaxSupply";
774
- readonly type: "event";
775
- }, {
776
- readonly inputs: readonly [];
777
- readonly name: "CAPPER_ROLE";
778
- readonly outputs: readonly [{
779
- readonly internalType: "bytes32";
780
- readonly name: "";
781
- readonly type: "bytes32";
782
- }];
783
- readonly stateMutability: "view";
784
- readonly type: "function";
785
- }, {
786
- readonly inputs: readonly [];
787
- readonly name: "COMP_LOGIC";
788
- readonly outputs: readonly [{
789
- readonly internalType: "bytes32";
790
- readonly name: "";
791
- readonly type: "bytes32";
792
- }];
793
- readonly stateMutability: "view";
794
- readonly type: "function";
795
663
  }, {
796
664
  readonly inputs: readonly [];
797
665
  readonly name: "DEFAULT_ADMIN_ROLE";
@@ -813,227 +681,141 @@ export declare class Comptroller__factory extends ContractFactory {
813
681
  readonly stateMutability: "view";
814
682
  readonly type: "function";
815
683
  }, {
816
- readonly inputs: readonly [];
817
- readonly name: "_borrowGuardianPaused";
818
- readonly outputs: readonly [{
684
+ readonly inputs: readonly [{
685
+ readonly internalType: "address";
686
+ readonly name: "cToken";
687
+ readonly type: "address";
688
+ }, {
819
689
  readonly internalType: "bool";
820
- readonly name: "";
690
+ readonly name: "mintPaused";
691
+ readonly type: "bool";
692
+ }, {
693
+ readonly internalType: "bool";
694
+ readonly name: "borrowPaused";
695
+ readonly type: "bool";
696
+ }, {
697
+ readonly internalType: "bool";
698
+ readonly name: "transferPaused";
699
+ readonly type: "bool";
700
+ }, {
701
+ readonly internalType: "bool";
702
+ readonly name: "seizePaused";
821
703
  readonly type: "bool";
822
704
  }];
823
- readonly stateMutability: "view";
705
+ readonly name: "_pause";
706
+ readonly outputs: readonly [];
707
+ readonly stateMutability: "nonpayable";
824
708
  readonly type: "function";
825
709
  }, {
826
- readonly inputs: readonly [];
827
- readonly name: "_getBorrowCapGuardian";
828
- readonly outputs: readonly [{
829
- readonly internalType: "address";
830
- readonly name: "";
831
- readonly type: "address";
710
+ readonly inputs: readonly [{
711
+ readonly internalType: "address[]";
712
+ readonly name: "cTokens";
713
+ readonly type: "address[]";
714
+ }, {
715
+ readonly internalType: "uint120[]";
716
+ readonly name: "borrowCaps";
717
+ readonly type: "uint120[]";
718
+ }, {
719
+ readonly internalType: "uint120[]";
720
+ readonly name: "supplyCaps";
721
+ readonly type: "uint120[]";
832
722
  }];
833
- readonly stateMutability: "view";
723
+ readonly name: "_setCaps";
724
+ readonly outputs: readonly [];
725
+ readonly stateMutability: "nonpayable";
834
726
  readonly type: "function";
835
727
  }, {
836
- readonly inputs: readonly [];
837
- readonly name: "_getPauseGuardian";
838
- readonly outputs: readonly [{
728
+ readonly inputs: readonly [{
729
+ readonly components: readonly [{
730
+ readonly internalType: "uint16";
731
+ readonly name: "closeFactorPercent";
732
+ readonly type: "uint16";
733
+ }, {
734
+ readonly internalType: "uint32";
735
+ readonly name: "minCloseValue";
736
+ readonly type: "uint32";
737
+ }, {
738
+ readonly internalType: "uint32";
739
+ readonly name: "minSuBorrowValue";
740
+ readonly type: "uint32";
741
+ }, {
742
+ readonly internalType: "uint32";
743
+ readonly name: "minWaitBeforeLiquidatable";
744
+ readonly type: "uint32";
745
+ }, {
746
+ readonly internalType: "uint8";
747
+ readonly name: "largestGroupId";
748
+ readonly type: "uint8";
749
+ }];
750
+ readonly internalType: "struct GlobalConfig";
751
+ readonly name: "globalConfig_";
752
+ readonly type: "tuple";
753
+ }];
754
+ readonly name: "_setGlobalConfig";
755
+ readonly outputs: readonly [];
756
+ readonly stateMutability: "nonpayable";
757
+ readonly type: "function";
758
+ }, {
759
+ readonly inputs: readonly [{
839
760
  readonly internalType: "address";
840
- readonly name: "";
761
+ readonly name: "_governanceToken";
841
762
  readonly type: "address";
842
763
  }];
843
- readonly stateMutability: "view";
764
+ readonly name: "_setGovTokenAddress";
765
+ readonly outputs: readonly [];
766
+ readonly stateMutability: "nonpayable";
844
767
  readonly type: "function";
845
768
  }, {
846
- readonly inputs: readonly [];
847
- readonly name: "_mintGuardianPaused";
848
- readonly outputs: readonly [{
849
- readonly internalType: "bool";
850
- readonly name: "";
851
- readonly type: "bool";
769
+ readonly inputs: readonly [{
770
+ readonly components: readonly [{
771
+ readonly internalType: "uint16";
772
+ readonly name: "heteroPercent";
773
+ readonly type: "uint16";
774
+ }, {
775
+ readonly internalType: "uint16";
776
+ readonly name: "homoPercent";
777
+ readonly type: "uint16";
778
+ }, {
779
+ readonly internalType: "uint16";
780
+ readonly name: "sutokenPercent";
781
+ readonly type: "uint16";
782
+ }];
783
+ readonly internalType: "struct LiquidationIncentive";
784
+ readonly name: "liquidationIncentive_";
785
+ readonly type: "tuple";
852
786
  }];
853
- readonly stateMutability: "view";
787
+ readonly name: "_setLiquidationIncentive";
788
+ readonly outputs: readonly [];
789
+ readonly stateMutability: "nonpayable";
854
790
  readonly type: "function";
855
791
  }, {
856
792
  readonly inputs: readonly [{
857
793
  readonly internalType: "address";
858
- readonly name: "newBorrowCapGuardian";
794
+ readonly name: "newPauseGuardian";
859
795
  readonly type: "address";
860
796
  }];
861
- readonly name: "_setBorrowCapGuardian";
797
+ readonly name: "_setPauseGuardian";
862
798
  readonly outputs: readonly [];
863
799
  readonly stateMutability: "nonpayable";
864
800
  readonly type: "function";
865
801
  }, {
866
802
  readonly inputs: readonly [{
867
- readonly internalType: "contract ICToken";
868
- readonly name: "cToken";
803
+ readonly internalType: "address";
804
+ readonly name: "_oracle";
869
805
  readonly type: "address";
870
- }, {
871
- readonly internalType: "bool";
872
- readonly name: "state";
873
- readonly type: "bool";
874
- }];
875
- readonly name: "_setBorrowPaused";
876
- readonly outputs: readonly [{
877
- readonly internalType: "bool";
878
- readonly name: "";
879
- readonly type: "bool";
880
- }];
881
- readonly stateMutability: "nonpayable";
882
- readonly type: "function";
883
- }, {
884
- readonly inputs: readonly [{
885
- readonly internalType: "uint256";
886
- readonly name: "newCloseFactorMantissa";
887
- readonly type: "uint256";
888
- }];
889
- readonly name: "_setCloseFactor";
890
- readonly outputs: readonly [{
891
- readonly internalType: "uint256";
892
- readonly name: "";
893
- readonly type: "uint256";
894
806
  }];
895
- readonly stateMutability: "nonpayable";
896
- readonly type: "function";
897
- }, {
898
- readonly inputs: readonly [{
899
- readonly internalType: "uint256";
900
- readonly name: "newHeteroLiquidationIncentiveMantissa";
901
- readonly type: "uint256";
902
- }, {
903
- readonly internalType: "uint256";
904
- readonly name: "newHomoLiquidationIncentiveMantissa";
905
- readonly type: "uint256";
906
- }, {
907
- readonly internalType: "uint256";
908
- readonly name: "newSutokenLiquidationIncentiveMantissa";
909
- readonly type: "uint256";
910
- }];
911
- readonly name: "_setLiquidationIncentive";
912
- readonly outputs: readonly [{
913
- readonly internalType: "uint256";
914
- readonly name: "";
915
- readonly type: "uint256";
916
- }];
917
- readonly stateMutability: "nonpayable";
918
- readonly type: "function";
919
- }, {
920
- readonly inputs: readonly [{
921
- readonly internalType: "contract ICToken[]";
922
- readonly name: "cTokens";
923
- readonly type: "address[]";
924
- }, {
925
- readonly internalType: "uint256[]";
926
- readonly name: "newBorrowCaps";
927
- readonly type: "uint256[]";
928
- }];
929
- readonly name: "_setMarketBorrowCaps";
807
+ readonly name: "_setPriceOracle";
930
808
  readonly outputs: readonly [];
931
809
  readonly stateMutability: "nonpayable";
932
810
  readonly type: "function";
933
- }, {
934
- readonly inputs: readonly [{
935
- readonly internalType: "contract ICToken[]";
936
- readonly name: "cTokens";
937
- readonly type: "address[]";
938
- }, {
939
- readonly internalType: "uint256[]";
940
- readonly name: "newMaxSupplys";
941
- readonly type: "uint256[]";
942
- }];
943
- readonly name: "_setMaxSupply";
944
- readonly outputs: readonly [{
945
- readonly internalType: "uint256";
946
- readonly name: "";
947
- readonly type: "uint256";
948
- }];
949
- readonly stateMutability: "nonpayable";
950
- readonly type: "function";
951
- }, {
952
- readonly inputs: readonly [{
953
- readonly internalType: "contract ICToken";
954
- readonly name: "cToken";
955
- readonly type: "address";
956
- }, {
957
- readonly internalType: "bool";
958
- readonly name: "state";
959
- readonly type: "bool";
960
- }];
961
- readonly name: "_setMintPaused";
962
- readonly outputs: readonly [{
963
- readonly internalType: "bool";
964
- readonly name: "";
965
- readonly type: "bool";
966
- }];
967
- readonly stateMutability: "nonpayable";
968
- readonly type: "function";
969
811
  }, {
970
812
  readonly inputs: readonly [{
971
813
  readonly internalType: "address";
972
- readonly name: "newPauseGuardian";
973
- readonly type: "address";
974
- }];
975
- readonly name: "_setPauseGuardian";
976
- readonly outputs: readonly [{
977
- readonly internalType: "uint256";
978
- readonly name: "";
979
- readonly type: "uint256";
980
- }];
981
- readonly stateMutability: "nonpayable";
982
- readonly type: "function";
983
- }, {
984
- readonly inputs: readonly [{
985
- readonly internalType: "contract IPriceOracle";
986
- readonly name: "newOracle";
814
+ readonly name: "_timelock";
987
815
  readonly type: "address";
988
816
  }];
989
- readonly name: "_setPriceOracle";
990
- readonly outputs: readonly [{
991
- readonly internalType: "uint256";
992
- readonly name: "";
993
- readonly type: "uint256";
994
- }];
995
- readonly stateMutability: "nonpayable";
996
- readonly type: "function";
997
- }, {
998
- readonly inputs: readonly [{
999
- readonly internalType: "bool";
1000
- readonly name: "state";
1001
- readonly type: "bool";
1002
- }];
1003
- readonly name: "_setProtocolPaused";
1004
- readonly outputs: readonly [{
1005
- readonly internalType: "bool";
1006
- readonly name: "";
1007
- readonly type: "bool";
1008
- }];
1009
- readonly stateMutability: "nonpayable";
1010
- readonly type: "function";
1011
- }, {
1012
- readonly inputs: readonly [{
1013
- readonly internalType: "bool";
1014
- readonly name: "state";
1015
- readonly type: "bool";
1016
- }];
1017
- readonly name: "_setSeizePaused";
1018
- readonly outputs: readonly [{
1019
- readonly internalType: "bool";
1020
- readonly name: "";
1021
- readonly type: "bool";
1022
- }];
1023
- readonly stateMutability: "nonpayable";
1024
- readonly type: "function";
1025
- }, {
1026
- readonly inputs: readonly [{
1027
- readonly internalType: "bool";
1028
- readonly name: "state";
1029
- readonly type: "bool";
1030
- }];
1031
- readonly name: "_setTransferPaused";
1032
- readonly outputs: readonly [{
1033
- readonly internalType: "bool";
1034
- readonly name: "";
1035
- readonly type: "bool";
1036
- }];
817
+ readonly name: "_setTimelock";
818
+ readonly outputs: readonly [];
1037
819
  readonly stateMutability: "nonpayable";
1038
820
  readonly type: "function";
1039
821
  }, {
@@ -1046,20 +828,16 @@ export declare class Comptroller__factory extends ContractFactory {
1046
828
  readonly name: "groupId";
1047
829
  readonly type: "uint8";
1048
830
  }, {
1049
- readonly internalType: "uint256";
831
+ readonly internalType: "uint120";
1050
832
  readonly name: "borrowCap";
1051
- readonly type: "uint256";
833
+ readonly type: "uint120";
1052
834
  }, {
1053
- readonly internalType: "uint256";
835
+ readonly internalType: "uint120";
1054
836
  readonly name: "supplyCap";
1055
- readonly type: "uint256";
837
+ readonly type: "uint120";
1056
838
  }];
1057
839
  readonly name: "_supportMarket";
1058
- readonly outputs: readonly [{
1059
- readonly internalType: "uint256";
1060
- readonly name: "";
1061
- readonly type: "uint256";
1062
- }];
840
+ readonly outputs: readonly [];
1063
841
  readonly stateMutability: "nonpayable";
1064
842
  readonly type: "function";
1065
843
  }, {
@@ -1080,16 +858,6 @@ export declare class Comptroller__factory extends ContractFactory {
1080
858
  }];
1081
859
  readonly stateMutability: "view";
1082
860
  readonly type: "function";
1083
- }, {
1084
- readonly inputs: readonly [];
1085
- readonly name: "accountLiquidity";
1086
- readonly outputs: readonly [{
1087
- readonly internalType: "contract IAccountLiquidity";
1088
- readonly name: "";
1089
- readonly type: "address";
1090
- }];
1091
- readonly stateMutability: "view";
1092
- readonly type: "function";
1093
861
  }, {
1094
862
  readonly inputs: readonly [{
1095
863
  readonly internalType: "uint256";
@@ -1110,11 +878,31 @@ export declare class Comptroller__factory extends ContractFactory {
1110
878
  readonly name: "";
1111
879
  readonly type: "uint8";
1112
880
  }];
1113
- readonly name: "assetGroupIdToIndex";
881
+ readonly name: "assetGroup";
1114
882
  readonly outputs: readonly [{
1115
883
  readonly internalType: "uint8";
1116
- readonly name: "";
884
+ readonly name: "groupId";
1117
885
  readonly type: "uint8";
886
+ }, {
887
+ readonly internalType: "uint16";
888
+ readonly name: "intraCRatePercent";
889
+ readonly type: "uint16";
890
+ }, {
891
+ readonly internalType: "uint16";
892
+ readonly name: "intraMintRatePercent";
893
+ readonly type: "uint16";
894
+ }, {
895
+ readonly internalType: "uint16";
896
+ readonly name: "intraSuRatePercent";
897
+ readonly type: "uint16";
898
+ }, {
899
+ readonly internalType: "uint16";
900
+ readonly name: "interCRatePercent";
901
+ readonly type: "uint16";
902
+ }, {
903
+ readonly internalType: "uint16";
904
+ readonly name: "interSuRatePercent";
905
+ readonly type: "uint16";
1118
906
  }];
1119
907
  readonly stateMutability: "view";
1120
908
  readonly type: "function";
@@ -1136,44 +924,6 @@ export declare class Comptroller__factory extends ContractFactory {
1136
924
  readonly outputs: readonly [];
1137
925
  readonly stateMutability: "nonpayable";
1138
926
  readonly type: "function";
1139
- }, {
1140
- readonly inputs: readonly [];
1141
- readonly name: "borrowCapGuardian";
1142
- readonly outputs: readonly [{
1143
- readonly internalType: "address";
1144
- readonly name: "";
1145
- readonly type: "address";
1146
- }];
1147
- readonly stateMutability: "view";
1148
- readonly type: "function";
1149
- }, {
1150
- readonly inputs: readonly [{
1151
- readonly internalType: "address";
1152
- readonly name: "";
1153
- readonly type: "address";
1154
- }];
1155
- readonly name: "borrowCaps";
1156
- readonly outputs: readonly [{
1157
- readonly internalType: "uint256";
1158
- readonly name: "";
1159
- readonly type: "uint256";
1160
- }];
1161
- readonly stateMutability: "view";
1162
- readonly type: "function";
1163
- }, {
1164
- readonly inputs: readonly [{
1165
- readonly internalType: "address";
1166
- readonly name: "";
1167
- readonly type: "address";
1168
- }];
1169
- readonly name: "borrowGuardianPaused";
1170
- readonly outputs: readonly [{
1171
- readonly internalType: "bool";
1172
- readonly name: "";
1173
- readonly type: "bool";
1174
- }];
1175
- readonly stateMutability: "view";
1176
- readonly type: "function";
1177
927
  }, {
1178
928
  readonly inputs: readonly [{
1179
929
  readonly internalType: "address";
@@ -1188,40 +938,6 @@ export declare class Comptroller__factory extends ContractFactory {
1188
938
  readonly outputs: readonly [];
1189
939
  readonly stateMutability: "nonpayable";
1190
940
  readonly type: "function";
1191
- }, {
1192
- readonly inputs: readonly [{
1193
- readonly internalType: "address";
1194
- readonly name: "account";
1195
- readonly type: "address";
1196
- }, {
1197
- readonly internalType: "address";
1198
- readonly name: "cToken";
1199
- readonly type: "address";
1200
- }];
1201
- readonly name: "checkMembership";
1202
- readonly outputs: readonly [{
1203
- readonly internalType: "bool";
1204
- readonly name: "";
1205
- readonly type: "bool";
1206
- }];
1207
- readonly stateMutability: "view";
1208
- readonly type: "function";
1209
- }, {
1210
- readonly inputs: readonly [];
1211
- readonly name: "cleanAssetGroup";
1212
- readonly outputs: readonly [];
1213
- readonly stateMutability: "nonpayable";
1214
- readonly type: "function";
1215
- }, {
1216
- readonly inputs: readonly [];
1217
- readonly name: "closeFactorMantissa";
1218
- readonly outputs: readonly [{
1219
- readonly internalType: "uint256";
1220
- readonly name: "";
1221
- readonly type: "uint256";
1222
- }];
1223
- readonly stateMutability: "view";
1224
- readonly type: "function";
1225
941
  }, {
1226
942
  readonly inputs: readonly [];
1227
943
  readonly name: "compLogic";
@@ -1239,20 +955,6 @@ export declare class Comptroller__factory extends ContractFactory {
1239
955
  readonly type: "address[]";
1240
956
  }];
1241
957
  readonly name: "enterMarkets";
1242
- readonly outputs: readonly [{
1243
- readonly internalType: "uint256[]";
1244
- readonly name: "";
1245
- readonly type: "uint256[]";
1246
- }];
1247
- readonly stateMutability: "nonpayable";
1248
- readonly type: "function";
1249
- }, {
1250
- readonly inputs: readonly [{
1251
- readonly internalType: "address[]";
1252
- readonly name: "accounts";
1253
- readonly type: "address[]";
1254
- }];
1255
- readonly name: "enterMarketsForAll";
1256
958
  readonly outputs: readonly [];
1257
959
  readonly stateMutability: "nonpayable";
1258
960
  readonly type: "function";
@@ -1263,104 +965,9 @@ export declare class Comptroller__factory extends ContractFactory {
1263
965
  readonly type: "address";
1264
966
  }];
1265
967
  readonly name: "exitMarket";
1266
- readonly outputs: readonly [{
1267
- readonly internalType: "uint256";
1268
- readonly name: "";
1269
- readonly type: "uint256";
1270
- }];
968
+ readonly outputs: readonly [];
1271
969
  readonly stateMutability: "nonpayable";
1272
970
  readonly type: "function";
1273
- }, {
1274
- readonly inputs: readonly [{
1275
- readonly internalType: "address";
1276
- readonly name: "account";
1277
- readonly type: "address";
1278
- }];
1279
- readonly name: "getAccountLiquidity";
1280
- readonly outputs: readonly [{
1281
- readonly internalType: "uint256";
1282
- readonly name: "";
1283
- readonly type: "uint256";
1284
- }, {
1285
- readonly internalType: "uint256";
1286
- readonly name: "";
1287
- readonly type: "uint256";
1288
- }, {
1289
- readonly internalType: "uint256";
1290
- readonly name: "";
1291
- readonly type: "uint256";
1292
- }];
1293
- readonly stateMutability: "view";
1294
- readonly type: "function";
1295
- }, {
1296
- readonly inputs: readonly [{
1297
- readonly internalType: "address";
1298
- readonly name: "account";
1299
- readonly type: "address";
1300
- }, {
1301
- readonly internalType: "address";
1302
- readonly name: "cTokenTarget";
1303
- readonly type: "address";
1304
- }, {
1305
- readonly internalType: "uint256";
1306
- readonly name: "intraSafeLimitMantissa";
1307
- readonly type: "uint256";
1308
- }, {
1309
- readonly internalType: "uint256";
1310
- readonly name: "interSafeLimitMantissa";
1311
- readonly type: "uint256";
1312
- }];
1313
- readonly name: "getAccountSafeLimit";
1314
- readonly outputs: readonly [{
1315
- readonly internalType: "uint256";
1316
- readonly name: "";
1317
- readonly type: "uint256";
1318
- }];
1319
- readonly stateMutability: "view";
1320
- readonly type: "function";
1321
- }, {
1322
- readonly inputs: readonly [];
1323
- readonly name: "getAllAssetGroup";
1324
- readonly outputs: readonly [{
1325
- readonly components: readonly [{
1326
- readonly internalType: "uint8";
1327
- readonly name: "groupId";
1328
- readonly type: "uint8";
1329
- }, {
1330
- readonly internalType: "string";
1331
- readonly name: "groupName";
1332
- readonly type: "string";
1333
- }, {
1334
- readonly internalType: "uint256";
1335
- readonly name: "intraCRateMantissa";
1336
- readonly type: "uint256";
1337
- }, {
1338
- readonly internalType: "uint256";
1339
- readonly name: "intraMintRateMantissa";
1340
- readonly type: "uint256";
1341
- }, {
1342
- readonly internalType: "uint256";
1343
- readonly name: "intraSuRateMantissa";
1344
- readonly type: "uint256";
1345
- }, {
1346
- readonly internalType: "uint256";
1347
- readonly name: "interCRateMantissa";
1348
- readonly type: "uint256";
1349
- }, {
1350
- readonly internalType: "uint256";
1351
- readonly name: "interSuRateMantissa";
1352
- readonly type: "uint256";
1353
- }, {
1354
- readonly internalType: "bool";
1355
- readonly name: "exist";
1356
- readonly type: "bool";
1357
- }];
1358
- readonly internalType: "struct IComptroller.AssetGroup[]";
1359
- readonly name: "";
1360
- readonly type: "tuple[]";
1361
- }];
1362
- readonly stateMutability: "view";
1363
- readonly type: "function";
1364
971
  }, {
1365
972
  readonly inputs: readonly [];
1366
973
  readonly name: "getAllMarkets";
@@ -1371,110 +978,6 @@ export declare class Comptroller__factory extends ContractFactory {
1371
978
  }];
1372
979
  readonly stateMutability: "view";
1373
980
  readonly type: "function";
1374
- }, {
1375
- readonly inputs: readonly [{
1376
- readonly internalType: "uint8";
1377
- readonly name: "groupId";
1378
- readonly type: "uint8";
1379
- }];
1380
- readonly name: "getAssetGroup";
1381
- readonly outputs: readonly [{
1382
- readonly components: readonly [{
1383
- readonly internalType: "uint8";
1384
- readonly name: "groupId";
1385
- readonly type: "uint8";
1386
- }, {
1387
- readonly internalType: "string";
1388
- readonly name: "groupName";
1389
- readonly type: "string";
1390
- }, {
1391
- readonly internalType: "uint256";
1392
- readonly name: "intraCRateMantissa";
1393
- readonly type: "uint256";
1394
- }, {
1395
- readonly internalType: "uint256";
1396
- readonly name: "intraMintRateMantissa";
1397
- readonly type: "uint256";
1398
- }, {
1399
- readonly internalType: "uint256";
1400
- readonly name: "intraSuRateMantissa";
1401
- readonly type: "uint256";
1402
- }, {
1403
- readonly internalType: "uint256";
1404
- readonly name: "interCRateMantissa";
1405
- readonly type: "uint256";
1406
- }, {
1407
- readonly internalType: "uint256";
1408
- readonly name: "interSuRateMantissa";
1409
- readonly type: "uint256";
1410
- }, {
1411
- readonly internalType: "bool";
1412
- readonly name: "exist";
1413
- readonly type: "bool";
1414
- }];
1415
- readonly internalType: "struct IComptroller.AssetGroup";
1416
- readonly name: "";
1417
- readonly type: "tuple";
1418
- }];
1419
- readonly stateMutability: "view";
1420
- readonly type: "function";
1421
- }, {
1422
- readonly inputs: readonly [{
1423
- readonly internalType: "uint8";
1424
- readonly name: "groupIndex";
1425
- readonly type: "uint8";
1426
- }];
1427
- readonly name: "getAssetGroupByIndex";
1428
- readonly outputs: readonly [{
1429
- readonly components: readonly [{
1430
- readonly internalType: "uint8";
1431
- readonly name: "groupId";
1432
- readonly type: "uint8";
1433
- }, {
1434
- readonly internalType: "string";
1435
- readonly name: "groupName";
1436
- readonly type: "string";
1437
- }, {
1438
- readonly internalType: "uint256";
1439
- readonly name: "intraCRateMantissa";
1440
- readonly type: "uint256";
1441
- }, {
1442
- readonly internalType: "uint256";
1443
- readonly name: "intraMintRateMantissa";
1444
- readonly type: "uint256";
1445
- }, {
1446
- readonly internalType: "uint256";
1447
- readonly name: "intraSuRateMantissa";
1448
- readonly type: "uint256";
1449
- }, {
1450
- readonly internalType: "uint256";
1451
- readonly name: "interCRateMantissa";
1452
- readonly type: "uint256";
1453
- }, {
1454
- readonly internalType: "uint256";
1455
- readonly name: "interSuRateMantissa";
1456
- readonly type: "uint256";
1457
- }, {
1458
- readonly internalType: "bool";
1459
- readonly name: "exist";
1460
- readonly type: "bool";
1461
- }];
1462
- readonly internalType: "struct IComptroller.AssetGroup";
1463
- readonly name: "";
1464
- readonly type: "tuple";
1465
- }];
1466
- readonly stateMutability: "view";
1467
- readonly type: "function";
1468
- }, {
1469
- readonly inputs: readonly [];
1470
- readonly name: "getAssetGroupNum";
1471
- readonly outputs: readonly [{
1472
- readonly internalType: "uint8";
1473
- readonly name: "";
1474
- readonly type: "uint8";
1475
- }];
1476
- readonly stateMutability: "view";
1477
- readonly type: "function";
1478
981
  }, {
1479
982
  readonly inputs: readonly [{
1480
983
  readonly internalType: "address";
@@ -1489,34 +992,6 @@ export declare class Comptroller__factory extends ContractFactory {
1489
992
  }];
1490
993
  readonly stateMutability: "view";
1491
994
  readonly type: "function";
1492
- }, {
1493
- readonly inputs: readonly [{
1494
- readonly internalType: "address";
1495
- readonly name: "collateralToken";
1496
- readonly type: "address";
1497
- }, {
1498
- readonly internalType: "address";
1499
- readonly name: "liabilityToken";
1500
- readonly type: "address";
1501
- }];
1502
- readonly name: "getCollateralRate";
1503
- readonly outputs: readonly [{
1504
- readonly internalType: "uint256";
1505
- readonly name: "";
1506
- readonly type: "uint256";
1507
- }];
1508
- readonly stateMutability: "view";
1509
- readonly type: "function";
1510
- }, {
1511
- readonly inputs: readonly [];
1512
- readonly name: "getCompAddress";
1513
- readonly outputs: readonly [{
1514
- readonly internalType: "address";
1515
- readonly name: "";
1516
- readonly type: "address";
1517
- }];
1518
- readonly stateMutability: "view";
1519
- readonly type: "function";
1520
995
  }, {
1521
996
  readonly inputs: readonly [{
1522
997
  readonly internalType: "address";
@@ -1544,10 +1019,6 @@ export declare class Comptroller__factory extends ContractFactory {
1544
1019
  readonly internalType: "uint256";
1545
1020
  readonly name: "";
1546
1021
  readonly type: "uint256";
1547
- }, {
1548
- readonly internalType: "uint256";
1549
- readonly name: "";
1550
- readonly type: "uint256";
1551
1022
  }];
1552
1023
  readonly stateMutability: "view";
1553
1024
  readonly type: "function";
@@ -1567,29 +1038,11 @@ export declare class Comptroller__factory extends ContractFactory {
1567
1038
  readonly type: "function";
1568
1039
  }, {
1569
1040
  readonly inputs: readonly [{
1570
- readonly internalType: "bytes32";
1571
- readonly name: "role";
1572
- readonly type: "bytes32";
1573
- }, {
1574
- readonly internalType: "uint256";
1575
- readonly name: "index";
1576
- readonly type: "uint256";
1577
- }];
1578
- readonly name: "getRoleMember";
1579
- readonly outputs: readonly [{
1580
1041
  readonly internalType: "address";
1581
- readonly name: "";
1042
+ readonly name: "cToken";
1582
1043
  readonly type: "address";
1583
1044
  }];
1584
- readonly stateMutability: "view";
1585
- readonly type: "function";
1586
- }, {
1587
- readonly inputs: readonly [{
1588
- readonly internalType: "bytes32";
1589
- readonly name: "role";
1590
- readonly type: "bytes32";
1591
- }];
1592
- readonly name: "getRoleMemberCount";
1045
+ readonly name: "getUnderlyingPriceNormalized";
1593
1046
  readonly outputs: readonly [{
1594
1047
  readonly internalType: "uint256";
1595
1048
  readonly name: "";
@@ -1598,16 +1051,28 @@ export declare class Comptroller__factory extends ContractFactory {
1598
1051
  readonly stateMutability: "view";
1599
1052
  readonly type: "function";
1600
1053
  }, {
1601
- readonly inputs: readonly [{
1602
- readonly internalType: "address";
1603
- readonly name: "cToken";
1604
- readonly type: "address";
1605
- }];
1606
- readonly name: "getUnderlyingPriceNormalized";
1054
+ readonly inputs: readonly [];
1055
+ readonly name: "globalConfig";
1607
1056
  readonly outputs: readonly [{
1608
- readonly internalType: "uint256";
1609
- readonly name: "";
1610
- readonly type: "uint256";
1057
+ readonly internalType: "uint16";
1058
+ readonly name: "closeFactorPercent";
1059
+ readonly type: "uint16";
1060
+ }, {
1061
+ readonly internalType: "uint32";
1062
+ readonly name: "minCloseValue";
1063
+ readonly type: "uint32";
1064
+ }, {
1065
+ readonly internalType: "uint32";
1066
+ readonly name: "minSuBorrowValue";
1067
+ readonly type: "uint32";
1068
+ }, {
1069
+ readonly internalType: "uint32";
1070
+ readonly name: "minWaitBeforeLiquidatable";
1071
+ readonly type: "uint32";
1072
+ }, {
1073
+ readonly internalType: "uint8";
1074
+ readonly name: "largestGroupId";
1075
+ readonly type: "uint8";
1611
1076
  }];
1612
1077
  readonly stateMutability: "view";
1613
1078
  readonly type: "function";
@@ -1642,34 +1107,14 @@ export declare class Comptroller__factory extends ContractFactory {
1642
1107
  readonly type: "bytes32";
1643
1108
  }, {
1644
1109
  readonly internalType: "address";
1645
- readonly name: "account";
1646
- readonly type: "address";
1647
- }];
1648
- readonly name: "hasRole";
1649
- readonly outputs: readonly [{
1650
- readonly internalType: "bool";
1651
- readonly name: "";
1652
- readonly type: "bool";
1653
- }];
1654
- readonly stateMutability: "view";
1655
- readonly type: "function";
1656
- }, {
1657
- readonly inputs: readonly [];
1658
- readonly name: "heteroLiquidationIncentiveMantissa";
1659
- readonly outputs: readonly [{
1660
- readonly internalType: "uint256";
1661
- readonly name: "";
1662
- readonly type: "uint256";
1110
+ readonly name: "account";
1111
+ readonly type: "address";
1663
1112
  }];
1664
- readonly stateMutability: "view";
1665
- readonly type: "function";
1666
- }, {
1667
- readonly inputs: readonly [];
1668
- readonly name: "homoLiquidationIncentiveMantissa";
1113
+ readonly name: "hasRole";
1669
1114
  readonly outputs: readonly [{
1670
- readonly internalType: "uint256";
1115
+ readonly internalType: "bool";
1671
1116
  readonly name: "";
1672
- readonly type: "uint256";
1117
+ readonly type: "bool";
1673
1118
  }];
1674
1119
  readonly stateMutability: "view";
1675
1120
  readonly type: "function";
@@ -1678,38 +1123,26 @@ export declare class Comptroller__factory extends ContractFactory {
1678
1123
  readonly internalType: "address";
1679
1124
  readonly name: "_admin";
1680
1125
  readonly type: "address";
1681
- }, {
1682
- readonly internalType: "contract IPriceOracle";
1683
- readonly name: "_oracle";
1684
- readonly type: "address";
1685
1126
  }, {
1686
1127
  readonly internalType: "address";
1687
1128
  readonly name: "_gov";
1688
1129
  readonly type: "address";
1689
1130
  }, {
1690
- readonly internalType: "contract ICompLogic";
1131
+ readonly internalType: "address";
1691
1132
  readonly name: "_compLogic";
1692
1133
  readonly type: "address";
1693
1134
  }, {
1694
- readonly internalType: "contract IAccountLiquidity";
1695
- readonly name: "_accountLiquidity";
1135
+ readonly internalType: "address";
1136
+ readonly name: "_redemptionManager";
1696
1137
  readonly type: "address";
1697
1138
  }, {
1698
- readonly internalType: "uint256";
1699
- readonly name: "_closeFactorMantissa";
1700
- readonly type: "uint256";
1701
- }, {
1702
- readonly internalType: "uint256";
1703
- readonly name: "_heteroLiquidationIncentiveMantissa";
1704
- readonly type: "uint256";
1705
- }, {
1706
- readonly internalType: "uint256";
1707
- readonly name: "_homoLiquidationIncentiveMantissa";
1708
- readonly type: "uint256";
1139
+ readonly internalType: "address";
1140
+ readonly name: "_timelock";
1141
+ readonly type: "address";
1709
1142
  }, {
1710
- readonly internalType: "uint256";
1711
- readonly name: "_sutokenLiquidationIncentiveMantissa";
1712
- readonly type: "uint256";
1143
+ readonly internalType: "address";
1144
+ readonly name: "_oracle";
1145
+ readonly type: "address";
1713
1146
  }];
1714
1147
  readonly name: "initialize";
1715
1148
  readonly outputs: readonly [];
@@ -1781,33 +1214,53 @@ export declare class Comptroller__factory extends ContractFactory {
1781
1214
  readonly type: "function";
1782
1215
  }, {
1783
1216
  readonly inputs: readonly [];
1784
- readonly name: "liquidationIncentiveMantissa";
1217
+ readonly name: "liquidationIncentive";
1785
1218
  readonly outputs: readonly [{
1786
- readonly internalType: "uint256";
1787
- readonly name: "";
1788
- readonly type: "uint256";
1219
+ readonly internalType: "uint16";
1220
+ readonly name: "heteroPercent";
1221
+ readonly type: "uint16";
1789
1222
  }, {
1790
- readonly internalType: "uint256";
1791
- readonly name: "";
1792
- readonly type: "uint256";
1223
+ readonly internalType: "uint16";
1224
+ readonly name: "homoPercent";
1225
+ readonly type: "uint16";
1793
1226
  }, {
1794
- readonly internalType: "uint256";
1795
- readonly name: "";
1796
- readonly type: "uint256";
1227
+ readonly internalType: "uint16";
1228
+ readonly name: "sutokenPercent";
1229
+ readonly type: "uint16";
1797
1230
  }];
1798
1231
  readonly stateMutability: "view";
1799
1232
  readonly type: "function";
1800
1233
  }, {
1801
1234
  readonly inputs: readonly [{
1802
1235
  readonly internalType: "address";
1803
- readonly name: "asset";
1236
+ readonly name: "";
1804
1237
  readonly type: "address";
1805
1238
  }];
1806
- readonly name: "marketGroupId";
1239
+ readonly name: "marketConfig";
1807
1240
  readonly outputs: readonly [{
1808
- readonly internalType: "uint8";
1809
- readonly name: "";
1810
- readonly type: "uint8";
1241
+ readonly internalType: "bool";
1242
+ readonly name: "mintPaused";
1243
+ readonly type: "bool";
1244
+ }, {
1245
+ readonly internalType: "bool";
1246
+ readonly name: "borrowPaused";
1247
+ readonly type: "bool";
1248
+ }, {
1249
+ readonly internalType: "bool";
1250
+ readonly name: "transferPaused";
1251
+ readonly type: "bool";
1252
+ }, {
1253
+ readonly internalType: "bool";
1254
+ readonly name: "seizePaused";
1255
+ readonly type: "bool";
1256
+ }, {
1257
+ readonly internalType: "uint120";
1258
+ readonly name: "borrowCap";
1259
+ readonly type: "uint120";
1260
+ }, {
1261
+ readonly internalType: "uint120";
1262
+ readonly name: "supplyCap";
1263
+ readonly type: "uint120";
1811
1264
  }];
1812
1265
  readonly stateMutability: "view";
1813
1266
  readonly type: "function";
@@ -1833,50 +1286,6 @@ export declare class Comptroller__factory extends ContractFactory {
1833
1286
  }];
1834
1287
  readonly stateMutability: "view";
1835
1288
  readonly type: "function";
1836
- }, {
1837
- readonly inputs: readonly [{
1838
- readonly internalType: "address";
1839
- readonly name: "";
1840
- readonly type: "address";
1841
- }];
1842
- readonly name: "maxSupply";
1843
- readonly outputs: readonly [{
1844
- readonly internalType: "uint256";
1845
- readonly name: "";
1846
- readonly type: "uint256";
1847
- }];
1848
- readonly stateMutability: "view";
1849
- readonly type: "function";
1850
- }, {
1851
- readonly inputs: readonly [];
1852
- readonly name: "minCloseValue";
1853
- readonly outputs: readonly [{
1854
- readonly internalType: "uint256";
1855
- readonly name: "";
1856
- readonly type: "uint256";
1857
- }];
1858
- readonly stateMutability: "view";
1859
- readonly type: "function";
1860
- }, {
1861
- readonly inputs: readonly [];
1862
- readonly name: "minSuBorrowValue";
1863
- readonly outputs: readonly [{
1864
- readonly internalType: "uint256";
1865
- readonly name: "";
1866
- readonly type: "uint256";
1867
- }];
1868
- readonly stateMutability: "view";
1869
- readonly type: "function";
1870
- }, {
1871
- readonly inputs: readonly [];
1872
- readonly name: "minWaitBeforeLiquidatable";
1873
- readonly outputs: readonly [{
1874
- readonly internalType: "uint48";
1875
- readonly name: "";
1876
- readonly type: "uint48";
1877
- }];
1878
- readonly stateMutability: "view";
1879
- readonly type: "function";
1880
1289
  }, {
1881
1290
  readonly inputs: readonly [{
1882
1291
  readonly internalType: "address";
@@ -1895,20 +1304,6 @@ export declare class Comptroller__factory extends ContractFactory {
1895
1304
  readonly outputs: readonly [];
1896
1305
  readonly stateMutability: "nonpayable";
1897
1306
  readonly type: "function";
1898
- }, {
1899
- readonly inputs: readonly [{
1900
- readonly internalType: "address";
1901
- readonly name: "";
1902
- readonly type: "address";
1903
- }];
1904
- readonly name: "mintGuardianPaused";
1905
- readonly outputs: readonly [{
1906
- readonly internalType: "bool";
1907
- readonly name: "";
1908
- readonly type: "bool";
1909
- }];
1910
- readonly stateMutability: "view";
1911
- readonly type: "function";
1912
1307
  }, {
1913
1308
  readonly inputs: readonly [];
1914
1309
  readonly name: "oracle";
@@ -1964,11 +1359,7 @@ export declare class Comptroller__factory extends ContractFactory {
1964
1359
  readonly type: "uint8";
1965
1360
  }];
1966
1361
  readonly name: "removeAssetGroup";
1967
- readonly outputs: readonly [{
1968
- readonly internalType: "uint256";
1969
- readonly name: "";
1970
- readonly type: "uint256";
1971
- }];
1362
+ readonly outputs: readonly [];
1972
1363
  readonly stateMutability: "nonpayable";
1973
1364
  readonly type: "function";
1974
1365
  }, {
@@ -2047,162 +1438,36 @@ export declare class Comptroller__factory extends ContractFactory {
2047
1438
  readonly outputs: readonly [];
2048
1439
  readonly stateMutability: "nonpayable";
2049
1440
  readonly type: "function";
2050
- }, {
2051
- readonly inputs: readonly [];
2052
- readonly name: "seizeGuardianPaused";
2053
- readonly outputs: readonly [{
2054
- readonly internalType: "bool";
2055
- readonly name: "";
2056
- readonly type: "bool";
2057
- }];
2058
- readonly stateMutability: "view";
2059
- readonly type: "function";
2060
- }, {
2061
- readonly inputs: readonly [{
2062
- readonly internalType: "contract IAccountLiquidity";
2063
- readonly name: "_accountLiquidity";
2064
- readonly type: "address";
2065
- }];
2066
- readonly name: "setAccountLiquidity";
2067
- readonly outputs: readonly [];
2068
- readonly stateMutability: "nonpayable";
2069
- readonly type: "function";
2070
1441
  }, {
2071
1442
  readonly inputs: readonly [{
2072
1443
  readonly internalType: "uint8";
2073
1444
  readonly name: "groupId";
2074
1445
  readonly type: "uint8";
2075
1446
  }, {
2076
- readonly internalType: "string";
2077
- readonly name: "groupName";
2078
- readonly type: "string";
2079
- }, {
2080
- readonly internalType: "uint256";
2081
- readonly name: "intraCRateMantissa";
2082
- readonly type: "uint256";
1447
+ readonly internalType: "uint16";
1448
+ readonly name: "intraCRatePercent";
1449
+ readonly type: "uint16";
2083
1450
  }, {
2084
- readonly internalType: "uint256";
2085
- readonly name: "intraMintRateMantissa";
2086
- readonly type: "uint256";
1451
+ readonly internalType: "uint16";
1452
+ readonly name: "intraMintRatePercent";
1453
+ readonly type: "uint16";
2087
1454
  }, {
2088
- readonly internalType: "uint256";
2089
- readonly name: "intraSuRateMantissa";
2090
- readonly type: "uint256";
1455
+ readonly internalType: "uint16";
1456
+ readonly name: "intraSuRatePercent";
1457
+ readonly type: "uint16";
2091
1458
  }, {
2092
- readonly internalType: "uint256";
2093
- readonly name: "interCRateMantissa";
2094
- readonly type: "uint256";
1459
+ readonly internalType: "uint16";
1460
+ readonly name: "interCRatePercent";
1461
+ readonly type: "uint16";
2095
1462
  }, {
2096
- readonly internalType: "uint256";
2097
- readonly name: "interSuRateMantissa";
2098
- readonly type: "uint256";
1463
+ readonly internalType: "uint16";
1464
+ readonly name: "interSuRatePercent";
1465
+ readonly type: "uint16";
2099
1466
  }];
2100
1467
  readonly name: "setAssetGroup";
2101
- readonly outputs: readonly [{
2102
- readonly internalType: "uint256";
2103
- readonly name: "";
2104
- readonly type: "uint256";
2105
- }];
2106
- readonly stateMutability: "nonpayable";
2107
- readonly type: "function";
2108
- }, {
2109
- readonly inputs: readonly [{
2110
- readonly internalType: "contract ICompLogic";
2111
- readonly name: "_compLogic";
2112
- readonly type: "address";
2113
- }];
2114
- readonly name: "setCompLogic";
2115
- readonly outputs: readonly [];
2116
- readonly stateMutability: "nonpayable";
2117
- readonly type: "function";
2118
- }, {
2119
- readonly inputs: readonly [{
2120
- readonly internalType: "address";
2121
- readonly name: "cToken";
2122
- readonly type: "address";
2123
- }, {
2124
- readonly internalType: "uint256";
2125
- readonly name: "supplySpeed";
2126
- readonly type: "uint256";
2127
- }, {
2128
- readonly internalType: "uint256";
2129
- readonly name: "borrowSpeed";
2130
- readonly type: "uint256";
2131
- }];
2132
- readonly name: "setCompSpeed";
2133
- readonly outputs: readonly [];
2134
- readonly stateMutability: "nonpayable";
2135
- readonly type: "function";
2136
- }, {
2137
- readonly inputs: readonly [{
2138
- readonly internalType: "address";
2139
- readonly name: "_governanceToken";
2140
- readonly type: "address";
2141
- }];
2142
- readonly name: "setGovTokenAddress";
2143
- readonly outputs: readonly [];
2144
- readonly stateMutability: "nonpayable";
2145
- readonly type: "function";
2146
- }, {
2147
- readonly inputs: readonly [{
2148
- readonly internalType: "uint256";
2149
- readonly name: "_minCloseValue";
2150
- readonly type: "uint256";
2151
- }];
2152
- readonly name: "setMinCloseValue";
2153
- readonly outputs: readonly [];
2154
- readonly stateMutability: "nonpayable";
2155
- readonly type: "function";
2156
- }, {
2157
- readonly inputs: readonly [{
2158
- readonly internalType: "uint256";
2159
- readonly name: "_minSuBorrowValue";
2160
- readonly type: "uint256";
2161
- }];
2162
- readonly name: "setMinSuBorrowValue";
2163
- readonly outputs: readonly [];
2164
- readonly stateMutability: "nonpayable";
2165
- readonly type: "function";
2166
- }, {
2167
- readonly inputs: readonly [{
2168
- readonly internalType: "uint48";
2169
- readonly name: "_minWaitBeforeLiquidatable";
2170
- readonly type: "uint48";
2171
- }];
2172
- readonly name: "setMinWaitBeforeLiquidatable";
2173
- readonly outputs: readonly [];
2174
- readonly stateMutability: "nonpayable";
2175
- readonly type: "function";
2176
- }, {
2177
- readonly inputs: readonly [{
2178
- readonly internalType: "contract IRedemptionManager";
2179
- readonly name: "_redemptionManager";
2180
- readonly type: "address";
2181
- }];
2182
- readonly name: "setRedemptionManager";
2183
- readonly outputs: readonly [];
2184
- readonly stateMutability: "nonpayable";
2185
- readonly type: "function";
2186
- }, {
2187
- readonly inputs: readonly [{
2188
- readonly internalType: "address";
2189
- readonly name: "_timelock";
2190
- readonly type: "address";
2191
- }];
2192
- readonly name: "setTimelock";
2193
1468
  readonly outputs: readonly [];
2194
1469
  readonly stateMutability: "nonpayable";
2195
1470
  readonly type: "function";
2196
- }, {
2197
- readonly inputs: readonly [];
2198
- readonly name: "suTokenRateMantissa";
2199
- readonly outputs: readonly [{
2200
- readonly internalType: "uint256";
2201
- readonly name: "";
2202
- readonly type: "uint256";
2203
- }];
2204
- readonly stateMutability: "view";
2205
- readonly type: "function";
2206
1471
  }, {
2207
1472
  readonly inputs: readonly [{
2208
1473
  readonly internalType: "bytes4";
@@ -2217,16 +1482,6 @@ export declare class Comptroller__factory extends ContractFactory {
2217
1482
  }];
2218
1483
  readonly stateMutability: "view";
2219
1484
  readonly type: "function";
2220
- }, {
2221
- readonly inputs: readonly [];
2222
- readonly name: "sutokenLiquidationIncentiveMantissa";
2223
- readonly outputs: readonly [{
2224
- readonly internalType: "uint256";
2225
- readonly name: "";
2226
- readonly type: "uint256";
2227
- }];
2228
- readonly stateMutability: "view";
2229
- readonly type: "function";
2230
1485
  }, {
2231
1486
  readonly inputs: readonly [];
2232
1487
  readonly name: "timelock";
@@ -2259,16 +1514,6 @@ export declare class Comptroller__factory extends ContractFactory {
2259
1514
  readonly outputs: readonly [];
2260
1515
  readonly stateMutability: "nonpayable";
2261
1516
  readonly type: "function";
2262
- }, {
2263
- readonly inputs: readonly [];
2264
- readonly name: "transferGuardianPaused";
2265
- readonly outputs: readonly [{
2266
- readonly internalType: "bool";
2267
- readonly name: "";
2268
- readonly type: "bool";
2269
- }];
2270
- readonly stateMutability: "view";
2271
- readonly type: "function";
2272
1517
  }];
2273
1518
  static createInterface(): ComptrollerInterface;
2274
1519
  static connect(address: string, runner?: ContractRunner | null): Comptroller;