@superfluid-finance/sdk-core 0.7.2-dev.5875f1a.0 → 0.7.2-dev.7e943b7.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 (488) hide show
  1. package/dist/index.umd.js +692 -139
  2. package/dist/main/typechain-types/contracts/interfaces/superfluid/ISuperToken.d.ts +33 -1
  3. package/dist/main/typechain-types/contracts/interfaces/superfluid/ISuperToken.d.ts.map +1 -1
  4. package/dist/main/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts +4 -4
  5. package/dist/main/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts.map +1 -1
  6. package/dist/main/typechain-types/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken.d.ts +33 -1
  7. package/dist/main/typechain-types/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken.d.ts.map +1 -1
  8. package/dist/main/typechain-types/contracts/interfaces/tokens/ISETH.sol/ISETH.d.ts +33 -1
  9. package/dist/main/typechain-types/contracts/interfaces/tokens/ISETH.sol/ISETH.d.ts.map +1 -1
  10. package/dist/main/typechain-types/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock.d.ts +33 -1
  11. package/dist/main/typechain-types/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock.d.ts.map +1 -1
  12. package/dist/main/typechain-types/contracts/mocks/SuperTokenMock.sol/SuperTokenMock.d.ts +33 -1
  13. package/dist/main/typechain-types/contracts/mocks/SuperTokenMock.sol/SuperTokenMock.d.ts.map +1 -1
  14. package/dist/main/typechain-types/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester.d.ts +33 -1
  15. package/dist/main/typechain-types/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester.d.ts.map +1 -1
  16. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.sol/SuperfluidMock.d.ts +13 -5
  17. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.sol/SuperfluidMock.d.ts.map +1 -1
  18. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester.d.ts +13 -5
  19. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester.d.ts.map +1 -1
  20. package/dist/main/typechain-types/contracts/superfluid/SuperToken.d.ts +33 -1
  21. package/dist/main/typechain-types/contracts/superfluid/SuperToken.d.ts.map +1 -1
  22. package/dist/main/typechain-types/contracts/superfluid/Superfluid.d.ts +13 -5
  23. package/dist/main/typechain-types/contracts/superfluid/Superfluid.d.ts.map +1 -1
  24. package/dist/main/typechain-types/contracts/utils/DMZForwarder.d.ts +144 -0
  25. package/dist/main/typechain-types/contracts/utils/DMZForwarder.d.ts.map +1 -0
  26. package/dist/main/typechain-types/contracts/utils/DMZForwarder.js +3 -0
  27. package/dist/main/typechain-types/contracts/utils/DMZForwarder.js.map +1 -0
  28. package/dist/main/typechain-types/contracts/utils/index.d.ts +1 -0
  29. package/dist/main/typechain-types/contracts/utils/index.d.ts.map +1 -1
  30. package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts +1 -1
  31. package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js +1 -1
  32. package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts +1 -1
  33. package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js +1 -1
  34. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts +1 -1
  35. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js +1 -1
  36. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.d.ts +1 -1
  37. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.js +1 -1
  38. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.d.ts +1 -1
  39. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.js +1 -1
  40. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts +1 -1
  41. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js +1 -1
  42. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.d.ts +1 -1
  43. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.js +1 -1
  44. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.d.ts +1 -1
  45. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.js +1 -1
  46. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.d.ts +36 -0
  47. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.d.ts.map +1 -1
  48. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.js +46 -0
  49. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.js.map +1 -1
  50. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.d.ts +1 -1
  51. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js +1 -1
  52. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js.map +1 -1
  53. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.d.ts +36 -0
  54. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.d.ts.map +1 -1
  55. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.js +46 -0
  56. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.js.map +1 -1
  57. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.d.ts +36 -0
  58. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.d.ts.map +1 -1
  59. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.js +46 -0
  60. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.js.map +1 -1
  61. package/dist/main/typechain-types/factories/contracts/mocks/AgreementMock__factory.d.ts +1 -1
  62. package/dist/main/typechain-types/factories/contracts/mocks/AgreementMock__factory.js +1 -1
  63. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ClosingOnUpdateFlowTestApp__factory.d.ts +1 -1
  64. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ClosingOnUpdateFlowTestApp__factory.js +1 -1
  65. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ExclusiveInflowTestApp__factory.d.ts +1 -1
  66. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ExclusiveInflowTestApp__factory.js +1 -1
  67. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/FlowExchangeTestApp__factory.d.ts +1 -1
  68. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/FlowExchangeTestApp__factory.js +1 -1
  69. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/NonClosableOutflowTestApp__factory.d.ts +1 -1
  70. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/NonClosableOutflowTestApp__factory.js +1 -1
  71. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/SelfDeletingFlowTestApp__factory.d.ts +1 -1
  72. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/SelfDeletingFlowTestApp__factory.js +1 -1
  73. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibraryMock__factory.d.ts +1 -1
  74. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibraryMock__factory.js +1 -1
  75. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibrarySuperAppMock__factory.d.ts +1 -1
  76. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibrarySuperAppMock__factory.js +1 -1
  77. package/dist/main/typechain-types/factories/contracts/mocks/CFASuperAppBaseTester__factory.d.ts +1 -1
  78. package/dist/main/typechain-types/factories/contracts/mocks/CFASuperAppBaseTester__factory.js +1 -1
  79. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantInflowNFTMock__factory.d.ts +1 -1
  80. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantInflowNFTMock__factory.js +1 -1
  81. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantOutflowNFTMock__factory.d.ts +1 -1
  82. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantOutflowNFTMock__factory.js +1 -1
  83. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/FlowNFTBaseMock__factory.d.ts +1 -1
  84. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/FlowNFTBaseMock__factory.js +1 -1
  85. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantInflowNFTStorageLayoutMock__factory.d.ts +1 -1
  86. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantInflowNFTStorageLayoutMock__factory.js +1 -1
  87. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantOutflowNFTStorageLayoutMock__factory.d.ts +1 -1
  88. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantOutflowNFTStorageLayoutMock__factory.js +1 -1
  89. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/FlowNFTBaseStorageLayoutMock__factory.d.ts +1 -1
  90. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/FlowNFTBaseStorageLayoutMock__factory.js +1 -1
  91. package/dist/main/typechain-types/factories/contracts/mocks/CrossStreamSuperApp__factory.d.ts +1 -1
  92. package/dist/main/typechain-types/factories/contracts/mocks/CrossStreamSuperApp__factory.js +1 -1
  93. package/dist/main/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock__factory.d.ts +36 -0
  94. package/dist/main/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock__factory.d.ts.map +1 -1
  95. package/dist/main/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock__factory.js +46 -0
  96. package/dist/main/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock__factory.js.map +1 -1
  97. package/dist/main/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenProxyMock__factory.d.ts +1 -1
  98. package/dist/main/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenProxyMock__factory.js +1 -1
  99. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientDrainingGas__factory.d.ts +1 -1
  100. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientDrainingGas__factory.js +1 -1
  101. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientReverting__factory.d.ts +1 -1
  102. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientReverting__factory.js +1 -1
  103. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777SenderRecipientMock__factory.d.ts +1 -1
  104. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777SenderRecipientMock__factory.js +1 -1
  105. package/dist/main/typechain-types/factories/contracts/mocks/IDASuperAppTester__factory.d.ts +1 -1
  106. package/dist/main/typechain-types/factories/contracts/mocks/IDASuperAppTester__factory.js +1 -1
  107. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibraryMock__factory.d.ts +1 -1
  108. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibraryMock__factory.js +1 -1
  109. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibrarySuperAppMock__factory.d.ts +1 -1
  110. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibrarySuperAppMock__factory.js +1 -1
  111. package/dist/main/typechain-types/factories/contracts/mocks/MockSmartWallet__factory.d.ts +1 -1
  112. package/dist/main/typechain-types/factories/contracts/mocks/MockSmartWallet__factory.js +1 -1
  113. package/dist/main/typechain-types/factories/contracts/mocks/MultiFlowTesterApp__factory.d.ts +1 -1
  114. package/dist/main/typechain-types/factories/contracts/mocks/MultiFlowTesterApp__factory.js +1 -1
  115. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolAdminNFTMock__factory.d.ts +1 -1
  116. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolAdminNFTMock__factory.js +1 -1
  117. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolMemberNFTMock__factory.d.ts +1 -1
  118. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolMemberNFTMock__factory.js +1 -1
  119. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolNFTBaseMock__factory.d.ts +1 -1
  120. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolNFTBaseMock__factory.js +1 -1
  121. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolAdminNFTStorageLayoutMock__factory.d.ts +1 -1
  122. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolAdminNFTStorageLayoutMock__factory.js +1 -1
  123. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolMemberNFTStorageLayoutMock__factory.d.ts +1 -1
  124. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolMemberNFTStorageLayoutMock__factory.js +1 -1
  125. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolNFTBaseStorageLayoutMock__factory.d.ts +1 -1
  126. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolNFTBaseStorageLayoutMock__factory.js +1 -1
  127. package/dist/main/typechain-types/factories/contracts/mocks/StreamRedirector__factory.d.ts +1 -1
  128. package/dist/main/typechain-types/factories/contracts/mocks/StreamRedirector__factory.js +1 -1
  129. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppFactoryMock__factory.d.ts +1 -1
  130. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppFactoryMock__factory.js +1 -1
  131. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock2ndLevel__factory.d.ts +1 -1
  132. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock2ndLevel__factory.js +1 -1
  133. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockAux__factory.d.ts +1 -1
  134. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockAux__factory.js +1 -1
  135. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningEmptyCtx__factory.d.ts +1 -1
  136. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningEmptyCtx__factory.js +1 -1
  137. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningInvalidCtx__factory.d.ts +1 -1
  138. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningInvalidCtx__factory.js +1 -1
  139. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockUsingRegisterApp__factory.d.ts +1 -1
  140. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockUsingRegisterApp__factory.js +1 -1
  141. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockWithRegistrationKey__factory.d.ts +1 -1
  142. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockWithRegistrationKey__factory.js +1 -1
  143. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock__factory.d.ts +1 -1
  144. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock__factory.js +1 -1
  145. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock42__factory.d.ts +1 -1
  146. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock42__factory.js +1 -1
  147. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock__factory.d.ts +1 -1
  148. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock__factory.js +1 -1
  149. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryStorageLayoutTester__factory.d.ts +1 -1
  150. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryStorageLayoutTester__factory.js +1 -1
  151. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.d.ts +1 -1
  152. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.js +1 -1
  153. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFAMock__factory.d.ts +1 -1
  154. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFAMock__factory.js +1 -1
  155. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFASuperAppMock__factory.d.ts +1 -1
  156. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFASuperAppMock__factory.js +1 -1
  157. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDAMock__factory.d.ts +1 -1
  158. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDAMock__factory.js +1 -1
  159. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDASuperAppMock__factory.d.ts +1 -1
  160. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDASuperAppMock__factory.js +1 -1
  161. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDAMock__factory.d.ts +1 -1
  162. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDAMock__factory.js +1 -1
  163. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDASuperAppMock__factory.d.ts +1 -1
  164. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDASuperAppMock__factory.js +1 -1
  165. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/NoNFTSuperTokenMock__factory.d.ts +1 -1
  166. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/NoNFTSuperTokenMock__factory.js +1 -1
  167. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenMock__factory.d.ts +37 -1
  168. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenMock__factory.d.ts.map +1 -1
  169. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenMock__factory.js +47 -1
  170. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenMock__factory.js.map +1 -1
  171. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester__factory.d.ts +37 -1
  172. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester__factory.d.ts.map +1 -1
  173. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester__factory.js +47 -1
  174. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester__factory.js.map +1 -1
  175. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.d.ts +1 -1
  176. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.js +1 -1
  177. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.d.ts +18 -4
  178. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.d.ts.map +1 -1
  179. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.js +24 -6
  180. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.js.map +1 -1
  181. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.d.ts +12 -2
  182. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.d.ts.map +1 -1
  183. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.js +15 -2
  184. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.js.map +1 -1
  185. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidPoolUpgradabilityMock.sol/SuperfluidPoolStorageLayoutMock__factory.d.ts +1 -1
  186. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidPoolUpgradabilityMock.sol/SuperfluidPoolStorageLayoutMock__factory.js +1 -1
  187. package/dist/main/typechain-types/factories/contracts/superfluid/ConstantInflowNFT__factory.d.ts +1 -1
  188. package/dist/main/typechain-types/factories/contracts/superfluid/ConstantInflowNFT__factory.js +1 -1
  189. package/dist/main/typechain-types/factories/contracts/superfluid/ConstantOutflowNFT__factory.d.ts +1 -1
  190. package/dist/main/typechain-types/factories/contracts/superfluid/ConstantOutflowNFT__factory.js +1 -1
  191. package/dist/main/typechain-types/factories/contracts/superfluid/FullUpgradableSuperTokenProxy__factory.d.ts +1 -1
  192. package/dist/main/typechain-types/factories/contracts/superfluid/FullUpgradableSuperTokenProxy__factory.js +1 -1
  193. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.d.ts +1 -1
  194. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.js +1 -1
  195. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts +37 -1
  196. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts.map +1 -1
  197. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.js +47 -1
  198. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.js.map +1 -1
  199. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts +18 -4
  200. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts.map +1 -1
  201. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.js +24 -6
  202. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.js.map +1 -1
  203. package/dist/main/typechain-types/factories/contracts/tokens/PureSuperToken__factory.d.ts +1 -1
  204. package/dist/main/typechain-types/factories/contracts/tokens/PureSuperToken__factory.js +1 -1
  205. package/dist/main/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.d.ts +1 -1
  206. package/dist/main/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.js +1 -1
  207. package/dist/main/typechain-types/factories/contracts/utils/BatchLiquidator__factory.d.ts +1 -1
  208. package/dist/main/typechain-types/factories/contracts/utils/BatchLiquidator__factory.js +1 -1
  209. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts +1 -1
  210. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js +1 -1
  211. package/dist/main/typechain-types/factories/contracts/utils/DMZForwarder__factory.d.ts +120 -0
  212. package/dist/main/typechain-types/factories/contracts/utils/DMZForwarder__factory.d.ts.map +1 -0
  213. package/dist/main/typechain-types/factories/contracts/utils/DMZForwarder__factory.js +171 -0
  214. package/dist/main/typechain-types/factories/contracts/utils/DMZForwarder__factory.js.map +1 -0
  215. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts +1 -1
  216. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js +1 -1
  217. package/dist/main/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.d.ts +1 -1
  218. package/dist/main/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.js +1 -1
  219. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts +1 -1
  220. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.js +1 -1
  221. package/dist/main/typechain-types/factories/contracts/utils/SuperUpgrader__factory.d.ts +1 -1
  222. package/dist/main/typechain-types/factories/contracts/utils/SuperUpgrader__factory.js +1 -1
  223. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts +2 -1
  224. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts.map +1 -1
  225. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js +4 -1
  226. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js.map +1 -1
  227. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts +2 -1
  228. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts.map +1 -1
  229. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js +4 -1
  230. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js.map +1 -1
  231. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.d.ts +1 -1
  232. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.js +1 -1
  233. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts +1 -1
  234. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.js +1 -1
  235. package/dist/main/typechain-types/factories/contracts/utils/TestGovernance__factory.d.ts +1 -1
  236. package/dist/main/typechain-types/factories/contracts/utils/TestGovernance__factory.js +1 -1
  237. package/dist/main/typechain-types/factories/contracts/utils/index.d.ts +1 -0
  238. package/dist/main/typechain-types/factories/contracts/utils/index.d.ts.map +1 -1
  239. package/dist/main/typechain-types/factories/contracts/utils/index.js +3 -1
  240. package/dist/main/typechain-types/factories/contracts/utils/index.js.map +1 -1
  241. package/dist/main/typechain-types/index.d.ts +2 -0
  242. package/dist/main/typechain-types/index.d.ts.map +1 -1
  243. package/dist/main/typechain-types/index.js +3 -1
  244. package/dist/main/typechain-types/index.js.map +1 -1
  245. package/dist/module/typechain-types/contracts/interfaces/superfluid/ISuperToken.d.ts +33 -1
  246. package/dist/module/typechain-types/contracts/interfaces/superfluid/ISuperToken.d.ts.map +1 -1
  247. package/dist/module/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts +4 -4
  248. package/dist/module/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts.map +1 -1
  249. package/dist/module/typechain-types/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken.d.ts +33 -1
  250. package/dist/module/typechain-types/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken.d.ts.map +1 -1
  251. package/dist/module/typechain-types/contracts/interfaces/tokens/ISETH.sol/ISETH.d.ts +33 -1
  252. package/dist/module/typechain-types/contracts/interfaces/tokens/ISETH.sol/ISETH.d.ts.map +1 -1
  253. package/dist/module/typechain-types/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock.d.ts +33 -1
  254. package/dist/module/typechain-types/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock.d.ts.map +1 -1
  255. package/dist/module/typechain-types/contracts/mocks/SuperTokenMock.sol/SuperTokenMock.d.ts +33 -1
  256. package/dist/module/typechain-types/contracts/mocks/SuperTokenMock.sol/SuperTokenMock.d.ts.map +1 -1
  257. package/dist/module/typechain-types/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester.d.ts +33 -1
  258. package/dist/module/typechain-types/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester.d.ts.map +1 -1
  259. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.sol/SuperfluidMock.d.ts +13 -5
  260. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.sol/SuperfluidMock.d.ts.map +1 -1
  261. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester.d.ts +13 -5
  262. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester.d.ts.map +1 -1
  263. package/dist/module/typechain-types/contracts/superfluid/SuperToken.d.ts +33 -1
  264. package/dist/module/typechain-types/contracts/superfluid/SuperToken.d.ts.map +1 -1
  265. package/dist/module/typechain-types/contracts/superfluid/Superfluid.d.ts +13 -5
  266. package/dist/module/typechain-types/contracts/superfluid/Superfluid.d.ts.map +1 -1
  267. package/dist/module/typechain-types/contracts/utils/DMZForwarder.d.ts +144 -0
  268. package/dist/module/typechain-types/contracts/utils/DMZForwarder.d.ts.map +1 -0
  269. package/dist/module/typechain-types/contracts/utils/DMZForwarder.js +2 -0
  270. package/dist/module/typechain-types/contracts/utils/DMZForwarder.js.map +1 -0
  271. package/dist/module/typechain-types/contracts/utils/index.d.ts +1 -0
  272. package/dist/module/typechain-types/contracts/utils/index.d.ts.map +1 -1
  273. package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts +1 -1
  274. package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js +1 -1
  275. package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts +1 -1
  276. package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js +1 -1
  277. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts +1 -1
  278. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js +1 -1
  279. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.d.ts +1 -1
  280. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.js +1 -1
  281. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.d.ts +1 -1
  282. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.js +1 -1
  283. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts +1 -1
  284. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js +1 -1
  285. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.d.ts +1 -1
  286. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.js +1 -1
  287. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.d.ts +1 -1
  288. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.js +1 -1
  289. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.d.ts +36 -0
  290. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.d.ts.map +1 -1
  291. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.js +46 -0
  292. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.js.map +1 -1
  293. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.d.ts +1 -1
  294. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js +1 -1
  295. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js.map +1 -1
  296. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.d.ts +36 -0
  297. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.d.ts.map +1 -1
  298. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.js +46 -0
  299. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.js.map +1 -1
  300. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.d.ts +36 -0
  301. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.d.ts.map +1 -1
  302. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.js +46 -0
  303. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.js.map +1 -1
  304. package/dist/module/typechain-types/factories/contracts/mocks/AgreementMock__factory.d.ts +1 -1
  305. package/dist/module/typechain-types/factories/contracts/mocks/AgreementMock__factory.js +1 -1
  306. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ClosingOnUpdateFlowTestApp__factory.d.ts +1 -1
  307. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ClosingOnUpdateFlowTestApp__factory.js +1 -1
  308. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ExclusiveInflowTestApp__factory.d.ts +1 -1
  309. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ExclusiveInflowTestApp__factory.js +1 -1
  310. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/FlowExchangeTestApp__factory.d.ts +1 -1
  311. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/FlowExchangeTestApp__factory.js +1 -1
  312. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/NonClosableOutflowTestApp__factory.d.ts +1 -1
  313. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/NonClosableOutflowTestApp__factory.js +1 -1
  314. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/SelfDeletingFlowTestApp__factory.d.ts +1 -1
  315. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/SelfDeletingFlowTestApp__factory.js +1 -1
  316. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibraryMock__factory.d.ts +1 -1
  317. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibraryMock__factory.js +1 -1
  318. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibrarySuperAppMock__factory.d.ts +1 -1
  319. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibrarySuperAppMock__factory.js +1 -1
  320. package/dist/module/typechain-types/factories/contracts/mocks/CFASuperAppBaseTester__factory.d.ts +1 -1
  321. package/dist/module/typechain-types/factories/contracts/mocks/CFASuperAppBaseTester__factory.js +1 -1
  322. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantInflowNFTMock__factory.d.ts +1 -1
  323. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantInflowNFTMock__factory.js +1 -1
  324. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantOutflowNFTMock__factory.d.ts +1 -1
  325. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantOutflowNFTMock__factory.js +1 -1
  326. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/FlowNFTBaseMock__factory.d.ts +1 -1
  327. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/FlowNFTBaseMock__factory.js +1 -1
  328. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantInflowNFTStorageLayoutMock__factory.d.ts +1 -1
  329. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantInflowNFTStorageLayoutMock__factory.js +1 -1
  330. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantOutflowNFTStorageLayoutMock__factory.d.ts +1 -1
  331. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantOutflowNFTStorageLayoutMock__factory.js +1 -1
  332. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/FlowNFTBaseStorageLayoutMock__factory.d.ts +1 -1
  333. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/FlowNFTBaseStorageLayoutMock__factory.js +1 -1
  334. package/dist/module/typechain-types/factories/contracts/mocks/CrossStreamSuperApp__factory.d.ts +1 -1
  335. package/dist/module/typechain-types/factories/contracts/mocks/CrossStreamSuperApp__factory.js +1 -1
  336. package/dist/module/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock__factory.d.ts +36 -0
  337. package/dist/module/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock__factory.d.ts.map +1 -1
  338. package/dist/module/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock__factory.js +46 -0
  339. package/dist/module/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock__factory.js.map +1 -1
  340. package/dist/module/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenProxyMock__factory.d.ts +1 -1
  341. package/dist/module/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenProxyMock__factory.js +1 -1
  342. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientDrainingGas__factory.d.ts +1 -1
  343. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientDrainingGas__factory.js +1 -1
  344. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientReverting__factory.d.ts +1 -1
  345. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientReverting__factory.js +1 -1
  346. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777SenderRecipientMock__factory.d.ts +1 -1
  347. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777SenderRecipientMock__factory.js +1 -1
  348. package/dist/module/typechain-types/factories/contracts/mocks/IDASuperAppTester__factory.d.ts +1 -1
  349. package/dist/module/typechain-types/factories/contracts/mocks/IDASuperAppTester__factory.js +1 -1
  350. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibraryMock__factory.d.ts +1 -1
  351. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibraryMock__factory.js +1 -1
  352. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibrarySuperAppMock__factory.d.ts +1 -1
  353. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibrarySuperAppMock__factory.js +1 -1
  354. package/dist/module/typechain-types/factories/contracts/mocks/MockSmartWallet__factory.d.ts +1 -1
  355. package/dist/module/typechain-types/factories/contracts/mocks/MockSmartWallet__factory.js +1 -1
  356. package/dist/module/typechain-types/factories/contracts/mocks/MultiFlowTesterApp__factory.d.ts +1 -1
  357. package/dist/module/typechain-types/factories/contracts/mocks/MultiFlowTesterApp__factory.js +1 -1
  358. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolAdminNFTMock__factory.d.ts +1 -1
  359. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolAdminNFTMock__factory.js +1 -1
  360. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolMemberNFTMock__factory.d.ts +1 -1
  361. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolMemberNFTMock__factory.js +1 -1
  362. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolNFTBaseMock__factory.d.ts +1 -1
  363. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolNFTBaseMock__factory.js +1 -1
  364. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolAdminNFTStorageLayoutMock__factory.d.ts +1 -1
  365. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolAdminNFTStorageLayoutMock__factory.js +1 -1
  366. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolMemberNFTStorageLayoutMock__factory.d.ts +1 -1
  367. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolMemberNFTStorageLayoutMock__factory.js +1 -1
  368. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolNFTBaseStorageLayoutMock__factory.d.ts +1 -1
  369. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolNFTBaseStorageLayoutMock__factory.js +1 -1
  370. package/dist/module/typechain-types/factories/contracts/mocks/StreamRedirector__factory.d.ts +1 -1
  371. package/dist/module/typechain-types/factories/contracts/mocks/StreamRedirector__factory.js +1 -1
  372. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppFactoryMock__factory.d.ts +1 -1
  373. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppFactoryMock__factory.js +1 -1
  374. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock2ndLevel__factory.d.ts +1 -1
  375. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock2ndLevel__factory.js +1 -1
  376. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockAux__factory.d.ts +1 -1
  377. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockAux__factory.js +1 -1
  378. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningEmptyCtx__factory.d.ts +1 -1
  379. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningEmptyCtx__factory.js +1 -1
  380. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningInvalidCtx__factory.d.ts +1 -1
  381. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningInvalidCtx__factory.js +1 -1
  382. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockUsingRegisterApp__factory.d.ts +1 -1
  383. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockUsingRegisterApp__factory.js +1 -1
  384. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockWithRegistrationKey__factory.d.ts +1 -1
  385. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockWithRegistrationKey__factory.js +1 -1
  386. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock__factory.d.ts +1 -1
  387. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock__factory.js +1 -1
  388. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock42__factory.d.ts +1 -1
  389. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock42__factory.js +1 -1
  390. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock__factory.d.ts +1 -1
  391. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock__factory.js +1 -1
  392. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryStorageLayoutTester__factory.d.ts +1 -1
  393. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryStorageLayoutTester__factory.js +1 -1
  394. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.d.ts +1 -1
  395. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.js +1 -1
  396. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFAMock__factory.d.ts +1 -1
  397. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFAMock__factory.js +1 -1
  398. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFASuperAppMock__factory.d.ts +1 -1
  399. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFASuperAppMock__factory.js +1 -1
  400. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDAMock__factory.d.ts +1 -1
  401. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDAMock__factory.js +1 -1
  402. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDASuperAppMock__factory.d.ts +1 -1
  403. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDASuperAppMock__factory.js +1 -1
  404. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDAMock__factory.d.ts +1 -1
  405. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDAMock__factory.js +1 -1
  406. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDASuperAppMock__factory.d.ts +1 -1
  407. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDASuperAppMock__factory.js +1 -1
  408. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/NoNFTSuperTokenMock__factory.d.ts +1 -1
  409. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/NoNFTSuperTokenMock__factory.js +1 -1
  410. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenMock__factory.d.ts +37 -1
  411. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenMock__factory.d.ts.map +1 -1
  412. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenMock__factory.js +47 -1
  413. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenMock__factory.js.map +1 -1
  414. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester__factory.d.ts +37 -1
  415. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester__factory.d.ts.map +1 -1
  416. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester__factory.js +47 -1
  417. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester__factory.js.map +1 -1
  418. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.d.ts +1 -1
  419. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.js +1 -1
  420. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.d.ts +18 -4
  421. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.d.ts.map +1 -1
  422. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.js +24 -6
  423. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.js.map +1 -1
  424. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.d.ts +12 -2
  425. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.d.ts.map +1 -1
  426. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.js +15 -2
  427. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.js.map +1 -1
  428. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidPoolUpgradabilityMock.sol/SuperfluidPoolStorageLayoutMock__factory.d.ts +1 -1
  429. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidPoolUpgradabilityMock.sol/SuperfluidPoolStorageLayoutMock__factory.js +1 -1
  430. package/dist/module/typechain-types/factories/contracts/superfluid/ConstantInflowNFT__factory.d.ts +1 -1
  431. package/dist/module/typechain-types/factories/contracts/superfluid/ConstantInflowNFT__factory.js +1 -1
  432. package/dist/module/typechain-types/factories/contracts/superfluid/ConstantOutflowNFT__factory.d.ts +1 -1
  433. package/dist/module/typechain-types/factories/contracts/superfluid/ConstantOutflowNFT__factory.js +1 -1
  434. package/dist/module/typechain-types/factories/contracts/superfluid/FullUpgradableSuperTokenProxy__factory.d.ts +1 -1
  435. package/dist/module/typechain-types/factories/contracts/superfluid/FullUpgradableSuperTokenProxy__factory.js +1 -1
  436. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.d.ts +1 -1
  437. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.js +1 -1
  438. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts +37 -1
  439. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts.map +1 -1
  440. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.js +47 -1
  441. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.js.map +1 -1
  442. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts +18 -4
  443. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts.map +1 -1
  444. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.js +24 -6
  445. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.js.map +1 -1
  446. package/dist/module/typechain-types/factories/contracts/tokens/PureSuperToken__factory.d.ts +1 -1
  447. package/dist/module/typechain-types/factories/contracts/tokens/PureSuperToken__factory.js +1 -1
  448. package/dist/module/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.d.ts +1 -1
  449. package/dist/module/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.js +1 -1
  450. package/dist/module/typechain-types/factories/contracts/utils/BatchLiquidator__factory.d.ts +1 -1
  451. package/dist/module/typechain-types/factories/contracts/utils/BatchLiquidator__factory.js +1 -1
  452. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts +1 -1
  453. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js +1 -1
  454. package/dist/module/typechain-types/factories/contracts/utils/DMZForwarder__factory.d.ts +120 -0
  455. package/dist/module/typechain-types/factories/contracts/utils/DMZForwarder__factory.d.ts.map +1 -0
  456. package/dist/module/typechain-types/factories/contracts/utils/DMZForwarder__factory.js +167 -0
  457. package/dist/module/typechain-types/factories/contracts/utils/DMZForwarder__factory.js.map +1 -0
  458. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts +1 -1
  459. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js +1 -1
  460. package/dist/module/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.d.ts +1 -1
  461. package/dist/module/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.js +1 -1
  462. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts +1 -1
  463. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.js +1 -1
  464. package/dist/module/typechain-types/factories/contracts/utils/SuperUpgrader__factory.d.ts +1 -1
  465. package/dist/module/typechain-types/factories/contracts/utils/SuperUpgrader__factory.js +1 -1
  466. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts +2 -1
  467. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts.map +1 -1
  468. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js +4 -1
  469. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js.map +1 -1
  470. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts +2 -1
  471. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts.map +1 -1
  472. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js +4 -1
  473. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js.map +1 -1
  474. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.d.ts +1 -1
  475. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.js +1 -1
  476. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts +1 -1
  477. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.js +1 -1
  478. package/dist/module/typechain-types/factories/contracts/utils/TestGovernance__factory.d.ts +1 -1
  479. package/dist/module/typechain-types/factories/contracts/utils/TestGovernance__factory.js +1 -1
  480. package/dist/module/typechain-types/factories/contracts/utils/index.d.ts +1 -0
  481. package/dist/module/typechain-types/factories/contracts/utils/index.d.ts.map +1 -1
  482. package/dist/module/typechain-types/factories/contracts/utils/index.js +1 -0
  483. package/dist/module/typechain-types/factories/contracts/utils/index.js.map +1 -1
  484. package/dist/module/typechain-types/index.d.ts +2 -0
  485. package/dist/module/typechain-types/index.d.ts.map +1 -1
  486. package/dist/module/typechain-types/index.js +1 -0
  487. package/dist/module/typechain-types/index.js.map +1 -1
  488. package/package.json +3 -3
@@ -4,15 +4,15 @@ import type { Superfluid, SuperfluidInterface } from "../../../contracts/superfl
4
4
  type SuperfluidConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
5
5
  export declare class Superfluid__factory extends ContractFactory {
6
6
  constructor(...args: SuperfluidConstructorParams);
7
- deploy(nonUpgradable: boolean, appWhiteListingEnabled: boolean, overrides?: Overrides & {
7
+ deploy(nonUpgradable: boolean, appWhiteListingEnabled: boolean, dmzForwarderAddress: string, overrides?: Overrides & {
8
8
  from?: string;
9
9
  }): Promise<Superfluid>;
10
- getDeployTransaction(nonUpgradable: boolean, appWhiteListingEnabled: boolean, overrides?: Overrides & {
10
+ getDeployTransaction(nonUpgradable: boolean, appWhiteListingEnabled: boolean, dmzForwarderAddress: string, overrides?: Overrides & {
11
11
  from?: string;
12
12
  }): TransactionRequest;
13
13
  attach(address: string): Superfluid;
14
14
  connect(signer: Signer): Superfluid__factory;
15
- static readonly bytecode = "0x60c06040523480156200001157600080fd5b50604051620058283803806200582883398101604081905262000034916200005b565b901515608052151560a05262000093565b805180151581146200005657600080fd5b919050565b600080604083850312156200006f57600080fd5b6200007a8362000045565b91506200008a6020840162000045565b90509250929050565b60805160a051615729620000ff600039600081816107d301528181612211015281816126ed015281816129980152612adf0152600081816109e501528181610afb01528181610e1c015281816116040152818161173f0152818161189e0152612a0701526157296000f3fe60806040526004361061031a5760003560e01c8063768fabb0116101ab578063bbe4fd50116100f7578063c60944a611610095578063f2e55caf1161006f578063f2e55caf14610a36578063f373305214610a4b578063f9f522f414610a6b578063fa6e0cfe14610aa857600080fd5b8063c60944a6146109b3578063cd312ec4146109d3578063e8dccb7d14610a0757600080fd5b8063bd3252c8116100d1578063bd3252c814610931578063bf42873414610946578063c4d66de814610966578063c56a069d1461098657600080fd5b8063bbe4fd50146108de578063bced3ddc146108f1578063bd1c448b1461091157600080fd5b80639d297e3011610164578063b6d200de1161013e578063b6d200de14610835578063b724211e14610855578063ba48b5f814610875578063bb84cfa11461089557600080fd5b80639d297e30146107c1578063a5dbbbcd146107f5578063ad3915c81461081557600080fd5b8063768fabb0146106ef5780638ca484841461070f5780638ceddd7a1461072f5780639378fa131461075a578063989b0c3e1461078c5780639903ad38146107ac57600080fd5b8063486ff0cd1161026a57806359a29141116102235780636b4f3335116101fd5780636b4f3335146106715780637283100c14610691578063731aed6e146106b157806374041e02146106cf57600080fd5b806359a291411461061e578063670e77e31461063e5780636ad3ca7d1461065e57600080fd5b8063486ff0cd1461054157806350d75d251461056c57806352d1902d1461058157806354fbc493146105be57806357121e0c146105de578063572b6c05146105fe57600080fd5b80632f89bf89116102d75780633ca3ad4e116102b15780633ca3ad4e1461047e5780633f6c923a146104c65780634329d293146104f3578063469519541461052157600080fd5b80632f89bf891461040f57806333d608f11461042f57806339255d5b1461045e57600080fd5b806306cecba81461031f5780630c5650751461034157806315a024e1146103615780631e6d0a84146103815780631e855cf3146103b7578063289b3c0d146103d7575b600080fd5b34801561032b57600080fd5b5061033f61033a3660046145f8565b610ac8565b005b34801561034d57600080fd5b5061033f61035c36600461461c565b610c9f565b34801561036d57600080fd5b5061033f61037c3660046145f8565b610d2f565b34801561038d57600080fd5b506103a161039c3660046146ab565b610f7f565b6040516103ae9190614791565b60405180910390f35b3480156103c357600080fd5b506103a16103d2366004614867565b6111cb565b3480156103e357600080fd5b506000546201000090046001600160a01b03165b6040516001600160a01b0390911681526020016103ae565b34801561041b57600080fd5b5061033f61042a3660046145f8565b6111e3565b34801561043b57600080fd5b50610446622dc6c081565b6040516001600160401b0390911681526020016103ae565b34801561046a57600080fd5b506103a16104793660046148b6565b6113a1565b34801561048a57600080fd5b506104b66104993660046145f8565b6001600160a01b0316600090815260046020526040902054151590565b60405190151581526020016103ae565b3480156104d257600080fd5b506104e66104e136600461492b565b6113b7565b6040516103ae919061495f565b3480156104ff57600080fd5b5061051361050e366004614a40565b6113c8565b6040516103ae929190614aec565b34801561052d57600080fd5b5061033f61053c3660046145f8565b6115d1565b34801561054d57600080fd5b50604080518082019091526002815261763160f01b60208201526103a1565b34801561057857600080fd5b506103f76116cd565b34801561058d57600080fd5b507fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba745b6040519081526020016103ae565b3480156105ca57600080fd5b5061033f6105d93660046145f8565b6116fc565b3480156105ea57600080fd5b5061033f6105f93660046145f8565b61197f565b34801561060a57600080fd5b506104b66106193660046145f8565b611a4d565b34801561062a57600080fd5b506103a1610639366004614b11565b611ad7565b34801561064a57600080fd5b5061033f610659366004614b5c565b611bb9565b61033f61066c366004614b5c565b611bcf565b34801561067d57600080fd5b506104b661068c3660046145f8565b611bda565b34801561069d57600080fd5b5061033f6106ac3660046145f8565b611bfe565b3480156106bd57600080fd5b506003546001600160a01b03166103f7565b3480156106db57600080fd5b506103a16106ea3660046146ab565b611ca6565b3480156106fb57600080fd5b506103a161070a366004614bd0565b611df5565b34801561071b57600080fd5b506104b661072a3660046145f8565b611f91565b34801561073b57600080fd5b5061074561010081565b60405163ffffffff90911681526020016103ae565b34801561076657600080fd5b5061077a6107753660046145f8565b612056565b60405160ff90911681526020016103ae565b34801561079857600080fd5b506103a16107a7366004614b11565b612077565b3480156107b857600080fd5b5061033f61210a565b3480156107cd57600080fd5b506104b67f000000000000000000000000000000000000000000000000000000000000000081565b34801561080157600080fd5b506105b0610810366004614c4b565b6121c5565b34801561082157600080fd5b5061033f610830366004614c6d565b61220f565b34801561084157600080fd5b506103f7610850366004614c6d565b612263565b34801561086157600080fd5b506103a1610870366004614c86565b6122ca565b34801561088157600080fd5b506103a1610890366004614ce2565b61238b565b3480156108a157600080fd5b506104b66108b036600461461c565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b3480156108ea57600080fd5b50426105b0565b3480156108fd57600080fd5b506105b061090c366004614c4b565b6126a2565b34801561091d57600080fd5b5061033f61092c366004614d64565b6126eb565b34801561093d57600080fd5b506105b0600181565b34801561095257600080fd5b506104b6610961366004614daf565b612761565b34801561097257600080fd5b5061033f6109813660046145f8565b6127a2565b34801561099257600080fd5b506109a66109a1366004614c6d565b612886565b6040516103ae9190614df0565b3480156109bf57600080fd5b5061033f6109ce366004614e3d565b61296b565b3480156109df57600080fd5b506104b67f000000000000000000000000000000000000000000000000000000000000000081565b348015610a1357600080fd5b506104b6610a22366004614c6d565b600090815260026020526040902054151590565b348015610a4257600080fd5b506103f76129ea565b348015610a5757600080fd5b5061033f610a66366004614e3d565b612ab2565b348015610a7757600080fd5b50610a8b610a863660046145f8565b612bbd565b6040805193151584529115156020840152908201526060016103ae565b348015610ab457600080fd5b5061033f610ac336600461461c565b612c0c565b6000546201000090046001600160a01b03163314610af9576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610b38576040516314f72c9f60e01b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9c9190614e69565b600081815260026020526040812054919250819003610bce57604051630e4f4df560e11b815260040160405180910390fd5b60006001610bdc8184614e98565b81548110610bec57610bec614eab565b6000918252602090912001546040516311a5465560e21b81526001600160a01b03868116600483015290911691508190634695195490602401600060405180830381600087803b158015610c3f57600080fd5b505af1158015610c53573d6000803e3d6000fd5b5050604080518681526001600160a01b03881660208201527f9279aa773f2b588996032d8de89911555039f28b13a11a7c17074330bc082d9a935001905060405180910390a150505050565b6000546201000090046001600160a01b03163314610cd0576040516362e9152760e11b815260040160405180910390fd5b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f28397090602401600060405180830381600087803b158015610d1357600080fd5b505af1158015610d27573d6000803e3d6000fd5b505050505050565b6000546201000090046001600160a01b03163314610d60576040516362e9152760e11b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610da0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc49190614e69565b60008181526002602052604090205490915015610df457604051631b93bb7560e31b815260040160405180910390fd5b60015461010011610e1857604051630f85034f60e31b815260040160405180910390fd5b60007f0000000000000000000000000000000000000000000000000000000000000000610ed2576000604051610e4d9061457b565b604051809103906000f080158015610e69573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03868116600483015291925090821690634a0687ef90602401600060405180830381600087803b158015610eb157600080fd5b505af1158015610ec5573d6000803e3d6000fd5b5050505080915050610ed5565b50815b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0384166001600160a01b0319909116179055546000838152600260205260409081902091909155517f878135063a6cfb3bc333e534b1fdc83f4f12221cad6705c31c0567048a8bd3d190610f7290849086909182526001600160a01b0316602082015260400190565b60405180910390a1505050565b6060610f8a33611f91565b610fa75760405163619c535960e01b815260040160405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fe99250839150612d679050565b610ff557610ff5614ec1565b60008061106f8a6000898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c9081908401838280828437600092019190915250612d8792505050565b9150915081156111845761108281612ed9565b1561111c578080602001905181019061109b9190614f1c565b93506110a684612d67565b61111757866110d05760405163a85ba64f60e01b8152601460048201526024015b60405180910390fd5b85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092965061111792508c915060149050612f2d565b6111be565b8661113d5760405163a85ba64f60e01b8152601660048201526024016110c7565b85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092965061111792508c915060169050612f2d565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505050505b5050509695505050505050565b60606111da3384600085612fae565b90505b92915050565b6000546201000090046001600160a01b03163314611214576040516362e9152760e11b815260040160405180910390fd5b604051635b69006f60e11b81527fdfd8ece9bfbcb8c5c540edb935641f63d67686490a1ab97f000288759f30a9466004820152600090309063b6d200de90602401602060405180830381865afa158015611272573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112969190614f50565b90506000816001600160a01b0316635437dd976040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fc9190614f50565b604051631b2ce7f360e11b81526001600160a01b03858116600483015291925090821690633659cfe690602401600060405180830381600087803b15801561134357600080fd5b505af1158015611357573d6000803e3d6000fd5b50506040516001600160a01b038681168252841692507f052cea8931962dd445ef48b0b998d3056bd0705f437087d60fe3c46a3fa09e1f91506020015b60405180910390a2505050565b60606113af338585856131eb565b949350505050565b6113bf614588565b6111dd826132fc565b60608083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061140d9250839150612d679050565b61142d5760405163a85ba64f60e01b8152601460048201526024016110c7565b8961143781611f91565b6114545760405163619c535960e01b815260040160405180910390fd5b600061149587878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113b792505050565b6101208101519091506001600160a01b031633146114c65760405163066875e160e11b815260040160405180910390fd5b60608101805133909152604080516020601f8c018190048102820181019092528a8152908b908b908190840183828082843760009201919091525050505060a0830152611512826133c7565b955060006115588e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508c91506134fb9050565b9650905080156115b757858060200190518101906115769190614f1c565b965061158187612d67565b61158d5761158d614ec1565b611596876113b7565b6001600160a01b038316606082015292506115b0836133c7565b96506115c0565b6115c0866135b6565b505050505097509795505050505050565b6000546201000090046001600160a01b03163314611602576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015611641576040516314f72c9f60e01b815260040160405180910390fd5b806001600160a01b031663cd312ec46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561167f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a39190614f6d565b156116c15760405163474e764160e01b815260040160405180910390fd5b6116ca816136c1565b50565b60006116f77f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000546201000090046001600160a01b0316331461172d576040516362e9152760e11b815260040160405180910390fd5b6003546001600160a01b031661189c577f00000000000000000000000000000000000000000000000000000000000000006118135760006040516117709061457b565b604051809103906000f08015801561178c573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03848116600483015291925090821690634a0687ef90602401600060405180830381600087803b1580156117d457600080fd5b505af11580156117e8573d6000803e3d6000fd5b5050600380546001600160a01b0319166001600160a01b0394909416939093179092555061182f9050565b600380546001600160a01b0319166001600160a01b0383161790555b600360009054906101000a90046001600160a01b03166001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561187f57600080fd5b505af1158015611893573d6000803e3d6000fd5b5050505061193b565b7f0000000000000000000000000000000000000000000000000000000000000000156118db576040516314f72c9f60e01b815260040160405180910390fd5b6003546040516311a5465560e21b81526001600160a01b03838116600483015290911690634695195490602401600060405180830381600087803b15801561192257600080fd5b505af1158015611936573d6000803e3d6000fd5b505050505b6003546040516001600160a01b0390911681527fce13a9895a1719ad4493b2ac1a9bfb36070566161abab408e7ecbe586da8d499906020015b60405180910390a150565b336000818152600460205260409020546119ac576040516302eb3f7160e61b815260040160405180910390fd5b6001600160a01b0382166000908152600460205260409020546119e257604051634b5518af60e11b815260040160405180910390fd5b6119eb82612056565b60ff166119f782612056565b60ff1611611a1857604051630447252760e41b815260040160405180910390fd5b6001600160a01b039081166000908152600560209081526040808320949093168252929092529020805460ff19166001179055565b600080546201000090046001600160a01b03166380f70cba3083611a70866138fb565b6040518463ffffffff1660e01b8152600401611a8e93929190614f8a565b602060405180830381865afa158015611aab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611acf9190614e69565b151592915050565b6060611ae233611f91565b611aff5760405163619c535960e01b815260040160405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b419250839150612d679050565b611b4d57611b4d614ec1565b6000611b8e86868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113b792505050565b9050838161010001818151611ba39190614fae565b905250611baf816133c7565b9695505050505050565b611bcb611bc4613983565b83836139eb565b5050565b611bcb3383836139eb565b6001600160a01b0381166000908152600460205260408120546180001615156111dd565b6000546201000090046001600160a01b03163314611c2f576040516362e9152760e11b815260040160405180910390fd5b600054604080516001600160a01b03620100009093048316815291831660208301527f13abda02e63c790d0e2818b251282cfe5cbe0a8abd69c54bf5d2260c0907bd2e910160405180910390a1600080546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6060611cb133611f91565b611cce5760405163619c535960e01b815260040160405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d109250839150612d679050565b611d1c57611d1c614ec1565b600080611d968a6001898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c9081908401838280828437600092019190915250612d8792505050565b9150915081156111be57611da981612ed9565b15611dc95780806020019051810190611dc29190614f1c565b93506111be565b86611dea5760405163a85ba64f60e01b8152601660048201526024016110c7565b6111be8a6016612f2d565b6060611e0033611f91565b611e1d5760405163619c535960e01b815260040160405180910390fd5b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e5f9250839150612d679050565b611e6b57611e6b614ec1565b6000611eac89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113b792505050565b9050611ed381606001516001600160a01b0316600090815260046020526040902054151590565b8015611ee757506001816000015160ff1610155b15611f3a5760608101516001600160a01b039081166000908152600560209081526040808320938b168352929052205460ff16611f3a5760405163a85ba64f60e01b8152601e60048201526024016110c7565b805181611f4682614fd6565b60ff169052506003602082015260c0810186905261010081018590526001600160a01b038088166101208301528416610140820152611f84816133c7565b9998505050505050505050565b600080826001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff69190614e69565b60008181526002602052604090205490915080158015906113af57506001600160a01b03841660016120288184614e98565b8154811061203857612038614eab565b6000918252602090912001546001600160a01b031614949350505050565b6001600160a01b03811660009081526004602052604081205460ff166111dd565b606061208233611f91565b61209f5760405163619c535960e01b815260040160405180910390fd5b60006120e085858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113b792505050565b90508281610100018181516120f59190614fae565b905250612101816133c7565b95945050505050565b600054610100900460ff161580801561212a5750600054600160ff909116105b806121445750303b158015612144575060005460ff166001145b6121605760405162461bcd60e51b81526004016110c790614ff5565b6000805460ff191660011790558015612183576000805461ff0019166101001790555b80156116ca576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611974565b6000818152600260205260408120548082036121f457604051630e4f4df560e11b815260040160405180910390fd5b6121ff600182614e98565b6001901b19841691505092915050565b7f00000000000000000000000000000000000000000000000000000000000000001561225957612259604051806040016040528060028152602001616b3160f01b81525032614187565b6116ca3382614230565b60008181526002602052604081205480820361229257604051630e4f4df560e11b815260040160405180910390fd5b600161229e8183614e98565b815481106122ae576122ae614eab565b6000918252602090912001546001600160a01b03169392505050565b60606122d533611f91565b6122f25760405163619c535960e01b815260040160405180910390fd5b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506123349250839150612d679050565b61234057612340614ec1565b61234a8484612f2d565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929998505050505050505050565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506123cf9250839150612d679050565b6123ef5760405163a85ba64f60e01b8152601460048201526024016110c7565b6001600160a01b038716600090815260046020526040812054889181900361242a5760405163163cbe4360e01b815260040160405180910390fd5b61800081161561244c57604051628e12d960e21b815260040160405180910390fd5b87878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250925061248d91508390506142ff565b90506001600160e01b031981166330d9c91560e01b14806124be57506001600160e01b0319811663d86ed3e560e01b145b806124d957506001600160e01b03198116630221347d60e61b145b806124f457506001600160e01b0319811663230dbd2960e01b145b8061250f57506001600160e01b03198116635f9e7d7760e01b145b8061252a57506001600160e01b031981166353c11f9960e01b145b15612548576040516377a14afb60e11b815260040160405180910390fd5b600061258989898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113b792505050565b6101208101519091506001600160a01b031633146125ba576040516311cfdef560e21b815260040160405180910390fd5b606081018051339091526125cd826133c7565b97506000806126148f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508f91506134fb9050565b91509150811561268757808060200190518101906126329190614f1c565b995061263d8a612d67565b61265d5760405163a85ba64f60e01b8152601460048201526024016110c7565b6126668a6113b7565b6001600160a01b03841660608201529350612680846133c7565b9950612690565b612690816135b6565b50505050505050505095945050505050565b6000818152600260205260408120548082036126d157604051630e4f4df560e11b815260040160405180910390fd5b6126dc600182614e98565b6001901b841791505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156127525761275282828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250329250614187915050565b61275c3384614230565b505050565b60006111da83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612d6792505050565b600054610100900460ff16158080156127c25750600054600160ff909116105b806127dc5750303b1580156127dc575060005460ff166001145b6127f85760405162461bcd60e51b81526004016110c790614ff5565b6000805460ff19166001179055801561281b576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b038516021790558015611bcb576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60606000806001805490506001600160401b038111156128a8576128a86147a4565b6040519080825280602002602001820160405280156128d1578160200160208202803683370190505b50925060009050600091505b600154821015612963576001821b841615612958576001828154811061290557612905614eab565b6000918252602090912001546001600160a01b0316838261292581615043565b93508151811061293757612937614eab565b60200260200101906001600160a01b031690816001600160a01b0316815250505b8160010191506128dd565b825250919050565b816001600160a01b03163b6000036129965760405163353dacc360e21b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000156129e0576129e0604051806040016040528060028152602001616b3160f01b81525033614187565b611bcb8282614230565b6003546000906001600160a01b0316612a0557612a05614ec1565b7f000000000000000000000000000000000000000000000000000000000000000015612a3b57506003546001600160a01b031690565b600360009054906101000a90046001600160a01b03166001600160a01b03166350d75d256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a8e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f79190614f50565b816001600160a01b03163b600003612add5760405163353dacc360e21b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000156129e0576000612b0e3361435b565b6000805460405163407b865d60e11b81529293509091620100009091046001600160a01b0316906380f70cba90612b4d90309085908790600401614f8a565b602060405180830381865afa158015612b6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b8e9190614e69565b600114905080612bb157604051630b56455f60e41b815260040160405180910390fd5b5050611bcb8282614230565b6001600160a01b038116600090815260046020908152604080832081519283019091525480825215801592918291612c0457805161800081161515935064ff000000001691505b509193909250565b6000546201000090046001600160a01b03163314612c3d576040516362e9152760e11b815260040160405180910390fd5b60006001600160a01b038216612cc957600360009054906101000a90046001600160a01b03166001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ca0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cc49190614f50565b612ccb565b815b6040516311a5465560e21b81526001600160a01b03808316600483015291925090841690634695195490602401600060405180830381600087803b158015612d1257600080fd5b505af1158015612d26573d6000803e3d6000fd5b50506040516001600160a01b038481168252861692507f840acbd291b38534819f47f875839277e502f40e1c7bfea2c5fc2c8017442cd39150602001611394565b600081516000141580156111dd5750600654825160208401201492915050565b600060606001600160a01b038716612da157612da1614ec1565b612dab84846143d5565b9350622dc6c060005a90508715612e2157886001600160a01b03168287604051612dd5919061505c565b6000604051808303818686fa925050503d8060008114612e11576040519150601f19603f3d011682016040523d82523d6000602084013e612e16565b606091505b509094509250612e84565b886001600160a01b03168287604051612e3a919061505c565b60006040518083038160008787f1925050503d8060008114612e78576040519150601f19603f3d011682016040523d82523d6000602084013e612e7d565b606091505b5090945092505b83612ecd57612e928161448c565b612eb45786612ea957612ea4836135b6565b612ecd565b612ea489600a612f2d565b604051636a7aea4b60e11b815260040160405180910390fd5b50509550959350505050565b6000604082511015612eed57506000919050565b602082810151906000908214612f07575060009392505050565b506040830151612f16816144a2565b612f21906040615078565b84511492505050919050565b6001600160a01b038216600090815260046020526040812054618000169003611bcb576001600160a01b038216600081815260046020526040908190208054618000179055517fbe3aa33bd245135e4e26b223d79d14ea479a47bff09f2b03c53838af1edbb14b90612fa29084815260200190565b60405180910390a25050565b60065460609015612fd55760405163a85ba64f60e01b8152601560048201526024016110c7565b6001600160a01b03841660009081526004602052604081205485918190036130105760405163163cbe4360e01b815260040160405180910390fd5b61800081161561303257604051628e12d960e21b815260040160405180910390fd5b83600061303e826142ff565b90506001600160e01b031981166330d9c91560e01b148061306f57506001600160e01b0319811663d86ed3e560e01b145b8061308a57506001600160e01b03198116630221347d60e61b145b806130a557506001600160e01b0319811663230dbd2960e01b145b806130c057506001600160e01b03198116635f9e7d7760e01b145b806130db57506001600160e01b031981166353c11f9960e01b145b156130f9576040516377a14afb60e11b815260040160405180910390fd5b60408051610160810182526000808252600260208084019190915242838501526001600160a01b03808e16606085015260808401839052845191820190945281815260a083015260c0820181905260e082018190526101008201819052918a166101208201526101408101829052613170906133c7565b905060006131808a898b856134fb565b9750905080156131ce578680602001905181019061319e9190614f1c565b91506131a982612d67565b6131c95760405163a85ba64f60e01b8152601460048201526024016110c7565b6131d7565b6131d7876135b6565b505060006006555092979650505050505050565b600654606090156132125760405163a85ba64f60e01b8152601560048201526024016110c7565b8361321c81611f91565b6132395760405163619c535960e01b815260040160405180910390fd5b6000613244856142ff565b60408051610160810182526000808252600160208301529293506132c79181014281526020018a6001600160a01b03168152602001846001600160e01b031916815260200187815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b03168152506133c7565b905060006132d888886000856134fb565b95509050806132ea576132ea856135b6565b50506000600655509095945050505050565b613304614588565b6060808380602001905181019061331b919061508b565b8151919350915060009061333890840160209081019085016150e4565b60a08901526001600160e01b03191660808801526001600160a01b031660608701526040860152602081811c600f168187015260ff9091168552825160009250613389919084018101908401615168565b6001600160a01b03908116610140890152166101208701526101008601526001600160801b03811660c086015260801c60e085015250919392505050565b60606001826000015160ff1611156133f55760405163a85ba64f60e01b8152602860048201526024016110c7565b815160208084015160009260ff1664ff000000009190921b16179050600060806134228560e001516144db565b6001600160801b0316901b61343a8560c001516144db565b6001600160801b0316179050818460400151856060015186608001518760a0015160405160200161346f9594939291906151b3565b60408051601f1981840301815282825261010087015161012088015161014089015160208601879052938501919091526001600160a01b03908116606085015290911660808301529060a00160408051601f19818403018152908290526134d99291602001614aec565b60408051601f1981840301815291905280516020820120600655949350505050565b600060606001600160a01b03861661351557613515614ec1565b61351f85846143d5565b9450856001600160a01b0316848660405161353a919061505c565b60006040518083038185875af1925050503d8060008114613577576040519150601f19603f3d011682016040523d82523d6000602084013e61357c565b606091505b50909250905081156135ad5780516000036135ad5760405163a85ba64f60e01b8152601660048201526024016110c7565b94509492505050565b6004815110156136085760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a2074617267657420726576657274282900000000000060448201526064016110c7565b602081015163b1b7848f60e01b6001600160e01b03198216016136b85760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b81529192916110c791849101614791565b81518060208401fd5b60006136eb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036137415760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016110c7565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561377f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137a39190614e69565b7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba741461381d5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016110c7565b6001600160a01b03811630036138755760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016110c7565b61389d817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74604080519182526001600160a01b038416602083015201611974565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b60006018361080159061399a575061399a33611a4d565b6139de5760405162461bcd60e51b81526020600482015260156024820152742737ba103a393ab9ba32b2103337b93bb0b93232b960591b60448201526064016110c7565b5060131936013560601c90565b6000805b82811015614140576000848483818110613a0b57613a0b614eab565b9050602002810190613a1d91906151ff565b613a2b906020810190615215565b905060001963ffffffff821601613b1f57600080868685818110613a5157613a51614eab565b9050602002810190613a6391906151ff565b613a7190604081019061523b565b810190613a7e9190614e3d565b91509150868685818110613a9457613a94614eab565b9050602002810190613aa691906151ff565b613ab79060408101906020016145f8565b6001600160a01b03166362aa52878984846040518463ffffffff1660e01b8152600401613ae693929190614f8a565b600060405180830381600087803b158015613b0057600080fd5b505af1158015613b14573d6000803e3d6000fd5b505050505050614137565b60011963ffffffff821601613c2a576000806000878786818110613b4557613b45614eab565b9050602002810190613b5791906151ff565b613b6590604081019061523b565b810190613b729190615281565b925092509250878786818110613b8a57613b8a614eab565b9050602002810190613b9c91906151ff565b613bad9060408101906020016145f8565b604051630b682aeb60e11b81526001600160a01b038b81166004830152858116602483015284811660448301526064820184905291909116906316d055d6906084015b600060405180830381600087803b158015613c0a57600080fd5b505af1158015613c1e573d6000803e3d6000fd5b50505050505050614137565b60021963ffffffff821601613ce9576000806000878786818110613c5057613c50614eab565b9050602002810190613c6291906151ff565b613c7090604081019061523b565b810190613c7d91906152c2565b925092509250878786818110613c9557613c95614eab565b9050602002810190613ca791906151ff565b613cb89060408101906020016145f8565b6001600160a01b031663ca0c1e7f8a8585856040518563ffffffff1660e01b8152600401613bf09493929190615310565b60031963ffffffff821601613da257600080868685818110613d0d57613d0d614eab565b9050602002810190613d1f91906151ff565b613d2d90604081019061523b565b810190613d3a9190614e3d565b91509150868685818110613d5057613d50614eab565b9050602002810190613d6291906151ff565b613d739060408101906020016145f8565b6001600160a01b0316634b2763b38984846040518463ffffffff1660e01b8152600401613ae693929190614f8a565b60041963ffffffff821601613e5b57600080868685818110613dc657613dc6614eab565b9050602002810190613dd891906151ff565b613de690604081019061523b565b810190613df39190614e3d565b91509150868685818110613e0957613e09614eab565b9050602002810190613e1b91906151ff565b613e2c9060408101906020016145f8565b6001600160a01b031663c780fd828984846040518463ffffffff1660e01b8152600401613ae693929190614f8a565b60641963ffffffff821601613f5057848483818110613e7c57613e7c614eab565b9050602002810190613e8e91906151ff565b613e9f9060408101906020016145f8565b6001600160a01b031663ca78946487878786818110613ec057613ec0614eab565b9050602002810190613ed291906151ff565b613ee090604081019061523b565b810190613eed9190614c6d565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015613f3357600080fd5b505af1158015613f47573d6000803e3d6000fd5b50505050614137565b60651963ffffffff821601613fb557848483818110613f7157613f71614eab565b9050602002810190613f8391906151ff565b613f949060408101906020016145f8565b6001600160a01b031663245887fc87878786818110613ec057613ec0614eab565b60c81963ffffffff82160161405257600080868685818110613fd957613fd9614eab565b9050602002810190613feb91906151ff565b613ff990604081019061523b565b8101906140069190615343565b9150915061404a8888888781811061402057614020614eab565b905060200281019061403291906151ff565b6140439060408101906020016145f8565b84846131eb565b505050614137565b60c91963ffffffff82160161411e576141148686868581811061407757614077614eab565b905060200281019061408991906151ff565b61409a9060408101906020016145f8565b856140a557346140a8565b60005b8888878181106140ba576140ba614eab565b90506020028101906140cc91906151ff565b6140da90604081019061523b565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612fae92505050565b5060019250614137565b60405163b477011560e01b815260040160405180910390fd5b506001016139ef565b50341580159061414e575080155b156141815760405133903480156108fc02916000818181858888f1935050505015801561417f573d6000803e3d6000fd5b505b50505050565b60006141938284614548565b6000805460405163407b865d60e11b81529293504292620100009091046001600160a01b0316916380f70cba916141d09130918790600401614f8a565b602060405180830381865afa1580156141ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142119190614e69565b101561275c57604051630b56455f60e41b815260040160405180910390fd5b64ff000080ff198116151580614247575060ff8116155b806142555750618000811615155b1561427357604051633d3200a960e21b815260040160405180910390fd5b6001600160a01b038216600090815260046020526040902054156142aa576040516301b0a93560e01b815260040160405180910390fd5b60408051602080820183528382526001600160a01b038516600081815260049092528382209251909255915190917f0d540ad8f39e07d19909687352b9fa017405d93c91a6760981fbae9cf28bfef791a25050565b60006004825110156143535760405162461bcd60e51b815260206004820152601b60248201527f43616c6c5574696c733a20696e76616c69642063616c6c44617461000000000060448201526064016110c7565b506020015190565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c001613966565b8151808301516060919080156143fe576040516367e9985b60e01b815260040160405180910390fd5b50601f1981018452825184908481614415816144a2565b61441f9190614e98565b6001600160401b03811115614436576144366147a4565b6040519080825280601f01601f191660200182016040528015614460576020820181803683370190505b50604051602001614474949392919061539c565b60405160208183030381529060405291505092915050565b60006144996040836153eb565b5a111592915050565b60008082601f16116144b55760006144b8565b60015b60ff166144c66020846153eb565b6144d09190615078565b6111dd90602061540d565b60006001600160801b038211156145445760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b60648201526084016110c7565b5090565b6000828260405160200161455d929190615424565b60405160208183030381529060405280519060200120905092915050565b61024a806154aa83390190565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b03811681146116ca57600080fd5b60006020828403121561460a57600080fd5b8135614615816145e3565b9392505050565b6000806040838503121561462f57600080fd5b823561463a816145e3565b9150602083013561464a816145e3565b809150509250929050565b60008083601f84011261466757600080fd5b5081356001600160401b0381111561467e57600080fd5b60208301915083602082850101111561469657600080fd5b9250929050565b80151581146116ca57600080fd5b600080600080600080608087890312156146c457600080fd5b86356146cf816145e3565b955060208701356001600160401b03808211156146eb57600080fd5b6146f78a838b01614655565b90975095506040890135915061470c8261469d565b9093506060880135908082111561472257600080fd5b5061472f89828a01614655565b979a9699509497509295939492505050565b60005b8381101561475c578181015183820152602001614744565b50506000910152565b6000815180845261477d816020860160208601614741565b601f01601f19169290920160200192915050565b6020815260006111da6020830184614765565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156147e2576147e26147a4565b604052919050565b60006001600160401b03821115614803576148036147a4565b50601f01601f191660200190565b600082601f83011261482257600080fd5b8135614835614830826147ea565b6147ba565b81815284602083860101111561484a57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561487a57600080fd5b8235614885816145e3565b915060208301356001600160401b038111156148a057600080fd5b6148ac85828601614811565b9150509250929050565b6000806000606084860312156148cb57600080fd5b83356148d6816145e3565b925060208401356001600160401b03808211156148f257600080fd5b6148fe87838801614811565b9350604086013591508082111561491457600080fd5b5061492186828701614811565b9150509250925092565b60006020828403121561493d57600080fd5b81356001600160401b0381111561495357600080fd5b6113af84828501614811565b6020815261497360208201835160ff169052565b60006020830151614989604084018260ff169052565b506040830151606083015260608301516149ae60808401826001600160a01b03169052565b5060808301516001600160e01b0319811660a08401525060a08301516101608060c08501526149e1610180850183614765565b915060c085015160e085015260e0850151610100818187015280870151915050610120818187015280870151915050610140614a27818701836001600160a01b03169052565b909501516001600160a01b031693019290925250919050565b60008060008060008060006080888a031215614a5b57600080fd5b8735614a66816145e3565b965060208801356001600160401b0380821115614a8257600080fd5b614a8e8b838c01614655565b909850965060408a0135915080821115614aa757600080fd5b614ab38b838c01614655565b909650945060608a0135915080821115614acc57600080fd5b50614ad98a828b01614655565b989b979a50959850939692959293505050565b604081526000614aff6040830185614765565b82810360208401526121018185614765565b600080600060408486031215614b2657600080fd5b83356001600160401b03811115614b3c57600080fd5b614b4886828701614655565b909790965060209590950135949350505050565b60008060208385031215614b6f57600080fd5b82356001600160401b0380821115614b8657600080fd5b818501915085601f830112614b9a57600080fd5b813581811115614ba957600080fd5b8660208260051b8501011115614bbe57600080fd5b60209290920196919550909350505050565b60008060008060008060a08789031215614be957600080fd5b86356001600160401b03811115614bff57600080fd5b614c0b89828a01614655565b9097509550506020870135614c1f816145e3565b935060408701359250606087013591506080870135614c3d816145e3565b809150509295509295509295565b60008060408385031215614c5e57600080fd5b50508035926020909101359150565b600060208284031215614c7f57600080fd5b5035919050565b60008060008060608587031215614c9c57600080fd5b84356001600160401b03811115614cb257600080fd5b614cbe87828801614655565b9095509350506020850135614cd2816145e3565b9396929550929360400135925050565b600080600080600060608688031215614cfa57600080fd5b8535614d05816145e3565b945060208601356001600160401b0380821115614d2157600080fd5b614d2d89838a01614655565b90965094506040880135915080821115614d4657600080fd5b50614d5388828901614655565b969995985093965092949392505050565b600080600060408486031215614d7957600080fd5b8335925060208401356001600160401b03811115614d9657600080fd5b614da286828701614655565b9497909650939450505050565b60008060208385031215614dc257600080fd5b82356001600160401b03811115614dd857600080fd5b614de485828601614655565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b81811015614e315783516001600160a01b031683529284019291840191600101614e0c565b50909695505050505050565b60008060408385031215614e5057600080fd5b8235614e5b816145e3565b946020939093013593505050565b600060208284031215614e7b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156111dd576111dd614e82565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b600082601f830112614ee857600080fd5b8151614ef6614830826147ea565b818152846020838601011115614f0b57600080fd5b6113af826020830160208701614741565b600060208284031215614f2e57600080fd5b81516001600160401b03811115614f4457600080fd5b6113af84828501614ed7565b600060208284031215614f6257600080fd5b8151614615816145e3565b600060208284031215614f7f57600080fd5b81516146158161469d565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8082018281126000831280158216821582161715614fce57614fce614e82565b505092915050565b600060ff821660ff8103614fec57614fec614e82565b60010192915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60006001820161505557615055614e82565b5060010190565b6000825161506e818460208701614741565b9190910192915050565b808201808211156111dd576111dd614e82565b6000806040838503121561509e57600080fd5b82516001600160401b03808211156150b557600080fd5b6150c186838701614ed7565b935060208501519150808211156150d757600080fd5b506148ac85828601614ed7565b600080600080600060a086880312156150fc57600080fd5b85519450602086015193506040860151615115816145e3565b60608701519093506001600160e01b03198116811461513357600080fd5b60808701519092506001600160401b0381111561514f57600080fd5b61515b88828901614ed7565b9150509295509295909350565b6000806000806080858703121561517e57600080fd5b84519350602085015192506040850151615197816145e3565b60608601519092506151a8816145e3565b939692955090935050565b858152602081018590526001600160a01b03841660408201526001600160e01b03198316606082015260a0608082018190526000906151f490830184614765565b979650505050505050565b60008235605e1983360301811261506e57600080fd5b60006020828403121561522757600080fd5b813563ffffffff8116811461461557600080fd5b6000808335601e1984360301811261525257600080fd5b8301803591506001600160401b0382111561526c57600080fd5b60200191503681900382131561469657600080fd5b60008060006060848603121561529657600080fd5b83356152a1816145e3565b925060208401356152b1816145e3565b929592945050506040919091013590565b6000806000606084860312156152d757600080fd5b83356152e2816145e3565b92506020840135915060408401356001600160401b0381111561530457600080fd5b61492186828701614811565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611baf90830184614765565b6000806040838503121561535657600080fd5b82356001600160401b038082111561536d57600080fd5b61537986838701614811565b9350602085013591508082111561538f57600080fd5b506148ac85828601614811565b6000855160206153af8285838b01614741565b818401915086825285516153c881838501848a01614741565b85519201916153dc81838501848901614741565b91909101019695505050505050565b60008261540857634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176111dd576111dd614e82565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e0604082015260006113af60e083018461476556fe608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea26469706673582212206902a7db24b0d3a778c1f364c2041c6224c0ba5a54b2a99ab7f21c6f5b9e285964736f6c63430008170033a2646970667358221220ec92dc70bd7d1e42970a7e98f8eff43a5328fda4630ca779b4b3069a1babca9064736f6c63430008170033";
15
+ static readonly bytecode = "0x60e06040523480156200001157600080fd5b5060405162005cbe38038062005cbe833981016040819052620000349162000067565b911515608052151560a0526001600160a01b031660c052620000c1565b805180151581146200006257600080fd5b919050565b6000806000606084860312156200007d57600080fd5b620000888462000051565b9250620000986020850162000051565b60408501519092506001600160a01b0381168114620000b657600080fd5b809150509250925092565b60805160a05160c051615b7962000145600039600081816105ae015281816142d501526143fd015260008181610815015281816122530152818161272f015281816129da0152612b21015260008181610a2701528181610b3d01528181610e5e0152818161164601528181611781015281816118e00152612a490152615b796000f3fe6080604052600436106103355760003560e01c8063768fabb0116101ab578063bbe4fd50116100f7578063c60944a611610095578063f2e55caf1161006f578063f2e55caf14610a78578063f373305214610a8d578063f9f522f414610aad578063fa6e0cfe14610aea57600080fd5b8063c60944a6146109f5578063cd312ec414610a15578063e8dccb7d14610a4957600080fd5b8063bd3252c8116100d1578063bd3252c814610973578063bf42873414610988578063c4d66de8146109a8578063c56a069d146109c857600080fd5b8063bbe4fd5014610920578063bced3ddc14610933578063bd1c448b1461095357600080fd5b80639d297e3011610164578063b6d200de1161013e578063b6d200de14610877578063b724211e14610897578063ba48b5f8146108b7578063bb84cfa1146108d757600080fd5b80639d297e3014610803578063a5dbbbcd14610837578063ad3915c81461085757600080fd5b8063768fabb0146107315780638ca48484146107515780638ceddd7a146107715780639378fa131461079c578063989b0c3e146107ce5780639903ad38146107ee57600080fd5b8063486ff0cd1161028557806359a29141116102235780636b4f3335116101fd5780636b4f3335146106b35780637283100c146106d3578063731aed6e146106f357806374041e021461071157600080fd5b806359a291411461066d578063670e77e31461068d5780636ad3ca7d146106a057600080fd5b806352d1902d1161025f57806352d1902d146105d057806354fbc4931461060d57806357121e0c1461062d578063572b6c051461064d57600080fd5b8063486ff0cd1461055c57806350d75d251461058757806351e3bb821461059c57600080fd5b80632f89bf89116102f25780633ca3ad4e116102cc5780633ca3ad4e146104995780633f6c923a146104e15780634329d2931461050e578063469519541461053c57600080fd5b80632f89bf891461042a57806333d608f11461044a57806339255d5b1461047957600080fd5b806306cecba81461033a5780630c5650751461035c57806315a024e11461037c5780631e6d0a841461039c5780631e855cf3146103d2578063289b3c0d146103f2575b600080fd5b34801561034657600080fd5b5061035a610355366004614987565b610b0a565b005b34801561036857600080fd5b5061035a6103773660046149ab565b610ce1565b34801561038857600080fd5b5061035a610397366004614987565b610d71565b3480156103a857600080fd5b506103bc6103b7366004614a3a565b610fc1565b6040516103c99190614b20565b60405180910390f35b3480156103de57600080fd5b506103bc6103ed366004614bf6565b61120d565b3480156103fe57600080fd5b506000546201000090046001600160a01b03165b6040516001600160a01b0390911681526020016103c9565b34801561043657600080fd5b5061035a610445366004614987565b611225565b34801561045657600080fd5b50610461622dc6c081565b6040516001600160401b0390911681526020016103c9565b34801561048557600080fd5b506103bc610494366004614c45565b6113e3565b3480156104a557600080fd5b506104d16104b4366004614987565b6001600160a01b0316600090815260046020526040902054151590565b60405190151581526020016103c9565b3480156104ed57600080fd5b506105016104fc366004614cba565b6113f9565b6040516103c99190614cee565b34801561051a57600080fd5b5061052e610529366004614dcf565b61140a565b6040516103c9929190614e7b565b34801561054857600080fd5b5061035a610557366004614987565b611613565b34801561056857600080fd5b50604080518082019091526002815261763160f01b60208201526103bc565b34801561059357600080fd5b5061041261170f565b3480156105a857600080fd5b506104127f000000000000000000000000000000000000000000000000000000000000000081565b3480156105dc57600080fd5b507fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba745b6040519081526020016103c9565b34801561061957600080fd5b5061035a610628366004614987565b61173e565b34801561063957600080fd5b5061035a610648366004614987565b6119c1565b34801561065957600080fd5b506104d1610668366004614987565b611a8f565b34801561067957600080fd5b506103bc610688366004614ea0565b611b19565b61035a61069b366004614eeb565b611bfb565b61035a6106ae366004614eeb565b611c11565b3480156106bf57600080fd5b506104d16106ce366004614987565b611c1c565b3480156106df57600080fd5b5061035a6106ee366004614987565b611c40565b3480156106ff57600080fd5b506003546001600160a01b0316610412565b34801561071d57600080fd5b506103bc61072c366004614a3a565b611ce8565b34801561073d57600080fd5b506103bc61074c366004614f5f565b611e37565b34801561075d57600080fd5b506104d161076c366004614987565b611fd3565b34801561077d57600080fd5b5061078761010081565b60405163ffffffff90911681526020016103c9565b3480156107a857600080fd5b506107bc6107b7366004614987565b612098565b60405160ff90911681526020016103c9565b3480156107da57600080fd5b506103bc6107e9366004614ea0565b6120b9565b3480156107fa57600080fd5b5061035a61214c565b34801561080f57600080fd5b506104d17f000000000000000000000000000000000000000000000000000000000000000081565b34801561084357600080fd5b506105ff610852366004614fda565b612207565b34801561086357600080fd5b5061035a610872366004614ffc565b612251565b34801561088357600080fd5b50610412610892366004614ffc565b6122a5565b3480156108a357600080fd5b506103bc6108b2366004615015565b61230c565b3480156108c357600080fd5b506103bc6108d2366004615071565b6123cd565b3480156108e357600080fd5b506104d16108f23660046149ab565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561092c57600080fd5b50426105ff565b34801561093f57600080fd5b506105ff61094e366004614fda565b6126e4565b34801561095f57600080fd5b5061035a61096e3660046150f3565b61272d565b34801561097f57600080fd5b506105ff600181565b34801561099457600080fd5b506104d16109a336600461513e565b6127a3565b3480156109b457600080fd5b5061035a6109c3366004614987565b6127e4565b3480156109d457600080fd5b506109e86109e3366004614ffc565b6128c8565b6040516103c9919061517f565b348015610a0157600080fd5b5061035a610a103660046151cc565b6129ad565b348015610a2157600080fd5b506104d17f000000000000000000000000000000000000000000000000000000000000000081565b348015610a5557600080fd5b506104d1610a64366004614ffc565b600090815260026020526040902054151590565b348015610a8457600080fd5b50610412612a2c565b348015610a9957600080fd5b5061035a610aa83660046151cc565b612af4565b348015610ab957600080fd5b50610acd610ac8366004614987565b612bff565b6040805193151584529115156020840152908201526060016103c9565b348015610af657600080fd5b5061035a610b053660046149ab565b612c4e565b6000546201000090046001600160a01b03163314610b3b576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610b7a576040516314f72c9f60e01b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bde91906151f8565b600081815260026020526040812054919250819003610c1057604051630e4f4df560e11b815260040160405180910390fd5b60006001610c1e8184615227565b81548110610c2e57610c2e61523a565b6000918252602090912001546040516311a5465560e21b81526001600160a01b03868116600483015290911691508190634695195490602401600060405180830381600087803b158015610c8157600080fd5b505af1158015610c95573d6000803e3d6000fd5b5050604080518681526001600160a01b03881660208201527f9279aa773f2b588996032d8de89911555039f28b13a11a7c17074330bc082d9a935001905060405180910390a150505050565b6000546201000090046001600160a01b03163314610d12576040516362e9152760e11b815260040160405180910390fd5b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f28397090602401600060405180830381600087803b158015610d5557600080fd5b505af1158015610d69573d6000803e3d6000fd5b505050505050565b6000546201000090046001600160a01b03163314610da2576040516362e9152760e11b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610de2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0691906151f8565b60008181526002602052604090205490915015610e3657604051631b93bb7560e31b815260040160405180910390fd5b60015461010011610e5a57604051630f85034f60e31b815260040160405180910390fd5b60007f0000000000000000000000000000000000000000000000000000000000000000610f14576000604051610e8f9061490a565b604051809103906000f080158015610eab573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03868116600483015291925090821690634a0687ef90602401600060405180830381600087803b158015610ef357600080fd5b505af1158015610f07573d6000803e3d6000fd5b5050505080915050610f17565b50815b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0384166001600160a01b0319909116179055546000838152600260205260409081902091909155517f878135063a6cfb3bc333e534b1fdc83f4f12221cad6705c31c0567048a8bd3d190610fb490849086909182526001600160a01b0316602082015260400190565b60405180910390a1505050565b6060610fcc33611fd3565b610fe95760405163619c535960e01b815260040160405180910390fd5b82828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061102b9250839150612da99050565b61103757611037615250565b6000806110b18a6000898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c9081908401838280828437600092019190915250612dc992505050565b9150915081156111c6576110c481612f1b565b1561115e57808060200190518101906110dd91906152ab565b93506110e884612da9565b61115957866111125760405163a85ba64f60e01b8152601460048201526024015b60405180910390fd5b85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092965061115992508c915060149050612f6f565b611200565b8661117f5760405163a85ba64f60e01b815260166004820152602401611109565b85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092965061115992508c915060169050612f6f565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505050505b5050509695505050505050565b606061121c3384600085612ff0565b90505b92915050565b6000546201000090046001600160a01b03163314611256576040516362e9152760e11b815260040160405180910390fd5b604051635b69006f60e11b81527fdfd8ece9bfbcb8c5c540edb935641f63d67686490a1ab97f000288759f30a9466004820152600090309063b6d200de90602401602060405180830381865afa1580156112b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d891906152df565b90506000816001600160a01b0316635437dd976040518163ffffffff1660e01b8152600401602060405180830381865afa15801561131a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133e91906152df565b604051631b2ce7f360e11b81526001600160a01b03858116600483015291925090821690633659cfe690602401600060405180830381600087803b15801561138557600080fd5b505af1158015611399573d6000803e3d6000fd5b50506040516001600160a01b038681168252841692507f052cea8931962dd445ef48b0b998d3056bd0705f437087d60fe3c46a3fa09e1f91506020015b60405180910390a2505050565b60606113f13385858561322d565b949350505050565b611401614917565b61121f8261333e565b60608083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061144f9250839150612da99050565b61146f5760405163a85ba64f60e01b815260146004820152602401611109565b8961147981611fd3565b6114965760405163619c535960e01b815260040160405180910390fd5b60006114d787878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113f992505050565b6101208101519091506001600160a01b031633146115085760405163066875e160e11b815260040160405180910390fd5b60608101805133909152604080516020601f8c018190048102820181019092528a8152908b908b908190840183828082843760009201919091525050505060a083015261155482613409565b9550600061159a8e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508c915061353d9050565b9650905080156115f957858060200190518101906115b891906152ab565b96506115c387612da9565b6115cf576115cf615250565b6115d8876113f9565b6001600160a01b038316606082015292506115f283613409565b9650611602565b611602866135f8565b505050505097509795505050505050565b6000546201000090046001600160a01b03163314611644576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015611683576040516314f72c9f60e01b815260040160405180910390fd5b806001600160a01b031663cd312ec46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e591906152fc565b156117035760405163474e764160e01b815260040160405180910390fd5b61170c81613703565b50565b60006117397f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000546201000090046001600160a01b0316331461176f576040516362e9152760e11b815260040160405180910390fd5b6003546001600160a01b03166118de577f00000000000000000000000000000000000000000000000000000000000000006118555760006040516117b29061490a565b604051809103906000f0801580156117ce573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03848116600483015291925090821690634a0687ef90602401600060405180830381600087803b15801561181657600080fd5b505af115801561182a573d6000803e3d6000fd5b5050600380546001600160a01b0319166001600160a01b039490941693909317909255506118719050565b600380546001600160a01b0319166001600160a01b0383161790555b600360009054906101000a90046001600160a01b03166001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156118c157600080fd5b505af11580156118d5573d6000803e3d6000fd5b5050505061197d565b7f00000000000000000000000000000000000000000000000000000000000000001561191d576040516314f72c9f60e01b815260040160405180910390fd5b6003546040516311a5465560e21b81526001600160a01b03838116600483015290911690634695195490602401600060405180830381600087803b15801561196457600080fd5b505af1158015611978573d6000803e3d6000fd5b505050505b6003546040516001600160a01b0390911681527fce13a9895a1719ad4493b2ac1a9bfb36070566161abab408e7ecbe586da8d499906020015b60405180910390a150565b336000818152600460205260409020546119ee576040516302eb3f7160e61b815260040160405180910390fd5b6001600160a01b038216600090815260046020526040902054611a2457604051634b5518af60e11b815260040160405180910390fd5b611a2d82612098565b60ff16611a3982612098565b60ff1611611a5a57604051630447252760e41b815260040160405180910390fd5b6001600160a01b039081166000908152600560209081526040808320949093168252929092529020805460ff19166001179055565b600080546201000090046001600160a01b03166380f70cba3083611ab28661393d565b6040518463ffffffff1660e01b8152600401611ad093929190615319565b602060405180830381865afa158015611aed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1191906151f8565b151592915050565b6060611b2433611fd3565b611b415760405163619c535960e01b815260040160405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b839250839150612da99050565b611b8f57611b8f615250565b6000611bd086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113f992505050565b9050838161010001818151611be5919061533d565b905250611bf181613409565b9695505050505050565b611c0d611c066139c5565b8383613a2d565b5050565b611c0d338383613a2d565b6001600160a01b03811660009081526004602052604081205461800016151561121f565b6000546201000090046001600160a01b03163314611c71576040516362e9152760e11b815260040160405180910390fd5b600054604080516001600160a01b03620100009093048316815291831660208301527f13abda02e63c790d0e2818b251282cfe5cbe0a8abd69c54bf5d2260c0907bd2e910160405180910390a1600080546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6060611cf333611fd3565b611d105760405163619c535960e01b815260040160405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d529250839150612da99050565b611d5e57611d5e615250565b600080611dd88a6001898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c9081908401838280828437600092019190915250612dc992505050565b91509150811561120057611deb81612f1b565b15611e0b5780806020019051810190611e0491906152ab565b9350611200565b86611e2c5760405163a85ba64f60e01b815260166004820152602401611109565b6112008a6016612f6f565b6060611e4233611fd3565b611e5f5760405163619c535960e01b815260040160405180910390fd5b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ea19250839150612da99050565b611ead57611ead615250565b6000611eee89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113f992505050565b9050611f1581606001516001600160a01b0316600090815260046020526040902054151590565b8015611f2957506001816000015160ff1610155b15611f7c5760608101516001600160a01b039081166000908152600560209081526040808320938b168352929052205460ff16611f7c5760405163a85ba64f60e01b8152601e6004820152602401611109565b805181611f8882615365565b60ff169052506003602082015260c0810186905261010081018590526001600160a01b038088166101208301528416610140820152611fc681613409565b9998505050505050505050565b600080826001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612014573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203891906151f8565b60008181526002602052604090205490915080158015906113f157506001600160a01b038416600161206a8184615227565b8154811061207a5761207a61523a565b6000918252602090912001546001600160a01b031614949350505050565b6001600160a01b03811660009081526004602052604081205460ff1661121f565b60606120c433611fd3565b6120e15760405163619c535960e01b815260040160405180910390fd5b600061212285858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113f992505050565b9050828161010001818151612137919061533d565b90525061214381613409565b95945050505050565b600054610100900460ff161580801561216c5750600054600160ff909116105b806121865750303b158015612186575060005460ff166001145b6121a25760405162461bcd60e51b815260040161110990615384565b6000805460ff1916600117905580156121c5576000805461ff0019166101001790555b801561170c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016119b6565b60008181526002602052604081205480820361223657604051630e4f4df560e11b815260040160405180910390fd5b612241600182615227565b6001901b19841691505092915050565b7f00000000000000000000000000000000000000000000000000000000000000001561229b5761229b604051806040016040528060028152602001616b3160f01b81525032614516565b61170c33826145bf565b6000818152600260205260408120548082036122d457604051630e4f4df560e11b815260040160405180910390fd5b60016122e08183615227565b815481106122f0576122f061523a565b6000918252602090912001546001600160a01b03169392505050565b606061231733611fd3565b6123345760405163619c535960e01b815260040160405180910390fd5b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506123769250839150612da99050565b61238257612382615250565b61238c8484612f6f565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929998505050505050505050565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506124119250839150612da99050565b6124315760405163a85ba64f60e01b815260146004820152602401611109565b6001600160a01b038716600090815260046020526040812054889181900361246c5760405163163cbe4360e01b815260040160405180910390fd5b61800081161561248e57604051628e12d960e21b815260040160405180910390fd5b87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092506124cf915083905061468e565b90506001600160e01b031981166330d9c91560e01b148061250057506001600160e01b0319811663d86ed3e560e01b145b8061251b57506001600160e01b03198116630221347d60e61b145b8061253657506001600160e01b0319811663230dbd2960e01b145b8061255157506001600160e01b03198116635f9e7d7760e01b145b8061256c57506001600160e01b031981166353c11f9960e01b145b1561258a576040516377a14afb60e11b815260040160405180910390fd5b60006125cb89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113f992505050565b6101208101519091506001600160a01b031633146125fc576040516311cfdef560e21b815260040160405180910390fd5b6060810180513390915261260f82613409565b97506000806126568f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508f915061353d9050565b9150915081156126c9578080602001905181019061267491906152ab565b995061267f8a612da9565b61269f5760405163a85ba64f60e01b815260146004820152602401611109565b6126a88a6113f9565b6001600160a01b038416606082015293506126c284613409565b99506126d2565b6126d2816135f8565b50505050505050505095945050505050565b60008181526002602052604081205480820361271357604051630e4f4df560e11b815260040160405180910390fd5b61271e600182615227565b6001901b841791505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156127945761279482828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250329250614516915050565b61279e33846145bf565b505050565b600061121c83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612da992505050565b600054610100900460ff16158080156128045750600054600160ff909116105b8061281e5750303b15801561281e575060005460ff166001145b61283a5760405162461bcd60e51b815260040161110990615384565b6000805460ff19166001179055801561285d576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b038516021790558015611c0d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60606000806001805490506001600160401b038111156128ea576128ea614b33565b604051908082528060200260200182016040528015612913578160200160208202803683370190505b50925060009050600091505b6001548210156129a5576001821b84161561299a57600182815481106129475761294761523a565b6000918252602090912001546001600160a01b03168382612967816153d2565b9350815181106129795761297961523a565b60200260200101906001600160a01b031690816001600160a01b0316815250505b81600101915061291f565b825250919050565b816001600160a01b03163b6000036129d85760405163353dacc360e21b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015612a2257612a22604051806040016040528060028152602001616b3160f01b81525033614516565b611c0d82826145bf565b6003546000906001600160a01b0316612a4757612a47615250565b7f000000000000000000000000000000000000000000000000000000000000000015612a7d57506003546001600160a01b031690565b600360009054906101000a90046001600160a01b03166001600160a01b03166350d75d256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ad0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173991906152df565b816001600160a01b03163b600003612b1f5760405163353dacc360e21b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015612a22576000612b50336146ea565b6000805460405163407b865d60e11b81529293509091620100009091046001600160a01b0316906380f70cba90612b8f90309085908790600401615319565b602060405180830381865afa158015612bac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bd091906151f8565b600114905080612bf357604051630b56455f60e41b815260040160405180910390fd5b5050611c0d82826145bf565b6001600160a01b038116600090815260046020908152604080832081519283019091525480825215801592918291612c4657805161800081161515935064ff000000001691505b509193909250565b6000546201000090046001600160a01b03163314612c7f576040516362e9152760e11b815260040160405180910390fd5b60006001600160a01b038216612d0b57600360009054906101000a90046001600160a01b03166001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ce2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d0691906152df565b612d0d565b815b6040516311a5465560e21b81526001600160a01b03808316600483015291925090841690634695195490602401600060405180830381600087803b158015612d5457600080fd5b505af1158015612d68573d6000803e3d6000fd5b50506040516001600160a01b038481168252861692507f840acbd291b38534819f47f875839277e502f40e1c7bfea2c5fc2c8017442cd391506020016113d6565b6000815160001415801561121f5750600654825160208401201492915050565b600060606001600160a01b038716612de357612de3615250565b612ded8484614764565b9350622dc6c060005a90508715612e6357886001600160a01b03168287604051612e1791906153eb565b6000604051808303818686fa925050503d8060008114612e53576040519150601f19603f3d011682016040523d82523d6000602084013e612e58565b606091505b509094509250612ec6565b886001600160a01b03168287604051612e7c91906153eb565b60006040518083038160008787f1925050503d8060008114612eba576040519150601f19603f3d011682016040523d82523d6000602084013e612ebf565b606091505b5090945092505b83612f0f57612ed48161481b565b612ef65786612eeb57612ee6836135f8565b612f0f565b612ee689600a612f6f565b604051636a7aea4b60e11b815260040160405180910390fd5b50509550959350505050565b6000604082511015612f2f57506000919050565b602082810151906000908214612f49575060009392505050565b506040830151612f5881614831565b612f63906040615407565b84511492505050919050565b6001600160a01b038216600090815260046020526040812054618000169003611c0d576001600160a01b038216600081815260046020526040908190208054618000179055517fbe3aa33bd245135e4e26b223d79d14ea479a47bff09f2b03c53838af1edbb14b90612fe49084815260200190565b60405180910390a25050565b600654606090156130175760405163a85ba64f60e01b815260156004820152602401611109565b6001600160a01b03841660009081526004602052604081205485918190036130525760405163163cbe4360e01b815260040160405180910390fd5b61800081161561307457604051628e12d960e21b815260040160405180910390fd5b8360006130808261468e565b90506001600160e01b031981166330d9c91560e01b14806130b157506001600160e01b0319811663d86ed3e560e01b145b806130cc57506001600160e01b03198116630221347d60e61b145b806130e757506001600160e01b0319811663230dbd2960e01b145b8061310257506001600160e01b03198116635f9e7d7760e01b145b8061311d57506001600160e01b031981166353c11f9960e01b145b1561313b576040516377a14afb60e11b815260040160405180910390fd5b60408051610160810182526000808252600260208084019190915242838501526001600160a01b03808e16606085015260808401839052845191820190945281815260a083015260c0820181905260e082018190526101008201819052918a1661012082015261014081018290526131b290613409565b905060006131c28a898b8561353d565b97509050801561321057868060200190518101906131e091906152ab565b91506131eb82612da9565b61320b5760405163a85ba64f60e01b815260146004820152602401611109565b613219565b613219876135f8565b505060006006555092979650505050505050565b600654606090156132545760405163a85ba64f60e01b815260156004820152602401611109565b8361325e81611fd3565b61327b5760405163619c535960e01b815260040160405180910390fd5b60006132868561468e565b60408051610160810182526000808252600160208301529293506133099181014281526020018a6001600160a01b03168152602001846001600160e01b031916815260200187815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815250613409565b9050600061331a888860008561353d565b955090508061332c5761332c856135f8565b50506000600655509095945050505050565b613346614917565b6060808380602001905181019061335d919061541a565b8151919350915060009061337a9084016020908101908501615473565b60a08901526001600160e01b03191660808801526001600160a01b031660608701526040860152602081811c600f168187015260ff90911685528251600092506133cb9190840181019084016154f7565b6001600160a01b03908116610140890152166101208701526101008601526001600160801b03811660c086015260801c60e085015250919392505050565b60606001826000015160ff1611156134375760405163a85ba64f60e01b815260286004820152602401611109565b815160208084015160009260ff1664ff000000009190921b16179050600060806134648560e0015161486a565b6001600160801b0316901b61347c8560c0015161486a565b6001600160801b0316179050818460400151856060015186608001518760a001516040516020016134b1959493929190615542565b60408051601f1981840301815282825261010087015161012088015161014089015160208601879052938501919091526001600160a01b03908116606085015290911660808301529060a00160408051601f198184030181529082905261351b9291602001614e7b565b60408051601f1981840301815291905280516020820120600655949350505050565b600060606001600160a01b03861661355757613557615250565b6135618584614764565b9450856001600160a01b0316848660405161357c91906153eb565b60006040518083038185875af1925050503d80600081146135b9576040519150601f19603f3d011682016040523d82523d6000602084013e6135be565b606091505b50909250905081156135ef5780516000036135ef5760405163a85ba64f60e01b815260166004820152602401611109565b94509492505050565b60048151101561364a5760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a207461726765742072657665727428290000000000006044820152606401611109565b602081015163b1b7848f60e01b6001600160e01b03198216016136fa5760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b815291929161110991849101614b20565b81518060208401fd5b600061372d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036137835760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611109565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137e591906151f8565b7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba741461385f5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611109565b6001600160a01b03811630036138b75760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611109565b6138df817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74604080519182526001600160a01b0384166020830152016119b6565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b6000601836108015906139dc57506139dc33611a8f565b613a205760405162461bcd60e51b81526020600482015260156024820152742737ba103a393ab9ba32b2103337b93bb0b93232b960591b6044820152606401611109565b5060131936013560601c90565b60005b818110156144d4576000838383818110613a4c57613a4c61523a565b9050602002810190613a5e919061558e565b613a6c9060208101906155a4565b905060001963ffffffff821601613b6057600080858585818110613a9257613a9261523a565b9050602002810190613aa4919061558e565b613ab29060408101906155ca565b810190613abf91906151cc565b91509150858585818110613ad557613ad561523a565b9050602002810190613ae7919061558e565b613af8906040810190602001614987565b6001600160a01b03166362aa52878884846040518463ffffffff1660e01b8152600401613b2793929190615319565b600060405180830381600087803b158015613b4157600080fd5b505af1158015613b55573d6000803e3d6000fd5b5050505050506144cb565b60011963ffffffff821601613c6b576000806000868686818110613b8657613b8661523a565b9050602002810190613b98919061558e565b613ba69060408101906155ca565b810190613bb39190615610565b925092509250868686818110613bcb57613bcb61523a565b9050602002810190613bdd919061558e565b613bee906040810190602001614987565b604051630b682aeb60e11b81526001600160a01b038a81166004830152858116602483015284811660448301526064820184905291909116906316d055d6906084015b600060405180830381600087803b158015613c4b57600080fd5b505af1158015613c5f573d6000803e3d6000fd5b505050505050506144cb565b60021963ffffffff821601613d2a576000806000868686818110613c9157613c9161523a565b9050602002810190613ca3919061558e565b613cb19060408101906155ca565b810190613cbe9190615651565b925092509250868686818110613cd657613cd661523a565b9050602002810190613ce8919061558e565b613cf9906040810190602001614987565b6001600160a01b031663ca0c1e7f898585856040518563ffffffff1660e01b8152600401613c31949392919061569f565b60031963ffffffff821601613de357600080858585818110613d4e57613d4e61523a565b9050602002810190613d60919061558e565b613d6e9060408101906155ca565b810190613d7b91906151cc565b91509150858585818110613d9157613d9161523a565b9050602002810190613da3919061558e565b613db4906040810190602001614987565b6001600160a01b0316634b2763b38884846040518463ffffffff1660e01b8152600401613b2793929190615319565b60041963ffffffff821601613e9c57600080858585818110613e0757613e0761523a565b9050602002810190613e19919061558e565b613e279060408101906155ca565b810190613e3491906151cc565b91509150858585818110613e4a57613e4a61523a565b9050602002810190613e5c919061558e565b613e6d906040810190602001614987565b6001600160a01b031663c780fd828884846040518463ffffffff1660e01b8152600401613b2793929190615319565b60641963ffffffff821601613f9157838383818110613ebd57613ebd61523a565b9050602002810190613ecf919061558e565b613ee0906040810190602001614987565b6001600160a01b031663ca78946486868686818110613f0157613f0161523a565b9050602002810190613f13919061558e565b613f219060408101906155ca565b810190613f2e9190614ffc565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015613f7457600080fd5b505af1158015613f88573d6000803e3d6000fd5b505050506144cb565b60651963ffffffff821601613ff657838383818110613fb257613fb261523a565b9050602002810190613fc4919061558e565b613fd5906040810190602001614987565b6001600160a01b031663245887fc86868686818110613f0157613f0161523a565b60661963ffffffff8216016140af5760008085858581811061401a5761401a61523a565b905060200281019061402c919061558e565b61403a9060408101906155ca565b81019061404791906151cc565b9150915085858581811061405d5761405d61523a565b905060200281019061406f919061558e565b614080906040810190602001614987565b6001600160a01b0316631ae88ffc8884846040518463ffffffff1660e01b8152600401613b2793929190615319565b60671963ffffffff821601614168576000808585858181106140d3576140d361523a565b90506020028101906140e5919061558e565b6140f39060408101906155ca565b81019061410091906151cc565b915091508585858181106141165761411661523a565b9050602002810190614128919061558e565b614139906040810190602001614987565b6001600160a01b03166347ba7ad18884846040518463ffffffff1660e01b8152600401613b2793929190615319565b60c81963ffffffff8216016142055760008085858581811061418c5761418c61523a565b905060200281019061419e919061558e565b6141ac9060408101906155ca565b8101906141b991906156d2565b915091506141fd878787878181106141d3576141d361523a565b90506020028101906141e5919061558e565b6141f6906040810190602001614987565b848461322d565b5050506144cb565b60c91963ffffffff8216016142c0576142ba8585858581811061422a5761422a61523a565b905060200281019061423c919061558e565b61424d906040810190602001614987565b478787878181106142605761426061523a565b9050602002810190614272919061558e565b6142809060408101906155ca565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612ff092505050565b506144cb565b61012c1963ffffffff8216016143e8576000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166322bee494478888888181106143155761431561523a565b9050602002810190614327919061558e565b614338906040810190602001614987565b89898981811061434a5761434a61523a565b905060200281019061435c919061558e565b61436a9060408101906155ca565b6040518563ffffffff1660e01b815260040161438893929190615754565b60006040518083038185885af11580156143a6573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f191682016040526143cf9190810190615779565b91509150816143e1576143e1816135f8565b50506144cb565b61012d1963ffffffff8216016144b2576000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663177ec5944788888881811061443d5761443d61523a565b905060200281019061444f919061558e565b614460906040810190602001614987565b8a8a8a8a8181106144735761447361523a565b9050602002810190614485919061558e565b6144939060408101906155ca565b6040518663ffffffff1660e01b815260040161438894939291906157bf565b60405163b477011560e01b815260040160405180910390fd5b50600101613a30565b50471561279e576040516001600160a01b038416904780156108fc02916000818181858888f19350505050158015614510573d6000803e3d6000fd5b50505050565b600061452282846148d7565b6000805460405163407b865d60e11b81529293504292620100009091046001600160a01b0316916380f70cba9161455f9130918790600401615319565b602060405180830381865afa15801561457c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145a091906151f8565b101561279e57604051630b56455f60e41b815260040160405180910390fd5b64ff000080ff1981161515806145d6575060ff8116155b806145e45750618000811615155b1561460257604051633d3200a960e21b815260040160405180910390fd5b6001600160a01b03821660009081526004602052604090205415614639576040516301b0a93560e01b815260040160405180910390fd5b60408051602080820183528382526001600160a01b038516600081815260049092528382209251909255915190917f0d540ad8f39e07d19909687352b9fa017405d93c91a6760981fbae9cf28bfef791a25050565b60006004825110156146e25760405162461bcd60e51b815260206004820152601b60248201527f43616c6c5574696c733a20696e76616c69642063616c6c4461746100000000006044820152606401611109565b506020015190565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c0016139a8565b81518083015160609190801561478d576040516367e9985b60e01b815260040160405180910390fd5b50601f19810184528251849084816147a481614831565b6147ae9190615227565b6001600160401b038111156147c5576147c5614b33565b6040519080825280601f01601f1916602001820160405280156147ef576020820181803683370190505b5060405160200161480394939291906157ec565b60405160208183030381529060405291505092915050565b600061482860408361583b565b5a111592915050565b60008082601f1611614844576000614847565b60015b60ff1661485560208461583b565b61485f9190615407565b61121f90602061585d565b60006001600160801b038211156148d35760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401611109565b5090565b600082826040516020016148ec929190615874565b60405160208183030381529060405280519060200120905092915050565b61024a806158fa83390190565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461170c57600080fd5b60006020828403121561499957600080fd5b81356149a481614972565b9392505050565b600080604083850312156149be57600080fd5b82356149c981614972565b915060208301356149d981614972565b809150509250929050565b60008083601f8401126149f657600080fd5b5081356001600160401b03811115614a0d57600080fd5b602083019150836020828501011115614a2557600080fd5b9250929050565b801515811461170c57600080fd5b60008060008060008060808789031215614a5357600080fd5b8635614a5e81614972565b955060208701356001600160401b0380821115614a7a57600080fd5b614a868a838b016149e4565b909750955060408901359150614a9b82614a2c565b90935060608801359080821115614ab157600080fd5b50614abe89828a016149e4565b979a9699509497509295939492505050565b60005b83811015614aeb578181015183820152602001614ad3565b50506000910152565b60008151808452614b0c816020860160208601614ad0565b601f01601f19169290920160200192915050565b60208152600061121c6020830184614af4565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715614b7157614b71614b33565b604052919050565b60006001600160401b03821115614b9257614b92614b33565b50601f01601f191660200190565b600082601f830112614bb157600080fd5b8135614bc4614bbf82614b79565b614b49565b818152846020838601011115614bd957600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215614c0957600080fd5b8235614c1481614972565b915060208301356001600160401b03811115614c2f57600080fd5b614c3b85828601614ba0565b9150509250929050565b600080600060608486031215614c5a57600080fd5b8335614c6581614972565b925060208401356001600160401b0380821115614c8157600080fd5b614c8d87838801614ba0565b93506040860135915080821115614ca357600080fd5b50614cb086828701614ba0565b9150509250925092565b600060208284031215614ccc57600080fd5b81356001600160401b03811115614ce257600080fd5b6113f184828501614ba0565b60208152614d0260208201835160ff169052565b60006020830151614d18604084018260ff169052565b50604083015160608301526060830151614d3d60808401826001600160a01b03169052565b5060808301516001600160e01b0319811660a08401525060a08301516101608060c0850152614d70610180850183614af4565b915060c085015160e085015260e0850151610100818187015280870151915050610120818187015280870151915050610140614db6818701836001600160a01b03169052565b909501516001600160a01b031693019290925250919050565b60008060008060008060006080888a031215614dea57600080fd5b8735614df581614972565b965060208801356001600160401b0380821115614e1157600080fd5b614e1d8b838c016149e4565b909850965060408a0135915080821115614e3657600080fd5b614e428b838c016149e4565b909650945060608a0135915080821115614e5b57600080fd5b50614e688a828b016149e4565b989b979a50959850939692959293505050565b604081526000614e8e6040830185614af4565b82810360208401526121438185614af4565b600080600060408486031215614eb557600080fd5b83356001600160401b03811115614ecb57600080fd5b614ed7868287016149e4565b909790965060209590950135949350505050565b60008060208385031215614efe57600080fd5b82356001600160401b0380821115614f1557600080fd5b818501915085601f830112614f2957600080fd5b813581811115614f3857600080fd5b8660208260051b8501011115614f4d57600080fd5b60209290920196919550909350505050565b60008060008060008060a08789031215614f7857600080fd5b86356001600160401b03811115614f8e57600080fd5b614f9a89828a016149e4565b9097509550506020870135614fae81614972565b935060408701359250606087013591506080870135614fcc81614972565b809150509295509295509295565b60008060408385031215614fed57600080fd5b50508035926020909101359150565b60006020828403121561500e57600080fd5b5035919050565b6000806000806060858703121561502b57600080fd5b84356001600160401b0381111561504157600080fd5b61504d878288016149e4565b909550935050602085013561506181614972565b9396929550929360400135925050565b60008060008060006060868803121561508957600080fd5b853561509481614972565b945060208601356001600160401b03808211156150b057600080fd5b6150bc89838a016149e4565b909650945060408801359150808211156150d557600080fd5b506150e2888289016149e4565b969995985093965092949392505050565b60008060006040848603121561510857600080fd5b8335925060208401356001600160401b0381111561512557600080fd5b615131868287016149e4565b9497909650939450505050565b6000806020838503121561515157600080fd5b82356001600160401b0381111561516757600080fd5b615173858286016149e4565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b818110156151c05783516001600160a01b03168352928401929184019160010161519b565b50909695505050505050565b600080604083850312156151df57600080fd5b82356151ea81614972565b946020939093013593505050565b60006020828403121561520a57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561121f5761121f615211565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b600082601f83011261527757600080fd5b8151615285614bbf82614b79565b81815284602083860101111561529a57600080fd5b6113f1826020830160208701614ad0565b6000602082840312156152bd57600080fd5b81516001600160401b038111156152d357600080fd5b6113f184828501615266565b6000602082840312156152f157600080fd5b81516149a481614972565b60006020828403121561530e57600080fd5b81516149a481614a2c565b6001600160a01b039384168152919092166020820152604081019190915260600190565b808201828112600083128015821682158216171561535d5761535d615211565b505092915050565b600060ff821660ff810361537b5761537b615211565b60010192915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6000600182016153e4576153e4615211565b5060010190565b600082516153fd818460208701614ad0565b9190910192915050565b8082018082111561121f5761121f615211565b6000806040838503121561542d57600080fd5b82516001600160401b038082111561544457600080fd5b61545086838701615266565b9350602085015191508082111561546657600080fd5b50614c3b85828601615266565b600080600080600060a0868803121561548b57600080fd5b855194506020860151935060408601516154a481614972565b60608701519093506001600160e01b0319811681146154c257600080fd5b60808701519092506001600160401b038111156154de57600080fd5b6154ea88828901615266565b9150509295509295909350565b6000806000806080858703121561550d57600080fd5b8451935060208501519250604085015161552681614972565b606086015190925061553781614972565b939692955090935050565b858152602081018590526001600160a01b03841660408201526001600160e01b03198316606082015260a06080820181905260009061558390830184614af4565b979650505050505050565b60008235605e198336030181126153fd57600080fd5b6000602082840312156155b657600080fd5b813563ffffffff811681146149a457600080fd5b6000808335601e198436030181126155e157600080fd5b8301803591506001600160401b038211156155fb57600080fd5b602001915036819003821315614a2557600080fd5b60008060006060848603121561562557600080fd5b833561563081614972565b9250602084013561564081614972565b929592945050506040919091013590565b60008060006060848603121561566657600080fd5b833561567181614972565b92506020840135915060408401356001600160401b0381111561569357600080fd5b614cb086828701614ba0565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611bf190830184614af4565b600080604083850312156156e557600080fd5b82356001600160401b03808211156156fc57600080fd5b61570886838701614ba0565b9350602085013591508082111561571e57600080fd5b50614c3b85828601614ba0565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0384168152604060208201819052600090612143908301848661572b565b6000806040838503121561578c57600080fd5b825161579781614a2c565b60208401519092506001600160401b038111156157b357600080fd5b614c3b85828601615266565b6001600160a01b03858116825284166020820152606060408201819052600090611bf1908301848661572b565b6000855160206157ff8285838b01614ad0565b8184019150868252855161581881838501848a01614ad0565b855192019161582c81838501848901614ad0565b91909101019695505050505050565b60008261585857634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761121f5761121f615211565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e0604082015260006113f160e0830184614af456fe608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea26469706673582212206902a7db24b0d3a778c1f364c2041c6224c0ba5a54b2a99ab7f21c6f5b9e285964736f6c63430008170033a2646970667358221220bba8696e7d9419ccc781979d3a3f5a913bdf3a12ad18686cd8a9ee649cd255b064736f6c63430008170033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "bool";
@@ -22,6 +22,10 @@ export declare class Superfluid__factory extends ContractFactory {
22
22
  readonly internalType: "bool";
23
23
  readonly name: "appWhiteListingEnabled";
24
24
  readonly type: "bool";
25
+ }, {
26
+ readonly internalType: "address";
27
+ readonly name: "dmzForwarderAddress";
28
+ readonly type: "address";
25
29
  }];
26
30
  readonly stateMutability: "nonpayable";
27
31
  readonly type: "constructor";
@@ -276,6 +280,16 @@ export declare class Superfluid__factory extends ContractFactory {
276
280
  }];
277
281
  readonly stateMutability: "view";
278
282
  readonly type: "function";
283
+ }, {
284
+ readonly inputs: readonly [];
285
+ readonly name: "DMZ_FORWARDER";
286
+ readonly outputs: readonly [{
287
+ readonly internalType: "contract DMZForwarder";
288
+ readonly name: "";
289
+ readonly type: "address";
290
+ }];
291
+ readonly stateMutability: "view";
292
+ readonly type: "function";
279
293
  }, {
280
294
  readonly inputs: readonly [];
281
295
  readonly name: "MAX_APP_CALLBACK_LEVEL";
@@ -667,7 +681,7 @@ export declare class Superfluid__factory extends ContractFactory {
667
681
  }];
668
682
  readonly name: "forwardBatchCall";
669
683
  readonly outputs: readonly [];
670
- readonly stateMutability: "nonpayable";
684
+ readonly stateMutability: "payable";
671
685
  readonly type: "function";
672
686
  }, {
673
687
  readonly inputs: readonly [{
@@ -1 +1 @@
1
- {"version":3,"file":"Superfluid__factory.d.ts","sourceRoot":"","sources":["../../../../../../src/typechain-types/factories/contracts/superfluid/Superfluid__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,UAAU,EACV,mBAAmB,EACpB,MAAM,0CAA0C,CAAC;AAw3ClD,KAAK,2BAA2B,GAC5B,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,mBAAoB,SAAQ,eAAe;gBAC1C,GAAG,IAAI,EAAE,2BAA2B;IAQvC,MAAM,CACb,aAAa,EAAE,OAAO,EACtB,sBAAsB,EAAE,OAAO,EAC/B,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,OAAO,CAAC,UAAU,CAAC;IAOb,oBAAoB,CAC3B,aAAa,EAAE,OAAO,EACtB,sBAAsB,EAAE,OAAO,EAC/B,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,kBAAkB;IAOZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAGnC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB;IAIrD,MAAM,CAAC,QAAQ,CAAC,QAAQ,wl4CAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,mBAAmB;IAG7C,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAClC,UAAU;CAGd"}
1
+ {"version":3,"file":"Superfluid__factory.d.ts","sourceRoot":"","sources":["../../../../../../src/typechain-types/factories/contracts/superfluid/Superfluid__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,UAAU,EACV,mBAAmB,EACpB,MAAM,0CAA0C,CAAC;AA04ClD,KAAK,2BAA2B,GAC5B,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,mBAAoB,SAAQ,eAAe;gBAC1C,GAAG,IAAI,EAAE,2BAA2B;IAQvC,MAAM,CACb,aAAa,EAAE,OAAO,EACtB,sBAAsB,EAAE,OAAO,EAC/B,mBAAmB,EAAE,MAAM,EAC3B,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,OAAO,CAAC,UAAU,CAAC;IAQb,oBAAoB,CAC3B,aAAa,EAAE,OAAO,EACtB,sBAAsB,EAAE,OAAO,EAC/B,mBAAmB,EAAE,MAAM,EAC3B,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,kBAAkB;IAQZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAGnC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB;IAIrD,MAAM,CAAC,QAAQ,CAAC,QAAQ,o48CAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,mBAAmB;IAG7C,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAClC,UAAU;CAGd"}
@@ -18,6 +18,11 @@ const _abi = [
18
18
  name: "appWhiteListingEnabled",
19
19
  type: "bool",
20
20
  },
21
+ {
22
+ internalType: "address",
23
+ name: "dmzForwarderAddress",
24
+ type: "address",
25
+ },
21
26
  ],
22
27
  stateMutability: "nonpayable",
23
28
  type: "constructor",
@@ -341,6 +346,19 @@ const _abi = [
341
346
  stateMutability: "view",
342
347
  type: "function",
343
348
  },
349
+ {
350
+ inputs: [],
351
+ name: "DMZ_FORWARDER",
352
+ outputs: [
353
+ {
354
+ internalType: "contract DMZForwarder",
355
+ name: "",
356
+ type: "address",
357
+ },
358
+ ],
359
+ stateMutability: "view",
360
+ type: "function",
361
+ },
344
362
  {
345
363
  inputs: [],
346
364
  name: "MAX_APP_CALLBACK_LEVEL",
@@ -851,7 +869,7 @@ const _abi = [
851
869
  ],
852
870
  name: "forwardBatchCall",
853
871
  outputs: [],
854
- stateMutability: "nonpayable",
872
+ stateMutability: "payable",
855
873
  type: "function",
856
874
  },
857
875
  {
@@ -1399,7 +1417,7 @@ const _abi = [
1399
1417
  type: "function",
1400
1418
  },
1401
1419
  ];
1402
- const _bytecode = "0x60c06040523480156200001157600080fd5b50604051620058283803806200582883398101604081905262000034916200005b565b901515608052151560a05262000093565b805180151581146200005657600080fd5b919050565b600080604083850312156200006f57600080fd5b6200007a8362000045565b91506200008a6020840162000045565b90509250929050565b60805160a051615729620000ff600039600081816107d301528181612211015281816126ed015281816129980152612adf0152600081816109e501528181610afb01528181610e1c015281816116040152818161173f0152818161189e0152612a0701526157296000f3fe60806040526004361061031a5760003560e01c8063768fabb0116101ab578063bbe4fd50116100f7578063c60944a611610095578063f2e55caf1161006f578063f2e55caf14610a36578063f373305214610a4b578063f9f522f414610a6b578063fa6e0cfe14610aa857600080fd5b8063c60944a6146109b3578063cd312ec4146109d3578063e8dccb7d14610a0757600080fd5b8063bd3252c8116100d1578063bd3252c814610931578063bf42873414610946578063c4d66de814610966578063c56a069d1461098657600080fd5b8063bbe4fd50146108de578063bced3ddc146108f1578063bd1c448b1461091157600080fd5b80639d297e3011610164578063b6d200de1161013e578063b6d200de14610835578063b724211e14610855578063ba48b5f814610875578063bb84cfa11461089557600080fd5b80639d297e30146107c1578063a5dbbbcd146107f5578063ad3915c81461081557600080fd5b8063768fabb0146106ef5780638ca484841461070f5780638ceddd7a1461072f5780639378fa131461075a578063989b0c3e1461078c5780639903ad38146107ac57600080fd5b8063486ff0cd1161026a57806359a29141116102235780636b4f3335116101fd5780636b4f3335146106715780637283100c14610691578063731aed6e146106b157806374041e02146106cf57600080fd5b806359a291411461061e578063670e77e31461063e5780636ad3ca7d1461065e57600080fd5b8063486ff0cd1461054157806350d75d251461056c57806352d1902d1461058157806354fbc493146105be57806357121e0c146105de578063572b6c05146105fe57600080fd5b80632f89bf89116102d75780633ca3ad4e116102b15780633ca3ad4e1461047e5780633f6c923a146104c65780634329d293146104f3578063469519541461052157600080fd5b80632f89bf891461040f57806333d608f11461042f57806339255d5b1461045e57600080fd5b806306cecba81461031f5780630c5650751461034157806315a024e1146103615780631e6d0a84146103815780631e855cf3146103b7578063289b3c0d146103d7575b600080fd5b34801561032b57600080fd5b5061033f61033a3660046145f8565b610ac8565b005b34801561034d57600080fd5b5061033f61035c36600461461c565b610c9f565b34801561036d57600080fd5b5061033f61037c3660046145f8565b610d2f565b34801561038d57600080fd5b506103a161039c3660046146ab565b610f7f565b6040516103ae9190614791565b60405180910390f35b3480156103c357600080fd5b506103a16103d2366004614867565b6111cb565b3480156103e357600080fd5b506000546201000090046001600160a01b03165b6040516001600160a01b0390911681526020016103ae565b34801561041b57600080fd5b5061033f61042a3660046145f8565b6111e3565b34801561043b57600080fd5b50610446622dc6c081565b6040516001600160401b0390911681526020016103ae565b34801561046a57600080fd5b506103a16104793660046148b6565b6113a1565b34801561048a57600080fd5b506104b66104993660046145f8565b6001600160a01b0316600090815260046020526040902054151590565b60405190151581526020016103ae565b3480156104d257600080fd5b506104e66104e136600461492b565b6113b7565b6040516103ae919061495f565b3480156104ff57600080fd5b5061051361050e366004614a40565b6113c8565b6040516103ae929190614aec565b34801561052d57600080fd5b5061033f61053c3660046145f8565b6115d1565b34801561054d57600080fd5b50604080518082019091526002815261763160f01b60208201526103a1565b34801561057857600080fd5b506103f76116cd565b34801561058d57600080fd5b507fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba745b6040519081526020016103ae565b3480156105ca57600080fd5b5061033f6105d93660046145f8565b6116fc565b3480156105ea57600080fd5b5061033f6105f93660046145f8565b61197f565b34801561060a57600080fd5b506104b66106193660046145f8565b611a4d565b34801561062a57600080fd5b506103a1610639366004614b11565b611ad7565b34801561064a57600080fd5b5061033f610659366004614b5c565b611bb9565b61033f61066c366004614b5c565b611bcf565b34801561067d57600080fd5b506104b661068c3660046145f8565b611bda565b34801561069d57600080fd5b5061033f6106ac3660046145f8565b611bfe565b3480156106bd57600080fd5b506003546001600160a01b03166103f7565b3480156106db57600080fd5b506103a16106ea3660046146ab565b611ca6565b3480156106fb57600080fd5b506103a161070a366004614bd0565b611df5565b34801561071b57600080fd5b506104b661072a3660046145f8565b611f91565b34801561073b57600080fd5b5061074561010081565b60405163ffffffff90911681526020016103ae565b34801561076657600080fd5b5061077a6107753660046145f8565b612056565b60405160ff90911681526020016103ae565b34801561079857600080fd5b506103a16107a7366004614b11565b612077565b3480156107b857600080fd5b5061033f61210a565b3480156107cd57600080fd5b506104b67f000000000000000000000000000000000000000000000000000000000000000081565b34801561080157600080fd5b506105b0610810366004614c4b565b6121c5565b34801561082157600080fd5b5061033f610830366004614c6d565b61220f565b34801561084157600080fd5b506103f7610850366004614c6d565b612263565b34801561086157600080fd5b506103a1610870366004614c86565b6122ca565b34801561088157600080fd5b506103a1610890366004614ce2565b61238b565b3480156108a157600080fd5b506104b66108b036600461461c565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b3480156108ea57600080fd5b50426105b0565b3480156108fd57600080fd5b506105b061090c366004614c4b565b6126a2565b34801561091d57600080fd5b5061033f61092c366004614d64565b6126eb565b34801561093d57600080fd5b506105b0600181565b34801561095257600080fd5b506104b6610961366004614daf565b612761565b34801561097257600080fd5b5061033f6109813660046145f8565b6127a2565b34801561099257600080fd5b506109a66109a1366004614c6d565b612886565b6040516103ae9190614df0565b3480156109bf57600080fd5b5061033f6109ce366004614e3d565b61296b565b3480156109df57600080fd5b506104b67f000000000000000000000000000000000000000000000000000000000000000081565b348015610a1357600080fd5b506104b6610a22366004614c6d565b600090815260026020526040902054151590565b348015610a4257600080fd5b506103f76129ea565b348015610a5757600080fd5b5061033f610a66366004614e3d565b612ab2565b348015610a7757600080fd5b50610a8b610a863660046145f8565b612bbd565b6040805193151584529115156020840152908201526060016103ae565b348015610ab457600080fd5b5061033f610ac336600461461c565b612c0c565b6000546201000090046001600160a01b03163314610af9576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610b38576040516314f72c9f60e01b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9c9190614e69565b600081815260026020526040812054919250819003610bce57604051630e4f4df560e11b815260040160405180910390fd5b60006001610bdc8184614e98565b81548110610bec57610bec614eab565b6000918252602090912001546040516311a5465560e21b81526001600160a01b03868116600483015290911691508190634695195490602401600060405180830381600087803b158015610c3f57600080fd5b505af1158015610c53573d6000803e3d6000fd5b5050604080518681526001600160a01b03881660208201527f9279aa773f2b588996032d8de89911555039f28b13a11a7c17074330bc082d9a935001905060405180910390a150505050565b6000546201000090046001600160a01b03163314610cd0576040516362e9152760e11b815260040160405180910390fd5b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f28397090602401600060405180830381600087803b158015610d1357600080fd5b505af1158015610d27573d6000803e3d6000fd5b505050505050565b6000546201000090046001600160a01b03163314610d60576040516362e9152760e11b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610da0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc49190614e69565b60008181526002602052604090205490915015610df457604051631b93bb7560e31b815260040160405180910390fd5b60015461010011610e1857604051630f85034f60e31b815260040160405180910390fd5b60007f0000000000000000000000000000000000000000000000000000000000000000610ed2576000604051610e4d9061457b565b604051809103906000f080158015610e69573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03868116600483015291925090821690634a0687ef90602401600060405180830381600087803b158015610eb157600080fd5b505af1158015610ec5573d6000803e3d6000fd5b5050505080915050610ed5565b50815b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0384166001600160a01b0319909116179055546000838152600260205260409081902091909155517f878135063a6cfb3bc333e534b1fdc83f4f12221cad6705c31c0567048a8bd3d190610f7290849086909182526001600160a01b0316602082015260400190565b60405180910390a1505050565b6060610f8a33611f91565b610fa75760405163619c535960e01b815260040160405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fe99250839150612d679050565b610ff557610ff5614ec1565b60008061106f8a6000898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c9081908401838280828437600092019190915250612d8792505050565b9150915081156111845761108281612ed9565b1561111c578080602001905181019061109b9190614f1c565b93506110a684612d67565b61111757866110d05760405163a85ba64f60e01b8152601460048201526024015b60405180910390fd5b85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092965061111792508c915060149050612f2d565b6111be565b8661113d5760405163a85ba64f60e01b8152601660048201526024016110c7565b85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092965061111792508c915060169050612f2d565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505050505b5050509695505050505050565b60606111da3384600085612fae565b90505b92915050565b6000546201000090046001600160a01b03163314611214576040516362e9152760e11b815260040160405180910390fd5b604051635b69006f60e11b81527fdfd8ece9bfbcb8c5c540edb935641f63d67686490a1ab97f000288759f30a9466004820152600090309063b6d200de90602401602060405180830381865afa158015611272573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112969190614f50565b90506000816001600160a01b0316635437dd976040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fc9190614f50565b604051631b2ce7f360e11b81526001600160a01b03858116600483015291925090821690633659cfe690602401600060405180830381600087803b15801561134357600080fd5b505af1158015611357573d6000803e3d6000fd5b50506040516001600160a01b038681168252841692507f052cea8931962dd445ef48b0b998d3056bd0705f437087d60fe3c46a3fa09e1f91506020015b60405180910390a2505050565b60606113af338585856131eb565b949350505050565b6113bf614588565b6111dd826132fc565b60608083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061140d9250839150612d679050565b61142d5760405163a85ba64f60e01b8152601460048201526024016110c7565b8961143781611f91565b6114545760405163619c535960e01b815260040160405180910390fd5b600061149587878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113b792505050565b6101208101519091506001600160a01b031633146114c65760405163066875e160e11b815260040160405180910390fd5b60608101805133909152604080516020601f8c018190048102820181019092528a8152908b908b908190840183828082843760009201919091525050505060a0830152611512826133c7565b955060006115588e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508c91506134fb9050565b9650905080156115b757858060200190518101906115769190614f1c565b965061158187612d67565b61158d5761158d614ec1565b611596876113b7565b6001600160a01b038316606082015292506115b0836133c7565b96506115c0565b6115c0866135b6565b505050505097509795505050505050565b6000546201000090046001600160a01b03163314611602576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015611641576040516314f72c9f60e01b815260040160405180910390fd5b806001600160a01b031663cd312ec46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561167f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a39190614f6d565b156116c15760405163474e764160e01b815260040160405180910390fd5b6116ca816136c1565b50565b60006116f77f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000546201000090046001600160a01b0316331461172d576040516362e9152760e11b815260040160405180910390fd5b6003546001600160a01b031661189c577f00000000000000000000000000000000000000000000000000000000000000006118135760006040516117709061457b565b604051809103906000f08015801561178c573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03848116600483015291925090821690634a0687ef90602401600060405180830381600087803b1580156117d457600080fd5b505af11580156117e8573d6000803e3d6000fd5b5050600380546001600160a01b0319166001600160a01b0394909416939093179092555061182f9050565b600380546001600160a01b0319166001600160a01b0383161790555b600360009054906101000a90046001600160a01b03166001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561187f57600080fd5b505af1158015611893573d6000803e3d6000fd5b5050505061193b565b7f0000000000000000000000000000000000000000000000000000000000000000156118db576040516314f72c9f60e01b815260040160405180910390fd5b6003546040516311a5465560e21b81526001600160a01b03838116600483015290911690634695195490602401600060405180830381600087803b15801561192257600080fd5b505af1158015611936573d6000803e3d6000fd5b505050505b6003546040516001600160a01b0390911681527fce13a9895a1719ad4493b2ac1a9bfb36070566161abab408e7ecbe586da8d499906020015b60405180910390a150565b336000818152600460205260409020546119ac576040516302eb3f7160e61b815260040160405180910390fd5b6001600160a01b0382166000908152600460205260409020546119e257604051634b5518af60e11b815260040160405180910390fd5b6119eb82612056565b60ff166119f782612056565b60ff1611611a1857604051630447252760e41b815260040160405180910390fd5b6001600160a01b039081166000908152600560209081526040808320949093168252929092529020805460ff19166001179055565b600080546201000090046001600160a01b03166380f70cba3083611a70866138fb565b6040518463ffffffff1660e01b8152600401611a8e93929190614f8a565b602060405180830381865afa158015611aab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611acf9190614e69565b151592915050565b6060611ae233611f91565b611aff5760405163619c535960e01b815260040160405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b419250839150612d679050565b611b4d57611b4d614ec1565b6000611b8e86868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113b792505050565b9050838161010001818151611ba39190614fae565b905250611baf816133c7565b9695505050505050565b611bcb611bc4613983565b83836139eb565b5050565b611bcb3383836139eb565b6001600160a01b0381166000908152600460205260408120546180001615156111dd565b6000546201000090046001600160a01b03163314611c2f576040516362e9152760e11b815260040160405180910390fd5b600054604080516001600160a01b03620100009093048316815291831660208301527f13abda02e63c790d0e2818b251282cfe5cbe0a8abd69c54bf5d2260c0907bd2e910160405180910390a1600080546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6060611cb133611f91565b611cce5760405163619c535960e01b815260040160405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d109250839150612d679050565b611d1c57611d1c614ec1565b600080611d968a6001898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c9081908401838280828437600092019190915250612d8792505050565b9150915081156111be57611da981612ed9565b15611dc95780806020019051810190611dc29190614f1c565b93506111be565b86611dea5760405163a85ba64f60e01b8152601660048201526024016110c7565b6111be8a6016612f2d565b6060611e0033611f91565b611e1d5760405163619c535960e01b815260040160405180910390fd5b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e5f9250839150612d679050565b611e6b57611e6b614ec1565b6000611eac89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113b792505050565b9050611ed381606001516001600160a01b0316600090815260046020526040902054151590565b8015611ee757506001816000015160ff1610155b15611f3a5760608101516001600160a01b039081166000908152600560209081526040808320938b168352929052205460ff16611f3a5760405163a85ba64f60e01b8152601e60048201526024016110c7565b805181611f4682614fd6565b60ff169052506003602082015260c0810186905261010081018590526001600160a01b038088166101208301528416610140820152611f84816133c7565b9998505050505050505050565b600080826001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff69190614e69565b60008181526002602052604090205490915080158015906113af57506001600160a01b03841660016120288184614e98565b8154811061203857612038614eab565b6000918252602090912001546001600160a01b031614949350505050565b6001600160a01b03811660009081526004602052604081205460ff166111dd565b606061208233611f91565b61209f5760405163619c535960e01b815260040160405180910390fd5b60006120e085858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113b792505050565b90508281610100018181516120f59190614fae565b905250612101816133c7565b95945050505050565b600054610100900460ff161580801561212a5750600054600160ff909116105b806121445750303b158015612144575060005460ff166001145b6121605760405162461bcd60e51b81526004016110c790614ff5565b6000805460ff191660011790558015612183576000805461ff0019166101001790555b80156116ca576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611974565b6000818152600260205260408120548082036121f457604051630e4f4df560e11b815260040160405180910390fd5b6121ff600182614e98565b6001901b19841691505092915050565b7f00000000000000000000000000000000000000000000000000000000000000001561225957612259604051806040016040528060028152602001616b3160f01b81525032614187565b6116ca3382614230565b60008181526002602052604081205480820361229257604051630e4f4df560e11b815260040160405180910390fd5b600161229e8183614e98565b815481106122ae576122ae614eab565b6000918252602090912001546001600160a01b03169392505050565b60606122d533611f91565b6122f25760405163619c535960e01b815260040160405180910390fd5b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506123349250839150612d679050565b61234057612340614ec1565b61234a8484612f2d565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929998505050505050505050565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506123cf9250839150612d679050565b6123ef5760405163a85ba64f60e01b8152601460048201526024016110c7565b6001600160a01b038716600090815260046020526040812054889181900361242a5760405163163cbe4360e01b815260040160405180910390fd5b61800081161561244c57604051628e12d960e21b815260040160405180910390fd5b87878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250925061248d91508390506142ff565b90506001600160e01b031981166330d9c91560e01b14806124be57506001600160e01b0319811663d86ed3e560e01b145b806124d957506001600160e01b03198116630221347d60e61b145b806124f457506001600160e01b0319811663230dbd2960e01b145b8061250f57506001600160e01b03198116635f9e7d7760e01b145b8061252a57506001600160e01b031981166353c11f9960e01b145b15612548576040516377a14afb60e11b815260040160405180910390fd5b600061258989898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113b792505050565b6101208101519091506001600160a01b031633146125ba576040516311cfdef560e21b815260040160405180910390fd5b606081018051339091526125cd826133c7565b97506000806126148f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508f91506134fb9050565b91509150811561268757808060200190518101906126329190614f1c565b995061263d8a612d67565b61265d5760405163a85ba64f60e01b8152601460048201526024016110c7565b6126668a6113b7565b6001600160a01b03841660608201529350612680846133c7565b9950612690565b612690816135b6565b50505050505050505095945050505050565b6000818152600260205260408120548082036126d157604051630e4f4df560e11b815260040160405180910390fd5b6126dc600182614e98565b6001901b841791505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156127525761275282828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250329250614187915050565b61275c3384614230565b505050565b60006111da83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612d6792505050565b600054610100900460ff16158080156127c25750600054600160ff909116105b806127dc5750303b1580156127dc575060005460ff166001145b6127f85760405162461bcd60e51b81526004016110c790614ff5565b6000805460ff19166001179055801561281b576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b038516021790558015611bcb576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60606000806001805490506001600160401b038111156128a8576128a86147a4565b6040519080825280602002602001820160405280156128d1578160200160208202803683370190505b50925060009050600091505b600154821015612963576001821b841615612958576001828154811061290557612905614eab565b6000918252602090912001546001600160a01b0316838261292581615043565b93508151811061293757612937614eab565b60200260200101906001600160a01b031690816001600160a01b0316815250505b8160010191506128dd565b825250919050565b816001600160a01b03163b6000036129965760405163353dacc360e21b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000156129e0576129e0604051806040016040528060028152602001616b3160f01b81525033614187565b611bcb8282614230565b6003546000906001600160a01b0316612a0557612a05614ec1565b7f000000000000000000000000000000000000000000000000000000000000000015612a3b57506003546001600160a01b031690565b600360009054906101000a90046001600160a01b03166001600160a01b03166350d75d256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a8e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f79190614f50565b816001600160a01b03163b600003612add5760405163353dacc360e21b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000156129e0576000612b0e3361435b565b6000805460405163407b865d60e11b81529293509091620100009091046001600160a01b0316906380f70cba90612b4d90309085908790600401614f8a565b602060405180830381865afa158015612b6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b8e9190614e69565b600114905080612bb157604051630b56455f60e41b815260040160405180910390fd5b5050611bcb8282614230565b6001600160a01b038116600090815260046020908152604080832081519283019091525480825215801592918291612c0457805161800081161515935064ff000000001691505b509193909250565b6000546201000090046001600160a01b03163314612c3d576040516362e9152760e11b815260040160405180910390fd5b60006001600160a01b038216612cc957600360009054906101000a90046001600160a01b03166001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ca0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cc49190614f50565b612ccb565b815b6040516311a5465560e21b81526001600160a01b03808316600483015291925090841690634695195490602401600060405180830381600087803b158015612d1257600080fd5b505af1158015612d26573d6000803e3d6000fd5b50506040516001600160a01b038481168252861692507f840acbd291b38534819f47f875839277e502f40e1c7bfea2c5fc2c8017442cd39150602001611394565b600081516000141580156111dd5750600654825160208401201492915050565b600060606001600160a01b038716612da157612da1614ec1565b612dab84846143d5565b9350622dc6c060005a90508715612e2157886001600160a01b03168287604051612dd5919061505c565b6000604051808303818686fa925050503d8060008114612e11576040519150601f19603f3d011682016040523d82523d6000602084013e612e16565b606091505b509094509250612e84565b886001600160a01b03168287604051612e3a919061505c565b60006040518083038160008787f1925050503d8060008114612e78576040519150601f19603f3d011682016040523d82523d6000602084013e612e7d565b606091505b5090945092505b83612ecd57612e928161448c565b612eb45786612ea957612ea4836135b6565b612ecd565b612ea489600a612f2d565b604051636a7aea4b60e11b815260040160405180910390fd5b50509550959350505050565b6000604082511015612eed57506000919050565b602082810151906000908214612f07575060009392505050565b506040830151612f16816144a2565b612f21906040615078565b84511492505050919050565b6001600160a01b038216600090815260046020526040812054618000169003611bcb576001600160a01b038216600081815260046020526040908190208054618000179055517fbe3aa33bd245135e4e26b223d79d14ea479a47bff09f2b03c53838af1edbb14b90612fa29084815260200190565b60405180910390a25050565b60065460609015612fd55760405163a85ba64f60e01b8152601560048201526024016110c7565b6001600160a01b03841660009081526004602052604081205485918190036130105760405163163cbe4360e01b815260040160405180910390fd5b61800081161561303257604051628e12d960e21b815260040160405180910390fd5b83600061303e826142ff565b90506001600160e01b031981166330d9c91560e01b148061306f57506001600160e01b0319811663d86ed3e560e01b145b8061308a57506001600160e01b03198116630221347d60e61b145b806130a557506001600160e01b0319811663230dbd2960e01b145b806130c057506001600160e01b03198116635f9e7d7760e01b145b806130db57506001600160e01b031981166353c11f9960e01b145b156130f9576040516377a14afb60e11b815260040160405180910390fd5b60408051610160810182526000808252600260208084019190915242838501526001600160a01b03808e16606085015260808401839052845191820190945281815260a083015260c0820181905260e082018190526101008201819052918a166101208201526101408101829052613170906133c7565b905060006131808a898b856134fb565b9750905080156131ce578680602001905181019061319e9190614f1c565b91506131a982612d67565b6131c95760405163a85ba64f60e01b8152601460048201526024016110c7565b6131d7565b6131d7876135b6565b505060006006555092979650505050505050565b600654606090156132125760405163a85ba64f60e01b8152601560048201526024016110c7565b8361321c81611f91565b6132395760405163619c535960e01b815260040160405180910390fd5b6000613244856142ff565b60408051610160810182526000808252600160208301529293506132c79181014281526020018a6001600160a01b03168152602001846001600160e01b031916815260200187815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b03168152506133c7565b905060006132d888886000856134fb565b95509050806132ea576132ea856135b6565b50506000600655509095945050505050565b613304614588565b6060808380602001905181019061331b919061508b565b8151919350915060009061333890840160209081019085016150e4565b60a08901526001600160e01b03191660808801526001600160a01b031660608701526040860152602081811c600f168187015260ff9091168552825160009250613389919084018101908401615168565b6001600160a01b03908116610140890152166101208701526101008601526001600160801b03811660c086015260801c60e085015250919392505050565b60606001826000015160ff1611156133f55760405163a85ba64f60e01b8152602860048201526024016110c7565b815160208084015160009260ff1664ff000000009190921b16179050600060806134228560e001516144db565b6001600160801b0316901b61343a8560c001516144db565b6001600160801b0316179050818460400151856060015186608001518760a0015160405160200161346f9594939291906151b3565b60408051601f1981840301815282825261010087015161012088015161014089015160208601879052938501919091526001600160a01b03908116606085015290911660808301529060a00160408051601f19818403018152908290526134d99291602001614aec565b60408051601f1981840301815291905280516020820120600655949350505050565b600060606001600160a01b03861661351557613515614ec1565b61351f85846143d5565b9450856001600160a01b0316848660405161353a919061505c565b60006040518083038185875af1925050503d8060008114613577576040519150601f19603f3d011682016040523d82523d6000602084013e61357c565b606091505b50909250905081156135ad5780516000036135ad5760405163a85ba64f60e01b8152601660048201526024016110c7565b94509492505050565b6004815110156136085760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a2074617267657420726576657274282900000000000060448201526064016110c7565b602081015163b1b7848f60e01b6001600160e01b03198216016136b85760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b81529192916110c791849101614791565b81518060208401fd5b60006136eb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036137415760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016110c7565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561377f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137a39190614e69565b7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba741461381d5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016110c7565b6001600160a01b03811630036138755760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016110c7565b61389d817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74604080519182526001600160a01b038416602083015201611974565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b60006018361080159061399a575061399a33611a4d565b6139de5760405162461bcd60e51b81526020600482015260156024820152742737ba103a393ab9ba32b2103337b93bb0b93232b960591b60448201526064016110c7565b5060131936013560601c90565b6000805b82811015614140576000848483818110613a0b57613a0b614eab565b9050602002810190613a1d91906151ff565b613a2b906020810190615215565b905060001963ffffffff821601613b1f57600080868685818110613a5157613a51614eab565b9050602002810190613a6391906151ff565b613a7190604081019061523b565b810190613a7e9190614e3d565b91509150868685818110613a9457613a94614eab565b9050602002810190613aa691906151ff565b613ab79060408101906020016145f8565b6001600160a01b03166362aa52878984846040518463ffffffff1660e01b8152600401613ae693929190614f8a565b600060405180830381600087803b158015613b0057600080fd5b505af1158015613b14573d6000803e3d6000fd5b505050505050614137565b60011963ffffffff821601613c2a576000806000878786818110613b4557613b45614eab565b9050602002810190613b5791906151ff565b613b6590604081019061523b565b810190613b729190615281565b925092509250878786818110613b8a57613b8a614eab565b9050602002810190613b9c91906151ff565b613bad9060408101906020016145f8565b604051630b682aeb60e11b81526001600160a01b038b81166004830152858116602483015284811660448301526064820184905291909116906316d055d6906084015b600060405180830381600087803b158015613c0a57600080fd5b505af1158015613c1e573d6000803e3d6000fd5b50505050505050614137565b60021963ffffffff821601613ce9576000806000878786818110613c5057613c50614eab565b9050602002810190613c6291906151ff565b613c7090604081019061523b565b810190613c7d91906152c2565b925092509250878786818110613c9557613c95614eab565b9050602002810190613ca791906151ff565b613cb89060408101906020016145f8565b6001600160a01b031663ca0c1e7f8a8585856040518563ffffffff1660e01b8152600401613bf09493929190615310565b60031963ffffffff821601613da257600080868685818110613d0d57613d0d614eab565b9050602002810190613d1f91906151ff565b613d2d90604081019061523b565b810190613d3a9190614e3d565b91509150868685818110613d5057613d50614eab565b9050602002810190613d6291906151ff565b613d739060408101906020016145f8565b6001600160a01b0316634b2763b38984846040518463ffffffff1660e01b8152600401613ae693929190614f8a565b60041963ffffffff821601613e5b57600080868685818110613dc657613dc6614eab565b9050602002810190613dd891906151ff565b613de690604081019061523b565b810190613df39190614e3d565b91509150868685818110613e0957613e09614eab565b9050602002810190613e1b91906151ff565b613e2c9060408101906020016145f8565b6001600160a01b031663c780fd828984846040518463ffffffff1660e01b8152600401613ae693929190614f8a565b60641963ffffffff821601613f5057848483818110613e7c57613e7c614eab565b9050602002810190613e8e91906151ff565b613e9f9060408101906020016145f8565b6001600160a01b031663ca78946487878786818110613ec057613ec0614eab565b9050602002810190613ed291906151ff565b613ee090604081019061523b565b810190613eed9190614c6d565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015613f3357600080fd5b505af1158015613f47573d6000803e3d6000fd5b50505050614137565b60651963ffffffff821601613fb557848483818110613f7157613f71614eab565b9050602002810190613f8391906151ff565b613f949060408101906020016145f8565b6001600160a01b031663245887fc87878786818110613ec057613ec0614eab565b60c81963ffffffff82160161405257600080868685818110613fd957613fd9614eab565b9050602002810190613feb91906151ff565b613ff990604081019061523b565b8101906140069190615343565b9150915061404a8888888781811061402057614020614eab565b905060200281019061403291906151ff565b6140439060408101906020016145f8565b84846131eb565b505050614137565b60c91963ffffffff82160161411e576141148686868581811061407757614077614eab565b905060200281019061408991906151ff565b61409a9060408101906020016145f8565b856140a557346140a8565b60005b8888878181106140ba576140ba614eab565b90506020028101906140cc91906151ff565b6140da90604081019061523b565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612fae92505050565b5060019250614137565b60405163b477011560e01b815260040160405180910390fd5b506001016139ef565b50341580159061414e575080155b156141815760405133903480156108fc02916000818181858888f1935050505015801561417f573d6000803e3d6000fd5b505b50505050565b60006141938284614548565b6000805460405163407b865d60e11b81529293504292620100009091046001600160a01b0316916380f70cba916141d09130918790600401614f8a565b602060405180830381865afa1580156141ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142119190614e69565b101561275c57604051630b56455f60e41b815260040160405180910390fd5b64ff000080ff198116151580614247575060ff8116155b806142555750618000811615155b1561427357604051633d3200a960e21b815260040160405180910390fd5b6001600160a01b038216600090815260046020526040902054156142aa576040516301b0a93560e01b815260040160405180910390fd5b60408051602080820183528382526001600160a01b038516600081815260049092528382209251909255915190917f0d540ad8f39e07d19909687352b9fa017405d93c91a6760981fbae9cf28bfef791a25050565b60006004825110156143535760405162461bcd60e51b815260206004820152601b60248201527f43616c6c5574696c733a20696e76616c69642063616c6c44617461000000000060448201526064016110c7565b506020015190565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c001613966565b8151808301516060919080156143fe576040516367e9985b60e01b815260040160405180910390fd5b50601f1981018452825184908481614415816144a2565b61441f9190614e98565b6001600160401b03811115614436576144366147a4565b6040519080825280601f01601f191660200182016040528015614460576020820181803683370190505b50604051602001614474949392919061539c565b60405160208183030381529060405291505092915050565b60006144996040836153eb565b5a111592915050565b60008082601f16116144b55760006144b8565b60015b60ff166144c66020846153eb565b6144d09190615078565b6111dd90602061540d565b60006001600160801b038211156145445760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b60648201526084016110c7565b5090565b6000828260405160200161455d929190615424565b60405160208183030381529060405280519060200120905092915050565b61024a806154aa83390190565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b03811681146116ca57600080fd5b60006020828403121561460a57600080fd5b8135614615816145e3565b9392505050565b6000806040838503121561462f57600080fd5b823561463a816145e3565b9150602083013561464a816145e3565b809150509250929050565b60008083601f84011261466757600080fd5b5081356001600160401b0381111561467e57600080fd5b60208301915083602082850101111561469657600080fd5b9250929050565b80151581146116ca57600080fd5b600080600080600080608087890312156146c457600080fd5b86356146cf816145e3565b955060208701356001600160401b03808211156146eb57600080fd5b6146f78a838b01614655565b90975095506040890135915061470c8261469d565b9093506060880135908082111561472257600080fd5b5061472f89828a01614655565b979a9699509497509295939492505050565b60005b8381101561475c578181015183820152602001614744565b50506000910152565b6000815180845261477d816020860160208601614741565b601f01601f19169290920160200192915050565b6020815260006111da6020830184614765565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156147e2576147e26147a4565b604052919050565b60006001600160401b03821115614803576148036147a4565b50601f01601f191660200190565b600082601f83011261482257600080fd5b8135614835614830826147ea565b6147ba565b81815284602083860101111561484a57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561487a57600080fd5b8235614885816145e3565b915060208301356001600160401b038111156148a057600080fd5b6148ac85828601614811565b9150509250929050565b6000806000606084860312156148cb57600080fd5b83356148d6816145e3565b925060208401356001600160401b03808211156148f257600080fd5b6148fe87838801614811565b9350604086013591508082111561491457600080fd5b5061492186828701614811565b9150509250925092565b60006020828403121561493d57600080fd5b81356001600160401b0381111561495357600080fd5b6113af84828501614811565b6020815261497360208201835160ff169052565b60006020830151614989604084018260ff169052565b506040830151606083015260608301516149ae60808401826001600160a01b03169052565b5060808301516001600160e01b0319811660a08401525060a08301516101608060c08501526149e1610180850183614765565b915060c085015160e085015260e0850151610100818187015280870151915050610120818187015280870151915050610140614a27818701836001600160a01b03169052565b909501516001600160a01b031693019290925250919050565b60008060008060008060006080888a031215614a5b57600080fd5b8735614a66816145e3565b965060208801356001600160401b0380821115614a8257600080fd5b614a8e8b838c01614655565b909850965060408a0135915080821115614aa757600080fd5b614ab38b838c01614655565b909650945060608a0135915080821115614acc57600080fd5b50614ad98a828b01614655565b989b979a50959850939692959293505050565b604081526000614aff6040830185614765565b82810360208401526121018185614765565b600080600060408486031215614b2657600080fd5b83356001600160401b03811115614b3c57600080fd5b614b4886828701614655565b909790965060209590950135949350505050565b60008060208385031215614b6f57600080fd5b82356001600160401b0380821115614b8657600080fd5b818501915085601f830112614b9a57600080fd5b813581811115614ba957600080fd5b8660208260051b8501011115614bbe57600080fd5b60209290920196919550909350505050565b60008060008060008060a08789031215614be957600080fd5b86356001600160401b03811115614bff57600080fd5b614c0b89828a01614655565b9097509550506020870135614c1f816145e3565b935060408701359250606087013591506080870135614c3d816145e3565b809150509295509295509295565b60008060408385031215614c5e57600080fd5b50508035926020909101359150565b600060208284031215614c7f57600080fd5b5035919050565b60008060008060608587031215614c9c57600080fd5b84356001600160401b03811115614cb257600080fd5b614cbe87828801614655565b9095509350506020850135614cd2816145e3565b9396929550929360400135925050565b600080600080600060608688031215614cfa57600080fd5b8535614d05816145e3565b945060208601356001600160401b0380821115614d2157600080fd5b614d2d89838a01614655565b90965094506040880135915080821115614d4657600080fd5b50614d5388828901614655565b969995985093965092949392505050565b600080600060408486031215614d7957600080fd5b8335925060208401356001600160401b03811115614d9657600080fd5b614da286828701614655565b9497909650939450505050565b60008060208385031215614dc257600080fd5b82356001600160401b03811115614dd857600080fd5b614de485828601614655565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b81811015614e315783516001600160a01b031683529284019291840191600101614e0c565b50909695505050505050565b60008060408385031215614e5057600080fd5b8235614e5b816145e3565b946020939093013593505050565b600060208284031215614e7b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156111dd576111dd614e82565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b600082601f830112614ee857600080fd5b8151614ef6614830826147ea565b818152846020838601011115614f0b57600080fd5b6113af826020830160208701614741565b600060208284031215614f2e57600080fd5b81516001600160401b03811115614f4457600080fd5b6113af84828501614ed7565b600060208284031215614f6257600080fd5b8151614615816145e3565b600060208284031215614f7f57600080fd5b81516146158161469d565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8082018281126000831280158216821582161715614fce57614fce614e82565b505092915050565b600060ff821660ff8103614fec57614fec614e82565b60010192915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60006001820161505557615055614e82565b5060010190565b6000825161506e818460208701614741565b9190910192915050565b808201808211156111dd576111dd614e82565b6000806040838503121561509e57600080fd5b82516001600160401b03808211156150b557600080fd5b6150c186838701614ed7565b935060208501519150808211156150d757600080fd5b506148ac85828601614ed7565b600080600080600060a086880312156150fc57600080fd5b85519450602086015193506040860151615115816145e3565b60608701519093506001600160e01b03198116811461513357600080fd5b60808701519092506001600160401b0381111561514f57600080fd5b61515b88828901614ed7565b9150509295509295909350565b6000806000806080858703121561517e57600080fd5b84519350602085015192506040850151615197816145e3565b60608601519092506151a8816145e3565b939692955090935050565b858152602081018590526001600160a01b03841660408201526001600160e01b03198316606082015260a0608082018190526000906151f490830184614765565b979650505050505050565b60008235605e1983360301811261506e57600080fd5b60006020828403121561522757600080fd5b813563ffffffff8116811461461557600080fd5b6000808335601e1984360301811261525257600080fd5b8301803591506001600160401b0382111561526c57600080fd5b60200191503681900382131561469657600080fd5b60008060006060848603121561529657600080fd5b83356152a1816145e3565b925060208401356152b1816145e3565b929592945050506040919091013590565b6000806000606084860312156152d757600080fd5b83356152e2816145e3565b92506020840135915060408401356001600160401b0381111561530457600080fd5b61492186828701614811565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611baf90830184614765565b6000806040838503121561535657600080fd5b82356001600160401b038082111561536d57600080fd5b61537986838701614811565b9350602085013591508082111561538f57600080fd5b506148ac85828601614811565b6000855160206153af8285838b01614741565b818401915086825285516153c881838501848a01614741565b85519201916153dc81838501848901614741565b91909101019695505050505050565b60008261540857634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176111dd576111dd614e82565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e0604082015260006113af60e083018461476556fe608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea26469706673582212206902a7db24b0d3a778c1f364c2041c6224c0ba5a54b2a99ab7f21c6f5b9e285964736f6c63430008170033a2646970667358221220ec92dc70bd7d1e42970a7e98f8eff43a5328fda4630ca779b4b3069a1babca9064736f6c63430008170033";
1420
+ const _bytecode = "0x60e06040523480156200001157600080fd5b5060405162005cbe38038062005cbe833981016040819052620000349162000067565b911515608052151560a0526001600160a01b031660c052620000c1565b805180151581146200006257600080fd5b919050565b6000806000606084860312156200007d57600080fd5b620000888462000051565b9250620000986020850162000051565b60408501519092506001600160a01b0381168114620000b657600080fd5b809150509250925092565b60805160a05160c051615b7962000145600039600081816105ae015281816142d501526143fd015260008181610815015281816122530152818161272f015281816129da0152612b21015260008181610a2701528181610b3d01528181610e5e0152818161164601528181611781015281816118e00152612a490152615b796000f3fe6080604052600436106103355760003560e01c8063768fabb0116101ab578063bbe4fd50116100f7578063c60944a611610095578063f2e55caf1161006f578063f2e55caf14610a78578063f373305214610a8d578063f9f522f414610aad578063fa6e0cfe14610aea57600080fd5b8063c60944a6146109f5578063cd312ec414610a15578063e8dccb7d14610a4957600080fd5b8063bd3252c8116100d1578063bd3252c814610973578063bf42873414610988578063c4d66de8146109a8578063c56a069d146109c857600080fd5b8063bbe4fd5014610920578063bced3ddc14610933578063bd1c448b1461095357600080fd5b80639d297e3011610164578063b6d200de1161013e578063b6d200de14610877578063b724211e14610897578063ba48b5f8146108b7578063bb84cfa1146108d757600080fd5b80639d297e3014610803578063a5dbbbcd14610837578063ad3915c81461085757600080fd5b8063768fabb0146107315780638ca48484146107515780638ceddd7a146107715780639378fa131461079c578063989b0c3e146107ce5780639903ad38146107ee57600080fd5b8063486ff0cd1161028557806359a29141116102235780636b4f3335116101fd5780636b4f3335146106b35780637283100c146106d3578063731aed6e146106f357806374041e021461071157600080fd5b806359a291411461066d578063670e77e31461068d5780636ad3ca7d146106a057600080fd5b806352d1902d1161025f57806352d1902d146105d057806354fbc4931461060d57806357121e0c1461062d578063572b6c051461064d57600080fd5b8063486ff0cd1461055c57806350d75d251461058757806351e3bb821461059c57600080fd5b80632f89bf89116102f25780633ca3ad4e116102cc5780633ca3ad4e146104995780633f6c923a146104e15780634329d2931461050e578063469519541461053c57600080fd5b80632f89bf891461042a57806333d608f11461044a57806339255d5b1461047957600080fd5b806306cecba81461033a5780630c5650751461035c57806315a024e11461037c5780631e6d0a841461039c5780631e855cf3146103d2578063289b3c0d146103f2575b600080fd5b34801561034657600080fd5b5061035a610355366004614987565b610b0a565b005b34801561036857600080fd5b5061035a6103773660046149ab565b610ce1565b34801561038857600080fd5b5061035a610397366004614987565b610d71565b3480156103a857600080fd5b506103bc6103b7366004614a3a565b610fc1565b6040516103c99190614b20565b60405180910390f35b3480156103de57600080fd5b506103bc6103ed366004614bf6565b61120d565b3480156103fe57600080fd5b506000546201000090046001600160a01b03165b6040516001600160a01b0390911681526020016103c9565b34801561043657600080fd5b5061035a610445366004614987565b611225565b34801561045657600080fd5b50610461622dc6c081565b6040516001600160401b0390911681526020016103c9565b34801561048557600080fd5b506103bc610494366004614c45565b6113e3565b3480156104a557600080fd5b506104d16104b4366004614987565b6001600160a01b0316600090815260046020526040902054151590565b60405190151581526020016103c9565b3480156104ed57600080fd5b506105016104fc366004614cba565b6113f9565b6040516103c99190614cee565b34801561051a57600080fd5b5061052e610529366004614dcf565b61140a565b6040516103c9929190614e7b565b34801561054857600080fd5b5061035a610557366004614987565b611613565b34801561056857600080fd5b50604080518082019091526002815261763160f01b60208201526103bc565b34801561059357600080fd5b5061041261170f565b3480156105a857600080fd5b506104127f000000000000000000000000000000000000000000000000000000000000000081565b3480156105dc57600080fd5b507fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba745b6040519081526020016103c9565b34801561061957600080fd5b5061035a610628366004614987565b61173e565b34801561063957600080fd5b5061035a610648366004614987565b6119c1565b34801561065957600080fd5b506104d1610668366004614987565b611a8f565b34801561067957600080fd5b506103bc610688366004614ea0565b611b19565b61035a61069b366004614eeb565b611bfb565b61035a6106ae366004614eeb565b611c11565b3480156106bf57600080fd5b506104d16106ce366004614987565b611c1c565b3480156106df57600080fd5b5061035a6106ee366004614987565b611c40565b3480156106ff57600080fd5b506003546001600160a01b0316610412565b34801561071d57600080fd5b506103bc61072c366004614a3a565b611ce8565b34801561073d57600080fd5b506103bc61074c366004614f5f565b611e37565b34801561075d57600080fd5b506104d161076c366004614987565b611fd3565b34801561077d57600080fd5b5061078761010081565b60405163ffffffff90911681526020016103c9565b3480156107a857600080fd5b506107bc6107b7366004614987565b612098565b60405160ff90911681526020016103c9565b3480156107da57600080fd5b506103bc6107e9366004614ea0565b6120b9565b3480156107fa57600080fd5b5061035a61214c565b34801561080f57600080fd5b506104d17f000000000000000000000000000000000000000000000000000000000000000081565b34801561084357600080fd5b506105ff610852366004614fda565b612207565b34801561086357600080fd5b5061035a610872366004614ffc565b612251565b34801561088357600080fd5b50610412610892366004614ffc565b6122a5565b3480156108a357600080fd5b506103bc6108b2366004615015565b61230c565b3480156108c357600080fd5b506103bc6108d2366004615071565b6123cd565b3480156108e357600080fd5b506104d16108f23660046149ab565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561092c57600080fd5b50426105ff565b34801561093f57600080fd5b506105ff61094e366004614fda565b6126e4565b34801561095f57600080fd5b5061035a61096e3660046150f3565b61272d565b34801561097f57600080fd5b506105ff600181565b34801561099457600080fd5b506104d16109a336600461513e565b6127a3565b3480156109b457600080fd5b5061035a6109c3366004614987565b6127e4565b3480156109d457600080fd5b506109e86109e3366004614ffc565b6128c8565b6040516103c9919061517f565b348015610a0157600080fd5b5061035a610a103660046151cc565b6129ad565b348015610a2157600080fd5b506104d17f000000000000000000000000000000000000000000000000000000000000000081565b348015610a5557600080fd5b506104d1610a64366004614ffc565b600090815260026020526040902054151590565b348015610a8457600080fd5b50610412612a2c565b348015610a9957600080fd5b5061035a610aa83660046151cc565b612af4565b348015610ab957600080fd5b50610acd610ac8366004614987565b612bff565b6040805193151584529115156020840152908201526060016103c9565b348015610af657600080fd5b5061035a610b053660046149ab565b612c4e565b6000546201000090046001600160a01b03163314610b3b576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610b7a576040516314f72c9f60e01b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bde91906151f8565b600081815260026020526040812054919250819003610c1057604051630e4f4df560e11b815260040160405180910390fd5b60006001610c1e8184615227565b81548110610c2e57610c2e61523a565b6000918252602090912001546040516311a5465560e21b81526001600160a01b03868116600483015290911691508190634695195490602401600060405180830381600087803b158015610c8157600080fd5b505af1158015610c95573d6000803e3d6000fd5b5050604080518681526001600160a01b03881660208201527f9279aa773f2b588996032d8de89911555039f28b13a11a7c17074330bc082d9a935001905060405180910390a150505050565b6000546201000090046001600160a01b03163314610d12576040516362e9152760e11b815260040160405180910390fd5b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f28397090602401600060405180830381600087803b158015610d5557600080fd5b505af1158015610d69573d6000803e3d6000fd5b505050505050565b6000546201000090046001600160a01b03163314610da2576040516362e9152760e11b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610de2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0691906151f8565b60008181526002602052604090205490915015610e3657604051631b93bb7560e31b815260040160405180910390fd5b60015461010011610e5a57604051630f85034f60e31b815260040160405180910390fd5b60007f0000000000000000000000000000000000000000000000000000000000000000610f14576000604051610e8f9061490a565b604051809103906000f080158015610eab573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03868116600483015291925090821690634a0687ef90602401600060405180830381600087803b158015610ef357600080fd5b505af1158015610f07573d6000803e3d6000fd5b5050505080915050610f17565b50815b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0384166001600160a01b0319909116179055546000838152600260205260409081902091909155517f878135063a6cfb3bc333e534b1fdc83f4f12221cad6705c31c0567048a8bd3d190610fb490849086909182526001600160a01b0316602082015260400190565b60405180910390a1505050565b6060610fcc33611fd3565b610fe95760405163619c535960e01b815260040160405180910390fd5b82828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061102b9250839150612da99050565b61103757611037615250565b6000806110b18a6000898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c9081908401838280828437600092019190915250612dc992505050565b9150915081156111c6576110c481612f1b565b1561115e57808060200190518101906110dd91906152ab565b93506110e884612da9565b61115957866111125760405163a85ba64f60e01b8152601460048201526024015b60405180910390fd5b85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092965061115992508c915060149050612f6f565b611200565b8661117f5760405163a85ba64f60e01b815260166004820152602401611109565b85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092965061115992508c915060169050612f6f565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505050505b5050509695505050505050565b606061121c3384600085612ff0565b90505b92915050565b6000546201000090046001600160a01b03163314611256576040516362e9152760e11b815260040160405180910390fd5b604051635b69006f60e11b81527fdfd8ece9bfbcb8c5c540edb935641f63d67686490a1ab97f000288759f30a9466004820152600090309063b6d200de90602401602060405180830381865afa1580156112b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d891906152df565b90506000816001600160a01b0316635437dd976040518163ffffffff1660e01b8152600401602060405180830381865afa15801561131a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133e91906152df565b604051631b2ce7f360e11b81526001600160a01b03858116600483015291925090821690633659cfe690602401600060405180830381600087803b15801561138557600080fd5b505af1158015611399573d6000803e3d6000fd5b50506040516001600160a01b038681168252841692507f052cea8931962dd445ef48b0b998d3056bd0705f437087d60fe3c46a3fa09e1f91506020015b60405180910390a2505050565b60606113f13385858561322d565b949350505050565b611401614917565b61121f8261333e565b60608083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061144f9250839150612da99050565b61146f5760405163a85ba64f60e01b815260146004820152602401611109565b8961147981611fd3565b6114965760405163619c535960e01b815260040160405180910390fd5b60006114d787878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113f992505050565b6101208101519091506001600160a01b031633146115085760405163066875e160e11b815260040160405180910390fd5b60608101805133909152604080516020601f8c018190048102820181019092528a8152908b908b908190840183828082843760009201919091525050505060a083015261155482613409565b9550600061159a8e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508c915061353d9050565b9650905080156115f957858060200190518101906115b891906152ab565b96506115c387612da9565b6115cf576115cf615250565b6115d8876113f9565b6001600160a01b038316606082015292506115f283613409565b9650611602565b611602866135f8565b505050505097509795505050505050565b6000546201000090046001600160a01b03163314611644576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015611683576040516314f72c9f60e01b815260040160405180910390fd5b806001600160a01b031663cd312ec46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e591906152fc565b156117035760405163474e764160e01b815260040160405180910390fd5b61170c81613703565b50565b60006117397f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000546201000090046001600160a01b0316331461176f576040516362e9152760e11b815260040160405180910390fd5b6003546001600160a01b03166118de577f00000000000000000000000000000000000000000000000000000000000000006118555760006040516117b29061490a565b604051809103906000f0801580156117ce573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03848116600483015291925090821690634a0687ef90602401600060405180830381600087803b15801561181657600080fd5b505af115801561182a573d6000803e3d6000fd5b5050600380546001600160a01b0319166001600160a01b039490941693909317909255506118719050565b600380546001600160a01b0319166001600160a01b0383161790555b600360009054906101000a90046001600160a01b03166001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156118c157600080fd5b505af11580156118d5573d6000803e3d6000fd5b5050505061197d565b7f00000000000000000000000000000000000000000000000000000000000000001561191d576040516314f72c9f60e01b815260040160405180910390fd5b6003546040516311a5465560e21b81526001600160a01b03838116600483015290911690634695195490602401600060405180830381600087803b15801561196457600080fd5b505af1158015611978573d6000803e3d6000fd5b505050505b6003546040516001600160a01b0390911681527fce13a9895a1719ad4493b2ac1a9bfb36070566161abab408e7ecbe586da8d499906020015b60405180910390a150565b336000818152600460205260409020546119ee576040516302eb3f7160e61b815260040160405180910390fd5b6001600160a01b038216600090815260046020526040902054611a2457604051634b5518af60e11b815260040160405180910390fd5b611a2d82612098565b60ff16611a3982612098565b60ff1611611a5a57604051630447252760e41b815260040160405180910390fd5b6001600160a01b039081166000908152600560209081526040808320949093168252929092529020805460ff19166001179055565b600080546201000090046001600160a01b03166380f70cba3083611ab28661393d565b6040518463ffffffff1660e01b8152600401611ad093929190615319565b602060405180830381865afa158015611aed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1191906151f8565b151592915050565b6060611b2433611fd3565b611b415760405163619c535960e01b815260040160405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b839250839150612da99050565b611b8f57611b8f615250565b6000611bd086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113f992505050565b9050838161010001818151611be5919061533d565b905250611bf181613409565b9695505050505050565b611c0d611c066139c5565b8383613a2d565b5050565b611c0d338383613a2d565b6001600160a01b03811660009081526004602052604081205461800016151561121f565b6000546201000090046001600160a01b03163314611c71576040516362e9152760e11b815260040160405180910390fd5b600054604080516001600160a01b03620100009093048316815291831660208301527f13abda02e63c790d0e2818b251282cfe5cbe0a8abd69c54bf5d2260c0907bd2e910160405180910390a1600080546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6060611cf333611fd3565b611d105760405163619c535960e01b815260040160405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d529250839150612da99050565b611d5e57611d5e615250565b600080611dd88a6001898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c9081908401838280828437600092019190915250612dc992505050565b91509150811561120057611deb81612f1b565b15611e0b5780806020019051810190611e0491906152ab565b9350611200565b86611e2c5760405163a85ba64f60e01b815260166004820152602401611109565b6112008a6016612f6f565b6060611e4233611fd3565b611e5f5760405163619c535960e01b815260040160405180910390fd5b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ea19250839150612da99050565b611ead57611ead615250565b6000611eee89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113f992505050565b9050611f1581606001516001600160a01b0316600090815260046020526040902054151590565b8015611f2957506001816000015160ff1610155b15611f7c5760608101516001600160a01b039081166000908152600560209081526040808320938b168352929052205460ff16611f7c5760405163a85ba64f60e01b8152601e6004820152602401611109565b805181611f8882615365565b60ff169052506003602082015260c0810186905261010081018590526001600160a01b038088166101208301528416610140820152611fc681613409565b9998505050505050505050565b600080826001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612014573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203891906151f8565b60008181526002602052604090205490915080158015906113f157506001600160a01b038416600161206a8184615227565b8154811061207a5761207a61523a565b6000918252602090912001546001600160a01b031614949350505050565b6001600160a01b03811660009081526004602052604081205460ff1661121f565b60606120c433611fd3565b6120e15760405163619c535960e01b815260040160405180910390fd5b600061212285858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113f992505050565b9050828161010001818151612137919061533d565b90525061214381613409565b95945050505050565b600054610100900460ff161580801561216c5750600054600160ff909116105b806121865750303b158015612186575060005460ff166001145b6121a25760405162461bcd60e51b815260040161110990615384565b6000805460ff1916600117905580156121c5576000805461ff0019166101001790555b801561170c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016119b6565b60008181526002602052604081205480820361223657604051630e4f4df560e11b815260040160405180910390fd5b612241600182615227565b6001901b19841691505092915050565b7f00000000000000000000000000000000000000000000000000000000000000001561229b5761229b604051806040016040528060028152602001616b3160f01b81525032614516565b61170c33826145bf565b6000818152600260205260408120548082036122d457604051630e4f4df560e11b815260040160405180910390fd5b60016122e08183615227565b815481106122f0576122f061523a565b6000918252602090912001546001600160a01b03169392505050565b606061231733611fd3565b6123345760405163619c535960e01b815260040160405180910390fd5b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506123769250839150612da99050565b61238257612382615250565b61238c8484612f6f565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929998505050505050505050565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506124119250839150612da99050565b6124315760405163a85ba64f60e01b815260146004820152602401611109565b6001600160a01b038716600090815260046020526040812054889181900361246c5760405163163cbe4360e01b815260040160405180910390fd5b61800081161561248e57604051628e12d960e21b815260040160405180910390fd5b87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092506124cf915083905061468e565b90506001600160e01b031981166330d9c91560e01b148061250057506001600160e01b0319811663d86ed3e560e01b145b8061251b57506001600160e01b03198116630221347d60e61b145b8061253657506001600160e01b0319811663230dbd2960e01b145b8061255157506001600160e01b03198116635f9e7d7760e01b145b8061256c57506001600160e01b031981166353c11f9960e01b145b1561258a576040516377a14afb60e11b815260040160405180910390fd5b60006125cb89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113f992505050565b6101208101519091506001600160a01b031633146125fc576040516311cfdef560e21b815260040160405180910390fd5b6060810180513390915261260f82613409565b97506000806126568f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508f915061353d9050565b9150915081156126c9578080602001905181019061267491906152ab565b995061267f8a612da9565b61269f5760405163a85ba64f60e01b815260146004820152602401611109565b6126a88a6113f9565b6001600160a01b038416606082015293506126c284613409565b99506126d2565b6126d2816135f8565b50505050505050505095945050505050565b60008181526002602052604081205480820361271357604051630e4f4df560e11b815260040160405180910390fd5b61271e600182615227565b6001901b841791505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156127945761279482828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250329250614516915050565b61279e33846145bf565b505050565b600061121c83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612da992505050565b600054610100900460ff16158080156128045750600054600160ff909116105b8061281e5750303b15801561281e575060005460ff166001145b61283a5760405162461bcd60e51b815260040161110990615384565b6000805460ff19166001179055801561285d576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b038516021790558015611c0d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60606000806001805490506001600160401b038111156128ea576128ea614b33565b604051908082528060200260200182016040528015612913578160200160208202803683370190505b50925060009050600091505b6001548210156129a5576001821b84161561299a57600182815481106129475761294761523a565b6000918252602090912001546001600160a01b03168382612967816153d2565b9350815181106129795761297961523a565b60200260200101906001600160a01b031690816001600160a01b0316815250505b81600101915061291f565b825250919050565b816001600160a01b03163b6000036129d85760405163353dacc360e21b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015612a2257612a22604051806040016040528060028152602001616b3160f01b81525033614516565b611c0d82826145bf565b6003546000906001600160a01b0316612a4757612a47615250565b7f000000000000000000000000000000000000000000000000000000000000000015612a7d57506003546001600160a01b031690565b600360009054906101000a90046001600160a01b03166001600160a01b03166350d75d256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ad0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173991906152df565b816001600160a01b03163b600003612b1f5760405163353dacc360e21b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015612a22576000612b50336146ea565b6000805460405163407b865d60e11b81529293509091620100009091046001600160a01b0316906380f70cba90612b8f90309085908790600401615319565b602060405180830381865afa158015612bac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bd091906151f8565b600114905080612bf357604051630b56455f60e41b815260040160405180910390fd5b5050611c0d82826145bf565b6001600160a01b038116600090815260046020908152604080832081519283019091525480825215801592918291612c4657805161800081161515935064ff000000001691505b509193909250565b6000546201000090046001600160a01b03163314612c7f576040516362e9152760e11b815260040160405180910390fd5b60006001600160a01b038216612d0b57600360009054906101000a90046001600160a01b03166001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ce2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d0691906152df565b612d0d565b815b6040516311a5465560e21b81526001600160a01b03808316600483015291925090841690634695195490602401600060405180830381600087803b158015612d5457600080fd5b505af1158015612d68573d6000803e3d6000fd5b50506040516001600160a01b038481168252861692507f840acbd291b38534819f47f875839277e502f40e1c7bfea2c5fc2c8017442cd391506020016113d6565b6000815160001415801561121f5750600654825160208401201492915050565b600060606001600160a01b038716612de357612de3615250565b612ded8484614764565b9350622dc6c060005a90508715612e6357886001600160a01b03168287604051612e1791906153eb565b6000604051808303818686fa925050503d8060008114612e53576040519150601f19603f3d011682016040523d82523d6000602084013e612e58565b606091505b509094509250612ec6565b886001600160a01b03168287604051612e7c91906153eb565b60006040518083038160008787f1925050503d8060008114612eba576040519150601f19603f3d011682016040523d82523d6000602084013e612ebf565b606091505b5090945092505b83612f0f57612ed48161481b565b612ef65786612eeb57612ee6836135f8565b612f0f565b612ee689600a612f6f565b604051636a7aea4b60e11b815260040160405180910390fd5b50509550959350505050565b6000604082511015612f2f57506000919050565b602082810151906000908214612f49575060009392505050565b506040830151612f5881614831565b612f63906040615407565b84511492505050919050565b6001600160a01b038216600090815260046020526040812054618000169003611c0d576001600160a01b038216600081815260046020526040908190208054618000179055517fbe3aa33bd245135e4e26b223d79d14ea479a47bff09f2b03c53838af1edbb14b90612fe49084815260200190565b60405180910390a25050565b600654606090156130175760405163a85ba64f60e01b815260156004820152602401611109565b6001600160a01b03841660009081526004602052604081205485918190036130525760405163163cbe4360e01b815260040160405180910390fd5b61800081161561307457604051628e12d960e21b815260040160405180910390fd5b8360006130808261468e565b90506001600160e01b031981166330d9c91560e01b14806130b157506001600160e01b0319811663d86ed3e560e01b145b806130cc57506001600160e01b03198116630221347d60e61b145b806130e757506001600160e01b0319811663230dbd2960e01b145b8061310257506001600160e01b03198116635f9e7d7760e01b145b8061311d57506001600160e01b031981166353c11f9960e01b145b1561313b576040516377a14afb60e11b815260040160405180910390fd5b60408051610160810182526000808252600260208084019190915242838501526001600160a01b03808e16606085015260808401839052845191820190945281815260a083015260c0820181905260e082018190526101008201819052918a1661012082015261014081018290526131b290613409565b905060006131c28a898b8561353d565b97509050801561321057868060200190518101906131e091906152ab565b91506131eb82612da9565b61320b5760405163a85ba64f60e01b815260146004820152602401611109565b613219565b613219876135f8565b505060006006555092979650505050505050565b600654606090156132545760405163a85ba64f60e01b815260156004820152602401611109565b8361325e81611fd3565b61327b5760405163619c535960e01b815260040160405180910390fd5b60006132868561468e565b60408051610160810182526000808252600160208301529293506133099181014281526020018a6001600160a01b03168152602001846001600160e01b031916815260200187815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815250613409565b9050600061331a888860008561353d565b955090508061332c5761332c856135f8565b50506000600655509095945050505050565b613346614917565b6060808380602001905181019061335d919061541a565b8151919350915060009061337a9084016020908101908501615473565b60a08901526001600160e01b03191660808801526001600160a01b031660608701526040860152602081811c600f168187015260ff90911685528251600092506133cb9190840181019084016154f7565b6001600160a01b03908116610140890152166101208701526101008601526001600160801b03811660c086015260801c60e085015250919392505050565b60606001826000015160ff1611156134375760405163a85ba64f60e01b815260286004820152602401611109565b815160208084015160009260ff1664ff000000009190921b16179050600060806134648560e0015161486a565b6001600160801b0316901b61347c8560c0015161486a565b6001600160801b0316179050818460400151856060015186608001518760a001516040516020016134b1959493929190615542565b60408051601f1981840301815282825261010087015161012088015161014089015160208601879052938501919091526001600160a01b03908116606085015290911660808301529060a00160408051601f198184030181529082905261351b9291602001614e7b565b60408051601f1981840301815291905280516020820120600655949350505050565b600060606001600160a01b03861661355757613557615250565b6135618584614764565b9450856001600160a01b0316848660405161357c91906153eb565b60006040518083038185875af1925050503d80600081146135b9576040519150601f19603f3d011682016040523d82523d6000602084013e6135be565b606091505b50909250905081156135ef5780516000036135ef5760405163a85ba64f60e01b815260166004820152602401611109565b94509492505050565b60048151101561364a5760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a207461726765742072657665727428290000000000006044820152606401611109565b602081015163b1b7848f60e01b6001600160e01b03198216016136fa5760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b815291929161110991849101614b20565b81518060208401fd5b600061372d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036137835760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611109565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137e591906151f8565b7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba741461385f5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611109565b6001600160a01b03811630036138b75760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611109565b6138df817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74604080519182526001600160a01b0384166020830152016119b6565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b6000601836108015906139dc57506139dc33611a8f565b613a205760405162461bcd60e51b81526020600482015260156024820152742737ba103a393ab9ba32b2103337b93bb0b93232b960591b6044820152606401611109565b5060131936013560601c90565b60005b818110156144d4576000838383818110613a4c57613a4c61523a565b9050602002810190613a5e919061558e565b613a6c9060208101906155a4565b905060001963ffffffff821601613b6057600080858585818110613a9257613a9261523a565b9050602002810190613aa4919061558e565b613ab29060408101906155ca565b810190613abf91906151cc565b91509150858585818110613ad557613ad561523a565b9050602002810190613ae7919061558e565b613af8906040810190602001614987565b6001600160a01b03166362aa52878884846040518463ffffffff1660e01b8152600401613b2793929190615319565b600060405180830381600087803b158015613b4157600080fd5b505af1158015613b55573d6000803e3d6000fd5b5050505050506144cb565b60011963ffffffff821601613c6b576000806000868686818110613b8657613b8661523a565b9050602002810190613b98919061558e565b613ba69060408101906155ca565b810190613bb39190615610565b925092509250868686818110613bcb57613bcb61523a565b9050602002810190613bdd919061558e565b613bee906040810190602001614987565b604051630b682aeb60e11b81526001600160a01b038a81166004830152858116602483015284811660448301526064820184905291909116906316d055d6906084015b600060405180830381600087803b158015613c4b57600080fd5b505af1158015613c5f573d6000803e3d6000fd5b505050505050506144cb565b60021963ffffffff821601613d2a576000806000868686818110613c9157613c9161523a565b9050602002810190613ca3919061558e565b613cb19060408101906155ca565b810190613cbe9190615651565b925092509250868686818110613cd657613cd661523a565b9050602002810190613ce8919061558e565b613cf9906040810190602001614987565b6001600160a01b031663ca0c1e7f898585856040518563ffffffff1660e01b8152600401613c31949392919061569f565b60031963ffffffff821601613de357600080858585818110613d4e57613d4e61523a565b9050602002810190613d60919061558e565b613d6e9060408101906155ca565b810190613d7b91906151cc565b91509150858585818110613d9157613d9161523a565b9050602002810190613da3919061558e565b613db4906040810190602001614987565b6001600160a01b0316634b2763b38884846040518463ffffffff1660e01b8152600401613b2793929190615319565b60041963ffffffff821601613e9c57600080858585818110613e0757613e0761523a565b9050602002810190613e19919061558e565b613e279060408101906155ca565b810190613e3491906151cc565b91509150858585818110613e4a57613e4a61523a565b9050602002810190613e5c919061558e565b613e6d906040810190602001614987565b6001600160a01b031663c780fd828884846040518463ffffffff1660e01b8152600401613b2793929190615319565b60641963ffffffff821601613f9157838383818110613ebd57613ebd61523a565b9050602002810190613ecf919061558e565b613ee0906040810190602001614987565b6001600160a01b031663ca78946486868686818110613f0157613f0161523a565b9050602002810190613f13919061558e565b613f219060408101906155ca565b810190613f2e9190614ffc565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015613f7457600080fd5b505af1158015613f88573d6000803e3d6000fd5b505050506144cb565b60651963ffffffff821601613ff657838383818110613fb257613fb261523a565b9050602002810190613fc4919061558e565b613fd5906040810190602001614987565b6001600160a01b031663245887fc86868686818110613f0157613f0161523a565b60661963ffffffff8216016140af5760008085858581811061401a5761401a61523a565b905060200281019061402c919061558e565b61403a9060408101906155ca565b81019061404791906151cc565b9150915085858581811061405d5761405d61523a565b905060200281019061406f919061558e565b614080906040810190602001614987565b6001600160a01b0316631ae88ffc8884846040518463ffffffff1660e01b8152600401613b2793929190615319565b60671963ffffffff821601614168576000808585858181106140d3576140d361523a565b90506020028101906140e5919061558e565b6140f39060408101906155ca565b81019061410091906151cc565b915091508585858181106141165761411661523a565b9050602002810190614128919061558e565b614139906040810190602001614987565b6001600160a01b03166347ba7ad18884846040518463ffffffff1660e01b8152600401613b2793929190615319565b60c81963ffffffff8216016142055760008085858581811061418c5761418c61523a565b905060200281019061419e919061558e565b6141ac9060408101906155ca565b8101906141b991906156d2565b915091506141fd878787878181106141d3576141d361523a565b90506020028101906141e5919061558e565b6141f6906040810190602001614987565b848461322d565b5050506144cb565b60c91963ffffffff8216016142c0576142ba8585858581811061422a5761422a61523a565b905060200281019061423c919061558e565b61424d906040810190602001614987565b478787878181106142605761426061523a565b9050602002810190614272919061558e565b6142809060408101906155ca565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612ff092505050565b506144cb565b61012c1963ffffffff8216016143e8576000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166322bee494478888888181106143155761431561523a565b9050602002810190614327919061558e565b614338906040810190602001614987565b89898981811061434a5761434a61523a565b905060200281019061435c919061558e565b61436a9060408101906155ca565b6040518563ffffffff1660e01b815260040161438893929190615754565b60006040518083038185885af11580156143a6573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f191682016040526143cf9190810190615779565b91509150816143e1576143e1816135f8565b50506144cb565b61012d1963ffffffff8216016144b2576000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663177ec5944788888881811061443d5761443d61523a565b905060200281019061444f919061558e565b614460906040810190602001614987565b8a8a8a8a8181106144735761447361523a565b9050602002810190614485919061558e565b6144939060408101906155ca565b6040518663ffffffff1660e01b815260040161438894939291906157bf565b60405163b477011560e01b815260040160405180910390fd5b50600101613a30565b50471561279e576040516001600160a01b038416904780156108fc02916000818181858888f19350505050158015614510573d6000803e3d6000fd5b50505050565b600061452282846148d7565b6000805460405163407b865d60e11b81529293504292620100009091046001600160a01b0316916380f70cba9161455f9130918790600401615319565b602060405180830381865afa15801561457c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145a091906151f8565b101561279e57604051630b56455f60e41b815260040160405180910390fd5b64ff000080ff1981161515806145d6575060ff8116155b806145e45750618000811615155b1561460257604051633d3200a960e21b815260040160405180910390fd5b6001600160a01b03821660009081526004602052604090205415614639576040516301b0a93560e01b815260040160405180910390fd5b60408051602080820183528382526001600160a01b038516600081815260049092528382209251909255915190917f0d540ad8f39e07d19909687352b9fa017405d93c91a6760981fbae9cf28bfef791a25050565b60006004825110156146e25760405162461bcd60e51b815260206004820152601b60248201527f43616c6c5574696c733a20696e76616c69642063616c6c4461746100000000006044820152606401611109565b506020015190565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c0016139a8565b81518083015160609190801561478d576040516367e9985b60e01b815260040160405180910390fd5b50601f19810184528251849084816147a481614831565b6147ae9190615227565b6001600160401b038111156147c5576147c5614b33565b6040519080825280601f01601f1916602001820160405280156147ef576020820181803683370190505b5060405160200161480394939291906157ec565b60405160208183030381529060405291505092915050565b600061482860408361583b565b5a111592915050565b60008082601f1611614844576000614847565b60015b60ff1661485560208461583b565b61485f9190615407565b61121f90602061585d565b60006001600160801b038211156148d35760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401611109565b5090565b600082826040516020016148ec929190615874565b60405160208183030381529060405280519060200120905092915050565b61024a806158fa83390190565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461170c57600080fd5b60006020828403121561499957600080fd5b81356149a481614972565b9392505050565b600080604083850312156149be57600080fd5b82356149c981614972565b915060208301356149d981614972565b809150509250929050565b60008083601f8401126149f657600080fd5b5081356001600160401b03811115614a0d57600080fd5b602083019150836020828501011115614a2557600080fd5b9250929050565b801515811461170c57600080fd5b60008060008060008060808789031215614a5357600080fd5b8635614a5e81614972565b955060208701356001600160401b0380821115614a7a57600080fd5b614a868a838b016149e4565b909750955060408901359150614a9b82614a2c565b90935060608801359080821115614ab157600080fd5b50614abe89828a016149e4565b979a9699509497509295939492505050565b60005b83811015614aeb578181015183820152602001614ad3565b50506000910152565b60008151808452614b0c816020860160208601614ad0565b601f01601f19169290920160200192915050565b60208152600061121c6020830184614af4565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715614b7157614b71614b33565b604052919050565b60006001600160401b03821115614b9257614b92614b33565b50601f01601f191660200190565b600082601f830112614bb157600080fd5b8135614bc4614bbf82614b79565b614b49565b818152846020838601011115614bd957600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215614c0957600080fd5b8235614c1481614972565b915060208301356001600160401b03811115614c2f57600080fd5b614c3b85828601614ba0565b9150509250929050565b600080600060608486031215614c5a57600080fd5b8335614c6581614972565b925060208401356001600160401b0380821115614c8157600080fd5b614c8d87838801614ba0565b93506040860135915080821115614ca357600080fd5b50614cb086828701614ba0565b9150509250925092565b600060208284031215614ccc57600080fd5b81356001600160401b03811115614ce257600080fd5b6113f184828501614ba0565b60208152614d0260208201835160ff169052565b60006020830151614d18604084018260ff169052565b50604083015160608301526060830151614d3d60808401826001600160a01b03169052565b5060808301516001600160e01b0319811660a08401525060a08301516101608060c0850152614d70610180850183614af4565b915060c085015160e085015260e0850151610100818187015280870151915050610120818187015280870151915050610140614db6818701836001600160a01b03169052565b909501516001600160a01b031693019290925250919050565b60008060008060008060006080888a031215614dea57600080fd5b8735614df581614972565b965060208801356001600160401b0380821115614e1157600080fd5b614e1d8b838c016149e4565b909850965060408a0135915080821115614e3657600080fd5b614e428b838c016149e4565b909650945060608a0135915080821115614e5b57600080fd5b50614e688a828b016149e4565b989b979a50959850939692959293505050565b604081526000614e8e6040830185614af4565b82810360208401526121438185614af4565b600080600060408486031215614eb557600080fd5b83356001600160401b03811115614ecb57600080fd5b614ed7868287016149e4565b909790965060209590950135949350505050565b60008060208385031215614efe57600080fd5b82356001600160401b0380821115614f1557600080fd5b818501915085601f830112614f2957600080fd5b813581811115614f3857600080fd5b8660208260051b8501011115614f4d57600080fd5b60209290920196919550909350505050565b60008060008060008060a08789031215614f7857600080fd5b86356001600160401b03811115614f8e57600080fd5b614f9a89828a016149e4565b9097509550506020870135614fae81614972565b935060408701359250606087013591506080870135614fcc81614972565b809150509295509295509295565b60008060408385031215614fed57600080fd5b50508035926020909101359150565b60006020828403121561500e57600080fd5b5035919050565b6000806000806060858703121561502b57600080fd5b84356001600160401b0381111561504157600080fd5b61504d878288016149e4565b909550935050602085013561506181614972565b9396929550929360400135925050565b60008060008060006060868803121561508957600080fd5b853561509481614972565b945060208601356001600160401b03808211156150b057600080fd5b6150bc89838a016149e4565b909650945060408801359150808211156150d557600080fd5b506150e2888289016149e4565b969995985093965092949392505050565b60008060006040848603121561510857600080fd5b8335925060208401356001600160401b0381111561512557600080fd5b615131868287016149e4565b9497909650939450505050565b6000806020838503121561515157600080fd5b82356001600160401b0381111561516757600080fd5b615173858286016149e4565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b818110156151c05783516001600160a01b03168352928401929184019160010161519b565b50909695505050505050565b600080604083850312156151df57600080fd5b82356151ea81614972565b946020939093013593505050565b60006020828403121561520a57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561121f5761121f615211565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b600082601f83011261527757600080fd5b8151615285614bbf82614b79565b81815284602083860101111561529a57600080fd5b6113f1826020830160208701614ad0565b6000602082840312156152bd57600080fd5b81516001600160401b038111156152d357600080fd5b6113f184828501615266565b6000602082840312156152f157600080fd5b81516149a481614972565b60006020828403121561530e57600080fd5b81516149a481614a2c565b6001600160a01b039384168152919092166020820152604081019190915260600190565b808201828112600083128015821682158216171561535d5761535d615211565b505092915050565b600060ff821660ff810361537b5761537b615211565b60010192915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6000600182016153e4576153e4615211565b5060010190565b600082516153fd818460208701614ad0565b9190910192915050565b8082018082111561121f5761121f615211565b6000806040838503121561542d57600080fd5b82516001600160401b038082111561544457600080fd5b61545086838701615266565b9350602085015191508082111561546657600080fd5b50614c3b85828601615266565b600080600080600060a0868803121561548b57600080fd5b855194506020860151935060408601516154a481614972565b60608701519093506001600160e01b0319811681146154c257600080fd5b60808701519092506001600160401b038111156154de57600080fd5b6154ea88828901615266565b9150509295509295909350565b6000806000806080858703121561550d57600080fd5b8451935060208501519250604085015161552681614972565b606086015190925061553781614972565b939692955090935050565b858152602081018590526001600160a01b03841660408201526001600160e01b03198316606082015260a06080820181905260009061558390830184614af4565b979650505050505050565b60008235605e198336030181126153fd57600080fd5b6000602082840312156155b657600080fd5b813563ffffffff811681146149a457600080fd5b6000808335601e198436030181126155e157600080fd5b8301803591506001600160401b038211156155fb57600080fd5b602001915036819003821315614a2557600080fd5b60008060006060848603121561562557600080fd5b833561563081614972565b9250602084013561564081614972565b929592945050506040919091013590565b60008060006060848603121561566657600080fd5b833561567181614972565b92506020840135915060408401356001600160401b0381111561569357600080fd5b614cb086828701614ba0565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611bf190830184614af4565b600080604083850312156156e557600080fd5b82356001600160401b03808211156156fc57600080fd5b61570886838701614ba0565b9350602085013591508082111561571e57600080fd5b50614c3b85828601614ba0565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0384168152604060208201819052600090612143908301848661572b565b6000806040838503121561578c57600080fd5b825161579781614a2c565b60208401519092506001600160401b038111156157b357600080fd5b614c3b85828601615266565b6001600160a01b03858116825284166020820152606060408201819052600090611bf1908301848661572b565b6000855160206157ff8285838b01614ad0565b8184019150868252855161581881838501848a01614ad0565b855192019161582c81838501848901614ad0565b91909101019695505050505050565b60008261585857634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761121f5761121f615211565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e0604082015260006113f160e0830184614af456fe608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea26469706673582212206902a7db24b0d3a778c1f364c2041c6224c0ba5a54b2a99ab7f21c6f5b9e285964736f6c63430008170033a2646970667358221220bba8696e7d9419ccc781979d3a3f5a913bdf3a12ad18686cd8a9ee649cd255b064736f6c63430008170033";
1403
1421
  const isSuperArgs = (xs) => xs.length > 1;
1404
1422
  class Superfluid__factory extends ethers_1.ContractFactory {
1405
1423
  constructor(...args) {
@@ -1410,11 +1428,11 @@ class Superfluid__factory extends ethers_1.ContractFactory {
1410
1428
  super(_abi, _bytecode, args[0]);
1411
1429
  }
1412
1430
  }
1413
- deploy(nonUpgradable, appWhiteListingEnabled, overrides) {
1414
- return super.deploy(nonUpgradable, appWhiteListingEnabled, overrides || {});
1431
+ deploy(nonUpgradable, appWhiteListingEnabled, dmzForwarderAddress, overrides) {
1432
+ return super.deploy(nonUpgradable, appWhiteListingEnabled, dmzForwarderAddress, overrides || {});
1415
1433
  }
1416
- getDeployTransaction(nonUpgradable, appWhiteListingEnabled, overrides) {
1417
- return super.getDeployTransaction(nonUpgradable, appWhiteListingEnabled, overrides || {});
1434
+ getDeployTransaction(nonUpgradable, appWhiteListingEnabled, dmzForwarderAddress, overrides) {
1435
+ return super.getDeployTransaction(nonUpgradable, appWhiteListingEnabled, dmzForwarderAddress, overrides || {});
1418
1436
  }
1419
1437
  attach(address) {
1420
1438
  return super.attach(address);