@superfluid-finance/sdk-core 0.8.1-dev.69c5856.0 → 0.8.1-dev.85696a9.0

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 (840) hide show
  1. package/dist/index.umd.js +7578 -11833
  2. package/dist/main/BatchCall.d.ts.map +1 -1
  3. package/dist/main/ConstantFlowAgreementV1.d.ts.map +1 -1
  4. package/dist/main/ERC20Token.d.ts.map +1 -1
  5. package/dist/main/ERC721Token.d.ts.map +1 -1
  6. package/dist/main/Framework.d.ts.map +1 -1
  7. package/dist/main/GeneralDistributionAgreementV1.d.ts.map +1 -1
  8. package/dist/main/Governance.d.ts.map +1 -1
  9. package/dist/main/InstantDistributionAgreementV1.d.ts.map +1 -1
  10. package/dist/main/Operation.d.ts.map +1 -1
  11. package/dist/main/Query.d.ts.map +1 -1
  12. package/dist/main/SuperToken.d.ts +22 -22
  13. package/dist/main/SuperToken.d.ts.map +1 -1
  14. package/dist/main/SuperfluidAgreement.d.ts.map +1 -1
  15. package/dist/main/SuperfluidPool.d.ts.map +1 -1
  16. package/dist/main/mapGetAllEventsQueryEvents.d.ts.map +1 -1
  17. package/dist/main/multiplyGasLimit.js +1 -1
  18. package/dist/main/multiplyGasLimit.js.map +1 -1
  19. package/dist/main/pagination.d.ts.map +1 -1
  20. package/dist/main/pagination.js +5 -5
  21. package/dist/main/pagination.js.map +1 -1
  22. package/dist/main/subgraph/entities/account/account.d.ts +2 -2
  23. package/dist/main/subgraph/entities/account/account.d.ts.map +1 -1
  24. package/dist/main/subgraph/entities/account/accounts.generated.d.ts +1 -8
  25. package/dist/main/subgraph/entities/account/accounts.generated.d.ts.map +1 -1
  26. package/dist/main/subgraph/entities/accountTokenSnapshot/accountTokenSnapshot.d.ts +2 -2
  27. package/dist/main/subgraph/entities/accountTokenSnapshot/accountTokenSnapshot.d.ts.map +1 -1
  28. package/dist/main/subgraph/entities/accountTokenSnapshot/accountTokenSnapshots.generated.d.ts +1 -8
  29. package/dist/main/subgraph/entities/accountTokenSnapshot/accountTokenSnapshots.generated.d.ts.map +1 -1
  30. package/dist/main/subgraph/entities/accountTokenSnapshotLog/accountTokenSnapshotLog.d.ts +2 -2
  31. package/dist/main/subgraph/entities/accountTokenSnapshotLog/accountTokenSnapshotLog.d.ts.map +1 -1
  32. package/dist/main/subgraph/entities/accountTokenSnapshotLog/accountTokenSnapshotLogs.generated.d.ts +1 -8
  33. package/dist/main/subgraph/entities/accountTokenSnapshotLog/accountTokenSnapshotLogs.generated.d.ts.map +1 -1
  34. package/dist/main/subgraph/entities/flowOperator/flowOperator.d.ts +2 -2
  35. package/dist/main/subgraph/entities/flowOperator/flowOperator.d.ts.map +1 -1
  36. package/dist/main/subgraph/entities/flowOperator/flowOperators.generated.d.ts +1 -8
  37. package/dist/main/subgraph/entities/flowOperator/flowOperators.generated.d.ts.map +1 -1
  38. package/dist/main/subgraph/entities/index/index.d.ts +2 -2
  39. package/dist/main/subgraph/entities/index/index.d.ts.map +1 -1
  40. package/dist/main/subgraph/entities/index/indexes.generated.d.ts +1 -8
  41. package/dist/main/subgraph/entities/index/indexes.generated.d.ts.map +1 -1
  42. package/dist/main/subgraph/entities/indexSubscription/indexSubscription.d.ts +2 -2
  43. package/dist/main/subgraph/entities/indexSubscription/indexSubscription.d.ts.map +1 -1
  44. package/dist/main/subgraph/entities/indexSubscription/indexSubscriptions.generated.d.ts +1 -8
  45. package/dist/main/subgraph/entities/indexSubscription/indexSubscriptions.generated.d.ts.map +1 -1
  46. package/dist/main/subgraph/entities/pool/pool.d.ts +2 -2
  47. package/dist/main/subgraph/entities/pool/pool.d.ts.map +1 -1
  48. package/dist/main/subgraph/entities/pool/pools.generated.d.ts +2 -11
  49. package/dist/main/subgraph/entities/pool/pools.generated.d.ts.map +1 -1
  50. package/dist/main/subgraph/entities/poolDistributor/poolDistributor.d.ts +2 -2
  51. package/dist/main/subgraph/entities/poolDistributor/poolDistributor.d.ts.map +1 -1
  52. package/dist/main/subgraph/entities/poolDistributor/poolDistributors.generated.d.ts +1 -8
  53. package/dist/main/subgraph/entities/poolDistributor/poolDistributors.generated.d.ts.map +1 -1
  54. package/dist/main/subgraph/entities/poolMember/poolMember.d.ts +2 -2
  55. package/dist/main/subgraph/entities/poolMember/poolMember.d.ts.map +1 -1
  56. package/dist/main/subgraph/entities/poolMember/poolMembers.generated.d.ts +1 -8
  57. package/dist/main/subgraph/entities/poolMember/poolMembers.generated.d.ts.map +1 -1
  58. package/dist/main/subgraph/entities/stream/stream.d.ts +2 -2
  59. package/dist/main/subgraph/entities/stream/stream.d.ts.map +1 -1
  60. package/dist/main/subgraph/entities/stream/streams.generated.d.ts +1 -8
  61. package/dist/main/subgraph/entities/stream/streams.generated.d.ts.map +1 -1
  62. package/dist/main/subgraph/entities/streamPeriod/streamPeriod.d.ts +2 -2
  63. package/dist/main/subgraph/entities/streamPeriod/streamPeriod.d.ts.map +1 -1
  64. package/dist/main/subgraph/entities/streamPeriod/streamPeriods.generated.d.ts +1 -8
  65. package/dist/main/subgraph/entities/streamPeriod/streamPeriods.generated.d.ts.map +1 -1
  66. package/dist/main/subgraph/entities/token/token.d.ts +2 -2
  67. package/dist/main/subgraph/entities/token/token.d.ts.map +1 -1
  68. package/dist/main/subgraph/entities/token/tokens.generated.d.ts +1 -8
  69. package/dist/main/subgraph/entities/token/tokens.generated.d.ts.map +1 -1
  70. package/dist/main/subgraph/entities/tokenStatistic/tokenStatistic.d.ts +2 -2
  71. package/dist/main/subgraph/entities/tokenStatistic/tokenStatistic.d.ts.map +1 -1
  72. package/dist/main/subgraph/entities/tokenStatistic/tokenStatistics.generated.d.ts +1 -8
  73. package/dist/main/subgraph/entities/tokenStatistic/tokenStatistics.generated.d.ts.map +1 -1
  74. package/dist/main/subgraph/entities/tokenStatisticLog/tokenStatisticLog.d.ts +2 -2
  75. package/dist/main/subgraph/entities/tokenStatisticLog/tokenStatisticLog.d.ts.map +1 -1
  76. package/dist/main/subgraph/entities/tokenStatisticLog/tokenStatisticLogs.generated.d.ts +1 -8
  77. package/dist/main/subgraph/entities/tokenStatisticLog/tokenStatisticLogs.generated.d.ts.map +1 -1
  78. package/dist/main/subgraph/events/events.d.ts +5 -5
  79. package/dist/main/subgraph/events/events.d.ts.map +1 -1
  80. package/dist/main/subgraph/events/events.generated.d.ts +42 -336
  81. package/dist/main/subgraph/events/events.generated.d.ts.map +1 -1
  82. package/dist/main/subgraph/events/flowUpdatedEvent.d.ts +2 -2
  83. package/dist/main/subgraph/events/flowUpdatedEvent.d.ts.map +1 -1
  84. package/dist/main/subgraph/events/indexUpdatedEvent.d.ts +2 -2
  85. package/dist/main/subgraph/events/indexUpdatedEvent.d.ts.map +1 -1
  86. package/dist/main/subgraph/events/subscriptionUnitsUpdatedEvents.d.ts +2 -2
  87. package/dist/main/subgraph/events/subscriptionUnitsUpdatedEvents.d.ts.map +1 -1
  88. package/dist/main/subgraph/events/transferEvents.d.ts +2 -2
  89. package/dist/main/subgraph/events/transferEvents.d.ts.map +1 -1
  90. package/dist/main/subgraph/meta/meta.generated.d.ts +1 -3
  91. package/dist/main/subgraph/meta/meta.generated.d.ts.map +1 -1
  92. package/dist/main/subgraph/queries/getAccountTokenSnapshots.generated.d.ts +1 -7
  93. package/dist/main/subgraph/queries/getAccountTokenSnapshots.generated.d.ts.map +1 -1
  94. package/dist/main/subgraph/queries/getAllEvents.generated.d.ts +1 -7
  95. package/dist/main/subgraph/queries/getAllEvents.generated.d.ts.map +1 -1
  96. package/dist/main/subgraph/queries/getIndexSubscriptions.generated.d.ts +1 -7
  97. package/dist/main/subgraph/queries/getIndexSubscriptions.generated.d.ts.map +1 -1
  98. package/dist/main/subgraph/queries/getIndexes.generated.d.ts +1 -7
  99. package/dist/main/subgraph/queries/getIndexes.generated.d.ts.map +1 -1
  100. package/dist/main/subgraph/queries/getStreams.generated.d.ts +1 -7
  101. package/dist/main/subgraph/queries/getStreams.generated.d.ts.map +1 -1
  102. package/dist/main/subgraph/queries/getTokens.generated.d.ts +1 -7
  103. package/dist/main/subgraph/queries/getTokens.generated.d.ts.map +1 -1
  104. package/dist/main/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts +9 -1
  105. package/dist/main/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts.map +1 -1
  106. package/dist/main/typechain-types/contracts/interfaces/utils/IUserDefinedMacro.d.ts +9 -1
  107. package/dist/main/typechain-types/contracts/interfaces/utils/IUserDefinedMacro.d.ts.map +1 -1
  108. package/dist/main/typechain-types/contracts/mocks/StreamRedirector.t.sol/StreamRedirector.d.ts +1 -18
  109. package/dist/main/typechain-types/contracts/mocks/StreamRedirector.t.sol/StreamRedirector.d.ts.map +1 -1
  110. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock.d.ts +9 -9
  111. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock.d.ts.map +1 -1
  112. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock.d.ts +9 -9
  113. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock.d.ts.map +1 -1
  114. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.d.ts +0 -2
  115. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.d.ts.map +1 -1
  116. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock.d.ts +17 -9
  117. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock.d.ts.map +1 -1
  118. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester.d.ts +17 -9
  119. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester.d.ts.map +1 -1
  120. package/dist/main/typechain-types/contracts/mocks/index.d.ts +0 -4
  121. package/dist/main/typechain-types/contracts/mocks/index.d.ts.map +1 -1
  122. package/dist/main/typechain-types/contracts/superfluid/Superfluid.d.ts +17 -9
  123. package/dist/main/typechain-types/contracts/superfluid/Superfluid.d.ts.map +1 -1
  124. package/dist/main/typechain-types/contracts/utils/{DMZForwarder.d.ts → ERC2771Forwarder.d.ts} +5 -24
  125. package/dist/main/typechain-types/contracts/utils/ERC2771Forwarder.d.ts.map +1 -0
  126. package/dist/main/typechain-types/contracts/{mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock.js → utils/ERC2771Forwarder.js} +1 -1
  127. package/dist/main/typechain-types/contracts/utils/ERC2771Forwarder.js.map +1 -0
  128. package/dist/main/typechain-types/contracts/utils/MacroForwarder.d.ts +5 -5
  129. package/dist/main/typechain-types/contracts/utils/MacroForwarder.d.ts.map +1 -1
  130. package/dist/main/typechain-types/contracts/utils/SimpleForwarder.d.ts +125 -0
  131. package/dist/main/typechain-types/contracts/utils/SimpleForwarder.d.ts.map +1 -0
  132. package/dist/main/typechain-types/contracts/{mocks/CFALibraryMock.t.sol/CFALibraryMock.js → utils/SimpleForwarder.js} +1 -1
  133. package/dist/main/typechain-types/contracts/utils/SimpleForwarder.js.map +1 -0
  134. package/dist/{module/typechain-types/contracts/utils → main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol}/SuperfluidFrameworkDeployer.d.ts +3 -29
  135. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.d.ts.map +1 -0
  136. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.js.map +1 -0
  137. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts +2 -0
  138. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts.map +1 -0
  139. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.js.map +1 -0
  140. package/dist/main/typechain-types/contracts/utils/{SuperfluidFrameworkDeploymentSteps.d.ts → SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.d.ts} +3 -29
  141. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.d.ts.map +1 -0
  142. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.js.map +1 -0
  143. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts +2 -0
  144. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts.map +1 -0
  145. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.js.map +1 -0
  146. package/dist/main/typechain-types/contracts/utils/index.d.ts +6 -4
  147. package/dist/main/typechain-types/contracts/utils/index.d.ts.map +1 -1
  148. package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts +1 -1
  149. package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js +1 -1
  150. package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts +1 -1
  151. package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js +1 -1
  152. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts +1 -1
  153. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts.map +1 -1
  154. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js +1 -1
  155. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js.map +1 -1
  156. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.d.ts +1 -1
  157. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.js +1 -1
  158. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.d.ts +1 -1
  159. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.js +1 -1
  160. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts +1 -1
  161. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js +1 -1
  162. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.d.ts +1 -1
  163. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.js +1 -1
  164. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.d.ts +1 -1
  165. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.js +1 -1
  166. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.d.ts +10 -0
  167. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.d.ts.map +1 -1
  168. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js +13 -0
  169. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js.map +1 -1
  170. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.d.ts +18 -0
  171. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.d.ts.map +1 -1
  172. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.js +23 -0
  173. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.js.map +1 -1
  174. package/dist/main/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.d.ts +1 -1
  175. package/dist/main/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.js +1 -1
  176. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.d.ts +1 -1
  177. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.js +1 -1
  178. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.d.ts +1 -1
  179. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.js +1 -1
  180. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.d.ts +1 -1
  181. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.js +1 -1
  182. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.d.ts +1 -1
  183. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.js +1 -1
  184. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.d.ts +1 -1
  185. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.js +1 -1
  186. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.d.ts +1 -1
  187. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.js +1 -1
  188. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.d.ts +1 -1
  189. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.js +1 -1
  190. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.d.ts +1 -1
  191. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.js +1 -1
  192. package/dist/main/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.d.ts +1 -1
  193. package/dist/main/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.js +1 -1
  194. package/dist/main/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.d.ts +1 -1
  195. package/dist/main/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.js +1 -1
  196. package/dist/main/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.d.ts +1 -1
  197. package/dist/main/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.js +1 -1
  198. package/dist/main/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.d.ts +1 -15
  199. package/dist/main/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.d.ts.map +1 -1
  200. package/dist/main/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.js +1 -19
  201. package/dist/main/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.js.map +1 -1
  202. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.d.ts +1 -1
  203. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.js +1 -1
  204. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.d.ts +1 -1
  205. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.js +1 -1
  206. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.d.ts +1 -1
  207. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.js +1 -1
  208. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.d.ts +1 -1
  209. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.js +1 -1
  210. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.d.ts +1 -1
  211. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.js +1 -1
  212. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.d.ts +1 -1
  213. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.js +1 -1
  214. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.d.ts +1 -1
  215. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.js +1 -1
  216. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.d.ts +1 -1
  217. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.js +1 -1
  218. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.d.ts +1 -1
  219. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.js +1 -1
  220. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.d.ts +1 -1
  221. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.js +1 -1
  222. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.d.ts +1 -1
  223. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.js +1 -1
  224. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.d.ts +1 -1
  225. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.js +1 -1
  226. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.d.ts +1 -1
  227. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.d.ts.map +1 -1
  228. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.js +1 -1
  229. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.js.map +1 -1
  230. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.d.ts +1 -1
  231. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.js +1 -1
  232. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.d.ts +2 -2
  233. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.d.ts.map +1 -1
  234. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.js +2 -2
  235. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.js.map +1 -1
  236. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.d.ts +2 -2
  237. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.d.ts.map +1 -1
  238. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.js +2 -2
  239. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.js.map +1 -1
  240. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.d.ts +0 -2
  241. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.d.ts.map +1 -1
  242. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.js +1 -5
  243. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.js.map +1 -1
  244. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.d.ts +1 -1
  245. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.js +1 -1
  246. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.d.ts +1 -1
  247. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.js +1 -1
  248. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.d.ts +1 -1
  249. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.js +1 -1
  250. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.d.ts +1 -1
  251. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.js +1 -1
  252. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.d.ts +24 -14
  253. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.d.ts.map +1 -1
  254. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.js +31 -18
  255. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.js.map +1 -1
  256. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.d.ts +21 -11
  257. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.d.ts.map +1 -1
  258. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.js +26 -13
  259. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.js.map +1 -1
  260. package/dist/main/typechain-types/factories/contracts/mocks/index.d.ts +0 -2
  261. package/dist/main/typechain-types/factories/contracts/mocks/index.d.ts.map +1 -1
  262. package/dist/main/typechain-types/factories/contracts/mocks/index.js +1 -3
  263. package/dist/main/typechain-types/factories/contracts/mocks/index.js.map +1 -1
  264. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.d.ts +1 -1
  265. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.js +1 -1
  266. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts +1 -1
  267. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.js +1 -1
  268. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts +24 -14
  269. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts.map +1 -1
  270. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.js +31 -18
  271. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.js.map +1 -1
  272. package/dist/main/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.d.ts +1 -1
  273. package/dist/main/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.js +1 -1
  274. package/dist/main/typechain-types/factories/contracts/utils/BatchLiquidator__factory.d.ts +1 -1
  275. package/dist/main/typechain-types/factories/contracts/utils/BatchLiquidator__factory.js +1 -1
  276. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts +1 -1
  277. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts.map +1 -1
  278. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js +1 -1
  279. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js.map +1 -1
  280. package/dist/main/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.d.ts +98 -0
  281. package/dist/main/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.d.ts.map +1 -0
  282. package/dist/main/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.js +142 -0
  283. package/dist/main/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.js.map +1 -0
  284. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts +1 -1
  285. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts.map +1 -1
  286. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js +1 -1
  287. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js.map +1 -1
  288. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts +2 -2
  289. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts.map +1 -1
  290. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.js +2 -2
  291. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.js.map +1 -1
  292. package/dist/main/typechain-types/factories/contracts/utils/SimpleForwarder__factory.d.ts +94 -0
  293. package/dist/main/typechain-types/factories/contracts/utils/SimpleForwarder__factory.d.ts.map +1 -0
  294. package/dist/main/typechain-types/factories/contracts/utils/SimpleForwarder__factory.js +137 -0
  295. package/dist/main/typechain-types/factories/contracts/utils/SimpleForwarder__factory.js.map +1 -0
  296. package/dist/main/typechain-types/factories/contracts/utils/SuperUpgrader__factory.d.ts +1 -1
  297. package/dist/main/typechain-types/factories/contracts/utils/SuperUpgrader__factory.js +1 -1
  298. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.d.ts +315 -0
  299. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.d.ts.map +1 -0
  300. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.js +449 -0
  301. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.js.map +1 -0
  302. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts +2 -0
  303. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts.map +1 -0
  304. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.js +9 -0
  305. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.js.map +1 -0
  306. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.d.ts +234 -0
  307. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.d.ts.map +1 -0
  308. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.js +342 -0
  309. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.js.map +1 -0
  310. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts +2 -0
  311. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts.map +1 -0
  312. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.js +9 -0
  313. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.js.map +1 -0
  314. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.d.ts +1 -1
  315. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.js +1 -1
  316. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts +1 -1
  317. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.js +1 -1
  318. package/dist/main/typechain-types/factories/contracts/utils/TestGovernance__factory.d.ts +1 -1
  319. package/dist/main/typechain-types/factories/contracts/utils/TestGovernance__factory.js +1 -1
  320. package/dist/main/typechain-types/factories/contracts/utils/index.d.ts +4 -4
  321. package/dist/main/typechain-types/factories/contracts/utils/index.d.ts.map +1 -1
  322. package/dist/main/typechain-types/factories/contracts/utils/index.js +7 -9
  323. package/dist/main/typechain-types/factories/contracts/utils/index.js.map +1 -1
  324. package/dist/main/typechain-types/index.d.ts +8 -20
  325. package/dist/main/typechain-types/index.d.ts.map +1 -1
  326. package/dist/main/typechain-types/index.js +8 -21
  327. package/dist/main/typechain-types/index.js.map +1 -1
  328. package/dist/main/utils.d.ts +1 -1
  329. package/dist/main/utils.d.ts.map +1 -1
  330. package/dist/main/utils.js +3 -3
  331. package/dist/main/utils.js.map +1 -1
  332. package/dist/module/BatchCall.d.ts.map +1 -1
  333. package/dist/module/ConstantFlowAgreementV1.d.ts.map +1 -1
  334. package/dist/module/ERC20Token.d.ts.map +1 -1
  335. package/dist/module/ERC721Token.d.ts.map +1 -1
  336. package/dist/module/Framework.d.ts.map +1 -1
  337. package/dist/module/GeneralDistributionAgreementV1.d.ts.map +1 -1
  338. package/dist/module/Governance.d.ts.map +1 -1
  339. package/dist/module/InstantDistributionAgreementV1.d.ts.map +1 -1
  340. package/dist/module/Operation.d.ts.map +1 -1
  341. package/dist/module/Query.d.ts.map +1 -1
  342. package/dist/module/SuperToken.d.ts +22 -22
  343. package/dist/module/SuperToken.d.ts.map +1 -1
  344. package/dist/module/SuperfluidAgreement.d.ts.map +1 -1
  345. package/dist/module/SuperfluidPool.d.ts.map +1 -1
  346. package/dist/module/mapGetAllEventsQueryEvents.d.ts.map +1 -1
  347. package/dist/module/pagination.d.ts.map +1 -1
  348. package/dist/module/subgraph/entities/account/account.d.ts +2 -2
  349. package/dist/module/subgraph/entities/account/account.d.ts.map +1 -1
  350. package/dist/module/subgraph/entities/account/accounts.generated.d.ts +1 -8
  351. package/dist/module/subgraph/entities/account/accounts.generated.d.ts.map +1 -1
  352. package/dist/module/subgraph/entities/accountTokenSnapshot/accountTokenSnapshot.d.ts +2 -2
  353. package/dist/module/subgraph/entities/accountTokenSnapshot/accountTokenSnapshot.d.ts.map +1 -1
  354. package/dist/module/subgraph/entities/accountTokenSnapshot/accountTokenSnapshots.generated.d.ts +1 -8
  355. package/dist/module/subgraph/entities/accountTokenSnapshot/accountTokenSnapshots.generated.d.ts.map +1 -1
  356. package/dist/module/subgraph/entities/accountTokenSnapshotLog/accountTokenSnapshotLog.d.ts +2 -2
  357. package/dist/module/subgraph/entities/accountTokenSnapshotLog/accountTokenSnapshotLog.d.ts.map +1 -1
  358. package/dist/module/subgraph/entities/accountTokenSnapshotLog/accountTokenSnapshotLogs.generated.d.ts +1 -8
  359. package/dist/module/subgraph/entities/accountTokenSnapshotLog/accountTokenSnapshotLogs.generated.d.ts.map +1 -1
  360. package/dist/module/subgraph/entities/flowOperator/flowOperator.d.ts +2 -2
  361. package/dist/module/subgraph/entities/flowOperator/flowOperator.d.ts.map +1 -1
  362. package/dist/module/subgraph/entities/flowOperator/flowOperators.generated.d.ts +1 -8
  363. package/dist/module/subgraph/entities/flowOperator/flowOperators.generated.d.ts.map +1 -1
  364. package/dist/module/subgraph/entities/index/index.d.ts +2 -2
  365. package/dist/module/subgraph/entities/index/index.d.ts.map +1 -1
  366. package/dist/module/subgraph/entities/index/indexes.generated.d.ts +1 -8
  367. package/dist/module/subgraph/entities/index/indexes.generated.d.ts.map +1 -1
  368. package/dist/module/subgraph/entities/indexSubscription/indexSubscription.d.ts +2 -2
  369. package/dist/module/subgraph/entities/indexSubscription/indexSubscription.d.ts.map +1 -1
  370. package/dist/module/subgraph/entities/indexSubscription/indexSubscriptions.generated.d.ts +1 -8
  371. package/dist/module/subgraph/entities/indexSubscription/indexSubscriptions.generated.d.ts.map +1 -1
  372. package/dist/module/subgraph/entities/pool/pool.d.ts +2 -2
  373. package/dist/module/subgraph/entities/pool/pool.d.ts.map +1 -1
  374. package/dist/module/subgraph/entities/pool/pools.generated.d.ts +2 -11
  375. package/dist/module/subgraph/entities/pool/pools.generated.d.ts.map +1 -1
  376. package/dist/module/subgraph/entities/poolDistributor/poolDistributor.d.ts +2 -2
  377. package/dist/module/subgraph/entities/poolDistributor/poolDistributor.d.ts.map +1 -1
  378. package/dist/module/subgraph/entities/poolDistributor/poolDistributors.generated.d.ts +1 -8
  379. package/dist/module/subgraph/entities/poolDistributor/poolDistributors.generated.d.ts.map +1 -1
  380. package/dist/module/subgraph/entities/poolMember/poolMember.d.ts +2 -2
  381. package/dist/module/subgraph/entities/poolMember/poolMember.d.ts.map +1 -1
  382. package/dist/module/subgraph/entities/poolMember/poolMembers.generated.d.ts +1 -8
  383. package/dist/module/subgraph/entities/poolMember/poolMembers.generated.d.ts.map +1 -1
  384. package/dist/module/subgraph/entities/stream/stream.d.ts +2 -2
  385. package/dist/module/subgraph/entities/stream/stream.d.ts.map +1 -1
  386. package/dist/module/subgraph/entities/stream/streams.generated.d.ts +1 -8
  387. package/dist/module/subgraph/entities/stream/streams.generated.d.ts.map +1 -1
  388. package/dist/module/subgraph/entities/streamPeriod/streamPeriod.d.ts +2 -2
  389. package/dist/module/subgraph/entities/streamPeriod/streamPeriod.d.ts.map +1 -1
  390. package/dist/module/subgraph/entities/streamPeriod/streamPeriods.generated.d.ts +1 -8
  391. package/dist/module/subgraph/entities/streamPeriod/streamPeriods.generated.d.ts.map +1 -1
  392. package/dist/module/subgraph/entities/token/token.d.ts +2 -2
  393. package/dist/module/subgraph/entities/token/token.d.ts.map +1 -1
  394. package/dist/module/subgraph/entities/token/tokens.generated.d.ts +1 -8
  395. package/dist/module/subgraph/entities/token/tokens.generated.d.ts.map +1 -1
  396. package/dist/module/subgraph/entities/tokenStatistic/tokenStatistic.d.ts +2 -2
  397. package/dist/module/subgraph/entities/tokenStatistic/tokenStatistic.d.ts.map +1 -1
  398. package/dist/module/subgraph/entities/tokenStatistic/tokenStatistics.generated.d.ts +1 -8
  399. package/dist/module/subgraph/entities/tokenStatistic/tokenStatistics.generated.d.ts.map +1 -1
  400. package/dist/module/subgraph/entities/tokenStatisticLog/tokenStatisticLog.d.ts +2 -2
  401. package/dist/module/subgraph/entities/tokenStatisticLog/tokenStatisticLog.d.ts.map +1 -1
  402. package/dist/module/subgraph/entities/tokenStatisticLog/tokenStatisticLogs.generated.d.ts +1 -8
  403. package/dist/module/subgraph/entities/tokenStatisticLog/tokenStatisticLogs.generated.d.ts.map +1 -1
  404. package/dist/module/subgraph/events/events.d.ts +5 -5
  405. package/dist/module/subgraph/events/events.d.ts.map +1 -1
  406. package/dist/module/subgraph/events/events.generated.d.ts +42 -336
  407. package/dist/module/subgraph/events/events.generated.d.ts.map +1 -1
  408. package/dist/module/subgraph/events/flowUpdatedEvent.d.ts +2 -2
  409. package/dist/module/subgraph/events/flowUpdatedEvent.d.ts.map +1 -1
  410. package/dist/module/subgraph/events/indexUpdatedEvent.d.ts +2 -2
  411. package/dist/module/subgraph/events/indexUpdatedEvent.d.ts.map +1 -1
  412. package/dist/module/subgraph/events/subscriptionUnitsUpdatedEvents.d.ts +2 -2
  413. package/dist/module/subgraph/events/subscriptionUnitsUpdatedEvents.d.ts.map +1 -1
  414. package/dist/module/subgraph/events/transferEvents.d.ts +2 -2
  415. package/dist/module/subgraph/events/transferEvents.d.ts.map +1 -1
  416. package/dist/module/subgraph/meta/meta.generated.d.ts +1 -3
  417. package/dist/module/subgraph/meta/meta.generated.d.ts.map +1 -1
  418. package/dist/module/subgraph/queries/getAccountTokenSnapshots.generated.d.ts +1 -7
  419. package/dist/module/subgraph/queries/getAccountTokenSnapshots.generated.d.ts.map +1 -1
  420. package/dist/module/subgraph/queries/getAllEvents.generated.d.ts +1 -7
  421. package/dist/module/subgraph/queries/getAllEvents.generated.d.ts.map +1 -1
  422. package/dist/module/subgraph/queries/getIndexSubscriptions.generated.d.ts +1 -7
  423. package/dist/module/subgraph/queries/getIndexSubscriptions.generated.d.ts.map +1 -1
  424. package/dist/module/subgraph/queries/getIndexes.generated.d.ts +1 -7
  425. package/dist/module/subgraph/queries/getIndexes.generated.d.ts.map +1 -1
  426. package/dist/module/subgraph/queries/getStreams.generated.d.ts +1 -7
  427. package/dist/module/subgraph/queries/getStreams.generated.d.ts.map +1 -1
  428. package/dist/module/subgraph/queries/getTokens.generated.d.ts +1 -7
  429. package/dist/module/subgraph/queries/getTokens.generated.d.ts.map +1 -1
  430. package/dist/module/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts +9 -1
  431. package/dist/module/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts.map +1 -1
  432. package/dist/module/typechain-types/contracts/interfaces/utils/IUserDefinedMacro.d.ts +9 -1
  433. package/dist/module/typechain-types/contracts/interfaces/utils/IUserDefinedMacro.d.ts.map +1 -1
  434. package/dist/module/typechain-types/contracts/mocks/StreamRedirector.t.sol/StreamRedirector.d.ts +1 -18
  435. package/dist/module/typechain-types/contracts/mocks/StreamRedirector.t.sol/StreamRedirector.d.ts.map +1 -1
  436. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock.d.ts +9 -9
  437. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock.d.ts.map +1 -1
  438. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock.d.ts +9 -9
  439. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock.d.ts.map +1 -1
  440. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.d.ts +0 -2
  441. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.d.ts.map +1 -1
  442. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock.d.ts +17 -9
  443. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock.d.ts.map +1 -1
  444. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester.d.ts +17 -9
  445. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester.d.ts.map +1 -1
  446. package/dist/module/typechain-types/contracts/mocks/index.d.ts +0 -4
  447. package/dist/module/typechain-types/contracts/mocks/index.d.ts.map +1 -1
  448. package/dist/module/typechain-types/contracts/superfluid/Superfluid.d.ts +17 -9
  449. package/dist/module/typechain-types/contracts/superfluid/Superfluid.d.ts.map +1 -1
  450. package/dist/module/typechain-types/contracts/utils/{DMZForwarder.d.ts → ERC2771Forwarder.d.ts} +5 -24
  451. package/dist/module/typechain-types/contracts/utils/ERC2771Forwarder.d.ts.map +1 -0
  452. package/dist/module/typechain-types/contracts/utils/ERC2771Forwarder.js +2 -0
  453. package/dist/module/typechain-types/contracts/utils/ERC2771Forwarder.js.map +1 -0
  454. package/dist/module/typechain-types/contracts/utils/MacroForwarder.d.ts +5 -5
  455. package/dist/module/typechain-types/contracts/utils/MacroForwarder.d.ts.map +1 -1
  456. package/dist/module/typechain-types/contracts/utils/SimpleForwarder.d.ts +125 -0
  457. package/dist/module/typechain-types/contracts/utils/SimpleForwarder.d.ts.map +1 -0
  458. package/dist/module/typechain-types/contracts/utils/SimpleForwarder.js +2 -0
  459. package/dist/module/typechain-types/contracts/utils/SimpleForwarder.js.map +1 -0
  460. package/dist/{main/typechain-types/contracts/utils → module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol}/SuperfluidFrameworkDeployer.d.ts +3 -29
  461. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.d.ts.map +1 -0
  462. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.js.map +1 -0
  463. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts +2 -0
  464. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts.map +1 -0
  465. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.js.map +1 -0
  466. package/dist/module/typechain-types/contracts/utils/{SuperfluidFrameworkDeploymentSteps.d.ts → SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.d.ts} +3 -29
  467. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.d.ts.map +1 -0
  468. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.js.map +1 -0
  469. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts +2 -0
  470. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts.map +1 -0
  471. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.js.map +1 -0
  472. package/dist/module/typechain-types/contracts/utils/index.d.ts +6 -4
  473. package/dist/module/typechain-types/contracts/utils/index.d.ts.map +1 -1
  474. package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts +1 -1
  475. package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js +1 -1
  476. package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts +1 -1
  477. package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js +1 -1
  478. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts +1 -1
  479. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts.map +1 -1
  480. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js +1 -1
  481. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js.map +1 -1
  482. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.d.ts +1 -1
  483. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.js +1 -1
  484. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.d.ts +1 -1
  485. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.js +1 -1
  486. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts +1 -1
  487. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js +1 -1
  488. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.d.ts +1 -1
  489. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.js +1 -1
  490. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.d.ts +1 -1
  491. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.js +1 -1
  492. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.d.ts +10 -0
  493. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.d.ts.map +1 -1
  494. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js +13 -0
  495. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js.map +1 -1
  496. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.d.ts +18 -0
  497. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.d.ts.map +1 -1
  498. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.js +23 -0
  499. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.js.map +1 -1
  500. package/dist/module/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.d.ts +1 -1
  501. package/dist/module/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.js +1 -1
  502. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.d.ts +1 -1
  503. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.js +1 -1
  504. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.d.ts +1 -1
  505. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.js +1 -1
  506. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.d.ts +1 -1
  507. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.js +1 -1
  508. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.d.ts +1 -1
  509. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.js +1 -1
  510. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.d.ts +1 -1
  511. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.js +1 -1
  512. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.d.ts +1 -1
  513. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.js +1 -1
  514. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.d.ts +1 -1
  515. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.js +1 -1
  516. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.d.ts +1 -1
  517. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.js +1 -1
  518. package/dist/module/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.d.ts +1 -1
  519. package/dist/module/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.js +1 -1
  520. package/dist/module/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.d.ts +1 -1
  521. package/dist/module/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.js +1 -1
  522. package/dist/module/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.d.ts +1 -1
  523. package/dist/module/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.js +1 -1
  524. package/dist/module/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.d.ts +1 -15
  525. package/dist/module/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.d.ts.map +1 -1
  526. package/dist/module/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.js +1 -19
  527. package/dist/module/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.js.map +1 -1
  528. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.d.ts +1 -1
  529. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.js +1 -1
  530. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.d.ts +1 -1
  531. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.js +1 -1
  532. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.d.ts +1 -1
  533. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.js +1 -1
  534. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.d.ts +1 -1
  535. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.js +1 -1
  536. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.d.ts +1 -1
  537. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.js +1 -1
  538. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.d.ts +1 -1
  539. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.js +1 -1
  540. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.d.ts +1 -1
  541. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.js +1 -1
  542. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.d.ts +1 -1
  543. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.js +1 -1
  544. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.d.ts +1 -1
  545. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.js +1 -1
  546. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.d.ts +1 -1
  547. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.js +1 -1
  548. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.d.ts +1 -1
  549. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.js +1 -1
  550. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.d.ts +1 -1
  551. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.js +1 -1
  552. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.d.ts +1 -1
  553. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.d.ts.map +1 -1
  554. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.js +1 -1
  555. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.js.map +1 -1
  556. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.d.ts +1 -1
  557. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.js +1 -1
  558. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.d.ts +2 -2
  559. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.d.ts.map +1 -1
  560. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.js +2 -2
  561. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.js.map +1 -1
  562. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.d.ts +2 -2
  563. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.d.ts.map +1 -1
  564. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.js +2 -2
  565. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.js.map +1 -1
  566. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.d.ts +0 -2
  567. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.d.ts.map +1 -1
  568. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.js +0 -2
  569. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/index.js.map +1 -1
  570. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.d.ts +1 -1
  571. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.js +1 -1
  572. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.d.ts +1 -1
  573. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.js +1 -1
  574. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.d.ts +1 -1
  575. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.js +1 -1
  576. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.d.ts +1 -1
  577. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.js +1 -1
  578. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.d.ts +24 -14
  579. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.d.ts.map +1 -1
  580. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.js +31 -18
  581. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.js.map +1 -1
  582. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.d.ts +21 -11
  583. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.d.ts.map +1 -1
  584. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.js +26 -13
  585. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.js.map +1 -1
  586. package/dist/module/typechain-types/factories/contracts/mocks/index.d.ts +0 -2
  587. package/dist/module/typechain-types/factories/contracts/mocks/index.d.ts.map +1 -1
  588. package/dist/module/typechain-types/factories/contracts/mocks/index.js +0 -2
  589. package/dist/module/typechain-types/factories/contracts/mocks/index.js.map +1 -1
  590. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.d.ts +1 -1
  591. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.js +1 -1
  592. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts +1 -1
  593. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.js +1 -1
  594. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts +24 -14
  595. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts.map +1 -1
  596. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.js +31 -18
  597. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.js.map +1 -1
  598. package/dist/module/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.d.ts +1 -1
  599. package/dist/module/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.js +1 -1
  600. package/dist/module/typechain-types/factories/contracts/utils/BatchLiquidator__factory.d.ts +1 -1
  601. package/dist/module/typechain-types/factories/contracts/utils/BatchLiquidator__factory.js +1 -1
  602. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts +1 -1
  603. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts.map +1 -1
  604. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js +1 -1
  605. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js.map +1 -1
  606. package/dist/module/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.d.ts +98 -0
  607. package/dist/module/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.d.ts.map +1 -0
  608. package/dist/module/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.js +138 -0
  609. package/dist/module/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.js.map +1 -0
  610. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts +1 -1
  611. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts.map +1 -1
  612. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js +1 -1
  613. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js.map +1 -1
  614. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts +2 -2
  615. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts.map +1 -1
  616. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.js +2 -2
  617. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.js.map +1 -1
  618. package/dist/module/typechain-types/factories/contracts/utils/SimpleForwarder__factory.d.ts +94 -0
  619. package/dist/module/typechain-types/factories/contracts/utils/SimpleForwarder__factory.d.ts.map +1 -0
  620. package/dist/module/typechain-types/factories/contracts/utils/SimpleForwarder__factory.js +133 -0
  621. package/dist/module/typechain-types/factories/contracts/utils/SimpleForwarder__factory.js.map +1 -0
  622. package/dist/module/typechain-types/factories/contracts/utils/SuperUpgrader__factory.d.ts +1 -1
  623. package/dist/module/typechain-types/factories/contracts/utils/SuperUpgrader__factory.js +1 -1
  624. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.d.ts +315 -0
  625. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.d.ts.map +1 -0
  626. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.js +445 -0
  627. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.js.map +1 -0
  628. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts +2 -0
  629. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts.map +1 -0
  630. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.js +5 -0
  631. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.js.map +1 -0
  632. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.d.ts +234 -0
  633. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.d.ts.map +1 -0
  634. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.js +338 -0
  635. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.js.map +1 -0
  636. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts +2 -0
  637. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts.map +1 -0
  638. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.js +5 -0
  639. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.js.map +1 -0
  640. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.d.ts +1 -1
  641. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.js +1 -1
  642. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts +1 -1
  643. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.js +1 -1
  644. package/dist/module/typechain-types/factories/contracts/utils/TestGovernance__factory.d.ts +1 -1
  645. package/dist/module/typechain-types/factories/contracts/utils/TestGovernance__factory.js +1 -1
  646. package/dist/module/typechain-types/factories/contracts/utils/index.d.ts +4 -4
  647. package/dist/module/typechain-types/factories/contracts/utils/index.d.ts.map +1 -1
  648. package/dist/module/typechain-types/factories/contracts/utils/index.js +4 -4
  649. package/dist/module/typechain-types/factories/contracts/utils/index.js.map +1 -1
  650. package/dist/module/typechain-types/index.d.ts +8 -20
  651. package/dist/module/typechain-types/index.d.ts.map +1 -1
  652. package/dist/module/typechain-types/index.js +4 -10
  653. package/dist/module/typechain-types/index.js.map +1 -1
  654. package/dist/module/utils.d.ts +1 -1
  655. package/dist/module/utils.d.ts.map +1 -1
  656. package/package.json +35 -45
  657. package/dist/main/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock.d.ts +0 -196
  658. package/dist/main/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock.d.ts.map +0 -1
  659. package/dist/main/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock.js.map +0 -1
  660. package/dist/main/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock.d.ts +0 -139
  661. package/dist/main/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock.d.ts.map +0 -1
  662. package/dist/main/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock.js +0 -3
  663. package/dist/main/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock.js.map +0 -1
  664. package/dist/main/typechain-types/contracts/mocks/CFALibraryMock.t.sol/index.d.ts +0 -3
  665. package/dist/main/typechain-types/contracts/mocks/CFALibraryMock.t.sol/index.d.ts.map +0 -1
  666. package/dist/main/typechain-types/contracts/mocks/CFALibraryMock.t.sol/index.js.map +0 -1
  667. package/dist/main/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock.d.ts +0 -469
  668. package/dist/main/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock.d.ts.map +0 -1
  669. package/dist/main/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock.js.map +0 -1
  670. package/dist/main/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock.d.ts +0 -541
  671. package/dist/main/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock.d.ts.map +0 -1
  672. package/dist/main/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock.js +0 -3
  673. package/dist/main/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock.js.map +0 -1
  674. package/dist/main/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/index.d.ts +0 -3
  675. package/dist/main/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/index.d.ts.map +0 -1
  676. package/dist/main/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/index.js.map +0 -1
  677. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock.d.ts +0 -469
  678. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock.d.ts.map +0 -1
  679. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock.js +0 -3
  680. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock.js.map +0 -1
  681. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock.d.ts +0 -541
  682. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock.d.ts.map +0 -1
  683. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock.js +0 -3
  684. package/dist/main/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock.js.map +0 -1
  685. package/dist/main/typechain-types/contracts/utils/DMZForwarder.d.ts.map +0 -1
  686. package/dist/main/typechain-types/contracts/utils/DMZForwarder.js +0 -3
  687. package/dist/main/typechain-types/contracts/utils/DMZForwarder.js.map +0 -1
  688. package/dist/main/typechain-types/contracts/utils/IDAv1Forwarder.d.ts +0 -345
  689. package/dist/main/typechain-types/contracts/utils/IDAv1Forwarder.d.ts.map +0 -1
  690. package/dist/main/typechain-types/contracts/utils/IDAv1Forwarder.js +0 -3
  691. package/dist/main/typechain-types/contracts/utils/IDAv1Forwarder.js.map +0 -1
  692. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.d.ts.map +0 -1
  693. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.js.map +0 -1
  694. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.d.ts.map +0 -1
  695. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.js.map +0 -1
  696. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock__factory.d.ts +0 -205
  697. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock__factory.d.ts.map +0 -1
  698. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock__factory.js +0 -279
  699. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock__factory.js.map +0 -1
  700. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock__factory.d.ts +0 -253
  701. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock__factory.d.ts.map +0 -1
  702. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock__factory.js +0 -344
  703. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock__factory.js.map +0 -1
  704. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/index.d.ts +0 -3
  705. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/index.d.ts.map +0 -1
  706. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/index.js +0 -11
  707. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/index.js.map +0 -1
  708. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock__factory.d.ts +0 -527
  709. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock__factory.d.ts.map +0 -1
  710. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock__factory.js +0 -692
  711. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock__factory.js.map +0 -1
  712. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock__factory.d.ts +0 -719
  713. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock__factory.d.ts.map +0 -1
  714. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock__factory.js +0 -941
  715. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock__factory.js.map +0 -1
  716. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/index.d.ts +0 -3
  717. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/index.d.ts.map +0 -1
  718. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/index.js +0 -11
  719. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/index.js.map +0 -1
  720. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock__factory.d.ts +0 -519
  721. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock__factory.d.ts.map +0 -1
  722. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock__factory.js +0 -681
  723. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock__factory.js.map +0 -1
  724. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock__factory.d.ts +0 -719
  725. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock__factory.d.ts.map +0 -1
  726. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock__factory.js +0 -941
  727. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock__factory.js.map +0 -1
  728. package/dist/main/typechain-types/factories/contracts/utils/DMZForwarder__factory.d.ts +0 -120
  729. package/dist/main/typechain-types/factories/contracts/utils/DMZForwarder__factory.d.ts.map +0 -1
  730. package/dist/main/typechain-types/factories/contracts/utils/DMZForwarder__factory.js +0 -171
  731. package/dist/main/typechain-types/factories/contracts/utils/DMZForwarder__factory.js.map +0 -1
  732. package/dist/main/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.d.ts +0 -413
  733. package/dist/main/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.d.ts.map +0 -1
  734. package/dist/main/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.js +0 -555
  735. package/dist/main/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.js.map +0 -1
  736. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts +0 -342
  737. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts.map +0 -1
  738. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js +0 -486
  739. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js.map +0 -1
  740. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts +0 -261
  741. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts.map +0 -1
  742. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js +0 -379
  743. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js.map +0 -1
  744. package/dist/module/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock.d.ts +0 -196
  745. package/dist/module/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock.d.ts.map +0 -1
  746. package/dist/module/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock.js +0 -2
  747. package/dist/module/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock.js.map +0 -1
  748. package/dist/module/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock.d.ts +0 -139
  749. package/dist/module/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock.d.ts.map +0 -1
  750. package/dist/module/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock.js +0 -2
  751. package/dist/module/typechain-types/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock.js.map +0 -1
  752. package/dist/module/typechain-types/contracts/mocks/CFALibraryMock.t.sol/index.d.ts +0 -3
  753. package/dist/module/typechain-types/contracts/mocks/CFALibraryMock.t.sol/index.d.ts.map +0 -1
  754. package/dist/module/typechain-types/contracts/mocks/CFALibraryMock.t.sol/index.js.map +0 -1
  755. package/dist/module/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock.d.ts +0 -469
  756. package/dist/module/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock.d.ts.map +0 -1
  757. package/dist/module/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock.js +0 -2
  758. package/dist/module/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock.js.map +0 -1
  759. package/dist/module/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock.d.ts +0 -541
  760. package/dist/module/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock.d.ts.map +0 -1
  761. package/dist/module/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock.js +0 -2
  762. package/dist/module/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock.js.map +0 -1
  763. package/dist/module/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/index.d.ts +0 -3
  764. package/dist/module/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/index.d.ts.map +0 -1
  765. package/dist/module/typechain-types/contracts/mocks/IDAv1LibraryMock.t.sol/index.js.map +0 -1
  766. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock.d.ts +0 -469
  767. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock.d.ts.map +0 -1
  768. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock.js +0 -2
  769. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock.js.map +0 -1
  770. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock.d.ts +0 -541
  771. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock.d.ts.map +0 -1
  772. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock.js +0 -2
  773. package/dist/module/typechain-types/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock.js.map +0 -1
  774. package/dist/module/typechain-types/contracts/utils/DMZForwarder.d.ts.map +0 -1
  775. package/dist/module/typechain-types/contracts/utils/DMZForwarder.js +0 -2
  776. package/dist/module/typechain-types/contracts/utils/DMZForwarder.js.map +0 -1
  777. package/dist/module/typechain-types/contracts/utils/IDAv1Forwarder.d.ts +0 -345
  778. package/dist/module/typechain-types/contracts/utils/IDAv1Forwarder.d.ts.map +0 -1
  779. package/dist/module/typechain-types/contracts/utils/IDAv1Forwarder.js +0 -2
  780. package/dist/module/typechain-types/contracts/utils/IDAv1Forwarder.js.map +0 -1
  781. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.d.ts.map +0 -1
  782. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.js.map +0 -1
  783. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.d.ts.map +0 -1
  784. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.js.map +0 -1
  785. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock__factory.d.ts +0 -205
  786. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock__factory.d.ts.map +0 -1
  787. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock__factory.js +0 -275
  788. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock__factory.js.map +0 -1
  789. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock__factory.d.ts +0 -253
  790. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock__factory.d.ts.map +0 -1
  791. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock__factory.js +0 -340
  792. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock__factory.js.map +0 -1
  793. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/index.d.ts +0 -3
  794. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/index.d.ts.map +0 -1
  795. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/index.js +0 -6
  796. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/index.js.map +0 -1
  797. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock__factory.d.ts +0 -527
  798. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock__factory.d.ts.map +0 -1
  799. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock__factory.js +0 -688
  800. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock__factory.js.map +0 -1
  801. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock__factory.d.ts +0 -719
  802. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock__factory.d.ts.map +0 -1
  803. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock__factory.js +0 -937
  804. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock__factory.js.map +0 -1
  805. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/index.d.ts +0 -3
  806. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/index.d.ts.map +0 -1
  807. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/index.js +0 -6
  808. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/index.js.map +0 -1
  809. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock__factory.d.ts +0 -519
  810. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock__factory.d.ts.map +0 -1
  811. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock__factory.js +0 -677
  812. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock__factory.js.map +0 -1
  813. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock__factory.d.ts +0 -719
  814. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock__factory.d.ts.map +0 -1
  815. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock__factory.js +0 -937
  816. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock__factory.js.map +0 -1
  817. package/dist/module/typechain-types/factories/contracts/utils/DMZForwarder__factory.d.ts +0 -120
  818. package/dist/module/typechain-types/factories/contracts/utils/DMZForwarder__factory.d.ts.map +0 -1
  819. package/dist/module/typechain-types/factories/contracts/utils/DMZForwarder__factory.js +0 -167
  820. package/dist/module/typechain-types/factories/contracts/utils/DMZForwarder__factory.js.map +0 -1
  821. package/dist/module/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.d.ts +0 -413
  822. package/dist/module/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.d.ts.map +0 -1
  823. package/dist/module/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.js +0 -551
  824. package/dist/module/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.js.map +0 -1
  825. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts +0 -342
  826. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts.map +0 -1
  827. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js +0 -482
  828. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js.map +0 -1
  829. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts +0 -261
  830. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts.map +0 -1
  831. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js +0 -375
  832. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js.map +0 -1
  833. /package/dist/main/typechain-types/contracts/utils/{SuperfluidFrameworkDeployer.js → SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.js} +0 -0
  834. /package/dist/main/typechain-types/contracts/{mocks/CFALibraryMock.t.sol → utils/SuperfluidFrameworkDeployer.t.sol}/index.js +0 -0
  835. /package/dist/main/typechain-types/contracts/utils/{SuperfluidFrameworkDeploymentSteps.js → SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.js} +0 -0
  836. /package/dist/main/typechain-types/contracts/{mocks/IDAv1LibraryMock.t.sol → utils/SuperfluidFrameworkDeploymentSteps.t.sol}/index.js +0 -0
  837. /package/dist/module/typechain-types/contracts/utils/{SuperfluidFrameworkDeployer.js → SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.js} +0 -0
  838. /package/dist/module/typechain-types/contracts/{mocks/CFALibraryMock.t.sol → utils/SuperfluidFrameworkDeployer.t.sol}/index.js +0 -0
  839. /package/dist/module/typechain-types/contracts/utils/{SuperfluidFrameworkDeploymentSteps.js → SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.js} +0 -0
  840. /package/dist/module/typechain-types/contracts/{mocks/IDAv1LibraryMock.t.sol → utils/SuperfluidFrameworkDeploymentSteps.t.sol}/index.js +0 -0
@@ -12,7 +12,7 @@ export declare class SuperTokenStorageLayoutTester__factory extends ContractFact
12
12
  }): TransactionRequest;
13
13
  attach(address: string): SuperTokenStorageLayoutTester;
14
14
  connect(signer: Signer): SuperTokenStorageLayoutTester__factory;
15
- static readonly bytecode = "0x61012060405234801561001157600080fd5b506040516150aa3803806150aa833981016040819052610030916100e8565b6001600160a01b0380861660805280851660a05280841660c05280831661010081905290821660e05260405186918691869186918691907feb87fb34067547f3dc0b85096c3da73c99d4fbb08ff41212b8d7c0b5008b42e690600090a26040516001600160a01b038216907fc1050c54a299c837fe281a2623c29ec8e34b455daef48760b6a29f4b6cc9906090600090a25050505050505050505061015d565b6001600160a01b03811681146100e557600080fd5b50565b600080600080600060a0868803121561010057600080fd5b855161010b816100d0565b602087015190955061011c816100d0565b604087015190945061012d816100d0565b606087015190935061013e816100d0565b608087015190925061014f816100d0565b809150509295509295909350565b60805160a05160c05160e05161010051614e76610234600039600061085b015260006109df0152600061069e015260006109b801526000818161050001528181610cbb01528181610d2a0152818161104a015281816110da0152818161120a015281816112d9015281816114f001528181611546015281816115bb01528181611703015281816118ae0152818161198d01528181611d7e01528181611e4801528181611ee001528181611f4801528181611fd0015281816128800152818161291701528181613a0b0152613c4a0152614e766000f3fe608060405234801561001057600080fd5b506004361061041d5760003560e01c80636e9960c31161022b578063bb0d196e11610130578063eb3537cc116100b8578063f5a8b4dd11610087578063f5a8b4dd146109da578063f99a38c414610468578063fad8b32a14610a01578063fc673c4f14610a14578063fe9d930314610a2757600080fd5b8063eb3537cc14610961578063ec0d63431461098f578063ee719bc8146109a2578063ef43d2c6146109b357600080fd5b8063ca789464116100ff578063ca789464146108dc578063cf97256d146108ef578063d95b637114610902578063d9d078d614610915578063dd62ed3e1461092857600080fd5b8063bb0d196e14610890578063c68d4283146108a3578063c780fd82146108b6578063ca0c1e7f146108c957600080fd5b80639903ad38116101b3578063a3a7e7f311610182578063a3a7e7f31461081d578063a457c2d714610830578063a9059cbb14610843578063b20db1ac14610856578063b84cdd4a1461087d57600080fd5b80639903ad38146107dc5780639bd9bbc6146107e45780639d876741146107f7578063a1b2bf8b1461080a57600080fd5b806383ba2525116101fa57806383ba2525146107895780638f2839701461079c57806392081a47146107af578063959b8c3f146107c157806395d89b41146107d457600080fd5b80636e9960c3146107545780636fed61fc1461075c57806370a082311461076357806379359f6f1461077657600080fd5b8063386fa221116103315780634c5c0c85116102b95780635b9d09cc116102885780635b9d09cc146106f557806362aa52871461070857806362ad1b831461071b57806366a12fb61461072e5780636c2d9f2f1461074157600080fd5b80634c5c0c851461069957806350d75d25146106c057806352d1902d146106c8578063556f0dc7146106ee57600080fd5b806345977d031161030057806345977d031461062d578063469519541461064057806347ba7ad1146106535780634b2763b3146106665780634b61cc331461067957600080fd5b8063386fa221146105e157806339509351146105f457806341b706be1461060757806342fe09801461061a57600080fd5b80631863e809116103b4578063245887fc11610383578063245887fc1461054b578063270483971461055e578063282a050b146105715780632ec8eec714610599578063313ce567146105cc57600080fd5b80631863e809146104d85780631ae88ffc146104eb57806320bc4425146104fe57806323b872dd1461053857600080fd5b806311bcc81e116103f057806311bcc81e1461048d57806312a6a3f8146104a057806316d055d6146104b357806318160ddd146104c657600080fd5b806306e485381461042257806306fdde0314610440578063090c415e14610455578063095ea7b31461046a575b600080fd5b61042a610a3a565b6040516104379190613e64565b60405180910390f35b610448610a4b565b6040516104379190613f00565b610468610463366004613f73565b610add565b005b61047d610478366004613fce565b610b90565b6040519015158152602001610437565b61046861049b366004613ffa565b610ba7565b6104686104ae366004614013565b610bd6565b6104686104c136600461405e565b610cb9565b6003545b604051908152602001610437565b6104686104e6366004614172565b610d15565b6104686104f9366004614204565b611048565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610437565b61047d610546366004614204565b6110c2565b610468610559366004613fce565b6110d8565b61046861056c366004614245565b611151565b61058461057f366004613ffa565b6111ed565b60408051928352602083019190915201610437565b6105ac6105a7366004614267565b611202565b604080519485526020850193909352918301526060820152608001610437565b60125b60405160ff9091168152602001610437565b61042a6105ef366004614267565b6112a5565b61047d610602366004613fce565b611348565b61046861061536600461405e565b611384565b6104686106283660046142db565b6113b0565b61046861063b366004613ffa565b611491565b61046861064e366004614267565b6114bd565b610468610661366004614204565b611544565b610468610674366004614204565b6115b9565b61068c610687366004614371565b61163b565b60405161043791906143b7565b6105207f000000000000000000000000000000000000000000000000000000000000000081565b610520611680565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb00196104ca565b60016104ca565b6104686107033660046143ef565b6116aa565b610468610716366004614204565b611701565b61046861072936600461443e565b611755565b61046861073c366004614204565b611803565b61068c61074f3660046144e0565b611823565b610520611865565b601f6104ca565b6104ca610771366004614267565b61187d565b61047d610784366004614267565b6118a6565b610468610797366004613fce565b61192e565b6104686107aa366004614267565b61195a565b600e54600160a01b900460ff166105cf565b6104686107cf366004614267565b611a4e565b610448611a9f565b610468611aae565b6104686107f23660046143ef565b611b70565b610468610805366004614515565b611bc4565b610468610818366004614013565b611c0a565b61046861082b366004614267565b611cb4565b61047d61083e366004613fce565b611cc8565b61047d610851366004613fce565b611d17565b6105207f000000000000000000000000000000000000000000000000000000000000000081565b61047d61088b366004613fce565b611d25565b61047d61089e366004614267565b611d76565b6104686108b1366004614515565b611dfe565b6104686108c4366004614204565b611e46565b6104686108d736600461456d565b611ede565b6104686108ea366004613fce565b611f46565b6104686108fd366004613fce565b611fbb565b61047d6109103660046145d8565b6120a4565b61047d610923366004613fce565b6120b2565b6104ca6109363660046145d8565b6001600160a01b03918216600090815260116020908152604080832093909416825291909152205490565b61097461096f366004613fce565b6120cc565b60408051938452602084019290925290820152606001610437565b61046861099d366004614611565b612200565b600e546001600160a01b0316610520565b6105207f000000000000000000000000000000000000000000000000000000000000000081565b6105207f000000000000000000000000000000000000000000000000000000000000000081565b610468610a0f366004614267565b6122d7565b610468610a223660046146bb565b612328565b610468610a35366004614701565b6123c9565b6060610a46601261241a565b905090565b6060600f8054610a5a9061473f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a869061473f565b8015610ad35780601f10610aa857610100808354040283529160200191610ad3565b820191906000526020600020905b815481529060010190602001808311610ab657829003601f168201915b5050505050905090565b6000338585604051602001610af493929190614779565b604051602081830303815290604052805190602001209050610b498184848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061248092505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b6000610b9d3384846124b8565b5060015b92915050565b610bd3333333846040518060200160405280600081525060405180602001604052806000815250612567565b50565b6040513390600090610bee90839087906020016147c2565b60408051601f1981840301815291905280516020909101209050610c128184612727565b15610c305760405163782a90fb60e11b815260040160405180910390fd5b610c6d8185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061248092505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d868686604051610caa939291906147ff565b60405180910390a25050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610d025760405163c51efddd60e01b815260040160405180910390fd5b610d0e8484848461275b565b5050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610d79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9d9190614840565b610dba5760405163327fd99160e21b815260040160405180910390fd5b6000610dc461287b565b90506001600160a01b038116610dd75750845b600085610de45786610de6565b815b905060008313610eb457610df983614873565b610e02856129c0565b14610e0f57610e0f61488f565b610e18846129c0565b6001600160a01b03821660009081526002602052604081208054909190610e409084906148a5565b90915550506001600160a01b03851660009081526002602052604081208054859290610e6d9084906148a5565b92505081905550806001600160a01b0316856001600160a01b0316600080516020614df483398151915286604051610ea791815260200190565b60405180910390a3610fe0565b8515610ec257610ec261488f565b82610ecc856129c0565b610ed691906148a5565b6001600160a01b03831660009081526002602052604081208054909190610efe9084906148cd565b90915550610f0d9050846129c0565b6001600160a01b03881660009081526002602052604081208054909190610f359084906148a5565b90915550506001600160a01b03851660009081526002602052604081208054859290610f629084906148a5565b92505081905550866001600160a01b0316826001600160a01b0316600080516020614df483398151915286604051610f9c91815260200190565b60405180910390a3846001600160a01b0316826001600160a01b0316600080516020614df483398151915285604051610fd791815260200190565b60405180910390a35b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f6040516110359594939291906148ed565b60405180910390a4505050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146110915760405163c51efddd60e01b815260040160405180910390fd5b6110bd338484846040518060200160405280600081525060405180602001604052806000815250612a2e565b505050565b60006110d03385858561275b565b949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146111215760405163c51efddd60e01b815260040160405180910390fd5b61114d338384846040518060200160405280600081525060405180602001604052806000815250612567565b5050565b604051339060009061116990839086906020016147c2565b60405160208183030381529060405280519060200120905061118b8184612727565b6111a85760405163dae1880960e01b815260040160405180910390fd5b6111b28184612be1565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b9060200160405180910390a250505050565b6000806111f983612bfa565b91509150915091565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128a9190614920565b905061129685826120cc565b91979096509094509092509050565b6001600160a01b038181166000908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d90602401600060405180830381865afa158015611320573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ba19190810190614939565b3360008181526011602090815260408083206001600160a01b03871684529091528120549091610b9d91859061137f9086906149e5565b6124b8565b3330146113a457604051630fff4cc960e31b815260040160405180910390fd5b610d0e8385848461275b565b600054610100900460ff16158080156113d05750600054600160ff909116105b806113ea5750303b1580156113ea575060005460ff166001145b61140f5760405162461bcd60e51b8152600401611406906149f8565b60405180910390fd5b6000805460ff191660011790558015611432576000805461ff0019166101001790555b6114428787878787876000612cb6565b8015611488576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b610bd3333333846040518060200160405280600081525060405180602001604052806000815250612a2e565b60006114d5600080516020614daa8339815191525490565b905060006001600160a01b038216156114ee5781611510565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b0382161461153b57604051630484acab60e01b815260040160405180910390fd5b6110bd83612d7e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461158d5760405163c51efddd60e01b815260040160405180910390fd5b6110bd338484846040518060200160405280600081525060405180602001604052806000815250612567565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146116025760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b038084166000908152601160209081526040808320938616835292905220546110bd908490849061137f9085906149e5565b6060600085858560405160200161165493929190614779565b6040516020818303038152906040528051906020012090506116768184612fb8565b9695505050505050565b6000610a467f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6116fb3333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612a2e915050565b50505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461174a5760405163c51efddd60e01b815260040160405180910390fd5b6110bd8383836124b8565b336117626012828a61303f565b61177f5760405163f7f0222760e01b815260040160405180910390fd5b6117f98189898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a9081908401838280828437600092019190915250600192506130e8915050565b5050505050505050565b33301461174a57604051630fff4cc960e31b815260040160405180910390fd5b60606000848460405160200161183a9291906147c2565b60405160208183030381529060405280519060200120905061185c8184612fb8565b95945050505050565b6000610a46600080516020614daa8339815191525490565b60008061188983611202565b50505090506000811261189c578061189f565b60005b9392505050565b6000610ba1827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561190a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109239190614920565b61114d333384846040518060200160405280600081525060405180602001604052806000815250612567565b6000611972600080516020614daa8339815191525490565b905060006001600160a01b0382161561198b57816119ad565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146119d857604051630484acab60e01b815260040160405180910390fd5b60006119f0600080516020614daa8339815191525490565b9050611a0884600080516020614daa83398151915255565b836001600160a01b0316816001600160a01b03167f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f60405160405180910390a350505050565b33611a5b60128284613161565b806001600160a01b0316826001600160a01b03167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a35050565b606060108054610a5a9061473f565b600054610100900460ff1615808015611ace5750600054600160ff909116105b80611ae85750303b158015611ae8575060005460ff166001145b611b045760405162461bcd60e51b8152600401611406906149f8565b6000805460ff191660011790558015611b27576000805461ff0019166101001790555b8015610bd3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6116fb3333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250600191506130e89050565b333014611be457604051630fff4cc960e31b815260040160405180910390fd5b80516040805160008152602081019091526110bd91339186918691901515908690613265565b6040513390600090611c2290839087906020016147c2565b604051602081830303815290604052805190602001209050611c778185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061248092505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca868686604051610caa939291906147ff565b61114d333383611cc33361187d565b61275b565b6000610b9d338461137f856040518060600160405280602a8152602001614dca602a91393360009081526011602090815260408083206001600160a01b038d1684529091529020549190613332565b600061189f3333858561275b565b600080600080611d3586866120cc565b9250925092506000611d5d828411611d4e5760006129c0565b611d588385614a46565b6129c0565b611d6790856148a5565b60001315979650505050505050565b6000610ba1827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dda573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088b9190614920565b333014611e1e57604051630fff4cc960e31b815260040160405180910390fd5b80516040805160008152602081019091526110bd91339186918691901515908190879061335e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611e8f5760405163c51efddd60e01b815260040160405180910390fd5b6110bd838361137f846040518060600160405280602a8152602001614dca602a91396001600160a01b03808a166000908152601160209081526040808320938c16835292905220549190613332565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611f275760405163c51efddd60e01b815260040160405180910390fd5b6116fb33858585856040518060200160405280600081525060016130e8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611f8f5760405163c51efddd60e01b815260040160405180910390fd5b61114d338384846040518060200160405280600081525060405180602001604052806000815250612a2e565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa15801561201f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120439190614840565b6120605760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b0382166000908152600260205260409020546120849082906148a5565b6001600160a01b0390921660009081526002602052604090209190915550565b600061189f6012848461303f565b6000806120bf84846120cc565b5050600013949350505050565b6001600160a01b0382166000908152600260205260408120549080806120f1866112a5565b905060005b81518110156121f757600080600084848151811061211657612116614a59565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa158015612175573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121999190614a6f565b919450925090506121aa82886149e5565b96506121b681876149e5565b95506121d38183116121c95760006129c0565b611d588284614a46565b6121dd848a6148a5565b6121e791906148cd565b97505050508060010190506120f6565b50509250925092565b600054610100900460ff16158080156122205750600054600160ff909116105b8061223a5750303b15801561223a575060005460ff166001145b6122565760405162461bcd60e51b8152600401611406906149f8565b6000805460ff191660011790558015612279576000805461ff0019166101001790555b61228888888888888888612cb6565b80156117f9576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050565b336122e46012828461342c565b806001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a35050565b336123356012828961303f565b6123525760405163f7f0222760e01b815260040160405180910390fd5b6114888188898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a908190840183828082843760009201919091525061256792505050565b6110bd3333338686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612567915050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561247457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612456575b50505050509050919050565b60005b81518110156110bd5760008282815181106124a0576124a0614a59565b60209081029190910101518483015550600101612483565b6001600160a01b0383166124df57604051638163862760e01b815260040160405180910390fd5b6001600160a01b038216612506576040516337c1c09d60e21b815260040160405180910390fd5b6001600160a01b0383811660008181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600e546001600160a01b031661259057604051637bce7b2b60e11b815260040160405180910390fd5b60008061259c85612bfa565b915091506125b38888838751600014158888613265565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156125fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126209190614920565b600e5490915061263a906001600160a01b03168885613524565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612683573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126a79190614920565b905060006126b58284614a46565b90508085146126d757604051631c7c26d360e31b815260040160405180910390fd5b896001600160a01b03167f3bc27981aebbb57f9247dc00fde9d6cd91e4b230083fec3238fedbcba1f9ab3d8560405161271291815260200190565b60405180910390a25050505050505050505050565b6000805b828110156127515783810154801561274857600192505050610ba1565b5060010161272b565b5060009392505050565b60006001600160a01b0384166127845760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0383166127ab5760405163e219bd3960e01b815260040160405180910390fd5b60003390506127dc818686866040518060200160405280600081525060405180602001604052806000815250613587565b846001600160a01b0316866001600160a01b03161461286f5761286f858761137f866040518060600160405280602d8152602001614e14602d9139601160008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b03168152602001908152602001600020546133329092919063ffffffff16565b50600195945050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129009190614a9d565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa158015612996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ba9190614a9d565b91505090565b60006001600160ff1b03821115612a2a5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608401611406565b5090565b600e546001600160a01b0316612a5757604051637bce7b2b60e11b815260040160405180910390fd5b600080612a6385612bfa565b600e546040516370a0823160e01b81523060048201529294509092506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015612ab4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ad89190614920565b600e54909150612af3906001600160a01b0316893086613626565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b609190614920565b90506000612b6e8383614a46565b9050808514612b9057604051631c7c26d360e31b815260040160405180910390fd5b8651612ba6908c908b9087901515808c8c61335e565b886001600160a01b03167f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df8560405161271291815260200190565b60005b818110156110bd57600083820155600101612be4565b600e54600090819081906012600160a01b90910460ff161015612c5957600e54612c2f90600160a01b900460ff166012614aba565b612c3a90600a614bba565b9050612c468185614bc9565b9250612c528184614beb565b9150612cb0565b600e546012600160a01b90910460ff161115612ca957600e54612c8890601290600160a01b900460ff16614aba565b612c9390600a614bba565b9050612c9f8185614beb565b9250839150612cb0565b8391508192505b50915091565b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f612ceb858783614c49565b506010612cf9838583614c49565b50612d1081600080516020614daa83398151915255565b612d193061365e565b6040516000808252908190600080516020614df48339815191529060200160405180910390a36040516001600160a01b038216906000907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f908290a350505050505050565b6000612da87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603612dfe5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611406565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e609190614920565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb001914612eda5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611406565b6001600160a01b0381163003612f325760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611406565b612f5a817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019604080519182526001600160a01b038416602083015201611b65565b6060816001600160401b03811115612fd257612fd26140af565b604051908082528060200260200182016040528015612ffb578160200160208202803683370190505b50905060005b828110156130385760008185015490508083838151811061302457613024614a59565b602090810291909101015250600101613001565b5092915050565b6000816001600160a01b0316836001600160a01b031614806130ae57506001600160a01b038316600090815260018501602052604090205460ff1680156130ae57506001600160a01b03808316600090815260038601602090815260408083209387168352929052205460ff16155b806110d057506001600160a01b03808316600090815260028601602090815260408083209387168352929052205460ff1690509392505050565b6001600160a01b03861661310f5760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0385166131365760405163e219bd3960e01b815260040160405180910390fd5b61314487878787878761378c565b613152878787878787613587565b611488878787878787876138b3565b806001600160a01b0316826001600160a01b0316036131d85760405162461bcd60e51b815260206004820152602d60248201527f4552433737374f70657261746f72733a20617574686f72697a696e672073656c60448201526c331030b99037b832b930ba37b960991b6064820152608401611406565b6001600160a01b038116600090815260018401602052604090205460ff161561322e576001600160a01b03918216600090815260039390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b0380831660009081526002850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03851661328c57604051632e8aac6160e21b815260040160405180910390fd5b82156132a1576132a18686600087868661378c565b6132ab8585613a03565b846001600160a01b0316866001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a40988685856040516132f293929190614d08565b60405180910390a36040518481526000906001600160a01b03871690600080516020614df4833981519152906020015b60405180910390a3505050505050565b600081848411156133565760405162461bcd60e51b81526004016114069190613f00565b505050900390565b6001600160a01b03861661338557604051630d24315760e01b815260040160405180910390fd5b61338f8686613b13565b83156133a5576133a587600088888686896138b3565b856001600160a01b0316876001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d8785856040516133ec93929190614d08565b60405180910390a36040518581526001600160a01b03871690600090600080516020614df48339815191529060200160405180910390a350505050505050565b336001600160a01b038216036134975760405162461bcd60e51b815260206004820152602a60248201527f4552433737374f70657261746f72733a207265766f6b696e672073656c662061604482015269399037b832b930ba37b960b11b6064820152608401611406565b6001600160a01b038116600090815260018401602052604090205460ff16156134f1576001600160a01b0380831660009081526003850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03918216600090815260029390930160209081526040808520929093168452529020805460ff19169055565b6040516001600160a01b0383166024820152604481018290526110bd90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613b6d565b61359a8585613595866129c0565b613c42565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc826146779878686866040516135eb93929190614d08565b60405180910390a4836001600160a01b0316856001600160a01b0316600080516020614df48339815191528560405161332291815260200190565b6040516001600160a01b03808516602483015283166044820152606481018290526116fb9085906323b872dd60e01b90608401613550565b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b1580156136df57600080fd5b505af11580156136f3573d6000803e3d6000fd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b15801561377857600080fd5b505af1158015610d0e573d6000803e3d6000fd5b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe8956024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa15801561380d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138319190614a9d565b90506001600160a01b0381161561148857604051633ad5cbc160e11b81526001600160a01b038216906375ab978290613878908a908a908a908a908a908a90600401614d33565b600060405180830381600087803b15801561389257600080fd5b505af11580156138a6573d6000803e3d6000fd5b5050505050505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b6024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015613934573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139589190614a9d565b90506001600160a01b038116156139d4576040516223de2960e01b81526001600160a01b038216906223de299061399d908b908b908b908b908b908b90600401614d33565b600060405180830381600087803b1580156139b757600080fd5b505af11580156139cb573d6000803e3d6000fd5b505050506117f9565b81156117f9576001600160a01b0386163b156117f95760405163fe737d0560e01b815260040160405180910390fd5b6000613a8b837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a67573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096f9190614920565b50509050613a98826129c0565b811215613ab85760405163043b37d160e21b815260040160405180910390fd5b613ac1826129c0565b6001600160a01b038416600090815260026020526040902054613ae491906148cd565b6001600160a01b038416600090815260026020526040902055600354613b0b908390614a46565b600355505050565b613b1c816129c0565b6001600160a01b038316600090815260026020526040902054613b3f91906148a5565b6001600160a01b038316600090815260026020526040902055600354613b669082906149e5565b6003555050565b6000613bc2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613d419092919063ffffffff16565b9050805160001480613be3575080806020019051810190613be39190614840565b6110bd5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401611406565b6000613ca6847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a67573d6000803e3d6000fd5b5050905081811215613ccb57604051632f4cb94160e01b815260040160405180910390fd5b6001600160a01b038416600090815260026020526040902054613cef9083906148cd565b6001600160a01b038086166000908152600260205260408082209390935590851681522054613d1f9083906148a5565b6001600160a01b03909316600090815260026020526040902092909255505050565b60606110d0848460008585600080866001600160a01b03168587604051613d689190614d8d565b60006040518083038185875af1925050503d8060008114613da5576040519150601f19603f3d011682016040523d82523d6000602084013e613daa565b606091505b5091509150613dbb87838387613dc6565b979650505050505050565b60608315613e35578251600003613e2e576001600160a01b0385163b613e2e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611406565b50816110d0565b6110d08383815115613e4a5781518083602001fd5b8060405162461bcd60e51b81526004016114069190613f00565b602080825282518282018190526000918401906040840190835b81811015613ea55783516001600160a01b0316835260209384019390920191600101613e7e565b509095945050505050565b60005b83811015613ecb578181015183820152602001613eb3565b50506000910152565b60008151808452613eec816020860160208601613eb0565b601f01601f19169290920160200192915050565b60208152600061189f6020830184613ed4565b6001600160a01b0381168114610bd357600080fd5b60008083601f840112613f3a57600080fd5b5081356001600160401b03811115613f5157600080fd5b6020830191508360208260051b8501011115613f6c57600080fd5b9250929050565b60008060008060608587031215613f8957600080fd5b8435613f9481613f13565b93506020850135925060408501356001600160401b03811115613fb657600080fd5b613fc287828801613f28565b95989497509550505050565b60008060408385031215613fe157600080fd5b8235613fec81613f13565b946020939093013593505050565b60006020828403121561400c57600080fd5b5035919050565b60008060006040848603121561402857600080fd5b8335925060208401356001600160401b0381111561404557600080fd5b61405186828701613f28565b9497909650939450505050565b6000806000806080858703121561407457600080fd5b843561407f81613f13565b9350602085013561408f81613f13565b9250604085013561409f81613f13565b9396929550929360600135925050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156140ed576140ed6140af565b604052919050565b600082601f83011261410657600080fd5b81356001600160401b0381111561411f5761411f6140af565b614132601f8201601f19166020016140c5565b81815284602083860101111561414757600080fd5b816020850160208301376000918101602001919091529392505050565b8015158114610bd357600080fd5b600080600080600080600060e0888a03121561418d57600080fd5b8735965060208801356001600160401b038111156141aa57600080fd5b6141b68a828b016140f5565b96505060408801356141c781613f13565b945060608801356141d781614164565b935060808801356141e781613f13565b9699959850939692959460a0840135945060c09093013592915050565b60008060006060848603121561421957600080fd5b833561422481613f13565b9250602084013561423481613f13565b929592945050506040919091013590565b6000806040838503121561425857600080fd5b50508035926020909101359150565b60006020828403121561427957600080fd5b813561189f81613f13565b803560ff8116811461429557600080fd5b919050565b60008083601f8401126142ac57600080fd5b5081356001600160401b038111156142c357600080fd5b602083019150836020828501011115613f6c57600080fd5b600080600080600080608087890312156142f457600080fd5b86356142ff81613f13565b955061430d60208801614284565b945060408701356001600160401b0381111561432857600080fd5b61433489828a0161429a565b90955093505060608701356001600160401b0381111561435357600080fd5b61435f89828a0161429a565b979a9699509497509295939492505050565b6000806000806080858703121561438757600080fd5b843561439281613f13565b935060208501356143a281613f13565b93969395505050506040820135916060013590565b602080825282518282018190526000918401906040840190835b81811015613ea55783518352602093840193909201916001016143d1565b6000806000806060858703121561440557600080fd5b843561441081613f13565b93506020850135925060408501356001600160401b0381111561443257600080fd5b613fc28782880161429a565b600080600080600080600060a0888a03121561445957600080fd5b873561446481613f13565b9650602088013561447481613f13565b95506040880135945060608801356001600160401b0381111561449657600080fd5b6144a28a828b0161429a565b90955093505060808801356001600160401b038111156144c157600080fd5b6144cd8a828b0161429a565b989b979a50959850939692959293505050565b6000806000606084860312156144f557600080fd5b833561450081613f13565b95602085013595506040909401359392505050565b60008060006060848603121561452a57600080fd5b833561453581613f13565b92506020840135915060408401356001600160401b0381111561455757600080fd5b614563868287016140f5565b9150509250925092565b6000806000806080858703121561458357600080fd5b843561458e81613f13565b9350602085013561459e81613f13565b92506040850135915060608501356001600160401b038111156145c057600080fd5b6145cc878288016140f5565b91505092959194509250565b600080604083850312156145eb57600080fd5b82356145f681613f13565b9150602083013561460681613f13565b809150509250929050565b600080600080600080600060a0888a03121561462c57600080fd5b873561463781613f13565b965061464560208901614284565b955060408801356001600160401b0381111561466057600080fd5b61466c8a828b0161429a565b90965094505060608801356001600160401b0381111561468b57600080fd5b6146978a828b0161429a565b90945092505060808801356146ab81613f13565b8091505092959891949750929550565b600080600080600080608087890312156146d457600080fd5b86356146df81613f13565b95506020870135945060408701356001600160401b0381111561432857600080fd5b60008060006040848603121561471657600080fd5b8335925060208401356001600160401b0381111561473357600080fd5b6140518682870161429a565b600181811c9082168061475357607f821691505b60208210810361477357634e487b7160e01b600052602260045260246000fd5b50919050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b838152604060208201819052810182905260006001600160fb1b0383111561482657600080fd5b8260051b8085606085013791909101606001949350505050565b60006020828403121561485257600080fd5b815161189f81614164565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b82016148885761488861485d565b5060000390565b634e487b7160e01b600052600160045260246000fd5b80820182811260008312801582168215821617156148c5576148c561485d565b505092915050565b81810360008312801583831316838312821617156130385761303861485d565b85815260018060a01b038516602082015283604082015282606082015260a060808201526000613dbb60a0830184613ed4565b60006020828403121561493257600080fd5b5051919050565b60006020828403121561494b57600080fd5b81516001600160401b0381111561496157600080fd5b8201601f8101841361497257600080fd5b80516001600160401b0381111561498b5761498b6140af565b8060051b61499b602082016140c5565b918252602081840181019290810190878411156149b757600080fd5b6020850194505b83851015613dbb57845192506149d383613f13565b828252602094850194909101906149be565b80820180821115610ba157610ba161485d565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b81810381811115610ba157610ba161485d565b634e487b7160e01b600052603260045260246000fd5b600080600060608486031215614a8457600080fd5b5050815160208301516040909301519094929350919050565b600060208284031215614aaf57600080fd5b815161189f81613f13565b60ff8281168282160390811115610ba157610ba161485d565b6001815b6001841115614b0e57808504811115614af257614af261485d565b6001841615614b0057908102905b60019390931c928002614ad7565b935093915050565b600082614b2557506001610ba1565b81614b3257506000610ba1565b8160018114614b485760028114614b5257614b6e565b6001915050610ba1565b60ff841115614b6357614b6361485d565b50506001821b610ba1565b5060208310610133831016604e8410600b8410161715614b91575081810a610ba1565b614b9e6000198484614ad3565b8060001904821115614bb257614bb261485d565b029392505050565b600061189f60ff841683614b16565b600082614be657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610ba157610ba161485d565b601f8211156110bd57806000526020600020601f840160051c81016020851015614c295750805b601f840160051c820191505b81811015610d0e5760008155600101614c35565b6001600160401b03831115614c6057614c606140af565b614c7483614c6e835461473f565b83614c02565b6000601f841160018114614ca85760008515614c905750838201355b600019600387901b1c1916600186901b178355610d0e565b600083815260209020601f19861690835b82811015614cd95786850135825560209485019460019092019101614cb9565b5086821015614cf65760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b838152606060208201526000614d216060830185613ed4565b82810360408401526116768185613ed4565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c060808201819052600090614d6e90830185613ed4565b82810360a0840152614d808185613ed4565b9998505050505050505050565b60008251614d9f818460208701613eb0565b919091019291505056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035375706572546f6b656e3a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5375706572546f6b656e3a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208742997d295df1a07c5e4ae1b5133ef174cce7973179342ec8e35ba74e04203d64736f6c634300081a0033";
15
+ static readonly bytecode = "0x61012060405234801561001157600080fd5b506040516150aa3803806150aa833981016040819052610030916100e8565b6001600160a01b0380861660805280851660a05280841660c05280831661010081905290821660e05260405186918691869186918691907feb87fb34067547f3dc0b85096c3da73c99d4fbb08ff41212b8d7c0b5008b42e690600090a26040516001600160a01b038216907fc1050c54a299c837fe281a2623c29ec8e34b455daef48760b6a29f4b6cc9906090600090a25050505050505050505061015d565b6001600160a01b03811681146100e557600080fd5b50565b600080600080600060a0868803121561010057600080fd5b855161010b816100d0565b602087015190955061011c816100d0565b604087015190945061012d816100d0565b606087015190935061013e816100d0565b608087015190925061014f816100d0565b809150509295509295909350565b60805160a05160c05160e05161010051614e76610234600039600061085b015260006109df0152600061069e015260006109b801526000818161050001528181610cbb01528181610d2a0152818161104a015281816110da0152818161120a015281816112d9015281816114f001528181611546015281816115bb01528181611703015281816118ae0152818161198d01528181611d7e01528181611e4801528181611ee001528181611f4801528181611fd0015281816128800152818161291701528181613a0b0152613c4a0152614e766000f3fe608060405234801561001057600080fd5b506004361061041d5760003560e01c80636e9960c31161022b578063bb0d196e11610130578063eb3537cc116100b8578063f5a8b4dd11610087578063f5a8b4dd146109da578063f99a38c414610468578063fad8b32a14610a01578063fc673c4f14610a14578063fe9d930314610a2757600080fd5b8063eb3537cc14610961578063ec0d63431461098f578063ee719bc8146109a2578063ef43d2c6146109b357600080fd5b8063ca789464116100ff578063ca789464146108dc578063cf97256d146108ef578063d95b637114610902578063d9d078d614610915578063dd62ed3e1461092857600080fd5b8063bb0d196e14610890578063c68d4283146108a3578063c780fd82146108b6578063ca0c1e7f146108c957600080fd5b80639903ad38116101b3578063a3a7e7f311610182578063a3a7e7f31461081d578063a457c2d714610830578063a9059cbb14610843578063b20db1ac14610856578063b84cdd4a1461087d57600080fd5b80639903ad38146107dc5780639bd9bbc6146107e45780639d876741146107f7578063a1b2bf8b1461080a57600080fd5b806383ba2525116101fa57806383ba2525146107895780638f2839701461079c57806392081a47146107af578063959b8c3f146107c157806395d89b41146107d457600080fd5b80636e9960c3146107545780636fed61fc1461075c57806370a082311461076357806379359f6f1461077657600080fd5b8063386fa221116103315780634c5c0c85116102b95780635b9d09cc116102885780635b9d09cc146106f557806362aa52871461070857806362ad1b831461071b57806366a12fb61461072e5780636c2d9f2f1461074157600080fd5b80634c5c0c851461069957806350d75d25146106c057806352d1902d146106c8578063556f0dc7146106ee57600080fd5b806345977d031161030057806345977d031461062d578063469519541461064057806347ba7ad1146106535780634b2763b3146106665780634b61cc331461067957600080fd5b8063386fa221146105e157806339509351146105f457806341b706be1461060757806342fe09801461061a57600080fd5b80631863e809116103b4578063245887fc11610383578063245887fc1461054b578063270483971461055e578063282a050b146105715780632ec8eec714610599578063313ce567146105cc57600080fd5b80631863e809146104d85780631ae88ffc146104eb57806320bc4425146104fe57806323b872dd1461053857600080fd5b806311bcc81e116103f057806311bcc81e1461048d57806312a6a3f8146104a057806316d055d6146104b357806318160ddd146104c657600080fd5b806306e485381461042257806306fdde0314610440578063090c415e14610455578063095ea7b31461046a575b600080fd5b61042a610a3a565b6040516104379190613e64565b60405180910390f35b610448610a4b565b6040516104379190613f00565b610468610463366004613f73565b610add565b005b61047d610478366004613fce565b610b90565b6040519015158152602001610437565b61046861049b366004613ffa565b610ba7565b6104686104ae366004614013565b610bd6565b6104686104c136600461405e565b610cb9565b6003545b604051908152602001610437565b6104686104e6366004614172565b610d15565b6104686104f9366004614204565b611048565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610437565b61047d610546366004614204565b6110c2565b610468610559366004613fce565b6110d8565b61046861056c366004614245565b611151565b61058461057f366004613ffa565b6111ed565b60408051928352602083019190915201610437565b6105ac6105a7366004614267565b611202565b604080519485526020850193909352918301526060820152608001610437565b60125b60405160ff9091168152602001610437565b61042a6105ef366004614267565b6112a5565b61047d610602366004613fce565b611348565b61046861061536600461405e565b611384565b6104686106283660046142db565b6113b0565b61046861063b366004613ffa565b611491565b61046861064e366004614267565b6114bd565b610468610661366004614204565b611544565b610468610674366004614204565b6115b9565b61068c610687366004614371565b61163b565b60405161043791906143b7565b6105207f000000000000000000000000000000000000000000000000000000000000000081565b610520611680565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb00196104ca565b60016104ca565b6104686107033660046143ef565b6116aa565b610468610716366004614204565b611701565b61046861072936600461443e565b611755565b61046861073c366004614204565b611803565b61068c61074f3660046144e0565b611823565b610520611865565b601f6104ca565b6104ca610771366004614267565b61187d565b61047d610784366004614267565b6118a6565b610468610797366004613fce565b61192e565b6104686107aa366004614267565b61195a565b600e54600160a01b900460ff166105cf565b6104686107cf366004614267565b611a4e565b610448611a9f565b610468611aae565b6104686107f23660046143ef565b611b70565b610468610805366004614515565b611bc4565b610468610818366004614013565b611c0a565b61046861082b366004614267565b611cb4565b61047d61083e366004613fce565b611cc8565b61047d610851366004613fce565b611d17565b6105207f000000000000000000000000000000000000000000000000000000000000000081565b61047d61088b366004613fce565b611d25565b61047d61089e366004614267565b611d76565b6104686108b1366004614515565b611dfe565b6104686108c4366004614204565b611e46565b6104686108d736600461456d565b611ede565b6104686108ea366004613fce565b611f46565b6104686108fd366004613fce565b611fbb565b61047d6109103660046145d8565b6120a4565b61047d610923366004613fce565b6120b2565b6104ca6109363660046145d8565b6001600160a01b03918216600090815260116020908152604080832093909416825291909152205490565b61097461096f366004613fce565b6120cc565b60408051938452602084019290925290820152606001610437565b61046861099d366004614611565b612200565b600e546001600160a01b0316610520565b6105207f000000000000000000000000000000000000000000000000000000000000000081565b6105207f000000000000000000000000000000000000000000000000000000000000000081565b610468610a0f366004614267565b6122d7565b610468610a223660046146bb565b612328565b610468610a35366004614701565b6123c9565b6060610a46601261241a565b905090565b6060600f8054610a5a9061473f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a869061473f565b8015610ad35780601f10610aa857610100808354040283529160200191610ad3565b820191906000526020600020905b815481529060010190602001808311610ab657829003601f168201915b5050505050905090565b6000338585604051602001610af493929190614779565b604051602081830303815290604052805190602001209050610b498184848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061248092505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b6000610b9d3384846124b8565b5060015b92915050565b610bd3333333846040518060200160405280600081525060405180602001604052806000815250612567565b50565b6040513390600090610bee90839087906020016147c2565b60408051601f1981840301815291905280516020909101209050610c128184612727565b15610c305760405163782a90fb60e11b815260040160405180910390fd5b610c6d8185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061248092505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d868686604051610caa939291906147ff565b60405180910390a25050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610d025760405163c51efddd60e01b815260040160405180910390fd5b610d0e8484848461275b565b5050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610d79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9d9190614840565b610dba5760405163327fd99160e21b815260040160405180910390fd5b6000610dc461287b565b90506001600160a01b038116610dd75750845b600085610de45786610de6565b815b905060008313610eb457610df983614873565b610e02856129c0565b14610e0f57610e0f61488f565b610e18846129c0565b6001600160a01b03821660009081526002602052604081208054909190610e409084906148a5565b90915550506001600160a01b03851660009081526002602052604081208054859290610e6d9084906148a5565b92505081905550806001600160a01b0316856001600160a01b0316600080516020614df483398151915286604051610ea791815260200190565b60405180910390a3610fe0565b8515610ec257610ec261488f565b82610ecc856129c0565b610ed691906148a5565b6001600160a01b03831660009081526002602052604081208054909190610efe9084906148cd565b90915550610f0d9050846129c0565b6001600160a01b03881660009081526002602052604081208054909190610f359084906148a5565b90915550506001600160a01b03851660009081526002602052604081208054859290610f629084906148a5565b92505081905550866001600160a01b0316826001600160a01b0316600080516020614df483398151915286604051610f9c91815260200190565b60405180910390a3846001600160a01b0316826001600160a01b0316600080516020614df483398151915285604051610fd791815260200190565b60405180910390a35b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f6040516110359594939291906148ed565b60405180910390a4505050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146110915760405163c51efddd60e01b815260040160405180910390fd5b6110bd338484846040518060200160405280600081525060405180602001604052806000815250612a2e565b505050565b60006110d03385858561275b565b949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146111215760405163c51efddd60e01b815260040160405180910390fd5b61114d338384846040518060200160405280600081525060405180602001604052806000815250612567565b5050565b604051339060009061116990839086906020016147c2565b60405160208183030381529060405280519060200120905061118b8184612727565b6111a85760405163dae1880960e01b815260040160405180910390fd5b6111b28184612be1565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b9060200160405180910390a250505050565b6000806111f983612bfa565b91509150915091565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128a9190614920565b905061129685826120cc565b91979096509094509092509050565b6001600160a01b038181166000908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d90602401600060405180830381865afa158015611320573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ba19190810190614939565b3360008181526011602090815260408083206001600160a01b03871684529091528120549091610b9d91859061137f9086906149e5565b6124b8565b3330146113a457604051630fff4cc960e31b815260040160405180910390fd5b610d0e8385848461275b565b600054610100900460ff16158080156113d05750600054600160ff909116105b806113ea5750303b1580156113ea575060005460ff166001145b61140f5760405162461bcd60e51b8152600401611406906149f8565b60405180910390fd5b6000805460ff191660011790558015611432576000805461ff0019166101001790555b6114428787878787876000612cb6565b8015611488576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b610bd3333333846040518060200160405280600081525060405180602001604052806000815250612a2e565b60006114d5600080516020614daa8339815191525490565b905060006001600160a01b038216156114ee5781611510565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b0382161461153b57604051630484acab60e01b815260040160405180910390fd5b6110bd83612d7e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461158d5760405163c51efddd60e01b815260040160405180910390fd5b6110bd338484846040518060200160405280600081525060405180602001604052806000815250612567565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146116025760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b038084166000908152601160209081526040808320938616835292905220546110bd908490849061137f9085906149e5565b6060600085858560405160200161165493929190614779565b6040516020818303038152906040528051906020012090506116768184612fb8565b9695505050505050565b6000610a467f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6116fb3333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612a2e915050565b50505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461174a5760405163c51efddd60e01b815260040160405180910390fd5b6110bd8383836124b8565b336117626012828a61303f565b61177f5760405163f7f0222760e01b815260040160405180910390fd5b6117f98189898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a9081908401838280828437600092019190915250600192506130e8915050565b5050505050505050565b33301461174a57604051630fff4cc960e31b815260040160405180910390fd5b60606000848460405160200161183a9291906147c2565b60405160208183030381529060405280519060200120905061185c8184612fb8565b95945050505050565b6000610a46600080516020614daa8339815191525490565b60008061188983611202565b50505090506000811261189c578061189f565b60005b9392505050565b6000610ba1827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561190a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109239190614920565b61114d333384846040518060200160405280600081525060405180602001604052806000815250612567565b6000611972600080516020614daa8339815191525490565b905060006001600160a01b0382161561198b57816119ad565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146119d857604051630484acab60e01b815260040160405180910390fd5b60006119f0600080516020614daa8339815191525490565b9050611a0884600080516020614daa83398151915255565b836001600160a01b0316816001600160a01b03167f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f60405160405180910390a350505050565b33611a5b60128284613161565b806001600160a01b0316826001600160a01b03167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a35050565b606060108054610a5a9061473f565b600054610100900460ff1615808015611ace5750600054600160ff909116105b80611ae85750303b158015611ae8575060005460ff166001145b611b045760405162461bcd60e51b8152600401611406906149f8565b6000805460ff191660011790558015611b27576000805461ff0019166101001790555b8015610bd3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6116fb3333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250600191506130e89050565b333014611be457604051630fff4cc960e31b815260040160405180910390fd5b80516040805160008152602081019091526110bd91339186918691901515908690613265565b6040513390600090611c2290839087906020016147c2565b604051602081830303815290604052805190602001209050611c778185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061248092505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca868686604051610caa939291906147ff565b61114d333383611cc33361187d565b61275b565b6000610b9d338461137f856040518060600160405280602a8152602001614dca602a91393360009081526011602090815260408083206001600160a01b038d1684529091529020549190613332565b600061189f3333858561275b565b600080600080611d3586866120cc565b9250925092506000611d5d828411611d4e5760006129c0565b611d588385614a46565b6129c0565b611d6790856148a5565b60001315979650505050505050565b6000610ba1827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dda573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088b9190614920565b333014611e1e57604051630fff4cc960e31b815260040160405180910390fd5b80516040805160008152602081019091526110bd91339186918691901515908190879061335e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611e8f5760405163c51efddd60e01b815260040160405180910390fd5b6110bd838361137f846040518060600160405280602a8152602001614dca602a91396001600160a01b03808a166000908152601160209081526040808320938c16835292905220549190613332565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611f275760405163c51efddd60e01b815260040160405180910390fd5b6116fb33858585856040518060200160405280600081525060016130e8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611f8f5760405163c51efddd60e01b815260040160405180910390fd5b61114d338384846040518060200160405280600081525060405180602001604052806000815250612a2e565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa15801561201f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120439190614840565b6120605760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b0382166000908152600260205260409020546120849082906148a5565b6001600160a01b0390921660009081526002602052604090209190915550565b600061189f6012848461303f565b6000806120bf84846120cc565b5050600013949350505050565b6001600160a01b0382166000908152600260205260408120549080806120f1866112a5565b905060005b81518110156121f757600080600084848151811061211657612116614a59565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa158015612175573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121999190614a6f565b919450925090506121aa82886149e5565b96506121b681876149e5565b95506121d38183116121c95760006129c0565b611d588284614a46565b6121dd848a6148a5565b6121e791906148cd565b97505050508060010190506120f6565b50509250925092565b600054610100900460ff16158080156122205750600054600160ff909116105b8061223a5750303b15801561223a575060005460ff166001145b6122565760405162461bcd60e51b8152600401611406906149f8565b6000805460ff191660011790558015612279576000805461ff0019166101001790555b61228888888888888888612cb6565b80156117f9576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050565b336122e46012828461342c565b806001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a35050565b336123356012828961303f565b6123525760405163f7f0222760e01b815260040160405180910390fd5b6114888188898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a908190840183828082843760009201919091525061256792505050565b6110bd3333338686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612567915050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561247457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612456575b50505050509050919050565b60005b81518110156110bd5760008282815181106124a0576124a0614a59565b60209081029190910101518483015550600101612483565b6001600160a01b0383166124df57604051638163862760e01b815260040160405180910390fd5b6001600160a01b038216612506576040516337c1c09d60e21b815260040160405180910390fd5b6001600160a01b0383811660008181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600e546001600160a01b031661259057604051637bce7b2b60e11b815260040160405180910390fd5b60008061259c85612bfa565b915091506125b38888838751600014158888613265565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156125fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126209190614920565b600e5490915061263a906001600160a01b03168885613524565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612683573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126a79190614920565b905060006126b58284614a46565b90508085146126d757604051631c7c26d360e31b815260040160405180910390fd5b896001600160a01b03167f3bc27981aebbb57f9247dc00fde9d6cd91e4b230083fec3238fedbcba1f9ab3d8560405161271291815260200190565b60405180910390a25050505050505050505050565b6000805b828110156127515783810154801561274857600192505050610ba1565b5060010161272b565b5060009392505050565b60006001600160a01b0384166127845760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0383166127ab5760405163e219bd3960e01b815260040160405180910390fd5b60003390506127dc818686866040518060200160405280600081525060405180602001604052806000815250613587565b846001600160a01b0316866001600160a01b03161461286f5761286f858761137f866040518060600160405280602d8152602001614e14602d9139601160008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b03168152602001908152602001600020546133329092919063ffffffff16565b50600195945050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129009190614a9d565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa158015612996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ba9190614a9d565b91505090565b60006001600160ff1b03821115612a2a5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608401611406565b5090565b600e546001600160a01b0316612a5757604051637bce7b2b60e11b815260040160405180910390fd5b600080612a6385612bfa565b600e546040516370a0823160e01b81523060048201529294509092506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015612ab4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ad89190614920565b600e54909150612af3906001600160a01b0316893086613626565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b609190614920565b90506000612b6e8383614a46565b9050808514612b9057604051631c7c26d360e31b815260040160405180910390fd5b8651612ba6908c908b9087901515808c8c61335e565b886001600160a01b03167f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df8560405161271291815260200190565b60005b818110156110bd57600083820155600101612be4565b600e54600090819081906012600160a01b90910460ff161015612c5957600e54612c2f90600160a01b900460ff166012614aba565b612c3a90600a614bba565b9050612c468185614bc9565b9250612c528184614beb565b9150612cb0565b600e546012600160a01b90910460ff161115612ca957600e54612c8890601290600160a01b900460ff16614aba565b612c9390600a614bba565b9050612c9f8185614beb565b9250839150612cb0565b8391508192505b50915091565b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f612ceb858783614c49565b506010612cf9838583614c49565b50612d1081600080516020614daa83398151915255565b612d193061365e565b6040516000808252908190600080516020614df48339815191529060200160405180910390a36040516001600160a01b038216906000907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f908290a350505050505050565b6000612da87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603612dfe5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611406565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e609190614920565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb001914612eda5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611406565b6001600160a01b0381163003612f325760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611406565b612f5a817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019604080519182526001600160a01b038416602083015201611b65565b6060816001600160401b03811115612fd257612fd26140af565b604051908082528060200260200182016040528015612ffb578160200160208202803683370190505b50905060005b828110156130385760008185015490508083838151811061302457613024614a59565b602090810291909101015250600101613001565b5092915050565b6000816001600160a01b0316836001600160a01b031614806130ae57506001600160a01b038316600090815260018501602052604090205460ff1680156130ae57506001600160a01b03808316600090815260038601602090815260408083209387168352929052205460ff16155b806110d057506001600160a01b03808316600090815260028601602090815260408083209387168352929052205460ff1690509392505050565b6001600160a01b03861661310f5760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0385166131365760405163e219bd3960e01b815260040160405180910390fd5b61314487878787878761378c565b613152878787878787613587565b611488878787878787876138b3565b806001600160a01b0316826001600160a01b0316036131d85760405162461bcd60e51b815260206004820152602d60248201527f4552433737374f70657261746f72733a20617574686f72697a696e672073656c60448201526c331030b99037b832b930ba37b960991b6064820152608401611406565b6001600160a01b038116600090815260018401602052604090205460ff161561322e576001600160a01b03918216600090815260039390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b0380831660009081526002850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03851661328c57604051632e8aac6160e21b815260040160405180910390fd5b82156132a1576132a18686600087868661378c565b6132ab8585613a03565b846001600160a01b0316866001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a40988685856040516132f293929190614d08565b60405180910390a36040518481526000906001600160a01b03871690600080516020614df4833981519152906020015b60405180910390a3505050505050565b600081848411156133565760405162461bcd60e51b81526004016114069190613f00565b505050900390565b6001600160a01b03861661338557604051630d24315760e01b815260040160405180910390fd5b61338f8686613b13565b83156133a5576133a587600088888686896138b3565b856001600160a01b0316876001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d8785856040516133ec93929190614d08565b60405180910390a36040518581526001600160a01b03871690600090600080516020614df48339815191529060200160405180910390a350505050505050565b336001600160a01b038216036134975760405162461bcd60e51b815260206004820152602a60248201527f4552433737374f70657261746f72733a207265766f6b696e672073656c662061604482015269399037b832b930ba37b960b11b6064820152608401611406565b6001600160a01b038116600090815260018401602052604090205460ff16156134f1576001600160a01b0380831660009081526003850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03918216600090815260029390930160209081526040808520929093168452529020805460ff19169055565b6040516001600160a01b0383166024820152604481018290526110bd90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613b6d565b61359a8585613595866129c0565b613c42565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc826146779878686866040516135eb93929190614d08565b60405180910390a4836001600160a01b0316856001600160a01b0316600080516020614df48339815191528560405161332291815260200190565b6040516001600160a01b03808516602483015283166044820152606481018290526116fb9085906323b872dd60e01b90608401613550565b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b1580156136df57600080fd5b505af11580156136f3573d6000803e3d6000fd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b15801561377857600080fd5b505af1158015610d0e573d6000803e3d6000fd5b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe8956024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa15801561380d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138319190614a9d565b90506001600160a01b0381161561148857604051633ad5cbc160e11b81526001600160a01b038216906375ab978290613878908a908a908a908a908a908a90600401614d33565b600060405180830381600087803b15801561389257600080fd5b505af11580156138a6573d6000803e3d6000fd5b5050505050505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b6024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015613934573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139589190614a9d565b90506001600160a01b038116156139d4576040516223de2960e01b81526001600160a01b038216906223de299061399d908b908b908b908b908b908b90600401614d33565b600060405180830381600087803b1580156139b757600080fd5b505af11580156139cb573d6000803e3d6000fd5b505050506117f9565b81156117f9576001600160a01b0386163b156117f95760405163fe737d0560e01b815260040160405180910390fd5b6000613a8b837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a67573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096f9190614920565b50509050613a98826129c0565b811215613ab85760405163043b37d160e21b815260040160405180910390fd5b613ac1826129c0565b6001600160a01b038416600090815260026020526040902054613ae491906148cd565b6001600160a01b038416600090815260026020526040902055600354613b0b908390614a46565b600355505050565b613b1c816129c0565b6001600160a01b038316600090815260026020526040902054613b3f91906148a5565b6001600160a01b038316600090815260026020526040902055600354613b669082906149e5565b6003555050565b6000613bc2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613d419092919063ffffffff16565b9050805160001480613be3575080806020019051810190613be39190614840565b6110bd5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401611406565b6000613ca6847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a67573d6000803e3d6000fd5b5050905081811215613ccb57604051632f4cb94160e01b815260040160405180910390fd5b6001600160a01b038416600090815260026020526040902054613cef9083906148cd565b6001600160a01b038086166000908152600260205260408082209390935590851681522054613d1f9083906148a5565b6001600160a01b03909316600090815260026020526040902092909255505050565b60606110d0848460008585600080866001600160a01b03168587604051613d689190614d8d565b60006040518083038185875af1925050503d8060008114613da5576040519150601f19603f3d011682016040523d82523d6000602084013e613daa565b606091505b5091509150613dbb87838387613dc6565b979650505050505050565b60608315613e35578251600003613e2e576001600160a01b0385163b613e2e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611406565b50816110d0565b6110d08383815115613e4a5781518083602001fd5b8060405162461bcd60e51b81526004016114069190613f00565b602080825282518282018190526000918401906040840190835b81811015613ea55783516001600160a01b0316835260209384019390920191600101613e7e565b509095945050505050565b60005b83811015613ecb578181015183820152602001613eb3565b50506000910152565b60008151808452613eec816020860160208601613eb0565b601f01601f19169290920160200192915050565b60208152600061189f6020830184613ed4565b6001600160a01b0381168114610bd357600080fd5b60008083601f840112613f3a57600080fd5b5081356001600160401b03811115613f5157600080fd5b6020830191508360208260051b8501011115613f6c57600080fd5b9250929050565b60008060008060608587031215613f8957600080fd5b8435613f9481613f13565b93506020850135925060408501356001600160401b03811115613fb657600080fd5b613fc287828801613f28565b95989497509550505050565b60008060408385031215613fe157600080fd5b8235613fec81613f13565b946020939093013593505050565b60006020828403121561400c57600080fd5b5035919050565b60008060006040848603121561402857600080fd5b8335925060208401356001600160401b0381111561404557600080fd5b61405186828701613f28565b9497909650939450505050565b6000806000806080858703121561407457600080fd5b843561407f81613f13565b9350602085013561408f81613f13565b9250604085013561409f81613f13565b9396929550929360600135925050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156140ed576140ed6140af565b604052919050565b600082601f83011261410657600080fd5b81356001600160401b0381111561411f5761411f6140af565b614132601f8201601f19166020016140c5565b81815284602083860101111561414757600080fd5b816020850160208301376000918101602001919091529392505050565b8015158114610bd357600080fd5b600080600080600080600060e0888a03121561418d57600080fd5b8735965060208801356001600160401b038111156141aa57600080fd5b6141b68a828b016140f5565b96505060408801356141c781613f13565b945060608801356141d781614164565b935060808801356141e781613f13565b9699959850939692959460a0840135945060c09093013592915050565b60008060006060848603121561421957600080fd5b833561422481613f13565b9250602084013561423481613f13565b929592945050506040919091013590565b6000806040838503121561425857600080fd5b50508035926020909101359150565b60006020828403121561427957600080fd5b813561189f81613f13565b803560ff8116811461429557600080fd5b919050565b60008083601f8401126142ac57600080fd5b5081356001600160401b038111156142c357600080fd5b602083019150836020828501011115613f6c57600080fd5b600080600080600080608087890312156142f457600080fd5b86356142ff81613f13565b955061430d60208801614284565b945060408701356001600160401b0381111561432857600080fd5b61433489828a0161429a565b90955093505060608701356001600160401b0381111561435357600080fd5b61435f89828a0161429a565b979a9699509497509295939492505050565b6000806000806080858703121561438757600080fd5b843561439281613f13565b935060208501356143a281613f13565b93969395505050506040820135916060013590565b602080825282518282018190526000918401906040840190835b81811015613ea55783518352602093840193909201916001016143d1565b6000806000806060858703121561440557600080fd5b843561441081613f13565b93506020850135925060408501356001600160401b0381111561443257600080fd5b613fc28782880161429a565b600080600080600080600060a0888a03121561445957600080fd5b873561446481613f13565b9650602088013561447481613f13565b95506040880135945060608801356001600160401b0381111561449657600080fd5b6144a28a828b0161429a565b90955093505060808801356001600160401b038111156144c157600080fd5b6144cd8a828b0161429a565b989b979a50959850939692959293505050565b6000806000606084860312156144f557600080fd5b833561450081613f13565b95602085013595506040909401359392505050565b60008060006060848603121561452a57600080fd5b833561453581613f13565b92506020840135915060408401356001600160401b0381111561455757600080fd5b614563868287016140f5565b9150509250925092565b6000806000806080858703121561458357600080fd5b843561458e81613f13565b9350602085013561459e81613f13565b92506040850135915060608501356001600160401b038111156145c057600080fd5b6145cc878288016140f5565b91505092959194509250565b600080604083850312156145eb57600080fd5b82356145f681613f13565b9150602083013561460681613f13565b809150509250929050565b600080600080600080600060a0888a03121561462c57600080fd5b873561463781613f13565b965061464560208901614284565b955060408801356001600160401b0381111561466057600080fd5b61466c8a828b0161429a565b90965094505060608801356001600160401b0381111561468b57600080fd5b6146978a828b0161429a565b90945092505060808801356146ab81613f13565b8091505092959891949750929550565b600080600080600080608087890312156146d457600080fd5b86356146df81613f13565b95506020870135945060408701356001600160401b0381111561432857600080fd5b60008060006040848603121561471657600080fd5b8335925060208401356001600160401b0381111561473357600080fd5b6140518682870161429a565b600181811c9082168061475357607f821691505b60208210810361477357634e487b7160e01b600052602260045260246000fd5b50919050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b838152604060208201819052810182905260006001600160fb1b0383111561482657600080fd5b8260051b8085606085013791909101606001949350505050565b60006020828403121561485257600080fd5b815161189f81614164565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b82016148885761488861485d565b5060000390565b634e487b7160e01b600052600160045260246000fd5b80820182811260008312801582168215821617156148c5576148c561485d565b505092915050565b81810360008312801583831316838312821617156130385761303861485d565b85815260018060a01b038516602082015283604082015282606082015260a060808201526000613dbb60a0830184613ed4565b60006020828403121561493257600080fd5b5051919050565b60006020828403121561494b57600080fd5b81516001600160401b0381111561496157600080fd5b8201601f8101841361497257600080fd5b80516001600160401b0381111561498b5761498b6140af565b8060051b61499b602082016140c5565b918252602081840181019290810190878411156149b757600080fd5b6020850194505b83851015613dbb57845192506149d383613f13565b828252602094850194909101906149be565b80820180821115610ba157610ba161485d565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b81810381811115610ba157610ba161485d565b634e487b7160e01b600052603260045260246000fd5b600080600060608486031215614a8457600080fd5b5050815160208301516040909301519094929350919050565b600060208284031215614aaf57600080fd5b815161189f81613f13565b60ff8281168282160390811115610ba157610ba161485d565b6001815b6001841115614b0e57808504811115614af257614af261485d565b6001841615614b0057908102905b60019390931c928002614ad7565b935093915050565b600082614b2557506001610ba1565b81614b3257506000610ba1565b8160018114614b485760028114614b5257614b6e565b6001915050610ba1565b60ff841115614b6357614b6361485d565b50506001821b610ba1565b5060208310610133831016604e8410600b8410161715614b91575081810a610ba1565b614b9e6000198484614ad3565b8060001904821115614bb257614bb261485d565b029392505050565b600061189f60ff841683614b16565b600082614be657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610ba157610ba161485d565b601f8211156110bd57806000526020600020601f840160051c81016020851015614c295750805b601f840160051c820191505b81811015610d0e5760008155600101614c35565b6001600160401b03831115614c6057614c606140af565b614c7483614c6e835461473f565b83614c02565b6000601f841160018114614ca85760008515614c905750838201355b600019600387901b1c1916600186901b178355610d0e565b600083815260209020601f19861690835b82811015614cd95786850135825560209485019460019092019101614cb9565b5086821015614cf65760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b838152606060208201526000614d216060830185613ed4565b82810360408401526116768185613ed4565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c060808201819052600090614d6e90830185613ed4565b82810360a0840152614d808185613ed4565b9998505050505050505050565b60008251614d9f818460208701613eb0565b919091019291505056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035375706572546f6b656e3a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5375706572546f6b656e3a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220906ca56c2b1f3eeb85118dee6e604b257dbbe90a9d7f333a037d4f23d54fc64c64736f6c634300081a0033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "contract ISuperfluid";
@@ -2133,7 +2133,7 @@ const _abi = [
2133
2133
  type: "function",
2134
2134
  },
2135
2135
  ];
2136
- const _bytecode = "0x61012060405234801561001157600080fd5b506040516150aa3803806150aa833981016040819052610030916100e8565b6001600160a01b0380861660805280851660a05280841660c05280831661010081905290821660e05260405186918691869186918691907feb87fb34067547f3dc0b85096c3da73c99d4fbb08ff41212b8d7c0b5008b42e690600090a26040516001600160a01b038216907fc1050c54a299c837fe281a2623c29ec8e34b455daef48760b6a29f4b6cc9906090600090a25050505050505050505061015d565b6001600160a01b03811681146100e557600080fd5b50565b600080600080600060a0868803121561010057600080fd5b855161010b816100d0565b602087015190955061011c816100d0565b604087015190945061012d816100d0565b606087015190935061013e816100d0565b608087015190925061014f816100d0565b809150509295509295909350565b60805160a05160c05160e05161010051614e76610234600039600061085b015260006109df0152600061069e015260006109b801526000818161050001528181610cbb01528181610d2a0152818161104a015281816110da0152818161120a015281816112d9015281816114f001528181611546015281816115bb01528181611703015281816118ae0152818161198d01528181611d7e01528181611e4801528181611ee001528181611f4801528181611fd0015281816128800152818161291701528181613a0b0152613c4a0152614e766000f3fe608060405234801561001057600080fd5b506004361061041d5760003560e01c80636e9960c31161022b578063bb0d196e11610130578063eb3537cc116100b8578063f5a8b4dd11610087578063f5a8b4dd146109da578063f99a38c414610468578063fad8b32a14610a01578063fc673c4f14610a14578063fe9d930314610a2757600080fd5b8063eb3537cc14610961578063ec0d63431461098f578063ee719bc8146109a2578063ef43d2c6146109b357600080fd5b8063ca789464116100ff578063ca789464146108dc578063cf97256d146108ef578063d95b637114610902578063d9d078d614610915578063dd62ed3e1461092857600080fd5b8063bb0d196e14610890578063c68d4283146108a3578063c780fd82146108b6578063ca0c1e7f146108c957600080fd5b80639903ad38116101b3578063a3a7e7f311610182578063a3a7e7f31461081d578063a457c2d714610830578063a9059cbb14610843578063b20db1ac14610856578063b84cdd4a1461087d57600080fd5b80639903ad38146107dc5780639bd9bbc6146107e45780639d876741146107f7578063a1b2bf8b1461080a57600080fd5b806383ba2525116101fa57806383ba2525146107895780638f2839701461079c57806392081a47146107af578063959b8c3f146107c157806395d89b41146107d457600080fd5b80636e9960c3146107545780636fed61fc1461075c57806370a082311461076357806379359f6f1461077657600080fd5b8063386fa221116103315780634c5c0c85116102b95780635b9d09cc116102885780635b9d09cc146106f557806362aa52871461070857806362ad1b831461071b57806366a12fb61461072e5780636c2d9f2f1461074157600080fd5b80634c5c0c851461069957806350d75d25146106c057806352d1902d146106c8578063556f0dc7146106ee57600080fd5b806345977d031161030057806345977d031461062d578063469519541461064057806347ba7ad1146106535780634b2763b3146106665780634b61cc331461067957600080fd5b8063386fa221146105e157806339509351146105f457806341b706be1461060757806342fe09801461061a57600080fd5b80631863e809116103b4578063245887fc11610383578063245887fc1461054b578063270483971461055e578063282a050b146105715780632ec8eec714610599578063313ce567146105cc57600080fd5b80631863e809146104d85780631ae88ffc146104eb57806320bc4425146104fe57806323b872dd1461053857600080fd5b806311bcc81e116103f057806311bcc81e1461048d57806312a6a3f8146104a057806316d055d6146104b357806318160ddd146104c657600080fd5b806306e485381461042257806306fdde0314610440578063090c415e14610455578063095ea7b31461046a575b600080fd5b61042a610a3a565b6040516104379190613e64565b60405180910390f35b610448610a4b565b6040516104379190613f00565b610468610463366004613f73565b610add565b005b61047d610478366004613fce565b610b90565b6040519015158152602001610437565b61046861049b366004613ffa565b610ba7565b6104686104ae366004614013565b610bd6565b6104686104c136600461405e565b610cb9565b6003545b604051908152602001610437565b6104686104e6366004614172565b610d15565b6104686104f9366004614204565b611048565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610437565b61047d610546366004614204565b6110c2565b610468610559366004613fce565b6110d8565b61046861056c366004614245565b611151565b61058461057f366004613ffa565b6111ed565b60408051928352602083019190915201610437565b6105ac6105a7366004614267565b611202565b604080519485526020850193909352918301526060820152608001610437565b60125b60405160ff9091168152602001610437565b61042a6105ef366004614267565b6112a5565b61047d610602366004613fce565b611348565b61046861061536600461405e565b611384565b6104686106283660046142db565b6113b0565b61046861063b366004613ffa565b611491565b61046861064e366004614267565b6114bd565b610468610661366004614204565b611544565b610468610674366004614204565b6115b9565b61068c610687366004614371565b61163b565b60405161043791906143b7565b6105207f000000000000000000000000000000000000000000000000000000000000000081565b610520611680565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb00196104ca565b60016104ca565b6104686107033660046143ef565b6116aa565b610468610716366004614204565b611701565b61046861072936600461443e565b611755565b61046861073c366004614204565b611803565b61068c61074f3660046144e0565b611823565b610520611865565b601f6104ca565b6104ca610771366004614267565b61187d565b61047d610784366004614267565b6118a6565b610468610797366004613fce565b61192e565b6104686107aa366004614267565b61195a565b600e54600160a01b900460ff166105cf565b6104686107cf366004614267565b611a4e565b610448611a9f565b610468611aae565b6104686107f23660046143ef565b611b70565b610468610805366004614515565b611bc4565b610468610818366004614013565b611c0a565b61046861082b366004614267565b611cb4565b61047d61083e366004613fce565b611cc8565b61047d610851366004613fce565b611d17565b6105207f000000000000000000000000000000000000000000000000000000000000000081565b61047d61088b366004613fce565b611d25565b61047d61089e366004614267565b611d76565b6104686108b1366004614515565b611dfe565b6104686108c4366004614204565b611e46565b6104686108d736600461456d565b611ede565b6104686108ea366004613fce565b611f46565b6104686108fd366004613fce565b611fbb565b61047d6109103660046145d8565b6120a4565b61047d610923366004613fce565b6120b2565b6104ca6109363660046145d8565b6001600160a01b03918216600090815260116020908152604080832093909416825291909152205490565b61097461096f366004613fce565b6120cc565b60408051938452602084019290925290820152606001610437565b61046861099d366004614611565b612200565b600e546001600160a01b0316610520565b6105207f000000000000000000000000000000000000000000000000000000000000000081565b6105207f000000000000000000000000000000000000000000000000000000000000000081565b610468610a0f366004614267565b6122d7565b610468610a223660046146bb565b612328565b610468610a35366004614701565b6123c9565b6060610a46601261241a565b905090565b6060600f8054610a5a9061473f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a869061473f565b8015610ad35780601f10610aa857610100808354040283529160200191610ad3565b820191906000526020600020905b815481529060010190602001808311610ab657829003601f168201915b5050505050905090565b6000338585604051602001610af493929190614779565b604051602081830303815290604052805190602001209050610b498184848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061248092505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b6000610b9d3384846124b8565b5060015b92915050565b610bd3333333846040518060200160405280600081525060405180602001604052806000815250612567565b50565b6040513390600090610bee90839087906020016147c2565b60408051601f1981840301815291905280516020909101209050610c128184612727565b15610c305760405163782a90fb60e11b815260040160405180910390fd5b610c6d8185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061248092505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d868686604051610caa939291906147ff565b60405180910390a25050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610d025760405163c51efddd60e01b815260040160405180910390fd5b610d0e8484848461275b565b5050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610d79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9d9190614840565b610dba5760405163327fd99160e21b815260040160405180910390fd5b6000610dc461287b565b90506001600160a01b038116610dd75750845b600085610de45786610de6565b815b905060008313610eb457610df983614873565b610e02856129c0565b14610e0f57610e0f61488f565b610e18846129c0565b6001600160a01b03821660009081526002602052604081208054909190610e409084906148a5565b90915550506001600160a01b03851660009081526002602052604081208054859290610e6d9084906148a5565b92505081905550806001600160a01b0316856001600160a01b0316600080516020614df483398151915286604051610ea791815260200190565b60405180910390a3610fe0565b8515610ec257610ec261488f565b82610ecc856129c0565b610ed691906148a5565b6001600160a01b03831660009081526002602052604081208054909190610efe9084906148cd565b90915550610f0d9050846129c0565b6001600160a01b03881660009081526002602052604081208054909190610f359084906148a5565b90915550506001600160a01b03851660009081526002602052604081208054859290610f629084906148a5565b92505081905550866001600160a01b0316826001600160a01b0316600080516020614df483398151915286604051610f9c91815260200190565b60405180910390a3846001600160a01b0316826001600160a01b0316600080516020614df483398151915285604051610fd791815260200190565b60405180910390a35b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f6040516110359594939291906148ed565b60405180910390a4505050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146110915760405163c51efddd60e01b815260040160405180910390fd5b6110bd338484846040518060200160405280600081525060405180602001604052806000815250612a2e565b505050565b60006110d03385858561275b565b949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146111215760405163c51efddd60e01b815260040160405180910390fd5b61114d338384846040518060200160405280600081525060405180602001604052806000815250612567565b5050565b604051339060009061116990839086906020016147c2565b60405160208183030381529060405280519060200120905061118b8184612727565b6111a85760405163dae1880960e01b815260040160405180910390fd5b6111b28184612be1565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b9060200160405180910390a250505050565b6000806111f983612bfa565b91509150915091565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128a9190614920565b905061129685826120cc565b91979096509094509092509050565b6001600160a01b038181166000908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d90602401600060405180830381865afa158015611320573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ba19190810190614939565b3360008181526011602090815260408083206001600160a01b03871684529091528120549091610b9d91859061137f9086906149e5565b6124b8565b3330146113a457604051630fff4cc960e31b815260040160405180910390fd5b610d0e8385848461275b565b600054610100900460ff16158080156113d05750600054600160ff909116105b806113ea5750303b1580156113ea575060005460ff166001145b61140f5760405162461bcd60e51b8152600401611406906149f8565b60405180910390fd5b6000805460ff191660011790558015611432576000805461ff0019166101001790555b6114428787878787876000612cb6565b8015611488576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b610bd3333333846040518060200160405280600081525060405180602001604052806000815250612a2e565b60006114d5600080516020614daa8339815191525490565b905060006001600160a01b038216156114ee5781611510565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b0382161461153b57604051630484acab60e01b815260040160405180910390fd5b6110bd83612d7e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461158d5760405163c51efddd60e01b815260040160405180910390fd5b6110bd338484846040518060200160405280600081525060405180602001604052806000815250612567565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146116025760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b038084166000908152601160209081526040808320938616835292905220546110bd908490849061137f9085906149e5565b6060600085858560405160200161165493929190614779565b6040516020818303038152906040528051906020012090506116768184612fb8565b9695505050505050565b6000610a467f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6116fb3333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612a2e915050565b50505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461174a5760405163c51efddd60e01b815260040160405180910390fd5b6110bd8383836124b8565b336117626012828a61303f565b61177f5760405163f7f0222760e01b815260040160405180910390fd5b6117f98189898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a9081908401838280828437600092019190915250600192506130e8915050565b5050505050505050565b33301461174a57604051630fff4cc960e31b815260040160405180910390fd5b60606000848460405160200161183a9291906147c2565b60405160208183030381529060405280519060200120905061185c8184612fb8565b95945050505050565b6000610a46600080516020614daa8339815191525490565b60008061188983611202565b50505090506000811261189c578061189f565b60005b9392505050565b6000610ba1827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561190a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109239190614920565b61114d333384846040518060200160405280600081525060405180602001604052806000815250612567565b6000611972600080516020614daa8339815191525490565b905060006001600160a01b0382161561198b57816119ad565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146119d857604051630484acab60e01b815260040160405180910390fd5b60006119f0600080516020614daa8339815191525490565b9050611a0884600080516020614daa83398151915255565b836001600160a01b0316816001600160a01b03167f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f60405160405180910390a350505050565b33611a5b60128284613161565b806001600160a01b0316826001600160a01b03167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a35050565b606060108054610a5a9061473f565b600054610100900460ff1615808015611ace5750600054600160ff909116105b80611ae85750303b158015611ae8575060005460ff166001145b611b045760405162461bcd60e51b8152600401611406906149f8565b6000805460ff191660011790558015611b27576000805461ff0019166101001790555b8015610bd3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6116fb3333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250600191506130e89050565b333014611be457604051630fff4cc960e31b815260040160405180910390fd5b80516040805160008152602081019091526110bd91339186918691901515908690613265565b6040513390600090611c2290839087906020016147c2565b604051602081830303815290604052805190602001209050611c778185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061248092505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca868686604051610caa939291906147ff565b61114d333383611cc33361187d565b61275b565b6000610b9d338461137f856040518060600160405280602a8152602001614dca602a91393360009081526011602090815260408083206001600160a01b038d1684529091529020549190613332565b600061189f3333858561275b565b600080600080611d3586866120cc565b9250925092506000611d5d828411611d4e5760006129c0565b611d588385614a46565b6129c0565b611d6790856148a5565b60001315979650505050505050565b6000610ba1827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dda573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088b9190614920565b333014611e1e57604051630fff4cc960e31b815260040160405180910390fd5b80516040805160008152602081019091526110bd91339186918691901515908190879061335e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611e8f5760405163c51efddd60e01b815260040160405180910390fd5b6110bd838361137f846040518060600160405280602a8152602001614dca602a91396001600160a01b03808a166000908152601160209081526040808320938c16835292905220549190613332565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611f275760405163c51efddd60e01b815260040160405180910390fd5b6116fb33858585856040518060200160405280600081525060016130e8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611f8f5760405163c51efddd60e01b815260040160405180910390fd5b61114d338384846040518060200160405280600081525060405180602001604052806000815250612a2e565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa15801561201f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120439190614840565b6120605760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b0382166000908152600260205260409020546120849082906148a5565b6001600160a01b0390921660009081526002602052604090209190915550565b600061189f6012848461303f565b6000806120bf84846120cc565b5050600013949350505050565b6001600160a01b0382166000908152600260205260408120549080806120f1866112a5565b905060005b81518110156121f757600080600084848151811061211657612116614a59565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa158015612175573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121999190614a6f565b919450925090506121aa82886149e5565b96506121b681876149e5565b95506121d38183116121c95760006129c0565b611d588284614a46565b6121dd848a6148a5565b6121e791906148cd565b97505050508060010190506120f6565b50509250925092565b600054610100900460ff16158080156122205750600054600160ff909116105b8061223a5750303b15801561223a575060005460ff166001145b6122565760405162461bcd60e51b8152600401611406906149f8565b6000805460ff191660011790558015612279576000805461ff0019166101001790555b61228888888888888888612cb6565b80156117f9576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050565b336122e46012828461342c565b806001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a35050565b336123356012828961303f565b6123525760405163f7f0222760e01b815260040160405180910390fd5b6114888188898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a908190840183828082843760009201919091525061256792505050565b6110bd3333338686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612567915050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561247457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612456575b50505050509050919050565b60005b81518110156110bd5760008282815181106124a0576124a0614a59565b60209081029190910101518483015550600101612483565b6001600160a01b0383166124df57604051638163862760e01b815260040160405180910390fd5b6001600160a01b038216612506576040516337c1c09d60e21b815260040160405180910390fd5b6001600160a01b0383811660008181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600e546001600160a01b031661259057604051637bce7b2b60e11b815260040160405180910390fd5b60008061259c85612bfa565b915091506125b38888838751600014158888613265565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156125fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126209190614920565b600e5490915061263a906001600160a01b03168885613524565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612683573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126a79190614920565b905060006126b58284614a46565b90508085146126d757604051631c7c26d360e31b815260040160405180910390fd5b896001600160a01b03167f3bc27981aebbb57f9247dc00fde9d6cd91e4b230083fec3238fedbcba1f9ab3d8560405161271291815260200190565b60405180910390a25050505050505050505050565b6000805b828110156127515783810154801561274857600192505050610ba1565b5060010161272b565b5060009392505050565b60006001600160a01b0384166127845760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0383166127ab5760405163e219bd3960e01b815260040160405180910390fd5b60003390506127dc818686866040518060200160405280600081525060405180602001604052806000815250613587565b846001600160a01b0316866001600160a01b03161461286f5761286f858761137f866040518060600160405280602d8152602001614e14602d9139601160008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b03168152602001908152602001600020546133329092919063ffffffff16565b50600195945050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129009190614a9d565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa158015612996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ba9190614a9d565b91505090565b60006001600160ff1b03821115612a2a5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608401611406565b5090565b600e546001600160a01b0316612a5757604051637bce7b2b60e11b815260040160405180910390fd5b600080612a6385612bfa565b600e546040516370a0823160e01b81523060048201529294509092506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015612ab4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ad89190614920565b600e54909150612af3906001600160a01b0316893086613626565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b609190614920565b90506000612b6e8383614a46565b9050808514612b9057604051631c7c26d360e31b815260040160405180910390fd5b8651612ba6908c908b9087901515808c8c61335e565b886001600160a01b03167f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df8560405161271291815260200190565b60005b818110156110bd57600083820155600101612be4565b600e54600090819081906012600160a01b90910460ff161015612c5957600e54612c2f90600160a01b900460ff166012614aba565b612c3a90600a614bba565b9050612c468185614bc9565b9250612c528184614beb565b9150612cb0565b600e546012600160a01b90910460ff161115612ca957600e54612c8890601290600160a01b900460ff16614aba565b612c9390600a614bba565b9050612c9f8185614beb565b9250839150612cb0565b8391508192505b50915091565b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f612ceb858783614c49565b506010612cf9838583614c49565b50612d1081600080516020614daa83398151915255565b612d193061365e565b6040516000808252908190600080516020614df48339815191529060200160405180910390a36040516001600160a01b038216906000907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f908290a350505050505050565b6000612da87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603612dfe5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611406565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e609190614920565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb001914612eda5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611406565b6001600160a01b0381163003612f325760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611406565b612f5a817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019604080519182526001600160a01b038416602083015201611b65565b6060816001600160401b03811115612fd257612fd26140af565b604051908082528060200260200182016040528015612ffb578160200160208202803683370190505b50905060005b828110156130385760008185015490508083838151811061302457613024614a59565b602090810291909101015250600101613001565b5092915050565b6000816001600160a01b0316836001600160a01b031614806130ae57506001600160a01b038316600090815260018501602052604090205460ff1680156130ae57506001600160a01b03808316600090815260038601602090815260408083209387168352929052205460ff16155b806110d057506001600160a01b03808316600090815260028601602090815260408083209387168352929052205460ff1690509392505050565b6001600160a01b03861661310f5760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0385166131365760405163e219bd3960e01b815260040160405180910390fd5b61314487878787878761378c565b613152878787878787613587565b611488878787878787876138b3565b806001600160a01b0316826001600160a01b0316036131d85760405162461bcd60e51b815260206004820152602d60248201527f4552433737374f70657261746f72733a20617574686f72697a696e672073656c60448201526c331030b99037b832b930ba37b960991b6064820152608401611406565b6001600160a01b038116600090815260018401602052604090205460ff161561322e576001600160a01b03918216600090815260039390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b0380831660009081526002850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03851661328c57604051632e8aac6160e21b815260040160405180910390fd5b82156132a1576132a18686600087868661378c565b6132ab8585613a03565b846001600160a01b0316866001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a40988685856040516132f293929190614d08565b60405180910390a36040518481526000906001600160a01b03871690600080516020614df4833981519152906020015b60405180910390a3505050505050565b600081848411156133565760405162461bcd60e51b81526004016114069190613f00565b505050900390565b6001600160a01b03861661338557604051630d24315760e01b815260040160405180910390fd5b61338f8686613b13565b83156133a5576133a587600088888686896138b3565b856001600160a01b0316876001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d8785856040516133ec93929190614d08565b60405180910390a36040518581526001600160a01b03871690600090600080516020614df48339815191529060200160405180910390a350505050505050565b336001600160a01b038216036134975760405162461bcd60e51b815260206004820152602a60248201527f4552433737374f70657261746f72733a207265766f6b696e672073656c662061604482015269399037b832b930ba37b960b11b6064820152608401611406565b6001600160a01b038116600090815260018401602052604090205460ff16156134f1576001600160a01b0380831660009081526003850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03918216600090815260029390930160209081526040808520929093168452529020805460ff19169055565b6040516001600160a01b0383166024820152604481018290526110bd90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613b6d565b61359a8585613595866129c0565b613c42565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc826146779878686866040516135eb93929190614d08565b60405180910390a4836001600160a01b0316856001600160a01b0316600080516020614df48339815191528560405161332291815260200190565b6040516001600160a01b03808516602483015283166044820152606481018290526116fb9085906323b872dd60e01b90608401613550565b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b1580156136df57600080fd5b505af11580156136f3573d6000803e3d6000fd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b15801561377857600080fd5b505af1158015610d0e573d6000803e3d6000fd5b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe8956024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa15801561380d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138319190614a9d565b90506001600160a01b0381161561148857604051633ad5cbc160e11b81526001600160a01b038216906375ab978290613878908a908a908a908a908a908a90600401614d33565b600060405180830381600087803b15801561389257600080fd5b505af11580156138a6573d6000803e3d6000fd5b5050505050505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b6024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015613934573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139589190614a9d565b90506001600160a01b038116156139d4576040516223de2960e01b81526001600160a01b038216906223de299061399d908b908b908b908b908b908b90600401614d33565b600060405180830381600087803b1580156139b757600080fd5b505af11580156139cb573d6000803e3d6000fd5b505050506117f9565b81156117f9576001600160a01b0386163b156117f95760405163fe737d0560e01b815260040160405180910390fd5b6000613a8b837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a67573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096f9190614920565b50509050613a98826129c0565b811215613ab85760405163043b37d160e21b815260040160405180910390fd5b613ac1826129c0565b6001600160a01b038416600090815260026020526040902054613ae491906148cd565b6001600160a01b038416600090815260026020526040902055600354613b0b908390614a46565b600355505050565b613b1c816129c0565b6001600160a01b038316600090815260026020526040902054613b3f91906148a5565b6001600160a01b038316600090815260026020526040902055600354613b669082906149e5565b6003555050565b6000613bc2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613d419092919063ffffffff16565b9050805160001480613be3575080806020019051810190613be39190614840565b6110bd5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401611406565b6000613ca6847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a67573d6000803e3d6000fd5b5050905081811215613ccb57604051632f4cb94160e01b815260040160405180910390fd5b6001600160a01b038416600090815260026020526040902054613cef9083906148cd565b6001600160a01b038086166000908152600260205260408082209390935590851681522054613d1f9083906148a5565b6001600160a01b03909316600090815260026020526040902092909255505050565b60606110d0848460008585600080866001600160a01b03168587604051613d689190614d8d565b60006040518083038185875af1925050503d8060008114613da5576040519150601f19603f3d011682016040523d82523d6000602084013e613daa565b606091505b5091509150613dbb87838387613dc6565b979650505050505050565b60608315613e35578251600003613e2e576001600160a01b0385163b613e2e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611406565b50816110d0565b6110d08383815115613e4a5781518083602001fd5b8060405162461bcd60e51b81526004016114069190613f00565b602080825282518282018190526000918401906040840190835b81811015613ea55783516001600160a01b0316835260209384019390920191600101613e7e565b509095945050505050565b60005b83811015613ecb578181015183820152602001613eb3565b50506000910152565b60008151808452613eec816020860160208601613eb0565b601f01601f19169290920160200192915050565b60208152600061189f6020830184613ed4565b6001600160a01b0381168114610bd357600080fd5b60008083601f840112613f3a57600080fd5b5081356001600160401b03811115613f5157600080fd5b6020830191508360208260051b8501011115613f6c57600080fd5b9250929050565b60008060008060608587031215613f8957600080fd5b8435613f9481613f13565b93506020850135925060408501356001600160401b03811115613fb657600080fd5b613fc287828801613f28565b95989497509550505050565b60008060408385031215613fe157600080fd5b8235613fec81613f13565b946020939093013593505050565b60006020828403121561400c57600080fd5b5035919050565b60008060006040848603121561402857600080fd5b8335925060208401356001600160401b0381111561404557600080fd5b61405186828701613f28565b9497909650939450505050565b6000806000806080858703121561407457600080fd5b843561407f81613f13565b9350602085013561408f81613f13565b9250604085013561409f81613f13565b9396929550929360600135925050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156140ed576140ed6140af565b604052919050565b600082601f83011261410657600080fd5b81356001600160401b0381111561411f5761411f6140af565b614132601f8201601f19166020016140c5565b81815284602083860101111561414757600080fd5b816020850160208301376000918101602001919091529392505050565b8015158114610bd357600080fd5b600080600080600080600060e0888a03121561418d57600080fd5b8735965060208801356001600160401b038111156141aa57600080fd5b6141b68a828b016140f5565b96505060408801356141c781613f13565b945060608801356141d781614164565b935060808801356141e781613f13565b9699959850939692959460a0840135945060c09093013592915050565b60008060006060848603121561421957600080fd5b833561422481613f13565b9250602084013561423481613f13565b929592945050506040919091013590565b6000806040838503121561425857600080fd5b50508035926020909101359150565b60006020828403121561427957600080fd5b813561189f81613f13565b803560ff8116811461429557600080fd5b919050565b60008083601f8401126142ac57600080fd5b5081356001600160401b038111156142c357600080fd5b602083019150836020828501011115613f6c57600080fd5b600080600080600080608087890312156142f457600080fd5b86356142ff81613f13565b955061430d60208801614284565b945060408701356001600160401b0381111561432857600080fd5b61433489828a0161429a565b90955093505060608701356001600160401b0381111561435357600080fd5b61435f89828a0161429a565b979a9699509497509295939492505050565b6000806000806080858703121561438757600080fd5b843561439281613f13565b935060208501356143a281613f13565b93969395505050506040820135916060013590565b602080825282518282018190526000918401906040840190835b81811015613ea55783518352602093840193909201916001016143d1565b6000806000806060858703121561440557600080fd5b843561441081613f13565b93506020850135925060408501356001600160401b0381111561443257600080fd5b613fc28782880161429a565b600080600080600080600060a0888a03121561445957600080fd5b873561446481613f13565b9650602088013561447481613f13565b95506040880135945060608801356001600160401b0381111561449657600080fd5b6144a28a828b0161429a565b90955093505060808801356001600160401b038111156144c157600080fd5b6144cd8a828b0161429a565b989b979a50959850939692959293505050565b6000806000606084860312156144f557600080fd5b833561450081613f13565b95602085013595506040909401359392505050565b60008060006060848603121561452a57600080fd5b833561453581613f13565b92506020840135915060408401356001600160401b0381111561455757600080fd5b614563868287016140f5565b9150509250925092565b6000806000806080858703121561458357600080fd5b843561458e81613f13565b9350602085013561459e81613f13565b92506040850135915060608501356001600160401b038111156145c057600080fd5b6145cc878288016140f5565b91505092959194509250565b600080604083850312156145eb57600080fd5b82356145f681613f13565b9150602083013561460681613f13565b809150509250929050565b600080600080600080600060a0888a03121561462c57600080fd5b873561463781613f13565b965061464560208901614284565b955060408801356001600160401b0381111561466057600080fd5b61466c8a828b0161429a565b90965094505060608801356001600160401b0381111561468b57600080fd5b6146978a828b0161429a565b90945092505060808801356146ab81613f13565b8091505092959891949750929550565b600080600080600080608087890312156146d457600080fd5b86356146df81613f13565b95506020870135945060408701356001600160401b0381111561432857600080fd5b60008060006040848603121561471657600080fd5b8335925060208401356001600160401b0381111561473357600080fd5b6140518682870161429a565b600181811c9082168061475357607f821691505b60208210810361477357634e487b7160e01b600052602260045260246000fd5b50919050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b838152604060208201819052810182905260006001600160fb1b0383111561482657600080fd5b8260051b8085606085013791909101606001949350505050565b60006020828403121561485257600080fd5b815161189f81614164565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b82016148885761488861485d565b5060000390565b634e487b7160e01b600052600160045260246000fd5b80820182811260008312801582168215821617156148c5576148c561485d565b505092915050565b81810360008312801583831316838312821617156130385761303861485d565b85815260018060a01b038516602082015283604082015282606082015260a060808201526000613dbb60a0830184613ed4565b60006020828403121561493257600080fd5b5051919050565b60006020828403121561494b57600080fd5b81516001600160401b0381111561496157600080fd5b8201601f8101841361497257600080fd5b80516001600160401b0381111561498b5761498b6140af565b8060051b61499b602082016140c5565b918252602081840181019290810190878411156149b757600080fd5b6020850194505b83851015613dbb57845192506149d383613f13565b828252602094850194909101906149be565b80820180821115610ba157610ba161485d565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b81810381811115610ba157610ba161485d565b634e487b7160e01b600052603260045260246000fd5b600080600060608486031215614a8457600080fd5b5050815160208301516040909301519094929350919050565b600060208284031215614aaf57600080fd5b815161189f81613f13565b60ff8281168282160390811115610ba157610ba161485d565b6001815b6001841115614b0e57808504811115614af257614af261485d565b6001841615614b0057908102905b60019390931c928002614ad7565b935093915050565b600082614b2557506001610ba1565b81614b3257506000610ba1565b8160018114614b485760028114614b5257614b6e565b6001915050610ba1565b60ff841115614b6357614b6361485d565b50506001821b610ba1565b5060208310610133831016604e8410600b8410161715614b91575081810a610ba1565b614b9e6000198484614ad3565b8060001904821115614bb257614bb261485d565b029392505050565b600061189f60ff841683614b16565b600082614be657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610ba157610ba161485d565b601f8211156110bd57806000526020600020601f840160051c81016020851015614c295750805b601f840160051c820191505b81811015610d0e5760008155600101614c35565b6001600160401b03831115614c6057614c606140af565b614c7483614c6e835461473f565b83614c02565b6000601f841160018114614ca85760008515614c905750838201355b600019600387901b1c1916600186901b178355610d0e565b600083815260209020601f19861690835b82811015614cd95786850135825560209485019460019092019101614cb9565b5086821015614cf65760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b838152606060208201526000614d216060830185613ed4565b82810360408401526116768185613ed4565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c060808201819052600090614d6e90830185613ed4565b82810360a0840152614d808185613ed4565b9998505050505050505050565b60008251614d9f818460208701613eb0565b919091019291505056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035375706572546f6b656e3a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5375706572546f6b656e3a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208742997d295df1a07c5e4ae1b5133ef174cce7973179342ec8e35ba74e04203d64736f6c634300081a0033";
2136
+ const _bytecode = "0x61012060405234801561001157600080fd5b506040516150aa3803806150aa833981016040819052610030916100e8565b6001600160a01b0380861660805280851660a05280841660c05280831661010081905290821660e05260405186918691869186918691907feb87fb34067547f3dc0b85096c3da73c99d4fbb08ff41212b8d7c0b5008b42e690600090a26040516001600160a01b038216907fc1050c54a299c837fe281a2623c29ec8e34b455daef48760b6a29f4b6cc9906090600090a25050505050505050505061015d565b6001600160a01b03811681146100e557600080fd5b50565b600080600080600060a0868803121561010057600080fd5b855161010b816100d0565b602087015190955061011c816100d0565b604087015190945061012d816100d0565b606087015190935061013e816100d0565b608087015190925061014f816100d0565b809150509295509295909350565b60805160a05160c05160e05161010051614e76610234600039600061085b015260006109df0152600061069e015260006109b801526000818161050001528181610cbb01528181610d2a0152818161104a015281816110da0152818161120a015281816112d9015281816114f001528181611546015281816115bb01528181611703015281816118ae0152818161198d01528181611d7e01528181611e4801528181611ee001528181611f4801528181611fd0015281816128800152818161291701528181613a0b0152613c4a0152614e766000f3fe608060405234801561001057600080fd5b506004361061041d5760003560e01c80636e9960c31161022b578063bb0d196e11610130578063eb3537cc116100b8578063f5a8b4dd11610087578063f5a8b4dd146109da578063f99a38c414610468578063fad8b32a14610a01578063fc673c4f14610a14578063fe9d930314610a2757600080fd5b8063eb3537cc14610961578063ec0d63431461098f578063ee719bc8146109a2578063ef43d2c6146109b357600080fd5b8063ca789464116100ff578063ca789464146108dc578063cf97256d146108ef578063d95b637114610902578063d9d078d614610915578063dd62ed3e1461092857600080fd5b8063bb0d196e14610890578063c68d4283146108a3578063c780fd82146108b6578063ca0c1e7f146108c957600080fd5b80639903ad38116101b3578063a3a7e7f311610182578063a3a7e7f31461081d578063a457c2d714610830578063a9059cbb14610843578063b20db1ac14610856578063b84cdd4a1461087d57600080fd5b80639903ad38146107dc5780639bd9bbc6146107e45780639d876741146107f7578063a1b2bf8b1461080a57600080fd5b806383ba2525116101fa57806383ba2525146107895780638f2839701461079c57806392081a47146107af578063959b8c3f146107c157806395d89b41146107d457600080fd5b80636e9960c3146107545780636fed61fc1461075c57806370a082311461076357806379359f6f1461077657600080fd5b8063386fa221116103315780634c5c0c85116102b95780635b9d09cc116102885780635b9d09cc146106f557806362aa52871461070857806362ad1b831461071b57806366a12fb61461072e5780636c2d9f2f1461074157600080fd5b80634c5c0c851461069957806350d75d25146106c057806352d1902d146106c8578063556f0dc7146106ee57600080fd5b806345977d031161030057806345977d031461062d578063469519541461064057806347ba7ad1146106535780634b2763b3146106665780634b61cc331461067957600080fd5b8063386fa221146105e157806339509351146105f457806341b706be1461060757806342fe09801461061a57600080fd5b80631863e809116103b4578063245887fc11610383578063245887fc1461054b578063270483971461055e578063282a050b146105715780632ec8eec714610599578063313ce567146105cc57600080fd5b80631863e809146104d85780631ae88ffc146104eb57806320bc4425146104fe57806323b872dd1461053857600080fd5b806311bcc81e116103f057806311bcc81e1461048d57806312a6a3f8146104a057806316d055d6146104b357806318160ddd146104c657600080fd5b806306e485381461042257806306fdde0314610440578063090c415e14610455578063095ea7b31461046a575b600080fd5b61042a610a3a565b6040516104379190613e64565b60405180910390f35b610448610a4b565b6040516104379190613f00565b610468610463366004613f73565b610add565b005b61047d610478366004613fce565b610b90565b6040519015158152602001610437565b61046861049b366004613ffa565b610ba7565b6104686104ae366004614013565b610bd6565b6104686104c136600461405e565b610cb9565b6003545b604051908152602001610437565b6104686104e6366004614172565b610d15565b6104686104f9366004614204565b611048565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610437565b61047d610546366004614204565b6110c2565b610468610559366004613fce565b6110d8565b61046861056c366004614245565b611151565b61058461057f366004613ffa565b6111ed565b60408051928352602083019190915201610437565b6105ac6105a7366004614267565b611202565b604080519485526020850193909352918301526060820152608001610437565b60125b60405160ff9091168152602001610437565b61042a6105ef366004614267565b6112a5565b61047d610602366004613fce565b611348565b61046861061536600461405e565b611384565b6104686106283660046142db565b6113b0565b61046861063b366004613ffa565b611491565b61046861064e366004614267565b6114bd565b610468610661366004614204565b611544565b610468610674366004614204565b6115b9565b61068c610687366004614371565b61163b565b60405161043791906143b7565b6105207f000000000000000000000000000000000000000000000000000000000000000081565b610520611680565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb00196104ca565b60016104ca565b6104686107033660046143ef565b6116aa565b610468610716366004614204565b611701565b61046861072936600461443e565b611755565b61046861073c366004614204565b611803565b61068c61074f3660046144e0565b611823565b610520611865565b601f6104ca565b6104ca610771366004614267565b61187d565b61047d610784366004614267565b6118a6565b610468610797366004613fce565b61192e565b6104686107aa366004614267565b61195a565b600e54600160a01b900460ff166105cf565b6104686107cf366004614267565b611a4e565b610448611a9f565b610468611aae565b6104686107f23660046143ef565b611b70565b610468610805366004614515565b611bc4565b610468610818366004614013565b611c0a565b61046861082b366004614267565b611cb4565b61047d61083e366004613fce565b611cc8565b61047d610851366004613fce565b611d17565b6105207f000000000000000000000000000000000000000000000000000000000000000081565b61047d61088b366004613fce565b611d25565b61047d61089e366004614267565b611d76565b6104686108b1366004614515565b611dfe565b6104686108c4366004614204565b611e46565b6104686108d736600461456d565b611ede565b6104686108ea366004613fce565b611f46565b6104686108fd366004613fce565b611fbb565b61047d6109103660046145d8565b6120a4565b61047d610923366004613fce565b6120b2565b6104ca6109363660046145d8565b6001600160a01b03918216600090815260116020908152604080832093909416825291909152205490565b61097461096f366004613fce565b6120cc565b60408051938452602084019290925290820152606001610437565b61046861099d366004614611565b612200565b600e546001600160a01b0316610520565b6105207f000000000000000000000000000000000000000000000000000000000000000081565b6105207f000000000000000000000000000000000000000000000000000000000000000081565b610468610a0f366004614267565b6122d7565b610468610a223660046146bb565b612328565b610468610a35366004614701565b6123c9565b6060610a46601261241a565b905090565b6060600f8054610a5a9061473f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a869061473f565b8015610ad35780601f10610aa857610100808354040283529160200191610ad3565b820191906000526020600020905b815481529060010190602001808311610ab657829003601f168201915b5050505050905090565b6000338585604051602001610af493929190614779565b604051602081830303815290604052805190602001209050610b498184848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061248092505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b6000610b9d3384846124b8565b5060015b92915050565b610bd3333333846040518060200160405280600081525060405180602001604052806000815250612567565b50565b6040513390600090610bee90839087906020016147c2565b60408051601f1981840301815291905280516020909101209050610c128184612727565b15610c305760405163782a90fb60e11b815260040160405180910390fd5b610c6d8185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061248092505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d868686604051610caa939291906147ff565b60405180910390a25050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610d025760405163c51efddd60e01b815260040160405180910390fd5b610d0e8484848461275b565b5050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610d79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9d9190614840565b610dba5760405163327fd99160e21b815260040160405180910390fd5b6000610dc461287b565b90506001600160a01b038116610dd75750845b600085610de45786610de6565b815b905060008313610eb457610df983614873565b610e02856129c0565b14610e0f57610e0f61488f565b610e18846129c0565b6001600160a01b03821660009081526002602052604081208054909190610e409084906148a5565b90915550506001600160a01b03851660009081526002602052604081208054859290610e6d9084906148a5565b92505081905550806001600160a01b0316856001600160a01b0316600080516020614df483398151915286604051610ea791815260200190565b60405180910390a3610fe0565b8515610ec257610ec261488f565b82610ecc856129c0565b610ed691906148a5565b6001600160a01b03831660009081526002602052604081208054909190610efe9084906148cd565b90915550610f0d9050846129c0565b6001600160a01b03881660009081526002602052604081208054909190610f359084906148a5565b90915550506001600160a01b03851660009081526002602052604081208054859290610f629084906148a5565b92505081905550866001600160a01b0316826001600160a01b0316600080516020614df483398151915286604051610f9c91815260200190565b60405180910390a3846001600160a01b0316826001600160a01b0316600080516020614df483398151915285604051610fd791815260200190565b60405180910390a35b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f6040516110359594939291906148ed565b60405180910390a4505050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146110915760405163c51efddd60e01b815260040160405180910390fd5b6110bd338484846040518060200160405280600081525060405180602001604052806000815250612a2e565b505050565b60006110d03385858561275b565b949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146111215760405163c51efddd60e01b815260040160405180910390fd5b61114d338384846040518060200160405280600081525060405180602001604052806000815250612567565b5050565b604051339060009061116990839086906020016147c2565b60405160208183030381529060405280519060200120905061118b8184612727565b6111a85760405163dae1880960e01b815260040160405180910390fd5b6111b28184612be1565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b9060200160405180910390a250505050565b6000806111f983612bfa565b91509150915091565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128a9190614920565b905061129685826120cc565b91979096509094509092509050565b6001600160a01b038181166000908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d90602401600060405180830381865afa158015611320573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ba19190810190614939565b3360008181526011602090815260408083206001600160a01b03871684529091528120549091610b9d91859061137f9086906149e5565b6124b8565b3330146113a457604051630fff4cc960e31b815260040160405180910390fd5b610d0e8385848461275b565b600054610100900460ff16158080156113d05750600054600160ff909116105b806113ea5750303b1580156113ea575060005460ff166001145b61140f5760405162461bcd60e51b8152600401611406906149f8565b60405180910390fd5b6000805460ff191660011790558015611432576000805461ff0019166101001790555b6114428787878787876000612cb6565b8015611488576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b610bd3333333846040518060200160405280600081525060405180602001604052806000815250612a2e565b60006114d5600080516020614daa8339815191525490565b905060006001600160a01b038216156114ee5781611510565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b0382161461153b57604051630484acab60e01b815260040160405180910390fd5b6110bd83612d7e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461158d5760405163c51efddd60e01b815260040160405180910390fd5b6110bd338484846040518060200160405280600081525060405180602001604052806000815250612567565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146116025760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b038084166000908152601160209081526040808320938616835292905220546110bd908490849061137f9085906149e5565b6060600085858560405160200161165493929190614779565b6040516020818303038152906040528051906020012090506116768184612fb8565b9695505050505050565b6000610a467f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6116fb3333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612a2e915050565b50505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461174a5760405163c51efddd60e01b815260040160405180910390fd5b6110bd8383836124b8565b336117626012828a61303f565b61177f5760405163f7f0222760e01b815260040160405180910390fd5b6117f98189898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a9081908401838280828437600092019190915250600192506130e8915050565b5050505050505050565b33301461174a57604051630fff4cc960e31b815260040160405180910390fd5b60606000848460405160200161183a9291906147c2565b60405160208183030381529060405280519060200120905061185c8184612fb8565b95945050505050565b6000610a46600080516020614daa8339815191525490565b60008061188983611202565b50505090506000811261189c578061189f565b60005b9392505050565b6000610ba1827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561190a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109239190614920565b61114d333384846040518060200160405280600081525060405180602001604052806000815250612567565b6000611972600080516020614daa8339815191525490565b905060006001600160a01b0382161561198b57816119ad565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146119d857604051630484acab60e01b815260040160405180910390fd5b60006119f0600080516020614daa8339815191525490565b9050611a0884600080516020614daa83398151915255565b836001600160a01b0316816001600160a01b03167f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f60405160405180910390a350505050565b33611a5b60128284613161565b806001600160a01b0316826001600160a01b03167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a35050565b606060108054610a5a9061473f565b600054610100900460ff1615808015611ace5750600054600160ff909116105b80611ae85750303b158015611ae8575060005460ff166001145b611b045760405162461bcd60e51b8152600401611406906149f8565b6000805460ff191660011790558015611b27576000805461ff0019166101001790555b8015610bd3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6116fb3333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250600191506130e89050565b333014611be457604051630fff4cc960e31b815260040160405180910390fd5b80516040805160008152602081019091526110bd91339186918691901515908690613265565b6040513390600090611c2290839087906020016147c2565b604051602081830303815290604052805190602001209050611c778185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061248092505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca868686604051610caa939291906147ff565b61114d333383611cc33361187d565b61275b565b6000610b9d338461137f856040518060600160405280602a8152602001614dca602a91393360009081526011602090815260408083206001600160a01b038d1684529091529020549190613332565b600061189f3333858561275b565b600080600080611d3586866120cc565b9250925092506000611d5d828411611d4e5760006129c0565b611d588385614a46565b6129c0565b611d6790856148a5565b60001315979650505050505050565b6000610ba1827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dda573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088b9190614920565b333014611e1e57604051630fff4cc960e31b815260040160405180910390fd5b80516040805160008152602081019091526110bd91339186918691901515908190879061335e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611e8f5760405163c51efddd60e01b815260040160405180910390fd5b6110bd838361137f846040518060600160405280602a8152602001614dca602a91396001600160a01b03808a166000908152601160209081526040808320938c16835292905220549190613332565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611f275760405163c51efddd60e01b815260040160405180910390fd5b6116fb33858585856040518060200160405280600081525060016130e8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611f8f5760405163c51efddd60e01b815260040160405180910390fd5b61114d338384846040518060200160405280600081525060405180602001604052806000815250612a2e565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa15801561201f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120439190614840565b6120605760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b0382166000908152600260205260409020546120849082906148a5565b6001600160a01b0390921660009081526002602052604090209190915550565b600061189f6012848461303f565b6000806120bf84846120cc565b5050600013949350505050565b6001600160a01b0382166000908152600260205260408120549080806120f1866112a5565b905060005b81518110156121f757600080600084848151811061211657612116614a59565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa158015612175573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121999190614a6f565b919450925090506121aa82886149e5565b96506121b681876149e5565b95506121d38183116121c95760006129c0565b611d588284614a46565b6121dd848a6148a5565b6121e791906148cd565b97505050508060010190506120f6565b50509250925092565b600054610100900460ff16158080156122205750600054600160ff909116105b8061223a5750303b15801561223a575060005460ff166001145b6122565760405162461bcd60e51b8152600401611406906149f8565b6000805460ff191660011790558015612279576000805461ff0019166101001790555b61228888888888888888612cb6565b80156117f9576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050565b336122e46012828461342c565b806001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a35050565b336123356012828961303f565b6123525760405163f7f0222760e01b815260040160405180910390fd5b6114888188898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a908190840183828082843760009201919091525061256792505050565b6110bd3333338686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612567915050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561247457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612456575b50505050509050919050565b60005b81518110156110bd5760008282815181106124a0576124a0614a59565b60209081029190910101518483015550600101612483565b6001600160a01b0383166124df57604051638163862760e01b815260040160405180910390fd5b6001600160a01b038216612506576040516337c1c09d60e21b815260040160405180910390fd5b6001600160a01b0383811660008181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600e546001600160a01b031661259057604051637bce7b2b60e11b815260040160405180910390fd5b60008061259c85612bfa565b915091506125b38888838751600014158888613265565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156125fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126209190614920565b600e5490915061263a906001600160a01b03168885613524565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612683573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126a79190614920565b905060006126b58284614a46565b90508085146126d757604051631c7c26d360e31b815260040160405180910390fd5b896001600160a01b03167f3bc27981aebbb57f9247dc00fde9d6cd91e4b230083fec3238fedbcba1f9ab3d8560405161271291815260200190565b60405180910390a25050505050505050505050565b6000805b828110156127515783810154801561274857600192505050610ba1565b5060010161272b565b5060009392505050565b60006001600160a01b0384166127845760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0383166127ab5760405163e219bd3960e01b815260040160405180910390fd5b60003390506127dc818686866040518060200160405280600081525060405180602001604052806000815250613587565b846001600160a01b0316866001600160a01b03161461286f5761286f858761137f866040518060600160405280602d8152602001614e14602d9139601160008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b03168152602001908152602001600020546133329092919063ffffffff16565b50600195945050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129009190614a9d565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa158015612996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ba9190614a9d565b91505090565b60006001600160ff1b03821115612a2a5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608401611406565b5090565b600e546001600160a01b0316612a5757604051637bce7b2b60e11b815260040160405180910390fd5b600080612a6385612bfa565b600e546040516370a0823160e01b81523060048201529294509092506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015612ab4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ad89190614920565b600e54909150612af3906001600160a01b0316893086613626565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b609190614920565b90506000612b6e8383614a46565b9050808514612b9057604051631c7c26d360e31b815260040160405180910390fd5b8651612ba6908c908b9087901515808c8c61335e565b886001600160a01b03167f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df8560405161271291815260200190565b60005b818110156110bd57600083820155600101612be4565b600e54600090819081906012600160a01b90910460ff161015612c5957600e54612c2f90600160a01b900460ff166012614aba565b612c3a90600a614bba565b9050612c468185614bc9565b9250612c528184614beb565b9150612cb0565b600e546012600160a01b90910460ff161115612ca957600e54612c8890601290600160a01b900460ff16614aba565b612c9390600a614bba565b9050612c9f8185614beb565b9250839150612cb0565b8391508192505b50915091565b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f612ceb858783614c49565b506010612cf9838583614c49565b50612d1081600080516020614daa83398151915255565b612d193061365e565b6040516000808252908190600080516020614df48339815191529060200160405180910390a36040516001600160a01b038216906000907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f908290a350505050505050565b6000612da87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603612dfe5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611406565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e609190614920565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb001914612eda5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611406565b6001600160a01b0381163003612f325760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611406565b612f5a817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019604080519182526001600160a01b038416602083015201611b65565b6060816001600160401b03811115612fd257612fd26140af565b604051908082528060200260200182016040528015612ffb578160200160208202803683370190505b50905060005b828110156130385760008185015490508083838151811061302457613024614a59565b602090810291909101015250600101613001565b5092915050565b6000816001600160a01b0316836001600160a01b031614806130ae57506001600160a01b038316600090815260018501602052604090205460ff1680156130ae57506001600160a01b03808316600090815260038601602090815260408083209387168352929052205460ff16155b806110d057506001600160a01b03808316600090815260028601602090815260408083209387168352929052205460ff1690509392505050565b6001600160a01b03861661310f5760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0385166131365760405163e219bd3960e01b815260040160405180910390fd5b61314487878787878761378c565b613152878787878787613587565b611488878787878787876138b3565b806001600160a01b0316826001600160a01b0316036131d85760405162461bcd60e51b815260206004820152602d60248201527f4552433737374f70657261746f72733a20617574686f72697a696e672073656c60448201526c331030b99037b832b930ba37b960991b6064820152608401611406565b6001600160a01b038116600090815260018401602052604090205460ff161561322e576001600160a01b03918216600090815260039390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b0380831660009081526002850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03851661328c57604051632e8aac6160e21b815260040160405180910390fd5b82156132a1576132a18686600087868661378c565b6132ab8585613a03565b846001600160a01b0316866001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a40988685856040516132f293929190614d08565b60405180910390a36040518481526000906001600160a01b03871690600080516020614df4833981519152906020015b60405180910390a3505050505050565b600081848411156133565760405162461bcd60e51b81526004016114069190613f00565b505050900390565b6001600160a01b03861661338557604051630d24315760e01b815260040160405180910390fd5b61338f8686613b13565b83156133a5576133a587600088888686896138b3565b856001600160a01b0316876001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d8785856040516133ec93929190614d08565b60405180910390a36040518581526001600160a01b03871690600090600080516020614df48339815191529060200160405180910390a350505050505050565b336001600160a01b038216036134975760405162461bcd60e51b815260206004820152602a60248201527f4552433737374f70657261746f72733a207265766f6b696e672073656c662061604482015269399037b832b930ba37b960b11b6064820152608401611406565b6001600160a01b038116600090815260018401602052604090205460ff16156134f1576001600160a01b0380831660009081526003850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03918216600090815260029390930160209081526040808520929093168452529020805460ff19169055565b6040516001600160a01b0383166024820152604481018290526110bd90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613b6d565b61359a8585613595866129c0565b613c42565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc826146779878686866040516135eb93929190614d08565b60405180910390a4836001600160a01b0316856001600160a01b0316600080516020614df48339815191528560405161332291815260200190565b6040516001600160a01b03808516602483015283166044820152606481018290526116fb9085906323b872dd60e01b90608401613550565b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b1580156136df57600080fd5b505af11580156136f3573d6000803e3d6000fd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b15801561377857600080fd5b505af1158015610d0e573d6000803e3d6000fd5b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe8956024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa15801561380d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138319190614a9d565b90506001600160a01b0381161561148857604051633ad5cbc160e11b81526001600160a01b038216906375ab978290613878908a908a908a908a908a908a90600401614d33565b600060405180830381600087803b15801561389257600080fd5b505af11580156138a6573d6000803e3d6000fd5b5050505050505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b6024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015613934573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139589190614a9d565b90506001600160a01b038116156139d4576040516223de2960e01b81526001600160a01b038216906223de299061399d908b908b908b908b908b908b90600401614d33565b600060405180830381600087803b1580156139b757600080fd5b505af11580156139cb573d6000803e3d6000fd5b505050506117f9565b81156117f9576001600160a01b0386163b156117f95760405163fe737d0560e01b815260040160405180910390fd5b6000613a8b837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a67573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096f9190614920565b50509050613a98826129c0565b811215613ab85760405163043b37d160e21b815260040160405180910390fd5b613ac1826129c0565b6001600160a01b038416600090815260026020526040902054613ae491906148cd565b6001600160a01b038416600090815260026020526040902055600354613b0b908390614a46565b600355505050565b613b1c816129c0565b6001600160a01b038316600090815260026020526040902054613b3f91906148a5565b6001600160a01b038316600090815260026020526040902055600354613b669082906149e5565b6003555050565b6000613bc2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613d419092919063ffffffff16565b9050805160001480613be3575080806020019051810190613be39190614840565b6110bd5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401611406565b6000613ca6847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a67573d6000803e3d6000fd5b5050905081811215613ccb57604051632f4cb94160e01b815260040160405180910390fd5b6001600160a01b038416600090815260026020526040902054613cef9083906148cd565b6001600160a01b038086166000908152600260205260408082209390935590851681522054613d1f9083906148a5565b6001600160a01b03909316600090815260026020526040902092909255505050565b60606110d0848460008585600080866001600160a01b03168587604051613d689190614d8d565b60006040518083038185875af1925050503d8060008114613da5576040519150601f19603f3d011682016040523d82523d6000602084013e613daa565b606091505b5091509150613dbb87838387613dc6565b979650505050505050565b60608315613e35578251600003613e2e576001600160a01b0385163b613e2e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611406565b50816110d0565b6110d08383815115613e4a5781518083602001fd5b8060405162461bcd60e51b81526004016114069190613f00565b602080825282518282018190526000918401906040840190835b81811015613ea55783516001600160a01b0316835260209384019390920191600101613e7e565b509095945050505050565b60005b83811015613ecb578181015183820152602001613eb3565b50506000910152565b60008151808452613eec816020860160208601613eb0565b601f01601f19169290920160200192915050565b60208152600061189f6020830184613ed4565b6001600160a01b0381168114610bd357600080fd5b60008083601f840112613f3a57600080fd5b5081356001600160401b03811115613f5157600080fd5b6020830191508360208260051b8501011115613f6c57600080fd5b9250929050565b60008060008060608587031215613f8957600080fd5b8435613f9481613f13565b93506020850135925060408501356001600160401b03811115613fb657600080fd5b613fc287828801613f28565b95989497509550505050565b60008060408385031215613fe157600080fd5b8235613fec81613f13565b946020939093013593505050565b60006020828403121561400c57600080fd5b5035919050565b60008060006040848603121561402857600080fd5b8335925060208401356001600160401b0381111561404557600080fd5b61405186828701613f28565b9497909650939450505050565b6000806000806080858703121561407457600080fd5b843561407f81613f13565b9350602085013561408f81613f13565b9250604085013561409f81613f13565b9396929550929360600135925050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156140ed576140ed6140af565b604052919050565b600082601f83011261410657600080fd5b81356001600160401b0381111561411f5761411f6140af565b614132601f8201601f19166020016140c5565b81815284602083860101111561414757600080fd5b816020850160208301376000918101602001919091529392505050565b8015158114610bd357600080fd5b600080600080600080600060e0888a03121561418d57600080fd5b8735965060208801356001600160401b038111156141aa57600080fd5b6141b68a828b016140f5565b96505060408801356141c781613f13565b945060608801356141d781614164565b935060808801356141e781613f13565b9699959850939692959460a0840135945060c09093013592915050565b60008060006060848603121561421957600080fd5b833561422481613f13565b9250602084013561423481613f13565b929592945050506040919091013590565b6000806040838503121561425857600080fd5b50508035926020909101359150565b60006020828403121561427957600080fd5b813561189f81613f13565b803560ff8116811461429557600080fd5b919050565b60008083601f8401126142ac57600080fd5b5081356001600160401b038111156142c357600080fd5b602083019150836020828501011115613f6c57600080fd5b600080600080600080608087890312156142f457600080fd5b86356142ff81613f13565b955061430d60208801614284565b945060408701356001600160401b0381111561432857600080fd5b61433489828a0161429a565b90955093505060608701356001600160401b0381111561435357600080fd5b61435f89828a0161429a565b979a9699509497509295939492505050565b6000806000806080858703121561438757600080fd5b843561439281613f13565b935060208501356143a281613f13565b93969395505050506040820135916060013590565b602080825282518282018190526000918401906040840190835b81811015613ea55783518352602093840193909201916001016143d1565b6000806000806060858703121561440557600080fd5b843561441081613f13565b93506020850135925060408501356001600160401b0381111561443257600080fd5b613fc28782880161429a565b600080600080600080600060a0888a03121561445957600080fd5b873561446481613f13565b9650602088013561447481613f13565b95506040880135945060608801356001600160401b0381111561449657600080fd5b6144a28a828b0161429a565b90955093505060808801356001600160401b038111156144c157600080fd5b6144cd8a828b0161429a565b989b979a50959850939692959293505050565b6000806000606084860312156144f557600080fd5b833561450081613f13565b95602085013595506040909401359392505050565b60008060006060848603121561452a57600080fd5b833561453581613f13565b92506020840135915060408401356001600160401b0381111561455757600080fd5b614563868287016140f5565b9150509250925092565b6000806000806080858703121561458357600080fd5b843561458e81613f13565b9350602085013561459e81613f13565b92506040850135915060608501356001600160401b038111156145c057600080fd5b6145cc878288016140f5565b91505092959194509250565b600080604083850312156145eb57600080fd5b82356145f681613f13565b9150602083013561460681613f13565b809150509250929050565b600080600080600080600060a0888a03121561462c57600080fd5b873561463781613f13565b965061464560208901614284565b955060408801356001600160401b0381111561466057600080fd5b61466c8a828b0161429a565b90965094505060608801356001600160401b0381111561468b57600080fd5b6146978a828b0161429a565b90945092505060808801356146ab81613f13565b8091505092959891949750929550565b600080600080600080608087890312156146d457600080fd5b86356146df81613f13565b95506020870135945060408701356001600160401b0381111561432857600080fd5b60008060006040848603121561471657600080fd5b8335925060208401356001600160401b0381111561473357600080fd5b6140518682870161429a565b600181811c9082168061475357607f821691505b60208210810361477357634e487b7160e01b600052602260045260246000fd5b50919050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b838152604060208201819052810182905260006001600160fb1b0383111561482657600080fd5b8260051b8085606085013791909101606001949350505050565b60006020828403121561485257600080fd5b815161189f81614164565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b82016148885761488861485d565b5060000390565b634e487b7160e01b600052600160045260246000fd5b80820182811260008312801582168215821617156148c5576148c561485d565b505092915050565b81810360008312801583831316838312821617156130385761303861485d565b85815260018060a01b038516602082015283604082015282606082015260a060808201526000613dbb60a0830184613ed4565b60006020828403121561493257600080fd5b5051919050565b60006020828403121561494b57600080fd5b81516001600160401b0381111561496157600080fd5b8201601f8101841361497257600080fd5b80516001600160401b0381111561498b5761498b6140af565b8060051b61499b602082016140c5565b918252602081840181019290810190878411156149b757600080fd5b6020850194505b83851015613dbb57845192506149d383613f13565b828252602094850194909101906149be565b80820180821115610ba157610ba161485d565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b81810381811115610ba157610ba161485d565b634e487b7160e01b600052603260045260246000fd5b600080600060608486031215614a8457600080fd5b5050815160208301516040909301519094929350919050565b600060208284031215614aaf57600080fd5b815161189f81613f13565b60ff8281168282160390811115610ba157610ba161485d565b6001815b6001841115614b0e57808504811115614af257614af261485d565b6001841615614b0057908102905b60019390931c928002614ad7565b935093915050565b600082614b2557506001610ba1565b81614b3257506000610ba1565b8160018114614b485760028114614b5257614b6e565b6001915050610ba1565b60ff841115614b6357614b6361485d565b50506001821b610ba1565b5060208310610133831016604e8410600b8410161715614b91575081810a610ba1565b614b9e6000198484614ad3565b8060001904821115614bb257614bb261485d565b029392505050565b600061189f60ff841683614b16565b600082614be657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610ba157610ba161485d565b601f8211156110bd57806000526020600020601f840160051c81016020851015614c295750805b601f840160051c820191505b81811015610d0e5760008155600101614c35565b6001600160401b03831115614c6057614c606140af565b614c7483614c6e835461473f565b83614c02565b6000601f841160018114614ca85760008515614c905750838201355b600019600387901b1c1916600186901b178355610d0e565b600083815260209020601f19861690835b82811015614cd95786850135825560209485019460019092019101614cb9565b5086821015614cf65760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b838152606060208201526000614d216060830185613ed4565b82810360408401526116768185613ed4565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c060808201819052600090614d6e90830185613ed4565b82810360a0840152614d808185613ed4565b9998505050505050505050565b60008251614d9f818460208701613eb0565b919091019291505056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035375706572546f6b656e3a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5375706572546f6b656e3a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220906ca56c2b1f3eeb85118dee6e604b257dbbe90a9d7f333a037d4f23d54fc64c64736f6c634300081a0033";
2137
2137
  const isSuperArgs = (xs) => xs.length > 1;
2138
2138
  export class SuperTokenStorageLayoutTester__factory extends ContractFactory {
2139
2139
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class SuperfluidGovernanceIIUpgradabilityTester__factory extends
12
12
  }): TransactionRequest;
13
13
  attach(address: string): SuperfluidGovernanceIIUpgradabilityTester;
14
14
  connect(signer: Signer): SuperfluidGovernanceIIUpgradabilityTester__factory;
15
- static readonly bytecode = "0x6080604052348015600f57600080fd5b50601733601b565b606b565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61225c8061007a6000396000f3fe608060405234801561001057600080fd5b506004361061023c5760003560e01c806380f70cba1161013b5780639903ad38116100b8578063e447cc1d1161007c578063e447cc1d14610517578063f047a2d91461052a578063f2fde38b1461053d578063f79a8e6314610550578063f99a38c41461025457600080fd5b80639903ad38146104c3578063ab846f1a146104cb578063c9615a98146104de578063cadf8f85146104f1578063d099b6a01461050457600080fd5b80638b93b3f5116100ff5780638b93b3f5146104665780638da5cb5b146104795780638e12552f1461048a5780638ecbd87b1461049d578063948eda5e146104b057600080fd5b806380f70cba146103fc5780638369a0f11461040f578063870299c01461041d5780638a7ff2f7146104305780638abe04e91461044357600080fd5b806344864b25116101c9578063640b6cc91161018d578063640b6cc9146103a8578063715018a6146103bb57806378707cb8146103c35780637dce4f81146103d65780637f0558e4146103e957600080fd5b806344864b25146103225780634522823514610335578063469519541461035d57806350d75d251461037057806352d1902d1461037857600080fd5b8063219644731161021057806321964473146102c3578063256b5173146102d657806325c955c3146102e957806332552908146102fc57806342148deb1461030f57600080fd5b806286d5551461024157806301a06b971461025657806311cf00f11461026957806319df62ab14610298575b600080fd5b61025461024f366004611c49565b610563565b005b610254610264366004611c8f565b610630565b61027c610277366004611d6d565b6106b4565b6040805192151583526020830191909152015b60405180910390f35b6102ab6102a6366004611c8f565b6106e4565b6040516001600160a01b03909116815260200161028f565b6102546102d1366004611e1b565b610718565b6102546102e4366004611ea3565b61078b565b6102546102f7366004611c8f565b6107fe565b61025461030a366004611ea3565b61085a565b61025461031d366004611eee565b6108d7565b610254610330366004611c8f565b610994565b610348610343366004611c8f565b6109ff565b6040805192835260208301919091520161028f565b61025461036b366004611f43565b610a47565b6102ab610a5b565b7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb23830542395b60405190815260200161028f565b6102546103b6366004611f60565b610a8a565b610254610a9a565b6102546103d1366004611fa1565b610aae565b6102546103e4366004611ea3565b610ac0565b6102546103f7366004611f60565b610b20565b61039a61040a366004611f60565b610b93565b6102ab61040a366004611f60565b61025461042b366004611e1b565b610c04565b61039a61043e366004611c8f565b610cf0565b610456610451366004611c8f565b610d1d565b604051901515815260200161028f565b610254610474366004611c8f565b610d38565b6000546001600160a01b03166102ab565b610254610498366004611ff4565b610dbb565b6102546104ab366004611c8f565b6110cd565b6102546104be366004611d6d565b61113e565b6102546111ac565b6102546104d9366004611ea3565b6112d5565b6102546104ec366004611e1b565b611331565b6102546104ff366004611c8f565b61141d565b610254610512366004612082565b611455565b610254610525366004611c8f565b6114b5565b610456610538366004611ea3565b611526565b61025461054b366004611f43565b611541565b61025461055e366004611c49565b6115b7565b8082111580610576575063ffffffff8210155b80610585575063ffffffff8110155b156105a3576040516370b8cc0560e11b815260040160405180910390fd5b602082901b81176105d685857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78846115bf565b6040805160018152602081018590529081018390526001600160a01b0380861691908716907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050505050565b61065b82827fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78611672565b60408051600080825260208201819052918101919091526001600160a01b0380831691908416907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050565b60008060006106c38585611733565b905060006106d387600084610b93565b428110159890975095505050505050565b600061071183837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09610b93565b9392505050565b828114610727576107276120ec565b60005b818110156107835761077b8686868481811061074857610748612102565b905060200201602081019061075d9190611f43565b85858581811061076f5761076f612102565b90506020020135610b20565b60010161072a565b505050505050565b8261079581611766565b604051630c56507560e01b81526001600160a01b0384811660048301528381166024830152851690630c56507590604401600060405180830381600087803b1580156107e057600080fd5b505af11580156107f4573d6000803e3d6000fd5b5050505050505050565b61081282600061080d8461176e565b611672565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d60006040516106a8911515815260200190565b61088683837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d0984611801565b60408051600181526001600160a01b03838116602083015280851692908616917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb91015b60405180910390a3505050565b826108e181611766565b60005b8281101561098d57846001600160a01b031663fa6e0cfe85858481811061090d5761090d612102565b90506020020160208101906109229190611f43565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260006024820152604401600060405180830381600087803b15801561096a57600080fd5b505af115801561097e573d6000803e3d6000fd5b505050508060010190506108e4565b5050505050565b8161099e81611766565b604051631ca0c40360e21b81526001600160a01b038381166004830152841690637283100c906024015b600060405180830381600087803b1580156109e257600080fd5b505af11580156109f6573d6000803e3d6000fd5b50505050505050565b6000806000610a2f85857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78610b93565b63ffffffff602082901c811697911695509350505050565b610a4f6118b6565b610a58816118e1565b50565b6000610a857f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b610a95838383611672565b505050565b610aa2611b1b565b610aac6000611b75565b565b610aba84848484611801565b50505050565b610ace838361080d84611bc5565b60408051600181526001600160a01b038381166020830152600092820192909252818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d27906060016108ca565b610b4c83837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4846115bf565b6040805160018152602081018390526001600160a01b0380851692908616917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a5391016108ca565b6001600160a01b03808416600090815260016020908152604080832093861683529281528282208483529052908120805460ff16610bf857506001600160a01b0384166000908152600160209081526040808320838052825280832085845290915290205b60010154949350505050565b84610c0e81611766565b838214610c1d57610c1d6120ec565b60005b848110156109f657866001600160a01b031663fa6e0cfe878784818110610c4957610c49612102565b9050602002016020810190610c5e9190611f43565b868685818110610c7057610c70612102565b9050602002016020810190610c859190611f43565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b158015610ccd57600080fd5b505af1158015610ce1573d6000803e3d6000fd5b50505050806001019050610c20565b600061071183837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4610b93565b6000610d2e83600061040a8561176e565b6001149392505050565b803b6000819003610d5c576040516380dddd7360e01b815260040160405180910390fd5b50610d73826000610d6c8461176e565b60016115bf565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d60016040516106a8911515815260200190565b85610dc581611766565b6001600160a01b03861615610e83576040516311a5465560e21b81526001600160a01b038781166004830152881690634695195490602401600060405180830381600087803b158015610e1757600080fd5b505af1158015610e2b573d6000803e3d6000fd5b50505050856001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610e6a57600080fd5b505af1158015610e7e573d6000803e3d6000fd5b505050505b60005b84811015610fa157876001600160a01b03166306cecba8878784818110610eaf57610eaf612102565b9050602002016020810190610ec49190611f43565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015610f0557600080fd5b505af1158015610f19573d6000803e3d6000fd5b50505050858582818110610f2f57610f2f612102565b9050602002016020810190610f449190611f43565b6001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610f7e57600080fd5b505af1158015610f92573d6000803e3d6000fd5b50505050806001019050610e86565b506001600160a01b0383161561105a576040516354fbc49360e01b81526001600160a01b0384811660048301528816906354fbc49390602401600060405180830381600087803b158015610ff457600080fd5b505af1158015611008573d6000803e3d6000fd5b50505050826001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561104757600080fd5b505af1925050508015611058575060015b505b6001600160a01b038216156109f657604051632f89bf8960e01b81526001600160a01b038381166004830152881690632f89bf8990602401600060405180830381600087803b1580156110ac57600080fd5b505af11580156110c0573d6000803e3d6000fd5b5050505050505050505050565b6110f882827feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4611672565b60408051600080825260208201526001600160a01b0380841692908516917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a5391016106a8565b600061114a8383611733565b905061115884600083611672565b826001600160a01b0316846001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc84600060405161119e92919061215e565b60405180910390a350505050565b600054600160a81b900460ff16158080156111d457506000546001600160a01b90910460ff16105b806111f55750303b1580156111f55750600054600160a01b900460ff166001145b61125d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff60a01b1916600160a01b179055801561128a576000805460ff60a81b1916600160a81b1790555b8015610a58576000805460ff60a81b19169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6112e38383610d6c84611bc5565b6040805160018082526001600160a01b03848116602084015292820152818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d27906060016108ca565b8461133b81611766565b83821461134a5761134a6120ec565b60005b848110156109f657866001600160a01b0316630c56507587878481811061137657611376612102565b905060200201602081019061138b9190611f43565b86868581811061139d5761139d612102565b90506020020160208101906113b29190611f43565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b1580156113fa57600080fd5b505af115801561140e573d6000803e3d6000fd5b5050505080600101905061134d565b8161142781611766565b6040516315a024e160e01b81526001600160a01b0383811660048301528416906315a024e1906024016109c8565b60006114618484611733565b905061147085600083856115bf565b836001600160a01b0316856001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc858560405161062192919061215e565b6114e082827f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09611672565b60408051600080825260208201526001600160a01b0380841692908516917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb91016106a8565b6000611536848461040a85611bc5565b600114949350505050565b611549611b1b565b6001600160a01b0381166115ae5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401611254565b610a5881611b75565b610aba848484845b836115c981611766565b60408051848152600160208201529081018390526001600160a01b0380861691908716907f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e3909060600160405180910390a350604080518082018252600180825260208083019485526001600160a01b039788166000908152828252848120979098168852958652828720948752939094529093209151825460ff19169015151782559151910155565b8261167c81611766565b826001600160a01b0316846001600160a01b03167f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e390846000806040516116d5939291909283529015156020830152604082015260600190565b60405180910390a350604080518082018252600080825260208083018281526001600160a01b03978816835260018083528584209790981683529581528382209482529390935291209051815460ff19169015151781559051910155565b60008282604051602001611748929190612180565b60405160208183030381529060405280519060200120905092915050565b610a586118b6565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b8361180b81611766565b60408051848152600160208201526001600160a01b03848116828401529151868316928816917f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e390919081900360600190a35060408051808201825260018082526001600160a01b03938416602080840191825297851660009081528289528481209790951685529587528284209484529390955290209251835460ff19169015151783559051910155565b6000546001600160a01b03163314610aac57604051638c809f9b60e01b815260040160405180910390fd5b600061190b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036119615760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611254565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561199f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c3919061220d565b7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb238305423914611a3d5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611254565b6001600160a01b0381163003611a955760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611254565b611abd817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb2383054239604080519182526001600160a01b0384166020830152016112ca565b6000546001600160a01b03163314610aac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611254565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c0016117e4565b6001600160a01b0381168114610a5857600080fd5b60008060008060808587031215611c5f57600080fd5b8435611c6a81611c34565b93506020850135611c7a81611c34565b93969395505050506040820135916060013590565b60008060408385031215611ca257600080fd5b8235611cad81611c34565b91506020830135611cbd81611c34565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611cef57600080fd5b813567ffffffffffffffff811115611d0957611d09611cc8565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611d3857611d38611cc8565b604052818152838201602001851015611d5057600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215611d8257600080fd5b8335611d8d81611c34565b92506020840135611d9d81611c34565b9150604084013567ffffffffffffffff811115611db957600080fd5b611dc586828701611cde565b9150509250925092565b60008083601f840112611de157600080fd5b50813567ffffffffffffffff811115611df957600080fd5b6020830191508360208260051b8501011115611e1457600080fd5b9250929050565b600080600080600060608688031215611e3357600080fd5b8535611e3e81611c34565b9450602086013567ffffffffffffffff811115611e5a57600080fd5b611e6688828901611dcf565b909550935050604086013567ffffffffffffffff811115611e8657600080fd5b611e9288828901611dcf565b969995985093965092949392505050565b600080600060608486031215611eb857600080fd5b8335611ec381611c34565b92506020840135611ed381611c34565b91506040840135611ee381611c34565b809150509250925092565b600080600060408486031215611f0357600080fd5b8335611f0e81611c34565b9250602084013567ffffffffffffffff811115611f2a57600080fd5b611f3686828701611dcf565b9497909650939450505050565b600060208284031215611f5557600080fd5b813561071181611c34565b600080600060608486031215611f7557600080fd5b8335611f8081611c34565b92506020840135611f9081611c34565b929592945050506040919091013590565b60008060008060808587031215611fb757600080fd5b8435611fc281611c34565b93506020850135611fd281611c34565b9250604085013591506060850135611fe981611c34565b939692955090935050565b60008060008060008060a0878903121561200d57600080fd5b863561201881611c34565b9550602087013561202881611c34565b9450604087013567ffffffffffffffff81111561204457600080fd5b61205089828a01611dcf565b909550935050606087013561206481611c34565b9150608087013561207481611c34565b809150509295509295509295565b6000806000806080858703121561209857600080fd5b84356120a381611c34565b935060208501356120b381611c34565b9250604085013567ffffffffffffffff8111156120cf57600080fd5b6120db87828801611cde565b949793965093946060013593505050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000815180845260005b8181101561213e57602081850181015186830182015201612122565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006121716040830185612118565b90508260208301529392505050565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e06040820152600061220560e0830184612118565b949350505050565b60006020828403121561221f57600080fd5b505191905056fea2646970667358221220687d05ebbc1586657412faedf6f24ff77a5b0c23f737b813d46df4597901cd4264736f6c634300081a0033";
15
+ static readonly bytecode = "0x6080604052348015600f57600080fd5b50601733601b565b606b565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61225c8061007a6000396000f3fe608060405234801561001057600080fd5b506004361061023c5760003560e01c806380f70cba1161013b5780639903ad38116100b8578063e447cc1d1161007c578063e447cc1d14610517578063f047a2d91461052a578063f2fde38b1461053d578063f79a8e6314610550578063f99a38c41461025457600080fd5b80639903ad38146104c3578063ab846f1a146104cb578063c9615a98146104de578063cadf8f85146104f1578063d099b6a01461050457600080fd5b80638b93b3f5116100ff5780638b93b3f5146104665780638da5cb5b146104795780638e12552f1461048a5780638ecbd87b1461049d578063948eda5e146104b057600080fd5b806380f70cba146103fc5780638369a0f11461040f578063870299c01461041d5780638a7ff2f7146104305780638abe04e91461044357600080fd5b806344864b25116101c9578063640b6cc91161018d578063640b6cc9146103a8578063715018a6146103bb57806378707cb8146103c35780637dce4f81146103d65780637f0558e4146103e957600080fd5b806344864b25146103225780634522823514610335578063469519541461035d57806350d75d251461037057806352d1902d1461037857600080fd5b8063219644731161021057806321964473146102c3578063256b5173146102d657806325c955c3146102e957806332552908146102fc57806342148deb1461030f57600080fd5b806286d5551461024157806301a06b971461025657806311cf00f11461026957806319df62ab14610298575b600080fd5b61025461024f366004611c49565b610563565b005b610254610264366004611c8f565b610630565b61027c610277366004611d6d565b6106b4565b6040805192151583526020830191909152015b60405180910390f35b6102ab6102a6366004611c8f565b6106e4565b6040516001600160a01b03909116815260200161028f565b6102546102d1366004611e1b565b610718565b6102546102e4366004611ea3565b61078b565b6102546102f7366004611c8f565b6107fe565b61025461030a366004611ea3565b61085a565b61025461031d366004611eee565b6108d7565b610254610330366004611c8f565b610994565b610348610343366004611c8f565b6109ff565b6040805192835260208301919091520161028f565b61025461036b366004611f43565b610a47565b6102ab610a5b565b7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb23830542395b60405190815260200161028f565b6102546103b6366004611f60565b610a8a565b610254610a9a565b6102546103d1366004611fa1565b610aae565b6102546103e4366004611ea3565b610ac0565b6102546103f7366004611f60565b610b20565b61039a61040a366004611f60565b610b93565b6102ab61040a366004611f60565b61025461042b366004611e1b565b610c04565b61039a61043e366004611c8f565b610cf0565b610456610451366004611c8f565b610d1d565b604051901515815260200161028f565b610254610474366004611c8f565b610d38565b6000546001600160a01b03166102ab565b610254610498366004611ff4565b610dbb565b6102546104ab366004611c8f565b6110cd565b6102546104be366004611d6d565b61113e565b6102546111ac565b6102546104d9366004611ea3565b6112d5565b6102546104ec366004611e1b565b611331565b6102546104ff366004611c8f565b61141d565b610254610512366004612082565b611455565b610254610525366004611c8f565b6114b5565b610456610538366004611ea3565b611526565b61025461054b366004611f43565b611541565b61025461055e366004611c49565b6115b7565b8082111580610576575063ffffffff8210155b80610585575063ffffffff8110155b156105a3576040516370b8cc0560e11b815260040160405180910390fd5b602082901b81176105d685857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78846115bf565b6040805160018152602081018590529081018390526001600160a01b0380861691908716907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050505050565b61065b82827fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78611672565b60408051600080825260208201819052918101919091526001600160a01b0380831691908416907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050565b60008060006106c38585611733565b905060006106d387600084610b93565b428110159890975095505050505050565b600061071183837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09610b93565b9392505050565b828114610727576107276120ec565b60005b818110156107835761077b8686868481811061074857610748612102565b905060200201602081019061075d9190611f43565b85858581811061076f5761076f612102565b90506020020135610b20565b60010161072a565b505050505050565b8261079581611766565b604051630c56507560e01b81526001600160a01b0384811660048301528381166024830152851690630c56507590604401600060405180830381600087803b1580156107e057600080fd5b505af11580156107f4573d6000803e3d6000fd5b5050505050505050565b61081282600061080d8461176e565b611672565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d60006040516106a8911515815260200190565b61088683837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d0984611801565b60408051600181526001600160a01b03838116602083015280851692908616917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb91015b60405180910390a3505050565b826108e181611766565b60005b8281101561098d57846001600160a01b031663fa6e0cfe85858481811061090d5761090d612102565b90506020020160208101906109229190611f43565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260006024820152604401600060405180830381600087803b15801561096a57600080fd5b505af115801561097e573d6000803e3d6000fd5b505050508060010190506108e4565b5050505050565b8161099e81611766565b604051631ca0c40360e21b81526001600160a01b038381166004830152841690637283100c906024015b600060405180830381600087803b1580156109e257600080fd5b505af11580156109f6573d6000803e3d6000fd5b50505050505050565b6000806000610a2f85857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78610b93565b63ffffffff602082901c811697911695509350505050565b610a4f6118b6565b610a58816118e1565b50565b6000610a857f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b610a95838383611672565b505050565b610aa2611b1b565b610aac6000611b75565b565b610aba84848484611801565b50505050565b610ace838361080d84611bc5565b60408051600181526001600160a01b038381166020830152600092820192909252818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d27906060016108ca565b610b4c83837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4846115bf565b6040805160018152602081018390526001600160a01b0380851692908616917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a5391016108ca565b6001600160a01b03808416600090815260016020908152604080832093861683529281528282208483529052908120805460ff16610bf857506001600160a01b0384166000908152600160209081526040808320838052825280832085845290915290205b60010154949350505050565b84610c0e81611766565b838214610c1d57610c1d6120ec565b60005b848110156109f657866001600160a01b031663fa6e0cfe878784818110610c4957610c49612102565b9050602002016020810190610c5e9190611f43565b868685818110610c7057610c70612102565b9050602002016020810190610c859190611f43565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b158015610ccd57600080fd5b505af1158015610ce1573d6000803e3d6000fd5b50505050806001019050610c20565b600061071183837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4610b93565b6000610d2e83600061040a8561176e565b6001149392505050565b803b6000819003610d5c576040516380dddd7360e01b815260040160405180910390fd5b50610d73826000610d6c8461176e565b60016115bf565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d60016040516106a8911515815260200190565b85610dc581611766565b6001600160a01b03861615610e83576040516311a5465560e21b81526001600160a01b038781166004830152881690634695195490602401600060405180830381600087803b158015610e1757600080fd5b505af1158015610e2b573d6000803e3d6000fd5b50505050856001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610e6a57600080fd5b505af1158015610e7e573d6000803e3d6000fd5b505050505b60005b84811015610fa157876001600160a01b03166306cecba8878784818110610eaf57610eaf612102565b9050602002016020810190610ec49190611f43565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015610f0557600080fd5b505af1158015610f19573d6000803e3d6000fd5b50505050858582818110610f2f57610f2f612102565b9050602002016020810190610f449190611f43565b6001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610f7e57600080fd5b505af1158015610f92573d6000803e3d6000fd5b50505050806001019050610e86565b506001600160a01b0383161561105a576040516354fbc49360e01b81526001600160a01b0384811660048301528816906354fbc49390602401600060405180830381600087803b158015610ff457600080fd5b505af1158015611008573d6000803e3d6000fd5b50505050826001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561104757600080fd5b505af1925050508015611058575060015b505b6001600160a01b038216156109f657604051632f89bf8960e01b81526001600160a01b038381166004830152881690632f89bf8990602401600060405180830381600087803b1580156110ac57600080fd5b505af11580156110c0573d6000803e3d6000fd5b5050505050505050505050565b6110f882827feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4611672565b60408051600080825260208201526001600160a01b0380841692908516917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a5391016106a8565b600061114a8383611733565b905061115884600083611672565b826001600160a01b0316846001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc84600060405161119e92919061215e565b60405180910390a350505050565b600054600160a81b900460ff16158080156111d457506000546001600160a01b90910460ff16105b806111f55750303b1580156111f55750600054600160a01b900460ff166001145b61125d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff60a01b1916600160a01b179055801561128a576000805460ff60a81b1916600160a81b1790555b8015610a58576000805460ff60a81b19169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6112e38383610d6c84611bc5565b6040805160018082526001600160a01b03848116602084015292820152818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d27906060016108ca565b8461133b81611766565b83821461134a5761134a6120ec565b60005b848110156109f657866001600160a01b0316630c56507587878481811061137657611376612102565b905060200201602081019061138b9190611f43565b86868581811061139d5761139d612102565b90506020020160208101906113b29190611f43565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b1580156113fa57600080fd5b505af115801561140e573d6000803e3d6000fd5b5050505080600101905061134d565b8161142781611766565b6040516315a024e160e01b81526001600160a01b0383811660048301528416906315a024e1906024016109c8565b60006114618484611733565b905061147085600083856115bf565b836001600160a01b0316856001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc858560405161062192919061215e565b6114e082827f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09611672565b60408051600080825260208201526001600160a01b0380841692908516917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb91016106a8565b6000611536848461040a85611bc5565b600114949350505050565b611549611b1b565b6001600160a01b0381166115ae5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401611254565b610a5881611b75565b610aba848484845b836115c981611766565b60408051848152600160208201529081018390526001600160a01b0380861691908716907f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e3909060600160405180910390a350604080518082018252600180825260208083019485526001600160a01b039788166000908152828252848120979098168852958652828720948752939094529093209151825460ff19169015151782559151910155565b8261167c81611766565b826001600160a01b0316846001600160a01b03167f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e390846000806040516116d5939291909283529015156020830152604082015260600190565b60405180910390a350604080518082018252600080825260208083018281526001600160a01b03978816835260018083528584209790981683529581528382209482529390935291209051815460ff19169015151781559051910155565b60008282604051602001611748929190612180565b60405160208183030381529060405280519060200120905092915050565b610a586118b6565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b8361180b81611766565b60408051848152600160208201526001600160a01b03848116828401529151868316928816917f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e390919081900360600190a35060408051808201825260018082526001600160a01b03938416602080840191825297851660009081528289528481209790951685529587528284209484529390955290209251835460ff19169015151783559051910155565b6000546001600160a01b03163314610aac57604051638c809f9b60e01b815260040160405180910390fd5b600061190b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036119615760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611254565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561199f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c3919061220d565b7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb238305423914611a3d5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611254565b6001600160a01b0381163003611a955760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611254565b611abd817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb2383054239604080519182526001600160a01b0384166020830152016112ca565b6000546001600160a01b03163314610aac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611254565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c0016117e4565b6001600160a01b0381168114610a5857600080fd5b60008060008060808587031215611c5f57600080fd5b8435611c6a81611c34565b93506020850135611c7a81611c34565b93969395505050506040820135916060013590565b60008060408385031215611ca257600080fd5b8235611cad81611c34565b91506020830135611cbd81611c34565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611cef57600080fd5b813567ffffffffffffffff811115611d0957611d09611cc8565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611d3857611d38611cc8565b604052818152838201602001851015611d5057600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215611d8257600080fd5b8335611d8d81611c34565b92506020840135611d9d81611c34565b9150604084013567ffffffffffffffff811115611db957600080fd5b611dc586828701611cde565b9150509250925092565b60008083601f840112611de157600080fd5b50813567ffffffffffffffff811115611df957600080fd5b6020830191508360208260051b8501011115611e1457600080fd5b9250929050565b600080600080600060608688031215611e3357600080fd5b8535611e3e81611c34565b9450602086013567ffffffffffffffff811115611e5a57600080fd5b611e6688828901611dcf565b909550935050604086013567ffffffffffffffff811115611e8657600080fd5b611e9288828901611dcf565b969995985093965092949392505050565b600080600060608486031215611eb857600080fd5b8335611ec381611c34565b92506020840135611ed381611c34565b91506040840135611ee381611c34565b809150509250925092565b600080600060408486031215611f0357600080fd5b8335611f0e81611c34565b9250602084013567ffffffffffffffff811115611f2a57600080fd5b611f3686828701611dcf565b9497909650939450505050565b600060208284031215611f5557600080fd5b813561071181611c34565b600080600060608486031215611f7557600080fd5b8335611f8081611c34565b92506020840135611f9081611c34565b929592945050506040919091013590565b60008060008060808587031215611fb757600080fd5b8435611fc281611c34565b93506020850135611fd281611c34565b9250604085013591506060850135611fe981611c34565b939692955090935050565b60008060008060008060a0878903121561200d57600080fd5b863561201881611c34565b9550602087013561202881611c34565b9450604087013567ffffffffffffffff81111561204457600080fd5b61205089828a01611dcf565b909550935050606087013561206481611c34565b9150608087013561207481611c34565b809150509295509295509295565b6000806000806080858703121561209857600080fd5b84356120a381611c34565b935060208501356120b381611c34565b9250604085013567ffffffffffffffff8111156120cf57600080fd5b6120db87828801611cde565b949793965093946060013593505050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000815180845260005b8181101561213e57602081850181015186830182015201612122565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006121716040830185612118565b90508260208301529392505050565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e06040820152600061220560e0830184612118565b949350505050565b60006020828403121561221f57600080fd5b505191905056fea2646970667358221220ddddbe86c88e4f13fe7b92d85ad403f7d0f81b65d321cd2000d543619d557f3564736f6c634300081a0033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [];
18
18
  readonly name: "SF_GOV_II_ONLY_OWNER";
@@ -1157,7 +1157,7 @@ const _abi = [
1157
1157
  type: "function",
1158
1158
  },
1159
1159
  ];
1160
- const _bytecode = "0x6080604052348015600f57600080fd5b50601733601b565b606b565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61225c8061007a6000396000f3fe608060405234801561001057600080fd5b506004361061023c5760003560e01c806380f70cba1161013b5780639903ad38116100b8578063e447cc1d1161007c578063e447cc1d14610517578063f047a2d91461052a578063f2fde38b1461053d578063f79a8e6314610550578063f99a38c41461025457600080fd5b80639903ad38146104c3578063ab846f1a146104cb578063c9615a98146104de578063cadf8f85146104f1578063d099b6a01461050457600080fd5b80638b93b3f5116100ff5780638b93b3f5146104665780638da5cb5b146104795780638e12552f1461048a5780638ecbd87b1461049d578063948eda5e146104b057600080fd5b806380f70cba146103fc5780638369a0f11461040f578063870299c01461041d5780638a7ff2f7146104305780638abe04e91461044357600080fd5b806344864b25116101c9578063640b6cc91161018d578063640b6cc9146103a8578063715018a6146103bb57806378707cb8146103c35780637dce4f81146103d65780637f0558e4146103e957600080fd5b806344864b25146103225780634522823514610335578063469519541461035d57806350d75d251461037057806352d1902d1461037857600080fd5b8063219644731161021057806321964473146102c3578063256b5173146102d657806325c955c3146102e957806332552908146102fc57806342148deb1461030f57600080fd5b806286d5551461024157806301a06b971461025657806311cf00f11461026957806319df62ab14610298575b600080fd5b61025461024f366004611c49565b610563565b005b610254610264366004611c8f565b610630565b61027c610277366004611d6d565b6106b4565b6040805192151583526020830191909152015b60405180910390f35b6102ab6102a6366004611c8f565b6106e4565b6040516001600160a01b03909116815260200161028f565b6102546102d1366004611e1b565b610718565b6102546102e4366004611ea3565b61078b565b6102546102f7366004611c8f565b6107fe565b61025461030a366004611ea3565b61085a565b61025461031d366004611eee565b6108d7565b610254610330366004611c8f565b610994565b610348610343366004611c8f565b6109ff565b6040805192835260208301919091520161028f565b61025461036b366004611f43565b610a47565b6102ab610a5b565b7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb23830542395b60405190815260200161028f565b6102546103b6366004611f60565b610a8a565b610254610a9a565b6102546103d1366004611fa1565b610aae565b6102546103e4366004611ea3565b610ac0565b6102546103f7366004611f60565b610b20565b61039a61040a366004611f60565b610b93565b6102ab61040a366004611f60565b61025461042b366004611e1b565b610c04565b61039a61043e366004611c8f565b610cf0565b610456610451366004611c8f565b610d1d565b604051901515815260200161028f565b610254610474366004611c8f565b610d38565b6000546001600160a01b03166102ab565b610254610498366004611ff4565b610dbb565b6102546104ab366004611c8f565b6110cd565b6102546104be366004611d6d565b61113e565b6102546111ac565b6102546104d9366004611ea3565b6112d5565b6102546104ec366004611e1b565b611331565b6102546104ff366004611c8f565b61141d565b610254610512366004612082565b611455565b610254610525366004611c8f565b6114b5565b610456610538366004611ea3565b611526565b61025461054b366004611f43565b611541565b61025461055e366004611c49565b6115b7565b8082111580610576575063ffffffff8210155b80610585575063ffffffff8110155b156105a3576040516370b8cc0560e11b815260040160405180910390fd5b602082901b81176105d685857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78846115bf565b6040805160018152602081018590529081018390526001600160a01b0380861691908716907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050505050565b61065b82827fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78611672565b60408051600080825260208201819052918101919091526001600160a01b0380831691908416907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050565b60008060006106c38585611733565b905060006106d387600084610b93565b428110159890975095505050505050565b600061071183837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09610b93565b9392505050565b828114610727576107276120ec565b60005b818110156107835761077b8686868481811061074857610748612102565b905060200201602081019061075d9190611f43565b85858581811061076f5761076f612102565b90506020020135610b20565b60010161072a565b505050505050565b8261079581611766565b604051630c56507560e01b81526001600160a01b0384811660048301528381166024830152851690630c56507590604401600060405180830381600087803b1580156107e057600080fd5b505af11580156107f4573d6000803e3d6000fd5b5050505050505050565b61081282600061080d8461176e565b611672565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d60006040516106a8911515815260200190565b61088683837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d0984611801565b60408051600181526001600160a01b03838116602083015280851692908616917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb91015b60405180910390a3505050565b826108e181611766565b60005b8281101561098d57846001600160a01b031663fa6e0cfe85858481811061090d5761090d612102565b90506020020160208101906109229190611f43565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260006024820152604401600060405180830381600087803b15801561096a57600080fd5b505af115801561097e573d6000803e3d6000fd5b505050508060010190506108e4565b5050505050565b8161099e81611766565b604051631ca0c40360e21b81526001600160a01b038381166004830152841690637283100c906024015b600060405180830381600087803b1580156109e257600080fd5b505af11580156109f6573d6000803e3d6000fd5b50505050505050565b6000806000610a2f85857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78610b93565b63ffffffff602082901c811697911695509350505050565b610a4f6118b6565b610a58816118e1565b50565b6000610a857f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b610a95838383611672565b505050565b610aa2611b1b565b610aac6000611b75565b565b610aba84848484611801565b50505050565b610ace838361080d84611bc5565b60408051600181526001600160a01b038381166020830152600092820192909252818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d27906060016108ca565b610b4c83837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4846115bf565b6040805160018152602081018390526001600160a01b0380851692908616917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a5391016108ca565b6001600160a01b03808416600090815260016020908152604080832093861683529281528282208483529052908120805460ff16610bf857506001600160a01b0384166000908152600160209081526040808320838052825280832085845290915290205b60010154949350505050565b84610c0e81611766565b838214610c1d57610c1d6120ec565b60005b848110156109f657866001600160a01b031663fa6e0cfe878784818110610c4957610c49612102565b9050602002016020810190610c5e9190611f43565b868685818110610c7057610c70612102565b9050602002016020810190610c859190611f43565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b158015610ccd57600080fd5b505af1158015610ce1573d6000803e3d6000fd5b50505050806001019050610c20565b600061071183837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4610b93565b6000610d2e83600061040a8561176e565b6001149392505050565b803b6000819003610d5c576040516380dddd7360e01b815260040160405180910390fd5b50610d73826000610d6c8461176e565b60016115bf565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d60016040516106a8911515815260200190565b85610dc581611766565b6001600160a01b03861615610e83576040516311a5465560e21b81526001600160a01b038781166004830152881690634695195490602401600060405180830381600087803b158015610e1757600080fd5b505af1158015610e2b573d6000803e3d6000fd5b50505050856001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610e6a57600080fd5b505af1158015610e7e573d6000803e3d6000fd5b505050505b60005b84811015610fa157876001600160a01b03166306cecba8878784818110610eaf57610eaf612102565b9050602002016020810190610ec49190611f43565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015610f0557600080fd5b505af1158015610f19573d6000803e3d6000fd5b50505050858582818110610f2f57610f2f612102565b9050602002016020810190610f449190611f43565b6001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610f7e57600080fd5b505af1158015610f92573d6000803e3d6000fd5b50505050806001019050610e86565b506001600160a01b0383161561105a576040516354fbc49360e01b81526001600160a01b0384811660048301528816906354fbc49390602401600060405180830381600087803b158015610ff457600080fd5b505af1158015611008573d6000803e3d6000fd5b50505050826001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561104757600080fd5b505af1925050508015611058575060015b505b6001600160a01b038216156109f657604051632f89bf8960e01b81526001600160a01b038381166004830152881690632f89bf8990602401600060405180830381600087803b1580156110ac57600080fd5b505af11580156110c0573d6000803e3d6000fd5b5050505050505050505050565b6110f882827feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4611672565b60408051600080825260208201526001600160a01b0380841692908516917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a5391016106a8565b600061114a8383611733565b905061115884600083611672565b826001600160a01b0316846001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc84600060405161119e92919061215e565b60405180910390a350505050565b600054600160a81b900460ff16158080156111d457506000546001600160a01b90910460ff16105b806111f55750303b1580156111f55750600054600160a01b900460ff166001145b61125d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff60a01b1916600160a01b179055801561128a576000805460ff60a81b1916600160a81b1790555b8015610a58576000805460ff60a81b19169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6112e38383610d6c84611bc5565b6040805160018082526001600160a01b03848116602084015292820152818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d27906060016108ca565b8461133b81611766565b83821461134a5761134a6120ec565b60005b848110156109f657866001600160a01b0316630c56507587878481811061137657611376612102565b905060200201602081019061138b9190611f43565b86868581811061139d5761139d612102565b90506020020160208101906113b29190611f43565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b1580156113fa57600080fd5b505af115801561140e573d6000803e3d6000fd5b5050505080600101905061134d565b8161142781611766565b6040516315a024e160e01b81526001600160a01b0383811660048301528416906315a024e1906024016109c8565b60006114618484611733565b905061147085600083856115bf565b836001600160a01b0316856001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc858560405161062192919061215e565b6114e082827f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09611672565b60408051600080825260208201526001600160a01b0380841692908516917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb91016106a8565b6000611536848461040a85611bc5565b600114949350505050565b611549611b1b565b6001600160a01b0381166115ae5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401611254565b610a5881611b75565b610aba848484845b836115c981611766565b60408051848152600160208201529081018390526001600160a01b0380861691908716907f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e3909060600160405180910390a350604080518082018252600180825260208083019485526001600160a01b039788166000908152828252848120979098168852958652828720948752939094529093209151825460ff19169015151782559151910155565b8261167c81611766565b826001600160a01b0316846001600160a01b03167f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e390846000806040516116d5939291909283529015156020830152604082015260600190565b60405180910390a350604080518082018252600080825260208083018281526001600160a01b03978816835260018083528584209790981683529581528382209482529390935291209051815460ff19169015151781559051910155565b60008282604051602001611748929190612180565b60405160208183030381529060405280519060200120905092915050565b610a586118b6565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b8361180b81611766565b60408051848152600160208201526001600160a01b03848116828401529151868316928816917f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e390919081900360600190a35060408051808201825260018082526001600160a01b03938416602080840191825297851660009081528289528481209790951685529587528284209484529390955290209251835460ff19169015151783559051910155565b6000546001600160a01b03163314610aac57604051638c809f9b60e01b815260040160405180910390fd5b600061190b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036119615760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611254565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561199f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c3919061220d565b7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb238305423914611a3d5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611254565b6001600160a01b0381163003611a955760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611254565b611abd817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb2383054239604080519182526001600160a01b0384166020830152016112ca565b6000546001600160a01b03163314610aac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611254565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c0016117e4565b6001600160a01b0381168114610a5857600080fd5b60008060008060808587031215611c5f57600080fd5b8435611c6a81611c34565b93506020850135611c7a81611c34565b93969395505050506040820135916060013590565b60008060408385031215611ca257600080fd5b8235611cad81611c34565b91506020830135611cbd81611c34565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611cef57600080fd5b813567ffffffffffffffff811115611d0957611d09611cc8565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611d3857611d38611cc8565b604052818152838201602001851015611d5057600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215611d8257600080fd5b8335611d8d81611c34565b92506020840135611d9d81611c34565b9150604084013567ffffffffffffffff811115611db957600080fd5b611dc586828701611cde565b9150509250925092565b60008083601f840112611de157600080fd5b50813567ffffffffffffffff811115611df957600080fd5b6020830191508360208260051b8501011115611e1457600080fd5b9250929050565b600080600080600060608688031215611e3357600080fd5b8535611e3e81611c34565b9450602086013567ffffffffffffffff811115611e5a57600080fd5b611e6688828901611dcf565b909550935050604086013567ffffffffffffffff811115611e8657600080fd5b611e9288828901611dcf565b969995985093965092949392505050565b600080600060608486031215611eb857600080fd5b8335611ec381611c34565b92506020840135611ed381611c34565b91506040840135611ee381611c34565b809150509250925092565b600080600060408486031215611f0357600080fd5b8335611f0e81611c34565b9250602084013567ffffffffffffffff811115611f2a57600080fd5b611f3686828701611dcf565b9497909650939450505050565b600060208284031215611f5557600080fd5b813561071181611c34565b600080600060608486031215611f7557600080fd5b8335611f8081611c34565b92506020840135611f9081611c34565b929592945050506040919091013590565b60008060008060808587031215611fb757600080fd5b8435611fc281611c34565b93506020850135611fd281611c34565b9250604085013591506060850135611fe981611c34565b939692955090935050565b60008060008060008060a0878903121561200d57600080fd5b863561201881611c34565b9550602087013561202881611c34565b9450604087013567ffffffffffffffff81111561204457600080fd5b61205089828a01611dcf565b909550935050606087013561206481611c34565b9150608087013561207481611c34565b809150509295509295509295565b6000806000806080858703121561209857600080fd5b84356120a381611c34565b935060208501356120b381611c34565b9250604085013567ffffffffffffffff8111156120cf57600080fd5b6120db87828801611cde565b949793965093946060013593505050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000815180845260005b8181101561213e57602081850181015186830182015201612122565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006121716040830185612118565b90508260208301529392505050565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e06040820152600061220560e0830184612118565b949350505050565b60006020828403121561221f57600080fd5b505191905056fea2646970667358221220687d05ebbc1586657412faedf6f24ff77a5b0c23f737b813d46df4597901cd4264736f6c634300081a0033";
1160
+ const _bytecode = "0x6080604052348015600f57600080fd5b50601733601b565b606b565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61225c8061007a6000396000f3fe608060405234801561001057600080fd5b506004361061023c5760003560e01c806380f70cba1161013b5780639903ad38116100b8578063e447cc1d1161007c578063e447cc1d14610517578063f047a2d91461052a578063f2fde38b1461053d578063f79a8e6314610550578063f99a38c41461025457600080fd5b80639903ad38146104c3578063ab846f1a146104cb578063c9615a98146104de578063cadf8f85146104f1578063d099b6a01461050457600080fd5b80638b93b3f5116100ff5780638b93b3f5146104665780638da5cb5b146104795780638e12552f1461048a5780638ecbd87b1461049d578063948eda5e146104b057600080fd5b806380f70cba146103fc5780638369a0f11461040f578063870299c01461041d5780638a7ff2f7146104305780638abe04e91461044357600080fd5b806344864b25116101c9578063640b6cc91161018d578063640b6cc9146103a8578063715018a6146103bb57806378707cb8146103c35780637dce4f81146103d65780637f0558e4146103e957600080fd5b806344864b25146103225780634522823514610335578063469519541461035d57806350d75d251461037057806352d1902d1461037857600080fd5b8063219644731161021057806321964473146102c3578063256b5173146102d657806325c955c3146102e957806332552908146102fc57806342148deb1461030f57600080fd5b806286d5551461024157806301a06b971461025657806311cf00f11461026957806319df62ab14610298575b600080fd5b61025461024f366004611c49565b610563565b005b610254610264366004611c8f565b610630565b61027c610277366004611d6d565b6106b4565b6040805192151583526020830191909152015b60405180910390f35b6102ab6102a6366004611c8f565b6106e4565b6040516001600160a01b03909116815260200161028f565b6102546102d1366004611e1b565b610718565b6102546102e4366004611ea3565b61078b565b6102546102f7366004611c8f565b6107fe565b61025461030a366004611ea3565b61085a565b61025461031d366004611eee565b6108d7565b610254610330366004611c8f565b610994565b610348610343366004611c8f565b6109ff565b6040805192835260208301919091520161028f565b61025461036b366004611f43565b610a47565b6102ab610a5b565b7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb23830542395b60405190815260200161028f565b6102546103b6366004611f60565b610a8a565b610254610a9a565b6102546103d1366004611fa1565b610aae565b6102546103e4366004611ea3565b610ac0565b6102546103f7366004611f60565b610b20565b61039a61040a366004611f60565b610b93565b6102ab61040a366004611f60565b61025461042b366004611e1b565b610c04565b61039a61043e366004611c8f565b610cf0565b610456610451366004611c8f565b610d1d565b604051901515815260200161028f565b610254610474366004611c8f565b610d38565b6000546001600160a01b03166102ab565b610254610498366004611ff4565b610dbb565b6102546104ab366004611c8f565b6110cd565b6102546104be366004611d6d565b61113e565b6102546111ac565b6102546104d9366004611ea3565b6112d5565b6102546104ec366004611e1b565b611331565b6102546104ff366004611c8f565b61141d565b610254610512366004612082565b611455565b610254610525366004611c8f565b6114b5565b610456610538366004611ea3565b611526565b61025461054b366004611f43565b611541565b61025461055e366004611c49565b6115b7565b8082111580610576575063ffffffff8210155b80610585575063ffffffff8110155b156105a3576040516370b8cc0560e11b815260040160405180910390fd5b602082901b81176105d685857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78846115bf565b6040805160018152602081018590529081018390526001600160a01b0380861691908716907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050505050565b61065b82827fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78611672565b60408051600080825260208201819052918101919091526001600160a01b0380831691908416907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050565b60008060006106c38585611733565b905060006106d387600084610b93565b428110159890975095505050505050565b600061071183837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09610b93565b9392505050565b828114610727576107276120ec565b60005b818110156107835761077b8686868481811061074857610748612102565b905060200201602081019061075d9190611f43565b85858581811061076f5761076f612102565b90506020020135610b20565b60010161072a565b505050505050565b8261079581611766565b604051630c56507560e01b81526001600160a01b0384811660048301528381166024830152851690630c56507590604401600060405180830381600087803b1580156107e057600080fd5b505af11580156107f4573d6000803e3d6000fd5b5050505050505050565b61081282600061080d8461176e565b611672565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d60006040516106a8911515815260200190565b61088683837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d0984611801565b60408051600181526001600160a01b03838116602083015280851692908616917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb91015b60405180910390a3505050565b826108e181611766565b60005b8281101561098d57846001600160a01b031663fa6e0cfe85858481811061090d5761090d612102565b90506020020160208101906109229190611f43565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260006024820152604401600060405180830381600087803b15801561096a57600080fd5b505af115801561097e573d6000803e3d6000fd5b505050508060010190506108e4565b5050505050565b8161099e81611766565b604051631ca0c40360e21b81526001600160a01b038381166004830152841690637283100c906024015b600060405180830381600087803b1580156109e257600080fd5b505af11580156109f6573d6000803e3d6000fd5b50505050505050565b6000806000610a2f85857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78610b93565b63ffffffff602082901c811697911695509350505050565b610a4f6118b6565b610a58816118e1565b50565b6000610a857f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b610a95838383611672565b505050565b610aa2611b1b565b610aac6000611b75565b565b610aba84848484611801565b50505050565b610ace838361080d84611bc5565b60408051600181526001600160a01b038381166020830152600092820192909252818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d27906060016108ca565b610b4c83837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4846115bf565b6040805160018152602081018390526001600160a01b0380851692908616917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a5391016108ca565b6001600160a01b03808416600090815260016020908152604080832093861683529281528282208483529052908120805460ff16610bf857506001600160a01b0384166000908152600160209081526040808320838052825280832085845290915290205b60010154949350505050565b84610c0e81611766565b838214610c1d57610c1d6120ec565b60005b848110156109f657866001600160a01b031663fa6e0cfe878784818110610c4957610c49612102565b9050602002016020810190610c5e9190611f43565b868685818110610c7057610c70612102565b9050602002016020810190610c859190611f43565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b158015610ccd57600080fd5b505af1158015610ce1573d6000803e3d6000fd5b50505050806001019050610c20565b600061071183837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4610b93565b6000610d2e83600061040a8561176e565b6001149392505050565b803b6000819003610d5c576040516380dddd7360e01b815260040160405180910390fd5b50610d73826000610d6c8461176e565b60016115bf565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d60016040516106a8911515815260200190565b85610dc581611766565b6001600160a01b03861615610e83576040516311a5465560e21b81526001600160a01b038781166004830152881690634695195490602401600060405180830381600087803b158015610e1757600080fd5b505af1158015610e2b573d6000803e3d6000fd5b50505050856001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610e6a57600080fd5b505af1158015610e7e573d6000803e3d6000fd5b505050505b60005b84811015610fa157876001600160a01b03166306cecba8878784818110610eaf57610eaf612102565b9050602002016020810190610ec49190611f43565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015610f0557600080fd5b505af1158015610f19573d6000803e3d6000fd5b50505050858582818110610f2f57610f2f612102565b9050602002016020810190610f449190611f43565b6001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610f7e57600080fd5b505af1158015610f92573d6000803e3d6000fd5b50505050806001019050610e86565b506001600160a01b0383161561105a576040516354fbc49360e01b81526001600160a01b0384811660048301528816906354fbc49390602401600060405180830381600087803b158015610ff457600080fd5b505af1158015611008573d6000803e3d6000fd5b50505050826001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561104757600080fd5b505af1925050508015611058575060015b505b6001600160a01b038216156109f657604051632f89bf8960e01b81526001600160a01b038381166004830152881690632f89bf8990602401600060405180830381600087803b1580156110ac57600080fd5b505af11580156110c0573d6000803e3d6000fd5b5050505050505050505050565b6110f882827feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4611672565b60408051600080825260208201526001600160a01b0380841692908516917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a5391016106a8565b600061114a8383611733565b905061115884600083611672565b826001600160a01b0316846001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc84600060405161119e92919061215e565b60405180910390a350505050565b600054600160a81b900460ff16158080156111d457506000546001600160a01b90910460ff16105b806111f55750303b1580156111f55750600054600160a01b900460ff166001145b61125d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff60a01b1916600160a01b179055801561128a576000805460ff60a81b1916600160a81b1790555b8015610a58576000805460ff60a81b19169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6112e38383610d6c84611bc5565b6040805160018082526001600160a01b03848116602084015292820152818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d27906060016108ca565b8461133b81611766565b83821461134a5761134a6120ec565b60005b848110156109f657866001600160a01b0316630c56507587878481811061137657611376612102565b905060200201602081019061138b9190611f43565b86868581811061139d5761139d612102565b90506020020160208101906113b29190611f43565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b1580156113fa57600080fd5b505af115801561140e573d6000803e3d6000fd5b5050505080600101905061134d565b8161142781611766565b6040516315a024e160e01b81526001600160a01b0383811660048301528416906315a024e1906024016109c8565b60006114618484611733565b905061147085600083856115bf565b836001600160a01b0316856001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc858560405161062192919061215e565b6114e082827f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09611672565b60408051600080825260208201526001600160a01b0380841692908516917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb91016106a8565b6000611536848461040a85611bc5565b600114949350505050565b611549611b1b565b6001600160a01b0381166115ae5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401611254565b610a5881611b75565b610aba848484845b836115c981611766565b60408051848152600160208201529081018390526001600160a01b0380861691908716907f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e3909060600160405180910390a350604080518082018252600180825260208083019485526001600160a01b039788166000908152828252848120979098168852958652828720948752939094529093209151825460ff19169015151782559151910155565b8261167c81611766565b826001600160a01b0316846001600160a01b03167f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e390846000806040516116d5939291909283529015156020830152604082015260600190565b60405180910390a350604080518082018252600080825260208083018281526001600160a01b03978816835260018083528584209790981683529581528382209482529390935291209051815460ff19169015151781559051910155565b60008282604051602001611748929190612180565b60405160208183030381529060405280519060200120905092915050565b610a586118b6565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b8361180b81611766565b60408051848152600160208201526001600160a01b03848116828401529151868316928816917f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e390919081900360600190a35060408051808201825260018082526001600160a01b03938416602080840191825297851660009081528289528481209790951685529587528284209484529390955290209251835460ff19169015151783559051910155565b6000546001600160a01b03163314610aac57604051638c809f9b60e01b815260040160405180910390fd5b600061190b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036119615760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611254565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561199f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c3919061220d565b7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb238305423914611a3d5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611254565b6001600160a01b0381163003611a955760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611254565b611abd817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb2383054239604080519182526001600160a01b0384166020830152016112ca565b6000546001600160a01b03163314610aac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611254565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c0016117e4565b6001600160a01b0381168114610a5857600080fd5b60008060008060808587031215611c5f57600080fd5b8435611c6a81611c34565b93506020850135611c7a81611c34565b93969395505050506040820135916060013590565b60008060408385031215611ca257600080fd5b8235611cad81611c34565b91506020830135611cbd81611c34565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611cef57600080fd5b813567ffffffffffffffff811115611d0957611d09611cc8565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611d3857611d38611cc8565b604052818152838201602001851015611d5057600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215611d8257600080fd5b8335611d8d81611c34565b92506020840135611d9d81611c34565b9150604084013567ffffffffffffffff811115611db957600080fd5b611dc586828701611cde565b9150509250925092565b60008083601f840112611de157600080fd5b50813567ffffffffffffffff811115611df957600080fd5b6020830191508360208260051b8501011115611e1457600080fd5b9250929050565b600080600080600060608688031215611e3357600080fd5b8535611e3e81611c34565b9450602086013567ffffffffffffffff811115611e5a57600080fd5b611e6688828901611dcf565b909550935050604086013567ffffffffffffffff811115611e8657600080fd5b611e9288828901611dcf565b969995985093965092949392505050565b600080600060608486031215611eb857600080fd5b8335611ec381611c34565b92506020840135611ed381611c34565b91506040840135611ee381611c34565b809150509250925092565b600080600060408486031215611f0357600080fd5b8335611f0e81611c34565b9250602084013567ffffffffffffffff811115611f2a57600080fd5b611f3686828701611dcf565b9497909650939450505050565b600060208284031215611f5557600080fd5b813561071181611c34565b600080600060608486031215611f7557600080fd5b8335611f8081611c34565b92506020840135611f9081611c34565b929592945050506040919091013590565b60008060008060808587031215611fb757600080fd5b8435611fc281611c34565b93506020850135611fd281611c34565b9250604085013591506060850135611fe981611c34565b939692955090935050565b60008060008060008060a0878903121561200d57600080fd5b863561201881611c34565b9550602087013561202881611c34565b9450604087013567ffffffffffffffff81111561204457600080fd5b61205089828a01611dcf565b909550935050606087013561206481611c34565b9150608087013561207481611c34565b809150509295509295509295565b6000806000806080858703121561209857600080fd5b84356120a381611c34565b935060208501356120b381611c34565b9250604085013567ffffffffffffffff8111156120cf57600080fd5b6120db87828801611cde565b949793965093946060013593505050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000815180845260005b8181101561213e57602081850181015186830182015201612122565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006121716040830185612118565b90508260208301529392505050565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e06040820152600061220560e0830184612118565b949350505050565b60006020828403121561221f57600080fd5b505191905056fea2646970667358221220ddddbe86c88e4f13fe7b92d85ad403f7d0f81b65d321cd2000d543619d557f3564736f6c634300081a0033";
1161
1161
  const isSuperArgs = (xs) => xs.length > 1;
1162
1162
  export class SuperfluidGovernanceIIUpgradabilityTester__factory extends ContractFactory {
1163
1163
  constructor(...args) {