@pendle/core-v2 0.6.3 → 0.6.5

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 (434) hide show
  1. package/build/artifacts/contracts/SuperComposableYield/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +4 -0
  2. package/build/artifacts/contracts/SuperComposableYield/ISuperComposableYield.sol/ISuperComposableYield.json +482 -0
  3. package/build/artifacts/contracts/SuperComposableYield/SCYUtils.sol/SCYUtils.dbg.json +4 -0
  4. package/build/artifacts/contracts/SuperComposableYield/SCYUtils.sol/SCYUtils.json +10 -0
  5. package/build/artifacts/contracts/SuperComposableYield/implementations/IRewardManager.sol/IRewardManager.dbg.json +4 -0
  6. package/build/artifacts/contracts/SuperComposableYield/implementations/IRewardManager.sol/IRewardManager.json +77 -0
  7. package/build/artifacts/contracts/SuperComposableYield/implementations/RewardManager.sol/RewardManager.dbg.json +4 -0
  8. package/build/artifacts/contracts/SuperComposableYield/implementations/RewardManager.sol/RewardManager.json +90 -0
  9. package/build/artifacts/contracts/SuperComposableYield/implementations/SCYBase.sol/SCYBase.dbg.json +4 -0
  10. package/build/artifacts/contracts/SuperComposableYield/implementations/SCYBase.sol/SCYBase.json +543 -0
  11. package/build/artifacts/contracts/SuperComposableYield/implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +4 -0
  12. package/build/artifacts/contracts/SuperComposableYield/implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.json +628 -0
  13. package/build/artifacts/contracts/core/PendleBaseToken.sol/PendleBaseToken.dbg.json +4 -0
  14. package/build/artifacts/contracts/core/PendleBaseToken.sol/PendleBaseToken.json +333 -0
  15. package/build/artifacts/contracts/core/PendleMarket.sol/PendleMarket.dbg.json +4 -0
  16. package/build/artifacts/contracts/core/PendleMarket.sol/PendleMarket.json +837 -0
  17. package/build/artifacts/contracts/core/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +4 -0
  18. package/build/artifacts/contracts/core/PendleMarketFactory.sol/PendleMarketFactory.json +239 -0
  19. package/build/artifacts/contracts/core/PendleOwnershipToken.sol/PendleOwnershipToken.dbg.json +4 -0
  20. package/build/artifacts/contracts/core/PendleOwnershipToken.sol/PendleOwnershipToken.json +439 -0
  21. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +4 -0
  22. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.json +230 -0
  23. package/build/artifacts/contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.dbg.json +4 -0
  24. package/build/artifacts/contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.json +765 -0
  25. package/build/artifacts/contracts/core/PendleSCYImpl/AaveV3/WadRayMath.sol/WadRayMath.dbg.json +4 -0
  26. package/build/artifacts/contracts/core/PendleSCYImpl/AaveV3/WadRayMath.sol/WadRayMath.json +10 -0
  27. package/build/artifacts/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol/PendleBenQiErc20SCY.dbg.json +4 -0
  28. package/build/artifacts/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol/PendleBenQiErc20SCY.json +761 -0
  29. package/build/artifacts/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol/PendleBtrflyScy.dbg.json +4 -0
  30. package/build/artifacts/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol/PendleBtrflyScy.json +636 -0
  31. package/build/artifacts/contracts/core/PendleSCYImpl/PendleStETHSCY.sol/PendleStEthSCY.dbg.json +4 -0
  32. package/build/artifacts/contracts/core/PendleSCYImpl/PendleStETHSCY.sol/PendleStEthSCY.json +618 -0
  33. package/build/artifacts/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol/PendleYearnVaultScy.dbg.json +4 -0
  34. package/build/artifacts/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol/PendleYearnVaultScy.json +618 -0
  35. package/build/artifacts/contracts/core/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +4 -0
  36. package/build/artifacts/contracts/core/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +339 -0
  37. package/build/artifacts/contracts/core/PendleYieldToken.sol/PendleYieldToken.dbg.json +4 -0
  38. package/build/artifacts/contracts/core/PendleYieldToken.sol/PendleYieldToken.json +808 -0
  39. package/build/artifacts/contracts/core/RouterStatic.sol/RouterStatic.dbg.json +4 -0
  40. package/build/artifacts/contracts/core/RouterStatic.sol/RouterStatic.json +246 -0
  41. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.dbg.json +4 -0
  42. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.json +58 -0
  43. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.dbg.json +4 -0
  44. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.json +714 -0
  45. package/build/artifacts/contracts/core/actions/ActionRedeem.sol/PendleRouterRedeemUpg.dbg.json +4 -0
  46. package/build/artifacts/contracts/core/actions/ActionRedeem.sol/PendleRouterRedeemUpg.json +55 -0
  47. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.dbg.json +4 -0
  48. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.json +485 -0
  49. package/build/artifacts/contracts/core/actions/base/ActionSCYAndOTBase.sol/ActionSCYAndOTBase.dbg.json +4 -0
  50. package/build/artifacts/contracts/core/actions/base/ActionSCYAndOTBase.sol/ActionSCYAndOTBase.json +10 -0
  51. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYOBase.sol/ActionSCYAndYOBase.dbg.json +4 -0
  52. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYOBase.sol/ActionSCYAndYOBase.json +185 -0
  53. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.dbg.json +4 -0
  54. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.json +210 -0
  55. package/build/artifacts/contracts/core/actions/base/ActionType.sol/ActionType.dbg.json +4 -0
  56. package/build/artifacts/contracts/core/actions/base/ActionType.sol/ActionType.json +10 -0
  57. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +4 -0
  58. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.json +213 -0
  59. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +4 -0
  60. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.json +87 -0
  61. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +4 -0
  62. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.json +59 -0
  63. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +4 -0
  64. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.json +44 -0
  65. package/build/artifacts/contracts/interfaces/IJoePair.sol/IJoePair.dbg.json +4 -0
  66. package/build/artifacts/contracts/interfaces/IJoePair.sol/IJoePair.json +662 -0
  67. package/build/artifacts/contracts/interfaces/IJoeRouter01.sol/IJoeRouter01.dbg.json +4 -0
  68. package/build/artifacts/contracts/interfaces/IJoeRouter01.sol/IJoeRouter01.json +760 -0
  69. package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.dbg.json +4 -0
  70. package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.json +519 -0
  71. package/build/artifacts/contracts/interfaces/IPActionRedeem.sol/IPActionRedeem.dbg.json +4 -0
  72. package/build/artifacts/contracts/interfaces/IPActionRedeem.sol/IPActionRedeem.json +55 -0
  73. package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.dbg.json +4 -0
  74. package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.json +270 -0
  75. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +4 -0
  76. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +822 -0
  77. package/build/artifacts/contracts/interfaces/IPBaseToken.sol/IPBaseToken.dbg.json +4 -0
  78. package/build/artifacts/contracts/interfaces/IPBaseToken.sol/IPBaseToken.json +259 -0
  79. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +4 -0
  80. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.json +24 -0
  81. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +4 -0
  82. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +670 -0
  83. package/build/artifacts/contracts/interfaces/IPMarketAddRemoveCallback.sol/IPMarketAddRemoveCallback.dbg.json +4 -0
  84. package/build/artifacts/contracts/interfaces/IPMarketAddRemoveCallback.sol/IPMarketAddRemoveCallback.json +67 -0
  85. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +4 -0
  86. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.json +96 -0
  87. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +4 -0
  88. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.json +34 -0
  89. package/build/artifacts/contracts/interfaces/IPOwnershipToken.sol/IPOwnershipToken.dbg.json +4 -0
  90. package/build/artifacts/contracts/interfaces/IPOwnershipToken.sol/IPOwnershipToken.json +334 -0
  91. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +4 -0
  92. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.json +24 -0
  93. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +4 -0
  94. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +204 -0
  95. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +4 -0
  96. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.json +206 -0
  97. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +4 -0
  98. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.json +595 -0
  99. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +4 -0
  100. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.json +258 -0
  101. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +4 -0
  102. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.json +207 -0
  103. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +4 -0
  104. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.json +92 -0
  105. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +4 -0
  106. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.json +252 -0
  107. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +4 -0
  108. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.json +119 -0
  109. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +4 -0
  110. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.json +62 -0
  111. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +4 -0
  112. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.json +62 -0
  113. package/build/artifacts/contracts/libraries/JoeLibrary.sol/JoeLibrary.dbg.json +4 -0
  114. package/build/artifacts/contracts/libraries/JoeLibrary.sol/JoeLibrary.json +10 -0
  115. package/build/artifacts/contracts/libraries/SCYIndex.sol/SCYIndexLib.dbg.json +4 -0
  116. package/build/artifacts/contracts/libraries/SCYIndex.sol/SCYIndexLib.json +10 -0
  117. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +4 -0
  118. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.json +10 -0
  119. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +4 -0
  120. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.json +10 -0
  121. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.dbg.json +4 -0
  122. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.json +10 -0
  123. package/build/artifacts/contracts/libraries/math/MarketMathAux.sol/MarketMathAux.dbg.json +4 -0
  124. package/build/artifacts/contracts/libraries/math/MarketMathAux.sol/MarketMathAux.json +10 -0
  125. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +4 -0
  126. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.json +10 -0
  127. package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +4 -0
  128. package/build/artifacts/contracts/libraries/math/Math.sol/Math.json +10 -0
  129. package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.dbg.json +4 -0
  130. package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.json +87 -0
  131. package/build/artifacts/contracts/periphery/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.dbg.json +4 -0
  132. package/build/artifacts/contracts/periphery/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.json +37 -0
  133. package/build/artifacts/contracts/periphery/PermissionsV2Upg.sol/PermissionsV2Upg.dbg.json +4 -0
  134. package/build/artifacts/contracts/periphery/PermissionsV2Upg.sol/PermissionsV2Upg.json +24 -0
  135. package/deployments/kovan.json +31 -0
  136. package/package.json +4 -2
  137. package/typechain-types/ActionCallback.ts +5 -5
  138. package/typechain-types/ActionCore.ts +280 -232
  139. package/typechain-types/{ActionSCYAndPYBase.ts → ActionSCYAndYOBase.ts} +54 -54
  140. package/typechain-types/ActionSCYAndYTBase.ts +49 -49
  141. package/typechain-types/ActionYT.ts +140 -92
  142. package/typechain-types/AggregatorV2V3Interface.ts +380 -0
  143. package/typechain-types/BenqiChainlinkOracle.ts +362 -0
  144. package/typechain-types/BoringOwnable.ts +194 -0
  145. package/typechain-types/BoringOwnableData.ts +100 -0
  146. package/typechain-types/BoringOwnableUpg.ts +194 -0
  147. package/typechain-types/BoringOwnableUpgData.ts +100 -0
  148. package/typechain-types/Comptroller.ts +2860 -0
  149. package/typechain-types/ComptrollerErrorReporter.ts +70 -0
  150. package/typechain-types/ComptrollerInterface.ts +881 -0
  151. package/typechain-types/ComptrollerVXStorage.ts +781 -0
  152. package/typechain-types/CrosschainContract.ts +113 -0
  153. package/typechain-types/CrosschainReceiver.ts +347 -0
  154. package/typechain-types/CrosschainSender.ts +210 -0
  155. package/typechain-types/EIP20Interface.ts +337 -0
  156. package/typechain-types/EIP20NonStandardInterface.ts +298 -0
  157. package/typechain-types/ERC20Burnable.ts +473 -0
  158. package/typechain-types/ERC20Locker.ts +91 -0
  159. package/typechain-types/ERC20Premined.ts +473 -0
  160. package/typechain-types/ERC20PresetFixedSupply.ts +473 -0
  161. package/typechain-types/EpochController.ts +195 -0
  162. package/typechain-types/FundKeeper.ts +347 -0
  163. package/typechain-types/GaugeTypeControllerAbstract.ts +546 -0
  164. package/typechain-types/GaugeTypeControllerCrosschain.ts +733 -0
  165. package/typechain-types/GaugeTypeControllerMainchain.ts +604 -0
  166. package/typechain-types/IGaugeController.ts +99 -0
  167. package/typechain-types/ILiquidYieldToken.ts +639 -0
  168. package/typechain-types/ILiquidYieldTokenWrap.ts +790 -0
  169. package/typechain-types/IMessageBus.ts +543 -0
  170. package/typechain-types/IMessageReceiverApp.ts +110 -0
  171. package/typechain-types/IPActionCore.ts +231 -183
  172. package/typechain-types/IPActionYT.ts +91 -43
  173. package/typechain-types/IPAllAction.ts +322 -204
  174. package/typechain-types/IPFlashCallback.ts +115 -0
  175. package/typechain-types/IPLiquidYieldToken.ts +641 -0
  176. package/typechain-types/IPMarket.ts +55 -55
  177. package/typechain-types/IPMarketAddRemoveCallback.ts +10 -10
  178. package/typechain-types/IPMarketCallback.ts +107 -0
  179. package/typechain-types/IPMarketFactory.ts +3 -3
  180. package/typechain-types/IPMarketSwapCallback.ts +5 -5
  181. package/typechain-types/{IPPrincipalToken.ts → IPOwnershipToken.ts} +5 -5
  182. package/typechain-types/IPRouterCore.ts +769 -0
  183. package/typechain-types/IPRouterRedeem.ts +155 -0
  184. package/typechain-types/IPRouterStatic.ts +49 -529
  185. package/typechain-types/IPRouterYT.ts +489 -0
  186. package/typechain-types/IPYieldContractFactory.ts +19 -19
  187. package/typechain-types/IPYieldToken.ts +29 -29
  188. package/typechain-types/IPermissionsV2.ts +87 -0
  189. package/typechain-types/IRainbowBridge.ts +91 -0
  190. package/typechain-types/ISCYRewardIndex.ts +695 -0
  191. package/typechain-types/ISuperComposableYield.ts +0 -13
  192. package/typechain-types/IVEPendleToken.ts +121 -0
  193. package/typechain-types/IXPendle.ts +114 -0
  194. package/typechain-types/InterestRateModel.ts +178 -0
  195. package/typechain-types/JumpRateModel.ts +347 -0
  196. package/typechain-types/LYTBase.ts +721 -0
  197. package/typechain-types/LYTBaseWithRewards.ts +806 -0
  198. package/typechain-types/LYTWrap.ts +872 -0
  199. package/typechain-types/LYTWrapWithRewards.ts +979 -0
  200. package/typechain-types/LiquidityMining.ts +468 -0
  201. package/typechain-types/Maximillion.ts +145 -0
  202. package/typechain-types/Ownable.ts +160 -0
  203. package/typechain-types/PendleAaveV3LYT.ts +808 -0
  204. package/typechain-types/PendleAaveV3SCY.ts +0 -13
  205. package/typechain-types/PendleBaseToken.ts +1 -1
  206. package/typechain-types/PendleBenQiErc20LYT.ts +901 -0
  207. package/typechain-types/PendleBenQiErc20SCY.ts +20 -14
  208. package/typechain-types/PendleBenqiLiquidYieldToken.ts +1013 -0
  209. package/typechain-types/PendleBtrflyLYT.ts +781 -0
  210. package/typechain-types/PendleBtrflyScy.ts +20 -14
  211. package/typechain-types/PendleGauge.ts +469 -0
  212. package/typechain-types/PendleGovernanceManager.ts +5 -5
  213. package/typechain-types/PendleJoeSwapHelper.ts +92 -0
  214. package/typechain-types/PendleLYTMockYT.ts +894 -0
  215. package/typechain-types/PendleLiquidYieldToken.ts +814 -0
  216. package/typechain-types/PendleLiquidYieldTokenBase.ts +941 -0
  217. package/typechain-types/PendleMarket.ts +105 -102
  218. package/typechain-types/PendleMarketFactory.ts +8 -48
  219. package/typechain-types/{PendlePrincipalToken.ts → PendleOwnershipToken.ts} +6 -15
  220. package/typechain-types/PendleRouter01.ts +184 -0
  221. package/typechain-types/PendleRouter02.ts +564 -0
  222. package/typechain-types/PendleRouter03.ts +224 -0
  223. package/typechain-types/PendleRouterBase.ts +126 -0
  224. package/typechain-types/PendleRouterCore.ts +328 -0
  225. package/typechain-types/PendleRouterCoreUpg.ts +798 -0
  226. package/typechain-types/PendleRouterLytAndForge.ts +331 -0
  227. package/typechain-types/PendleRouterMarketBase.ts +82 -0
  228. package/typechain-types/PendleRouterOT.ts +463 -0
  229. package/typechain-types/PendleRouterProxy.ts +335 -0
  230. package/typechain-types/PendleRouterRawTokenOT.ts +865 -0
  231. package/typechain-types/PendleRouterRawTokenYT.ts +520 -0
  232. package/typechain-types/{ActionRedeem.ts → PendleRouterRedeemUpg.ts} +5 -5
  233. package/typechain-types/PendleRouterSCYAndForgeBaseUpg.ts +98 -0
  234. package/typechain-types/PendleRouterStaticUpg.ts +399 -0
  235. package/typechain-types/PendleRouterYT.ts +227 -0
  236. package/typechain-types/PendleRouterYTBaseUpg.ts +134 -0
  237. package/typechain-types/PendleRouterYTUpg.ts +537 -0
  238. package/typechain-types/PendleStEthSCY.ts +23 -15
  239. package/typechain-types/PendleYTLYTBenqi.ts +863 -0
  240. package/typechain-types/PendleYearnVaultLYT.ts +723 -0
  241. package/typechain-types/PendleYearnVaultScy.ts +23 -15
  242. package/typechain-types/PendleYieldContractFactory.ts +28 -28
  243. package/typechain-types/PendleYieldToken.ts +30 -30
  244. package/typechain-types/PermissionsV2.ts +87 -0
  245. package/typechain-types/PermlessAbstract.ts +57 -0
  246. package/typechain-types/PglStakingContract.ts +662 -0
  247. package/typechain-types/PglStakingContractProxy.ts +256 -0
  248. package/typechain-types/PglStakingContractProxyStorage.ts +136 -0
  249. package/typechain-types/PglStakingContractStorage.ts +397 -0
  250. package/typechain-types/PriceOracle.ts +116 -0
  251. package/typechain-types/ProtocolFakeUser.ts +105 -0
  252. package/typechain-types/Qi.ts +760 -0
  253. package/typechain-types/QiAvax.ts +1720 -0
  254. package/typechain-types/QiDelegateInterface.ts +145 -0
  255. package/typechain-types/QiDelegationStorage.ts +82 -0
  256. package/typechain-types/QiDelegatorInterface.ts +149 -0
  257. package/typechain-types/QiErc20.ts +1846 -0
  258. package/typechain-types/QiErc20Delegate.ts +1926 -0
  259. package/typechain-types/QiErc20Delegator.ts +1885 -0
  260. package/typechain-types/QiErc20Interface.ts +382 -0
  261. package/typechain-types/QiErc20Storage.ts +79 -0
  262. package/typechain-types/QiToken.ts +1475 -0
  263. package/typechain-types/QiTokenInterface.ts +1419 -0
  264. package/typechain-types/QiTokenSaleDistributor.ts +771 -0
  265. package/typechain-types/QiTokenSaleDistributorProxy.ts +256 -0
  266. package/typechain-types/QiTokenSaleDistributorProxyStorage.ts +136 -0
  267. package/typechain-types/QiTokenSaleDistributorStorage.ts +401 -0
  268. package/typechain-types/QiTokenStorage.ts +311 -0
  269. package/typechain-types/ReentrancyGuard.ts +52 -0
  270. package/typechain-types/RouterStatic.ts +50 -530
  271. package/typechain-types/SCYBase.ts +0 -13
  272. package/typechain-types/SCYBaseWithRewards.ts +0 -13
  273. package/typechain-types/SingleGaugeTypeController.ts +478 -0
  274. package/typechain-types/TokenErrorReporter.ts +70 -0
  275. package/typechain-types/Unitroller.ts +356 -0
  276. package/typechain-types/UnitrollerAdminStorage.ts +143 -0
  277. package/typechain-types/VePendle.ts +1156 -0
  278. package/typechain-types/VePendleCrosschain.ts +969 -0
  279. package/typechain-types/VePendleToken.ts +688 -0
  280. package/typechain-types/VotingController.ts +883 -0
  281. package/typechain-types/WETH9.ts +414 -0
  282. package/typechain-types/WhitePaperInterestRateModel.ts +304 -0
  283. package/typechain-types/XPendle.ts +618 -0
  284. package/typechain-types/factories/ActionCallback__factory.ts +2 -2
  285. package/typechain-types/factories/ActionCore__factory.ts +91 -127
  286. package/typechain-types/factories/{ActionSCYAndPYBase__factory.ts → ActionSCYAndYOBase__factory.ts} +20 -20
  287. package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +12 -12
  288. package/typechain-types/factories/ActionYT__factory.ts +68 -104
  289. package/typechain-types/factories/AggregatorV2V3Interface__factory.ts +288 -0
  290. package/typechain-types/factories/BenqiChainlinkOracle__factory.ts +311 -0
  291. package/typechain-types/factories/BoringOwnableData__factory.ts +90 -0
  292. package/typechain-types/factories/BoringOwnableUpgData__factory.ts +94 -0
  293. package/typechain-types/factories/BoringOwnableUpg__factory.ts +139 -0
  294. package/typechain-types/factories/BoringOwnable__factory.ts +149 -0
  295. package/typechain-types/factories/ComptrollerErrorReporter__factory.ts +93 -0
  296. package/typechain-types/factories/ComptrollerInterface__factory.ts +595 -0
  297. package/typechain-types/factories/ComptrollerVXStorage__factory.ts +610 -0
  298. package/typechain-types/factories/Comptroller__factory.ts +2189 -0
  299. package/typechain-types/factories/CrosschainContract__factory.ts +52 -0
  300. package/typechain-types/factories/CrosschainReceiver__factory.ts +187 -0
  301. package/typechain-types/factories/CrosschainSender__factory.ts +104 -0
  302. package/typechain-types/factories/EIP20Interface__factory.ts +248 -0
  303. package/typechain-types/factories/EIP20NonStandardInterface__factory.ts +213 -0
  304. package/typechain-types/factories/ERC20Burnable__factory.ts +324 -0
  305. package/typechain-types/factories/ERC20Locker__factory.ts +73 -0
  306. package/typechain-types/factories/ERC20Premined__factory.ts +393 -0
  307. package/typechain-types/factories/ERC20PresetFixedSupply__factory.ts +422 -0
  308. package/typechain-types/factories/EpochController__factory.ts +170 -0
  309. package/typechain-types/factories/FundKeeper__factory.ts +212 -0
  310. package/typechain-types/factories/GaugeTypeControllerAbstract__factory.ts +387 -0
  311. package/typechain-types/factories/GaugeTypeControllerCrosschain__factory.ts +522 -0
  312. package/typechain-types/factories/GaugeTypeControllerMainchain__factory.ts +431 -0
  313. package/typechain-types/factories/IGaugeController__factory.ts +45 -0
  314. package/typechain-types/factories/ILiquidYieldTokenWrap__factory.ts +533 -0
  315. package/typechain-types/factories/ILiquidYieldToken__factory.ts +429 -0
  316. package/typechain-types/factories/IMessageBus__factory.ts +396 -0
  317. package/typechain-types/factories/IMessageReceiverApp__factory.ts +55 -0
  318. package/typechain-types/factories/IPActionCore__factory.ts +78 -114
  319. package/typechain-types/factories/IPActionYT__factory.ts +54 -90
  320. package/typechain-types/factories/IPAllAction__factory.ts +138 -210
  321. package/typechain-types/factories/IPFlashCallback__factory.ts +49 -0
  322. package/typechain-types/factories/IPLiquidYieldToken__factory.ts +433 -0
  323. package/typechain-types/factories/IPMarketAddRemoveCallback__factory.ts +2 -2
  324. package/typechain-types/factories/IPMarketCallback__factory.ts +55 -0
  325. package/typechain-types/factories/IPMarketFactory__factory.ts +1 -1
  326. package/typechain-types/factories/IPMarketSwapCallback__factory.ts +1 -1
  327. package/typechain-types/factories/IPMarket__factory.ts +14 -14
  328. package/typechain-types/factories/{IPPrincipalToken__factory.ts → IPOwnershipToken__factory.ts} +8 -8
  329. package/typechain-types/factories/IPRouterCore__factory.ts +531 -0
  330. package/typechain-types/factories/IPRouterRedeem__factory.ts +72 -0
  331. package/typechain-types/factories/IPRouterStatic__factory.ts +10 -626
  332. package/typechain-types/factories/IPRouterYT__factory.ts +305 -0
  333. package/typechain-types/factories/IPYieldContractFactory__factory.ts +3 -3
  334. package/typechain-types/factories/IPYieldToken__factory.ts +5 -5
  335. package/typechain-types/factories/IPermissionsV2__factory.ts +39 -0
  336. package/typechain-types/factories/IRainbowBridge__factory.ts +76 -0
  337. package/typechain-types/factories/ISCYRewardIndex__factory.ts +465 -0
  338. package/typechain-types/factories/ISuperComposableYield__factory.ts +0 -13
  339. package/typechain-types/factories/IVEPendleToken__factory.ts +71 -0
  340. package/typechain-types/factories/IXPendle__factory.ts +61 -0
  341. package/typechain-types/factories/InterestRateModel__factory.ts +108 -0
  342. package/typechain-types/factories/JumpRateModel__factory.ts +334 -0
  343. package/typechain-types/factories/LYTBaseWithRewards__factory.ts +530 -0
  344. package/typechain-types/factories/LYTBase__factory.ts +474 -0
  345. package/typechain-types/factories/LYTWrapWithRewards__factory.ts +643 -0
  346. package/typechain-types/factories/LYTWrap__factory.ts +574 -0
  347. package/typechain-types/factories/LiquidityMining__factory.ts +367 -0
  348. package/typechain-types/factories/Maximillion__factory.ts +125 -0
  349. package/typechain-types/factories/Ownable__factory.ts +75 -0
  350. package/typechain-types/factories/PendleAaveV3LYT__factory.ts +657 -0
  351. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +1 -24
  352. package/typechain-types/factories/PendleBaseToken__factory.ts +1 -1
  353. package/typechain-types/factories/PendleBenQiErc20LYT__factory.ts +748 -0
  354. package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +15 -25
  355. package/typechain-types/factories/PendleBenqiLiquidYieldToken__factory.ts +785 -0
  356. package/typechain-types/factories/PendleBtrflyLYT__factory.ts +647 -0
  357. package/typechain-types/factories/PendleBtrflyScy__factory.ts +15 -25
  358. package/typechain-types/factories/PendleGauge__factory.ts +383 -0
  359. package/typechain-types/factories/PendleGovernanceManager__factory.ts +2 -2
  360. package/typechain-types/factories/PendleJoeSwapHelper__factory.ts +52 -0
  361. package/typechain-types/factories/PendleLYTMockYT__factory.ts +732 -0
  362. package/typechain-types/factories/PendleLiquidYieldTokenBase__factory.ts +603 -0
  363. package/typechain-types/factories/PendleLiquidYieldToken__factory.ts +510 -0
  364. package/typechain-types/factories/PendleMarketFactory__factory.ts +3 -29
  365. package/typechain-types/factories/PendleMarket__factory.ts +54 -59
  366. package/typechain-types/factories/PendleOwnershipToken__factory.ts +527 -0
  367. package/typechain-types/factories/PendleRouter01__factory.ts +152 -0
  368. package/typechain-types/factories/PendleRouter02__factory.ts +438 -0
  369. package/typechain-types/factories/PendleRouter03__factory.ts +190 -0
  370. package/typechain-types/factories/PendleRouterBase__factory.ts +68 -0
  371. package/typechain-types/factories/PendleRouterCoreUpg__factory.ts +635 -0
  372. package/typechain-types/factories/PendleRouterCore__factory.ts +268 -0
  373. package/typechain-types/factories/PendleRouterLytAndForge__factory.ts +294 -0
  374. package/typechain-types/factories/PendleRouterMarketBase__factory.ts +43 -0
  375. package/typechain-types/factories/PendleRouterOT__factory.ts +372 -0
  376. package/typechain-types/factories/PendleRouterProxy__factory.ts +285 -0
  377. package/typechain-types/factories/PendleRouterRawTokenOT__factory.ts +697 -0
  378. package/typechain-types/factories/PendleRouterRawTokenYT__factory.ts +431 -0
  379. package/typechain-types/factories/{ActionRedeem__factory.ts → PendleRouterRedeemUpg__factory.ts} +26 -19
  380. package/typechain-types/factories/PendleRouterSCYAndForgeBaseUpg__factory.ts +56 -0
  381. package/typechain-types/factories/PendleRouterStaticUpg__factory.ts +315 -0
  382. package/typechain-types/factories/PendleRouterYTBaseUpg__factory.ts +66 -0
  383. package/typechain-types/factories/PendleRouterYTUpg__factory.ts +422 -0
  384. package/typechain-types/factories/PendleRouterYT__factory.ts +184 -0
  385. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  386. package/typechain-types/factories/PendleStEthSCY__factory.ts +17 -27
  387. package/typechain-types/factories/PendleYTLYTBenqi__factory.ts +713 -0
  388. package/typechain-types/factories/PendleYearnVaultLYT__factory.ts +586 -0
  389. package/typechain-types/factories/PendleYearnVaultScy__factory.ts +16 -26
  390. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +6 -6
  391. package/typechain-types/factories/PendleYieldToken__factory.ts +12 -12
  392. package/typechain-types/factories/PermissionsV2__factory.ts +36 -0
  393. package/typechain-types/factories/PermlessAbstract__factory.ts +30 -0
  394. package/typechain-types/factories/PglStakingContractProxyStorage__factory.ts +130 -0
  395. package/typechain-types/factories/PglStakingContractProxy__factory.ts +187 -0
  396. package/typechain-types/factories/PglStakingContractStorage__factory.ts +309 -0
  397. package/typechain-types/factories/PglStakingContract__factory.ts +446 -0
  398. package/typechain-types/factories/PriceOracle__factory.ts +59 -0
  399. package/typechain-types/factories/ProtocolFakeUser__factory.ts +87 -0
  400. package/typechain-types/factories/QiAvax__factory.ts +1471 -0
  401. package/typechain-types/factories/QiDelegateInterface__factory.ts +65 -0
  402. package/typechain-types/factories/QiDelegationStorage__factory.ts +79 -0
  403. package/typechain-types/factories/QiDelegatorInterface__factory.ts +89 -0
  404. package/typechain-types/factories/QiErc20Delegate__factory.ts +1563 -0
  405. package/typechain-types/factories/QiErc20Delegator__factory.ts +1648 -0
  406. package/typechain-types/factories/QiErc20Interface__factory.ts +239 -0
  407. package/typechain-types/factories/QiErc20Storage__factory.ts +79 -0
  408. package/typechain-types/factories/QiErc20__factory.ts +1515 -0
  409. package/typechain-types/factories/QiTokenInterface__factory.ts +1182 -0
  410. package/typechain-types/factories/QiTokenSaleDistributorProxyStorage__factory.ts +124 -0
  411. package/typechain-types/factories/QiTokenSaleDistributorProxy__factory.ts +171 -0
  412. package/typechain-types/factories/QiTokenSaleDistributorStorage__factory.ts +289 -0
  413. package/typechain-types/factories/QiTokenSaleDistributor__factory.ts +480 -0
  414. package/typechain-types/factories/QiTokenStorage__factory.ts +274 -0
  415. package/typechain-types/factories/QiToken__factory.ts +1219 -0
  416. package/typechain-types/factories/Qi__factory.ts +648 -0
  417. package/typechain-types/factories/ReentrancyGuard__factory.ts +69 -0
  418. package/typechain-types/factories/RouterStatic__factory.ts +13 -629
  419. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +0 -13
  420. package/typechain-types/factories/SCYBase__factory.ts +0 -13
  421. package/typechain-types/factories/SingleGaugeTypeController__factory.ts +341 -0
  422. package/typechain-types/factories/TokenErrorReporter__factory.ts +89 -0
  423. package/typechain-types/factories/UnitrollerAdminStorage__factory.ts +128 -0
  424. package/typechain-types/factories/Unitroller__factory.ts +305 -0
  425. package/typechain-types/factories/VePendleCrosschain__factory.ts +727 -0
  426. package/typechain-types/factories/VePendleToken__factory.ts +494 -0
  427. package/typechain-types/factories/VePendle__factory.ts +800 -0
  428. package/typechain-types/factories/VotingController__factory.ts +610 -0
  429. package/typechain-types/factories/WETH9__factory.ts +342 -0
  430. package/typechain-types/factories/WhitePaperInterestRateModel__factory.ts +281 -0
  431. package/typechain-types/factories/XPendle__factory.ts +473 -0
  432. package/typechain-types/hardhat.d.ts +20 -20
  433. package/typechain-types/index.ts +8 -8
  434. package/typechain-types/factories/PendlePrincipalToken__factory.ts +0 -540
@@ -0,0 +1,837 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "PendleMarket",
4
+ "sourceName": "contracts/core/PendleMarket.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_OT",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "int256",
15
+ "name": "_scalarRoot",
16
+ "type": "int256"
17
+ },
18
+ {
19
+ "internalType": "int256",
20
+ "name": "_initialAnchor",
21
+ "type": "int256"
22
+ }
23
+ ],
24
+ "stateMutability": "nonpayable",
25
+ "type": "constructor"
26
+ },
27
+ {
28
+ "anonymous": false,
29
+ "inputs": [
30
+ {
31
+ "indexed": true,
32
+ "internalType": "address",
33
+ "name": "receiver",
34
+ "type": "address"
35
+ },
36
+ {
37
+ "indexed": false,
38
+ "internalType": "uint256",
39
+ "name": "lpToAccount",
40
+ "type": "uint256"
41
+ },
42
+ {
43
+ "indexed": false,
44
+ "internalType": "uint256",
45
+ "name": "scyUsed",
46
+ "type": "uint256"
47
+ },
48
+ {
49
+ "indexed": false,
50
+ "internalType": "uint256",
51
+ "name": "otUsed",
52
+ "type": "uint256"
53
+ }
54
+ ],
55
+ "name": "AddLiquidity",
56
+ "type": "event"
57
+ },
58
+ {
59
+ "anonymous": false,
60
+ "inputs": [
61
+ {
62
+ "indexed": true,
63
+ "internalType": "address",
64
+ "name": "owner",
65
+ "type": "address"
66
+ },
67
+ {
68
+ "indexed": true,
69
+ "internalType": "address",
70
+ "name": "spender",
71
+ "type": "address"
72
+ },
73
+ {
74
+ "indexed": false,
75
+ "internalType": "uint256",
76
+ "name": "value",
77
+ "type": "uint256"
78
+ }
79
+ ],
80
+ "name": "Approval",
81
+ "type": "event"
82
+ },
83
+ {
84
+ "anonymous": false,
85
+ "inputs": [
86
+ {
87
+ "indexed": true,
88
+ "internalType": "address",
89
+ "name": "receiver",
90
+ "type": "address"
91
+ },
92
+ {
93
+ "indexed": false,
94
+ "internalType": "uint256",
95
+ "name": "lpRemoved",
96
+ "type": "uint256"
97
+ },
98
+ {
99
+ "indexed": false,
100
+ "internalType": "uint256",
101
+ "name": "scyToAccount",
102
+ "type": "uint256"
103
+ },
104
+ {
105
+ "indexed": false,
106
+ "internalType": "uint256",
107
+ "name": "otToAccount",
108
+ "type": "uint256"
109
+ }
110
+ ],
111
+ "name": "RemoveLiquidity",
112
+ "type": "event"
113
+ },
114
+ {
115
+ "anonymous": false,
116
+ "inputs": [
117
+ {
118
+ "indexed": true,
119
+ "internalType": "address",
120
+ "name": "receiver",
121
+ "type": "address"
122
+ },
123
+ {
124
+ "indexed": false,
125
+ "internalType": "int256",
126
+ "name": "otToAccount",
127
+ "type": "int256"
128
+ },
129
+ {
130
+ "indexed": false,
131
+ "internalType": "int256",
132
+ "name": "scyToAccount",
133
+ "type": "int256"
134
+ },
135
+ {
136
+ "indexed": false,
137
+ "internalType": "uint256",
138
+ "name": "netScyToReserve",
139
+ "type": "uint256"
140
+ }
141
+ ],
142
+ "name": "Swap",
143
+ "type": "event"
144
+ },
145
+ {
146
+ "anonymous": false,
147
+ "inputs": [
148
+ {
149
+ "indexed": true,
150
+ "internalType": "address",
151
+ "name": "from",
152
+ "type": "address"
153
+ },
154
+ {
155
+ "indexed": true,
156
+ "internalType": "address",
157
+ "name": "to",
158
+ "type": "address"
159
+ },
160
+ {
161
+ "indexed": false,
162
+ "internalType": "uint256",
163
+ "name": "value",
164
+ "type": "uint256"
165
+ }
166
+ ],
167
+ "name": "Transfer",
168
+ "type": "event"
169
+ },
170
+ {
171
+ "anonymous": false,
172
+ "inputs": [
173
+ {
174
+ "indexed": true,
175
+ "internalType": "uint256",
176
+ "name": "timestamp",
177
+ "type": "uint256"
178
+ },
179
+ {
180
+ "indexed": false,
181
+ "internalType": "uint256",
182
+ "name": "lnLastImpliedRate",
183
+ "type": "uint256"
184
+ }
185
+ ],
186
+ "name": "UpdateImpliedRate",
187
+ "type": "event"
188
+ },
189
+ {
190
+ "inputs": [],
191
+ "name": "OT",
192
+ "outputs": [
193
+ {
194
+ "internalType": "address",
195
+ "name": "",
196
+ "type": "address"
197
+ }
198
+ ],
199
+ "stateMutability": "view",
200
+ "type": "function"
201
+ },
202
+ {
203
+ "inputs": [],
204
+ "name": "SCY",
205
+ "outputs": [
206
+ {
207
+ "internalType": "address",
208
+ "name": "",
209
+ "type": "address"
210
+ }
211
+ ],
212
+ "stateMutability": "view",
213
+ "type": "function"
214
+ },
215
+ {
216
+ "inputs": [],
217
+ "name": "YT",
218
+ "outputs": [
219
+ {
220
+ "internalType": "address",
221
+ "name": "",
222
+ "type": "address"
223
+ }
224
+ ],
225
+ "stateMutability": "view",
226
+ "type": "function"
227
+ },
228
+ {
229
+ "inputs": [
230
+ {
231
+ "internalType": "address",
232
+ "name": "receiver",
233
+ "type": "address"
234
+ },
235
+ {
236
+ "internalType": "uint256",
237
+ "name": "scyDesired",
238
+ "type": "uint256"
239
+ },
240
+ {
241
+ "internalType": "uint256",
242
+ "name": "otDesired",
243
+ "type": "uint256"
244
+ },
245
+ {
246
+ "internalType": "bytes",
247
+ "name": "data",
248
+ "type": "bytes"
249
+ }
250
+ ],
251
+ "name": "addLiquidity",
252
+ "outputs": [
253
+ {
254
+ "internalType": "uint256",
255
+ "name": "lpToAccount",
256
+ "type": "uint256"
257
+ },
258
+ {
259
+ "internalType": "uint256",
260
+ "name": "scyUsed",
261
+ "type": "uint256"
262
+ },
263
+ {
264
+ "internalType": "uint256",
265
+ "name": "otUsed",
266
+ "type": "uint256"
267
+ }
268
+ ],
269
+ "stateMutability": "nonpayable",
270
+ "type": "function"
271
+ },
272
+ {
273
+ "inputs": [
274
+ {
275
+ "internalType": "address",
276
+ "name": "owner",
277
+ "type": "address"
278
+ },
279
+ {
280
+ "internalType": "address",
281
+ "name": "spender",
282
+ "type": "address"
283
+ }
284
+ ],
285
+ "name": "allowance",
286
+ "outputs": [
287
+ {
288
+ "internalType": "uint256",
289
+ "name": "",
290
+ "type": "uint256"
291
+ }
292
+ ],
293
+ "stateMutability": "view",
294
+ "type": "function"
295
+ },
296
+ {
297
+ "inputs": [
298
+ {
299
+ "internalType": "address",
300
+ "name": "spender",
301
+ "type": "address"
302
+ },
303
+ {
304
+ "internalType": "uint256",
305
+ "name": "amount",
306
+ "type": "uint256"
307
+ }
308
+ ],
309
+ "name": "approve",
310
+ "outputs": [
311
+ {
312
+ "internalType": "bool",
313
+ "name": "",
314
+ "type": "bool"
315
+ }
316
+ ],
317
+ "stateMutability": "nonpayable",
318
+ "type": "function"
319
+ },
320
+ {
321
+ "inputs": [
322
+ {
323
+ "internalType": "address",
324
+ "name": "account",
325
+ "type": "address"
326
+ }
327
+ ],
328
+ "name": "balanceOf",
329
+ "outputs": [
330
+ {
331
+ "internalType": "uint256",
332
+ "name": "",
333
+ "type": "uint256"
334
+ }
335
+ ],
336
+ "stateMutability": "view",
337
+ "type": "function"
338
+ },
339
+ {
340
+ "inputs": [],
341
+ "name": "decimals",
342
+ "outputs": [
343
+ {
344
+ "internalType": "uint8",
345
+ "name": "",
346
+ "type": "uint8"
347
+ }
348
+ ],
349
+ "stateMutability": "view",
350
+ "type": "function"
351
+ },
352
+ {
353
+ "inputs": [
354
+ {
355
+ "internalType": "address",
356
+ "name": "spender",
357
+ "type": "address"
358
+ },
359
+ {
360
+ "internalType": "uint256",
361
+ "name": "subtractedValue",
362
+ "type": "uint256"
363
+ }
364
+ ],
365
+ "name": "decreaseAllowance",
366
+ "outputs": [
367
+ {
368
+ "internalType": "bool",
369
+ "name": "",
370
+ "type": "bool"
371
+ }
372
+ ],
373
+ "stateMutability": "nonpayable",
374
+ "type": "function"
375
+ },
376
+ {
377
+ "inputs": [],
378
+ "name": "expiry",
379
+ "outputs": [
380
+ {
381
+ "internalType": "uint256",
382
+ "name": "",
383
+ "type": "uint256"
384
+ }
385
+ ],
386
+ "stateMutability": "view",
387
+ "type": "function"
388
+ },
389
+ {
390
+ "inputs": [],
391
+ "name": "factory",
392
+ "outputs": [
393
+ {
394
+ "internalType": "address",
395
+ "name": "",
396
+ "type": "address"
397
+ }
398
+ ],
399
+ "stateMutability": "view",
400
+ "type": "function"
401
+ },
402
+ {
403
+ "inputs": [
404
+ {
405
+ "internalType": "address",
406
+ "name": "spender",
407
+ "type": "address"
408
+ },
409
+ {
410
+ "internalType": "uint256",
411
+ "name": "addedValue",
412
+ "type": "uint256"
413
+ }
414
+ ],
415
+ "name": "increaseAllowance",
416
+ "outputs": [
417
+ {
418
+ "internalType": "bool",
419
+ "name": "",
420
+ "type": "bool"
421
+ }
422
+ ],
423
+ "stateMutability": "nonpayable",
424
+ "type": "function"
425
+ },
426
+ {
427
+ "inputs": [],
428
+ "name": "initialAnchor",
429
+ "outputs": [
430
+ {
431
+ "internalType": "int256",
432
+ "name": "",
433
+ "type": "int256"
434
+ }
435
+ ],
436
+ "stateMutability": "view",
437
+ "type": "function"
438
+ },
439
+ {
440
+ "inputs": [],
441
+ "name": "isExpired",
442
+ "outputs": [
443
+ {
444
+ "internalType": "bool",
445
+ "name": "res",
446
+ "type": "bool"
447
+ }
448
+ ],
449
+ "stateMutability": "view",
450
+ "type": "function"
451
+ },
452
+ {
453
+ "inputs": [],
454
+ "name": "marketStorage",
455
+ "outputs": [
456
+ {
457
+ "internalType": "int128",
458
+ "name": "totalOt",
459
+ "type": "int128"
460
+ },
461
+ {
462
+ "internalType": "int128",
463
+ "name": "totalScy",
464
+ "type": "int128"
465
+ },
466
+ {
467
+ "internalType": "uint112",
468
+ "name": "lastLnImpliedRate",
469
+ "type": "uint112"
470
+ },
471
+ {
472
+ "internalType": "uint112",
473
+ "name": "oracleRate",
474
+ "type": "uint112"
475
+ },
476
+ {
477
+ "internalType": "uint32",
478
+ "name": "lastTradeTime",
479
+ "type": "uint32"
480
+ }
481
+ ],
482
+ "stateMutability": "view",
483
+ "type": "function"
484
+ },
485
+ {
486
+ "inputs": [],
487
+ "name": "name",
488
+ "outputs": [
489
+ {
490
+ "internalType": "string",
491
+ "name": "",
492
+ "type": "string"
493
+ }
494
+ ],
495
+ "stateMutability": "view",
496
+ "type": "function"
497
+ },
498
+ {
499
+ "inputs": [
500
+ {
501
+ "internalType": "bool",
502
+ "name": "updateRateOracle",
503
+ "type": "bool"
504
+ }
505
+ ],
506
+ "name": "readState",
507
+ "outputs": [
508
+ {
509
+ "components": [
510
+ {
511
+ "internalType": "int256",
512
+ "name": "totalOt",
513
+ "type": "int256"
514
+ },
515
+ {
516
+ "internalType": "int256",
517
+ "name": "totalScy",
518
+ "type": "int256"
519
+ },
520
+ {
521
+ "internalType": "int256",
522
+ "name": "totalLp",
523
+ "type": "int256"
524
+ },
525
+ {
526
+ "internalType": "uint256",
527
+ "name": "oracleRate",
528
+ "type": "uint256"
529
+ },
530
+ {
531
+ "internalType": "address",
532
+ "name": "treasury",
533
+ "type": "address"
534
+ },
535
+ {
536
+ "internalType": "int256",
537
+ "name": "scalarRoot",
538
+ "type": "int256"
539
+ },
540
+ {
541
+ "internalType": "uint256",
542
+ "name": "lnFeeRateRoot",
543
+ "type": "uint256"
544
+ },
545
+ {
546
+ "internalType": "uint256",
547
+ "name": "rateOracleTimeWindow",
548
+ "type": "uint256"
549
+ },
550
+ {
551
+ "internalType": "uint256",
552
+ "name": "expiry",
553
+ "type": "uint256"
554
+ },
555
+ {
556
+ "internalType": "uint256",
557
+ "name": "reserveFeePercent",
558
+ "type": "uint256"
559
+ },
560
+ {
561
+ "internalType": "uint256",
562
+ "name": "lastLnImpliedRate",
563
+ "type": "uint256"
564
+ },
565
+ {
566
+ "internalType": "uint256",
567
+ "name": "lastTradeTime",
568
+ "type": "uint256"
569
+ }
570
+ ],
571
+ "internalType": "struct MarketState",
572
+ "name": "market",
573
+ "type": "tuple"
574
+ }
575
+ ],
576
+ "stateMutability": "view",
577
+ "type": "function"
578
+ },
579
+ {
580
+ "inputs": [],
581
+ "name": "readTokens",
582
+ "outputs": [
583
+ {
584
+ "internalType": "contract ISuperComposableYield",
585
+ "name": "_SCY",
586
+ "type": "address"
587
+ },
588
+ {
589
+ "internalType": "contract IPOwnershipToken",
590
+ "name": "_OT",
591
+ "type": "address"
592
+ },
593
+ {
594
+ "internalType": "contract IPYieldToken",
595
+ "name": "_YT",
596
+ "type": "address"
597
+ }
598
+ ],
599
+ "stateMutability": "view",
600
+ "type": "function"
601
+ },
602
+ {
603
+ "inputs": [],
604
+ "name": "redeemScyReward",
605
+ "outputs": [
606
+ {
607
+ "internalType": "uint256[]",
608
+ "name": "outAmounts",
609
+ "type": "uint256[]"
610
+ }
611
+ ],
612
+ "stateMutability": "nonpayable",
613
+ "type": "function"
614
+ },
615
+ {
616
+ "inputs": [
617
+ {
618
+ "internalType": "address",
619
+ "name": "receiver",
620
+ "type": "address"
621
+ },
622
+ {
623
+ "internalType": "uint256",
624
+ "name": "lpToRemove",
625
+ "type": "uint256"
626
+ },
627
+ {
628
+ "internalType": "bytes",
629
+ "name": "data",
630
+ "type": "bytes"
631
+ }
632
+ ],
633
+ "name": "removeLiquidity",
634
+ "outputs": [
635
+ {
636
+ "internalType": "uint256",
637
+ "name": "scyToAccount",
638
+ "type": "uint256"
639
+ },
640
+ {
641
+ "internalType": "uint256",
642
+ "name": "otToAccount",
643
+ "type": "uint256"
644
+ }
645
+ ],
646
+ "stateMutability": "nonpayable",
647
+ "type": "function"
648
+ },
649
+ {
650
+ "inputs": [],
651
+ "name": "scalarRoot",
652
+ "outputs": [
653
+ {
654
+ "internalType": "int256",
655
+ "name": "",
656
+ "type": "int256"
657
+ }
658
+ ],
659
+ "stateMutability": "view",
660
+ "type": "function"
661
+ },
662
+ {
663
+ "inputs": [
664
+ {
665
+ "internalType": "address",
666
+ "name": "receiver",
667
+ "type": "address"
668
+ },
669
+ {
670
+ "internalType": "uint256",
671
+ "name": "exactOtIn",
672
+ "type": "uint256"
673
+ },
674
+ {
675
+ "internalType": "uint256",
676
+ "name": "minScyOut",
677
+ "type": "uint256"
678
+ },
679
+ {
680
+ "internalType": "bytes",
681
+ "name": "data",
682
+ "type": "bytes"
683
+ }
684
+ ],
685
+ "name": "swapExactOtForScy",
686
+ "outputs": [
687
+ {
688
+ "internalType": "uint256",
689
+ "name": "netScyOut",
690
+ "type": "uint256"
691
+ },
692
+ {
693
+ "internalType": "uint256",
694
+ "name": "netScyToReserve",
695
+ "type": "uint256"
696
+ }
697
+ ],
698
+ "stateMutability": "nonpayable",
699
+ "type": "function"
700
+ },
701
+ {
702
+ "inputs": [
703
+ {
704
+ "internalType": "address",
705
+ "name": "receiver",
706
+ "type": "address"
707
+ },
708
+ {
709
+ "internalType": "uint256",
710
+ "name": "exactOtOut",
711
+ "type": "uint256"
712
+ },
713
+ {
714
+ "internalType": "uint256",
715
+ "name": "maxScyIn",
716
+ "type": "uint256"
717
+ },
718
+ {
719
+ "internalType": "bytes",
720
+ "name": "data",
721
+ "type": "bytes"
722
+ }
723
+ ],
724
+ "name": "swapScyForExactOt",
725
+ "outputs": [
726
+ {
727
+ "internalType": "uint256",
728
+ "name": "netScyIn",
729
+ "type": "uint256"
730
+ },
731
+ {
732
+ "internalType": "uint256",
733
+ "name": "netScyToReserve",
734
+ "type": "uint256"
735
+ }
736
+ ],
737
+ "stateMutability": "nonpayable",
738
+ "type": "function"
739
+ },
740
+ {
741
+ "inputs": [],
742
+ "name": "symbol",
743
+ "outputs": [
744
+ {
745
+ "internalType": "string",
746
+ "name": "",
747
+ "type": "string"
748
+ }
749
+ ],
750
+ "stateMutability": "view",
751
+ "type": "function"
752
+ },
753
+ {
754
+ "inputs": [],
755
+ "name": "timeCreated",
756
+ "outputs": [
757
+ {
758
+ "internalType": "uint256",
759
+ "name": "",
760
+ "type": "uint256"
761
+ }
762
+ ],
763
+ "stateMutability": "view",
764
+ "type": "function"
765
+ },
766
+ {
767
+ "inputs": [],
768
+ "name": "totalSupply",
769
+ "outputs": [
770
+ {
771
+ "internalType": "uint256",
772
+ "name": "",
773
+ "type": "uint256"
774
+ }
775
+ ],
776
+ "stateMutability": "view",
777
+ "type": "function"
778
+ },
779
+ {
780
+ "inputs": [
781
+ {
782
+ "internalType": "address",
783
+ "name": "to",
784
+ "type": "address"
785
+ },
786
+ {
787
+ "internalType": "uint256",
788
+ "name": "amount",
789
+ "type": "uint256"
790
+ }
791
+ ],
792
+ "name": "transfer",
793
+ "outputs": [
794
+ {
795
+ "internalType": "bool",
796
+ "name": "",
797
+ "type": "bool"
798
+ }
799
+ ],
800
+ "stateMutability": "nonpayable",
801
+ "type": "function"
802
+ },
803
+ {
804
+ "inputs": [
805
+ {
806
+ "internalType": "address",
807
+ "name": "from",
808
+ "type": "address"
809
+ },
810
+ {
811
+ "internalType": "address",
812
+ "name": "to",
813
+ "type": "address"
814
+ },
815
+ {
816
+ "internalType": "uint256",
817
+ "name": "amount",
818
+ "type": "uint256"
819
+ }
820
+ ],
821
+ "name": "transferFrom",
822
+ "outputs": [
823
+ {
824
+ "internalType": "bool",
825
+ "name": "",
826
+ "type": "bool"
827
+ }
828
+ ],
829
+ "stateMutability": "nonpayable",
830
+ "type": "function"
831
+ }
832
+ ],
833
+ "bytecode": "0x6101a06040523480156200001257600080fd5b50604051620045c2380380620045c2833981016040819052620000359162000379565b6040518060400160405280600d81526020016c14195b991b194813585c9ad95d609a1b8152506040518060400160405280600a8152602001691411539113114b53141560b21b8152506012856001600160a01b031663e184c9be6040518163ffffffff1660e01b815260040160206040518083038186803b158015620000ba57600080fd5b505afa158015620000cf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000f59190620003b1565b8351849084906200010e906003906020850190620002b6565b50805162000124906004906020840190620002b6565b5050504281116200016c5760405162461bcd60e51b815260206004820152600e60248201526d494e56414c49445f45585049525960901b604482015260640160405180910390fd5b60ff9091166080524260a05260c05250503360e05260016005556001600160a01b038316610100819052604080516323dfd63160e11b815290516347bfac6291600480820192602092909190829003018186803b158015620001cd57600080fd5b505afa158015620001e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002089190620003cb565b6001600160a01b0316610120816001600160a01b031681525050826001600160a01b031663781c18db6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200025c57600080fd5b505afa15801562000271573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002979190620003cb565b6001600160a01b0316610140526101609190915261018052506200042d565b828054620002c490620003f0565b90600052602060002090601f016020900481019282620002e8576000855562000333565b82601f106200030357805160ff191683800117855562000333565b8280016001018555821562000333579182015b828111156200033357825182559160200191906001019062000316565b506200034192915062000345565b5090565b5b8082111562000341576000815560010162000346565b80516001600160a01b03811681146200037457600080fd5b919050565b6000806000606084860312156200038f57600080fd5b6200039a846200035c565b925060208401519150604084015190509250925092565b600060208284031215620003c457600080fd5b5051919050565b600060208284031215620003de57600080fd5b620003e9826200035c565b9392505050565b600181811c908216806200040557607f821691505b602082108114156200042757634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05160e051610100516101205161014051610160516101805161406e62000554600039600081816104540152610e730152600081816104bc0152610a6a01526000818161022f015261041a0152600081816101e201528181610373015281816106790152818161070a01528181610b7901528181610c3a01528181610cea01528181610e2701528181610fda01528181611132015281816112e90152818161137101526113ab0152600081816102070152818161050a01528181610c0001528181610f2801528181611166015261145b0152600081816104e3015281816107b001526109ac0152600081816102600152818161054401528181610a9001528181610b2601526112960152600061056b0152600061028e015261406e6000f3fe608060405234801561001057600080fd5b50600436106101545760003560e01c806306fdde0314610159578063095ea7b31461017757806318160ddd1461019a57806323b872dd146101ac5780632b20096c146101bf5780632c8ce6bc146101d45780632f13b60c1461025e578063313ce5671461028757806339509351146102b857806339e718f6146102cb57806341af0709146102eb57806347bfac621461036e5780634f7b3d2f146103a25780635308fcb1146103ca57806370a08231146103ec578063781c18db14610415578063863cb94e1461043c57806391e7c0151461044f57806395d89b411461047657806399bc99981461047e578063a457c2d714610491578063a9059cbb146104a4578063af247da3146104b7578063c45a0155146104de578063c836545a14610505578063dd62ed3e1461052c578063e184c9be1461053f578063f1653f6e14610566575b600080fd5b61016161058d565b60405161016e91906136ce565b60405180910390f35b61018a610185366004613719565b61061f565b604051901515815260200161016e565b6002545b60405190815260200161016e565b61018a6101ba366004613745565b610639565b6101c761065f565b60405161016e9190613786565b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f0000000000000000000000000000000000000000000000000000000000000000811660208301527f0000000000000000000000000000000000000000000000000000000000000000169181019190915260600161016e565b7f000000000000000000000000000000000000000000000000000000000000000042101561018a565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161016e565b61018a6102c6366004613719565b6108a2565b6102de6102d93660046137d8565b6108e1565b60405161016e91906137f5565b60065460075461032d91600f81810b92600160801b909204900b906001600160701b0380821691600160701b810490911690600160e01b900463ffffffff1685565b60408051600f96870b81529490950b60208501526001600160701b039283169484019490945216606082015263ffffffff909116608082015260a00161016e565b6103957f000000000000000000000000000000000000000000000000000000000000000081565b60405161016e919061388f565b6103b56103b03660046138eb565b610af0565b6040805192835260208301919091520161016e565b6103dd6103d83660046138eb565b610de5565b60405161016e93929190613954565b61019e6103fa36600461396a565b6001600160a01b031660009081526020819052604090205490565b6103957f000000000000000000000000000000000000000000000000000000000000000081565b6103b561044a366004613987565b6110db565b61019e7f000000000000000000000000000000000000000000000000000000000000000081565b61016161125a565b6103b561048c3660046138eb565b611269565b61018a61049f366004613719565b61152a565b61018a6104b2366004613719565b6115c7565b61019e7f000000000000000000000000000000000000000000000000000000000000000081565b6103957f000000000000000000000000000000000000000000000000000000000000000081565b6103957f000000000000000000000000000000000000000000000000000000000000000081565b61019e61053a3660046139e2565b6115d5565b61019e7f000000000000000000000000000000000000000000000000000000000000000081565b61019e7f000000000000000000000000000000000000000000000000000000000000000081565b60606003805461059c90613a1b565b80601f01602080910402602001604051908101604052809291908181526020018280546105c890613a1b565b80156106155780601f106105ea57610100808354040283529160200191610615565b820191906000526020600020905b8154815290600101906020018083116105f857829003601f168201915b5050505050905090565b60003361062d818585611600565b60019150505b92915050565b600033610647858285611724565b61065285858561179e565b60019150505b9392505050565b6040516359436f3b60e11b81526060906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b286de76906106ae90309060040161388f565b600060405180830381600087803b1580156106c857600080fd5b505af11580156106dc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107049190810190613ab9565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c4f59f9b6040518163ffffffff1660e01b815260040160006040518083038186803b15801561076157600080fd5b505afa158015610775573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261079d9190810190613b43565b905060005b815181101561089d5761088b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166361d027b36040518163ffffffff1660e01b815260040160206040518083038186803b15801561080757600080fd5b505afa15801561081b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083f9190613bd1565b84838151811061085157610851613bee565b602002602001015184848151811061086b5761086b613bee565b60200260200101516001600160a01b031661195a9092919063ffffffff16565b8061089581613c1a565b9150506107a2565b505090565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061062d90829086906108dc908790613c35565b611600565b61094e6040518061018001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60068054600f81810b8452600160801b909104900b602083015261097961097460025490565b6119b1565b6040838101919091526001820154600160701b90046001600160701b0316606084015280516308f044f760e21b815290517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916323c113dc916004808301926080929190829003018186803b1580156109fa57600080fd5b505afa158015610a0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a329190613c4d565b60ff1661012086015263ffffffff90811660e08601526001600160601b0390911660c08501526001600160a01b0390911660808401527f000000000000000000000000000000000000000000000000000000000000000060a08401527f000000000000000000000000000000000000000000000000000000000000000061010084015260018201546001600160701b038116610140850152600160e01b9004166101608301528215610aea57610ae882426119c7565b505b50919050565b60008060026005541415610b1f5760405162461bcd60e51b8152600401610b1690613cc7565b60405180910390fd5b60026005557f00000000000000000000000000000000000000000000000000000000000000004210610b635760405162461bcd60e51b8152600401610b1690613cfe565b6000610b6f60016108e1565b9050610ba8610b9d7f0000000000000000000000000000000000000000000000000000000000000000611a95565b829089426001611b0a565b909350915085831115610bf35760405162461bcd60e51b81526020600482015260136024820152721cd8de481a5b88195e18d95959081b1a5b5a5d606a1b6044820152606401610b16565b610c276001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016898961195a565b6080810151610c61906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016908461195a565b8315610cd3573363fa483e72610c76896119b1565b610c7f86611b53565b88886040518563ffffffff1660e01b8152600401610ca09493929190613d4f565b600060405180830381600087803b158015610cba57600080fd5b505af1158015610cce573d6000803e3d6000fd5b505050505b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610d1f90309060040161388f565b60206040518083038186803b158015610d3757600080fd5b505afa158015610d4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6f9190613d79565b610d7c8260200151611b67565b1115610d8757600080fd5b610d9081611b76565b876001600160a01b0316600080516020613ff9833981519152610db2896119b1565b610dbb86611b53565b85604051610dcb93929190613954565b60405180910390a250600160055590969095509350505050565b600080600060026005541415610e0d5760405162461bcd60e51b8152600401610b1690613cc7565b60026005556000610e1e60016108e1565b90506000610e4b7f0000000000000000000000000000000000000000000000000000000000000000611a95565b90506000610e5d83838c8c6001611c9f565b9198509650945090508015610ea357610e9883837f000000000000000000000000000000000000000000000000000000000000000042611d0c565b610ea3600182611da1565b610ead8b87611da1565b8615610f115760405163096006e960e11b815233906312c00dd290610ede908990899089908e908e90600401613d92565b600060405180830381600087803b158015610ef857600080fd5b505af1158015610f0c573d6000803e3d6000fd5b505050505b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610f5d90309060040161388f565b60206040518083038186803b158015610f7557600080fd5b505afa158015610f89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fad9190613d79565b8351610fb890611b67565b1115610fc357600080fd5b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a082319061100f90309060040161388f565b60206040518083038186803b15801561102757600080fd5b505afa15801561103b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105f9190613d79565b61106c8460200151611b67565b111561107757600080fd5b61108083611b76565b8a6001600160a01b03167fbeb3885786d637a474cbc287c0a44587231633a077f0bd30354d5a4b18996fce8787876040516110bd93929190613954565b60405180910390a25050506001600581905550955095509592505050565b600080600260055414156111015760405162461bcd60e51b8152600401610b1690613cc7565b6002600555600061111260016108e1565b905061112081876001611e6e565b90935091506111596001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016888561195a565b61118d6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016888461195a565b83156111f15760405163c70cd41360e01b8152339063c70cd413906111be908990879087908b908b90600401613d92565b600060405180830381600087803b1580156111d857600080fd5b505af11580156111ec573d6000803e3d6000fd5b505050505b6111fb3087611eab565b61120481611b76565b866001600160a01b03167f59c3a0b60c6ab7deb62e1440c9e72441db6db7dfe514dba8cb18e60c0d896efa87858560405161124193929190613954565b60405180910390a2506001600555909590945092505050565b60606004805461059c90613a1b565b6000806002600554141561128f5760405162461bcd60e51b8152600401610b1690613cc7565b60026005557f000000000000000000000000000000000000000000000000000000000000000042106112d35760405162461bcd60e51b8152600401610b1690613cfe565b60006112df60016108e1565b905061131861130d7f0000000000000000000000000000000000000000000000000000000000000000611a95565b829089426001611fe7565b9093509150858310156113645760405162461bcd60e51b81526020600482015260146024820152731a5b9cdd59999a58da595b9d081cd8de481bdd5d60621b6044820152606401610b16565b6113986001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016898561195a565b60808101516113d2906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016908461195a565b8315611444573363fa483e726113e789611b53565b6113f0866119b1565b88886040518563ffffffff1660e01b81526004016114119493929190613d4f565b600060405180830381600087803b15801561142b57600080fd5b505af115801561143f573d6000803e3d6000fd5b505050505b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a082319061149090309060040161388f565b60206040518083038186803b1580156114a857600080fd5b505afa1580156114bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e09190613d79565b81516114eb90611b67565b11156114f657600080fd5b6114ff81611b76565b876001600160a01b0316600080516020613ff983398151915261152189611b53565b610dbb866119b1565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156115af5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610b16565b6115bc8286868403611600565b506001949350505050565b60003361062d81858561179e565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166116625760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b16565b6001600160a01b0382166116c35760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b16565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061173084846115d5565b90506000198114611798578181101561178b5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610b16565b6117988484848403611600565b50505050565b6001600160a01b0383166118025760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610b16565b6001600160a01b0382166118645760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610b16565b6001600160a01b038316600090815260208190526040902054818110156118dc5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610b16565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611913908490613c35565b92505081905550826001600160a01b0316846001600160a01b03166000805160206140198339815191528460405161194d91815260200190565b60405180910390a3611798565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526119ac908490612008565b505050565b6000600160ff1b82106119c357600080fd5b5090565b60008183610160015111156119e9575061014082015160608301819052610633565b6000836101600151836119fc9190613db8565b90508360e00151811115611a1e57505061014082015160608301819052610633565b6000611a378560e00151836120da90919063ffffffff16565b90506000611a4d82670de0b6b3a7640000613db8565b90506000611a6882886060015161210990919063ffffffff16565b610160880151611a789085612109565b611a829190613c35565b6060880181905294505050505092915050565b6000816001600160a01b031663f65d6fc86040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611ad257600080fd5b505af1158015611ae6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106339190613d79565b600080600080611b258989611b1e8a6119b1565b8989612127565b91509150611b3a611b35836121f2565b611b67565b9350611b4581611b67565b925050509550959350505050565b6000611b5e826119b1565b61063390613dcf565b6000808212156119c357600080fd5b8051600690611b84906121fd565b81546001600160801b0319166001600160801b03919091161781556020820151611bad906121fd565b81546001600160801b03918216600160801b029116178155610140820151611bd49061220f565b6001820180546001600160701b0319166001600160701b03929092169190911790556060820151611c049061220f565b81600101600e6101000a8154816001600160701b0302191690836001600160701b03160217905550611c3a826101600151612221565b81600101601c6101000a81548163ffffffff021916908363ffffffff160217905550427f5c0e21d57bb4cf91d8fe238d6f92e2685a695371b19209afcce6217b478f83e1836101400151604051611c9391815260200190565b60405180910390a25050565b600080600080600080600080611cc88d8d611cb98e6119b1565b611cc28e6119b1565b8d612233565b9350935093509350611cd984611b67565b9750611ce483611b67565b9650611cef82611b67565b9550611cfa81611b67565b94505050505095509550955095915050565b8361010001518110611d305760405162461bcd60e51b8152600401610b1690613dec565b6000611d4985602001518561240290919063ffffffff16565b9050600082866101000151611d5e9190613db8565b90506000611d6c8783612441565b9050611d8f8760000151848388888c6101000151611d8a9190613db8565b6124c0565b61014090970196909652505050505050565b6001600160a01b038216611df75760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610b16565b8060026000828254611e099190613c35565b90915550506001600160a01b03821660009081526020819052604081208054839290611e36908490613c35565b90915550506040518181526001600160a01b038316906000906000805160206140198339815191529060200160405180910390a35050565b600080600080611e8787611e81886119b1565b87612513565b91509150611e9482611b67565b9350611e9f81611b67565b92505050935093915050565b6001600160a01b038216611f0b5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610b16565b6001600160a01b03821660009081526020819052604090205481811015611f7f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610b16565b6001600160a01b0383166000908152602081905260408120838303905560028054849290611fae908490613db8565b90915550506040518281526000906001600160a01b038516906000805160206140198339815191529060200160405180910390a3505050565b600080600080611ffb8989611b1e8a611b53565b91509150611b3a82611b67565b600061205d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166125de9092919063ffffffff16565b8051909150156119ac578080602001905181019061207b9190613e14565b6119ac5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610b16565b6000806120ef670de0b6b3a764000085613e31565b905082818161210057612100613e50565b04949350505050565b6000806121168385613e31565b9050670de0b6b3a764000081612100565b600080866101000151841061214e5760405162461bcd60e51b8152600401610b1690613dec565b865185126121975760405162461bcd60e51b8152602060048201526016602482015275696e73756666696369656e74206c697175696469747960501b6044820152606401610b16565b60006121a48888876125ed565b90506000806121b48a848a612707565b90925090506121c38983612814565b94506121cf8982612814565b935085156121e5576121e58a848b8b898c612841565b5050509550959350505050565b600061063382613dcf565b60006001607f1b82126119c357600080fd5b6000600160701b82106119c357600080fd5b6000600160201b82106119c357600080fd5b6000806000806000871380156122495750600086135b6122845760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f414d4f554e545360a01b6044820152606401610b16565b60408901516122b5576122a36103e861229d8a8a612402565b906128f3565b92506103e89350869150859050612358565b885160408a0151600091906122ca9089613e66565b6122d49190613eeb565b905060008a602001518b604001518a6122ed9190613e66565b6122f79190613eeb565b90508082121561232d578194508792508a60400151858c6020015161231c9190613e66565b6123269190613eeb565b9350612355565b8094508893508a60400151858c600001516123489190613e66565b6123529190613eeb565b92505b50505b600083136123a85760405162461bcd60e51b815260206004820152601d60248201527f494e53554646494349454e545f4c49515549444954595f4d494e5445440000006044820152606401610b16565b84156123f65781896020018181516123c09190613f19565b905250885181908a906123d4908390613f19565b9052506123e18484613f19565b896040018181516123f29190613f19565b9052505b95509550955095915050565b60008060008312612414576001612418565b6000195b905061242f6109748561242a86612936565b61294d565b6124399082613e66565b949350505050565b600061244c826119b1565b61245e61097462015180610168613e31565b8460a0015161246d9190613e66565b6124779190613eeb565b9050600081136106335760405162461bcd60e51b8152602060048201526014602482015273726174655363616c617220756e646572666c6f7760601b6044820152606401610b16565b6000806124d187878787600061296c565b905060006124e1611b3583612a3d565b9050836124f362015180610168613e31565b6124fd9083613e31565b6125079190613f5a565b98975050505050505050565b6000806000841361255a5760405162461bcd60e51b81526020600482015260116024820152701a5b9d985b1a59081b1c08185b5bdd5b9d607a1b6044820152606401610b16565b6040850151602086015161256e9086613e66565b6125789190613eeb565b604086015186519193509061258d9086613e66565b6125979190613eeb565b905082156125d65760408501516125ae90856128f3565b604086015284516125bf90826128f3565b855260208501516125d090836128f3565b60208601525b935093915050565b60606124398484600085612ad0565b6126186040518060800160405280600081526020016000815260200160008152602001600081525090565b836101000151821061263c5760405162461bcd60e51b8152600401610b1690613dec565b60008285610100015161264f9190613db8565b905061265b8582612441565b8252602085015161266d908590612402565b60208301528451158015906126855750602082015115155b6126c85760405162461bcd60e51b8152602060048201526014602482015273696e76616c6964206d61726b657420737461746560601b6044820152606401610b16565b6126e685600001518661014001518460200151856000015185612c01565b604083015260c08501516126fa9082612c7e565b6060830152509392505050565b600080600061272986600001518660200151876000015188604001518861296c565b9050600061273f61273a8684612cb7565b6121f2565b606087015190915060008613156127aa57600061275c8483612cb7565b9050670de0b6b3a76400008112156127865760405162461bcd60e51b8152600401610b1690613f6e565b6127a261279b83670de0b6b3a7640000613f9d565b8490612ce6565b9150506127d7565b6127d4816127c081670de0b6b3a7640000613f9d565b6127ca9085613e66565b61273a9190613eeb565b90505b60646127e78961012001516119b1565b6127f19083613e66565b6127fb9190613eeb565b93506128078183613f9d565b9450505050935093915050565b6000806000831261282657600161282a565b6000195b905061242f6109748561283c86612936565b612d04565b6000818761010001516128549190613db8565b6101608801839052875190915061286b90856128f3565b8752602087015161287c90846128f3565b6020880181905287516128a191612894908890612402565b885160408a0151856124c0565b61014088018190526128ea5760405162461bcd60e51b81526020600482015260126024820152717a65726f206c6e496d706c6965645261746560701b6044820152606401610b16565b50505050505050565b6000818312156129305760405162461bcd60e51b81526020600482015260086024820152674e4547415449564560c01b6044820152606401610b16565b50900390565b60008082136119c35761294882613dcf565b610633565b6000670de0b6b3a76400006129628484613e31565b6106589190613f5a565b60008061297987846128f3565b9050600061299161298a888a613f19565b8390612cb7565b9050670d529ae9e86000008113156129e55760405162461bcd60e51b81526020600482015260176024820152761b585e081c1c9bdc1bdc9d1a5bdb88195e18d959591959604a1b6044820152606401610b16565b60006129f082612d19565b9050856129fd8289612cb7565b612a079190613f19565b9350670de0b6b3a7640000841215612a315760405162461bcd60e51b8152600401610b1690613f6e565b50505095945050505050565b6000808213612a7e5760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610b16565b670c7d713b49da000082138015612a9c5750670f43fc2c04ee000082125b15612ac757670de0b6b3a7640000612ab383612d99565b81612ac057612ac0613e50565b0592915050565b61063382612eb8565b606082471015612b315760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610b16565b6001600160a01b0385163b612b885760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610b16565b600080866001600160a01b03168587604051612ba49190613fdc565b60006040518083038185875af1925050503d8060008114612be1576040519150601f19603f3d011682016040523d82523d6000602084013e612be6565b606091505b5091509150612bf682828661325b565b979650505050505050565b600080612c0e8684612c7e565b9050670de0b6b3a7640000811215612c385760405162461bcd60e51b8152600401610b1690613f6e565b6000612c4e612c47878a613f19565b8990612cb7565b90506000612c5b82612d19565b9050612c678187612cb7565b612c719084613f9d565b9998505050505050505050565b600080612c9062015180610168613e31565b612c9a8486613e31565b612ca49190613f5a565b9050612439612cb2826119b1565b613294565b600080612ccc670de0b6b3a764000085613e66565b9050828181612cdd57612cdd613e50565b05949350505050565b600080612cf38385613e66565b9050670de0b6b3a764000081612cdd565b600082612962670de0b6b3a764000084613e31565b6000670de0b6b3a7640000821415612d705760405162461bcd60e51b815260206004820152601a60248201527970726f706f7274696f6e206d757374206e6f74206265206f6e6560301b6044820152606401610b16565b6000612d8e612d8784670de0b6b3a7640000613f9d565b8490612cb7565b905061065881612a3d565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281612dda57612dda613e50565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215612ef957612ef0826a0c097ce7bc90715b34b9f160241b81612eea57612eea613e50565b05612eb8565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312612f445772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312612f7b576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312612fc3576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312612ffe576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261303557693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e2831261306c57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126130a15768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb4174612111083126130cc57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312613101576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312613136576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b286603831261316a576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac831261319e576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d6310000080860302816131c7576131c7613e50565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6060831561326a575081610658565b82511561327a5782518084602001fd5b8160405162461bcd60e51b8152600401610b1691906136ce565b6000680238fd42c5cf03ffff1982121580156132b9575068070c1cc73b00c800008213155b6132f85760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610b16565b60008212156133295761330d82600003613294565b6a0c097ce7bc90715b34b9f160241b81612ac057612ac0613e50565b60006806f05b59d3b2000000831261336757506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61339d565b6803782dace9d9000000831261339957506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061339d565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126133ed5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412613429576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261346357682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841261349d576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac620000084126134d657680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d63100000841261350f5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412613548576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126135815768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b60005b838110156136bd5781810151838201526020016136a5565b838111156117985750506000910152565b60208152600082518060208401526136ed8160408501602087016136a2565b601f01601f19169190910160400192915050565b6001600160a01b038116811461371657600080fd5b50565b6000806040838503121561372c57600080fd5b823561373781613701565b946020939093013593505050565b60008060006060848603121561375a57600080fd5b833561376581613701565b9250602084013561377581613701565b929592945050506040919091013590565b6020808252825182820181905260009190848201906040850190845b818110156137be578351835292840192918401916001016137a2565b50909695505050505050565b801515811461371657600080fd5b6000602082840312156137ea57600080fd5b8135610658816137ca565b60006101808201905082518252602083015160208301526040830151604083015260608301516060830152608083015161383a60808401826001600160a01b03169052565b5060a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151818401525092915050565b6001600160a01b0391909116815260200190565b60008083601f8401126138b557600080fd5b5081356001600160401b038111156138cc57600080fd5b6020830191508360208285010111156138e457600080fd5b9250929050565b60008060008060006080868803121561390357600080fd5b853561390e81613701565b9450602086013593506040860135925060608601356001600160401b0381111561393757600080fd5b613943888289016138a3565b969995985093965092949392505050565b9283526020830191909152604082015260600190565b60006020828403121561397c57600080fd5b813561065881613701565b6000806000806060858703121561399d57600080fd5b84356139a881613701565b93506020850135925060408501356001600160401b038111156139ca57600080fd5b6139d6878288016138a3565b95989497509550505050565b600080604083850312156139f557600080fd5b8235613a0081613701565b91506020830135613a1081613701565b809150509250929050565b600181811c90821680613a2f57607f821691505b60208210811415610aea57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715613a8e57613a8e613a50565b604052919050565b60006001600160401b03821115613aaf57613aaf613a50565b5060051b60200190565b60006020808385031215613acc57600080fd5b82516001600160401b03811115613ae257600080fd5b8301601f81018513613af357600080fd5b8051613b06613b0182613a96565b613a66565b81815260059190911b82018301908381019087831115613b2557600080fd5b928401925b82841015612bf657835182529284019290840190613b2a565b60006020808385031215613b5657600080fd5b82516001600160401b03811115613b6c57600080fd5b8301601f81018513613b7d57600080fd5b8051613b8b613b0182613a96565b81815260059190911b82018301908381019087831115613baa57600080fd5b928401925b82841015612bf6578351613bc281613701565b82529284019290840190613baf565b600060208284031215613be357600080fd5b815161065881613701565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415613c2e57613c2e613c04565b5060010190565b60008219821115613c4857613c48613c04565b500190565b60008060008060808587031215613c6357600080fd5b8451613c6e81613701565b60208601519094506001600160601b0381168114613c8b57600080fd5b604086015190935063ffffffff81168114613ca557600080fd5b606086015190925060ff81168114613cbc57600080fd5b939692955090935050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6020808252600e908201526d13505492d15517d156141254915160921b604082015260600190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b848152836020820152606060408201526000613d6f606083018486613d26565b9695505050505050565b600060208284031215613d8b57600080fd5b5051919050565b858152846020820152836040820152608060608201526000612bf6608083018486613d26565b600082821015613dca57613dca613c04565b500390565b6000600160ff1b821415613de557613de5613c04565b5060000390565b6020808252600e908201526d1b585c9ad95d08195e1c1a5c995960921b604082015260600190565b600060208284031215613e2657600080fd5b8151610658816137ca565b6000816000190483118215151615613e4b57613e4b613c04565b500290565b634e487b7160e01b600052601260045260246000fd5b60006001600160ff1b0381841382841380821686840486111615613e8c57613e8c613c04565b600160ff1b6000871282811687830589121615613eab57613eab613c04565b60008712925087820587128484161615613ec757613ec7613c04565b87850587128184161615613edd57613edd613c04565b505050929093029392505050565b600082613efa57613efa613e50565b600160ff1b821460001984141615613f1457613f14613c04565b500590565b600080821280156001600160ff1b0384900385131615613f3b57613f3b613c04565b600160ff1b8390038412811615613f5457613f54613c04565b50500190565b600082613f6957613f69613e50565b500490565b60208082526015908201527465786368616e676520726174652062656c6f77203160581b604082015260600190565b60008083128015600160ff1b850184121615613fbb57613fbb613c04565b6001600160ff1b0384018313811615613fd657613fd6613c04565b50500390565b60008251613fee8184602087016136a2565b919091019291505056feab7fa439d3be82c9e9dc9527df7b0ebc3b65c9911e3112698997d509abf02882ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212200968ccf8c44fbca60ae22141154a457b273654d3ec90ae00251988c74cfc863064736f6c63430008090033",
834
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101545760003560e01c806306fdde0314610159578063095ea7b31461017757806318160ddd1461019a57806323b872dd146101ac5780632b20096c146101bf5780632c8ce6bc146101d45780632f13b60c1461025e578063313ce5671461028757806339509351146102b857806339e718f6146102cb57806341af0709146102eb57806347bfac621461036e5780634f7b3d2f146103a25780635308fcb1146103ca57806370a08231146103ec578063781c18db14610415578063863cb94e1461043c57806391e7c0151461044f57806395d89b411461047657806399bc99981461047e578063a457c2d714610491578063a9059cbb146104a4578063af247da3146104b7578063c45a0155146104de578063c836545a14610505578063dd62ed3e1461052c578063e184c9be1461053f578063f1653f6e14610566575b600080fd5b61016161058d565b60405161016e91906136ce565b60405180910390f35b61018a610185366004613719565b61061f565b604051901515815260200161016e565b6002545b60405190815260200161016e565b61018a6101ba366004613745565b610639565b6101c761065f565b60405161016e9190613786565b604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682527f0000000000000000000000000000000000000000000000000000000000000000811660208301527f0000000000000000000000000000000000000000000000000000000000000000169181019190915260600161016e565b7f000000000000000000000000000000000000000000000000000000000000000042101561018a565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161016e565b61018a6102c6366004613719565b6108a2565b6102de6102d93660046137d8565b6108e1565b60405161016e91906137f5565b60065460075461032d91600f81810b92600160801b909204900b906001600160701b0380821691600160701b810490911690600160e01b900463ffffffff1685565b60408051600f96870b81529490950b60208501526001600160701b039283169484019490945216606082015263ffffffff909116608082015260a00161016e565b6103957f000000000000000000000000000000000000000000000000000000000000000081565b60405161016e919061388f565b6103b56103b03660046138eb565b610af0565b6040805192835260208301919091520161016e565b6103dd6103d83660046138eb565b610de5565b60405161016e93929190613954565b61019e6103fa36600461396a565b6001600160a01b031660009081526020819052604090205490565b6103957f000000000000000000000000000000000000000000000000000000000000000081565b6103b561044a366004613987565b6110db565b61019e7f000000000000000000000000000000000000000000000000000000000000000081565b61016161125a565b6103b561048c3660046138eb565b611269565b61018a61049f366004613719565b61152a565b61018a6104b2366004613719565b6115c7565b61019e7f000000000000000000000000000000000000000000000000000000000000000081565b6103957f000000000000000000000000000000000000000000000000000000000000000081565b6103957f000000000000000000000000000000000000000000000000000000000000000081565b61019e61053a3660046139e2565b6115d5565b61019e7f000000000000000000000000000000000000000000000000000000000000000081565b61019e7f000000000000000000000000000000000000000000000000000000000000000081565b60606003805461059c90613a1b565b80601f01602080910402602001604051908101604052809291908181526020018280546105c890613a1b565b80156106155780601f106105ea57610100808354040283529160200191610615565b820191906000526020600020905b8154815290600101906020018083116105f857829003601f168201915b5050505050905090565b60003361062d818585611600565b60019150505b92915050565b600033610647858285611724565b61065285858561179e565b60019150505b9392505050565b6040516359436f3b60e11b81526060906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b286de76906106ae90309060040161388f565b600060405180830381600087803b1580156106c857600080fd5b505af11580156106dc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107049190810190613ab9565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c4f59f9b6040518163ffffffff1660e01b815260040160006040518083038186803b15801561076157600080fd5b505afa158015610775573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261079d9190810190613b43565b905060005b815181101561089d5761088b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166361d027b36040518163ffffffff1660e01b815260040160206040518083038186803b15801561080757600080fd5b505afa15801561081b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083f9190613bd1565b84838151811061085157610851613bee565b602002602001015184848151811061086b5761086b613bee565b60200260200101516001600160a01b031661195a9092919063ffffffff16565b8061089581613c1a565b9150506107a2565b505090565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061062d90829086906108dc908790613c35565b611600565b61094e6040518061018001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60068054600f81810b8452600160801b909104900b602083015261097961097460025490565b6119b1565b6040838101919091526001820154600160701b90046001600160701b0316606084015280516308f044f760e21b815290517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916323c113dc916004808301926080929190829003018186803b1580156109fa57600080fd5b505afa158015610a0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a329190613c4d565b60ff1661012086015263ffffffff90811660e08601526001600160601b0390911660c08501526001600160a01b0390911660808401527f000000000000000000000000000000000000000000000000000000000000000060a08401527f000000000000000000000000000000000000000000000000000000000000000061010084015260018201546001600160701b038116610140850152600160e01b9004166101608301528215610aea57610ae882426119c7565b505b50919050565b60008060026005541415610b1f5760405162461bcd60e51b8152600401610b1690613cc7565b60405180910390fd5b60026005557f00000000000000000000000000000000000000000000000000000000000000004210610b635760405162461bcd60e51b8152600401610b1690613cfe565b6000610b6f60016108e1565b9050610ba8610b9d7f0000000000000000000000000000000000000000000000000000000000000000611a95565b829089426001611b0a565b909350915085831115610bf35760405162461bcd60e51b81526020600482015260136024820152721cd8de481a5b88195e18d95959081b1a5b5a5d606a1b6044820152606401610b16565b610c276001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016898961195a565b6080810151610c61906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016908461195a565b8315610cd3573363fa483e72610c76896119b1565b610c7f86611b53565b88886040518563ffffffff1660e01b8152600401610ca09493929190613d4f565b600060405180830381600087803b158015610cba57600080fd5b505af1158015610cce573d6000803e3d6000fd5b505050505b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610d1f90309060040161388f565b60206040518083038186803b158015610d3757600080fd5b505afa158015610d4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6f9190613d79565b610d7c8260200151611b67565b1115610d8757600080fd5b610d9081611b76565b876001600160a01b0316600080516020613ff9833981519152610db2896119b1565b610dbb86611b53565b85604051610dcb93929190613954565b60405180910390a250600160055590969095509350505050565b600080600060026005541415610e0d5760405162461bcd60e51b8152600401610b1690613cc7565b60026005556000610e1e60016108e1565b90506000610e4b7f0000000000000000000000000000000000000000000000000000000000000000611a95565b90506000610e5d83838c8c6001611c9f565b9198509650945090508015610ea357610e9883837f000000000000000000000000000000000000000000000000000000000000000042611d0c565b610ea3600182611da1565b610ead8b87611da1565b8615610f115760405163096006e960e11b815233906312c00dd290610ede908990899089908e908e90600401613d92565b600060405180830381600087803b158015610ef857600080fd5b505af1158015610f0c573d6000803e3d6000fd5b505050505b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610f5d90309060040161388f565b60206040518083038186803b158015610f7557600080fd5b505afa158015610f89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fad9190613d79565b8351610fb890611b67565b1115610fc357600080fd5b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a082319061100f90309060040161388f565b60206040518083038186803b15801561102757600080fd5b505afa15801561103b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105f9190613d79565b61106c8460200151611b67565b111561107757600080fd5b61108083611b76565b8a6001600160a01b03167fbeb3885786d637a474cbc287c0a44587231633a077f0bd30354d5a4b18996fce8787876040516110bd93929190613954565b60405180910390a25050506001600581905550955095509592505050565b600080600260055414156111015760405162461bcd60e51b8152600401610b1690613cc7565b6002600555600061111260016108e1565b905061112081876001611e6e565b90935091506111596001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016888561195a565b61118d6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016888461195a565b83156111f15760405163c70cd41360e01b8152339063c70cd413906111be908990879087908b908b90600401613d92565b600060405180830381600087803b1580156111d857600080fd5b505af11580156111ec573d6000803e3d6000fd5b505050505b6111fb3087611eab565b61120481611b76565b866001600160a01b03167f59c3a0b60c6ab7deb62e1440c9e72441db6db7dfe514dba8cb18e60c0d896efa87858560405161124193929190613954565b60405180910390a2506001600555909590945092505050565b60606004805461059c90613a1b565b6000806002600554141561128f5760405162461bcd60e51b8152600401610b1690613cc7565b60026005557f000000000000000000000000000000000000000000000000000000000000000042106112d35760405162461bcd60e51b8152600401610b1690613cfe565b60006112df60016108e1565b905061131861130d7f0000000000000000000000000000000000000000000000000000000000000000611a95565b829089426001611fe7565b9093509150858310156113645760405162461bcd60e51b81526020600482015260146024820152731a5b9cdd59999a58da595b9d081cd8de481bdd5d60621b6044820152606401610b16565b6113986001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016898561195a565b60808101516113d2906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016908461195a565b8315611444573363fa483e726113e789611b53565b6113f0866119b1565b88886040518563ffffffff1660e01b81526004016114119493929190613d4f565b600060405180830381600087803b15801561142b57600080fd5b505af115801561143f573d6000803e3d6000fd5b505050505b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a082319061149090309060040161388f565b60206040518083038186803b1580156114a857600080fd5b505afa1580156114bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e09190613d79565b81516114eb90611b67565b11156114f657600080fd5b6114ff81611b76565b876001600160a01b0316600080516020613ff983398151915261152189611b53565b610dbb866119b1565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156115af5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610b16565b6115bc8286868403611600565b506001949350505050565b60003361062d81858561179e565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166116625760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b16565b6001600160a01b0382166116c35760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b16565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061173084846115d5565b90506000198114611798578181101561178b5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610b16565b6117988484848403611600565b50505050565b6001600160a01b0383166118025760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610b16565b6001600160a01b0382166118645760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610b16565b6001600160a01b038316600090815260208190526040902054818110156118dc5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610b16565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611913908490613c35565b92505081905550826001600160a01b0316846001600160a01b03166000805160206140198339815191528460405161194d91815260200190565b60405180910390a3611798565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526119ac908490612008565b505050565b6000600160ff1b82106119c357600080fd5b5090565b60008183610160015111156119e9575061014082015160608301819052610633565b6000836101600151836119fc9190613db8565b90508360e00151811115611a1e57505061014082015160608301819052610633565b6000611a378560e00151836120da90919063ffffffff16565b90506000611a4d82670de0b6b3a7640000613db8565b90506000611a6882886060015161210990919063ffffffff16565b610160880151611a789085612109565b611a829190613c35565b6060880181905294505050505092915050565b6000816001600160a01b031663f65d6fc86040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611ad257600080fd5b505af1158015611ae6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106339190613d79565b600080600080611b258989611b1e8a6119b1565b8989612127565b91509150611b3a611b35836121f2565b611b67565b9350611b4581611b67565b925050509550959350505050565b6000611b5e826119b1565b61063390613dcf565b6000808212156119c357600080fd5b8051600690611b84906121fd565b81546001600160801b0319166001600160801b03919091161781556020820151611bad906121fd565b81546001600160801b03918216600160801b029116178155610140820151611bd49061220f565b6001820180546001600160701b0319166001600160701b03929092169190911790556060820151611c049061220f565b81600101600e6101000a8154816001600160701b0302191690836001600160701b03160217905550611c3a826101600151612221565b81600101601c6101000a81548163ffffffff021916908363ffffffff160217905550427f5c0e21d57bb4cf91d8fe238d6f92e2685a695371b19209afcce6217b478f83e1836101400151604051611c9391815260200190565b60405180910390a25050565b600080600080600080600080611cc88d8d611cb98e6119b1565b611cc28e6119b1565b8d612233565b9350935093509350611cd984611b67565b9750611ce483611b67565b9650611cef82611b67565b9550611cfa81611b67565b94505050505095509550955095915050565b8361010001518110611d305760405162461bcd60e51b8152600401610b1690613dec565b6000611d4985602001518561240290919063ffffffff16565b9050600082866101000151611d5e9190613db8565b90506000611d6c8783612441565b9050611d8f8760000151848388888c6101000151611d8a9190613db8565b6124c0565b61014090970196909652505050505050565b6001600160a01b038216611df75760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610b16565b8060026000828254611e099190613c35565b90915550506001600160a01b03821660009081526020819052604081208054839290611e36908490613c35565b90915550506040518181526001600160a01b038316906000906000805160206140198339815191529060200160405180910390a35050565b600080600080611e8787611e81886119b1565b87612513565b91509150611e9482611b67565b9350611e9f81611b67565b92505050935093915050565b6001600160a01b038216611f0b5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610b16565b6001600160a01b03821660009081526020819052604090205481811015611f7f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610b16565b6001600160a01b0383166000908152602081905260408120838303905560028054849290611fae908490613db8565b90915550506040518281526000906001600160a01b038516906000805160206140198339815191529060200160405180910390a3505050565b600080600080611ffb8989611b1e8a611b53565b91509150611b3a82611b67565b600061205d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166125de9092919063ffffffff16565b8051909150156119ac578080602001905181019061207b9190613e14565b6119ac5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610b16565b6000806120ef670de0b6b3a764000085613e31565b905082818161210057612100613e50565b04949350505050565b6000806121168385613e31565b9050670de0b6b3a764000081612100565b600080866101000151841061214e5760405162461bcd60e51b8152600401610b1690613dec565b865185126121975760405162461bcd60e51b8152602060048201526016602482015275696e73756666696369656e74206c697175696469747960501b6044820152606401610b16565b60006121a48888876125ed565b90506000806121b48a848a612707565b90925090506121c38983612814565b94506121cf8982612814565b935085156121e5576121e58a848b8b898c612841565b5050509550959350505050565b600061063382613dcf565b60006001607f1b82126119c357600080fd5b6000600160701b82106119c357600080fd5b6000600160201b82106119c357600080fd5b6000806000806000871380156122495750600086135b6122845760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f414d4f554e545360a01b6044820152606401610b16565b60408901516122b5576122a36103e861229d8a8a612402565b906128f3565b92506103e89350869150859050612358565b885160408a0151600091906122ca9089613e66565b6122d49190613eeb565b905060008a602001518b604001518a6122ed9190613e66565b6122f79190613eeb565b90508082121561232d578194508792508a60400151858c6020015161231c9190613e66565b6123269190613eeb565b9350612355565b8094508893508a60400151858c600001516123489190613e66565b6123529190613eeb565b92505b50505b600083136123a85760405162461bcd60e51b815260206004820152601d60248201527f494e53554646494349454e545f4c49515549444954595f4d494e5445440000006044820152606401610b16565b84156123f65781896020018181516123c09190613f19565b905250885181908a906123d4908390613f19565b9052506123e18484613f19565b896040018181516123f29190613f19565b9052505b95509550955095915050565b60008060008312612414576001612418565b6000195b905061242f6109748561242a86612936565b61294d565b6124399082613e66565b949350505050565b600061244c826119b1565b61245e61097462015180610168613e31565b8460a0015161246d9190613e66565b6124779190613eeb565b9050600081136106335760405162461bcd60e51b8152602060048201526014602482015273726174655363616c617220756e646572666c6f7760601b6044820152606401610b16565b6000806124d187878787600061296c565b905060006124e1611b3583612a3d565b9050836124f362015180610168613e31565b6124fd9083613e31565b6125079190613f5a565b98975050505050505050565b6000806000841361255a5760405162461bcd60e51b81526020600482015260116024820152701a5b9d985b1a59081b1c08185b5bdd5b9d607a1b6044820152606401610b16565b6040850151602086015161256e9086613e66565b6125789190613eeb565b604086015186519193509061258d9086613e66565b6125979190613eeb565b905082156125d65760408501516125ae90856128f3565b604086015284516125bf90826128f3565b855260208501516125d090836128f3565b60208601525b935093915050565b60606124398484600085612ad0565b6126186040518060800160405280600081526020016000815260200160008152602001600081525090565b836101000151821061263c5760405162461bcd60e51b8152600401610b1690613dec565b60008285610100015161264f9190613db8565b905061265b8582612441565b8252602085015161266d908590612402565b60208301528451158015906126855750602082015115155b6126c85760405162461bcd60e51b8152602060048201526014602482015273696e76616c6964206d61726b657420737461746560601b6044820152606401610b16565b6126e685600001518661014001518460200151856000015185612c01565b604083015260c08501516126fa9082612c7e565b6060830152509392505050565b600080600061272986600001518660200151876000015188604001518861296c565b9050600061273f61273a8684612cb7565b6121f2565b606087015190915060008613156127aa57600061275c8483612cb7565b9050670de0b6b3a76400008112156127865760405162461bcd60e51b8152600401610b1690613f6e565b6127a261279b83670de0b6b3a7640000613f9d565b8490612ce6565b9150506127d7565b6127d4816127c081670de0b6b3a7640000613f9d565b6127ca9085613e66565b61273a9190613eeb565b90505b60646127e78961012001516119b1565b6127f19083613e66565b6127fb9190613eeb565b93506128078183613f9d565b9450505050935093915050565b6000806000831261282657600161282a565b6000195b905061242f6109748561283c86612936565b612d04565b6000818761010001516128549190613db8565b6101608801839052875190915061286b90856128f3565b8752602087015161287c90846128f3565b6020880181905287516128a191612894908890612402565b885160408a0151856124c0565b61014088018190526128ea5760405162461bcd60e51b81526020600482015260126024820152717a65726f206c6e496d706c6965645261746560701b6044820152606401610b16565b50505050505050565b6000818312156129305760405162461bcd60e51b81526020600482015260086024820152674e4547415449564560c01b6044820152606401610b16565b50900390565b60008082136119c35761294882613dcf565b610633565b6000670de0b6b3a76400006129628484613e31565b6106589190613f5a565b60008061297987846128f3565b9050600061299161298a888a613f19565b8390612cb7565b9050670d529ae9e86000008113156129e55760405162461bcd60e51b81526020600482015260176024820152761b585e081c1c9bdc1bdc9d1a5bdb88195e18d959591959604a1b6044820152606401610b16565b60006129f082612d19565b9050856129fd8289612cb7565b612a079190613f19565b9350670de0b6b3a7640000841215612a315760405162461bcd60e51b8152600401610b1690613f6e565b50505095945050505050565b6000808213612a7e5760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610b16565b670c7d713b49da000082138015612a9c5750670f43fc2c04ee000082125b15612ac757670de0b6b3a7640000612ab383612d99565b81612ac057612ac0613e50565b0592915050565b61063382612eb8565b606082471015612b315760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610b16565b6001600160a01b0385163b612b885760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610b16565b600080866001600160a01b03168587604051612ba49190613fdc565b60006040518083038185875af1925050503d8060008114612be1576040519150601f19603f3d011682016040523d82523d6000602084013e612be6565b606091505b5091509150612bf682828661325b565b979650505050505050565b600080612c0e8684612c7e565b9050670de0b6b3a7640000811215612c385760405162461bcd60e51b8152600401610b1690613f6e565b6000612c4e612c47878a613f19565b8990612cb7565b90506000612c5b82612d19565b9050612c678187612cb7565b612c719084613f9d565b9998505050505050505050565b600080612c9062015180610168613e31565b612c9a8486613e31565b612ca49190613f5a565b9050612439612cb2826119b1565b613294565b600080612ccc670de0b6b3a764000085613e66565b9050828181612cdd57612cdd613e50565b05949350505050565b600080612cf38385613e66565b9050670de0b6b3a764000081612cdd565b600082612962670de0b6b3a764000084613e31565b6000670de0b6b3a7640000821415612d705760405162461bcd60e51b815260206004820152601a60248201527970726f706f7274696f6e206d757374206e6f74206265206f6e6560301b6044820152606401610b16565b6000612d8e612d8784670de0b6b3a7640000613f9d565b8490612cb7565b905061065881612a3d565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281612dda57612dda613e50565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a7640000821215612ef957612ef0826a0c097ce7bc90715b34b9f160241b81612eea57612eea613e50565b05612eb8565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b8312612f445772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b8312612f7b576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312612fc3576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312612ffe576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261303557693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e2831261306c57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126130a15768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb4174612111083126130cc57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312613101576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312613136576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b286603831261316a576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac831261319e576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d6310000080860302816131c7576131c7613e50565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6060831561326a575081610658565b82511561327a5782518084602001fd5b8160405162461bcd60e51b8152600401610b1691906136ce565b6000680238fd42c5cf03ffff1982121580156132b9575068070c1cc73b00c800008213155b6132f85760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610b16565b60008212156133295761330d82600003613294565b6a0c097ce7bc90715b34b9f160241b81612ac057612ac0613e50565b60006806f05b59d3b2000000831261336757506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61339d565b6803782dace9d9000000831261339957506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061339d565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126133ed5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d6310000008412613429576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b18800000841261346357682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841261349d576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac620000084126134d657680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d63100000841261350f5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412613548576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126135815768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b60005b838110156136bd5781810151838201526020016136a5565b838111156117985750506000910152565b60208152600082518060208401526136ed8160408501602087016136a2565b601f01601f19169190910160400192915050565b6001600160a01b038116811461371657600080fd5b50565b6000806040838503121561372c57600080fd5b823561373781613701565b946020939093013593505050565b60008060006060848603121561375a57600080fd5b833561376581613701565b9250602084013561377581613701565b929592945050506040919091013590565b6020808252825182820181905260009190848201906040850190845b818110156137be578351835292840192918401916001016137a2565b50909695505050505050565b801515811461371657600080fd5b6000602082840312156137ea57600080fd5b8135610658816137ca565b60006101808201905082518252602083015160208301526040830151604083015260608301516060830152608083015161383a60808401826001600160a01b03169052565b5060a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151818401525092915050565b6001600160a01b0391909116815260200190565b60008083601f8401126138b557600080fd5b5081356001600160401b038111156138cc57600080fd5b6020830191508360208285010111156138e457600080fd5b9250929050565b60008060008060006080868803121561390357600080fd5b853561390e81613701565b9450602086013593506040860135925060608601356001600160401b0381111561393757600080fd5b613943888289016138a3565b969995985093965092949392505050565b9283526020830191909152604082015260600190565b60006020828403121561397c57600080fd5b813561065881613701565b6000806000806060858703121561399d57600080fd5b84356139a881613701565b93506020850135925060408501356001600160401b038111156139ca57600080fd5b6139d6878288016138a3565b95989497509550505050565b600080604083850312156139f557600080fd5b8235613a0081613701565b91506020830135613a1081613701565b809150509250929050565b600181811c90821680613a2f57607f821691505b60208210811415610aea57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715613a8e57613a8e613a50565b604052919050565b60006001600160401b03821115613aaf57613aaf613a50565b5060051b60200190565b60006020808385031215613acc57600080fd5b82516001600160401b03811115613ae257600080fd5b8301601f81018513613af357600080fd5b8051613b06613b0182613a96565b613a66565b81815260059190911b82018301908381019087831115613b2557600080fd5b928401925b82841015612bf657835182529284019290840190613b2a565b60006020808385031215613b5657600080fd5b82516001600160401b03811115613b6c57600080fd5b8301601f81018513613b7d57600080fd5b8051613b8b613b0182613a96565b81815260059190911b82018301908381019087831115613baa57600080fd5b928401925b82841015612bf6578351613bc281613701565b82529284019290840190613baf565b600060208284031215613be357600080fd5b815161065881613701565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415613c2e57613c2e613c04565b5060010190565b60008219821115613c4857613c48613c04565b500190565b60008060008060808587031215613c6357600080fd5b8451613c6e81613701565b60208601519094506001600160601b0381168114613c8b57600080fd5b604086015190935063ffffffff81168114613ca557600080fd5b606086015190925060ff81168114613cbc57600080fd5b939692955090935050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6020808252600e908201526d13505492d15517d156141254915160921b604082015260600190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b848152836020820152606060408201526000613d6f606083018486613d26565b9695505050505050565b600060208284031215613d8b57600080fd5b5051919050565b858152846020820152836040820152608060608201526000612bf6608083018486613d26565b600082821015613dca57613dca613c04565b500390565b6000600160ff1b821415613de557613de5613c04565b5060000390565b6020808252600e908201526d1b585c9ad95d08195e1c1a5c995960921b604082015260600190565b600060208284031215613e2657600080fd5b8151610658816137ca565b6000816000190483118215151615613e4b57613e4b613c04565b500290565b634e487b7160e01b600052601260045260246000fd5b60006001600160ff1b0381841382841380821686840486111615613e8c57613e8c613c04565b600160ff1b6000871282811687830589121615613eab57613eab613c04565b60008712925087820587128484161615613ec757613ec7613c04565b87850587128184161615613edd57613edd613c04565b505050929093029392505050565b600082613efa57613efa613e50565b600160ff1b821460001984141615613f1457613f14613c04565b500590565b600080821280156001600160ff1b0384900385131615613f3b57613f3b613c04565b600160ff1b8390038412811615613f5457613f54613c04565b50500190565b600082613f6957613f69613e50565b500490565b60208082526015908201527465786368616e676520726174652062656c6f77203160581b604082015260600190565b60008083128015600160ff1b850184121615613fbb57613fbb613c04565b6001600160ff1b0384018313811615613fd657613fd6613c04565b50500390565b60008251613fee8184602087016136a2565b919091019291505056feab7fa439d3be82c9e9dc9527df7b0ebc3b65c9911e3112698997d509abf02882ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212200968ccf8c44fbca60ae22141154a457b273654d3ec90ae00251988c74cfc863064736f6c63430008090033",
835
+ "linkReferences": {},
836
+ "deployedLinkReferences": {}
837
+ }