@superfluid-finance/sdk-core 0.8.1-dev.3989df1.0 → 0.8.1-dev.5b5c548.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 (447) hide show
  1. package/dist/index.umd.js +422 -238
  2. package/dist/main/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts +9 -1
  3. package/dist/main/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts.map +1 -1
  4. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock.d.ts +17 -9
  5. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock.d.ts.map +1 -1
  6. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester.d.ts +17 -9
  7. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester.d.ts.map +1 -1
  8. package/dist/main/typechain-types/contracts/superfluid/Superfluid.d.ts +17 -9
  9. package/dist/main/typechain-types/contracts/superfluid/Superfluid.d.ts.map +1 -1
  10. package/dist/main/typechain-types/contracts/utils/{DMZForwarder.d.ts → ERC2771Forwarder.d.ts} +5 -24
  11. package/dist/main/typechain-types/contracts/utils/ERC2771Forwarder.d.ts.map +1 -0
  12. package/dist/main/typechain-types/contracts/utils/ERC2771Forwarder.js +3 -0
  13. package/dist/main/typechain-types/contracts/utils/ERC2771Forwarder.js.map +1 -0
  14. package/dist/main/typechain-types/contracts/utils/MacroForwarder.d.ts +5 -5
  15. package/dist/main/typechain-types/contracts/utils/MacroForwarder.d.ts.map +1 -1
  16. package/dist/main/typechain-types/contracts/utils/SimpleForwarder.d.ts +125 -0
  17. package/dist/main/typechain-types/contracts/utils/SimpleForwarder.d.ts.map +1 -0
  18. package/dist/main/typechain-types/contracts/utils/SimpleForwarder.js +3 -0
  19. package/dist/main/typechain-types/contracts/utils/SimpleForwarder.js.map +1 -0
  20. package/dist/main/typechain-types/contracts/utils/{SuperfluidFrameworkDeployer.d.ts → SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.d.ts} +1 -1
  21. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.d.ts.map +1 -0
  22. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.js.map +1 -0
  23. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts +2 -0
  24. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts.map +1 -0
  25. package/dist/main/typechain-types/contracts/utils/{DMZForwarder.js → SuperfluidFrameworkDeployer.t.sol/index.js} +1 -1
  26. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.js.map +1 -0
  27. package/dist/main/typechain-types/contracts/utils/{SuperfluidFrameworkDeploymentSteps.d.ts → SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.d.ts} +1 -1
  28. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.d.ts.map +1 -0
  29. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.js.map +1 -0
  30. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts +2 -0
  31. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts.map +1 -0
  32. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.js +3 -0
  33. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.js.map +1 -0
  34. package/dist/main/typechain-types/contracts/utils/index.d.ts +6 -3
  35. package/dist/main/typechain-types/contracts/utils/index.d.ts.map +1 -1
  36. package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts +1 -1
  37. package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js +1 -1
  38. package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts +1 -1
  39. package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js +1 -1
  40. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts +1 -1
  41. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js +1 -1
  42. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.d.ts +1 -1
  43. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.js +1 -1
  44. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.d.ts +1 -1
  45. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.js +1 -1
  46. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts +1 -1
  47. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js +1 -1
  48. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.d.ts +1 -1
  49. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.js +1 -1
  50. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.d.ts +1 -1
  51. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.js +1 -1
  52. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.d.ts +10 -0
  53. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.d.ts.map +1 -1
  54. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js +13 -0
  55. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js.map +1 -1
  56. package/dist/main/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.d.ts +1 -1
  57. package/dist/main/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.js +1 -1
  58. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.d.ts +1 -1
  59. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.js +1 -1
  60. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.d.ts +1 -1
  61. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.js +1 -1
  62. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.d.ts +1 -1
  63. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.js +1 -1
  64. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.d.ts +1 -1
  65. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.js +1 -1
  66. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.d.ts +1 -1
  67. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.js +1 -1
  68. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock__factory.d.ts +1 -1
  69. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock__factory.js +1 -1
  70. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock__factory.d.ts +1 -1
  71. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock__factory.js +1 -1
  72. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.d.ts +1 -1
  73. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.js +1 -1
  74. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.d.ts +1 -1
  75. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.js +1 -1
  76. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.d.ts +1 -1
  77. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.js +1 -1
  78. package/dist/main/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.d.ts +1 -1
  79. package/dist/main/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.js +1 -1
  80. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock__factory.d.ts +1 -1
  81. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock__factory.js +1 -1
  82. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock__factory.d.ts +1 -1
  83. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock__factory.js +1 -1
  84. package/dist/main/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.d.ts +1 -1
  85. package/dist/main/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.js +1 -1
  86. package/dist/main/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.d.ts +1 -1
  87. package/dist/main/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.js +1 -1
  88. package/dist/main/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.d.ts +1 -1
  89. package/dist/main/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.js +1 -1
  90. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.d.ts +1 -1
  91. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.js +1 -1
  92. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.d.ts +1 -1
  93. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.js +1 -1
  94. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.d.ts +1 -1
  95. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.js +1 -1
  96. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.d.ts +1 -1
  97. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.js +1 -1
  98. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.d.ts +1 -1
  99. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.js +1 -1
  100. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.d.ts +1 -1
  101. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.js +1 -1
  102. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.d.ts +1 -1
  103. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.js +1 -1
  104. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.d.ts +1 -1
  105. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.js +1 -1
  106. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.d.ts +1 -1
  107. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.js +1 -1
  108. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.d.ts +1 -1
  109. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.js +1 -1
  110. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.d.ts +1 -1
  111. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.js +1 -1
  112. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.d.ts +1 -1
  113. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.js +1 -1
  114. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.d.ts +1 -1
  115. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.js +1 -1
  116. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.d.ts +1 -1
  117. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.js +1 -1
  118. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.d.ts +1 -1
  119. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.js +1 -1
  120. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.d.ts +1 -1
  121. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.js +1 -1
  122. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock__factory.d.ts +1 -1
  123. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock__factory.js +1 -1
  124. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock__factory.d.ts +1 -1
  125. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock__factory.js +1 -1
  126. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.d.ts +1 -1
  127. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.js +1 -1
  128. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.d.ts +1 -1
  129. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.js +1 -1
  130. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.d.ts +1 -1
  131. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.js +1 -1
  132. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.d.ts +1 -1
  133. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.js +1 -1
  134. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.d.ts +24 -14
  135. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.d.ts.map +1 -1
  136. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.js +31 -18
  137. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.js.map +1 -1
  138. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.d.ts +21 -11
  139. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.d.ts.map +1 -1
  140. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.js +26 -13
  141. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.js.map +1 -1
  142. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.d.ts +1 -1
  143. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.js +1 -1
  144. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts +1 -1
  145. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.js +1 -1
  146. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts +24 -14
  147. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts.map +1 -1
  148. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.js +31 -18
  149. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.js.map +1 -1
  150. package/dist/main/typechain-types/factories/contracts/utils/BatchLiquidator__factory.d.ts +1 -1
  151. package/dist/main/typechain-types/factories/contracts/utils/BatchLiquidator__factory.js +1 -1
  152. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts +1 -1
  153. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts.map +1 -1
  154. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js +1 -1
  155. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js.map +1 -1
  156. package/dist/main/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.d.ts +98 -0
  157. package/dist/main/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.d.ts.map +1 -0
  158. package/dist/main/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.js +142 -0
  159. package/dist/main/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.js.map +1 -0
  160. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts +1 -1
  161. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts.map +1 -1
  162. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js +1 -1
  163. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js.map +1 -1
  164. package/dist/main/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.d.ts +1 -1
  165. package/dist/main/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.d.ts.map +1 -1
  166. package/dist/main/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.js +1 -1
  167. package/dist/main/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.js.map +1 -1
  168. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts +2 -2
  169. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts.map +1 -1
  170. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.js +2 -2
  171. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.js.map +1 -1
  172. package/dist/main/typechain-types/factories/contracts/utils/SimpleForwarder__factory.d.ts +94 -0
  173. package/dist/main/typechain-types/factories/contracts/utils/SimpleForwarder__factory.d.ts.map +1 -0
  174. package/dist/main/typechain-types/factories/contracts/utils/SimpleForwarder__factory.js +137 -0
  175. package/dist/main/typechain-types/factories/contracts/utils/SimpleForwarder__factory.js.map +1 -0
  176. package/dist/main/typechain-types/factories/contracts/utils/SuperUpgrader__factory.d.ts +1 -1
  177. package/dist/main/typechain-types/factories/contracts/utils/SuperUpgrader__factory.js +1 -1
  178. package/dist/main/typechain-types/factories/contracts/utils/{SuperfluidFrameworkDeployer__factory.d.ts → SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.d.ts} +18 -18
  179. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.d.ts.map +1 -0
  180. package/dist/main/typechain-types/factories/contracts/utils/{SuperfluidFrameworkDeployer__factory.js → SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.js} +17 -17
  181. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.js.map +1 -0
  182. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts +2 -0
  183. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts.map +1 -0
  184. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.js +9 -0
  185. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.js.map +1 -0
  186. package/dist/{module/typechain-types/factories/contracts/utils → main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol}/SuperfluidFrameworkDeploymentSteps__factory.d.ts +17 -17
  187. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.d.ts.map +1 -0
  188. package/dist/main/typechain-types/factories/contracts/utils/{SuperfluidFrameworkDeploymentSteps__factory.js → SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.js} +16 -16
  189. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.js.map +1 -0
  190. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts +2 -0
  191. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts.map +1 -0
  192. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.js +9 -0
  193. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.js.map +1 -0
  194. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.d.ts +1 -1
  195. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.js +1 -1
  196. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts +1 -1
  197. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.js +1 -1
  198. package/dist/main/typechain-types/factories/contracts/utils/TestGovernance__factory.d.ts +1 -1
  199. package/dist/main/typechain-types/factories/contracts/utils/TestGovernance__factory.js +1 -1
  200. package/dist/main/typechain-types/factories/contracts/utils/index.d.ts +4 -3
  201. package/dist/main/typechain-types/factories/contracts/utils/index.d.ts.map +1 -1
  202. package/dist/main/typechain-types/factories/contracts/utils/index.js +7 -7
  203. package/dist/main/typechain-types/factories/contracts/utils/index.js.map +1 -1
  204. package/dist/main/typechain-types/index.d.ts +8 -6
  205. package/dist/main/typechain-types/index.d.ts.map +1 -1
  206. package/dist/main/typechain-types/index.js +8 -6
  207. package/dist/main/typechain-types/index.js.map +1 -1
  208. package/dist/module/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts +9 -1
  209. package/dist/module/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts.map +1 -1
  210. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock.d.ts +17 -9
  211. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock.d.ts.map +1 -1
  212. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester.d.ts +17 -9
  213. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester.d.ts.map +1 -1
  214. package/dist/module/typechain-types/contracts/superfluid/Superfluid.d.ts +17 -9
  215. package/dist/module/typechain-types/contracts/superfluid/Superfluid.d.ts.map +1 -1
  216. package/dist/module/typechain-types/contracts/utils/{DMZForwarder.d.ts → ERC2771Forwarder.d.ts} +5 -24
  217. package/dist/module/typechain-types/contracts/utils/ERC2771Forwarder.d.ts.map +1 -0
  218. package/dist/module/typechain-types/contracts/utils/ERC2771Forwarder.js +2 -0
  219. package/dist/module/typechain-types/contracts/utils/ERC2771Forwarder.js.map +1 -0
  220. package/dist/module/typechain-types/contracts/utils/MacroForwarder.d.ts +5 -5
  221. package/dist/module/typechain-types/contracts/utils/MacroForwarder.d.ts.map +1 -1
  222. package/dist/module/typechain-types/contracts/utils/SimpleForwarder.d.ts +125 -0
  223. package/dist/module/typechain-types/contracts/utils/SimpleForwarder.d.ts.map +1 -0
  224. package/dist/module/typechain-types/contracts/utils/SimpleForwarder.js +2 -0
  225. package/dist/module/typechain-types/contracts/utils/SimpleForwarder.js.map +1 -0
  226. package/dist/module/typechain-types/contracts/utils/{SuperfluidFrameworkDeployer.d.ts → SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.d.ts} +1 -1
  227. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.d.ts.map +1 -0
  228. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.js.map +1 -0
  229. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts +2 -0
  230. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts.map +1 -0
  231. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.js +2 -0
  232. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.js.map +1 -0
  233. package/dist/module/typechain-types/contracts/utils/{SuperfluidFrameworkDeploymentSteps.d.ts → SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.d.ts} +1 -1
  234. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.d.ts.map +1 -0
  235. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.js.map +1 -0
  236. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts +2 -0
  237. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts.map +1 -0
  238. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.js +2 -0
  239. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.js.map +1 -0
  240. package/dist/module/typechain-types/contracts/utils/index.d.ts +6 -3
  241. package/dist/module/typechain-types/contracts/utils/index.d.ts.map +1 -1
  242. package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts +1 -1
  243. package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js +1 -1
  244. package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts +1 -1
  245. package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js +1 -1
  246. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts +1 -1
  247. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js +1 -1
  248. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.d.ts +1 -1
  249. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.js +1 -1
  250. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.d.ts +1 -1
  251. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.js +1 -1
  252. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts +1 -1
  253. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js +1 -1
  254. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.d.ts +1 -1
  255. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.js +1 -1
  256. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.d.ts +1 -1
  257. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.js +1 -1
  258. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.d.ts +10 -0
  259. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.d.ts.map +1 -1
  260. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js +13 -0
  261. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js.map +1 -1
  262. package/dist/module/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.d.ts +1 -1
  263. package/dist/module/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.js +1 -1
  264. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.d.ts +1 -1
  265. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.js +1 -1
  266. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.d.ts +1 -1
  267. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.js +1 -1
  268. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.d.ts +1 -1
  269. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.js +1 -1
  270. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.d.ts +1 -1
  271. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.js +1 -1
  272. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.d.ts +1 -1
  273. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.js +1 -1
  274. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock__factory.d.ts +1 -1
  275. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibraryMock__factory.js +1 -1
  276. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock__factory.d.ts +1 -1
  277. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.t.sol/CFALibrarySuperAppMock__factory.js +1 -1
  278. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.d.ts +1 -1
  279. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.js +1 -1
  280. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.d.ts +1 -1
  281. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.js +1 -1
  282. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.d.ts +1 -1
  283. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.js +1 -1
  284. package/dist/module/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.d.ts +1 -1
  285. package/dist/module/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.js +1 -1
  286. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock__factory.d.ts +1 -1
  287. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibraryMock__factory.js +1 -1
  288. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock__factory.d.ts +1 -1
  289. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.t.sol/IDAv1LibrarySuperAppMock__factory.js +1 -1
  290. package/dist/module/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.d.ts +1 -1
  291. package/dist/module/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.js +1 -1
  292. package/dist/module/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.d.ts +1 -1
  293. package/dist/module/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.js +1 -1
  294. package/dist/module/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.d.ts +1 -1
  295. package/dist/module/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.js +1 -1
  296. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.d.ts +1 -1
  297. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.js +1 -1
  298. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.d.ts +1 -1
  299. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.js +1 -1
  300. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.d.ts +1 -1
  301. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.js +1 -1
  302. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.d.ts +1 -1
  303. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.js +1 -1
  304. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.d.ts +1 -1
  305. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.js +1 -1
  306. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.d.ts +1 -1
  307. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.js +1 -1
  308. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.d.ts +1 -1
  309. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.js +1 -1
  310. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.d.ts +1 -1
  311. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.js +1 -1
  312. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.d.ts +1 -1
  313. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.js +1 -1
  314. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.d.ts +1 -1
  315. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.js +1 -1
  316. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.d.ts +1 -1
  317. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.js +1 -1
  318. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.d.ts +1 -1
  319. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.js +1 -1
  320. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.d.ts +1 -1
  321. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.js +1 -1
  322. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.d.ts +1 -1
  323. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.js +1 -1
  324. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.d.ts +1 -1
  325. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.js +1 -1
  326. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.d.ts +1 -1
  327. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.js +1 -1
  328. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock__factory.d.ts +1 -1
  329. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDAMock__factory.js +1 -1
  330. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock__factory.d.ts +1 -1
  331. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryIDASuperAppMock__factory.js +1 -1
  332. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.d.ts +1 -1
  333. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.js +1 -1
  334. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.d.ts +1 -1
  335. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.js +1 -1
  336. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.d.ts +1 -1
  337. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.js +1 -1
  338. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.d.ts +1 -1
  339. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.js +1 -1
  340. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.d.ts +24 -14
  341. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.d.ts.map +1 -1
  342. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.js +31 -18
  343. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.js.map +1 -1
  344. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.d.ts +21 -11
  345. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.d.ts.map +1 -1
  346. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.js +26 -13
  347. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.js.map +1 -1
  348. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.d.ts +1 -1
  349. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.js +1 -1
  350. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts +1 -1
  351. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.js +1 -1
  352. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts +24 -14
  353. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts.map +1 -1
  354. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.js +31 -18
  355. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.js.map +1 -1
  356. package/dist/module/typechain-types/factories/contracts/utils/BatchLiquidator__factory.d.ts +1 -1
  357. package/dist/module/typechain-types/factories/contracts/utils/BatchLiquidator__factory.js +1 -1
  358. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts +1 -1
  359. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts.map +1 -1
  360. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js +1 -1
  361. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js.map +1 -1
  362. package/dist/module/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.d.ts +98 -0
  363. package/dist/module/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.d.ts.map +1 -0
  364. package/dist/module/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.js +138 -0
  365. package/dist/module/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.js.map +1 -0
  366. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts +1 -1
  367. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts.map +1 -1
  368. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js +1 -1
  369. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js.map +1 -1
  370. package/dist/module/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.d.ts +1 -1
  371. package/dist/module/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.d.ts.map +1 -1
  372. package/dist/module/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.js +1 -1
  373. package/dist/module/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.js.map +1 -1
  374. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts +2 -2
  375. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts.map +1 -1
  376. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.js +2 -2
  377. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.js.map +1 -1
  378. package/dist/module/typechain-types/factories/contracts/utils/SimpleForwarder__factory.d.ts +94 -0
  379. package/dist/module/typechain-types/factories/contracts/utils/SimpleForwarder__factory.d.ts.map +1 -0
  380. package/dist/module/typechain-types/factories/contracts/utils/SimpleForwarder__factory.js +133 -0
  381. package/dist/module/typechain-types/factories/contracts/utils/SimpleForwarder__factory.js.map +1 -0
  382. package/dist/module/typechain-types/factories/contracts/utils/SuperUpgrader__factory.d.ts +1 -1
  383. package/dist/module/typechain-types/factories/contracts/utils/SuperUpgrader__factory.js +1 -1
  384. package/dist/module/typechain-types/factories/contracts/utils/{SuperfluidFrameworkDeployer__factory.d.ts → SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.d.ts} +18 -18
  385. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.d.ts.map +1 -0
  386. package/dist/module/typechain-types/factories/contracts/utils/{SuperfluidFrameworkDeployer__factory.js → SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.js} +17 -17
  387. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.js.map +1 -0
  388. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts +2 -0
  389. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.d.ts.map +1 -0
  390. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.js +5 -0
  391. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/index.js.map +1 -0
  392. package/dist/{main/typechain-types/factories/contracts/utils → module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol}/SuperfluidFrameworkDeploymentSteps__factory.d.ts +17 -17
  393. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.d.ts.map +1 -0
  394. package/dist/module/typechain-types/factories/contracts/utils/{SuperfluidFrameworkDeploymentSteps__factory.js → SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.js} +16 -16
  395. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.js.map +1 -0
  396. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts +2 -0
  397. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.d.ts.map +1 -0
  398. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.js +5 -0
  399. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/index.js.map +1 -0
  400. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.d.ts +1 -1
  401. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.js +1 -1
  402. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts +1 -1
  403. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.js +1 -1
  404. package/dist/module/typechain-types/factories/contracts/utils/TestGovernance__factory.d.ts +1 -1
  405. package/dist/module/typechain-types/factories/contracts/utils/TestGovernance__factory.js +1 -1
  406. package/dist/module/typechain-types/factories/contracts/utils/index.d.ts +4 -3
  407. package/dist/module/typechain-types/factories/contracts/utils/index.d.ts.map +1 -1
  408. package/dist/module/typechain-types/factories/contracts/utils/index.js +4 -3
  409. package/dist/module/typechain-types/factories/contracts/utils/index.js.map +1 -1
  410. package/dist/module/typechain-types/index.d.ts +8 -6
  411. package/dist/module/typechain-types/index.d.ts.map +1 -1
  412. package/dist/module/typechain-types/index.js +4 -3
  413. package/dist/module/typechain-types/index.js.map +1 -1
  414. package/package.json +3 -3
  415. package/dist/main/typechain-types/contracts/utils/DMZForwarder.d.ts.map +0 -1
  416. package/dist/main/typechain-types/contracts/utils/DMZForwarder.js.map +0 -1
  417. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.d.ts.map +0 -1
  418. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.js.map +0 -1
  419. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.d.ts.map +0 -1
  420. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.js.map +0 -1
  421. package/dist/main/typechain-types/factories/contracts/utils/DMZForwarder__factory.d.ts +0 -120
  422. package/dist/main/typechain-types/factories/contracts/utils/DMZForwarder__factory.d.ts.map +0 -1
  423. package/dist/main/typechain-types/factories/contracts/utils/DMZForwarder__factory.js +0 -171
  424. package/dist/main/typechain-types/factories/contracts/utils/DMZForwarder__factory.js.map +0 -1
  425. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts.map +0 -1
  426. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js.map +0 -1
  427. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts.map +0 -1
  428. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js.map +0 -1
  429. package/dist/module/typechain-types/contracts/utils/DMZForwarder.d.ts.map +0 -1
  430. package/dist/module/typechain-types/contracts/utils/DMZForwarder.js +0 -2
  431. package/dist/module/typechain-types/contracts/utils/DMZForwarder.js.map +0 -1
  432. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.d.ts.map +0 -1
  433. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.js.map +0 -1
  434. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.d.ts.map +0 -1
  435. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.js.map +0 -1
  436. package/dist/module/typechain-types/factories/contracts/utils/DMZForwarder__factory.d.ts +0 -120
  437. package/dist/module/typechain-types/factories/contracts/utils/DMZForwarder__factory.d.ts.map +0 -1
  438. package/dist/module/typechain-types/factories/contracts/utils/DMZForwarder__factory.js +0 -167
  439. package/dist/module/typechain-types/factories/contracts/utils/DMZForwarder__factory.js.map +0 -1
  440. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts.map +0 -1
  441. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js.map +0 -1
  442. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts.map +0 -1
  443. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js.map +0 -1
  444. /package/dist/main/typechain-types/contracts/utils/{SuperfluidFrameworkDeployer.js → SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.js} +0 -0
  445. /package/dist/main/typechain-types/contracts/utils/{SuperfluidFrameworkDeploymentSteps.js → SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.js} +0 -0
  446. /package/dist/module/typechain-types/contracts/utils/{SuperfluidFrameworkDeployer.js → SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.js} +0 -0
  447. /package/dist/module/typechain-types/contracts/utils/{SuperfluidFrameworkDeploymentSteps.js → SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.js} +0 -0
@@ -12,7 +12,7 @@ export declare class NoNFTSuperTokenMock__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): NoNFTSuperTokenMock;
14
14
  connect(signer: Signer): NoNFTSuperTokenMock__factory;
15
- static readonly bytecode = "0x60a0604052348015600f57600080fd5b50604051612717380380612717833981016040819052602c91603c565b6001600160a01b0316608052606a565b600060208284031215604d57600080fd5b81516001600160a01b0381168114606357600080fd5b9392505050565b60805161265a6100bd600039600081816101840152818161052a01528181610922015281816109f101528181610c6e01528181610eb201528181610f47015281816111df0152611276015261265a6000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806350d75d25116100b8578063a1b2bf8b1161007c578063a1b2bf8b146102f2578063b84cdd4a14610305578063bb0d196e14610318578063cf97256d1461032b578063d9d078d61461033e578063eb3537cc1461035157600080fd5b806350d75d251461027e57806352d1902d146102865780636c2d9f2f146102b457806379359f6f146102c75780639903ad38146102ea57600080fd5b80632ec8eec71161010a5780632ec8eec7146101d4578063386fa2211461020757806342fe09801461022757806345977d031461023a578063469519541461024d5780634b61cc331461025e57600080fd5b8063090c415e1461014757806312a6a3f81461015c5780631863e8091461016f57806320bc44251461018257806327048397146101c1575b600080fd5b61015a610155366004611b86565b61037f565b005b61015a61016a366004611be1565b610432565b61015a61017d366004611c8b565b610515565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020015b60405180910390f35b61015a6101cf366004611d73565b61087e565b6101e76101e2366004611d95565b61091a565b6040805194855260208501939093529183015260608201526080016101b8565b61021a610215366004611d95565b6109bd565b6040516101b89190611db9565b61015a610235366004611e46565b610a66565b61015a610248366004611ee4565b610b84565b61015a61025b366004611d95565b50565b61027161026c366004611efd565b610bb0565b6040516101b89190611f43565b6101a4610bf5565b6040517f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb001981526020016101b8565b6102716102c2366004611f7b565b610c24565b6102da6102d5366004611d95565b610c66565b60405190151581526020016101b8565b61015a610cee565b61015a610300366004611be1565b610daf565b6102da610313366004611fb0565b610e59565b6102da610326366004611d95565b610eaa565b61015a610339366004611fb0565b610f32565b6102da61034c366004611fb0565b61101b565b61036461035f366004611fb0565b611035565b604080519384526020840192909252908201526060016101b8565b600033858560405160200161039693929190611fdc565b6040516020818303038152906040528051906020012090506103eb8184848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061116992505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b604051339060009061044a9083908790602001612025565b60408051601f198184030181529190528051602090910120905061046e81846111a6565b1561048c5760405163782a90fb60e11b815260040160405180910390fd5b6104c98185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061116992505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d86868660405161050693929190612062565b60405180910390a25050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610579573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059d91906120a3565b6105ba5760405163327fd99160e21b815260040160405180910390fd5b60006105c46111da565b90506001600160a01b0381166105d75750845b6000856105e457866105e6565b815b9050600083136106c6576105f9836120d6565b6106028561131f565b1461060f5761060f6120f2565b6106188461131f565b6001600160a01b03821660009081526002602052604081208054909190610640908490612108565b90915550506001600160a01b0385166000908152600260205260408120805485929061066d908490612108565b92505081905550806001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516106b991815260200190565b60405180910390a3610816565b85156106d4576106d46120f2565b826106de8561131f565b6106e89190612108565b6001600160a01b03831660009081526002602052604081208054909190610710908490612130565b9091555061071f90508461131f565b6001600160a01b03881660009081526002602052604081208054909190610747908490612108565b90915550506001600160a01b03851660009081526002602052604081208054859290610774908490612108565b92505081905550866001600160a01b0316826001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516107c091815260200190565b60405180910390a3846001600160a01b0316826001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161080d91815260200190565b60405180910390a35b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f60405161086b9594939291906121a0565b60405180910390a4505050505050505050565b60405133906000906108969083908690602001612025565b6040516020818303038152906040528051906020012090506108b881846111a6565b6108d55760405163dae1880960e01b815260040160405180910390fd5b6108df818461138d565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b9060200160405180910390a250505050565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561097e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a291906121d3565b90506109ae8582611035565b91979096509094509092509050565b6001600160a01b038181166000908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d90602401600060405180830381865afa158015610a38573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a6091908101906121ec565b92915050565b600054610100900460ff1615808015610a865750600054600160ff909116105b80610aa05750303b158015610aa0575060005460ff166001145b610ac55760405162461bcd60e51b8152600401610abc90612298565b60405180910390fd5b6000805460ff191660011790558015610ae8576000805461ff0019166101001790555b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f610b1d858783612367565b506010610b2b838583612367565b50610b35306113a6565b8015610b7b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b61025b3333338460405180602001604052806000815250604051806020016040528060008152506114db565b60606000858585604051602001610bc993929190611fdc565b604051602081830303815290604052805190602001209050610beb818461166f565b9695505050505050565b6000610c1f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b606060008484604051602001610c3b929190612025565b604051602081830303815290604052805190602001209050610c5d818461166f565b95945050505050565b6000610a60827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cca573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034c91906121d3565b600054610100900460ff1615808015610d0e5750600054600160ff909116105b80610d285750303b158015610d28575060005460ff166001145b610d445760405162461bcd60e51b8152600401610abc90612298565b6000805460ff191660011790558015610d67576000805461ff0019166101001790555b801561025b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6040513390600090610dc79083908790602001612025565b604051602081830303815290604052805190602001209050610e1c8185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061116992505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca86868660405161050693929190612062565b600080600080610e698686611035565b9250925092506000610e91828411610e8257600061131f565b610e8c8385612426565b61131f565b610e9b9085612108565b60001315979650505050505050565b6000610a60827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f0e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031391906121d3565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610f96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fba91906120a3565b610fd75760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b038216600090815260026020526040902054610ffb908290612108565b6001600160a01b0390921660009081526002602052604090209190915550565b6000806110288484611035565b5050600013949350505050565b6001600160a01b03821660009081526002602052604081205490808061105a866109bd565b905060005b815181101561116057600080600084848151811061107f5761107f612439565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa1580156110de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611102919061244f565b91945092509050611113828861247d565b965061111f818761247d565b955061113c81831161113257600061131f565b610e8c8284612426565b611146848a612108565b6111509190612130565b975050505080600101905061105f565b50509250925092565b60005b81518110156111a157600082828151811061118957611189612439565b6020908102919091010151848301555060010161116c565b505050565b6000805b828110156111d0578381015480156111c757600192505050610a60565b506001016111aa565b5060009392505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561123b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125f9190612490565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa1580156112f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113199190612490565b91505090565b60006001600160ff1b038211156113895760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608401610abc565b5090565b60005b818110156111a157600083820155600101611390565b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b15801561142757600080fd5b505af115801561143b573d6000803e3d6000fd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b1580156114c057600080fd5b505af11580156114d4573d6000803e3d6000fd5b5050505050565b600e546001600160a01b031661150d5760405162461bcd60e51b81526020600482015260006024820152604401610abc565b600080611519856116f6565b600e546040516370a0823160e01b81523060048201529294509092506000916001600160a01b03909116906370a0823190602401602060405180830381865afa15801561156a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158e91906121d3565b600e549091506115a9906001600160a01b03168930866117b5565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156115f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161691906121d3565b905060006116248383612426565b905080851461164f5760405162461bcd60e51b81526020600482015260006024820152604401610abc565b6116628b8a868a51600014158b8b611815565b5050505050505050505050565b6060816001600160401b0381111561168957611689611c2c565b6040519080825280602002602001820160405280156116b2578160200160208202803683370190505b50905060005b828110156116ef576000818501549050808383815181106116db576116db612439565b6020908102919091010152506001016116b8565b5092915050565b60008060006012600e60149054906101000a900460ff1660ff16101561175857600e5461172e90600160a01b900460ff1660126124ad565b61173990600a6125ad565b905061174581856125bc565b925061175181846125de565b91506117af565b600e546012600160a01b90910460ff1611156117a857600e5461178790601290600160a01b900460ff166124ad565b61179290600a6125ad565b905061179e81856125de565b92508391506117af565b8391508192505b50915091565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261180f908590611857565b50505050565b6001600160a01b0385166118455760405162461bcd60e51b81526020600482015260006024820152604401610abc565b61184f858561192c565b505050505050565b60006118ac826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119869092919063ffffffff16565b90508051600014806118cd5750808060200190518101906118cd91906120a3565b6111a15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610abc565b6119358161131f565b6001600160a01b0383166000908152600260205260409020546119589190612108565b6001600160a01b03831660009081526002602052604090205560035461197f90829061247d565b6003555050565b6060611995848460008561199d565b949350505050565b6060824710156119fe5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610abc565b600080866001600160a01b03168587604051611a1a91906125f5565b60006040518083038185875af1925050503d8060008114611a57576040519150601f19603f3d011682016040523d82523d6000602084013e611a5c565b606091505b5091509150611a6d87838387611a78565b979650505050505050565b60608315611ae7578251600003611ae0576001600160a01b0385163b611ae05760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610abc565b5081611995565b6119958383815115611afc5781518083602001fd5b8060405162461bcd60e51b8152600401610abc9190612611565b6001600160a01b038116811461025b57600080fd5b8035611b3681611b16565b919050565b60008083601f840112611b4d57600080fd5b5081356001600160401b03811115611b6457600080fd5b6020830191508360208260051b8501011115611b7f57600080fd5b9250929050565b60008060008060608587031215611b9c57600080fd5b8435611ba781611b16565b93506020850135925060408501356001600160401b03811115611bc957600080fd5b611bd587828801611b3b565b95989497509550505050565b600080600060408486031215611bf657600080fd5b8335925060208401356001600160401b03811115611c1357600080fd5b611c1f86828701611b3b565b9497909650939450505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611c6a57611c6a611c2c565b604052919050565b801515811461025b57600080fd5b8035611b3681611c72565b600080600080600080600060e0888a031215611ca657600080fd5b8735965060208801356001600160401b03811115611cc357600080fd5b8801601f81018a13611cd457600080fd5b80356001600160401b03811115611ced57611ced611c2c565b611d00601f8201601f1916602001611c42565b8181528b6020838501011115611d1557600080fd5b81602084016020830137600060208383010152809850505050611d3a60408901611b2b565b9450611d4860608901611c80565b9350611d5660808901611b2b565b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215611d8657600080fd5b50508035926020909101359150565b600060208284031215611da757600080fd5b8135611db281611b16565b9392505050565b602080825282518282018190526000918401906040840190835b81811015611dfa5783516001600160a01b0316835260209384019390920191600101611dd3565b509095945050505050565b60008083601f840112611e1757600080fd5b5081356001600160401b03811115611e2e57600080fd5b602083019150836020828501011115611b7f57600080fd5b60008060008060008060808789031215611e5f57600080fd5b8635611e6a81611b16565b9550602087013560ff81168114611e8057600080fd5b945060408701356001600160401b03811115611e9b57600080fd5b611ea789828a01611e05565b90955093505060608701356001600160401b03811115611ec657600080fd5b611ed289828a01611e05565b979a9699509497509295939492505050565b600060208284031215611ef657600080fd5b5035919050565b60008060008060808587031215611f1357600080fd5b8435611f1e81611b16565b93506020850135611f2e81611b16565b93969395505050506040820135916060013590565b602080825282518282018190526000918401906040840190835b81811015611dfa578351835260209384019390920191600101611f5d565b600080600060608486031215611f9057600080fd5b8335611f9b81611b16565b95602085013595506040909401359392505050565b60008060408385031215611fc357600080fd5b8235611fce81611b16565b946020939093013593505050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b838152604060208201819052810182905260006001600160fb1b0383111561208957600080fd5b8260051b8085606085013791909101606001949350505050565b6000602082840312156120b557600080fd5b8151611db281611c72565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b82016120eb576120eb6120c0565b5060000390565b634e487b7160e01b600052600160045260246000fd5b8082018281126000831280158216821582161715612128576121286120c0565b505092915050565b81810360008312801583831316838312821617156116ef576116ef6120c0565b60005b8381101561216b578181015183820152602001612153565b50506000910152565b6000815180845261218c816020860160208601612150565b601f01601f19169290920160200192915050565b85815260018060a01b038516602082015283604082015282606082015260a060808201526000611a6d60a0830184612174565b6000602082840312156121e557600080fd5b5051919050565b6000602082840312156121fe57600080fd5b81516001600160401b0381111561221457600080fd5b8201601f8101841361222557600080fd5b80516001600160401b0381111561223e5761223e611c2c565b8060051b61224e60208201611c42565b9182526020818401810192908101908784111561226a57600080fd5b6020850194505b83851015611a6d578451925061228683611b16565b82825260209485019490910190612271565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600181811c908216806122fa57607f821691505b60208210810361231a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156111a157806000526020600020601f840160051c810160208510156123475750805b601f840160051c820191505b818110156114d45760008155600101612353565b6001600160401b0383111561237e5761237e611c2c565b6123928361238c83546122e6565b83612320565b6000601f8411600181146123c657600085156123ae5750838201355b600019600387901b1c1916600186901b1783556114d4565b600083815260209020601f19861690835b828110156123f757868501358255602094850194600190920191016123d7565b50868210156124145760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b81810381811115610a6057610a606120c0565b634e487b7160e01b600052603260045260246000fd5b60008060006060848603121561246457600080fd5b5050815160208301516040909301519094929350919050565b80820180821115610a6057610a606120c0565b6000602082840312156124a257600080fd5b8151611db281611b16565b60ff8281168282160390811115610a6057610a606120c0565b6001815b6001841115612501578085048111156124e5576124e56120c0565b60018416156124f357908102905b60019390931c9280026124ca565b935093915050565b60008261251857506001610a60565b8161252557506000610a60565b816001811461253b576002811461254557612561565b6001915050610a60565b60ff841115612556576125566120c0565b50506001821b610a60565b5060208310610133831016604e8410600b8410161715612584575081810a610a60565b61259160001984846124c6565b80600019048211156125a5576125a56120c0565b029392505050565b6000611db260ff841683612509565b6000826125d957634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610a6057610a606120c0565b60008251612607818460208701612150565b9190910192915050565b602081526000611db2602083018461217456fea2646970667358221220249316c718fef5ceb0a1911f9302d4c2cabec4cec17a580883085ba23649dec064736f6c634300081a0033";
15
+ static readonly bytecode = "0x60a0604052348015600f57600080fd5b50604051612717380380612717833981016040819052602c91603c565b6001600160a01b0316608052606a565b600060208284031215604d57600080fd5b81516001600160a01b0381168114606357600080fd5b9392505050565b60805161265a6100bd600039600081816101840152818161052a01528181610922015281816109f101528181610c6e01528181610eb201528181610f47015281816111df0152611276015261265a6000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806350d75d25116100b8578063a1b2bf8b1161007c578063a1b2bf8b146102f2578063b84cdd4a14610305578063bb0d196e14610318578063cf97256d1461032b578063d9d078d61461033e578063eb3537cc1461035157600080fd5b806350d75d251461027e57806352d1902d146102865780636c2d9f2f146102b457806379359f6f146102c75780639903ad38146102ea57600080fd5b80632ec8eec71161010a5780632ec8eec7146101d4578063386fa2211461020757806342fe09801461022757806345977d031461023a578063469519541461024d5780634b61cc331461025e57600080fd5b8063090c415e1461014757806312a6a3f81461015c5780631863e8091461016f57806320bc44251461018257806327048397146101c1575b600080fd5b61015a610155366004611b86565b61037f565b005b61015a61016a366004611be1565b610432565b61015a61017d366004611c8b565b610515565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020015b60405180910390f35b61015a6101cf366004611d73565b61087e565b6101e76101e2366004611d95565b61091a565b6040805194855260208501939093529183015260608201526080016101b8565b61021a610215366004611d95565b6109bd565b6040516101b89190611db9565b61015a610235366004611e46565b610a66565b61015a610248366004611ee4565b610b84565b61015a61025b366004611d95565b50565b61027161026c366004611efd565b610bb0565b6040516101b89190611f43565b6101a4610bf5565b6040517f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb001981526020016101b8565b6102716102c2366004611f7b565b610c24565b6102da6102d5366004611d95565b610c66565b60405190151581526020016101b8565b61015a610cee565b61015a610300366004611be1565b610daf565b6102da610313366004611fb0565b610e59565b6102da610326366004611d95565b610eaa565b61015a610339366004611fb0565b610f32565b6102da61034c366004611fb0565b61101b565b61036461035f366004611fb0565b611035565b604080519384526020840192909252908201526060016101b8565b600033858560405160200161039693929190611fdc565b6040516020818303038152906040528051906020012090506103eb8184848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061116992505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b604051339060009061044a9083908790602001612025565b60408051601f198184030181529190528051602090910120905061046e81846111a6565b1561048c5760405163782a90fb60e11b815260040160405180910390fd5b6104c98185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061116992505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d86868660405161050693929190612062565b60405180910390a25050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610579573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059d91906120a3565b6105ba5760405163327fd99160e21b815260040160405180910390fd5b60006105c46111da565b90506001600160a01b0381166105d75750845b6000856105e457866105e6565b815b9050600083136106c6576105f9836120d6565b6106028561131f565b1461060f5761060f6120f2565b6106188461131f565b6001600160a01b03821660009081526002602052604081208054909190610640908490612108565b90915550506001600160a01b0385166000908152600260205260408120805485929061066d908490612108565b92505081905550806001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516106b991815260200190565b60405180910390a3610816565b85156106d4576106d46120f2565b826106de8561131f565b6106e89190612108565b6001600160a01b03831660009081526002602052604081208054909190610710908490612130565b9091555061071f90508461131f565b6001600160a01b03881660009081526002602052604081208054909190610747908490612108565b90915550506001600160a01b03851660009081526002602052604081208054859290610774908490612108565b92505081905550866001600160a01b0316826001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516107c091815260200190565b60405180910390a3846001600160a01b0316826001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161080d91815260200190565b60405180910390a35b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f60405161086b9594939291906121a0565b60405180910390a4505050505050505050565b60405133906000906108969083908690602001612025565b6040516020818303038152906040528051906020012090506108b881846111a6565b6108d55760405163dae1880960e01b815260040160405180910390fd5b6108df818461138d565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b9060200160405180910390a250505050565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561097e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a291906121d3565b90506109ae8582611035565b91979096509094509092509050565b6001600160a01b038181166000908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d90602401600060405180830381865afa158015610a38573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a6091908101906121ec565b92915050565b600054610100900460ff1615808015610a865750600054600160ff909116105b80610aa05750303b158015610aa0575060005460ff166001145b610ac55760405162461bcd60e51b8152600401610abc90612298565b60405180910390fd5b6000805460ff191660011790558015610ae8576000805461ff0019166101001790555b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f610b1d858783612367565b506010610b2b838583612367565b50610b35306113a6565b8015610b7b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b61025b3333338460405180602001604052806000815250604051806020016040528060008152506114db565b60606000858585604051602001610bc993929190611fdc565b604051602081830303815290604052805190602001209050610beb818461166f565b9695505050505050565b6000610c1f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b606060008484604051602001610c3b929190612025565b604051602081830303815290604052805190602001209050610c5d818461166f565b95945050505050565b6000610a60827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cca573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034c91906121d3565b600054610100900460ff1615808015610d0e5750600054600160ff909116105b80610d285750303b158015610d28575060005460ff166001145b610d445760405162461bcd60e51b8152600401610abc90612298565b6000805460ff191660011790558015610d67576000805461ff0019166101001790555b801561025b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6040513390600090610dc79083908790602001612025565b604051602081830303815290604052805190602001209050610e1c8185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061116992505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca86868660405161050693929190612062565b600080600080610e698686611035565b9250925092506000610e91828411610e8257600061131f565b610e8c8385612426565b61131f565b610e9b9085612108565b60001315979650505050505050565b6000610a60827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f0e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031391906121d3565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610f96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fba91906120a3565b610fd75760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b038216600090815260026020526040902054610ffb908290612108565b6001600160a01b0390921660009081526002602052604090209190915550565b6000806110288484611035565b5050600013949350505050565b6001600160a01b03821660009081526002602052604081205490808061105a866109bd565b905060005b815181101561116057600080600084848151811061107f5761107f612439565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa1580156110de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611102919061244f565b91945092509050611113828861247d565b965061111f818761247d565b955061113c81831161113257600061131f565b610e8c8284612426565b611146848a612108565b6111509190612130565b975050505080600101905061105f565b50509250925092565b60005b81518110156111a157600082828151811061118957611189612439565b6020908102919091010151848301555060010161116c565b505050565b6000805b828110156111d0578381015480156111c757600192505050610a60565b506001016111aa565b5060009392505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561123b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125f9190612490565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa1580156112f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113199190612490565b91505090565b60006001600160ff1b038211156113895760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608401610abc565b5090565b60005b818110156111a157600083820155600101611390565b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b15801561142757600080fd5b505af115801561143b573d6000803e3d6000fd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b1580156114c057600080fd5b505af11580156114d4573d6000803e3d6000fd5b5050505050565b600e546001600160a01b031661150d5760405162461bcd60e51b81526020600482015260006024820152604401610abc565b600080611519856116f6565b600e546040516370a0823160e01b81523060048201529294509092506000916001600160a01b03909116906370a0823190602401602060405180830381865afa15801561156a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158e91906121d3565b600e549091506115a9906001600160a01b03168930866117b5565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156115f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161691906121d3565b905060006116248383612426565b905080851461164f5760405162461bcd60e51b81526020600482015260006024820152604401610abc565b6116628b8a868a51600014158b8b611815565b5050505050505050505050565b6060816001600160401b0381111561168957611689611c2c565b6040519080825280602002602001820160405280156116b2578160200160208202803683370190505b50905060005b828110156116ef576000818501549050808383815181106116db576116db612439565b6020908102919091010152506001016116b8565b5092915050565b60008060006012600e60149054906101000a900460ff1660ff16101561175857600e5461172e90600160a01b900460ff1660126124ad565b61173990600a6125ad565b905061174581856125bc565b925061175181846125de565b91506117af565b600e546012600160a01b90910460ff1611156117a857600e5461178790601290600160a01b900460ff166124ad565b61179290600a6125ad565b905061179e81856125de565b92508391506117af565b8391508192505b50915091565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261180f908590611857565b50505050565b6001600160a01b0385166118455760405162461bcd60e51b81526020600482015260006024820152604401610abc565b61184f858561192c565b505050505050565b60006118ac826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119869092919063ffffffff16565b90508051600014806118cd5750808060200190518101906118cd91906120a3565b6111a15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610abc565b6119358161131f565b6001600160a01b0383166000908152600260205260409020546119589190612108565b6001600160a01b03831660009081526002602052604090205560035461197f90829061247d565b6003555050565b6060611995848460008561199d565b949350505050565b6060824710156119fe5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610abc565b600080866001600160a01b03168587604051611a1a91906125f5565b60006040518083038185875af1925050503d8060008114611a57576040519150601f19603f3d011682016040523d82523d6000602084013e611a5c565b606091505b5091509150611a6d87838387611a78565b979650505050505050565b60608315611ae7578251600003611ae0576001600160a01b0385163b611ae05760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610abc565b5081611995565b6119958383815115611afc5781518083602001fd5b8060405162461bcd60e51b8152600401610abc9190612611565b6001600160a01b038116811461025b57600080fd5b8035611b3681611b16565b919050565b60008083601f840112611b4d57600080fd5b5081356001600160401b03811115611b6457600080fd5b6020830191508360208260051b8501011115611b7f57600080fd5b9250929050565b60008060008060608587031215611b9c57600080fd5b8435611ba781611b16565b93506020850135925060408501356001600160401b03811115611bc957600080fd5b611bd587828801611b3b565b95989497509550505050565b600080600060408486031215611bf657600080fd5b8335925060208401356001600160401b03811115611c1357600080fd5b611c1f86828701611b3b565b9497909650939450505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611c6a57611c6a611c2c565b604052919050565b801515811461025b57600080fd5b8035611b3681611c72565b600080600080600080600060e0888a031215611ca657600080fd5b8735965060208801356001600160401b03811115611cc357600080fd5b8801601f81018a13611cd457600080fd5b80356001600160401b03811115611ced57611ced611c2c565b611d00601f8201601f1916602001611c42565b8181528b6020838501011115611d1557600080fd5b81602084016020830137600060208383010152809850505050611d3a60408901611b2b565b9450611d4860608901611c80565b9350611d5660808901611b2b565b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215611d8657600080fd5b50508035926020909101359150565b600060208284031215611da757600080fd5b8135611db281611b16565b9392505050565b602080825282518282018190526000918401906040840190835b81811015611dfa5783516001600160a01b0316835260209384019390920191600101611dd3565b509095945050505050565b60008083601f840112611e1757600080fd5b5081356001600160401b03811115611e2e57600080fd5b602083019150836020828501011115611b7f57600080fd5b60008060008060008060808789031215611e5f57600080fd5b8635611e6a81611b16565b9550602087013560ff81168114611e8057600080fd5b945060408701356001600160401b03811115611e9b57600080fd5b611ea789828a01611e05565b90955093505060608701356001600160401b03811115611ec657600080fd5b611ed289828a01611e05565b979a9699509497509295939492505050565b600060208284031215611ef657600080fd5b5035919050565b60008060008060808587031215611f1357600080fd5b8435611f1e81611b16565b93506020850135611f2e81611b16565b93969395505050506040820135916060013590565b602080825282518282018190526000918401906040840190835b81811015611dfa578351835260209384019390920191600101611f5d565b600080600060608486031215611f9057600080fd5b8335611f9b81611b16565b95602085013595506040909401359392505050565b60008060408385031215611fc357600080fd5b8235611fce81611b16565b946020939093013593505050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b838152604060208201819052810182905260006001600160fb1b0383111561208957600080fd5b8260051b8085606085013791909101606001949350505050565b6000602082840312156120b557600080fd5b8151611db281611c72565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b82016120eb576120eb6120c0565b5060000390565b634e487b7160e01b600052600160045260246000fd5b8082018281126000831280158216821582161715612128576121286120c0565b505092915050565b81810360008312801583831316838312821617156116ef576116ef6120c0565b60005b8381101561216b578181015183820152602001612153565b50506000910152565b6000815180845261218c816020860160208601612150565b601f01601f19169290920160200192915050565b85815260018060a01b038516602082015283604082015282606082015260a060808201526000611a6d60a0830184612174565b6000602082840312156121e557600080fd5b5051919050565b6000602082840312156121fe57600080fd5b81516001600160401b0381111561221457600080fd5b8201601f8101841361222557600080fd5b80516001600160401b0381111561223e5761223e611c2c565b8060051b61224e60208201611c42565b9182526020818401810192908101908784111561226a57600080fd5b6020850194505b83851015611a6d578451925061228683611b16565b82825260209485019490910190612271565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600181811c908216806122fa57607f821691505b60208210810361231a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156111a157806000526020600020601f840160051c810160208510156123475750805b601f840160051c820191505b818110156114d45760008155600101612353565b6001600160401b0383111561237e5761237e611c2c565b6123928361238c83546122e6565b83612320565b6000601f8411600181146123c657600085156123ae5750838201355b600019600387901b1c1916600186901b1783556114d4565b600083815260209020601f19861690835b828110156123f757868501358255602094850194600190920191016123d7565b50868210156124145760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b81810381811115610a6057610a606120c0565b634e487b7160e01b600052603260045260246000fd5b60008060006060848603121561246457600080fd5b5050815160208301516040909301519094929350919050565b80820180821115610a6057610a606120c0565b6000602082840312156124a257600080fd5b8151611db281611b16565b60ff8281168282160390811115610a6057610a606120c0565b6001815b6001841115612501578085048111156124e5576124e56120c0565b60018416156124f357908102905b60019390931c9280026124ca565b935093915050565b60008261251857506001610a60565b8161252557506000610a60565b816001811461253b576002811461254557612561565b6001915050610a60565b60ff841115612556576125566120c0565b50506001821b610a60565b5060208310610133831016604e8410600b8410161715612584575081810a610a60565b61259160001984846124c6565b80600019048211156125a5576125a56120c0565b029392505050565b6000611db260ff841683612509565b6000826125d957634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610a6057610a606120c0565b60008251612607818460208701612150565b9190910192915050565b602081526000611db2602083018461217456fea264697066735822122009f9ec246fa74e04282f834ad9a2c4f43cd274aeec6b6889e64de477bf18fe1864736f6c634300081a0033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "contract ISuperfluid";
@@ -830,7 +830,7 @@ const _abi = [
830
830
  type: "function",
831
831
  },
832
832
  ];
833
- const _bytecode = "0x60a0604052348015600f57600080fd5b50604051612717380380612717833981016040819052602c91603c565b6001600160a01b0316608052606a565b600060208284031215604d57600080fd5b81516001600160a01b0381168114606357600080fd5b9392505050565b60805161265a6100bd600039600081816101840152818161052a01528181610922015281816109f101528181610c6e01528181610eb201528181610f47015281816111df0152611276015261265a6000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806350d75d25116100b8578063a1b2bf8b1161007c578063a1b2bf8b146102f2578063b84cdd4a14610305578063bb0d196e14610318578063cf97256d1461032b578063d9d078d61461033e578063eb3537cc1461035157600080fd5b806350d75d251461027e57806352d1902d146102865780636c2d9f2f146102b457806379359f6f146102c75780639903ad38146102ea57600080fd5b80632ec8eec71161010a5780632ec8eec7146101d4578063386fa2211461020757806342fe09801461022757806345977d031461023a578063469519541461024d5780634b61cc331461025e57600080fd5b8063090c415e1461014757806312a6a3f81461015c5780631863e8091461016f57806320bc44251461018257806327048397146101c1575b600080fd5b61015a610155366004611b86565b61037f565b005b61015a61016a366004611be1565b610432565b61015a61017d366004611c8b565b610515565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020015b60405180910390f35b61015a6101cf366004611d73565b61087e565b6101e76101e2366004611d95565b61091a565b6040805194855260208501939093529183015260608201526080016101b8565b61021a610215366004611d95565b6109bd565b6040516101b89190611db9565b61015a610235366004611e46565b610a66565b61015a610248366004611ee4565b610b84565b61015a61025b366004611d95565b50565b61027161026c366004611efd565b610bb0565b6040516101b89190611f43565b6101a4610bf5565b6040517f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb001981526020016101b8565b6102716102c2366004611f7b565b610c24565b6102da6102d5366004611d95565b610c66565b60405190151581526020016101b8565b61015a610cee565b61015a610300366004611be1565b610daf565b6102da610313366004611fb0565b610e59565b6102da610326366004611d95565b610eaa565b61015a610339366004611fb0565b610f32565b6102da61034c366004611fb0565b61101b565b61036461035f366004611fb0565b611035565b604080519384526020840192909252908201526060016101b8565b600033858560405160200161039693929190611fdc565b6040516020818303038152906040528051906020012090506103eb8184848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061116992505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b604051339060009061044a9083908790602001612025565b60408051601f198184030181529190528051602090910120905061046e81846111a6565b1561048c5760405163782a90fb60e11b815260040160405180910390fd5b6104c98185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061116992505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d86868660405161050693929190612062565b60405180910390a25050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610579573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059d91906120a3565b6105ba5760405163327fd99160e21b815260040160405180910390fd5b60006105c46111da565b90506001600160a01b0381166105d75750845b6000856105e457866105e6565b815b9050600083136106c6576105f9836120d6565b6106028561131f565b1461060f5761060f6120f2565b6106188461131f565b6001600160a01b03821660009081526002602052604081208054909190610640908490612108565b90915550506001600160a01b0385166000908152600260205260408120805485929061066d908490612108565b92505081905550806001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516106b991815260200190565b60405180910390a3610816565b85156106d4576106d46120f2565b826106de8561131f565b6106e89190612108565b6001600160a01b03831660009081526002602052604081208054909190610710908490612130565b9091555061071f90508461131f565b6001600160a01b03881660009081526002602052604081208054909190610747908490612108565b90915550506001600160a01b03851660009081526002602052604081208054859290610774908490612108565b92505081905550866001600160a01b0316826001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516107c091815260200190565b60405180910390a3846001600160a01b0316826001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161080d91815260200190565b60405180910390a35b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f60405161086b9594939291906121a0565b60405180910390a4505050505050505050565b60405133906000906108969083908690602001612025565b6040516020818303038152906040528051906020012090506108b881846111a6565b6108d55760405163dae1880960e01b815260040160405180910390fd5b6108df818461138d565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b9060200160405180910390a250505050565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561097e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a291906121d3565b90506109ae8582611035565b91979096509094509092509050565b6001600160a01b038181166000908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d90602401600060405180830381865afa158015610a38573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a6091908101906121ec565b92915050565b600054610100900460ff1615808015610a865750600054600160ff909116105b80610aa05750303b158015610aa0575060005460ff166001145b610ac55760405162461bcd60e51b8152600401610abc90612298565b60405180910390fd5b6000805460ff191660011790558015610ae8576000805461ff0019166101001790555b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f610b1d858783612367565b506010610b2b838583612367565b50610b35306113a6565b8015610b7b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b61025b3333338460405180602001604052806000815250604051806020016040528060008152506114db565b60606000858585604051602001610bc993929190611fdc565b604051602081830303815290604052805190602001209050610beb818461166f565b9695505050505050565b6000610c1f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b606060008484604051602001610c3b929190612025565b604051602081830303815290604052805190602001209050610c5d818461166f565b95945050505050565b6000610a60827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cca573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034c91906121d3565b600054610100900460ff1615808015610d0e5750600054600160ff909116105b80610d285750303b158015610d28575060005460ff166001145b610d445760405162461bcd60e51b8152600401610abc90612298565b6000805460ff191660011790558015610d67576000805461ff0019166101001790555b801561025b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6040513390600090610dc79083908790602001612025565b604051602081830303815290604052805190602001209050610e1c8185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061116992505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca86868660405161050693929190612062565b600080600080610e698686611035565b9250925092506000610e91828411610e8257600061131f565b610e8c8385612426565b61131f565b610e9b9085612108565b60001315979650505050505050565b6000610a60827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f0e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031391906121d3565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610f96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fba91906120a3565b610fd75760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b038216600090815260026020526040902054610ffb908290612108565b6001600160a01b0390921660009081526002602052604090209190915550565b6000806110288484611035565b5050600013949350505050565b6001600160a01b03821660009081526002602052604081205490808061105a866109bd565b905060005b815181101561116057600080600084848151811061107f5761107f612439565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa1580156110de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611102919061244f565b91945092509050611113828861247d565b965061111f818761247d565b955061113c81831161113257600061131f565b610e8c8284612426565b611146848a612108565b6111509190612130565b975050505080600101905061105f565b50509250925092565b60005b81518110156111a157600082828151811061118957611189612439565b6020908102919091010151848301555060010161116c565b505050565b6000805b828110156111d0578381015480156111c757600192505050610a60565b506001016111aa565b5060009392505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561123b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125f9190612490565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa1580156112f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113199190612490565b91505090565b60006001600160ff1b038211156113895760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608401610abc565b5090565b60005b818110156111a157600083820155600101611390565b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b15801561142757600080fd5b505af115801561143b573d6000803e3d6000fd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b1580156114c057600080fd5b505af11580156114d4573d6000803e3d6000fd5b5050505050565b600e546001600160a01b031661150d5760405162461bcd60e51b81526020600482015260006024820152604401610abc565b600080611519856116f6565b600e546040516370a0823160e01b81523060048201529294509092506000916001600160a01b03909116906370a0823190602401602060405180830381865afa15801561156a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158e91906121d3565b600e549091506115a9906001600160a01b03168930866117b5565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156115f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161691906121d3565b905060006116248383612426565b905080851461164f5760405162461bcd60e51b81526020600482015260006024820152604401610abc565b6116628b8a868a51600014158b8b611815565b5050505050505050505050565b6060816001600160401b0381111561168957611689611c2c565b6040519080825280602002602001820160405280156116b2578160200160208202803683370190505b50905060005b828110156116ef576000818501549050808383815181106116db576116db612439565b6020908102919091010152506001016116b8565b5092915050565b60008060006012600e60149054906101000a900460ff1660ff16101561175857600e5461172e90600160a01b900460ff1660126124ad565b61173990600a6125ad565b905061174581856125bc565b925061175181846125de565b91506117af565b600e546012600160a01b90910460ff1611156117a857600e5461178790601290600160a01b900460ff166124ad565b61179290600a6125ad565b905061179e81856125de565b92508391506117af565b8391508192505b50915091565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261180f908590611857565b50505050565b6001600160a01b0385166118455760405162461bcd60e51b81526020600482015260006024820152604401610abc565b61184f858561192c565b505050505050565b60006118ac826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119869092919063ffffffff16565b90508051600014806118cd5750808060200190518101906118cd91906120a3565b6111a15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610abc565b6119358161131f565b6001600160a01b0383166000908152600260205260409020546119589190612108565b6001600160a01b03831660009081526002602052604090205560035461197f90829061247d565b6003555050565b6060611995848460008561199d565b949350505050565b6060824710156119fe5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610abc565b600080866001600160a01b03168587604051611a1a91906125f5565b60006040518083038185875af1925050503d8060008114611a57576040519150601f19603f3d011682016040523d82523d6000602084013e611a5c565b606091505b5091509150611a6d87838387611a78565b979650505050505050565b60608315611ae7578251600003611ae0576001600160a01b0385163b611ae05760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610abc565b5081611995565b6119958383815115611afc5781518083602001fd5b8060405162461bcd60e51b8152600401610abc9190612611565b6001600160a01b038116811461025b57600080fd5b8035611b3681611b16565b919050565b60008083601f840112611b4d57600080fd5b5081356001600160401b03811115611b6457600080fd5b6020830191508360208260051b8501011115611b7f57600080fd5b9250929050565b60008060008060608587031215611b9c57600080fd5b8435611ba781611b16565b93506020850135925060408501356001600160401b03811115611bc957600080fd5b611bd587828801611b3b565b95989497509550505050565b600080600060408486031215611bf657600080fd5b8335925060208401356001600160401b03811115611c1357600080fd5b611c1f86828701611b3b565b9497909650939450505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611c6a57611c6a611c2c565b604052919050565b801515811461025b57600080fd5b8035611b3681611c72565b600080600080600080600060e0888a031215611ca657600080fd5b8735965060208801356001600160401b03811115611cc357600080fd5b8801601f81018a13611cd457600080fd5b80356001600160401b03811115611ced57611ced611c2c565b611d00601f8201601f1916602001611c42565b8181528b6020838501011115611d1557600080fd5b81602084016020830137600060208383010152809850505050611d3a60408901611b2b565b9450611d4860608901611c80565b9350611d5660808901611b2b565b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215611d8657600080fd5b50508035926020909101359150565b600060208284031215611da757600080fd5b8135611db281611b16565b9392505050565b602080825282518282018190526000918401906040840190835b81811015611dfa5783516001600160a01b0316835260209384019390920191600101611dd3565b509095945050505050565b60008083601f840112611e1757600080fd5b5081356001600160401b03811115611e2e57600080fd5b602083019150836020828501011115611b7f57600080fd5b60008060008060008060808789031215611e5f57600080fd5b8635611e6a81611b16565b9550602087013560ff81168114611e8057600080fd5b945060408701356001600160401b03811115611e9b57600080fd5b611ea789828a01611e05565b90955093505060608701356001600160401b03811115611ec657600080fd5b611ed289828a01611e05565b979a9699509497509295939492505050565b600060208284031215611ef657600080fd5b5035919050565b60008060008060808587031215611f1357600080fd5b8435611f1e81611b16565b93506020850135611f2e81611b16565b93969395505050506040820135916060013590565b602080825282518282018190526000918401906040840190835b81811015611dfa578351835260209384019390920191600101611f5d565b600080600060608486031215611f9057600080fd5b8335611f9b81611b16565b95602085013595506040909401359392505050565b60008060408385031215611fc357600080fd5b8235611fce81611b16565b946020939093013593505050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b838152604060208201819052810182905260006001600160fb1b0383111561208957600080fd5b8260051b8085606085013791909101606001949350505050565b6000602082840312156120b557600080fd5b8151611db281611c72565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b82016120eb576120eb6120c0565b5060000390565b634e487b7160e01b600052600160045260246000fd5b8082018281126000831280158216821582161715612128576121286120c0565b505092915050565b81810360008312801583831316838312821617156116ef576116ef6120c0565b60005b8381101561216b578181015183820152602001612153565b50506000910152565b6000815180845261218c816020860160208601612150565b601f01601f19169290920160200192915050565b85815260018060a01b038516602082015283604082015282606082015260a060808201526000611a6d60a0830184612174565b6000602082840312156121e557600080fd5b5051919050565b6000602082840312156121fe57600080fd5b81516001600160401b0381111561221457600080fd5b8201601f8101841361222557600080fd5b80516001600160401b0381111561223e5761223e611c2c565b8060051b61224e60208201611c42565b9182526020818401810192908101908784111561226a57600080fd5b6020850194505b83851015611a6d578451925061228683611b16565b82825260209485019490910190612271565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600181811c908216806122fa57607f821691505b60208210810361231a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156111a157806000526020600020601f840160051c810160208510156123475750805b601f840160051c820191505b818110156114d45760008155600101612353565b6001600160401b0383111561237e5761237e611c2c565b6123928361238c83546122e6565b83612320565b6000601f8411600181146123c657600085156123ae5750838201355b600019600387901b1c1916600186901b1783556114d4565b600083815260209020601f19861690835b828110156123f757868501358255602094850194600190920191016123d7565b50868210156124145760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b81810381811115610a6057610a606120c0565b634e487b7160e01b600052603260045260246000fd5b60008060006060848603121561246457600080fd5b5050815160208301516040909301519094929350919050565b80820180821115610a6057610a606120c0565b6000602082840312156124a257600080fd5b8151611db281611b16565b60ff8281168282160390811115610a6057610a606120c0565b6001815b6001841115612501578085048111156124e5576124e56120c0565b60018416156124f357908102905b60019390931c9280026124ca565b935093915050565b60008261251857506001610a60565b8161252557506000610a60565b816001811461253b576002811461254557612561565b6001915050610a60565b60ff841115612556576125566120c0565b50506001821b610a60565b5060208310610133831016604e8410600b8410161715612584575081810a610a60565b61259160001984846124c6565b80600019048211156125a5576125a56120c0565b029392505050565b6000611db260ff841683612509565b6000826125d957634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610a6057610a606120c0565b60008251612607818460208701612150565b9190910192915050565b602081526000611db2602083018461217456fea2646970667358221220249316c718fef5ceb0a1911f9302d4c2cabec4cec17a580883085ba23649dec064736f6c634300081a0033";
833
+ const _bytecode = "0x60a0604052348015600f57600080fd5b50604051612717380380612717833981016040819052602c91603c565b6001600160a01b0316608052606a565b600060208284031215604d57600080fd5b81516001600160a01b0381168114606357600080fd5b9392505050565b60805161265a6100bd600039600081816101840152818161052a01528181610922015281816109f101528181610c6e01528181610eb201528181610f47015281816111df0152611276015261265a6000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806350d75d25116100b8578063a1b2bf8b1161007c578063a1b2bf8b146102f2578063b84cdd4a14610305578063bb0d196e14610318578063cf97256d1461032b578063d9d078d61461033e578063eb3537cc1461035157600080fd5b806350d75d251461027e57806352d1902d146102865780636c2d9f2f146102b457806379359f6f146102c75780639903ad38146102ea57600080fd5b80632ec8eec71161010a5780632ec8eec7146101d4578063386fa2211461020757806342fe09801461022757806345977d031461023a578063469519541461024d5780634b61cc331461025e57600080fd5b8063090c415e1461014757806312a6a3f81461015c5780631863e8091461016f57806320bc44251461018257806327048397146101c1575b600080fd5b61015a610155366004611b86565b61037f565b005b61015a61016a366004611be1565b610432565b61015a61017d366004611c8b565b610515565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020015b60405180910390f35b61015a6101cf366004611d73565b61087e565b6101e76101e2366004611d95565b61091a565b6040805194855260208501939093529183015260608201526080016101b8565b61021a610215366004611d95565b6109bd565b6040516101b89190611db9565b61015a610235366004611e46565b610a66565b61015a610248366004611ee4565b610b84565b61015a61025b366004611d95565b50565b61027161026c366004611efd565b610bb0565b6040516101b89190611f43565b6101a4610bf5565b6040517f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb001981526020016101b8565b6102716102c2366004611f7b565b610c24565b6102da6102d5366004611d95565b610c66565b60405190151581526020016101b8565b61015a610cee565b61015a610300366004611be1565b610daf565b6102da610313366004611fb0565b610e59565b6102da610326366004611d95565b610eaa565b61015a610339366004611fb0565b610f32565b6102da61034c366004611fb0565b61101b565b61036461035f366004611fb0565b611035565b604080519384526020840192909252908201526060016101b8565b600033858560405160200161039693929190611fdc565b6040516020818303038152906040528051906020012090506103eb8184848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061116992505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b604051339060009061044a9083908790602001612025565b60408051601f198184030181529190528051602090910120905061046e81846111a6565b1561048c5760405163782a90fb60e11b815260040160405180910390fd5b6104c98185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061116992505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d86868660405161050693929190612062565b60405180910390a25050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610579573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059d91906120a3565b6105ba5760405163327fd99160e21b815260040160405180910390fd5b60006105c46111da565b90506001600160a01b0381166105d75750845b6000856105e457866105e6565b815b9050600083136106c6576105f9836120d6565b6106028561131f565b1461060f5761060f6120f2565b6106188461131f565b6001600160a01b03821660009081526002602052604081208054909190610640908490612108565b90915550506001600160a01b0385166000908152600260205260408120805485929061066d908490612108565b92505081905550806001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516106b991815260200190565b60405180910390a3610816565b85156106d4576106d46120f2565b826106de8561131f565b6106e89190612108565b6001600160a01b03831660009081526002602052604081208054909190610710908490612130565b9091555061071f90508461131f565b6001600160a01b03881660009081526002602052604081208054909190610747908490612108565b90915550506001600160a01b03851660009081526002602052604081208054859290610774908490612108565b92505081905550866001600160a01b0316826001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516107c091815260200190565b60405180910390a3846001600160a01b0316826001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161080d91815260200190565b60405180910390a35b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f60405161086b9594939291906121a0565b60405180910390a4505050505050505050565b60405133906000906108969083908690602001612025565b6040516020818303038152906040528051906020012090506108b881846111a6565b6108d55760405163dae1880960e01b815260040160405180910390fd5b6108df818461138d565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b9060200160405180910390a250505050565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561097e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a291906121d3565b90506109ae8582611035565b91979096509094509092509050565b6001600160a01b038181166000908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d90602401600060405180830381865afa158015610a38573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a6091908101906121ec565b92915050565b600054610100900460ff1615808015610a865750600054600160ff909116105b80610aa05750303b158015610aa0575060005460ff166001145b610ac55760405162461bcd60e51b8152600401610abc90612298565b60405180910390fd5b6000805460ff191660011790558015610ae8576000805461ff0019166101001790555b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f610b1d858783612367565b506010610b2b838583612367565b50610b35306113a6565b8015610b7b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b61025b3333338460405180602001604052806000815250604051806020016040528060008152506114db565b60606000858585604051602001610bc993929190611fdc565b604051602081830303815290604052805190602001209050610beb818461166f565b9695505050505050565b6000610c1f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b606060008484604051602001610c3b929190612025565b604051602081830303815290604052805190602001209050610c5d818461166f565b95945050505050565b6000610a60827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cca573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034c91906121d3565b600054610100900460ff1615808015610d0e5750600054600160ff909116105b80610d285750303b158015610d28575060005460ff166001145b610d445760405162461bcd60e51b8152600401610abc90612298565b6000805460ff191660011790558015610d67576000805461ff0019166101001790555b801561025b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6040513390600090610dc79083908790602001612025565b604051602081830303815290604052805190602001209050610e1c8185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061116992505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca86868660405161050693929190612062565b600080600080610e698686611035565b9250925092506000610e91828411610e8257600061131f565b610e8c8385612426565b61131f565b610e9b9085612108565b60001315979650505050505050565b6000610a60827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f0e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031391906121d3565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610f96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fba91906120a3565b610fd75760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b038216600090815260026020526040902054610ffb908290612108565b6001600160a01b0390921660009081526002602052604090209190915550565b6000806110288484611035565b5050600013949350505050565b6001600160a01b03821660009081526002602052604081205490808061105a866109bd565b905060005b815181101561116057600080600084848151811061107f5761107f612439565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa1580156110de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611102919061244f565b91945092509050611113828861247d565b965061111f818761247d565b955061113c81831161113257600061131f565b610e8c8284612426565b611146848a612108565b6111509190612130565b975050505080600101905061105f565b50509250925092565b60005b81518110156111a157600082828151811061118957611189612439565b6020908102919091010151848301555060010161116c565b505050565b6000805b828110156111d0578381015480156111c757600192505050610a60565b506001016111aa565b5060009392505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561123b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125f9190612490565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa1580156112f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113199190612490565b91505090565b60006001600160ff1b038211156113895760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608401610abc565b5090565b60005b818110156111a157600083820155600101611390565b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b15801561142757600080fd5b505af115801561143b573d6000803e3d6000fd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b1580156114c057600080fd5b505af11580156114d4573d6000803e3d6000fd5b5050505050565b600e546001600160a01b031661150d5760405162461bcd60e51b81526020600482015260006024820152604401610abc565b600080611519856116f6565b600e546040516370a0823160e01b81523060048201529294509092506000916001600160a01b03909116906370a0823190602401602060405180830381865afa15801561156a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158e91906121d3565b600e549091506115a9906001600160a01b03168930866117b5565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156115f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161691906121d3565b905060006116248383612426565b905080851461164f5760405162461bcd60e51b81526020600482015260006024820152604401610abc565b6116628b8a868a51600014158b8b611815565b5050505050505050505050565b6060816001600160401b0381111561168957611689611c2c565b6040519080825280602002602001820160405280156116b2578160200160208202803683370190505b50905060005b828110156116ef576000818501549050808383815181106116db576116db612439565b6020908102919091010152506001016116b8565b5092915050565b60008060006012600e60149054906101000a900460ff1660ff16101561175857600e5461172e90600160a01b900460ff1660126124ad565b61173990600a6125ad565b905061174581856125bc565b925061175181846125de565b91506117af565b600e546012600160a01b90910460ff1611156117a857600e5461178790601290600160a01b900460ff166124ad565b61179290600a6125ad565b905061179e81856125de565b92508391506117af565b8391508192505b50915091565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261180f908590611857565b50505050565b6001600160a01b0385166118455760405162461bcd60e51b81526020600482015260006024820152604401610abc565b61184f858561192c565b505050505050565b60006118ac826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119869092919063ffffffff16565b90508051600014806118cd5750808060200190518101906118cd91906120a3565b6111a15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610abc565b6119358161131f565b6001600160a01b0383166000908152600260205260409020546119589190612108565b6001600160a01b03831660009081526002602052604090205560035461197f90829061247d565b6003555050565b6060611995848460008561199d565b949350505050565b6060824710156119fe5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610abc565b600080866001600160a01b03168587604051611a1a91906125f5565b60006040518083038185875af1925050503d8060008114611a57576040519150601f19603f3d011682016040523d82523d6000602084013e611a5c565b606091505b5091509150611a6d87838387611a78565b979650505050505050565b60608315611ae7578251600003611ae0576001600160a01b0385163b611ae05760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610abc565b5081611995565b6119958383815115611afc5781518083602001fd5b8060405162461bcd60e51b8152600401610abc9190612611565b6001600160a01b038116811461025b57600080fd5b8035611b3681611b16565b919050565b60008083601f840112611b4d57600080fd5b5081356001600160401b03811115611b6457600080fd5b6020830191508360208260051b8501011115611b7f57600080fd5b9250929050565b60008060008060608587031215611b9c57600080fd5b8435611ba781611b16565b93506020850135925060408501356001600160401b03811115611bc957600080fd5b611bd587828801611b3b565b95989497509550505050565b600080600060408486031215611bf657600080fd5b8335925060208401356001600160401b03811115611c1357600080fd5b611c1f86828701611b3b565b9497909650939450505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611c6a57611c6a611c2c565b604052919050565b801515811461025b57600080fd5b8035611b3681611c72565b600080600080600080600060e0888a031215611ca657600080fd5b8735965060208801356001600160401b03811115611cc357600080fd5b8801601f81018a13611cd457600080fd5b80356001600160401b03811115611ced57611ced611c2c565b611d00601f8201601f1916602001611c42565b8181528b6020838501011115611d1557600080fd5b81602084016020830137600060208383010152809850505050611d3a60408901611b2b565b9450611d4860608901611c80565b9350611d5660808901611b2b565b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215611d8657600080fd5b50508035926020909101359150565b600060208284031215611da757600080fd5b8135611db281611b16565b9392505050565b602080825282518282018190526000918401906040840190835b81811015611dfa5783516001600160a01b0316835260209384019390920191600101611dd3565b509095945050505050565b60008083601f840112611e1757600080fd5b5081356001600160401b03811115611e2e57600080fd5b602083019150836020828501011115611b7f57600080fd5b60008060008060008060808789031215611e5f57600080fd5b8635611e6a81611b16565b9550602087013560ff81168114611e8057600080fd5b945060408701356001600160401b03811115611e9b57600080fd5b611ea789828a01611e05565b90955093505060608701356001600160401b03811115611ec657600080fd5b611ed289828a01611e05565b979a9699509497509295939492505050565b600060208284031215611ef657600080fd5b5035919050565b60008060008060808587031215611f1357600080fd5b8435611f1e81611b16565b93506020850135611f2e81611b16565b93969395505050506040820135916060013590565b602080825282518282018190526000918401906040840190835b81811015611dfa578351835260209384019390920191600101611f5d565b600080600060608486031215611f9057600080fd5b8335611f9b81611b16565b95602085013595506040909401359392505050565b60008060408385031215611fc357600080fd5b8235611fce81611b16565b946020939093013593505050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b838152604060208201819052810182905260006001600160fb1b0383111561208957600080fd5b8260051b8085606085013791909101606001949350505050565b6000602082840312156120b557600080fd5b8151611db281611c72565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b82016120eb576120eb6120c0565b5060000390565b634e487b7160e01b600052600160045260246000fd5b8082018281126000831280158216821582161715612128576121286120c0565b505092915050565b81810360008312801583831316838312821617156116ef576116ef6120c0565b60005b8381101561216b578181015183820152602001612153565b50506000910152565b6000815180845261218c816020860160208601612150565b601f01601f19169290920160200192915050565b85815260018060a01b038516602082015283604082015282606082015260a060808201526000611a6d60a0830184612174565b6000602082840312156121e557600080fd5b5051919050565b6000602082840312156121fe57600080fd5b81516001600160401b0381111561221457600080fd5b8201601f8101841361222557600080fd5b80516001600160401b0381111561223e5761223e611c2c565b8060051b61224e60208201611c42565b9182526020818401810192908101908784111561226a57600080fd5b6020850194505b83851015611a6d578451925061228683611b16565b82825260209485019490910190612271565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600181811c908216806122fa57607f821691505b60208210810361231a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156111a157806000526020600020601f840160051c810160208510156123475750805b601f840160051c820191505b818110156114d45760008155600101612353565b6001600160401b0383111561237e5761237e611c2c565b6123928361238c83546122e6565b83612320565b6000601f8411600181146123c657600085156123ae5750838201355b600019600387901b1c1916600186901b1783556114d4565b600083815260209020601f19861690835b828110156123f757868501358255602094850194600190920191016123d7565b50868210156124145760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b81810381811115610a6057610a606120c0565b634e487b7160e01b600052603260045260246000fd5b60008060006060848603121561246457600080fd5b5050815160208301516040909301519094929350919050565b80820180821115610a6057610a606120c0565b6000602082840312156124a257600080fd5b8151611db281611b16565b60ff8281168282160390811115610a6057610a606120c0565b6001815b6001841115612501578085048111156124e5576124e56120c0565b60018416156124f357908102905b60019390931c9280026124ca565b935093915050565b60008261251857506001610a60565b8161252557506000610a60565b816001811461253b576002811461254557612561565b6001915050610a60565b60ff841115612556576125566120c0565b50506001821b610a60565b5060208310610133831016604e8410600b8410161715612584575081810a610a60565b61259160001984846124c6565b80600019048211156125a5576125a56120c0565b029392505050565b6000611db260ff841683612509565b6000826125d957634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610a6057610a606120c0565b60008251612607818460208701612150565b9190910192915050565b602081526000611db2602083018461217456fea264697066735822122009f9ec246fa74e04282f834ad9a2c4f43cd274aeec6b6889e64de477bf18fe1864736f6c634300081a0033";
834
834
  const isSuperArgs = (xs) => xs.length > 1;
835
835
  export class NoNFTSuperTokenMock__factory extends ContractFactory {
836
836
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class SuperTokenMock__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): SuperTokenMock;
14
14
  connect(signer: Signer): SuperTokenMock__factory;
15
- static readonly bytecode = "0x61014060405234801561001157600080fd5b50604051615384380380615384833981016040819052610030916100f0565b6001600160a01b0380871660805280851660a05280841660c05280831661010081905290821660e05260405187918691869186918691907feb87fb34067547f3dc0b85096c3da73c99d4fbb08ff41212b8d7c0b5008b42e690600090a26040516001600160a01b038216907fc1050c54a299c837fe281a2623c29ec8e34b455daef48760b6a29f4b6cc9906090600090a2505050610120969096525061016d95505050505050565b6001600160a01b03811681146100ed57600080fd5b50565b60008060008060008060c0878903121561010957600080fd5b8651610114816100d8565b60208801516040890151919750955061012c816100d8565b606088015190945061013d816100d8565b608088015190935061014e816100d8565b60a088015190925061015f816100d8565b809150509295509295509295565b60805160a05160c05160e051610100516101205161513561024f6000396000610767015260006108e801526000610a6c015260006106e501526000610a4501526000818161052101528181610d4801528181610db7015281816110d701528181611179015281816112a90152818161137801528181611598015281816115ee01528181611663015281816117b00152818161195001528181611a2f01528181611e3001528181611efa01528181611f9201528181611ffa0152818161208201528181612932015281816129c901528181613b4a0152613d8901526151356000f3fe608060405234801561001057600080fd5b506004361061043e5760003560e01c806366a12fb611610236578063b20db1ac1161013b578063d9d078d6116100c3578063ef43d2c611610087578063ef43d2c614610a40578063f5a8b4dd14610a67578063fad8b32a14610a8e578063fc673c4f14610aa1578063fe9d930314610ab457600080fd5b8063d9d078d6146109a2578063dd62ed3e146109b5578063eb3537cc146109ee578063ec0d634314610a1c578063ee719bc814610a2f57600080fd5b8063c780fd821161010a578063c780fd8214610943578063ca0c1e7f14610956578063ca78946414610969578063cf97256d1461097c578063d95b63711461098f57600080fd5b8063b20db1ac146108e3578063b84cdd4a1461090a578063bb0d196e1461091d578063c68d42831461093057600080fd5b806395d89b41116101be578063a1b2bf8b1161018d578063a1b2bf8b14610884578063a3a7e7f314610897578063a457c2d7146108aa578063a9059cbb146108bd578063b1f0b5be146108d057600080fd5b806395d89b411461084e5780639903ad38146108565780639bd9bbc61461085e5780639d8767411461087157600080fd5b806379359f6f1161020557806379359f6f146107f057806383ba2525146108035780638f2839701461081657806392081a4714610829578063959b8c3f1461083b57600080fd5b806366a12fb6146107af5780636c2d9f2f146107c25780636e9960c3146107d557806370a08231146107dd57600080fd5b8063386fa221116103475780634b61cc33116102cf57806356189cb41161029357806356189cb41461073c5780635b9d09cc1461074f5780636154b1021461076257806362aa52871461078957806362ad1b831461079c57600080fd5b80634b61cc33146106c05780634c5c0c85146106e057806350d75d251461070757806352d1902d1461070f578063556f0dc71461073557600080fd5b806342fe09801161031657806342fe09801461066157806345977d0314610674578063469519541461068757806347ba7ad11461069a5780634b2763b3146106ad57600080fd5b8063386fa221146106155780633950935114610628578063397be9311461063b57806341b706be1461064e57600080fd5b80631ae88ffc116103ca578063245887fc11610399578063245887fc1461057f5780632704839714610592578063282a050b146105a55780632ec8eec7146105cd578063313ce5671461060057600080fd5b80631ae88ffc1461050c57806320bc44251461051f578063222f5be01461055957806323b872dd1461056c57600080fd5b806311bcc81e1161041157806311bcc81e146104ae57806312a6a3f8146104c157806316d055d6146104d457806318160ddd146104e75780631863e809146104f957600080fd5b806306e485381461044357806306fdde0314610461578063090c415e14610476578063095ea7b31461048b575b600080fd5b61044b610ac7565b6040516104589190614014565b60405180910390f35b610469610ad8565b60405161045891906140b0565b610489610484366004614123565b610b6a565b005b61049e61049936600461417e565b610c1d565b6040519015158152602001610458565b6104896104bc3660046141aa565b610c34565b6104896104cf3660046141c3565b610c63565b6104896104e236600461420e565b610d46565b6003545b604051908152602001610458565b610489610507366004614322565b610da2565b61048961051a3660046143b4565b6110d5565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610458565b6104896105673660046143b4565b61114f565b61049e61057a3660046143b4565b611161565b61048961058d36600461417e565b611177565b6104896105a03660046143f5565b6111f0565b6105b86105b33660046141aa565b61128c565b60408051928352602083019190915201610458565b6105e06105db366004614417565b6112a1565b604080519485526020850193909352918301526060820152608001610458565b60125b60405160ff9091168152602001610458565b61044b610623366004614417565b611344565b61049e61063636600461417e565b6113e7565b610489610649366004614457565b611423565b61048961065c36600461420e565b61142c565b61048961066f366004614547565b611458565b6104896106823660046141aa565b611539565b610489610695366004614417565b611565565b6104896106a83660046143b4565b6115ec565b6104896106bb3660046143b4565b611661565b6106d36106ce3660046145dd565b6116e3565b6040516104589190614623565b6105417f000000000000000000000000000000000000000000000000000000000000000081565b610541611728565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb00196104eb565b60016104eb565b61048961074a3660046143b4565b611752565b61048961075d36600461465b565b61175d565b6104eb7f000000000000000000000000000000000000000000000000000000000000000081565b6104896107973660046143b4565b6117ae565b6104896107aa3660046146aa565b6117f7565b6104896107bd3660046143b4565b6118a5565b6106d36107d036600461474c565b6118c5565b610541611907565b6104eb6107eb366004614417565b61191f565b61049e6107fe366004614417565b611948565b61048961081136600461417e565b6119d0565b610489610824366004614417565b6119fc565b600e54600160a01b900460ff16610603565b610489610849366004614417565b611af0565b610469611b41565b610489611b50565b61048961086c36600461465b565b611c12565b61048961087f366004614781565b611c66565b6104896108923660046141c3565b611cac565b6104896108a5366004614417565b611d56565b61049e6108b836600461417e565b611d6a565b61049e6108cb36600461417e565b611db9565b6104896108de3660046147d9565b611dc7565b6105417f000000000000000000000000000000000000000000000000000000000000000081565b61049e61091836600461417e565b611dd7565b61049e61092b366004614417565b611e28565b61048961093e366004614781565b611eb0565b6104896109513660046143b4565b611ef8565b61048961096436600461485c565b611f90565b61048961097736600461417e565b611ff8565b61048961098a36600461417e565b61206d565b61049e61099d3660046148af565b612156565b61049e6109b036600461417e565b612164565b6104eb6109c33660046148af565b6001600160a01b03918216600090815260116020908152604080832093909416825291909152205490565b610a016109fc36600461417e565b61217e565b60408051938452602084019290925290820152606001610458565b610489610a2a3660046148e8565b6122b2565b600e546001600160a01b0316610541565b6105417f000000000000000000000000000000000000000000000000000000000000000081565b6105417f000000000000000000000000000000000000000000000000000000000000000081565b610489610a9c366004614417565b612389565b610489610aaf366004614992565b6123da565b610489610ac23660046149d8565b61247b565b6060610ad360126124cc565b905090565b6060600f8054610ae790614a16565b80601f0160208091040260200160405190810160405280929190818152602001828054610b1390614a16565b8015610b605780601f10610b3557610100808354040283529160200191610b60565b820191906000526020600020905b815481529060010190602001808311610b4357829003601f168201915b5050505050905090565b6000338585604051602001610b8193929190614a50565b604051602081830303815290604052805190602001209050610bd68184848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061253292505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b6000610c2a33848461256a565b5060015b92915050565b610c60333333846040518060200160405280600081525060405180602001604052806000815250612619565b50565b6040513390600090610c7b9083908790602001614a99565b60408051601f1981840301815291905280516020909101209050610c9f81846127d9565b15610cbd5760405163782a90fb60e11b815260040160405180910390fd5b610cfa8185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061253292505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d868686604051610d3793929190614ad6565b60405180910390a25050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610d8f5760405163c51efddd60e01b815260040160405180910390fd5b610d9b8484848461280d565b5050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610e06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2a9190614b17565b610e475760405163327fd99160e21b815260040160405180910390fd5b6000610e5161292d565b90506001600160a01b038116610e645750845b600085610e715786610e73565b815b905060008313610f4157610e8683614b4a565b610e8f85612a72565b14610e9c57610e9c614b66565b610ea584612a72565b6001600160a01b03821660009081526002602052604081208054909190610ecd908490614b7c565b90915550506001600160a01b03851660009081526002602052604081208054859290610efa908490614b7c565b92505081905550806001600160a01b0316856001600160a01b03166000805160206150b383398151915286604051610f3491815260200190565b60405180910390a361106d565b8515610f4f57610f4f614b66565b82610f5985612a72565b610f639190614b7c565b6001600160a01b03831660009081526002602052604081208054909190610f8b908490614ba4565b90915550610f9a905084612a72565b6001600160a01b03881660009081526002602052604081208054909190610fc2908490614b7c565b90915550506001600160a01b03851660009081526002602052604081208054859290610fef908490614b7c565b92505081905550866001600160a01b0316826001600160a01b03166000805160206150b38339815191528660405161102991815260200190565b60405180910390a3846001600160a01b0316826001600160a01b03166000805160206150b38339815191528560405161106491815260200190565b60405180910390a35b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f6040516110c2959493929190614bc4565b60405180910390a4505050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461111e5760405163c51efddd60e01b815260040160405180910390fd5b61114a338484846040518060200160405280600081525060405180602001604052806000815250612ae0565b505050565b61115b8384848461280d565b50505050565b600061116f3385858561280d565b949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146111c05760405163c51efddd60e01b815260040160405180910390fd5b6111ec338384846040518060200160405280600081525060405180602001604052806000815250612619565b5050565b60405133906000906112089083908690602001614a99565b60405160208183030381529060405280519060200120905061122a81846127d9565b6112475760405163dae1880960e01b815260040160405180910390fd5b6112518184612c93565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b9060200160405180910390a250505050565b60008061129883612cac565b91509150915091565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113299190614bf7565b9050611335858261217e565b91979096509094509092509050565b6001600160a01b038181166000908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d90602401600060405180830381865afa1580156113bf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c2e9190810190614c10565b3360008181526011602090815260408083206001600160a01b03871684529091528120549091610c2a91859061141e908690614ca4565b61256a565b610c6081612d68565b33301461144c57604051630fff4cc960e31b815260040160405180910390fd5b610d9b8385848461280d565b600054610100900460ff16158080156114785750600054600160ff909116105b806114925750303b158015611492575060005460ff166001145b6114b75760405162461bcd60e51b81526004016114ae90614cb7565b60405180910390fd5b6000805460ff1916600117905580156114da576000805461ff0019166101001790555b6114ea8787878787876000612d73565b8015611530576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b610c60333333846040518060200160405280600081525060405180602001604052806000815250612ae0565b600061157d6000805160206150698339815191525490565b905060006001600160a01b0382161561159657816115b8565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146115e357604051630484acab60e01b815260040160405180910390fd5b61114a83612e3b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146116355760405163c51efddd60e01b815260040160405180910390fd5b61114a338484846040518060200160405280600081525060405180602001604052806000815250612619565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146116aa5760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b0380841660009081526011602090815260408083209386168352929052205461114a908490849061141e908590614ca4565b606060008585856040516020016116fc93929190614a50565b60405160208183030381529060405280519060200120905061171e8184613075565b9695505050505050565b6000610ad37f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b61114a83838361256a565b61115b3333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612ae0915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146117525760405163c51efddd60e01b815260040160405180910390fd5b336118046012828a6130fc565b6118215760405163f7f0222760e01b815260040160405180910390fd5b61189b8189898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a9081908401838280828437600092019190915250600192506131a5915050565b5050505050505050565b33301461175257604051630fff4cc960e31b815260040160405180910390fd5b6060600084846040516020016118dc929190614a99565b6040516020818303038152906040528051906020012090506118fe8184613075565b95945050505050565b6000610ad36000805160206150698339815191525490565b60008061192b836112a1565b50505090506000811261193e5780611941565b60005b9392505050565b6000610c2e827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b09190614bf7565b6111ec333384846040518060200160405280600081525060405180602001604052806000815250612619565b6000611a146000805160206150698339815191525490565b905060006001600160a01b03821615611a2d5781611a4f565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b03821614611a7a57604051630484acab60e01b815260040160405180910390fd5b6000611a926000805160206150698339815191525490565b9050611aaa8460008051602061506983398151915255565b836001600160a01b0316816001600160a01b03167f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f60405160405180910390a350505050565b33611afd6012828461321e565b806001600160a01b0316826001600160a01b03167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a35050565b606060108054610ae790614a16565b600054610100900460ff1615808015611b705750600054600160ff909116105b80611b8a5750303b158015611b8a575060005460ff166001145b611ba65760405162461bcd60e51b81526004016114ae90614cb7565b6000805460ff191660011790558015611bc9576000805461ff0019166101001790555b8015610c60576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b61115b3333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250600191506131a59050565b333014611c8657604051630fff4cc960e31b815260040160405180910390fd5b805160408051600081526020810190915261114a91339186918691901515908690613322565b6040513390600090611cc49083908790602001614a99565b604051602081830303815290604052805190602001209050611d198185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061253292505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca868686604051610d3793929190614ad6565b6111ec333383611d653361191f565b61280d565b6000610c2a338461141e856040518060600160405280602a8152602001615089602a91393360009081526011602090815260408083206001600160a01b038d16845290915290205491906133ef565b60006119413333858561280d565b61115b338585600180878761341b565b600080600080611de7868661217e565b9250925092506000611e0f828411611e00576000612a72565b611e0a8385614d05565b612a72565b611e199085614b7c565b60001315979650505050505050565b6000610c2e827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e8c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109189190614bf7565b333014611ed057604051630fff4cc960e31b815260040160405180910390fd5b805160408051600081526020810190915261114a91339186918691901515908190879061341b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611f415760405163c51efddd60e01b815260040160405180910390fd5b61114a838361141e846040518060600160405280602a8152602001615089602a91396001600160a01b03808a166000908152601160209081526040808320938c168352929052205491906133ef565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611fd95760405163c51efddd60e01b815260040160405180910390fd5b61115b33858585856040518060200160405280600081525060016131a5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146120415760405163c51efddd60e01b815260040160405180910390fd5b6111ec338384846040518060200160405280600081525060405180602001604052806000815250612ae0565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa1580156120d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f59190614b17565b6121125760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b038216600090815260026020526040902054612136908290614b7c565b6001600160a01b0390921660009081526002602052604090209190915550565b6000611941601284846130fc565b600080612171848461217e565b5050600013949350505050565b6001600160a01b0382166000908152600260205260408120549080806121a386611344565b905060005b81518110156122a95760008060008484815181106121c8576121c8614d18565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa158015612227573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061224b9190614d2e565b9194509250905061225c8288614ca4565b96506122688187614ca4565b955061228581831161227b576000612a72565b611e0a8284614d05565b61228f848a614b7c565b6122999190614ba4565b97505050508060010190506121a8565b50509250925092565b600054610100900460ff16158080156122d25750600054600160ff909116105b806122ec5750303b1580156122ec575060005460ff166001145b6123085760405162461bcd60e51b81526004016114ae90614cb7565b6000805460ff19166001179055801561232b576000805461ff0019166101001790555b61233a88888888888888612d73565b801561189b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050565b33612396601282846134e9565b806001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a35050565b336123e7601282896130fc565b6124045760405163f7f0222760e01b815260040160405180910390fd5b6115308188898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a908190840183828082843760009201919091525061261992505050565b61114a3333338686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612619915050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561252657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612508575b50505050509050919050565b60005b815181101561114a57600082828151811061255257612552614d18565b60209081029190910101518483015550600101612535565b6001600160a01b03831661259157604051638163862760e01b815260040160405180910390fd5b6001600160a01b0382166125b8576040516337c1c09d60e21b815260040160405180910390fd5b6001600160a01b0383811660008181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600e546001600160a01b031661264257604051637bce7b2b60e11b815260040160405180910390fd5b60008061264e85612cac565b915091506126658888838751600014158888613322565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156126ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126d29190614bf7565b600e549091506126ec906001600160a01b031688856135e1565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612735573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127599190614bf7565b905060006127678284614d05565b905080851461278957604051631c7c26d360e31b815260040160405180910390fd5b896001600160a01b03167f3bc27981aebbb57f9247dc00fde9d6cd91e4b230083fec3238fedbcba1f9ab3d856040516127c491815260200190565b60405180910390a25050505050505050505050565b6000805b82811015612803578381015480156127fa57600192505050610c2e565b506001016127dd565b5060009392505050565b60006001600160a01b0384166128365760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b03831661285d5760405163e219bd3960e01b815260040160405180910390fd5b600033905061288e818686866040518060200160405280600081525060405180602001604052806000815250613644565b846001600160a01b0316866001600160a01b03161461292157612921858761141e866040518060600160405280602d81526020016150d3602d9139601160008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b03168152602001908152602001600020546133ef9092919063ffffffff16565b50600195945050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561298e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129b29190614d5c565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa158015612a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a6c9190614d5c565b91505090565b60006001600160ff1b03821115612adc5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016114ae565b5090565b600e546001600160a01b0316612b0957604051637bce7b2b60e11b815260040160405180910390fd5b600080612b1585612cac565b600e546040516370a0823160e01b81523060048201529294509092506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015612b66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b8a9190614bf7565b600e54909150612ba5906001600160a01b03168930866136e3565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c129190614bf7565b90506000612c208383614d05565b9050808514612c4257604051631c7c26d360e31b815260040160405180910390fd5b8651612c58908c908b9087901515808c8c61341b565b886001600160a01b03167f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df856040516127c491815260200190565b60005b8181101561114a57600083820155600101612c96565b600e54600090819081906012600160a01b90910460ff161015612d0b57600e54612ce190600160a01b900460ff166012614d79565b612cec90600a614e79565b9050612cf88185614e88565b9250612d048184614eaa565b9150612d62565b600e546012600160a01b90910460ff161115612d5b57600e54612d3a90601290600160a01b900460ff16614d79565b612d4590600a614e79565b9050612d518185614eaa565b9250839150612d62565b8391508192505b50915091565b610c6060128261371b565b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f612da8858783614f08565b506010612db6838583614f08565b50612dcd8160008051602061506983398151915255565b612dd63061379d565b60405160008082529081906000805160206150b38339815191529060200160405180910390a36040516001600160a01b038216906000907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f908290a350505050505050565b6000612e657f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603612ebb5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016114ae565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ef9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f1d9190614bf7565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb001914612f975760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016114ae565b6001600160a01b0381163003612fef5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016114ae565b613017817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019604080519182526001600160a01b038416602083015201611c07565b6060816001600160401b0381111561308f5761308f61425f565b6040519080825280602002602001820160405280156130b8578160200160208202803683370190505b50905060005b828110156130f5576000818501549050808383815181106130e1576130e1614d18565b6020908102919091010152506001016130be565b5092915050565b6000816001600160a01b0316836001600160a01b0316148061316b57506001600160a01b038316600090815260018501602052604090205460ff16801561316b57506001600160a01b03808316600090815260038601602090815260408083209387168352929052205460ff16155b8061116f57506001600160a01b03808316600090815260028601602090815260408083209387168352929052205460ff1690509392505050565b6001600160a01b0386166131cc5760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0385166131f35760405163e219bd3960e01b815260040160405180910390fd5b6132018787878787876138cb565b61320f878787878787613644565b611530878787878787876139f2565b806001600160a01b0316826001600160a01b0316036132955760405162461bcd60e51b815260206004820152602d60248201527f4552433737374f70657261746f72733a20617574686f72697a696e672073656c60448201526c331030b99037b832b930ba37b960991b60648201526084016114ae565b6001600160a01b038116600090815260018401602052604090205460ff16156132eb576001600160a01b03918216600090815260039390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b0380831660009081526002850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03851661334957604051632e8aac6160e21b815260040160405180910390fd5b821561335e5761335e868660008786866138cb565b6133688585613b42565b846001600160a01b0316866001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a40988685856040516133af93929190614fc7565b60405180910390a36040518481526000906001600160a01b038716906000805160206150b3833981519152906020015b60405180910390a3505050505050565b600081848411156134135760405162461bcd60e51b81526004016114ae91906140b0565b505050900390565b6001600160a01b03861661344257604051630d24315760e01b815260040160405180910390fd5b61344c8686613c52565b83156134625761346287600088888686896139f2565b856001600160a01b0316876001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d8785856040516134a993929190614fc7565b60405180910390a36040518581526001600160a01b038716906000906000805160206150b38339815191529060200160405180910390a350505050505050565b336001600160a01b038216036135545760405162461bcd60e51b815260206004820152602a60248201527f4552433737374f70657261746f72733a207265766f6b696e672073656c662061604482015269399037b832b930ba37b960b11b60648201526084016114ae565b6001600160a01b038116600090815260018401602052604090205460ff16156135ae576001600160a01b0380831660009081526003850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03918216600090815260029390930160209081526040808520929093168452529020805460ff19169055565b6040516001600160a01b03831660248201526044810182905261114a90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613cac565b613657858561365286612a72565b613d81565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc826146779878686866040516136a893929190614fc7565b60405180910390a4836001600160a01b0316856001600160a01b03166000805160206150b3833981519152856040516133df91815260200190565b6040516001600160a01b038085166024830152831660448201526064810182905261115b9085906323b872dd60e01b9060840161360d565b81541561372a5761372a614b66565b805161373c9083906020840190613fa3565b5060005b815181101561114a57600183600101600084848151811061376357613763614d18565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101613740565b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b15801561381e57600080fd5b505af1158015613832573d6000803e3d6000fd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b1580156138b757600080fd5b505af1158015610d9b573d6000803e3d6000fd5b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe8956024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa15801561394c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139709190614d5c565b90506001600160a01b0381161561153057604051633ad5cbc160e11b81526001600160a01b038216906375ab9782906139b7908a908a908a908a908a908a90600401614ff2565b600060405180830381600087803b1580156139d157600080fd5b505af11580156139e5573d6000803e3d6000fd5b5050505050505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b6024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015613a73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a979190614d5c565b90506001600160a01b03811615613b13576040516223de2960e01b81526001600160a01b038216906223de2990613adc908b908b908b908b908b908b90600401614ff2565b600060405180830381600087803b158015613af657600080fd5b505af1158015613b0a573d6000803e3d6000fd5b5050505061189b565b811561189b576001600160a01b0386163b1561189b5760405163fe737d0560e01b815260040160405180910390fd5b6000613bca837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015613ba6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109fc9190614bf7565b50509050613bd782612a72565b811215613bf75760405163043b37d160e21b815260040160405180910390fd5b613c0082612a72565b6001600160a01b038416600090815260026020526040902054613c239190614ba4565b6001600160a01b038416600090815260026020526040902055600354613c4a908390614d05565b600355505050565b613c5b81612a72565b6001600160a01b038316600090815260026020526040902054613c7e9190614b7c565b6001600160a01b038316600090815260026020526040902055600354613ca5908290614ca4565b6003555050565b6000613d01826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613e809092919063ffffffff16565b9050805160001480613d22575080806020019051810190613d229190614b17565b61114a5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016114ae565b6000613de5847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015613ba6573d6000803e3d6000fd5b5050905081811215613e0a57604051632f4cb94160e01b815260040160405180910390fd5b6001600160a01b038416600090815260026020526040902054613e2e908390614ba4565b6001600160a01b038086166000908152600260205260408082209390935590851681522054613e5e908390614b7c565b6001600160a01b03909316600090815260026020526040902092909255505050565b606061116f848460008585600080866001600160a01b03168587604051613ea7919061504c565b60006040518083038185875af1925050503d8060008114613ee4576040519150601f19603f3d011682016040523d82523d6000602084013e613ee9565b606091505b5091509150613efa87838387613f05565b979650505050505050565b60608315613f74578251600003613f6d576001600160a01b0385163b613f6d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016114ae565b508161116f565b61116f8383815115613f895781518083602001fd5b8060405162461bcd60e51b81526004016114ae91906140b0565b828054828255906000526020600020908101928215613ff8579160200282015b82811115613ff857825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613fc3565b50612adc9291505b80821115612adc5760008155600101614000565b602080825282518282018190526000918401906040840190835b818110156140555783516001600160a01b031683526020938401939092019160010161402e565b509095945050505050565b60005b8381101561407b578181015183820152602001614063565b50506000910152565b6000815180845261409c816020860160208601614060565b601f01601f19169290920160200192915050565b6020815260006119416020830184614084565b6001600160a01b0381168114610c6057600080fd5b60008083601f8401126140ea57600080fd5b5081356001600160401b0381111561410157600080fd5b6020830191508360208260051b850101111561411c57600080fd5b9250929050565b6000806000806060858703121561413957600080fd5b8435614144816140c3565b93506020850135925060408501356001600160401b0381111561416657600080fd5b614172878288016140d8565b95989497509550505050565b6000806040838503121561419157600080fd5b823561419c816140c3565b946020939093013593505050565b6000602082840312156141bc57600080fd5b5035919050565b6000806000604084860312156141d857600080fd5b8335925060208401356001600160401b038111156141f557600080fd5b614201868287016140d8565b9497909650939450505050565b6000806000806080858703121561422457600080fd5b843561422f816140c3565b9350602085013561423f816140c3565b9250604085013561424f816140c3565b9396929550929360600135925050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561429d5761429d61425f565b604052919050565b600082601f8301126142b657600080fd5b81356001600160401b038111156142cf576142cf61425f565b6142e2601f8201601f1916602001614275565b8181528460208386010111156142f757600080fd5b816020850160208301376000918101602001919091529392505050565b8015158114610c6057600080fd5b600080600080600080600060e0888a03121561433d57600080fd5b8735965060208801356001600160401b0381111561435a57600080fd5b6143668a828b016142a5565b9650506040880135614377816140c3565b9450606088013561438781614314565b93506080880135614397816140c3565b9699959850939692959460a0840135945060c09093013592915050565b6000806000606084860312156143c957600080fd5b83356143d4816140c3565b925060208401356143e4816140c3565b929592945050506040919091013590565b6000806040838503121561440857600080fd5b50508035926020909101359150565b60006020828403121561442957600080fd5b8135611941816140c3565b60006001600160401b0382111561444d5761444d61425f565b5060051b60200190565b60006020828403121561446957600080fd5b81356001600160401b0381111561447f57600080fd5b8201601f8101841361449057600080fd5b80356144a361449e82614434565b614275565b8082825260208201915060208360051b8501019250868311156144c557600080fd5b6020840193505b8284101561171e5783356144df816140c3565b8252602093840193909101906144cc565b803560ff8116811461450157600080fd5b919050565b60008083601f84011261451857600080fd5b5081356001600160401b0381111561452f57600080fd5b60208301915083602082850101111561411c57600080fd5b6000806000806000806080878903121561456057600080fd5b863561456b816140c3565b9550614579602088016144f0565b945060408701356001600160401b0381111561459457600080fd5b6145a089828a01614506565b90955093505060608701356001600160401b038111156145bf57600080fd5b6145cb89828a01614506565b979a9699509497509295939492505050565b600080600080608085870312156145f357600080fd5b84356145fe816140c3565b9350602085013561460e816140c3565b93969395505050506040820135916060013590565b602080825282518282018190526000918401906040840190835b8181101561405557835183526020938401939092019160010161463d565b6000806000806060858703121561467157600080fd5b843561467c816140c3565b93506020850135925060408501356001600160401b0381111561469e57600080fd5b61417287828801614506565b600080600080600080600060a0888a0312156146c557600080fd5b87356146d0816140c3565b965060208801356146e0816140c3565b95506040880135945060608801356001600160401b0381111561470257600080fd5b61470e8a828b01614506565b90955093505060808801356001600160401b0381111561472d57600080fd5b6147398a828b01614506565b989b979a50959850939692959293505050565b60008060006060848603121561476157600080fd5b833561476c816140c3565b95602085013595506040909401359392505050565b60008060006060848603121561479657600080fd5b83356147a1816140c3565b92506020840135915060408401356001600160401b038111156147c357600080fd5b6147cf868287016142a5565b9150509250925092565b600080600080608085870312156147ef57600080fd5b84356147fa816140c3565b93506020850135925060408501356001600160401b0381111561481c57600080fd5b614828878288016142a5565b92505060608501356001600160401b0381111561484457600080fd5b614850878288016142a5565b91505092959194509250565b6000806000806080858703121561487257600080fd5b843561487d816140c3565b9350602085013561488d816140c3565b92506040850135915060608501356001600160401b0381111561484457600080fd5b600080604083850312156148c257600080fd5b82356148cd816140c3565b915060208301356148dd816140c3565b809150509250929050565b600080600080600080600060a0888a03121561490357600080fd5b873561490e816140c3565b965061491c602089016144f0565b955060408801356001600160401b0381111561493757600080fd5b6149438a828b01614506565b90965094505060608801356001600160401b0381111561496257600080fd5b61496e8a828b01614506565b9094509250506080880135614982816140c3565b8091505092959891949750929550565b600080600080600080608087890312156149ab57600080fd5b86356149b6816140c3565b95506020870135945060408701356001600160401b0381111561459457600080fd5b6000806000604084860312156149ed57600080fd5b8335925060208401356001600160401b03811115614a0a57600080fd5b61420186828701614506565b600181811c90821680614a2a57607f821691505b602082108103614a4a57634e487b7160e01b600052602260045260246000fd5b50919050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b838152604060208201819052810182905260006001600160fb1b03831115614afd57600080fd5b8260051b8085606085013791909101606001949350505050565b600060208284031215614b2957600080fd5b815161194181614314565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b8201614b5f57614b5f614b34565b5060000390565b634e487b7160e01b600052600160045260246000fd5b8082018281126000831280158216821582161715614b9c57614b9c614b34565b505092915050565b81810360008312801583831316838312821617156130f5576130f5614b34565b85815260018060a01b038516602082015283604082015282606082015260a060808201526000613efa60a0830184614084565b600060208284031215614c0957600080fd5b5051919050565b600060208284031215614c2257600080fd5b81516001600160401b03811115614c3857600080fd5b8201601f81018413614c4957600080fd5b8051614c5761449e82614434565b8082825260208201915060208360051b850101925086831115614c7957600080fd5b6020840193505b8284101561171e578351614c93816140c3565b825260209384019390910190614c80565b80820180821115610c2e57610c2e614b34565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b81810381811115610c2e57610c2e614b34565b634e487b7160e01b600052603260045260246000fd5b600080600060608486031215614d4357600080fd5b5050815160208301516040909301519094929350919050565b600060208284031215614d6e57600080fd5b8151611941816140c3565b60ff8281168282160390811115610c2e57610c2e614b34565b6001815b6001841115614dcd57808504811115614db157614db1614b34565b6001841615614dbf57908102905b60019390931c928002614d96565b935093915050565b600082614de457506001610c2e565b81614df157506000610c2e565b8160018114614e075760028114614e1157614e2d565b6001915050610c2e565b60ff841115614e2257614e22614b34565b50506001821b610c2e565b5060208310610133831016604e8410600b8410161715614e50575081810a610c2e565b614e5d6000198484614d92565b8060001904821115614e7157614e71614b34565b029392505050565b600061194160ff841683614dd5565b600082614ea557634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c2e57610c2e614b34565b601f82111561114a57806000526020600020601f840160051c81016020851015614ee85750805b601f840160051c820191505b81811015610d9b5760008155600101614ef4565b6001600160401b03831115614f1f57614f1f61425f565b614f3383614f2d8354614a16565b83614ec1565b6000601f841160018114614f675760008515614f4f5750838201355b600019600387901b1c1916600186901b178355610d9b565b600083815260209020601f19861690835b82811015614f985786850135825560209485019460019092019101614f78565b5086821015614fb55760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b838152606060208201526000614fe06060830185614084565b828103604084015261171e8185614084565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c06080820181905260009061502d90830185614084565b82810360a084015261503f8185614084565b9998505050505050505050565b6000825161505e818460208701614060565b919091019291505056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035375706572546f6b656e3a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5375706572546f6b656e3a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122020f4535363ebdd1df53ddeb15292e04a860e32389e91d6ba637bc01ea38a9a3764736f6c634300081a0033";
15
+ static readonly bytecode = "0x61014060405234801561001157600080fd5b50604051615384380380615384833981016040819052610030916100f0565b6001600160a01b0380871660805280851660a05280841660c05280831661010081905290821660e05260405187918691869186918691907feb87fb34067547f3dc0b85096c3da73c99d4fbb08ff41212b8d7c0b5008b42e690600090a26040516001600160a01b038216907fc1050c54a299c837fe281a2623c29ec8e34b455daef48760b6a29f4b6cc9906090600090a2505050610120969096525061016d95505050505050565b6001600160a01b03811681146100ed57600080fd5b50565b60008060008060008060c0878903121561010957600080fd5b8651610114816100d8565b60208801516040890151919750955061012c816100d8565b606088015190945061013d816100d8565b608088015190935061014e816100d8565b60a088015190925061015f816100d8565b809150509295509295509295565b60805160a05160c05160e051610100516101205161513561024f6000396000610767015260006108e801526000610a6c015260006106e501526000610a4501526000818161052101528181610d4801528181610db7015281816110d701528181611179015281816112a90152818161137801528181611598015281816115ee01528181611663015281816117b00152818161195001528181611a2f01528181611e3001528181611efa01528181611f9201528181611ffa0152818161208201528181612932015281816129c901528181613b4a0152613d8901526151356000f3fe608060405234801561001057600080fd5b506004361061043e5760003560e01c806366a12fb611610236578063b20db1ac1161013b578063d9d078d6116100c3578063ef43d2c611610087578063ef43d2c614610a40578063f5a8b4dd14610a67578063fad8b32a14610a8e578063fc673c4f14610aa1578063fe9d930314610ab457600080fd5b8063d9d078d6146109a2578063dd62ed3e146109b5578063eb3537cc146109ee578063ec0d634314610a1c578063ee719bc814610a2f57600080fd5b8063c780fd821161010a578063c780fd8214610943578063ca0c1e7f14610956578063ca78946414610969578063cf97256d1461097c578063d95b63711461098f57600080fd5b8063b20db1ac146108e3578063b84cdd4a1461090a578063bb0d196e1461091d578063c68d42831461093057600080fd5b806395d89b41116101be578063a1b2bf8b1161018d578063a1b2bf8b14610884578063a3a7e7f314610897578063a457c2d7146108aa578063a9059cbb146108bd578063b1f0b5be146108d057600080fd5b806395d89b411461084e5780639903ad38146108565780639bd9bbc61461085e5780639d8767411461087157600080fd5b806379359f6f1161020557806379359f6f146107f057806383ba2525146108035780638f2839701461081657806392081a4714610829578063959b8c3f1461083b57600080fd5b806366a12fb6146107af5780636c2d9f2f146107c25780636e9960c3146107d557806370a08231146107dd57600080fd5b8063386fa221116103475780634b61cc33116102cf57806356189cb41161029357806356189cb41461073c5780635b9d09cc1461074f5780636154b1021461076257806362aa52871461078957806362ad1b831461079c57600080fd5b80634b61cc33146106c05780634c5c0c85146106e057806350d75d251461070757806352d1902d1461070f578063556f0dc71461073557600080fd5b806342fe09801161031657806342fe09801461066157806345977d0314610674578063469519541461068757806347ba7ad11461069a5780634b2763b3146106ad57600080fd5b8063386fa221146106155780633950935114610628578063397be9311461063b57806341b706be1461064e57600080fd5b80631ae88ffc116103ca578063245887fc11610399578063245887fc1461057f5780632704839714610592578063282a050b146105a55780632ec8eec7146105cd578063313ce5671461060057600080fd5b80631ae88ffc1461050c57806320bc44251461051f578063222f5be01461055957806323b872dd1461056c57600080fd5b806311bcc81e1161041157806311bcc81e146104ae57806312a6a3f8146104c157806316d055d6146104d457806318160ddd146104e75780631863e809146104f957600080fd5b806306e485381461044357806306fdde0314610461578063090c415e14610476578063095ea7b31461048b575b600080fd5b61044b610ac7565b6040516104589190614014565b60405180910390f35b610469610ad8565b60405161045891906140b0565b610489610484366004614123565b610b6a565b005b61049e61049936600461417e565b610c1d565b6040519015158152602001610458565b6104896104bc3660046141aa565b610c34565b6104896104cf3660046141c3565b610c63565b6104896104e236600461420e565b610d46565b6003545b604051908152602001610458565b610489610507366004614322565b610da2565b61048961051a3660046143b4565b6110d5565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610458565b6104896105673660046143b4565b61114f565b61049e61057a3660046143b4565b611161565b61048961058d36600461417e565b611177565b6104896105a03660046143f5565b6111f0565b6105b86105b33660046141aa565b61128c565b60408051928352602083019190915201610458565b6105e06105db366004614417565b6112a1565b604080519485526020850193909352918301526060820152608001610458565b60125b60405160ff9091168152602001610458565b61044b610623366004614417565b611344565b61049e61063636600461417e565b6113e7565b610489610649366004614457565b611423565b61048961065c36600461420e565b61142c565b61048961066f366004614547565b611458565b6104896106823660046141aa565b611539565b610489610695366004614417565b611565565b6104896106a83660046143b4565b6115ec565b6104896106bb3660046143b4565b611661565b6106d36106ce3660046145dd565b6116e3565b6040516104589190614623565b6105417f000000000000000000000000000000000000000000000000000000000000000081565b610541611728565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb00196104eb565b60016104eb565b61048961074a3660046143b4565b611752565b61048961075d36600461465b565b61175d565b6104eb7f000000000000000000000000000000000000000000000000000000000000000081565b6104896107973660046143b4565b6117ae565b6104896107aa3660046146aa565b6117f7565b6104896107bd3660046143b4565b6118a5565b6106d36107d036600461474c565b6118c5565b610541611907565b6104eb6107eb366004614417565b61191f565b61049e6107fe366004614417565b611948565b61048961081136600461417e565b6119d0565b610489610824366004614417565b6119fc565b600e54600160a01b900460ff16610603565b610489610849366004614417565b611af0565b610469611b41565b610489611b50565b61048961086c36600461465b565b611c12565b61048961087f366004614781565b611c66565b6104896108923660046141c3565b611cac565b6104896108a5366004614417565b611d56565b61049e6108b836600461417e565b611d6a565b61049e6108cb36600461417e565b611db9565b6104896108de3660046147d9565b611dc7565b6105417f000000000000000000000000000000000000000000000000000000000000000081565b61049e61091836600461417e565b611dd7565b61049e61092b366004614417565b611e28565b61048961093e366004614781565b611eb0565b6104896109513660046143b4565b611ef8565b61048961096436600461485c565b611f90565b61048961097736600461417e565b611ff8565b61048961098a36600461417e565b61206d565b61049e61099d3660046148af565b612156565b61049e6109b036600461417e565b612164565b6104eb6109c33660046148af565b6001600160a01b03918216600090815260116020908152604080832093909416825291909152205490565b610a016109fc36600461417e565b61217e565b60408051938452602084019290925290820152606001610458565b610489610a2a3660046148e8565b6122b2565b600e546001600160a01b0316610541565b6105417f000000000000000000000000000000000000000000000000000000000000000081565b6105417f000000000000000000000000000000000000000000000000000000000000000081565b610489610a9c366004614417565b612389565b610489610aaf366004614992565b6123da565b610489610ac23660046149d8565b61247b565b6060610ad360126124cc565b905090565b6060600f8054610ae790614a16565b80601f0160208091040260200160405190810160405280929190818152602001828054610b1390614a16565b8015610b605780601f10610b3557610100808354040283529160200191610b60565b820191906000526020600020905b815481529060010190602001808311610b4357829003601f168201915b5050505050905090565b6000338585604051602001610b8193929190614a50565b604051602081830303815290604052805190602001209050610bd68184848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061253292505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b6000610c2a33848461256a565b5060015b92915050565b610c60333333846040518060200160405280600081525060405180602001604052806000815250612619565b50565b6040513390600090610c7b9083908790602001614a99565b60408051601f1981840301815291905280516020909101209050610c9f81846127d9565b15610cbd5760405163782a90fb60e11b815260040160405180910390fd5b610cfa8185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061253292505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d868686604051610d3793929190614ad6565b60405180910390a25050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610d8f5760405163c51efddd60e01b815260040160405180910390fd5b610d9b8484848461280d565b5050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610e06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2a9190614b17565b610e475760405163327fd99160e21b815260040160405180910390fd5b6000610e5161292d565b90506001600160a01b038116610e645750845b600085610e715786610e73565b815b905060008313610f4157610e8683614b4a565b610e8f85612a72565b14610e9c57610e9c614b66565b610ea584612a72565b6001600160a01b03821660009081526002602052604081208054909190610ecd908490614b7c565b90915550506001600160a01b03851660009081526002602052604081208054859290610efa908490614b7c565b92505081905550806001600160a01b0316856001600160a01b03166000805160206150b383398151915286604051610f3491815260200190565b60405180910390a361106d565b8515610f4f57610f4f614b66565b82610f5985612a72565b610f639190614b7c565b6001600160a01b03831660009081526002602052604081208054909190610f8b908490614ba4565b90915550610f9a905084612a72565b6001600160a01b03881660009081526002602052604081208054909190610fc2908490614b7c565b90915550506001600160a01b03851660009081526002602052604081208054859290610fef908490614b7c565b92505081905550866001600160a01b0316826001600160a01b03166000805160206150b38339815191528660405161102991815260200190565b60405180910390a3846001600160a01b0316826001600160a01b03166000805160206150b38339815191528560405161106491815260200190565b60405180910390a35b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f6040516110c2959493929190614bc4565b60405180910390a4505050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461111e5760405163c51efddd60e01b815260040160405180910390fd5b61114a338484846040518060200160405280600081525060405180602001604052806000815250612ae0565b505050565b61115b8384848461280d565b50505050565b600061116f3385858561280d565b949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146111c05760405163c51efddd60e01b815260040160405180910390fd5b6111ec338384846040518060200160405280600081525060405180602001604052806000815250612619565b5050565b60405133906000906112089083908690602001614a99565b60405160208183030381529060405280519060200120905061122a81846127d9565b6112475760405163dae1880960e01b815260040160405180910390fd5b6112518184612c93565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b9060200160405180910390a250505050565b60008061129883612cac565b91509150915091565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611305573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113299190614bf7565b9050611335858261217e565b91979096509094509092509050565b6001600160a01b038181166000908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d90602401600060405180830381865afa1580156113bf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c2e9190810190614c10565b3360008181526011602090815260408083206001600160a01b03871684529091528120549091610c2a91859061141e908690614ca4565b61256a565b610c6081612d68565b33301461144c57604051630fff4cc960e31b815260040160405180910390fd5b610d9b8385848461280d565b600054610100900460ff16158080156114785750600054600160ff909116105b806114925750303b158015611492575060005460ff166001145b6114b75760405162461bcd60e51b81526004016114ae90614cb7565b60405180910390fd5b6000805460ff1916600117905580156114da576000805461ff0019166101001790555b6114ea8787878787876000612d73565b8015611530576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b610c60333333846040518060200160405280600081525060405180602001604052806000815250612ae0565b600061157d6000805160206150698339815191525490565b905060006001600160a01b0382161561159657816115b8565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146115e357604051630484acab60e01b815260040160405180910390fd5b61114a83612e3b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146116355760405163c51efddd60e01b815260040160405180910390fd5b61114a338484846040518060200160405280600081525060405180602001604052806000815250612619565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146116aa5760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b0380841660009081526011602090815260408083209386168352929052205461114a908490849061141e908590614ca4565b606060008585856040516020016116fc93929190614a50565b60405160208183030381529060405280519060200120905061171e8184613075565b9695505050505050565b6000610ad37f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b61114a83838361256a565b61115b3333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612ae0915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146117525760405163c51efddd60e01b815260040160405180910390fd5b336118046012828a6130fc565b6118215760405163f7f0222760e01b815260040160405180910390fd5b61189b8189898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a9081908401838280828437600092019190915250600192506131a5915050565b5050505050505050565b33301461175257604051630fff4cc960e31b815260040160405180910390fd5b6060600084846040516020016118dc929190614a99565b6040516020818303038152906040528051906020012090506118fe8184613075565b95945050505050565b6000610ad36000805160206150698339815191525490565b60008061192b836112a1565b50505090506000811261193e5780611941565b60005b9392505050565b6000610c2e827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b09190614bf7565b6111ec333384846040518060200160405280600081525060405180602001604052806000815250612619565b6000611a146000805160206150698339815191525490565b905060006001600160a01b03821615611a2d5781611a4f565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b03821614611a7a57604051630484acab60e01b815260040160405180910390fd5b6000611a926000805160206150698339815191525490565b9050611aaa8460008051602061506983398151915255565b836001600160a01b0316816001600160a01b03167f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f60405160405180910390a350505050565b33611afd6012828461321e565b806001600160a01b0316826001600160a01b03167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a35050565b606060108054610ae790614a16565b600054610100900460ff1615808015611b705750600054600160ff909116105b80611b8a5750303b158015611b8a575060005460ff166001145b611ba65760405162461bcd60e51b81526004016114ae90614cb7565b6000805460ff191660011790558015611bc9576000805461ff0019166101001790555b8015610c60576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b61115b3333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250600191506131a59050565b333014611c8657604051630fff4cc960e31b815260040160405180910390fd5b805160408051600081526020810190915261114a91339186918691901515908690613322565b6040513390600090611cc49083908790602001614a99565b604051602081830303815290604052805190602001209050611d198185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061253292505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca868686604051610d3793929190614ad6565b6111ec333383611d653361191f565b61280d565b6000610c2a338461141e856040518060600160405280602a8152602001615089602a91393360009081526011602090815260408083206001600160a01b038d16845290915290205491906133ef565b60006119413333858561280d565b61115b338585600180878761341b565b600080600080611de7868661217e565b9250925092506000611e0f828411611e00576000612a72565b611e0a8385614d05565b612a72565b611e199085614b7c565b60001315979650505050505050565b6000610c2e827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e8c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109189190614bf7565b333014611ed057604051630fff4cc960e31b815260040160405180910390fd5b805160408051600081526020810190915261114a91339186918691901515908190879061341b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611f415760405163c51efddd60e01b815260040160405180910390fd5b61114a838361141e846040518060600160405280602a8152602001615089602a91396001600160a01b03808a166000908152601160209081526040808320938c168352929052205491906133ef565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611fd95760405163c51efddd60e01b815260040160405180910390fd5b61115b33858585856040518060200160405280600081525060016131a5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146120415760405163c51efddd60e01b815260040160405180910390fd5b6111ec338384846040518060200160405280600081525060405180602001604052806000815250612ae0565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa1580156120d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f59190614b17565b6121125760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b038216600090815260026020526040902054612136908290614b7c565b6001600160a01b0390921660009081526002602052604090209190915550565b6000611941601284846130fc565b600080612171848461217e565b5050600013949350505050565b6001600160a01b0382166000908152600260205260408120549080806121a386611344565b905060005b81518110156122a95760008060008484815181106121c8576121c8614d18565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa158015612227573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061224b9190614d2e565b9194509250905061225c8288614ca4565b96506122688187614ca4565b955061228581831161227b576000612a72565b611e0a8284614d05565b61228f848a614b7c565b6122999190614ba4565b97505050508060010190506121a8565b50509250925092565b600054610100900460ff16158080156122d25750600054600160ff909116105b806122ec5750303b1580156122ec575060005460ff166001145b6123085760405162461bcd60e51b81526004016114ae90614cb7565b6000805460ff19166001179055801561232b576000805461ff0019166101001790555b61233a88888888888888612d73565b801561189b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050565b33612396601282846134e9565b806001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a35050565b336123e7601282896130fc565b6124045760405163f7f0222760e01b815260040160405180910390fd5b6115308188898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a908190840183828082843760009201919091525061261992505050565b61114a3333338686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612619915050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561252657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612508575b50505050509050919050565b60005b815181101561114a57600082828151811061255257612552614d18565b60209081029190910101518483015550600101612535565b6001600160a01b03831661259157604051638163862760e01b815260040160405180910390fd5b6001600160a01b0382166125b8576040516337c1c09d60e21b815260040160405180910390fd5b6001600160a01b0383811660008181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600e546001600160a01b031661264257604051637bce7b2b60e11b815260040160405180910390fd5b60008061264e85612cac565b915091506126658888838751600014158888613322565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156126ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126d29190614bf7565b600e549091506126ec906001600160a01b031688856135e1565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612735573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127599190614bf7565b905060006127678284614d05565b905080851461278957604051631c7c26d360e31b815260040160405180910390fd5b896001600160a01b03167f3bc27981aebbb57f9247dc00fde9d6cd91e4b230083fec3238fedbcba1f9ab3d856040516127c491815260200190565b60405180910390a25050505050505050505050565b6000805b82811015612803578381015480156127fa57600192505050610c2e565b506001016127dd565b5060009392505050565b60006001600160a01b0384166128365760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b03831661285d5760405163e219bd3960e01b815260040160405180910390fd5b600033905061288e818686866040518060200160405280600081525060405180602001604052806000815250613644565b846001600160a01b0316866001600160a01b03161461292157612921858761141e866040518060600160405280602d81526020016150d3602d9139601160008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b03168152602001908152602001600020546133ef9092919063ffffffff16565b50600195945050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561298e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129b29190614d5c565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa158015612a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a6c9190614d5c565b91505090565b60006001600160ff1b03821115612adc5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016114ae565b5090565b600e546001600160a01b0316612b0957604051637bce7b2b60e11b815260040160405180910390fd5b600080612b1585612cac565b600e546040516370a0823160e01b81523060048201529294509092506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015612b66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b8a9190614bf7565b600e54909150612ba5906001600160a01b03168930866136e3565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c129190614bf7565b90506000612c208383614d05565b9050808514612c4257604051631c7c26d360e31b815260040160405180910390fd5b8651612c58908c908b9087901515808c8c61341b565b886001600160a01b03167f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df856040516127c491815260200190565b60005b8181101561114a57600083820155600101612c96565b600e54600090819081906012600160a01b90910460ff161015612d0b57600e54612ce190600160a01b900460ff166012614d79565b612cec90600a614e79565b9050612cf88185614e88565b9250612d048184614eaa565b9150612d62565b600e546012600160a01b90910460ff161115612d5b57600e54612d3a90601290600160a01b900460ff16614d79565b612d4590600a614e79565b9050612d518185614eaa565b9250839150612d62565b8391508192505b50915091565b610c6060128261371b565b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f612da8858783614f08565b506010612db6838583614f08565b50612dcd8160008051602061506983398151915255565b612dd63061379d565b60405160008082529081906000805160206150b38339815191529060200160405180910390a36040516001600160a01b038216906000907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f908290a350505050505050565b6000612e657f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603612ebb5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016114ae565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ef9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f1d9190614bf7565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb001914612f975760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016114ae565b6001600160a01b0381163003612fef5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016114ae565b613017817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019604080519182526001600160a01b038416602083015201611c07565b6060816001600160401b0381111561308f5761308f61425f565b6040519080825280602002602001820160405280156130b8578160200160208202803683370190505b50905060005b828110156130f5576000818501549050808383815181106130e1576130e1614d18565b6020908102919091010152506001016130be565b5092915050565b6000816001600160a01b0316836001600160a01b0316148061316b57506001600160a01b038316600090815260018501602052604090205460ff16801561316b57506001600160a01b03808316600090815260038601602090815260408083209387168352929052205460ff16155b8061116f57506001600160a01b03808316600090815260028601602090815260408083209387168352929052205460ff1690509392505050565b6001600160a01b0386166131cc5760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0385166131f35760405163e219bd3960e01b815260040160405180910390fd5b6132018787878787876138cb565b61320f878787878787613644565b611530878787878787876139f2565b806001600160a01b0316826001600160a01b0316036132955760405162461bcd60e51b815260206004820152602d60248201527f4552433737374f70657261746f72733a20617574686f72697a696e672073656c60448201526c331030b99037b832b930ba37b960991b60648201526084016114ae565b6001600160a01b038116600090815260018401602052604090205460ff16156132eb576001600160a01b03918216600090815260039390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b0380831660009081526002850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03851661334957604051632e8aac6160e21b815260040160405180910390fd5b821561335e5761335e868660008786866138cb565b6133688585613b42565b846001600160a01b0316866001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a40988685856040516133af93929190614fc7565b60405180910390a36040518481526000906001600160a01b038716906000805160206150b3833981519152906020015b60405180910390a3505050505050565b600081848411156134135760405162461bcd60e51b81526004016114ae91906140b0565b505050900390565b6001600160a01b03861661344257604051630d24315760e01b815260040160405180910390fd5b61344c8686613c52565b83156134625761346287600088888686896139f2565b856001600160a01b0316876001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d8785856040516134a993929190614fc7565b60405180910390a36040518581526001600160a01b038716906000906000805160206150b38339815191529060200160405180910390a350505050505050565b336001600160a01b038216036135545760405162461bcd60e51b815260206004820152602a60248201527f4552433737374f70657261746f72733a207265766f6b696e672073656c662061604482015269399037b832b930ba37b960b11b60648201526084016114ae565b6001600160a01b038116600090815260018401602052604090205460ff16156135ae576001600160a01b0380831660009081526003850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03918216600090815260029390930160209081526040808520929093168452529020805460ff19169055565b6040516001600160a01b03831660248201526044810182905261114a90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613cac565b613657858561365286612a72565b613d81565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc826146779878686866040516136a893929190614fc7565b60405180910390a4836001600160a01b0316856001600160a01b03166000805160206150b3833981519152856040516133df91815260200190565b6040516001600160a01b038085166024830152831660448201526064810182905261115b9085906323b872dd60e01b9060840161360d565b81541561372a5761372a614b66565b805161373c9083906020840190613fa3565b5060005b815181101561114a57600183600101600084848151811061376357613763614d18565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101613740565b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b15801561381e57600080fd5b505af1158015613832573d6000803e3d6000fd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b1580156138b757600080fd5b505af1158015610d9b573d6000803e3d6000fd5b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe8956024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa15801561394c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139709190614d5c565b90506001600160a01b0381161561153057604051633ad5cbc160e11b81526001600160a01b038216906375ab9782906139b7908a908a908a908a908a908a90600401614ff2565b600060405180830381600087803b1580156139d157600080fd5b505af11580156139e5573d6000803e3d6000fd5b5050505050505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b6024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015613a73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a979190614d5c565b90506001600160a01b03811615613b13576040516223de2960e01b81526001600160a01b038216906223de2990613adc908b908b908b908b908b908b90600401614ff2565b600060405180830381600087803b158015613af657600080fd5b505af1158015613b0a573d6000803e3d6000fd5b5050505061189b565b811561189b576001600160a01b0386163b1561189b5760405163fe737d0560e01b815260040160405180910390fd5b6000613bca837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015613ba6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109fc9190614bf7565b50509050613bd782612a72565b811215613bf75760405163043b37d160e21b815260040160405180910390fd5b613c0082612a72565b6001600160a01b038416600090815260026020526040902054613c239190614ba4565b6001600160a01b038416600090815260026020526040902055600354613c4a908390614d05565b600355505050565b613c5b81612a72565b6001600160a01b038316600090815260026020526040902054613c7e9190614b7c565b6001600160a01b038316600090815260026020526040902055600354613ca5908290614ca4565b6003555050565b6000613d01826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613e809092919063ffffffff16565b9050805160001480613d22575080806020019051810190613d229190614b17565b61114a5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016114ae565b6000613de5847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015613ba6573d6000803e3d6000fd5b5050905081811215613e0a57604051632f4cb94160e01b815260040160405180910390fd5b6001600160a01b038416600090815260026020526040902054613e2e908390614ba4565b6001600160a01b038086166000908152600260205260408082209390935590851681522054613e5e908390614b7c565b6001600160a01b03909316600090815260026020526040902092909255505050565b606061116f848460008585600080866001600160a01b03168587604051613ea7919061504c565b60006040518083038185875af1925050503d8060008114613ee4576040519150601f19603f3d011682016040523d82523d6000602084013e613ee9565b606091505b5091509150613efa87838387613f05565b979650505050505050565b60608315613f74578251600003613f6d576001600160a01b0385163b613f6d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016114ae565b508161116f565b61116f8383815115613f895781518083602001fd5b8060405162461bcd60e51b81526004016114ae91906140b0565b828054828255906000526020600020908101928215613ff8579160200282015b82811115613ff857825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613fc3565b50612adc9291505b80821115612adc5760008155600101614000565b602080825282518282018190526000918401906040840190835b818110156140555783516001600160a01b031683526020938401939092019160010161402e565b509095945050505050565b60005b8381101561407b578181015183820152602001614063565b50506000910152565b6000815180845261409c816020860160208601614060565b601f01601f19169290920160200192915050565b6020815260006119416020830184614084565b6001600160a01b0381168114610c6057600080fd5b60008083601f8401126140ea57600080fd5b5081356001600160401b0381111561410157600080fd5b6020830191508360208260051b850101111561411c57600080fd5b9250929050565b6000806000806060858703121561413957600080fd5b8435614144816140c3565b93506020850135925060408501356001600160401b0381111561416657600080fd5b614172878288016140d8565b95989497509550505050565b6000806040838503121561419157600080fd5b823561419c816140c3565b946020939093013593505050565b6000602082840312156141bc57600080fd5b5035919050565b6000806000604084860312156141d857600080fd5b8335925060208401356001600160401b038111156141f557600080fd5b614201868287016140d8565b9497909650939450505050565b6000806000806080858703121561422457600080fd5b843561422f816140c3565b9350602085013561423f816140c3565b9250604085013561424f816140c3565b9396929550929360600135925050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561429d5761429d61425f565b604052919050565b600082601f8301126142b657600080fd5b81356001600160401b038111156142cf576142cf61425f565b6142e2601f8201601f1916602001614275565b8181528460208386010111156142f757600080fd5b816020850160208301376000918101602001919091529392505050565b8015158114610c6057600080fd5b600080600080600080600060e0888a03121561433d57600080fd5b8735965060208801356001600160401b0381111561435a57600080fd5b6143668a828b016142a5565b9650506040880135614377816140c3565b9450606088013561438781614314565b93506080880135614397816140c3565b9699959850939692959460a0840135945060c09093013592915050565b6000806000606084860312156143c957600080fd5b83356143d4816140c3565b925060208401356143e4816140c3565b929592945050506040919091013590565b6000806040838503121561440857600080fd5b50508035926020909101359150565b60006020828403121561442957600080fd5b8135611941816140c3565b60006001600160401b0382111561444d5761444d61425f565b5060051b60200190565b60006020828403121561446957600080fd5b81356001600160401b0381111561447f57600080fd5b8201601f8101841361449057600080fd5b80356144a361449e82614434565b614275565b8082825260208201915060208360051b8501019250868311156144c557600080fd5b6020840193505b8284101561171e5783356144df816140c3565b8252602093840193909101906144cc565b803560ff8116811461450157600080fd5b919050565b60008083601f84011261451857600080fd5b5081356001600160401b0381111561452f57600080fd5b60208301915083602082850101111561411c57600080fd5b6000806000806000806080878903121561456057600080fd5b863561456b816140c3565b9550614579602088016144f0565b945060408701356001600160401b0381111561459457600080fd5b6145a089828a01614506565b90955093505060608701356001600160401b038111156145bf57600080fd5b6145cb89828a01614506565b979a9699509497509295939492505050565b600080600080608085870312156145f357600080fd5b84356145fe816140c3565b9350602085013561460e816140c3565b93969395505050506040820135916060013590565b602080825282518282018190526000918401906040840190835b8181101561405557835183526020938401939092019160010161463d565b6000806000806060858703121561467157600080fd5b843561467c816140c3565b93506020850135925060408501356001600160401b0381111561469e57600080fd5b61417287828801614506565b600080600080600080600060a0888a0312156146c557600080fd5b87356146d0816140c3565b965060208801356146e0816140c3565b95506040880135945060608801356001600160401b0381111561470257600080fd5b61470e8a828b01614506565b90955093505060808801356001600160401b0381111561472d57600080fd5b6147398a828b01614506565b989b979a50959850939692959293505050565b60008060006060848603121561476157600080fd5b833561476c816140c3565b95602085013595506040909401359392505050565b60008060006060848603121561479657600080fd5b83356147a1816140c3565b92506020840135915060408401356001600160401b038111156147c357600080fd5b6147cf868287016142a5565b9150509250925092565b600080600080608085870312156147ef57600080fd5b84356147fa816140c3565b93506020850135925060408501356001600160401b0381111561481c57600080fd5b614828878288016142a5565b92505060608501356001600160401b0381111561484457600080fd5b614850878288016142a5565b91505092959194509250565b6000806000806080858703121561487257600080fd5b843561487d816140c3565b9350602085013561488d816140c3565b92506040850135915060608501356001600160401b0381111561484457600080fd5b600080604083850312156148c257600080fd5b82356148cd816140c3565b915060208301356148dd816140c3565b809150509250929050565b600080600080600080600060a0888a03121561490357600080fd5b873561490e816140c3565b965061491c602089016144f0565b955060408801356001600160401b0381111561493757600080fd5b6149438a828b01614506565b90965094505060608801356001600160401b0381111561496257600080fd5b61496e8a828b01614506565b9094509250506080880135614982816140c3565b8091505092959891949750929550565b600080600080600080608087890312156149ab57600080fd5b86356149b6816140c3565b95506020870135945060408701356001600160401b0381111561459457600080fd5b6000806000604084860312156149ed57600080fd5b8335925060208401356001600160401b03811115614a0a57600080fd5b61420186828701614506565b600181811c90821680614a2a57607f821691505b602082108103614a4a57634e487b7160e01b600052602260045260246000fd5b50919050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b838152604060208201819052810182905260006001600160fb1b03831115614afd57600080fd5b8260051b8085606085013791909101606001949350505050565b600060208284031215614b2957600080fd5b815161194181614314565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b8201614b5f57614b5f614b34565b5060000390565b634e487b7160e01b600052600160045260246000fd5b8082018281126000831280158216821582161715614b9c57614b9c614b34565b505092915050565b81810360008312801583831316838312821617156130f5576130f5614b34565b85815260018060a01b038516602082015283604082015282606082015260a060808201526000613efa60a0830184614084565b600060208284031215614c0957600080fd5b5051919050565b600060208284031215614c2257600080fd5b81516001600160401b03811115614c3857600080fd5b8201601f81018413614c4957600080fd5b8051614c5761449e82614434565b8082825260208201915060208360051b850101925086831115614c7957600080fd5b6020840193505b8284101561171e578351614c93816140c3565b825260209384019390910190614c80565b80820180821115610c2e57610c2e614b34565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b81810381811115610c2e57610c2e614b34565b634e487b7160e01b600052603260045260246000fd5b600080600060608486031215614d4357600080fd5b5050815160208301516040909301519094929350919050565b600060208284031215614d6e57600080fd5b8151611941816140c3565b60ff8281168282160390811115610c2e57610c2e614b34565b6001815b6001841115614dcd57808504811115614db157614db1614b34565b6001841615614dbf57908102905b60019390931c928002614d96565b935093915050565b600082614de457506001610c2e565b81614df157506000610c2e565b8160018114614e075760028114614e1157614e2d565b6001915050610c2e565b60ff841115614e2257614e22614b34565b50506001821b610c2e565b5060208310610133831016604e8410600b8410161715614e50575081810a610c2e565b614e5d6000198484614d92565b8060001904821115614e7157614e71614b34565b029392505050565b600061194160ff841683614dd5565b600082614ea557634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c2e57610c2e614b34565b601f82111561114a57806000526020600020601f840160051c81016020851015614ee85750805b601f840160051c820191505b81811015610d9b5760008155600101614ef4565b6001600160401b03831115614f1f57614f1f61425f565b614f3383614f2d8354614a16565b83614ec1565b6000601f841160018114614f675760008515614f4f5750838201355b600019600387901b1c1916600186901b178355610d9b565b600083815260209020601f19861690835b82811015614f985786850135825560209485019460019092019101614f78565b5086821015614fb55760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b838152606060208201526000614fe06060830185614084565b828103604084015261171e8185614084565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c06080820181905260009061502d90830185614084565b82810360a084015261503f8185614084565b9998505050505050505050565b6000825161505e818460208701614060565b919091019291505056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035375706572546f6b656e3a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5375706572546f6b656e3a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122095ebe927641c9c9a9abab80a990656560b9e8875d24a393134addd6ae373ec1a64736f6c634300081a0033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "contract ISuperfluid";