@superfluid-finance/sdk-core 0.9.1-dev.030d123.0 → 0.9.1-dev.0567de2.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 (981) hide show
  1. package/README.md +3 -3
  2. package/dist/index.umd.js +32290 -29705
  3. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC1271.d.ts +45 -0
  4. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC1271.d.ts.map +1 -0
  5. package/dist/main/typechain-types/{contracts/utils/MacroForwarder.js → @openzeppelin-v5/contracts/interfaces/IERC1271.js} +1 -1
  6. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC1271.js.map +1 -0
  7. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier.d.ts +43 -0
  8. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier.d.ts.map +1 -0
  9. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier.js +3 -0
  10. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier.js.map +1 -0
  11. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.d.ts +2 -0
  12. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.d.ts.map +1 -0
  13. package/dist/main/typechain-types/{contracts/interfaces/utils/IUserDefinedMacro.js → @openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.js} +1 -1
  14. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.js.map +1 -0
  15. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/index.d.ts +3 -0
  16. package/dist/main/typechain-types/@openzeppelin-v5/contracts/interfaces/index.d.ts.map +1 -1
  17. package/dist/main/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils.d.ts +28 -0
  18. package/dist/main/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils.d.ts.map +1 -0
  19. package/dist/main/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils.js +3 -0
  20. package/dist/main/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils.js.map +1 -0
  21. package/dist/main/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/index.d.ts +1 -0
  22. package/dist/main/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/index.d.ts.map +1 -1
  23. package/dist/main/typechain-types/contracts/agreements/InstantDistributionAgreementV1.d.ts +9 -1
  24. package/dist/main/typechain-types/contracts/agreements/InstantDistributionAgreementV1.d.ts.map +1 -1
  25. package/dist/main/typechain-types/contracts/interfaces/external/IPermit2.d.ts +98 -0
  26. package/dist/main/typechain-types/contracts/interfaces/external/IPermit2.d.ts.map +1 -0
  27. package/dist/main/typechain-types/contracts/interfaces/external/IPermit2.js +3 -0
  28. package/dist/main/typechain-types/contracts/interfaces/external/IPermit2.js.map +1 -0
  29. package/dist/main/typechain-types/contracts/interfaces/external/index.d.ts +2 -0
  30. package/dist/main/typechain-types/contracts/interfaces/external/index.d.ts.map +1 -0
  31. package/dist/main/typechain-types/contracts/interfaces/external/index.js +3 -0
  32. package/dist/main/typechain-types/contracts/interfaces/external/index.js.map +1 -0
  33. package/dist/main/typechain-types/contracts/interfaces/index.d.ts +2 -0
  34. package/dist/main/typechain-types/contracts/interfaces/index.d.ts.map +1 -1
  35. package/dist/main/typechain-types/contracts/interfaces/superfluid/ISuperTokenFactory.d.ts +1 -53
  36. package/dist/main/typechain-types/contracts/interfaces/superfluid/ISuperTokenFactory.d.ts.map +1 -1
  37. package/dist/main/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts +20 -14
  38. package/dist/main/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts.map +1 -1
  39. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacro.d.ts +91 -0
  40. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacro.d.ts.map +1 -0
  41. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacro.js +3 -0
  42. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacro.js.map +1 -0
  43. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1.d.ts +143 -0
  44. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1.d.ts.map +1 -0
  45. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1.js +3 -0
  46. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1.js.map +1 -0
  47. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2.d.ts +250 -0
  48. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2.d.ts.map +1 -0
  49. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2.js +3 -0
  50. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2.js.map +1 -0
  51. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension.d.ts +144 -0
  52. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension.d.ts.map +1 -0
  53. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension.js +3 -0
  54. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension.js.map +1 -0
  55. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.d.ts +3 -0
  56. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.d.ts.map +1 -0
  57. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.js +3 -0
  58. package/dist/main/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.js.map +1 -0
  59. package/dist/main/typechain-types/contracts/interfaces/utils/{IUserDefinedMacro.d.ts → IMacro.d.ts} +14 -14
  60. package/dist/main/typechain-types/contracts/interfaces/utils/IMacro.d.ts.map +1 -0
  61. package/dist/main/typechain-types/contracts/interfaces/utils/IMacro.js +3 -0
  62. package/dist/main/typechain-types/contracts/interfaces/utils/IMacro.js.map +1 -0
  63. package/dist/main/typechain-types/contracts/interfaces/utils/index.d.ts +5 -1
  64. package/dist/main/typechain-types/contracts/interfaces/utils/index.d.ts.map +1 -1
  65. package/dist/main/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock.d.ts +1 -79
  66. package/dist/main/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock.d.ts.map +1 -1
  67. package/dist/main/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42.d.ts +1 -79
  68. package/dist/main/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42.d.ts.map +1 -1
  69. package/dist/main/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester.d.ts +1 -79
  70. package/dist/main/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester.d.ts.map +1 -1
  71. package/dist/main/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester.d.ts +1 -79
  72. package/dist/main/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester.d.ts.map +1 -1
  73. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock.d.ts +20 -14
  74. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock.d.ts.map +1 -1
  75. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester.d.ts +20 -14
  76. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester.d.ts.map +1 -1
  77. package/dist/main/typechain-types/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory.d.ts +1 -79
  78. package/dist/main/typechain-types/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory.d.ts.map +1 -1
  79. package/dist/main/typechain-types/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase.d.ts +1 -79
  80. package/dist/main/typechain-types/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase.d.ts.map +1 -1
  81. package/dist/main/typechain-types/contracts/superfluid/Superfluid.d.ts +20 -14
  82. package/dist/main/typechain-types/contracts/superfluid/Superfluid.d.ts.map +1 -1
  83. package/dist/main/typechain-types/contracts/utils/{MacroForwarder.d.ts → BlindMacroForwarder.d.ts} +22 -7
  84. package/dist/main/typechain-types/contracts/utils/BlindMacroForwarder.d.ts.map +1 -0
  85. package/dist/main/typechain-types/contracts/utils/BlindMacroForwarder.js +3 -0
  86. package/dist/main/typechain-types/contracts/utils/BlindMacroForwarder.js.map +1 -0
  87. package/dist/main/typechain-types/contracts/utils/ClearMacroBase.d.ts +87 -0
  88. package/dist/main/typechain-types/contracts/utils/ClearMacroBase.d.ts.map +1 -0
  89. package/dist/main/typechain-types/contracts/utils/ClearMacroBase.js +3 -0
  90. package/dist/main/typechain-types/contracts/utils/ClearMacroBase.js.map +1 -0
  91. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1.d.ts +216 -0
  92. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1.d.ts.map +1 -0
  93. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1.js +3 -0
  94. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1.js.map +1 -0
  95. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/NonceManager.d.ts +45 -0
  96. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/NonceManager.d.ts.map +1 -0
  97. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/NonceManager.js +3 -0
  98. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/NonceManager.js.map +1 -0
  99. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/index.d.ts +3 -0
  100. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/index.d.ts.map +1 -0
  101. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/index.js +3 -0
  102. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/index.js.map +1 -0
  103. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1WithPermit2.d.ts +331 -0
  104. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1WithPermit2.d.ts.map +1 -0
  105. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1WithPermit2.js +3 -0
  106. package/dist/main/typechain-types/contracts/utils/ClearMacroForwarderV1WithPermit2.js.map +1 -0
  107. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.d.ts +3 -0
  108. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.d.ts.map +1 -1
  109. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.d.ts +3 -0
  110. package/dist/main/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.d.ts.map +1 -1
  111. package/dist/main/typechain-types/contracts/utils/TOGA.sol/ITOGAv4.d.ts +174 -0
  112. package/dist/main/typechain-types/contracts/utils/TOGA.sol/ITOGAv4.d.ts.map +1 -0
  113. package/dist/main/typechain-types/contracts/utils/TOGA.sol/ITOGAv4.js +3 -0
  114. package/dist/main/typechain-types/contracts/utils/TOGA.sol/ITOGAv4.js.map +1 -0
  115. package/dist/main/typechain-types/contracts/utils/TOGA.sol/TOGA.d.ts +20 -4
  116. package/dist/main/typechain-types/contracts/utils/TOGA.sol/TOGA.d.ts.map +1 -1
  117. package/dist/main/typechain-types/contracts/utils/TOGA.sol/index.d.ts +1 -0
  118. package/dist/main/typechain-types/contracts/utils/TOGA.sol/index.d.ts.map +1 -1
  119. package/dist/main/typechain-types/contracts/utils/index.d.ts +5 -1
  120. package/dist/main/typechain-types/contracts/utils/index.d.ts.map +1 -1
  121. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC1271__factory.d.ts +27 -0
  122. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC1271__factory.d.ts.map +1 -0
  123. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC1271__factory.js +44 -0
  124. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC1271__factory.js.map +1 -0
  125. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier__factory.d.ts +31 -0
  126. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier__factory.d.ts.map +1 -0
  127. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier__factory.js +49 -0
  128. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier__factory.js.map +1 -0
  129. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.d.ts +2 -0
  130. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.d.ts.map +1 -0
  131. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.js +9 -0
  132. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.js.map +1 -0
  133. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/index.d.ts +2 -0
  134. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/index.d.ts.map +1 -1
  135. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/index.js +4 -1
  136. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/index.js.map +1 -1
  137. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/proxy/ERC1967/ERC1967Utils__factory.d.ts +1 -1
  138. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/proxy/ERC1967/ERC1967Utils__factory.js +1 -1
  139. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/BeaconProxy__factory.d.ts +1 -1
  140. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/BeaconProxy__factory.d.ts.map +1 -1
  141. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/BeaconProxy__factory.js +1 -1
  142. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/BeaconProxy__factory.js.map +1 -1
  143. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/UpgradeableBeacon__factory.d.ts +1 -1
  144. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/UpgradeableBeacon__factory.js +1 -1
  145. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/token/ERC20/utils/SafeERC20__factory.d.ts +1 -1
  146. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/token/ERC20/utils/SafeERC20__factory.js +1 -1
  147. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/Address__factory.d.ts +1 -1
  148. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/Address__factory.js +1 -1
  149. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/Errors__factory.d.ts +1 -1
  150. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/Errors__factory.js +1 -1
  151. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/ShortStrings__factory.d.ts +1 -1
  152. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/ShortStrings__factory.js +1 -1
  153. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/Strings__factory.d.ts +1 -1
  154. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/Strings__factory.js +1 -1
  155. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/ECDSA__factory.d.ts +1 -1
  156. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/ECDSA__factory.js +1 -1
  157. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils__factory.d.ts +25 -0
  158. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils__factory.d.ts.map +1 -0
  159. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils__factory.js +48 -0
  160. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils__factory.js.map +1 -0
  161. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/index.d.ts +1 -0
  162. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/index.d.ts.map +1 -1
  163. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/index.js +3 -1
  164. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/index.js.map +1 -1
  165. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/math/SafeCast__factory.d.ts +1 -1
  166. package/dist/main/typechain-types/factories/@openzeppelin-v5/contracts/utils/math/SafeCast__factory.js +1 -1
  167. package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts +1 -1
  168. package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts.map +1 -1
  169. package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js +1 -1
  170. package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js.map +1 -1
  171. package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts +42 -4
  172. package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts.map +1 -1
  173. package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js +54 -5
  174. package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js.map +1 -1
  175. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts +1 -1
  176. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts.map +1 -1
  177. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js +1 -1
  178. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js.map +1 -1
  179. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.d.ts +1 -1
  180. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.d.ts.map +1 -1
  181. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.js +1 -1
  182. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.js.map +1 -1
  183. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPoolPlaceholder__factory.d.ts +1 -1
  184. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPoolPlaceholder__factory.js +1 -1
  185. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts +1 -1
  186. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts.map +1 -1
  187. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js +1 -1
  188. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js.map +1 -1
  189. package/dist/main/typechain-types/factories/contracts/apps/SuperfluidLoaderLibrary__factory.d.ts +1 -1
  190. package/dist/main/typechain-types/factories/contracts/apps/SuperfluidLoaderLibrary__factory.js +1 -1
  191. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.d.ts +1 -1
  192. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.js +1 -1
  193. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.d.ts +1 -1
  194. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.js +1 -1
  195. package/dist/main/typechain-types/factories/contracts/interfaces/agreements/IInstantDistributionAgreementV1__factory.d.ts +12 -0
  196. package/dist/main/typechain-types/factories/contracts/interfaces/agreements/IInstantDistributionAgreementV1__factory.d.ts.map +1 -1
  197. package/dist/main/typechain-types/factories/contracts/interfaces/agreements/IInstantDistributionAgreementV1__factory.js +15 -0
  198. package/dist/main/typechain-types/factories/contracts/interfaces/agreements/IInstantDistributionAgreementV1__factory.js.map +1 -1
  199. package/dist/main/typechain-types/factories/contracts/interfaces/external/IPermit2__factory.d.ts +80 -0
  200. package/dist/main/typechain-types/factories/contracts/interfaces/external/IPermit2__factory.d.ts.map +1 -0
  201. package/dist/main/typechain-types/factories/contracts/interfaces/external/IPermit2__factory.js +112 -0
  202. package/dist/main/typechain-types/factories/contracts/interfaces/external/IPermit2__factory.js.map +1 -0
  203. package/dist/main/typechain-types/factories/contracts/interfaces/external/index.d.ts +2 -0
  204. package/dist/main/typechain-types/factories/contracts/interfaces/external/index.d.ts.map +1 -0
  205. package/dist/main/typechain-types/factories/contracts/interfaces/external/index.js +9 -0
  206. package/dist/main/typechain-types/factories/contracts/interfaces/external/index.js.map +1 -0
  207. package/dist/main/typechain-types/factories/contracts/interfaces/index.d.ts +1 -0
  208. package/dist/main/typechain-types/factories/contracts/interfaces/index.d.ts.map +1 -1
  209. package/dist/main/typechain-types/factories/contracts/interfaces/index.js +2 -1
  210. package/dist/main/typechain-types/factories/contracts/interfaces/index.js.map +1 -1
  211. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperTokenFactory__factory.d.ts +0 -58
  212. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperTokenFactory__factory.d.ts.map +1 -1
  213. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperTokenFactory__factory.js +0 -77
  214. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperTokenFactory__factory.js.map +1 -1
  215. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.d.ts +16 -0
  216. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.d.ts.map +1 -1
  217. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js +20 -0
  218. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js.map +1 -1
  219. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2__factory.d.ts +331 -0
  220. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2__factory.d.ts.map +1 -0
  221. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2__factory.js +440 -0
  222. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2__factory.js.map +1 -0
  223. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension__factory.d.ts +152 -0
  224. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension__factory.d.ts.map +1 -0
  225. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension__factory.js +205 -0
  226. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension__factory.js.map +1 -0
  227. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.d.ts +3 -0
  228. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.d.ts.map +1 -0
  229. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.js +11 -0
  230. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.js.map +1 -0
  231. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1__factory.d.ts +188 -0
  232. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1__factory.d.ts.map +1 -0
  233. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1__factory.js +255 -0
  234. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1__factory.js.map +1 -0
  235. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacro__factory.d.ts +104 -0
  236. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacro__factory.d.ts.map +1 -0
  237. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacro__factory.js +146 -0
  238. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IClearMacro__factory.js.map +1 -0
  239. package/dist/{module/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.d.ts → main/typechain-types/factories/contracts/interfaces/utils/IMacro__factory.d.ts} +7 -7
  240. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IMacro__factory.d.ts.map +1 -0
  241. package/dist/main/typechain-types/factories/contracts/interfaces/utils/{IUserDefinedMacro__factory.js → IMacro__factory.js} +7 -7
  242. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IMacro__factory.js.map +1 -0
  243. package/dist/main/typechain-types/factories/contracts/interfaces/utils/index.d.ts +4 -1
  244. package/dist/main/typechain-types/factories/contracts/interfaces/utils/index.d.ts.map +1 -1
  245. package/dist/main/typechain-types/factories/contracts/interfaces/utils/index.js +41 -3
  246. package/dist/main/typechain-types/factories/contracts/interfaces/utils/index.js.map +1 -1
  247. package/dist/main/typechain-types/factories/contracts/libs/SlotsBitmapLibrary__factory.d.ts +1 -1
  248. package/dist/main/typechain-types/factories/contracts/libs/SlotsBitmapLibrary__factory.js +1 -1
  249. package/dist/main/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.d.ts +1 -1
  250. package/dist/main/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.d.ts.map +1 -1
  251. package/dist/main/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.js +1 -1
  252. package/dist/main/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.js.map +1 -1
  253. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.d.ts +1 -1
  254. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.js +1 -1
  255. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.d.ts +1 -1
  256. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.js +1 -1
  257. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.d.ts +1 -1
  258. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.js +1 -1
  259. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.d.ts +1 -1
  260. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.js +1 -1
  261. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.d.ts +1 -1
  262. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.js +1 -1
  263. package/dist/main/typechain-types/factories/contracts/mocks/CallUtilsMock.t.sol/CallUtilsMock__factory.d.ts +1 -1
  264. package/dist/main/typechain-types/factories/contracts/mocks/CallUtilsMock.t.sol/CallUtilsMock__factory.js +1 -1
  265. package/dist/main/typechain-types/factories/contracts/mocks/CallUtilsTester.t.sol/CallUtilsTester__factory.d.ts +1 -1
  266. package/dist/main/typechain-types/factories/contracts/mocks/CallUtilsTester.t.sol/CallUtilsTester__factory.d.ts.map +1 -1
  267. package/dist/main/typechain-types/factories/contracts/mocks/CallUtilsTester.t.sol/CallUtilsTester__factory.js +1 -1
  268. package/dist/main/typechain-types/factories/contracts/mocks/CallUtilsTester.t.sol/CallUtilsTester__factory.js.map +1 -1
  269. package/dist/main/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.t.sol/CustomSuperTokenProxyMock__factory.d.ts +1 -1
  270. package/dist/main/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.t.sol/CustomSuperTokenProxyMock__factory.js +1 -1
  271. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.d.ts +1 -1
  272. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.js +1 -1
  273. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.d.ts +1 -1
  274. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.js +1 -1
  275. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.d.ts +1 -1
  276. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.js +1 -1
  277. package/dist/main/typechain-types/factories/contracts/mocks/FakeSuperfluidMock.t.sol/FakeSuperfluidMock__factory.d.ts +1 -1
  278. package/dist/main/typechain-types/factories/contracts/mocks/FakeSuperfluidMock.t.sol/FakeSuperfluidMock__factory.js +1 -1
  279. package/dist/main/typechain-types/factories/contracts/mocks/ForwarderMock.t.sol/ForwarderMock__factory.d.ts +1 -1
  280. package/dist/main/typechain-types/factories/contracts/mocks/ForwarderMock.t.sol/ForwarderMock__factory.js +1 -1
  281. package/dist/main/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.d.ts +1 -1
  282. package/dist/main/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.js +1 -1
  283. package/dist/main/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.d.ts +1 -1
  284. package/dist/main/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.js +1 -1
  285. package/dist/main/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.d.ts +1 -1
  286. package/dist/main/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.js +1 -1
  287. package/dist/main/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.d.ts +1 -1
  288. package/dist/main/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.js +1 -1
  289. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.d.ts +1 -1
  290. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.js +1 -1
  291. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.d.ts +1 -1
  292. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.js +1 -1
  293. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.d.ts +1 -1
  294. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.js +1 -1
  295. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.d.ts +1 -1
  296. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.js +1 -1
  297. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.d.ts +1 -1
  298. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.js +1 -1
  299. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.d.ts +1 -1
  300. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.js +1 -1
  301. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.d.ts +1 -1
  302. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.js +1 -1
  303. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.d.ts +1 -1
  304. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.d.ts.map +1 -1
  305. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.js +1 -1
  306. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.js.map +1 -1
  307. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.d.ts +1 -82
  308. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.d.ts.map +1 -1
  309. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.js +1 -108
  310. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.js.map +1 -1
  311. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.d.ts +1 -82
  312. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.d.ts.map +1 -1
  313. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.js +1 -108
  314. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.js.map +1 -1
  315. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.d.ts +1 -82
  316. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.d.ts.map +1 -1
  317. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.js +1 -108
  318. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.js.map +1 -1
  319. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.d.ts +1 -82
  320. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.d.ts.map +1 -1
  321. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.js +1 -108
  322. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.js.map +1 -1
  323. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.d.ts +1 -1
  324. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.js +1 -1
  325. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.d.ts +1 -1
  326. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.js +1 -1
  327. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.d.ts +1 -1
  328. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.js +1 -1
  329. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.d.ts +1 -1
  330. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.js +1 -1
  331. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.d.ts +9 -1
  332. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.d.ts.map +1 -1
  333. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.js +12 -1
  334. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.js.map +1 -1
  335. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.d.ts +9 -1
  336. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.d.ts.map +1 -1
  337. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.js +12 -1
  338. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.js.map +1 -1
  339. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.d.ts +9 -1
  340. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.d.ts.map +1 -1
  341. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.js +12 -1
  342. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.js.map +1 -1
  343. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidDestructorMock.t.sol/SuperfluidDestructorMock__factory.d.ts +1 -1
  344. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidDestructorMock.t.sol/SuperfluidDestructorMock__factory.js +1 -1
  345. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.d.ts +1 -1
  346. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.js +1 -1
  347. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.d.ts +17 -1
  348. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.d.ts.map +1 -1
  349. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.js +21 -1
  350. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.js.map +1 -1
  351. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.d.ts +17 -1
  352. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.d.ts.map +1 -1
  353. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.js +21 -1
  354. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.js.map +1 -1
  355. package/dist/main/typechain-types/factories/contracts/mocks/UUPSProxiableMock.t.sol/UUPSProxiableMock__factory.d.ts +1 -1
  356. package/dist/main/typechain-types/factories/contracts/mocks/UUPSProxiableMock.t.sol/UUPSProxiableMock__factory.js +1 -1
  357. package/dist/main/typechain-types/factories/contracts/superfluid/AaveETHYieldBackend__factory.d.ts +1 -1
  358. package/dist/main/typechain-types/factories/contracts/superfluid/AaveETHYieldBackend__factory.js +1 -1
  359. package/dist/main/typechain-types/factories/contracts/superfluid/AaveYieldBackend__factory.d.ts +1 -1
  360. package/dist/main/typechain-types/factories/contracts/superfluid/AaveYieldBackend__factory.js +1 -1
  361. package/dist/main/typechain-types/factories/contracts/superfluid/ERC4626YieldBackend__factory.d.ts +1 -1
  362. package/dist/main/typechain-types/factories/contracts/superfluid/ERC4626YieldBackend__factory.js +1 -1
  363. package/dist/main/typechain-types/factories/contracts/superfluid/FullUpgradableSuperTokenProxy__factory.d.ts +1 -1
  364. package/dist/main/typechain-types/factories/contracts/superfluid/FullUpgradableSuperTokenProxy__factory.js +1 -1
  365. package/dist/main/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend__factory.d.ts +1 -1
  366. package/dist/main/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend__factory.js +1 -1
  367. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase__factory.d.ts +0 -81
  368. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase__factory.d.ts.map +1 -1
  369. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase__factory.js +0 -107
  370. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase__factory.js.map +1 -1
  371. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.d.ts +1 -82
  372. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.d.ts.map +1 -1
  373. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.js +1 -108
  374. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.js.map +1 -1
  375. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts +9 -1
  376. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts.map +1 -1
  377. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.js +12 -1
  378. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.js.map +1 -1
  379. package/dist/main/typechain-types/factories/contracts/superfluid/SuperfluidToken__factory.d.ts +8 -0
  380. package/dist/main/typechain-types/factories/contracts/superfluid/SuperfluidToken__factory.d.ts.map +1 -1
  381. package/dist/main/typechain-types/factories/contracts/superfluid/SuperfluidToken__factory.js +11 -0
  382. package/dist/main/typechain-types/factories/contracts/superfluid/SuperfluidToken__factory.js.map +1 -1
  383. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts +17 -1
  384. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts.map +1 -1
  385. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.js +21 -1
  386. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.js.map +1 -1
  387. package/dist/main/typechain-types/factories/contracts/tokens/PureSuperToken__factory.d.ts +1 -1
  388. package/dist/main/typechain-types/factories/contracts/tokens/PureSuperToken__factory.js +1 -1
  389. package/dist/main/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.d.ts +1 -1
  390. package/dist/main/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.js +1 -1
  391. package/dist/main/typechain-types/factories/contracts/upgradability/SuperfluidUpgradeableBeacon__factory.d.ts +1 -1
  392. package/dist/main/typechain-types/factories/contracts/upgradability/SuperfluidUpgradeableBeacon__factory.js +1 -1
  393. package/dist/main/typechain-types/factories/contracts/upgradability/UUPSProxy__factory.d.ts +1 -1
  394. package/dist/main/typechain-types/factories/contracts/upgradability/UUPSProxy__factory.js +1 -1
  395. package/dist/main/typechain-types/factories/contracts/utils/BatchLiquidator__factory.d.ts +1 -1
  396. package/dist/main/typechain-types/factories/contracts/utils/BatchLiquidator__factory.js +1 -1
  397. package/dist/main/typechain-types/factories/contracts/utils/BlindMacroForwarder__factory.d.ts +93 -0
  398. package/dist/main/typechain-types/factories/contracts/utils/BlindMacroForwarder__factory.d.ts.map +1 -0
  399. package/dist/main/typechain-types/factories/contracts/utils/BlindMacroForwarder__factory.js +138 -0
  400. package/dist/main/typechain-types/factories/contracts/utils/BlindMacroForwarder__factory.js.map +1 -0
  401. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts +1 -1
  402. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts.map +1 -1
  403. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js +1 -1
  404. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js.map +1 -1
  405. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroBase__factory.d.ts +116 -0
  406. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroBase__factory.d.ts.map +1 -0
  407. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroBase__factory.js +162 -0
  408. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroBase__factory.js.map +1 -0
  409. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1__factory.d.ts +333 -0
  410. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1__factory.d.ts.map +1 -0
  411. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1__factory.js +452 -0
  412. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1__factory.js.map +1 -0
  413. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/NonceManager__factory.d.ts +39 -0
  414. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/NonceManager__factory.d.ts.map +1 -0
  415. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/NonceManager__factory.js +60 -0
  416. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/NonceManager__factory.js.map +1 -0
  417. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/index.d.ts +3 -0
  418. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/index.d.ts.map +1 -0
  419. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/index.js +11 -0
  420. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/index.js.map +1 -0
  421. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1WithPermit2__factory.d.ts +494 -0
  422. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1WithPermit2__factory.d.ts.map +1 -0
  423. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1WithPermit2__factory.js +661 -0
  424. package/dist/main/typechain-types/factories/contracts/utils/ClearMacroForwarderV1WithPermit2__factory.js.map +1 -0
  425. package/dist/main/typechain-types/factories/contracts/utils/ERC1820Implementer__factory.d.ts +1 -1
  426. package/dist/main/typechain-types/factories/contracts/utils/ERC1820Implementer__factory.js +1 -1
  427. package/dist/main/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.d.ts +1 -1
  428. package/dist/main/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.js +1 -1
  429. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts +1 -1
  430. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts.map +1 -1
  431. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js +1 -1
  432. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js.map +1 -1
  433. package/dist/main/typechain-types/factories/contracts/utils/Resolver__factory.d.ts +1 -1
  434. package/dist/main/typechain-types/factories/contracts/utils/Resolver__factory.js +1 -1
  435. package/dist/main/typechain-types/factories/contracts/utils/SimpleACL__factory.d.ts +1 -1
  436. package/dist/main/typechain-types/factories/contracts/utils/SimpleACL__factory.js +1 -1
  437. package/dist/main/typechain-types/factories/contracts/utils/SimpleForwarder__factory.d.ts +1 -1
  438. package/dist/main/typechain-types/factories/contracts/utils/SimpleForwarder__factory.js +1 -1
  439. package/dist/main/typechain-types/factories/contracts/utils/SuperUpgrader__factory.d.ts +1 -1
  440. package/dist/main/typechain-types/factories/contracts/utils/SuperUpgrader__factory.d.ts.map +1 -1
  441. package/dist/main/typechain-types/factories/contracts/utils/SuperUpgrader__factory.js +1 -1
  442. package/dist/main/typechain-types/factories/contracts/utils/SuperUpgrader__factory.js.map +1 -1
  443. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.d.ts +6 -2
  444. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.d.ts.map +1 -1
  445. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.js +7 -2
  446. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.js.map +1 -1
  447. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.d.ts +6 -2
  448. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.d.ts.map +1 -1
  449. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.js +7 -2
  450. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.js.map +1 -1
  451. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.d.ts +1 -1
  452. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.js +1 -1
  453. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/ITOGAv4__factory.d.ts +168 -0
  454. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/ITOGAv4__factory.d.ts.map +1 -0
  455. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/ITOGAv4__factory.js +226 -0
  456. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/ITOGAv4__factory.js.map +1 -0
  457. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts +40 -2
  458. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts.map +1 -1
  459. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.js +52 -2
  460. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.js.map +1 -1
  461. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/index.d.ts +1 -0
  462. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/index.d.ts.map +1 -1
  463. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/index.js +3 -1
  464. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/index.js.map +1 -1
  465. package/dist/main/typechain-types/factories/contracts/utils/TestGovernance__factory.d.ts +1 -1
  466. package/dist/main/typechain-types/factories/contracts/utils/TestGovernance__factory.js +1 -1
  467. package/dist/main/typechain-types/factories/contracts/utils/TestResolver__factory.d.ts +1 -1
  468. package/dist/main/typechain-types/factories/contracts/utils/TestResolver__factory.js +1 -1
  469. package/dist/main/typechain-types/factories/contracts/utils/TestToken__factory.d.ts +1 -1
  470. package/dist/main/typechain-types/factories/contracts/utils/TestToken__factory.d.ts.map +1 -1
  471. package/dist/main/typechain-types/factories/contracts/utils/TestToken__factory.js +1 -1
  472. package/dist/main/typechain-types/factories/contracts/utils/TestToken__factory.js.map +1 -1
  473. package/dist/main/typechain-types/factories/contracts/utils/index.d.ts +4 -1
  474. package/dist/main/typechain-types/factories/contracts/utils/index.d.ts.map +1 -1
  475. package/dist/main/typechain-types/factories/contracts/utils/index.js +8 -3
  476. package/dist/main/typechain-types/factories/contracts/utils/index.js.map +1 -1
  477. package/dist/main/typechain-types/index.d.ts +30 -4
  478. package/dist/main/typechain-types/index.d.ts.map +1 -1
  479. package/dist/main/typechain-types/index.js +34 -8
  480. package/dist/main/typechain-types/index.js.map +1 -1
  481. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC1271.d.ts +45 -0
  482. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC1271.d.ts.map +1 -0
  483. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC1271.js +2 -0
  484. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC1271.js.map +1 -0
  485. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier.d.ts +43 -0
  486. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier.d.ts.map +1 -0
  487. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier.js +2 -0
  488. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier.js.map +1 -0
  489. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.d.ts +2 -0
  490. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.d.ts.map +1 -0
  491. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.js +2 -0
  492. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.js.map +1 -0
  493. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/index.d.ts +3 -0
  494. package/dist/module/typechain-types/@openzeppelin-v5/contracts/interfaces/index.d.ts.map +1 -1
  495. package/dist/module/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils.d.ts +28 -0
  496. package/dist/module/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils.d.ts.map +1 -0
  497. package/dist/module/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils.js +2 -0
  498. package/dist/module/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils.js.map +1 -0
  499. package/dist/module/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/index.d.ts +1 -0
  500. package/dist/module/typechain-types/@openzeppelin-v5/contracts/utils/cryptography/index.d.ts.map +1 -1
  501. package/dist/module/typechain-types/contracts/agreements/InstantDistributionAgreementV1.d.ts +9 -1
  502. package/dist/module/typechain-types/contracts/agreements/InstantDistributionAgreementV1.d.ts.map +1 -1
  503. package/dist/module/typechain-types/contracts/interfaces/external/IPermit2.d.ts +98 -0
  504. package/dist/module/typechain-types/contracts/interfaces/external/IPermit2.d.ts.map +1 -0
  505. package/dist/module/typechain-types/contracts/interfaces/external/IPermit2.js +2 -0
  506. package/dist/module/typechain-types/contracts/interfaces/external/IPermit2.js.map +1 -0
  507. package/dist/module/typechain-types/contracts/interfaces/external/index.d.ts +2 -0
  508. package/dist/module/typechain-types/contracts/interfaces/external/index.d.ts.map +1 -0
  509. package/dist/module/typechain-types/contracts/interfaces/external/index.js +2 -0
  510. package/dist/module/typechain-types/contracts/interfaces/external/index.js.map +1 -0
  511. package/dist/module/typechain-types/contracts/interfaces/index.d.ts +2 -0
  512. package/dist/module/typechain-types/contracts/interfaces/index.d.ts.map +1 -1
  513. package/dist/module/typechain-types/contracts/interfaces/superfluid/ISuperTokenFactory.d.ts +1 -53
  514. package/dist/module/typechain-types/contracts/interfaces/superfluid/ISuperTokenFactory.d.ts.map +1 -1
  515. package/dist/module/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts +20 -14
  516. package/dist/module/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts.map +1 -1
  517. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacro.d.ts +91 -0
  518. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacro.d.ts.map +1 -0
  519. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacro.js +2 -0
  520. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacro.js.map +1 -0
  521. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1.d.ts +143 -0
  522. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1.d.ts.map +1 -0
  523. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1.js +2 -0
  524. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1.js.map +1 -0
  525. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2.d.ts +250 -0
  526. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2.d.ts.map +1 -0
  527. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2.js +2 -0
  528. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2.js.map +1 -0
  529. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension.d.ts +144 -0
  530. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension.d.ts.map +1 -0
  531. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension.js +2 -0
  532. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension.js.map +1 -0
  533. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.d.ts +3 -0
  534. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.d.ts.map +1 -0
  535. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.js +2 -0
  536. package/dist/module/typechain-types/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.js.map +1 -0
  537. package/dist/module/typechain-types/contracts/interfaces/utils/{IUserDefinedMacro.d.ts → IMacro.d.ts} +14 -14
  538. package/dist/module/typechain-types/contracts/interfaces/utils/IMacro.d.ts.map +1 -0
  539. package/dist/module/typechain-types/contracts/interfaces/utils/IMacro.js +2 -0
  540. package/dist/module/typechain-types/contracts/interfaces/utils/IMacro.js.map +1 -0
  541. package/dist/module/typechain-types/contracts/interfaces/utils/index.d.ts +5 -1
  542. package/dist/module/typechain-types/contracts/interfaces/utils/index.d.ts.map +1 -1
  543. package/dist/module/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock.d.ts +1 -79
  544. package/dist/module/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock.d.ts.map +1 -1
  545. package/dist/module/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42.d.ts +1 -79
  546. package/dist/module/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42.d.ts.map +1 -1
  547. package/dist/module/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester.d.ts +1 -79
  548. package/dist/module/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester.d.ts.map +1 -1
  549. package/dist/module/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester.d.ts +1 -79
  550. package/dist/module/typechain-types/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester.d.ts.map +1 -1
  551. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock.d.ts +20 -14
  552. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock.d.ts.map +1 -1
  553. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester.d.ts +20 -14
  554. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester.d.ts.map +1 -1
  555. package/dist/module/typechain-types/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory.d.ts +1 -79
  556. package/dist/module/typechain-types/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory.d.ts.map +1 -1
  557. package/dist/module/typechain-types/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase.d.ts +1 -79
  558. package/dist/module/typechain-types/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase.d.ts.map +1 -1
  559. package/dist/module/typechain-types/contracts/superfluid/Superfluid.d.ts +20 -14
  560. package/dist/module/typechain-types/contracts/superfluid/Superfluid.d.ts.map +1 -1
  561. package/dist/module/typechain-types/contracts/utils/{MacroForwarder.d.ts → BlindMacroForwarder.d.ts} +22 -7
  562. package/dist/module/typechain-types/contracts/utils/BlindMacroForwarder.d.ts.map +1 -0
  563. package/dist/module/typechain-types/contracts/utils/BlindMacroForwarder.js +2 -0
  564. package/dist/module/typechain-types/contracts/utils/BlindMacroForwarder.js.map +1 -0
  565. package/dist/module/typechain-types/contracts/utils/ClearMacroBase.d.ts +87 -0
  566. package/dist/module/typechain-types/contracts/utils/ClearMacroBase.d.ts.map +1 -0
  567. package/dist/module/typechain-types/contracts/utils/ClearMacroBase.js +2 -0
  568. package/dist/module/typechain-types/contracts/utils/ClearMacroBase.js.map +1 -0
  569. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1.d.ts +216 -0
  570. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1.d.ts.map +1 -0
  571. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1.js +2 -0
  572. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1.js.map +1 -0
  573. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/NonceManager.d.ts +45 -0
  574. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/NonceManager.d.ts.map +1 -0
  575. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/NonceManager.js +2 -0
  576. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/NonceManager.js.map +1 -0
  577. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/index.d.ts +3 -0
  578. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/index.d.ts.map +1 -0
  579. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/index.js +2 -0
  580. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1.sol/index.js.map +1 -0
  581. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1WithPermit2.d.ts +331 -0
  582. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1WithPermit2.d.ts.map +1 -0
  583. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1WithPermit2.js +2 -0
  584. package/dist/module/typechain-types/contracts/utils/ClearMacroForwarderV1WithPermit2.js.map +1 -0
  585. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.d.ts +3 -0
  586. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer.d.ts.map +1 -1
  587. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.d.ts +3 -0
  588. package/dist/module/typechain-types/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps.d.ts.map +1 -1
  589. package/dist/module/typechain-types/contracts/utils/TOGA.sol/ITOGAv4.d.ts +174 -0
  590. package/dist/module/typechain-types/contracts/utils/TOGA.sol/ITOGAv4.d.ts.map +1 -0
  591. package/dist/module/typechain-types/contracts/utils/TOGA.sol/ITOGAv4.js +2 -0
  592. package/dist/module/typechain-types/contracts/utils/TOGA.sol/ITOGAv4.js.map +1 -0
  593. package/dist/module/typechain-types/contracts/utils/TOGA.sol/TOGA.d.ts +20 -4
  594. package/dist/module/typechain-types/contracts/utils/TOGA.sol/TOGA.d.ts.map +1 -1
  595. package/dist/module/typechain-types/contracts/utils/TOGA.sol/index.d.ts +1 -0
  596. package/dist/module/typechain-types/contracts/utils/TOGA.sol/index.d.ts.map +1 -1
  597. package/dist/module/typechain-types/contracts/utils/index.d.ts +5 -1
  598. package/dist/module/typechain-types/contracts/utils/index.d.ts.map +1 -1
  599. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC1271__factory.d.ts +27 -0
  600. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC1271__factory.d.ts.map +1 -0
  601. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC1271__factory.js +40 -0
  602. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC1271__factory.js.map +1 -0
  603. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier__factory.d.ts +31 -0
  604. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier__factory.d.ts.map +1 -0
  605. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier__factory.js +45 -0
  606. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/IERC7913SignatureVerifier__factory.js.map +1 -0
  607. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.d.ts +2 -0
  608. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.d.ts.map +1 -0
  609. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.js +5 -0
  610. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/IERC7913.sol/index.js.map +1 -0
  611. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/index.d.ts +2 -0
  612. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/index.d.ts.map +1 -1
  613. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/index.js +2 -0
  614. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/interfaces/index.js.map +1 -1
  615. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/proxy/ERC1967/ERC1967Utils__factory.d.ts +1 -1
  616. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/proxy/ERC1967/ERC1967Utils__factory.js +1 -1
  617. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/BeaconProxy__factory.d.ts +1 -1
  618. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/BeaconProxy__factory.d.ts.map +1 -1
  619. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/BeaconProxy__factory.js +1 -1
  620. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/BeaconProxy__factory.js.map +1 -1
  621. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/UpgradeableBeacon__factory.d.ts +1 -1
  622. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/proxy/beacon/UpgradeableBeacon__factory.js +1 -1
  623. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/token/ERC20/utils/SafeERC20__factory.d.ts +1 -1
  624. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/token/ERC20/utils/SafeERC20__factory.js +1 -1
  625. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/Address__factory.d.ts +1 -1
  626. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/Address__factory.js +1 -1
  627. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/Errors__factory.d.ts +1 -1
  628. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/Errors__factory.js +1 -1
  629. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/ShortStrings__factory.d.ts +1 -1
  630. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/ShortStrings__factory.js +1 -1
  631. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/Strings__factory.d.ts +1 -1
  632. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/Strings__factory.js +1 -1
  633. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/ECDSA__factory.d.ts +1 -1
  634. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/ECDSA__factory.js +1 -1
  635. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils__factory.d.ts +25 -0
  636. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils__factory.d.ts.map +1 -0
  637. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils__factory.js +44 -0
  638. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/MessageHashUtils__factory.js.map +1 -0
  639. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/index.d.ts +1 -0
  640. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/index.d.ts.map +1 -1
  641. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/index.js +1 -0
  642. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/cryptography/index.js.map +1 -1
  643. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/math/SafeCast__factory.d.ts +1 -1
  644. package/dist/module/typechain-types/factories/@openzeppelin-v5/contracts/utils/math/SafeCast__factory.js +1 -1
  645. package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts +1 -1
  646. package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts.map +1 -1
  647. package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js +1 -1
  648. package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js.map +1 -1
  649. package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts +42 -4
  650. package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts.map +1 -1
  651. package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js +55 -6
  652. package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js.map +1 -1
  653. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts +1 -1
  654. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts.map +1 -1
  655. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js +1 -1
  656. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js.map +1 -1
  657. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.d.ts +1 -1
  658. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.d.ts.map +1 -1
  659. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.js +1 -1
  660. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.js.map +1 -1
  661. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPoolPlaceholder__factory.d.ts +1 -1
  662. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPoolPlaceholder__factory.js +1 -1
  663. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts +1 -1
  664. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts.map +1 -1
  665. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js +1 -1
  666. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js.map +1 -1
  667. package/dist/module/typechain-types/factories/contracts/apps/SuperfluidLoaderLibrary__factory.d.ts +1 -1
  668. package/dist/module/typechain-types/factories/contracts/apps/SuperfluidLoaderLibrary__factory.js +1 -1
  669. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.d.ts +1 -1
  670. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.js +1 -1
  671. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.d.ts +1 -1
  672. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.js +1 -1
  673. package/dist/module/typechain-types/factories/contracts/interfaces/agreements/IInstantDistributionAgreementV1__factory.d.ts +12 -0
  674. package/dist/module/typechain-types/factories/contracts/interfaces/agreements/IInstantDistributionAgreementV1__factory.d.ts.map +1 -1
  675. package/dist/module/typechain-types/factories/contracts/interfaces/agreements/IInstantDistributionAgreementV1__factory.js +15 -0
  676. package/dist/module/typechain-types/factories/contracts/interfaces/agreements/IInstantDistributionAgreementV1__factory.js.map +1 -1
  677. package/dist/module/typechain-types/factories/contracts/interfaces/external/IPermit2__factory.d.ts +80 -0
  678. package/dist/module/typechain-types/factories/contracts/interfaces/external/IPermit2__factory.d.ts.map +1 -0
  679. package/dist/module/typechain-types/factories/contracts/interfaces/external/IPermit2__factory.js +108 -0
  680. package/dist/module/typechain-types/factories/contracts/interfaces/external/IPermit2__factory.js.map +1 -0
  681. package/dist/module/typechain-types/factories/contracts/interfaces/external/index.d.ts +2 -0
  682. package/dist/module/typechain-types/factories/contracts/interfaces/external/index.d.ts.map +1 -0
  683. package/dist/module/typechain-types/factories/contracts/interfaces/external/index.js +5 -0
  684. package/dist/module/typechain-types/factories/contracts/interfaces/external/index.js.map +1 -0
  685. package/dist/module/typechain-types/factories/contracts/interfaces/index.d.ts +1 -0
  686. package/dist/module/typechain-types/factories/contracts/interfaces/index.d.ts.map +1 -1
  687. package/dist/module/typechain-types/factories/contracts/interfaces/index.js +1 -0
  688. package/dist/module/typechain-types/factories/contracts/interfaces/index.js.map +1 -1
  689. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperTokenFactory__factory.d.ts +0 -58
  690. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperTokenFactory__factory.d.ts.map +1 -1
  691. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperTokenFactory__factory.js +0 -77
  692. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperTokenFactory__factory.js.map +1 -1
  693. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.d.ts +16 -0
  694. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.d.ts.map +1 -1
  695. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js +20 -0
  696. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js.map +1 -1
  697. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2__factory.d.ts +331 -0
  698. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2__factory.d.ts.map +1 -0
  699. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2__factory.js +436 -0
  700. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroForwarderV1WithPermit2__factory.js.map +1 -0
  701. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension__factory.d.ts +152 -0
  702. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension__factory.d.ts.map +1 -0
  703. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension__factory.js +201 -0
  704. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/IClearMacroPermit2Extension__factory.js.map +1 -0
  705. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.d.ts +3 -0
  706. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.d.ts.map +1 -0
  707. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.js +6 -0
  708. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1WithPermit2.sol/index.js.map +1 -0
  709. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1__factory.d.ts +188 -0
  710. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1__factory.d.ts.map +1 -0
  711. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1__factory.js +251 -0
  712. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacroForwarderV1__factory.js.map +1 -0
  713. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacro__factory.d.ts +104 -0
  714. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacro__factory.d.ts.map +1 -0
  715. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacro__factory.js +142 -0
  716. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IClearMacro__factory.js.map +1 -0
  717. package/dist/{main/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.d.ts → module/typechain-types/factories/contracts/interfaces/utils/IMacro__factory.d.ts} +7 -7
  718. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IMacro__factory.d.ts.map +1 -0
  719. package/dist/module/typechain-types/factories/contracts/interfaces/utils/{IUserDefinedMacro__factory.js → IMacro__factory.js} +5 -5
  720. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IMacro__factory.js.map +1 -0
  721. package/dist/module/typechain-types/factories/contracts/interfaces/utils/index.d.ts +4 -1
  722. package/dist/module/typechain-types/factories/contracts/interfaces/utils/index.d.ts.map +1 -1
  723. package/dist/module/typechain-types/factories/contracts/interfaces/utils/index.js +4 -1
  724. package/dist/module/typechain-types/factories/contracts/interfaces/utils/index.js.map +1 -1
  725. package/dist/module/typechain-types/factories/contracts/libs/SlotsBitmapLibrary__factory.d.ts +1 -1
  726. package/dist/module/typechain-types/factories/contracts/libs/SlotsBitmapLibrary__factory.js +1 -1
  727. package/dist/module/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.d.ts +1 -1
  728. package/dist/module/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.d.ts.map +1 -1
  729. package/dist/module/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.js +1 -1
  730. package/dist/module/typechain-types/factories/contracts/mocks/AgreementMock.t.sol/AgreementMock__factory.js.map +1 -1
  731. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.d.ts +1 -1
  732. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ClosingOnUpdateFlowTestApp__factory.js +1 -1
  733. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.d.ts +1 -1
  734. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/ExclusiveInflowTestApp__factory.js +1 -1
  735. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.d.ts +1 -1
  736. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/FlowExchangeTestApp__factory.js +1 -1
  737. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.d.ts +1 -1
  738. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/NonClosableOutflowTestApp__factory.js +1 -1
  739. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.d.ts +1 -1
  740. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.t.sol/SelfDeletingFlowTestApp__factory.js +1 -1
  741. package/dist/module/typechain-types/factories/contracts/mocks/CallUtilsMock.t.sol/CallUtilsMock__factory.d.ts +1 -1
  742. package/dist/module/typechain-types/factories/contracts/mocks/CallUtilsMock.t.sol/CallUtilsMock__factory.js +1 -1
  743. package/dist/module/typechain-types/factories/contracts/mocks/CallUtilsTester.t.sol/CallUtilsTester__factory.d.ts +1 -1
  744. package/dist/module/typechain-types/factories/contracts/mocks/CallUtilsTester.t.sol/CallUtilsTester__factory.d.ts.map +1 -1
  745. package/dist/module/typechain-types/factories/contracts/mocks/CallUtilsTester.t.sol/CallUtilsTester__factory.js +1 -1
  746. package/dist/module/typechain-types/factories/contracts/mocks/CallUtilsTester.t.sol/CallUtilsTester__factory.js.map +1 -1
  747. package/dist/module/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.t.sol/CustomSuperTokenProxyMock__factory.d.ts +1 -1
  748. package/dist/module/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.t.sol/CustomSuperTokenProxyMock__factory.js +1 -1
  749. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.d.ts +1 -1
  750. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientDrainingGas__factory.js +1 -1
  751. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.d.ts +1 -1
  752. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777RecipientReverting__factory.js +1 -1
  753. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.d.ts +1 -1
  754. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.t.sol/ERC777SenderRecipientMock__factory.js +1 -1
  755. package/dist/module/typechain-types/factories/contracts/mocks/FakeSuperfluidMock.t.sol/FakeSuperfluidMock__factory.d.ts +1 -1
  756. package/dist/module/typechain-types/factories/contracts/mocks/FakeSuperfluidMock.t.sol/FakeSuperfluidMock__factory.js +1 -1
  757. package/dist/module/typechain-types/factories/contracts/mocks/ForwarderMock.t.sol/ForwarderMock__factory.d.ts +1 -1
  758. package/dist/module/typechain-types/factories/contracts/mocks/ForwarderMock.t.sol/ForwarderMock__factory.js +1 -1
  759. package/dist/module/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.d.ts +1 -1
  760. package/dist/module/typechain-types/factories/contracts/mocks/IDASuperAppTester.t.sol/IDASuperAppTester__factory.js +1 -1
  761. package/dist/module/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.d.ts +1 -1
  762. package/dist/module/typechain-types/factories/contracts/mocks/MockSmartWallet.t.sol/MockSmartWallet__factory.js +1 -1
  763. package/dist/module/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.d.ts +1 -1
  764. package/dist/module/typechain-types/factories/contracts/mocks/MultiFlowTesterApp.t.sol/MultiFlowTesterApp__factory.js +1 -1
  765. package/dist/module/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.d.ts +1 -1
  766. package/dist/module/typechain-types/factories/contracts/mocks/StreamRedirector.t.sol/StreamRedirector__factory.js +1 -1
  767. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.d.ts +1 -1
  768. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppFactoryMock__factory.js +1 -1
  769. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.d.ts +1 -1
  770. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock2ndLevel__factory.js +1 -1
  771. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.d.ts +1 -1
  772. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockAux__factory.js +1 -1
  773. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.d.ts +1 -1
  774. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningEmptyCtx__factory.js +1 -1
  775. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.d.ts +1 -1
  776. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockReturningInvalidCtx__factory.js +1 -1
  777. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.d.ts +1 -1
  778. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockUsingRegisterApp__factory.js +1 -1
  779. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.d.ts +1 -1
  780. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMockWithRegistrationKey__factory.js +1 -1
  781. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.d.ts +1 -1
  782. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.d.ts.map +1 -1
  783. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.js +1 -1
  784. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.t.sol/SuperAppMock__factory.js.map +1 -1
  785. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.d.ts +1 -82
  786. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.d.ts.map +1 -1
  787. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.js +1 -108
  788. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock42__factory.js.map +1 -1
  789. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.d.ts +1 -82
  790. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.d.ts.map +1 -1
  791. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.js +1 -108
  792. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryMock__factory.js.map +1 -1
  793. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.d.ts +1 -82
  794. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.d.ts.map +1 -1
  795. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.js +1 -108
  796. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryStorageLayoutTester__factory.js.map +1 -1
  797. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.d.ts +1 -82
  798. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.d.ts.map +1 -1
  799. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.js +1 -108
  800. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.t.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.js.map +1 -1
  801. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.d.ts +1 -1
  802. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFAMock__factory.js +1 -1
  803. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.d.ts +1 -1
  804. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryCFASuperAppMock__factory.js +1 -1
  805. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.d.ts +1 -1
  806. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDAMock__factory.js +1 -1
  807. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.d.ts +1 -1
  808. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.t.sol/SuperTokenLibraryGDASuperAppMock__factory.js +1 -1
  809. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.d.ts +9 -1
  810. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.d.ts.map +1 -1
  811. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.js +12 -1
  812. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/NoNFTSuperTokenMock__factory.js.map +1 -1
  813. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.d.ts +9 -1
  814. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.d.ts.map +1 -1
  815. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.js +12 -1
  816. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenMock__factory.js.map +1 -1
  817. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.d.ts +9 -1
  818. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.d.ts.map +1 -1
  819. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.js +12 -1
  820. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.t.sol/SuperTokenStorageLayoutTester__factory.js.map +1 -1
  821. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidDestructorMock.t.sol/SuperfluidDestructorMock__factory.d.ts +1 -1
  822. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidDestructorMock.t.sol/SuperfluidDestructorMock__factory.js +1 -1
  823. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.d.ts +1 -1
  824. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.t.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.js +1 -1
  825. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.d.ts +17 -1
  826. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.d.ts.map +1 -1
  827. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.js +21 -1
  828. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidMock__factory.js.map +1 -1
  829. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.d.ts +17 -1
  830. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.d.ts.map +1 -1
  831. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.js +21 -1
  832. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.js.map +1 -1
  833. package/dist/module/typechain-types/factories/contracts/mocks/UUPSProxiableMock.t.sol/UUPSProxiableMock__factory.d.ts +1 -1
  834. package/dist/module/typechain-types/factories/contracts/mocks/UUPSProxiableMock.t.sol/UUPSProxiableMock__factory.js +1 -1
  835. package/dist/module/typechain-types/factories/contracts/superfluid/AaveETHYieldBackend__factory.d.ts +1 -1
  836. package/dist/module/typechain-types/factories/contracts/superfluid/AaveETHYieldBackend__factory.js +1 -1
  837. package/dist/module/typechain-types/factories/contracts/superfluid/AaveYieldBackend__factory.d.ts +1 -1
  838. package/dist/module/typechain-types/factories/contracts/superfluid/AaveYieldBackend__factory.js +1 -1
  839. package/dist/module/typechain-types/factories/contracts/superfluid/ERC4626YieldBackend__factory.d.ts +1 -1
  840. package/dist/module/typechain-types/factories/contracts/superfluid/ERC4626YieldBackend__factory.js +1 -1
  841. package/dist/module/typechain-types/factories/contracts/superfluid/FullUpgradableSuperTokenProxy__factory.d.ts +1 -1
  842. package/dist/module/typechain-types/factories/contracts/superfluid/FullUpgradableSuperTokenProxy__factory.js +1 -1
  843. package/dist/module/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend__factory.d.ts +1 -1
  844. package/dist/module/typechain-types/factories/contracts/superfluid/SparkYieldBackend.sol/SparkYieldBackend__factory.js +1 -1
  845. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase__factory.d.ts +0 -81
  846. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase__factory.d.ts.map +1 -1
  847. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase__factory.js +0 -107
  848. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactoryBase__factory.js.map +1 -1
  849. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.d.ts +1 -82
  850. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.d.ts.map +1 -1
  851. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.js +1 -108
  852. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.js.map +1 -1
  853. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts +9 -1
  854. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts.map +1 -1
  855. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.js +12 -1
  856. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.js.map +1 -1
  857. package/dist/module/typechain-types/factories/contracts/superfluid/SuperfluidToken__factory.d.ts +8 -0
  858. package/dist/module/typechain-types/factories/contracts/superfluid/SuperfluidToken__factory.d.ts.map +1 -1
  859. package/dist/module/typechain-types/factories/contracts/superfluid/SuperfluidToken__factory.js +11 -0
  860. package/dist/module/typechain-types/factories/contracts/superfluid/SuperfluidToken__factory.js.map +1 -1
  861. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts +17 -1
  862. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts.map +1 -1
  863. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.js +21 -1
  864. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.js.map +1 -1
  865. package/dist/module/typechain-types/factories/contracts/tokens/PureSuperToken__factory.d.ts +1 -1
  866. package/dist/module/typechain-types/factories/contracts/tokens/PureSuperToken__factory.js +1 -1
  867. package/dist/module/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.d.ts +1 -1
  868. package/dist/module/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.js +1 -1
  869. package/dist/module/typechain-types/factories/contracts/upgradability/SuperfluidUpgradeableBeacon__factory.d.ts +1 -1
  870. package/dist/module/typechain-types/factories/contracts/upgradability/SuperfluidUpgradeableBeacon__factory.js +1 -1
  871. package/dist/module/typechain-types/factories/contracts/upgradability/UUPSProxy__factory.d.ts +1 -1
  872. package/dist/module/typechain-types/factories/contracts/upgradability/UUPSProxy__factory.js +1 -1
  873. package/dist/module/typechain-types/factories/contracts/utils/BatchLiquidator__factory.d.ts +1 -1
  874. package/dist/module/typechain-types/factories/contracts/utils/BatchLiquidator__factory.js +1 -1
  875. package/dist/module/typechain-types/factories/contracts/utils/BlindMacroForwarder__factory.d.ts +93 -0
  876. package/dist/module/typechain-types/factories/contracts/utils/BlindMacroForwarder__factory.d.ts.map +1 -0
  877. package/dist/module/typechain-types/factories/contracts/utils/BlindMacroForwarder__factory.js +134 -0
  878. package/dist/module/typechain-types/factories/contracts/utils/BlindMacroForwarder__factory.js.map +1 -0
  879. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts +1 -1
  880. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts.map +1 -1
  881. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js +1 -1
  882. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js.map +1 -1
  883. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroBase__factory.d.ts +116 -0
  884. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroBase__factory.d.ts.map +1 -0
  885. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroBase__factory.js +158 -0
  886. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroBase__factory.js.map +1 -0
  887. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1__factory.d.ts +333 -0
  888. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1__factory.d.ts.map +1 -0
  889. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1__factory.js +448 -0
  890. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/ClearMacroForwarderV1__factory.js.map +1 -0
  891. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/NonceManager__factory.d.ts +39 -0
  892. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/NonceManager__factory.d.ts.map +1 -0
  893. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/NonceManager__factory.js +56 -0
  894. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/NonceManager__factory.js.map +1 -0
  895. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/index.d.ts +3 -0
  896. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/index.d.ts.map +1 -0
  897. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/index.js +6 -0
  898. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1.sol/index.js.map +1 -0
  899. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1WithPermit2__factory.d.ts +494 -0
  900. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1WithPermit2__factory.d.ts.map +1 -0
  901. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1WithPermit2__factory.js +657 -0
  902. package/dist/module/typechain-types/factories/contracts/utils/ClearMacroForwarderV1WithPermit2__factory.js.map +1 -0
  903. package/dist/module/typechain-types/factories/contracts/utils/ERC1820Implementer__factory.d.ts +1 -1
  904. package/dist/module/typechain-types/factories/contracts/utils/ERC1820Implementer__factory.js +1 -1
  905. package/dist/module/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.d.ts +1 -1
  906. package/dist/module/typechain-types/factories/contracts/utils/ERC2771Forwarder__factory.js +1 -1
  907. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts +1 -1
  908. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts.map +1 -1
  909. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js +1 -1
  910. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js.map +1 -1
  911. package/dist/module/typechain-types/factories/contracts/utils/Resolver__factory.d.ts +1 -1
  912. package/dist/module/typechain-types/factories/contracts/utils/Resolver__factory.js +1 -1
  913. package/dist/module/typechain-types/factories/contracts/utils/SimpleACL__factory.d.ts +1 -1
  914. package/dist/module/typechain-types/factories/contracts/utils/SimpleACL__factory.js +1 -1
  915. package/dist/module/typechain-types/factories/contracts/utils/SimpleForwarder__factory.d.ts +1 -1
  916. package/dist/module/typechain-types/factories/contracts/utils/SimpleForwarder__factory.js +1 -1
  917. package/dist/module/typechain-types/factories/contracts/utils/SuperUpgrader__factory.d.ts +1 -1
  918. package/dist/module/typechain-types/factories/contracts/utils/SuperUpgrader__factory.d.ts.map +1 -1
  919. package/dist/module/typechain-types/factories/contracts/utils/SuperUpgrader__factory.js +1 -1
  920. package/dist/module/typechain-types/factories/contracts/utils/SuperUpgrader__factory.js.map +1 -1
  921. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.d.ts +6 -2
  922. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.d.ts.map +1 -1
  923. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.js +7 -2
  924. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer.t.sol/SuperfluidFrameworkDeployer__factory.js.map +1 -1
  925. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.d.ts +6 -2
  926. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.d.ts.map +1 -1
  927. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.js +7 -2
  928. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps.t.sol/SuperfluidFrameworkDeploymentSteps__factory.js.map +1 -1
  929. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.d.ts +1 -1
  930. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.js +1 -1
  931. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/ITOGAv4__factory.d.ts +168 -0
  932. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/ITOGAv4__factory.d.ts.map +1 -0
  933. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/ITOGAv4__factory.js +222 -0
  934. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/ITOGAv4__factory.js.map +1 -0
  935. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts +40 -2
  936. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts.map +1 -1
  937. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.js +52 -2
  938. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.js.map +1 -1
  939. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/index.d.ts +1 -0
  940. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/index.d.ts.map +1 -1
  941. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/index.js +1 -0
  942. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/index.js.map +1 -1
  943. package/dist/module/typechain-types/factories/contracts/utils/TestGovernance__factory.d.ts +1 -1
  944. package/dist/module/typechain-types/factories/contracts/utils/TestGovernance__factory.js +1 -1
  945. package/dist/module/typechain-types/factories/contracts/utils/TestResolver__factory.d.ts +1 -1
  946. package/dist/module/typechain-types/factories/contracts/utils/TestResolver__factory.js +1 -1
  947. package/dist/module/typechain-types/factories/contracts/utils/TestToken__factory.d.ts +1 -1
  948. package/dist/module/typechain-types/factories/contracts/utils/TestToken__factory.d.ts.map +1 -1
  949. package/dist/module/typechain-types/factories/contracts/utils/TestToken__factory.js +1 -1
  950. package/dist/module/typechain-types/factories/contracts/utils/TestToken__factory.js.map +1 -1
  951. package/dist/module/typechain-types/factories/contracts/utils/index.d.ts +4 -1
  952. package/dist/module/typechain-types/factories/contracts/utils/index.d.ts.map +1 -1
  953. package/dist/module/typechain-types/factories/contracts/utils/index.js +4 -1
  954. package/dist/module/typechain-types/factories/contracts/utils/index.js.map +1 -1
  955. package/dist/module/typechain-types/index.d.ts +30 -4
  956. package/dist/module/typechain-types/index.d.ts.map +1 -1
  957. package/dist/module/typechain-types/index.js +15 -2
  958. package/dist/module/typechain-types/index.js.map +1 -1
  959. package/package.json +14 -15
  960. package/dist/main/typechain-types/contracts/interfaces/utils/IUserDefinedMacro.d.ts.map +0 -1
  961. package/dist/main/typechain-types/contracts/interfaces/utils/IUserDefinedMacro.js.map +0 -1
  962. package/dist/main/typechain-types/contracts/utils/MacroForwarder.d.ts.map +0 -1
  963. package/dist/main/typechain-types/contracts/utils/MacroForwarder.js.map +0 -1
  964. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.d.ts.map +0 -1
  965. package/dist/main/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.js.map +0 -1
  966. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts +0 -78
  967. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts.map +0 -1
  968. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.js +0 -119
  969. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.js.map +0 -1
  970. package/dist/module/typechain-types/contracts/interfaces/utils/IUserDefinedMacro.d.ts.map +0 -1
  971. package/dist/module/typechain-types/contracts/interfaces/utils/IUserDefinedMacro.js +0 -2
  972. package/dist/module/typechain-types/contracts/interfaces/utils/IUserDefinedMacro.js.map +0 -1
  973. package/dist/module/typechain-types/contracts/utils/MacroForwarder.d.ts.map +0 -1
  974. package/dist/module/typechain-types/contracts/utils/MacroForwarder.js +0 -2
  975. package/dist/module/typechain-types/contracts/utils/MacroForwarder.js.map +0 -1
  976. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.d.ts.map +0 -1
  977. package/dist/module/typechain-types/factories/contracts/interfaces/utils/IUserDefinedMacro__factory.js.map +0 -1
  978. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts +0 -78
  979. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts.map +0 -1
  980. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.js +0 -115
  981. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.js.map +0 -1
@@ -12,7 +12,7 @@ export declare class SuperfluidUpgradabilityTester__factory extends ContractFact
12
12
  }): TransactionRequest;
13
13
  attach(address: string): SuperfluidUpgradabilityTester;
14
14
  connect(signer: Signer): SuperfluidUpgradabilityTester__factory;
15
- static readonly bytecode = "0x610140604052348015610010575f5ffd5b505f608081905260a0819052622dc6c060c081905260e08290526101008290526101208290528190818080615cb56100d082395f8181610554015261463401525f81816104b801526144d901525f8181610b5301526143b601525f818161050c0152612fa801525f81816108be015281816122bc0152818161278c01528181612a280152612b6a01525f8181610ac001528181610c2101528181610f2b015281816116ed01528181611824015281816119740152612a960152615cb55ff3fe60806040526004361061037c575f3560e01c8063768fabb0116101d3578063bd1c448b116100fd578063e8dccb7d1161009d578063f99a38c41161006d578063f99a38c414610b75578063f9f522f414610b80578063fa6e0cfe14610bbc578063fbdb0ee214610bdb575f5ffd5b8063e8dccb7d14610ae2578063f2e55caf14610b0f578063f373305214610b23578063f85263b914610b42575f5ffd5b8063c4d66de8116100d8578063c4d66de814610a45578063c56a069d14610a64578063c60944a614610a90578063cd312ec414610aaf575f5ffd5b8063bd1c448b146109f3578063bd3252c814610a12578063bf42873414610a26575f5ffd5b8063a5dbbbcd11610173578063ba48b5f811610143578063ba48b5f81461095c578063bb84cfa11461097b578063bbe4fd50146109c2578063bced3ddc146109d4575f5ffd5b8063a5dbbbcd146108e0578063ad3915c8146108ff578063b6d200de1461091e578063b724211e1461093d575f5ffd5b80639378fa13116101ae5780639378fa1314610849578063989b0c3e1461087a5780639903ad38146108995780639d297e30146108ad575f5ffd5b8063768fabb0146107e15780638ca48484146108005780638ceddd7a1461081f575f5ffd5b80634329d293116102b4578063572b6c05116102545780636b4f3335116102245780636b4f3335146107675780637283100c14610786578063731aed6e146107a557806374041e02146107c2575f5ffd5b8063572b6c051461070357806359a2914114610722578063670e77e3146107415780636ad3ca7d14610754575f5ffd5b806350d75d251161028f57806350d75d251461067f57806352d1902d1461069357806354fbc493146106c557806357121e0c146106e4575f5ffd5b80634329d293146106095780634695195414610636578063486ff0cd14610655575f5ffd5b80632ecfbda21161031f57806336b3e52d116102fa57806336b3e52d1461054657806339255d5b146105785780633ca3ad4e146105975780633f6c923a146105dd575f5ffd5b80632ecfbda2146104aa5780632f89bf89146104dc57806333d608f1146104fb575f5ffd5b80631e6d0a841161035a5780631e6d0a84146103df5780631e855cf3146104145780632368335a14610433578063289b3c0d14610474575f5ffd5b806306cecba8146103805780630c565075146103a157806315a024e1146103c0575b5f5ffd5b34801561038b575f5ffd5b5061039f61039a366004614ba3565b610bef565b005b3480156103ac575f5ffd5b5061039f6103bb366004614bc5565b610dba565b3480156103cb575f5ffd5b5061039f6103da366004614ba3565b610e44565b3480156103ea575f5ffd5b506103fe6103f9366004614c4d565b611084565b60405161040b9190614d0d565b60405180910390f35b34801561041f575f5ffd5b506103fe61042e366004614ddb565b6112c8565b34801561043e575f5ffd5b506104667f1fd2cd0659bdcac914c39b66359256350b866e92047951635b57d928f32d9e8481565b60405190815260200161040b565b34801561047f575f5ffd5b505f546201000090046001600160a01b03165b6040516001600160a01b03909116815260200161040b565b3480156104b5575f5ffd5b507f0000000000000000000000000000000000000000000000000000000000000000610492565b3480156104e7575f5ffd5b5061039f6104f6366004614ba3565b6112df565b348015610506575f5ffd5b5061052e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160401b03909116815260200161040b565b348015610551575f5ffd5b507f0000000000000000000000000000000000000000000000000000000000000000610492565b348015610583575f5ffd5b506103fe610592366004614e27565b611491565b3480156105a2575f5ffd5b506105cd6105b1366004614ba3565b6001600160a01b03165f90815260046020526040902054151590565b604051901515815260200161040b565b3480156105e8575f5ffd5b506105fc6105f7366004614e9b565b6114a7565b60405161040b9190614ecc565b348015610614575f5ffd5b50610628610623366004614faa565b6114b8565b60405161040b929190615058565b348015610641575f5ffd5b5061039f610650366004614ba3565b6116bb565b348015610660575f5ffd5b50604080518082019091526002815261763160f01b60208201526103fe565b34801561068a575f5ffd5b506104926117b4565b34801561069e575f5ffd5b507fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74610466565b3480156106d0575f5ffd5b5061039f6106df366004614ba3565b6117e2565b3480156106ef575f5ffd5b5061039f6106fe366004614ba3565b611a50565b34801561070e575f5ffd5b506105cd61071d366004614ba3565b611b1b565b34801561072d575f5ffd5b506103fe61073c36600461507c565b611ba2565b61039f61074f3660046150c3565b611c81565b61039f6107623660046150c3565b611c97565b348015610772575f5ffd5b506105cd610781366004614ba3565b611ca2565b348015610791575f5ffd5b5061039f6107a0366004614ba3565b611cc5565b3480156107b0575f5ffd5b506003546001600160a01b0316610492565b3480156107cd575f5ffd5b506103fe6107dc366004614c4d565b611d6a565b3480156107ec575f5ffd5b506103fe6107fb366004615132565b611eb5565b34801561080b575f5ffd5b506105cd61081a366004614ba3565b61204b565b34801561082a575f5ffd5b5061083461010081565b60405163ffffffff909116815260200161040b565b348015610854575f5ffd5b50610868610863366004614ba3565b61210b565b60405160ff909116815260200161040b565b348015610885575f5ffd5b506103fe61089436600461507c565b61212b565b3480156108a4575f5ffd5b5061039f6121bc565b3480156108b8575f5ffd5b506105cd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156108eb575f5ffd5b506104666108fa3660046151a8565b612271565b34801561090a575f5ffd5b5061039f6109193660046151c8565b6122ba565b348015610929575f5ffd5b506104926109383660046151c8565b61230e565b348015610948575f5ffd5b506103fe6109573660046151df565b612373565b348015610967575f5ffd5b506103fe610976366004615237565b612432565b348015610986575f5ffd5b506105cd610995366004614bc5565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b3480156109cd575f5ffd5b5042610466565b3480156109df575f5ffd5b506104666109ee3660046151a8565b612742565b3480156109fe575f5ffd5b5061039f610a0d3660046152b7565b61278a565b348015610a1d575f5ffd5b50610466600181565b348015610a31575f5ffd5b506105cd610a403660046152fe565b6127ff565b348015610a50575f5ffd5b5061039f610a5f366004614ba3565b61283e565b348015610a6f575f5ffd5b50610a83610a7e3660046151c8565b61291b565b60405161040b919061533c565b348015610a9b575f5ffd5b5061039f610aaa366004615387565b6129fc565b348015610aba575f5ffd5b506105cd7f000000000000000000000000000000000000000000000000000000000000000081565b348015610aed575f5ffd5b506105cd610afc3660046151c8565b5f90815260026020526040902054151590565b348015610b1a575f5ffd5b50610492612a7a565b348015610b2e575f5ffd5b5061039f610b3d366004615387565b612b3e565b348015610b4d575f5ffd5b506104927f000000000000000000000000000000000000000000000000000000000000000081565b34801561039f575f5ffd5b348015610b8b575f5ffd5b50610b9f610b9a366004614ba3565b612c44565b60408051931515845291151560208401529082015260600161040b565b348015610bc7575f5ffd5b5061039f610bd6366004614bc5565b612c92565b348015610be6575f5ffd5b5061039f612de3565b5f546201000090046001600160a01b03163314610c1f576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610c5e576040516314f72c9f60e01b815260040160405180910390fd5b5f816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c9b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cbf91906153b1565b5f81815260026020526040812054919250819003610cf057604051630e4f4df560e11b815260040160405180910390fd5b5f6001610cfd81846153dc565b81548110610d0d57610d0d6153ef565b5f918252602090912001546040516311a5465560e21b81526001600160a01b038681166004830152909116915081906346951954906024015f604051808303815f87803b158015610d5c575f5ffd5b505af1158015610d6e573d5f5f3e3d5ffd5b5050604080518681526001600160a01b03881660208201527f9279aa773f2b588996032d8de89911555039f28b13a11a7c17074330bc082d9a935001905060405180910390a150505050565b5f546201000090046001600160a01b03163314610dea576040516362e9152760e11b815260040160405180910390fd5b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f283970906024015f604051808303815f87803b158015610e2a575f5ffd5b505af1158015610e3c573d5f5f3e3d5ffd5b505050505050565b5f546201000090046001600160a01b03163314610e74576040516362e9152760e11b815260040160405180910390fd5b5f816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb1573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ed591906153b1565b5f8181526002602052604090205490915015610f0457604051631b93bb7560e31b815260040160405180910390fd5b60015461010011610f2857604051630f85034f60e31b815260040160405180910390fd5b5f7f0000000000000000000000000000000000000000000000000000000000000000610fd8575f604051610f5b90614b28565b604051809103905ff080158015610f74573d5f5f3e3d5ffd5b50604051634a0687ef60e01b81526001600160a01b03868116600483015291925090821690634a0687ef906024015f604051808303815f87803b158015610fb9575f5ffd5b505af1158015610fcb573d5f5f3e3d5ffd5b5050505080915050610fdb565b50815b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0384166001600160a01b0319909116179055545f838152600260205260409081902091909155517f878135063a6cfb3bc333e534b1fdc83f4f12221cad6705c31c0567048a8bd3d19061107790849086909182526001600160a01b0316602082015260400190565b60405180910390a1505050565b606061108f3361204b565b6110ac5760405163619c535960e01b815260040160405180910390fd5b82828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506110ed9250839150612f5b9050565b6110f9576110f9615403565b5f5f61116f8a5f898c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c90819084018382808284375f92019190915250612f7992505050565b915091508115611282576111828161303e565b1561121b578080602001905181019061119b9190615464565b93506111a684612f5b565b61121657866111d05760405163a85ba64f60e01b8152601460048201526024015b60405180910390fd5b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525092965061121692508c91506014905061308e565b6112bb565b8661123c5760405163a85ba64f60e01b8152601660048201526024016111c7565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525092965061121692508c91506016905061308e565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509296505050505b5050509695505050505050565b60606112d633845f8561310d565b90505b92915050565b5f546201000090046001600160a01b0316331461130f576040516362e9152760e11b815260040160405180910390fd5b604051635b69006f60e11b81527fdfd8ece9bfbcb8c5c540edb935641f63d67686490a1ab97f000288759f30a94660048201525f90309063b6d200de90602401602060405180830381865afa15801561136a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138e9190615495565b90505f816001600160a01b0316635437dd976040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113cd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f19190615495565b604051631b2ce7f360e11b81526001600160a01b03858116600483015291925090821690633659cfe6906024015f604051808303815f87803b158015611435575f5ffd5b505af1158015611447573d5f5f3e3d5ffd5b50506040516001600160a01b038681168252841692507f052cea8931962dd445ef48b0b998d3056bd0705f437087d60fe3c46a3fa09e1f91506020015b60405180910390a2505050565b606061149f33858585613345565b949350505050565b6114af614b35565b6112d98261344c565b60608083838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506114fc9250839150612f5b9050565b61151c5760405163a85ba64f60e01b8152601460048201526024016111c7565b896115268161204b565b6115435760405163619c535960e01b815260040160405180910390fd5b5f61158287878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506114a792505050565b6101208101519091506001600160a01b031633146115b35760405163066875e160e11b815260040160405180910390fd5b60608101805133909152604080516020601f8c018190048102820181019092528a8152908b908b90819084018382808284375f9201919091525050505060a08301526115fe82613515565b95505f6116428e8e8e8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525092508c91506136469050565b9650905080156116a157858060200190518101906116609190615464565b965061166b87612f5b565b61167757611677615403565b611680876114a7565b6001600160a01b0383166060820152925061169a83613515565b96506116aa565b6116aa866136fc565b505050505097509795505050505050565b5f546201000090046001600160a01b031633146116eb576040516362e9152760e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000001561172a576040516314f72c9f60e01b815260040160405180910390fd5b806001600160a01b031663cd312ec46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611766573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061178a91906154b0565b156117a85760405163474e764160e01b815260040160405180910390fd5b6117b181613807565b50565b5f6117dd7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b5f546201000090046001600160a01b03163314611812576040516362e9152760e11b815260040160405180910390fd5b6003546001600160a01b0316611972577f00000000000000000000000000000000000000000000000000000000000000006118ef575f60405161185490614b28565b604051809103905ff08015801561186d573d5f5f3e3d5ffd5b50604051634a0687ef60e01b81526001600160a01b03848116600483015291925090821690634a0687ef906024015f604051808303815f87803b1580156118b2575f5ffd5b505af11580156118c4573d5f5f3e3d5ffd5b5050600380546001600160a01b0319166001600160a01b0394909416939093179092555061190b9050565b600380546001600160a01b0319166001600160a01b0383161790555b60035f9054906101000a90046001600160a01b03166001600160a01b0316638129fc1c6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611957575f5ffd5b505af1158015611969573d5f5f3e3d5ffd5b50505050611a0c565b7f0000000000000000000000000000000000000000000000000000000000000000156119b1576040516314f72c9f60e01b815260040160405180910390fd5b6003546040516311a5465560e21b81526001600160a01b038381166004830152909116906346951954906024015f604051808303815f87803b1580156119f5575f5ffd5b505af1158015611a07573d5f5f3e3d5ffd5b505050505b6003546040516001600160a01b0390911681527fce13a9895a1719ad4493b2ac1a9bfb36070566161abab408e7ecbe586da8d499906020015b60405180910390a150565b335f81815260046020526040902054611a7c576040516302eb3f7160e61b815260040160405180910390fd5b6001600160a01b0382165f90815260046020526040902054611ab157604051634b5518af60e11b815260040160405180910390fd5b611aba8261210b565b60ff16611ac68261210b565b60ff1611611ae757604051630447252760e41b815260040160405180910390fd5b6001600160a01b039081165f908152600560209081526040808320949093168252929092529020805460ff19166001179055565b5f80546201000090046001600160a01b03166380f70cba3083611b3d86613a3e565b6040518463ffffffff1660e01b8152600401611b5b939291906154cb565b602060405180830381865afa158015611b76573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b9a91906153b1565b151592915050565b6060611bad3361204b565b611bca5760405163619c535960e01b815260040160405180910390fd5b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611c0b9250839150612f5b9050565b611c1757611c17615403565b5f611c5686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506114a792505050565b9050838161010001818151611c6b91906154ef565b905250611c7781613515565b9695505050505050565b611c93611c8c613ac5565b8383613b2c565b5050565b611c93338383613b2c565b6001600160a01b0381165f908152600460205260408120546180001615156112d9565b5f546201000090046001600160a01b03163314611cf5576040516362e9152760e11b815260040160405180910390fd5b5f54604080516001600160a01b03620100009093048316815291831660208301527f13abda02e63c790d0e2818b251282cfe5cbe0a8abd69c54bf5d2260c0907bd2e910160405180910390a15f80546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6060611d753361204b565b611d925760405163619c535960e01b815260040160405180910390fd5b82828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611dd39250839150612f5b9050565b611ddf57611ddf615403565b5f5f611e568a6001898c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c90819084018382808284375f92019190915250612f7992505050565b9150915081156112bb57611e698161303e565b15611e895780806020019051810190611e829190615464565b93506112bb565b86611eaa5760405163a85ba64f60e01b8152601660048201526024016111c7565b6112bb8a601661308e565b6060611ec03361204b565b611edd5760405163619c535960e01b815260040160405180910390fd5b86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611f1e9250839150612f5b9050565b611f2a57611f2a615403565b5f611f6989898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506114a792505050565b9050611f8f81606001516001600160a01b03165f90815260046020526040902054151590565b8015611fa257506001815f015160ff1610155b15611ff45760608101516001600160a01b039081165f908152600560209081526040808320938b168352929052205460ff16611ff45760405163a85ba64f60e01b8152601e60048201526024016111c7565b80518161200082615516565b60ff169052506003602082015260c0810186905261010081018590526001600160a01b03808816610120830152841661014082015261203e81613515565b9998505050505050505050565b5f5f826001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612089573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120ad91906153b1565b5f81815260026020526040902054909150801580159061149f57506001600160a01b03841660016120de81846153dc565b815481106120ee576120ee6153ef565b5f918252602090912001546001600160a01b031614949350505050565b6001600160a01b0381165f9081526004602052604081205460ff166112d9565b60606121363361204b565b6121535760405163619c535960e01b815260040160405180910390fd5b5f61219285858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506114a792505050565b90508281610100018181516121a791906154ef565b9052506121b381613515565b95945050505050565b5f54610100900460ff16158080156121da57505f54600160ff909116105b806121f35750303b1580156121f357505f5460ff166001145b61220f5760405162461bcd60e51b81526004016111c790615534565b5f805460ff191660011790558015612230575f805461ff0019166101001790555b80156117b1575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611a45565b5f8181526002602052604081205480820361229f57604051630e4f4df560e11b815260040160405180910390fd5b6122aa6001826153dc565b6001901b19841691505092915050565b7f00000000000000000000000000000000000000000000000000000000000000001561230457612304604051806040016040528060028152602001616b3160f01b815250326145ef565b6117b1338261474b565b5f8181526002602052604081205480820361233c57604051630e4f4df560e11b815260040160405180910390fd5b600161234881836153dc565b81548110612358576123586153ef565b5f918252602090912001546001600160a01b03169392505050565b606061237e3361204b565b61239b5760405163619c535960e01b815260040160405180910390fd5b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506123dc9250839150612f5b9050565b6123e8576123e8615403565b6123f2848461308e565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929998505050505050505050565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506124759250839150612f5b9050565b6124955760405163a85ba64f60e01b8152601460048201526024016111c7565b6001600160a01b0387165f9081526004602052604081205488918190036124cf5760405163163cbe4360e01b815260040160405180910390fd5b6180008116156124f157604051628e12d960e21b815260040160405180910390fd5b87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525092506125319150839050614818565b90506001600160e01b031981166330d9c91560e01b148061256257506001600160e01b0319811663d86ed3e560e01b145b8061257d57506001600160e01b03198116630221347d60e61b145b8061259857506001600160e01b0319811663230dbd2960e01b145b806125b357506001600160e01b03198116635f9e7d7760e01b145b806125ce57506001600160e01b031981166353c11f9960e01b145b156125ec576040516377a14afb60e11b815260040160405180910390fd5b5f61262b89898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506114a792505050565b6101208101519091506001600160a01b0316331461265c576040516311cfdef560e21b815260040160405180910390fd5b6060810180513390915261266f82613515565b97505f5f6126b48f8f8f8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525092508f91506136469050565b91509150811561272757808060200190518101906126d29190615464565b99506126dd8a612f5b565b6126fd5760405163a85ba64f60e01b8152601460048201526024016111c7565b6127068a6114a7565b6001600160a01b0384166060820152935061272084613515565b9950612730565b612730816136fc565b50505050505050505095945050505050565b5f8181526002602052604081205480820361277057604051630e4f4df560e11b815260040160405180910390fd5b61277b6001826153dc565b6001901b841791505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156127f0576127f082828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152503292506145ef915050565b6127fa338461474b565b505050565b5f6112d683838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250612f5b92505050565b5f54610100900460ff161580801561285c57505f54600160ff909116105b806128755750303b15801561287557505f5460ff166001145b6128915760405162461bcd60e51b81526004016111c790615534565b5f805460ff1916600117905580156128b2575f805461ff0019166101001790555b5f805462010000600160b01b031916620100006001600160a01b038516021790558015611c93575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60605f5f6001805490506001600160401b0381111561293c5761293c614d1f565b604051908082528060200260200182016040528015612965578160200160208202803683370190505b5092505f90505f91505b6001548210156129f4576001821b8416156129e95760018281548110612997576129976153ef565b5f918252602090912001546001600160a01b031683826129b681615582565b9350815181106129c8576129c86153ef565b60200260200101906001600160a01b031690816001600160a01b0316815250505b81600101915061296f565b825250919050565b816001600160a01b03163b5f03612a265760405163353dacc360e21b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015612a7057612a70604051806040016040528060028152602001616b3160f01b815250336145ef565b611c93828261474b565b6003545f906001600160a01b0316612a9457612a94615403565b7f000000000000000000000000000000000000000000000000000000000000000015612aca57506003546001600160a01b031690565b60035f9054906101000a90046001600160a01b03166001600160a01b03166350d75d256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b1a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117dd9190615495565b816001600160a01b03163b5f03612b685760405163353dacc360e21b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015612a70575f612b9833614873565b5f805460405163407b865d60e11b81529293509091620100009091046001600160a01b0316906380f70cba90612bd6903090859087906004016154cb565b602060405180830381865afa158015612bf1573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c1591906153b1565b600114905080612c3857604051630b56455f60e41b815260040160405180910390fd5b5050611c93828261474b565b6001600160a01b0381165f90815260046020908152604080832081519283019091525480825215801592918291612c8a57805161800081161515935064ff000000001691505b509193909250565b5f546201000090046001600160a01b03163314612cc2576040516362e9152760e11b815260040160405180910390fd5b5f6001600160a01b038216612d4a5760035f9054906101000a90046001600160a01b03166001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d21573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d459190615495565b612d4c565b815b6040516311a5465560e21b81526001600160a01b038083166004830152919250908416906346951954906024015f604051808303815f87803b158015612d90575f5ffd5b505af1158015612da2573d5f5f3e3d5ffd5b50506040516001600160a01b038481168252861692507f840acbd291b38534819f47f875839277e502f40e1c7bfea2c5fc2c8017442cd39150602001611484565b612deb614b35565b602a9052612df7614b35565b602a602082015250612e07614b35565b602a604082015250612e17614b35565b602a606082015250612e27614b35565b63deadbeef60e01b608082015250612e3d614b35565b60408051602a808252606082019092529060208201818036833750505060a082018190525f819003612eb15760405162461bcd60e51b815260206004820152601760248201527f7573657244617461206f6666736574206973207a65726f00000000000000000060448201526064016111c7565b8051602a8114612f035760405162461bcd60e51b815260206004820152601960248201527f7573657244617461206368616e676564206c6f636174696f6e0000000000000060448201526064016111c7565b505050612f0e614b35565b602a60c082015250612f1e614b35565b602a60e082015250612f2e614b35565b602a61010082015250612f3f614b35565b602a61012082015250612f50614b35565b602a61014082015250565b5f81515f141580156112d95750600654825160208401201492915050565b5f60606001600160a01b038716612f9257612f92615403565b612f9c84846148ec565b93506001600160401b037f0000000000000000000000000000000000000000000000000000000000000000165f87612fde57612fd98987846149a3565b612fe9565b612fe9898784614a2e565b9195509093509050836130325780613019578661300e57613009836136fc565b613032565b61300989600a61308e565b604051636a7aea4b60e11b815260040160405180910390fd5b50509550959350505050565b5f60408251101561305057505f919050565b602082810151905f90821461306857505f9392505050565b50604083015161307781614a88565b61308290604061559a565b84511492505050919050565b6001600160a01b0382165f90815260046020526040812054618000169003611c93576001600160a01b0382165f81815260046020526040908190208054618000179055517fbe3aa33bd245135e4e26b223d79d14ea479a47bff09f2b03c53838af1edbb14b906131019084815260200190565b60405180910390a25050565b600654606090156131345760405163a85ba64f60e01b8152601560048201526024016111c7565b6001600160a01b0384165f90815260046020526040812054859181900361316e5760405163163cbe4360e01b815260040160405180910390fd5b61800081161561319057604051628e12d960e21b815260040160405180910390fd5b835f61319b82614818565b90506001600160e01b031981166330d9c91560e01b14806131cc57506001600160e01b0319811663d86ed3e560e01b145b806131e757506001600160e01b03198116630221347d60e61b145b8061320257506001600160e01b0319811663230dbd2960e01b145b8061321d57506001600160e01b03198116635f9e7d7760e01b145b8061323857506001600160e01b031981166353c11f9960e01b145b15613256576040516377a14afb60e11b815260040160405180910390fd5b60408051610160810182525f808252600260208084019190915242838501526001600160a01b03808e16606085015260808401839052845191820190945281815260a083015260c0820181905260e082018190526101008201819052918a1661012082015261014081018290526132cc90613515565b90505f6132db8a898b85613646565b97509050801561332957868060200190518101906132f99190615464565b915061330482612f5b565b6133245760405163a85ba64f60e01b8152601460048201526024016111c7565b613332565b613332876136fc565b50505f6006555092979650505050505050565b6006546060901561336c5760405163a85ba64f60e01b8152601560048201526024016111c7565b836133768161204b565b6133935760405163619c535960e01b815260040160405180910390fd5b5f61339d85614818565b60408051610160810182525f8082526001602083015292935061341a9181014281526020018a6001600160a01b03168152602001846001600160e01b03191681526020018781526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b0316815250613515565b90505f61342988885f85613646565b955090508061343b5761343b856136fc565b50505f600655509095945050505050565b613454614b35565b6060808380602001905181019061346b91906155ad565b815191935091505f906134879084016020908101908501615606565b60a08901526001600160e01b03191660808801526001600160a01b031660608701526040860152602081811c600f168187015260ff909116855282515f92506134d7919084018101908401615685565b6001600160a01b03908116610140890152166101208701526101008601526001600160801b03811660c086015260801c60e085015250919392505050565b60606001825f015160ff1611156135425760405163a85ba64f60e01b8152602860048201526024016111c7565b81516020808401515f9260ff1664ff000000009190921b161790505f608061356d8560e00151614abf565b6001600160801b0316901b6135858560c00151614abf565b6001600160801b0316179050818460400151856060015186608001518760a001516040516020016135ba9594939291906156ce565b60408051601f1981840301815282825261010087015161012088015161014089015160208601879052938501919091526001600160a01b03908116606085015290911660808301529060a00160408051601f19818403018152908290526136249291602001615058565b60408051601f1981840301815291905280516020820120600655949350505050565b5f60606001600160a01b03861661365f5761365f615403565b61366985846148ec565b9450856001600160a01b031684866040516136849190615730565b5f6040518083038185875af1925050503d805f81146136be576040519150601f19603f3d011682016040523d82523d5f602084013e6136c3565b606091505b50909250905081156136f35780515f036136f35760405163a85ba64f60e01b8152601660048201526024016111c7565b94509492505050565b60048151101561374e5760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a2074617267657420726576657274282900000000000060448201526064016111c7565b602081015163b1b7848f60e01b6001600160e01b03198216016137fe5760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b81529192916111c791849101614d0d565b81518060208401fd5b5f6138307f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036138865760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016111c7565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156138c2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138e691906153b1565b7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74146139605760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016111c7565b6001600160a01b03811630036139b85760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016111c7565b6139e0817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74604080519182526001600160a01b038416602083015201611a45565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b038316918101919091525f9060c0015b604051602081830303815290604052805190602001209050919050565b5f60183610801590613adb5750613adb33611b1b565b613b1f5760405162461bcd60e51b81526020600482015260156024820152742737ba103a393ab9ba32b2103337b93bb0b93232b960591b60448201526064016111c7565b5060131936013560601c90565b5f5b818110156145b0575f838383818110613b4957613b496153ef565b9050602002810190613b5b919061573b565b613b69906020810190615759565b90505f1963ffffffff821601613c56575f5f858585818110613b8d57613b8d6153ef565b9050602002810190613b9f919061573b565b613bad90604081019061577c565b810190613bba9190615387565b91509150858585818110613bd057613bd06153ef565b9050602002810190613be2919061573b565b613bf3906040810190602001614ba3565b6001600160a01b03166362aa52878884846040518463ffffffff1660e01b8152600401613c22939291906154cb565b5f604051808303815f87803b158015613c39575f5ffd5b505af1158015613c4b573d5f5f3e3d5ffd5b5050505050506145a7565b60011963ffffffff821601613d5a575f5f5f868686818110613c7a57613c7a6153ef565b9050602002810190613c8c919061573b565b613c9a90604081019061577c565b810190613ca791906157be565b925092509250868686818110613cbf57613cbf6153ef565b9050602002810190613cd1919061573b565b613ce2906040810190602001614ba3565b604051630b682aeb60e11b81526001600160a01b038a81166004830152858116602483015284811660448301526064820184905291909116906316d055d6906084015b5f604051808303815f87803b158015613d3c575f5ffd5b505af1158015613d4e573d5f5f3e3d5ffd5b505050505050506145a7565b60021963ffffffff821601613e17575f5f5f868686818110613d7e57613d7e6153ef565b9050602002810190613d90919061573b565b613d9e90604081019061577c565b810190613dab91906157fc565b925092509250868686818110613dc357613dc36153ef565b9050602002810190613dd5919061573b565b613de6906040810190602001614ba3565b6001600160a01b031663ca0c1e7f898585856040518563ffffffff1660e01b8152600401613d25949392919061583a565b60031963ffffffff821601613ecf575f5f858585818110613e3a57613e3a6153ef565b9050602002810190613e4c919061573b565b613e5a90604081019061577c565b810190613e679190615387565b91509150858585818110613e7d57613e7d6153ef565b9050602002810190613e8f919061573b565b613ea0906040810190602001614ba3565b6001600160a01b0316634b2763b38884846040518463ffffffff1660e01b8152600401613c22939291906154cb565b60041963ffffffff821601613f87575f5f858585818110613ef257613ef26153ef565b9050602002810190613f04919061573b565b613f1290604081019061577c565b810190613f1f9190615387565b91509150858585818110613f3557613f356153ef565b9050602002810190613f47919061573b565b613f58906040810190602001614ba3565b6001600160a01b031663c780fd828884846040518463ffffffff1660e01b8152600401613c22939291906154cb565b60641963ffffffff82160161407757838383818110613fa857613fa86153ef565b9050602002810190613fba919061573b565b613fcb906040810190602001614ba3565b6001600160a01b031663ca78946486868686818110613fec57613fec6153ef565b9050602002810190613ffe919061573b565b61400c90604081019061577c565b81019061401991906151c8565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f604051808303815f87803b15801561405c575f5ffd5b505af115801561406e573d5f5f3e3d5ffd5b505050506145a7565b60651963ffffffff8216016140dc57838383818110614098576140986153ef565b90506020028101906140aa919061573b565b6140bb906040810190602001614ba3565b6001600160a01b031663245887fc86868686818110613fec57613fec6153ef565b60661963ffffffff821601614194575f5f8585858181106140ff576140ff6153ef565b9050602002810190614111919061573b565b61411f90604081019061577c565b81019061412c9190615387565b91509150858585818110614142576141426153ef565b9050602002810190614154919061573b565b614165906040810190602001614ba3565b6001600160a01b0316631ae88ffc8884846040518463ffffffff1660e01b8152600401613c22939291906154cb565b60671963ffffffff82160161424c575f5f8585858181106141b7576141b76153ef565b90506020028101906141c9919061573b565b6141d790604081019061577c565b8101906141e49190615387565b915091508585858181106141fa576141fa6153ef565b905060200281019061420c919061573b565b61421d906040810190602001614ba3565b6001600160a01b03166347ba7ad18884846040518463ffffffff1660e01b8152600401613c22939291906154cb565b60c81963ffffffff8216016142e8575f5f85858581811061426f5761426f6153ef565b9050602002810190614281919061573b565b61428f90604081019061577c565b81019061429c919061586c565b915091506142e0878787878181106142b6576142b66153ef565b90506020028101906142c8919061573b565b6142d9906040810190602001614ba3565b8484613345565b5050506145a7565b60c91963ffffffff8216016143a25761439c8585858581811061430d5761430d6153ef565b905060200281019061431f919061573b565b614330906040810190602001614ba3565b47878787818110614343576143436153ef565b9050602002810190614355919061573b565b61436390604081019061577c565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061310d92505050565b506145a7565b61012c1963ffffffff8216016144c5575f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166322bee494478888888181106143f6576143f66153ef565b9050602002810190614408919061573b565b614419906040810190602001614ba3565b89898981811061442b5761442b6153ef565b905060200281019061443d919061573b565b61444b90604081019061577c565b6040518563ffffffff1660e01b8152600401614469939291906158e1565b5f6040518083038185885af1158015614484573d5f5f3e3d5ffd5b50505050506040513d5f823e601f3d908101601f191682016040526144ac9190810190615905565b91509150816144be576144be816136fc565b50506145a7565b61012d1963ffffffff82160161458e575f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663177ec59447888888818110614519576145196153ef565b905060200281019061452b919061573b565b61453c906040810190602001614ba3565b8a8a8a8a81811061454f5761454f6153ef565b9050602002810190614561919061573b565b61456f90604081019061577c565b6040518663ffffffff1660e01b8152600401614469949392919061593c565b60405163b477011560e01b815260040160405180910390fd5b50600101613b2e565b5047156127fa576040516001600160a01b038416904780156108fc02915f818181858888f193505050501580156145e9573d5f5f3e3d5ffd5b50505050565b604051632474521560e21b81527f1fd2cd0659bdcac914c39b66359256350b866e92047951635b57d928f32d9e8460048201526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906391d1485490604401602060405180830381865afa158015614679573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061469d91906154b0565b156146a6575050565b5f6146b18284614af6565b5f805460405163407b865d60e11b81529293504292620100009091046001600160a01b0316916380f70cba916146ed91309187906004016154cb565b602060405180830381865afa158015614708573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061472c91906153b1565b10156127fa57604051630b56455f60e41b815260040160405180910390fd5b64ff000080ff198116151580614762575060ff8116155b806147705750618000811615155b1561478e57604051633d3200a960e21b815260040160405180910390fd5b6001600160a01b0382165f90815260046020526040902054156147c4576040516301b0a93560e01b815260040160405180910390fd5b60408051602080820183528382526001600160a01b0385165f81815260049092528382209251909255915190917f0d540ad8f39e07d19909687352b9fa017405d93c91a6760981fbae9cf28bfef791a25050565b5f60048251101561486b5760405162461bcd60e51b815260206004820152601b60248201527f43616c6c5574696c733a20696e76616c69642063616c6c44617461000000000060448201526064016111c7565b506020015190565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b038316918101919091525f9060c001613aa8565b815180830151606091908015614915576040516367e9985b60e01b815260040160405180910390fd5b50601f198101845282518490848161492c81614a88565b61493691906153dc565b6001600160401b0381111561494d5761494d614d1f565b6040519080825280601f01601f191660200182016040528015614977576020820181803683370190505b5060405160200161498b9493929190615968565b60405160208183030381529060405291505092915050565b5f5f60605f5a9050866001600160a01b031685876040516149c49190615730565b5f604051808303815f8787f1925050503d805f81146149fe576040519150601f19603f3d011682016040523d82523d5f602084013e614a03565b606091505b50909450915083614a2457614a1960408261598c565b5a11614a2457600192505b5093509350939050565b5f5f60605f5a9050866001600160a01b03168587604051614a4f9190615730565b5f604051808303818686fa925050503d805f81146149fe576040519150601f19603f3d011682016040523d82523d5f602084013e614a03565b5f5f82601f1611614a99575f614a9c565b60015b60ff16614aaa60208461598c565b614ab4919061559a565b6112d99060206159ab565b5f6001600160801b03821115614af2576040516306dfcc6560e41b815260806004820152602481018390526044016111c7565b5090565b5f8282604051602001614b0a9291906159c2565b60405160208183030381529060405280519060200120905092915050565b61023980615a4783390190565b60408051610160810182525f8082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b03811681146117b1575f5ffd5b5f60208284031215614bb3575f5ffd5b8135614bbe81614b8f565b9392505050565b5f5f60408385031215614bd6575f5ffd5b8235614be181614b8f565b91506020830135614bf181614b8f565b809150509250929050565b5f5f83601f840112614c0c575f5ffd5b5081356001600160401b03811115614c22575f5ffd5b602083019150836020828501011115614c39575f5ffd5b9250929050565b80151581146117b1575f5ffd5b5f5f5f5f5f5f60808789031215614c62575f5ffd5b8635614c6d81614b8f565b955060208701356001600160401b03811115614c87575f5ffd5b614c9389828a01614bfc565b9096509450506040870135614ca781614c40565b925060608701356001600160401b03811115614cc1575f5ffd5b614ccd89828a01614bfc565b979a9699509497509295939492505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6112d66020830184614cdf565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715614d5b57614d5b614d1f565b604052919050565b5f6001600160401b03821115614d7b57614d7b614d1f565b50601f01601f191660200190565b5f82601f830112614d98575f5ffd5b8135614dab614da682614d63565b614d33565b818152846020838601011115614dbf575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f60408385031215614dec575f5ffd5b8235614df781614b8f565b915060208301356001600160401b03811115614e11575f5ffd5b614e1d85828601614d89565b9150509250929050565b5f5f5f60608486031215614e39575f5ffd5b8335614e4481614b8f565b925060208401356001600160401b03811115614e5e575f5ffd5b614e6a86828701614d89565b92505060408401356001600160401b03811115614e85575f5ffd5b614e9186828701614d89565b9150509250925092565b5f60208284031215614eab575f5ffd5b81356001600160401b03811115614ec0575f5ffd5b61149f84828501614d89565b60208152614ee060208201835160ff169052565b5f6020830151614ef5604084018260ff169052565b50604083015160608301526060830151614f1a60808401826001600160a01b03169052565b5060808301516001600160e01b0319811660a08401525060a083015161016060c0840152614f4c610180840182614cdf565b905060c084015160e084015260e0840151610100840152610100840151610120840152610120840151614f8b6101408501826001600160a01b03169052565b506101408401516001600160a01b038116610160850152509392505050565b5f5f5f5f5f5f5f6080888a031215614fc0575f5ffd5b8735614fcb81614b8f565b965060208801356001600160401b03811115614fe5575f5ffd5b614ff18a828b01614bfc565b90975095505060408801356001600160401b0381111561500f575f5ffd5b61501b8a828b01614bfc565b90955093505060608801356001600160401b03811115615039575f5ffd5b6150458a828b01614bfc565b989b979a50959850939692959293505050565b604081525f61506a6040830185614cdf565b82810360208401526121b38185614cdf565b5f5f5f6040848603121561508e575f5ffd5b83356001600160401b038111156150a3575f5ffd5b6150af86828701614bfc565b909790965060209590950135949350505050565b5f5f602083850312156150d4575f5ffd5b82356001600160401b038111156150e9575f5ffd5b8301601f810185136150f9575f5ffd5b80356001600160401b0381111561510e575f5ffd5b8560208260051b8401011115615122575f5ffd5b6020919091019590945092505050565b5f5f5f5f5f5f60a08789031215615147575f5ffd5b86356001600160401b0381111561515c575f5ffd5b61516889828a01614bfc565b909750955050602087013561517c81614b8f565b93506040870135925060608701359150608087013561519a81614b8f565b809150509295509295509295565b5f5f604083850312156151b9575f5ffd5b50508035926020909101359150565b5f602082840312156151d8575f5ffd5b5035919050565b5f5f5f5f606085870312156151f2575f5ffd5b84356001600160401b03811115615207575f5ffd5b61521387828801614bfc565b909550935050602085013561522781614b8f565b9396929550929360400135925050565b5f5f5f5f5f6060868803121561524b575f5ffd5b853561525681614b8f565b945060208601356001600160401b03811115615270575f5ffd5b61527c88828901614bfc565b90955093505060408601356001600160401b0381111561529a575f5ffd5b6152a688828901614bfc565b969995985093965092949392505050565b5f5f5f604084860312156152c9575f5ffd5b8335925060208401356001600160401b038111156152e5575f5ffd5b6152f186828701614bfc565b9497909650939450505050565b5f5f6020838503121561530f575f5ffd5b82356001600160401b03811115615324575f5ffd5b61533085828601614bfc565b90969095509350505050565b602080825282518282018190525f918401906040840190835b8181101561537c5783516001600160a01b0316835260209384019390920191600101615355565b509095945050505050565b5f5f60408385031215615398575f5ffd5b82356153a381614b8f565b946020939093013593505050565b5f602082840312156153c1575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156112d9576112d96153c8565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52600160045260245ffd5b5f82601f830112615426575f5ffd5b8151615434614da682614d63565b818152846020838601011115615448575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215615474575f5ffd5b81516001600160401b03811115615489575f5ffd5b61149f84828501615417565b5f602082840312156154a5575f5ffd5b8151614bbe81614b8f565b5f602082840312156154c0575f5ffd5b8151614bbe81614c40565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8082018281125f83128015821682158216171561550e5761550e6153c8565b505092915050565b5f60ff821660ff810361552b5761552b6153c8565b60010192915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b5f60018201615593576155936153c8565b5060010190565b808201808211156112d9576112d96153c8565b5f5f604083850312156155be575f5ffd5b82516001600160401b038111156155d3575f5ffd5b6155df85828601615417565b92505060208301516001600160401b038111156155fa575f5ffd5b614e1d85828601615417565b5f5f5f5f5f60a0868803121561561a575f5ffd5b855160208701516040880151919650945061563481614b8f565b60608701519093506001600160e01b031981168114615651575f5ffd5b60808701519092506001600160401b0381111561566c575f5ffd5b61567888828901615417565b9150509295509295909350565b5f5f5f5f60808587031215615698575f5ffd5b84516020860151604087015191955093506156b281614b8f565b60608601519092506156c381614b8f565b939692955090935050565b858152602081018590526001600160a01b03841660408201526001600160e01b03198316606082015260a0608082018190525f9061570e90830184614cdf565b979650505050505050565b5f81518060208401855e5f93019283525090919050565b5f6112d68284615719565b5f8235605e1983360301811261574f575f5ffd5b9190910192915050565b5f60208284031215615769575f5ffd5b813563ffffffff81168114614bbe575f5ffd5b5f5f8335601e19843603018112615791575f5ffd5b8301803591506001600160401b038211156157aa575f5ffd5b602001915036819003821315614c39575f5ffd5b5f5f5f606084860312156157d0575f5ffd5b83356157db81614b8f565b925060208401356157eb81614b8f565b929592945050506040919091013590565b5f5f5f6060848603121561580e575f5ffd5b833561581981614b8f565b92506020840135915060408401356001600160401b03811115614e85575f5ffd5b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90611c7790830184614cdf565b5f5f6040838503121561587d575f5ffd5b82356001600160401b03811115615892575f5ffd5b61589e85828601614d89565b92505060208301356001600160401b03811115614e11575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190525f906121b390830184866158b9565b5f5f60408385031215615916575f5ffd5b825161592181614c40565b60208401519092506001600160401b038111156155fa575f5ffd5b6001600160a01b038581168252841660208201526060604082018190525f90611c7790830184866158b9565b5f6159738287615719565b85815261570e6159866020830187615719565b85615719565b5f826159a657634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176112d9576112d96153c8565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e060408201525f61149f60e0830184614cdf56fe6080604052348015600e575f5ffd5b5061021d8061001c5f395ff3fe608060405260043610610021575f3560e01c80634a0687ef1461003857610030565b366100305761002e610057565b005b61002e610057565b348015610043575f5ffd5b5061002e6100523660046101ba565b610069565b61006761006261016e565b61019c565b565b6001600160a01b0381166100c45760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b5f6100ed7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101435760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bb565b61016b817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b5f6101977f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b365f5f375f5f365f845af43d5f5f3e8080156101b6573d5ff35b3d5ffd5b5f602082840312156101ca575f5ffd5b81356001600160a01b03811681146101e0575f5ffd5b939250505056fea2646970667358221220483a9fede557f61b9d72f013e5257deaf8e68c5f0dfbf1d1dc084725d20b603064736f6c634300081e0033a264697066735822122074fe57a127a04407faa057828ae6a6b4643cabda93dc7276f23b88c6538ac4b564736f6c634300081e0033";
15
+ static readonly bytecode = "0x610140604052348015610010575f5ffd5b505f608081905260a0819052622dc6c060c081905260e08290526101008290526101208290528190818080615d966100de82395f8181610535015261473201525f8181610499015261440201525f8181610b6101526142df01525f81816104ed01528181611e320152818161290c015261293d01525f81816108ad015281816120d7015281816125a7015281816128430152612c2701525f8181610aaf01528181610c2f01528181610f39015281816114bc015281816115f3015281816117430152612b530152615d965ff3fe60806040526004361061037c575f3560e01c80638ceddd7a116101d3578063bd3252c8116100fd578063e8dccb7d1161009d578063f99a38c41161006d578063f99a38c414610b83578063f9f522f414610b8e578063fa6e0cfe14610bca578063fbdb0ee214610be9575f5ffd5b8063e8dccb7d14610af0578063f2e55caf14610b1d578063f373305214610b31578063f85263b914610b50575f5ffd5b8063c56a069d116100d8578063c56a069d14610a53578063c60944a614610a7f578063cd312ec414610a9e578063db93aa5314610ad1575f5ffd5b8063bd3252c814610a01578063bf42873414610a15578063c4d66de814610a34575f5ffd5b8063ad3915c811610173578063bb84cfa111610143578063bb84cfa11461096a578063bbe4fd50146109b1578063bced3ddc146109c3578063bd1c448b146109e2575f5ffd5b8063ad3915c8146108ee578063b6d200de1461090d578063b724211e1461092c578063ba48b5f81461094b575f5ffd5b8063989b0c3e116101ae578063989b0c3e146108695780639903ad38146108885780639d297e301461089c578063a5dbbbcd146108cf575f5ffd5b80638ceddd7a146107e15780639378fa131461080b5780639444db931461083c575f5ffd5b806346951954116102b457806359a29141116102545780637283100c116102245780637283100c14610767578063731aed6e14610786578063768fabb0146107a35780638ca48484146107c2575f5ffd5b806359a2914114610703578063670e77e3146107225780636ad3ca7d146107355780636b4f333514610748575f5ffd5b806352d1902d1161028f57806352d1902d1461067457806354fbc493146106a657806357121e0c146106c5578063572b6c05146106e4575f5ffd5b80634695195414610617578063486ff0cd1461063657806350d75d2514610660575f5ffd5b80632f89bf891161031f57806339255d5b116102fa57806339255d5b146105595780633ca3ad4e146105785780633f6c923a146105be5780634329d293146105ea575f5ffd5b80632f89bf89146104bd57806333d608f1146104dc57806336b3e52d14610527575f5ffd5b80631e855cf31161035a5780631e855cf3146103df5780632368335a14610414578063289b3c0d146104555780632ecfbda21461048b575f5ffd5b806306cecba8146103805780630c565075146103a157806315a024e1146103c0575b5f5ffd5b34801561038b575f5ffd5b5061039f61039a366004614c5b565b610bfd565b005b3480156103ac575f5ffd5b5061039f6103bb366004614c7d565b610dc8565b3480156103cb575f5ffd5b5061039f6103da366004614c5b565b610e52565b3480156103ea575f5ffd5b506103fe6103f9366004614d70565b611092565b60405161040b9190614dea565b60405180910390f35b34801561041f575f5ffd5b506104477f1fd2cd0659bdcac914c39b66359256350b866e92047951635b57d928f32d9e8481565b60405190815260200161040b565b348015610460575f5ffd5b505f546201000090046001600160a01b03165b6040516001600160a01b03909116815260200161040b565b348015610496575f5ffd5b507f0000000000000000000000000000000000000000000000000000000000000000610473565b3480156104c8575f5ffd5b5061039f6104d7366004614c5b565b6110a9565b3480156104e7575f5ffd5b5061050f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160401b03909116815260200161040b565b348015610532575f5ffd5b507f0000000000000000000000000000000000000000000000000000000000000000610473565b348015610564575f5ffd5b506103fe610573366004614dfc565b61125b565b348015610583575f5ffd5b506105ae610592366004614c5b565b6001600160a01b03165f90815260046020526040902054151590565b604051901515815260200161040b565b3480156105c9575f5ffd5b506105dd6105d8366004614e70565b611271565b60405161040b9190614ea1565b3480156105f5575f5ffd5b50610609610604366004614fc3565b611282565b60405161040b929190615071565b348015610622575f5ffd5b5061039f610631366004614c5b565b61148a565b348015610641575f5ffd5b50604080518082019091526002815261763160f01b60208201526103fe565b34801561066b575f5ffd5b50610473611583565b34801561067f575f5ffd5b507fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74610447565b3480156106b1575f5ffd5b5061039f6106c0366004614c5b565b6115b1565b3480156106d0575f5ffd5b5061039f6106df366004614c5b565b61181f565b3480156106ef575f5ffd5b506105ae6106fe366004614c5b565b6118ea565b34801561070e575f5ffd5b506103fe61071d366004615095565b611971565b61039f6107303660046150dc565b611a50565b61039f6107433660046150dc565b611a66565b348015610753575f5ffd5b506105ae610762366004614c5b565b611a71565b348015610772575f5ffd5b5061039f610781366004614c5b565b611a94565b348015610791575f5ffd5b506003546001600160a01b0316610473565b3480156107ae575f5ffd5b506103fe6107bd36600461514b565b611b39565b3480156107cd575f5ffd5b506105ae6107dc366004614c5b565b611ccf565b3480156107ec575f5ffd5b506107f661010081565b60405163ffffffff909116815260200161040b565b348015610816575f5ffd5b5061082a610825366004614c5b565b611d8f565b60405160ff909116815260200161040b565b348015610847575f5ffd5b5061085b6108563660046151ce565b611daf565b60405161040b929190615268565b348015610874575f5ffd5b506103fe610883366004615095565b611f46565b348015610893575f5ffd5b5061039f611fd7565b3480156108a7575f5ffd5b506105ae7f000000000000000000000000000000000000000000000000000000000000000081565b3480156108da575f5ffd5b506104476108e9366004615289565b61208c565b3480156108f9575f5ffd5b5061039f6109083660046152a9565b6120d5565b348015610918575f5ffd5b506104736109273660046152a9565b612129565b348015610937575f5ffd5b506103fe6109463660046152c0565b61218e565b348015610956575f5ffd5b506103fe610965366004615318565b61224d565b348015610975575f5ffd5b506105ae610984366004614c7d565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b3480156109bc575f5ffd5b5042610447565b3480156109ce575f5ffd5b506104476109dd366004615289565b61255d565b3480156109ed575f5ffd5b5061039f6109fc366004615398565b6125a5565b348015610a0c575f5ffd5b50610447600181565b348015610a20575f5ffd5b506105ae610a2f3660046153df565b61261a565b348015610a3f575f5ffd5b5061039f610a4e366004614c5b565b612659565b348015610a5e575f5ffd5b50610a72610a6d3660046152a9565b612736565b60405161040b919061541d565b348015610a8a575f5ffd5b5061039f610a99366004615468565b612817565b348015610aa9575f5ffd5b506105ae7f000000000000000000000000000000000000000000000000000000000000000081565b348015610adc575f5ffd5b506103fe610aeb3660046151ce565b612895565b348015610afb575f5ffd5b506105ae610b0a3660046152a9565b5f90815260026020526040902054151590565b348015610b28575f5ffd5b50610473612b37565b348015610b3c575f5ffd5b5061039f610b4b366004615468565b612bfb565b348015610b5b575f5ffd5b506104737f000000000000000000000000000000000000000000000000000000000000000081565b34801561039f575f5ffd5b348015610b99575f5ffd5b50610bad610ba8366004614c5b565b612d01565b60408051931515845291151560208401529082015260600161040b565b348015610bd5575f5ffd5b5061039f610be4366004614c7d565b612d4f565b348015610bf4575f5ffd5b5061039f612ea0565b5f546201000090046001600160a01b03163314610c2d576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610c6c576040516314f72c9f60e01b815260040160405180910390fd5b5f816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ccd9190615492565b5f81815260026020526040812054919250819003610cfe57604051630e4f4df560e11b815260040160405180910390fd5b5f6001610d0b81846154bd565b81548110610d1b57610d1b6154d0565b5f918252602090912001546040516311a5465560e21b81526001600160a01b038681166004830152909116915081906346951954906024015f604051808303815f87803b158015610d6a575f5ffd5b505af1158015610d7c573d5f5f3e3d5ffd5b5050604080518681526001600160a01b03881660208201527f9279aa773f2b588996032d8de89911555039f28b13a11a7c17074330bc082d9a935001905060405180910390a150505050565b5f546201000090046001600160a01b03163314610df8576040516362e9152760e11b815260040160405180910390fd5b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f283970906024015f604051808303815f87803b158015610e38575f5ffd5b505af1158015610e4a573d5f5f3e3d5ffd5b505050505050565b5f546201000090046001600160a01b03163314610e82576040516362e9152760e11b815260040160405180910390fd5b5f816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ebf573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ee39190615492565b5f8181526002602052604090205490915015610f1257604051631b93bb7560e31b815260040160405180910390fd5b60015461010011610f3657604051630f85034f60e31b815260040160405180910390fd5b5f7f0000000000000000000000000000000000000000000000000000000000000000610fe6575f604051610f6990614be0565b604051809103905ff080158015610f82573d5f5f3e3d5ffd5b50604051634a0687ef60e01b81526001600160a01b03868116600483015291925090821690634a0687ef906024015f604051808303815f87803b158015610fc7575f5ffd5b505af1158015610fd9573d5f5f3e3d5ffd5b5050505080915050610fe9565b50815b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0384166001600160a01b0319909116179055545f838152600260205260409081902091909155517f878135063a6cfb3bc333e534b1fdc83f4f12221cad6705c31c0567048a8bd3d19061108590849086909182526001600160a01b0316602082015260400190565b60405180910390a1505050565b60606110a033845f85613018565b90505b92915050565b5f546201000090046001600160a01b031633146110d9576040516362e9152760e11b815260040160405180910390fd5b604051635b69006f60e11b81527fdfd8ece9bfbcb8c5c540edb935641f63d67686490a1ab97f000288759f30a94660048201525f90309063b6d200de90602401602060405180830381865afa158015611134573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061115891906154e4565b90505f816001600160a01b0316635437dd976040518163ffffffff1660e01b8152600401602060405180830381865afa158015611197573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111bb91906154e4565b604051631b2ce7f360e11b81526001600160a01b03858116600483015291925090821690633659cfe6906024015f604051808303815f87803b1580156111ff575f5ffd5b505af1158015611211573d5f5f3e3d5ffd5b50506040516001600160a01b038681168252841692507f052cea8931962dd445ef48b0b998d3056bd0705f437087d60fe3c46a3fa09e1f91506020015b60405180910390a2505050565b606061126933858585613250565b949350505050565b611279614bed565b6110a382613357565b60608083838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506112c692508391506134209050565b6112eb5760405163a85ba64f60e01b8152601460048201526024015b60405180910390fd5b896112f581611ccf565b6113125760405163619c535960e01b815260040160405180910390fd5b5f61135187878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061127192505050565b6101208101519091506001600160a01b031633146113825760405163066875e160e11b815260040160405180910390fd5b60608101805133909152604080516020601f8c018190048102820181019092528a8152908b908b90819084018382808284375f9201919091525050505060a08301526113cd8261343e565b95505f6114118e8e8e8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525092508c915061356f9050565b965090508015611470578580602001905181019061142f919061554c565b965061143a87613420565b6114465761144661557d565b61144f87611271565b6001600160a01b038316606082015292506114698361343e565b9650611479565b61147986613625565b505050505097509795505050505050565b5f546201000090046001600160a01b031633146114ba576040516362e9152760e11b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000156114f9576040516314f72c9f60e01b815260040160405180910390fd5b806001600160a01b031663cd312ec46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611535573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115599190615591565b156115775760405163474e764160e01b815260040160405180910390fd5b61158081613730565b50565b5f6115ac7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b5f546201000090046001600160a01b031633146115e1576040516362e9152760e11b815260040160405180910390fd5b6003546001600160a01b0316611741577f00000000000000000000000000000000000000000000000000000000000000006116be575f60405161162390614be0565b604051809103905ff08015801561163c573d5f5f3e3d5ffd5b50604051634a0687ef60e01b81526001600160a01b03848116600483015291925090821690634a0687ef906024015f604051808303815f87803b158015611681575f5ffd5b505af1158015611693573d5f5f3e3d5ffd5b5050600380546001600160a01b0319166001600160a01b039490941693909317909255506116da9050565b600380546001600160a01b0319166001600160a01b0383161790555b60035f9054906101000a90046001600160a01b03166001600160a01b0316638129fc1c6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611726575f5ffd5b505af1158015611738573d5f5f3e3d5ffd5b505050506117db565b7f000000000000000000000000000000000000000000000000000000000000000015611780576040516314f72c9f60e01b815260040160405180910390fd5b6003546040516311a5465560e21b81526001600160a01b038381166004830152909116906346951954906024015f604051808303815f87803b1580156117c4575f5ffd5b505af11580156117d6573d5f5f3e3d5ffd5b505050505b6003546040516001600160a01b0390911681527fce13a9895a1719ad4493b2ac1a9bfb36070566161abab408e7ecbe586da8d499906020015b60405180910390a150565b335f8181526004602052604090205461184b576040516302eb3f7160e61b815260040160405180910390fd5b6001600160a01b0382165f9081526004602052604090205461188057604051634b5518af60e11b815260040160405180910390fd5b61188982611d8f565b60ff1661189582611d8f565b60ff16116118b657604051630447252760e41b815260040160405180910390fd5b6001600160a01b039081165f908152600560209081526040808320949093168252929092529020805460ff19166001179055565b5f80546201000090046001600160a01b03166380f70cba308361190c86613967565b6040518463ffffffff1660e01b815260040161192a939291906155ac565b602060405180830381865afa158015611945573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119699190615492565b151592915050565b606061197c33611ccf565b6119995760405163619c535960e01b815260040160405180910390fd5b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506119da92508391506134209050565b6119e6576119e661557d565b5f611a2586868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061127192505050565b9050838161010001818151611a3a91906155d0565b905250611a468161343e565b9695505050505050565b611a62611a5b6139ee565b8383613a55565b5050565b611a62338383613a55565b6001600160a01b0381165f908152600460205260408120546180001615156110a3565b5f546201000090046001600160a01b03163314611ac4576040516362e9152760e11b815260040160405180910390fd5b5f54604080516001600160a01b03620100009093048316815291831660208301527f13abda02e63c790d0e2818b251282cfe5cbe0a8abd69c54bf5d2260c0907bd2e910160405180910390a15f80546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6060611b4433611ccf565b611b615760405163619c535960e01b815260040160405180910390fd5b86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611ba292508391506134209050565b611bae57611bae61557d565b5f611bed89898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061127192505050565b9050611c1381606001516001600160a01b03165f90815260046020526040902054151590565b8015611c2657506001815f015160ff1610155b15611c785760608101516001600160a01b039081165f908152600560209081526040808320938b168352929052205460ff16611c785760405163a85ba64f60e01b8152601e60048201526024016112e2565b805181611c84826155f7565b60ff169052506003602082015260c0810186905261010081018590526001600160a01b038088166101208301528416610140820152611cc28161343e565b9998505050505050505050565b5f5f826001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d0d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d319190615492565b5f81815260026020526040902054909150801580159061126957506001600160a01b0384166001611d6281846154bd565b81548110611d7257611d726154d0565b5f918252602090912001546001600160a01b031614949350505050565b6001600160a01b0381165f9081526004602052604081205460ff166110a3565b60605f611dbb33611ccf565b611dd85760405163619c535960e01b815260040160405180910390fd5b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611e1992508391506134209050565b611e2557611e2561557d565b5f60605f198603611e5d577f00000000000000000000000000000000000000000000000000000000000000006001600160401b031695505b611ee58c60018b8e8e8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f820116905080830192505050505050508c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508e9250614518915050565b955090925090508115611f3757611efb81614608565b15611f0b57604081019450611f37565b88611f2c5760405163a85ba64f60e01b8152601660048201526024016112e2565b611f378c601661466e565b50505097509795505050505050565b6060611f5133611ccf565b611f6e5760405163619c535960e01b815260040160405180910390fd5b5f611fad85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061127192505050565b9050828161010001818151611fc291906155d0565b905250611fce8161343e565b95945050505050565b5f54610100900460ff1615808015611ff557505f54600160ff909116105b8061200e5750303b15801561200e57505f5460ff166001145b61202a5760405162461bcd60e51b81526004016112e290615615565b5f805460ff19166001179055801561204b575f805461ff0019166101001790555b8015611580575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611814565b5f818152600260205260408120548082036120ba57604051630e4f4df560e11b815260040160405180910390fd5b6120c56001826154bd565b6001901b19841691505092915050565b7f00000000000000000000000000000000000000000000000000000000000000001561211f5761211f604051806040016040528060028152602001616b3160f01b815250326146ed565b6115803382614849565b5f8181526002602052604081205480820361215757604051630e4f4df560e11b815260040160405180910390fd5b600161216381836154bd565b81548110612173576121736154d0565b5f918252602090912001546001600160a01b03169392505050565b606061219933611ccf565b6121b65760405163619c535960e01b815260040160405180910390fd5b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506121f792508391506134209050565b6122035761220361557d565b61220d848461466e565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929998505050505050505050565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061229092508391506134209050565b6122b05760405163a85ba64f60e01b8152601460048201526024016112e2565b6001600160a01b0387165f9081526004602052604081205488918190036122ea5760405163163cbe4360e01b815260040160405180910390fd5b61800081161561230c57604051628e12d960e21b815260040160405180910390fd5b87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920182905250925061234c9150839050614916565b90506001600160e01b031981166330d9c91560e01b148061237d57506001600160e01b0319811663d86ed3e560e01b145b8061239857506001600160e01b03198116630221347d60e61b145b806123b357506001600160e01b0319811663230dbd2960e01b145b806123ce57506001600160e01b03198116635f9e7d7760e01b145b806123e957506001600160e01b031981166353c11f9960e01b145b15612407576040516377a14afb60e11b815260040160405180910390fd5b5f61244689898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061127192505050565b6101208101519091506001600160a01b03163314612477576040516311cfdef560e21b815260040160405180910390fd5b6060810180513390915261248a8261343e565b97505f5f6124cf8f8f8f8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525092508f915061356f9050565b91509150811561254257808060200190518101906124ed919061554c565b99506124f88a613420565b6125185760405163a85ba64f60e01b8152601460048201526024016112e2565b6125218a611271565b6001600160a01b0384166060820152935061253b8461343e565b995061254b565b61254b81613625565b50505050505050505095945050505050565b5f8181526002602052604081205480820361258b57604051630e4f4df560e11b815260040160405180910390fd5b6125966001826154bd565b6001901b841791505092915050565b7f00000000000000000000000000000000000000000000000000000000000000001561260b5761260b82828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152503292506146ed915050565b6126153384614849565b505050565b5f6110a083838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061342092505050565b5f54610100900460ff161580801561267757505f54600160ff909116105b806126905750303b15801561269057505f5460ff166001145b6126ac5760405162461bcd60e51b81526004016112e290615615565b5f805460ff1916600117905580156126cd575f805461ff0019166101001790555b5f805462010000600160b01b031916620100006001600160a01b038516021790558015611a62575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60605f5f6001805490506001600160401b0381111561275757612757614cb4565b604051908082528060200260200182016040528015612780578160200160208202803683370190505b5092505f90505f91505b60015482101561280f576001821b84161561280457600182815481106127b2576127b26154d0565b5f918252602090912001546001600160a01b031683826127d181615663565b9350815181106127e3576127e36154d0565b60200260200101906001600160a01b031690816001600160a01b0316815250505b81600101915061278a565b825250919050565b816001600160a01b03163b5f036128415760405163353dacc360e21b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000001561288b5761288b604051806040016040528060028152602001616b3160f01b815250336146ed565b611a628282614849565b60606128a033611ccf565b6128bd5760405163619c535960e01b815260040160405180910390fd5b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506128fe92508391506134209050565b61290a5761290a61557d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316831115612968577f00000000000000000000000000000000000000000000000000000000000000006001600160401b031692505b5f5f6129f18b5f8a8d8d8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f820116905080830192505050505050508b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508d9250614518915050565b50915091508115612af057612a0581614608565b15612a8957604081019350612a1984613420565b612a845787612a3e5760405163a85ba64f60e01b8152601460048201526024016112e2565b86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929650612a8492508d91506014905061466e565b612b29565b87612aaa5760405163a85ba64f60e01b8152601660048201526024016112e2565b86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929650612a8492508d91506016905061466e565b86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509296505050505b505050979650505050505050565b6003545f906001600160a01b0316612b5157612b5161557d565b7f000000000000000000000000000000000000000000000000000000000000000015612b8757506003546001600160a01b031690565b60035f9054906101000a90046001600160a01b03166001600160a01b03166350d75d256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bd7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115ac91906154e4565b816001600160a01b03163b5f03612c255760405163353dacc360e21b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000001561288b575f612c5533614971565b5f805460405163407b865d60e11b81529293509091620100009091046001600160a01b0316906380f70cba90612c93903090859087906004016155ac565b602060405180830381865afa158015612cae573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cd29190615492565b600114905080612cf557604051630b56455f60e41b815260040160405180910390fd5b5050611a628282614849565b6001600160a01b0381165f90815260046020908152604080832081519283019091525480825215801592918291612d4757805161800081161515935064ff000000001691505b509193909250565b5f546201000090046001600160a01b03163314612d7f576040516362e9152760e11b815260040160405180910390fd5b5f6001600160a01b038216612e075760035f9054906101000a90046001600160a01b03166001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612dde573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e0291906154e4565b612e09565b815b6040516311a5465560e21b81526001600160a01b038083166004830152919250908416906346951954906024015f604051808303815f87803b158015612e4d575f5ffd5b505af1158015612e5f573d5f5f3e3d5ffd5b50506040516001600160a01b038481168252861692507f840acbd291b38534819f47f875839277e502f40e1c7bfea2c5fc2c8017442cd3915060200161124e565b612ea8614bed565b602a9052612eb4614bed565b602a602082015250612ec4614bed565b602a604082015250612ed4614bed565b602a606082015250612ee4614bed565b63deadbeef60e01b608082015250612efa614bed565b60408051602a808252606082019092529060208201818036833750505060a082018190525f819003612f6e5760405162461bcd60e51b815260206004820152601760248201527f7573657244617461206f6666736574206973207a65726f00000000000000000060448201526064016112e2565b8051602a8114612fc05760405162461bcd60e51b815260206004820152601960248201527f7573657244617461206368616e676564206c6f636174696f6e0000000000000060448201526064016112e2565b505050612fcb614bed565b602a60c082015250612fdb614bed565b602a60e082015250612feb614bed565b602a61010082015250612ffc614bed565b602a6101208201525061300d614bed565b602a61014082015250565b6006546060901561303f5760405163a85ba64f60e01b8152601560048201526024016112e2565b6001600160a01b0384165f9081526004602052604081205485918190036130795760405163163cbe4360e01b815260040160405180910390fd5b61800081161561309b57604051628e12d960e21b815260040160405180910390fd5b835f6130a682614916565b90506001600160e01b031981166330d9c91560e01b14806130d757506001600160e01b0319811663d86ed3e560e01b145b806130f257506001600160e01b03198116630221347d60e61b145b8061310d57506001600160e01b0319811663230dbd2960e01b145b8061312857506001600160e01b03198116635f9e7d7760e01b145b8061314357506001600160e01b031981166353c11f9960e01b145b15613161576040516377a14afb60e11b815260040160405180910390fd5b60408051610160810182525f808252600260208084019190915242838501526001600160a01b03808e16606085015260808401839052845191820190945281815260a083015260c0820181905260e082018190526101008201819052918a1661012082015261014081018290526131d79061343e565b90505f6131e68a898b8561356f565b9750905080156132345786806020019051810190613204919061554c565b915061320f82613420565b61322f5760405163a85ba64f60e01b8152601460048201526024016112e2565b61323d565b61323d87613625565b50505f6006555092979650505050505050565b600654606090156132775760405163a85ba64f60e01b8152601560048201526024016112e2565b8361328181611ccf565b61329e5760405163619c535960e01b815260040160405180910390fd5b5f6132a885614916565b60408051610160810182525f808252600160208301529293506133259181014281526020018a6001600160a01b03168152602001846001600160e01b03191681526020018781526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681525061343e565b90505f61333488885f8561356f565b95509050806133465761334685613625565b50505f600655509095945050505050565b61335f614bed565b60608083806020019051810190613376919061567b565b815191935091505f9061339290840160209081019085016156d4565b60a08901526001600160e01b03191660808801526001600160a01b031660608701526040860152602081811c600f168187015260ff909116855282515f92506133e2919084018101908401615753565b6001600160a01b03908116610140890152166101208701526101008601526001600160801b03811660c086015260801c60e085015250919392505050565b5f81515f141580156110a35750600654825160208401201492915050565b60606001825f015160ff16111561346b5760405163a85ba64f60e01b8152602860048201526024016112e2565b81516020808401515f9260ff1664ff000000009190921b161790505f60806134968560e001516149ea565b6001600160801b0316901b6134ae8560c001516149ea565b6001600160801b0316179050818460400151856060015186608001518760a001516040516020016134e395949392919061579c565b60408051601f1981840301815282825261010087015161012088015161014089015160208601879052938501919091526001600160a01b03908116606085015290911660808301529060a00160408051601f198184030181529082905261354d9291602001615071565b60408051601f1981840301815291905280516020820120600655949350505050565b5f60606001600160a01b0386166135885761358861557d565b6135928584614a21565b9450856001600160a01b031684866040516135ad91906157fe565b5f6040518083038185875af1925050503d805f81146135e7576040519150601f19603f3d011682016040523d82523d5f602084013e6135ec565b606091505b509092509050811561361c5780515f0361361c5760405163a85ba64f60e01b8152601660048201526024016112e2565b94509492505050565b6004815110156136775760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a2074617267657420726576657274282900000000000060448201526064016112e2565b602081015163b1b7848f60e01b6001600160e01b03198216016137275760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b81529192916112e291849101614dea565b81518060208401fd5b5f6137597f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036137af5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016112e2565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137eb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061380f9190615492565b7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74146138895760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016112e2565b6001600160a01b03811630036138e15760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016112e2565b613909817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74604080519182526001600160a01b038416602083015201611814565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b038316918101919091525f9060c0015b604051602081830303815290604052805190602001209050919050565b5f60183610801590613a045750613a04336118ea565b613a485760405162461bcd60e51b81526020600482015260156024820152742737ba103a393ab9ba32b2103337b93bb0b93232b960591b60448201526064016112e2565b5060131936013560601c90565b5f5b818110156144d9575f838383818110613a7257613a726154d0565b9050602002810190613a849190615809565b613a92906020810190615827565b90505f1963ffffffff821601613b7f575f5f858585818110613ab657613ab66154d0565b9050602002810190613ac89190615809565b613ad690604081019061584a565b810190613ae39190615468565b91509150858585818110613af957613af96154d0565b9050602002810190613b0b9190615809565b613b1c906040810190602001614c5b565b6001600160a01b03166362aa52878884846040518463ffffffff1660e01b8152600401613b4b939291906155ac565b5f604051808303815f87803b158015613b62575f5ffd5b505af1158015613b74573d5f5f3e3d5ffd5b5050505050506144d0565b60011963ffffffff821601613c83575f5f5f868686818110613ba357613ba36154d0565b9050602002810190613bb59190615809565b613bc390604081019061584a565b810190613bd0919061588c565b925092509250868686818110613be857613be86154d0565b9050602002810190613bfa9190615809565b613c0b906040810190602001614c5b565b604051630b682aeb60e11b81526001600160a01b038a81166004830152858116602483015284811660448301526064820184905291909116906316d055d6906084015b5f604051808303815f87803b158015613c65575f5ffd5b505af1158015613c77573d5f5f3e3d5ffd5b505050505050506144d0565b60021963ffffffff821601613d40575f5f5f868686818110613ca757613ca76154d0565b9050602002810190613cb99190615809565b613cc790604081019061584a565b810190613cd491906158ca565b925092509250868686818110613cec57613cec6154d0565b9050602002810190613cfe9190615809565b613d0f906040810190602001614c5b565b6001600160a01b031663ca0c1e7f898585856040518563ffffffff1660e01b8152600401613c4e9493929190615908565b60031963ffffffff821601613df8575f5f858585818110613d6357613d636154d0565b9050602002810190613d759190615809565b613d8390604081019061584a565b810190613d909190615468565b91509150858585818110613da657613da66154d0565b9050602002810190613db89190615809565b613dc9906040810190602001614c5b565b6001600160a01b0316634b2763b38884846040518463ffffffff1660e01b8152600401613b4b939291906155ac565b60041963ffffffff821601613eb0575f5f858585818110613e1b57613e1b6154d0565b9050602002810190613e2d9190615809565b613e3b90604081019061584a565b810190613e489190615468565b91509150858585818110613e5e57613e5e6154d0565b9050602002810190613e709190615809565b613e81906040810190602001614c5b565b6001600160a01b031663c780fd828884846040518463ffffffff1660e01b8152600401613b4b939291906155ac565b60641963ffffffff821601613fa057838383818110613ed157613ed16154d0565b9050602002810190613ee39190615809565b613ef4906040810190602001614c5b565b6001600160a01b031663ca78946486868686818110613f1557613f156154d0565b9050602002810190613f279190615809565b613f3590604081019061584a565b810190613f4291906152a9565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f604051808303815f87803b158015613f85575f5ffd5b505af1158015613f97573d5f5f3e3d5ffd5b505050506144d0565b60651963ffffffff82160161400557838383818110613fc157613fc16154d0565b9050602002810190613fd39190615809565b613fe4906040810190602001614c5b565b6001600160a01b031663245887fc86868686818110613f1557613f156154d0565b60661963ffffffff8216016140bd575f5f858585818110614028576140286154d0565b905060200281019061403a9190615809565b61404890604081019061584a565b8101906140559190615468565b9150915085858581811061406b5761406b6154d0565b905060200281019061407d9190615809565b61408e906040810190602001614c5b565b6001600160a01b0316631ae88ffc8884846040518463ffffffff1660e01b8152600401613b4b939291906155ac565b60671963ffffffff821601614175575f5f8585858181106140e0576140e06154d0565b90506020028101906140f29190615809565b61410090604081019061584a565b81019061410d9190615468565b91509150858585818110614123576141236154d0565b90506020028101906141359190615809565b614146906040810190602001614c5b565b6001600160a01b03166347ba7ad18884846040518463ffffffff1660e01b8152600401613b4b939291906155ac565b60c81963ffffffff821601614211575f5f858585818110614198576141986154d0565b90506020028101906141aa9190615809565b6141b890604081019061584a565b8101906141c5919061593a565b91509150614209878787878181106141df576141df6154d0565b90506020028101906141f19190615809565b614202906040810190602001614c5b565b8484613250565b5050506144d0565b60c91963ffffffff8216016142cb576142c585858585818110614236576142366154d0565b90506020028101906142489190615809565b614259906040810190602001614c5b565b4787878781811061426c5761426c6154d0565b905060200281019061427e9190615809565b61428c90604081019061584a565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061301892505050565b506144d0565b61012c1963ffffffff8216016143ee575f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166322bee4944788888881811061431f5761431f6154d0565b90506020028101906143319190615809565b614342906040810190602001614c5b565b898989818110614354576143546154d0565b90506020028101906143669190615809565b61437490604081019061584a565b6040518563ffffffff1660e01b8152600401614392939291906159af565b5f6040518083038185885af11580156143ad573d5f5f3e3d5ffd5b50505050506040513d5f823e601f3d908101601f191682016040526143d591908101906159d3565b91509150816143e7576143e781613625565b50506144d0565b61012d1963ffffffff8216016144b7575f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663177ec59447888888818110614442576144426154d0565b90506020028101906144549190615809565b614465906040810190602001614c5b565b8a8a8a8a818110614478576144786154d0565b905060200281019061448a9190615809565b61449890604081019061584a565b6040518663ffffffff1660e01b81526004016143929493929190615a0a565b60405163b477011560e01b815260040160405180910390fd5b50600101613a57565b504715612615576040516001600160a01b038416904780156108fc02915f818181858888f19350505050158015614512573d5f5f3e3d5ffd5b50505050565b5f6060816001600160a01b0389166145325761453261557d565b61800085511115614556576040516362a06f4560e01b815260040160405180910390fd5b6145608686614a21565b95505f5a90505f8961457c576145778b8988614ad8565b614587565b6145878b8988614b1d565b91965090945090505f5a61459b90846154bd565b9050868110156145b4576145af81886154bd565b6145b6565b5f5b9350856145f957816145e057896145d5576145d085613625565b6145f9565b6145d08c600a61466e565b604051636a7aea4b60e11b815260040160405180910390fd5b50505096509650969350505050565b5f60408251101561461a57505f919050565b602082810151905f90821461463257505f9392505050565b604084015190505f6040855161464891906154bd565b90508082111561465c57505f949350505050565b61466582614b3a565b14949350505050565b6001600160a01b0382165f90815260046020526040812054618000169003611a62576001600160a01b0382165f81815260046020526040908190208054618000179055517fbe3aa33bd245135e4e26b223d79d14ea479a47bff09f2b03c53838af1edbb14b906146e19084815260200190565b60405180910390a25050565b604051632474521560e21b81527f1fd2cd0659bdcac914c39b66359256350b866e92047951635b57d928f32d9e8460048201526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906391d1485490604401602060405180830381865afa158015614777573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061479b9190615591565b156147a4575050565b5f6147af8284614b71565b5f805460405163407b865d60e11b81529293504292620100009091046001600160a01b0316916380f70cba916147eb91309187906004016155ac565b602060405180830381865afa158015614806573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061482a9190615492565b101561261557604051630b56455f60e41b815260040160405180910390fd5b64ff000080ff198116151580614860575060ff8116155b8061486e5750618000811615155b1561488c57604051633d3200a960e21b815260040160405180910390fd5b6001600160a01b0382165f90815260046020526040902054156148c2576040516301b0a93560e01b815260040160405180910390fd5b60408051602080820183528382526001600160a01b0385165f81815260049092528382209251909255915190917f0d540ad8f39e07d19909687352b9fa017405d93c91a6760981fbae9cf28bfef791a25050565b5f6004825110156149695760405162461bcd60e51b815260206004820152601b60248201527f43616c6c5574696c733a20696e76616c69642063616c6c44617461000000000060448201526064016112e2565b506020015190565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b038316918101919091525f9060c0016139d1565b5f6001600160801b03821115614a1d576040516306dfcc6560e41b815260806004820152602481018390526044016112e2565b5090565b815180830151606091908015614a4a576040516367e9985b60e01b815260040160405180910390fd5b50601f1981018452825184908481614a6181614b3a565b614a6b91906154bd565b6001600160401b03811115614a8257614a82614cb4565b6040519080825280601f01601f191660200182016040528015614aac576020820181803683370190505b50604051602001614ac09493929190615a36565b60405160208183030381529060405291505092915050565b5f5f60605f5a90505f5f8751602089015f8b8af19350614af6614ba3565b915083614b1357614b08604082615a5a565b5a11614b1357600192505b5093509350939050565b5f5f60605f5a90505f5f8751602089018a89fa9350614af6614ba3565b5f5f82601f1611614b4b575f614b4e565b60015b60ff16614b5c602084615a5a565b614b669190615a79565b6110a3906020615a8c565b5f8282604051602001614b85929190615aa3565b60405160208183030381529060405280519060200120905092915050565b6040513d62020000811160018114614bd157818352815f602085013e603f8201601f19168301604052505090565b5f835260208301604052505090565b61023980615b2883390190565b60408051610160810182525f8082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b0381168114611580575f5ffd5b5f60208284031215614c6b575f5ffd5b8135614c7681614c47565b9392505050565b5f5f60408385031215614c8e575f5ffd5b8235614c9981614c47565b91506020830135614ca981614c47565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715614cf057614cf0614cb4565b604052919050565b5f6001600160401b03821115614d1057614d10614cb4565b50601f01601f191660200190565b5f82601f830112614d2d575f5ffd5b8135614d40614d3b82614cf8565b614cc8565b818152846020838601011115614d54575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f60408385031215614d81575f5ffd5b8235614d8c81614c47565b915060208301356001600160401b03811115614da6575f5ffd5b614db285828601614d1e565b9150509250929050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110a06020830184614dbc565b5f5f5f60608486031215614e0e575f5ffd5b8335614e1981614c47565b925060208401356001600160401b03811115614e33575f5ffd5b614e3f86828701614d1e565b92505060408401356001600160401b03811115614e5a575f5ffd5b614e6686828701614d1e565b9150509250925092565b5f60208284031215614e80575f5ffd5b81356001600160401b03811115614e95575f5ffd5b61126984828501614d1e565b60208152614eb560208201835160ff169052565b5f6020830151614eca604084018260ff169052565b50604083015160608301526060830151614eef60808401826001600160a01b03169052565b5060808301516001600160e01b0319811660a08401525060a083015161016060c0840152614f21610180840182614dbc565b905060c084015160e084015260e0840151610100840152610100840151610120840152610120840151614f606101408501826001600160a01b03169052565b506101408401516001600160a01b038116610160850152509392505050565b5f5f83601f840112614f8f575f5ffd5b5081356001600160401b03811115614fa5575f5ffd5b602083019150836020828501011115614fbc575f5ffd5b9250929050565b5f5f5f5f5f5f5f6080888a031215614fd9575f5ffd5b8735614fe481614c47565b965060208801356001600160401b03811115614ffe575f5ffd5b61500a8a828b01614f7f565b90975095505060408801356001600160401b03811115615028575f5ffd5b6150348a828b01614f7f565b90955093505060608801356001600160401b03811115615052575f5ffd5b61505e8a828b01614f7f565b989b979a50959850939692959293505050565b604081525f6150836040830185614dbc565b8281036020840152611fce8185614dbc565b5f5f5f604084860312156150a7575f5ffd5b83356001600160401b038111156150bc575f5ffd5b6150c886828701614f7f565b909790965060209590950135949350505050565b5f5f602083850312156150ed575f5ffd5b82356001600160401b03811115615102575f5ffd5b8301601f81018513615112575f5ffd5b80356001600160401b03811115615127575f5ffd5b8560208260051b840101111561513b575f5ffd5b6020919091019590945092505050565b5f5f5f5f5f5f60a08789031215615160575f5ffd5b86356001600160401b03811115615175575f5ffd5b61518189828a01614f7f565b909750955050602087013561519581614c47565b9350604087013592506060870135915060808701356151b381614c47565b809150509295509295509295565b8015158114611580575f5ffd5b5f5f5f5f5f5f5f60a0888a0312156151e4575f5ffd5b87356151ef81614c47565b965060208801356001600160401b03811115615209575f5ffd5b6152158a828b01614f7f565b9097509550506040880135615229816151c1565b935060608801356001600160401b03811115615243575f5ffd5b61524f8a828b01614f7f565b989b979a50959894979596608090950135949350505050565b604081525f61527a6040830185614dbc565b90508260208301529392505050565b5f5f6040838503121561529a575f5ffd5b50508035926020909101359150565b5f602082840312156152b9575f5ffd5b5035919050565b5f5f5f5f606085870312156152d3575f5ffd5b84356001600160401b038111156152e8575f5ffd5b6152f487828801614f7f565b909550935050602085013561530881614c47565b9396929550929360400135925050565b5f5f5f5f5f6060868803121561532c575f5ffd5b853561533781614c47565b945060208601356001600160401b03811115615351575f5ffd5b61535d88828901614f7f565b90955093505060408601356001600160401b0381111561537b575f5ffd5b61538788828901614f7f565b969995985093965092949392505050565b5f5f5f604084860312156153aa575f5ffd5b8335925060208401356001600160401b038111156153c6575f5ffd5b6153d286828701614f7f565b9497909650939450505050565b5f5f602083850312156153f0575f5ffd5b82356001600160401b03811115615405575f5ffd5b61541185828601614f7f565b90969095509350505050565b602080825282518282018190525f918401906040840190835b8181101561545d5783516001600160a01b0316835260209384019390920191600101615436565b509095945050505050565b5f5f60408385031215615479575f5ffd5b823561548481614c47565b946020939093013593505050565b5f602082840312156154a2575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156110a3576110a36154a9565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156154f4575f5ffd5b8151614c7681614c47565b5f82601f83011261550e575f5ffd5b815161551c614d3b82614cf8565b818152846020838601011115615530575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f6020828403121561555c575f5ffd5b81516001600160401b03811115615571575f5ffd5b611269848285016154ff565b634e487b7160e01b5f52600160045260245ffd5b5f602082840312156155a1575f5ffd5b8151614c76816151c1565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8082018281125f8312801582168215821617156155ef576155ef6154a9565b505092915050565b5f60ff821660ff810361560c5761560c6154a9565b60010192915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b5f60018201615674576156746154a9565b5060010190565b5f5f6040838503121561568c575f5ffd5b82516001600160401b038111156156a1575f5ffd5b6156ad858286016154ff565b92505060208301516001600160401b038111156156c8575f5ffd5b614db2858286016154ff565b5f5f5f5f5f60a086880312156156e8575f5ffd5b855160208701516040880151919650945061570281614c47565b60608701519093506001600160e01b03198116811461571f575f5ffd5b60808701519092506001600160401b0381111561573a575f5ffd5b615746888289016154ff565b9150509295509295909350565b5f5f5f5f60808587031215615766575f5ffd5b845160208601516040870151919550935061578081614c47565b606086015190925061579181614c47565b939692955090935050565b858152602081018590526001600160a01b03841660408201526001600160e01b03198316606082015260a0608082018190525f906157dc90830184614dbc565b979650505050505050565b5f81518060208401855e5f93019283525090919050565b5f6110a082846157e7565b5f8235605e1983360301811261581d575f5ffd5b9190910192915050565b5f60208284031215615837575f5ffd5b813563ffffffff81168114614c76575f5ffd5b5f5f8335601e1984360301811261585f575f5ffd5b8301803591506001600160401b03821115615878575f5ffd5b602001915036819003821315614fbc575f5ffd5b5f5f5f6060848603121561589e575f5ffd5b83356158a981614c47565b925060208401356158b981614c47565b929592945050506040919091013590565b5f5f5f606084860312156158dc575f5ffd5b83356158e781614c47565b92506020840135915060408401356001600160401b03811115614e5a575f5ffd5b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90611a4690830184614dbc565b5f5f6040838503121561594b575f5ffd5b82356001600160401b03811115615960575f5ffd5b61596c85828601614d1e565b92505060208301356001600160401b03811115614da6575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190525f90611fce9083018486615987565b5f5f604083850312156159e4575f5ffd5b82516159ef816151c1565b60208401519092506001600160401b038111156156c8575f5ffd5b6001600160a01b038581168252841660208201526060604082018190525f90611a469083018486615987565b5f615a4182876157e7565b8581526157dc615a5460208301876157e7565b856157e7565b5f82615a7457634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156110a3576110a36154a9565b80820281158282048414176110a3576110a36154a9565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e060408201525f61126960e0830184614dbc56fe6080604052348015600e575f5ffd5b5061021d8061001c5f395ff3fe608060405260043610610021575f3560e01c80634a0687ef1461003857610030565b366100305761002e610057565b005b61002e610057565b348015610043575f5ffd5b5061002e6100523660046101ba565b610069565b61006761006261016e565b61019c565b565b6001600160a01b0381166100c45760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b5f6100ed7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101435760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bb565b61016b817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b5f6101977f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b365f5f375f5f365f845af43d5f5f3e8080156101b6573d5ff35b3d5ffd5b5f602082840312156101ca575f5ffd5b81356001600160a01b03811681146101e0575f5ffd5b939250505056fea26469706673582212201ceef34221f29609fe3cb365ba700d7fa6020b5209e83935d790e10a64a8f31764736f6c63430008230033a264697066735822122063324cd1e054902b77ad673595eca34014246d63ecf0621a8cc1ff9b17198ccb64736f6c63430008230033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [];
18
18
  readonly stateMutability: "nonpayable";
@@ -37,6 +37,10 @@ export declare class SuperfluidUpgradabilityTester__factory extends ContractFact
37
37
  readonly inputs: readonly [];
38
38
  readonly name: "HOST_AGREEMENT_IS_NOT_REGISTERED";
39
39
  readonly type: "error";
40
+ }, {
41
+ readonly inputs: readonly [];
42
+ readonly name: "HOST_CALLBACK_CONTEXT_TOO_LARGE";
43
+ readonly type: "error";
40
44
  }, {
41
45
  readonly inputs: readonly [];
42
46
  readonly name: "HOST_CALL_AGREEMENT_WITH_CTX_FROM_WRONG_ADDRESS";
@@ -538,6 +542,10 @@ export declare class SuperfluidUpgradabilityTester__factory extends ContractFact
538
542
  readonly internalType: "bytes";
539
543
  readonly name: "ctx";
540
544
  readonly type: "bytes";
545
+ }, {
546
+ readonly internalType: "uint256";
547
+ readonly name: "callbackGasLimit";
548
+ readonly type: "uint256";
541
549
  }];
542
550
  readonly name: "callAppAfterCallback";
543
551
  readonly outputs: readonly [{
@@ -564,12 +572,20 @@ export declare class SuperfluidUpgradabilityTester__factory extends ContractFact
564
572
  readonly internalType: "bytes";
565
573
  readonly name: "ctx";
566
574
  readonly type: "bytes";
575
+ }, {
576
+ readonly internalType: "uint256";
577
+ readonly name: "callbackGasLimit";
578
+ readonly type: "uint256";
567
579
  }];
568
580
  readonly name: "callAppBeforeCallback";
569
581
  readonly outputs: readonly [{
570
582
  readonly internalType: "bytes";
571
583
  readonly name: "cbdata";
572
584
  readonly type: "bytes";
585
+ }, {
586
+ readonly internalType: "uint256";
587
+ readonly name: "remainingCallbackGas";
588
+ readonly type: "uint256";
573
589
  }];
574
590
  readonly stateMutability: "nonpayable";
575
591
  readonly type: "function";
@@ -1 +1 @@
1
- {"version":3,"file":"SuperfluidUpgradabilityTester__factory.d.ts","sourceRoot":"","sources":["../../../../../../../src/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAmB,eAAe,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EACV,6BAA6B,EAC7B,sCAAsC,EACvC,MAAM,gFAAgF,CAAC;AA+7CxF,KAAK,8CAA8C,GAC/C,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,sCAAuC,SAAQ,eAAe;gBAC7D,GAAG,IAAI,EAAE,8CAA8C;IAQ1D,MAAM,CACb,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,OAAO,CAAC,6BAA6B,CAAC;IAKhC,oBAAoB,CAC3B,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,kBAAkB;IAGZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,6BAA6B;IAGtD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,sCAAsC;IAIxE,MAAM,CAAC,QAAQ,CAAC,QAAQ,kx9CAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,sCAAsC;IAGhE,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAClC,6BAA6B;CAOjC"}
1
+ {"version":3,"file":"SuperfluidUpgradabilityTester__factory.d.ts","sourceRoot":"","sources":["../../../../../../../src/typechain-types/factories/contracts/mocks/SuperfluidMock.t.sol/SuperfluidUpgradabilityTester__factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAmB,eAAe,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EACV,6BAA6B,EAC7B,sCAAsC,EACvC,MAAM,gFAAgF,CAAC;AAm9CxF,KAAK,8CAA8C,GAC/C,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,sCAAuC,SAAQ,eAAe;gBAC7D,GAAG,IAAI,EAAE,8CAA8C;IAQ1D,MAAM,CACb,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,OAAO,CAAC,6BAA6B,CAAC;IAKhC,oBAAoB,CAC3B,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,kBAAkB;IAGZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,6BAA6B;IAGtD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,sCAAsC;IAIxE,MAAM,CAAC,QAAQ,CAAC,QAAQ,gv+CAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,sCAAsC;IAGhE,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAClC,6BAA6B;CAOjC"}
@@ -37,6 +37,11 @@ const _abi = [
37
37
  name: "HOST_AGREEMENT_IS_NOT_REGISTERED",
38
38
  type: "error",
39
39
  },
40
+ {
41
+ inputs: [],
42
+ name: "HOST_CALLBACK_CONTEXT_TOO_LARGE",
43
+ type: "error",
44
+ },
40
45
  {
41
46
  inputs: [],
42
47
  name: "HOST_CALL_AGREEMENT_WITH_CTX_FROM_WRONG_ADDRESS",
@@ -684,6 +689,11 @@ const _abi = [
684
689
  name: "ctx",
685
690
  type: "bytes",
686
691
  },
692
+ {
693
+ internalType: "uint256",
694
+ name: "callbackGasLimit",
695
+ type: "uint256",
696
+ },
687
697
  ],
688
698
  name: "callAppAfterCallback",
689
699
  outputs: [
@@ -718,6 +728,11 @@ const _abi = [
718
728
  name: "ctx",
719
729
  type: "bytes",
720
730
  },
731
+ {
732
+ internalType: "uint256",
733
+ name: "callbackGasLimit",
734
+ type: "uint256",
735
+ },
721
736
  ],
722
737
  name: "callAppBeforeCallback",
723
738
  outputs: [
@@ -726,6 +741,11 @@ const _abi = [
726
741
  name: "cbdata",
727
742
  type: "bytes",
728
743
  },
744
+ {
745
+ internalType: "uint256",
746
+ name: "remainingCallbackGas",
747
+ type: "uint256",
748
+ },
729
749
  ],
730
750
  stateMutability: "nonpayable",
731
751
  type: "function",
@@ -1470,7 +1490,7 @@ const _abi = [
1470
1490
  type: "function",
1471
1491
  },
1472
1492
  ];
1473
- const _bytecode = "0x610140604052348015610010575f5ffd5b505f608081905260a0819052622dc6c060c081905260e08290526101008290526101208290528190818080615cb56100d082395f8181610554015261463401525f81816104b801526144d901525f8181610b5301526143b601525f818161050c0152612fa801525f81816108be015281816122bc0152818161278c01528181612a280152612b6a01525f8181610ac001528181610c2101528181610f2b015281816116ed01528181611824015281816119740152612a960152615cb55ff3fe60806040526004361061037c575f3560e01c8063768fabb0116101d3578063bd1c448b116100fd578063e8dccb7d1161009d578063f99a38c41161006d578063f99a38c414610b75578063f9f522f414610b80578063fa6e0cfe14610bbc578063fbdb0ee214610bdb575f5ffd5b8063e8dccb7d14610ae2578063f2e55caf14610b0f578063f373305214610b23578063f85263b914610b42575f5ffd5b8063c4d66de8116100d8578063c4d66de814610a45578063c56a069d14610a64578063c60944a614610a90578063cd312ec414610aaf575f5ffd5b8063bd1c448b146109f3578063bd3252c814610a12578063bf42873414610a26575f5ffd5b8063a5dbbbcd11610173578063ba48b5f811610143578063ba48b5f81461095c578063bb84cfa11461097b578063bbe4fd50146109c2578063bced3ddc146109d4575f5ffd5b8063a5dbbbcd146108e0578063ad3915c8146108ff578063b6d200de1461091e578063b724211e1461093d575f5ffd5b80639378fa13116101ae5780639378fa1314610849578063989b0c3e1461087a5780639903ad38146108995780639d297e30146108ad575f5ffd5b8063768fabb0146107e15780638ca48484146108005780638ceddd7a1461081f575f5ffd5b80634329d293116102b4578063572b6c05116102545780636b4f3335116102245780636b4f3335146107675780637283100c14610786578063731aed6e146107a557806374041e02146107c2575f5ffd5b8063572b6c051461070357806359a2914114610722578063670e77e3146107415780636ad3ca7d14610754575f5ffd5b806350d75d251161028f57806350d75d251461067f57806352d1902d1461069357806354fbc493146106c557806357121e0c146106e4575f5ffd5b80634329d293146106095780634695195414610636578063486ff0cd14610655575f5ffd5b80632ecfbda21161031f57806336b3e52d116102fa57806336b3e52d1461054657806339255d5b146105785780633ca3ad4e146105975780633f6c923a146105dd575f5ffd5b80632ecfbda2146104aa5780632f89bf89146104dc57806333d608f1146104fb575f5ffd5b80631e6d0a841161035a5780631e6d0a84146103df5780631e855cf3146104145780632368335a14610433578063289b3c0d14610474575f5ffd5b806306cecba8146103805780630c565075146103a157806315a024e1146103c0575b5f5ffd5b34801561038b575f5ffd5b5061039f61039a366004614ba3565b610bef565b005b3480156103ac575f5ffd5b5061039f6103bb366004614bc5565b610dba565b3480156103cb575f5ffd5b5061039f6103da366004614ba3565b610e44565b3480156103ea575f5ffd5b506103fe6103f9366004614c4d565b611084565b60405161040b9190614d0d565b60405180910390f35b34801561041f575f5ffd5b506103fe61042e366004614ddb565b6112c8565b34801561043e575f5ffd5b506104667f1fd2cd0659bdcac914c39b66359256350b866e92047951635b57d928f32d9e8481565b60405190815260200161040b565b34801561047f575f5ffd5b505f546201000090046001600160a01b03165b6040516001600160a01b03909116815260200161040b565b3480156104b5575f5ffd5b507f0000000000000000000000000000000000000000000000000000000000000000610492565b3480156104e7575f5ffd5b5061039f6104f6366004614ba3565b6112df565b348015610506575f5ffd5b5061052e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160401b03909116815260200161040b565b348015610551575f5ffd5b507f0000000000000000000000000000000000000000000000000000000000000000610492565b348015610583575f5ffd5b506103fe610592366004614e27565b611491565b3480156105a2575f5ffd5b506105cd6105b1366004614ba3565b6001600160a01b03165f90815260046020526040902054151590565b604051901515815260200161040b565b3480156105e8575f5ffd5b506105fc6105f7366004614e9b565b6114a7565b60405161040b9190614ecc565b348015610614575f5ffd5b50610628610623366004614faa565b6114b8565b60405161040b929190615058565b348015610641575f5ffd5b5061039f610650366004614ba3565b6116bb565b348015610660575f5ffd5b50604080518082019091526002815261763160f01b60208201526103fe565b34801561068a575f5ffd5b506104926117b4565b34801561069e575f5ffd5b507fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74610466565b3480156106d0575f5ffd5b5061039f6106df366004614ba3565b6117e2565b3480156106ef575f5ffd5b5061039f6106fe366004614ba3565b611a50565b34801561070e575f5ffd5b506105cd61071d366004614ba3565b611b1b565b34801561072d575f5ffd5b506103fe61073c36600461507c565b611ba2565b61039f61074f3660046150c3565b611c81565b61039f6107623660046150c3565b611c97565b348015610772575f5ffd5b506105cd610781366004614ba3565b611ca2565b348015610791575f5ffd5b5061039f6107a0366004614ba3565b611cc5565b3480156107b0575f5ffd5b506003546001600160a01b0316610492565b3480156107cd575f5ffd5b506103fe6107dc366004614c4d565b611d6a565b3480156107ec575f5ffd5b506103fe6107fb366004615132565b611eb5565b34801561080b575f5ffd5b506105cd61081a366004614ba3565b61204b565b34801561082a575f5ffd5b5061083461010081565b60405163ffffffff909116815260200161040b565b348015610854575f5ffd5b50610868610863366004614ba3565b61210b565b60405160ff909116815260200161040b565b348015610885575f5ffd5b506103fe61089436600461507c565b61212b565b3480156108a4575f5ffd5b5061039f6121bc565b3480156108b8575f5ffd5b506105cd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156108eb575f5ffd5b506104666108fa3660046151a8565b612271565b34801561090a575f5ffd5b5061039f6109193660046151c8565b6122ba565b348015610929575f5ffd5b506104926109383660046151c8565b61230e565b348015610948575f5ffd5b506103fe6109573660046151df565b612373565b348015610967575f5ffd5b506103fe610976366004615237565b612432565b348015610986575f5ffd5b506105cd610995366004614bc5565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b3480156109cd575f5ffd5b5042610466565b3480156109df575f5ffd5b506104666109ee3660046151a8565b612742565b3480156109fe575f5ffd5b5061039f610a0d3660046152b7565b61278a565b348015610a1d575f5ffd5b50610466600181565b348015610a31575f5ffd5b506105cd610a403660046152fe565b6127ff565b348015610a50575f5ffd5b5061039f610a5f366004614ba3565b61283e565b348015610a6f575f5ffd5b50610a83610a7e3660046151c8565b61291b565b60405161040b919061533c565b348015610a9b575f5ffd5b5061039f610aaa366004615387565b6129fc565b348015610aba575f5ffd5b506105cd7f000000000000000000000000000000000000000000000000000000000000000081565b348015610aed575f5ffd5b506105cd610afc3660046151c8565b5f90815260026020526040902054151590565b348015610b1a575f5ffd5b50610492612a7a565b348015610b2e575f5ffd5b5061039f610b3d366004615387565b612b3e565b348015610b4d575f5ffd5b506104927f000000000000000000000000000000000000000000000000000000000000000081565b34801561039f575f5ffd5b348015610b8b575f5ffd5b50610b9f610b9a366004614ba3565b612c44565b60408051931515845291151560208401529082015260600161040b565b348015610bc7575f5ffd5b5061039f610bd6366004614bc5565b612c92565b348015610be6575f5ffd5b5061039f612de3565b5f546201000090046001600160a01b03163314610c1f576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610c5e576040516314f72c9f60e01b815260040160405180910390fd5b5f816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c9b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cbf91906153b1565b5f81815260026020526040812054919250819003610cf057604051630e4f4df560e11b815260040160405180910390fd5b5f6001610cfd81846153dc565b81548110610d0d57610d0d6153ef565b5f918252602090912001546040516311a5465560e21b81526001600160a01b038681166004830152909116915081906346951954906024015f604051808303815f87803b158015610d5c575f5ffd5b505af1158015610d6e573d5f5f3e3d5ffd5b5050604080518681526001600160a01b03881660208201527f9279aa773f2b588996032d8de89911555039f28b13a11a7c17074330bc082d9a935001905060405180910390a150505050565b5f546201000090046001600160a01b03163314610dea576040516362e9152760e11b815260040160405180910390fd5b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f283970906024015f604051808303815f87803b158015610e2a575f5ffd5b505af1158015610e3c573d5f5f3e3d5ffd5b505050505050565b5f546201000090046001600160a01b03163314610e74576040516362e9152760e11b815260040160405180910390fd5b5f816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb1573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ed591906153b1565b5f8181526002602052604090205490915015610f0457604051631b93bb7560e31b815260040160405180910390fd5b60015461010011610f2857604051630f85034f60e31b815260040160405180910390fd5b5f7f0000000000000000000000000000000000000000000000000000000000000000610fd8575f604051610f5b90614b28565b604051809103905ff080158015610f74573d5f5f3e3d5ffd5b50604051634a0687ef60e01b81526001600160a01b03868116600483015291925090821690634a0687ef906024015f604051808303815f87803b158015610fb9575f5ffd5b505af1158015610fcb573d5f5f3e3d5ffd5b5050505080915050610fdb565b50815b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0384166001600160a01b0319909116179055545f838152600260205260409081902091909155517f878135063a6cfb3bc333e534b1fdc83f4f12221cad6705c31c0567048a8bd3d19061107790849086909182526001600160a01b0316602082015260400190565b60405180910390a1505050565b606061108f3361204b565b6110ac5760405163619c535960e01b815260040160405180910390fd5b82828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506110ed9250839150612f5b9050565b6110f9576110f9615403565b5f5f61116f8a5f898c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c90819084018382808284375f92019190915250612f7992505050565b915091508115611282576111828161303e565b1561121b578080602001905181019061119b9190615464565b93506111a684612f5b565b61121657866111d05760405163a85ba64f60e01b8152601460048201526024015b60405180910390fd5b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525092965061121692508c91506014905061308e565b6112bb565b8661123c5760405163a85ba64f60e01b8152601660048201526024016111c7565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525092965061121692508c91506016905061308e565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509296505050505b5050509695505050505050565b60606112d633845f8561310d565b90505b92915050565b5f546201000090046001600160a01b0316331461130f576040516362e9152760e11b815260040160405180910390fd5b604051635b69006f60e11b81527fdfd8ece9bfbcb8c5c540edb935641f63d67686490a1ab97f000288759f30a94660048201525f90309063b6d200de90602401602060405180830381865afa15801561136a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138e9190615495565b90505f816001600160a01b0316635437dd976040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113cd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113f19190615495565b604051631b2ce7f360e11b81526001600160a01b03858116600483015291925090821690633659cfe6906024015f604051808303815f87803b158015611435575f5ffd5b505af1158015611447573d5f5f3e3d5ffd5b50506040516001600160a01b038681168252841692507f052cea8931962dd445ef48b0b998d3056bd0705f437087d60fe3c46a3fa09e1f91506020015b60405180910390a2505050565b606061149f33858585613345565b949350505050565b6114af614b35565b6112d98261344c565b60608083838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506114fc9250839150612f5b9050565b61151c5760405163a85ba64f60e01b8152601460048201526024016111c7565b896115268161204b565b6115435760405163619c535960e01b815260040160405180910390fd5b5f61158287878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506114a792505050565b6101208101519091506001600160a01b031633146115b35760405163066875e160e11b815260040160405180910390fd5b60608101805133909152604080516020601f8c018190048102820181019092528a8152908b908b90819084018382808284375f9201919091525050505060a08301526115fe82613515565b95505f6116428e8e8e8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525092508c91506136469050565b9650905080156116a157858060200190518101906116609190615464565b965061166b87612f5b565b61167757611677615403565b611680876114a7565b6001600160a01b0383166060820152925061169a83613515565b96506116aa565b6116aa866136fc565b505050505097509795505050505050565b5f546201000090046001600160a01b031633146116eb576040516362e9152760e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000001561172a576040516314f72c9f60e01b815260040160405180910390fd5b806001600160a01b031663cd312ec46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611766573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061178a91906154b0565b156117a85760405163474e764160e01b815260040160405180910390fd5b6117b181613807565b50565b5f6117dd7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b5f546201000090046001600160a01b03163314611812576040516362e9152760e11b815260040160405180910390fd5b6003546001600160a01b0316611972577f00000000000000000000000000000000000000000000000000000000000000006118ef575f60405161185490614b28565b604051809103905ff08015801561186d573d5f5f3e3d5ffd5b50604051634a0687ef60e01b81526001600160a01b03848116600483015291925090821690634a0687ef906024015f604051808303815f87803b1580156118b2575f5ffd5b505af11580156118c4573d5f5f3e3d5ffd5b5050600380546001600160a01b0319166001600160a01b0394909416939093179092555061190b9050565b600380546001600160a01b0319166001600160a01b0383161790555b60035f9054906101000a90046001600160a01b03166001600160a01b0316638129fc1c6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611957575f5ffd5b505af1158015611969573d5f5f3e3d5ffd5b50505050611a0c565b7f0000000000000000000000000000000000000000000000000000000000000000156119b1576040516314f72c9f60e01b815260040160405180910390fd5b6003546040516311a5465560e21b81526001600160a01b038381166004830152909116906346951954906024015f604051808303815f87803b1580156119f5575f5ffd5b505af1158015611a07573d5f5f3e3d5ffd5b505050505b6003546040516001600160a01b0390911681527fce13a9895a1719ad4493b2ac1a9bfb36070566161abab408e7ecbe586da8d499906020015b60405180910390a150565b335f81815260046020526040902054611a7c576040516302eb3f7160e61b815260040160405180910390fd5b6001600160a01b0382165f90815260046020526040902054611ab157604051634b5518af60e11b815260040160405180910390fd5b611aba8261210b565b60ff16611ac68261210b565b60ff1611611ae757604051630447252760e41b815260040160405180910390fd5b6001600160a01b039081165f908152600560209081526040808320949093168252929092529020805460ff19166001179055565b5f80546201000090046001600160a01b03166380f70cba3083611b3d86613a3e565b6040518463ffffffff1660e01b8152600401611b5b939291906154cb565b602060405180830381865afa158015611b76573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b9a91906153b1565b151592915050565b6060611bad3361204b565b611bca5760405163619c535960e01b815260040160405180910390fd5b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611c0b9250839150612f5b9050565b611c1757611c17615403565b5f611c5686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506114a792505050565b9050838161010001818151611c6b91906154ef565b905250611c7781613515565b9695505050505050565b611c93611c8c613ac5565b8383613b2c565b5050565b611c93338383613b2c565b6001600160a01b0381165f908152600460205260408120546180001615156112d9565b5f546201000090046001600160a01b03163314611cf5576040516362e9152760e11b815260040160405180910390fd5b5f54604080516001600160a01b03620100009093048316815291831660208301527f13abda02e63c790d0e2818b251282cfe5cbe0a8abd69c54bf5d2260c0907bd2e910160405180910390a15f80546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6060611d753361204b565b611d925760405163619c535960e01b815260040160405180910390fd5b82828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611dd39250839150612f5b9050565b611ddf57611ddf615403565b5f5f611e568a6001898c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c90819084018382808284375f92019190915250612f7992505050565b9150915081156112bb57611e698161303e565b15611e895780806020019051810190611e829190615464565b93506112bb565b86611eaa5760405163a85ba64f60e01b8152601660048201526024016111c7565b6112bb8a601661308e565b6060611ec03361204b565b611edd5760405163619c535960e01b815260040160405180910390fd5b86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611f1e9250839150612f5b9050565b611f2a57611f2a615403565b5f611f6989898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506114a792505050565b9050611f8f81606001516001600160a01b03165f90815260046020526040902054151590565b8015611fa257506001815f015160ff1610155b15611ff45760608101516001600160a01b039081165f908152600560209081526040808320938b168352929052205460ff16611ff45760405163a85ba64f60e01b8152601e60048201526024016111c7565b80518161200082615516565b60ff169052506003602082015260c0810186905261010081018590526001600160a01b03808816610120830152841661014082015261203e81613515565b9998505050505050505050565b5f5f826001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612089573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120ad91906153b1565b5f81815260026020526040902054909150801580159061149f57506001600160a01b03841660016120de81846153dc565b815481106120ee576120ee6153ef565b5f918252602090912001546001600160a01b031614949350505050565b6001600160a01b0381165f9081526004602052604081205460ff166112d9565b60606121363361204b565b6121535760405163619c535960e01b815260040160405180910390fd5b5f61219285858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506114a792505050565b90508281610100018181516121a791906154ef565b9052506121b381613515565b95945050505050565b5f54610100900460ff16158080156121da57505f54600160ff909116105b806121f35750303b1580156121f357505f5460ff166001145b61220f5760405162461bcd60e51b81526004016111c790615534565b5f805460ff191660011790558015612230575f805461ff0019166101001790555b80156117b1575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611a45565b5f8181526002602052604081205480820361229f57604051630e4f4df560e11b815260040160405180910390fd5b6122aa6001826153dc565b6001901b19841691505092915050565b7f00000000000000000000000000000000000000000000000000000000000000001561230457612304604051806040016040528060028152602001616b3160f01b815250326145ef565b6117b1338261474b565b5f8181526002602052604081205480820361233c57604051630e4f4df560e11b815260040160405180910390fd5b600161234881836153dc565b81548110612358576123586153ef565b5f918252602090912001546001600160a01b03169392505050565b606061237e3361204b565b61239b5760405163619c535960e01b815260040160405180910390fd5b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506123dc9250839150612f5b9050565b6123e8576123e8615403565b6123f2848461308e565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929998505050505050505050565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506124759250839150612f5b9050565b6124955760405163a85ba64f60e01b8152601460048201526024016111c7565b6001600160a01b0387165f9081526004602052604081205488918190036124cf5760405163163cbe4360e01b815260040160405180910390fd5b6180008116156124f157604051628e12d960e21b815260040160405180910390fd5b87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525092506125319150839050614818565b90506001600160e01b031981166330d9c91560e01b148061256257506001600160e01b0319811663d86ed3e560e01b145b8061257d57506001600160e01b03198116630221347d60e61b145b8061259857506001600160e01b0319811663230dbd2960e01b145b806125b357506001600160e01b03198116635f9e7d7760e01b145b806125ce57506001600160e01b031981166353c11f9960e01b145b156125ec576040516377a14afb60e11b815260040160405180910390fd5b5f61262b89898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506114a792505050565b6101208101519091506001600160a01b0316331461265c576040516311cfdef560e21b815260040160405180910390fd5b6060810180513390915261266f82613515565b97505f5f6126b48f8f8f8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525092508f91506136469050565b91509150811561272757808060200190518101906126d29190615464565b99506126dd8a612f5b565b6126fd5760405163a85ba64f60e01b8152601460048201526024016111c7565b6127068a6114a7565b6001600160a01b0384166060820152935061272084613515565b9950612730565b612730816136fc565b50505050505050505095945050505050565b5f8181526002602052604081205480820361277057604051630e4f4df560e11b815260040160405180910390fd5b61277b6001826153dc565b6001901b841791505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156127f0576127f082828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152503292506145ef915050565b6127fa338461474b565b505050565b5f6112d683838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250612f5b92505050565b5f54610100900460ff161580801561285c57505f54600160ff909116105b806128755750303b15801561287557505f5460ff166001145b6128915760405162461bcd60e51b81526004016111c790615534565b5f805460ff1916600117905580156128b2575f805461ff0019166101001790555b5f805462010000600160b01b031916620100006001600160a01b038516021790558015611c93575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60605f5f6001805490506001600160401b0381111561293c5761293c614d1f565b604051908082528060200260200182016040528015612965578160200160208202803683370190505b5092505f90505f91505b6001548210156129f4576001821b8416156129e95760018281548110612997576129976153ef565b5f918252602090912001546001600160a01b031683826129b681615582565b9350815181106129c8576129c86153ef565b60200260200101906001600160a01b031690816001600160a01b0316815250505b81600101915061296f565b825250919050565b816001600160a01b03163b5f03612a265760405163353dacc360e21b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015612a7057612a70604051806040016040528060028152602001616b3160f01b815250336145ef565b611c93828261474b565b6003545f906001600160a01b0316612a9457612a94615403565b7f000000000000000000000000000000000000000000000000000000000000000015612aca57506003546001600160a01b031690565b60035f9054906101000a90046001600160a01b03166001600160a01b03166350d75d256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b1a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117dd9190615495565b816001600160a01b03163b5f03612b685760405163353dacc360e21b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015612a70575f612b9833614873565b5f805460405163407b865d60e11b81529293509091620100009091046001600160a01b0316906380f70cba90612bd6903090859087906004016154cb565b602060405180830381865afa158015612bf1573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c1591906153b1565b600114905080612c3857604051630b56455f60e41b815260040160405180910390fd5b5050611c93828261474b565b6001600160a01b0381165f90815260046020908152604080832081519283019091525480825215801592918291612c8a57805161800081161515935064ff000000001691505b509193909250565b5f546201000090046001600160a01b03163314612cc2576040516362e9152760e11b815260040160405180910390fd5b5f6001600160a01b038216612d4a5760035f9054906101000a90046001600160a01b03166001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d21573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d459190615495565b612d4c565b815b6040516311a5465560e21b81526001600160a01b038083166004830152919250908416906346951954906024015f604051808303815f87803b158015612d90575f5ffd5b505af1158015612da2573d5f5f3e3d5ffd5b50506040516001600160a01b038481168252861692507f840acbd291b38534819f47f875839277e502f40e1c7bfea2c5fc2c8017442cd39150602001611484565b612deb614b35565b602a9052612df7614b35565b602a602082015250612e07614b35565b602a604082015250612e17614b35565b602a606082015250612e27614b35565b63deadbeef60e01b608082015250612e3d614b35565b60408051602a808252606082019092529060208201818036833750505060a082018190525f819003612eb15760405162461bcd60e51b815260206004820152601760248201527f7573657244617461206f6666736574206973207a65726f00000000000000000060448201526064016111c7565b8051602a8114612f035760405162461bcd60e51b815260206004820152601960248201527f7573657244617461206368616e676564206c6f636174696f6e0000000000000060448201526064016111c7565b505050612f0e614b35565b602a60c082015250612f1e614b35565b602a60e082015250612f2e614b35565b602a61010082015250612f3f614b35565b602a61012082015250612f50614b35565b602a61014082015250565b5f81515f141580156112d95750600654825160208401201492915050565b5f60606001600160a01b038716612f9257612f92615403565b612f9c84846148ec565b93506001600160401b037f0000000000000000000000000000000000000000000000000000000000000000165f87612fde57612fd98987846149a3565b612fe9565b612fe9898784614a2e565b9195509093509050836130325780613019578661300e57613009836136fc565b613032565b61300989600a61308e565b604051636a7aea4b60e11b815260040160405180910390fd5b50509550959350505050565b5f60408251101561305057505f919050565b602082810151905f90821461306857505f9392505050565b50604083015161307781614a88565b61308290604061559a565b84511492505050919050565b6001600160a01b0382165f90815260046020526040812054618000169003611c93576001600160a01b0382165f81815260046020526040908190208054618000179055517fbe3aa33bd245135e4e26b223d79d14ea479a47bff09f2b03c53838af1edbb14b906131019084815260200190565b60405180910390a25050565b600654606090156131345760405163a85ba64f60e01b8152601560048201526024016111c7565b6001600160a01b0384165f90815260046020526040812054859181900361316e5760405163163cbe4360e01b815260040160405180910390fd5b61800081161561319057604051628e12d960e21b815260040160405180910390fd5b835f61319b82614818565b90506001600160e01b031981166330d9c91560e01b14806131cc57506001600160e01b0319811663d86ed3e560e01b145b806131e757506001600160e01b03198116630221347d60e61b145b8061320257506001600160e01b0319811663230dbd2960e01b145b8061321d57506001600160e01b03198116635f9e7d7760e01b145b8061323857506001600160e01b031981166353c11f9960e01b145b15613256576040516377a14afb60e11b815260040160405180910390fd5b60408051610160810182525f808252600260208084019190915242838501526001600160a01b03808e16606085015260808401839052845191820190945281815260a083015260c0820181905260e082018190526101008201819052918a1661012082015261014081018290526132cc90613515565b90505f6132db8a898b85613646565b97509050801561332957868060200190518101906132f99190615464565b915061330482612f5b565b6133245760405163a85ba64f60e01b8152601460048201526024016111c7565b613332565b613332876136fc565b50505f6006555092979650505050505050565b6006546060901561336c5760405163a85ba64f60e01b8152601560048201526024016111c7565b836133768161204b565b6133935760405163619c535960e01b815260040160405180910390fd5b5f61339d85614818565b60408051610160810182525f8082526001602083015292935061341a9181014281526020018a6001600160a01b03168152602001846001600160e01b03191681526020018781526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b0316815250613515565b90505f61342988885f85613646565b955090508061343b5761343b856136fc565b50505f600655509095945050505050565b613454614b35565b6060808380602001905181019061346b91906155ad565b815191935091505f906134879084016020908101908501615606565b60a08901526001600160e01b03191660808801526001600160a01b031660608701526040860152602081811c600f168187015260ff909116855282515f92506134d7919084018101908401615685565b6001600160a01b03908116610140890152166101208701526101008601526001600160801b03811660c086015260801c60e085015250919392505050565b60606001825f015160ff1611156135425760405163a85ba64f60e01b8152602860048201526024016111c7565b81516020808401515f9260ff1664ff000000009190921b161790505f608061356d8560e00151614abf565b6001600160801b0316901b6135858560c00151614abf565b6001600160801b0316179050818460400151856060015186608001518760a001516040516020016135ba9594939291906156ce565b60408051601f1981840301815282825261010087015161012088015161014089015160208601879052938501919091526001600160a01b03908116606085015290911660808301529060a00160408051601f19818403018152908290526136249291602001615058565b60408051601f1981840301815291905280516020820120600655949350505050565b5f60606001600160a01b03861661365f5761365f615403565b61366985846148ec565b9450856001600160a01b031684866040516136849190615730565b5f6040518083038185875af1925050503d805f81146136be576040519150601f19603f3d011682016040523d82523d5f602084013e6136c3565b606091505b50909250905081156136f35780515f036136f35760405163a85ba64f60e01b8152601660048201526024016111c7565b94509492505050565b60048151101561374e5760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a2074617267657420726576657274282900000000000060448201526064016111c7565b602081015163b1b7848f60e01b6001600160e01b03198216016137fe5760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b81529192916111c791849101614d0d565b81518060208401fd5b5f6138307f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036138865760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016111c7565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156138c2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138e691906153b1565b7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74146139605760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016111c7565b6001600160a01b03811630036139b85760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016111c7565b6139e0817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74604080519182526001600160a01b038416602083015201611a45565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b038316918101919091525f9060c0015b604051602081830303815290604052805190602001209050919050565b5f60183610801590613adb5750613adb33611b1b565b613b1f5760405162461bcd60e51b81526020600482015260156024820152742737ba103a393ab9ba32b2103337b93bb0b93232b960591b60448201526064016111c7565b5060131936013560601c90565b5f5b818110156145b0575f838383818110613b4957613b496153ef565b9050602002810190613b5b919061573b565b613b69906020810190615759565b90505f1963ffffffff821601613c56575f5f858585818110613b8d57613b8d6153ef565b9050602002810190613b9f919061573b565b613bad90604081019061577c565b810190613bba9190615387565b91509150858585818110613bd057613bd06153ef565b9050602002810190613be2919061573b565b613bf3906040810190602001614ba3565b6001600160a01b03166362aa52878884846040518463ffffffff1660e01b8152600401613c22939291906154cb565b5f604051808303815f87803b158015613c39575f5ffd5b505af1158015613c4b573d5f5f3e3d5ffd5b5050505050506145a7565b60011963ffffffff821601613d5a575f5f5f868686818110613c7a57613c7a6153ef565b9050602002810190613c8c919061573b565b613c9a90604081019061577c565b810190613ca791906157be565b925092509250868686818110613cbf57613cbf6153ef565b9050602002810190613cd1919061573b565b613ce2906040810190602001614ba3565b604051630b682aeb60e11b81526001600160a01b038a81166004830152858116602483015284811660448301526064820184905291909116906316d055d6906084015b5f604051808303815f87803b158015613d3c575f5ffd5b505af1158015613d4e573d5f5f3e3d5ffd5b505050505050506145a7565b60021963ffffffff821601613e17575f5f5f868686818110613d7e57613d7e6153ef565b9050602002810190613d90919061573b565b613d9e90604081019061577c565b810190613dab91906157fc565b925092509250868686818110613dc357613dc36153ef565b9050602002810190613dd5919061573b565b613de6906040810190602001614ba3565b6001600160a01b031663ca0c1e7f898585856040518563ffffffff1660e01b8152600401613d25949392919061583a565b60031963ffffffff821601613ecf575f5f858585818110613e3a57613e3a6153ef565b9050602002810190613e4c919061573b565b613e5a90604081019061577c565b810190613e679190615387565b91509150858585818110613e7d57613e7d6153ef565b9050602002810190613e8f919061573b565b613ea0906040810190602001614ba3565b6001600160a01b0316634b2763b38884846040518463ffffffff1660e01b8152600401613c22939291906154cb565b60041963ffffffff821601613f87575f5f858585818110613ef257613ef26153ef565b9050602002810190613f04919061573b565b613f1290604081019061577c565b810190613f1f9190615387565b91509150858585818110613f3557613f356153ef565b9050602002810190613f47919061573b565b613f58906040810190602001614ba3565b6001600160a01b031663c780fd828884846040518463ffffffff1660e01b8152600401613c22939291906154cb565b60641963ffffffff82160161407757838383818110613fa857613fa86153ef565b9050602002810190613fba919061573b565b613fcb906040810190602001614ba3565b6001600160a01b031663ca78946486868686818110613fec57613fec6153ef565b9050602002810190613ffe919061573b565b61400c90604081019061577c565b81019061401991906151c8565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f604051808303815f87803b15801561405c575f5ffd5b505af115801561406e573d5f5f3e3d5ffd5b505050506145a7565b60651963ffffffff8216016140dc57838383818110614098576140986153ef565b90506020028101906140aa919061573b565b6140bb906040810190602001614ba3565b6001600160a01b031663245887fc86868686818110613fec57613fec6153ef565b60661963ffffffff821601614194575f5f8585858181106140ff576140ff6153ef565b9050602002810190614111919061573b565b61411f90604081019061577c565b81019061412c9190615387565b91509150858585818110614142576141426153ef565b9050602002810190614154919061573b565b614165906040810190602001614ba3565b6001600160a01b0316631ae88ffc8884846040518463ffffffff1660e01b8152600401613c22939291906154cb565b60671963ffffffff82160161424c575f5f8585858181106141b7576141b76153ef565b90506020028101906141c9919061573b565b6141d790604081019061577c565b8101906141e49190615387565b915091508585858181106141fa576141fa6153ef565b905060200281019061420c919061573b565b61421d906040810190602001614ba3565b6001600160a01b03166347ba7ad18884846040518463ffffffff1660e01b8152600401613c22939291906154cb565b60c81963ffffffff8216016142e8575f5f85858581811061426f5761426f6153ef565b9050602002810190614281919061573b565b61428f90604081019061577c565b81019061429c919061586c565b915091506142e0878787878181106142b6576142b66153ef565b90506020028101906142c8919061573b565b6142d9906040810190602001614ba3565b8484613345565b5050506145a7565b60c91963ffffffff8216016143a25761439c8585858581811061430d5761430d6153ef565b905060200281019061431f919061573b565b614330906040810190602001614ba3565b47878787818110614343576143436153ef565b9050602002810190614355919061573b565b61436390604081019061577c565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061310d92505050565b506145a7565b61012c1963ffffffff8216016144c5575f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166322bee494478888888181106143f6576143f66153ef565b9050602002810190614408919061573b565b614419906040810190602001614ba3565b89898981811061442b5761442b6153ef565b905060200281019061443d919061573b565b61444b90604081019061577c565b6040518563ffffffff1660e01b8152600401614469939291906158e1565b5f6040518083038185885af1158015614484573d5f5f3e3d5ffd5b50505050506040513d5f823e601f3d908101601f191682016040526144ac9190810190615905565b91509150816144be576144be816136fc565b50506145a7565b61012d1963ffffffff82160161458e575f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663177ec59447888888818110614519576145196153ef565b905060200281019061452b919061573b565b61453c906040810190602001614ba3565b8a8a8a8a81811061454f5761454f6153ef565b9050602002810190614561919061573b565b61456f90604081019061577c565b6040518663ffffffff1660e01b8152600401614469949392919061593c565b60405163b477011560e01b815260040160405180910390fd5b50600101613b2e565b5047156127fa576040516001600160a01b038416904780156108fc02915f818181858888f193505050501580156145e9573d5f5f3e3d5ffd5b50505050565b604051632474521560e21b81527f1fd2cd0659bdcac914c39b66359256350b866e92047951635b57d928f32d9e8460048201526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906391d1485490604401602060405180830381865afa158015614679573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061469d91906154b0565b156146a6575050565b5f6146b18284614af6565b5f805460405163407b865d60e11b81529293504292620100009091046001600160a01b0316916380f70cba916146ed91309187906004016154cb565b602060405180830381865afa158015614708573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061472c91906153b1565b10156127fa57604051630b56455f60e41b815260040160405180910390fd5b64ff000080ff198116151580614762575060ff8116155b806147705750618000811615155b1561478e57604051633d3200a960e21b815260040160405180910390fd5b6001600160a01b0382165f90815260046020526040902054156147c4576040516301b0a93560e01b815260040160405180910390fd5b60408051602080820183528382526001600160a01b0385165f81815260049092528382209251909255915190917f0d540ad8f39e07d19909687352b9fa017405d93c91a6760981fbae9cf28bfef791a25050565b5f60048251101561486b5760405162461bcd60e51b815260206004820152601b60248201527f43616c6c5574696c733a20696e76616c69642063616c6c44617461000000000060448201526064016111c7565b506020015190565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b038316918101919091525f9060c001613aa8565b815180830151606091908015614915576040516367e9985b60e01b815260040160405180910390fd5b50601f198101845282518490848161492c81614a88565b61493691906153dc565b6001600160401b0381111561494d5761494d614d1f565b6040519080825280601f01601f191660200182016040528015614977576020820181803683370190505b5060405160200161498b9493929190615968565b60405160208183030381529060405291505092915050565b5f5f60605f5a9050866001600160a01b031685876040516149c49190615730565b5f604051808303815f8787f1925050503d805f81146149fe576040519150601f19603f3d011682016040523d82523d5f602084013e614a03565b606091505b50909450915083614a2457614a1960408261598c565b5a11614a2457600192505b5093509350939050565b5f5f60605f5a9050866001600160a01b03168587604051614a4f9190615730565b5f604051808303818686fa925050503d805f81146149fe576040519150601f19603f3d011682016040523d82523d5f602084013e614a03565b5f5f82601f1611614a99575f614a9c565b60015b60ff16614aaa60208461598c565b614ab4919061559a565b6112d99060206159ab565b5f6001600160801b03821115614af2576040516306dfcc6560e41b815260806004820152602481018390526044016111c7565b5090565b5f8282604051602001614b0a9291906159c2565b60405160208183030381529060405280519060200120905092915050565b61023980615a4783390190565b60408051610160810182525f8082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b03811681146117b1575f5ffd5b5f60208284031215614bb3575f5ffd5b8135614bbe81614b8f565b9392505050565b5f5f60408385031215614bd6575f5ffd5b8235614be181614b8f565b91506020830135614bf181614b8f565b809150509250929050565b5f5f83601f840112614c0c575f5ffd5b5081356001600160401b03811115614c22575f5ffd5b602083019150836020828501011115614c39575f5ffd5b9250929050565b80151581146117b1575f5ffd5b5f5f5f5f5f5f60808789031215614c62575f5ffd5b8635614c6d81614b8f565b955060208701356001600160401b03811115614c87575f5ffd5b614c9389828a01614bfc565b9096509450506040870135614ca781614c40565b925060608701356001600160401b03811115614cc1575f5ffd5b614ccd89828a01614bfc565b979a9699509497509295939492505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6112d66020830184614cdf565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715614d5b57614d5b614d1f565b604052919050565b5f6001600160401b03821115614d7b57614d7b614d1f565b50601f01601f191660200190565b5f82601f830112614d98575f5ffd5b8135614dab614da682614d63565b614d33565b818152846020838601011115614dbf575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f60408385031215614dec575f5ffd5b8235614df781614b8f565b915060208301356001600160401b03811115614e11575f5ffd5b614e1d85828601614d89565b9150509250929050565b5f5f5f60608486031215614e39575f5ffd5b8335614e4481614b8f565b925060208401356001600160401b03811115614e5e575f5ffd5b614e6a86828701614d89565b92505060408401356001600160401b03811115614e85575f5ffd5b614e9186828701614d89565b9150509250925092565b5f60208284031215614eab575f5ffd5b81356001600160401b03811115614ec0575f5ffd5b61149f84828501614d89565b60208152614ee060208201835160ff169052565b5f6020830151614ef5604084018260ff169052565b50604083015160608301526060830151614f1a60808401826001600160a01b03169052565b5060808301516001600160e01b0319811660a08401525060a083015161016060c0840152614f4c610180840182614cdf565b905060c084015160e084015260e0840151610100840152610100840151610120840152610120840151614f8b6101408501826001600160a01b03169052565b506101408401516001600160a01b038116610160850152509392505050565b5f5f5f5f5f5f5f6080888a031215614fc0575f5ffd5b8735614fcb81614b8f565b965060208801356001600160401b03811115614fe5575f5ffd5b614ff18a828b01614bfc565b90975095505060408801356001600160401b0381111561500f575f5ffd5b61501b8a828b01614bfc565b90955093505060608801356001600160401b03811115615039575f5ffd5b6150458a828b01614bfc565b989b979a50959850939692959293505050565b604081525f61506a6040830185614cdf565b82810360208401526121b38185614cdf565b5f5f5f6040848603121561508e575f5ffd5b83356001600160401b038111156150a3575f5ffd5b6150af86828701614bfc565b909790965060209590950135949350505050565b5f5f602083850312156150d4575f5ffd5b82356001600160401b038111156150e9575f5ffd5b8301601f810185136150f9575f5ffd5b80356001600160401b0381111561510e575f5ffd5b8560208260051b8401011115615122575f5ffd5b6020919091019590945092505050565b5f5f5f5f5f5f60a08789031215615147575f5ffd5b86356001600160401b0381111561515c575f5ffd5b61516889828a01614bfc565b909750955050602087013561517c81614b8f565b93506040870135925060608701359150608087013561519a81614b8f565b809150509295509295509295565b5f5f604083850312156151b9575f5ffd5b50508035926020909101359150565b5f602082840312156151d8575f5ffd5b5035919050565b5f5f5f5f606085870312156151f2575f5ffd5b84356001600160401b03811115615207575f5ffd5b61521387828801614bfc565b909550935050602085013561522781614b8f565b9396929550929360400135925050565b5f5f5f5f5f6060868803121561524b575f5ffd5b853561525681614b8f565b945060208601356001600160401b03811115615270575f5ffd5b61527c88828901614bfc565b90955093505060408601356001600160401b0381111561529a575f5ffd5b6152a688828901614bfc565b969995985093965092949392505050565b5f5f5f604084860312156152c9575f5ffd5b8335925060208401356001600160401b038111156152e5575f5ffd5b6152f186828701614bfc565b9497909650939450505050565b5f5f6020838503121561530f575f5ffd5b82356001600160401b03811115615324575f5ffd5b61533085828601614bfc565b90969095509350505050565b602080825282518282018190525f918401906040840190835b8181101561537c5783516001600160a01b0316835260209384019390920191600101615355565b509095945050505050565b5f5f60408385031215615398575f5ffd5b82356153a381614b8f565b946020939093013593505050565b5f602082840312156153c1575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156112d9576112d96153c8565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52600160045260245ffd5b5f82601f830112615426575f5ffd5b8151615434614da682614d63565b818152846020838601011115615448575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215615474575f5ffd5b81516001600160401b03811115615489575f5ffd5b61149f84828501615417565b5f602082840312156154a5575f5ffd5b8151614bbe81614b8f565b5f602082840312156154c0575f5ffd5b8151614bbe81614c40565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8082018281125f83128015821682158216171561550e5761550e6153c8565b505092915050565b5f60ff821660ff810361552b5761552b6153c8565b60010192915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b5f60018201615593576155936153c8565b5060010190565b808201808211156112d9576112d96153c8565b5f5f604083850312156155be575f5ffd5b82516001600160401b038111156155d3575f5ffd5b6155df85828601615417565b92505060208301516001600160401b038111156155fa575f5ffd5b614e1d85828601615417565b5f5f5f5f5f60a0868803121561561a575f5ffd5b855160208701516040880151919650945061563481614b8f565b60608701519093506001600160e01b031981168114615651575f5ffd5b60808701519092506001600160401b0381111561566c575f5ffd5b61567888828901615417565b9150509295509295909350565b5f5f5f5f60808587031215615698575f5ffd5b84516020860151604087015191955093506156b281614b8f565b60608601519092506156c381614b8f565b939692955090935050565b858152602081018590526001600160a01b03841660408201526001600160e01b03198316606082015260a0608082018190525f9061570e90830184614cdf565b979650505050505050565b5f81518060208401855e5f93019283525090919050565b5f6112d68284615719565b5f8235605e1983360301811261574f575f5ffd5b9190910192915050565b5f60208284031215615769575f5ffd5b813563ffffffff81168114614bbe575f5ffd5b5f5f8335601e19843603018112615791575f5ffd5b8301803591506001600160401b038211156157aa575f5ffd5b602001915036819003821315614c39575f5ffd5b5f5f5f606084860312156157d0575f5ffd5b83356157db81614b8f565b925060208401356157eb81614b8f565b929592945050506040919091013590565b5f5f5f6060848603121561580e575f5ffd5b833561581981614b8f565b92506020840135915060408401356001600160401b03811115614e85575f5ffd5b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90611c7790830184614cdf565b5f5f6040838503121561587d575f5ffd5b82356001600160401b03811115615892575f5ffd5b61589e85828601614d89565b92505060208301356001600160401b03811115614e11575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190525f906121b390830184866158b9565b5f5f60408385031215615916575f5ffd5b825161592181614c40565b60208401519092506001600160401b038111156155fa575f5ffd5b6001600160a01b038581168252841660208201526060604082018190525f90611c7790830184866158b9565b5f6159738287615719565b85815261570e6159866020830187615719565b85615719565b5f826159a657634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176112d9576112d96153c8565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e060408201525f61149f60e0830184614cdf56fe6080604052348015600e575f5ffd5b5061021d8061001c5f395ff3fe608060405260043610610021575f3560e01c80634a0687ef1461003857610030565b366100305761002e610057565b005b61002e610057565b348015610043575f5ffd5b5061002e6100523660046101ba565b610069565b61006761006261016e565b61019c565b565b6001600160a01b0381166100c45760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b5f6100ed7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101435760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bb565b61016b817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b5f6101977f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b365f5f375f5f365f845af43d5f5f3e8080156101b6573d5ff35b3d5ffd5b5f602082840312156101ca575f5ffd5b81356001600160a01b03811681146101e0575f5ffd5b939250505056fea2646970667358221220483a9fede557f61b9d72f013e5257deaf8e68c5f0dfbf1d1dc084725d20b603064736f6c634300081e0033a264697066735822122074fe57a127a04407faa057828ae6a6b4643cabda93dc7276f23b88c6538ac4b564736f6c634300081e0033";
1493
+ const _bytecode = "0x610140604052348015610010575f5ffd5b505f608081905260a0819052622dc6c060c081905260e08290526101008290526101208290528190818080615d966100de82395f8181610535015261473201525f8181610499015261440201525f8181610b6101526142df01525f81816104ed01528181611e320152818161290c015261293d01525f81816108ad015281816120d7015281816125a7015281816128430152612c2701525f8181610aaf01528181610c2f01528181610f39015281816114bc015281816115f3015281816117430152612b530152615d965ff3fe60806040526004361061037c575f3560e01c80638ceddd7a116101d3578063bd3252c8116100fd578063e8dccb7d1161009d578063f99a38c41161006d578063f99a38c414610b83578063f9f522f414610b8e578063fa6e0cfe14610bca578063fbdb0ee214610be9575f5ffd5b8063e8dccb7d14610af0578063f2e55caf14610b1d578063f373305214610b31578063f85263b914610b50575f5ffd5b8063c56a069d116100d8578063c56a069d14610a53578063c60944a614610a7f578063cd312ec414610a9e578063db93aa5314610ad1575f5ffd5b8063bd3252c814610a01578063bf42873414610a15578063c4d66de814610a34575f5ffd5b8063ad3915c811610173578063bb84cfa111610143578063bb84cfa11461096a578063bbe4fd50146109b1578063bced3ddc146109c3578063bd1c448b146109e2575f5ffd5b8063ad3915c8146108ee578063b6d200de1461090d578063b724211e1461092c578063ba48b5f81461094b575f5ffd5b8063989b0c3e116101ae578063989b0c3e146108695780639903ad38146108885780639d297e301461089c578063a5dbbbcd146108cf575f5ffd5b80638ceddd7a146107e15780639378fa131461080b5780639444db931461083c575f5ffd5b806346951954116102b457806359a29141116102545780637283100c116102245780637283100c14610767578063731aed6e14610786578063768fabb0146107a35780638ca48484146107c2575f5ffd5b806359a2914114610703578063670e77e3146107225780636ad3ca7d146107355780636b4f333514610748575f5ffd5b806352d1902d1161028f57806352d1902d1461067457806354fbc493146106a657806357121e0c146106c5578063572b6c05146106e4575f5ffd5b80634695195414610617578063486ff0cd1461063657806350d75d2514610660575f5ffd5b80632f89bf891161031f57806339255d5b116102fa57806339255d5b146105595780633ca3ad4e146105785780633f6c923a146105be5780634329d293146105ea575f5ffd5b80632f89bf89146104bd57806333d608f1146104dc57806336b3e52d14610527575f5ffd5b80631e855cf31161035a5780631e855cf3146103df5780632368335a14610414578063289b3c0d146104555780632ecfbda21461048b575f5ffd5b806306cecba8146103805780630c565075146103a157806315a024e1146103c0575b5f5ffd5b34801561038b575f5ffd5b5061039f61039a366004614c5b565b610bfd565b005b3480156103ac575f5ffd5b5061039f6103bb366004614c7d565b610dc8565b3480156103cb575f5ffd5b5061039f6103da366004614c5b565b610e52565b3480156103ea575f5ffd5b506103fe6103f9366004614d70565b611092565b60405161040b9190614dea565b60405180910390f35b34801561041f575f5ffd5b506104477f1fd2cd0659bdcac914c39b66359256350b866e92047951635b57d928f32d9e8481565b60405190815260200161040b565b348015610460575f5ffd5b505f546201000090046001600160a01b03165b6040516001600160a01b03909116815260200161040b565b348015610496575f5ffd5b507f0000000000000000000000000000000000000000000000000000000000000000610473565b3480156104c8575f5ffd5b5061039f6104d7366004614c5b565b6110a9565b3480156104e7575f5ffd5b5061050f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160401b03909116815260200161040b565b348015610532575f5ffd5b507f0000000000000000000000000000000000000000000000000000000000000000610473565b348015610564575f5ffd5b506103fe610573366004614dfc565b61125b565b348015610583575f5ffd5b506105ae610592366004614c5b565b6001600160a01b03165f90815260046020526040902054151590565b604051901515815260200161040b565b3480156105c9575f5ffd5b506105dd6105d8366004614e70565b611271565b60405161040b9190614ea1565b3480156105f5575f5ffd5b50610609610604366004614fc3565b611282565b60405161040b929190615071565b348015610622575f5ffd5b5061039f610631366004614c5b565b61148a565b348015610641575f5ffd5b50604080518082019091526002815261763160f01b60208201526103fe565b34801561066b575f5ffd5b50610473611583565b34801561067f575f5ffd5b507fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74610447565b3480156106b1575f5ffd5b5061039f6106c0366004614c5b565b6115b1565b3480156106d0575f5ffd5b5061039f6106df366004614c5b565b61181f565b3480156106ef575f5ffd5b506105ae6106fe366004614c5b565b6118ea565b34801561070e575f5ffd5b506103fe61071d366004615095565b611971565b61039f6107303660046150dc565b611a50565b61039f6107433660046150dc565b611a66565b348015610753575f5ffd5b506105ae610762366004614c5b565b611a71565b348015610772575f5ffd5b5061039f610781366004614c5b565b611a94565b348015610791575f5ffd5b506003546001600160a01b0316610473565b3480156107ae575f5ffd5b506103fe6107bd36600461514b565b611b39565b3480156107cd575f5ffd5b506105ae6107dc366004614c5b565b611ccf565b3480156107ec575f5ffd5b506107f661010081565b60405163ffffffff909116815260200161040b565b348015610816575f5ffd5b5061082a610825366004614c5b565b611d8f565b60405160ff909116815260200161040b565b348015610847575f5ffd5b5061085b6108563660046151ce565b611daf565b60405161040b929190615268565b348015610874575f5ffd5b506103fe610883366004615095565b611f46565b348015610893575f5ffd5b5061039f611fd7565b3480156108a7575f5ffd5b506105ae7f000000000000000000000000000000000000000000000000000000000000000081565b3480156108da575f5ffd5b506104476108e9366004615289565b61208c565b3480156108f9575f5ffd5b5061039f6109083660046152a9565b6120d5565b348015610918575f5ffd5b506104736109273660046152a9565b612129565b348015610937575f5ffd5b506103fe6109463660046152c0565b61218e565b348015610956575f5ffd5b506103fe610965366004615318565b61224d565b348015610975575f5ffd5b506105ae610984366004614c7d565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b3480156109bc575f5ffd5b5042610447565b3480156109ce575f5ffd5b506104476109dd366004615289565b61255d565b3480156109ed575f5ffd5b5061039f6109fc366004615398565b6125a5565b348015610a0c575f5ffd5b50610447600181565b348015610a20575f5ffd5b506105ae610a2f3660046153df565b61261a565b348015610a3f575f5ffd5b5061039f610a4e366004614c5b565b612659565b348015610a5e575f5ffd5b50610a72610a6d3660046152a9565b612736565b60405161040b919061541d565b348015610a8a575f5ffd5b5061039f610a99366004615468565b612817565b348015610aa9575f5ffd5b506105ae7f000000000000000000000000000000000000000000000000000000000000000081565b348015610adc575f5ffd5b506103fe610aeb3660046151ce565b612895565b348015610afb575f5ffd5b506105ae610b0a3660046152a9565b5f90815260026020526040902054151590565b348015610b28575f5ffd5b50610473612b37565b348015610b3c575f5ffd5b5061039f610b4b366004615468565b612bfb565b348015610b5b575f5ffd5b506104737f000000000000000000000000000000000000000000000000000000000000000081565b34801561039f575f5ffd5b348015610b99575f5ffd5b50610bad610ba8366004614c5b565b612d01565b60408051931515845291151560208401529082015260600161040b565b348015610bd5575f5ffd5b5061039f610be4366004614c7d565b612d4f565b348015610bf4575f5ffd5b5061039f612ea0565b5f546201000090046001600160a01b03163314610c2d576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610c6c576040516314f72c9f60e01b815260040160405180910390fd5b5f816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ccd9190615492565b5f81815260026020526040812054919250819003610cfe57604051630e4f4df560e11b815260040160405180910390fd5b5f6001610d0b81846154bd565b81548110610d1b57610d1b6154d0565b5f918252602090912001546040516311a5465560e21b81526001600160a01b038681166004830152909116915081906346951954906024015f604051808303815f87803b158015610d6a575f5ffd5b505af1158015610d7c573d5f5f3e3d5ffd5b5050604080518681526001600160a01b03881660208201527f9279aa773f2b588996032d8de89911555039f28b13a11a7c17074330bc082d9a935001905060405180910390a150505050565b5f546201000090046001600160a01b03163314610df8576040516362e9152760e11b815260040160405180910390fd5b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f283970906024015f604051808303815f87803b158015610e38575f5ffd5b505af1158015610e4a573d5f5f3e3d5ffd5b505050505050565b5f546201000090046001600160a01b03163314610e82576040516362e9152760e11b815260040160405180910390fd5b5f816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ebf573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ee39190615492565b5f8181526002602052604090205490915015610f1257604051631b93bb7560e31b815260040160405180910390fd5b60015461010011610f3657604051630f85034f60e31b815260040160405180910390fd5b5f7f0000000000000000000000000000000000000000000000000000000000000000610fe6575f604051610f6990614be0565b604051809103905ff080158015610f82573d5f5f3e3d5ffd5b50604051634a0687ef60e01b81526001600160a01b03868116600483015291925090821690634a0687ef906024015f604051808303815f87803b158015610fc7575f5ffd5b505af1158015610fd9573d5f5f3e3d5ffd5b5050505080915050610fe9565b50815b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0384166001600160a01b0319909116179055545f838152600260205260409081902091909155517f878135063a6cfb3bc333e534b1fdc83f4f12221cad6705c31c0567048a8bd3d19061108590849086909182526001600160a01b0316602082015260400190565b60405180910390a1505050565b60606110a033845f85613018565b90505b92915050565b5f546201000090046001600160a01b031633146110d9576040516362e9152760e11b815260040160405180910390fd5b604051635b69006f60e11b81527fdfd8ece9bfbcb8c5c540edb935641f63d67686490a1ab97f000288759f30a94660048201525f90309063b6d200de90602401602060405180830381865afa158015611134573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061115891906154e4565b90505f816001600160a01b0316635437dd976040518163ffffffff1660e01b8152600401602060405180830381865afa158015611197573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111bb91906154e4565b604051631b2ce7f360e11b81526001600160a01b03858116600483015291925090821690633659cfe6906024015f604051808303815f87803b1580156111ff575f5ffd5b505af1158015611211573d5f5f3e3d5ffd5b50506040516001600160a01b038681168252841692507f052cea8931962dd445ef48b0b998d3056bd0705f437087d60fe3c46a3fa09e1f91506020015b60405180910390a2505050565b606061126933858585613250565b949350505050565b611279614bed565b6110a382613357565b60608083838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506112c692508391506134209050565b6112eb5760405163a85ba64f60e01b8152601460048201526024015b60405180910390fd5b896112f581611ccf565b6113125760405163619c535960e01b815260040160405180910390fd5b5f61135187878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061127192505050565b6101208101519091506001600160a01b031633146113825760405163066875e160e11b815260040160405180910390fd5b60608101805133909152604080516020601f8c018190048102820181019092528a8152908b908b90819084018382808284375f9201919091525050505060a08301526113cd8261343e565b95505f6114118e8e8e8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525092508c915061356f9050565b965090508015611470578580602001905181019061142f919061554c565b965061143a87613420565b6114465761144661557d565b61144f87611271565b6001600160a01b038316606082015292506114698361343e565b9650611479565b61147986613625565b505050505097509795505050505050565b5f546201000090046001600160a01b031633146114ba576040516362e9152760e11b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000156114f9576040516314f72c9f60e01b815260040160405180910390fd5b806001600160a01b031663cd312ec46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611535573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115599190615591565b156115775760405163474e764160e01b815260040160405180910390fd5b61158081613730565b50565b5f6115ac7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b5f546201000090046001600160a01b031633146115e1576040516362e9152760e11b815260040160405180910390fd5b6003546001600160a01b0316611741577f00000000000000000000000000000000000000000000000000000000000000006116be575f60405161162390614be0565b604051809103905ff08015801561163c573d5f5f3e3d5ffd5b50604051634a0687ef60e01b81526001600160a01b03848116600483015291925090821690634a0687ef906024015f604051808303815f87803b158015611681575f5ffd5b505af1158015611693573d5f5f3e3d5ffd5b5050600380546001600160a01b0319166001600160a01b039490941693909317909255506116da9050565b600380546001600160a01b0319166001600160a01b0383161790555b60035f9054906101000a90046001600160a01b03166001600160a01b0316638129fc1c6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611726575f5ffd5b505af1158015611738573d5f5f3e3d5ffd5b505050506117db565b7f000000000000000000000000000000000000000000000000000000000000000015611780576040516314f72c9f60e01b815260040160405180910390fd5b6003546040516311a5465560e21b81526001600160a01b038381166004830152909116906346951954906024015f604051808303815f87803b1580156117c4575f5ffd5b505af11580156117d6573d5f5f3e3d5ffd5b505050505b6003546040516001600160a01b0390911681527fce13a9895a1719ad4493b2ac1a9bfb36070566161abab408e7ecbe586da8d499906020015b60405180910390a150565b335f8181526004602052604090205461184b576040516302eb3f7160e61b815260040160405180910390fd5b6001600160a01b0382165f9081526004602052604090205461188057604051634b5518af60e11b815260040160405180910390fd5b61188982611d8f565b60ff1661189582611d8f565b60ff16116118b657604051630447252760e41b815260040160405180910390fd5b6001600160a01b039081165f908152600560209081526040808320949093168252929092529020805460ff19166001179055565b5f80546201000090046001600160a01b03166380f70cba308361190c86613967565b6040518463ffffffff1660e01b815260040161192a939291906155ac565b602060405180830381865afa158015611945573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119699190615492565b151592915050565b606061197c33611ccf565b6119995760405163619c535960e01b815260040160405180910390fd5b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506119da92508391506134209050565b6119e6576119e661557d565b5f611a2586868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061127192505050565b9050838161010001818151611a3a91906155d0565b905250611a468161343e565b9695505050505050565b611a62611a5b6139ee565b8383613a55565b5050565b611a62338383613a55565b6001600160a01b0381165f908152600460205260408120546180001615156110a3565b5f546201000090046001600160a01b03163314611ac4576040516362e9152760e11b815260040160405180910390fd5b5f54604080516001600160a01b03620100009093048316815291831660208301527f13abda02e63c790d0e2818b251282cfe5cbe0a8abd69c54bf5d2260c0907bd2e910160405180910390a15f80546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6060611b4433611ccf565b611b615760405163619c535960e01b815260040160405180910390fd5b86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611ba292508391506134209050565b611bae57611bae61557d565b5f611bed89898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061127192505050565b9050611c1381606001516001600160a01b03165f90815260046020526040902054151590565b8015611c2657506001815f015160ff1610155b15611c785760608101516001600160a01b039081165f908152600560209081526040808320938b168352929052205460ff16611c785760405163a85ba64f60e01b8152601e60048201526024016112e2565b805181611c84826155f7565b60ff169052506003602082015260c0810186905261010081018590526001600160a01b038088166101208301528416610140820152611cc28161343e565b9998505050505050505050565b5f5f826001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d0d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d319190615492565b5f81815260026020526040902054909150801580159061126957506001600160a01b0384166001611d6281846154bd565b81548110611d7257611d726154d0565b5f918252602090912001546001600160a01b031614949350505050565b6001600160a01b0381165f9081526004602052604081205460ff166110a3565b60605f611dbb33611ccf565b611dd85760405163619c535960e01b815260040160405180910390fd5b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611e1992508391506134209050565b611e2557611e2561557d565b5f60605f198603611e5d577f00000000000000000000000000000000000000000000000000000000000000006001600160401b031695505b611ee58c60018b8e8e8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f820116905080830192505050505050508c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508e9250614518915050565b955090925090508115611f3757611efb81614608565b15611f0b57604081019450611f37565b88611f2c5760405163a85ba64f60e01b8152601660048201526024016112e2565b611f378c601661466e565b50505097509795505050505050565b6060611f5133611ccf565b611f6e5760405163619c535960e01b815260040160405180910390fd5b5f611fad85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061127192505050565b9050828161010001818151611fc291906155d0565b905250611fce8161343e565b95945050505050565b5f54610100900460ff1615808015611ff557505f54600160ff909116105b8061200e5750303b15801561200e57505f5460ff166001145b61202a5760405162461bcd60e51b81526004016112e290615615565b5f805460ff19166001179055801561204b575f805461ff0019166101001790555b8015611580575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611814565b5f818152600260205260408120548082036120ba57604051630e4f4df560e11b815260040160405180910390fd5b6120c56001826154bd565b6001901b19841691505092915050565b7f00000000000000000000000000000000000000000000000000000000000000001561211f5761211f604051806040016040528060028152602001616b3160f01b815250326146ed565b6115803382614849565b5f8181526002602052604081205480820361215757604051630e4f4df560e11b815260040160405180910390fd5b600161216381836154bd565b81548110612173576121736154d0565b5f918252602090912001546001600160a01b03169392505050565b606061219933611ccf565b6121b65760405163619c535960e01b815260040160405180910390fd5b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506121f792508391506134209050565b6122035761220361557d565b61220d848461466e565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929998505050505050505050565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061229092508391506134209050565b6122b05760405163a85ba64f60e01b8152601460048201526024016112e2565b6001600160a01b0387165f9081526004602052604081205488918190036122ea5760405163163cbe4360e01b815260040160405180910390fd5b61800081161561230c57604051628e12d960e21b815260040160405180910390fd5b87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920182905250925061234c9150839050614916565b90506001600160e01b031981166330d9c91560e01b148061237d57506001600160e01b0319811663d86ed3e560e01b145b8061239857506001600160e01b03198116630221347d60e61b145b806123b357506001600160e01b0319811663230dbd2960e01b145b806123ce57506001600160e01b03198116635f9e7d7760e01b145b806123e957506001600160e01b031981166353c11f9960e01b145b15612407576040516377a14afb60e11b815260040160405180910390fd5b5f61244689898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061127192505050565b6101208101519091506001600160a01b03163314612477576040516311cfdef560e21b815260040160405180910390fd5b6060810180513390915261248a8261343e565b97505f5f6124cf8f8f8f8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525092508f915061356f9050565b91509150811561254257808060200190518101906124ed919061554c565b99506124f88a613420565b6125185760405163a85ba64f60e01b8152601460048201526024016112e2565b6125218a611271565b6001600160a01b0384166060820152935061253b8461343e565b995061254b565b61254b81613625565b50505050505050505095945050505050565b5f8181526002602052604081205480820361258b57604051630e4f4df560e11b815260040160405180910390fd5b6125966001826154bd565b6001901b841791505092915050565b7f00000000000000000000000000000000000000000000000000000000000000001561260b5761260b82828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152503292506146ed915050565b6126153384614849565b505050565b5f6110a083838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061342092505050565b5f54610100900460ff161580801561267757505f54600160ff909116105b806126905750303b15801561269057505f5460ff166001145b6126ac5760405162461bcd60e51b81526004016112e290615615565b5f805460ff1916600117905580156126cd575f805461ff0019166101001790555b5f805462010000600160b01b031916620100006001600160a01b038516021790558015611a62575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60605f5f6001805490506001600160401b0381111561275757612757614cb4565b604051908082528060200260200182016040528015612780578160200160208202803683370190505b5092505f90505f91505b60015482101561280f576001821b84161561280457600182815481106127b2576127b26154d0565b5f918252602090912001546001600160a01b031683826127d181615663565b9350815181106127e3576127e36154d0565b60200260200101906001600160a01b031690816001600160a01b0316815250505b81600101915061278a565b825250919050565b816001600160a01b03163b5f036128415760405163353dacc360e21b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000001561288b5761288b604051806040016040528060028152602001616b3160f01b815250336146ed565b611a628282614849565b60606128a033611ccf565b6128bd5760405163619c535960e01b815260040160405180910390fd5b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506128fe92508391506134209050565b61290a5761290a61557d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316831115612968577f00000000000000000000000000000000000000000000000000000000000000006001600160401b031692505b5f5f6129f18b5f8a8d8d8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f820116905080830192505050505050508b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508d9250614518915050565b50915091508115612af057612a0581614608565b15612a8957604081019350612a1984613420565b612a845787612a3e5760405163a85ba64f60e01b8152601460048201526024016112e2565b86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929650612a8492508d91506014905061466e565b612b29565b87612aaa5760405163a85ba64f60e01b8152601660048201526024016112e2565b86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929650612a8492508d91506016905061466e565b86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509296505050505b505050979650505050505050565b6003545f906001600160a01b0316612b5157612b5161557d565b7f000000000000000000000000000000000000000000000000000000000000000015612b8757506003546001600160a01b031690565b60035f9054906101000a90046001600160a01b03166001600160a01b03166350d75d256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bd7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115ac91906154e4565b816001600160a01b03163b5f03612c255760405163353dacc360e21b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000001561288b575f612c5533614971565b5f805460405163407b865d60e11b81529293509091620100009091046001600160a01b0316906380f70cba90612c93903090859087906004016155ac565b602060405180830381865afa158015612cae573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cd29190615492565b600114905080612cf557604051630b56455f60e41b815260040160405180910390fd5b5050611a628282614849565b6001600160a01b0381165f90815260046020908152604080832081519283019091525480825215801592918291612d4757805161800081161515935064ff000000001691505b509193909250565b5f546201000090046001600160a01b03163314612d7f576040516362e9152760e11b815260040160405180910390fd5b5f6001600160a01b038216612e075760035f9054906101000a90046001600160a01b03166001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612dde573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e0291906154e4565b612e09565b815b6040516311a5465560e21b81526001600160a01b038083166004830152919250908416906346951954906024015f604051808303815f87803b158015612e4d575f5ffd5b505af1158015612e5f573d5f5f3e3d5ffd5b50506040516001600160a01b038481168252861692507f840acbd291b38534819f47f875839277e502f40e1c7bfea2c5fc2c8017442cd3915060200161124e565b612ea8614bed565b602a9052612eb4614bed565b602a602082015250612ec4614bed565b602a604082015250612ed4614bed565b602a606082015250612ee4614bed565b63deadbeef60e01b608082015250612efa614bed565b60408051602a808252606082019092529060208201818036833750505060a082018190525f819003612f6e5760405162461bcd60e51b815260206004820152601760248201527f7573657244617461206f6666736574206973207a65726f00000000000000000060448201526064016112e2565b8051602a8114612fc05760405162461bcd60e51b815260206004820152601960248201527f7573657244617461206368616e676564206c6f636174696f6e0000000000000060448201526064016112e2565b505050612fcb614bed565b602a60c082015250612fdb614bed565b602a60e082015250612feb614bed565b602a61010082015250612ffc614bed565b602a6101208201525061300d614bed565b602a61014082015250565b6006546060901561303f5760405163a85ba64f60e01b8152601560048201526024016112e2565b6001600160a01b0384165f9081526004602052604081205485918190036130795760405163163cbe4360e01b815260040160405180910390fd5b61800081161561309b57604051628e12d960e21b815260040160405180910390fd5b835f6130a682614916565b90506001600160e01b031981166330d9c91560e01b14806130d757506001600160e01b0319811663d86ed3e560e01b145b806130f257506001600160e01b03198116630221347d60e61b145b8061310d57506001600160e01b0319811663230dbd2960e01b145b8061312857506001600160e01b03198116635f9e7d7760e01b145b8061314357506001600160e01b031981166353c11f9960e01b145b15613161576040516377a14afb60e11b815260040160405180910390fd5b60408051610160810182525f808252600260208084019190915242838501526001600160a01b03808e16606085015260808401839052845191820190945281815260a083015260c0820181905260e082018190526101008201819052918a1661012082015261014081018290526131d79061343e565b90505f6131e68a898b8561356f565b9750905080156132345786806020019051810190613204919061554c565b915061320f82613420565b61322f5760405163a85ba64f60e01b8152601460048201526024016112e2565b61323d565b61323d87613625565b50505f6006555092979650505050505050565b600654606090156132775760405163a85ba64f60e01b8152601560048201526024016112e2565b8361328181611ccf565b61329e5760405163619c535960e01b815260040160405180910390fd5b5f6132a885614916565b60408051610160810182525f808252600160208301529293506133259181014281526020018a6001600160a01b03168152602001846001600160e01b03191681526020018781526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681525061343e565b90505f61333488885f8561356f565b95509050806133465761334685613625565b50505f600655509095945050505050565b61335f614bed565b60608083806020019051810190613376919061567b565b815191935091505f9061339290840160209081019085016156d4565b60a08901526001600160e01b03191660808801526001600160a01b031660608701526040860152602081811c600f168187015260ff909116855282515f92506133e2919084018101908401615753565b6001600160a01b03908116610140890152166101208701526101008601526001600160801b03811660c086015260801c60e085015250919392505050565b5f81515f141580156110a35750600654825160208401201492915050565b60606001825f015160ff16111561346b5760405163a85ba64f60e01b8152602860048201526024016112e2565b81516020808401515f9260ff1664ff000000009190921b161790505f60806134968560e001516149ea565b6001600160801b0316901b6134ae8560c001516149ea565b6001600160801b0316179050818460400151856060015186608001518760a001516040516020016134e395949392919061579c565b60408051601f1981840301815282825261010087015161012088015161014089015160208601879052938501919091526001600160a01b03908116606085015290911660808301529060a00160408051601f198184030181529082905261354d9291602001615071565b60408051601f1981840301815291905280516020820120600655949350505050565b5f60606001600160a01b0386166135885761358861557d565b6135928584614a21565b9450856001600160a01b031684866040516135ad91906157fe565b5f6040518083038185875af1925050503d805f81146135e7576040519150601f19603f3d011682016040523d82523d5f602084013e6135ec565b606091505b509092509050811561361c5780515f0361361c5760405163a85ba64f60e01b8152601660048201526024016112e2565b94509492505050565b6004815110156136775760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a2074617267657420726576657274282900000000000060448201526064016112e2565b602081015163b1b7848f60e01b6001600160e01b03198216016137275760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b81529192916112e291849101614dea565b81518060208401fd5b5f6137597f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036137af5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016112e2565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137eb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061380f9190615492565b7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74146138895760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016112e2565b6001600160a01b03811630036138e15760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016112e2565b613909817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74604080519182526001600160a01b038416602083015201611814565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b038316918101919091525f9060c0015b604051602081830303815290604052805190602001209050919050565b5f60183610801590613a045750613a04336118ea565b613a485760405162461bcd60e51b81526020600482015260156024820152742737ba103a393ab9ba32b2103337b93bb0b93232b960591b60448201526064016112e2565b5060131936013560601c90565b5f5b818110156144d9575f838383818110613a7257613a726154d0565b9050602002810190613a849190615809565b613a92906020810190615827565b90505f1963ffffffff821601613b7f575f5f858585818110613ab657613ab66154d0565b9050602002810190613ac89190615809565b613ad690604081019061584a565b810190613ae39190615468565b91509150858585818110613af957613af96154d0565b9050602002810190613b0b9190615809565b613b1c906040810190602001614c5b565b6001600160a01b03166362aa52878884846040518463ffffffff1660e01b8152600401613b4b939291906155ac565b5f604051808303815f87803b158015613b62575f5ffd5b505af1158015613b74573d5f5f3e3d5ffd5b5050505050506144d0565b60011963ffffffff821601613c83575f5f5f868686818110613ba357613ba36154d0565b9050602002810190613bb59190615809565b613bc390604081019061584a565b810190613bd0919061588c565b925092509250868686818110613be857613be86154d0565b9050602002810190613bfa9190615809565b613c0b906040810190602001614c5b565b604051630b682aeb60e11b81526001600160a01b038a81166004830152858116602483015284811660448301526064820184905291909116906316d055d6906084015b5f604051808303815f87803b158015613c65575f5ffd5b505af1158015613c77573d5f5f3e3d5ffd5b505050505050506144d0565b60021963ffffffff821601613d40575f5f5f868686818110613ca757613ca76154d0565b9050602002810190613cb99190615809565b613cc790604081019061584a565b810190613cd491906158ca565b925092509250868686818110613cec57613cec6154d0565b9050602002810190613cfe9190615809565b613d0f906040810190602001614c5b565b6001600160a01b031663ca0c1e7f898585856040518563ffffffff1660e01b8152600401613c4e9493929190615908565b60031963ffffffff821601613df8575f5f858585818110613d6357613d636154d0565b9050602002810190613d759190615809565b613d8390604081019061584a565b810190613d909190615468565b91509150858585818110613da657613da66154d0565b9050602002810190613db89190615809565b613dc9906040810190602001614c5b565b6001600160a01b0316634b2763b38884846040518463ffffffff1660e01b8152600401613b4b939291906155ac565b60041963ffffffff821601613eb0575f5f858585818110613e1b57613e1b6154d0565b9050602002810190613e2d9190615809565b613e3b90604081019061584a565b810190613e489190615468565b91509150858585818110613e5e57613e5e6154d0565b9050602002810190613e709190615809565b613e81906040810190602001614c5b565b6001600160a01b031663c780fd828884846040518463ffffffff1660e01b8152600401613b4b939291906155ac565b60641963ffffffff821601613fa057838383818110613ed157613ed16154d0565b9050602002810190613ee39190615809565b613ef4906040810190602001614c5b565b6001600160a01b031663ca78946486868686818110613f1557613f156154d0565b9050602002810190613f279190615809565b613f3590604081019061584a565b810190613f4291906152a9565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044015f604051808303815f87803b158015613f85575f5ffd5b505af1158015613f97573d5f5f3e3d5ffd5b505050506144d0565b60651963ffffffff82160161400557838383818110613fc157613fc16154d0565b9050602002810190613fd39190615809565b613fe4906040810190602001614c5b565b6001600160a01b031663245887fc86868686818110613f1557613f156154d0565b60661963ffffffff8216016140bd575f5f858585818110614028576140286154d0565b905060200281019061403a9190615809565b61404890604081019061584a565b8101906140559190615468565b9150915085858581811061406b5761406b6154d0565b905060200281019061407d9190615809565b61408e906040810190602001614c5b565b6001600160a01b0316631ae88ffc8884846040518463ffffffff1660e01b8152600401613b4b939291906155ac565b60671963ffffffff821601614175575f5f8585858181106140e0576140e06154d0565b90506020028101906140f29190615809565b61410090604081019061584a565b81019061410d9190615468565b91509150858585818110614123576141236154d0565b90506020028101906141359190615809565b614146906040810190602001614c5b565b6001600160a01b03166347ba7ad18884846040518463ffffffff1660e01b8152600401613b4b939291906155ac565b60c81963ffffffff821601614211575f5f858585818110614198576141986154d0565b90506020028101906141aa9190615809565b6141b890604081019061584a565b8101906141c5919061593a565b91509150614209878787878181106141df576141df6154d0565b90506020028101906141f19190615809565b614202906040810190602001614c5b565b8484613250565b5050506144d0565b60c91963ffffffff8216016142cb576142c585858585818110614236576142366154d0565b90506020028101906142489190615809565b614259906040810190602001614c5b565b4787878781811061426c5761426c6154d0565b905060200281019061427e9190615809565b61428c90604081019061584a565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061301892505050565b506144d0565b61012c1963ffffffff8216016143ee575f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166322bee4944788888881811061431f5761431f6154d0565b90506020028101906143319190615809565b614342906040810190602001614c5b565b898989818110614354576143546154d0565b90506020028101906143669190615809565b61437490604081019061584a565b6040518563ffffffff1660e01b8152600401614392939291906159af565b5f6040518083038185885af11580156143ad573d5f5f3e3d5ffd5b50505050506040513d5f823e601f3d908101601f191682016040526143d591908101906159d3565b91509150816143e7576143e781613625565b50506144d0565b61012d1963ffffffff8216016144b7575f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663177ec59447888888818110614442576144426154d0565b90506020028101906144549190615809565b614465906040810190602001614c5b565b8a8a8a8a818110614478576144786154d0565b905060200281019061448a9190615809565b61449890604081019061584a565b6040518663ffffffff1660e01b81526004016143929493929190615a0a565b60405163b477011560e01b815260040160405180910390fd5b50600101613a57565b504715612615576040516001600160a01b038416904780156108fc02915f818181858888f19350505050158015614512573d5f5f3e3d5ffd5b50505050565b5f6060816001600160a01b0389166145325761453261557d565b61800085511115614556576040516362a06f4560e01b815260040160405180910390fd5b6145608686614a21565b95505f5a90505f8961457c576145778b8988614ad8565b614587565b6145878b8988614b1d565b91965090945090505f5a61459b90846154bd565b9050868110156145b4576145af81886154bd565b6145b6565b5f5b9350856145f957816145e057896145d5576145d085613625565b6145f9565b6145d08c600a61466e565b604051636a7aea4b60e11b815260040160405180910390fd5b50505096509650969350505050565b5f60408251101561461a57505f919050565b602082810151905f90821461463257505f9392505050565b604084015190505f6040855161464891906154bd565b90508082111561465c57505f949350505050565b61466582614b3a565b14949350505050565b6001600160a01b0382165f90815260046020526040812054618000169003611a62576001600160a01b0382165f81815260046020526040908190208054618000179055517fbe3aa33bd245135e4e26b223d79d14ea479a47bff09f2b03c53838af1edbb14b906146e19084815260200190565b60405180910390a25050565b604051632474521560e21b81527f1fd2cd0659bdcac914c39b66359256350b866e92047951635b57d928f32d9e8460048201526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906391d1485490604401602060405180830381865afa158015614777573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061479b9190615591565b156147a4575050565b5f6147af8284614b71565b5f805460405163407b865d60e11b81529293504292620100009091046001600160a01b0316916380f70cba916147eb91309187906004016155ac565b602060405180830381865afa158015614806573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061482a9190615492565b101561261557604051630b56455f60e41b815260040160405180910390fd5b64ff000080ff198116151580614860575060ff8116155b8061486e5750618000811615155b1561488c57604051633d3200a960e21b815260040160405180910390fd5b6001600160a01b0382165f90815260046020526040902054156148c2576040516301b0a93560e01b815260040160405180910390fd5b60408051602080820183528382526001600160a01b0385165f81815260049092528382209251909255915190917f0d540ad8f39e07d19909687352b9fa017405d93c91a6760981fbae9cf28bfef791a25050565b5f6004825110156149695760405162461bcd60e51b815260206004820152601b60248201527f43616c6c5574696c733a20696e76616c69642063616c6c44617461000000000060448201526064016112e2565b506020015190565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b038316918101919091525f9060c0016139d1565b5f6001600160801b03821115614a1d576040516306dfcc6560e41b815260806004820152602481018390526044016112e2565b5090565b815180830151606091908015614a4a576040516367e9985b60e01b815260040160405180910390fd5b50601f1981018452825184908481614a6181614b3a565b614a6b91906154bd565b6001600160401b03811115614a8257614a82614cb4565b6040519080825280601f01601f191660200182016040528015614aac576020820181803683370190505b50604051602001614ac09493929190615a36565b60405160208183030381529060405291505092915050565b5f5f60605f5a90505f5f8751602089015f8b8af19350614af6614ba3565b915083614b1357614b08604082615a5a565b5a11614b1357600192505b5093509350939050565b5f5f60605f5a90505f5f8751602089018a89fa9350614af6614ba3565b5f5f82601f1611614b4b575f614b4e565b60015b60ff16614b5c602084615a5a565b614b669190615a79565b6110a3906020615a8c565b5f8282604051602001614b85929190615aa3565b60405160208183030381529060405280519060200120905092915050565b6040513d62020000811160018114614bd157818352815f602085013e603f8201601f19168301604052505090565b5f835260208301604052505090565b61023980615b2883390190565b60408051610160810182525f8082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b0381168114611580575f5ffd5b5f60208284031215614c6b575f5ffd5b8135614c7681614c47565b9392505050565b5f5f60408385031215614c8e575f5ffd5b8235614c9981614c47565b91506020830135614ca981614c47565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715614cf057614cf0614cb4565b604052919050565b5f6001600160401b03821115614d1057614d10614cb4565b50601f01601f191660200190565b5f82601f830112614d2d575f5ffd5b8135614d40614d3b82614cf8565b614cc8565b818152846020838601011115614d54575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f60408385031215614d81575f5ffd5b8235614d8c81614c47565b915060208301356001600160401b03811115614da6575f5ffd5b614db285828601614d1e565b9150509250929050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6110a06020830184614dbc565b5f5f5f60608486031215614e0e575f5ffd5b8335614e1981614c47565b925060208401356001600160401b03811115614e33575f5ffd5b614e3f86828701614d1e565b92505060408401356001600160401b03811115614e5a575f5ffd5b614e6686828701614d1e565b9150509250925092565b5f60208284031215614e80575f5ffd5b81356001600160401b03811115614e95575f5ffd5b61126984828501614d1e565b60208152614eb560208201835160ff169052565b5f6020830151614eca604084018260ff169052565b50604083015160608301526060830151614eef60808401826001600160a01b03169052565b5060808301516001600160e01b0319811660a08401525060a083015161016060c0840152614f21610180840182614dbc565b905060c084015160e084015260e0840151610100840152610100840151610120840152610120840151614f606101408501826001600160a01b03169052565b506101408401516001600160a01b038116610160850152509392505050565b5f5f83601f840112614f8f575f5ffd5b5081356001600160401b03811115614fa5575f5ffd5b602083019150836020828501011115614fbc575f5ffd5b9250929050565b5f5f5f5f5f5f5f6080888a031215614fd9575f5ffd5b8735614fe481614c47565b965060208801356001600160401b03811115614ffe575f5ffd5b61500a8a828b01614f7f565b90975095505060408801356001600160401b03811115615028575f5ffd5b6150348a828b01614f7f565b90955093505060608801356001600160401b03811115615052575f5ffd5b61505e8a828b01614f7f565b989b979a50959850939692959293505050565b604081525f6150836040830185614dbc565b8281036020840152611fce8185614dbc565b5f5f5f604084860312156150a7575f5ffd5b83356001600160401b038111156150bc575f5ffd5b6150c886828701614f7f565b909790965060209590950135949350505050565b5f5f602083850312156150ed575f5ffd5b82356001600160401b03811115615102575f5ffd5b8301601f81018513615112575f5ffd5b80356001600160401b03811115615127575f5ffd5b8560208260051b840101111561513b575f5ffd5b6020919091019590945092505050565b5f5f5f5f5f5f60a08789031215615160575f5ffd5b86356001600160401b03811115615175575f5ffd5b61518189828a01614f7f565b909750955050602087013561519581614c47565b9350604087013592506060870135915060808701356151b381614c47565b809150509295509295509295565b8015158114611580575f5ffd5b5f5f5f5f5f5f5f60a0888a0312156151e4575f5ffd5b87356151ef81614c47565b965060208801356001600160401b03811115615209575f5ffd5b6152158a828b01614f7f565b9097509550506040880135615229816151c1565b935060608801356001600160401b03811115615243575f5ffd5b61524f8a828b01614f7f565b989b979a50959894979596608090950135949350505050565b604081525f61527a6040830185614dbc565b90508260208301529392505050565b5f5f6040838503121561529a575f5ffd5b50508035926020909101359150565b5f602082840312156152b9575f5ffd5b5035919050565b5f5f5f5f606085870312156152d3575f5ffd5b84356001600160401b038111156152e8575f5ffd5b6152f487828801614f7f565b909550935050602085013561530881614c47565b9396929550929360400135925050565b5f5f5f5f5f6060868803121561532c575f5ffd5b853561533781614c47565b945060208601356001600160401b03811115615351575f5ffd5b61535d88828901614f7f565b90955093505060408601356001600160401b0381111561537b575f5ffd5b61538788828901614f7f565b969995985093965092949392505050565b5f5f5f604084860312156153aa575f5ffd5b8335925060208401356001600160401b038111156153c6575f5ffd5b6153d286828701614f7f565b9497909650939450505050565b5f5f602083850312156153f0575f5ffd5b82356001600160401b03811115615405575f5ffd5b61541185828601614f7f565b90969095509350505050565b602080825282518282018190525f918401906040840190835b8181101561545d5783516001600160a01b0316835260209384019390920191600101615436565b509095945050505050565b5f5f60408385031215615479575f5ffd5b823561548481614c47565b946020939093013593505050565b5f602082840312156154a2575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156110a3576110a36154a9565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156154f4575f5ffd5b8151614c7681614c47565b5f82601f83011261550e575f5ffd5b815161551c614d3b82614cf8565b818152846020838601011115615530575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f6020828403121561555c575f5ffd5b81516001600160401b03811115615571575f5ffd5b611269848285016154ff565b634e487b7160e01b5f52600160045260245ffd5b5f602082840312156155a1575f5ffd5b8151614c76816151c1565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8082018281125f8312801582168215821617156155ef576155ef6154a9565b505092915050565b5f60ff821660ff810361560c5761560c6154a9565b60010192915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b5f60018201615674576156746154a9565b5060010190565b5f5f6040838503121561568c575f5ffd5b82516001600160401b038111156156a1575f5ffd5b6156ad858286016154ff565b92505060208301516001600160401b038111156156c8575f5ffd5b614db2858286016154ff565b5f5f5f5f5f60a086880312156156e8575f5ffd5b855160208701516040880151919650945061570281614c47565b60608701519093506001600160e01b03198116811461571f575f5ffd5b60808701519092506001600160401b0381111561573a575f5ffd5b615746888289016154ff565b9150509295509295909350565b5f5f5f5f60808587031215615766575f5ffd5b845160208601516040870151919550935061578081614c47565b606086015190925061579181614c47565b939692955090935050565b858152602081018590526001600160a01b03841660408201526001600160e01b03198316606082015260a0608082018190525f906157dc90830184614dbc565b979650505050505050565b5f81518060208401855e5f93019283525090919050565b5f6110a082846157e7565b5f8235605e1983360301811261581d575f5ffd5b9190910192915050565b5f60208284031215615837575f5ffd5b813563ffffffff81168114614c76575f5ffd5b5f5f8335601e1984360301811261585f575f5ffd5b8301803591506001600160401b03821115615878575f5ffd5b602001915036819003821315614fbc575f5ffd5b5f5f5f6060848603121561589e575f5ffd5b83356158a981614c47565b925060208401356158b981614c47565b929592945050506040919091013590565b5f5f5f606084860312156158dc575f5ffd5b83356158e781614c47565b92506020840135915060408401356001600160401b03811115614e5a575f5ffd5b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90611a4690830184614dbc565b5f5f6040838503121561594b575f5ffd5b82356001600160401b03811115615960575f5ffd5b61596c85828601614d1e565b92505060208301356001600160401b03811115614da6575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190525f90611fce9083018486615987565b5f5f604083850312156159e4575f5ffd5b82516159ef816151c1565b60208401519092506001600160401b038111156156c8575f5ffd5b6001600160a01b038581168252841660208201526060604082018190525f90611a469083018486615987565b5f615a4182876157e7565b8581526157dc615a5460208301876157e7565b856157e7565b5f82615a7457634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156110a3576110a36154a9565b80820281158282048414176110a3576110a36154a9565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e060408201525f61126960e0830184614dbc56fe6080604052348015600e575f5ffd5b5061021d8061001c5f395ff3fe608060405260043610610021575f3560e01c80634a0687ef1461003857610030565b366100305761002e610057565b005b61002e610057565b348015610043575f5ffd5b5061002e6100523660046101ba565b610069565b61006761006261016e565b61019c565b565b6001600160a01b0381166100c45760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b5f6100ed7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101435760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bb565b61016b817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b5f6101977f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b365f5f375f5f365f845af43d5f5f3e8080156101b6573d5ff35b3d5ffd5b5f602082840312156101ca575f5ffd5b81356001600160a01b03811681146101e0575f5ffd5b939250505056fea26469706673582212201ceef34221f29609fe3cb365ba700d7fa6020b5209e83935d790e10a64a8f31764736f6c63430008230033a264697066735822122063324cd1e054902b77ad673595eca34014246d63ecf0621a8cc1ff9b17198ccb64736f6c63430008230033";
1474
1494
  const isSuperArgs = (xs) => xs.length > 1;
1475
1495
  class SuperfluidUpgradabilityTester__factory extends ethers_1.ContractFactory {
1476
1496
  constructor(...args) {