@artblocks/contracts 0.0.1 → 1.0.1

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 (138) hide show
  1. package/README.md +30 -11
  2. package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
  3. package/artifacts/contracts/BasicPolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +229 -0
  4. package/artifacts/contracts/BasicRandomizerV2.sol/BasicRandomizerV2.json +3 -3
  5. package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +2 -2
  6. package/artifacts/contracts/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +2 -2
  7. package/artifacts/contracts/archive/GenArt721CoreV0.sol/Address.json +10 -0
  8. package/artifacts/contracts/archive/GenArt721CoreV0.sol/Counters.json +10 -0
  9. package/artifacts/contracts/archive/GenArt721CoreV0.sol/CustomERC721Metadata.json +425 -0
  10. package/artifacts/contracts/archive/GenArt721CoreV0.sol/ERC165.json +38 -0
  11. package/artifacts/contracts/archive/GenArt721CoreV0.sol/ERC721.json +322 -0
  12. package/artifacts/contracts/archive/GenArt721CoreV0.sol/ERC721Enumerable.json +384 -0
  13. package/artifacts/contracts/archive/GenArt721CoreV0.sol/ERC721ReceiverMock.json +101 -0
  14. package/artifacts/contracts/archive/GenArt721CoreV0.sol/GenArt721.json +1528 -0
  15. package/artifacts/contracts/archive/GenArt721CoreV0.sol/IERC165.json +32 -0
  16. package/artifacts/contracts/archive/GenArt721CoreV0.sol/IERC721.json +316 -0
  17. package/artifacts/contracts/archive/GenArt721CoreV0.sol/IERC721Enumerable.json +378 -0
  18. package/artifacts/contracts/archive/GenArt721CoreV0.sol/IERC721Receiver.json +47 -0
  19. package/artifacts/contracts/archive/GenArt721CoreV0.sol/SafeMath.json +10 -0
  20. package/artifacts/contracts/archive/GenArt721CoreV0.sol/Strings.json +10 -0
  21. package/artifacts/contracts/archive/GenArt721CoreV1.sol/Address.json +10 -0
  22. package/artifacts/contracts/archive/GenArt721CoreV1.sol/Counters.json +10 -0
  23. package/artifacts/contracts/archive/GenArt721CoreV1.sol/CustomERC721Metadata.json +425 -0
  24. package/artifacts/contracts/archive/GenArt721CoreV1.sol/ERC165.json +38 -0
  25. package/artifacts/contracts/archive/GenArt721CoreV1.sol/ERC721.json +322 -0
  26. package/artifacts/contracts/archive/GenArt721CoreV1.sol/ERC721Enumerable.json +384 -0
  27. package/artifacts/contracts/archive/GenArt721CoreV1.sol/GenArt721Core.json +1773 -0
  28. package/artifacts/contracts/archive/GenArt721CoreV1.sol/IERC165.json +32 -0
  29. package/artifacts/contracts/archive/GenArt721CoreV1.sol/IERC721.json +316 -0
  30. package/artifacts/contracts/archive/GenArt721CoreV1.sol/IERC721Enumerable.json +378 -0
  31. package/artifacts/contracts/archive/GenArt721CoreV1.sol/IERC721Receiver.json +47 -0
  32. package/artifacts/contracts/archive/GenArt721CoreV1.sol/Randomizer.json +26 -0
  33. package/artifacts/contracts/archive/GenArt721CoreV1.sol/SafeMath.json +10 -0
  34. package/artifacts/contracts/archive/GenArt721CoreV1.sol/Strings.json +10 -0
  35. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV0.sol/MinterDAExpV0.json +575 -0
  36. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV1.sol/MinterDAExpV1.json +463 -0
  37. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +3 -3
  38. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +3 -3
  39. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +15 -15
  40. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +1066 -0
  41. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV0.sol/MinterDALinV0.json +551 -0
  42. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV1.sol/MinterDALinV1.json +439 -0
  43. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +3 -3
  44. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +3 -3
  45. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol/MinterHolderV0.json +622 -0
  46. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +719 -0
  47. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +794 -0
  48. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +3 -3
  49. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV0.sol/MinterMerkleV0.json +873 -0
  50. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +932 -0
  51. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +984 -0
  52. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +3 -3
  53. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +3 -3
  54. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV0.sol/MinterSetPriceV0.json +400 -0
  55. package/artifacts/contracts/{minter-suite/Minters/MinterSetPrice/deprecated → archive/minter-suite/Minters/MinterSetPrice}/MinterSetPriceV1.sol/MinterSetPriceV1.json +3 -3
  56. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +3 -3
  57. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +3 -3
  58. package/artifacts/contracts/{minter-suite/Minters/MinterSetPriceERC20/deprecated → archive/minter-suite/Minters/MinterSetPriceERC20}/MinterSetPriceERC20V0.sol/MinterSetPriceERC20V0.json +3 -3
  59. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol/MinterSetPriceERC20V1.json +349 -0
  60. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +3 -3
  61. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +3 -3
  62. package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +2 -2
  63. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlementV0.sol/IFilteredMinterDAExpSettlementV0.json +12 -12
  64. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlementV1.sol/IFilteredMinterDAExpSettlementV1.json +767 -0
  65. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlement_Mixin.sol/IFilteredMinterDAExpSettlement_Mixin.json +161 -0
  66. package/artifacts/contracts/interfaces/0.8.x/IMinterBaseV0.sol/IMinterBaseV0.json +24 -0
  67. package/artifacts/contracts/interfaces/0.8.x/IMinterFilterV0.sol/IMinterFilterV0.json +6 -0
  68. package/artifacts/contracts/interfaces/0.8.x/IMintingAPICoreV0.sol/IMintingAPICoreV0.json +185 -0
  69. package/artifacts/contracts/interfaces/0.8.x/IMintingAPIMinterV0.sol/IMintingAPIMinterV0.json +88 -0
  70. package/artifacts/contracts/interfaces/0.8.x/IRandomizerPolyptychV0.sol/IRandomizerPolyptychV0.json +87 -0
  71. package/artifacts/contracts/interfaces/0.8.x/IRandomizerV2.sol/IRandomizerV2.json +1 -1
  72. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV0.sol/MinterFilterV0.json +8 -2
  73. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +34 -2
  74. package/artifacts/contracts/minter-suite/Minters/MinterBase_v0_1_1.sol/MinterBase.json +24 -0
  75. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +1127 -0
  76. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV4.sol/MinterDAExpV4.json +882 -0
  77. package/artifacts/contracts/minter-suite/Minters/MinterDALinV4.sol/MinterDALinV4.json +858 -0
  78. package/artifacts/contracts/minter-suite/Minters/MinterHolderV4.sol/MinterHolderV4.json +1126 -0
  79. package/artifacts/contracts/minter-suite/Minters/MinterMerkleV5.sol/MinterMerkleV5.json +1065 -0
  80. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +662 -0
  81. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/MinterPolyptychV0.json +1268 -0
  82. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +768 -0
  83. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV4.sol/MinterSetPriceV4.json +697 -0
  84. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +1817 -0
  85. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +3 -3
  86. package/contracts/BasicPolyptychRandomizerV0.sol +126 -0
  87. package/contracts/BasicRandomizerV2.sol +3 -3
  88. package/contracts/archive/GenArt721CoreV0.sol +1621 -0
  89. package/contracts/archive/GenArt721CoreV1.sol +1577 -0
  90. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV0.sol +503 -0
  91. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV1.sol +442 -0
  92. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExp/MinterDAExpV2.sol +3 -3
  93. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExp/MinterDAExpV3.sol +3 -3
  94. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +3 -3
  95. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol +1026 -0
  96. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV0.sol +450 -0
  97. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV1.sol +406 -0
  98. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDALin/MinterDALinV2.sol +3 -3
  99. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDALin/MinterDALinV3.sol +3 -3
  100. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol +540 -0
  101. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol +648 -0
  102. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterHolder/MinterHolderV2.sol +6 -6
  103. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterHolder/MinterHolderV3.sol +4 -4
  104. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV0.sol +523 -0
  105. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol +602 -0
  106. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol +679 -0
  107. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterMerkle/MinterMerkleV3.sol +4 -4
  108. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterMerkle/MinterMerkleV4.sol +4 -4
  109. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV0.sol +333 -0
  110. package/contracts/{minter-suite/Minters/MinterSetPrice/deprecated → archive/minter-suite/Minters/MinterSetPrice}/MinterSetPriceV1.sol +0 -0
  111. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPrice/MinterSetPriceV2.sol +3 -3
  112. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPrice/MinterSetPriceV3.sol +3 -3
  113. package/contracts/{minter-suite/Minters/MinterSetPriceERC20/deprecated → archive/minter-suite/Minters/MinterSetPriceERC20}/MinterSetPriceERC20V0.sol +0 -0
  114. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol +411 -0
  115. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol +3 -3
  116. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol +3 -3
  117. package/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlementV0.sol +4 -53
  118. package/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlementV1.sol +21 -0
  119. package/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlement_Mixin.sol +62 -0
  120. package/contracts/interfaces/0.8.x/IMinterBaseV0.sol +20 -0
  121. package/contracts/interfaces/0.8.x/IMinterFilterV0.sol +6 -0
  122. package/contracts/interfaces/0.8.x/IMintingAPICoreV0.sol +62 -0
  123. package/contracts/interfaces/0.8.x/IMintingAPIMinterV0.sol +31 -0
  124. package/contracts/interfaces/0.8.x/IRandomizerPolyptychV0.sol +31 -0
  125. package/contracts/interfaces/0.8.x/IRandomizerV2.sol +5 -2
  126. package/contracts/minter-suite/MinterFilter/MinterFilterV1.sol +18 -0
  127. package/contracts/minter-suite/Minters/MinterBase_v0_1_1.sol +293 -0
  128. package/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol +1312 -0
  129. package/contracts/minter-suite/Minters/MinterDAExpV4.sol +600 -0
  130. package/contracts/minter-suite/Minters/MinterDALinV4.sol +552 -0
  131. package/contracts/minter-suite/Minters/MinterHolderV4.sol +781 -0
  132. package/contracts/minter-suite/Minters/MinterMerkleV5.sol +717 -0
  133. package/contracts/minter-suite/Minters/MinterPolyptychV0.sol +998 -0
  134. package/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol +480 -0
  135. package/contracts/minter-suite/Minters/MinterSetPriceV4.sol +380 -0
  136. package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +1979 -0
  137. package/package.json +8 -2
  138. package/artifacts/contracts/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +0 -794
@@ -0,0 +1,1126 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MinterHolderV4",
4
+ "sourceName": "contracts/minter-suite/Minters/MinterHolderV4.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_genArt721Address",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_minterFilter",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "_delegationRegistryAddress",
21
+ "type": "address"
22
+ }
23
+ ],
24
+ "stateMutability": "nonpayable",
25
+ "type": "constructor"
26
+ },
27
+ {
28
+ "anonymous": false,
29
+ "inputs": [
30
+ {
31
+ "indexed": true,
32
+ "internalType": "uint256",
33
+ "name": "_projectId",
34
+ "type": "uint256"
35
+ },
36
+ {
37
+ "indexed": false,
38
+ "internalType": "address[]",
39
+ "name": "_ownedNFTAddresses",
40
+ "type": "address[]"
41
+ },
42
+ {
43
+ "indexed": false,
44
+ "internalType": "uint256[]",
45
+ "name": "_ownedNFTProjectIds",
46
+ "type": "uint256[]"
47
+ }
48
+ ],
49
+ "name": "AllowedHoldersOfProjects",
50
+ "type": "event"
51
+ },
52
+ {
53
+ "anonymous": false,
54
+ "inputs": [
55
+ {
56
+ "indexed": true,
57
+ "internalType": "uint256",
58
+ "name": "_projectId",
59
+ "type": "uint256"
60
+ },
61
+ {
62
+ "indexed": false,
63
+ "internalType": "bytes32",
64
+ "name": "_key",
65
+ "type": "bytes32"
66
+ }
67
+ ],
68
+ "name": "ConfigKeyRemoved",
69
+ "type": "event"
70
+ },
71
+ {
72
+ "anonymous": false,
73
+ "inputs": [
74
+ {
75
+ "indexed": true,
76
+ "internalType": "uint256",
77
+ "name": "_projectId",
78
+ "type": "uint256"
79
+ },
80
+ {
81
+ "indexed": false,
82
+ "internalType": "bytes32",
83
+ "name": "_key",
84
+ "type": "bytes32"
85
+ },
86
+ {
87
+ "indexed": false,
88
+ "internalType": "uint256",
89
+ "name": "_value",
90
+ "type": "uint256"
91
+ }
92
+ ],
93
+ "name": "ConfigValueAddedToSet",
94
+ "type": "event"
95
+ },
96
+ {
97
+ "anonymous": false,
98
+ "inputs": [
99
+ {
100
+ "indexed": true,
101
+ "internalType": "uint256",
102
+ "name": "_projectId",
103
+ "type": "uint256"
104
+ },
105
+ {
106
+ "indexed": false,
107
+ "internalType": "bytes32",
108
+ "name": "_key",
109
+ "type": "bytes32"
110
+ },
111
+ {
112
+ "indexed": false,
113
+ "internalType": "address",
114
+ "name": "_value",
115
+ "type": "address"
116
+ }
117
+ ],
118
+ "name": "ConfigValueAddedToSet",
119
+ "type": "event"
120
+ },
121
+ {
122
+ "anonymous": false,
123
+ "inputs": [
124
+ {
125
+ "indexed": true,
126
+ "internalType": "uint256",
127
+ "name": "_projectId",
128
+ "type": "uint256"
129
+ },
130
+ {
131
+ "indexed": false,
132
+ "internalType": "bytes32",
133
+ "name": "_key",
134
+ "type": "bytes32"
135
+ },
136
+ {
137
+ "indexed": false,
138
+ "internalType": "bytes32",
139
+ "name": "_value",
140
+ "type": "bytes32"
141
+ }
142
+ ],
143
+ "name": "ConfigValueAddedToSet",
144
+ "type": "event"
145
+ },
146
+ {
147
+ "anonymous": false,
148
+ "inputs": [
149
+ {
150
+ "indexed": true,
151
+ "internalType": "uint256",
152
+ "name": "_projectId",
153
+ "type": "uint256"
154
+ },
155
+ {
156
+ "indexed": false,
157
+ "internalType": "bytes32",
158
+ "name": "_key",
159
+ "type": "bytes32"
160
+ },
161
+ {
162
+ "indexed": false,
163
+ "internalType": "uint256",
164
+ "name": "_value",
165
+ "type": "uint256"
166
+ }
167
+ ],
168
+ "name": "ConfigValueRemovedFromSet",
169
+ "type": "event"
170
+ },
171
+ {
172
+ "anonymous": false,
173
+ "inputs": [
174
+ {
175
+ "indexed": true,
176
+ "internalType": "uint256",
177
+ "name": "_projectId",
178
+ "type": "uint256"
179
+ },
180
+ {
181
+ "indexed": false,
182
+ "internalType": "bytes32",
183
+ "name": "_key",
184
+ "type": "bytes32"
185
+ },
186
+ {
187
+ "indexed": false,
188
+ "internalType": "address",
189
+ "name": "_value",
190
+ "type": "address"
191
+ }
192
+ ],
193
+ "name": "ConfigValueRemovedFromSet",
194
+ "type": "event"
195
+ },
196
+ {
197
+ "anonymous": false,
198
+ "inputs": [
199
+ {
200
+ "indexed": true,
201
+ "internalType": "uint256",
202
+ "name": "_projectId",
203
+ "type": "uint256"
204
+ },
205
+ {
206
+ "indexed": false,
207
+ "internalType": "bytes32",
208
+ "name": "_key",
209
+ "type": "bytes32"
210
+ },
211
+ {
212
+ "indexed": false,
213
+ "internalType": "bytes32",
214
+ "name": "_value",
215
+ "type": "bytes32"
216
+ }
217
+ ],
218
+ "name": "ConfigValueRemovedFromSet",
219
+ "type": "event"
220
+ },
221
+ {
222
+ "anonymous": false,
223
+ "inputs": [
224
+ {
225
+ "indexed": true,
226
+ "internalType": "uint256",
227
+ "name": "_projectId",
228
+ "type": "uint256"
229
+ },
230
+ {
231
+ "indexed": false,
232
+ "internalType": "bytes32",
233
+ "name": "_key",
234
+ "type": "bytes32"
235
+ },
236
+ {
237
+ "indexed": false,
238
+ "internalType": "bool",
239
+ "name": "_value",
240
+ "type": "bool"
241
+ }
242
+ ],
243
+ "name": "ConfigValueSet",
244
+ "type": "event"
245
+ },
246
+ {
247
+ "anonymous": false,
248
+ "inputs": [
249
+ {
250
+ "indexed": true,
251
+ "internalType": "uint256",
252
+ "name": "_projectId",
253
+ "type": "uint256"
254
+ },
255
+ {
256
+ "indexed": false,
257
+ "internalType": "bytes32",
258
+ "name": "_key",
259
+ "type": "bytes32"
260
+ },
261
+ {
262
+ "indexed": false,
263
+ "internalType": "uint256",
264
+ "name": "_value",
265
+ "type": "uint256"
266
+ }
267
+ ],
268
+ "name": "ConfigValueSet",
269
+ "type": "event"
270
+ },
271
+ {
272
+ "anonymous": false,
273
+ "inputs": [
274
+ {
275
+ "indexed": true,
276
+ "internalType": "uint256",
277
+ "name": "_projectId",
278
+ "type": "uint256"
279
+ },
280
+ {
281
+ "indexed": false,
282
+ "internalType": "bytes32",
283
+ "name": "_key",
284
+ "type": "bytes32"
285
+ },
286
+ {
287
+ "indexed": false,
288
+ "internalType": "address",
289
+ "name": "_value",
290
+ "type": "address"
291
+ }
292
+ ],
293
+ "name": "ConfigValueSet",
294
+ "type": "event"
295
+ },
296
+ {
297
+ "anonymous": false,
298
+ "inputs": [
299
+ {
300
+ "indexed": true,
301
+ "internalType": "uint256",
302
+ "name": "_projectId",
303
+ "type": "uint256"
304
+ },
305
+ {
306
+ "indexed": false,
307
+ "internalType": "bytes32",
308
+ "name": "_key",
309
+ "type": "bytes32"
310
+ },
311
+ {
312
+ "indexed": false,
313
+ "internalType": "bytes32",
314
+ "name": "_value",
315
+ "type": "bytes32"
316
+ }
317
+ ],
318
+ "name": "ConfigValueSet",
319
+ "type": "event"
320
+ },
321
+ {
322
+ "anonymous": false,
323
+ "inputs": [
324
+ {
325
+ "indexed": false,
326
+ "internalType": "address",
327
+ "name": "delegationRegistryAddress",
328
+ "type": "address"
329
+ }
330
+ ],
331
+ "name": "DelegationRegistryUpdated",
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": "uint256",
346
+ "name": "_pricePerTokenInWei",
347
+ "type": "uint256"
348
+ }
349
+ ],
350
+ "name": "PricePerTokenInWeiUpdated",
351
+ "type": "event"
352
+ },
353
+ {
354
+ "anonymous": false,
355
+ "inputs": [
356
+ {
357
+ "indexed": true,
358
+ "internalType": "uint256",
359
+ "name": "_projectId",
360
+ "type": "uint256"
361
+ },
362
+ {
363
+ "indexed": true,
364
+ "internalType": "address",
365
+ "name": "_currencyAddress",
366
+ "type": "address"
367
+ },
368
+ {
369
+ "indexed": false,
370
+ "internalType": "string",
371
+ "name": "_currencySymbol",
372
+ "type": "string"
373
+ }
374
+ ],
375
+ "name": "ProjectCurrencyInfoUpdated",
376
+ "type": "event"
377
+ },
378
+ {
379
+ "anonymous": false,
380
+ "inputs": [
381
+ {
382
+ "indexed": true,
383
+ "internalType": "uint256",
384
+ "name": "_projectId",
385
+ "type": "uint256"
386
+ },
387
+ {
388
+ "indexed": false,
389
+ "internalType": "uint256",
390
+ "name": "_maxInvocations",
391
+ "type": "uint256"
392
+ }
393
+ ],
394
+ "name": "ProjectMaxInvocationsLimitUpdated",
395
+ "type": "event"
396
+ },
397
+ {
398
+ "anonymous": false,
399
+ "inputs": [
400
+ {
401
+ "indexed": true,
402
+ "internalType": "uint256",
403
+ "name": "_projectId",
404
+ "type": "uint256"
405
+ },
406
+ {
407
+ "indexed": false,
408
+ "internalType": "bool",
409
+ "name": "_purchaseToDisabled",
410
+ "type": "bool"
411
+ }
412
+ ],
413
+ "name": "PurchaseToDisabledUpdated",
414
+ "type": "event"
415
+ },
416
+ {
417
+ "anonymous": false,
418
+ "inputs": [
419
+ {
420
+ "indexed": true,
421
+ "internalType": "address",
422
+ "name": "_NFTAddress",
423
+ "type": "address"
424
+ }
425
+ ],
426
+ "name": "RegisteredNFTAddress",
427
+ "type": "event"
428
+ },
429
+ {
430
+ "anonymous": false,
431
+ "inputs": [
432
+ {
433
+ "indexed": true,
434
+ "internalType": "uint256",
435
+ "name": "_projectId",
436
+ "type": "uint256"
437
+ },
438
+ {
439
+ "indexed": false,
440
+ "internalType": "address[]",
441
+ "name": "_ownedNFTAddresses",
442
+ "type": "address[]"
443
+ },
444
+ {
445
+ "indexed": false,
446
+ "internalType": "uint256[]",
447
+ "name": "_ownedNFTProjectIds",
448
+ "type": "uint256[]"
449
+ }
450
+ ],
451
+ "name": "RemovedHoldersOfProjects",
452
+ "type": "event"
453
+ },
454
+ {
455
+ "anonymous": false,
456
+ "inputs": [
457
+ {
458
+ "indexed": true,
459
+ "internalType": "address",
460
+ "name": "_NFTAddress",
461
+ "type": "address"
462
+ }
463
+ ],
464
+ "name": "UnregisteredNFTAddress",
465
+ "type": "event"
466
+ },
467
+ {
468
+ "inputs": [
469
+ {
470
+ "internalType": "uint256",
471
+ "name": "_projectId",
472
+ "type": "uint256"
473
+ },
474
+ {
475
+ "internalType": "address[]",
476
+ "name": "_ownedNFTAddresses",
477
+ "type": "address[]"
478
+ },
479
+ {
480
+ "internalType": "uint256[]",
481
+ "name": "_ownedNFTProjectIds",
482
+ "type": "uint256[]"
483
+ }
484
+ ],
485
+ "name": "allowHoldersOfProjects",
486
+ "outputs": [],
487
+ "stateMutability": "nonpayable",
488
+ "type": "function"
489
+ },
490
+ {
491
+ "inputs": [
492
+ {
493
+ "internalType": "uint256",
494
+ "name": "_projectId",
495
+ "type": "uint256"
496
+ },
497
+ {
498
+ "internalType": "address[]",
499
+ "name": "_ownedNFTAddressesAdd",
500
+ "type": "address[]"
501
+ },
502
+ {
503
+ "internalType": "uint256[]",
504
+ "name": "_ownedNFTProjectIdsAdd",
505
+ "type": "uint256[]"
506
+ },
507
+ {
508
+ "internalType": "address[]",
509
+ "name": "_ownedNFTAddressesRemove",
510
+ "type": "address[]"
511
+ },
512
+ {
513
+ "internalType": "uint256[]",
514
+ "name": "_ownedNFTProjectIdsRemove",
515
+ "type": "uint256[]"
516
+ }
517
+ ],
518
+ "name": "allowRemoveHoldersOfProjects",
519
+ "outputs": [],
520
+ "stateMutability": "nonpayable",
521
+ "type": "function"
522
+ },
523
+ {
524
+ "inputs": [
525
+ {
526
+ "internalType": "uint256",
527
+ "name": "",
528
+ "type": "uint256"
529
+ },
530
+ {
531
+ "internalType": "address",
532
+ "name": "",
533
+ "type": "address"
534
+ },
535
+ {
536
+ "internalType": "uint256",
537
+ "name": "",
538
+ "type": "uint256"
539
+ }
540
+ ],
541
+ "name": "allowedProjectHolders",
542
+ "outputs": [
543
+ {
544
+ "internalType": "bool",
545
+ "name": "",
546
+ "type": "bool"
547
+ }
548
+ ],
549
+ "stateMutability": "view",
550
+ "type": "function"
551
+ },
552
+ {
553
+ "inputs": [],
554
+ "name": "delegationRegistryAddress",
555
+ "outputs": [
556
+ {
557
+ "internalType": "address",
558
+ "name": "",
559
+ "type": "address"
560
+ }
561
+ ],
562
+ "stateMutability": "view",
563
+ "type": "function"
564
+ },
565
+ {
566
+ "inputs": [],
567
+ "name": "genArt721CoreAddress",
568
+ "outputs": [
569
+ {
570
+ "internalType": "address",
571
+ "name": "",
572
+ "type": "address"
573
+ }
574
+ ],
575
+ "stateMutability": "view",
576
+ "type": "function"
577
+ },
578
+ {
579
+ "inputs": [],
580
+ "name": "getNumRegisteredNFTAddresses",
581
+ "outputs": [
582
+ {
583
+ "internalType": "uint256",
584
+ "name": "",
585
+ "type": "uint256"
586
+ }
587
+ ],
588
+ "stateMutability": "view",
589
+ "type": "function"
590
+ },
591
+ {
592
+ "inputs": [
593
+ {
594
+ "internalType": "uint256",
595
+ "name": "_projectId",
596
+ "type": "uint256"
597
+ }
598
+ ],
599
+ "name": "getPriceInfo",
600
+ "outputs": [
601
+ {
602
+ "internalType": "bool",
603
+ "name": "isConfigured",
604
+ "type": "bool"
605
+ },
606
+ {
607
+ "internalType": "uint256",
608
+ "name": "tokenPriceInWei",
609
+ "type": "uint256"
610
+ },
611
+ {
612
+ "internalType": "string",
613
+ "name": "currencySymbol",
614
+ "type": "string"
615
+ },
616
+ {
617
+ "internalType": "address",
618
+ "name": "currencyAddress",
619
+ "type": "address"
620
+ }
621
+ ],
622
+ "stateMutability": "view",
623
+ "type": "function"
624
+ },
625
+ {
626
+ "inputs": [
627
+ {
628
+ "internalType": "uint256",
629
+ "name": "_index",
630
+ "type": "uint256"
631
+ }
632
+ ],
633
+ "name": "getRegisteredNFTAddressAt",
634
+ "outputs": [
635
+ {
636
+ "internalType": "address",
637
+ "name": "NFTAddress",
638
+ "type": "address"
639
+ }
640
+ ],
641
+ "stateMutability": "view",
642
+ "type": "function"
643
+ },
644
+ {
645
+ "inputs": [
646
+ {
647
+ "internalType": "uint256",
648
+ "name": "_projectId",
649
+ "type": "uint256"
650
+ },
651
+ {
652
+ "internalType": "address",
653
+ "name": "_ownedNFTAddress",
654
+ "type": "address"
655
+ },
656
+ {
657
+ "internalType": "uint256",
658
+ "name": "_ownedNFTTokenId",
659
+ "type": "uint256"
660
+ }
661
+ ],
662
+ "name": "isAllowlistedNFT",
663
+ "outputs": [
664
+ {
665
+ "internalType": "bool",
666
+ "name": "",
667
+ "type": "bool"
668
+ }
669
+ ],
670
+ "stateMutability": "view",
671
+ "type": "function"
672
+ },
673
+ {
674
+ "inputs": [],
675
+ "name": "isEngine",
676
+ "outputs": [
677
+ {
678
+ "internalType": "bool",
679
+ "name": "",
680
+ "type": "bool"
681
+ }
682
+ ],
683
+ "stateMutability": "view",
684
+ "type": "function"
685
+ },
686
+ {
687
+ "inputs": [
688
+ {
689
+ "internalType": "uint256",
690
+ "name": "_projectId",
691
+ "type": "uint256"
692
+ },
693
+ {
694
+ "internalType": "uint256",
695
+ "name": "_maxInvocations",
696
+ "type": "uint256"
697
+ }
698
+ ],
699
+ "name": "manuallyLimitProjectMaxInvocations",
700
+ "outputs": [],
701
+ "stateMutability": "nonpayable",
702
+ "type": "function"
703
+ },
704
+ {
705
+ "inputs": [],
706
+ "name": "minterFilterAddress",
707
+ "outputs": [
708
+ {
709
+ "internalType": "address",
710
+ "name": "",
711
+ "type": "address"
712
+ }
713
+ ],
714
+ "stateMutability": "view",
715
+ "type": "function"
716
+ },
717
+ {
718
+ "inputs": [],
719
+ "name": "minterType",
720
+ "outputs": [
721
+ {
722
+ "internalType": "string",
723
+ "name": "",
724
+ "type": "string"
725
+ }
726
+ ],
727
+ "stateMutability": "view",
728
+ "type": "function"
729
+ },
730
+ {
731
+ "inputs": [],
732
+ "name": "minterVersion",
733
+ "outputs": [
734
+ {
735
+ "internalType": "string",
736
+ "name": "",
737
+ "type": "string"
738
+ }
739
+ ],
740
+ "stateMutability": "view",
741
+ "type": "function"
742
+ },
743
+ {
744
+ "inputs": [
745
+ {
746
+ "internalType": "uint256",
747
+ "name": "",
748
+ "type": "uint256"
749
+ }
750
+ ],
751
+ "name": "projectConfig",
752
+ "outputs": [
753
+ {
754
+ "internalType": "bool",
755
+ "name": "maxHasBeenInvoked",
756
+ "type": "bool"
757
+ },
758
+ {
759
+ "internalType": "bool",
760
+ "name": "priceIsConfigured",
761
+ "type": "bool"
762
+ },
763
+ {
764
+ "internalType": "uint24",
765
+ "name": "maxInvocations",
766
+ "type": "uint24"
767
+ },
768
+ {
769
+ "internalType": "uint256",
770
+ "name": "pricePerTokenInWei",
771
+ "type": "uint256"
772
+ }
773
+ ],
774
+ "stateMutability": "view",
775
+ "type": "function"
776
+ },
777
+ {
778
+ "inputs": [
779
+ {
780
+ "internalType": "uint256",
781
+ "name": "_projectId",
782
+ "type": "uint256"
783
+ }
784
+ ],
785
+ "name": "projectMaxHasBeenInvoked",
786
+ "outputs": [
787
+ {
788
+ "internalType": "bool",
789
+ "name": "",
790
+ "type": "bool"
791
+ }
792
+ ],
793
+ "stateMutability": "view",
794
+ "type": "function"
795
+ },
796
+ {
797
+ "inputs": [
798
+ {
799
+ "internalType": "uint256",
800
+ "name": "_projectId",
801
+ "type": "uint256"
802
+ }
803
+ ],
804
+ "name": "projectMaxInvocations",
805
+ "outputs": [
806
+ {
807
+ "internalType": "uint256",
808
+ "name": "",
809
+ "type": "uint256"
810
+ }
811
+ ],
812
+ "stateMutability": "view",
813
+ "type": "function"
814
+ },
815
+ {
816
+ "inputs": [
817
+ {
818
+ "internalType": "uint256",
819
+ "name": "_projectId",
820
+ "type": "uint256"
821
+ },
822
+ {
823
+ "internalType": "address",
824
+ "name": "_ownedNFTAddress",
825
+ "type": "address"
826
+ },
827
+ {
828
+ "internalType": "uint256",
829
+ "name": "_ownedNFTTokenId",
830
+ "type": "uint256"
831
+ }
832
+ ],
833
+ "name": "purchase",
834
+ "outputs": [
835
+ {
836
+ "internalType": "uint256",
837
+ "name": "tokenId",
838
+ "type": "uint256"
839
+ }
840
+ ],
841
+ "stateMutability": "payable",
842
+ "type": "function"
843
+ },
844
+ {
845
+ "inputs": [
846
+ {
847
+ "internalType": "uint256",
848
+ "name": "",
849
+ "type": "uint256"
850
+ }
851
+ ],
852
+ "name": "purchase",
853
+ "outputs": [
854
+ {
855
+ "internalType": "uint256",
856
+ "name": "",
857
+ "type": "uint256"
858
+ }
859
+ ],
860
+ "stateMutability": "payable",
861
+ "type": "function"
862
+ },
863
+ {
864
+ "inputs": [
865
+ {
866
+ "internalType": "address",
867
+ "name": "_to",
868
+ "type": "address"
869
+ },
870
+ {
871
+ "internalType": "uint256",
872
+ "name": "_projectId",
873
+ "type": "uint256"
874
+ },
875
+ {
876
+ "internalType": "address",
877
+ "name": "_ownedNFTAddress",
878
+ "type": "address"
879
+ },
880
+ {
881
+ "internalType": "uint256",
882
+ "name": "_ownedNFTTokenId",
883
+ "type": "uint256"
884
+ },
885
+ {
886
+ "internalType": "address",
887
+ "name": "_vault",
888
+ "type": "address"
889
+ }
890
+ ],
891
+ "name": "purchaseTo",
892
+ "outputs": [
893
+ {
894
+ "internalType": "uint256",
895
+ "name": "tokenId",
896
+ "type": "uint256"
897
+ }
898
+ ],
899
+ "stateMutability": "payable",
900
+ "type": "function"
901
+ },
902
+ {
903
+ "inputs": [
904
+ {
905
+ "internalType": "address",
906
+ "name": "",
907
+ "type": "address"
908
+ },
909
+ {
910
+ "internalType": "uint256",
911
+ "name": "",
912
+ "type": "uint256"
913
+ }
914
+ ],
915
+ "name": "purchaseTo",
916
+ "outputs": [
917
+ {
918
+ "internalType": "uint256",
919
+ "name": "",
920
+ "type": "uint256"
921
+ }
922
+ ],
923
+ "stateMutability": "payable",
924
+ "type": "function"
925
+ },
926
+ {
927
+ "inputs": [
928
+ {
929
+ "internalType": "address",
930
+ "name": "_to",
931
+ "type": "address"
932
+ },
933
+ {
934
+ "internalType": "uint256",
935
+ "name": "_projectId",
936
+ "type": "uint256"
937
+ },
938
+ {
939
+ "internalType": "address",
940
+ "name": "_ownedNFTAddress",
941
+ "type": "address"
942
+ },
943
+ {
944
+ "internalType": "uint256",
945
+ "name": "_ownedNFTTokenId",
946
+ "type": "uint256"
947
+ }
948
+ ],
949
+ "name": "purchaseTo",
950
+ "outputs": [
951
+ {
952
+ "internalType": "uint256",
953
+ "name": "tokenId",
954
+ "type": "uint256"
955
+ }
956
+ ],
957
+ "stateMutability": "payable",
958
+ "type": "function"
959
+ },
960
+ {
961
+ "inputs": [
962
+ {
963
+ "internalType": "address",
964
+ "name": "_to",
965
+ "type": "address"
966
+ },
967
+ {
968
+ "internalType": "uint256",
969
+ "name": "_projectId",
970
+ "type": "uint256"
971
+ },
972
+ {
973
+ "internalType": "address",
974
+ "name": "_ownedNFTAddress",
975
+ "type": "address"
976
+ },
977
+ {
978
+ "internalType": "uint256",
979
+ "name": "_ownedNFTTokenId",
980
+ "type": "uint256"
981
+ },
982
+ {
983
+ "internalType": "address",
984
+ "name": "_vault",
985
+ "type": "address"
986
+ }
987
+ ],
988
+ "name": "purchaseTo_dlc",
989
+ "outputs": [
990
+ {
991
+ "internalType": "uint256",
992
+ "name": "tokenId",
993
+ "type": "uint256"
994
+ }
995
+ ],
996
+ "stateMutability": "payable",
997
+ "type": "function"
998
+ },
999
+ {
1000
+ "inputs": [
1001
+ {
1002
+ "internalType": "uint256",
1003
+ "name": "_projectId",
1004
+ "type": "uint256"
1005
+ },
1006
+ {
1007
+ "internalType": "address",
1008
+ "name": "_ownedNFTAddress",
1009
+ "type": "address"
1010
+ },
1011
+ {
1012
+ "internalType": "uint256",
1013
+ "name": "_ownedNFTTokenId",
1014
+ "type": "uint256"
1015
+ }
1016
+ ],
1017
+ "name": "purchase_nnf",
1018
+ "outputs": [
1019
+ {
1020
+ "internalType": "uint256",
1021
+ "name": "tokenId",
1022
+ "type": "uint256"
1023
+ }
1024
+ ],
1025
+ "stateMutability": "payable",
1026
+ "type": "function"
1027
+ },
1028
+ {
1029
+ "inputs": [
1030
+ {
1031
+ "internalType": "address",
1032
+ "name": "_NFTAddress",
1033
+ "type": "address"
1034
+ }
1035
+ ],
1036
+ "name": "registerNFTAddress",
1037
+ "outputs": [],
1038
+ "stateMutability": "nonpayable",
1039
+ "type": "function"
1040
+ },
1041
+ {
1042
+ "inputs": [
1043
+ {
1044
+ "internalType": "uint256",
1045
+ "name": "_projectId",
1046
+ "type": "uint256"
1047
+ },
1048
+ {
1049
+ "internalType": "address[]",
1050
+ "name": "_ownedNFTAddresses",
1051
+ "type": "address[]"
1052
+ },
1053
+ {
1054
+ "internalType": "uint256[]",
1055
+ "name": "_ownedNFTProjectIds",
1056
+ "type": "uint256[]"
1057
+ }
1058
+ ],
1059
+ "name": "removeHoldersOfProjects",
1060
+ "outputs": [],
1061
+ "stateMutability": "nonpayable",
1062
+ "type": "function"
1063
+ },
1064
+ {
1065
+ "inputs": [
1066
+ {
1067
+ "internalType": "uint256",
1068
+ "name": "_projectId",
1069
+ "type": "uint256"
1070
+ }
1071
+ ],
1072
+ "name": "setProjectMaxInvocations",
1073
+ "outputs": [],
1074
+ "stateMutability": "nonpayable",
1075
+ "type": "function"
1076
+ },
1077
+ {
1078
+ "inputs": [
1079
+ {
1080
+ "internalType": "uint256",
1081
+ "name": "_projectId",
1082
+ "type": "uint256"
1083
+ }
1084
+ ],
1085
+ "name": "togglePurchaseToDisabled",
1086
+ "outputs": [],
1087
+ "stateMutability": "view",
1088
+ "type": "function"
1089
+ },
1090
+ {
1091
+ "inputs": [
1092
+ {
1093
+ "internalType": "address",
1094
+ "name": "_NFTAddress",
1095
+ "type": "address"
1096
+ }
1097
+ ],
1098
+ "name": "unregisterNFTAddress",
1099
+ "outputs": [],
1100
+ "stateMutability": "nonpayable",
1101
+ "type": "function"
1102
+ },
1103
+ {
1104
+ "inputs": [
1105
+ {
1106
+ "internalType": "uint256",
1107
+ "name": "_projectId",
1108
+ "type": "uint256"
1109
+ },
1110
+ {
1111
+ "internalType": "uint256",
1112
+ "name": "_pricePerTokenInWei",
1113
+ "type": "uint256"
1114
+ }
1115
+ ],
1116
+ "name": "updatePricePerTokenInWei",
1117
+ "outputs": [],
1118
+ "stateMutability": "nonpayable",
1119
+ "type": "function"
1120
+ }
1121
+ ],
1122
+ "bytecode": "0x6101606040523480156200001257600080fd5b5060405162002c8038038062002c80833981016040819052620000359162000322565b600160005582620000468162000184565b1515608052506001600160a01b0383811660e081905261010052811660a08190526040519081527f836360d1b094a7de3c3eab3d1185f3a5939467c23d4a12709dbdbf8c8d7e2f3b9060200160405180910390a16001600160a01b0380821660c052828116610120819052610140819052604080516392a10f8360e01b81529051928616926392a10f839160048082019260209290919082900301816000875af1158015620000f9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200011f91906200036c565b6001600160a01b0316146200017b5760405162461bcd60e51b815260206004820152601860248201527f496c6c6567616c20636f6e74726163742070616972696e67000000000000000060448201526064015b60405180910390fd5b505050620003c2565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03861690620001e890859062000391565b6000604051808303816000865af19150503d806000811462000227576040519150601f19603f3d011682016040523d82523d6000602084013e6200022c565b606091505b5091509150816200028e5760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b606482015260840162000172565b805160c0819003620002a65750600095945050505050565b8061010003620002bc5750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c69742062797465730000604482015260640162000172565b80516001600160a01b03811681146200031d57600080fd5b919050565b6000806000606084860312156200033857600080fd5b620003438462000305565b9250620003536020850162000305565b9150620003636040850162000305565b90509250925092565b6000602082840312156200037f57600080fd5b6200038a8262000305565b9392505050565b6000825160005b81811015620003b4576020818601810151858301520162000398565b506000920191825250919050565b60805160a05160c05160e05161010051610120516101405161280f620004716000396000610979015260006105bc015260008181610b8f01528181610c8301528181610d4901528181610f7a015281816110740152818161115501528181611249015281816113820152818161164d01526118bf0152600081816103e4015281816108580152610b220152600061088a015260006104980152600081816105880152611ade015261280f6000f3fe6080604052600436106101695760003560e01c806390d355b7116100c757806390d355b71461039157806392a10f83146103d257806399c0bbdc1461041e578063a647300c14610433578063b00abb6414610453578063bc8ff00114610466578063bf5bf5f814610486578063c71b1b71146104ba578063d3ddabe614610537578063db6921b214610576578063dd85582f146105aa578063e2849bd5146105de578063e9d1e8ac146105fe578063efef39a114610638578063f7bd4b881461064657600080fd5b806111cd1461016e578061aa52146101945780630ed79c4e146101a75780631607c995146101c957806328c5c4e5146101e957806340d1397e146101fc578063462add461461021c5780634fd1b70e1461025c5780634ff5759d1461027c57806356690aaf1461029c578063650e5d6d146101945780636cb9b7ff146102d4578063774159c6146102f45780637994db091461035e578063891407c01461037e575b600080fd5b61018161017c366004612039565b610666565b6040519081526020015b60405180910390f35b6101816101a2366004612098565b610b57565b3480156101b357600080fd5b506101c76101c23660046120d0565b610b6f565b005b3480156101d557600080fd5b506101c76101e43660046120ed565b610c6b565b6101816101f7366004612039565b610f49565b34801561020857600080fd5b506101c761021736600461210f565b610f62565b34801561022857600080fd5b5061024c61023736600461210f565b60009081526001602052604090205460ff1690565b604051901515815260200161018b565b34801561026857600080fd5b506101c7610277366004612260565b61105c565b34801561028857600080fd5b506101c76102973660046120d0565b611135565b3480156102a857600080fd5b506101816102b736600461210f565b60009081526001602052604090205462010000900462ffffff1690565b3480156102e057600080fd5b506101c76102ef3660046120ed565b611231565b34801561030057600080fd5b5061034e61030f36600461210f565b600090815260016020818152604080842080549301548151808301909252600382526208aa8960eb1b9282019290925261010090920460ff1693909290565b60405161018b949392919061235c565b34801561036a57600080fd5b506101c7610379366004612396565b61136a565b61018161038c366004612402565b6115de565b34801561039d57600080fd5b5061024c6103ac366004612098565b600460209081526000938452604080852082529284528284209052825290205460ff1681565b3480156103de57600080fd5b506104067f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161018b565b34801561042a57600080fd5b50610181611624565b34801561043f57600080fd5b506101c761044e366004612396565b611635565b61018161046136600461242e565b61182b565b34801561047257600080fd5b5061040661048136600461210f565b611844565b34801561049257600080fd5b506104067f000000000000000000000000000000000000000000000000000000000000000081565b3480156104c657600080fd5b5061050a6104d536600461210f565b6001602081905260009182526040909120805491015460ff808316926101008104909116916201000090910462ffffff169084565b60405161018b94939291909315158452911515602084015262ffffff166040830152606082015260800190565b34801561054357600080fd5b5061056960405180604001604052806006815260200165076342e312e360d41b81525081565b60405161018b9190612476565b34801561058257600080fd5b5061024c7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105b657600080fd5b506104067f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ea57600080fd5b5061024c6105f9366004612098565b611857565b34801561060a57600080fd5b506105696040518060400160405280600e81526020016d135a5b9d195c921bdb19195c958d60921b81525081565b61018161038c36600461210f565b34801561065257600080fd5b506101c761066136600461210f565b61189c565b60006002600054036106bf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000908155858152600160205260409020805460ff16156107325760405162461bcd60e51b815260206004820152602560248201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656044820152641858da195960da1b60648201526084016106b6565b6001810154348111156107875760405162461bcd60e51b815260206004820181905260248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e742160448201526064016106b6565b8154610100900460ff166107d45760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b60448201526064016106b6565b6107df878787611857565b6108235760405162461bcd60e51b81526020600482015260156024820152744f6e6c7920616c6c6f776c6973746564204e46547360581b60448201526064016106b6565b336001600160a01b0385161561094b57604051631574d39f60e31b81523360048201526001600160a01b0386811660248301527f000000000000000000000000000000000000000000000000000000000000000081166044830152606482018890526000917f00000000000000000000000000000000000000000000000000000000000000009091169063aba69cf890608401602060405180830381865afa1580156108d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f7919061249e565b9050806109465760405162461bcd60e51b815260206004820152601e60248201527f496e76616c69642064656c65676174652d7661756c742070616972696e67000060448201526064016106b6565b859150505b604051630d4d151360e01b81526001600160a01b038a81166004830152602482018a905282811660448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d1513906064016020604051808303816000875af11580156109c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e691906124b9565b8354909450620f424085066001019062010000900462ffffff1680821115610a4e5760405162461bcd60e51b815260206004820152601b60248201527a13585e1a5b5d5b481a5b9d9bd8d85d1a5bdb9cc81c995858da1959602a1b60448201526064016106b6565b808203610a6157845460ff191660011785555b50506040516331a9108f60e11b8152600481018790526001600160a01b038083169190891690636352211e90602401602060405180830381865afa158015610aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad191906124d2565b6001600160a01b031614610b1b5760405162461bcd60e51b815260206004820152601160248201527013db9b1e481bdddb995c881bd988139195607a1b60448201526064016106b6565b610b4688837f00000000000000000000000000000000000000000000000000000000000000006119a5565b505050600160005595945050505050565b6000610b67338585856000610666565b949350505050565b60405163230448b160e01b815263076bce2760e11b906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063230448b190610bc8903390309086906004016124ef565b6020604051808303816000875af1158015610be7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0b919061249e565b610c275760405162461bcd60e51b81526004016106b69061251c565b610c32600283611a5b565b506040516001600160a01b038316907f7475e948f72f2714b1984b09949d13da2ddbae9f91e31da0faa380c0095b971c90600090a25050565b60405163a47d29cb60e01b81526004810183905282907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610cd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf691906124d2565b6001600160a01b0316336001600160a01b031614610d265760405162461bcd60e51b81526004016106b690612550565b604051630ea5613f60e01b81526004810184905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa158015610d90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db49190612575565b5092955092935050505081841115610e545760405162461bcd60e51b815260206004820152605760248201527f43616e6e6f7420696e6372656173652070726f6a656374206d617820696e766f60448201527f636174696f6e732061626f766520636f726520636f6e7472616374207365742060648201527670726f6a656374206d617820696e766f636174696f6e7360481b608482015260a4016106b6565b80841015610ed65760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207365742070726f6a656374206d617820696e766f636174696f60448201527f6e7320746f206c657373207468616e2063757272656e7420696e766f636174696064820152626f6e7360e81b608482015260a4016106b6565b60008581526001602052604090819020805460ff1962ffffff881662010000021664ffffff00ff19909116178387141790555185907f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b190610f3a9087815260200190565b60405180910390a25050505050565b6000610f588686868686610666565b9695505050505050565b60405163a47d29cb60e01b81526004810182905281907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610fc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fed91906124d2565b6001600160a01b0316336001600160a01b03161461101d5760405162461bcd60e51b81526004016106b690612550565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b60448201526064016106b6565b60405163a47d29cb60e01b81526004810186905285907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa1580156110c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e791906124d2565b6001600160a01b0316336001600160a01b0316146111175760405162461bcd60e51b81526004016106b690612550565b61112286868661136a565b61112d868484611635565b505050505050565b60405163230448b160e01b8152634ff5759d60e01b906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063230448b19061118e903390309086906004016124ef565b6020604051808303816000875af11580156111ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d1919061249e565b6111ed5760405162461bcd60e51b81526004016106b69061251c565b6111f8600283611a77565b506040516001600160a01b038316907f16e28d6cac0e892c58cee90af3dc883220abe36e25201d7117c4f3aaabf1c3f090600090a25050565b60405163a47d29cb60e01b81526004810183905282907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015611298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bc91906124d2565b6001600160a01b0316336001600160a01b0316146112ec5760405162461bcd60e51b81526004016106b690612550565b6000838152600160208190526040808320918201859055815461ff001916610100178255519091849186917f26118a27aca826f829f3bfe21b140b4455c00b434849bd0da50d1e1a9720fb5c91a3805462010000900462ffffff161580156113565750805460ff16155b15611364576113648461189c565b50505050565b60405163a47d29cb60e01b81526004810184905283907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa1580156113d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f591906124d2565b6001600160a01b0316336001600160a01b0316146114255760405162461bcd60e51b81526004016106b690612550565b81518351146114765760405162461bcd60e51b815260206004820152601f60248201527f4c656e677468206f662061646420617272617973206d757374206d617463680060448201526064016106b6565b60005b835181101561159d576114af848281518110611497576114976125d4565b60200260200101516002611a8c90919063ffffffff16565b6114fb5760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c792052656769737465726564204e46542041646472657373657300000060448201526064016106b6565b6000858152600460205260408120855160019290879085908110611521576115216125d4565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600085848151811061155d5761155d6125d4565b6020026020010151815260200190815260200160002060006101000a81548160ff021916908315150217905550808061159590612600565b915050611479565b50837fba2ec6d92cd62364c8e443b484b3e1f72f1ee9e161c1f871de1a60d83c89558b84846040516115d0929190612619565b60405180910390a250505050565b60405162461bcd60e51b815260206004820152601860248201527704d75737420636c61696d204e4654206f776e6572736869760441b60448201526000906064016106b6565b60006116306002611aae565b905090565b60405163a47d29cb60e01b81526004810184905283907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa15801561169c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c091906124d2565b6001600160a01b0316336001600160a01b0316146116f05760405162461bcd60e51b81526004016106b690612550565b815183511461174c5760405162461bcd60e51b815260206004820152602260248201527f4c656e677468206f662072656d6f766520617272617973206d757374206d61746044820152610c6d60f31b60648201526084016106b6565b60005b83518110156117f85760008581526004602052604081208551829087908590811061177c5761177c6125d4565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008584815181106117b8576117b86125d4565b6020026020010151815260200190815260200160002060006101000a81548160ff02191690831515021790555080806117f090612600565b91505061174f565b50837f2e3dced83b61aee20d72f4bdc7e6997a0f8616af4067d3aa92afe2b9b0532d1c84846040516115d0929190612619565b600061183b858585856000610666565b95945050505050565b6000611851600283611ab8565b92915050565b600080611867620f42408461269d565b60009586526004602090815260408088206001600160a01b039790971688529581528587209187525250505090205460ff1690565b604051630ea5613f60e01b81526004810182905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa158015611906573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061192a9190612575565b50505060008681526001602052604090819020805460ff1962ffffff861662010000021664ffffff00ff1990911617858514179055519194509192508491507f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b1906119989085815260200190565b60405180910390a2505050565b3415611a56576000806119b884346126bf565b90508015611a485760405133908290600081818185875af1925050503d8060008114611a00576040519150601f19603f3d011682016040523d82523d6000602084013e611a05565b606091505b50508092505081611a485760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b60448201526064016106b6565b611a53858585611ac4565b50505b505050565b6000611a70836001600160a01b038416611eb5565b9392505050565b6000611a70836001600160a01b038416611f04565b6001600160a01b03811660009081526001830160205260408120541515611a70565b6000611851825490565b6000611a708383611ff7565b60008211611ad157505050565b60008060008060008060007f000000000000000000000000000000000000000000000000000000000000000015611c3c57604051638639415b60e01b8152600481018b9052602481018a905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa158015611b54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b7891906126d2565b969e50949c50909a50985091965091945090925090508115611c35576040516001600160a01b038216908390600081818185875af1925050503d8060008114611bdd576040519150601f19603f3d011682016040523d82523d6000602084013e611be2565b606091505b50508099505088611c355760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c656460448201526064016106b6565b5050611cbc565b604051638639415b60e01b8152600481018b9052602481018a90526001600160a01b03891690638639415b9060440160c060405180830381865afa158015611c88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cac919061275a565b949a509298509096509450925090505b8515611d63576040516001600160a01b038616908790600081818185875af1925050503d8060008114611d0b576040519150601f19603f3d011682016040523d82523d6000602084013e611d10565b606091505b50508097505086611d635760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c6564000060448201526064016106b6565b8315611e02576040516001600160a01b038416908590600081818185875af1925050503d8060008114611db2576040519150601f19603f3d011682016040523d82523d6000602084013e611db7565b606091505b50508097505086611e025760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b60448201526064016106b6565b8115611ea9576040516001600160a01b038216908390600081818185875af1925050503d8060008114611e51576040519150601f19603f3d011682016040523d82523d6000602084013e611e56565b606091505b50508097505086611ea95760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c65640060448201526064016106b6565b50505050505050505050565b6000818152600183016020526040812054611efc57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611851565b506000611851565b60008181526001830160205260408120548015611fed576000611f286001836126bf565b8554909150600090611f3c906001906126bf565b9050818114611fa1576000866000018281548110611f5c57611f5c6125d4565b9060005260206000200154905080876000018481548110611f7f57611f7f6125d4565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611fb257611fb26127c3565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050611851565b6000915050611851565b600082600001828154811061200e5761200e6125d4565b9060005260206000200154905092915050565b6001600160a01b038116811461203657600080fd5b50565b600080600080600060a0868803121561205157600080fd5b853561205c81612021565b945060208601359350604086013561207381612021565b925060608601359150608086013561208a81612021565b809150509295509295909350565b6000806000606084860312156120ad57600080fd5b8335925060208401356120bf81612021565b929592945050506040919091013590565b6000602082840312156120e257600080fd5b8135611a7081612021565b6000806040838503121561210057600080fd5b50508035926020909101359150565b60006020828403121561212157600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561216657612166612128565b604052919050565b60006001600160401b0382111561218757612187612128565b5060051b60200190565b600082601f8301126121a257600080fd5b813560206121b76121b28361216e565b61213e565b82815260059290921b840181019181810190868411156121d657600080fd5b8286015b848110156121fa5780356121ed81612021565b83529183019183016121da565b509695505050505050565b600082601f83011261221657600080fd5b813560206122266121b28361216e565b82815260059290921b8401810191818101908684111561224557600080fd5b8286015b848110156121fa5780358352918301918301612249565b600080600080600060a0868803121561227857600080fd5b8535945060208601356001600160401b038082111561229657600080fd5b6122a289838a01612191565b955060408801359150808211156122b857600080fd5b6122c489838a01612205565b945060608801359150808211156122da57600080fd5b6122e689838a01612191565b935060808801359150808211156122fc57600080fd5b5061230988828901612205565b9150509295509295909350565b6000815180845260005b8181101561233c57602081850181015186830182015201612320565b506000602082860101526020601f19601f83011685010191505092915050565b841515815283602082015260806040820152600061237d6080830185612316565b905060018060a01b038316606083015295945050505050565b6000806000606084860312156123ab57600080fd5b8335925060208401356001600160401b03808211156123c957600080fd5b6123d587838801612191565b935060408601359150808211156123eb57600080fd5b506123f886828701612205565b9150509250925092565b6000806040838503121561241557600080fd5b823561242081612021565b946020939093013593505050565b6000806000806080858703121561244457600080fd5b843561244f81612021565b935060208501359250604085013561246681612021565b9396929550929360600135925050565b602081526000611a706020830184612316565b8051801515811461249957600080fd5b919050565b6000602082840312156124b057600080fd5b611a7082612489565b6000602082840312156124cb57600080fd5b5051919050565b6000602082840312156124e457600080fd5b8151611a7081612021565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b6020808252601a908201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b604082015260600190565b6020808252600b908201526a13db9b1e48105c9d1a5cdd60aa1b604082015260600190565b60008060008060008060c0878903121561258e57600080fd5b86519550602087015194506125a560408801612489565b93506125b360608801612489565b9250608087015191506125c860a08801612489565b90509295509295509295565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201612612576126126125ea565b5060010190565b604080825283519082018190526000906020906060840190828701845b8281101561265b5781516001600160a01b031684529284019290840190600101612636565b5050508381038285015284518082528583019183019060005b8181101561269057835183529284019291840191600101612674565b5090979650505050505050565b6000826126ba57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115611851576118516125ea565b600080600080600080600080610100898b0312156126ef57600080fd5b88519750602089015161270181612021565b60408a015160608b0151919850965061271981612021565b60808a015160a08b0151919650945061273181612021565b60c08a015160e08b0151919450925061274981612021565b809150509295985092959890939650565b60008060008060008060c0878903121561277357600080fd5b86519550602087015161278581612021565b60408801516060890151919650945061279d81612021565b608088015160a089015191945092506127b581612021565b809150509295509295509295565b634e487b7160e01b600052603160045260246000fdfea264697066735822122084aaab9953e57b420718592c539177e067003636dafe456224a5dde654bf32d364736f6c63430008110033",
1123
+ "deployedBytecode": "0x6080604052600436106101695760003560e01c806390d355b7116100c757806390d355b71461039157806392a10f83146103d257806399c0bbdc1461041e578063a647300c14610433578063b00abb6414610453578063bc8ff00114610466578063bf5bf5f814610486578063c71b1b71146104ba578063d3ddabe614610537578063db6921b214610576578063dd85582f146105aa578063e2849bd5146105de578063e9d1e8ac146105fe578063efef39a114610638578063f7bd4b881461064657600080fd5b806111cd1461016e578061aa52146101945780630ed79c4e146101a75780631607c995146101c957806328c5c4e5146101e957806340d1397e146101fc578063462add461461021c5780634fd1b70e1461025c5780634ff5759d1461027c57806356690aaf1461029c578063650e5d6d146101945780636cb9b7ff146102d4578063774159c6146102f45780637994db091461035e578063891407c01461037e575b600080fd5b61018161017c366004612039565b610666565b6040519081526020015b60405180910390f35b6101816101a2366004612098565b610b57565b3480156101b357600080fd5b506101c76101c23660046120d0565b610b6f565b005b3480156101d557600080fd5b506101c76101e43660046120ed565b610c6b565b6101816101f7366004612039565b610f49565b34801561020857600080fd5b506101c761021736600461210f565b610f62565b34801561022857600080fd5b5061024c61023736600461210f565b60009081526001602052604090205460ff1690565b604051901515815260200161018b565b34801561026857600080fd5b506101c7610277366004612260565b61105c565b34801561028857600080fd5b506101c76102973660046120d0565b611135565b3480156102a857600080fd5b506101816102b736600461210f565b60009081526001602052604090205462010000900462ffffff1690565b3480156102e057600080fd5b506101c76102ef3660046120ed565b611231565b34801561030057600080fd5b5061034e61030f36600461210f565b600090815260016020818152604080842080549301548151808301909252600382526208aa8960eb1b9282019290925261010090920460ff1693909290565b60405161018b949392919061235c565b34801561036a57600080fd5b506101c7610379366004612396565b61136a565b61018161038c366004612402565b6115de565b34801561039d57600080fd5b5061024c6103ac366004612098565b600460209081526000938452604080852082529284528284209052825290205460ff1681565b3480156103de57600080fd5b506104067f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161018b565b34801561042a57600080fd5b50610181611624565b34801561043f57600080fd5b506101c761044e366004612396565b611635565b61018161046136600461242e565b61182b565b34801561047257600080fd5b5061040661048136600461210f565b611844565b34801561049257600080fd5b506104067f000000000000000000000000000000000000000000000000000000000000000081565b3480156104c657600080fd5b5061050a6104d536600461210f565b6001602081905260009182526040909120805491015460ff808316926101008104909116916201000090910462ffffff169084565b60405161018b94939291909315158452911515602084015262ffffff166040830152606082015260800190565b34801561054357600080fd5b5061056960405180604001604052806006815260200165076342e312e360d41b81525081565b60405161018b9190612476565b34801561058257600080fd5b5061024c7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105b657600080fd5b506104067f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ea57600080fd5b5061024c6105f9366004612098565b611857565b34801561060a57600080fd5b506105696040518060400160405280600e81526020016d135a5b9d195c921bdb19195c958d60921b81525081565b61018161038c36600461210f565b34801561065257600080fd5b506101c761066136600461210f565b61189c565b60006002600054036106bf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000908155858152600160205260409020805460ff16156107325760405162461bcd60e51b815260206004820152602560248201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656044820152641858da195960da1b60648201526084016106b6565b6001810154348111156107875760405162461bcd60e51b815260206004820181905260248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e742160448201526064016106b6565b8154610100900460ff166107d45760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b60448201526064016106b6565b6107df878787611857565b6108235760405162461bcd60e51b81526020600482015260156024820152744f6e6c7920616c6c6f776c6973746564204e46547360581b60448201526064016106b6565b336001600160a01b0385161561094b57604051631574d39f60e31b81523360048201526001600160a01b0386811660248301527f000000000000000000000000000000000000000000000000000000000000000081166044830152606482018890526000917f00000000000000000000000000000000000000000000000000000000000000009091169063aba69cf890608401602060405180830381865afa1580156108d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f7919061249e565b9050806109465760405162461bcd60e51b815260206004820152601e60248201527f496e76616c69642064656c65676174652d7661756c742070616972696e67000060448201526064016106b6565b859150505b604051630d4d151360e01b81526001600160a01b038a81166004830152602482018a905282811660448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d1513906064016020604051808303816000875af11580156109c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e691906124b9565b8354909450620f424085066001019062010000900462ffffff1680821115610a4e5760405162461bcd60e51b815260206004820152601b60248201527a13585e1a5b5d5b481a5b9d9bd8d85d1a5bdb9cc81c995858da1959602a1b60448201526064016106b6565b808203610a6157845460ff191660011785555b50506040516331a9108f60e11b8152600481018790526001600160a01b038083169190891690636352211e90602401602060405180830381865afa158015610aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad191906124d2565b6001600160a01b031614610b1b5760405162461bcd60e51b815260206004820152601160248201527013db9b1e481bdddb995c881bd988139195607a1b60448201526064016106b6565b610b4688837f00000000000000000000000000000000000000000000000000000000000000006119a5565b505050600160005595945050505050565b6000610b67338585856000610666565b949350505050565b60405163230448b160e01b815263076bce2760e11b906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063230448b190610bc8903390309086906004016124ef565b6020604051808303816000875af1158015610be7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0b919061249e565b610c275760405162461bcd60e51b81526004016106b69061251c565b610c32600283611a5b565b506040516001600160a01b038316907f7475e948f72f2714b1984b09949d13da2ddbae9f91e31da0faa380c0095b971c90600090a25050565b60405163a47d29cb60e01b81526004810183905282907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610cd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf691906124d2565b6001600160a01b0316336001600160a01b031614610d265760405162461bcd60e51b81526004016106b690612550565b604051630ea5613f60e01b81526004810184905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa158015610d90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db49190612575565b5092955092935050505081841115610e545760405162461bcd60e51b815260206004820152605760248201527f43616e6e6f7420696e6372656173652070726f6a656374206d617820696e766f60448201527f636174696f6e732061626f766520636f726520636f6e7472616374207365742060648201527670726f6a656374206d617820696e766f636174696f6e7360481b608482015260a4016106b6565b80841015610ed65760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207365742070726f6a656374206d617820696e766f636174696f60448201527f6e7320746f206c657373207468616e2063757272656e7420696e766f636174696064820152626f6e7360e81b608482015260a4016106b6565b60008581526001602052604090819020805460ff1962ffffff881662010000021664ffffff00ff19909116178387141790555185907f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b190610f3a9087815260200190565b60405180910390a25050505050565b6000610f588686868686610666565b9695505050505050565b60405163a47d29cb60e01b81526004810182905281907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610fc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fed91906124d2565b6001600160a01b0316336001600160a01b03161461101d5760405162461bcd60e51b81526004016106b690612550565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b60448201526064016106b6565b60405163a47d29cb60e01b81526004810186905285907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa1580156110c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e791906124d2565b6001600160a01b0316336001600160a01b0316146111175760405162461bcd60e51b81526004016106b690612550565b61112286868661136a565b61112d868484611635565b505050505050565b60405163230448b160e01b8152634ff5759d60e01b906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063230448b19061118e903390309086906004016124ef565b6020604051808303816000875af11580156111ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d1919061249e565b6111ed5760405162461bcd60e51b81526004016106b69061251c565b6111f8600283611a77565b506040516001600160a01b038316907f16e28d6cac0e892c58cee90af3dc883220abe36e25201d7117c4f3aaabf1c3f090600090a25050565b60405163a47d29cb60e01b81526004810183905282907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015611298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bc91906124d2565b6001600160a01b0316336001600160a01b0316146112ec5760405162461bcd60e51b81526004016106b690612550565b6000838152600160208190526040808320918201859055815461ff001916610100178255519091849186917f26118a27aca826f829f3bfe21b140b4455c00b434849bd0da50d1e1a9720fb5c91a3805462010000900462ffffff161580156113565750805460ff16155b15611364576113648461189c565b50505050565b60405163a47d29cb60e01b81526004810184905283907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa1580156113d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f591906124d2565b6001600160a01b0316336001600160a01b0316146114255760405162461bcd60e51b81526004016106b690612550565b81518351146114765760405162461bcd60e51b815260206004820152601f60248201527f4c656e677468206f662061646420617272617973206d757374206d617463680060448201526064016106b6565b60005b835181101561159d576114af848281518110611497576114976125d4565b60200260200101516002611a8c90919063ffffffff16565b6114fb5760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c792052656769737465726564204e46542041646472657373657300000060448201526064016106b6565b6000858152600460205260408120855160019290879085908110611521576115216125d4565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600085848151811061155d5761155d6125d4565b6020026020010151815260200190815260200160002060006101000a81548160ff021916908315150217905550808061159590612600565b915050611479565b50837fba2ec6d92cd62364c8e443b484b3e1f72f1ee9e161c1f871de1a60d83c89558b84846040516115d0929190612619565b60405180910390a250505050565b60405162461bcd60e51b815260206004820152601860248201527704d75737420636c61696d204e4654206f776e6572736869760441b60448201526000906064016106b6565b60006116306002611aae565b905090565b60405163a47d29cb60e01b81526004810184905283907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa15801561169c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c091906124d2565b6001600160a01b0316336001600160a01b0316146116f05760405162461bcd60e51b81526004016106b690612550565b815183511461174c5760405162461bcd60e51b815260206004820152602260248201527f4c656e677468206f662072656d6f766520617272617973206d757374206d61746044820152610c6d60f31b60648201526084016106b6565b60005b83518110156117f85760008581526004602052604081208551829087908590811061177c5761177c6125d4565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008584815181106117b8576117b86125d4565b6020026020010151815260200190815260200160002060006101000a81548160ff02191690831515021790555080806117f090612600565b91505061174f565b50837f2e3dced83b61aee20d72f4bdc7e6997a0f8616af4067d3aa92afe2b9b0532d1c84846040516115d0929190612619565b600061183b858585856000610666565b95945050505050565b6000611851600283611ab8565b92915050565b600080611867620f42408461269d565b60009586526004602090815260408088206001600160a01b039790971688529581528587209187525250505090205460ff1690565b604051630ea5613f60e01b81526004810182905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa158015611906573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061192a9190612575565b50505060008681526001602052604090819020805460ff1962ffffff861662010000021664ffffff00ff1990911617858514179055519194509192508491507f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b1906119989085815260200190565b60405180910390a2505050565b3415611a56576000806119b884346126bf565b90508015611a485760405133908290600081818185875af1925050503d8060008114611a00576040519150601f19603f3d011682016040523d82523d6000602084013e611a05565b606091505b50508092505081611a485760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b60448201526064016106b6565b611a53858585611ac4565b50505b505050565b6000611a70836001600160a01b038416611eb5565b9392505050565b6000611a70836001600160a01b038416611f04565b6001600160a01b03811660009081526001830160205260408120541515611a70565b6000611851825490565b6000611a708383611ff7565b60008211611ad157505050565b60008060008060008060007f000000000000000000000000000000000000000000000000000000000000000015611c3c57604051638639415b60e01b8152600481018b9052602481018a905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa158015611b54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b7891906126d2565b969e50949c50909a50985091965091945090925090508115611c35576040516001600160a01b038216908390600081818185875af1925050503d8060008114611bdd576040519150601f19603f3d011682016040523d82523d6000602084013e611be2565b606091505b50508099505088611c355760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c656460448201526064016106b6565b5050611cbc565b604051638639415b60e01b8152600481018b9052602481018a90526001600160a01b03891690638639415b9060440160c060405180830381865afa158015611c88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cac919061275a565b949a509298509096509450925090505b8515611d63576040516001600160a01b038616908790600081818185875af1925050503d8060008114611d0b576040519150601f19603f3d011682016040523d82523d6000602084013e611d10565b606091505b50508097505086611d635760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c6564000060448201526064016106b6565b8315611e02576040516001600160a01b038416908590600081818185875af1925050503d8060008114611db2576040519150601f19603f3d011682016040523d82523d6000602084013e611db7565b606091505b50508097505086611e025760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b60448201526064016106b6565b8115611ea9576040516001600160a01b038216908390600081818185875af1925050503d8060008114611e51576040519150601f19603f3d011682016040523d82523d6000602084013e611e56565b606091505b50508097505086611ea95760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c65640060448201526064016106b6565b50505050505050505050565b6000818152600183016020526040812054611efc57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611851565b506000611851565b60008181526001830160205260408120548015611fed576000611f286001836126bf565b8554909150600090611f3c906001906126bf565b9050818114611fa1576000866000018281548110611f5c57611f5c6125d4565b9060005260206000200154905080876000018481548110611f7f57611f7f6125d4565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611fb257611fb26127c3565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050611851565b6000915050611851565b600082600001828154811061200e5761200e6125d4565b9060005260206000200154905092915050565b6001600160a01b038116811461203657600080fd5b50565b600080600080600060a0868803121561205157600080fd5b853561205c81612021565b945060208601359350604086013561207381612021565b925060608601359150608086013561208a81612021565b809150509295509295909350565b6000806000606084860312156120ad57600080fd5b8335925060208401356120bf81612021565b929592945050506040919091013590565b6000602082840312156120e257600080fd5b8135611a7081612021565b6000806040838503121561210057600080fd5b50508035926020909101359150565b60006020828403121561212157600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561216657612166612128565b604052919050565b60006001600160401b0382111561218757612187612128565b5060051b60200190565b600082601f8301126121a257600080fd5b813560206121b76121b28361216e565b61213e565b82815260059290921b840181019181810190868411156121d657600080fd5b8286015b848110156121fa5780356121ed81612021565b83529183019183016121da565b509695505050505050565b600082601f83011261221657600080fd5b813560206122266121b28361216e565b82815260059290921b8401810191818101908684111561224557600080fd5b8286015b848110156121fa5780358352918301918301612249565b600080600080600060a0868803121561227857600080fd5b8535945060208601356001600160401b038082111561229657600080fd5b6122a289838a01612191565b955060408801359150808211156122b857600080fd5b6122c489838a01612205565b945060608801359150808211156122da57600080fd5b6122e689838a01612191565b935060808801359150808211156122fc57600080fd5b5061230988828901612205565b9150509295509295909350565b6000815180845260005b8181101561233c57602081850181015186830182015201612320565b506000602082860101526020601f19601f83011685010191505092915050565b841515815283602082015260806040820152600061237d6080830185612316565b905060018060a01b038316606083015295945050505050565b6000806000606084860312156123ab57600080fd5b8335925060208401356001600160401b03808211156123c957600080fd5b6123d587838801612191565b935060408601359150808211156123eb57600080fd5b506123f886828701612205565b9150509250925092565b6000806040838503121561241557600080fd5b823561242081612021565b946020939093013593505050565b6000806000806080858703121561244457600080fd5b843561244f81612021565b935060208501359250604085013561246681612021565b9396929550929360600135925050565b602081526000611a706020830184612316565b8051801515811461249957600080fd5b919050565b6000602082840312156124b057600080fd5b611a7082612489565b6000602082840312156124cb57600080fd5b5051919050565b6000602082840312156124e457600080fd5b8151611a7081612021565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b6020808252601a908201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b604082015260600190565b6020808252600b908201526a13db9b1e48105c9d1a5cdd60aa1b604082015260600190565b60008060008060008060c0878903121561258e57600080fd5b86519550602087015194506125a560408801612489565b93506125b360608801612489565b9250608087015191506125c860a08801612489565b90509295509295509295565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201612612576126126125ea565b5060010190565b604080825283519082018190526000906020906060840190828701845b8281101561265b5781516001600160a01b031684529284019290840190600101612636565b5050508381038285015284518082528583019183019060005b8181101561269057835183529284019291840191600101612674565b5090979650505050505050565b6000826126ba57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115611851576118516125ea565b600080600080600080600080610100898b0312156126ef57600080fd5b88519750602089015161270181612021565b60408a015160608b0151919850965061271981612021565b60808a015160a08b0151919650945061273181612021565b60c08a015160e08b0151919450925061274981612021565b809150509295985092959890939650565b60008060008060008060c0878903121561277357600080fd5b86519550602087015161278581612021565b60408801516060890151919650945061279d81612021565b608088015160a089015191945092506127b581612021565b809150509295509295509295565b634e487b7160e01b600052603160045260246000fdfea264697066735822122084aaab9953e57b420718592c539177e067003636dafe456224a5dde654bf32d364736f6c63430008110033",
1124
+ "linkReferences": {},
1125
+ "deployedLinkReferences": {}
1126
+ }