@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,7 +7,7 @@
7
7
  "inputs": [
8
8
  {
9
9
  "internalType": "address",
10
- "name": "_minterFilter",
10
+ "name": "minterFilter",
11
11
  "type": "address"
12
12
  }
13
13
  ],
@@ -15,506 +15,15 @@
15
15
  "type": "constructor"
16
16
  },
17
17
  {
18
- "anonymous": false,
19
18
  "inputs": [
20
19
  {
21
- "indexed": false,
22
20
  "internalType": "uint256",
23
- "name": "_minimumPriceDecayHalfLifeSeconds",
24
- "type": "uint256"
25
- }
26
- ],
27
- "name": "AuctionMinHalfLifeSecondsUpdated",
28
- "type": "event"
29
- },
30
- {
31
- "anonymous": false,
32
- "inputs": [
33
- {
34
- "indexed": true,
35
- "internalType": "uint256",
36
- "name": "_projectId",
37
- "type": "uint256"
38
- },
39
- {
40
- "indexed": true,
41
- "internalType": "address",
42
- "name": "_coreContract",
43
- "type": "address"
44
- },
45
- {
46
- "indexed": false,
47
- "internalType": "bytes32",
48
- "name": "_key",
49
- "type": "bytes32"
50
- }
51
- ],
52
- "name": "ConfigKeyRemoved",
53
- "type": "event"
54
- },
55
- {
56
- "anonymous": false,
57
- "inputs": [
58
- {
59
- "indexed": true,
60
- "internalType": "uint256",
61
- "name": "_projectId",
62
- "type": "uint256"
63
- },
64
- {
65
- "indexed": true,
66
- "internalType": "address",
67
- "name": "_coreContract",
68
- "type": "address"
69
- },
70
- {
71
- "indexed": false,
72
- "internalType": "bytes32",
73
- "name": "_key",
74
- "type": "bytes32"
75
- },
76
- {
77
- "indexed": false,
78
- "internalType": "uint256",
79
- "name": "_value",
80
- "type": "uint256"
81
- }
82
- ],
83
- "name": "ConfigValueAddedToSet",
84
- "type": "event"
85
- },
86
- {
87
- "anonymous": false,
88
- "inputs": [
89
- {
90
- "indexed": true,
91
- "internalType": "uint256",
92
- "name": "_projectId",
93
- "type": "uint256"
94
- },
95
- {
96
- "indexed": true,
97
- "internalType": "address",
98
- "name": "_coreContract",
99
- "type": "address"
100
- },
101
- {
102
- "indexed": false,
103
- "internalType": "bytes32",
104
- "name": "_key",
105
- "type": "bytes32"
106
- },
107
- {
108
- "indexed": false,
109
- "internalType": "address",
110
- "name": "_value",
111
- "type": "address"
112
- }
113
- ],
114
- "name": "ConfigValueAddedToSet",
115
- "type": "event"
116
- },
117
- {
118
- "anonymous": false,
119
- "inputs": [
120
- {
121
- "indexed": true,
122
- "internalType": "uint256",
123
- "name": "_projectId",
124
- "type": "uint256"
125
- },
126
- {
127
- "indexed": true,
128
- "internalType": "address",
129
- "name": "_coreContract",
130
- "type": "address"
131
- },
132
- {
133
- "indexed": false,
134
- "internalType": "bytes32",
135
- "name": "_key",
136
- "type": "bytes32"
137
- },
138
- {
139
- "indexed": false,
140
- "internalType": "bytes32",
141
- "name": "_value",
142
- "type": "bytes32"
143
- }
144
- ],
145
- "name": "ConfigValueAddedToSet",
146
- "type": "event"
147
- },
148
- {
149
- "anonymous": false,
150
- "inputs": [
151
- {
152
- "indexed": true,
153
- "internalType": "uint256",
154
- "name": "_projectId",
21
+ "name": "projectId",
155
22
  "type": "uint256"
156
23
  },
157
24
  {
158
- "indexed": true,
159
25
  "internalType": "address",
160
- "name": "_coreContract",
161
- "type": "address"
162
- },
163
- {
164
- "indexed": false,
165
- "internalType": "bytes32",
166
- "name": "_key",
167
- "type": "bytes32"
168
- },
169
- {
170
- "indexed": false,
171
- "internalType": "uint256",
172
- "name": "_value",
173
- "type": "uint256"
174
- }
175
- ],
176
- "name": "ConfigValueRemovedFromSet",
177
- "type": "event"
178
- },
179
- {
180
- "anonymous": false,
181
- "inputs": [
182
- {
183
- "indexed": true,
184
- "internalType": "uint256",
185
- "name": "_projectId",
186
- "type": "uint256"
187
- },
188
- {
189
- "indexed": true,
190
- "internalType": "address",
191
- "name": "_coreContract",
192
- "type": "address"
193
- },
194
- {
195
- "indexed": false,
196
- "internalType": "bytes32",
197
- "name": "_key",
198
- "type": "bytes32"
199
- },
200
- {
201
- "indexed": false,
202
- "internalType": "address",
203
- "name": "_value",
204
- "type": "address"
205
- }
206
- ],
207
- "name": "ConfigValueRemovedFromSet",
208
- "type": "event"
209
- },
210
- {
211
- "anonymous": false,
212
- "inputs": [
213
- {
214
- "indexed": true,
215
- "internalType": "uint256",
216
- "name": "_projectId",
217
- "type": "uint256"
218
- },
219
- {
220
- "indexed": true,
221
- "internalType": "address",
222
- "name": "_coreContract",
223
- "type": "address"
224
- },
225
- {
226
- "indexed": false,
227
- "internalType": "bytes32",
228
- "name": "_key",
229
- "type": "bytes32"
230
- },
231
- {
232
- "indexed": false,
233
- "internalType": "bytes32",
234
- "name": "_value",
235
- "type": "bytes32"
236
- }
237
- ],
238
- "name": "ConfigValueRemovedFromSet",
239
- "type": "event"
240
- },
241
- {
242
- "anonymous": false,
243
- "inputs": [
244
- {
245
- "indexed": true,
246
- "internalType": "uint256",
247
- "name": "_projectId",
248
- "type": "uint256"
249
- },
250
- {
251
- "indexed": true,
252
- "internalType": "address",
253
- "name": "_coreContract",
254
- "type": "address"
255
- },
256
- {
257
- "indexed": false,
258
- "internalType": "bytes32",
259
- "name": "_key",
260
- "type": "bytes32"
261
- },
262
- {
263
- "indexed": false,
264
- "internalType": "bool",
265
- "name": "_value",
266
- "type": "bool"
267
- }
268
- ],
269
- "name": "ConfigValueSet",
270
- "type": "event"
271
- },
272
- {
273
- "anonymous": false,
274
- "inputs": [
275
- {
276
- "indexed": true,
277
- "internalType": "uint256",
278
- "name": "_projectId",
279
- "type": "uint256"
280
- },
281
- {
282
- "indexed": true,
283
- "internalType": "address",
284
- "name": "_coreContract",
285
- "type": "address"
286
- },
287
- {
288
- "indexed": false,
289
- "internalType": "bytes32",
290
- "name": "_key",
291
- "type": "bytes32"
292
- },
293
- {
294
- "indexed": false,
295
- "internalType": "uint256",
296
- "name": "_value",
297
- "type": "uint256"
298
- }
299
- ],
300
- "name": "ConfigValueSet",
301
- "type": "event"
302
- },
303
- {
304
- "anonymous": false,
305
- "inputs": [
306
- {
307
- "indexed": true,
308
- "internalType": "uint256",
309
- "name": "_projectId",
310
- "type": "uint256"
311
- },
312
- {
313
- "indexed": true,
314
- "internalType": "address",
315
- "name": "_coreContract",
316
- "type": "address"
317
- },
318
- {
319
- "indexed": false,
320
- "internalType": "bytes32",
321
- "name": "_key",
322
- "type": "bytes32"
323
- },
324
- {
325
- "indexed": false,
326
- "internalType": "address",
327
- "name": "_value",
328
- "type": "address"
329
- }
330
- ],
331
- "name": "ConfigValueSet",
332
- "type": "event"
333
- },
334
- {
335
- "anonymous": false,
336
- "inputs": [
337
- {
338
- "indexed": true,
339
- "internalType": "uint256",
340
- "name": "_projectId",
341
- "type": "uint256"
342
- },
343
- {
344
- "indexed": true,
345
- "internalType": "address",
346
- "name": "_coreContract",
347
- "type": "address"
348
- },
349
- {
350
- "indexed": false,
351
- "internalType": "bytes32",
352
- "name": "_key",
353
- "type": "bytes32"
354
- },
355
- {
356
- "indexed": false,
357
- "internalType": "bytes32",
358
- "name": "_value",
359
- "type": "bytes32"
360
- }
361
- ],
362
- "name": "ConfigValueSet",
363
- "type": "event"
364
- },
365
- {
366
- "anonymous": false,
367
- "inputs": [
368
- {
369
- "indexed": true,
370
- "internalType": "uint256",
371
- "name": "_projectId",
372
- "type": "uint256"
373
- },
374
- {
375
- "indexed": true,
376
- "internalType": "address",
377
- "name": "_coreContract",
378
- "type": "address"
379
- },
380
- {
381
- "indexed": true,
382
- "internalType": "uint256",
383
- "name": "_pricePerTokenInWei",
384
- "type": "uint256"
385
- }
386
- ],
387
- "name": "PricePerTokenInWeiUpdated",
388
- "type": "event"
389
- },
390
- {
391
- "anonymous": false,
392
- "inputs": [
393
- {
394
- "indexed": true,
395
- "internalType": "uint256",
396
- "name": "_projectId",
397
- "type": "uint256"
398
- },
399
- {
400
- "indexed": true,
401
- "internalType": "address",
402
- "name": "_coreContract",
403
- "type": "address"
404
- },
405
- {
406
- "indexed": true,
407
- "internalType": "address",
408
- "name": "_currencyAddress",
409
- "type": "address"
410
- },
411
- {
412
- "indexed": false,
413
- "internalType": "string",
414
- "name": "_currencySymbol",
415
- "type": "string"
416
- }
417
- ],
418
- "name": "ProjectCurrencyInfoUpdated",
419
- "type": "event"
420
- },
421
- {
422
- "anonymous": false,
423
- "inputs": [
424
- {
425
- "indexed": true,
426
- "internalType": "uint256",
427
- "name": "_projectId",
428
- "type": "uint256"
429
- },
430
- {
431
- "indexed": true,
432
- "internalType": "address",
433
- "name": "_coreContract",
434
- "type": "address"
435
- },
436
- {
437
- "indexed": false,
438
- "internalType": "uint256",
439
- "name": "_maxInvocations",
440
- "type": "uint256"
441
- }
442
- ],
443
- "name": "ProjectMaxInvocationsLimitUpdated",
444
- "type": "event"
445
- },
446
- {
447
- "anonymous": false,
448
- "inputs": [
449
- {
450
- "indexed": true,
451
- "internalType": "uint256",
452
- "name": "_projectId",
453
- "type": "uint256"
454
- },
455
- {
456
- "indexed": true,
457
- "internalType": "address",
458
- "name": "_coreContract",
459
- "type": "address"
460
- }
461
- ],
462
- "name": "ResetAuctionDetails",
463
- "type": "event"
464
- },
465
- {
466
- "anonymous": false,
467
- "inputs": [
468
- {
469
- "indexed": true,
470
- "internalType": "uint256",
471
- "name": "_projectId",
472
- "type": "uint256"
473
- },
474
- {
475
- "indexed": true,
476
- "internalType": "address",
477
- "name": "_coreContract",
478
- "type": "address"
479
- },
480
- {
481
- "indexed": false,
482
- "internalType": "uint40",
483
- "name": "_auctionTimestampStart",
484
- "type": "uint40"
485
- },
486
- {
487
- "indexed": false,
488
- "internalType": "uint40",
489
- "name": "_priceDecayHalfLifeSeconds",
490
- "type": "uint40"
491
- },
492
- {
493
- "indexed": false,
494
- "internalType": "uint256",
495
- "name": "_startPrice",
496
- "type": "uint256"
497
- },
498
- {
499
- "indexed": false,
500
- "internalType": "uint256",
501
- "name": "_basePrice",
502
- "type": "uint256"
503
- }
504
- ],
505
- "name": "SetAuctionDetailsExp",
506
- "type": "event"
507
- },
508
- {
509
- "inputs": [
510
- {
511
- "internalType": "uint256",
512
- "name": "_projectId",
513
- "type": "uint256"
514
- },
515
- {
516
- "internalType": "address",
517
- "name": "_coreContract",
26
+ "name": "coreContract",
518
27
  "type": "address"
519
28
  }
520
29
  ],
@@ -548,7 +57,7 @@
548
57
  "inputs": [
549
58
  {
550
59
  "internalType": "address",
551
- "name": "_coreContract",
60
+ "name": "coreContract",
552
61
  "type": "address"
553
62
  }
554
63
  ],
@@ -567,17 +76,17 @@
567
76
  "inputs": [
568
77
  {
569
78
  "internalType": "uint256",
570
- "name": "_projectId",
79
+ "name": "projectId",
571
80
  "type": "uint256"
572
81
  },
573
82
  {
574
83
  "internalType": "address",
575
- "name": "_coreContract",
84
+ "name": "coreContract",
576
85
  "type": "address"
577
86
  },
578
87
  {
579
88
  "internalType": "uint24",
580
- "name": "_maxInvocations",
89
+ "name": "maxInvocations",
581
90
  "type": "uint24"
582
91
  }
583
92
  ],
@@ -590,12 +99,12 @@
590
99
  "inputs": [
591
100
  {
592
101
  "internalType": "uint256",
593
- "name": "_projectId",
102
+ "name": "projectId",
594
103
  "type": "uint256"
595
104
  },
596
105
  {
597
106
  "internalType": "address",
598
- "name": "_coreContract",
107
+ "name": "coreContract",
599
108
  "type": "address"
600
109
  }
601
110
  ],
@@ -678,12 +187,12 @@
678
187
  "inputs": [
679
188
  {
680
189
  "internalType": "uint256",
681
- "name": "_projectId",
190
+ "name": "projectId",
682
191
  "type": "uint256"
683
192
  },
684
193
  {
685
194
  "internalType": "address",
686
- "name": "_coreContract",
195
+ "name": "coreContract",
687
196
  "type": "address"
688
197
  }
689
198
  ],
@@ -717,12 +226,12 @@
717
226
  "inputs": [
718
227
  {
719
228
  "internalType": "uint256",
720
- "name": "_projectId",
229
+ "name": "projectId",
721
230
  "type": "uint256"
722
231
  },
723
232
  {
724
233
  "internalType": "address",
725
- "name": "_coreContract",
234
+ "name": "coreContract",
726
235
  "type": "address"
727
236
  }
728
237
  ],
@@ -741,12 +250,12 @@
741
250
  "inputs": [
742
251
  {
743
252
  "internalType": "uint256",
744
- "name": "_projectId",
253
+ "name": "projectId",
745
254
  "type": "uint256"
746
255
  },
747
256
  {
748
257
  "internalType": "address",
749
- "name": "_coreContract",
258
+ "name": "coreContract",
750
259
  "type": "address"
751
260
  }
752
261
  ],
@@ -765,12 +274,12 @@
765
274
  "inputs": [
766
275
  {
767
276
  "internalType": "uint256",
768
- "name": "_projectId",
277
+ "name": "projectId",
769
278
  "type": "uint256"
770
279
  },
771
280
  {
772
281
  "internalType": "address",
773
- "name": "_coreContract",
282
+ "name": "coreContract",
774
283
  "type": "address"
775
284
  }
776
285
  ],
@@ -789,17 +298,17 @@
789
298
  "inputs": [
790
299
  {
791
300
  "internalType": "address",
792
- "name": "_to",
301
+ "name": "to",
793
302
  "type": "address"
794
303
  },
795
304
  {
796
305
  "internalType": "uint256",
797
- "name": "_projectId",
306
+ "name": "projectId",
798
307
  "type": "uint256"
799
308
  },
800
309
  {
801
310
  "internalType": "address",
802
- "name": "_coreContract",
311
+ "name": "coreContract",
803
312
  "type": "address"
804
313
  }
805
314
  ],
@@ -818,12 +327,12 @@
818
327
  "inputs": [
819
328
  {
820
329
  "internalType": "uint256",
821
- "name": "_projectId",
330
+ "name": "projectId",
822
331
  "type": "uint256"
823
332
  },
824
333
  {
825
334
  "internalType": "address",
826
- "name": "_coreContract",
335
+ "name": "coreContract",
827
336
  "type": "address"
828
337
  }
829
338
  ],
@@ -836,32 +345,32 @@
836
345
  "inputs": [
837
346
  {
838
347
  "internalType": "uint256",
839
- "name": "_projectId",
348
+ "name": "projectId",
840
349
  "type": "uint256"
841
350
  },
842
351
  {
843
352
  "internalType": "address",
844
- "name": "_coreContract",
353
+ "name": "coreContract",
845
354
  "type": "address"
846
355
  },
847
356
  {
848
357
  "internalType": "uint40",
849
- "name": "_auctionTimestampStart",
358
+ "name": "auctionTimestampStart",
850
359
  "type": "uint40"
851
360
  },
852
361
  {
853
362
  "internalType": "uint40",
854
- "name": "_priceDecayHalfLifeSeconds",
363
+ "name": "priceDecayHalfLifeSeconds",
855
364
  "type": "uint40"
856
365
  },
857
366
  {
858
367
  "internalType": "uint256",
859
- "name": "_startPrice",
368
+ "name": "startPrice",
860
369
  "type": "uint256"
861
370
  },
862
371
  {
863
372
  "internalType": "uint256",
864
- "name": "_basePrice",
373
+ "name": "basePrice",
865
374
  "type": "uint256"
866
375
  }
867
376
  ],
@@ -874,7 +383,7 @@
874
383
  "inputs": [
875
384
  {
876
385
  "internalType": "uint256",
877
- "name": "_minimumPriceDecayHalfLifeSeconds",
386
+ "name": "minimumPriceDecayHalfLifeSeconds_",
878
387
  "type": "uint256"
879
388
  }
880
389
  ],
@@ -887,12 +396,12 @@
887
396
  "inputs": [
888
397
  {
889
398
  "internalType": "uint256",
890
- "name": "_projectId",
399
+ "name": "projectId",
891
400
  "type": "uint256"
892
401
  },
893
402
  {
894
403
  "internalType": "address",
895
- "name": "_coreContract",
404
+ "name": "coreContract",
896
405
  "type": "address"
897
406
  }
898
407
  ],
@@ -902,8 +411,8 @@
902
411
  "type": "function"
903
412
  }
904
413
  ],
905
- "bytecode": "0x60c0604052602d60015534801561001557600080fd5b50604051611f77380380611f7783398101604081905261003491610087565b600160008190556001600160a01b038216608081905260a052546040519081527fdae7136b6b1f9f3031d9536e8bdd02f1d223eb793054446ff278143abeafa21b9060200160405180910390a1506100b7565b60006020828403121561009957600080fd5b81516001600160a01b03811681146100b057600080fd5b9392505050565b60805160a051611e946100e360003960006105f701526000818161032d01526107ad0152611e946000f3fe6080604052600436106100ce5760003560e01c806301000da7146100d35780634869f3df146101085780634e8d87871461013657806395c575fa146101495780639a94488a1461016b578063ae77c23714610203578063b000e33414610216578063b3fe472314610236578063cce7c90914610256578063cf6681ea14610276578063d3ddabe61461028c578063d9bffbce146102cb578063d9eb16db146102eb578063dd85582f1461031b578063e9d1e8ac14610367578063fdca4cb8146103a0578063fea1d7b4146103c0575b600080fd5b3480156100df57600080fd5b506100f36100ee36600461198d565b610440565b60405190151581526020015b60405180910390f35b34801561011457600080fd5b506101286101233660046119aa565b610481565b6040519081526020016100ff565b6101286101443660046119da565b6104b9565b34801561015557600080fd5b506101696101643660046119aa565b6106af565b005b34801561017757600080fd5b506101e16101863660046119aa565b6040805180820190915260008082526020820152506001600160a01b031660009081526004602090815260408083209383529281529082902082518084019093525460ff811615158352610100900462ffffff169082015290565b6040805182511515815260209283015162ffffff1692810192909252016100ff565b6101286102113660046119aa565b610713565b34801561022257600080fd5b50610169610231366004611a1c565b610720565b34801561024257600080fd5b50610169610251366004611a5b565b6107a8565b34801561026257600080fd5b506100f36102713660046119aa565b610866565b34801561028257600080fd5b5061012860015481565b34801561029857600080fd5b506102be60405180604001604052806006815260200165076352e302e360d41b81525081565b6040516100ff9190611ac4565b3480156102d757600080fd5b506101696102e63660046119aa565b610892565b3480156102f757600080fd5b5061030b6103063660046119aa565b61090b565b6040516100ff9493929190611ad7565b34801561032757600080fd5b5061034f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ff565b34801561037357600080fd5b506102be6040518060400160405280600d81526020016c4d696e7465724441457870563560981b81525081565b3480156103ac57600080fd5b506101696103bb366004611b2b565b6109b7565b3480156103cc57600080fd5b506104306103db3660046119aa565b6001600160a01b03166000908152600360209081526040808320938352929052205464ffffffffff80821692600160281b8304909116916001600160581b03600160501b8204811692600160a81b9092041690565b6040516100ff9493929190611b8c565b6001600160a01b03811660009081526002602052604081208054610100900460ff1615610471575460ff1692915050565b61047a83610b0e565b9392505050565b6001600160a01b0381166000908152600460209081526040808320858452909152812054610100900462ffffff165b90505b92915050565b60006002600054036105125760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b600260009081556001600160a01b038316808252600460209081526040808420878552825280842092845260038252808420878552909152909120815460ff161561056f5760405162461bcd60e51b815260040161050990611bb3565b600061057a82610c46565b9050803410156105c55760405162461bcd60e51b815260206004820152601660248201527526b4b7103b30b63ab2903a379036b4b73a103932b89760511b6044820152606401610509565b6040516117cd60e21b81526001600160a01b0388811660048301526024820188905286811660448301523360648301527f00000000000000000000000000000000000000000000000000000000000000001690615f34906084016020604051808303816000875af115801561063e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106629190611be4565b935061066e8484610d81565b6001600160a01b0385166000908152600260205260408120610691908790610dd0565b905061069f87838884610e02565b5050505060016000559392505050565b6106c2813330634ae2bafd60e11b610eb9565b6001600160a01b03811660008181526003602090815260408083208684529091528082208290555184917f865169678476a498ca03f184818d6bd6217dd57b754577a944c19d6d75587c8091a35050565b60006104b03384846104b9565b61072b838333610f0e565b6001600160a01b0382166000908152600460209081526040808320868452909152902061075d90849084908490610f58565b60405162ffffff821681526001600160a01b0383169084907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e237906020015b60405180910390a3505050565b6107db7f0000000000000000000000000000000000000000000000000000000000000000333063b3fe472360e01b610fdf565b6000811161082b5760405162461bcd60e51b815260206004820152601d60248201527f48616c66206c696665206f66207a65726f206e6f7420616c6c6f7765640000006044820152606401610509565b60018190556040518181527fdae7136b6b1f9f3031d9536e8bdd02f1d223eb793054446ff278143abeafa21b9060200160405180910390a150565b6001600160a01b038116600090815260046020908152604080832085845290915281205460ff166104b0565b61089d828233610f0e565b6001600160a01b038116600090815260046020908152604080832085845290915281206108cd9084908490611034565b9050816001600160a01b0316837f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2378360405161079b91815260200190565b6001600160a01b038116600090815260036020908152604080832085845290915281208054600160501b90046001600160581b031615159190606090829084610957576000935061098b565b805464ffffffffff16421161097f578054600160501b90046001600160581b0316935061098b565b61098881610c46565b93505b6040518060400160405280600381526020016208aa8960eb1b8152509250600091505092959194509250565b6109c2868633610f0e565b6001600160a01b03851660008181526003602090815260408083208a84528252808320938352600482528083208a8452909152902060015464ffffffffff86161015610a765760405162461bcd60e51b815260206004820152603e60248201527f50726963652064656361792068616c66206c696665206d75737420626520677260448201527f6561746572207468616e206d696e20616c6c6f7761626c652076616c756500006064820152608401610509565b6000610a83825460ff1690565b9050610aa3838888610a94896110d9565b610a9d896110d9565b86611145565b876001600160a01b0316897f7fbd78481800c1705ba89e4be2e8c979412fb121f7f3cbace9d7f5c3dd85c44e89898989604051610ae39493929190611b8c565b60405180910390a3610af4826112e2565b15610b0357610b038989610892565b505050505050505050565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03861690610b70908590611bfd565b600060405180830381855afa9150503d8060008114610bab576040519150601f19603f3d011682016040523d82523d6000602084013e610bb0565b606091505b509150915081610bd25760405162461bcd60e51b815260040161050990611c19565b805160c0819003610be95750600095945050505050565b8061010003610bfe5750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c697420627974657300006044820152606401610509565b805460009064ffffffffff80821691600160281b810490911690600160a81b90046001600160581b0316428310610cb95760405162461bcd60e51b8152602060048201526017602482015276105d58dd1a5bdb881b9bdd081e595d081cdd185c9d1959604a1b6044820152606401610509565b60008211610d045760405162461bcd60e51b81526020600482015260186024820152774f6e6c7920636f6e666967757265642061756374696f6e7360401b6044820152606401610509565b8454600160501b90046001600160581b031642849003838181610d2957610d29611c5e565b0482901c9150600284858381610d4157610d41611c5e565b06840281610d5157610d51611c5e565b0481610d5f57610d5f611c5e565b048203915082821015610d7757509095945050505050565b5095945050505050565b8054620f4240830660010190610100900462ffffff1680821115610db75760405162461bcd60e51b815260040161050990611bb3565b808203610dca57825460ff191660011783555b50505050565b8054600090610100900460ff1615610ded5750805460ff166104b3565b6000610df98484611302565b91506104b39050565b3415610dca57600080610e158534611c74565b90508015610ea55760405133908290600081818185875af1925050503d8060008114610e5d576040519150601f19603f3d011682016040523d82523d6000602084013e610e62565b606091505b50508092505081610ea55760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b6044820152606401610509565b610eb186868686611412565b505050505050565b610ec5848484846117dd565b610dca5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b6044820152606401610509565b610f1983838361186e565b610f535760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610509565b505050565b600080610f6586866118f7565b91509150808462ffffff161115610f8e5760405162461bcd60e51b815260040161050990611c95565b818462ffffff161015610fb35760405162461bcd60e51b815260040161050990611c95565b50815460ff1962ffffff90941661010081029490941663ffffffff199091161792149190911790555050565b610feb848484846117dd565b610dca5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e48135a5b9d195c919a5b1d195c8810591b5a5b9050d360321b6044820152606401610509565b6000806000846001600160a01b0316630ea5613f876040518263ffffffff1660e01b815260040161106791815260200190565b60c060405180830381865afa158015611084573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a89190611cd6565b5050875493831463ffffffff1990941661010062ffffff85160260ff19161793909317909655979650505050505050565b60006001600160581b038211156111415760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203860448201526538206269747360d01b6064820152608401610509565b5090565b855464ffffffffff1615806111615750855464ffffffffff1642105b806111695750805b6111b45760405162461bcd60e51b815260206004820152601c60248201527b27379036b7b234b334b1b0ba34b7b7399036b4b216b0bab1ba34b7b760211b6044820152606401610509565b8464ffffffffff1642106112015760405162461bcd60e51b81526020600482015260146024820152734f6e6c79206675747572652061756374696f6e7360601b6044820152606401610509565b816001600160581b0316836001600160581b0316116112855760405162461bcd60e51b815260206004820152603a60248201527f41756374696f6e207374617274207072696365206d7573742062652067726561604482015279746572207468616e2061756374696f6e20656e6420707269636560301b6064820152608401610509565b50845464ffffffffff9485166001600160501b031990911617600160281b9390941692909202929092176001600160501b0316600160501b6001600160581b03938416026001600160a81b031617600160a81b9190921602179055565b8054600090610100900462ffffff161580156104b35750505460ff161590565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03871690611364908590611bfd565b6000604051808303816000865af19150503d80600081146113a1576040519150601f19603f3d011682016040523d82523d6000602084013e6113a6565b606091505b5091509150816113c85760405162461bcd60e51b815260040161050990611c19565b805160c08190036113ee575050835461ffff191661010017845550600091506104b39050565b8061010003610bfe575050835461ffff191661010117845550600191506104b39050565b8215610dca576000806000806000806000871561156357604051638639415b60e01b8152600481018c9052602481018b905260009081906001600160a01b038c1690638639415b9060440161010060405180830381865afa15801561147b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149f9190611d35565b969e50949c50909a5098509196509194509092509050811561155c576040516001600160a01b038216908390600081818185875af1925050503d8060008114611504576040519150601f19603f3d011682016040523d82523d6000602084013e611509565b606091505b5050809950508861155c5760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610509565b50506115e3565b604051638639415b60e01b8152600481018c9052602481018b90526001600160a01b038a1690638639415b9060440160c060405180830381865afa1580156115af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d39190611dbd565b949a509298509096509450925090505b851561168a576040516001600160a01b038616908790600081818185875af1925050503d8060008114611632576040519150601f19603f3d011682016040523d82523d6000602084013e611637565b606091505b5050809750508661168a5760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610509565b8315611729576040516001600160a01b038416908590600081818185875af1925050503d80600081146116d9576040519150601f19603f3d011682016040523d82523d6000602084013e6116de565b606091505b505080975050866117295760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610509565b81156117d0576040516001600160a01b038216908390600081818185875af1925050503d8060008114611778576040519150601f19603f3d011682016040523d82523d6000602084013e61177d565b606091505b505080975050866117d05760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610509565b5050505050505050505050565b60405163230448b160e01b81526001600160a01b03848116600483015283811660248301526001600160e01b0319831660448301526000919086169063230448b1906064016020604051808303816000875af1158015611841573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118659190611e26565b95945050505050565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa1580156118b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118da9190611e41565b6001600160a01b0316826001600160a01b03161490509392505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa158015611941573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119659190611cd6565b5093989297509195505050505050565b6001600160a01b038116811461198a57600080fd5b50565b60006020828403121561199f57600080fd5b813561047a81611975565b600080604083850312156119bd57600080fd5b8235915060208301356119cf81611975565b809150509250929050565b6000806000606084860312156119ef57600080fd5b83356119fa81611975565b9250602084013591506040840135611a1181611975565b809150509250925092565b600080600060608486031215611a3157600080fd5b833592506020840135611a4381611975565b9150604084013562ffffff81168114611a1157600080fd5b600060208284031215611a6d57600080fd5b5035919050565b60005b83811015611a8f578181015183820152602001611a77565b50506000910152565b60008151808452611ab0816020860160208601611a74565b601f01601f19169290920160200192915050565b6020815260006104b06020830184611a98565b8415158152836020820152608060408201526000611af86080830185611a98565b905060018060a01b038316606083015295945050505050565b803564ffffffffff81168114611b2657600080fd5b919050565b60008060008060008060c08789031215611b4457600080fd5b863595506020870135611b5681611975565b9450611b6460408801611b11565b9350611b7260608801611b11565b92506080870135915060a087013590509295509295509295565b64ffffffffff94851681529290931660208301526040820152606081019190915260800190565b60208082526017908201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604082015260600190565b600060208284031215611bf657600080fd5b5051919050565b60008251611c0f818460208701611a74565b9190910192915050565b60208082526025908201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604082015264185a5b195960da1b606082015260800190565b634e487b7160e01b600052601260045260246000fd5b818103818111156104b357634e487b7160e01b600052601160045260246000fd5b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b80518015158114611b2657600080fd5b60008060008060008060c08789031215611cef57600080fd5b8651955060208701519450611d0660408801611cc6565b9350611d1460608801611cc6565b925060808701519150611d2960a08801611cc6565b90509295509295509295565b600080600080600080600080610100898b031215611d5257600080fd5b885197506020890151611d6481611975565b60408a015160608b01519198509650611d7c81611975565b60808a015160a08b01519196509450611d9481611975565b60c08a015160e08b01519194509250611dac81611975565b809150509295985092959890939650565b60008060008060008060c08789031215611dd657600080fd5b865195506020870151611de881611975565b604088015160608901519196509450611e0081611975565b608088015160a08901519194509250611e1881611975565b809150509295509295509295565b600060208284031215611e3857600080fd5b6104b082611cc6565b600060208284031215611e5357600080fd5b815161047a8161197556fea2646970667358221220b0b2f470f8aab144e4d64681a6e37045ae1ae01b0c658b2635f4a0d1b83e6c4864736f6c63430008130033",
906
- "deployedBytecode": "0x6080604052600436106100ce5760003560e01c806301000da7146100d35780634869f3df146101085780634e8d87871461013657806395c575fa146101495780639a94488a1461016b578063ae77c23714610203578063b000e33414610216578063b3fe472314610236578063cce7c90914610256578063cf6681ea14610276578063d3ddabe61461028c578063d9bffbce146102cb578063d9eb16db146102eb578063dd85582f1461031b578063e9d1e8ac14610367578063fdca4cb8146103a0578063fea1d7b4146103c0575b600080fd5b3480156100df57600080fd5b506100f36100ee36600461198d565b610440565b60405190151581526020015b60405180910390f35b34801561011457600080fd5b506101286101233660046119aa565b610481565b6040519081526020016100ff565b6101286101443660046119da565b6104b9565b34801561015557600080fd5b506101696101643660046119aa565b6106af565b005b34801561017757600080fd5b506101e16101863660046119aa565b6040805180820190915260008082526020820152506001600160a01b031660009081526004602090815260408083209383529281529082902082518084019093525460ff811615158352610100900462ffffff169082015290565b6040805182511515815260209283015162ffffff1692810192909252016100ff565b6101286102113660046119aa565b610713565b34801561022257600080fd5b50610169610231366004611a1c565b610720565b34801561024257600080fd5b50610169610251366004611a5b565b6107a8565b34801561026257600080fd5b506100f36102713660046119aa565b610866565b34801561028257600080fd5b5061012860015481565b34801561029857600080fd5b506102be60405180604001604052806006815260200165076352e302e360d41b81525081565b6040516100ff9190611ac4565b3480156102d757600080fd5b506101696102e63660046119aa565b610892565b3480156102f757600080fd5b5061030b6103063660046119aa565b61090b565b6040516100ff9493929190611ad7565b34801561032757600080fd5b5061034f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ff565b34801561037357600080fd5b506102be6040518060400160405280600d81526020016c4d696e7465724441457870563560981b81525081565b3480156103ac57600080fd5b506101696103bb366004611b2b565b6109b7565b3480156103cc57600080fd5b506104306103db3660046119aa565b6001600160a01b03166000908152600360209081526040808320938352929052205464ffffffffff80821692600160281b8304909116916001600160581b03600160501b8204811692600160a81b9092041690565b6040516100ff9493929190611b8c565b6001600160a01b03811660009081526002602052604081208054610100900460ff1615610471575460ff1692915050565b61047a83610b0e565b9392505050565b6001600160a01b0381166000908152600460209081526040808320858452909152812054610100900462ffffff165b90505b92915050565b60006002600054036105125760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b600260009081556001600160a01b038316808252600460209081526040808420878552825280842092845260038252808420878552909152909120815460ff161561056f5760405162461bcd60e51b815260040161050990611bb3565b600061057a82610c46565b9050803410156105c55760405162461bcd60e51b815260206004820152601660248201527526b4b7103b30b63ab2903a379036b4b73a103932b89760511b6044820152606401610509565b6040516117cd60e21b81526001600160a01b0388811660048301526024820188905286811660448301523360648301527f00000000000000000000000000000000000000000000000000000000000000001690615f34906084016020604051808303816000875af115801561063e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106629190611be4565b935061066e8484610d81565b6001600160a01b0385166000908152600260205260408120610691908790610dd0565b905061069f87838884610e02565b5050505060016000559392505050565b6106c2813330634ae2bafd60e11b610eb9565b6001600160a01b03811660008181526003602090815260408083208684529091528082208290555184917f865169678476a498ca03f184818d6bd6217dd57b754577a944c19d6d75587c8091a35050565b60006104b03384846104b9565b61072b838333610f0e565b6001600160a01b0382166000908152600460209081526040808320868452909152902061075d90849084908490610f58565b60405162ffffff821681526001600160a01b0383169084907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e237906020015b60405180910390a3505050565b6107db7f0000000000000000000000000000000000000000000000000000000000000000333063b3fe472360e01b610fdf565b6000811161082b5760405162461bcd60e51b815260206004820152601d60248201527f48616c66206c696665206f66207a65726f206e6f7420616c6c6f7765640000006044820152606401610509565b60018190556040518181527fdae7136b6b1f9f3031d9536e8bdd02f1d223eb793054446ff278143abeafa21b9060200160405180910390a150565b6001600160a01b038116600090815260046020908152604080832085845290915281205460ff166104b0565b61089d828233610f0e565b6001600160a01b038116600090815260046020908152604080832085845290915281206108cd9084908490611034565b9050816001600160a01b0316837f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2378360405161079b91815260200190565b6001600160a01b038116600090815260036020908152604080832085845290915281208054600160501b90046001600160581b031615159190606090829084610957576000935061098b565b805464ffffffffff16421161097f578054600160501b90046001600160581b0316935061098b565b61098881610c46565b93505b6040518060400160405280600381526020016208aa8960eb1b8152509250600091505092959194509250565b6109c2868633610f0e565b6001600160a01b03851660008181526003602090815260408083208a84528252808320938352600482528083208a8452909152902060015464ffffffffff86161015610a765760405162461bcd60e51b815260206004820152603e60248201527f50726963652064656361792068616c66206c696665206d75737420626520677260448201527f6561746572207468616e206d696e20616c6c6f7761626c652076616c756500006064820152608401610509565b6000610a83825460ff1690565b9050610aa3838888610a94896110d9565b610a9d896110d9565b86611145565b876001600160a01b0316897f7fbd78481800c1705ba89e4be2e8c979412fb121f7f3cbace9d7f5c3dd85c44e89898989604051610ae39493929190611b8c565b60405180910390a3610af4826112e2565b15610b0357610b038989610892565b505050505050505050565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03861690610b70908590611bfd565b600060405180830381855afa9150503d8060008114610bab576040519150601f19603f3d011682016040523d82523d6000602084013e610bb0565b606091505b509150915081610bd25760405162461bcd60e51b815260040161050990611c19565b805160c0819003610be95750600095945050505050565b8061010003610bfe5750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c697420627974657300006044820152606401610509565b805460009064ffffffffff80821691600160281b810490911690600160a81b90046001600160581b0316428310610cb95760405162461bcd60e51b8152602060048201526017602482015276105d58dd1a5bdb881b9bdd081e595d081cdd185c9d1959604a1b6044820152606401610509565b60008211610d045760405162461bcd60e51b81526020600482015260186024820152774f6e6c7920636f6e666967757265642061756374696f6e7360401b6044820152606401610509565b8454600160501b90046001600160581b031642849003838181610d2957610d29611c5e565b0482901c9150600284858381610d4157610d41611c5e565b06840281610d5157610d51611c5e565b0481610d5f57610d5f611c5e565b048203915082821015610d7757509095945050505050565b5095945050505050565b8054620f4240830660010190610100900462ffffff1680821115610db75760405162461bcd60e51b815260040161050990611bb3565b808203610dca57825460ff191660011783555b50505050565b8054600090610100900460ff1615610ded5750805460ff166104b3565b6000610df98484611302565b91506104b39050565b3415610dca57600080610e158534611c74565b90508015610ea55760405133908290600081818185875af1925050503d8060008114610e5d576040519150601f19603f3d011682016040523d82523d6000602084013e610e62565b606091505b50508092505081610ea55760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b6044820152606401610509565b610eb186868686611412565b505050505050565b610ec5848484846117dd565b610dca5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b6044820152606401610509565b610f1983838361186e565b610f535760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610509565b505050565b600080610f6586866118f7565b91509150808462ffffff161115610f8e5760405162461bcd60e51b815260040161050990611c95565b818462ffffff161015610fb35760405162461bcd60e51b815260040161050990611c95565b50815460ff1962ffffff90941661010081029490941663ffffffff199091161792149190911790555050565b610feb848484846117dd565b610dca5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e48135a5b9d195c919a5b1d195c8810591b5a5b9050d360321b6044820152606401610509565b6000806000846001600160a01b0316630ea5613f876040518263ffffffff1660e01b815260040161106791815260200190565b60c060405180830381865afa158015611084573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a89190611cd6565b5050875493831463ffffffff1990941661010062ffffff85160260ff19161793909317909655979650505050505050565b60006001600160581b038211156111415760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203860448201526538206269747360d01b6064820152608401610509565b5090565b855464ffffffffff1615806111615750855464ffffffffff1642105b806111695750805b6111b45760405162461bcd60e51b815260206004820152601c60248201527b27379036b7b234b334b1b0ba34b7b7399036b4b216b0bab1ba34b7b760211b6044820152606401610509565b8464ffffffffff1642106112015760405162461bcd60e51b81526020600482015260146024820152734f6e6c79206675747572652061756374696f6e7360601b6044820152606401610509565b816001600160581b0316836001600160581b0316116112855760405162461bcd60e51b815260206004820152603a60248201527f41756374696f6e207374617274207072696365206d7573742062652067726561604482015279746572207468616e2061756374696f6e20656e6420707269636560301b6064820152608401610509565b50845464ffffffffff9485166001600160501b031990911617600160281b9390941692909202929092176001600160501b0316600160501b6001600160581b03938416026001600160a81b031617600160a81b9190921602179055565b8054600090610100900462ffffff161580156104b35750505460ff161590565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03871690611364908590611bfd565b6000604051808303816000865af19150503d80600081146113a1576040519150601f19603f3d011682016040523d82523d6000602084013e6113a6565b606091505b5091509150816113c85760405162461bcd60e51b815260040161050990611c19565b805160c08190036113ee575050835461ffff191661010017845550600091506104b39050565b8061010003610bfe575050835461ffff191661010117845550600191506104b39050565b8215610dca576000806000806000806000871561156357604051638639415b60e01b8152600481018c9052602481018b905260009081906001600160a01b038c1690638639415b9060440161010060405180830381865afa15801561147b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149f9190611d35565b969e50949c50909a5098509196509194509092509050811561155c576040516001600160a01b038216908390600081818185875af1925050503d8060008114611504576040519150601f19603f3d011682016040523d82523d6000602084013e611509565b606091505b5050809950508861155c5760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610509565b50506115e3565b604051638639415b60e01b8152600481018c9052602481018b90526001600160a01b038a1690638639415b9060440160c060405180830381865afa1580156115af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d39190611dbd565b949a509298509096509450925090505b851561168a576040516001600160a01b038616908790600081818185875af1925050503d8060008114611632576040519150601f19603f3d011682016040523d82523d6000602084013e611637565b606091505b5050809750508661168a5760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610509565b8315611729576040516001600160a01b038416908590600081818185875af1925050503d80600081146116d9576040519150601f19603f3d011682016040523d82523d6000602084013e6116de565b606091505b505080975050866117295760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610509565b81156117d0576040516001600160a01b038216908390600081818185875af1925050503d8060008114611778576040519150601f19603f3d011682016040523d82523d6000602084013e61177d565b606091505b505080975050866117d05760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610509565b5050505050505050505050565b60405163230448b160e01b81526001600160a01b03848116600483015283811660248301526001600160e01b0319831660448301526000919086169063230448b1906064016020604051808303816000875af1158015611841573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118659190611e26565b95945050505050565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa1580156118b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118da9190611e41565b6001600160a01b0316826001600160a01b03161490509392505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa158015611941573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119659190611cd6565b5093989297509195505050505050565b6001600160a01b038116811461198a57600080fd5b50565b60006020828403121561199f57600080fd5b813561047a81611975565b600080604083850312156119bd57600080fd5b8235915060208301356119cf81611975565b809150509250929050565b6000806000606084860312156119ef57600080fd5b83356119fa81611975565b9250602084013591506040840135611a1181611975565b809150509250925092565b600080600060608486031215611a3157600080fd5b833592506020840135611a4381611975565b9150604084013562ffffff81168114611a1157600080fd5b600060208284031215611a6d57600080fd5b5035919050565b60005b83811015611a8f578181015183820152602001611a77565b50506000910152565b60008151808452611ab0816020860160208601611a74565b601f01601f19169290920160200192915050565b6020815260006104b06020830184611a98565b8415158152836020820152608060408201526000611af86080830185611a98565b905060018060a01b038316606083015295945050505050565b803564ffffffffff81168114611b2657600080fd5b919050565b60008060008060008060c08789031215611b4457600080fd5b863595506020870135611b5681611975565b9450611b6460408801611b11565b9350611b7260608801611b11565b92506080870135915060a087013590509295509295509295565b64ffffffffff94851681529290931660208301526040820152606081019190915260800190565b60208082526017908201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604082015260600190565b600060208284031215611bf657600080fd5b5051919050565b60008251611c0f818460208701611a74565b9190910192915050565b60208082526025908201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604082015264185a5b195960da1b606082015260800190565b634e487b7160e01b600052601260045260246000fd5b818103818111156104b357634e487b7160e01b600052601160045260246000fd5b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b80518015158114611b2657600080fd5b60008060008060008060c08789031215611cef57600080fd5b8651955060208701519450611d0660408801611cc6565b9350611d1460608801611cc6565b925060808701519150611d2960a08801611cc6565b90509295509295509295565b600080600080600080600080610100898b031215611d5257600080fd5b885197506020890151611d6481611975565b60408a015160608b01519198509650611d7c81611975565b60808a015160a08b01519196509450611d9481611975565b60c08a015160e08b01519194509250611dac81611975565b809150509295985092959890939650565b60008060008060008060c08789031215611dd657600080fd5b865195506020870151611de881611975565b604088015160608901519196509450611e0081611975565b608088015160a08901519194509250611e1881611975565b809150509295509295509295565b600060208284031215611e3857600080fd5b6104b082611cc6565b600060208284031215611e5357600080fd5b815161047a8161197556fea2646970667358221220b0b2f470f8aab144e4d64681a6e37045ae1ae01b0c658b2635f4a0d1b83e6c4864736f6c63430008130033",
414
+ "bytecode": "0x60c0604052602d60015534801561001557600080fd5b50604051611ff3380380611ff383398101604081905261003491610087565b600160008190556001600160a01b038216608081905260a052546040519081527fdae7136b6b1f9f3031d9536e8bdd02f1d223eb793054446ff278143abeafa21b9060200160405180910390a1506100b7565b60006020828403121561009957600080fd5b81516001600160a01b03811681146100b057600080fd5b9392505050565b60805160a051611f106100e360003960006104f10152600081816102d701526106160152611f106000f3fe6080604052600436106100ce5760003560e01c806301000da7146100d35780634869f3df146101085780634e8d87871461013657806395c575fa146101495780639a94488a1461016b578063ae77c237146101ad578063b000e334146101c0578063b3fe4723146101e0578063cce7c90914610200578063cf6681ea14610220578063d3ddabe614610236578063d9bffbce14610275578063d9eb16db14610295578063dd85582f146102c5578063e9d1e8ac14610311578063fdca4cb81461034a578063fea1d7b41461036a575b600080fd5b3480156100df57600080fd5b506100f36100ee366004611a38565b6103b3565b60405190151581526020015b60405180910390f35b34801561011457600080fd5b50610128610123366004611a55565b6103eb565b6040519081526020016100ff565b610128610144366004611a85565b610400565b34801561015557600080fd5b50610169610164366004611a55565b610580565b005b34801561017757600080fd5b5061018b610186366004611a55565b6105a1565b6040805182511515815260209283015162ffffff1692810192909252016100ff565b6101286101bb366004611a55565b6105e9565b3480156101cc57600080fd5b506101696101db366004611ac7565b6105f6565b3480156101ec57600080fd5b506101696101fb366004611b06565b610611565b34801561020c57600080fd5b506100f361021b366004611a55565b6106cf565b34801561022c57600080fd5b5061012860015481565b34801561024257600080fd5b5061026860405180604001604052806006815260200165076352e302e360d41b81525081565b6040516100ff9190611b6f565b34801561028157600080fd5b50610169610290366004611a55565b6106db565b3480156102a157600080fd5b506102b56102b0366004611a55565b6106f0565b6040516100ff9493929190611b82565b3480156102d157600080fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ff565b34801561031d57600080fd5b506102686040518060400160405280600d81526020016c4d696e7465724441457870563560981b81525081565b34801561035657600080fd5b50610169610365366004611bd6565b610789565b34801561037657600080fd5b5061038a610385366004611a55565b610862565b6040805164ffffffffff95861681529490931660208501529183015260608201526080016100ff565b6000806103bf836108b2565b8054909150610100900460ff16156103db575460ff1692915050565b6103e4836108eb565b9392505050565b60006103f78383610a61565b90505b92915050565b60006002600054036104595760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000556104688383610a81565b60006104748484610ab2565b9050803410156104bf5760405162461bcd60e51b815260206004820152601660248201527526b4b7103b30b63ab2903a379036b4b73a103932b89760511b6044820152606401610450565b6040516117cd60e21b81526001600160a01b0386811660048301526024820186905284811660448301523360648301527f00000000000000000000000000000000000000000000000000000000000000001690615f34906084016020604051808303816000875af1158015610538573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055c9190611c37565b91506105688284610bf3565b610573848285610c60565b5060016000559392505050565b610593813330634ae2bafd60e11b610d15565b61059d8282610d6a565b5050565b60408051808201909152600080825260208201526105bf8383610dc5565b60408051808201909152905460ff811615158252610100900462ffffff1660208201529392505050565b60006103f7338484610400565b610601838333610e10565b61060c838383610e55565b505050565b6106447f0000000000000000000000000000000000000000000000000000000000000000333063b3fe472360e01b610f2b565b600081116106945760405162461bcd60e51b815260206004820152601d60248201527f48616c66206c696665206f66207a65726f206e6f7420616c6c6f7765640000006044820152606401610450565b60018190556040518181527fdae7136b6b1f9f3031d9536e8bdd02f1d223eb793054446ff278143abeafa21b9060200160405180910390a150565b60006103f78383610f80565b6106e6828233610e10565b61059d8282610f99565b60008060606000806107028787611034565b8054600160501b90046001600160581b031615159550905084610728576000935061075d565b805464ffffffffff164211610750578054600160501b90046001600160581b0316935061075d565b61075a8787610ab2565b93505b6040518060400160405280600381526020016208aa8960eb1b8152509250600091505092959194509250565b610794868633610e10565b6001548364ffffffffff1610156108135760405162461bcd60e51b815260206004820152603e60248201527f50726963652064656361792068616c66206c696665206d75737420626520677260448201527f6561746572207468616e206d696e20616c6c6f7761626c652076616c756500006064820152608401610450565b600061081f8787610f80565b9050610840878787876108318861103e565b61083a8861103e565b876110aa565b61084a8787611301565b15610859576108598787610f99565b50505050505050565b60008060008060006108748787611034565b5464ffffffffff80821699600160281b830490911698506001600160581b03600160501b830481169850600160a81b90920490911695509350505050565b6001600160a01b031660009081527f69f22dd730b53ff235fa96b4306a31bef5dad48fe4bac28b1ceebbce14401b396020526040902090565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b0386169061094d908590611c50565b600060405180830381855afa9150503d8060008114610988576040519150601f19603f3d011682016040523d82523d6000602084013e61098d565b606091505b5091509150816109ed5760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b6064820152608401610450565b805160c0819003610a045750600095945050505050565b8061010003610a195750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c697420627974657300006044820152606401610450565b600080610a6e8484610dc5565b54610100900462ffffff16949350505050565b6000610a8d8383610dc5565b805490915060ff161561060c5760405162461bcd60e51b815260040161045090611c6c565b600080610abf8484611034565b805490915064ffffffffff80821691600160281b90041680610b1e5760405162461bcd60e51b81526020600482015260186024820152774f6e6c7920636f6e666967757265642061756374696f6e7360401b6044820152606401610450565b81421015610b685760405162461bcd60e51b8152602060048201526017602482015276105d58dd1a5bdb881b9bdd081e595d081cdd185c9d1959604a1b6044820152606401610450565b8254600160501b90046001600160581b031642839003828181610b8d57610b8d611c9d565b0482901c9150600183848381610ba557610ba5611c9d565b06840281610bb557610bb5611c9d565b875491900490911c90920391600160a81b90046001600160581b031680831015610be65795506103fa945050505050565b5090979650505050505050565b6000610bfe83611334565b90506000610c0c8284610dc5565b8054909150620f4240850660010190610100900462ffffff1680821115610c455760405162461bcd60e51b815260040161045090611c6c565b808203610c5857825460ff191660011783555b505050505050565b341561060c576000610c728334611cc9565b90508015610d0457604051600090339083908381818185875af1925050503d8060008114610cbc576040519150601f19603f3d011682016040523d82523d6000602084013e610cc1565b606091505b5050905080610d025760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b6044820152606401610450565b505b610d0f848484611343565b50505050565b610d2184848484611504565b610d0f5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b6044820152606401610450565b610d72611595565b6001600160a01b0382166000818152602092835260408082208683529093528281208190559151909184917f865169678476a498ca03f184818d6bd6217dd57b754577a944c19d6d75587c809190a35050565b60007f73e3af67f35f30fb72bbaaf6cc07b987364ed643c93ba201702e213464e877ee5b6001600160a01b039290921660009081526020928352604080822094825293909252502090565b610e1b8383836115b9565b61060c5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610450565b600080610e628585611642565b91509150808362ffffff161115610e8b5760405162461bcd60e51b815260040161045090611cdc565b818362ffffff161015610eb05760405162461bcd60e51b815260040161045090611cdc565b6000610ebc8686610dc5565b805462ffffff861685811463ffffffff19909216610100820260ff1916179190911782556040519081529091506001600160a01b0386169087907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379060200160405180910390a3505050505050565b610f3784848484611504565b610d0f5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e48135a5b9d195c919a5b1d195c8810591b5a5b9050d360321b6044820152606401610450565b600080610f8d8484610dc5565b5460ff16949350505050565b600080610fa68484611642565b915091506000610fb68585610dc5565b9050610fc1826116c0565b815460ff1962ffffff92909216610100029190911663ffffffff19909116178383141781556040516001600160a01b0385169086907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e237906110259086815260200190565b60405180910390a35050505050565b6000610de9611595565b60006001600160581b038211156110a65760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203860448201526538206269747360d01b6064820152608401610450565b5090565b60006110b68888611034565b805490915064ffffffffff1615806110d55750805464ffffffffff1642105b806110dd5750815b6111285760405162461bcd60e51b815260206004820152601c60248201527b27379036b7b234b334b1b0ba34b7b7399036b4b216b0bab1ba34b7b760211b6044820152606401610450565b8564ffffffffff1642106111755760405162461bcd60e51b81526020600482015260146024820152734f6e6c79206675747572652061756374696f6e7360601b6044820152606401610450565b826001600160581b0316846001600160581b0316116111f95760405162461bcd60e51b815260206004820152603a60248201527f41756374696f6e207374617274207072696365206d7573742062652067726561604482015279746572207468616e2061756374696f6e20656e6420707269636560301b6064820152608401610450565b60008564ffffffffff16116112465760405162461bcd60e51b815260206004820152601360248201527204f6e6c792068616c66206c696665206774203606c1b6044820152606401610450565b805464ffffffffff8781166001600160501b03199092168217600160281b918816918202176001600160501b0316600160501b6001600160581b038881169182026001600160a81b031692909217600160a81b9288169283021785556040805194855260208501939093529183019190915260608201526001600160a01b0388169089907f7fbd78481800c1705ba89e4be2e8c979412fb121f7f3cbace9d7f5c3dd85c44e9060800160405180910390a35050505050505050565b60008061130e8484610dc5565b8054909150610100900462ffffff1615801561132c5750805460ff16155b949350505050565b60006103fa620f424083611d0d565b8160000361135057505050565b600061135b82611724565b905060008060008060008060008088156113f957604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440161010060405180830381865afa1580156113bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e09190611d2f565b969e50949c50929a509098509650945092509050611479565b604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440160c060405180830381865afa158015611445573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114699190611db7565b949c50929a509096509450925090505b8a8285611486898c611e20565b6114909190611e20565b61149a9190611e20565b146114e65760405162461bcd60e51b815260206004820152601c60248201527b496e76616c696420726576656e75652073706c697420746f74616c7360201b6044820152606401610450565b6114f686868a8a88888888611772565b505050505050505050505050565b60405163230448b160e01b81526001600160a01b03848116600483015283811660248301526001600160e01b0319831660448301526000919086169063230448b1906064016020604051808303816000875af1158015611568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158c9190611e43565b95945050505050565b7fd81cd75c069a2440f70df8647083d567d07e376316cc889f0f9fba1085bc5a0090565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa158015611601573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116259190611e5e565b6001600160a01b0316826001600160a01b03161490509392505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa15801561168c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b09190611e7b565b5093989297509195505050505050565b600062ffffff8211156110a65760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201526534206269747360d01b6064820152608401610450565b600080611730836108b2565b8054909150610100900460ff161561174c575460ff1692915050565b6000611757846108eb565b825481151561ffff1990911617610100179092555092915050565b871561181d576000876001600160a01b03168960405160006040518083038185875af1925050503d80600081146117c5576040519150601f19603f3d011682016040523d82523d6000602084013e6117ca565b606091505b505090508061181b5760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610450565b505b85156118c8576000856001600160a01b03168760405160006040518083038185875af1925050503d8060008114611870576040519150601f19603f3d011682016040523d82523d6000602084013e611875565b606091505b50509050806118c65760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610450565b505b831561196b576000836001600160a01b03168560405160006040518083038185875af1925050503d806000811461191b576040519150601f19603f3d011682016040523d82523d6000602084013e611920565b606091505b50509050806119695760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610450565b505b8115611a16576000816001600160a01b03168360405160006040518083038185875af1925050503d80600081146119be576040519150601f19603f3d011682016040523d82523d6000602084013e6119c3565b606091505b5050905080611a145760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610450565b505b5050505050505050565b6001600160a01b0381168114611a3557600080fd5b50565b600060208284031215611a4a57600080fd5b81356103e481611a20565b60008060408385031215611a6857600080fd5b823591506020830135611a7a81611a20565b809150509250929050565b600080600060608486031215611a9a57600080fd5b8335611aa581611a20565b9250602084013591506040840135611abc81611a20565b809150509250925092565b600080600060608486031215611adc57600080fd5b833592506020840135611aee81611a20565b9150604084013562ffffff81168114611abc57600080fd5b600060208284031215611b1857600080fd5b5035919050565b60005b83811015611b3a578181015183820152602001611b22565b50506000910152565b60008151808452611b5b816020860160208601611b1f565b601f01601f19169290920160200192915050565b6020815260006103f76020830184611b43565b8415158152836020820152608060408201526000611ba36080830185611b43565b905060018060a01b038316606083015295945050505050565b803564ffffffffff81168114611bd157600080fd5b919050565b60008060008060008060c08789031215611bef57600080fd5b863595506020870135611c0181611a20565b9450611c0f60408801611bbc565b9350611c1d60608801611bbc565b92506080870135915060a087013590509295509295509295565b600060208284031215611c4957600080fd5b5051919050565b60008251611c62818460208701611b1f565b9190910192915050565b60208082526017908201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604082015260600190565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156103fa576103fa611cb3565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b600082611d2a57634e487b7160e01b600052601260045260246000fd5b500490565b600080600080600080600080610100898b031215611d4c57600080fd5b885197506020890151611d5e81611a20565b60408a015160608b01519198509650611d7681611a20565b60808a015160a08b01519196509450611d8e81611a20565b60c08a015160e08b01519194509250611da681611a20565b809150509295985092959890939650565b60008060008060008060c08789031215611dd057600080fd5b865195506020870151611de281611a20565b604088015160608901519196509450611dfa81611a20565b608088015160a08901519194509250611e1281611a20565b809150509295509295509295565b808201808211156103fa576103fa611cb3565b80518015158114611bd157600080fd5b600060208284031215611e5557600080fd5b6103f782611e33565b600060208284031215611e7057600080fd5b81516103e481611a20565b60008060008060008060c08789031215611e9457600080fd5b8651955060208701519450611eab60408801611e33565b9350611eb960608801611e33565b925060808701519150611ece60a08801611e33565b9050929550929550929556fea2646970667358221220b139913d0d53231e847c0d5ecec7765f4db055bad9670703e864da685a765e5064736f6c63430008130033",
415
+ "deployedBytecode": "0x6080604052600436106100ce5760003560e01c806301000da7146100d35780634869f3df146101085780634e8d87871461013657806395c575fa146101495780639a94488a1461016b578063ae77c237146101ad578063b000e334146101c0578063b3fe4723146101e0578063cce7c90914610200578063cf6681ea14610220578063d3ddabe614610236578063d9bffbce14610275578063d9eb16db14610295578063dd85582f146102c5578063e9d1e8ac14610311578063fdca4cb81461034a578063fea1d7b41461036a575b600080fd5b3480156100df57600080fd5b506100f36100ee366004611a38565b6103b3565b60405190151581526020015b60405180910390f35b34801561011457600080fd5b50610128610123366004611a55565b6103eb565b6040519081526020016100ff565b610128610144366004611a85565b610400565b34801561015557600080fd5b50610169610164366004611a55565b610580565b005b34801561017757600080fd5b5061018b610186366004611a55565b6105a1565b6040805182511515815260209283015162ffffff1692810192909252016100ff565b6101286101bb366004611a55565b6105e9565b3480156101cc57600080fd5b506101696101db366004611ac7565b6105f6565b3480156101ec57600080fd5b506101696101fb366004611b06565b610611565b34801561020c57600080fd5b506100f361021b366004611a55565b6106cf565b34801561022c57600080fd5b5061012860015481565b34801561024257600080fd5b5061026860405180604001604052806006815260200165076352e302e360d41b81525081565b6040516100ff9190611b6f565b34801561028157600080fd5b50610169610290366004611a55565b6106db565b3480156102a157600080fd5b506102b56102b0366004611a55565b6106f0565b6040516100ff9493929190611b82565b3480156102d157600080fd5b506102f97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ff565b34801561031d57600080fd5b506102686040518060400160405280600d81526020016c4d696e7465724441457870563560981b81525081565b34801561035657600080fd5b50610169610365366004611bd6565b610789565b34801561037657600080fd5b5061038a610385366004611a55565b610862565b6040805164ffffffffff95861681529490931660208501529183015260608201526080016100ff565b6000806103bf836108b2565b8054909150610100900460ff16156103db575460ff1692915050565b6103e4836108eb565b9392505050565b60006103f78383610a61565b90505b92915050565b60006002600054036104595760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000556104688383610a81565b60006104748484610ab2565b9050803410156104bf5760405162461bcd60e51b815260206004820152601660248201527526b4b7103b30b63ab2903a379036b4b73a103932b89760511b6044820152606401610450565b6040516117cd60e21b81526001600160a01b0386811660048301526024820186905284811660448301523360648301527f00000000000000000000000000000000000000000000000000000000000000001690615f34906084016020604051808303816000875af1158015610538573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055c9190611c37565b91506105688284610bf3565b610573848285610c60565b5060016000559392505050565b610593813330634ae2bafd60e11b610d15565b61059d8282610d6a565b5050565b60408051808201909152600080825260208201526105bf8383610dc5565b60408051808201909152905460ff811615158252610100900462ffffff1660208201529392505050565b60006103f7338484610400565b610601838333610e10565b61060c838383610e55565b505050565b6106447f0000000000000000000000000000000000000000000000000000000000000000333063b3fe472360e01b610f2b565b600081116106945760405162461bcd60e51b815260206004820152601d60248201527f48616c66206c696665206f66207a65726f206e6f7420616c6c6f7765640000006044820152606401610450565b60018190556040518181527fdae7136b6b1f9f3031d9536e8bdd02f1d223eb793054446ff278143abeafa21b9060200160405180910390a150565b60006103f78383610f80565b6106e6828233610e10565b61059d8282610f99565b60008060606000806107028787611034565b8054600160501b90046001600160581b031615159550905084610728576000935061075d565b805464ffffffffff164211610750578054600160501b90046001600160581b0316935061075d565b61075a8787610ab2565b93505b6040518060400160405280600381526020016208aa8960eb1b8152509250600091505092959194509250565b610794868633610e10565b6001548364ffffffffff1610156108135760405162461bcd60e51b815260206004820152603e60248201527f50726963652064656361792068616c66206c696665206d75737420626520677260448201527f6561746572207468616e206d696e20616c6c6f7761626c652076616c756500006064820152608401610450565b600061081f8787610f80565b9050610840878787876108318861103e565b61083a8861103e565b876110aa565b61084a8787611301565b15610859576108598787610f99565b50505050505050565b60008060008060006108748787611034565b5464ffffffffff80821699600160281b830490911698506001600160581b03600160501b830481169850600160a81b90920490911695509350505050565b6001600160a01b031660009081527f69f22dd730b53ff235fa96b4306a31bef5dad48fe4bac28b1ceebbce14401b396020526040902090565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b0386169061094d908590611c50565b600060405180830381855afa9150503d8060008114610988576040519150601f19603f3d011682016040523d82523d6000602084013e61098d565b606091505b5091509150816109ed5760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b6064820152608401610450565b805160c0819003610a045750600095945050505050565b8061010003610a195750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c697420627974657300006044820152606401610450565b600080610a6e8484610dc5565b54610100900462ffffff16949350505050565b6000610a8d8383610dc5565b805490915060ff161561060c5760405162461bcd60e51b815260040161045090611c6c565b600080610abf8484611034565b805490915064ffffffffff80821691600160281b90041680610b1e5760405162461bcd60e51b81526020600482015260186024820152774f6e6c7920636f6e666967757265642061756374696f6e7360401b6044820152606401610450565b81421015610b685760405162461bcd60e51b8152602060048201526017602482015276105d58dd1a5bdb881b9bdd081e595d081cdd185c9d1959604a1b6044820152606401610450565b8254600160501b90046001600160581b031642839003828181610b8d57610b8d611c9d565b0482901c9150600183848381610ba557610ba5611c9d565b06840281610bb557610bb5611c9d565b875491900490911c90920391600160a81b90046001600160581b031680831015610be65795506103fa945050505050565b5090979650505050505050565b6000610bfe83611334565b90506000610c0c8284610dc5565b8054909150620f4240850660010190610100900462ffffff1680821115610c455760405162461bcd60e51b815260040161045090611c6c565b808203610c5857825460ff191660011783555b505050505050565b341561060c576000610c728334611cc9565b90508015610d0457604051600090339083908381818185875af1925050503d8060008114610cbc576040519150601f19603f3d011682016040523d82523d6000602084013e610cc1565b606091505b5050905080610d025760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b6044820152606401610450565b505b610d0f848484611343565b50505050565b610d2184848484611504565b610d0f5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b6044820152606401610450565b610d72611595565b6001600160a01b0382166000818152602092835260408082208683529093528281208190559151909184917f865169678476a498ca03f184818d6bd6217dd57b754577a944c19d6d75587c809190a35050565b60007f73e3af67f35f30fb72bbaaf6cc07b987364ed643c93ba201702e213464e877ee5b6001600160a01b039290921660009081526020928352604080822094825293909252502090565b610e1b8383836115b9565b61060c5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610450565b600080610e628585611642565b91509150808362ffffff161115610e8b5760405162461bcd60e51b815260040161045090611cdc565b818362ffffff161015610eb05760405162461bcd60e51b815260040161045090611cdc565b6000610ebc8686610dc5565b805462ffffff861685811463ffffffff19909216610100820260ff1916179190911782556040519081529091506001600160a01b0386169087907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379060200160405180910390a3505050505050565b610f3784848484611504565b610d0f5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e48135a5b9d195c919a5b1d195c8810591b5a5b9050d360321b6044820152606401610450565b600080610f8d8484610dc5565b5460ff16949350505050565b600080610fa68484611642565b915091506000610fb68585610dc5565b9050610fc1826116c0565b815460ff1962ffffff92909216610100029190911663ffffffff19909116178383141781556040516001600160a01b0385169086907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e237906110259086815260200190565b60405180910390a35050505050565b6000610de9611595565b60006001600160581b038211156110a65760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203860448201526538206269747360d01b6064820152608401610450565b5090565b60006110b68888611034565b805490915064ffffffffff1615806110d55750805464ffffffffff1642105b806110dd5750815b6111285760405162461bcd60e51b815260206004820152601c60248201527b27379036b7b234b334b1b0ba34b7b7399036b4b216b0bab1ba34b7b760211b6044820152606401610450565b8564ffffffffff1642106111755760405162461bcd60e51b81526020600482015260146024820152734f6e6c79206675747572652061756374696f6e7360601b6044820152606401610450565b826001600160581b0316846001600160581b0316116111f95760405162461bcd60e51b815260206004820152603a60248201527f41756374696f6e207374617274207072696365206d7573742062652067726561604482015279746572207468616e2061756374696f6e20656e6420707269636560301b6064820152608401610450565b60008564ffffffffff16116112465760405162461bcd60e51b815260206004820152601360248201527204f6e6c792068616c66206c696665206774203606c1b6044820152606401610450565b805464ffffffffff8781166001600160501b03199092168217600160281b918816918202176001600160501b0316600160501b6001600160581b038881169182026001600160a81b031692909217600160a81b9288169283021785556040805194855260208501939093529183019190915260608201526001600160a01b0388169089907f7fbd78481800c1705ba89e4be2e8c979412fb121f7f3cbace9d7f5c3dd85c44e9060800160405180910390a35050505050505050565b60008061130e8484610dc5565b8054909150610100900462ffffff1615801561132c5750805460ff16155b949350505050565b60006103fa620f424083611d0d565b8160000361135057505050565b600061135b82611724565b905060008060008060008060008088156113f957604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440161010060405180830381865afa1580156113bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e09190611d2f565b969e50949c50929a509098509650945092509050611479565b604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440160c060405180830381865afa158015611445573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114699190611db7565b949c50929a509096509450925090505b8a8285611486898c611e20565b6114909190611e20565b61149a9190611e20565b146114e65760405162461bcd60e51b815260206004820152601c60248201527b496e76616c696420726576656e75652073706c697420746f74616c7360201b6044820152606401610450565b6114f686868a8a88888888611772565b505050505050505050505050565b60405163230448b160e01b81526001600160a01b03848116600483015283811660248301526001600160e01b0319831660448301526000919086169063230448b1906064016020604051808303816000875af1158015611568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158c9190611e43565b95945050505050565b7fd81cd75c069a2440f70df8647083d567d07e376316cc889f0f9fba1085bc5a0090565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa158015611601573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116259190611e5e565b6001600160a01b0316826001600160a01b03161490509392505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa15801561168c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b09190611e7b565b5093989297509195505050505050565b600062ffffff8211156110a65760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201526534206269747360d01b6064820152608401610450565b600080611730836108b2565b8054909150610100900460ff161561174c575460ff1692915050565b6000611757846108eb565b825481151561ffff1990911617610100179092555092915050565b871561181d576000876001600160a01b03168960405160006040518083038185875af1925050503d80600081146117c5576040519150601f19603f3d011682016040523d82523d6000602084013e6117ca565b606091505b505090508061181b5760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610450565b505b85156118c8576000856001600160a01b03168760405160006040518083038185875af1925050503d8060008114611870576040519150601f19603f3d011682016040523d82523d6000602084013e611875565b606091505b50509050806118c65760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610450565b505b831561196b576000836001600160a01b03168560405160006040518083038185875af1925050503d806000811461191b576040519150601f19603f3d011682016040523d82523d6000602084013e611920565b606091505b50509050806119695760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610450565b505b8115611a16576000816001600160a01b03168360405160006040518083038185875af1925050503d80600081146119be576040519150601f19603f3d011682016040523d82523d6000602084013e6119c3565b606091505b5050905080611a145760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610450565b505b5050505050505050565b6001600160a01b0381168114611a3557600080fd5b50565b600060208284031215611a4a57600080fd5b81356103e481611a20565b60008060408385031215611a6857600080fd5b823591506020830135611a7a81611a20565b809150509250929050565b600080600060608486031215611a9a57600080fd5b8335611aa581611a20565b9250602084013591506040840135611abc81611a20565b809150509250925092565b600080600060608486031215611adc57600080fd5b833592506020840135611aee81611a20565b9150604084013562ffffff81168114611abc57600080fd5b600060208284031215611b1857600080fd5b5035919050565b60005b83811015611b3a578181015183820152602001611b22565b50506000910152565b60008151808452611b5b816020860160208601611b1f565b601f01601f19169290920160200192915050565b6020815260006103f76020830184611b43565b8415158152836020820152608060408201526000611ba36080830185611b43565b905060018060a01b038316606083015295945050505050565b803564ffffffffff81168114611bd157600080fd5b919050565b60008060008060008060c08789031215611bef57600080fd5b863595506020870135611c0181611a20565b9450611c0f60408801611bbc565b9350611c1d60608801611bbc565b92506080870135915060a087013590509295509295509295565b600060208284031215611c4957600080fd5b5051919050565b60008251611c62818460208701611b1f565b9190910192915050565b60208082526017908201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604082015260600190565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156103fa576103fa611cb3565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b600082611d2a57634e487b7160e01b600052601260045260246000fd5b500490565b600080600080600080600080610100898b031215611d4c57600080fd5b885197506020890151611d5e81611a20565b60408a015160608b01519198509650611d7681611a20565b60808a015160a08b01519196509450611d8e81611a20565b60c08a015160e08b01519194509250611da681611a20565b809150509295985092959890939650565b60008060008060008060c08789031215611dd057600080fd5b865195506020870151611de281611a20565b604088015160608901519196509450611dfa81611a20565b608088015160a08901519194509250611e1281611a20565b809150509295509295509295565b808201808211156103fa576103fa611cb3565b80518015158114611bd157600080fd5b600060208284031215611e5557600080fd5b6103f782611e33565b600060208284031215611e7057600080fd5b81516103e481611a20565b60008060008060008060c08789031215611e9457600080fd5b8651955060208701519450611eab60408801611e33565b9350611eb960608801611e33565b925060808701519150611ece60a08801611e33565b9050929550929550929556fea2646970667358221220b139913d0d53231e847c0d5ecec7765f4db055bad9670703e864da685a765e5064736f6c63430008130033",
907
416
  "linkReferences": {},
908
417
  "deployedLinkReferences": {}
909
418
  }