@pendle/core-v2 0.11.9-testnet → 0.11.10-testnet

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 (106) hide show
  1. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.dbg.json +1 -1
  2. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol/WadRayMath.dbg.json +1 -1
  3. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol/PendleQiSAvaxSCY.dbg.json +1 -1
  4. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.dbg.json +1 -1
  5. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol/PendleSAvaxSCY.dbg.json +1 -1
  6. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol/PendleEulerSCY.dbg.json +1 -1
  7. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.dbg.json +1 -1
  8. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.dbg.json +1 -1
  9. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +1 -1
  10. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultSCY.sol/PendleYearnVaultSCY.dbg.json +1 -1
  11. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.dbg.json +1 -1
  12. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.dbg.json +1 -1
  13. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +1 -1
  14. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.dbg.json +1 -1
  15. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.dbg.json +1 -1
  16. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  17. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  18. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  19. package/build/artifacts/contracts/core/LiquidityMining/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  20. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  21. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  22. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  23. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  24. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  25. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  27. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  28. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.json +2 -2
  30. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +4 -4
  36. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.json +2 -2
  38. package/build/artifacts/contracts/core/actions/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/actions/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  40. package/build/artifacts/contracts/core/actions/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  43. package/build/artifacts/contracts/core/actions/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/actions/ActionSwapPTYT.sol/ActionSwapPTYT.json +2 -2
  45. package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  47. package/build/artifacts/contracts/core/actions/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  48. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  49. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  50. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  51. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +1 -1
  52. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  53. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  54. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  55. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  56. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.dbg.json +1 -1
  57. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.json +93 -0
  58. package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +1 -1
  59. package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.dbg.json +1 -1
  60. package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  61. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  62. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  63. package/build/artifacts/contracts/libraries/helpers/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  64. package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.dbg.json +1 -1
  65. package/build/artifacts/contracts/libraries/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +1 -1
  66. package/build/artifacts/contracts/libraries/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +1 -1
  67. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  68. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  69. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  70. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  71. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  72. package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +1 -1
  73. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.dbg.json +1 -1
  74. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.dbg.json +1 -1
  75. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
  76. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +2 -2
  77. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  78. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +120 -60
  79. package/build/artifacts/contracts/offchain-helpers/SSTORE2DeployerContract.sol/SSTORE2DeployerContract.dbg.json +1 -1
  80. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +6 -1
  81. package/contracts/core/PendleRouter.sol +2 -1
  82. package/contracts/core/actions/ActionAddRemoveLiq.sol +23 -2
  83. package/contracts/interfaces/IPVotingEscrow.sol +1 -1
  84. package/contracts/libraries/math/MarketApproxLib.sol +1 -0
  85. package/contracts/offchain-helpers/MarketMathStatic.sol +16 -8
  86. package/contracts/offchain-helpers/RouterStatic.sol +52 -3
  87. package/package.json +1 -1
  88. package/typechain-types/IPVotingEscrow.ts +131 -0
  89. package/typechain-types/PendleFeeDistributorFactory.ts +97 -8
  90. package/typechain-types/RouterStatic.ts +82 -0
  91. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  92. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  93. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  94. package/typechain-types/factories/ActionSwapPTYT__factory.ts +1 -1
  95. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  96. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  97. package/typechain-types/factories/IPVotingEscrow__factory.ts +93 -0
  98. package/typechain-types/factories/MarketMathStatic__factory.ts +1 -1
  99. package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +81 -8
  100. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  101. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  102. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  103. package/typechain-types/factories/RouterStatic__factory.ts +65 -1
  104. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  105. package/typechain-types/hardhat.d.ts +135 -0
  106. package/typechain-types/index.ts +30 -0
@@ -18,6 +18,11 @@ const _abi = [
18
18
  name: "_marketFactory",
19
19
  type: "address",
20
20
  },
21
+ {
22
+ internalType: "contract IPVotingEscrow",
23
+ name: "_vePENDLE",
24
+ type: "address",
25
+ },
21
26
  ],
22
27
  stateMutability: "nonpayable",
23
28
  type: "constructor",
@@ -86,6 +91,32 @@ const _abi = [
86
91
  name: "Upgraded",
87
92
  type: "event",
88
93
  },
94
+ {
95
+ inputs: [],
96
+ name: "MAX_LOCK_TIME",
97
+ outputs: [
98
+ {
99
+ internalType: "uint128",
100
+ name: "",
101
+ type: "uint128",
102
+ },
103
+ ],
104
+ stateMutability: "view",
105
+ type: "function",
106
+ },
107
+ {
108
+ inputs: [],
109
+ name: "MIN_LOCK_TIME",
110
+ outputs: [
111
+ {
112
+ internalType: "uint128",
113
+ name: "",
114
+ type: "uint128",
115
+ },
116
+ ],
117
+ stateMutability: "view",
118
+ type: "function",
119
+ },
89
120
  {
90
121
  inputs: [
91
122
  {
@@ -1093,6 +1124,35 @@ const _abi = [
1093
1124
  stateMutability: "pure",
1094
1125
  type: "function",
1095
1126
  },
1127
+ {
1128
+ inputs: [
1129
+ {
1130
+ internalType: "address",
1131
+ name: "user",
1132
+ type: "address",
1133
+ },
1134
+ {
1135
+ internalType: "uint128",
1136
+ name: "additionalAmountToLock",
1137
+ type: "uint128",
1138
+ },
1139
+ {
1140
+ internalType: "uint128",
1141
+ name: "newExpiry",
1142
+ type: "uint128",
1143
+ },
1144
+ ],
1145
+ name: "increaseLockPositionStatic",
1146
+ outputs: [
1147
+ {
1148
+ internalType: "uint128",
1149
+ name: "newVeBalance",
1150
+ type: "uint128",
1151
+ },
1152
+ ],
1153
+ stateMutability: "view",
1154
+ type: "function",
1155
+ },
1096
1156
  {
1097
1157
  inputs: [],
1098
1158
  name: "initialize",
@@ -2002,7 +2062,7 @@ const _abi = [
2002
2062
  ];
2003
2063
 
2004
2064
  const _bytecode =
2005
- "0x60e0604052306080523480156200001557600080fd5b506040516200477438038062004774833981016040819052620000389162000172565b600154600160a81b900460ff166200005e57600154600160a01b900460ff161562000068565b620000686200012c565b620000d05760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b600154600160a81b900460ff16158015620000fb576001805461ffff60a01b191661010160a01b1790555b6001600160a01b0380841660a052821660c052801562000123576001805460ff60a81b191690555b505050620001b1565b600062000144306200014a60201b620031d41760201c565b15905090565b6001600160a01b03163b151590565b6001600160a01b03811681146200016f57600080fd5b50565b600080604083850312156200018657600080fd5b8251620001938162000159565b6020840151909250620001a68162000159565b809150509250929050565b60805160a05160c0516145696200020b6000396000612dc901526000818161116401528181612c7e0152612d2e01526000818161148f015281816114cf01528181611d5d01528181611d9d0152611e1901526145696000f3fe6080604052600436106102595760003560e01c80626024ef1461025e57806303670dba1461029e578063067cbde1146102be578063078dfbe7146102de5780630a33de0d146103005780630cf85bcc146103225780630f8cb321146103e35780631272d863146104115780631b9d358d146104315780631e96585114610451578063209794161461049157806321b7679d146104b1578063227501f5146104d15780632ec8d844146104ff5780632f7707091461051f57806331c6d55c1461053f57806336233bd91461055f5780633659cfe61461057f578063372cfb931461059f5780633857a07b146105cc5780633b672dcd146105fb5780633badd7101461061b5780633c71db3d1461063b57806345324d9c1461065b5780634e71e0c81461067b5780634f1ef2861461069057806352d1902d146106a357806355b4fff5146106b857806355bbcd73146106e557806362eaf69d1461071557806368d384c01461074a57806372568bac1461076a578063739baebe1461078a5780638129fc1c146107aa5780638a719769146107bf5780638d4ab764146107df5780638da5cb5b146107ff5780639225afd61461082c578063a749840a14610859578063a9d09ae314610886578063af2c7971146108a6578063b24898f4146108c6578063b68d898d146108e6578063bfcafedc14610906578063c74141f114610934578063d0f2034e14610954578063d34344cc14610974578063d52eacb214610994578063db39d886146109d3578063dc7b3163146109f3578063e30c397814610a13578063e833160414610a33578063efb7601d14610a61575b600080fd5b34801561026a57600080fd5b5061027e610279366004613775565b610a81565b604080519384526020840192909252908201526060015b60405180910390f35b3480156102aa57600080fd5b5061027e6102b9366004613775565b610b16565b3480156102ca57600080fd5b5061027e6102d9366004613775565b610b54565b3480156102ea57600080fd5b506102fe6102f93660046137af565b610b92565b005b34801561030c57600080fd5b50610315610c97565b604051610295919061382a565b34801561032e57600080fd5b5061034261033d366004613838565b610d02565b60405161029595949392919060006101a08201905060018060a01b03808816835280871660208401528551604084015260208601516060840152604086015160808401528060608701511660a084015250608085015160c083015260a085015160e083015260c0850151610100818185015260e087015161012085015280870151610140850152505083610160830152826101808301529695505050505050565b3480156103ef57600080fd5b506104036103fe366004613775565b610ecc565b604051908152602001610295565b34801561041d57600080fd5b5061027e61042c366004613855565b610f52565b34801561043d57600080fd5b5061040361044c366004613838565b610fe2565b34801561045d57600080fd5b5061047161046c366004613775565b61105d565b604080519485526020850193909352918301526060820152608001610295565b34801561049d57600080fd5b5061027e6104ac366004613775565b6110f6565b3480156104bd57600080fd5b5061027e6104cc366004613855565b61111f565b3480156104dd57600080fd5b506104f16104ec366004613838565b61115f565b60405161029592919061388c565b34801561050b57600080fd5b5061040361051a366004613855565b6112c8565b34801561052b57600080fd5b5061027e61053a3660046138a6565b6113b2565b34801561054b57600080fd5b5061027e61055a366004613855565b611407565b34801561056b57600080fd5b5061027e61057a366004613775565b611447565b34801561058b57600080fd5b506102fe61059a366004613838565b611485565b3480156105ab57600080fd5b506105bf6105ba3660046138db565b61154d565b60405161029591906139c7565b3480156105d857600080fd5b506105ec6105e7366004613838565b611887565b604051610295939291906139d6565b34801561060757600080fd5b50610471610616366004613775565b611b4e565b34801561062757600080fd5b5061027e610636366004613a34565b611b78565b34801561064757600080fd5b5061027e610656366004613a75565b611bc1565b34801561066757600080fd5b5061027e610676366004613775565b611c6a565b34801561068757600080fd5b506102fe611ca8565b6102fe61069e366004613b2a565b611d53565b3480156106af57600080fd5b50610403611e0c565b3480156106c457600080fd5b506106d86106d3366004613bd1565b611eba565b6040516102959190613c58565b3480156106f157600080fd5b50610705610700366004613ca7565b611f81565b6040519015158152602001610295565b34801561072157600080fd5b50610735610730366004613775565b611fc5565b60408051928352602083019190915201610295565b34801561075657600080fd5b50610403610765366004613775565b61204d565b34801561077657600080fd5b50610403610785366004613775565b612089565b34801561079657600080fd5b506104716107a5366004613775565b612105565b3480156107b657600080fd5b506102fe61212f565b3480156107cb57600080fd5b5061027e6107da366004613775565b612206565b3480156107eb57600080fd5b506104716107fa366004613775565b61222f565b34801561080b57600080fd5b5060005461081f906001600160a01b031681565b6040516102959190613ce1565b34801561083857600080fd5b5061084c6108473660046138db565b612259565b6040516102959190613d96565b34801561086557600080fd5b50610879610874366004613bd1565b6126f9565b6040516102959190613da9565b34801561089257600080fd5b506104716108a1366004613775565b6127b8565b3480156108b257600080fd5b506107356108c1366004613855565b6127e2565b3480156108d257600080fd5b5061027e6108e1366004613775565b61286c565b3480156108f257600080fd5b5061027e610901366004613775565b6128aa565b34801561091257600080fd5b506109266109213660046138db565b6128d3565b604051610295929190613e44565b34801561094057600080fd5b5061040361094f366004613838565b612ac7565b34801561096057600080fd5b5061047161096f366004613a34565b612b01565b34801561098057600080fd5b5061040361098f366004613a34565b612b9d565b3480156109a057600080fd5b506109b46109af366004613838565b612c77565b6040805193151584529115156020840152151590820152606001610295565b3480156109df57600080fd5b506104036109ee366004613775565b612e4f565b3480156109ff57600080fd5b5061027e610a0e366004613a34565b612f62565b348015610a1f57600080fd5b5060015461081f906001600160a01b031681565b348015610a3f57600080fd5b50610a53610a4e3660046138db565b612f8c565b604051610295929190613e69565b348015610a6d57600080fd5b50610403610a7c366004613838565b6131c7565b600080600073__$b833238e904528751783273f1c78695846$__63fe852a208686610aaa610c97565b6040518463ffffffff1660e01b8152600401610ac893929190613e82565b606060405180830381865af4158015610ae5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b099190613ea6565b9250925092509250925092565b600080600073__$b833238e904528751783273f1c78695846$__6303670dba86866040518363ffffffff1660e01b8152600401610ac8929190613ed4565b600080600073__$b833238e904528751783273f1c78695846$__63067cbde186866040518363ffffffff1660e01b8152600401610ac8929190613ed4565b6000546001600160a01b03163314610bc55760405162461bcd60e51b8152600401610bbc90613eed565b60405180910390fd5b8115610c76576001600160a01b038316151580610bdf5750805b610c235760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610bbc565b600080546040516001600160a01b03808716939216916000805160206144ed83398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b610cc96040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060a0016040528060008152602001600019815260200160008152602001610100815260200166038d7ea4c68000815250905090565b600080610d5d60405180610120016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000806000869050600080886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610da6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dca9190613f22565b5091509150809750819650826001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610e14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e389190613f74565b9550610e4389612ac7565b60405163efb7601d60e01b815290955073__$b833238e904528751783273f1c78695846$__9063efb7601d90610e7d908c90600401613ce1565b602060405180830381865af4158015610e9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebe9190613ff6565b935050505091939590929450565b604051630f8cb32160e01b815260009073__$b833238e904528751783273f1c78695846$__90630f8cb32190610f089086908690600401613ed4565b602060405180830381865af4158015610f25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f499190613ff6565b90505b92915050565b600080600073__$b833238e904528751783273f1c78695846$__631272d8638787876040518463ffffffff1660e01b8152600401610f929392919061400f565b606060405180830381865af4158015610faf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd39190613ea6565b92509250925093509350939050565b604051631b9d358d60e01b815260009073__$b833238e904528751783273f1c78695846$__90631b9d358d9061101c908590600401613ce1565b602060405180830381865af4158015611039573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4c9190613ff6565b60008060008073__$b833238e904528751783273f1c78695846$__63c06225e88787611087610c97565b6040518463ffffffff1660e01b81526004016110a593929190613e82565b608060405180830381865af41580156110c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e69190614032565b9299919850965090945092505050565b600080600073__$b833238e904528751783273f1c78695846$__63586772c58686610aaa610c97565b600080600073__$b833238e904528751783273f1c78695846$__6321b7679d8787876040518463ffffffff1660e01b8152600401610f929392919061400f565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371846aa8846040518263ffffffff1660e01b81526004016111ae9190613ce1565b602060405180830381865afa1580156111cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ef9190614068565b1561125c57826001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611232573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112569190614085565b93915050565b829150826001600160a01b031663781c18db6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561129d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c19190614085565b9050915091565b600080846001600160a01b03166347bfac626040518163ffffffff1660e01b8152600401602060405180830381865afa158015611309573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132d9190614085565b9050806001600160a01b031663cbe52ae3846113498888612089565b6040518363ffffffff1660e01b8152600401611366929190613ed4565b602060405180830381865afa158015611383573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a79190613ff6565b9150505b9392505050565b604051632f77070960e01b81526001600160a01b038416600482015260248101839052604481018290526000908190819073__$b833238e904528751783273f1c78695846$__90632f77070990606401610f92565b600080600073__$b833238e904528751783273f1c78695846$__6331c6d55c8787876040518463ffffffff1660e01b8152600401610f929392919061400f565b600080600073__$b833238e904528751783273f1c78695846$__6336233bd986866040518363ffffffff1660e01b8152600401610ac8929190613ed4565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036114cd5760405162461bcd60e51b8152600401610bbc906140a2565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166114ff6131e3565b6001600160a01b0316146115255760405162461bcd60e51b8152600401610bbc906140dc565b61152e816131ff565b6040805160008082526020820190925261154a91839190613229565b50565b6115556136ac565b6040516370a0823160e01b815283906000906001600160a01b038316906370a0823190611586908790600401613ce1565b602060405180830381865afa1580156115a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c79190613ff6565b6001600160a01b0380871685526020850182905260408051630b2339af60e21b815290519293506000928392861691632c8ce6bc9160048083019260609291908290030181865afa158015611620573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116449190613f22565b5091509150816001600160a01b031663a40bee506040518163ffffffff1660e01b8152600401606060405180830381865afa158015611687573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ab9190614116565b5060808701516001600160a01b03821660208201528260018111156116d2576116d261392c565b60018111156116e3576116e361392c565b81525050506000846001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611729573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174d9190613f74565b6040810151909150600081900361176957505050505050610f4c565b8151600090829061177a9088614178565b61178491906141ad565b90506000828460200151886117999190614178565b6117a391906141ad565b90506040518060400160405280866001600160a01b031681526020018381525089604001819052506040518060400160405280876001600160a01b03168152602001828152508960600181905250670de0b6b3a7640000866001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185c9190613ff6565b6118669083614178565b61187091906141ad565b60808a015160400152505050505050505092915050565b600080606060006118978561115f565b9150506000819050806001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af11580156118df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119039190613ff6565b9450806001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611943573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119679190613ff6565b93506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156119a9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119d191908101906141f2565b905080516001600160401b038111156119ec576119ec613abb565b604051908082528060200260200182016040528015611a3157816020015b6040805180820190915260008082526020820152815260200190600190039081611a0a5790505b5093506000826001600160a01b031663f8b2f9916040518163ffffffff1660e01b81526004016000604051808303816000875af1158015611a76573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a9e9190810190614290565b905060005b8251811015611b42576000838281518110611ac057611ac0614315565b6020026020010151905080878381518110611add57611add614315565b60209081029190910101516001600160a01b0390911690528251839083908110611b0957611b09614315565b6020026020010151878381518110611b2357611b23614315565b602090810291909101810151015250611b3b8161432b565b9050611aa3565b50505050509193909250565b60008060008073__$b833238e904528751783273f1c78695846$__63cf8a61d68787611087610c97565b600080600073__$b833238e904528751783273f1c78695846$__633e32089f878787611ba2610c97565b6040518563ffffffff1660e01b8152600401610f929493929190614344565b604051633c71db3d60e01b81526001600160a01b0380861660048301528416602482015260448101839052606481018290526000908190819073__$b833238e904528751783273f1c78695846$__90633c71db3d90608401606060405180830381865af4158015611c36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5a9190613ea6565b9250925092509450945094915050565b600080600073__$b833238e904528751783273f1c78695846$__6345324d9c86866040518363ffffffff1660e01b8152600401610ac8929190613ed4565b6001546001600160a01b0316338114611d035760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610bbc565b600080546040516001600160a01b03808516939216916000805160206144ed83398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003611d9b5760405162461bcd60e51b8152600401610bbc906140a2565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611dcd6131e3565b6001600160a01b031614611df35760405162461bcd60e51b8152600401610bbc906140dc565b611dfc826131ff565b611e0882826001613229565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611ea75760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610bbc565b506000805160206144cd83398151915290565b6060816001600160401b03811115611ed457611ed4613abb565b604051908082528060200260200182016040528015611f0d57816020015b611efa6136ac565b815260200190600190039081611ef25790505b50905060005b82811015611f7957611f4b848483818110611f3057611f30614315565b9050602002016020810190611f459190613838565b8661154d565b828281518110611f5d57611f5d614315565b602002602001018190525080611f729061432b565b9050611f13565b509392505050565b60008082604001351180611f99575060008260600135115b80611fa7575060a082013515155b80610f4c57506000611fbc60c084018461437a565b90501192915050565b60008073__$b833238e904528751783273f1c78695846$__6362eaf69d85856040518363ffffffff1660e01b8152600401612001929190613ed4565b6040805180830381865af415801561201d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061204191906143c3565b915091505b9250929050565b6040516301a34e1360e61b815260009073__$b833238e904528751783273f1c78695846$__906368d384c090610f089086908690600401613ed4565b6000808390506120fd816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af11580156120d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f69190613ff6565b8490613394565b949350505050565b60008060008073__$b833238e904528751783273f1c78695846$__63919f94308787611087610c97565b600154600160a81b900460ff1661215357600154600160a01b900460ff161561215b565b61215b6133c3565b6121be5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610bbc565b600154600160a81b900460ff161580156121e8576001805461ffff60a01b191661010160a01b1790555b6121f06133d4565b801561154a576001805460ff60a81b1916905550565b600080600073__$b833238e904528751783273f1c78695846$__63d92f8f098686610aaa610c97565b60008060008073__$b833238e904528751783273f1c78695846$__63a4beab188787611087610c97565b6122616136fb565b61226a8361115f565b6001600160a01b03908116808452911660208301526040516370a0823160e01b815281906370a08231906122a2908690600401613ce1565b602060405180830381865afa1580156122bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122e39190613ff6565b82604001818152505081602001516001600160a01b03166370a08231846040518263ffffffff1660e01b815260040161231c9190613ce1565b602060405180830381865afa158015612339573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061235d9190613ff6565b826060018181525050806001600160a01b03166347bfac626040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123c89190614085565b60808301516001600160a01b03918216905260405163d68076c360e01b81529082169063d68076c3906123ff908690600401613ce1565b6040805180830381865afa15801561241b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061243f91906143fe565b9050806001600160801b03169050826080015160200181815250506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561249a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526124c291908101906141f2565b9050600081516001600160401b038111156124df576124df613abb565b60405190808252806020026020018201604052801561251857816020015b612505613749565b8152602001906001900390816124fd5790505b5090506000805b835181101561263f57600084828151811061253c5761253c614315565b602002602001015190506000866001600160a01b0316635cbadbe4838b6040518363ffffffff1660e01b815260040161257692919061388c565b6040805180830381865afa158015612592573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125b691906143fe565b6001600160801b0316915050801561262c57818585815181106125db576125db614315565b6020026020010151600001906001600160a01b031690816001600160a01b0316815250508085858151811061261257612612614315565b60209081029190910181015101526126298461432b565b93505b5050806126389061432b565b905061251f565b50806001600160401b0381111561265857612658613abb565b60405190808252806020026020018201604052801561269157816020015b61267e613749565b8152602001906001900390816126765790505b5060a086015260005b818110156126ee578281815181106126b4576126b4614315565b60200260200101518660a0015182815181106126d2576126d2614315565b6020026020010181905250806126e79061432b565b905061269a565b505050505092915050565b6060816001600160401b0381111561271357612713613abb565b60405190808252806020026020018201604052801561274c57816020015b6127396136fb565b8152602001906001900390816127315790505b50905060005b82811015611f795761278a84848381811061276f5761276f614315565b90506020020160208101906127849190613838565b86612259565b82828151811061279c5761279c614315565b6020026020010181905250806127b19061432b565b9050612752565b60008060008073__$b833238e904528751783273f1c78695846$__63c50b5c8b8787611087610c97565b60008073__$b833238e904528751783273f1c78695846$__63af2c79718686866040518463ffffffff1660e01b81526004016128209392919061400f565b6040805180830381865af415801561283c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286091906143c3565b91509150935093915050565b600080600073__$b833238e904528751783273f1c78695846$__63b24898f486866040518363ffffffff1660e01b8152600401610ac8929190613ed4565b600080600073__$b833238e904528751783273f1c78695846$__63ab52e20f8686610aaa610c97565b6060806001600160a01b03841615612a21576000846001600160a01b03166347bfac626040518163ffffffff1660e01b8152600401602060405180830381865afa158015612925573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129499190614085565b9050806001600160a01b031663213cae636040518163ffffffff1660e01b8152600401600060405180830381865afa158015612989573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526129b191908101906141f2565b816001600160a01b031663071bc3c96040518163ffffffff1660e01b8152600401600060405180830381865afa1580156129ef573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612a1791908101906141f2565b9250925050612046565b6000836001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015612a61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a859190613f22565b50509050806001600160a01b031663213cae636040518163ffffffff1660e01b8152600401600060405180830381865afa158015612989573d6000803e3d6000fd5b60405163c74141f160e01b815260009073__$b833238e904528751783273f1c78695846$__9063c74141f19061101c908590600401613ce1565b60008060008073__$b833238e904528751783273f1c78695846$__63690a0cbd888888612b2c610c97565b6040518563ffffffff1660e01b8152600401612b4b9493929190614344565b608060405180830381865af4158015612b68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b8c9190614032565b935093509350935093509350935093565b600080846001600160a01b03166347bfac626040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c029190614085565b90506113a785826001600160a01b031663b8f82b2687876040518363ffffffff1660e01b8152600401612c36929190613ed4565b602060405180830381865afa158015612c53573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ee9190613ff6565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318b7373d856040518263ffffffff1660e01b8152600401612cc89190613ce1565b602060405180830381865afa158015612ce5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d099190614068565b15612d175760019250612e48565b604051630e308d5560e31b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906371846aa890612d63908790600401613ce1565b602060405180830381865afa158015612d80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612da49190614068565b15612db25760019150612e48565b6040516358e6309f60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f90612dfe908790600401613ce1565b602060405180830381865afa158015612e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e3f9190614068565b15612e48575060015b9193909250565b600080839050806001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612eb79190614068565b15612ef45760405162461bcd60e51b815260206004820152600d60248201526c1655081a5cc8195e1c1a5c9959609a1b6044820152606401610bbc565b6120fd816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612f37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f5b9190613ff6565b8490613455565b600080600073__$b833238e904528751783273f1c78695846$__63672b79e4878787611ba2610c97565b6040516370a0823160e01b815260009060609084906001600160a01b038216906370a0823190612fc0908490600401613ce1565b602060405180830381865afa158015612fdd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130019190613ff6565b92506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015613043573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261306b91908101906141f2565b905080516001600160401b0381111561308657613086613abb565b6040519080825280602002602001820160405280156130bf57816020015b6130ac613749565b8152602001906001900390816130a45790505b50925060005b81518110156131bd5760008282815181106130e2576130e2614315565b60200260200101519050808583815181106130ff576130ff614315565b60209081029190910101516001600160a01b03918216905260405163172eb6f960e21b815290891690635cbadbe49061313e9084908b9060040161388c565b6040805180830381865afa15801561315a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061317e91906143fe565b9050806001600160801b0316905085838151811061319e5761319e614315565b6020908102919091018101510152506131b68161432b565b90506130c5565b5050509250929050565b6000610f4c826000610ecc565b6001600160a01b03163b151590565b6000805160206144cd833981519152546001600160a01b031690565b6000546001600160a01b0316331461154a5760405162461bcd60e51b8152600401610bbc90613eed565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561325c57610c9283613473565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156132b6575060408051601f3d908101601f191682019092526132b391810190613ff6565b60015b6133195760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610bbc565b6000805160206144cd83398151915281146133885760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610bbc565b50610c9283838361350d565b6000806133a9670de0b6b3a764000085614178565b90508281816133ba576133ba614197565b04949350505050565b60006133ce306131d4565b15905090565b600154600160a81b900460ff166134415760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610bbc565b600080546001600160a01b03191633179055565b6000806134628385614178565b9050670de0b6b3a7640000816133ba565b61347c816131d4565b6134de5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610bbc565b6000805160206144cd83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61351683613538565b6000825111806135235750805b15610c92576135328383613578565b50505050565b61354181613473565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610f49838360405180606001604052806027815260200161450d6027913960606135a3846131d4565b6135fe5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610bbc565b600080856001600160a01b031685604051613619919061445d565b600060405180830381855af49150503d8060008114613654576040519150601f19603f3d011682016040523d82523d6000602084013e613659565b606091505b5091509150613669828286613673565b9695505050505050565b606083156136825750816113ab565b8251156136925782518084602001fd5b8160405162461bcd60e51b8152600401610bbc9190614479565b6040805160a081018252600080825260208201529081016136cb613749565b81526020016136d8613749565b815260408051606081018252600080825260208281018290529282015291015290565b6040518060c0016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200161373c613749565b8152602001606081525090565b604080518082019091526000808252602082015290565b6001600160a01b038116811461154a57600080fd5b6000806040838503121561378857600080fd5b823561379381613760565b946020939093013593505050565b801515811461154a57600080fd5b6000806000606084860312156137c457600080fd5b83356137cf81613760565b925060208401356137df816137a1565b915060408401356137ef816137a1565b809150509250925092565b80518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b60a08101610f4c82846137fa565b60006020828403121561384a57600080fd5b81356113ab81613760565b60008060006060848603121561386a57600080fd5b833561387581613760565b92506020840135915060408401356137ef81613760565b6001600160a01b0392831681529116602082015260400190565b6000806000606084860312156138bb57600080fd5b83356138c681613760565b95602085013595506040909401359392505050565b600080604083850312156138ee57600080fd5b82356138f981613760565b9150602083013561390981613760565b809150509250929050565b80516001600160a01b03168252602090810151910152565b634e487b7160e01b600052602160045260246000fd5b60018060a01b0380825116835260208201516020840152604082015161396b6040850182613914565b50606082015161397e6080850182613914565b5060808201518051600281106139a457634e487b7160e01b600052602160045260246000fd5b60c0850152602081015190911660e0840152604001516101009092019190915250565b6101208101610f4c8284613942565b600060608201858352602085818501526040606081860152828651808552608087019150838801945060005b81811015613a2557613a15838751613914565b9484019491830191600101613a02565b50909998505050505050505050565b600080600060608486031215613a4957600080fd5b8335613a5481613760565b92506020840135613a6481613760565b929592945050506040919091013590565b60008060008060808587031215613a8b57600080fd5b8435613a9681613760565b93506020850135613aa681613760565b93969395505050506040820135916060013590565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715613af457613af4613abb565b60405290565b604051601f8201601f191681016001600160401b0381118282101715613b2257613b22613abb565b604052919050565b60008060408385031215613b3d57600080fd5b8235613b4881613760565b91506020838101356001600160401b0380821115613b6557600080fd5b818601915086601f830112613b7957600080fd5b813581811115613b8b57613b8b613abb565b613b9d601f8201601f19168501613afa565b91508082528784828501011115613bb357600080fd5b80848401858401376000848284010152508093505050509250929050565b600080600060408486031215613be657600080fd5b8335613bf181613760565b925060208401356001600160401b0380821115613c0d57600080fd5b818601915086601f830112613c2157600080fd5b813581811115613c3057600080fd5b8760208260051b8501011115613c4557600080fd5b6020830194508093505050509250925092565b6020808252825182820181905260009190848201906040850190845b81811015613c9b57613c87838551613942565b928401926101209290920191600101613c74565b50909695505050505050565b600060208284031215613cb957600080fd5b81356001600160401b03811115613ccf57600080fd5b820160e081850312156113ab57600080fd5b6001600160a01b0391909116815260200190565b600081518084526020808501945080840160005b83811015613d2f57613d1c878351613914565b6040969096019590820190600101613d09565b509495945050505050565b600060018060a01b038083511684528060208401511660208501525060408201516040840152606082015160608401526080820151613d7c6080850182613914565b5060a082015160e060c08501526120fd60e0850182613cf5565b602081526000610f496020830184613d3a565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015613dfe57603f19888603018452613dec858351613d3a565b94509285019290850190600101613dd0565b5092979650505050505050565b600081518084526020808501945080840160005b83811015613d2f5781516001600160a01b031687529582019590820190600101613e1f565b604081526000613e576040830185613e0b565b82810360208401526113a78185613e0b565b8281526040602082015260006120fd6040830184613cf5565b6001600160a01b03841681526020810183905260e081016120fd60408301846137fa565b600080600060608486031215613ebb57600080fd5b8351925060208401519150604084015190509250925092565b6001600160a01b03929092168252602082015260400190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600080600060608486031215613f3757600080fd5b8351613f4281613760565b6020850151909350613f5381613760565b60408501519092506137ef81613760565b8051613f6f81613760565b919050565b60006101208284031215613f8757600080fd5b613f8f613ad1565b825181526020830151602082015260408301516040820152613fb360608401613f64565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b60006020828403121561400857600080fd5b5051919050565b6001600160a01b0393841681526020810192909252909116604082015260600190565b6000806000806080858703121561404857600080fd5b505082516020840151604085015160609095015191969095509092509050565b60006020828403121561407a57600080fd5b81516113ab816137a1565b60006020828403121561409757600080fd5b81516113ab81613760565b6020808252602c908201526000805160206144ad83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201526000805160206144ad83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60008060006060848603121561412b57600080fd5b83516002811061413a57600080fd5b602085015190935061414b81613760565b604085015190925060ff811681146137ef57600080fd5b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561419257614192614162565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826141ca57634e487b7160e01b600052601260045260246000fd5b500490565b60006001600160401b038211156141e8576141e8613abb565b5060051b60200190565b6000602080838503121561420557600080fd5b82516001600160401b0381111561421b57600080fd5b8301601f8101851361422c57600080fd5b805161423f61423a826141cf565b613afa565b81815260059190911b8201830190838101908783111561425e57600080fd5b928401925b8284101561428557835161427681613760565b82529284019290840190614263565b979650505050505050565b600060208083850312156142a357600080fd5b82516001600160401b038111156142b957600080fd5b8301601f810185136142ca57600080fd5b80516142d861423a826141cf565b81815260059190911b820183019083810190878311156142f757600080fd5b928401925b82841015614285578351825292840192908401906142fc565b634e487b7160e01b600052603260045260246000fd5b60006001820161433d5761433d614162565b5060010190565b6001600160a01b0385811682528416602082015260408101839052610100810161437160608301846137fa565b95945050505050565b6000808335601e1984360301811261439157600080fd5b8301803591506001600160401b038211156143ab57600080fd5b6020019150600681901b360382131561204657600080fd5b600080604083850312156143d657600080fd5b505080516020909101519092909150565b80516001600160801b0381168114613f6f57600080fd5b6000806040838503121561441157600080fd5b61441a836143e7565b9150614428602084016143e7565b90509250929050565b60005b8381101561444c578181015183820152602001614434565b838111156135325750506000910152565b6000825161446f818460208701614431565b9190910192915050565b6020815260008251806020840152614498816040850160208701614431565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212203e561b397a3077fd045d3611bde83b0f708cac14a41caebcde35126f3bb7577464736f6c634300080f0033";
2065
+ "0x610100604052306080523480156200001657600080fd5b5060405162004d3a38038062004d3a83398101604081905262000039916200017a565b600154600160a81b900460ff166200005f57600154600160a01b900460ff161562000069565b6200006962000134565b620000d15760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b600154600160a81b900460ff16158015620000fc576001805461ffff60a01b191661010160a01b1790555b6001600160a01b0380851660a05283811660c052821660e05280156200012a576001805460ff60a81b191690555b50505050620001ce565b60006200014c306200015260201b620035881760201c565b15905090565b6001600160a01b03163b151590565b6001600160a01b03811681146200017757600080fd5b50565b6000806000606084860312156200019057600080fd5b83516200019d8162000161565b6020850151909350620001b08162000161565b6040850151909250620001c38162000161565b809150509250925092565b60805160a05160c05160e051614b0862000232600039600061119f0152600061317d01526000818161151a0152818161303201526130e201526000818161184301528181611883015281816121110152818161215101526121cd0152614b086000f3fe60806040526004361061027a5760003560e01c80626024ef1461027f57806303670dba146102bf578063067cbde1146102df578063078dfbe7146102ff5780630a33de0d146103215780630cf85bcc146103435780630f8cb321146104045780631272d86314610432578063180e3943146104525780631b9d358d1461048a5780631e965851146104aa57806320979416146104ea57806321b7679d1461050a578063227501f51461052a5780632ec8d844146105585780632f7707091461057857806331c6d55c1461059857806336233bd9146105b85780633659cfe6146105d8578063372cfb93146105f85780633857a07b146106255780633b672dcd146106545780633badd710146106745780633c71db3d146106945780633ff03207146106b457806345324d9c146106cb5780634e71e0c8146106eb5780634f1ef2861461070057806352d1902d1461071357806355b4fff51461072857806355bbcd731461075557806362eaf69d1461078557806368d384c0146107ba57806372568bac146107da578063739baebe146107fa5780638129fc1c1461081a5780638a7197691461082f5780638d4ab7641461084f5780638da5cb5b1461086f5780639225afd61461089c578063a749840a146108c9578063a9d09ae3146108f6578063af2c797114610916578063b24898f414610936578063b68d898d14610956578063bfcafedc14610976578063c74141f1146109a4578063d0f2034e146109c4578063d34344cc146109e4578063d52eacb214610a04578063db39d88614610a43578063dc7b316314610a63578063e30c397814610a83578063e833160414610aa3578063efb7601d14610ad1578063fa78668f14610af1575b600080fd5b34801561028b57600080fd5b5061029f61029a366004613c0b565b610b09565b604080519384526020840192909252908201526060015b60405180910390f35b3480156102cb57600080fd5b5061029f6102da366004613c0b565b610b9e565b3480156102eb57600080fd5b5061029f6102fa366004613c0b565b610bdc565b34801561030b57600080fd5b5061031f61031a366004613c45565b610c1a565b005b34801561032d57600080fd5b50610336610d1f565b6040516102b69190613cc0565b34801561034f57600080fd5b5061036361035e366004613cce565b610d8a565b6040516102b695949392919060006101a08201905060018060a01b03808816835280871660208401528551604084015260208601516060840152604086015160808401528060608701511660a084015250608085015160c083015260a085015160e083015260c0850151610100818185015260e087015161012085015280870151610140850152505083610160830152826101808301529695505050505050565b34801561041057600080fd5b5061042461041f366004613c0b565b610f54565b6040519081526020016102b6565b34801561043e57600080fd5b5061029f61044d366004613ceb565b610fda565b34801561045e57600080fd5b5061047261046d366004613d37565b61106a565b6040516001600160801b0390911681526020016102b6565b34801561049657600080fd5b506104246104a5366004613cce565b611398565b3480156104b657600080fd5b506104ca6104c5366004613c0b565b611413565b6040805194855260208501939093529183015260608201526080016102b6565b3480156104f657600080fd5b5061029f610505366004613c0b565b6114ac565b34801561051657600080fd5b5061029f610525366004613ceb565b6114d5565b34801561053657600080fd5b5061054a610545366004613cce565b611515565b6040516102b6929190613d77565b34801561056457600080fd5b50610424610573366004613ceb565b61167e565b34801561058457600080fd5b5061029f610593366004613d91565b611766565b3480156105a457600080fd5b5061029f6105b3366004613ceb565b6117bb565b3480156105c457600080fd5b5061029f6105d3366004613c0b565b6117fb565b3480156105e457600080fd5b5061031f6105f3366004613cce565b611839565b34801561060457600080fd5b50610618610613366004613dc6565b611901565b6040516102b69190613eb2565b34801561063157600080fd5b50610645610640366004613cce565b611c3b565b6040516102b693929190613ec1565b34801561066057600080fd5b506104ca61066f366004613c0b565b611f02565b34801561068057600080fd5b5061029f61068f366004613f1f565b611f2c565b3480156106a057600080fd5b5061029f6106af366004613f60565b611f75565b3480156106c057600080fd5b5061047262093a8081565b3480156106d757600080fd5b5061029f6106e6366004613c0b565b61201e565b3480156106f757600080fd5b5061031f61205c565b61031f61070e366004614015565b612107565b34801561071f57600080fd5b506104246121c0565b34801561073457600080fd5b506107486107433660046140bc565b61226e565b6040516102b69190614143565b34801561076157600080fd5b50610775610770366004614192565b612335565b60405190151581526020016102b6565b34801561079157600080fd5b506107a56107a0366004613c0b565b612379565b604080519283526020830191909152016102b6565b3480156107c657600080fd5b506104246107d5366004613c0b565b612401565b3480156107e657600080fd5b506104246107f5366004613c0b565b61243d565b34801561080657600080fd5b506104ca610815366004613c0b565b6124b9565b34801561082657600080fd5b5061031f6124e3565b34801561083b57600080fd5b5061029f61084a366004613c0b565b6125ba565b34801561085b57600080fd5b506104ca61086a366004613c0b565b6125e3565b34801561087b57600080fd5b5060005461088f906001600160a01b031681565b6040516102b691906141cc565b3480156108a857600080fd5b506108bc6108b7366004613dc6565b61260d565b6040516102b69190614281565b3480156108d557600080fd5b506108e96108e43660046140bc565b612aad565b6040516102b69190614294565b34801561090257600080fd5b506104ca610911366004613c0b565b612b6c565b34801561092257600080fd5b506107a5610931366004613ceb565b612b96565b34801561094257600080fd5b5061029f610951366004613c0b565b612c20565b34801561096257600080fd5b5061029f610971366004613c0b565b612c5e565b34801561098257600080fd5b50610996610991366004613dc6565b612c87565b6040516102b692919061432f565b3480156109b057600080fd5b506104246109bf366004613cce565b612e7b565b3480156109d057600080fd5b506104ca6109df366004613f1f565b612eb5565b3480156109f057600080fd5b506104246109ff366004613f1f565b612f51565b348015610a1057600080fd5b50610a24610a1f366004613cce565b61302b565b60408051931515845291151560208401521515908201526060016102b6565b348015610a4f57600080fd5b50610424610a5e366004613c0b565b613203565b348015610a6f57600080fd5b5061029f610a7e366004613f1f565b613316565b348015610a8f57600080fd5b5060015461088f906001600160a01b031681565b348015610aaf57600080fd5b50610ac3610abe366004613dc6565b613340565b6040516102b6929190614354565b348015610add57600080fd5b50610424610aec366004613cce565b61357b565b348015610afd57600080fd5b506104726303bfc40081565b600080600073__$b833238e904528751783273f1c78695846$__63fe852a208686610b32610d1f565b6040518463ffffffff1660e01b8152600401610b509392919061436d565b606060405180830381865af4158015610b6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b919190614391565b9250925092509250925092565b600080600073__$b833238e904528751783273f1c78695846$__6303670dba86866040518363ffffffff1660e01b8152600401610b509291906143bf565b600080600073__$b833238e904528751783273f1c78695846$__63067cbde186866040518363ffffffff1660e01b8152600401610b509291906143bf565b6000546001600160a01b03163314610c4d5760405162461bcd60e51b8152600401610c44906143d8565b60405180910390fd5b8115610cfe576001600160a01b038316151580610c675750805b610cab5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610c44565b600080546040516001600160a01b0380871693921691600080516020614a8c83398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b610d516040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060a0016040528060008152602001600019815260200160008152602001610100815260200166038d7ea4c68000815250905090565b600080610de560405180610120016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000806000869050600080886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610e2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e52919061440d565b5091509150809750819650826001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015610e9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec0919061445f565b9550610ecb89612e7b565b60405163efb7601d60e01b815290955073__$b833238e904528751783273f1c78695846$__9063efb7601d90610f05908c906004016141cc565b602060405180830381865af4158015610f22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4691906144e1565b935050505091939590929450565b604051630f8cb32160e01b815260009073__$b833238e904528751783273f1c78695846$__90630f8cb32190610f9090869086906004016143bf565b602060405180830381865af4158015610fad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd191906144e1565b90505b92915050565b600080600073__$b833238e904528751783273f1c78695846$__631272d8638787876040518463ffffffff1660e01b815260040161101a939291906144fa565b606060405180830381865af4158015611037573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105b9190614391565b92509250925093509350939050565b600061107582613597565b801561108957506001600160801b03821642105b6110c95760405162461bcd60e51b8152602060048201526011602482015270696e76616c6964206e657745787069727960781b6044820152606401610c44565b6110d76303bfc40042614533565b826001600160801b031611156111285760405162461bcd60e51b81526020600482015260166024820152751b585e081b1bd8dac81d1a5b5948195e18d95959195960521b6044820152606401610c44565b61113562093a8042614533565b826001600160801b031610156111865760405162461bcd60e51b8152602060048201526016602482015275696e73756666696369656e74206c6f636b2074696d6560501b6044820152606401610c44565b60408051808201909152600080825260208201526000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cb6b4f3c886040518263ffffffff1660e01b81526004016111e991906141cc565b6040805180830381865afa158015611205573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611229919061454b565b604080518082019091526001600160801b03928316815290821660208201819052909450908616101591506112b290505760405162461bcd60e51b815260206004820152602760248201527f6e657720657870697279206d7573742062652061667465722063757272656e746044820152662065787069727960c81b6064820152608401610c44565b80516000906112c1908661457a565b90506000816001600160801b0316116113175760405162461bcd60e51b81526020600482015260186024820152771e995c9bc81d1bdd185b08185b5bdd5b9d081b1bd8dad95960421b6044820152606401610c44565b600082602001518561132991906145a5565b905060006040518060400160405280888660000151611348919061457a565b6001600160801b03168152602001838660200151611366919061457a565b6001600160801b031690529050600061137e826135b6565b905061138981613608565b955050505050505b9392505050565b604051631b9d358d60e01b815260009073__$b833238e904528751783273f1c78695846$__90631b9d358d906113d29085906004016141cc565b602060405180830381865af41580156113ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd491906144e1565b60008060008073__$b833238e904528751783273f1c78695846$__63c06225e8878761143d610d1f565b6040518463ffffffff1660e01b815260040161145b9392919061436d565b608060405180830381865af4158015611478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149c91906145cd565b9299919850965090945092505050565b600080600073__$b833238e904528751783273f1c78695846$__63586772c58686610b32610d1f565b600080600073__$b833238e904528751783273f1c78695846$__6321b7679d8787876040518463ffffffff1660e01b815260040161101a939291906144fa565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166371846aa8846040518263ffffffff1660e01b815260040161156491906141cc565b602060405180830381865afa158015611581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a59190614603565b1561161257826001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061160c9190614620565b93915050565b829150826001600160a01b031663781c18db6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611653573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116779190614620565b9050915091565b600080846001600160a01b03166347bfac626040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e39190614620565b9050806001600160a01b031663cbe52ae3846116ff888861243d565b6040518363ffffffff1660e01b815260040161171c9291906143bf565b602060405180830381865afa158015611739573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175d91906144e1565b95945050505050565b604051632f77070960e01b81526001600160a01b038416600482015260248101839052604481018290526000908190819073__$b833238e904528751783273f1c78695846$__90632f7707099060640161101a565b600080600073__$b833238e904528751783273f1c78695846$__6331c6d55c8787876040518463ffffffff1660e01b815260040161101a939291906144fa565b600080600073__$b833238e904528751783273f1c78695846$__6336233bd986866040518363ffffffff1660e01b8152600401610b509291906143bf565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036118815760405162461bcd60e51b8152600401610c449061463d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166118b361362a565b6001600160a01b0316146118d95760405162461bcd60e51b8152600401610c4490614677565b6118e281613646565b604080516000808252602082019092526118fe91839190613670565b50565b611909613b42565b6040516370a0823160e01b815283906000906001600160a01b038316906370a082319061193a9087906004016141cc565b602060405180830381865afa158015611957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197b91906144e1565b6001600160a01b0380871685526020850182905260408051630b2339af60e21b815290519293506000928392861691632c8ce6bc9160048083019260609291908290030181865afa1580156119d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f8919061440d565b5091509150816001600160a01b031663a40bee506040518163ffffffff1660e01b8152600401606060405180830381865afa158015611a3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5f91906146b1565b5060808701516001600160a01b0382166020820152826001811115611a8657611a86613e17565b6001811115611a9757611a97613e17565b81525050506000846001600160a01b0316632778c3346040518163ffffffff1660e01b815260040161012060405180830381865afa158015611add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b01919061445f565b60408101519091506000819003611b1d57505050505050610fd4565b81516000908290611b2e90886146fd565b611b389190614732565b9050600082846020015188611b4d91906146fd565b611b579190614732565b90506040518060400160405280866001600160a01b031681526020018381525089604001819052506040518060400160405280876001600160a01b03168152602001828152508960600181905250670de0b6b3a7640000866001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1091906144e1565b611c1a90836146fd565b611c249190614732565b60808a015160400152505050505050505092915050565b60008060606000611c4b85611515565b9150506000819050806001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611c93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb791906144e1565b9450806001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cf7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d1b91906144e1565b93506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611d5d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611d859190810190614769565b905080516001600160401b03811115611da057611da0613fa6565b604051908082528060200260200182016040528015611de557816020015b6040805180820190915260008082526020820152815260200190600190039081611dbe5790505b5093506000826001600160a01b031663f8b2f9916040518163ffffffff1660e01b81526004016000604051808303816000875af1158015611e2a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e529190810190614807565b905060005b8251811015611ef6576000838281518110611e7457611e7461488c565b6020026020010151905080878381518110611e9157611e9161488c565b60209081029190910101516001600160a01b0390911690528251839083908110611ebd57611ebd61488c565b6020026020010151878381518110611ed757611ed761488c565b602090810291909101810151015250611eef816148a2565b9050611e57565b50505050509193909250565b60008060008073__$b833238e904528751783273f1c78695846$__63cf8a61d6878761143d610d1f565b600080600073__$b833238e904528751783273f1c78695846$__633e32089f878787611f56610d1f565b6040518563ffffffff1660e01b815260040161101a94939291906148bb565b604051633c71db3d60e01b81526001600160a01b0380861660048301528416602482015260448101839052606481018290526000908190819073__$b833238e904528751783273f1c78695846$__90633c71db3d90608401606060405180830381865af4158015611fea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061200e9190614391565b9250925092509450945094915050565b600080600073__$b833238e904528751783273f1c78695846$__6345324d9c86866040518363ffffffff1660e01b8152600401610b509291906143bf565b6001546001600160a01b03163381146120b75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610c44565b600080546040516001600160a01b0380851693921691600080516020614a8c83398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361214f5760405162461bcd60e51b8152600401610c449061463d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661218161362a565b6001600160a01b0316146121a75760405162461bcd60e51b8152600401610c4490614677565b6121b082613646565b6121bc82826001613670565b5050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461225b5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610c44565b50600080516020614a6c83398151915290565b6060816001600160401b0381111561228857612288613fa6565b6040519080825280602002602001820160405280156122c157816020015b6122ae613b42565b8152602001906001900390816122a65790505b50905060005b8281101561232d576122ff8484838181106122e4576122e461488c565b90506020020160208101906122f99190613cce565b86611901565b8282815181106123115761231161488c565b602002602001018190525080612326906148a2565b90506122c7565b509392505050565b6000808260400135118061234d575060008260600135115b8061235b575060a082013515155b80610fd45750600061237060c08401846148e8565b90501192915050565b60008073__$b833238e904528751783273f1c78695846$__6362eaf69d85856040518363ffffffff1660e01b81526004016123b59291906143bf565b6040805180830381865af41580156123d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f59190614931565b915091505b9250929050565b6040516301a34e1360e61b815260009073__$b833238e904528751783273f1c78695846$__906368d384c090610f9090869086906004016143bf565b6000808390506124b1816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612486573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124aa91906144e1565b84906137db565b949350505050565b60008060008073__$b833238e904528751783273f1c78695846$__63919f9430878761143d610d1f565b600154600160a81b900460ff1661250757600154600160a01b900460ff161561250f565b61250f61380a565b6125725760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610c44565b600154600160a81b900460ff1615801561259c576001805461ffff60a01b191661010160a01b1790555b6125a461381b565b80156118fe576001805460ff60a81b1916905550565b600080600073__$b833238e904528751783273f1c78695846$__63d92f8f098686610b32610d1f565b60008060008073__$b833238e904528751783273f1c78695846$__63a4beab18878761143d610d1f565b612615613b91565b61261e83611515565b6001600160a01b03908116808452911660208301526040516370a0823160e01b815281906370a08231906126569086906004016141cc565b602060405180830381865afa158015612673573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269791906144e1565b82604001818152505081602001516001600160a01b03166370a08231846040518263ffffffff1660e01b81526004016126d091906141cc565b602060405180830381865afa1580156126ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061271191906144e1565b826060018181525050806001600160a01b03166347bfac626040518163ffffffff1660e01b8152600401602060405180830381865afa158015612758573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061277c9190614620565b60808301516001600160a01b03918216905260405163d68076c360e01b81529082169063d68076c3906127b39086906004016141cc565b6040805180830381865afa1580156127cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127f3919061454b565b9050806001600160801b03169050826080015160200181815250506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561284e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128769190810190614769565b9050600081516001600160401b0381111561289357612893613fa6565b6040519080825280602002602001820160405280156128cc57816020015b6128b9613bdf565b8152602001906001900390816128b15790505b5090506000805b83518110156129f35760008482815181106128f0576128f061488c565b602002602001015190506000866001600160a01b0316635cbadbe4838b6040518363ffffffff1660e01b815260040161292a929190613d77565b6040805180830381865afa158015612946573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061296a919061454b565b6001600160801b031691505080156129e0578185858151811061298f5761298f61488c565b6020026020010151600001906001600160a01b031690816001600160a01b031681525050808585815181106129c6576129c661488c565b60209081029190910181015101526129dd846148a2565b93505b5050806129ec906148a2565b90506128d3565b50806001600160401b03811115612a0c57612a0c613fa6565b604051908082528060200260200182016040528015612a4557816020015b612a32613bdf565b815260200190600190039081612a2a5790505b5060a086015260005b81811015612aa257828181518110612a6857612a6861488c565b60200260200101518660a001518281518110612a8657612a8661488c565b602002602001018190525080612a9b906148a2565b9050612a4e565b505050505092915050565b6060816001600160401b03811115612ac757612ac7613fa6565b604051908082528060200260200182016040528015612b0057816020015b612aed613b91565b815260200190600190039081612ae55790505b50905060005b8281101561232d57612b3e848483818110612b2357612b2361488c565b9050602002016020810190612b389190613cce565b8661260d565b828281518110612b5057612b5061488c565b602002602001018190525080612b65906148a2565b9050612b06565b60008060008073__$b833238e904528751783273f1c78695846$__63c50b5c8b878761143d610d1f565b60008073__$b833238e904528751783273f1c78695846$__63af2c79718686866040518463ffffffff1660e01b8152600401612bd4939291906144fa565b6040805180830381865af4158015612bf0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c149190614931565b91509150935093915050565b600080600073__$b833238e904528751783273f1c78695846$__63b24898f486866040518363ffffffff1660e01b8152600401610b509291906143bf565b600080600073__$b833238e904528751783273f1c78695846$__63ab52e20f8686610b32610d1f565b6060806001600160a01b03841615612dd5576000846001600160a01b03166347bfac626040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cfd9190614620565b9050806001600160a01b031663213cae636040518163ffffffff1660e01b8152600401600060405180830381865afa158015612d3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612d659190810190614769565b816001600160a01b031663071bc3c96040518163ffffffff1660e01b8152600401600060405180830381865afa158015612da3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612dcb9190810190614769565b92509250506123fa565b6000836001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015612e15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e39919061440d565b50509050806001600160a01b031663213cae636040518163ffffffff1660e01b8152600401600060405180830381865afa158015612d3d573d6000803e3d6000fd5b60405163c74141f160e01b815260009073__$b833238e904528751783273f1c78695846$__9063c74141f1906113d29085906004016141cc565b60008060008073__$b833238e904528751783273f1c78695846$__63690a0cbd888888612ee0610d1f565b6040518563ffffffff1660e01b8152600401612eff94939291906148bb565b608060405180830381865af4158015612f1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f4091906145cd565b935093509350935093509350935093565b600080846001600160a01b03166347bfac626040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fb69190614620565b905061175d85826001600160a01b031663b8f82b2687876040518363ffffffff1660e01b8152600401612fea9291906143bf565b602060405180830381865afa158015613007573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5e91906144e1565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318b7373d856040518263ffffffff1660e01b815260040161307c91906141cc565b602060405180830381865afa158015613099573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130bd9190614603565b156130cb57600192506131fc565b604051630e308d5560e31b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906371846aa8906131179087906004016141cc565b602060405180830381865afa158015613134573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131589190614603565b1561316657600191506131fc565b6040516358e6309f60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358e6309f906131b29087906004016141cc565b602060405180830381865afa1580156131cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131f39190614603565b156131fc575060015b9193909250565b600080839050806001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613247573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061326b9190614603565b156132a85760405162461bcd60e51b815260206004820152600d60248201526c1655081a5cc8195e1c1a5c9959609a1b6044820152606401610c44565b6124b1816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af11580156132eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061330f91906144e1565b849061389c565b600080600073__$b833238e904528751783273f1c78695846$__63672b79e4878787611f56610d1f565b6040516370a0823160e01b815260009060609084906001600160a01b038216906370a08231906133749084906004016141cc565b602060405180830381865afa158015613391573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133b591906144e1565b92506000816001600160a01b031663c4f59f9b6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156133f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261341f9190810190614769565b905080516001600160401b0381111561343a5761343a613fa6565b60405190808252806020026020018201604052801561347357816020015b613460613bdf565b8152602001906001900390816134585790505b50925060005b81518110156135715760008282815181106134965761349661488c565b60200260200101519050808583815181106134b3576134b361488c565b60209081029190910101516001600160a01b03918216905260405163172eb6f960e21b815290891690635cbadbe4906134f29084908b90600401613d77565b6040805180830381865afa15801561350e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613532919061454b565b9050806001600160801b031690508583815181106135525761355261488c565b60209081029190910181015101525061356a816148a2565b9050613479565b5050509250929050565b6000610fd4826000610f54565b6001600160a01b03163b151590565b60006135a662093a8083614955565b6001600160801b03161592915050565b604080518082019091526000808252602082015281516135db906303bfc4009061497b565b6001600160801b031660208083018290528301516135f8916149a1565b6001600160801b03168152919050565b6000613613826138ba565b1561362057506000919050565b610fd482426138eb565b600080516020614a6c833981519152546001600160a01b031690565b6000546001600160a01b031633146118fe5760405162461bcd60e51b8152600401610c44906143d8565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156136a357610d1a83613909565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156136fd575060408051601f3d908101601f191682019092526136fa918101906144e1565b60015b6137605760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610c44565b600080516020614a6c83398151915281146137cf5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610c44565b50610d1a8383836139a3565b6000806137f0670de0b6b3a7640000856146fd565b90508281816138015761380161471c565b04949350505050565b600061381530613588565b15905090565b600154600160a81b900460ff166138885760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610c44565b600080546001600160a01b03191633179055565b6000806138a983856146fd565b9050670de0b6b3a764000081613801565b600081600001516001600160801b03164283602001516138da91906149a1565b6001600160801b0316101592915050565b60008183602001516138fd91906149a1565b8351610fd191906145a5565b61391281613588565b6139745760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610c44565b600080516020614a6c83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6139ac836139ce565b6000825111806139b95750805b15610d1a576139c88383613a0e565b50505050565b6139d781613909565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610fd18383604051806060016040528060278152602001614aac602791396060613a3984613588565b613a945760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610c44565b600080856001600160a01b031685604051613aaf91906149fc565b600060405180830381855af49150503d8060008114613aea576040519150601f19603f3d011682016040523d82523d6000602084013e613aef565b606091505b5091509150613aff828286613b09565b9695505050505050565b60608315613b18575081611391565b825115613b285782518084602001fd5b8160405162461bcd60e51b8152600401610c449190614a18565b6040805160a08101825260008082526020820152908101613b61613bdf565b8152602001613b6e613bdf565b815260408051606081018252600080825260208281018290529282015291015290565b6040518060c0016040528060006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001613bd2613bdf565b8152602001606081525090565b604080518082019091526000808252602082015290565b6001600160a01b03811681146118fe57600080fd5b60008060408385031215613c1e57600080fd5b8235613c2981613bf6565b946020939093013593505050565b80151581146118fe57600080fd5b600080600060608486031215613c5a57600080fd5b8335613c6581613bf6565b92506020840135613c7581613c37565b91506040840135613c8581613c37565b809150509250925092565b80518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b60a08101610fd48284613c90565b600060208284031215613ce057600080fd5b813561139181613bf6565b600080600060608486031215613d0057600080fd5b8335613d0b81613bf6565b9250602084013591506040840135613c8581613bf6565b6001600160801b03811681146118fe57600080fd5b600080600060608486031215613d4c57600080fd5b8335613d5781613bf6565b92506020840135613d6781613d22565b91506040840135613c8581613d22565b6001600160a01b0392831681529116602082015260400190565b600080600060608486031215613da657600080fd5b8335613db181613bf6565b95602085013595506040909401359392505050565b60008060408385031215613dd957600080fd5b8235613de481613bf6565b91506020830135613df481613bf6565b809150509250929050565b80516001600160a01b03168252602090810151910152565b634e487b7160e01b600052602160045260246000fd5b60018060a01b03808251168352602082015160208401526040820151613e566040850182613dff565b506060820151613e696080850182613dff565b506080820151805160028110613e8f57634e487b7160e01b600052602160045260246000fd5b60c0850152602081015190911660e0840152604001516101009092019190915250565b6101208101610fd48284613e2d565b600060608201858352602085818501526040606081860152828651808552608087019150838801945060005b81811015613f1057613f00838751613dff565b9484019491830191600101613eed565b50909998505050505050505050565b600080600060608486031215613f3457600080fd5b8335613f3f81613bf6565b92506020840135613f4f81613bf6565b929592945050506040919091013590565b60008060008060808587031215613f7657600080fd5b8435613f8181613bf6565b93506020850135613f9181613bf6565b93969395505050506040820135916060013590565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715613fdf57613fdf613fa6565b60405290565b604051601f8201601f191681016001600160401b038111828210171561400d5761400d613fa6565b604052919050565b6000806040838503121561402857600080fd5b823561403381613bf6565b91506020838101356001600160401b038082111561405057600080fd5b818601915086601f83011261406457600080fd5b81358181111561407657614076613fa6565b614088601f8201601f19168501613fe5565b9150808252878482850101111561409e57600080fd5b80848401858401376000848284010152508093505050509250929050565b6000806000604084860312156140d157600080fd5b83356140dc81613bf6565b925060208401356001600160401b03808211156140f857600080fd5b818601915086601f83011261410c57600080fd5b81358181111561411b57600080fd5b8760208260051b850101111561413057600080fd5b6020830194508093505050509250925092565b6020808252825182820181905260009190848201906040850190845b8181101561418657614172838551613e2d565b92840192610120929092019160010161415f565b50909695505050505050565b6000602082840312156141a457600080fd5b81356001600160401b038111156141ba57600080fd5b820160e0818503121561139157600080fd5b6001600160a01b0391909116815260200190565b600081518084526020808501945080840160005b8381101561421a57614207878351613dff565b60409690960195908201906001016141f4565b509495945050505050565b600060018060a01b0380835116845280602084015116602085015250604082015160408401526060820151606084015260808201516142676080850182613dff565b5060a082015160e060c08501526124b160e08501826141e0565b602081526000610fd16020830184614225565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156142e957603f198886030184526142d7858351614225565b945092850192908501906001016142bb565b5092979650505050505050565b600081518084526020808501945080840160005b8381101561421a5781516001600160a01b03168752958201959082019060010161430a565b60408152600061434260408301856142f6565b828103602084015261175d81856142f6565b8281526040602082015260006124b160408301846141e0565b6001600160a01b03841681526020810183905260e081016124b16040830184613c90565b6000806000606084860312156143a657600080fd5b8351925060208401519150604084015190509250925092565b6001600160a01b03929092168252602082015260400190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008060006060848603121561442257600080fd5b835161442d81613bf6565b602085015190935061443e81613bf6565b6040850151909250613c8581613bf6565b805161445a81613bf6565b919050565b6000610120828403121561447257600080fd5b61447a613fbc565b82518152602083015160208201526040830151604082015261449e6060840161444f565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b6000602082840312156144f357600080fd5b5051919050565b6001600160a01b0393841681526020810192909252909116604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082198211156145465761454661451d565b500190565b6000806040838503121561455e57600080fd5b825161456981613d22565b6020840151909250613df481613d22565b60006001600160801b0382811684821680830382111561459c5761459c61451d565b01949350505050565b60006001600160801b03838116908316818110156145c5576145c561451d565b039392505050565b600080600080608085870312156145e357600080fd5b505082516020840151604085015160609095015191969095509092509050565b60006020828403121561461557600080fd5b815161139181613c37565b60006020828403121561463257600080fd5b815161139181613bf6565b6020808252602c90820152600080516020614a4c83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020614a4c83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000806000606084860312156146c657600080fd5b8351600281106146d557600080fd5b60208501519093506146e681613bf6565b604085015190925060ff81168114613c8557600080fd5b60008160001904831182151516156147175761471761451d565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826147415761474161471c565b500490565b60006001600160401b0382111561475f5761475f613fa6565b5060051b60200190565b6000602080838503121561477c57600080fd5b82516001600160401b0381111561479257600080fd5b8301601f810185136147a357600080fd5b80516147b66147b182614746565b613fe5565b81815260059190911b820183019083810190878311156147d557600080fd5b928401925b828410156147fc5783516147ed81613bf6565b825292840192908401906147da565b979650505050505050565b6000602080838503121561481a57600080fd5b82516001600160401b0381111561483057600080fd5b8301601f8101851361484157600080fd5b805161484f6147b182614746565b81815260059190911b8201830190838101908783111561486e57600080fd5b928401925b828410156147fc57835182529284019290840190614873565b634e487b7160e01b600052603260045260246000fd5b6000600182016148b4576148b461451d565b5060010190565b6001600160a01b0385811682528416602082015260408101839052610100810161175d6060830184613c90565b6000808335601e198436030181126148ff57600080fd5b8301803591506001600160401b0382111561491957600080fd5b6020019150600681901b36038213156123fa57600080fd5b6000806040838503121561494457600080fd5b505080516020909101519092909150565b60006001600160801b038381168061496f5761496f61471c565b92169190910692915050565b60006001600160801b03838116806149955761499561471c565b92169190910492915050565b60006001600160801b03828116848216811515828404821116156149c7576149c761451d565b02949350505050565b60005b838110156149eb5781810151838201526020016149d3565b838111156139c85750506000910152565b60008251614a0e8184602087016149d0565b9190910192915050565b6020815260008251806020840152614a378160408501602087016149d0565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212207f025b8532fb344e73c9123a1430983b9990754e16a914e516a30261e351ae4464736f6c634300080f0033";
2006
2066
 
2007
2067
  type RouterStaticConstructorParams =
2008
2068
  | [linkLibraryAddresses: RouterStaticLibraryAddresses, signer?: Signer]
@@ -2053,22 +2113,26 @@ export class RouterStatic__factory extends ContractFactory {
2053
2113
  deploy(
2054
2114
  _yieldContractFactory: string,
2055
2115
  _marketFactory: string,
2116
+ _vePENDLE: string,
2056
2117
  overrides?: Overrides & { from?: string | Promise<string> }
2057
2118
  ): Promise<RouterStatic> {
2058
2119
  return super.deploy(
2059
2120
  _yieldContractFactory,
2060
2121
  _marketFactory,
2122
+ _vePENDLE,
2061
2123
  overrides || {}
2062
2124
  ) as Promise<RouterStatic>;
2063
2125
  }
2064
2126
  getDeployTransaction(
2065
2127
  _yieldContractFactory: string,
2066
2128
  _marketFactory: string,
2129
+ _vePENDLE: string,
2067
2130
  overrides?: Overrides & { from?: string | Promise<string> }
2068
2131
  ): TransactionRequest {
2069
2132
  return super.getDeployTransaction(
2070
2133
  _yieldContractFactory,
2071
2134
  _marketFactory,
2135
+ _vePENDLE,
2072
2136
  overrides || {}
2073
2137
  );
2074
2138
  }
@@ -616,7 +616,7 @@ const _abi = [
616
616
  ];
617
617
 
618
618
  const _bytecode =
619
- "0x60a06040523480156200001157600080fd5b5060405162002aeb38038062002aeb8339810160408190526200003491620000b1565b620000496200007b60201b6200105d1760201c565b600180546001600160801b0319166001600160801b03929092169190911790556001600160a01b031660805262000156565b600062000088426200008d565b905090565b600062093a806200009f8184620000e3565b620000ab919062000118565b92915050565b600060208284031215620000c457600080fd5b81516001600160a01b0381168114620000dc57600080fd5b9392505050565b60006001600160801b03838116806200010c57634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b60006001600160801b03828116848216811515828404821116156200014d57634e487b7160e01b600052601160045260246000fd5b02949350505050565b60805161296b6200018060003960008181610371015281816108bb0152610edd015261296b6000f3fe6080604052600436106101525760003560e01c8063078dfbe7146101575780630b9efa2214610179578063210490281461018c57806323342c381461019f57806330d981af146101bf5780633b16c126146101ea5780633ccfd60b146102185780633e39b6501461022d5780633ff03207146102505780634e71e0c8146102675780635cc049681461027c57806370a08231146102b45780638129fc1c146102d4578063814b2cac146102e95780638da5cb5b14610309578063947975d914610329578063a2c530da1461035f578063b92e106a14610393578063bd4d66e3146103a6578063c8121ec2146103c6578063cb6b4f3c146103e6578063cc471bb814610435578063d88e92a914610448578063e139a48d1461047e578063e268b3a41461049e578063e30c3978146104be578063ef1c243a146104de578063f4359ce514610250578063fa78668f146104f3575b600080fd5b34801561016357600080fd5b50610177610172366004612268565b61050b565b005b6101776101873660046122f5565b610611565b61017761019a366004612347565b610676565b3480156101ab57600080fd5b506101776101ba366004612371565b6106bb565b3480156101cb57600080fd5b506101d4610707565b6040516101e1919061238c565b60405180910390f35b3480156101f657600080fd5b5061020a6102053660046123a0565b610724565b6040519081526020016101e1565b34801561022457600080fd5b506101d46107eb565b34801561023957600080fd5b50610242610930565b6040516101e19291906123e1565b34801561025c57600080fd5b506101d462093a8081565b34801561027357600080fd5b50610177610a44565b34801561028857600080fd5b5060355461029c906001600160a01b031681565b6040516001600160a01b0390911681526020016101e1565b3480156102c057600080fd5b506101d46102cf366004612371565b610af0565b3480156102e057600080fd5b50610177610b43565b3480156102f557600080fd5b506001546101d4906001600160801b031681565b34801561031557600080fd5b5060035461029c906001600160a01b031681565b34801561033557600080fd5b506101d461034436600461247c565b609e602052600090815260409020546001600160801b031681565b34801561036b57600080fd5b5061029c7f000000000000000000000000000000000000000000000000000000000000000081565b6101776103a13660046123a0565b610c1b565b3480156103b257600080fd5b506101d46103c1366004612497565b610c37565b3480156103d257600080fd5b506101d46103e13660046124ca565b610c62565b3480156103f257600080fd5b50610427610401366004612371565b6002602052600090815260409020546001600160801b0380821691600160801b90041682565b6040516101e19291906124e6565b6101d4610443366004612500565b610f67565b34801561045457600080fd5b506101d461046336600461247c565b609d602052600090815260409020546001600160801b031681565b34801561048a57600080fd5b5061020a6104993660046123a0565b610f98565b3480156104aa57600080fd5b506104276104b9366004612371565b611008565b3480156104ca57600080fd5b5060045461029c906001600160a01b031681565b3480156104ea57600080fd5b506101d4611025565b3480156104ff57600080fd5b506101d46303bfc40081565b6003546001600160a01b0316331461053e5760405162461bcd60e51b815260040161053590612560565b60405180910390fd5b81156105f0576001600160a01b0383161515806105585750805b61059c5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610535565b6003546040516001600160a01b0380861692169060008051602061291683398151915290600090a3600380546001600160a01b0385166001600160a01b031991821617909155600480549091169055505050565b600480546001600160a01b0319166001600160a01b0385161790555b505050565b6001600160a01b03831661065b5760405162461bcd60e51b81526020600482015260116024820152703d32b9379030b2323932b9b9903ab9b2b960791b6044820152606401610535565b610666838383611068565b471561060c5761060c3347611278565b6003546001600160a01b031633146106a05760405162461bcd60e51b815260040161053590612560565b6106ac6036828461138e565b506106b782826113ae565b5050565b6003546001600160a01b031633146106e55760405162461bcd60e51b815260040161053590612560565b603580546001600160a01b0319166001600160a01b0392909216919091179055565b6000806107126113e3565b50905061071e8161151e565b91505090565b6035546040805180820182526000808252602080830182905283518281529081018452909385936001600160a01b0390911692635335dca29261076c92879291908101612608565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016107979190612631565b602060405180830381865afa1580156107b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d89190612644565b6107e29190612673565b90505b92915050565b6000336107f781611540565b61083a5760405162461bcd60e51b81526020600482015260146024820152731c1bdcda5d1a5bdb881b9bdd08195e1c1a5c995960621b6044820152606401610535565b6001600160a01b0381166000908152600260205260409020546001600160801b031691508161089b5760405162461bcd60e51b815260206004820152600d60248201526c3d32b937903837b9b4ba34b7b760991b6044820152606401610535565b6001600160a01b038082166000908152600260205260408120556108eb907f000000000000000000000000000000000000000000000000000000000000000016826001600160801b038516611571565b806001600160a01b03167f0e1bb0545c1ebb9fb680bde73514e572831de93b479c087ec1ef6c35c3a19fd683604051610924919061238c565b60405180910390a25090565b606080600061093f60366115d4565b9050806001600160401b0381111561095957610959612692565b604051908082528060200260200182016040528015610982578160200160208202803683370190505b509250806001600160401b0381111561099d5761099d612692565b6040519080825280602002602001820160405280156109c6578160200160208202803683370190505b50915060005b81811015610a3e576109df6036826115df565b8583815181106109f1576109f16126a8565b60200260200101858481518110610a0a57610a0a6126a8565b60200260200101826001600160a01b03166001600160a01b031681525082815250505080610a37906126be565b90506109cc565b50509091565b6004546001600160a01b0316338114610a9f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610535565b6003546040516001600160a01b0380841692169060008051602061291683398151915290600090a3600380546001600160a01b039092166001600160a01b0319928316179055600480549091169055565b6001600160a01b03811660009081526002602090815260408083208151808301909252546001600160801b038082168352600160801b90910416918101919091526107e590610b3e906115fd565b61151e565b600454600160a81b900460ff16610b6757600454600160a01b900460ff1615610b6f565b610b6f611643565b610bd25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610535565b600454600160a81b900460ff16158015610bfc576004805461ffff60a01b191661010160a01b1790555b610c04611654565b8015610c18576004805460ff60a81b191690555b50565b610c2760008383611068565b47156106b7576106b73347611278565b6001600160a01b0382166000908152609f602052604081206107e2906001600160801b0384166116d5565b600033610c6e83611815565b8015610c8257506001600160801b03831642105b610cc25760405162461bcd60e51b8152602060048201526011602482015270696e76616c6964206e657745787069727960781b6044820152606401610535565b610cd06303bfc400426126d7565b836001600160801b03161115610d215760405162461bcd60e51b81526020600482015260166024820152751b585e081b1bd8dac81d1a5b5948195e18d95959195960521b6044820152606401610535565b610d2e62093a80426126d7565b836001600160801b03161015610d7f5760405162461bcd60e51b8152602060048201526016602482015275696e73756666696369656e74206c6f636b2074696d6560501b6044820152606401610535565b6001600160a01b0381166000908152600260205260409020546001600160801b03808516600160801b909204161115610e0a5760405162461bcd60e51b815260206004820152602760248201527f6e657720657870697279206d7573742062652061667465722063757272656e746044820152662065787069727960c81b6064820152608401610535565b6001600160a01b038116600090815260026020526040812054610e36906001600160801b0316866126ef565b90506000816001600160801b031611610e8c5760405162461bcd60e51b81526020600482015260186024820152771e995c9bc81d1bdd185b08185b5bdd5b9d081b1bd8dad95960421b6044820152606401610535565b6001600160a01b038216600090815260026020526040812054610ebf90600160801b90046001600160801b03168661271a565b90506001600160801b03861615610f0e57610f0e6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684306001600160801b038a16611834565b610f1983878361186c565b9350826001600160a01b03167fb1a3371956c54dc1d83695b4a006b051c8313ee986e533b6b964e77c9066fc2c8387604051610f569291906124e6565b60405180910390a250505092915050565b6000610f738585610c62565b9050610f80338484610611565b4715610f9057610f903347611278565b949350505050565b60355460408051808201825260008082526020808301829052835180850185528281528082018390529351919486946001600160a01b0390911693635335dca29387939192610fe992859201612742565b60408051601f198184030181529082905261076c939291602001612608565b600080611013610707565b61101c84610af0565b91509150915091565b60408051808201909152600080546001600160801b038082168452600160801b909104166020830152906110589061151e565b905090565b600061105842611a6c565b60008190036110aa5760405162461bcd60e51b815260206004820152600e60248201526d656d70747920636861696e49647360901b6044820152606401610535565b6000806110b56113e3565b909250905060006001600160a01b03861615611122576001600160a01b03861660008181526002602090815260409182902082519182019390935291546001600160801b03811691830191909152608090811c606083015201604051602081830303815290604052611132565b6040805160008152602081019091525b905060005b848110156111e15761116b868683818110611154576111546126a8565b905060200201356036611a8690919063ffffffff16565b6111ad5760405162461bcd60e51b81526020600482015260136024820152723737ba1039bab83837b93a32b21031b430b4b760691b6044820152606401610535565b6111d18686838181106111c2576111c26126a8565b90506020020135848685611a92565b6111da816126be565b9050611137565b506001600160a01b0386161561123557856001600160a01b03167f82e92e1b0568d98f095fc0c76ccb0f2ac5b64534f69a2c706281e223b6477683868660405161122c929190612795565b60405180910390a25b7f5f9e7cb1ed2eca254f75b6e350699887aa8597e3a2ec9e0aa2b3504c211facbd838686604051611268939291906127a9565b60405180910390a1505050505050565b804710156112c85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610535565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611315576040519150601f19603f3d011682016040523d82523d6000602084013e61131a565b606091505b505090508061060c5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c20726044820152791958da5c1a595b9d081b585e481a185d99481c995d995c9d195960321b6064820152608401610535565b60006113a484846001600160a01b038516611abf565b90505b9392505050565b6000806113b96113e3565b915091506113dd838284604051602001604051602081830303815290604052611a92565b50505050565b6113eb612227565b60408051808201909152600080546001600160801b038082168452600160801b90910481166020840152600154919291168261142561105d565b9050806001600160801b0316826001600160801b03161061144a575090939092509050565b806001600160801b0316826001600160801b031610156114db5761147162093a80836126ef565b6001600160801b038082166000908152609d602052604090205491935061149b9185911684611adc565b92506114a78383611b2a565b6001600160801b038381166000908152609e6020526040902080546001600160801b0319169290911691909117905561144a565b50815160208301516001600160801b03918216600160801b9183169190910217600055600180546001600160801b03191691831691909117905590939092509050565b600061152982611b48565b1561153657506000919050565b6107e58242611b2a565b6001600160a01b038116600090815260026020526040812054600160801b90046001600160801b03164210156107e5565b6040516001600160a01b03831660248201526044810182905261060c90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611b79565b60006107e582611c4b565b60008080806115ee8686611c56565b909450925050505b9250929050565b611605612227565b8151611616906303bfc400906127e0565b6001600160801b0316602080830182905283015161163391612806565b6001600160801b03168152919050565b600061164e30611c81565b15905090565b600454600160a81b900460ff166116c15760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610535565b600380546001600160a01b03191633179055565b60004282106117265760405162461bcd60e51b815260206004820181905260248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e65646044820152606401610535565b825460005b8181101561179c576000600261174184846126d7565b61174b9190612835565b905084866000018281548110611763576117636126a8565b600091825260209091206002909102015463ffffffff16111561178857809250611796565b6117938160016126d7565b91505b5061172b565b811561180957611804856117b1600185612849565b815481106117c1576117c16126a8565b60009182526020918290206040805180820190915260029290920201600101546001600160801b038082168352600160801b909104169181019190915285611b2a565b61180c565b60005b95945050505050565b600061182462093a8083612860565b6001600160801b03161592915050565b6040516001600160a01b03808516602483015283166044820152606481018290526113dd9085906323b872dd60e01b9060840161159d565b6001600160a01b03831660009081526002602090815260408083208151808301909252546001600160801b038082168352600160801b9091041691810191909152816118b66113e3565b5090506118d082602001516001600160801b031642101590565b61194a5760006118df836115fd565b90506118eb8282611c90565b602080830151858201516001600160801b039081166000908152609d90935260408320805494965091939192916119249185911661271a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505b6000604051806040016040528087856000015161196791906126ef565b6001600160801b0316815260200186856020015161198591906126ef565b6001600160801b031690529050600061199d826115fd565b90506119a98382611cd9565b602080830151848201516001600160801b039081166000908152609d90935260408320805494975091939192916119e2918591166126ef565b82546101009290920a6001600160801b038181021990931691831602179091558451602080870151918316600160801b92841683021760009081556001600160a01b038d168152600282526040808220885189850151908716961690940294909417909255609f905220611a57915082611d0e565b611a608161151e565b98975050505050505050565b600062093a80611a7c81846127e0565b6107e59190612806565b60006107e28383611e1a565b6113dd84848484604051602001611aab93929190612886565b604051602081830303815290604052611e26565b600082815260028401602052604081208290556113a48484611f7a565b611ae4612227565b828460200151611af4919061271a565b6001600160801b03166020820152611b0c8284612806565b8451611b18919061271a565b6001600160801b031681529392505050565b6000818360200151611b3c9190612806565b83516107e2919061271a565b600081600001516001600160801b0316428360200151611b689190612806565b6001600160801b0316101592915050565b6000611bce826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611f869092919063ffffffff16565b80519091501561060c5780806020019051810190611bec919061289f565b61060c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610535565b60006107e582611f95565b60008080611c648585611f9f565b600081815260029690960160205260409095205494959350505050565b6001600160a01b03163b151590565b611c98612227565b81518351611ca6919061271a565b6001600160801b0316815260208083015190840151611cc5919061271a565b6001600160801b0316602082015292915050565b611ce1612227565b81518351611cef91906126ef565b6001600160801b0316815260208083015190840151611cc591906126ef565b81548015801590611d5057504283611d27600184612849565b81548110611d3757611d376126a8565b600091825260209091206002909102015463ffffffff16145b15611daf578183611d62600184612849565b81548110611d7257611d726126a8565b6000918252602091829020835193909201516001600160801b03908116600160801b02931692909217600160029093029091019190910155505050565b6040805180820190915263ffffffff4281168252602080830185815286546001818101895560008981528490209551600290920290950180549190941663ffffffff199091161783555180519101516001600160801b03908116600160801b02911617910155505050565b60006107e28383611fab565b611e31603683611a86565b611e3d57611e3d6128bc565b6000611e4a603684611fb7565b60355460405163299aee5160e11b81529192506000916001600160a01b0390911690635335dca290611e80908690600401612631565b602060405180830381865afa158015611e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ec19190612644565b905080471015611f0c5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e742063656c65722066656560501b6044820152606401610535565b603554604051634f9e72ad60e11b81526001600160a01b0390911690639f3ce55a908390611f42908690899089906004016128d2565b6000604051808303818588803b158015611f5b57600080fd5b505af1158015611f6f573d6000803e3d6000fd5b505050505050505050565b60006107e28383611fc3565b60606113a4848460008561200d565b60006107e5825490565b60006107e2838361213c565b60006107e28383612166565b60006107e2838361217e565b6000611fcf8383612166565b612005575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556107e5565b5060006107e5565b60608247101561206e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610535565b61207785611c81565b6120c35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610535565b600080866001600160a01b031685876040516120df91906128f9565b60006040518083038185875af1925050503d806000811461211c576040519150601f19603f3d011682016040523d82523d6000602084013e612121565b606091505b50915091506121318282866121ee565b979650505050505050565b6000826000018281548110612153576121536126a8565b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b6000818152600283016020526040812054801515806121a257506121a28484611e1a565b6107e25760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b657900006044820152606401610535565b606083156121fd5750816113a7565b82511561220d5782518084602001fd5b8160405162461bcd60e51b81526004016105359190612631565b604080518082019091526000808252602082015290565b80356001600160a01b038116811461225557600080fd5b919050565b8015158114610c1857600080fd5b60008060006060848603121561227d57600080fd5b6122868461223e565b925060208401356122968161225a565b915060408401356122a68161225a565b809150509250925092565b60008083601f8401126122c357600080fd5b5081356001600160401b038111156122da57600080fd5b6020830191508360208260051b85010111156115f657600080fd5b60008060006040848603121561230a57600080fd5b6123138461223e565b925060208401356001600160401b0381111561232e57600080fd5b61233a868287016122b1565b9497909650939450505050565b6000806040838503121561235a57600080fd5b6123638361223e565b946020939093013593505050565b60006020828403121561238357600080fd5b6107e28261223e565b6001600160801b0391909116815260200190565b600080602083850312156123b357600080fd5b82356001600160401b038111156123c957600080fd5b6123d5858286016122b1565b90969095509350505050565b604080825283519082018190526000906020906060840190828701845b8281101561241a578151845292840192908401906001016123fe565b5050508381038285015284518082528583019183019060005b818110156124585783516001600160a01b031683529284019291840191600101612433565b5090979650505050505050565b80356001600160801b038116811461225557600080fd5b60006020828403121561248e57600080fd5b6107e282612465565b600080604083850312156124aa57600080fd5b6124b38361223e565b91506124c160208401612465565b90509250929050565b600080604083850312156124dd57600080fd5b6124b383612465565b6001600160801b0392831681529116602082015260400190565b6000806000806060858703121561251657600080fd5b61251f85612465565b935061252d60208601612465565b925060408501356001600160401b0381111561254857600080fd5b612554878288016122b1565b95989497509550505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80516001600160801b03908116835260209182015116910152565b60005b838110156125cb5781810151838201526020016125b3565b838111156113dd5750506000910152565b600081518084526125f48160208601602086016125b0565b601f01601f19169290920160200192915050565b60ff8416815261261b6020820184612595565b60806060820152600061180c60808301846125dc565b6020815260006107e260208301846125dc565b60006020828403121561265657600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561268d5761268d61265d565b500290565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000600182016126d0576126d061265d565b5060010190565b600082198211156126ea576126ea61265d565b500190565b60006001600160801b038281168482168083038211156127115761271161265d565b01949350505050565b60006001600160801b038381169083168181101561273a5761273a61265d565b039392505050565b6001600160a01b0383168152606081016113a76020830184612595565b81835260006001600160fb1b0383111561277857600080fd5b8260051b8083602087013760009401602001938452509192915050565b6020815260006113a460208301848661275f565b6127b38185612595565b60606040820152600061180c60608301848661275f565b634e487b7160e01b600052601260045260246000fd5b60006001600160801b03838116806127fa576127fa6127ca565b92169190910492915050565b60006001600160801b038281168482168115158284048211161561282c5761282c61265d565b02949350505050565b600082612844576128446127ca565b500490565b60008282101561285b5761285b61265d565b500390565b60006001600160801b038381168061287a5761287a6127ca565b92169190910692915050565b6001600160801b038416815261261b6020820184612595565b6000602082840312156128b157600080fd5b81516107e28161225a565b634e487b7160e01b600052600160045260246000fd5b60018060a01b038416815282602082015260606040820152600061180c60608301846125dc565b6000825161290b8184602087016125b0565b919091019291505056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220bd50cec0b3936a78f2eaa21054aff4df5e8879784c96c40f7c28b973e94de5dd64736f6c634300080f0033";
619
+ "0x60a06040523480156200001157600080fd5b5060405162002aeb38038062002aeb8339810160408190526200003491620000b1565b620000496200007b60201b6200105d1760201c565b600180546001600160801b0319166001600160801b03929092169190911790556001600160a01b031660805262000156565b600062000088426200008d565b905090565b600062093a806200009f8184620000e3565b620000ab919062000118565b92915050565b600060208284031215620000c457600080fd5b81516001600160a01b0381168114620000dc57600080fd5b9392505050565b60006001600160801b03838116806200010c57634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b60006001600160801b03828116848216811515828404821116156200014d57634e487b7160e01b600052601160045260246000fd5b02949350505050565b60805161296b6200018060003960008181610371015281816108bb0152610edd015261296b6000f3fe6080604052600436106101525760003560e01c8063078dfbe7146101575780630b9efa2214610179578063210490281461018c57806323342c381461019f57806330d981af146101bf5780633b16c126146101ea5780633ccfd60b146102185780633e39b6501461022d5780633ff03207146102505780634e71e0c8146102675780635cc049681461027c57806370a08231146102b45780638129fc1c146102d4578063814b2cac146102e95780638da5cb5b14610309578063947975d914610329578063a2c530da1461035f578063b92e106a14610393578063bd4d66e3146103a6578063c8121ec2146103c6578063cb6b4f3c146103e6578063cc471bb814610435578063d88e92a914610448578063e139a48d1461047e578063e268b3a41461049e578063e30c3978146104be578063ef1c243a146104de578063f4359ce514610250578063fa78668f146104f3575b600080fd5b34801561016357600080fd5b50610177610172366004612268565b61050b565b005b6101776101873660046122f5565b610611565b61017761019a366004612347565b610676565b3480156101ab57600080fd5b506101776101ba366004612371565b6106bb565b3480156101cb57600080fd5b506101d4610707565b6040516101e1919061238c565b60405180910390f35b3480156101f657600080fd5b5061020a6102053660046123a0565b610724565b6040519081526020016101e1565b34801561022457600080fd5b506101d46107eb565b34801561023957600080fd5b50610242610930565b6040516101e19291906123e1565b34801561025c57600080fd5b506101d462093a8081565b34801561027357600080fd5b50610177610a44565b34801561028857600080fd5b5060355461029c906001600160a01b031681565b6040516001600160a01b0390911681526020016101e1565b3480156102c057600080fd5b506101d46102cf366004612371565b610af0565b3480156102e057600080fd5b50610177610b43565b3480156102f557600080fd5b506001546101d4906001600160801b031681565b34801561031557600080fd5b5060035461029c906001600160a01b031681565b34801561033557600080fd5b506101d461034436600461247c565b609e602052600090815260409020546001600160801b031681565b34801561036b57600080fd5b5061029c7f000000000000000000000000000000000000000000000000000000000000000081565b6101776103a13660046123a0565b610c1b565b3480156103b257600080fd5b506101d46103c1366004612497565b610c37565b3480156103d257600080fd5b506101d46103e13660046124ca565b610c62565b3480156103f257600080fd5b50610427610401366004612371565b6002602052600090815260409020546001600160801b0380821691600160801b90041682565b6040516101e19291906124e6565b6101d4610443366004612500565b610f67565b34801561045457600080fd5b506101d461046336600461247c565b609d602052600090815260409020546001600160801b031681565b34801561048a57600080fd5b5061020a6104993660046123a0565b610f98565b3480156104aa57600080fd5b506104276104b9366004612371565b611008565b3480156104ca57600080fd5b5060045461029c906001600160a01b031681565b3480156104ea57600080fd5b506101d4611025565b3480156104ff57600080fd5b506101d46303bfc40081565b6003546001600160a01b0316331461053e5760405162461bcd60e51b815260040161053590612560565b60405180910390fd5b81156105f0576001600160a01b0383161515806105585750805b61059c5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610535565b6003546040516001600160a01b0380861692169060008051602061291683398151915290600090a3600380546001600160a01b0385166001600160a01b031991821617909155600480549091169055505050565b600480546001600160a01b0319166001600160a01b0385161790555b505050565b6001600160a01b03831661065b5760405162461bcd60e51b81526020600482015260116024820152703d32b9379030b2323932b9b9903ab9b2b960791b6044820152606401610535565b610666838383611068565b471561060c5761060c3347611278565b6003546001600160a01b031633146106a05760405162461bcd60e51b815260040161053590612560565b6106ac6036828461138e565b506106b782826113ae565b5050565b6003546001600160a01b031633146106e55760405162461bcd60e51b815260040161053590612560565b603580546001600160a01b0319166001600160a01b0392909216919091179055565b6000806107126113e3565b50905061071e8161151e565b91505090565b6035546040805180820182526000808252602080830182905283518281529081018452909385936001600160a01b0390911692635335dca29261076c92879291908101612608565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016107979190612631565b602060405180830381865afa1580156107b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d89190612644565b6107e29190612673565b90505b92915050565b6000336107f781611540565b61083a5760405162461bcd60e51b81526020600482015260146024820152731c1bdcda5d1a5bdb881b9bdd08195e1c1a5c995960621b6044820152606401610535565b6001600160a01b0381166000908152600260205260409020546001600160801b031691508161089b5760405162461bcd60e51b815260206004820152600d60248201526c3d32b937903837b9b4ba34b7b760991b6044820152606401610535565b6001600160a01b038082166000908152600260205260408120556108eb907f000000000000000000000000000000000000000000000000000000000000000016826001600160801b038516611571565b806001600160a01b03167f0e1bb0545c1ebb9fb680bde73514e572831de93b479c087ec1ef6c35c3a19fd683604051610924919061238c565b60405180910390a25090565b606080600061093f60366115d4565b9050806001600160401b0381111561095957610959612692565b604051908082528060200260200182016040528015610982578160200160208202803683370190505b509250806001600160401b0381111561099d5761099d612692565b6040519080825280602002602001820160405280156109c6578160200160208202803683370190505b50915060005b81811015610a3e576109df6036826115df565b8583815181106109f1576109f16126a8565b60200260200101858481518110610a0a57610a0a6126a8565b60200260200101826001600160a01b03166001600160a01b031681525082815250505080610a37906126be565b90506109cc565b50509091565b6004546001600160a01b0316338114610a9f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610535565b6003546040516001600160a01b0380841692169060008051602061291683398151915290600090a3600380546001600160a01b039092166001600160a01b0319928316179055600480549091169055565b6001600160a01b03811660009081526002602090815260408083208151808301909252546001600160801b038082168352600160801b90910416918101919091526107e590610b3e906115fd565b61151e565b600454600160a81b900460ff16610b6757600454600160a01b900460ff1615610b6f565b610b6f611643565b610bd25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610535565b600454600160a81b900460ff16158015610bfc576004805461ffff60a01b191661010160a01b1790555b610c04611654565b8015610c18576004805460ff60a81b191690555b50565b610c2760008383611068565b47156106b7576106b73347611278565b6001600160a01b0382166000908152609f602052604081206107e2906001600160801b0384166116d5565b600033610c6e83611815565b8015610c8257506001600160801b03831642105b610cc25760405162461bcd60e51b8152602060048201526011602482015270696e76616c6964206e657745787069727960781b6044820152606401610535565b610cd06303bfc400426126d7565b836001600160801b03161115610d215760405162461bcd60e51b81526020600482015260166024820152751b585e081b1bd8dac81d1a5b5948195e18d95959195960521b6044820152606401610535565b610d2e62093a80426126d7565b836001600160801b03161015610d7f5760405162461bcd60e51b8152602060048201526016602482015275696e73756666696369656e74206c6f636b2074696d6560501b6044820152606401610535565b6001600160a01b0381166000908152600260205260409020546001600160801b03808516600160801b909204161115610e0a5760405162461bcd60e51b815260206004820152602760248201527f6e657720657870697279206d7573742062652061667465722063757272656e746044820152662065787069727960c81b6064820152608401610535565b6001600160a01b038116600090815260026020526040812054610e36906001600160801b0316866126ef565b90506000816001600160801b031611610e8c5760405162461bcd60e51b81526020600482015260186024820152771e995c9bc81d1bdd185b08185b5bdd5b9d081b1bd8dad95960421b6044820152606401610535565b6001600160a01b038216600090815260026020526040812054610ebf90600160801b90046001600160801b03168661271a565b90506001600160801b03861615610f0e57610f0e6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684306001600160801b038a16611834565b610f1983878361186c565b9350826001600160a01b03167fb1a3371956c54dc1d83695b4a006b051c8313ee986e533b6b964e77c9066fc2c8387604051610f569291906124e6565b60405180910390a250505092915050565b6000610f738585610c62565b9050610f80338484610611565b4715610f9057610f903347611278565b949350505050565b60355460408051808201825260008082526020808301829052835180850185528281528082018390529351919486946001600160a01b0390911693635335dca29387939192610fe992859201612742565b60408051601f198184030181529082905261076c939291602001612608565b600080611013610707565b61101c84610af0565b91509150915091565b60408051808201909152600080546001600160801b038082168452600160801b909104166020830152906110589061151e565b905090565b600061105842611a6c565b60008190036110aa5760405162461bcd60e51b815260206004820152600e60248201526d656d70747920636861696e49647360901b6044820152606401610535565b6000806110b56113e3565b909250905060006001600160a01b03861615611122576001600160a01b03861660008181526002602090815260409182902082519182019390935291546001600160801b03811691830191909152608090811c606083015201604051602081830303815290604052611132565b6040805160008152602081019091525b905060005b848110156111e15761116b868683818110611154576111546126a8565b905060200201356036611a8690919063ffffffff16565b6111ad5760405162461bcd60e51b81526020600482015260136024820152723737ba1039bab83837b93a32b21031b430b4b760691b6044820152606401610535565b6111d18686838181106111c2576111c26126a8565b90506020020135848685611a92565b6111da816126be565b9050611137565b506001600160a01b0386161561123557856001600160a01b03167f82e92e1b0568d98f095fc0c76ccb0f2ac5b64534f69a2c706281e223b6477683868660405161122c929190612795565b60405180910390a25b7f5f9e7cb1ed2eca254f75b6e350699887aa8597e3a2ec9e0aa2b3504c211facbd838686604051611268939291906127a9565b60405180910390a1505050505050565b804710156112c85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610535565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611315576040519150601f19603f3d011682016040523d82523d6000602084013e61131a565b606091505b505090508061060c5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c20726044820152791958da5c1a595b9d081b585e481a185d99481c995d995c9d195960321b6064820152608401610535565b60006113a484846001600160a01b038516611abf565b90505b9392505050565b6000806113b96113e3565b915091506113dd838284604051602001604051602081830303815290604052611a92565b50505050565b6113eb612227565b60408051808201909152600080546001600160801b038082168452600160801b90910481166020840152600154919291168261142561105d565b9050806001600160801b0316826001600160801b03161061144a575090939092509050565b806001600160801b0316826001600160801b031610156114db5761147162093a80836126ef565b6001600160801b038082166000908152609d602052604090205491935061149b9185911684611adc565b92506114a78383611b2a565b6001600160801b038381166000908152609e6020526040902080546001600160801b0319169290911691909117905561144a565b50815160208301516001600160801b03918216600160801b9183169190910217600055600180546001600160801b03191691831691909117905590939092509050565b600061152982611b48565b1561153657506000919050565b6107e58242611b2a565b6001600160a01b038116600090815260026020526040812054600160801b90046001600160801b03164210156107e5565b6040516001600160a01b03831660248201526044810182905261060c90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611b79565b60006107e582611c4b565b60008080806115ee8686611c56565b909450925050505b9250929050565b611605612227565b8151611616906303bfc400906127e0565b6001600160801b0316602080830182905283015161163391612806565b6001600160801b03168152919050565b600061164e30611c81565b15905090565b600454600160a81b900460ff166116c15760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610535565b600380546001600160a01b03191633179055565b60004282106117265760405162461bcd60e51b815260206004820181905260248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e65646044820152606401610535565b825460005b8181101561179c576000600261174184846126d7565b61174b9190612835565b905084866000018281548110611763576117636126a8565b600091825260209091206002909102015463ffffffff16111561178857809250611796565b6117938160016126d7565b91505b5061172b565b811561180957611804856117b1600185612849565b815481106117c1576117c16126a8565b60009182526020918290206040805180820190915260029290920201600101546001600160801b038082168352600160801b909104169181019190915285611b2a565b61180c565b60005b95945050505050565b600061182462093a8083612860565b6001600160801b03161592915050565b6040516001600160a01b03808516602483015283166044820152606481018290526113dd9085906323b872dd60e01b9060840161159d565b6001600160a01b03831660009081526002602090815260408083208151808301909252546001600160801b038082168352600160801b9091041691810191909152816118b66113e3565b5090506118d082602001516001600160801b031642101590565b61194a5760006118df836115fd565b90506118eb8282611c90565b602080830151858201516001600160801b039081166000908152609d90935260408320805494965091939192916119249185911661271a565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550505b6000604051806040016040528087856000015161196791906126ef565b6001600160801b0316815260200186856020015161198591906126ef565b6001600160801b031690529050600061199d826115fd565b90506119a98382611cd9565b602080830151848201516001600160801b039081166000908152609d90935260408320805494975091939192916119e2918591166126ef565b82546101009290920a6001600160801b038181021990931691831602179091558451602080870151918316600160801b92841683021760009081556001600160a01b038d168152600282526040808220885189850151908716961690940294909417909255609f905220611a57915082611d0e565b611a608161151e565b98975050505050505050565b600062093a80611a7c81846127e0565b6107e59190612806565b60006107e28383611e1a565b6113dd84848484604051602001611aab93929190612886565b604051602081830303815290604052611e26565b600082815260028401602052604081208290556113a48484611f7a565b611ae4612227565b828460200151611af4919061271a565b6001600160801b03166020820152611b0c8284612806565b8451611b18919061271a565b6001600160801b031681529392505050565b6000818360200151611b3c9190612806565b83516107e2919061271a565b600081600001516001600160801b0316428360200151611b689190612806565b6001600160801b0316101592915050565b6000611bce826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611f869092919063ffffffff16565b80519091501561060c5780806020019051810190611bec919061289f565b61060c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610535565b60006107e582611f95565b60008080611c648585611f9f565b600081815260029690960160205260409095205494959350505050565b6001600160a01b03163b151590565b611c98612227565b81518351611ca6919061271a565b6001600160801b0316815260208083015190840151611cc5919061271a565b6001600160801b0316602082015292915050565b611ce1612227565b81518351611cef91906126ef565b6001600160801b0316815260208083015190840151611cc591906126ef565b81548015801590611d5057504283611d27600184612849565b81548110611d3757611d376126a8565b600091825260209091206002909102015463ffffffff16145b15611daf578183611d62600184612849565b81548110611d7257611d726126a8565b6000918252602091829020835193909201516001600160801b03908116600160801b02931692909217600160029093029091019190910155505050565b6040805180820190915263ffffffff4281168252602080830185815286546001818101895560008981528490209551600290920290950180549190941663ffffffff199091161783555180519101516001600160801b03908116600160801b02911617910155505050565b60006107e28383611fab565b611e31603683611a86565b611e3d57611e3d6128bc565b6000611e4a603684611fb7565b60355460405163299aee5160e11b81529192506000916001600160a01b0390911690635335dca290611e80908690600401612631565b602060405180830381865afa158015611e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ec19190612644565b905080471015611f0c5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e742063656c65722066656560501b6044820152606401610535565b603554604051634f9e72ad60e11b81526001600160a01b0390911690639f3ce55a908390611f42908690899089906004016128d2565b6000604051808303818588803b158015611f5b57600080fd5b505af1158015611f6f573d6000803e3d6000fd5b505050505050505050565b60006107e28383611fc3565b60606113a4848460008561200d565b60006107e5825490565b60006107e2838361213c565b60006107e28383612166565b60006107e2838361217e565b6000611fcf8383612166565b612005575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556107e5565b5060006107e5565b60608247101561206e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610535565b61207785611c81565b6120c35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610535565b600080866001600160a01b031685876040516120df91906128f9565b60006040518083038185875af1925050503d806000811461211c576040519150601f19603f3d011682016040523d82523d6000602084013e612121565b606091505b50915091506121318282866121ee565b979650505050505050565b6000826000018281548110612153576121536126a8565b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b6000818152600283016020526040812054801515806121a257506121a28484611e1a565b6107e25760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b657900006044820152606401610535565b606083156121fd5750816113a7565b82511561220d5782518084602001fd5b8160405162461bcd60e51b81526004016105359190612631565b604080518082019091526000808252602082015290565b80356001600160a01b038116811461225557600080fd5b919050565b8015158114610c1857600080fd5b60008060006060848603121561227d57600080fd5b6122868461223e565b925060208401356122968161225a565b915060408401356122a68161225a565b809150509250925092565b60008083601f8401126122c357600080fd5b5081356001600160401b038111156122da57600080fd5b6020830191508360208260051b85010111156115f657600080fd5b60008060006040848603121561230a57600080fd5b6123138461223e565b925060208401356001600160401b0381111561232e57600080fd5b61233a868287016122b1565b9497909650939450505050565b6000806040838503121561235a57600080fd5b6123638361223e565b946020939093013593505050565b60006020828403121561238357600080fd5b6107e28261223e565b6001600160801b0391909116815260200190565b600080602083850312156123b357600080fd5b82356001600160401b038111156123c957600080fd5b6123d5858286016122b1565b90969095509350505050565b604080825283519082018190526000906020906060840190828701845b8281101561241a578151845292840192908401906001016123fe565b5050508381038285015284518082528583019183019060005b818110156124585783516001600160a01b031683529284019291840191600101612433565b5090979650505050505050565b80356001600160801b038116811461225557600080fd5b60006020828403121561248e57600080fd5b6107e282612465565b600080604083850312156124aa57600080fd5b6124b38361223e565b91506124c160208401612465565b90509250929050565b600080604083850312156124dd57600080fd5b6124b383612465565b6001600160801b0392831681529116602082015260400190565b6000806000806060858703121561251657600080fd5b61251f85612465565b935061252d60208601612465565b925060408501356001600160401b0381111561254857600080fd5b612554878288016122b1565b95989497509550505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80516001600160801b03908116835260209182015116910152565b60005b838110156125cb5781810151838201526020016125b3565b838111156113dd5750506000910152565b600081518084526125f48160208601602086016125b0565b601f01601f19169290920160200192915050565b60ff8416815261261b6020820184612595565b60806060820152600061180c60808301846125dc565b6020815260006107e260208301846125dc565b60006020828403121561265657600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561268d5761268d61265d565b500290565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000600182016126d0576126d061265d565b5060010190565b600082198211156126ea576126ea61265d565b500190565b60006001600160801b038281168482168083038211156127115761271161265d565b01949350505050565b60006001600160801b038381169083168181101561273a5761273a61265d565b039392505050565b6001600160a01b0383168152606081016113a76020830184612595565b81835260006001600160fb1b0383111561277857600080fd5b8260051b8083602087013760009401602001938452509192915050565b6020815260006113a460208301848661275f565b6127b38185612595565b60606040820152600061180c60608301848661275f565b634e487b7160e01b600052601260045260246000fd5b60006001600160801b03838116806127fa576127fa6127ca565b92169190910492915050565b60006001600160801b038281168482168115158284048211161561282c5761282c61265d565b02949350505050565b600082612844576128446127ca565b500490565b60008282101561285b5761285b61265d565b500390565b60006001600160801b038381168061287a5761287a6127ca565b92169190910692915050565b6001600160801b038416815261261b6020820184612595565b6000602082840312156128b157600080fd5b81516107e28161225a565b634e487b7160e01b600052600160045260246000fd5b60018060a01b038416815282602082015260606040820152600061180c60608301846125dc565b6000825161290b8184602087016125b0565b919091019291505056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a26469706673582212207999cb0f2770f2679e4c65a1ab43614d060fd9ca7a8d4f91e08cf591ac78b2fe64736f6c634300080f0033";
620
620
 
621
621
  type VotingEscrowPendleMainchainConstructorParams =
622
622
  | [signer?: Signer]
@@ -92,6 +92,34 @@ declare module "hardhat/types/runtime" {
92
92
  name: "CelerSenderUpg",
93
93
  signerOrOptions?: ethers.Signer | FactoryOptions
94
94
  ): Promise<Contracts.CelerSenderUpg__factory>;
95
+ getContractFactory(
96
+ name: "PendleMsgReceiveEndpointUpg",
97
+ signerOrOptions?: ethers.Signer | FactoryOptions
98
+ ): Promise<Contracts.PendleMsgReceiveEndpointUpg__factory>;
99
+ getContractFactory(
100
+ name: "PendleMsgReceiverAppUpg",
101
+ signerOrOptions?: ethers.Signer | FactoryOptions
102
+ ): Promise<Contracts.PendleMsgReceiverAppUpg__factory>;
103
+ getContractFactory(
104
+ name: "PendleMsgSendEndpointUpg",
105
+ signerOrOptions?: ethers.Signer | FactoryOptions
106
+ ): Promise<Contracts.PendleMsgSendEndpointUpg__factory>;
107
+ getContractFactory(
108
+ name: "PendleMsgSenderAppUpg",
109
+ signerOrOptions?: ethers.Signer | FactoryOptions
110
+ ): Promise<Contracts.PendleMsgSenderAppUpg__factory>;
111
+ getContractFactory(
112
+ name: "EpochResultManager",
113
+ signerOrOptions?: ethers.Signer | FactoryOptions
114
+ ): Promise<Contracts.EpochResultManager__factory>;
115
+ getContractFactory(
116
+ name: "PendleFeeDistributor",
117
+ signerOrOptions?: ethers.Signer | FactoryOptions
118
+ ): Promise<Contracts.PendleFeeDistributor__factory>;
119
+ getContractFactory(
120
+ name: "PendleFeeDistributorFactory",
121
+ signerOrOptions?: ethers.Signer | FactoryOptions
122
+ ): Promise<Contracts.PendleFeeDistributorFactory__factory>;
95
123
  getContractFactory(
96
124
  name: "PendleGaugeControllerBaseUpg",
97
125
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -140,6 +168,10 @@ declare module "hardhat/types/runtime" {
140
168
  name: "PendleERC20",
141
169
  signerOrOptions?: ethers.Signer | FactoryOptions
142
170
  ): Promise<Contracts.PendleERC20__factory>;
171
+ getContractFactory(
172
+ name: "PendleERC20Permit",
173
+ signerOrOptions?: ethers.Signer | FactoryOptions
174
+ ): Promise<Contracts.PendleERC20Permit__factory>;
143
175
  getContractFactory(
144
176
  name: "PendleRouter",
145
177
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -180,6 +212,10 @@ declare module "hardhat/types/runtime" {
180
212
  name: "IBenQiInterestRateModel",
181
213
  signerOrOptions?: ethers.Signer | FactoryOptions
182
214
  ): Promise<Contracts.IBenQiInterestRateModel__factory>;
215
+ getContractFactory(
216
+ name: "IBoringOwnableUpgradeable",
217
+ signerOrOptions?: ethers.Signer | FactoryOptions
218
+ ): Promise<Contracts.IBoringOwnableUpgradeable__factory>;
183
219
  getContractFactory(
184
220
  name: "ICelerMessageBus",
185
221
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -228,6 +264,14 @@ declare module "hardhat/types/runtime" {
228
264
  name: "IPAllAction",
229
265
  signerOrOptions?: ethers.Signer | FactoryOptions
230
266
  ): Promise<Contracts.IPAllAction__factory>;
267
+ getContractFactory(
268
+ name: "IPFeeDistributor",
269
+ signerOrOptions?: ethers.Signer | FactoryOptions
270
+ ): Promise<Contracts.IPFeeDistributor__factory>;
271
+ getContractFactory(
272
+ name: "IPFeeDistributorFactory",
273
+ signerOrOptions?: ethers.Signer | FactoryOptions
274
+ ): Promise<Contracts.IPFeeDistributorFactory__factory>;
231
275
  getContractFactory(
232
276
  name: "IPGauge",
233
277
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -260,6 +304,14 @@ declare module "hardhat/types/runtime" {
260
304
  name: "IPMarketSwapCallback",
261
305
  signerOrOptions?: ethers.Signer | FactoryOptions
262
306
  ): Promise<Contracts.IPMarketSwapCallback__factory>;
307
+ getContractFactory(
308
+ name: "IPMsgReceiverApp",
309
+ signerOrOptions?: ethers.Signer | FactoryOptions
310
+ ): Promise<Contracts.IPMsgReceiverApp__factory>;
311
+ getContractFactory(
312
+ name: "IPMsgSendEndpoint",
313
+ signerOrOptions?: ethers.Signer | FactoryOptions
314
+ ): Promise<Contracts.IPMsgSendEndpoint__factory>;
263
315
  getContractFactory(
264
316
  name: "IPermissionsV2Upg",
265
317
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -356,6 +408,10 @@ declare module "hardhat/types/runtime" {
356
408
  name: "IYearnVault",
357
409
  signerOrOptions?: ethers.Signer | FactoryOptions
358
410
  ): Promise<Contracts.IYearnVault__factory>;
411
+ getContractFactory(
412
+ name: "BaseSplitCodeFactory",
413
+ signerOrOptions?: ethers.Signer | FactoryOptions
414
+ ): Promise<Contracts.BaseSplitCodeFactory__factory>;
359
415
  getContractFactory(
360
416
  name: "AggregationRouterHelper",
361
417
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -380,6 +436,10 @@ declare module "hardhat/types/runtime" {
380
436
  name: "RewardManagerAbstract",
381
437
  signerOrOptions?: ethers.Signer | FactoryOptions
382
438
  ): Promise<Contracts.RewardManagerAbstract__factory>;
439
+ getContractFactory(
440
+ name: "BaseSplitCodeFactoryContract",
441
+ signerOrOptions?: ethers.Signer | FactoryOptions
442
+ ): Promise<Contracts.BaseSplitCodeFactoryContract__factory>;
383
443
  getContractFactory(
384
444
  name: "MarketMathStatic",
385
445
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -553,6 +613,41 @@ declare module "hardhat/types/runtime" {
553
613
  address: string,
554
614
  signer?: ethers.Signer
555
615
  ): Promise<Contracts.CelerSenderUpg>;
616
+ getContractAt(
617
+ name: "PendleMsgReceiveEndpointUpg",
618
+ address: string,
619
+ signer?: ethers.Signer
620
+ ): Promise<Contracts.PendleMsgReceiveEndpointUpg>;
621
+ getContractAt(
622
+ name: "PendleMsgReceiverAppUpg",
623
+ address: string,
624
+ signer?: ethers.Signer
625
+ ): Promise<Contracts.PendleMsgReceiverAppUpg>;
626
+ getContractAt(
627
+ name: "PendleMsgSendEndpointUpg",
628
+ address: string,
629
+ signer?: ethers.Signer
630
+ ): Promise<Contracts.PendleMsgSendEndpointUpg>;
631
+ getContractAt(
632
+ name: "PendleMsgSenderAppUpg",
633
+ address: string,
634
+ signer?: ethers.Signer
635
+ ): Promise<Contracts.PendleMsgSenderAppUpg>;
636
+ getContractAt(
637
+ name: "EpochResultManager",
638
+ address: string,
639
+ signer?: ethers.Signer
640
+ ): Promise<Contracts.EpochResultManager>;
641
+ getContractAt(
642
+ name: "PendleFeeDistributor",
643
+ address: string,
644
+ signer?: ethers.Signer
645
+ ): Promise<Contracts.PendleFeeDistributor>;
646
+ getContractAt(
647
+ name: "PendleFeeDistributorFactory",
648
+ address: string,
649
+ signer?: ethers.Signer
650
+ ): Promise<Contracts.PendleFeeDistributorFactory>;
556
651
  getContractAt(
557
652
  name: "PendleGaugeControllerBaseUpg",
558
653
  address: string,
@@ -613,6 +708,11 @@ declare module "hardhat/types/runtime" {
613
708
  address: string,
614
709
  signer?: ethers.Signer
615
710
  ): Promise<Contracts.PendleERC20>;
711
+ getContractAt(
712
+ name: "PendleERC20Permit",
713
+ address: string,
714
+ signer?: ethers.Signer
715
+ ): Promise<Contracts.PendleERC20Permit>;
616
716
  getContractAt(
617
717
  name: "PendleRouter",
618
718
  address: string,
@@ -663,6 +763,11 @@ declare module "hardhat/types/runtime" {
663
763
  address: string,
664
764
  signer?: ethers.Signer
665
765
  ): Promise<Contracts.IBenQiInterestRateModel>;
766
+ getContractAt(
767
+ name: "IBoringOwnableUpgradeable",
768
+ address: string,
769
+ signer?: ethers.Signer
770
+ ): Promise<Contracts.IBoringOwnableUpgradeable>;
666
771
  getContractAt(
667
772
  name: "ICelerMessageBus",
668
773
  address: string,
@@ -723,6 +828,16 @@ declare module "hardhat/types/runtime" {
723
828
  address: string,
724
829
  signer?: ethers.Signer
725
830
  ): Promise<Contracts.IPAllAction>;
831
+ getContractAt(
832
+ name: "IPFeeDistributor",
833
+ address: string,
834
+ signer?: ethers.Signer
835
+ ): Promise<Contracts.IPFeeDistributor>;
836
+ getContractAt(
837
+ name: "IPFeeDistributorFactory",
838
+ address: string,
839
+ signer?: ethers.Signer
840
+ ): Promise<Contracts.IPFeeDistributorFactory>;
726
841
  getContractAt(
727
842
  name: "IPGauge",
728
843
  address: string,
@@ -763,6 +878,16 @@ declare module "hardhat/types/runtime" {
763
878
  address: string,
764
879
  signer?: ethers.Signer
765
880
  ): Promise<Contracts.IPMarketSwapCallback>;
881
+ getContractAt(
882
+ name: "IPMsgReceiverApp",
883
+ address: string,
884
+ signer?: ethers.Signer
885
+ ): Promise<Contracts.IPMsgReceiverApp>;
886
+ getContractAt(
887
+ name: "IPMsgSendEndpoint",
888
+ address: string,
889
+ signer?: ethers.Signer
890
+ ): Promise<Contracts.IPMsgSendEndpoint>;
766
891
  getContractAt(
767
892
  name: "IPermissionsV2Upg",
768
893
  address: string,
@@ -883,6 +1008,11 @@ declare module "hardhat/types/runtime" {
883
1008
  address: string,
884
1009
  signer?: ethers.Signer
885
1010
  ): Promise<Contracts.IYearnVault>;
1011
+ getContractAt(
1012
+ name: "BaseSplitCodeFactory",
1013
+ address: string,
1014
+ signer?: ethers.Signer
1015
+ ): Promise<Contracts.BaseSplitCodeFactory>;
886
1016
  getContractAt(
887
1017
  name: "AggregationRouterHelper",
888
1018
  address: string,
@@ -913,6 +1043,11 @@ declare module "hardhat/types/runtime" {
913
1043
  address: string,
914
1044
  signer?: ethers.Signer
915
1045
  ): Promise<Contracts.RewardManagerAbstract>;
1046
+ getContractAt(
1047
+ name: "BaseSplitCodeFactoryContract",
1048
+ address: string,
1049
+ signer?: ethers.Signer
1050
+ ): Promise<Contracts.BaseSplitCodeFactoryContract>;
916
1051
  getContractAt(
917
1052
  name: "MarketMathStatic",
918
1053
  address: string,