@artblocks/contracts 1.0.4 → 1.2.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 (289) hide show
  1. package/README.md +75 -7
  2. package/artifacts/contracts/AdminACLV0.sol/AdminACLV0.json +2 -2
  3. package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
  4. package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +336 -131
  5. package/artifacts/contracts/archive/GenArt721CoreV3.sol/GenArt721CoreV3.json +2047 -0
  6. package/artifacts/contracts/archive/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +2021 -0
  7. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterBase_v0_1_1.sol/MinterBase.json +1 -1
  8. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
  9. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
  10. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExp}/MinterDAExpV4.sol/MinterDAExpV4.json +3 -3
  11. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
  12. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
  13. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +1109 -0
  14. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
  15. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
  16. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDALin}/MinterDALinV4.sol/MinterDALinV4.json +3 -3
  17. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
  18. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
  19. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
  20. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterHolder}/MinterHolderV4.sol/MinterHolderV4.json +3 -3
  21. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
  22. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
  23. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
  24. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
  25. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterMerkle}/MinterMerkleV5.sol/MinterMerkleV5.json +3 -3
  26. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterPolyptych}/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +31 -63
  27. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterPolyptych}/MinterPolyptychV0.sol/MinterPolyptychV0.json +3 -3
  28. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSEA}/MinterSEAV0.sol/MinterSEAV0.json +3 -3
  29. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
  30. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
  31. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSetPrice}/MinterSetPriceV4.sol/MinterSetPriceV4.json +3 -3
  32. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol/MinterSetPriceERC20V0.json +65 -2
  33. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol/MinterSetPriceERC20V1.json +65 -2
  34. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
  35. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
  36. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +807 -0
  37. package/artifacts/contracts/engine/V2/GenArt721MinterBurner_PBAB.sol/GenArt721MinterBurner_PBAB.json +65 -2
  38. package/artifacts/contracts/engine/V2/GenArt721Minter_PBAB.sol/GenArt721Minter_PBAB.json +65 -2
  39. package/artifacts/contracts/engine/V3/EngineFactoryV0.sol/EngineFactoryV0.json +606 -0
  40. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +565 -209
  41. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +785 -227
  42. package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +40 -15
  43. package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +2 -2
  44. package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +40 -15
  45. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +36 -68
  46. package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +12 -12
  47. package/artifacts/contracts/interfaces/v0.8.x/IAdminACLV0_Extended.sol/IAdminACLV0_Extended.json +140 -0
  48. package/artifacts/contracts/interfaces/v0.8.x/IBytecodeStorageReaderV2.sol/IBytecodeStorageReaderV2.json +130 -0
  49. package/artifacts/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol/ICoreRegistryV1.json +6 -6
  50. package/artifacts/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +71 -39
  51. package/artifacts/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol/IEngineFactoryV0.json +283 -0
  52. package/artifacts/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV0.sol/IFilteredMinterDAExpSettlementV0.json +12 -12
  53. package/artifacts/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV1.sol/IFilteredMinterDAExpSettlementV1.json +12 -12
  54. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +30 -62
  55. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +30 -62
  56. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +170 -104
  57. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +170 -104
  58. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.json +1028 -0
  59. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol/IGenArt721CoreContractV3_Engine_PreV3p2.json +741 -0
  60. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_ProjectFinance.sol/IGenArt721CoreContractV3_ProjectFinance.json +87 -0
  61. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721Minter_PBAB.sol/IGenArt721Minter_PBAB.json +279 -0
  62. package/artifacts/contracts/interfaces/v0.8.x/IMinterFilterV1.sol/IMinterFilterV1.json +22 -22
  63. package/artifacts/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol/IPseudorandomAtomic.json +1 -1
  64. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol/ISharedMinterDAExpSettlementV0.json +26 -101
  65. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol/ISharedMinterDAExpV0.json +1 -57
  66. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol/ISharedMinterDALinV0.json +1 -57
  67. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol/ISharedMinterDAV0.json +2 -21
  68. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol/ISharedMinterHolderERC20V0.json +158 -0
  69. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol/ISharedMinterHolderV0.json +15 -90
  70. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol/ISharedMinterMerkleV0.json +10 -36
  71. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterRAMV0.sol/ISharedMinterRAMV0.json +62 -0
  72. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterRequired.sol/ISharedMinterRequired.json +37 -0
  73. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol/ISharedMinterSEAV0.json +4 -236
  74. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol/ISharedMinterSimplePurchaseV0.json +5 -5
  75. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterV0.sol/ISharedMinterV0.json +7 -423
  76. package/artifacts/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol/ISharedRandomizerV0.json +17 -17
  77. package/artifacts/contracts/interfaces/v0.8.x/ISplitAtomicFactoryV0.sol/ISplitAtomicFactoryV0.json +170 -0
  78. package/artifacts/contracts/interfaces/v0.8.x/ISplitAtomicV0.sol/ISplitAtomicV0.json +126 -0
  79. package/artifacts/contracts/interfaces/v0.8.x/ISplitProviderV0.sol/ISplitProviderV0.json +98 -0
  80. package/artifacts/contracts/interfaces/v0.8.x/integration-refs/splits-0x-v2/ISplitFactoryV2.sol/ISplitFactoryV2.json +123 -0
  81. package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol/DelegationRegistry.json +2 -2
  82. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeMock.sol/GnosisSafeMock.json +2 -2
  83. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeProxyFactoryMock.sol/GnosisSafeProxyFactoryMock.json +2 -2
  84. package/artifacts/contracts/libs/integration-refs/gnosis-safe/MultiSendMock.sol/MultiSendMock.json +2 -2
  85. package/artifacts/contracts/libs/integration-refs/weth9/weth9.sol/WETH9_.json +2 -2
  86. package/artifacts/contracts/libs/v0.8.x/ABHelpers.sol/ABHelpers.json +2 -2
  87. package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +2 -2
  88. package/artifacts/contracts/libs/v0.8.x/BitMap.sol/BitMaps256.json +10 -0
  89. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV0.sol/BytecodeStorage.json +2 -2
  90. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV1.sol/BytecodeStorageReader.json +2 -2
  91. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV1.sol/BytecodeStorageWriter.json +2 -2
  92. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageReader.json +214 -0
  93. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageWriter.json +10 -0
  94. package/artifacts/contracts/libs/v0.8.x/Bytes32Strings.sol/Bytes32Strings.json +2 -2
  95. package/artifacts/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol/DependencyRegistryStorageLib.json +10 -0
  96. package/artifacts/contracts/libs/v0.8.x/ERC721_PackedHashSeed.sol/ERC721_PackedHashSeed.json +2 -2
  97. package/artifacts/contracts/libs/v0.8.x/ERC721_PackedHashSeedV1.sol/ERC721_PackedHashSeedV1.json +444 -0
  98. package/artifacts/contracts/libs/v0.8.x/PackedBools.sol/PackedBools.json +10 -0
  99. package/artifacts/contracts/libs/v0.8.x/SSTORE2.sol/SSTORE2.json +2 -2
  100. package/artifacts/contracts/libs/v0.8.x/V3FlexLib.sol/V3FlexLib.json +208 -0
  101. package/artifacts/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol/DAExpLib.json +60 -3
  102. package/artifacts/contracts/libs/v0.8.x/minter-libs/DALib.sol/DALib.json +30 -0
  103. package/artifacts/contracts/libs/v0.8.x/minter-libs/DALinLib.sol/DALinLib.json +60 -3
  104. package/artifacts/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol/GenericMinterEventsLib.json +346 -0
  105. package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +29 -3
  106. package/artifacts/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol/MerkleLib.json +30 -3
  107. package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +2 -2
  108. package/artifacts/contracts/libs/v0.8.x/minter-libs/RAMLib.sol/RAMLib.json +398 -0
  109. package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +254 -3
  110. package/artifacts/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol/SetPriceLib.json +48 -3
  111. package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +41 -3
  112. package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +35 -3
  113. package/artifacts/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol/TokenHolderLib.json +79 -3
  114. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  115. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +41 -41
  116. package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +66 -632
  117. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +67 -594
  118. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +33 -524
  119. package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +66 -632
  120. package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +33 -524
  121. package/artifacts/contracts/minter-suite/Minters/MinterRAMV0.sol/MinterRAMV0.json +1374 -0
  122. package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +56 -722
  123. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +58 -454
  124. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +61 -552
  125. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +55 -497
  126. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +110 -571
  127. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +69 -560
  128. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +28 -444
  129. package/artifacts/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol/MinterSetPriceV5_SingleCore.json +417 -0
  130. package/artifacts/contracts/mock/BytecodeV2LibCallsMock.sol/BytecodeV2LibCallsMock.json +154 -0
  131. package/artifacts/contracts/mock/BytecodeV2TextCR_DMock.sol/BytecodeV2TextCR_DMock.json +428 -0
  132. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +2 -2
  133. package/artifacts/contracts/mock/ERC20Mock.sol/ERC20Mock.json +2 -2
  134. package/artifacts/contracts/mock/ForceSendMock.sol/ForceSendMock.json +24 -0
  135. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +4 -9
  136. package/artifacts/contracts/mock/Mock0xSplitsV2PullFactory.sol/Mock0xSplitsV2PullFactory.json +149 -0
  137. package/artifacts/contracts/mock/Mock0xSplitsV2Splitter.sol/Mock0xSplitsV2Splitter.json +99 -0
  138. package/artifacts/contracts/mock/MockAdminACLV0.sol/MockAdminACLV0Events.json +20 -2
  139. package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +20 -2
  140. package/artifacts/contracts/mock/OriginRegisterMock.sol/OriginRegisterMock.json +2 -2
  141. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
  142. package/artifacts/contracts/mock/ReentrancyGenArt721MinterMock.sol/ReentrancyGenArt721MinterMock.json +100 -0
  143. package/artifacts/contracts/mock/ReentrancyHolderMock.sol/ReentrancyHolderMock.json +2 -2
  144. package/artifacts/contracts/mock/ReentrancyHolderMockShared.sol/ReentrancyHolderMockShared.json +136 -0
  145. package/artifacts/contracts/mock/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +2 -2
  146. package/artifacts/contracts/mock/ReentrancyMerkleMockShared.sol/ReentrancyMerkleMockShared.json +105 -0
  147. package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +2 -2
  148. package/artifacts/contracts/mock/ReentrancyMockShared.sol/ReentrancyMockShared.json +100 -0
  149. package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +2 -2
  150. package/artifacts/contracts/mock/ReentrancySEAMockShared.sol/ReentrancySEAAutoBidderMockShared.json +69 -0
  151. package/artifacts/contracts/mock/ReentrancySplitterMocks.sol/ReentrancySplitterDrainETHMock.json +54 -0
  152. package/artifacts/contracts/mock/ReentrancySplitterMocks.sol/ReentrancySplitterSendETHMock.json +54 -0
  153. package/artifacts/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +2 -2
  154. package/artifacts/contracts/randomizer/deprecated/RandomizerV2.sol/BasicRandomizerV2.json +2 -2
  155. package/artifacts/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol/PseudorandomAtomic.json +2 -2
  156. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +19 -19
  157. package/artifacts/contracts/split/SplitAtomicFactoryV0.sol/SplitAtomicFactoryV0.json +203 -0
  158. package/artifacts/contracts/split/SplitAtomicV0.sol/SplitAtomicV0.json +168 -0
  159. package/artifacts/contracts/split/split-provider/SplitProviderV0.sol/SplitProviderV0.json +141 -0
  160. package/contracts/AdminACLV0.sol +6 -2
  161. package/contracts/AdminACLV1.sol +2 -2
  162. package/contracts/DependencyRegistryV0.sol +737 -390
  163. package/contracts/{GenArt721CoreV3.sol → archive/GenArt721CoreV3.sol} +56 -20
  164. package/contracts/{explorations → archive}/GenArt721CoreV3_Explorations.sol +49 -13
  165. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterBase_v0_1_1.sol +4 -4
  166. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExp}/MinterDAExpV4.sol +4 -4
  167. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +4 -4
  168. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol +5 -5
  169. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExpSettlement}/MinterDAExpSettlementV2.sol +9 -62
  170. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDALin}/MinterDALinV4.sol +4 -4
  171. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterHolder}/MinterHolderV4.sol +5 -5
  172. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterMerkle}/MinterMerkleV5.sol +5 -5
  173. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterPolyptych}/MinterPolyptychV0.sol +7 -7
  174. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSEA}/MinterSEAV0.sol +13 -13
  175. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSetPrice}/MinterSetPriceV4.sol +4 -4
  176. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol +82 -10
  177. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol +82 -10
  178. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSetPriceERC20}/MinterSetPriceERC20V4.sol +88 -21
  179. package/contracts/engine/V2/GenArt721MinterBurner_PBAB.sol +81 -22
  180. package/contracts/engine/V2/GenArt721Minter_PBAB.sol +80 -22
  181. package/contracts/engine/V3/EngineFactoryV0.sol +419 -0
  182. package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +893 -493
  183. package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +1053 -655
  184. package/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol +7 -13
  185. package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +5 -11
  186. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol +2 -2
  187. package/contracts/engine-registry/CoreRegistryV1.sol +58 -65
  188. package/contracts/interfaces/v0.8.x/IAdminACLV0_Extended.sol +20 -0
  189. package/contracts/interfaces/v0.8.x/IBytecodeStorageReaderV2.sol +23 -0
  190. package/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol +6 -8
  191. package/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol +48 -43
  192. package/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol +124 -0
  193. package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV0.sol +1 -3
  194. package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV1.sol +1 -3
  195. package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpV1.sol +1 -3
  196. package/contracts/interfaces/v0.8.x/IFilteredMinterDALinV1.sol +1 -3
  197. package/contracts/interfaces/v0.8.x/IFilteredMinterHolderV2.sol +1 -3
  198. package/contracts/interfaces/v0.8.x/IFilteredMinterMerkleV2.sol +1 -3
  199. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol +115 -11
  200. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol +84 -8
  201. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol +26 -8
  202. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol +141 -0
  203. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol +78 -0
  204. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_ProjectFinance.sol +47 -0
  205. package/contracts/interfaces/v0.8.x/IGenArt721Minter_PBAB.sol +91 -0
  206. package/contracts/interfaces/v0.8.x/IMinterFilterV1.sol +25 -25
  207. package/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol +1 -3
  208. package/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol +30 -20
  209. package/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol +1 -14
  210. package/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol +1 -15
  211. package/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol +2 -8
  212. package/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol +47 -0
  213. package/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol +15 -43
  214. package/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol +10 -20
  215. package/contracts/interfaces/v0.8.x/ISharedMinterRAMV0.sol +23 -0
  216. package/contracts/interfaces/v0.8.x/ISharedMinterRequired.sol +20 -0
  217. package/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol +1 -67
  218. package/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol +5 -5
  219. package/contracts/interfaces/v0.8.x/ISharedMinterV0.sol +18 -160
  220. package/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol +37 -37
  221. package/contracts/interfaces/v0.8.x/ISplitAtomicFactoryV0.sol +81 -0
  222. package/contracts/interfaces/v0.8.x/ISplitAtomicV0.sol +72 -0
  223. package/contracts/interfaces/v0.8.x/ISplitProviderV0.sol +49 -0
  224. package/contracts/interfaces/v0.8.x/integration-refs/splits-0x-v2/ISplitFactoryV2.sol +62 -0
  225. package/contracts/libs/v0.8.x/ABHelpers.sol +31 -17
  226. package/contracts/libs/v0.8.x/AuthLib.sol +101 -102
  227. package/contracts/libs/v0.8.x/BitMap.sol +112 -0
  228. package/contracts/libs/v0.8.x/BytecodeStorageV2.sol +593 -0
  229. package/contracts/libs/v0.8.x/Bytes32Strings.sol +5 -5
  230. package/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol +90 -0
  231. package/contracts/libs/v0.8.x/ERC721_PackedHashSeedV1.sol +591 -0
  232. package/contracts/libs/v0.8.x/PackedBools.sol +42 -0
  233. package/contracts/libs/v0.8.x/V3FlexLib.sol +591 -0
  234. package/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol +162 -39
  235. package/contracts/libs/v0.8.x/minter-libs/DALib.sol +26 -0
  236. package/contracts/libs/v0.8.x/minter-libs/DALinLib.sol +139 -37
  237. package/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol +171 -0
  238. package/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol +299 -158
  239. package/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol +268 -55
  240. package/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol +138 -58
  241. package/contracts/libs/v0.8.x/minter-libs/RAMLib.sol +2927 -0
  242. package/contracts/libs/v0.8.x/minter-libs/SEALib.sol +796 -123
  243. package/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol +131 -13
  244. package/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol +607 -224
  245. package/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol +494 -330
  246. package/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol +217 -78
  247. package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +358 -309
  248. package/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol +391 -491
  249. package/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol +396 -632
  250. package/contracts/minter-suite/Minters/MinterDAExpV5.sol +212 -273
  251. package/contracts/minter-suite/Minters/MinterDALinHolderV5.sol +393 -488
  252. package/contracts/minter-suite/Minters/MinterDALinV5.sol +220 -277
  253. package/contracts/minter-suite/Minters/MinterRAMV0.sol +1205 -0
  254. package/contracts/minter-suite/Minters/MinterSEAV1.sol +329 -677
  255. package/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol +287 -303
  256. package/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol +355 -446
  257. package/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol +328 -416
  258. package/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol +552 -622
  259. package/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol +429 -553
  260. package/contracts/minter-suite/Minters/MinterSetPriceV5.sol +180 -227
  261. package/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol +446 -0
  262. package/contracts/mock/BytecodeV2LibCallsMock.sol +128 -0
  263. package/contracts/mock/BytecodeV2TextCR_DMock.sol +316 -0
  264. package/contracts/mock/ForceSendMock.sol +22 -0
  265. package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +3 -10
  266. package/contracts/mock/Mock0xSplitsV2PullFactory.sol +75 -0
  267. package/contracts/mock/Mock0xSplitsV2Splitter.sol +47 -0
  268. package/contracts/mock/MockAdminACLV0.sol +21 -0
  269. package/contracts/mock/MockAdminACLV0_PROHIBITION.sol +21 -0
  270. package/contracts/mock/ReentrancyGenArt721MinterMock.sol +47 -0
  271. package/contracts/mock/ReentrancyHolderMockShared.sol +59 -0
  272. package/contracts/mock/ReentrancyMerkleMockShared.sol +58 -0
  273. package/contracts/mock/ReentrancyMockShared.sol +48 -0
  274. package/contracts/mock/ReentrancySEAMockShared.sol +40 -0
  275. package/contracts/mock/ReentrancySplitterMocks.sol +67 -0
  276. package/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol +1 -1
  277. package/contracts/randomizer/shared/SharedRandomizerV0.sol +79 -71
  278. package/contracts/split/SplitAtomicFactoryV0.sol +121 -0
  279. package/contracts/split/SplitAtomicV0.sol +265 -0
  280. package/contracts/split/split-provider/SplitProviderV0.sol +201 -0
  281. package/package.json +79 -45
  282. package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +0 -1965
  283. package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +0 -1939
  284. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +0 -1127
  285. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +0 -768
  286. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +0 -208
  287. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol/GenArt721RoyaltyOverride_PBAB.json +0 -301
  288. package/contracts/royalty-registry/GenArt721RoyaltyOverride.sol +0 -168
  289. package/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol +0 -221
@@ -7,460 +7,18 @@
7
7
  "inputs": [
8
8
  {
9
9
  "internalType": "address",
10
- "name": "_minterFilter",
10
+ "name": "minterFilter",
11
11
  "type": "address"
12
12
  },
13
13
  {
14
14
  "internalType": "address",
15
- "name": "_delegationRegistryAddress",
15
+ "name": "delegationRegistryAddress_",
16
16
  "type": "address"
17
17
  }
18
18
  ],
19
19
  "stateMutability": "nonpayable",
20
20
  "type": "constructor"
21
21
  },
22
- {
23
- "anonymous": false,
24
- "inputs": [
25
- {
26
- "indexed": true,
27
- "internalType": "uint256",
28
- "name": "_projectId",
29
- "type": "uint256"
30
- },
31
- {
32
- "indexed": true,
33
- "internalType": "address",
34
- "name": "_coreContract",
35
- "type": "address"
36
- },
37
- {
38
- "indexed": false,
39
- "internalType": "bytes32",
40
- "name": "_key",
41
- "type": "bytes32"
42
- }
43
- ],
44
- "name": "ConfigKeyRemoved",
45
- "type": "event"
46
- },
47
- {
48
- "anonymous": false,
49
- "inputs": [
50
- {
51
- "indexed": true,
52
- "internalType": "uint256",
53
- "name": "_projectId",
54
- "type": "uint256"
55
- },
56
- {
57
- "indexed": true,
58
- "internalType": "address",
59
- "name": "_coreContract",
60
- "type": "address"
61
- },
62
- {
63
- "indexed": false,
64
- "internalType": "bytes32",
65
- "name": "_key",
66
- "type": "bytes32"
67
- },
68
- {
69
- "indexed": false,
70
- "internalType": "uint256",
71
- "name": "_value",
72
- "type": "uint256"
73
- }
74
- ],
75
- "name": "ConfigValueAddedToSet",
76
- "type": "event"
77
- },
78
- {
79
- "anonymous": false,
80
- "inputs": [
81
- {
82
- "indexed": true,
83
- "internalType": "uint256",
84
- "name": "_projectId",
85
- "type": "uint256"
86
- },
87
- {
88
- "indexed": true,
89
- "internalType": "address",
90
- "name": "_coreContract",
91
- "type": "address"
92
- },
93
- {
94
- "indexed": false,
95
- "internalType": "bytes32",
96
- "name": "_key",
97
- "type": "bytes32"
98
- },
99
- {
100
- "indexed": false,
101
- "internalType": "address",
102
- "name": "_value",
103
- "type": "address"
104
- }
105
- ],
106
- "name": "ConfigValueAddedToSet",
107
- "type": "event"
108
- },
109
- {
110
- "anonymous": false,
111
- "inputs": [
112
- {
113
- "indexed": true,
114
- "internalType": "uint256",
115
- "name": "_projectId",
116
- "type": "uint256"
117
- },
118
- {
119
- "indexed": true,
120
- "internalType": "address",
121
- "name": "_coreContract",
122
- "type": "address"
123
- },
124
- {
125
- "indexed": false,
126
- "internalType": "bytes32",
127
- "name": "_key",
128
- "type": "bytes32"
129
- },
130
- {
131
- "indexed": false,
132
- "internalType": "bytes32",
133
- "name": "_value",
134
- "type": "bytes32"
135
- }
136
- ],
137
- "name": "ConfigValueAddedToSet",
138
- "type": "event"
139
- },
140
- {
141
- "anonymous": false,
142
- "inputs": [
143
- {
144
- "indexed": true,
145
- "internalType": "uint256",
146
- "name": "_projectId",
147
- "type": "uint256"
148
- },
149
- {
150
- "indexed": true,
151
- "internalType": "address",
152
- "name": "_coreContract",
153
- "type": "address"
154
- },
155
- {
156
- "indexed": false,
157
- "internalType": "bytes32",
158
- "name": "_key",
159
- "type": "bytes32"
160
- },
161
- {
162
- "indexed": false,
163
- "internalType": "uint256",
164
- "name": "_value",
165
- "type": "uint256"
166
- }
167
- ],
168
- "name": "ConfigValueRemovedFromSet",
169
- "type": "event"
170
- },
171
- {
172
- "anonymous": false,
173
- "inputs": [
174
- {
175
- "indexed": true,
176
- "internalType": "uint256",
177
- "name": "_projectId",
178
- "type": "uint256"
179
- },
180
- {
181
- "indexed": true,
182
- "internalType": "address",
183
- "name": "_coreContract",
184
- "type": "address"
185
- },
186
- {
187
- "indexed": false,
188
- "internalType": "bytes32",
189
- "name": "_key",
190
- "type": "bytes32"
191
- },
192
- {
193
- "indexed": false,
194
- "internalType": "address",
195
- "name": "_value",
196
- "type": "address"
197
- }
198
- ],
199
- "name": "ConfigValueRemovedFromSet",
200
- "type": "event"
201
- },
202
- {
203
- "anonymous": false,
204
- "inputs": [
205
- {
206
- "indexed": true,
207
- "internalType": "uint256",
208
- "name": "_projectId",
209
- "type": "uint256"
210
- },
211
- {
212
- "indexed": true,
213
- "internalType": "address",
214
- "name": "_coreContract",
215
- "type": "address"
216
- },
217
- {
218
- "indexed": false,
219
- "internalType": "bytes32",
220
- "name": "_key",
221
- "type": "bytes32"
222
- },
223
- {
224
- "indexed": false,
225
- "internalType": "bytes32",
226
- "name": "_value",
227
- "type": "bytes32"
228
- }
229
- ],
230
- "name": "ConfigValueRemovedFromSet",
231
- "type": "event"
232
- },
233
- {
234
- "anonymous": false,
235
- "inputs": [
236
- {
237
- "indexed": true,
238
- "internalType": "uint256",
239
- "name": "_projectId",
240
- "type": "uint256"
241
- },
242
- {
243
- "indexed": true,
244
- "internalType": "address",
245
- "name": "_coreContract",
246
- "type": "address"
247
- },
248
- {
249
- "indexed": false,
250
- "internalType": "bytes32",
251
- "name": "_key",
252
- "type": "bytes32"
253
- },
254
- {
255
- "indexed": false,
256
- "internalType": "bool",
257
- "name": "_value",
258
- "type": "bool"
259
- }
260
- ],
261
- "name": "ConfigValueSet",
262
- "type": "event"
263
- },
264
- {
265
- "anonymous": false,
266
- "inputs": [
267
- {
268
- "indexed": true,
269
- "internalType": "uint256",
270
- "name": "_projectId",
271
- "type": "uint256"
272
- },
273
- {
274
- "indexed": true,
275
- "internalType": "address",
276
- "name": "_coreContract",
277
- "type": "address"
278
- },
279
- {
280
- "indexed": false,
281
- "internalType": "bytes32",
282
- "name": "_key",
283
- "type": "bytes32"
284
- },
285
- {
286
- "indexed": false,
287
- "internalType": "uint256",
288
- "name": "_value",
289
- "type": "uint256"
290
- }
291
- ],
292
- "name": "ConfigValueSet",
293
- "type": "event"
294
- },
295
- {
296
- "anonymous": false,
297
- "inputs": [
298
- {
299
- "indexed": true,
300
- "internalType": "uint256",
301
- "name": "_projectId",
302
- "type": "uint256"
303
- },
304
- {
305
- "indexed": true,
306
- "internalType": "address",
307
- "name": "_coreContract",
308
- "type": "address"
309
- },
310
- {
311
- "indexed": false,
312
- "internalType": "bytes32",
313
- "name": "_key",
314
- "type": "bytes32"
315
- },
316
- {
317
- "indexed": false,
318
- "internalType": "address",
319
- "name": "_value",
320
- "type": "address"
321
- }
322
- ],
323
- "name": "ConfigValueSet",
324
- "type": "event"
325
- },
326
- {
327
- "anonymous": false,
328
- "inputs": [
329
- {
330
- "indexed": true,
331
- "internalType": "uint256",
332
- "name": "_projectId",
333
- "type": "uint256"
334
- },
335
- {
336
- "indexed": true,
337
- "internalType": "address",
338
- "name": "_coreContract",
339
- "type": "address"
340
- },
341
- {
342
- "indexed": false,
343
- "internalType": "bytes32",
344
- "name": "_key",
345
- "type": "bytes32"
346
- },
347
- {
348
- "indexed": false,
349
- "internalType": "bytes32",
350
- "name": "_value",
351
- "type": "bytes32"
352
- }
353
- ],
354
- "name": "ConfigValueSet",
355
- "type": "event"
356
- },
357
- {
358
- "anonymous": false,
359
- "inputs": [
360
- {
361
- "indexed": false,
362
- "internalType": "uint256",
363
- "name": "defaultMaxInvocationsPerAddress",
364
- "type": "uint256"
365
- }
366
- ],
367
- "name": "DefaultMaxInvocationsPerAddress",
368
- "type": "event"
369
- },
370
- {
371
- "anonymous": false,
372
- "inputs": [
373
- {
374
- "indexed": false,
375
- "internalType": "address",
376
- "name": "delegationRegistry",
377
- "type": "address"
378
- }
379
- ],
380
- "name": "DelegationRegistryUpdated",
381
- "type": "event"
382
- },
383
- {
384
- "anonymous": false,
385
- "inputs": [
386
- {
387
- "indexed": true,
388
- "internalType": "uint256",
389
- "name": "_projectId",
390
- "type": "uint256"
391
- },
392
- {
393
- "indexed": true,
394
- "internalType": "address",
395
- "name": "_coreContract",
396
- "type": "address"
397
- },
398
- {
399
- "indexed": true,
400
- "internalType": "uint256",
401
- "name": "_pricePerTokenInWei",
402
- "type": "uint256"
403
- }
404
- ],
405
- "name": "PricePerTokenInWeiUpdated",
406
- "type": "event"
407
- },
408
- {
409
- "anonymous": false,
410
- "inputs": [
411
- {
412
- "indexed": true,
413
- "internalType": "uint256",
414
- "name": "_projectId",
415
- "type": "uint256"
416
- },
417
- {
418
- "indexed": true,
419
- "internalType": "address",
420
- "name": "_coreContract",
421
- "type": "address"
422
- },
423
- {
424
- "indexed": true,
425
- "internalType": "address",
426
- "name": "_currencyAddress",
427
- "type": "address"
428
- },
429
- {
430
- "indexed": false,
431
- "internalType": "string",
432
- "name": "_currencySymbol",
433
- "type": "string"
434
- }
435
- ],
436
- "name": "ProjectCurrencyInfoUpdated",
437
- "type": "event"
438
- },
439
- {
440
- "anonymous": false,
441
- "inputs": [
442
- {
443
- "indexed": true,
444
- "internalType": "uint256",
445
- "name": "_projectId",
446
- "type": "uint256"
447
- },
448
- {
449
- "indexed": true,
450
- "internalType": "address",
451
- "name": "_coreContract",
452
- "type": "address"
453
- },
454
- {
455
- "indexed": false,
456
- "internalType": "uint256",
457
- "name": "_maxInvocations",
458
- "type": "uint256"
459
- }
460
- ],
461
- "name": "ProjectMaxInvocationsLimitUpdated",
462
- "type": "event"
463
- },
464
22
  {
465
23
  "inputs": [],
466
24
  "name": "delegationRegistryAddress",
@@ -478,12 +36,12 @@
478
36
  "inputs": [
479
37
  {
480
38
  "internalType": "uint256",
481
- "name": "_projectId",
39
+ "name": "projectId",
482
40
  "type": "uint256"
483
41
  },
484
42
  {
485
43
  "internalType": "address",
486
- "name": "_coreContract",
44
+ "name": "coreContract",
487
45
  "type": "address"
488
46
  }
489
47
  ],
@@ -517,7 +75,7 @@
517
75
  "inputs": [
518
76
  {
519
77
  "internalType": "address",
520
- "name": "_address",
78
+ "name": "address_",
521
79
  "type": "address"
522
80
  }
523
81
  ],
@@ -536,7 +94,7 @@
536
94
  "inputs": [
537
95
  {
538
96
  "internalType": "address",
539
- "name": "_coreContract",
97
+ "name": "coreContract",
540
98
  "type": "address"
541
99
  }
542
100
  ],
@@ -555,17 +113,17 @@
555
113
  "inputs": [
556
114
  {
557
115
  "internalType": "uint256",
558
- "name": "_projectId",
116
+ "name": "projectId",
559
117
  "type": "uint256"
560
118
  },
561
119
  {
562
120
  "internalType": "address",
563
- "name": "_coreContract",
121
+ "name": "coreContract",
564
122
  "type": "address"
565
123
  },
566
124
  {
567
125
  "internalType": "uint24",
568
- "name": "_maxInvocations",
126
+ "name": "maxInvocations",
569
127
  "type": "uint24"
570
128
  }
571
129
  ],
@@ -578,12 +136,12 @@
578
136
  "inputs": [
579
137
  {
580
138
  "internalType": "uint256",
581
- "name": "_projectId",
139
+ "name": "projectId",
582
140
  "type": "uint256"
583
141
  },
584
142
  {
585
143
  "internalType": "address",
586
- "name": "_coreContract",
144
+ "name": "coreContract",
587
145
  "type": "address"
588
146
  }
589
147
  ],
@@ -614,12 +172,12 @@
614
172
  "inputs": [
615
173
  {
616
174
  "internalType": "uint256",
617
- "name": "_projectId",
175
+ "name": "projectId",
618
176
  "type": "uint256"
619
177
  },
620
178
  {
621
179
  "internalType": "address",
622
- "name": "_coreContract",
180
+ "name": "coreContract",
623
181
  "type": "address"
624
182
  }
625
183
  ],
@@ -687,12 +245,12 @@
687
245
  "inputs": [
688
246
  {
689
247
  "internalType": "bytes32[]",
690
- "name": "_proof",
248
+ "name": "proof",
691
249
  "type": "bytes32[]"
692
250
  },
693
251
  {
694
252
  "internalType": "address",
695
- "name": "_address",
253
+ "name": "address_",
696
254
  "type": "address"
697
255
  }
698
256
  ],
@@ -711,12 +269,12 @@
711
269
  "inputs": [
712
270
  {
713
271
  "internalType": "uint256",
714
- "name": "_projectId",
272
+ "name": "projectId",
715
273
  "type": "uint256"
716
274
  },
717
275
  {
718
276
  "internalType": "address",
719
- "name": "_coreContract",
277
+ "name": "coreContract",
720
278
  "type": "address"
721
279
  }
722
280
  ],
@@ -735,12 +293,12 @@
735
293
  "inputs": [
736
294
  {
737
295
  "internalType": "uint256",
738
- "name": "_projectId",
296
+ "name": "projectId",
739
297
  "type": "uint256"
740
298
  },
741
299
  {
742
300
  "internalType": "address",
743
- "name": "_coreContract",
301
+ "name": "coreContract",
744
302
  "type": "address"
745
303
  }
746
304
  ],
@@ -759,12 +317,12 @@
759
317
  "inputs": [
760
318
  {
761
319
  "internalType": "uint256",
762
- "name": "_projectId",
320
+ "name": "projectId",
763
321
  "type": "uint256"
764
322
  },
765
323
  {
766
324
  "internalType": "address",
767
- "name": "_coreContract",
325
+ "name": "coreContract",
768
326
  "type": "address"
769
327
  }
770
328
  ],
@@ -783,17 +341,17 @@
783
341
  "inputs": [
784
342
  {
785
343
  "internalType": "uint256",
786
- "name": "_projectId",
344
+ "name": "projectId",
787
345
  "type": "uint256"
788
346
  },
789
347
  {
790
348
  "internalType": "address",
791
- "name": "_coreContract",
349
+ "name": "coreContract",
792
350
  "type": "address"
793
351
  },
794
352
  {
795
353
  "internalType": "address",
796
- "name": "_address",
354
+ "name": "address_",
797
355
  "type": "address"
798
356
  }
799
357
  ],
@@ -817,17 +375,17 @@
817
375
  "inputs": [
818
376
  {
819
377
  "internalType": "uint256",
820
- "name": "_projectId",
378
+ "name": "projectId",
821
379
  "type": "uint256"
822
380
  },
823
381
  {
824
382
  "internalType": "address",
825
- "name": "_coreContract",
383
+ "name": "coreContract",
826
384
  "type": "address"
827
385
  },
828
386
  {
829
387
  "internalType": "address",
830
- "name": "_purchaser",
388
+ "name": "purchaser",
831
389
  "type": "address"
832
390
  }
833
391
  ],
@@ -846,17 +404,17 @@
846
404
  "inputs": [
847
405
  {
848
406
  "internalType": "uint256",
849
- "name": "_projectId",
407
+ "name": "projectId",
850
408
  "type": "uint256"
851
409
  },
852
410
  {
853
411
  "internalType": "address",
854
- "name": "_coreContract",
412
+ "name": "coreContract",
855
413
  "type": "address"
856
414
  },
857
415
  {
858
416
  "internalType": "bytes32[]",
859
- "name": "_proof",
417
+ "name": "proof",
860
418
  "type": "bytes32[]"
861
419
  }
862
420
  ],
@@ -875,22 +433,22 @@
875
433
  "inputs": [
876
434
  {
877
435
  "internalType": "address",
878
- "name": "_to",
436
+ "name": "to",
879
437
  "type": "address"
880
438
  },
881
439
  {
882
440
  "internalType": "uint256",
883
- "name": "_projectId",
441
+ "name": "projectId",
884
442
  "type": "uint256"
885
443
  },
886
444
  {
887
445
  "internalType": "address",
888
- "name": "_coreContract",
446
+ "name": "coreContract",
889
447
  "type": "address"
890
448
  },
891
449
  {
892
450
  "internalType": "bytes32[]",
893
- "name": "_proof",
451
+ "name": "proof",
894
452
  "type": "bytes32[]"
895
453
  }
896
454
  ],
@@ -909,27 +467,27 @@
909
467
  "inputs": [
910
468
  {
911
469
  "internalType": "address",
912
- "name": "_to",
470
+ "name": "to",
913
471
  "type": "address"
914
472
  },
915
473
  {
916
474
  "internalType": "uint256",
917
- "name": "_projectId",
475
+ "name": "projectId",
918
476
  "type": "uint256"
919
477
  },
920
478
  {
921
479
  "internalType": "address",
922
- "name": "_coreContract",
480
+ "name": "coreContract",
923
481
  "type": "address"
924
482
  },
925
483
  {
926
484
  "internalType": "bytes32[]",
927
- "name": "_proof",
485
+ "name": "proof",
928
486
  "type": "bytes32[]"
929
487
  },
930
488
  {
931
489
  "internalType": "address",
932
- "name": "_vault",
490
+ "name": "vault",
933
491
  "type": "address"
934
492
  }
935
493
  ],
@@ -948,12 +506,12 @@
948
506
  "inputs": [
949
507
  {
950
508
  "internalType": "uint256",
951
- "name": "_projectId",
509
+ "name": "projectId",
952
510
  "type": "uint256"
953
511
  },
954
512
  {
955
513
  "internalType": "address",
956
- "name": "_coreContract",
514
+ "name": "coreContract",
957
515
  "type": "address"
958
516
  }
959
517
  ],
@@ -963,7 +521,7 @@
963
521
  "components": [
964
522
  {
965
523
  "internalType": "uint248",
966
- "name": "pricePerTokenInWei",
524
+ "name": "pricePerToken",
967
525
  "type": "uint248"
968
526
  },
969
527
  {
@@ -984,17 +542,17 @@
984
542
  "inputs": [
985
543
  {
986
544
  "internalType": "uint256",
987
- "name": "_projectId",
545
+ "name": "projectId",
988
546
  "type": "uint256"
989
547
  },
990
548
  {
991
549
  "internalType": "address",
992
- "name": "_coreContract",
550
+ "name": "coreContract",
993
551
  "type": "address"
994
552
  },
995
553
  {
996
554
  "internalType": "uint24",
997
- "name": "_maxInvocationsPerAddress",
555
+ "name": "maxInvocationsPerAddress",
998
556
  "type": "uint24"
999
557
  }
1000
558
  ],
@@ -1007,12 +565,12 @@
1007
565
  "inputs": [
1008
566
  {
1009
567
  "internalType": "uint256",
1010
- "name": "_projectId",
568
+ "name": "projectId",
1011
569
  "type": "uint256"
1012
570
  },
1013
571
  {
1014
572
  "internalType": "address",
1015
- "name": "_coreContract",
573
+ "name": "coreContract",
1016
574
  "type": "address"
1017
575
  }
1018
576
  ],
@@ -1025,17 +583,17 @@
1025
583
  "inputs": [
1026
584
  {
1027
585
  "internalType": "uint256",
1028
- "name": "_projectId",
586
+ "name": "projectId",
1029
587
  "type": "uint256"
1030
588
  },
1031
589
  {
1032
590
  "internalType": "address",
1033
- "name": "_coreContract",
591
+ "name": "coreContract",
1034
592
  "type": "address"
1035
593
  },
1036
594
  {
1037
595
  "internalType": "bytes32",
1038
- "name": "_root",
596
+ "name": "root",
1039
597
  "type": "bytes32"
1040
598
  }
1041
599
  ],
@@ -1048,17 +606,17 @@
1048
606
  "inputs": [
1049
607
  {
1050
608
  "internalType": "uint256",
1051
- "name": "_projectId",
609
+ "name": "projectId",
1052
610
  "type": "uint256"
1053
611
  },
1054
612
  {
1055
613
  "internalType": "address",
1056
- "name": "_coreContract",
614
+ "name": "coreContract",
1057
615
  "type": "address"
1058
616
  },
1059
617
  {
1060
618
  "internalType": "uint248",
1061
- "name": "_pricePerTokenInWei",
619
+ "name": "pricePerTokenInWei",
1062
620
  "type": "uint248"
1063
621
  }
1064
622
  ],
@@ -1068,8 +626,8 @@
1068
626
  "type": "function"
1069
627
  }
1070
628
  ],
1071
- "bytecode": "0x6101006040523480156200001257600080fd5b5060405162002399380380620023998339810160408190526200003591620000e5565b60016000556001600160a01b03828116608081905260a052811660c081905260e08190526040519081527f836360d1b094a7de3c3eab3d1185f3a5939467c23d4a12709dbdbf8c8d7e2f3b9060200160405180910390a1604051600181527fb004e34bc1718c504fde68324f2eba80b0329056f240eaaa6803c286c4b9e7ed9060200160405180910390a150506200011d565b80516001600160a01b0381168114620000e057600080fd5b919050565b60008060408385031215620000f957600080fd5b6200010483620000c8565b91506200011460208401620000c8565b90509250929050565b60805160a05160c05160e051612242620001576000396000610932015260006104e301526000610ae20152600061063201526122426000f3fe60806040526004361061011b5760003560e01c806301000da7146101205780631467b1f7146101555780631ec2e523146101765780633aa5fe591461019657806340e5fa3b146101b65780634869f3df146101ed57806350a9e842146102375780635cf0a4111461028a5780636ece43dc1461029d5780637e947f24146103155780638b4eb61d146103375780639a94488a146103575780639b24c3c0146103ef578063b000e33414610491578063b466dded146104b1578063bf5bf5f8146104d1578063cce7c9091461051d578063d3ddabe61461053d578063d9bffbce1461057c578063d9eb16db1461059c578063dd85582f14610620578063e9d1e8ac14610654578063eb7eb95a14610696578063ef2c8cc7146106a9575b600080fd5b34801561012c57600080fd5b5061014061013b366004611b81565b6106c9565b60405190151581526020015b60405180910390f35b610168610163366004611be9565b61070a565b60405190815260200161014c565b34801561018257600080fd5b50610168610191366004611c5b565b610725565b3480156101a257600080fd5b506101686101b1366004611b81565b61073a565b3480156101c257600080fd5b506101d66101d1366004611cb1565b61074b565b60408051921515835260208301919091520161014c565b3480156101f957600080fd5b50610168610208366004611ce8565b6001600160a01b031660009081526004602090815260408083209383529290522054610100900462ffffff1690565b34801561024357600080fd5b50610168610252366004611cb1565b6001600160a01b0391821660009081526003602090815260408083209583529481528482209290931681526002909101909152205490565b610168610298366004611d18565b610787565b3480156102a957600080fd5b506102f46102b8366004611ce8565b6001600160a01b0316600090815260036020908152604080832093835292905220805460019091015460ff82169261010090920462ffffff1691565b60408051931515845262ffffff90921660208401529082015260600161014c565b34801561032157600080fd5b50610335610330366004611d9c565b610bd7565b005b34801561034357600080fd5b50610168610352366004611ce8565b610c87565b34801561036357600080fd5b506103cd610372366004611ce8565b6040805180820190915260008082526020820152506001600160a01b031660009081526004602090815260408083209383529281529082902082518084019093525460ff811615158352610100900462ffffff169082015290565b6040805182511515815260209283015162ffffff16928101929092520161014c565b3480156103fb57600080fd5b5061046b61040a366004611ce8565b6040805180820190915260008082526020820152506001600160a01b03166000908152600160209081526040808320938352928152908290208251808401909352546001600160f81b0381168352600160f81b900460ff1615159082015290565b6040805182516001600160f81b031681526020928301511515928101929092520161014c565b34801561049d57600080fd5b506103356104ac366004611ddf565b610cb3565b3480156104bd57600080fd5b506103356104cc366004611e1e565b610d3b565b3480156104dd57600080fd5b506105057f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161014c565b34801561052957600080fd5b50610140610538366004611ce8565b610e08565b34801561054957600080fd5b5061056f60405180604001604052806006815260200165076352e302e360d41b81525081565b60405161014c9190611ea6565b34801561058857600080fd5b50610335610597366004611ce8565b610e34565b3480156105a857600080fd5b506106106105b7366004611ce8565b6001600160a01b03166000908152600160209081526040808320938352928152828220548351808501909452600384526208aa8960eb1b9184019190915260ff600160f81b820416936001600160f81b03909116929190565b60405161014c9493929190611eb9565b34801561062c57600080fd5b506105057f000000000000000000000000000000000000000000000000000000000000000081565b34801561066057600080fd5b5061056f604051806040016040528060168152602001754d696e74657253657450726963654d65726b6c65563560501b81525081565b6101686106a4366004611ef3565b610ead565b3480156106b557600080fd5b506103356106c4366004611ddf565b610ec7565b6001600160a01b03811660009081526002602052604081208054610100900460ff16156106fa575460ff1692915050565b61070383610fc6565b9392505050565b600061071b86868686866000610787565b9695505050505050565b60006107328484846110fe565b949350505050565b600061074582611115565b92915050565b6001600160a01b03821660009081526003602090815260408083208684529091528120819061077a818561114f565b9250925050935093915050565b60006002600054036107e05760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b600260009081556001600160a01b0386168082526001602090815260408084208a85528252808420838552600483528185208b86528352818520938552600383528185208b8652909252909220815460ff161561084f5760405162461bcd60e51b81526004016107d790611f4e565b8254600160f81b900460ff1661089e5760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b60448201526064016107d7565b82546001600160f81b0316348111156108f25760405162461bcd60e51b815260206004820152601660248201527526b4b7103b30b63ab2903a379036b4b73a103932b89760511b60448201526064016107d7565b336001600160a01b038716156109f35760405163090c9a2d60e41b81523360048201526001600160a01b0388811660248301528b811660448301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906390c9a2d090606401602060405180830381865afa15801561097b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099f9190611f8f565b9050806109ee5760405162461bcd60e51b815260206004820152601e60248201527f496e76616c69642064656c65676174652d7661756c742070616972696e67000060448201526064016107d7565b879150505b610a0383600101548a8a8461119c565b610a465760405162461bcd60e51b815260206004820152601460248201527324b73b30b634b21026b2b935b63290383937b7b360611b60448201526064016107d7565b6000610a51846111b4565b6001600160a01b0383166000908152600286016020526040902054909150811180610a7a575080155b610a965760405162461bcd60e51b81526004016107d790611f4e565b6001600160a01b0380831660009081526002860160205260409081902080546001019055516117cd60e21b81528e82166004820152602481018e90528c821660448201523360648201527f000000000000000000000000000000000000000000000000000000000000000090911690615f34906084016020604051808303816000875af1158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190611faa565b9650610b9087600460008e6001600160a01b03166001600160a01b0316815260200190815260200160002060008f81526020019081526020016000206111dd565b6001600160a01b038b166000908152600260205260408120610bb3908d9061122c565b9050610bc18d858e8461125e565b5050505050505060016000559695505050505050565b610be2838333611315565b6001600160a01b03821660008181526001602090815260408083208784529091528082206001600160f81b038516600160f81b8117825591519093919287917f37a132f63521ff11fed0c526f0f30824337316bb2b71fcfc0b6f3cf631595b5f9190a46001600160a01b03831660009081526004602090815260408083208784529091529020610c718161135f565b15610c8057610c808585610e34565b5050505050565b6001600160a01b03811660009081526003602090815260408083208584529091528120610732816111b4565b610cbe838333611315565b6001600160a01b03821660009081526004602090815260408083208684529091529020610cf09084908490849061137f565b60405162ffffff821681526001600160a01b0383169084907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e237906020015b60405180910390a3505050565b610d46838333611315565b80610d8b5760405162461bcd60e51b8152602060048201526015602482015274149bdbdd081b5d5cdd081899481c1c9bdd9a591959605a1b60448201526064016107d7565b6001600160a01b03821660009081526003602090815260408083208684529091529020610db89082611406565b60408051691b595c9adb19549bdbdd60b21b8152602081018390526001600160a01b0384169185917fbd2962ddf019622ba935ab411adde29d756d1db6d628d89b2a174cdf6538b8d59101610d2e565b6001600160a01b038116600090815260046020908152604080832085845290915281205460ff16610703565b610e3f828233611315565b6001600160a01b03811660009081526004602090815260408083208584529091528120610e6f908490849061144f565b9050816001600160a01b0316837f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e23783604051610d2e91815260200190565b6000610ebe33868686866000610787565b95945050505050565b610ed2838333611315565b6001600160a01b03821660008181526003602090815260408083208784528252918290208054600163ffffffff1990911661010062ffffff8816021781179091558251797573654d61784d696e7473506572416464724f7665727269646560301b815291820152815186927fbb5f9d4f49f83650956b76c40de0f082a06430bf0222e1b6b3f90a7a0f845c4d928290030190a360408051766d61784d696e7473506572416464724f7665727269646560481b815262ffffff831660208201526001600160a01b0384169185917f1809fd1f08e6b0df08fd848757688435a0ab8520a51dcca23eba5a3c7f7280d69101610d2e565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03861690611028908590611fc3565b600060405180830381855afa9150503d8060008114611063576040519150601f19603f3d011682016040523d82523d6000602084013e611068565b606091505b50915091508161108a5760405162461bcd60e51b81526004016107d790611fdf565b805160c08190036110a15750600095945050505050565b80610100036110b65750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c6974206279746573000060448201526064016107d7565b600061073261110c83611115565b859085906114f4565b6040516001600160601b0319606083901b166020820152600090603401604051602081830303815290604052805190602001209050919050565b600080600061115d856111b4565b90508015611194576001600160a01b038416600090815260028601602052604090205460019350808211156111925780820392505b505b509250929050565b6000610ebe856111ab84611115565b86918691611540565b805460009060ff16156111d0575054610100900462ffffff1690565b506001919050565b919050565b8054620f4240830660010190610100900462ffffff16808211156112135760405162461bcd60e51b81526004016107d790611f4e565b80820361122657825460ff191660011783555b50505050565b8054600090610100900460ff16156112495750805460ff16610745565b60006112558484611558565b91506107459050565b341561122657600080611271853461203a565b905080156113015760405133908290600081818185875af1925050503d80600081146112b9576040519150601f19603f3d011682016040523d82523d6000602084013e6112be565b606091505b505080925050816113015760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b60448201526064016107d7565b61130d86868686611668565b505050505050565b611320838383611a33565b61135a5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b60448201526064016107d7565b505050565b8054600090610100900462ffffff161580156107455750505460ff161590565b60008061138c8686611abc565b91509150808462ffffff1611156113b55760405162461bcd60e51b81526004016107d79061204d565b818462ffffff1610156113da5760405162461bcd60e51b81526004016107d79061204d565b50815460ff1962ffffff90941661010081029490941663ffffffff199091161792149190911790555050565b806114475760405162461bcd60e51b8152602060048201526011602482015270135d5cdd081c1c9bdd9a5919481c9bdbdd607a1b60448201526064016107d7565b600190910155565b6000806000846001600160a01b0316630ea5613f876040518263ffffffff1660e01b815260040161148291815260200190565b60c060405180830381865afa15801561149f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c3919061207e565b5050875493831463ffffffff1990941661010062ffffff85160260ff19161793909317909655979650505050505050565b600081815b848110156115375761152382878784818110611517576115176120dd565b90506020020135611b3a565b91508061152f816120f3565b9150506114f9565b50949350505050565b60008261154e8686856114f4565b1495945050505050565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b038716906115ba908590611fc3565b6000604051808303816000865af19150503d80600081146115f7576040519150601f19603f3d011682016040523d82523d6000602084013e6115fc565b606091505b50915091508161161e5760405162461bcd60e51b81526004016107d790611fdf565b805160c0819003611644575050835461ffff191661010017845550600091506107459050565b80610100036110b6575050835461ffff191661010117845550600191506107459050565b821561122657600080600080600080600087156117b957604051638639415b60e01b8152600481018c9052602481018b905260009081906001600160a01b038c1690638639415b9060440161010060405180830381865afa1580156116d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f5919061210c565b969e50949c50909a509850919650919450909250905081156117b2576040516001600160a01b038216908390600081818185875af1925050503d806000811461175a576040519150601f19603f3d011682016040523d82523d6000602084013e61175f565b606091505b505080995050886117b25760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c656460448201526064016107d7565b5050611839565b604051638639415b60e01b8152600481018c9052602481018b90526001600160a01b038a1690638639415b9060440160c060405180830381865afa158015611805573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118299190612194565b949a509298509096509450925090505b85156118e0576040516001600160a01b038616908790600081818185875af1925050503d8060008114611888576040519150601f19603f3d011682016040523d82523d6000602084013e61188d565b606091505b505080975050866118e05760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c6564000060448201526064016107d7565b831561197f576040516001600160a01b038416908590600081818185875af1925050503d806000811461192f576040519150601f19603f3d011682016040523d82523d6000602084013e611934565b606091505b5050809750508661197f5760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b60448201526064016107d7565b8115611a26576040516001600160a01b038216908390600081818185875af1925050503d80600081146119ce576040519150601f19603f3d011682016040523d82523d6000602084013e6119d3565b606091505b50508097505086611a265760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c65640060448201526064016107d7565b5050505050505050505050565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa158015611a7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a9f91906121ef565b6001600160a01b0316826001600160a01b03161490509392505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa158015611b06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b2a919061207e565b5093989297509195505050505050565b6000818310611b56576000828152602084905260409020610703565b6000838152602083905260409020610703565b6001600160a01b0381168114611b7e57600080fd5b50565b600060208284031215611b9357600080fd5b813561070381611b69565b60008083601f840112611bb057600080fd5b5081356001600160401b03811115611bc757600080fd5b6020830191508360208260051b8501011115611be257600080fd5b9250929050565b600080600080600060808688031215611c0157600080fd5b8535611c0c81611b69565b9450602086013593506040860135611c2381611b69565b925060608601356001600160401b03811115611c3e57600080fd5b611c4a88828901611b9e565b969995985093965092949392505050565b600080600060408486031215611c7057600080fd5b83356001600160401b03811115611c8657600080fd5b611c9286828701611b9e565b9094509250506020840135611ca681611b69565b809150509250925092565b600080600060608486031215611cc657600080fd5b833592506020840135611cd881611b69565b91506040840135611ca681611b69565b60008060408385031215611cfb57600080fd5b823591506020830135611d0d81611b69565b809150509250929050565b60008060008060008060a08789031215611d3157600080fd5b8635611d3c81611b69565b9550602087013594506040870135611d5381611b69565b935060608701356001600160401b03811115611d6e57600080fd5b611d7a89828a01611b9e565b9094509250506080870135611d8e81611b69565b809150509295509295509295565b600080600060608486031215611db157600080fd5b833592506020840135611dc381611b69565b915060408401356001600160f81b0381168114611ca657600080fd5b600080600060608486031215611df457600080fd5b833592506020840135611e0681611b69565b9150604084013562ffffff81168114611ca657600080fd5b600080600060608486031215611e3357600080fd5b833592506020840135611e4581611b69565b929592945050506040919091013590565b60005b83811015611e71578181015183820152602001611e59565b50506000910152565b60008151808452611e92816020860160208601611e56565b601f01601f19169290920160200192915050565b6020815260006107036020830184611e7a565b8415158152836020820152608060408201526000611eda6080830185611e7a565b905060018060a01b038316606083015295945050505050565b60008060008060608587031215611f0957600080fd5b843593506020850135611f1b81611b69565b925060408501356001600160401b03811115611f3657600080fd5b611f4287828801611b9e565b95989497509550505050565b60208082526017908201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604082015260600190565b805180151581146111d857600080fd5b600060208284031215611fa157600080fd5b61070382611f7f565b600060208284031215611fbc57600080fd5b5051919050565b60008251611fd5818460208701611e56565b9190910192915050565b60208082526025908201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604082015264185a5b195960da1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561074557610745612024565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b60008060008060008060c0878903121561209757600080fd5b86519550602087015194506120ae60408801611f7f565b93506120bc60608801611f7f565b9250608087015191506120d160a08801611f7f565b90509295509295509295565b634e487b7160e01b600052603260045260246000fd5b60006001820161210557612105612024565b5060010190565b600080600080600080600080610100898b03121561212957600080fd5b88519750602089015161213b81611b69565b60408a015160608b0151919850965061215381611b69565b60808a015160a08b0151919650945061216b81611b69565b60c08a015160e08b0151919450925061218381611b69565b809150509295985092959890939650565b60008060008060008060c087890312156121ad57600080fd5b8651955060208701516121bf81611b69565b6040880151606089015191965094506121d781611b69565b608088015160a08901519194509250611d8e81611b69565b60006020828403121561220157600080fd5b815161070381611b6956fea26469706673582212201491c79f5e692bcb08210c4193bda1924eeadd99cd5cd5ad55cf289c3bf8977e64736f6c63430008130033",
1072
- "deployedBytecode": "0x60806040526004361061011b5760003560e01c806301000da7146101205780631467b1f7146101555780631ec2e523146101765780633aa5fe591461019657806340e5fa3b146101b65780634869f3df146101ed57806350a9e842146102375780635cf0a4111461028a5780636ece43dc1461029d5780637e947f24146103155780638b4eb61d146103375780639a94488a146103575780639b24c3c0146103ef578063b000e33414610491578063b466dded146104b1578063bf5bf5f8146104d1578063cce7c9091461051d578063d3ddabe61461053d578063d9bffbce1461057c578063d9eb16db1461059c578063dd85582f14610620578063e9d1e8ac14610654578063eb7eb95a14610696578063ef2c8cc7146106a9575b600080fd5b34801561012c57600080fd5b5061014061013b366004611b81565b6106c9565b60405190151581526020015b60405180910390f35b610168610163366004611be9565b61070a565b60405190815260200161014c565b34801561018257600080fd5b50610168610191366004611c5b565b610725565b3480156101a257600080fd5b506101686101b1366004611b81565b61073a565b3480156101c257600080fd5b506101d66101d1366004611cb1565b61074b565b60408051921515835260208301919091520161014c565b3480156101f957600080fd5b50610168610208366004611ce8565b6001600160a01b031660009081526004602090815260408083209383529290522054610100900462ffffff1690565b34801561024357600080fd5b50610168610252366004611cb1565b6001600160a01b0391821660009081526003602090815260408083209583529481528482209290931681526002909101909152205490565b610168610298366004611d18565b610787565b3480156102a957600080fd5b506102f46102b8366004611ce8565b6001600160a01b0316600090815260036020908152604080832093835292905220805460019091015460ff82169261010090920462ffffff1691565b60408051931515845262ffffff90921660208401529082015260600161014c565b34801561032157600080fd5b50610335610330366004611d9c565b610bd7565b005b34801561034357600080fd5b50610168610352366004611ce8565b610c87565b34801561036357600080fd5b506103cd610372366004611ce8565b6040805180820190915260008082526020820152506001600160a01b031660009081526004602090815260408083209383529281529082902082518084019093525460ff811615158352610100900462ffffff169082015290565b6040805182511515815260209283015162ffffff16928101929092520161014c565b3480156103fb57600080fd5b5061046b61040a366004611ce8565b6040805180820190915260008082526020820152506001600160a01b03166000908152600160209081526040808320938352928152908290208251808401909352546001600160f81b0381168352600160f81b900460ff1615159082015290565b6040805182516001600160f81b031681526020928301511515928101929092520161014c565b34801561049d57600080fd5b506103356104ac366004611ddf565b610cb3565b3480156104bd57600080fd5b506103356104cc366004611e1e565b610d3b565b3480156104dd57600080fd5b506105057f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161014c565b34801561052957600080fd5b50610140610538366004611ce8565b610e08565b34801561054957600080fd5b5061056f60405180604001604052806006815260200165076352e302e360d41b81525081565b60405161014c9190611ea6565b34801561058857600080fd5b50610335610597366004611ce8565b610e34565b3480156105a857600080fd5b506106106105b7366004611ce8565b6001600160a01b03166000908152600160209081526040808320938352928152828220548351808501909452600384526208aa8960eb1b9184019190915260ff600160f81b820416936001600160f81b03909116929190565b60405161014c9493929190611eb9565b34801561062c57600080fd5b506105057f000000000000000000000000000000000000000000000000000000000000000081565b34801561066057600080fd5b5061056f604051806040016040528060168152602001754d696e74657253657450726963654d65726b6c65563560501b81525081565b6101686106a4366004611ef3565b610ead565b3480156106b557600080fd5b506103356106c4366004611ddf565b610ec7565b6001600160a01b03811660009081526002602052604081208054610100900460ff16156106fa575460ff1692915050565b61070383610fc6565b9392505050565b600061071b86868686866000610787565b9695505050505050565b60006107328484846110fe565b949350505050565b600061074582611115565b92915050565b6001600160a01b03821660009081526003602090815260408083208684529091528120819061077a818561114f565b9250925050935093915050565b60006002600054036107e05760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b600260009081556001600160a01b0386168082526001602090815260408084208a85528252808420838552600483528185208b86528352818520938552600383528185208b8652909252909220815460ff161561084f5760405162461bcd60e51b81526004016107d790611f4e565b8254600160f81b900460ff1661089e5760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b60448201526064016107d7565b82546001600160f81b0316348111156108f25760405162461bcd60e51b815260206004820152601660248201527526b4b7103b30b63ab2903a379036b4b73a103932b89760511b60448201526064016107d7565b336001600160a01b038716156109f35760405163090c9a2d60e41b81523360048201526001600160a01b0388811660248301528b811660448301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906390c9a2d090606401602060405180830381865afa15801561097b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099f9190611f8f565b9050806109ee5760405162461bcd60e51b815260206004820152601e60248201527f496e76616c69642064656c65676174652d7661756c742070616972696e67000060448201526064016107d7565b879150505b610a0383600101548a8a8461119c565b610a465760405162461bcd60e51b815260206004820152601460248201527324b73b30b634b21026b2b935b63290383937b7b360611b60448201526064016107d7565b6000610a51846111b4565b6001600160a01b0383166000908152600286016020526040902054909150811180610a7a575080155b610a965760405162461bcd60e51b81526004016107d790611f4e565b6001600160a01b0380831660009081526002860160205260409081902080546001019055516117cd60e21b81528e82166004820152602481018e90528c821660448201523360648201527f000000000000000000000000000000000000000000000000000000000000000090911690615f34906084016020604051808303816000875af1158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190611faa565b9650610b9087600460008e6001600160a01b03166001600160a01b0316815260200190815260200160002060008f81526020019081526020016000206111dd565b6001600160a01b038b166000908152600260205260408120610bb3908d9061122c565b9050610bc18d858e8461125e565b5050505050505060016000559695505050505050565b610be2838333611315565b6001600160a01b03821660008181526001602090815260408083208784529091528082206001600160f81b038516600160f81b8117825591519093919287917f37a132f63521ff11fed0c526f0f30824337316bb2b71fcfc0b6f3cf631595b5f9190a46001600160a01b03831660009081526004602090815260408083208784529091529020610c718161135f565b15610c8057610c808585610e34565b5050505050565b6001600160a01b03811660009081526003602090815260408083208584529091528120610732816111b4565b610cbe838333611315565b6001600160a01b03821660009081526004602090815260408083208684529091529020610cf09084908490849061137f565b60405162ffffff821681526001600160a01b0383169084907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e237906020015b60405180910390a3505050565b610d46838333611315565b80610d8b5760405162461bcd60e51b8152602060048201526015602482015274149bdbdd081b5d5cdd081899481c1c9bdd9a591959605a1b60448201526064016107d7565b6001600160a01b03821660009081526003602090815260408083208684529091529020610db89082611406565b60408051691b595c9adb19549bdbdd60b21b8152602081018390526001600160a01b0384169185917fbd2962ddf019622ba935ab411adde29d756d1db6d628d89b2a174cdf6538b8d59101610d2e565b6001600160a01b038116600090815260046020908152604080832085845290915281205460ff16610703565b610e3f828233611315565b6001600160a01b03811660009081526004602090815260408083208584529091528120610e6f908490849061144f565b9050816001600160a01b0316837f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e23783604051610d2e91815260200190565b6000610ebe33868686866000610787565b95945050505050565b610ed2838333611315565b6001600160a01b03821660008181526003602090815260408083208784528252918290208054600163ffffffff1990911661010062ffffff8816021781179091558251797573654d61784d696e7473506572416464724f7665727269646560301b815291820152815186927fbb5f9d4f49f83650956b76c40de0f082a06430bf0222e1b6b3f90a7a0f845c4d928290030190a360408051766d61784d696e7473506572416464724f7665727269646560481b815262ffffff831660208201526001600160a01b0384169185917f1809fd1f08e6b0df08fd848757688435a0ab8520a51dcca23eba5a3c7f7280d69101610d2e565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03861690611028908590611fc3565b600060405180830381855afa9150503d8060008114611063576040519150601f19603f3d011682016040523d82523d6000602084013e611068565b606091505b50915091508161108a5760405162461bcd60e51b81526004016107d790611fdf565b805160c08190036110a15750600095945050505050565b80610100036110b65750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c6974206279746573000060448201526064016107d7565b600061073261110c83611115565b859085906114f4565b6040516001600160601b0319606083901b166020820152600090603401604051602081830303815290604052805190602001209050919050565b600080600061115d856111b4565b90508015611194576001600160a01b038416600090815260028601602052604090205460019350808211156111925780820392505b505b509250929050565b6000610ebe856111ab84611115565b86918691611540565b805460009060ff16156111d0575054610100900462ffffff1690565b506001919050565b919050565b8054620f4240830660010190610100900462ffffff16808211156112135760405162461bcd60e51b81526004016107d790611f4e565b80820361122657825460ff191660011783555b50505050565b8054600090610100900460ff16156112495750805460ff16610745565b60006112558484611558565b91506107459050565b341561122657600080611271853461203a565b905080156113015760405133908290600081818185875af1925050503d80600081146112b9576040519150601f19603f3d011682016040523d82523d6000602084013e6112be565b606091505b505080925050816113015760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b60448201526064016107d7565b61130d86868686611668565b505050505050565b611320838383611a33565b61135a5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b60448201526064016107d7565b505050565b8054600090610100900462ffffff161580156107455750505460ff161590565b60008061138c8686611abc565b91509150808462ffffff1611156113b55760405162461bcd60e51b81526004016107d79061204d565b818462ffffff1610156113da5760405162461bcd60e51b81526004016107d79061204d565b50815460ff1962ffffff90941661010081029490941663ffffffff199091161792149190911790555050565b806114475760405162461bcd60e51b8152602060048201526011602482015270135d5cdd081c1c9bdd9a5919481c9bdbdd607a1b60448201526064016107d7565b600190910155565b6000806000846001600160a01b0316630ea5613f876040518263ffffffff1660e01b815260040161148291815260200190565b60c060405180830381865afa15801561149f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c3919061207e565b5050875493831463ffffffff1990941661010062ffffff85160260ff19161793909317909655979650505050505050565b600081815b848110156115375761152382878784818110611517576115176120dd565b90506020020135611b3a565b91508061152f816120f3565b9150506114f9565b50949350505050565b60008261154e8686856114f4565b1495945050505050565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b038716906115ba908590611fc3565b6000604051808303816000865af19150503d80600081146115f7576040519150601f19603f3d011682016040523d82523d6000602084013e6115fc565b606091505b50915091508161161e5760405162461bcd60e51b81526004016107d790611fdf565b805160c0819003611644575050835461ffff191661010017845550600091506107459050565b80610100036110b6575050835461ffff191661010117845550600191506107459050565b821561122657600080600080600080600087156117b957604051638639415b60e01b8152600481018c9052602481018b905260009081906001600160a01b038c1690638639415b9060440161010060405180830381865afa1580156116d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f5919061210c565b969e50949c50909a509850919650919450909250905081156117b2576040516001600160a01b038216908390600081818185875af1925050503d806000811461175a576040519150601f19603f3d011682016040523d82523d6000602084013e61175f565b606091505b505080995050886117b25760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c656460448201526064016107d7565b5050611839565b604051638639415b60e01b8152600481018c9052602481018b90526001600160a01b038a1690638639415b9060440160c060405180830381865afa158015611805573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118299190612194565b949a509298509096509450925090505b85156118e0576040516001600160a01b038616908790600081818185875af1925050503d8060008114611888576040519150601f19603f3d011682016040523d82523d6000602084013e61188d565b606091505b505080975050866118e05760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c6564000060448201526064016107d7565b831561197f576040516001600160a01b038416908590600081818185875af1925050503d806000811461192f576040519150601f19603f3d011682016040523d82523d6000602084013e611934565b606091505b5050809750508661197f5760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b60448201526064016107d7565b8115611a26576040516001600160a01b038216908390600081818185875af1925050503d80600081146119ce576040519150601f19603f3d011682016040523d82523d6000602084013e6119d3565b606091505b50508097505086611a265760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c65640060448201526064016107d7565b5050505050505050505050565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa158015611a7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a9f91906121ef565b6001600160a01b0316826001600160a01b03161490509392505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa158015611b06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b2a919061207e565b5093989297509195505050505050565b6000818310611b56576000828152602084905260409020610703565b6000838152602083905260409020610703565b6001600160a01b0381168114611b7e57600080fd5b50565b600060208284031215611b9357600080fd5b813561070381611b69565b60008083601f840112611bb057600080fd5b5081356001600160401b03811115611bc757600080fd5b6020830191508360208260051b8501011115611be257600080fd5b9250929050565b600080600080600060808688031215611c0157600080fd5b8535611c0c81611b69565b9450602086013593506040860135611c2381611b69565b925060608601356001600160401b03811115611c3e57600080fd5b611c4a88828901611b9e565b969995985093965092949392505050565b600080600060408486031215611c7057600080fd5b83356001600160401b03811115611c8657600080fd5b611c9286828701611b9e565b9094509250506020840135611ca681611b69565b809150509250925092565b600080600060608486031215611cc657600080fd5b833592506020840135611cd881611b69565b91506040840135611ca681611b69565b60008060408385031215611cfb57600080fd5b823591506020830135611d0d81611b69565b809150509250929050565b60008060008060008060a08789031215611d3157600080fd5b8635611d3c81611b69565b9550602087013594506040870135611d5381611b69565b935060608701356001600160401b03811115611d6e57600080fd5b611d7a89828a01611b9e565b9094509250506080870135611d8e81611b69565b809150509295509295509295565b600080600060608486031215611db157600080fd5b833592506020840135611dc381611b69565b915060408401356001600160f81b0381168114611ca657600080fd5b600080600060608486031215611df457600080fd5b833592506020840135611e0681611b69565b9150604084013562ffffff81168114611ca657600080fd5b600080600060608486031215611e3357600080fd5b833592506020840135611e4581611b69565b929592945050506040919091013590565b60005b83811015611e71578181015183820152602001611e59565b50506000910152565b60008151808452611e92816020860160208601611e56565b601f01601f19169290920160200192915050565b6020815260006107036020830184611e7a565b8415158152836020820152608060408201526000611eda6080830185611e7a565b905060018060a01b038316606083015295945050505050565b60008060008060608587031215611f0957600080fd5b843593506020850135611f1b81611b69565b925060408501356001600160401b03811115611f3657600080fd5b611f4287828801611b9e565b95989497509550505050565b60208082526017908201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604082015260600190565b805180151581146111d857600080fd5b600060208284031215611fa157600080fd5b61070382611f7f565b600060208284031215611fbc57600080fd5b5051919050565b60008251611fd5818460208701611e56565b9190910192915050565b60208082526025908201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604082015264185a5b195960da1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561074557610745612024565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b60008060008060008060c0878903121561209757600080fd5b86519550602087015194506120ae60408801611f7f565b93506120bc60608801611f7f565b9250608087015191506120d160a08801611f7f565b90509295509295509295565b634e487b7160e01b600052603260045260246000fd5b60006001820161210557612105612024565b5060010190565b600080600080600080600080610100898b03121561212957600080fd5b88519750602089015161213b81611b69565b60408a015160608b0151919850965061215381611b69565b60808a015160a08b0151919650945061216b81611b69565b60c08a015160e08b0151919450925061218381611b69565b809150509295985092959890939650565b60008060008060008060c087890312156121ad57600080fd5b8651955060208701516121bf81611b69565b6040880151606089015191965094506121d781611b69565b608088015160a08901519194509250611d8e81611b69565b60006020828403121561220157600080fd5b815161070381611b6956fea26469706673582212201491c79f5e692bcb08210c4193bda1924eeadd99cd5cd5ad55cf289c3bf8977e64736f6c63430008130033",
629
+ "bytecode": "0x6101006040523480156200001257600080fd5b50604051620023a4380380620023a48339810160408190526200003591620000e5565b60016000556001600160a01b03828116608081905260a052811660c081905260e08190526040519081527f836360d1b094a7de3c3eab3d1185f3a5939467c23d4a12709dbdbf8c8d7e2f3b9060200160405180910390a1604051600181527fb004e34bc1718c504fde68324f2eba80b0329056f240eaaa6803c286c4b9e7ed9060200160405180910390a150506200011d565b80516001600160a01b0381168114620000e057600080fd5b919050565b60008060408385031215620000f957600080fd5b6200010483620000c8565b91506200011460208401620000c8565b90509250929050565b60805160a05160c05160e05161224d6200015760003960006106da0152600061039d015260006107e701526000610498015261224d6000f3fe60806040526004361061011b5760003560e01c806301000da7146101205780631467b1f7146101555780631ec2e523146101765780633aa5fe591461019657806340e5fa3b146101b65780634869f3df146101ed57806350a9e8421461020d5780635cf0a4111461022d5780636ece43dc146102405780637e947f24146102815780638b4eb61d146102a35780639a94488a146102c35780639b24c3c014610305578063b000e3341461034b578063b466dded1461036b578063bf5bf5f81461038b578063cce7c909146103d7578063d3ddabe6146103f7578063d9bffbce14610436578063d9eb16db14610456578063dd85582f14610486578063e9d1e8ac146104ba578063eb7eb95a146104fc578063ef2c8cc71461050f575b600080fd5b34801561012c57600080fd5b5061014061013b366004611b9c565b61052f565b60405190151581526020015b60405180910390f35b610168610163366004611c04565b610567565b60405190815260200161014c565b34801561018257600080fd5b50610168610191366004611c76565b610582565b3480156101a257600080fd5b506101686101b1366004611b9c565b610597565b3480156101c257600080fd5b506101d66101d1366004611ccc565b6105a8565b60408051921515835260208301919091520161014c565b3480156101f957600080fd5b50610168610208366004611d03565b6105c2565b34801561021957600080fd5b50610168610228366004611ccc565b6105ce565b61016861023b366004611d33565b6105db565b34801561024c57600080fd5b5061026061025b366004611d03565b61087a565b60408051931515845262ffffff90921660208401529082015260600161014c565b34801561028d57600080fd5b506102a161029c366004611db7565b6108ad565b005b3480156102af57600080fd5b506101686102be366004611d03565b6108ea565b3480156102cf57600080fd5b506102e36102de366004611d03565b6108f6565b6040805182511515815260209283015162ffffff16928101929092520161014c565b34801561031157600080fd5b50610325610320366004611d03565b61093e565b6040805182516001600160f81b031681526020928301511515928101929092520161014c565b34801561035757600080fd5b506102a1610366366004611dfa565b61098c565b34801561037757600080fd5b506102a1610386366004611e39565b6109a2565b34801561039757600080fd5b506103bf7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161014c565b3480156103e357600080fd5b506101406103f2366004611d03565b6109b8565b34801561040357600080fd5b5061042960405180604001604052806006815260200165076352e302e360d41b81525081565b60405161014c9190611ec1565b34801561044257600080fd5b506102a1610451366004611d03565b6109c4565b34801561046257600080fd5b50610476610471366004611d03565b6109dd565b60405161014c9493929190611ed4565b34801561049257600080fd5b506103bf7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104c657600080fd5b50610429604051806040016040528060168152602001754d696e74657253657450726963654d65726b6c65563560501b81525081565b61016861050a366004611f0e565b610a2f565b34801561051b57600080fd5b506102a161052a366004611dfa565b610a49565b60008061053b83610a5f565b8054909150610100900460ff1615610557575460ff1692915050565b61056083610a98565b9392505050565b6000610578868686868660006105db565b9695505050505050565b600061058f848484610c0e565b949350505050565b60006105a282610c25565b92915050565b6000806105b6858585610c5f565b91509150935093915050565b60006105608383610cbc565b600061058f848484610cdc565b60006002600054036106345760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000556106438686610d0f565b600061064f8787610d40565b90508034101561069a5760405162461bcd60e51b815260206004820152601660248201527526b4b7103b30b63ab2903a379036b4b73a103932b89760511b604482015260640161062b565b336001600160a01b0384161561079b5760405163090c9a2d60e41b81523360048201526001600160a01b03858116602483015288811660448301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906390c9a2d090606401602060405180830381865afa158015610723573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107479190611f79565b9050806107965760405162461bcd60e51b815260206004820152601e60248201527f496e76616c69642064656c65676174652d7661756c742070616972696e670000604482015260640161062b565b849150505b6107a88888888885610db0565b6107b3888883610e6a565b6040516117cd60e21b81526001600160a01b038a81166004830152602482018a9052888116604483015282811660648301527f00000000000000000000000000000000000000000000000000000000000000001690615f34906084016020604051808303816000875af115801561082e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108529190611f94565b925061085e8388610e9e565b610869888389610f0b565b505060016000559695505050505050565b60008060008061088a8686610fc0565b805460019091015460ff82169861010090920462ffffff16975095509350505050565b6108b883833361100b565b6108cc8383836001600160f81b0316611050565b6108d683836110af565b156108e5576108e583836110df565b505050565b6000610560838361117a565b60408051808201909152600080825260208201526109148383611192565b60408051808201909152905460ff811615158252610100900462ffffff1660208201529392505050565b604080518082019091526000808252602082015261095c83836111ba565b6040805180820190915290546001600160f81b0381168252600160f81b900460ff16151560208201529392505050565b61099783833361100b565b6108e58383836111e1565b6109ad83833361100b565b6108e58383836112b7565b6000610560838361136c565b6109cf82823361100b565b6109d982826110df565b5050565b60008060606000806109ef87876111ba565b5460408051808201909152600381526208aa8960eb1b602082015260ff600160f81b830416996001600160f81b0390921698509650600095509350505050565b6000610a40338686868660006105db565b95945050505050565b610a5483833361100b565b6108e5838383611385565b6001600160a01b031660009081527f69f22dd730b53ff235fa96b4306a31bef5dad48fe4bac28b1ceebbce14401b396020526040902090565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03861690610afa908590611fad565b600060405180830381855afa9150503d8060008114610b35576040519150601f19603f3d011682016040523d82523d6000602084013e610b3a565b606091505b509150915081610b9a5760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b606482015260840161062b565b805160c0819003610bb15750600095945050505050565b8061010003610bc65750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c69742062797465730000604482015260640161062b565b600061058f610c1c83610c25565b85908590611475565b6040516001600160601b0319606083901b166020820152600090603401604051602081830303815290604052805190602001209050919050565b6000806000610c6e8686610fc0565b90506000610c7b826114c1565b90508015610cb2576001600160a01b03851660009081526002830160205260409020546001945080821115610cb05780820393505b505b5050935093915050565b600080610cc98484611192565b54610100900462ffffff16949350505050565b600080610ce98585610fc0565b6001600160a01b0384166000908152600290910160205260409020549150509392505050565b6000610d1b8383611192565b805490915060ff16156108e55760405162461bcd60e51b815260040161062b90611fc9565b600080610d4d84846111ba565b8054909150600160f81b900460ff16610d9f5760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b604482015260640161062b565b546001600160f81b03169392505050565b6000610dbc8686610fc0565b9050610dce81600101548585856114ea565b610e115760405162461bcd60e51b815260206004820152601460248201527324b73b30b634b21026b2b935b63290383937b7b360611b604482015260640161062b565b6000610e1c826114c1565b6001600160a01b0384166000908152600284016020526040902054909150811180610e45575080155b610e615760405162461bcd60e51b815260040161062b90611fc9565b50505050505050565b6000610e768484610fc0565b6001600160a01b03909216600090815260029092016020525060409020805460010190555050565b6000610ea983611502565b90506000610eb78284611192565b8054909150620f4240850660010190610100900462ffffff1680821115610ef05760405162461bcd60e51b815260040161062b90611fc9565b808203610f0357825460ff191660011783555b505050505050565b34156108e5576000610f1d8334612010565b90508015610faf57604051600090339083908381818185875af1925050503d8060008114610f67576040519150601f19603f3d011682016040523d82523d6000602084013e610f6c565b606091505b5050905080610fad5760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b604482015260640161062b565b505b610fba848484611511565b50505050565b60007f3ed708d712dfa866262466688638d160ef9516c1b2c87fe2388dc87cbf5bbf895b6001600160a01b039290921660009081526020928352604080822094825293909252502090565b6110168383836116d2565b6108e55760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b604482015260640161062b565b600061105c84846111ba565b600160f81b6001600160f81b03841617815560405190915082906001600160a01b0385169086907f98e99eae7ab1c56b5b882e049df69b522affbaa1a93afd3be411447a1606027890600090a450505050565b6000806110bc8484611192565b8054909150610100900462ffffff1615801561058f57505460ff16159392505050565b6000806110ec848461175b565b9150915060006110fc8585611192565b9050611107826117d9565b815460ff1962ffffff92909216610100029190911663ffffffff19909116178383141781556040516001600160a01b0385169086907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379061116b9086815260200190565b60405180910390a35050505050565b6000806111878484610fc0565b905061058f816114c1565b60007f73e3af67f35f30fb72bbaaf6cc07b987364ed643c93ba201702e213464e877ee610fe4565b60007efc986db700c71340c673de619c46ee721167fc4ea17804bb535c4c196aa7d7610fe4565b6000806111ee858561175b565b91509150808362ffffff1611156112175760405162461bcd60e51b815260040161062b90612023565b818362ffffff16101561123c5760405162461bcd60e51b815260040161062b90612023565b60006112488686611192565b805462ffffff861685811463ffffffff19909216610100820260ff1916179190911782556040519081529091506001600160a01b0386169087907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379060200160405180910390a3505050505050565b806112fc5760405162461bcd60e51b8152602060048201526015602482015274149bdbdd081b5d5cdd081899481c1c9bdd9a591959605a1b604482015260640161062b565b60006113088484610fc0565b6001810183905560408051691b595c9adb19549bdbdd60b21b8152602081018590529192506001600160a01b0385169186917fbd2962ddf019622ba935ab411adde29d756d1db6d628d89b2a174cdf6538b8d591015b60405180910390a350505050565b6000806113798484611192565b5460ff16949350505050565b60006113918484610fc0565b8054600163ffffffff1990911661010062ffffff861602178117825560408051797573654d61784d696e7473506572416464724f7665727269646560301b815260208101929092529192506001600160a01b0385169186917fbb5f9d4f49f83650956b76c40de0f082a06430bf0222e1b6b3f90a7a0f845c4d910160405180910390a360408051766d61784d696e7473506572416464724f7665727269646560481b815262ffffff841660208201526001600160a01b0385169186917f1809fd1f08e6b0df08fd848757688435a0ab8520a51dcca23eba5a3c7f7280d6910161135e565b600081815b848110156114b8576114a48287878481811061149857611498612054565b90506020020135611841565b9150806114b08161206a565b91505061147a565b50949350505050565b805460009060ff16156114dd575054610100900462ffffff1690565b506001919050565b919050565b6000610a40856114f984610c25565b86918691611870565b60006105a2620f424083612083565b8160000361151e57505050565b600061152982611888565b905060008060008060008060008088156115c757604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440161010060405180830381865afa15801561158a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ae91906120a5565b969e50949c50929a509098509650945092509050611647565b604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440160c060405180830381865afa158015611613573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611637919061212d565b949c50929a509096509450925090505b8a8285611654898c612188565b61165e9190612188565b6116689190612188565b146116b45760405162461bcd60e51b815260206004820152601c60248201527b496e76616c696420726576656e75652073706c697420746f74616c7360201b604482015260640161062b565b6116c486868a8a888888886118d6565b505050505050505050505050565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa15801561171a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173e919061219b565b6001600160a01b0316826001600160a01b03161490509392505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa1580156117a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c991906121b8565b5093989297509195505050505050565b600062ffffff82111561183d5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201526534206269747360d01b606482015260840161062b565b5090565b600081831061185d576000828152602084905260409020610560565b6000838152602083905260409020610560565b60008261187e868685611475565b1495945050505050565b60008061189483610a5f565b8054909150610100900460ff16156118b0575460ff1692915050565b60006118bb84610a98565b825481151561ffff1990911617610100179092555092915050565b8715611981576000876001600160a01b03168960405160006040518083038185875af1925050503d8060008114611929576040519150601f19603f3d011682016040523d82523d6000602084013e61192e565b606091505b505090508061197f5760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c6564604482015260640161062b565b505b8515611a2c576000856001600160a01b03168760405160006040518083038185875af1925050503d80600081146119d4576040519150601f19603f3d011682016040523d82523d6000602084013e6119d9565b606091505b5050905080611a2a5760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c65640000604482015260640161062b565b505b8315611acf576000836001600160a01b03168560405160006040518083038185875af1925050503d8060008114611a7f576040519150601f19603f3d011682016040523d82523d6000602084013e611a84565b606091505b5050905080611acd5760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b604482015260640161062b565b505b8115611b7a576000816001600160a01b03168360405160006040518083038185875af1925050503d8060008114611b22576040519150601f19603f3d011682016040523d82523d6000602084013e611b27565b606091505b5050905080611b785760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c656400604482015260640161062b565b505b5050505050505050565b6001600160a01b0381168114611b9957600080fd5b50565b600060208284031215611bae57600080fd5b813561056081611b84565b60008083601f840112611bcb57600080fd5b5081356001600160401b03811115611be257600080fd5b6020830191508360208260051b8501011115611bfd57600080fd5b9250929050565b600080600080600060808688031215611c1c57600080fd5b8535611c2781611b84565b9450602086013593506040860135611c3e81611b84565b925060608601356001600160401b03811115611c5957600080fd5b611c6588828901611bb9565b969995985093965092949392505050565b600080600060408486031215611c8b57600080fd5b83356001600160401b03811115611ca157600080fd5b611cad86828701611bb9565b9094509250506020840135611cc181611b84565b809150509250925092565b600080600060608486031215611ce157600080fd5b833592506020840135611cf381611b84565b91506040840135611cc181611b84565b60008060408385031215611d1657600080fd5b823591506020830135611d2881611b84565b809150509250929050565b60008060008060008060a08789031215611d4c57600080fd5b8635611d5781611b84565b9550602087013594506040870135611d6e81611b84565b935060608701356001600160401b03811115611d8957600080fd5b611d9589828a01611bb9565b9094509250506080870135611da981611b84565b809150509295509295509295565b600080600060608486031215611dcc57600080fd5b833592506020840135611dde81611b84565b915060408401356001600160f81b0381168114611cc157600080fd5b600080600060608486031215611e0f57600080fd5b833592506020840135611e2181611b84565b9150604084013562ffffff81168114611cc157600080fd5b600080600060608486031215611e4e57600080fd5b833592506020840135611e6081611b84565b929592945050506040919091013590565b60005b83811015611e8c578181015183820152602001611e74565b50506000910152565b60008151808452611ead816020860160208601611e71565b601f01601f19169290920160200192915050565b6020815260006105606020830184611e95565b8415158152836020820152608060408201526000611ef56080830185611e95565b905060018060a01b038316606083015295945050505050565b60008060008060608587031215611f2457600080fd5b843593506020850135611f3681611b84565b925060408501356001600160401b03811115611f5157600080fd5b611f5d87828801611bb9565b95989497509550505050565b805180151581146114e557600080fd5b600060208284031215611f8b57600080fd5b61056082611f69565b600060208284031215611fa657600080fd5b5051919050565b60008251611fbf818460208701611e71565b9190910192915050565b60208082526017908201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156105a2576105a2611ffa565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161207c5761207c611ffa565b5060010190565b6000826120a057634e487b7160e01b600052601260045260246000fd5b500490565b600080600080600080600080610100898b0312156120c257600080fd5b8851975060208901516120d481611b84565b60408a015160608b015191985096506120ec81611b84565b60808a015160a08b0151919650945061210481611b84565b60c08a015160e08b0151919450925061211c81611b84565b809150509295985092959890939650565b60008060008060008060c0878903121561214657600080fd5b86519550602087015161215881611b84565b60408801516060890151919650945061217081611b84565b608088015160a08901519194509250611da981611b84565b808201808211156105a2576105a2611ffa565b6000602082840312156121ad57600080fd5b815161056081611b84565b60008060008060008060c087890312156121d157600080fd5b86519550602087015194506121e860408801611f69565b93506121f660608801611f69565b92506080870151915061220b60a08801611f69565b9050929550929550929556fea264697066735822122021e3fcea56af90fca037a742bf4f2d0b09ac1527b2d247f60c777297157e2db464736f6c63430008130033",
630
+ "deployedBytecode": "0x60806040526004361061011b5760003560e01c806301000da7146101205780631467b1f7146101555780631ec2e523146101765780633aa5fe591461019657806340e5fa3b146101b65780634869f3df146101ed57806350a9e8421461020d5780635cf0a4111461022d5780636ece43dc146102405780637e947f24146102815780638b4eb61d146102a35780639a94488a146102c35780639b24c3c014610305578063b000e3341461034b578063b466dded1461036b578063bf5bf5f81461038b578063cce7c909146103d7578063d3ddabe6146103f7578063d9bffbce14610436578063d9eb16db14610456578063dd85582f14610486578063e9d1e8ac146104ba578063eb7eb95a146104fc578063ef2c8cc71461050f575b600080fd5b34801561012c57600080fd5b5061014061013b366004611b9c565b61052f565b60405190151581526020015b60405180910390f35b610168610163366004611c04565b610567565b60405190815260200161014c565b34801561018257600080fd5b50610168610191366004611c76565b610582565b3480156101a257600080fd5b506101686101b1366004611b9c565b610597565b3480156101c257600080fd5b506101d66101d1366004611ccc565b6105a8565b60408051921515835260208301919091520161014c565b3480156101f957600080fd5b50610168610208366004611d03565b6105c2565b34801561021957600080fd5b50610168610228366004611ccc565b6105ce565b61016861023b366004611d33565b6105db565b34801561024c57600080fd5b5061026061025b366004611d03565b61087a565b60408051931515845262ffffff90921660208401529082015260600161014c565b34801561028d57600080fd5b506102a161029c366004611db7565b6108ad565b005b3480156102af57600080fd5b506101686102be366004611d03565b6108ea565b3480156102cf57600080fd5b506102e36102de366004611d03565b6108f6565b6040805182511515815260209283015162ffffff16928101929092520161014c565b34801561031157600080fd5b50610325610320366004611d03565b61093e565b6040805182516001600160f81b031681526020928301511515928101929092520161014c565b34801561035757600080fd5b506102a1610366366004611dfa565b61098c565b34801561037757600080fd5b506102a1610386366004611e39565b6109a2565b34801561039757600080fd5b506103bf7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161014c565b3480156103e357600080fd5b506101406103f2366004611d03565b6109b8565b34801561040357600080fd5b5061042960405180604001604052806006815260200165076352e302e360d41b81525081565b60405161014c9190611ec1565b34801561044257600080fd5b506102a1610451366004611d03565b6109c4565b34801561046257600080fd5b50610476610471366004611d03565b6109dd565b60405161014c9493929190611ed4565b34801561049257600080fd5b506103bf7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104c657600080fd5b50610429604051806040016040528060168152602001754d696e74657253657450726963654d65726b6c65563560501b81525081565b61016861050a366004611f0e565b610a2f565b34801561051b57600080fd5b506102a161052a366004611dfa565b610a49565b60008061053b83610a5f565b8054909150610100900460ff1615610557575460ff1692915050565b61056083610a98565b9392505050565b6000610578868686868660006105db565b9695505050505050565b600061058f848484610c0e565b949350505050565b60006105a282610c25565b92915050565b6000806105b6858585610c5f565b91509150935093915050565b60006105608383610cbc565b600061058f848484610cdc565b60006002600054036106345760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000556106438686610d0f565b600061064f8787610d40565b90508034101561069a5760405162461bcd60e51b815260206004820152601660248201527526b4b7103b30b63ab2903a379036b4b73a103932b89760511b604482015260640161062b565b336001600160a01b0384161561079b5760405163090c9a2d60e41b81523360048201526001600160a01b03858116602483015288811660448301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906390c9a2d090606401602060405180830381865afa158015610723573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107479190611f79565b9050806107965760405162461bcd60e51b815260206004820152601e60248201527f496e76616c69642064656c65676174652d7661756c742070616972696e670000604482015260640161062b565b849150505b6107a88888888885610db0565b6107b3888883610e6a565b6040516117cd60e21b81526001600160a01b038a81166004830152602482018a9052888116604483015282811660648301527f00000000000000000000000000000000000000000000000000000000000000001690615f34906084016020604051808303816000875af115801561082e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108529190611f94565b925061085e8388610e9e565b610869888389610f0b565b505060016000559695505050505050565b60008060008061088a8686610fc0565b805460019091015460ff82169861010090920462ffffff16975095509350505050565b6108b883833361100b565b6108cc8383836001600160f81b0316611050565b6108d683836110af565b156108e5576108e583836110df565b505050565b6000610560838361117a565b60408051808201909152600080825260208201526109148383611192565b60408051808201909152905460ff811615158252610100900462ffffff1660208201529392505050565b604080518082019091526000808252602082015261095c83836111ba565b6040805180820190915290546001600160f81b0381168252600160f81b900460ff16151560208201529392505050565b61099783833361100b565b6108e58383836111e1565b6109ad83833361100b565b6108e58383836112b7565b6000610560838361136c565b6109cf82823361100b565b6109d982826110df565b5050565b60008060606000806109ef87876111ba565b5460408051808201909152600381526208aa8960eb1b602082015260ff600160f81b830416996001600160f81b0390921698509650600095509350505050565b6000610a40338686868660006105db565b95945050505050565b610a5483833361100b565b6108e5838383611385565b6001600160a01b031660009081527f69f22dd730b53ff235fa96b4306a31bef5dad48fe4bac28b1ceebbce14401b396020526040902090565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03861690610afa908590611fad565b600060405180830381855afa9150503d8060008114610b35576040519150601f19603f3d011682016040523d82523d6000602084013e610b3a565b606091505b509150915081610b9a5760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b606482015260840161062b565b805160c0819003610bb15750600095945050505050565b8061010003610bc65750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c69742062797465730000604482015260640161062b565b600061058f610c1c83610c25565b85908590611475565b6040516001600160601b0319606083901b166020820152600090603401604051602081830303815290604052805190602001209050919050565b6000806000610c6e8686610fc0565b90506000610c7b826114c1565b90508015610cb2576001600160a01b03851660009081526002830160205260409020546001945080821115610cb05780820393505b505b5050935093915050565b600080610cc98484611192565b54610100900462ffffff16949350505050565b600080610ce98585610fc0565b6001600160a01b0384166000908152600290910160205260409020549150509392505050565b6000610d1b8383611192565b805490915060ff16156108e55760405162461bcd60e51b815260040161062b90611fc9565b600080610d4d84846111ba565b8054909150600160f81b900460ff16610d9f5760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b604482015260640161062b565b546001600160f81b03169392505050565b6000610dbc8686610fc0565b9050610dce81600101548585856114ea565b610e115760405162461bcd60e51b815260206004820152601460248201527324b73b30b634b21026b2b935b63290383937b7b360611b604482015260640161062b565b6000610e1c826114c1565b6001600160a01b0384166000908152600284016020526040902054909150811180610e45575080155b610e615760405162461bcd60e51b815260040161062b90611fc9565b50505050505050565b6000610e768484610fc0565b6001600160a01b03909216600090815260029092016020525060409020805460010190555050565b6000610ea983611502565b90506000610eb78284611192565b8054909150620f4240850660010190610100900462ffffff1680821115610ef05760405162461bcd60e51b815260040161062b90611fc9565b808203610f0357825460ff191660011783555b505050505050565b34156108e5576000610f1d8334612010565b90508015610faf57604051600090339083908381818185875af1925050503d8060008114610f67576040519150601f19603f3d011682016040523d82523d6000602084013e610f6c565b606091505b5050905080610fad5760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b604482015260640161062b565b505b610fba848484611511565b50505050565b60007f3ed708d712dfa866262466688638d160ef9516c1b2c87fe2388dc87cbf5bbf895b6001600160a01b039290921660009081526020928352604080822094825293909252502090565b6110168383836116d2565b6108e55760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b604482015260640161062b565b600061105c84846111ba565b600160f81b6001600160f81b03841617815560405190915082906001600160a01b0385169086907f98e99eae7ab1c56b5b882e049df69b522affbaa1a93afd3be411447a1606027890600090a450505050565b6000806110bc8484611192565b8054909150610100900462ffffff1615801561058f57505460ff16159392505050565b6000806110ec848461175b565b9150915060006110fc8585611192565b9050611107826117d9565b815460ff1962ffffff92909216610100029190911663ffffffff19909116178383141781556040516001600160a01b0385169086907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379061116b9086815260200190565b60405180910390a35050505050565b6000806111878484610fc0565b905061058f816114c1565b60007f73e3af67f35f30fb72bbaaf6cc07b987364ed643c93ba201702e213464e877ee610fe4565b60007efc986db700c71340c673de619c46ee721167fc4ea17804bb535c4c196aa7d7610fe4565b6000806111ee858561175b565b91509150808362ffffff1611156112175760405162461bcd60e51b815260040161062b90612023565b818362ffffff16101561123c5760405162461bcd60e51b815260040161062b90612023565b60006112488686611192565b805462ffffff861685811463ffffffff19909216610100820260ff1916179190911782556040519081529091506001600160a01b0386169087907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379060200160405180910390a3505050505050565b806112fc5760405162461bcd60e51b8152602060048201526015602482015274149bdbdd081b5d5cdd081899481c1c9bdd9a591959605a1b604482015260640161062b565b60006113088484610fc0565b6001810183905560408051691b595c9adb19549bdbdd60b21b8152602081018590529192506001600160a01b0385169186917fbd2962ddf019622ba935ab411adde29d756d1db6d628d89b2a174cdf6538b8d591015b60405180910390a350505050565b6000806113798484611192565b5460ff16949350505050565b60006113918484610fc0565b8054600163ffffffff1990911661010062ffffff861602178117825560408051797573654d61784d696e7473506572416464724f7665727269646560301b815260208101929092529192506001600160a01b0385169186917fbb5f9d4f49f83650956b76c40de0f082a06430bf0222e1b6b3f90a7a0f845c4d910160405180910390a360408051766d61784d696e7473506572416464724f7665727269646560481b815262ffffff841660208201526001600160a01b0385169186917f1809fd1f08e6b0df08fd848757688435a0ab8520a51dcca23eba5a3c7f7280d6910161135e565b600081815b848110156114b8576114a48287878481811061149857611498612054565b90506020020135611841565b9150806114b08161206a565b91505061147a565b50949350505050565b805460009060ff16156114dd575054610100900462ffffff1690565b506001919050565b919050565b6000610a40856114f984610c25565b86918691611870565b60006105a2620f424083612083565b8160000361151e57505050565b600061152982611888565b905060008060008060008060008088156115c757604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440161010060405180830381865afa15801561158a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ae91906120a5565b969e50949c50929a509098509650945092509050611647565b604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440160c060405180830381865afa158015611613573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611637919061212d565b949c50929a509096509450925090505b8a8285611654898c612188565b61165e9190612188565b6116689190612188565b146116b45760405162461bcd60e51b815260206004820152601c60248201527b496e76616c696420726576656e75652073706c697420746f74616c7360201b604482015260640161062b565b6116c486868a8a888888886118d6565b505050505050505050505050565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa15801561171a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173e919061219b565b6001600160a01b0316826001600160a01b03161490509392505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa1580156117a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c991906121b8565b5093989297509195505050505050565b600062ffffff82111561183d5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201526534206269747360d01b606482015260840161062b565b5090565b600081831061185d576000828152602084905260409020610560565b6000838152602083905260409020610560565b60008261187e868685611475565b1495945050505050565b60008061189483610a5f565b8054909150610100900460ff16156118b0575460ff1692915050565b60006118bb84610a98565b825481151561ffff1990911617610100179092555092915050565b8715611981576000876001600160a01b03168960405160006040518083038185875af1925050503d8060008114611929576040519150601f19603f3d011682016040523d82523d6000602084013e61192e565b606091505b505090508061197f5760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c6564604482015260640161062b565b505b8515611a2c576000856001600160a01b03168760405160006040518083038185875af1925050503d80600081146119d4576040519150601f19603f3d011682016040523d82523d6000602084013e6119d9565b606091505b5050905080611a2a5760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c65640000604482015260640161062b565b505b8315611acf576000836001600160a01b03168560405160006040518083038185875af1925050503d8060008114611a7f576040519150601f19603f3d011682016040523d82523d6000602084013e611a84565b606091505b5050905080611acd5760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b604482015260640161062b565b505b8115611b7a576000816001600160a01b03168360405160006040518083038185875af1925050503d8060008114611b22576040519150601f19603f3d011682016040523d82523d6000602084013e611b27565b606091505b5050905080611b785760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c656400604482015260640161062b565b505b5050505050505050565b6001600160a01b0381168114611b9957600080fd5b50565b600060208284031215611bae57600080fd5b813561056081611b84565b60008083601f840112611bcb57600080fd5b5081356001600160401b03811115611be257600080fd5b6020830191508360208260051b8501011115611bfd57600080fd5b9250929050565b600080600080600060808688031215611c1c57600080fd5b8535611c2781611b84565b9450602086013593506040860135611c3e81611b84565b925060608601356001600160401b03811115611c5957600080fd5b611c6588828901611bb9565b969995985093965092949392505050565b600080600060408486031215611c8b57600080fd5b83356001600160401b03811115611ca157600080fd5b611cad86828701611bb9565b9094509250506020840135611cc181611b84565b809150509250925092565b600080600060608486031215611ce157600080fd5b833592506020840135611cf381611b84565b91506040840135611cc181611b84565b60008060408385031215611d1657600080fd5b823591506020830135611d2881611b84565b809150509250929050565b60008060008060008060a08789031215611d4c57600080fd5b8635611d5781611b84565b9550602087013594506040870135611d6e81611b84565b935060608701356001600160401b03811115611d8957600080fd5b611d9589828a01611bb9565b9094509250506080870135611da981611b84565b809150509295509295509295565b600080600060608486031215611dcc57600080fd5b833592506020840135611dde81611b84565b915060408401356001600160f81b0381168114611cc157600080fd5b600080600060608486031215611e0f57600080fd5b833592506020840135611e2181611b84565b9150604084013562ffffff81168114611cc157600080fd5b600080600060608486031215611e4e57600080fd5b833592506020840135611e6081611b84565b929592945050506040919091013590565b60005b83811015611e8c578181015183820152602001611e74565b50506000910152565b60008151808452611ead816020860160208601611e71565b601f01601f19169290920160200192915050565b6020815260006105606020830184611e95565b8415158152836020820152608060408201526000611ef56080830185611e95565b905060018060a01b038316606083015295945050505050565b60008060008060608587031215611f2457600080fd5b843593506020850135611f3681611b84565b925060408501356001600160401b03811115611f5157600080fd5b611f5d87828801611bb9565b95989497509550505050565b805180151581146114e557600080fd5b600060208284031215611f8b57600080fd5b61056082611f69565b600060208284031215611fa657600080fd5b5051919050565b60008251611fbf818460208701611e71565b9190910192915050565b60208082526017908201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156105a2576105a2611ffa565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161207c5761207c611ffa565b5060010190565b6000826120a057634e487b7160e01b600052601260045260246000fd5b500490565b600080600080600080600080610100898b0312156120c257600080fd5b8851975060208901516120d481611b84565b60408a015160608b015191985096506120ec81611b84565b60808a015160a08b0151919650945061210481611b84565b60c08a015160e08b0151919450925061211c81611b84565b809150509295985092959890939650565b60008060008060008060c0878903121561214657600080fd5b86519550602087015161215881611b84565b60408801516060890151919650945061217081611b84565b608088015160a08901519194509250611da981611b84565b808201808211156105a2576105a2611ffa565b6000602082840312156121ad57600080fd5b815161056081611b84565b60008060008060008060c087890312156121d157600080fd5b86519550602087015194506121e860408801611f69565b93506121f660608801611f69565b92506080870151915061220b60a08801611f69565b9050929550929550929556fea264697066735822122021e3fcea56af90fca037a742bf4f2d0b09ac1527b2d247f60c777297157e2db464736f6c63430008130033",
1073
631
  "linkReferences": {},
1074
632
  "deployedLinkReferences": {}
1075
633
  }