@mania-labs/mania-sdk 1.0.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.
- package/README.md +397 -0
- package/dist/index.d.mts +1116 -0
- package/dist/index.d.ts +1116 -0
- package/dist/index.js +1220 -0
- package/dist/index.mjs +1165 -0
- package/package.json +56 -0
- package/src/.claude/settings.local.json +9 -0
- package/src/abi/ManiaFactoryUpgradeable.json +2183 -0
- package/src/abi.ts +268 -0
- package/src/bondingCurve.ts +319 -0
- package/src/constants.ts +72 -0
- package/src/index.ts +71 -0
- package/src/mania.ts +652 -0
- package/src/types.ts +238 -0
- package/src/utils.ts +154 -0
|
@@ -0,0 +1,2183 @@
|
|
|
1
|
+
{
|
|
2
|
+
"abi": [
|
|
3
|
+
{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" },
|
|
4
|
+
{ "type": "receive", "stateMutability": "payable" },
|
|
5
|
+
{
|
|
6
|
+
"type": "function",
|
|
7
|
+
"name": "TICK_LOWER",
|
|
8
|
+
"inputs": [],
|
|
9
|
+
"outputs": [{ "name": "", "type": "int24", "internalType": "int24" }],
|
|
10
|
+
"stateMutability": "view"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"type": "function",
|
|
14
|
+
"name": "TICK_UPPER",
|
|
15
|
+
"inputs": [],
|
|
16
|
+
"outputs": [{ "name": "", "type": "int24", "internalType": "int24" }],
|
|
17
|
+
"stateMutability": "view"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"type": "function",
|
|
21
|
+
"name": "UNISWAP_FEE_TIER",
|
|
22
|
+
"inputs": [],
|
|
23
|
+
"outputs": [{ "name": "", "type": "uint24", "internalType": "uint24" }],
|
|
24
|
+
"stateMutability": "view"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"type": "function",
|
|
28
|
+
"name": "UPGRADE_INTERFACE_VERSION",
|
|
29
|
+
"inputs": [],
|
|
30
|
+
"outputs": [{ "name": "", "type": "string", "internalType": "string" }],
|
|
31
|
+
"stateMutability": "view"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"type": "function",
|
|
35
|
+
"name": "bondingCurves",
|
|
36
|
+
"inputs": [
|
|
37
|
+
{ "name": "mint", "type": "address", "internalType": "address" }
|
|
38
|
+
],
|
|
39
|
+
"outputs": [
|
|
40
|
+
{
|
|
41
|
+
"name": "virtualTokenReserves",
|
|
42
|
+
"type": "uint256",
|
|
43
|
+
"internalType": "uint256"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "virtualEthReserves",
|
|
47
|
+
"type": "uint64",
|
|
48
|
+
"internalType": "uint64"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"name": "realTokenReserves",
|
|
52
|
+
"type": "uint256",
|
|
53
|
+
"internalType": "uint256"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"name": "realEthReserves",
|
|
57
|
+
"type": "uint64",
|
|
58
|
+
"internalType": "uint64"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"name": "tokenTotalSupply",
|
|
62
|
+
"type": "uint256",
|
|
63
|
+
"internalType": "uint256"
|
|
64
|
+
},
|
|
65
|
+
{ "name": "complete", "type": "bool", "internalType": "bool" },
|
|
66
|
+
{ "name": "trackVolume", "type": "bool", "internalType": "bool" }
|
|
67
|
+
],
|
|
68
|
+
"stateMutability": "view"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"type": "function",
|
|
72
|
+
"name": "buy",
|
|
73
|
+
"inputs": [
|
|
74
|
+
{ "name": "token", "type": "address", "internalType": "address" },
|
|
75
|
+
{
|
|
76
|
+
"name": "minTokensOut",
|
|
77
|
+
"type": "uint256",
|
|
78
|
+
"internalType": "uint256"
|
|
79
|
+
},
|
|
80
|
+
{ "name": "recipient", "type": "address", "internalType": "address" }
|
|
81
|
+
],
|
|
82
|
+
"outputs": [],
|
|
83
|
+
"stateMutability": "payable"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"type": "function",
|
|
87
|
+
"name": "create",
|
|
88
|
+
"inputs": [
|
|
89
|
+
{ "name": "name", "type": "string", "internalType": "string" },
|
|
90
|
+
{ "name": "symbol", "type": "string", "internalType": "string" },
|
|
91
|
+
{ "name": "uri", "type": "string", "internalType": "string" },
|
|
92
|
+
{ "name": "creator", "type": "address", "internalType": "address" }
|
|
93
|
+
],
|
|
94
|
+
"outputs": [
|
|
95
|
+
{ "name": "token", "type": "address", "internalType": "address" }
|
|
96
|
+
],
|
|
97
|
+
"stateMutability": "nonpayable"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"type": "function",
|
|
101
|
+
"name": "createAndBuy",
|
|
102
|
+
"inputs": [
|
|
103
|
+
{ "name": "name", "type": "string", "internalType": "string" },
|
|
104
|
+
{ "name": "symbol", "type": "string", "internalType": "string" },
|
|
105
|
+
{ "name": "uri", "type": "string", "internalType": "string" },
|
|
106
|
+
{ "name": "creator", "type": "address", "internalType": "address" },
|
|
107
|
+
{ "name": "minTokensOut", "type": "uint256", "internalType": "uint256" }
|
|
108
|
+
],
|
|
109
|
+
"outputs": [
|
|
110
|
+
{ "name": "token", "type": "address", "internalType": "address" }
|
|
111
|
+
],
|
|
112
|
+
"stateMutability": "payable"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"type": "function",
|
|
116
|
+
"name": "getBondingCurve",
|
|
117
|
+
"inputs": [
|
|
118
|
+
{ "name": "token", "type": "address", "internalType": "address" }
|
|
119
|
+
],
|
|
120
|
+
"outputs": [
|
|
121
|
+
{
|
|
122
|
+
"name": "curve",
|
|
123
|
+
"type": "tuple",
|
|
124
|
+
"internalType": "struct ManiaFactoryUpgradeable.BondingCurve",
|
|
125
|
+
"components": [
|
|
126
|
+
{
|
|
127
|
+
"name": "virtualTokenReserves",
|
|
128
|
+
"type": "uint256",
|
|
129
|
+
"internalType": "uint256"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"name": "virtualEthReserves",
|
|
133
|
+
"type": "uint64",
|
|
134
|
+
"internalType": "uint64"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"name": "realTokenReserves",
|
|
138
|
+
"type": "uint256",
|
|
139
|
+
"internalType": "uint256"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"name": "realEthReserves",
|
|
143
|
+
"type": "uint64",
|
|
144
|
+
"internalType": "uint64"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"name": "tokenTotalSupply",
|
|
148
|
+
"type": "uint256",
|
|
149
|
+
"internalType": "uint256"
|
|
150
|
+
},
|
|
151
|
+
{ "name": "complete", "type": "bool", "internalType": "bool" },
|
|
152
|
+
{ "name": "trackVolume", "type": "bool", "internalType": "bool" }
|
|
153
|
+
]
|
|
154
|
+
}
|
|
155
|
+
],
|
|
156
|
+
"stateMutability": "view"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"type": "function",
|
|
160
|
+
"name": "getBuyQuote",
|
|
161
|
+
"inputs": [
|
|
162
|
+
{ "name": "token", "type": "address", "internalType": "address" },
|
|
163
|
+
{ "name": "ethAmount", "type": "uint64", "internalType": "uint64" }
|
|
164
|
+
],
|
|
165
|
+
"outputs": [
|
|
166
|
+
{ "name": "tokenAmount", "type": "uint256", "internalType": "uint256" }
|
|
167
|
+
],
|
|
168
|
+
"stateMutability": "view"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"type": "function",
|
|
172
|
+
"name": "getFee",
|
|
173
|
+
"inputs": [
|
|
174
|
+
{ "name": "amount", "type": "uint64", "internalType": "uint64" }
|
|
175
|
+
],
|
|
176
|
+
"outputs": [
|
|
177
|
+
{ "name": "fee", "type": "uint128", "internalType": "uint128" }
|
|
178
|
+
],
|
|
179
|
+
"stateMutability": "view"
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"type": "function",
|
|
183
|
+
"name": "getSellQuote",
|
|
184
|
+
"inputs": [
|
|
185
|
+
{ "name": "token", "type": "address", "internalType": "address" },
|
|
186
|
+
{ "name": "amount", "type": "uint256", "internalType": "uint256" }
|
|
187
|
+
],
|
|
188
|
+
"outputs": [
|
|
189
|
+
{ "name": "ethOutput", "type": "uint128", "internalType": "uint128" }
|
|
190
|
+
],
|
|
191
|
+
"stateMutability": "view"
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"type": "function",
|
|
195
|
+
"name": "global",
|
|
196
|
+
"inputs": [],
|
|
197
|
+
"outputs": [
|
|
198
|
+
{ "name": "initialized", "type": "bool", "internalType": "bool" },
|
|
199
|
+
{ "name": "authority", "type": "address", "internalType": "address" },
|
|
200
|
+
{
|
|
201
|
+
"name": "feeRecipient",
|
|
202
|
+
"type": "address",
|
|
203
|
+
"internalType": "address"
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"name": "initialVirtualTokenReserves",
|
|
207
|
+
"type": "uint256",
|
|
208
|
+
"internalType": "uint256"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"name": "initialVirtualEthReserves",
|
|
212
|
+
"type": "uint64",
|
|
213
|
+
"internalType": "uint64"
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"name": "initialRealTokenReserves",
|
|
217
|
+
"type": "uint256",
|
|
218
|
+
"internalType": "uint256"
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"name": "tokenTotalSupply",
|
|
222
|
+
"type": "uint256",
|
|
223
|
+
"internalType": "uint256"
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
"name": "feeBasisPoints",
|
|
227
|
+
"type": "uint64",
|
|
228
|
+
"internalType": "uint64"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"name": "withdrawAuthority",
|
|
232
|
+
"type": "address",
|
|
233
|
+
"internalType": "address"
|
|
234
|
+
},
|
|
235
|
+
{ "name": "enableMigrate", "type": "bool", "internalType": "bool" },
|
|
236
|
+
{
|
|
237
|
+
"name": "poolMigrationFee",
|
|
238
|
+
"type": "uint64",
|
|
239
|
+
"internalType": "uint64"
|
|
240
|
+
}
|
|
241
|
+
],
|
|
242
|
+
"stateMutability": "view"
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"type": "function",
|
|
246
|
+
"name": "initialize",
|
|
247
|
+
"inputs": [],
|
|
248
|
+
"outputs": [],
|
|
249
|
+
"stateMutability": "nonpayable"
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"type": "function",
|
|
253
|
+
"name": "migrate",
|
|
254
|
+
"inputs": [
|
|
255
|
+
{ "name": "token", "type": "address", "internalType": "address" }
|
|
256
|
+
],
|
|
257
|
+
"outputs": [],
|
|
258
|
+
"stateMutability": "payable"
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"type": "function",
|
|
262
|
+
"name": "nonfungiblePositionManager",
|
|
263
|
+
"inputs": [],
|
|
264
|
+
"outputs": [
|
|
265
|
+
{
|
|
266
|
+
"name": "",
|
|
267
|
+
"type": "address",
|
|
268
|
+
"internalType": "contract INonfungiblePositionManager"
|
|
269
|
+
}
|
|
270
|
+
],
|
|
271
|
+
"stateMutability": "view"
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
"type": "function",
|
|
275
|
+
"name": "proxiableUUID",
|
|
276
|
+
"inputs": [],
|
|
277
|
+
"outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }],
|
|
278
|
+
"stateMutability": "view"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"type": "function",
|
|
282
|
+
"name": "sell",
|
|
283
|
+
"inputs": [
|
|
284
|
+
{ "name": "token", "type": "address", "internalType": "address" },
|
|
285
|
+
{ "name": "amount", "type": "uint256", "internalType": "uint256" },
|
|
286
|
+
{ "name": "minEthOutput", "type": "uint64", "internalType": "uint64" }
|
|
287
|
+
],
|
|
288
|
+
"outputs": [],
|
|
289
|
+
"stateMutability": "nonpayable"
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"type": "function",
|
|
293
|
+
"name": "setParams",
|
|
294
|
+
"inputs": [
|
|
295
|
+
{
|
|
296
|
+
"name": "params",
|
|
297
|
+
"type": "tuple",
|
|
298
|
+
"internalType": "struct ManiaFactoryUpgradeable.SetParamsInput",
|
|
299
|
+
"components": [
|
|
300
|
+
{
|
|
301
|
+
"name": "initialVirtualTokenReserves",
|
|
302
|
+
"type": "uint256",
|
|
303
|
+
"internalType": "uint256"
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"name": "initialVirtualEthReserves",
|
|
307
|
+
"type": "uint64",
|
|
308
|
+
"internalType": "uint64"
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
"name": "initialRealTokenReserves",
|
|
312
|
+
"type": "uint256",
|
|
313
|
+
"internalType": "uint256"
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
"name": "tokenTotalSupply",
|
|
317
|
+
"type": "uint256",
|
|
318
|
+
"internalType": "uint256"
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"name": "feeBasisPoints",
|
|
322
|
+
"type": "uint64",
|
|
323
|
+
"internalType": "uint64"
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
"name": "withdrawAuthority",
|
|
327
|
+
"type": "address",
|
|
328
|
+
"internalType": "address"
|
|
329
|
+
},
|
|
330
|
+
{ "name": "enableMigrate", "type": "bool", "internalType": "bool" },
|
|
331
|
+
{
|
|
332
|
+
"name": "poolMigrationFee",
|
|
333
|
+
"type": "uint64",
|
|
334
|
+
"internalType": "uint64"
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"name": "feeRecipient",
|
|
338
|
+
"type": "address",
|
|
339
|
+
"internalType": "address"
|
|
340
|
+
}
|
|
341
|
+
]
|
|
342
|
+
}
|
|
343
|
+
],
|
|
344
|
+
"outputs": [],
|
|
345
|
+
"stateMutability": "nonpayable"
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"type": "function",
|
|
349
|
+
"name": "setTrackVolume",
|
|
350
|
+
"inputs": [
|
|
351
|
+
{ "name": "token", "type": "address", "internalType": "address" },
|
|
352
|
+
{ "name": "enabled", "type": "bool", "internalType": "bool" }
|
|
353
|
+
],
|
|
354
|
+
"outputs": [],
|
|
355
|
+
"stateMutability": "nonpayable"
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"type": "function",
|
|
359
|
+
"name": "setUniswapV3Addresses",
|
|
360
|
+
"inputs": [
|
|
361
|
+
{
|
|
362
|
+
"name": "_nonfungiblePositionManager",
|
|
363
|
+
"type": "address",
|
|
364
|
+
"internalType": "address"
|
|
365
|
+
},
|
|
366
|
+
{ "name": "_weth9", "type": "address", "internalType": "address" }
|
|
367
|
+
],
|
|
368
|
+
"outputs": [],
|
|
369
|
+
"stateMutability": "nonpayable"
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
"type": "function",
|
|
373
|
+
"name": "updateFeeRecipient",
|
|
374
|
+
"inputs": [
|
|
375
|
+
{
|
|
376
|
+
"name": "newFeeRecipient",
|
|
377
|
+
"type": "address",
|
|
378
|
+
"internalType": "address"
|
|
379
|
+
}
|
|
380
|
+
],
|
|
381
|
+
"outputs": [],
|
|
382
|
+
"stateMutability": "nonpayable"
|
|
383
|
+
},
|
|
384
|
+
{
|
|
385
|
+
"type": "function",
|
|
386
|
+
"name": "updateGlobalAuthority",
|
|
387
|
+
"inputs": [
|
|
388
|
+
{ "name": "newAuthority", "type": "address", "internalType": "address" }
|
|
389
|
+
],
|
|
390
|
+
"outputs": [],
|
|
391
|
+
"stateMutability": "nonpayable"
|
|
392
|
+
},
|
|
393
|
+
{
|
|
394
|
+
"type": "function",
|
|
395
|
+
"name": "upgradeToAndCall",
|
|
396
|
+
"inputs": [
|
|
397
|
+
{
|
|
398
|
+
"name": "newImplementation",
|
|
399
|
+
"type": "address",
|
|
400
|
+
"internalType": "address"
|
|
401
|
+
},
|
|
402
|
+
{ "name": "data", "type": "bytes", "internalType": "bytes" }
|
|
403
|
+
],
|
|
404
|
+
"outputs": [],
|
|
405
|
+
"stateMutability": "payable"
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"type": "function",
|
|
409
|
+
"name": "userVolume",
|
|
410
|
+
"inputs": [
|
|
411
|
+
{ "name": "user", "type": "address", "internalType": "address" }
|
|
412
|
+
],
|
|
413
|
+
"outputs": [
|
|
414
|
+
{ "name": "volume", "type": "uint256", "internalType": "uint256" }
|
|
415
|
+
],
|
|
416
|
+
"stateMutability": "view"
|
|
417
|
+
},
|
|
418
|
+
{
|
|
419
|
+
"type": "function",
|
|
420
|
+
"name": "weth9",
|
|
421
|
+
"inputs": [],
|
|
422
|
+
"outputs": [
|
|
423
|
+
{ "name": "", "type": "address", "internalType": "contract IWETH9" }
|
|
424
|
+
],
|
|
425
|
+
"stateMutability": "view"
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
"type": "event",
|
|
429
|
+
"name": "CompleteEvent",
|
|
430
|
+
"inputs": [
|
|
431
|
+
{
|
|
432
|
+
"name": "user",
|
|
433
|
+
"type": "address",
|
|
434
|
+
"indexed": true,
|
|
435
|
+
"internalType": "address"
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
"name": "mint",
|
|
439
|
+
"type": "address",
|
|
440
|
+
"indexed": true,
|
|
441
|
+
"internalType": "address"
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
"name": "timestamp",
|
|
445
|
+
"type": "uint256",
|
|
446
|
+
"indexed": false,
|
|
447
|
+
"internalType": "uint256"
|
|
448
|
+
}
|
|
449
|
+
],
|
|
450
|
+
"anonymous": false
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
"type": "event",
|
|
454
|
+
"name": "CompleteManiaAmmMigrationEvent",
|
|
455
|
+
"inputs": [
|
|
456
|
+
{
|
|
457
|
+
"name": "user",
|
|
458
|
+
"type": "address",
|
|
459
|
+
"indexed": true,
|
|
460
|
+
"internalType": "address"
|
|
461
|
+
},
|
|
462
|
+
{
|
|
463
|
+
"name": "mint",
|
|
464
|
+
"type": "address",
|
|
465
|
+
"indexed": true,
|
|
466
|
+
"internalType": "address"
|
|
467
|
+
},
|
|
468
|
+
{
|
|
469
|
+
"name": "mintAmount",
|
|
470
|
+
"type": "uint256",
|
|
471
|
+
"indexed": false,
|
|
472
|
+
"internalType": "uint256"
|
|
473
|
+
},
|
|
474
|
+
{
|
|
475
|
+
"name": "ethAmount",
|
|
476
|
+
"type": "uint64",
|
|
477
|
+
"indexed": false,
|
|
478
|
+
"internalType": "uint64"
|
|
479
|
+
},
|
|
480
|
+
{
|
|
481
|
+
"name": "poolMigrationFee",
|
|
482
|
+
"type": "uint64",
|
|
483
|
+
"indexed": false,
|
|
484
|
+
"internalType": "uint64"
|
|
485
|
+
},
|
|
486
|
+
{
|
|
487
|
+
"name": "timestamp",
|
|
488
|
+
"type": "uint256",
|
|
489
|
+
"indexed": false,
|
|
490
|
+
"internalType": "uint256"
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
"name": "pool",
|
|
494
|
+
"type": "address",
|
|
495
|
+
"indexed": true,
|
|
496
|
+
"internalType": "address"
|
|
497
|
+
}
|
|
498
|
+
],
|
|
499
|
+
"anonymous": false
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
"type": "event",
|
|
503
|
+
"name": "CreateEvent",
|
|
504
|
+
"inputs": [
|
|
505
|
+
{
|
|
506
|
+
"name": "name",
|
|
507
|
+
"type": "string",
|
|
508
|
+
"indexed": false,
|
|
509
|
+
"internalType": "string"
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
"name": "symbol",
|
|
513
|
+
"type": "string",
|
|
514
|
+
"indexed": false,
|
|
515
|
+
"internalType": "string"
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
"name": "uri",
|
|
519
|
+
"type": "string",
|
|
520
|
+
"indexed": false,
|
|
521
|
+
"internalType": "string"
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
"name": "mint",
|
|
525
|
+
"type": "address",
|
|
526
|
+
"indexed": true,
|
|
527
|
+
"internalType": "address"
|
|
528
|
+
},
|
|
529
|
+
{
|
|
530
|
+
"name": "user",
|
|
531
|
+
"type": "address",
|
|
532
|
+
"indexed": true,
|
|
533
|
+
"internalType": "address"
|
|
534
|
+
},
|
|
535
|
+
{
|
|
536
|
+
"name": "creator",
|
|
537
|
+
"type": "address",
|
|
538
|
+
"indexed": true,
|
|
539
|
+
"internalType": "address"
|
|
540
|
+
},
|
|
541
|
+
{
|
|
542
|
+
"name": "timestamp",
|
|
543
|
+
"type": "uint256",
|
|
544
|
+
"indexed": false,
|
|
545
|
+
"internalType": "uint256"
|
|
546
|
+
}
|
|
547
|
+
],
|
|
548
|
+
"anonymous": false
|
|
549
|
+
},
|
|
550
|
+
{
|
|
551
|
+
"type": "event",
|
|
552
|
+
"name": "Initialized",
|
|
553
|
+
"inputs": [
|
|
554
|
+
{
|
|
555
|
+
"name": "version",
|
|
556
|
+
"type": "uint64",
|
|
557
|
+
"indexed": false,
|
|
558
|
+
"internalType": "uint64"
|
|
559
|
+
}
|
|
560
|
+
],
|
|
561
|
+
"anonymous": false
|
|
562
|
+
},
|
|
563
|
+
{
|
|
564
|
+
"type": "event",
|
|
565
|
+
"name": "SetParamsEvent",
|
|
566
|
+
"inputs": [
|
|
567
|
+
{
|
|
568
|
+
"name": "initialVirtualTokenReserves",
|
|
569
|
+
"type": "uint256",
|
|
570
|
+
"indexed": false,
|
|
571
|
+
"internalType": "uint256"
|
|
572
|
+
},
|
|
573
|
+
{
|
|
574
|
+
"name": "initialVirtualEthReserves",
|
|
575
|
+
"type": "uint64",
|
|
576
|
+
"indexed": false,
|
|
577
|
+
"internalType": "uint64"
|
|
578
|
+
},
|
|
579
|
+
{
|
|
580
|
+
"name": "initialRealTokenReserves",
|
|
581
|
+
"type": "uint256",
|
|
582
|
+
"indexed": false,
|
|
583
|
+
"internalType": "uint256"
|
|
584
|
+
},
|
|
585
|
+
{
|
|
586
|
+
"name": "finalRealEthReserves",
|
|
587
|
+
"type": "uint64",
|
|
588
|
+
"indexed": false,
|
|
589
|
+
"internalType": "uint64"
|
|
590
|
+
},
|
|
591
|
+
{
|
|
592
|
+
"name": "tokenTotalSupply",
|
|
593
|
+
"type": "uint256",
|
|
594
|
+
"indexed": false,
|
|
595
|
+
"internalType": "uint256"
|
|
596
|
+
},
|
|
597
|
+
{
|
|
598
|
+
"name": "feeBasisPoints",
|
|
599
|
+
"type": "uint64",
|
|
600
|
+
"indexed": false,
|
|
601
|
+
"internalType": "uint64"
|
|
602
|
+
},
|
|
603
|
+
{
|
|
604
|
+
"name": "withdrawAuthority",
|
|
605
|
+
"type": "address",
|
|
606
|
+
"indexed": false,
|
|
607
|
+
"internalType": "address"
|
|
608
|
+
},
|
|
609
|
+
{
|
|
610
|
+
"name": "enableMigrate",
|
|
611
|
+
"type": "bool",
|
|
612
|
+
"indexed": false,
|
|
613
|
+
"internalType": "bool"
|
|
614
|
+
},
|
|
615
|
+
{
|
|
616
|
+
"name": "poolMigrationFee",
|
|
617
|
+
"type": "uint64",
|
|
618
|
+
"indexed": false,
|
|
619
|
+
"internalType": "uint64"
|
|
620
|
+
},
|
|
621
|
+
{
|
|
622
|
+
"name": "feeRecipient",
|
|
623
|
+
"type": "address",
|
|
624
|
+
"indexed": false,
|
|
625
|
+
"internalType": "address"
|
|
626
|
+
},
|
|
627
|
+
{
|
|
628
|
+
"name": "timestamp",
|
|
629
|
+
"type": "uint256",
|
|
630
|
+
"indexed": false,
|
|
631
|
+
"internalType": "uint256"
|
|
632
|
+
}
|
|
633
|
+
],
|
|
634
|
+
"anonymous": false
|
|
635
|
+
},
|
|
636
|
+
{
|
|
637
|
+
"type": "event",
|
|
638
|
+
"name": "TradeEvent",
|
|
639
|
+
"inputs": [
|
|
640
|
+
{
|
|
641
|
+
"name": "mint",
|
|
642
|
+
"type": "address",
|
|
643
|
+
"indexed": true,
|
|
644
|
+
"internalType": "address"
|
|
645
|
+
},
|
|
646
|
+
{
|
|
647
|
+
"name": "ethAmount",
|
|
648
|
+
"type": "uint64",
|
|
649
|
+
"indexed": false,
|
|
650
|
+
"internalType": "uint64"
|
|
651
|
+
},
|
|
652
|
+
{
|
|
653
|
+
"name": "tokenAmount",
|
|
654
|
+
"type": "uint256",
|
|
655
|
+
"indexed": false,
|
|
656
|
+
"internalType": "uint256"
|
|
657
|
+
},
|
|
658
|
+
{
|
|
659
|
+
"name": "isBuy",
|
|
660
|
+
"type": "bool",
|
|
661
|
+
"indexed": false,
|
|
662
|
+
"internalType": "bool"
|
|
663
|
+
},
|
|
664
|
+
{
|
|
665
|
+
"name": "user",
|
|
666
|
+
"type": "address",
|
|
667
|
+
"indexed": true,
|
|
668
|
+
"internalType": "address"
|
|
669
|
+
},
|
|
670
|
+
{
|
|
671
|
+
"name": "timestamp",
|
|
672
|
+
"type": "uint256",
|
|
673
|
+
"indexed": false,
|
|
674
|
+
"internalType": "uint256"
|
|
675
|
+
},
|
|
676
|
+
{
|
|
677
|
+
"name": "virtualEthReserves",
|
|
678
|
+
"type": "uint64",
|
|
679
|
+
"indexed": false,
|
|
680
|
+
"internalType": "uint64"
|
|
681
|
+
},
|
|
682
|
+
{
|
|
683
|
+
"name": "virtualTokenReserves",
|
|
684
|
+
"type": "uint256",
|
|
685
|
+
"indexed": false,
|
|
686
|
+
"internalType": "uint256"
|
|
687
|
+
},
|
|
688
|
+
{
|
|
689
|
+
"name": "realEthReserves",
|
|
690
|
+
"type": "uint64",
|
|
691
|
+
"indexed": false,
|
|
692
|
+
"internalType": "uint64"
|
|
693
|
+
},
|
|
694
|
+
{
|
|
695
|
+
"name": "realTokenReserves",
|
|
696
|
+
"type": "uint256",
|
|
697
|
+
"indexed": false,
|
|
698
|
+
"internalType": "uint256"
|
|
699
|
+
}
|
|
700
|
+
],
|
|
701
|
+
"anonymous": false
|
|
702
|
+
},
|
|
703
|
+
{
|
|
704
|
+
"type": "event",
|
|
705
|
+
"name": "UpdateFeeRecipientEvent",
|
|
706
|
+
"inputs": [
|
|
707
|
+
{
|
|
708
|
+
"name": "authority",
|
|
709
|
+
"type": "address",
|
|
710
|
+
"indexed": true,
|
|
711
|
+
"internalType": "address"
|
|
712
|
+
},
|
|
713
|
+
{
|
|
714
|
+
"name": "oldFeeRecipient",
|
|
715
|
+
"type": "address",
|
|
716
|
+
"indexed": true,
|
|
717
|
+
"internalType": "address"
|
|
718
|
+
},
|
|
719
|
+
{
|
|
720
|
+
"name": "newFeeRecipient",
|
|
721
|
+
"type": "address",
|
|
722
|
+
"indexed": true,
|
|
723
|
+
"internalType": "address"
|
|
724
|
+
},
|
|
725
|
+
{
|
|
726
|
+
"name": "timestamp",
|
|
727
|
+
"type": "uint256",
|
|
728
|
+
"indexed": false,
|
|
729
|
+
"internalType": "uint256"
|
|
730
|
+
}
|
|
731
|
+
],
|
|
732
|
+
"anonymous": false
|
|
733
|
+
},
|
|
734
|
+
{
|
|
735
|
+
"type": "event",
|
|
736
|
+
"name": "UpdateGlobalAuthorityEvent",
|
|
737
|
+
"inputs": [
|
|
738
|
+
{
|
|
739
|
+
"name": "authority",
|
|
740
|
+
"type": "address",
|
|
741
|
+
"indexed": true,
|
|
742
|
+
"internalType": "address"
|
|
743
|
+
},
|
|
744
|
+
{
|
|
745
|
+
"name": "newAuthority",
|
|
746
|
+
"type": "address",
|
|
747
|
+
"indexed": true,
|
|
748
|
+
"internalType": "address"
|
|
749
|
+
},
|
|
750
|
+
{
|
|
751
|
+
"name": "timestamp",
|
|
752
|
+
"type": "uint256",
|
|
753
|
+
"indexed": false,
|
|
754
|
+
"internalType": "uint256"
|
|
755
|
+
}
|
|
756
|
+
],
|
|
757
|
+
"anonymous": false
|
|
758
|
+
},
|
|
759
|
+
{
|
|
760
|
+
"type": "event",
|
|
761
|
+
"name": "Upgraded",
|
|
762
|
+
"inputs": [
|
|
763
|
+
{
|
|
764
|
+
"name": "implementation",
|
|
765
|
+
"type": "address",
|
|
766
|
+
"indexed": true,
|
|
767
|
+
"internalType": "address"
|
|
768
|
+
}
|
|
769
|
+
],
|
|
770
|
+
"anonymous": false
|
|
771
|
+
},
|
|
772
|
+
{
|
|
773
|
+
"type": "event",
|
|
774
|
+
"name": "VolumeTracked",
|
|
775
|
+
"inputs": [
|
|
776
|
+
{
|
|
777
|
+
"name": "user",
|
|
778
|
+
"type": "address",
|
|
779
|
+
"indexed": true,
|
|
780
|
+
"internalType": "address"
|
|
781
|
+
},
|
|
782
|
+
{
|
|
783
|
+
"name": "mint",
|
|
784
|
+
"type": "address",
|
|
785
|
+
"indexed": true,
|
|
786
|
+
"internalType": "address"
|
|
787
|
+
},
|
|
788
|
+
{
|
|
789
|
+
"name": "volumeAmount",
|
|
790
|
+
"type": "uint256",
|
|
791
|
+
"indexed": false,
|
|
792
|
+
"internalType": "uint256"
|
|
793
|
+
},
|
|
794
|
+
{
|
|
795
|
+
"name": "totalVolume",
|
|
796
|
+
"type": "uint256",
|
|
797
|
+
"indexed": false,
|
|
798
|
+
"internalType": "uint256"
|
|
799
|
+
},
|
|
800
|
+
{
|
|
801
|
+
"name": "timestamp",
|
|
802
|
+
"type": "uint256",
|
|
803
|
+
"indexed": false,
|
|
804
|
+
"internalType": "uint256"
|
|
805
|
+
}
|
|
806
|
+
],
|
|
807
|
+
"anonymous": false
|
|
808
|
+
},
|
|
809
|
+
{
|
|
810
|
+
"type": "error",
|
|
811
|
+
"name": "AddressEmptyCode",
|
|
812
|
+
"inputs": [
|
|
813
|
+
{ "name": "target", "type": "address", "internalType": "address" }
|
|
814
|
+
]
|
|
815
|
+
},
|
|
816
|
+
{
|
|
817
|
+
"type": "error",
|
|
818
|
+
"name": "AllFeeRecipientsShouldBeNonZero",
|
|
819
|
+
"inputs": []
|
|
820
|
+
},
|
|
821
|
+
{ "type": "error", "name": "AllZerosWithdrawAuthority", "inputs": [] },
|
|
822
|
+
{ "type": "error", "name": "AlreadyInitialized", "inputs": [] },
|
|
823
|
+
{ "type": "error", "name": "BondingCurveComplete", "inputs": [] },
|
|
824
|
+
{ "type": "error", "name": "BondingCurveNotComplete", "inputs": [] },
|
|
825
|
+
{ "type": "error", "name": "BuyExceedsMigrationThreshold", "inputs": [] },
|
|
826
|
+
{ "type": "error", "name": "BuyZeroEth", "inputs": [] },
|
|
827
|
+
{ "type": "error", "name": "CreatorShouldNotBeZero", "inputs": [] },
|
|
828
|
+
{ "type": "error", "name": "DisabledMigrate", "inputs": [] },
|
|
829
|
+
{ "type": "error", "name": "DivisionByZero", "inputs": [] },
|
|
830
|
+
{
|
|
831
|
+
"type": "error",
|
|
832
|
+
"name": "ERC1967InvalidImplementation",
|
|
833
|
+
"inputs": [
|
|
834
|
+
{
|
|
835
|
+
"name": "implementation",
|
|
836
|
+
"type": "address",
|
|
837
|
+
"internalType": "address"
|
|
838
|
+
}
|
|
839
|
+
]
|
|
840
|
+
},
|
|
841
|
+
{ "type": "error", "name": "ERC1967NonPayable", "inputs": [] },
|
|
842
|
+
{ "type": "error", "name": "FailedCall", "inputs": [] },
|
|
843
|
+
{
|
|
844
|
+
"type": "error",
|
|
845
|
+
"name": "FeeBasisPointsGreaterThanMaximum",
|
|
846
|
+
"inputs": []
|
|
847
|
+
},
|
|
848
|
+
{ "type": "error", "name": "FeeTooSmall", "inputs": [] },
|
|
849
|
+
{
|
|
850
|
+
"type": "error",
|
|
851
|
+
"name": "InitialRealTokenReservesShouldBeLessThanTokenTotalSupply",
|
|
852
|
+
"inputs": []
|
|
853
|
+
},
|
|
854
|
+
{
|
|
855
|
+
"type": "error",
|
|
856
|
+
"name": "InitialVirtualTokenReservesShouldBeGreaterThanInitialRealTokenReserves",
|
|
857
|
+
"inputs": []
|
|
858
|
+
},
|
|
859
|
+
{ "type": "error", "name": "InsufficientMigrationFee", "inputs": [] },
|
|
860
|
+
{ "type": "error", "name": "InvalidInitialization", "inputs": [] },
|
|
861
|
+
{ "type": "error", "name": "NotAuthorized", "inputs": [] },
|
|
862
|
+
{ "type": "error", "name": "NotEnoughRemainingAccounts", "inputs": [] },
|
|
863
|
+
{ "type": "error", "name": "NotEnoughTokensToBuy", "inputs": [] },
|
|
864
|
+
{ "type": "error", "name": "NotEnoughTokensToSell", "inputs": [] },
|
|
865
|
+
{ "type": "error", "name": "NotInitializing", "inputs": [] },
|
|
866
|
+
{ "type": "error", "name": "Overflow", "inputs": [] },
|
|
867
|
+
{
|
|
868
|
+
"type": "error",
|
|
869
|
+
"name": "PoolMigrationFeeShouldBeGreaterThanCreatorFeePlusMaxMigrateFees",
|
|
870
|
+
"inputs": []
|
|
871
|
+
},
|
|
872
|
+
{
|
|
873
|
+
"type": "error",
|
|
874
|
+
"name": "PoolMigrationFeeShouldBeLessThanFinalRealEthReserves",
|
|
875
|
+
"inputs": []
|
|
876
|
+
},
|
|
877
|
+
{ "type": "error", "name": "SellAmountTooSmall", "inputs": [] },
|
|
878
|
+
{ "type": "error", "name": "SellZeroAmount", "inputs": [] },
|
|
879
|
+
{ "type": "error", "name": "TooLittleEthReceived", "inputs": [] },
|
|
880
|
+
{ "type": "error", "name": "TooLittleTokensReceived", "inputs": [] },
|
|
881
|
+
{ "type": "error", "name": "TransferFailed", "inputs": [] },
|
|
882
|
+
{ "type": "error", "name": "UUPSUnauthorizedCallContext", "inputs": [] },
|
|
883
|
+
{
|
|
884
|
+
"type": "error",
|
|
885
|
+
"name": "UUPSUnsupportedProxiableUUID",
|
|
886
|
+
"inputs": [
|
|
887
|
+
{ "name": "slot", "type": "bytes32", "internalType": "bytes32" }
|
|
888
|
+
]
|
|
889
|
+
},
|
|
890
|
+
{ "type": "error", "name": "UnsortedNotUniqueFeeRecipients", "inputs": [] }
|
|
891
|
+
],
|
|
892
|
+
"bytecode": {
|
|
893
|
+
"object": "0x60a060405230608052348015610013575f5ffd5b5061001c610021565b6100d3565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100715760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d05780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b60805161455c6100f95f395f8181611fbb01528181611fe40152612130015261455c5ff3fe60806040526004361061017e575f3560e01c80638ba90a2d116100cd578063b54df8af11610087578063db61c76e11610062578063db61c76e14610686578063df7d328214610699578063f160d369146106b8578063fb937829146106d7575f5ffd5b8063b54df8af146105ac578063b9a059f7146105cb578063ce5494bb14610673575f5ffd5b80638ba90a2d14610455578063a05f99061461047e578063a6769ef814610506578063ad3cb1cc14610531578063ae38f1451461056e578063b44a27221461058d575f5ffd5b806350879c1c1161013857806370f6e1431161011357806370f6e143146102c45780638129fc1c146102e357806382cbdc0f146102f757806383db2a2114610316575f5ffd5b806350879c1c1461025857806352d1902d1461028f57806365bc1504146102b1575f5ffd5b80630488cebb146101895780631982b1d0146101aa5780631bf6e958146101e6578063239f3af71461020557806347377d921461022e5780634f1ef28614610245575f5ffd5b3661018557005b5f5ffd5b348015610194575f5ffd5b506101a86101a33660046128ca565b6106f6565b005b3480156101b5575f5ffd5b506101c96101c43660046128ff565b610aae565b6040516001600160801b0390911681526020015b60405180910390f35b3480156101f1575f5ffd5b506101c961020036600461292c565b610ade565b348015610210575f5ffd5b5061021b620d89b481565b60405160029190910b81526020016101dd565b348015610239575f5ffd5b5061021b620d89b31981565b6101a861025336600461296a565b610b06565b348015610263575f5ffd5b50600b54610277906001600160a01b031681565b6040516001600160a01b0390911681526020016101dd565b34801561029a575f5ffd5b506102a3610b25565b6040519081526020016101dd565b6102776102bf366004612a71565b610b40565b3480156102cf575f5ffd5b506101a86102de366004612b29565b610b69565b3480156102ee575f5ffd5b506101a8610b9f565b348015610302575f5ffd5b50610277610311366004612b60565b610ccc565b348015610321575f5ffd5b506103ea610330366004612c0f565b6040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810191909152506001600160a01b03165f90815260086020908152604091829020825160e0810184528154815260018201546001600160401b039081169382019390935260028201549381019390935260038101549091166060830152600481015460808301526005015460ff808216151560a084015261010090910416151560c082015290565b6040516101dd91905f60e082019050825182526001600160401b036020840151166020830152604083015160408301526001600160401b0360608401511660608301526080830151608083015260a0830151151560a083015260c0830151151560c083015292915050565b348015610460575f5ffd5b5061046a610bb881565b60405162ffffff90911681526020016101dd565b348015610489575f5ffd5b505f546001546002546003546004546005546006546007546104ef9760ff808216986001600160a01b036101009093048316989083169790966001600160401b03918216969095909481831694600160401b83041693600160e01b90920490911691168b565b6040516101dd9b9a99989796959493929190612c2a565b348015610511575f5ffd5b506102a3610520366004612c0f565b60096020525f908152604090205481565b34801561053c575f5ffd5b50610561604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101dd9190612caa565b348015610579575f5ffd5b506101a8610588366004612cdf565b610f8e565b348015610598575f5ffd5b50600a54610277906001600160a01b031681565b3480156105b7575f5ffd5b506101a86105c6366004612c0f565b6112df565b3480156105d6575f5ffd5b506106316105e5366004612c0f565b60086020525f908152604090208054600182015460028301546003840154600485015460059095015493946001600160401b039384169492939091169160ff8082169161010090041687565b604080519788526001600160401b039687166020890152870194909452939091166060850152608084015290151560a0830152151560c082015260e0016101dd565b6101a8610681366004612c0f565b611344565b6101a8610694366004612d1a565b611a4b565b3480156106a4575f5ffd5b506102a36106b3366004612d59565b611de2565b3480156106c3575f5ffd5b506101a86106d2366004612c0f565b611e76565b3480156106e2575f5ffd5b506101a86106f1366004612d9b565b611f0a565b6106fe611f45565b806040013581606001351161072657604051633e7576e560e21b815260040160405180910390fd5b604081013581351161074b576040516384f6521f60e01b815260040160405180910390fd5b6103e861075e60a08301608084016128ff565b6001600160401b0316111561078657604051630ff61fb760e21b815260040160405180910390fd5b5f61079760c0830160a08401612c0f565b6001600160a01b0316036107be576040516307bc56d160e31b815260040160405180910390fd5b606081013560055580356002556040810180356004556107e190602083016128ff565b6003805467ffffffffffffffff19166001600160401b039290921691909117905561081260a08201608083016128ff565b6006805467ffffffffffffffff19166001600160401b039290921691909117905561084360c0820160a08301612c0f565b600680546001600160a01b0392909216600160401b0268010000000000000000600160e01b031990921691909117905561088360e0820160c08301612dc5565b60068054911515600160e01b0260ff60e01b199092169190911790555f6108af60408301358335612df2565b604083018035906108c390602086016128ff565b6001600160401b03166108d69190612e05565b6108e09190612e30565b90506108f3610100830160e084016128ff565b6001600160401b0316811161091b576040516305b3b45f60e01b815260040160405180910390fd5b660110d9316ec000610934610100840160e085016128ff565b6001600160401b03161161095b576040516315317f2160e31b815260040160405180910390fd5b61096c610100830160e084016128ff565b6007805467ffffffffffffffff19166001600160401b03929092169190911790555f6109a061012084016101008501612c0f565b6001600160a01b0316036109c7576040516305972dd960e31b815260040160405180910390fd5b6109d961012083016101008401612c0f565b600180546001600160a01b0319166001600160a01b03929092169190911790557f3b55e8e27cf38091d433ea4f1776e59762db38c13f2c36cfb9334150f6861b278235610a2c60408501602086016128ff565b6040850135846060870135610a4760a0890160808a016128ff565b610a5760c08a0160a08b01612c0f565b610a6760e08b0160c08c01612dc5565b610a786101008c0160e08d016128ff565b610a8a6101208d016101008e01612c0f565b42604051610aa29b9a99989796959493929190612e4f565b60405180910390a15050565b6006545f9061271090610ace906001600160401b03908116908516612e05565b610ad89190612e30565b92915050565b6001600160a01b0382165f908152600860205260408120610aff9083611f76565b9392505050565b610b0e611fb0565b610b1782612054565b610b21828261205f565b5050565b5f610b2e612125565b505f5160206145075f395f51905f5290565b5f610b5089898989898989610ccc565b9050610b5d818385611a4b565b98975050505050505050565b610b71611f45565b600a80546001600160a01b039384166001600160a01b031991821617909155600b8054929093169116179055565b5f610ba861216e565b805490915060ff600160401b82041615906001600160401b03165f81158015610bce5750825b90505f826001600160401b03166001148015610be95750303b155b905081158015610bf7575080155b15610c155760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610c3f57845460ff60401b1916600160401b1785555b5f5460ff1615610c615760405162dc149f60e41b815260040160405180910390fd5b5f805460ff196101003302166001600160a81b03199091161760011790558315610cc557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b5f6001600160a01b038216610cf45760405163cecd917560e01b815260040160405180910390fd5b878787875f6005015430878a8a604051610d0d906128bd565b610d1f99989796959493929190612ef9565b604051809103905ff080158015610d38573d5f5f3e3d5ffd5b506001600160a01b0381165f908152600860205260409020600280548255600380546001840180546001600160401b0390921667ffffffffffffffff1992831617905560048054938501939093559083018054909116905560058054918301919091558101805460ff191690556006549192509060ff600160e01b9091041615610f2157600a546040805163c45a015560e01b815290515f926001600160a01b03169163c45a01559160048083019260209291908290030181865afa158015610e03573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e279190612f52565b600b5460405163a167129560e01b81526001600160a01b0386811660048301529182166024820152610bb8604482015291169063a1671295906064016020604051808303815f875af1158015610e7f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea39190612f52565b90505f610ec4846aab24c7796fd2da38800000673782dace9d900000612196565b60405163f637731d60e01b81526001600160a01b0380831660048301529192509083169063f637731d906024015f604051808303815f87803b158015610f08575f5ffd5b505af1158015610f1a573d5f5f3e3d5ffd5b5050505050505b826001600160a01b0316336001600160a01b0316836001600160a01b03167f7c5f950b8bc67b967ab89533cbde5c558c4804e072a19e25ba27ec7001ddb9c48c8c8c8c8c8c42604051610f7a9796959493929190612f6d565b60405180910390a450979650505050505050565b6001600160a01b0383165f908152600860205260409020600581015460ff1615610fcb5760405163cf6228ff60e01b815260040160405180910390fd5b825f03610feb57604051632160c03760e11b815260040160405180910390fd5b5f610ff68285611f76565b9050806001600160401b03165f0361102157604051630236a3b960e51b815260040160405180910390fd5b6006545f9061271090611041906001600160401b03908116908516612e05565b61104b9190612e30565b90505f6110588284612fbd565b9050846001600160401b0316816001600160401b0316101561108d5760405163d950841760e01b815260040160405180910390fd5b85845f015f82825461109f9190612fdc565b9250508190555085846002015f8282546110b99190612fdc565b90915550506001840180548491905f906110dd9084906001600160401b0316612fbd565b92506101000a8154816001600160401b0302191690836001600160401b0316021790555082846003015f8282829054906101000a90046001600160401b03166111269190612fbd565b82546001600160401b039182166101009390930a928302919092021990911617905550604051636fdcc73360e11b8152336004820152306024820152604481018790526001600160a01b0388169063dfb98e66906064015f604051808303815f87803b158015611194575f5ffd5b505af11580156111a6573d5f5f3e3d5ffd5b505050506111bd33826001600160401b0316612235565b6111c78783612283565b6005840154610100900460ff161561126957335f90815260096020526040812080546001600160401b0384169290611200908490612fdc565b9091555050335f818152600960209081526040918290205482516001600160401b038616815291820152428183015290516001600160a01b038a1692917f3bd2ab76fe1372c52624369987e36e0eeec418adb4cce644c1ff1e92c88526cf919081900360600190a35b600184015484546003860154600287015460405133946001600160a01b038d16947f32f6fbd2517735f227983a70b97bd9b37b06793ce95cdabd3e4404a30e50807c946112ce948b948f945f9442946001600160401b03928316949193921691612fef565b60405180910390a350505050505050565b6112e7611f45565b5f8054610100600160a81b0319166101006001600160a01b0384169081029190911790915560405142815233907f5f83dd8281b215414cd8a5cc0daaa55e311d177df70e155237fe1893e98ee4d99060200160405180910390a350565b600654600160e01b900460ff1661136e57604051634fa8028360e01b815260040160405180910390fd5b6007546001600160401b031634101561139a576040516306fb546b60e31b815260040160405180910390fd5b6001600160a01b0381165f908152600860205260409020600581015460ff166113d65760405163d2d7f84160e01b815260040160405180910390fd5b6113df8161238b565b156113e8575050565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa15801561142c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114509190613038565b60038301805460075467ffffffffffffffff198083169093556001860180549093169092555f6002860181905585559192506001600160401b039182169116846001600160a01b0316638a8c523c6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156114c7575f5ffd5b505af11580156114d9573d5f5f3e3d5ffd5b505050506001600160401b038116156115125760065461151290600160401b90046001600160a01b03166001600160401b038316612235565b600b5f9054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004015f604051808303818588803b15801561155f575f5ffd5b505af1158015611571573d5f5f3e3d5ffd5b5050600a5461158f93508892506001600160a01b03169050856123ce565b600b54600a546115ac916001600160a01b039081169116846123ce565b600b545f9081906001600160a01b03908116908816106115d857600b546001600160a01b0316876115e7565b600b5487906001600160a01b03165b600b5491935091505f9081906001600160a01b03908116908a161061160d578587611610565b86865b915091505f604051806101600160405280866001600160a01b03168152602001856001600160a01b03168152602001610bb862ffffff168152602001620d89b31960020b8152602001620d89b460020b8152602001848152602001838152602001606485605f6116809190612e05565b61168a9190612e30565b8152602001606461169c85605f612e05565b6116a69190612e30565b815230602082015242604091820152600a549051634418b22b60e11b81529192505f916001600160a01b03909116906388316456906116e990859060040161304f565b6080604051808303815f875af1158015611705573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117299190613113565b5050600a546040516323b872dd60e01b815230600482015261dead6024820152604481018490529293506001600160a01b0316916323b872dd91506064015f604051808303815f87803b15801561177e575f5ffd5b505af1158015611790573d5f5f3e3d5ffd5b50506040516370a0823160e01b81523060048201525f92506001600160a01b038e1691506370a0823190602401602060405180830381865afa1580156117d8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117fc9190613038565b9050801561181c5760015461181c908d906001600160a01b031683612456565b600b546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015611862573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118869190613038565b905080156118ab57600b546001546118ab916001600160a01b03908116911683612456565b600a546040805163c45a015560e01b815290515f926001600160a01b03169163c45a01559160048083019260209291908290030181865afa1580156118f2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119169190612f52565b6001600160a01b0316631698ee828f600b5f9054906101000a90046001600160a01b0316610bb86040518463ffffffff1660e01b815260040161197f939291906001600160a01b03938416815291909216602082015262ffffff91909116604082015260600190565b602060405180830381865afa15801561199a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119be9190612f52565b9050806001600160a01b03168e6001600160a01b0316336001600160a01b03167f07ca1e8cb5a0097ee526b6d231adc11b67912789ddfad36700e4cc397d11cac88f8f8f42604051611a3394939291909384526001600160401b03928316602085015291166040830152606082015260800190565b60405180910390a45050505050505050505050505050565b345f03611a6b57604051630a445ee360e01b815260040160405180910390fd5b6001600160a01b0383165f908152600860205260409020600581015460ff1615611aa85760405163cf6228ff60e01b815260040160405180910390fd5b6006545f9061271090611ac4906001600160401b031634612e05565b611ace9190612e30565b90505f611adb8234612df2565b6003840154909150673782dace9d90000090611b019083906001600160401b0316612fdc565b1115611b2057604051630e59293f60e21b815260040160405180910390fd5b60018301545f90611b3b9083906001600160401b0316612fdc565b8454611b48908490612e05565b611b529190612e30565b90508360020154811115611b67575060028301545b85811015611b88576040516301be9b0160e71b815260040160405180910390fd5b80845f015f828254611b9a9190612df2565b9250508190555080846002015f828254611bb49190612df2565b90915550506001840180548391905f90611bd89084906001600160401b031661315a565b92506101000a8154816001600160401b0302191690836001600160401b0316021790555081846003015f8282829054906101000a90046001600160401b0316611c21919061315a565b92506101000a8154816001600160401b0302191690836001600160401b0316021790555083600201545f1480611c6e57506003840154673782dace9d9000006001600160401b0390911610155b15611ccd5760058401805460ff191660011790556040516001600160a01b0380891691908716907f35c1d7a8038046d5948da60a319d153de0582fd86f9244e07cfe5cb70e5c4e9790611cc49042815260200190565b60405180910390a35b611cd8878683612456565b611ce28784612283565b6005840154610100900460ff1615611d7c576001600160a01b0385165f9081526009602052604081208054349290611d1b908490612fdc565b90915550506001600160a01b038581165f818152600960209081526040918290205482513481529182015242818301529051928a16927f3bd2ab76fe1372c52624369987e36e0eeec418adb4cce644c1ff1e92c88526cf9181900360600190a35b6001848101548554600387015460028801546040516001600160a01b03808c1696908e16957f32f6fbd2517735f227983a70b97bd9b37b06793ce95cdabd3e4404a30e50807c956112ce958b958b9542946001600160401b039081169493169190612fef565b6001600160a01b0382165f908152600860205260408120600654829061271090611e19906001600160401b03908116908716612e05565b611e239190612e30565b90505f611e39826001600160401b038716612df2565b6001840154909150611e559082906001600160401b0316612fdc565b8354611e62908390612e05565b611e6c9190612e30565b9695505050505050565b611e7e611f45565b6001600160a01b038116611ea5576040516305972dd960e31b815260040160405180910390fd5b600180546001600160a01b038381166001600160a01b03198316811790935560405191169190829033907f853665966f61ace5d8d2ab7692107c77e747f9212327ee0c28f61de24ecc658090611efe9042815260200190565b60405180910390a45050565b611f12611f45565b6001600160a01b039091165f90815260086020526040902060050180549115156101000261ff0019909216919091179055565b5f5461010090046001600160a01b03163314611f745760405163ea8e4eb560e01b815260040160405180910390fd5b565b600182015482545f916001600160401b031690611f938482612fdc565b611f9d8386612e05565b611fa79190612e30565b95945050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061203657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661202a5f5160206145075f395f51905f52546001600160a01b031690565b6001600160a01b031614155b15611f745760405163703e46dd60e11b815260040160405180910390fd5b61205c611f45565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156120b9575060408051601f3d908101601f191682019092526120b691810190613038565b60015b6120e657604051634c9c8ce360e01b81526001600160a01b03831660048201526024015b60405180910390fd5b5f5160206145075f395f51905f52811461211657604051632a87526960e21b8152600481018290526024016120dd565b61212083836124df565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f745760405163703e46dd60e11b815260040160405180910390fd5b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610ad8565b5f8215806121a2575081155b156121c0576040516323d359a360e01b815260040160405180910390fd5b600b546001600160a01b03908116908516105f81156121ef576121e884600160c01b87612534565b9050612201565b6121fe85600160c01b86612534565b90505b5f61220b826125e4565b90506001600160a01b03811115611e6c57604051631a93c68960e11b815260040160405180910390fd5b5f5f5f5f5f85875af19050806121205760405162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b60448201526064016120dd565b805f036122a357604051639a7ac21b60e01b815260040160405180910390fd5b5f6122b0601e604661315a565b6001600160401b03166122c4604684612e05565b6122ce9190612e30565b90505f6122db8284612df2565b90508115806122e8575080155b1561230657604051639a7ac21b60e01b815260040160405180910390fd5b60015461231c906001600160a01b031683612235565b612385846001600160a01b03166302d05d3f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561235b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061237f9190612f52565b82612235565b50505050565b60038101545f906001600160401b03161580156123b3575060018201546001600160401b0316155b80156123c157506002820154155b8015610ad8575050541590565b5f60405163095ea7b360e01b81526001600160a01b038416600482015282602482015260205f6044835f895af191505080601f3d1160015f5114161516156124185750823b153d17155b806123855760405162461bcd60e51b815260206004820152600e60248201526d1054141493d59157d1905253115160921b60448201526064016120dd565b5f60405163a9059cbb60e01b81526001600160a01b038416600482015282602482015260205f6044835f895af191505080601f3d1160015f5114161516156124a05750823b153d17155b806123855760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b60448201526064016120dd565b6124e882612737565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561252c57612120828261279a565b610b2161283a565b5f5f5f6125418686612859565b91509150815f036125655783818161255b5761255b612e1c565b0492505050610aff565b81841161257c5761257c6003851502601118612875565b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010185841190960395909502919093039390930492909217029150509392505050565b5f600182116125f1575090565b816001600160801b821061260a5760809190911c9060401b5b600160401b82106126205760409190911c9060201b5b64010000000082106126375760209190911c9060101b5b62010000821061264c5760109190911c9060081b5b61010082106126605760089190911c9060041b5b601082106126735760049190911c9060021b5b6004821061267f5760011b5b600302600190811c9081858161269757612697612e1c565b048201901c905060018185816126af576126af612e1c565b048201901c905060018185816126c7576126c7612e1c565b048201901c905060018185816126df576126df612e1c565b048201901c905060018185816126f7576126f7612e1c565b048201901c9050600181858161270f5761270f612e1c565b048201901c905061272e81858161272857612728612e1c565b04821190565b90039392505050565b806001600160a01b03163b5f0361276c57604051634c9c8ce360e01b81526001600160a01b03821660048201526024016120dd565b5f5160206145075f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f6127a78484612886565b90508080156127c857505f3d11806127c857505f846001600160a01b03163b115b156127dd576127d5612899565b915050610ad8565b801561280757604051639996b31560e01b81526001600160a01b03851660048201526024016120dd565b3d1561281a576128156128b2565b612833565b60405163d6bda27560e01b815260040160405180910390fd5b5092915050565b3415611f745760405163b398979f60e01b815260040160405180910390fd5b5f805f1983850993909202808410938190039390930393915050565b634e487b715f52806020526024601cfd5b5f5f5f835160208501865af49392505050565b6040513d81523d5f602083013e3d602001810160405290565b6040513d5f823e3d81fd5b61138d8061317a83390190565b5f6101208284031280156128dc575f5ffd5b509092915050565b80356001600160401b03811681146128fa575f5ffd5b919050565b5f6020828403121561290f575f5ffd5b610aff826128e4565b6001600160a01b038116811461205c575f5ffd5b5f5f6040838503121561293d575f5ffd5b823561294881612918565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f5f6040838503121561297b575f5ffd5b823561298681612918565b915060208301356001600160401b038111156129a0575f5ffd5b8301601f810185136129b0575f5ffd5b80356001600160401b038111156129c9576129c9612956565b604051601f8201601f19908116603f011681016001600160401b03811182821017156129f7576129f7612956565b604052818152828201602001871015612a0e575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f5f83601f840112612a3d575f5ffd5b5081356001600160401b03811115612a53575f5ffd5b602083019150836020828501011115612a6a575f5ffd5b9250929050565b5f5f5f5f5f5f5f5f60a0898b031215612a88575f5ffd5b88356001600160401b03811115612a9d575f5ffd5b612aa98b828c01612a2d565b90995097505060208901356001600160401b03811115612ac7575f5ffd5b612ad38b828c01612a2d565b90975095505060408901356001600160401b03811115612af1575f5ffd5b612afd8b828c01612a2d565b9095509350506060890135612b1181612918565b979a9699509497939692959194509192608001359150565b5f5f60408385031215612b3a575f5ffd5b8235612b4581612918565b91506020830135612b5581612918565b809150509250929050565b5f5f5f5f5f5f5f6080888a031215612b76575f5ffd5b87356001600160401b03811115612b8b575f5ffd5b612b978a828b01612a2d565b90985096505060208801356001600160401b03811115612bb5575f5ffd5b612bc18a828b01612a2d565b90965094505060408801356001600160401b03811115612bdf575f5ffd5b612beb8a828b01612a2d565b9094509250506060880135612bff81612918565b8091505092959891949750929550565b5f60208284031215612c1f575f5ffd5b8135610aff81612918565b8b151581526001600160a01b038b811660208301528a81166040830152606082018a90526001600160401b03898116608084015260a0830189905260c08301889052861660e0830152841661010082015282151561012082015261016081016001600160401b0383166101408301525b9c9b505050505050505050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f5f60608486031215612cf1575f5ffd5b8335612cfc81612918565b925060208401359150612d11604085016128e4565b90509250925092565b5f5f5f60608486031215612d2c575f5ffd5b8335612d3781612918565b9250602084013591506040840135612d4e81612918565b809150509250925092565b5f5f60408385031215612d6a575f5ffd5b8235612d7581612918565b9150612d83602084016128e4565b90509250929050565b803580151581146128fa575f5ffd5b5f5f60408385031215612dac575f5ffd5b8235612db781612918565b9150612d8360208401612d8c565b5f60208284031215612dd5575f5ffd5b610aff82612d8c565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610ad857610ad8612dde565b8082028115828204841417610ad857610ad8612dde565b634e487b7160e01b5f52601260045260245ffd5b5f82612e4a57634e487b7160e01b5f52601260045260245ffd5b500490565b8b81526001600160401b038b81166020830152604082018b905289811660608301526080820189905287811660a08301526001600160a01b03871660c083015285151560e083015284166101008201526101608101612eba6101208301856001600160a01b03169052565b826101408301529c9b505050505050505050505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b60c081525f612f0c60c083018b8d612ed1565b8281036020840152612f1f818a8c612ed1565b604084018990526001600160a01b0388811660608601528716608085015283810360a08501529050612c9a818587612ed1565b5f60208284031215612f62575f5ffd5b8151610aff81612918565b608081525f612f8060808301898b612ed1565b8281036020840152612f9381888a612ed1565b90508281036040840152612fa8818688612ed1565b91505082606083015298975050505050505050565b6001600160401b038281168282160390811115610ad857610ad8612dde565b80820180821115610ad857610ad8612dde565b6001600160401b039889168152602081019790975294151560408701526060860193909352908516608085015260a084015290921660c082015260e08101919091526101000190565b5f60208284031215613048575f5ffd5b5051919050565b81516001600160a01b031681526101608101602083015161307b60208401826001600160a01b03169052565b506040830151613092604084018262ffffff169052565b5060608301516130a7606084018260020b9052565b5060808301516130bc608084018260020b9052565b5060a083015160a083015260c083015160c083015260e083015160e08301526101008301516101008301526101208301516131036101208401826001600160a01b03169052565b5061014092830151919092015290565b5f5f5f5f60808587031215613126575f5ffd5b845160208601519094506001600160801b0381168114613144575f5ffd5b6040860151606090960151949790965092505050565b6001600160401b038181168382160190811115610ad857610ad8612dde56fe60e060405234801561000f575f5ffd5b5060405161138d38038061138d83398101604081905261002e916102f8565b82868660125f61003e8482610433565b50600161004b8382610433565b5060ff81166080524660a05261005f6100ee565b60c0525050506001600160a01b03811661009257604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b61009b81610186565b50600980546001600160a01b038086166001600160a01b031992831617909255600880549285169290911691909117905560076100d88282610433565b506100e383856101d7565b505050505050610583565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f60405161011e91906104ed565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b8060025f8282546101e8919061055e565b90915550506001600160a01b0382165f818152600360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610263575f5ffd5b81516001600160401b0381111561027c5761027c610240565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102aa576102aa610240565b6040528181528382016020018510156102c1575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b80516001600160a01b03811681146102f3575f5ffd5b919050565b5f5f5f5f5f5f60c0878903121561030d575f5ffd5b86516001600160401b03811115610322575f5ffd5b61032e89828a01610254565b602089015190975090506001600160401b0381111561034b575f5ffd5b61035789828a01610254565b9550506040870151935061036d606088016102dd565b925061037b608088016102dd565b60a08801519092506001600160401b03811115610396575f5ffd5b6103a289828a01610254565b9150509295509295509295565b600181811c908216806103c357607f821691505b6020821081036103e157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561042e57805f5260205f20601f840160051c8101602085101561040c5750805b601f840160051c820191505b8181101561042b575f8155600101610418565b50505b505050565b81516001600160401b0381111561044c5761044c610240565b6104608161045a84546103af565b846103e7565b6020601f821160018114610492575f831561047b5750848201515b5f19600385901b1c1916600184901b17845561042b565b5f84815260208120601f198516915b828110156104c157878501518255602094850194600190920191016104a1565b50848210156104de57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f5f83546104fa816103af565b600182168015610511576001811461052657610553565b60ff1983168652811515820286019350610553565b865f5260205f205f5b8381101561054b5781548882015260019091019060200161052f565b505081860193505b509195945050505050565b8082018082111561057d57634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a05160c051610de06105ad5f395f61046401525f61042f01525f6101cd0152610de05ff3fe608060405234801561000f575f5ffd5b5060043610610132575f3560e01c80637ecebe00116100b4578063c45a015511610079578063c45a015514610299578063d505accf146102ac578063dd62ed3e146102bf578063dfb98e66146102e9578063eac989f8146102fc578063f2fde38b14610304575f5ffd5b80637ecebe00146102465780638a8c523c146102655780638da5cb5b1461026d57806395d89b411461027e578063a9059cbb14610286575f5ffd5b8063313ce567116100fa578063313ce567146101c85780633644e515146102015780634ada218b1461020957806370a082311461021d578063715018a61461023c575f5ffd5b806302d05d3f1461013657806306fdde0314610166578063095ea7b31461017b57806318160ddd1461019e57806323b872dd146101b5575b5f5ffd5b600854610149906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61016e610317565b60405161015d9190610b4e565b61018e610189366004610b9e565b6103a2565b604051901515815260200161015d565b6101a760025481565b60405190815260200161015d565b61018e6101c3366004610bc6565b61040e565b6101ef7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff909116815260200161015d565b6101a761042c565b60095461018e90600160a01b900460ff1681565b6101a761022b366004610c00565b60036020525f908152604090205481565b610244610486565b005b6101a7610254366004610c00565b60056020525f908152604090205481565b610244610499565b6006546001600160a01b0316610149565b61016e6104b6565b61018e610294366004610b9e565b6104c3565b600954610149906001600160a01b031681565b6102446102ba366004610c19565b6104df565b6101a76102cd366004610c86565b600460209081525f928352604080842090915290825290205481565b6102446102f7366004610bc6565b610722565b61016e610806565b610244610312366004610c00565b610813565b5f805461032390610cb7565b80601f016020809104026020016040519081016040528092919081815260200182805461034f90610cb7565b801561039a5780601f106103715761010080835404028352916020019161039a565b820191905f5260205f20905b81548152906001019060200180831161037d57829003601f168201915b505050505081565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103fc9086815260200190565b60405180910390a35060015b92915050565b5f6104198484610850565b6104248484846108d5565b949350505050565b5f7f000000000000000000000000000000000000000000000000000000000000000046146104615761045c6109c2565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b61048e610a5a565b6104975f610a87565b565b6104a1610a5a565b6009805460ff60a01b1916600160a01b179055565b6001805461032390610cb7565b5f6104ce3384610850565b6104d88383610ad8565b9392505050565b428410156105345760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f4558504952454400000000000000000060448201526064015b60405180910390fd5b5f600161053f61042c565b6001600160a01b038a81165f8181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610647573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b0381161580159061067d5750876001600160a01b0316816001600160a01b0316145b6106ba5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b604482015260640161052b565b6001600160a01b039081165f9081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b600954600160a01b900460ff161561074d57604051636b91f55d60e11b815260040160405180910390fd5b6009546001600160a01b0316331461077857604051630636a15760e11b815260040160405180910390fd5b6001600160a01b0383165f908152600360205260408120805483929061079f908490610cef565b90915550506001600160a01b038083165f81815260036020526040908190208054850190555190918516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906107f99085815260200190565b60405180910390a3505050565b6007805461032390610cb7565b61081b610a5a565b6001600160a01b03811661084457604051631e4fbdf760e01b81525f600482015260240161052b565b61084d81610a87565b50565b600954600160a01b900460ff1615610866575050565b6009546001600160a01b038381169116148061088f57506009546001600160a01b038281169116145b806108a157506001600160a01b038216155b806108b357506001600160a01b038116155b156108bc575050565b6040516312f1f92360e01b815260040160405180910390fd5b6001600160a01b0383165f9081526004602090815260408083203384529091528120545f19811461092e5761090a8382610cef565b6001600160a01b0386165f9081526004602090815260408083203384529091529020555b6001600160a01b0385165f9081526003602052604081208054859290610955908490610cef565b90915550506001600160a01b038085165f81815260036020526040908190208054870190555190918716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109af9087815260200190565b60405180910390a3506001949350505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516109f29190610d0e565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6006546001600160a01b031633146104975760405163118cdaa760e01b815233600482015260240161052b565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b335f90815260036020526040812080548391908390610af8908490610cef565b90915550506001600160a01b0383165f81815260036020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103fc9086815260200190565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610b99575f5ffd5b919050565b5f5f60408385031215610baf575f5ffd5b610bb883610b83565b946020939093013593505050565b5f5f5f60608486031215610bd8575f5ffd5b610be184610b83565b9250610bef60208501610b83565b929592945050506040919091013590565b5f60208284031215610c10575f5ffd5b6104d882610b83565b5f5f5f5f5f5f5f60e0888a031215610c2f575f5ffd5b610c3888610b83565b9650610c4660208901610b83565b95506040880135945060608801359350608088013560ff81168114610c69575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215610c97575f5ffd5b610ca083610b83565b9150610cae60208401610b83565b90509250929050565b600181811c90821680610ccb57607f821691505b602082108103610ce957634e487b7160e01b5f52602260045260245ffd5b50919050565b8181038181111561040857634e487b7160e01b5f52601160045260245ffd5b5f5f83545f8160011c90506001821680610d2957607f821691505b602082108103610d4757634e487b7160e01b5f52602260045260245ffd5b808015610d5b5760018114610d7057610d9e565b60ff1984168752821515830287019450610d9e565b5f888152602090205f5b84811015610d9657815489820152600190910190602001610d7a565b505082870194505b5092969550505050505056fea264697066735822122000073beb8f85b375519ffa509213774bfa5686d67bfcb2c17d3c3bb6091a611a64736f6c634300081e0033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212208bbf4457b6a96380c862967e3a6a21bc753a39ad48cc7fcac57d130d394d086f64736f6c634300081e0033",
|
|
894
|
+
"sourceMap": "979:22771:49:-:0;;;1084:4:31;1041:48;;6137:53:49;;;;;;;;;-1:-1:-1;6161:22:49;:20;:22::i;:::-;979:22771;;7709:422:30;3147:66;7898:15;;;;;;;7894:76;;;7936:23;;-1:-1:-1;;;7936:23:30;;;;;;;;;;;7894:76;7983:14;;-1:-1:-1;;;;;7983:14:30;;;:34;7979:146;;8033:33;;-1:-1:-1;;;;;;8033:33:30;-1:-1:-1;;;;;8033:33:30;;;;;8085:29;;158:50:66;;;8085:29:30;;146:2:66;131:18;8085:29:30;;;;;;;7979:146;7758:373;7709:422::o;14:200:66:-;979:22771:49;;;;;;;;;;;;;;;;;;;;;;",
|
|
895
|
+
"linkReferences": {}
|
|
896
|
+
},
|
|
897
|
+
"deployedBytecode": {
|
|
898
|
+
"object": "0x60806040526004361061017e575f3560e01c80638ba90a2d116100cd578063b54df8af11610087578063db61c76e11610062578063db61c76e14610686578063df7d328214610699578063f160d369146106b8578063fb937829146106d7575f5ffd5b8063b54df8af146105ac578063b9a059f7146105cb578063ce5494bb14610673575f5ffd5b80638ba90a2d14610455578063a05f99061461047e578063a6769ef814610506578063ad3cb1cc14610531578063ae38f1451461056e578063b44a27221461058d575f5ffd5b806350879c1c1161013857806370f6e1431161011357806370f6e143146102c45780638129fc1c146102e357806382cbdc0f146102f757806383db2a2114610316575f5ffd5b806350879c1c1461025857806352d1902d1461028f57806365bc1504146102b1575f5ffd5b80630488cebb146101895780631982b1d0146101aa5780631bf6e958146101e6578063239f3af71461020557806347377d921461022e5780634f1ef28614610245575f5ffd5b3661018557005b5f5ffd5b348015610194575f5ffd5b506101a86101a33660046128ca565b6106f6565b005b3480156101b5575f5ffd5b506101c96101c43660046128ff565b610aae565b6040516001600160801b0390911681526020015b60405180910390f35b3480156101f1575f5ffd5b506101c961020036600461292c565b610ade565b348015610210575f5ffd5b5061021b620d89b481565b60405160029190910b81526020016101dd565b348015610239575f5ffd5b5061021b620d89b31981565b6101a861025336600461296a565b610b06565b348015610263575f5ffd5b50600b54610277906001600160a01b031681565b6040516001600160a01b0390911681526020016101dd565b34801561029a575f5ffd5b506102a3610b25565b6040519081526020016101dd565b6102776102bf366004612a71565b610b40565b3480156102cf575f5ffd5b506101a86102de366004612b29565b610b69565b3480156102ee575f5ffd5b506101a8610b9f565b348015610302575f5ffd5b50610277610311366004612b60565b610ccc565b348015610321575f5ffd5b506103ea610330366004612c0f565b6040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810191909152506001600160a01b03165f90815260086020908152604091829020825160e0810184528154815260018201546001600160401b039081169382019390935260028201549381019390935260038101549091166060830152600481015460808301526005015460ff808216151560a084015261010090910416151560c082015290565b6040516101dd91905f60e082019050825182526001600160401b036020840151166020830152604083015160408301526001600160401b0360608401511660608301526080830151608083015260a0830151151560a083015260c0830151151560c083015292915050565b348015610460575f5ffd5b5061046a610bb881565b60405162ffffff90911681526020016101dd565b348015610489575f5ffd5b505f546001546002546003546004546005546006546007546104ef9760ff808216986001600160a01b036101009093048316989083169790966001600160401b03918216969095909481831694600160401b83041693600160e01b90920490911691168b565b6040516101dd9b9a99989796959493929190612c2a565b348015610511575f5ffd5b506102a3610520366004612c0f565b60096020525f908152604090205481565b34801561053c575f5ffd5b50610561604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101dd9190612caa565b348015610579575f5ffd5b506101a8610588366004612cdf565b610f8e565b348015610598575f5ffd5b50600a54610277906001600160a01b031681565b3480156105b7575f5ffd5b506101a86105c6366004612c0f565b6112df565b3480156105d6575f5ffd5b506106316105e5366004612c0f565b60086020525f908152604090208054600182015460028301546003840154600485015460059095015493946001600160401b039384169492939091169160ff8082169161010090041687565b604080519788526001600160401b039687166020890152870194909452939091166060850152608084015290151560a0830152151560c082015260e0016101dd565b6101a8610681366004612c0f565b611344565b6101a8610694366004612d1a565b611a4b565b3480156106a4575f5ffd5b506102a36106b3366004612d59565b611de2565b3480156106c3575f5ffd5b506101a86106d2366004612c0f565b611e76565b3480156106e2575f5ffd5b506101a86106f1366004612d9b565b611f0a565b6106fe611f45565b806040013581606001351161072657604051633e7576e560e21b815260040160405180910390fd5b604081013581351161074b576040516384f6521f60e01b815260040160405180910390fd5b6103e861075e60a08301608084016128ff565b6001600160401b0316111561078657604051630ff61fb760e21b815260040160405180910390fd5b5f61079760c0830160a08401612c0f565b6001600160a01b0316036107be576040516307bc56d160e31b815260040160405180910390fd5b606081013560055580356002556040810180356004556107e190602083016128ff565b6003805467ffffffffffffffff19166001600160401b039290921691909117905561081260a08201608083016128ff565b6006805467ffffffffffffffff19166001600160401b039290921691909117905561084360c0820160a08301612c0f565b600680546001600160a01b0392909216600160401b0268010000000000000000600160e01b031990921691909117905561088360e0820160c08301612dc5565b60068054911515600160e01b0260ff60e01b199092169190911790555f6108af60408301358335612df2565b604083018035906108c390602086016128ff565b6001600160401b03166108d69190612e05565b6108e09190612e30565b90506108f3610100830160e084016128ff565b6001600160401b0316811161091b576040516305b3b45f60e01b815260040160405180910390fd5b660110d9316ec000610934610100840160e085016128ff565b6001600160401b03161161095b576040516315317f2160e31b815260040160405180910390fd5b61096c610100830160e084016128ff565b6007805467ffffffffffffffff19166001600160401b03929092169190911790555f6109a061012084016101008501612c0f565b6001600160a01b0316036109c7576040516305972dd960e31b815260040160405180910390fd5b6109d961012083016101008401612c0f565b600180546001600160a01b0319166001600160a01b03929092169190911790557f3b55e8e27cf38091d433ea4f1776e59762db38c13f2c36cfb9334150f6861b278235610a2c60408501602086016128ff565b6040850135846060870135610a4760a0890160808a016128ff565b610a5760c08a0160a08b01612c0f565b610a6760e08b0160c08c01612dc5565b610a786101008c0160e08d016128ff565b610a8a6101208d016101008e01612c0f565b42604051610aa29b9a99989796959493929190612e4f565b60405180910390a15050565b6006545f9061271090610ace906001600160401b03908116908516612e05565b610ad89190612e30565b92915050565b6001600160a01b0382165f908152600860205260408120610aff9083611f76565b9392505050565b610b0e611fb0565b610b1782612054565b610b21828261205f565b5050565b5f610b2e612125565b505f5160206145075f395f51905f5290565b5f610b5089898989898989610ccc565b9050610b5d818385611a4b565b98975050505050505050565b610b71611f45565b600a80546001600160a01b039384166001600160a01b031991821617909155600b8054929093169116179055565b5f610ba861216e565b805490915060ff600160401b82041615906001600160401b03165f81158015610bce5750825b90505f826001600160401b03166001148015610be95750303b155b905081158015610bf7575080155b15610c155760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610c3f57845460ff60401b1916600160401b1785555b5f5460ff1615610c615760405162dc149f60e41b815260040160405180910390fd5b5f805460ff196101003302166001600160a81b03199091161760011790558315610cc557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b5f6001600160a01b038216610cf45760405163cecd917560e01b815260040160405180910390fd5b878787875f6005015430878a8a604051610d0d906128bd565b610d1f99989796959493929190612ef9565b604051809103905ff080158015610d38573d5f5f3e3d5ffd5b506001600160a01b0381165f908152600860205260409020600280548255600380546001840180546001600160401b0390921667ffffffffffffffff1992831617905560048054938501939093559083018054909116905560058054918301919091558101805460ff191690556006549192509060ff600160e01b9091041615610f2157600a546040805163c45a015560e01b815290515f926001600160a01b03169163c45a01559160048083019260209291908290030181865afa158015610e03573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e279190612f52565b600b5460405163a167129560e01b81526001600160a01b0386811660048301529182166024820152610bb8604482015291169063a1671295906064016020604051808303815f875af1158015610e7f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea39190612f52565b90505f610ec4846aab24c7796fd2da38800000673782dace9d900000612196565b60405163f637731d60e01b81526001600160a01b0380831660048301529192509083169063f637731d906024015f604051808303815f87803b158015610f08575f5ffd5b505af1158015610f1a573d5f5f3e3d5ffd5b5050505050505b826001600160a01b0316336001600160a01b0316836001600160a01b03167f7c5f950b8bc67b967ab89533cbde5c558c4804e072a19e25ba27ec7001ddb9c48c8c8c8c8c8c42604051610f7a9796959493929190612f6d565b60405180910390a450979650505050505050565b6001600160a01b0383165f908152600860205260409020600581015460ff1615610fcb5760405163cf6228ff60e01b815260040160405180910390fd5b825f03610feb57604051632160c03760e11b815260040160405180910390fd5b5f610ff68285611f76565b9050806001600160401b03165f0361102157604051630236a3b960e51b815260040160405180910390fd5b6006545f9061271090611041906001600160401b03908116908516612e05565b61104b9190612e30565b90505f6110588284612fbd565b9050846001600160401b0316816001600160401b0316101561108d5760405163d950841760e01b815260040160405180910390fd5b85845f015f82825461109f9190612fdc565b9250508190555085846002015f8282546110b99190612fdc565b90915550506001840180548491905f906110dd9084906001600160401b0316612fbd565b92506101000a8154816001600160401b0302191690836001600160401b0316021790555082846003015f8282829054906101000a90046001600160401b03166111269190612fbd565b82546001600160401b039182166101009390930a928302919092021990911617905550604051636fdcc73360e11b8152336004820152306024820152604481018790526001600160a01b0388169063dfb98e66906064015f604051808303815f87803b158015611194575f5ffd5b505af11580156111a6573d5f5f3e3d5ffd5b505050506111bd33826001600160401b0316612235565b6111c78783612283565b6005840154610100900460ff161561126957335f90815260096020526040812080546001600160401b0384169290611200908490612fdc565b9091555050335f818152600960209081526040918290205482516001600160401b038616815291820152428183015290516001600160a01b038a1692917f3bd2ab76fe1372c52624369987e36e0eeec418adb4cce644c1ff1e92c88526cf919081900360600190a35b600184015484546003860154600287015460405133946001600160a01b038d16947f32f6fbd2517735f227983a70b97bd9b37b06793ce95cdabd3e4404a30e50807c946112ce948b948f945f9442946001600160401b03928316949193921691612fef565b60405180910390a350505050505050565b6112e7611f45565b5f8054610100600160a81b0319166101006001600160a01b0384169081029190911790915560405142815233907f5f83dd8281b215414cd8a5cc0daaa55e311d177df70e155237fe1893e98ee4d99060200160405180910390a350565b600654600160e01b900460ff1661136e57604051634fa8028360e01b815260040160405180910390fd5b6007546001600160401b031634101561139a576040516306fb546b60e31b815260040160405180910390fd5b6001600160a01b0381165f908152600860205260409020600581015460ff166113d65760405163d2d7f84160e01b815260040160405180910390fd5b6113df8161238b565b156113e8575050565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa15801561142c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114509190613038565b60038301805460075467ffffffffffffffff198083169093556001860180549093169092555f6002860181905585559192506001600160401b039182169116846001600160a01b0316638a8c523c6040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156114c7575f5ffd5b505af11580156114d9573d5f5f3e3d5ffd5b505050506001600160401b038116156115125760065461151290600160401b90046001600160a01b03166001600160401b038316612235565b600b5f9054906101000a90046001600160a01b03166001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004015f604051808303818588803b15801561155f575f5ffd5b505af1158015611571573d5f5f3e3d5ffd5b5050600a5461158f93508892506001600160a01b03169050856123ce565b600b54600a546115ac916001600160a01b039081169116846123ce565b600b545f9081906001600160a01b03908116908816106115d857600b546001600160a01b0316876115e7565b600b5487906001600160a01b03165b600b5491935091505f9081906001600160a01b03908116908a161061160d578587611610565b86865b915091505f604051806101600160405280866001600160a01b03168152602001856001600160a01b03168152602001610bb862ffffff168152602001620d89b31960020b8152602001620d89b460020b8152602001848152602001838152602001606485605f6116809190612e05565b61168a9190612e30565b8152602001606461169c85605f612e05565b6116a69190612e30565b815230602082015242604091820152600a549051634418b22b60e11b81529192505f916001600160a01b03909116906388316456906116e990859060040161304f565b6080604051808303815f875af1158015611705573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117299190613113565b5050600a546040516323b872dd60e01b815230600482015261dead6024820152604481018490529293506001600160a01b0316916323b872dd91506064015f604051808303815f87803b15801561177e575f5ffd5b505af1158015611790573d5f5f3e3d5ffd5b50506040516370a0823160e01b81523060048201525f92506001600160a01b038e1691506370a0823190602401602060405180830381865afa1580156117d8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117fc9190613038565b9050801561181c5760015461181c908d906001600160a01b031683612456565b600b546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015611862573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118869190613038565b905080156118ab57600b546001546118ab916001600160a01b03908116911683612456565b600a546040805163c45a015560e01b815290515f926001600160a01b03169163c45a01559160048083019260209291908290030181865afa1580156118f2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119169190612f52565b6001600160a01b0316631698ee828f600b5f9054906101000a90046001600160a01b0316610bb86040518463ffffffff1660e01b815260040161197f939291906001600160a01b03938416815291909216602082015262ffffff91909116604082015260600190565b602060405180830381865afa15801561199a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119be9190612f52565b9050806001600160a01b03168e6001600160a01b0316336001600160a01b03167f07ca1e8cb5a0097ee526b6d231adc11b67912789ddfad36700e4cc397d11cac88f8f8f42604051611a3394939291909384526001600160401b03928316602085015291166040830152606082015260800190565b60405180910390a45050505050505050505050505050565b345f03611a6b57604051630a445ee360e01b815260040160405180910390fd5b6001600160a01b0383165f908152600860205260409020600581015460ff1615611aa85760405163cf6228ff60e01b815260040160405180910390fd5b6006545f9061271090611ac4906001600160401b031634612e05565b611ace9190612e30565b90505f611adb8234612df2565b6003840154909150673782dace9d90000090611b019083906001600160401b0316612fdc565b1115611b2057604051630e59293f60e21b815260040160405180910390fd5b60018301545f90611b3b9083906001600160401b0316612fdc565b8454611b48908490612e05565b611b529190612e30565b90508360020154811115611b67575060028301545b85811015611b88576040516301be9b0160e71b815260040160405180910390fd5b80845f015f828254611b9a9190612df2565b9250508190555080846002015f828254611bb49190612df2565b90915550506001840180548391905f90611bd89084906001600160401b031661315a565b92506101000a8154816001600160401b0302191690836001600160401b0316021790555081846003015f8282829054906101000a90046001600160401b0316611c21919061315a565b92506101000a8154816001600160401b0302191690836001600160401b0316021790555083600201545f1480611c6e57506003840154673782dace9d9000006001600160401b0390911610155b15611ccd5760058401805460ff191660011790556040516001600160a01b0380891691908716907f35c1d7a8038046d5948da60a319d153de0582fd86f9244e07cfe5cb70e5c4e9790611cc49042815260200190565b60405180910390a35b611cd8878683612456565b611ce28784612283565b6005840154610100900460ff1615611d7c576001600160a01b0385165f9081526009602052604081208054349290611d1b908490612fdc565b90915550506001600160a01b038581165f818152600960209081526040918290205482513481529182015242818301529051928a16927f3bd2ab76fe1372c52624369987e36e0eeec418adb4cce644c1ff1e92c88526cf9181900360600190a35b6001848101548554600387015460028801546040516001600160a01b03808c1696908e16957f32f6fbd2517735f227983a70b97bd9b37b06793ce95cdabd3e4404a30e50807c956112ce958b958b9542946001600160401b039081169493169190612fef565b6001600160a01b0382165f908152600860205260408120600654829061271090611e19906001600160401b03908116908716612e05565b611e239190612e30565b90505f611e39826001600160401b038716612df2565b6001840154909150611e559082906001600160401b0316612fdc565b8354611e62908390612e05565b611e6c9190612e30565b9695505050505050565b611e7e611f45565b6001600160a01b038116611ea5576040516305972dd960e31b815260040160405180910390fd5b600180546001600160a01b038381166001600160a01b03198316811790935560405191169190829033907f853665966f61ace5d8d2ab7692107c77e747f9212327ee0c28f61de24ecc658090611efe9042815260200190565b60405180910390a45050565b611f12611f45565b6001600160a01b039091165f90815260086020526040902060050180549115156101000261ff0019909216919091179055565b5f5461010090046001600160a01b03163314611f745760405163ea8e4eb560e01b815260040160405180910390fd5b565b600182015482545f916001600160401b031690611f938482612fdc565b611f9d8386612e05565b611fa79190612e30565b95945050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061203657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661202a5f5160206145075f395f51905f52546001600160a01b031690565b6001600160a01b031614155b15611f745760405163703e46dd60e11b815260040160405180910390fd5b61205c611f45565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156120b9575060408051601f3d908101601f191682019092526120b691810190613038565b60015b6120e657604051634c9c8ce360e01b81526001600160a01b03831660048201526024015b60405180910390fd5b5f5160206145075f395f51905f52811461211657604051632a87526960e21b8152600481018290526024016120dd565b61212083836124df565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f745760405163703e46dd60e11b815260040160405180910390fd5b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610ad8565b5f8215806121a2575081155b156121c0576040516323d359a360e01b815260040160405180910390fd5b600b546001600160a01b03908116908516105f81156121ef576121e884600160c01b87612534565b9050612201565b6121fe85600160c01b86612534565b90505b5f61220b826125e4565b90506001600160a01b03811115611e6c57604051631a93c68960e11b815260040160405180910390fd5b5f5f5f5f5f85875af19050806121205760405162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b60448201526064016120dd565b805f036122a357604051639a7ac21b60e01b815260040160405180910390fd5b5f6122b0601e604661315a565b6001600160401b03166122c4604684612e05565b6122ce9190612e30565b90505f6122db8284612df2565b90508115806122e8575080155b1561230657604051639a7ac21b60e01b815260040160405180910390fd5b60015461231c906001600160a01b031683612235565b612385846001600160a01b03166302d05d3f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561235b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061237f9190612f52565b82612235565b50505050565b60038101545f906001600160401b03161580156123b3575060018201546001600160401b0316155b80156123c157506002820154155b8015610ad8575050541590565b5f60405163095ea7b360e01b81526001600160a01b038416600482015282602482015260205f6044835f895af191505080601f3d1160015f5114161516156124185750823b153d17155b806123855760405162461bcd60e51b815260206004820152600e60248201526d1054141493d59157d1905253115160921b60448201526064016120dd565b5f60405163a9059cbb60e01b81526001600160a01b038416600482015282602482015260205f6044835f895af191505080601f3d1160015f5114161516156124a05750823b153d17155b806123855760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b60448201526064016120dd565b6124e882612737565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561252c57612120828261279a565b610b2161283a565b5f5f5f6125418686612859565b91509150815f036125655783818161255b5761255b612e1c565b0492505050610aff565b81841161257c5761257c6003851502601118612875565b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010185841190960395909502919093039390930492909217029150509392505050565b5f600182116125f1575090565b816001600160801b821061260a5760809190911c9060401b5b600160401b82106126205760409190911c9060201b5b64010000000082106126375760209190911c9060101b5b62010000821061264c5760109190911c9060081b5b61010082106126605760089190911c9060041b5b601082106126735760049190911c9060021b5b6004821061267f5760011b5b600302600190811c9081858161269757612697612e1c565b048201901c905060018185816126af576126af612e1c565b048201901c905060018185816126c7576126c7612e1c565b048201901c905060018185816126df576126df612e1c565b048201901c905060018185816126f7576126f7612e1c565b048201901c9050600181858161270f5761270f612e1c565b048201901c905061272e81858161272857612728612e1c565b04821190565b90039392505050565b806001600160a01b03163b5f0361276c57604051634c9c8ce360e01b81526001600160a01b03821660048201526024016120dd565b5f5160206145075f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f6127a78484612886565b90508080156127c857505f3d11806127c857505f846001600160a01b03163b115b156127dd576127d5612899565b915050610ad8565b801561280757604051639996b31560e01b81526001600160a01b03851660048201526024016120dd565b3d1561281a576128156128b2565b612833565b60405163d6bda27560e01b815260040160405180910390fd5b5092915050565b3415611f745760405163b398979f60e01b815260040160405180910390fd5b5f805f1983850993909202808410938190039390930393915050565b634e487b715f52806020526024601cfd5b5f5f5f835160208501865af49392505050565b6040513d81523d5f602083013e3d602001810160405290565b6040513d5f823e3d81fd5b61138d8061317a83390190565b5f6101208284031280156128dc575f5ffd5b509092915050565b80356001600160401b03811681146128fa575f5ffd5b919050565b5f6020828403121561290f575f5ffd5b610aff826128e4565b6001600160a01b038116811461205c575f5ffd5b5f5f6040838503121561293d575f5ffd5b823561294881612918565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f5f6040838503121561297b575f5ffd5b823561298681612918565b915060208301356001600160401b038111156129a0575f5ffd5b8301601f810185136129b0575f5ffd5b80356001600160401b038111156129c9576129c9612956565b604051601f8201601f19908116603f011681016001600160401b03811182821017156129f7576129f7612956565b604052818152828201602001871015612a0e575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f5f83601f840112612a3d575f5ffd5b5081356001600160401b03811115612a53575f5ffd5b602083019150836020828501011115612a6a575f5ffd5b9250929050565b5f5f5f5f5f5f5f5f60a0898b031215612a88575f5ffd5b88356001600160401b03811115612a9d575f5ffd5b612aa98b828c01612a2d565b90995097505060208901356001600160401b03811115612ac7575f5ffd5b612ad38b828c01612a2d565b90975095505060408901356001600160401b03811115612af1575f5ffd5b612afd8b828c01612a2d565b9095509350506060890135612b1181612918565b979a9699509497939692959194509192608001359150565b5f5f60408385031215612b3a575f5ffd5b8235612b4581612918565b91506020830135612b5581612918565b809150509250929050565b5f5f5f5f5f5f5f6080888a031215612b76575f5ffd5b87356001600160401b03811115612b8b575f5ffd5b612b978a828b01612a2d565b90985096505060208801356001600160401b03811115612bb5575f5ffd5b612bc18a828b01612a2d565b90965094505060408801356001600160401b03811115612bdf575f5ffd5b612beb8a828b01612a2d565b9094509250506060880135612bff81612918565b8091505092959891949750929550565b5f60208284031215612c1f575f5ffd5b8135610aff81612918565b8b151581526001600160a01b038b811660208301528a81166040830152606082018a90526001600160401b03898116608084015260a0830189905260c08301889052861660e0830152841661010082015282151561012082015261016081016001600160401b0383166101408301525b9c9b505050505050505050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f5f60608486031215612cf1575f5ffd5b8335612cfc81612918565b925060208401359150612d11604085016128e4565b90509250925092565b5f5f5f60608486031215612d2c575f5ffd5b8335612d3781612918565b9250602084013591506040840135612d4e81612918565b809150509250925092565b5f5f60408385031215612d6a575f5ffd5b8235612d7581612918565b9150612d83602084016128e4565b90509250929050565b803580151581146128fa575f5ffd5b5f5f60408385031215612dac575f5ffd5b8235612db781612918565b9150612d8360208401612d8c565b5f60208284031215612dd5575f5ffd5b610aff82612d8c565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610ad857610ad8612dde565b8082028115828204841417610ad857610ad8612dde565b634e487b7160e01b5f52601260045260245ffd5b5f82612e4a57634e487b7160e01b5f52601260045260245ffd5b500490565b8b81526001600160401b038b81166020830152604082018b905289811660608301526080820189905287811660a08301526001600160a01b03871660c083015285151560e083015284166101008201526101608101612eba6101208301856001600160a01b03169052565b826101408301529c9b505050505050505050505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b60c081525f612f0c60c083018b8d612ed1565b8281036020840152612f1f818a8c612ed1565b604084018990526001600160a01b0388811660608601528716608085015283810360a08501529050612c9a818587612ed1565b5f60208284031215612f62575f5ffd5b8151610aff81612918565b608081525f612f8060808301898b612ed1565b8281036020840152612f9381888a612ed1565b90508281036040840152612fa8818688612ed1565b91505082606083015298975050505050505050565b6001600160401b038281168282160390811115610ad857610ad8612dde565b80820180821115610ad857610ad8612dde565b6001600160401b039889168152602081019790975294151560408701526060860193909352908516608085015260a084015290921660c082015260e08101919091526101000190565b5f60208284031215613048575f5ffd5b5051919050565b81516001600160a01b031681526101608101602083015161307b60208401826001600160a01b03169052565b506040830151613092604084018262ffffff169052565b5060608301516130a7606084018260020b9052565b5060808301516130bc608084018260020b9052565b5060a083015160a083015260c083015160c083015260e083015160e08301526101008301516101008301526101208301516131036101208401826001600160a01b03169052565b5061014092830151919092015290565b5f5f5f5f60808587031215613126575f5ffd5b845160208601519094506001600160801b0381168114613144575f5ffd5b6040860151606090960151949790965092505050565b6001600160401b038181168382160190811115610ad857610ad8612dde56fe60e060405234801561000f575f5ffd5b5060405161138d38038061138d83398101604081905261002e916102f8565b82868660125f61003e8482610433565b50600161004b8382610433565b5060ff81166080524660a05261005f6100ee565b60c0525050506001600160a01b03811661009257604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b61009b81610186565b50600980546001600160a01b038086166001600160a01b031992831617909255600880549285169290911691909117905560076100d88282610433565b506100e383856101d7565b505050505050610583565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f60405161011e91906104ed565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b8060025f8282546101e8919061055e565b90915550506001600160a01b0382165f818152600360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610263575f5ffd5b81516001600160401b0381111561027c5761027c610240565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102aa576102aa610240565b6040528181528382016020018510156102c1575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b80516001600160a01b03811681146102f3575f5ffd5b919050565b5f5f5f5f5f5f60c0878903121561030d575f5ffd5b86516001600160401b03811115610322575f5ffd5b61032e89828a01610254565b602089015190975090506001600160401b0381111561034b575f5ffd5b61035789828a01610254565b9550506040870151935061036d606088016102dd565b925061037b608088016102dd565b60a08801519092506001600160401b03811115610396575f5ffd5b6103a289828a01610254565b9150509295509295509295565b600181811c908216806103c357607f821691505b6020821081036103e157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561042e57805f5260205f20601f840160051c8101602085101561040c5750805b601f840160051c820191505b8181101561042b575f8155600101610418565b50505b505050565b81516001600160401b0381111561044c5761044c610240565b6104608161045a84546103af565b846103e7565b6020601f821160018114610492575f831561047b5750848201515b5f19600385901b1c1916600184901b17845561042b565b5f84815260208120601f198516915b828110156104c157878501518255602094850194600190920191016104a1565b50848210156104de57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f5f83546104fa816103af565b600182168015610511576001811461052657610553565b60ff1983168652811515820286019350610553565b865f5260205f205f5b8381101561054b5781548882015260019091019060200161052f565b505081860193505b509195945050505050565b8082018082111561057d57634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a05160c051610de06105ad5f395f61046401525f61042f01525f6101cd0152610de05ff3fe608060405234801561000f575f5ffd5b5060043610610132575f3560e01c80637ecebe00116100b4578063c45a015511610079578063c45a015514610299578063d505accf146102ac578063dd62ed3e146102bf578063dfb98e66146102e9578063eac989f8146102fc578063f2fde38b14610304575f5ffd5b80637ecebe00146102465780638a8c523c146102655780638da5cb5b1461026d57806395d89b411461027e578063a9059cbb14610286575f5ffd5b8063313ce567116100fa578063313ce567146101c85780633644e515146102015780634ada218b1461020957806370a082311461021d578063715018a61461023c575f5ffd5b806302d05d3f1461013657806306fdde0314610166578063095ea7b31461017b57806318160ddd1461019e57806323b872dd146101b5575b5f5ffd5b600854610149906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61016e610317565b60405161015d9190610b4e565b61018e610189366004610b9e565b6103a2565b604051901515815260200161015d565b6101a760025481565b60405190815260200161015d565b61018e6101c3366004610bc6565b61040e565b6101ef7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff909116815260200161015d565b6101a761042c565b60095461018e90600160a01b900460ff1681565b6101a761022b366004610c00565b60036020525f908152604090205481565b610244610486565b005b6101a7610254366004610c00565b60056020525f908152604090205481565b610244610499565b6006546001600160a01b0316610149565b61016e6104b6565b61018e610294366004610b9e565b6104c3565b600954610149906001600160a01b031681565b6102446102ba366004610c19565b6104df565b6101a76102cd366004610c86565b600460209081525f928352604080842090915290825290205481565b6102446102f7366004610bc6565b610722565b61016e610806565b610244610312366004610c00565b610813565b5f805461032390610cb7565b80601f016020809104026020016040519081016040528092919081815260200182805461034f90610cb7565b801561039a5780601f106103715761010080835404028352916020019161039a565b820191905f5260205f20905b81548152906001019060200180831161037d57829003601f168201915b505050505081565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103fc9086815260200190565b60405180910390a35060015b92915050565b5f6104198484610850565b6104248484846108d5565b949350505050565b5f7f000000000000000000000000000000000000000000000000000000000000000046146104615761045c6109c2565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b61048e610a5a565b6104975f610a87565b565b6104a1610a5a565b6009805460ff60a01b1916600160a01b179055565b6001805461032390610cb7565b5f6104ce3384610850565b6104d88383610ad8565b9392505050565b428410156105345760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f4558504952454400000000000000000060448201526064015b60405180910390fd5b5f600161053f61042c565b6001600160a01b038a81165f8181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610647573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b0381161580159061067d5750876001600160a01b0316816001600160a01b0316145b6106ba5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b604482015260640161052b565b6001600160a01b039081165f9081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b600954600160a01b900460ff161561074d57604051636b91f55d60e11b815260040160405180910390fd5b6009546001600160a01b0316331461077857604051630636a15760e11b815260040160405180910390fd5b6001600160a01b0383165f908152600360205260408120805483929061079f908490610cef565b90915550506001600160a01b038083165f81815260036020526040908190208054850190555190918516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906107f99085815260200190565b60405180910390a3505050565b6007805461032390610cb7565b61081b610a5a565b6001600160a01b03811661084457604051631e4fbdf760e01b81525f600482015260240161052b565b61084d81610a87565b50565b600954600160a01b900460ff1615610866575050565b6009546001600160a01b038381169116148061088f57506009546001600160a01b038281169116145b806108a157506001600160a01b038216155b806108b357506001600160a01b038116155b156108bc575050565b6040516312f1f92360e01b815260040160405180910390fd5b6001600160a01b0383165f9081526004602090815260408083203384529091528120545f19811461092e5761090a8382610cef565b6001600160a01b0386165f9081526004602090815260408083203384529091529020555b6001600160a01b0385165f9081526003602052604081208054859290610955908490610cef565b90915550506001600160a01b038085165f81815260036020526040908190208054870190555190918716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109af9087815260200190565b60405180910390a3506001949350505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516109f29190610d0e565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6006546001600160a01b031633146104975760405163118cdaa760e01b815233600482015260240161052b565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b335f90815260036020526040812080548391908390610af8908490610cef565b90915550506001600160a01b0383165f81815260036020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103fc9086815260200190565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610b99575f5ffd5b919050565b5f5f60408385031215610baf575f5ffd5b610bb883610b83565b946020939093013593505050565b5f5f5f60608486031215610bd8575f5ffd5b610be184610b83565b9250610bef60208501610b83565b929592945050506040919091013590565b5f60208284031215610c10575f5ffd5b6104d882610b83565b5f5f5f5f5f5f5f60e0888a031215610c2f575f5ffd5b610c3888610b83565b9650610c4660208901610b83565b95506040880135945060608801359350608088013560ff81168114610c69575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215610c97575f5ffd5b610ca083610b83565b9150610cae60208401610b83565b90509250929050565b600181811c90821680610ccb57607f821691505b602082108103610ce957634e487b7160e01b5f52602260045260245ffd5b50919050565b8181038181111561040857634e487b7160e01b5f52601160045260245ffd5b5f5f83545f8160011c90506001821680610d2957607f821691505b602082108103610d4757634e487b7160e01b5f52602260045260245ffd5b808015610d5b5760018114610d7057610d9e565b60ff1984168752821515830287019450610d9e565b5f888152602090205f5b84811015610d9657815489820152600190910190602001610d7a565b505082870194505b5092969550505050505056fea264697066735822122000073beb8f85b375519ffa509213774bfa5686d67bfcb2c17d3c3bb6091a611a64736f6c634300081e0033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212208bbf4457b6a96380c862967e3a6a21bc753a39ad48cc7fcac57d130d394d086f64736f6c634300081e0033",
|
|
899
|
+
"sourceMap": "979:22771:49:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7644:2304;;;;;;;;;;-1:-1:-1;7644:2304:49;;;;;:::i;:::-;;:::i;:::-;;20076:149;;;;;;;;;;-1:-1:-1;20076:149:49;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;787:47:66;;;769:66;;757:2;742:18;20076:149:49;;;;;;;;19911:159;;;;;;;;;;-1:-1:-1;19911:159:49;;;;;:::i;:::-;;:::i;4145:41::-;;;;;;;;;;;;4180:6;4145:41;;;;;1621:1:66;1610:21;;;;1592:40;;1580:2;1565:18;4145:41:49;1450:188:66;4083:42:49;;;;;;;;;;;;-1:-1:-1;;4083:42:49;;3911:214:31;;;;;;:::i;:::-;;:::i;3998:19:49:-;;;;;;;;;;-1:-1:-1;3998:19:49;;;;-1:-1:-1;;;;;3998:19:49;;;;;;-1:-1:-1;;;;;3039:32:66;;;3021:51;;3009:2;2994:18;3998:19:49;2859:219:66;3466:126:31;;;;;;;;;;;;;:::i;:::-;;;3229:25:66;;;3217:2;3202:18;3466:126:31;3083:177:66;11622:317:49;;;;;;:::i;:::-;;:::i;6531:241::-;;;;;;;;;;-1:-1:-1;6531:241:49;;;;;:::i;:::-;;:::i;6285:185::-;;;;;;;;;;;;;:::i;10078:1462::-;;;;;;;;;;-1:-1:-1;10078:1462:49;;;;;:::i;:::-;;:::i;20231:134::-;;;;;;;;;;-1:-1:-1;20231:134:49;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20338:20:49;;;;;:13;:20;;;;;;;;;20331:27;;;;;;;;;;;;;;;-1:-1:-1;;;;;20331:27:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20231:134;;;;;;;7382:4:66;7424:3;7413:9;7409:19;7401:27;;7461:6;7455:13;7444:9;7437:32;-1:-1:-1;;;;;7529:4:66;7521:6;7517:17;7511:24;7507:49;7500:4;7489:9;7485:20;7478:79;7613:4;7605:6;7601:17;7595:24;7588:4;7577:9;7573:20;7566:54;-1:-1:-1;;;;;7680:4:66;7672:6;7668:17;7662:24;7658:49;7651:4;7640:9;7636:20;7629:79;7764:4;7756:6;7752:17;7746:24;7739:4;7728:9;7724:20;7717:54;7841:4;7833:6;7829:17;7823:24;7816:32;7809:40;7802:4;7791:9;7787:20;7780:70;7920:4;7912:6;7908:17;7902:24;7895:32;7888:40;7881:4;7870:9;7866:20;7859:70;7228:707;;;;;4023:46:49;;;;;;;;;;;;4065:4;4023:46;;;;;8211:8:66;8199:21;;;8181:40;;8169:2;8154:18;4023:46:49;8037:190:66;3748:20:49;;;;;;;;;;-1:-1:-1;3748:20:49;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3748:20:49;;;;;;;;;;;;;-1:-1:-1;;;;;3748:20:49;;;;;;;;;;;;-1:-1:-1;;;3748:20:49;;;;-1:-1:-1;;;3748:20:49;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3838:57::-;;;;;;;;;;-1:-1:-1;3838:57:49;;;;;:::i;:::-;;;;;;;;;;;;;;1732:58:31;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1732:58:31;;;;;;;;;;;;:::i;14356:1616:49:-;;;;;;;;;;-1:-1:-1;14356:1616:49;;;;;:::i;:::-;;:::i;3931:61::-;;;;;;;;;;-1:-1:-1;3931:61:49;;;;-1:-1:-1;;;;;3931:61:49;;;6972:208;;;;;;;;;;-1:-1:-1;6972:208:49;;;;;:::i;:::-;;:::i;3774:58::-;;;;;;;;;;-1:-1:-1;3774:58:49;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3774:58:49;;;;;;;;;;;;;;;;;;;;;;;;;10873:25:66;;;-1:-1:-1;;;;;10934:31:66;;;10929:2;10914:18;;10907:59;10982:18;;10975:34;;;;11045:31;;;;11040:2;11025:18;;11018:59;11108:3;11093:19;;11086:35;11165:14;;11158:22;11152:3;11137:19;;11130:51;11225:14;11218:22;11212:3;11197:19;;11190:51;10860:3;10845:19;3774:58:49;10574:673:66;16320:3152:49;;;;;;:::i;:::-;;:::i;12035:2269::-;;;;;;:::i;:::-;;:::i;19522:383::-;;;;;;;;;;-1:-1:-1;19522:383:49;;;;;:::i;:::-;;:::i;7228:371::-;;;;;;;;;;-1:-1:-1;7228:371:49;;;;;:::i;:::-;;:::i;16023:135::-;;;;;;;;;;-1:-1:-1;16023:135:49;;;;;:::i;:::-;;:::i;7644:2304::-;6044:16;:14;:16::i;:::-;7759:6:::1;:31;;;7732:6;:23;;;:58;7728:154;;7813:58;;-1:-1:-1::0;;;7813:58:49::1;;;;;;;;;;;7728:154;7933:31;::::0;::::1;;7895:34:::0;::::1;:69;7891:179;;7987:72;;-1:-1:-1::0;;;7987:72:49::1;;;;;;;;;;;7891:179;2280:5;8083:21;::::0;;;::::1;::::0;::::1;;:::i;:::-;-1:-1:-1::0;;;;;8083:44:49::1;;8079:116;;;8150:34;;-1:-1:-1::0;;;8150:34:49::1;;;;;;;;;;;8079:116;8244:1;8208:24;::::0;;;::::1;::::0;::::1;;:::i;:::-;-1:-1:-1::0;;;;;8208:38:49::1;::::0;8204:103:::1;;8269:27;;-1:-1:-1::0;;;8269:27:49::1;;;;;;;;;;;8204:103;8343:23;::::0;::::1;;8317;:49:::0;8413:34;::::1;8376;:71:::0;8491:31:::1;::::0;::::1;::::0;::::1;8457;:65:::0;8567:32:::1;::::0;::::1;::::0;::::1;;:::i;:::-;8532;:67:::0;;-1:-1:-1;;8532:67:49::1;-1:-1:-1::0;;;;;8532:67:49;;;::::1;::::0;;;::::1;::::0;;8633:21:::1;::::0;;;::::1;::::0;::::1;;:::i;:::-;8609;:45:::0;;-1:-1:-1;;8609:45:49::1;-1:-1:-1::0;;;;;8609:45:49;;;::::1;::::0;;;::::1;::::0;;8691:24:::1;::::0;;;::::1;::::0;::::1;;:::i;:::-;8664;:51:::0;;-1:-1:-1;;;;;8664:51:49;;;::::1;-1:-1:-1::0;;;8664:51:49::1;-1:-1:-1::0;;;;;;8664:51:49;;::::1;::::0;;;::::1;::::0;;8748:20:::1;::::0;;;::::1;::::0;::::1;;:::i;:::-;8725;:43:::0;;;::::1;;-1:-1:-1::0;;;8725:43:49::1;-1:-1:-1::0;;;;8725:43:49;;::::1;::::0;;;::::1;::::0;;:6:::1;8903:68;8940:31;::::0;::::1;;8903:34:::0;::::1;:68;:::i;:::-;8855:31;::::0;::::1;::::0;::::1;::::0;8819:32:::1;::::0;::::1;::::0;::::1;;:::i;:::-;-1:-1:-1::0;;;;;8811:41:49::1;:75;;;;:::i;:::-;8810:162;;;;:::i;:::-;8779:193:::0;-1:-1:-1;9011:23:49::1;::::0;;;::::1;::::0;::::1;;:::i;:::-;-1:-1:-1::0;;;;;8987:47:49::1;:20;:47;8983:139;;9057:54;;-1:-1:-1::0;;;9057:54:49::1;;;;;;;;;;;8983:139;2326:19;9135:23;::::0;;;::::1;::::0;::::1;;:::i;:::-;-1:-1:-1::0;;;;;9135:43:49::1;;9131:146;;9201:65;;-1:-1:-1::0;;;9201:65:49::1;;;;;;;;;;;9131:146;9313:23;::::0;;;::::1;::::0;::::1;;:::i;:::-;9287;:49:::0;;-1:-1:-1;;9287:49:49::1;-1:-1:-1::0;;;;;9287:49:49;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;9351:19:49::1;::::0;;;9287:49:::1;9351:19:::0;::::1;;:::i;:::-;-1:-1:-1::0;;;;;9351:33:49::1;::::0;9347:79:::1;;9393:33;;-1:-1:-1::0;;;9393:33:49::1;;;;;;;;;;;9347:79;9458:19;::::0;;;::::1;::::0;::::1;;:::i;:::-;9436;:41:::0;;-1:-1:-1;;;;;;9436:41:49::1;-1:-1:-1::0;;;;;9436:41:49;;;::::1;::::0;;;::::1;::::0;;9493:448:::1;9521:34:::0;::::1;9569:32;::::0;;;::::1;::::0;::::1;;:::i;:::-;9615:31;::::0;::::1;;9667:20:::0;9702:23:::1;::::0;::::1;;9739:21;::::0;;;::::1;::::0;::::1;;:::i;:::-;9774:24;::::0;;;::::1;::::0;::::1;;:::i;:::-;9812:20;::::0;;;::::1;::::0;::::1;;:::i;:::-;9846:23;::::0;;;::::1;::::0;::::1;;:::i;:::-;9883:19;::::0;;;::::1;::::0;::::1;;:::i;:::-;9916:15;9493:448;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;7718:2230;7644:2304:::0;:::o;20076:149::-;20187:21;;20130:11;;20212:5;;20169:39;;-1:-1:-1;;;;;20187:21:49;;;;20169:15;;:39;:::i;:::-;20168:49;;;;:::i;:::-;20153:65;20076:149;-1:-1:-1;;20076:149:49:o;19911:159::-;-1:-1:-1;;;;;20034:20:49;;19987:17;20034:20;;;:13;:20;;;;;20023:40;;20056:6;20023:10;:40::i;:::-;20016:47;19911:159;-1:-1:-1;;;19911:159:49:o;3911:214:31:-;2568:13;:11;:13::i;:::-;4026:36:::1;4044:17;4026;:36::i;:::-;4072:46;4094:17;4113:4;4072:21;:46::i;:::-;3911:214:::0;;:::o;3466:126::-;3527:7;2839:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3466:126:31;:::o;11622:317:49:-;11822:13;11855:34;11862:4;;11868:6;;11876:3;;11881:7;11855:6;:34::i;:::-;11847:42;;11899:33;11903:5;11910:12;11924:7;11899:3;:33::i;:::-;11622:317;;;;;;;;;;:::o;6531:241::-;6044:16;:14;:16::i;:::-;6648:26:::1;:85:::0;;-1:-1:-1;;;;;6648:85:49;;::::1;-1:-1:-1::0;;;;;;6648:85:49;;::::1;;::::0;;;6743:5:::1;:22:::0;;;;;::::1;::::0;::::1;;::::0;;6531:241::o;6285:185::-;4158:30:30;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:30;-1:-1:-1;;;4302:15:30;;;4301:16;;-1:-1:-1;;;;;4348:14:30;4279:19;4724:16;;:34;;;;;4744:14;4724:34;4704:54;;4768:17;4788:11;-1:-1:-1;;;;;4788:16:30;4803:1;4788:16;:50;;;;-1:-1:-1;4816:4:30;4808:25;:30;4788:50;4768:70;;4854:12;4853:13;:30;;;;;4871:12;4870:13;4853:30;4849:91;;;4906:23;;-1:-1:-1;;;4906:23:30;;;;;;;;;;;4849:91;4949:18;;-1:-1:-1;;4949:18:30;4966:1;4949:18;;;4977:67;;;;5011:22;;-1:-1:-1;;;;5011:22:30;-1:-1:-1;;;5011:22:30;;;4977:67;6342:6:49::1;:18:::0;::::1;;6338:51;;;6369:20;;-1:-1:-1::0;;;6369:20:49::1;;;;;;;;;;;6338:51;6399:6;:29:::0;;-1:-1:-1;;6399:29:49::1;6418:10;6399:29;6438:25:::0;-1:-1:-1;;;;;;6438:25:49;;;;6399:16:::1;6438:25;::::0;;5064:101:30;;;;5098:23;;-1:-1:-1;;;;5098:23:30;;;5140:14;;-1:-1:-1;14746:50:66;;5140:14:30;;14734:2:66;14719:18;5140:14:30;;;;;;;5064:101;4092:1079;;;;;6285:185:49:o;10078:1462::-;10210:13;-1:-1:-1;;;;;10243:21:49;;10239:58;;10273:24;;-1:-1:-1;;;10273:24:49;;;;;;;;;;;10239:58;10366:4;;10372:6;;10380;:23;;;10413:4;10420:7;10429:3;;10351:82;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10519:20:49;;10490:26;10519:20;;;:13;:20;;;;;10578:34;;;10549:63;;10649:32;;;;10622:24;;:59;;-1:-1:-1;;;;;10649:32:49;;;-1:-1:-1;;10622:59:49;;;;;;10717:31;;;10691:23;;;:57;;;;10758:21;;;:25;;;;;;;10818:23;;;10793:22;;;:48;;;;10851:14;;:22;;-1:-1:-1;;10851:22:49;;;10919:20;;10519;;-1:-1:-1;10519:20:49;10851:22;-1:-1:-1;;;10919:20:49;;;;10915:528;;;11164:26;;:36;;;-1:-1:-1;;;11164:36:49;;;;11131:12;;-1:-1:-1;;;;;11164:26:49;;:34;;:36;;;;;;;;;;;;;;:26;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11245:5;;11146:124;;-1:-1:-1;;;11146:124:49;;-1:-1:-1;;;;;16454:32:66;;;11146:124:49;;;16436:51:66;11245:5:49;;;16503:18:66;;;16496:60;4065:4:49;16572:18:66;;;16565:49;11146:83:49;;;;;16409:18:66;;11146:124:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11131:139;;11285:20;11308:65;11331:5;2606:18;2525:7;11308:22;:65::i;:::-;11387:45;;-1:-1:-1;;;11387:45:49;;-1:-1:-1;;;;;3039:32:66;;;11387:45:49;;;3021:51:66;11285:88:49;;-1:-1:-1;11387:31:49;;;;;;2994:18:66;;11387:45:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10941:502;;10915:528;11508:7;-1:-1:-1;;;;;11458:75:49;11496:10;-1:-1:-1;;;;;11458:75:49;11489:5;-1:-1:-1;;;;;11458:75:49;;11470:4;;11476:6;;11484:3;;11517:15;11458:75;;;;;;;;;;;;:::i;:::-;;;;;;;;10229:1311;10078:1462;;;;;;;;;:::o;14356:1616::-;-1:-1:-1;;;;;14470:20:49;;14441:26;14470:20;;;:13;:20;;;;;14505:14;;;;;;14501:49;;;14528:22;;-1:-1:-1;;;14528:22:49;;;;;;;;;;;14501:49;14564:6;14574:1;14564:11;14560:40;;14584:16;;-1:-1:-1;;;14584:16:49;;;;;;;;;;;14560:40;14611:16;14637:25;14648:5;14655:6;14637:10;:25::i;:::-;14611:52;;14677:9;-1:-1:-1;;;;;14677:14:49;14690:1;14677:14;14673:47;;14700:20;;-1:-1:-1;;;14700:20:49;;;;;;;;;;;14673:47;14767:21;;14731:11;;14792:5;;14746:42;;-1:-1:-1;;;;;14767:21:49;;;;14746:18;;:42;:::i;:::-;14745:52;;;;:::i;:::-;14731:66;-1:-1:-1;14807:19:49;14829:23;14731:66;14829:9;:23;:::i;:::-;14807:45;;14882:12;-1:-1:-1;;;;;14867:27:49;:12;-1:-1:-1;;;;;14867:27:49;;14863:62;;;14903:22;;-1:-1:-1;;;14903:22:49;;;;;;;;;;;14863:62;14998:6;14968:5;:26;;;:36;;;;;;;:::i;:::-;;;;;;;;15041:6;15014:5;:23;;;:33;;;;;;;:::i;:::-;;;;-1:-1:-1;;15057:24:49;;;:37;;15085:9;;15057:24;;;:37;;15085:9;;-1:-1:-1;;;;;15057:37:49;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;15057:37:49;;;;;-1:-1:-1;;;;;15057:37:49;;;;;;15129:9;15104:5;:21;;;:34;;;;;;;;;;-1:-1:-1;;;;;15104:34:49;;;;;:::i;:::-;;;-1:-1:-1;;;;;15104:34:49;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15186:68:49;;-1:-1:-1;;;15186:68:49;;15220:10;15186:68;;;18069:51:66;15240:4:49;18136:18:66;;;18129:60;18205:18;;;18198:34;;;-1:-1:-1;;;;;15186:33:49;;;;;18042:18:66;;15186:68:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15297:57;15329:10;15341:12;-1:-1:-1;;;;;15297:57:49;:31;:57::i;:::-;15392:27;15408:5;15415:3;15392:15;:27::i;:::-;15458:17;;;;;;;;;15454:192;;;15502:10;15491:22;;;;:10;:22;;;;;:38;;-1:-1:-1;;;;;15491:38:49;;;:22;:38;;;;;:::i;:::-;;;;-1:-1:-1;;15562:10:49;15595:22;;;;:10;:22;;;;;;;;;;15548:87;;-1:-1:-1;;;;;18462:31:66;;18444:50;;18510:18;;;18503:34;15619:15:49;18553:18:66;;;18546:34;15548:87:49;;-1:-1:-1;;;;;15548:87:49;;;15562:10;15548:87;;;;;;18432:2:66;15548:87:49;;;15454:192;15819:24;;;;15857:26;;15897:21;;;;15932:23;;;;15661:304;;15766:10;;-1:-1:-1;;;;;15661:304:49;;;;;;;15704:9;;15727:6;;15747:5;;15790:15;;-1:-1:-1;;;;;15819:24:49;;;;15857:26;;15897:21;;;15661:304;:::i;:::-;;;;;;;;14431:1541;;;;14356:1616;;;:::o;6972:208::-;6044:16;:14;:16::i;:::-;7058:6:::1;:31:::0;;-1:-1:-1;;;;;;7058:31:49::1;;-1:-1:-1::0;;;;;7058:31:49;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;7104:69:::1;::::0;7157:15:::1;3229:25:66::0;;7131:10:49::1;::::0;7104:69:::1;::::0;3217:2:66;3202:18;7104:69:49::1;;;;;;;6972:208:::0;:::o;16320:3152::-;16384:20;;-1:-1:-1;;;16384:20:49;;;;16379:51;;16413:17;;-1:-1:-1;;;16413:17:49;;;;;;;;;;;16379:51;16456:23;;-1:-1:-1;;;;;16456:23:49;16444:9;:35;16440:74;;;16488:26;;-1:-1:-1;;;16488:26:49;;;;;;;;;;;16440:74;-1:-1:-1;;;;;16554:20:49;;16525:26;16554:20;;;:13;:20;;;;;16589:14;;;;;;16584:53;;16612:25;;-1:-1:-1;;;16612:25:49;;;;;;;;;;;16584:53;16651:18;16663:5;16651:11;:18::i;:::-;16647:31;;;16671:7;16320:3152;:::o;16647:31::-;16811:42;;-1:-1:-1;;;16811:42:49;;16847:4;16811:42;;;3021:51:66;16788:20:49;;-1:-1:-1;;;;;16811:27:49;;;;;2994:18:66;;16811:42:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16885:21;;;;;16967:23;;-1:-1:-1;;21540:25:49;;;;;;-1:-1:-1;21575:24:49;;:28;;;;;;;;-1:-1:-1;;21613:23:49;;:27;;;21650:30;;16788:65;;-1:-1:-1;;;;;;16885:21:49;;;;16967:23;17117:5;-1:-1:-1;;;;;17106:31:49;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;17227:20:49;;;17223:126;;17295:24;;17263:75;;-1:-1:-1;;;17295:24:49;;-1:-1:-1;;;;;17295:24:49;-1:-1:-1;;;;;17263:75:49;;:31;:75::i;:::-;17359:5;;;;;;;;;-1:-1:-1;;;;;17359:5:49;-1:-1:-1;;;;;17359:13:49;;17380:11;17359:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17455:26:49;;17405:92;;-1:-1:-1;17439:5:49;;-1:-1:-1;;;;;;17455:26:49;;-1:-1:-1;17484:12:49;17405:27;:92::i;:::-;17549:5;;17566:26;;17507:100;;-1:-1:-1;;;;;17549:5:49;;;;17566:26;17595:11;17507:27;:100::i;:::-;17698:5;;17648:14;;;;-1:-1:-1;;;;;17698:5:49;;;17682:22;;;;:74;;17742:5;;-1:-1:-1;;;;;17742:5:49;17750;17682:74;;;17723:5;;17708;;-1:-1:-1;;;;;17723:5:49;17682:74;17831:5;;17647:109;;-1:-1:-1;17647:109:49;-1:-1:-1;17767:15:49;;;;-1:-1:-1;;;;;17831:5:49;;;17815:22;;;;:82;;17871:11;17884:12;17815:82;;;17841:12;17855:11;17815:82;17766:131;;;;17908:52;17963:454;;;;;;;;18024:6;-1:-1:-1;;;;;17963:454:49;;;;;18052:6;-1:-1:-1;;;;;17963:454:49;;;;;4065:4;17963:454;;;;;;-1:-1:-1;;17963:454:49;;;;;;4180:6;17963:454;;;;;;18193:7;17963:454;;;;18230:7;17963:454;;;;18280:3;18264:7;18274:2;18264:12;;;;:::i;:::-;18263:20;;;;:::i;:::-;17963:454;;;;18326:3;18310:12;:7;18320:2;18310:12;:::i;:::-;18309:20;;;;:::i;:::-;17963:454;;18362:4;17963:454;;;;18391:15;17963:454;;;;;18451:26;;:39;;-1:-1:-1;;;18451:39:49;;17908:509;;-1:-1:-1;;;;;;;;18451:26:49;;;;:31;;:39;;17908:509;;18451:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;18664:26:49;;18648:98;;-1:-1:-1;;;18648:98:49;;18714:4;18648:98;;;18069:51:66;18729:6:49;18136:18:66;;;18129:60;18205:18;;;18198:34;;;18428:62:49;;-1:-1:-1;;;;;;18664:26:49;;18648:57;;-1:-1:-1;18042:18:66;;18648:98:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18802:37:49;;-1:-1:-1;;;18802:37:49;;18833:4;18802:37;;;3021:51:66;18782:17:49;;-1:-1:-1;;;;;;18802:22:49;;;-1:-1:-1;18802:22:49;;2994:18:66;;18802:37:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18782:57;-1:-1:-1;18853:13:49;;18849:118;;18925:19;;18882:74;;18917:5;;-1:-1:-1;;;;;18925:19:49;18946:9;18882:28;:74::i;:::-;18996:5;;:30;;-1:-1:-1;;;18996:30:49;;19020:4;18996:30;;;3021:51:66;18977:16:49;;-1:-1:-1;;;;;18996:5:49;;:15;;2994:18:66;;18996:30:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18977:49;-1:-1:-1;19040:12:49;;19036:125;;19111:5;;;19120:19;19068:82;;-1:-1:-1;;;;;19111:5:49;;;;19120:19;19141:8;19068:28;:82::i;:::-;19216:26;;:36;;;-1:-1:-1;;;19216:36:49;;;;19171:12;;-1:-1:-1;;;;;19216:26:49;;:34;;:36;;;;;;;;;;;;;;:26;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;19198:63:49;;19262:5;19277;;;;;;;;;-1:-1:-1;;;;;19277:5:49;4065:4;19198:104;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16454:32:66;;;16436:51;;16523:32;;;;16518:2;16503:18;;16496:60;16604:8;16592:21;;;;16587:2;16572:18;;16565:49;16424:2;16409:18;;16236:384;19198:104:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19171:131;;19451:4;-1:-1:-1;;;;;19318:147:49;19374:5;-1:-1:-1;;;;;19318:147:49;19362:10;-1:-1:-1;;;;;19318:147:49;;19381:12;19402:11;19416:16;19434:15;19318:147;;;;;;;;21646:25:66;;;-1:-1:-1;;;;;21707:31:66;;;21702:2;21687:18;;21680:59;21775:31;;21770:2;21755:18;;21748:59;21838:2;21823:18;;21816:34;21633:3;21618:19;;21419:437;19318:147:49;;;;;;;;16369:3103;;;;;;;;;;;;;16320:3152;:::o;12035:2269::-;12133:9;12146:1;12133:14;12129:39;;12156:12;;-1:-1:-1;;;12156:12:49;;;;;;;;;;;12129:39;-1:-1:-1;;;;;12208:20:49;;12179:26;12208:20;;;:13;:20;;;;;12242:14;;;;;;12238:49;;;12265:22;;-1:-1:-1;;;12265:22:49;;;;;;;;;;;12238:49;12365:21;;12338:11;;12390:5;;12353:33;;-1:-1:-1;;;;;12365:21:49;12353:9;:33;:::i;:::-;12352:43;;;;:::i;:::-;12338:57;-1:-1:-1;12405:14:49;12422:15;12338:57;12422:9;:15;:::i;:::-;12530:21;;;;12405:32;;-1:-1:-1;2525:7:49;;12522:39;;12405:32;;-1:-1:-1;;;;;12530:21:49;12522:39;:::i;:::-;:61;12518:129;;;12606:30;;-1:-1:-1;;;12606:30:49;;;;;;;;;;;12518:129;12784:24;;;;12694:17;;12776:42;;12812:6;;-1:-1:-1;;;;;12784:24:49;12776:42;:::i;:::-;12735:26;;12727:44;;12765:6;;12727:44;:::i;:::-;12726:93;;;;:::i;:::-;12694:125;;12938:5;:23;;;12926:9;:35;12922:101;;;-1:-1:-1;12989:23:49;;;;12922:101;13048:12;13036:9;:24;13032:62;;;13069:25;;-1:-1:-1;;;13069:25:49;;;;;;;;;;;13032:62;13162:9;13132:5;:26;;;:39;;;;;;;:::i;:::-;;;;;;;;13208:9;13181:5;:23;;;:36;;;;;;;:::i;:::-;;;;-1:-1:-1;;13227:24:49;;;:42;;13262:6;;13227:24;;;:42;;13262:6;;-1:-1:-1;;;;;13227:42:49;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;13227:42:49;;;;;-1:-1:-1;;;;;13227:42:49;;;;;;13311:6;13279:5;:21;;;:39;;;;;;;;;;-1:-1:-1;;;;;13279:39:49;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;13279:39:49;;;;;-1:-1:-1;;;;;13279:39:49;;;;;;13422:5;:23;;;13449:1;13422:28;:76;;;-1:-1:-1;13454:21:49;;;;2525:7;-1:-1:-1;;;;;13454:21:49;;;:44;;13422:76;13418:195;;;13514:14;;;:21;;-1:-1:-1;;13514:21:49;13531:4;13514:21;;;13554:48;;-1:-1:-1;;;;;13554:48:49;;;;;;;;;;;;13586:15;3229:25:66;;3217:2;3202:18;;3083:177;13554:48:49;;;;;;;;13418:195;13647:64;13682:5;13690:9;13701;13647:28;:64::i;:::-;13721:27;13737:5;13744:3;13721:15;:27::i;:::-;13793:17;;;;;;;;;13789:183;;;-1:-1:-1;;;;;13826:21:49;;;;;;:10;:21;;;;;:34;;13851:9;;13826:21;:34;;13851:9;;13826:34;:::i;:::-;;;;-1:-1:-1;;;;;;;13879:82:49;;;13922:21;;;;:10;:21;;;;;;;;;;13879:82;;13911:9;22259:25:66;;22300:18;;;22293:34;13945:15:49;22343:18:66;;;22336:34;13879:82:49;;;;;;;;;;;22247:2:66;13879:82:49;;;13789:183;14081:4;14151:24;;;;14189:26;;14229:21;;;;14264:23;;;;13987:310;;-1:-1:-1;;;;;13987:310:49;;;;;;;;;;;;14037:6;;14058:9;;14122:15;;-1:-1:-1;;;;;14151:24:49;;;;14189:26;14229:21;;14264:23;13987:310;:::i;19522:383::-;-1:-1:-1;;;;;19659:20:49;;19599:19;19659:20;;;:13;:20;;;;;19725:21;;19599:19;;19750:5;;19704:42;;-1:-1:-1;;;;;19725:21:49;;;;19704:18;;:42;:::i;:::-;19703:52;;;;:::i;:::-;19689:66;-1:-1:-1;19765:14:49;19782:15;19689:66;-1:-1:-1;;;;;19782:15:49;;;:::i;:::-;19863:24;;;;19765:32;;-1:-1:-1;19855:42:49;;19765:32;;-1:-1:-1;;;;;19863:24:49;19855:42;:::i;:::-;19815:26;;:35;;19844:6;;19815:35;:::i;:::-;19814:84;;;;:::i;:::-;19807:91;19522:383;-1:-1:-1;;;;;;19522:383:49:o;7228:371::-;6044:16;:14;:16::i;:::-;-1:-1:-1;;;;;7318:29:49;::::1;7314:75;;7356:33;;-1:-1:-1::0;;;7356:33:49::1;;;;;;;;;;;7314:75;7425:19;::::0;;-1:-1:-1;;;;;7454:37:49;;::::1;-1:-1:-1::0;;;;;;7454:37:49;::::1;::::0;::::1;::::0;;;7506:86:::1;::::0;7425:19;::::1;::::0;7454:37;7425:19;;7530:10:::1;::::0;7506:86:::1;::::0;::::1;::::0;7576:15:::1;3229:25:66::0;;3217:2;3202:18;;3083:177;7506:86:49::1;;;;;;;;7304:295;7228:371:::0;:::o;16023:135::-;6044:16;:14;:16::i;:::-;-1:-1:-1;;;;;16109:20:49;;::::1;;::::0;;;:13:::1;:20;::::0;;;;:32:::1;;:42:::0;;;::::1;;;;-1:-1:-1::0;;16109:42:49;;::::1;::::0;;;::::1;::::0;;16023:135::o;20419:115::-;20487:6;:16;;;;-1:-1:-1;;;;;20487:16:49;20473:10;:30;20469:58;;20512:15;;-1:-1:-1;;;20512:15:49;;;;;;;;;;;20469:58;20419:115::o;21160:299::-;21295:24;;;;21353:26;;21247:7;;-1:-1:-1;;;;;21295:24:49;;21429:21;21444:6;21353:26;21429:21;:::i;:::-;21405:19;21414:10;21405:6;:19;:::i;:::-;21404:47;;;;:::i;:::-;21389:63;21160:299;-1:-1:-1;;;;;21160:299:49:o;4328:312:31:-;4408:4;-1:-1:-1;;;;;4417:6:31;4400:23;;;:120;;;4514:6;-1:-1:-1;;;;;4478:42:31;:32;-1:-1:-1;;;;;;;;;;;1519:53:27;-1:-1:-1;;;;;1519:53:27;;1441:138;4478:32:31;-1:-1:-1;;;;;4478:42:31;;;4400:120;4383:251;;;4594:29;;-1:-1:-1;;;4594:29:31;;;;;;;;;;;6833:88:49;6044:16;:14;:16::i;:::-;6833:88;:::o;5782:538:31:-;5899:17;-1:-1:-1;;;;;5881:50:31;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5881:52:31;;;;;;;;-1:-1:-1;;5881:52:31;;;;;;;;;;;;:::i;:::-;;;5877:437;;6243:60;;-1:-1:-1;;;6243:60:31;;-1:-1:-1;;;;;3039:32:66;;6243:60:31;;;3021:51:66;2994:18;;6243:60:31;;;;;;;;5877:437;-1:-1:-1;;;;;;;;;;;5975:40:31;;5971:120;;6042:34;;-1:-1:-1;;;6042:34:31;;;;;3229:25:66;;;3202:18;;6042:34:31;3083:177:66;5971:120:31;6104:54;6134:17;6153:4;6104:29;:54::i;:::-;5934:235;5782:538;;:::o;4757:213::-;4831:4;-1:-1:-1;;;;;4840:6:31;4823:23;;4819:145;;4924:29;;-1:-1:-1;;;4924:29:31;;;;;;;;;;;9071:205:30;9129:30;;3147:66;9186:27;8819:122;22464:1218:49;22599:7;22626:16;;;:35;;-1:-1:-1;22646:15:49;;22626:35;22622:64;;;22670:16;;-1:-1:-1;;;22670:16:49;;;;;;;;;;;22622:64;22729:5;;-1:-1:-1;;;;;22729:5:49;;;22713:22;;;;22697:13;22964:420;;;;23121:46;23133:10;-1:-1:-1;;;23155:11:49;23121;:46::i;:::-;23109:58;;22964:420;;;23327:46;23339:11;-1:-1:-1;;;23362:10:49;23327:11;:46::i;:::-;23315:58;;22964:420;23445:20;23468;23478:9;23468;:20::i;:::-;23445:43;-1:-1:-1;;;;;;23585:32:49;;23581:55;;;23626:10;;-1:-1:-1;;;23626:10:49;;;;;;;;;;;658:339:56;730:12;929:1;926;923;920;912:6;908:2;901:5;896:35;885:46;;959:7;951:39;;;;-1:-1:-1;;;951:39:56;;22772:2:66;951:39:56;;;22754:21:66;22811:2;22791:18;;;22784:30;-1:-1:-1;;;22830:18:66;;;22823:49;22889:18;;951:39:56;22570:343:66;20596:558:49;20672:3;20679:1;20672:8;20668:34;;20689:13;;-1:-1:-1;;;20689:13:49;;;;;;;;;;;20668:34;20713:19;20772:52;2469:2;2409;20772:52;:::i;:::-;-1:-1:-1;;;;;20735:90:49;20736:31;2409:2;20736:3;:31;:::i;:::-;20735:90;;;;:::i;:::-;20713:112;-1:-1:-1;20835:18:49;20856:17;20713:112;20856:3;:17;:::i;:::-;20835:38;-1:-1:-1;20932:16:49;;;:35;;-1:-1:-1;20952:15:49;;20932:35;20928:61;;;20976:13;;-1:-1:-1;;;20976:13:49;;;;;;;;;;;20928:61;21032:19;;21000:65;;-1:-1:-1;;;;;21032:19:49;21053:11;21000:31;:65::i;:::-;21075:72;21118:5;-1:-1:-1;;;;;21107:25:49;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21136:10;21075:31;:72::i;:::-;20658:496;;20596:558;;:::o;21693:240::-;21788:21;;;;21765:4;;-1:-1:-1;;;;;21788:21:49;:26;:59;;;;-1:-1:-1;21818:24:49;;;;-1:-1:-1;;;;;21818:24:49;:29;21788:59;:91;;;;-1:-1:-1;21851:23:49;;;;:28;21788:91;:138;;;;-1:-1:-1;;21895:26:49;:31;;21693:240::o;4232:1431:56:-;4313:12;4483:4;4477:11;-1:-1:-1;;;4606:17:56;4599:93;-1:-1:-1;;;;;4743:2:56;4739:51;4735:1;4716:17;4712:25;4705:86;4877:6;4872:2;4853:17;4849:26;4842:42;5224:2;5221:1;5217:2;5198:17;5195:1;5188:5;5181;5176:51;5165:62;;;5494:7;5487:2;5469:16;5466:24;5462:1;5458;5452:8;5449:15;5445:46;5438:54;5434:68;5431:171;;;-1:-1:-1;5549:18:56;;5542:26;5570:16;5539:48;5532:56;5431:171;5630:7;5622:34;;;;-1:-1:-1;;;5622:34:56;;23120:2:66;5622:34:56;;;23102:21:66;23159:2;23139:18;;;23132:30;-1:-1:-1;;;23178:18:66;;;23171:44;23232:18;;5622:34:56;22918:338:66;2793:1433:56;2875:12;3045:4;3039:11;-1:-1:-1;;;3168:17:56;3161:93;-1:-1:-1;;;;;3305:2:56;3301:51;3297:1;3278:17;3274:25;3267:86;3439:6;3434:2;3415:17;3411:26;3404:42;3786:2;3783:1;3779:2;3760:17;3757:1;3750:5;3743;3738:51;3727:62;;;4056:7;4049:2;4031:16;4028:24;4024:1;4020;4014:8;4011:15;4007:46;4000:54;3996:68;3993:171;;;-1:-1:-1;4111:18:56;;4104:26;4132:16;4101:48;4094:56;3993:171;4192:7;4184:35;;;;-1:-1:-1;;;4184:35:56;;23463:2:66;4184:35:56;;;23445:21:66;23502:2;23482:18;;;23475:30;-1:-1:-1;;;23521:18:66;;;23514:45;23576:18;;4184:35:56;23261:339:66;2264:344:27;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:27;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;2454:148::-;2573:18;:16;:18::i;7258:3683:44:-;7340:14;7391:12;7405:11;7420:12;7427:1;7430;7420:6;:12::i;:::-;7390:42;;;;7514:4;7522:1;7514:9;7510:365;;7849:11;7843:3;:17;;;;;:::i;:::-;;7836:24;;;;;;7510:365;8000:4;7985:11;:19;7981:142;;8024:84;5328:5;8044:16;;5327:36;940:4:41;5322:42:44;8024:11;:84::i;:::-;8375:17;8526:11;8523:1;8520;8513:25;8918:12;8948:15;;;8933:31;;9083:22;;;;;9816:1;9797;:15;;9796:21;;10049;;;10045:25;;10034:36;10119:21;;;10115:25;;10104:36;10191:21;;;10187:25;;10176:36;10262:21;;;10258:25;;10247:36;10335:21;;;10331:25;;10320:36;10409:21;;;10405:25;;;10394:36;9325:12;;;;9321:23;;;9346:1;9317:31;8638:18;;;8628:29;;;9432:11;;;;8681:19;;;;9176:14;;;;9425:18;;;;10884:13;;-1:-1:-1;;7258:3683:44;;;;;:::o;20583:5181::-;20631:7;20749:1;20744;:6;20740:53;;-1:-1:-1;20777:1:44;20583:5181::o;20740:53::-;21733:1;21761;-1:-1:-1;;;21781:16:44;;21777:92;;21824:3;21817:10;;;;;21852:2;21845:9;21777:92;-1:-1:-1;;;21886:2:44;:15;21882:90;;21928:2;21921:9;;;;;21955:2;21948:9;21882:90;21996:7;21989:2;:15;21985:90;;22031:2;22024:9;;;;;22058:2;22051:9;21985:90;22099:7;22092:2;:15;22088:89;;22134:2;22127:9;;;;;22161:1;22154:8;22088:89;22201:6;22194:2;:14;22190:87;;22235:1;22228:8;;;;;22261:1;22254:8;22190:87;22301:6;22294:2;:14;22290:87;;22335:1;22328:8;;;;;22361:1;22354:8;22290:87;22401:6;22394:2;:14;22390:61;;22435:1;22428:8;22390:61;22877:1;:6;22888:1;22876:13;;;;;24787:1;22876:13;24787:6;;;;:::i;:::-;;24782:2;:11;24781:18;;24776:23;;24907:1;24900:2;24896:1;:6;;;;;:::i;:::-;;24891:2;:11;24890:18;;24885:23;;25018:1;25011:2;25007:1;:6;;;;;:::i;:::-;;25002:2;:11;25001:18;;24996:23;;25127:1;25120:2;25116:1;:6;;;;;:::i;:::-;;25111:2;:11;25110:18;;25105:23;;25237:1;25230:2;25226:1;:6;;;;;:::i;:::-;;25221:2;:11;25220:18;;25215:23;;25347:1;25340:2;25336:1;:6;;;;;:::i;:::-;;25331:2;:11;25330:18;;25325:23;;25719:28;25744:2;25740:1;:6;;;;;:::i;:::-;;25735:11;;;34795:145:45;25719:28:44;25714:33;;;20583:5181;-1:-1:-1;;;20583:5181:44:o;1671:281:27:-;1748:17;-1:-1:-1;;;;;1748:29:27;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:27;;-1:-1:-1;;;;;3039:32:66;;1805:47:27;;;3021:51:66;2994:18;;1805:47:27;2859:219:66;1744:119:27;-1:-1:-1;;;;;;;;;;;1872:73:27;;-1:-1:-1;;;;;;1872:73:27;-1:-1:-1;;;;;1872:73:27;;;;;;;;;;1671:281::o;4691:549:37:-;4774:12;4798;4813:47;4847:6;4855:4;4813:33;:47::i;:::-;4798:62;;4874:7;:72;;;;-1:-1:-1;4918:1:37;4583:16:40;4886:33:37;:59;;;;4944:1;4923:6;-1:-1:-1;;;;;4923:18:37;;:22;4886:59;4870:364;;;4969:25;:23;:25::i;:::-;4962:32;;;;;4870:364;5015:7;5011:223;;;5045:24;;-1:-1:-1;;;5045:24:37;;-1:-1:-1;;;;;3039:32:66;;5045:24:37;;;3021:51:66;2994:18;;5045:24:37;2859:219:66;5011:223:37;4583:16:40;5090:33:37;5086:148;;5139:27;:25;:27::i;:::-;5086:148;;;5204:19;;-1:-1:-1;;;5204:19:37;;;;;;;;;;;5086:148;4788:452;4691:549;;;;:::o;6113:122:27:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:27;;;;;;;;;;;1027:550:44;1088:12;;-1:-1:-1;;1471:1:44;1468;1461:20;1501:9;;;;1549:11;;;1535:12;;;;1531:30;;;;;1027:550;-1:-1:-1;;1027:550:44:o;1776:194:41:-;1881:10;1875:4;1868:24;1918:4;1912;1905:18;1949:4;1943;1936:18;3383:242:40;3466:12;3604:4;3598;3591;3585:11;3578:4;3572;3568:15;3560:6;3553:5;3540:69;3529:80;3383:242;-1:-1:-1;;;3383:242:40:o;4698:334::-;4829:4;4823:11;4862:16;4847:32;;4932:16;4926:4;4919;4907:17;;4892:57;4997:16;4991:4;4987:27;4979:6;4975:40;4969:4;4962:54;4698:334;:::o;5099:223::-;5203:4;5197:11;5247:16;5241:4;5236:3;5221:43;5289:16;5284:3;5277:29;-1:-1:-1;;;;;;;;:::o;14:239:66:-;108:6;168:3;156:9;147:7;143:23;139:33;184:2;181:22;;;199:1;196;189:12;181:22;-1:-1:-1;238:9:66;;14:239;-1:-1:-1;;14:239:66:o;258:171::-;325:20;;-1:-1:-1;;;;;374:30:66;;364:41;;354:69;;419:1;416;409:12;354:69;258:171;;;:::o;434:184::-;492:6;545:2;533:9;524:7;520:23;516:32;513:52;;;561:1;558;551:12;513:52;584:28;602:9;584:28;:::i;846:131::-;-1:-1:-1;;;;;921:31:66;;911:42;;901:70;;967:1;964;957:12;982:367;1050:6;1058;1111:2;1099:9;1090:7;1086:23;1082:32;1079:52;;;1127:1;1124;1117:12;1079:52;1166:9;1153:23;1185:31;1210:5;1185:31;:::i;:::-;1235:5;1313:2;1298:18;;;;1285:32;;-1:-1:-1;;;982:367:66:o;1643:127::-;1704:10;1699:3;1695:20;1692:1;1685:31;1735:4;1732:1;1725:15;1759:4;1756:1;1749:15;1775:1079;1852:6;1860;1913:2;1901:9;1892:7;1888:23;1884:32;1881:52;;;1929:1;1926;1919:12;1881:52;1968:9;1955:23;1987:31;2012:5;1987:31;:::i;:::-;2037:5;-1:-1:-1;2093:2:66;2078:18;;2065:32;-1:-1:-1;;;;;2109:30:66;;2106:50;;;2152:1;2149;2142:12;2106:50;2175:22;;2228:4;2220:13;;2216:27;-1:-1:-1;2206:55:66;;2257:1;2254;2247:12;2206:55;2297:2;2284:16;-1:-1:-1;;;;;2315:6:66;2312:30;2309:56;;;2345:18;;:::i;:::-;2394:2;2388:9;2486:2;2448:17;;-1:-1:-1;;2444:31:66;;;2477:2;2440:40;2436:54;2424:67;;-1:-1:-1;;;;;2506:34:66;;2542:22;;;2503:62;2500:88;;;2568:18;;:::i;:::-;2604:2;2597:22;2628;;;2669:15;;;2686:2;2665:24;2662:37;-1:-1:-1;2659:57:66;;;2712:1;2709;2702:12;2659:57;2768:6;2763:2;2759;2755:11;2750:2;2742:6;2738:15;2725:50;2821:1;2816:2;2807:6;2799;2795:19;2791:28;2784:39;2842:6;2832:16;;;;;1775:1079;;;;;:::o;3265:348::-;3317:8;3327:6;3381:3;3374:4;3366:6;3362:17;3358:27;3348:55;;3399:1;3396;3389:12;3348:55;-1:-1:-1;3422:20:66;;-1:-1:-1;;;;;3454:30:66;;3451:50;;;3497:1;3494;3487:12;3451:50;3534:4;3526:6;3522:17;3510:29;;3586:3;3579:4;3570:6;3562;3558:19;3554:30;3551:39;3548:59;;;3603:1;3600;3593:12;3548:59;3265:348;;;;;:::o;3618:1278::-;3749:6;3757;3765;3773;3781;3789;3797;3805;3858:3;3846:9;3837:7;3833:23;3829:33;3826:53;;;3875:1;3872;3865:12;3826:53;3915:9;3902:23;-1:-1:-1;;;;;3940:6:66;3937:30;3934:50;;;3980:1;3977;3970:12;3934:50;4019:59;4070:7;4061:6;4050:9;4046:22;4019:59;:::i;:::-;4097:8;;-1:-1:-1;3993:85:66;-1:-1:-1;;4185:2:66;4170:18;;4157:32;-1:-1:-1;;;;;4201:32:66;;4198:52;;;4246:1;4243;4236:12;4198:52;4285:61;4338:7;4327:8;4316:9;4312:24;4285:61;:::i;:::-;4365:8;;-1:-1:-1;4259:87:66;-1:-1:-1;;4453:2:66;4438:18;;4425:32;-1:-1:-1;;;;;4469:32:66;;4466:52;;;4514:1;4511;4504:12;4466:52;4553:61;4606:7;4595:8;4584:9;4580:24;4553:61;:::i;:::-;4633:8;;-1:-1:-1;4527:87:66;-1:-1:-1;;4718:2:66;4703:18;;4690:32;4731:31;4690:32;4731:31;:::i;:::-;3618:1278;;;;-1:-1:-1;3618:1278:66;;;;;;;;-1:-1:-1;4781:5:66;;4859:3;4844:19;4831:33;;-1:-1:-1;3618:1278:66:o;5218:388::-;5286:6;5294;5347:2;5335:9;5326:7;5322:23;5318:32;5315:52;;;5363:1;5360;5353:12;5315:52;5402:9;5389:23;5421:31;5446:5;5421:31;:::i;:::-;5471:5;-1:-1:-1;5528:2:66;5513:18;;5500:32;5541:33;5500:32;5541:33;:::i;:::-;5593:7;5583:17;;;5218:388;;;;;:::o;5611:1157::-;5733:6;5741;5749;5757;5765;5773;5781;5834:3;5822:9;5813:7;5809:23;5805:33;5802:53;;;5851:1;5848;5841:12;5802:53;5891:9;5878:23;-1:-1:-1;;;;;5916:6:66;5913:30;5910:50;;;5956:1;5953;5946:12;5910:50;5995:59;6046:7;6037:6;6026:9;6022:22;5995:59;:::i;:::-;6073:8;;-1:-1:-1;5969:85:66;-1:-1:-1;;6161:2:66;6146:18;;6133:32;-1:-1:-1;;;;;6177:32:66;;6174:52;;;6222:1;6219;6212:12;6174:52;6261:61;6314:7;6303:8;6292:9;6288:24;6261:61;:::i;:::-;6341:8;;-1:-1:-1;6235:87:66;-1:-1:-1;;6429:2:66;6414:18;;6401:32;-1:-1:-1;;;;;6445:32:66;;6442:52;;;6490:1;6487;6480:12;6442:52;6529:61;6582:7;6571:8;6560:9;6556:24;6529:61;:::i;:::-;6609:8;;-1:-1:-1;6503:87:66;-1:-1:-1;;6694:2:66;6679:18;;6666:32;6707:31;6666:32;6707:31;:::i;:::-;6757:5;6747:15;;;5611:1157;;;;;;;;;;:::o;6773:247::-;6832:6;6885:2;6873:9;6864:7;6860:23;6856:32;6853:52;;;6901:1;6898;6891:12;6853:52;6940:9;6927:23;6959:31;6984:5;6959:31;:::i;8232:1043::-;8667:14;;8660:22;8642:41;;-1:-1:-1;;;;;8719:32:66;;;8714:2;8699:18;;8692:60;8788:32;;;8783:2;8768:18;;8761:60;8852:2;8837:18;;8830:34;;;-1:-1:-1;;;;;8901:31:66;;;8895:3;8880:19;;8873:60;8739:3;8949:19;;8942:35;;;9008:3;8993:19;;8986:35;;;9058:31;;9052:3;9037:19;;9030:60;9127:32;;9121:3;9106:19;;9099:61;7202:13;;7195:21;9208:3;9193:19;;7183:34;8629:3;8614:19;;-1:-1:-1;;;;;7090:30:66;;9264:3;9249:19;;7078:43;9222:47;8232:1043;;;;;;;;;;;;;;:::o;9462:418::-;9611:2;9600:9;9593:21;9574:4;9643:6;9637:13;9686:6;9681:2;9670:9;9666:18;9659:34;9745:6;9740:2;9732:6;9728:15;9723:2;9712:9;9708:18;9702:50;9801:1;9796:2;9787:6;9776:9;9772:22;9768:31;9761:42;9871:2;9864;9860:7;9855:2;9847:6;9843:15;9839:29;9828:9;9824:45;9820:54;9812:62;;;9462:418;;;;:::o;9885:439::-;9961:6;9969;9977;10030:2;10018:9;10009:7;10005:23;10001:32;9998:52;;;10046:1;10043;10036:12;9998:52;10085:9;10072:23;10104:31;10129:5;10104:31;:::i;:::-;10154:5;-1:-1:-1;10232:2:66;10217:18;;10204:32;;-1:-1:-1;10281:37:66;10314:2;10299:18;;10281:37;:::i;:::-;10271:47;;9885:439;;;;;:::o;11252:508::-;11329:6;11337;11345;11398:2;11386:9;11377:7;11373:23;11369:32;11366:52;;;11414:1;11411;11404:12;11366:52;11453:9;11440:23;11472:31;11497:5;11472:31;:::i;:::-;11522:5;-1:-1:-1;11600:2:66;11585:18;;11572:32;;-1:-1:-1;11682:2:66;11667:18;;11654:32;11695:33;11654:32;11695:33;:::i;:::-;11747:7;11737:17;;;11252:508;;;;;:::o;11765:319::-;11832:6;11840;11893:2;11881:9;11872:7;11868:23;11864:32;11861:52;;;11909:1;11906;11899:12;11861:52;11948:9;11935:23;11967:31;11992:5;11967:31;:::i;:::-;12017:5;-1:-1:-1;12041:37:66;12074:2;12059:18;;12041:37;:::i;:::-;12031:47;;11765:319;;;;;:::o;12089:160::-;12154:20;;12210:13;;12203:21;12193:32;;12183:60;;12239:1;12236;12229:12;12254:315;12319:6;12327;12380:2;12368:9;12359:7;12355:23;12351:32;12348:52;;;12396:1;12393;12386:12;12348:52;12435:9;12422:23;12454:31;12479:5;12454:31;:::i;:::-;12504:5;-1:-1:-1;12528:35:66;12559:2;12544:18;;12528:35;:::i;12574:180::-;12630:6;12683:2;12671:9;12662:7;12658:23;12654:32;12651:52;;;12699:1;12696;12689:12;12651:52;12722:26;12738:9;12722:26;:::i;12759:127::-;12820:10;12815:3;12811:20;12808:1;12801:31;12851:4;12848:1;12841:15;12875:4;12872:1;12865:15;12891:128;12958:9;;;12979:11;;;12976:37;;;12993:18;;:::i;13024:168::-;13097:9;;;13128;;13145:15;;;13139:22;;13125:37;13115:71;;13166:18;;:::i;13197:127::-;13258:10;13253:3;13249:20;13246:1;13239:31;13289:4;13286:1;13279:15;13313:4;13310:1;13303:15;13329:217;13369:1;13395;13385:132;;13439:10;13434:3;13430:20;13427:1;13420:31;13474:4;13471:1;13464:15;13502:4;13499:1;13492:15;13385:132;-1:-1:-1;13531:9:66;;13329:217::o;13551:1037::-;13965:25;;;-1:-1:-1;;;;;14026:31:66;;;14021:2;14006:18;;13999:59;14089:2;14074:18;;14067:34;;;14137:31;;;14132:2;14117:18;;14110:59;14200:3;14185:19;;14178:35;;;14250:31;;;14244:3;14229:19;;14222:60;-1:-1:-1;;;;;14319:32:66;;14313:3;14298:19;;14291:61;14396:14;;14389:22;14383:3;14368:19;;14361:51;14449:31;;14443:3;14428:19;;14421:60;13952:3;13937:19;;14490:47;14532:3;14517:19;;14509:6;-1:-1:-1;;;;;4967:31:66;4955:44;;4901:104;14490:47;14574:7;14568:3;14557:9;14553:19;14546:36;13551:1037;;;;;;;;;;;;;;:::o;14807:267::-;14896:6;14891:3;14884:19;14948:6;14941:5;14934:4;14929:3;14925:14;14912:43;-1:-1:-1;15000:1:66;14975:16;;;14993:4;14971:27;;;14964:38;;;;15056:2;15035:15;;;-1:-1:-1;;15031:29:66;15022:39;;;15018:50;;14807:267::o;15079:896::-;15438:3;15427:9;15420:22;15401:4;15465:63;15523:3;15512:9;15508:19;15500:6;15492;15465:63;:::i;:::-;15576:9;15568:6;15564:22;15559:2;15548:9;15544:18;15537:50;15610;15653:6;15645;15637;15610:50;:::i;:::-;15691:2;15676:18;;15669:34;;;-1:-1:-1;;;;;15739:32:66;;;15734:2;15719:18;;15712:60;15809:32;;15803:3;15788:19;;15781:61;15879:22;;;15759:3;15858:19;;15851:51;15596:64;-1:-1:-1;15919:50:66;15596:64;15954:6;15946;15919:50;:::i;15980:251::-;16050:6;16103:2;16091:9;16082:7;16078:23;16074:32;16071:52;;;16119:1;16116;16109:12;16071:52;16151:9;16145:16;16170:31;16195:5;16170:31;:::i;16833:700::-;17136:3;17125:9;17118:22;17099:4;17163:63;17221:3;17210:9;17206:19;17198:6;17190;17163:63;:::i;:::-;17274:9;17266:6;17262:22;17257:2;17246:9;17242:18;17235:50;17308;17351:6;17343;17335;17308:50;:::i;:::-;17294:64;;17406:9;17398:6;17394:22;17389:2;17378:9;17374:18;17367:50;17434;17477:6;17469;17461;17434:50;:::i;:::-;17426:58;;;17520:6;17515:2;17504:9;17500:18;17493:34;16833:700;;;;;;;;;;:::o;17538:194::-;-1:-1:-1;;;;;17636:26:66;;;17608;;;17604:59;;17675:28;;17672:54;;;17706:18;;:::i;17737:125::-;17802:9;;;17823:10;;;17820:36;;;17836:18;;:::i;18591:758::-;-1:-1:-1;;;;;18940:31:66;;;18922:50;;19003:2;18988:18;;18981:34;;;;19058:14;;19051:22;19046:2;19031:18;;19024:50;19105:2;19090:18;;19083:34;;;;19154:31;;;19148:3;19133:19;;19126:60;19217:3;19202:19;;19195:35;19267:31;;;19261:3;19246:19;;19239:60;19330:3;19315:19;;19308:35;;;;18909:3;18894:19;;18591:758::o;19354:230::-;19424:6;19477:2;19465:9;19456:7;19452:23;19448:32;19445:52;;;19493:1;19490;19483:12;19445:52;-1:-1:-1;19538:16:66;;19354:230;-1:-1:-1;19354:230:66:o;19589:1173::-;19813:13;;-1:-1:-1;;;;;4967:31:66;4955:44;;19781:3;19766:19;;19885:4;19877:6;19873:17;19867:24;19900:54;19948:4;19937:9;19933:20;19919:12;-1:-1:-1;;;;;4967:31:66;4955:44;;4901:104;19900:54;;20003:4;19995:6;19991:17;19985:24;20018:55;20067:4;20056:9;20052:20;20036:14;8016:8;8005:20;7993:33;;7940:92;20018:55;;20122:4;20114:6;20110:17;20104:24;20137:54;20185:4;20174:9;20170:20;20154:14;1429:1;1418:20;1406:33;;1354:91;20137:54;;20240:4;20232:6;20228:17;20222:24;20255:54;20303:4;20292:9;20288:20;20272:14;1429:1;1418:20;1406:33;;1354:91;20255:54;;20365:4;20357:6;20353:17;20347:24;20340:4;20329:9;20325:20;20318:54;20428:4;20420:6;20416:17;20410:24;20403:4;20392:9;20388:20;20381:54;20491:4;20483:6;20479:17;20473:24;20466:4;20455:9;20451:20;20444:54;20556:6;20548;20544:19;20538:26;20529:6;20518:9;20514:22;20507:58;20614:6;20606;20602:19;20596:26;20631:58;20681:6;20670:9;20666:22;20650:14;-1:-1:-1;;;;;4967:31:66;4955:44;;4901:104;20631:58;-1:-1:-1;20747:6:66;20735:19;;;20729:26;20705:22;;;;20698:58;19589:1173;:::o;20767:647::-;20864:6;20872;20880;20888;20941:3;20929:9;20920:7;20916:23;20912:33;20909:53;;;20958:1;20955;20948:12;20909:53;21003:16;;21088:2;21073:18;;21067:25;21003:16;;-1:-1:-1;;;;;;21123:48:66;;21111:61;;21101:89;;21186:1;21183;21176:12;21101:89;21282:2;21267:18;;21261:25;21378:2;21363:18;;;21357:25;20767:647;;21209:7;;-1:-1:-1;20767:647:66;-1:-1:-1;;;20767:647:66:o;21861:191::-;-1:-1:-1;;;;;21929:26:66;;;21957;;;21925:59;;21996:27;;21993:53;;;22026:18;;:::i",
|
|
900
|
+
"linkReferences": {},
|
|
901
|
+
"immutableReferences": {
|
|
902
|
+
"40735": [
|
|
903
|
+
{ "start": 8123, "length": 32 },
|
|
904
|
+
{ "start": 8164, "length": 32 },
|
|
905
|
+
{ "start": 8496, "length": 32 }
|
|
906
|
+
]
|
|
907
|
+
}
|
|
908
|
+
},
|
|
909
|
+
"methodIdentifiers": {
|
|
910
|
+
"TICK_LOWER()": "47377d92",
|
|
911
|
+
"TICK_UPPER()": "239f3af7",
|
|
912
|
+
"UNISWAP_FEE_TIER()": "8ba90a2d",
|
|
913
|
+
"UPGRADE_INTERFACE_VERSION()": "ad3cb1cc",
|
|
914
|
+
"bondingCurves(address)": "b9a059f7",
|
|
915
|
+
"buy(address,uint256,address)": "db61c76e",
|
|
916
|
+
"create(string,string,string,address)": "82cbdc0f",
|
|
917
|
+
"createAndBuy(string,string,string,address,uint256)": "65bc1504",
|
|
918
|
+
"getBondingCurve(address)": "83db2a21",
|
|
919
|
+
"getBuyQuote(address,uint64)": "df7d3282",
|
|
920
|
+
"getFee(uint64)": "1982b1d0",
|
|
921
|
+
"getSellQuote(address,uint256)": "1bf6e958",
|
|
922
|
+
"global()": "a05f9906",
|
|
923
|
+
"initialize()": "8129fc1c",
|
|
924
|
+
"migrate(address)": "ce5494bb",
|
|
925
|
+
"nonfungiblePositionManager()": "b44a2722",
|
|
926
|
+
"proxiableUUID()": "52d1902d",
|
|
927
|
+
"sell(address,uint256,uint64)": "ae38f145",
|
|
928
|
+
"setParams((uint256,uint64,uint256,uint256,uint64,address,bool,uint64,address))": "0488cebb",
|
|
929
|
+
"setTrackVolume(address,bool)": "fb937829",
|
|
930
|
+
"setUniswapV3Addresses(address,address)": "70f6e143",
|
|
931
|
+
"updateFeeRecipient(address)": "f160d369",
|
|
932
|
+
"updateGlobalAuthority(address)": "b54df8af",
|
|
933
|
+
"upgradeToAndCall(address,bytes)": "4f1ef286",
|
|
934
|
+
"userVolume(address)": "a6769ef8",
|
|
935
|
+
"weth9()": "50879c1c"
|
|
936
|
+
},
|
|
937
|
+
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AllFeeRecipientsShouldBeNonZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AllZerosWithdrawAuthority\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondingCurveComplete\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondingCurveNotComplete\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BuyExceedsMigrationThreshold\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BuyZeroEth\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CreatorShouldNotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DisabledMigrate\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DivisionByZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FeeBasisPointsGreaterThanMaximum\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FeeTooSmall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InitialRealTokenReservesShouldBeLessThanTokenTotalSupply\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InitialVirtualTokenReservesShouldBeGreaterThanInitialRealTokenReserves\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientMigrationFee\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotAuthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotEnoughRemainingAccounts\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotEnoughTokensToBuy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotEnoughTokensToSell\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Overflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolMigrationFeeShouldBeGreaterThanCreatorFeePlusMaxMigrateFees\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolMigrationFeeShouldBeLessThanFinalRealEthReserves\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SellAmountTooSmall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SellZeroAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooLittleEthReceived\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooLittleTokensReceived\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsortedNotUniqueFeeRecipients\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"mint\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"CompleteEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"mint\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mintAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"ethAmount\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"poolMigrationFee\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"name\":\"CompleteManiaAmmMigrationEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"mint\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"CreateEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"initialVirtualTokenReserves\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"initialVirtualEthReserves\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"initialRealTokenReserves\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"finalRealEthReserves\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenTotalSupply\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"feeBasisPoints\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawAuthority\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"enableMigrate\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"poolMigrationFee\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"feeRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"SetParamsEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"mint\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"ethAmount\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isBuy\",\"type\":\"bool\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"virtualEthReserves\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"virtualTokenReserves\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"realEthReserves\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"realTokenReserves\",\"type\":\"uint256\"}],\"name\":\"TradeEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldFeeRecipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newFeeRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"UpdateFeeRecipientEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAuthority\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"UpdateGlobalAuthorityEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"mint\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"volumeAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalVolume\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"VolumeTracked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"TICK_LOWER\",\"outputs\":[{\"internalType\":\"int24\",\"name\":\"\",\"type\":\"int24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TICK_UPPER\",\"outputs\":[{\"internalType\":\"int24\",\"name\":\"\",\"type\":\"int24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNISWAP_FEE_TIER\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"\",\"type\":\"uint24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"mint\",\"type\":\"address\"}],\"name\":\"bondingCurves\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"virtualTokenReserves\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"virtualEthReserves\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"realTokenReserves\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"realEthReserves\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"tokenTotalSupply\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"complete\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"trackVolume\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minTokensOut\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"buy\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"}],\"name\":\"create\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minTokensOut\",\"type\":\"uint256\"}],\"name\":\"createAndBuy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"getBondingCurve\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"virtualTokenReserves\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"virtualEthReserves\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"realTokenReserves\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"realEthReserves\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"tokenTotalSupply\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"complete\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"trackVolume\",\"type\":\"bool\"}],\"internalType\":\"struct ManiaFactoryUpgradeable.BondingCurve\",\"name\":\"curve\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"ethAmount\",\"type\":\"uint64\"}],\"name\":\"getBuyQuote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"amount\",\"type\":\"uint64\"}],\"name\":\"getFee\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"getSellQuote\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"ethOutput\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"global\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"initialVirtualTokenReserves\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"initialVirtualEthReserves\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"initialRealTokenReserves\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenTotalSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"feeBasisPoints\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"withdrawAuthority\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"enableMigrate\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"poolMigrationFee\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"migrate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonfungiblePositionManager\",\"outputs\":[{\"internalType\":\"contract INonfungiblePositionManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minEthOutput\",\"type\":\"uint64\"}],\"name\":\"sell\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"initialVirtualTokenReserves\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"initialVirtualEthReserves\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"initialRealTokenReserves\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenTotalSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"feeBasisPoints\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"withdrawAuthority\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"enableMigrate\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"poolMigrationFee\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"feeRecipient\",\"type\":\"address\"}],\"internalType\":\"struct ManiaFactoryUpgradeable.SetParamsInput\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"setParams\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"enabled\",\"type\":\"bool\"}],\"name\":\"setTrackVolume\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nonfungiblePositionManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_weth9\",\"type\":\"address\"}],\"name\":\"setUniswapV3Addresses\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newFeeRecipient\",\"type\":\"address\"}],\"name\":\"updateFeeRecipient\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAuthority\",\"type\":\"address\"}],\"name\":\"updateGlobalAuthority\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"userVolume\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"volume\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"weth9\",\"outputs\":[{\"internalType\":\"contract IWETH9\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"migrate(address)\":{\"details\":\"Caller must send poolMigrationFee as msg.value. Full 4 ETH from bonding curve goes to LP.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"title\":\"ManiaFactory - Token Bonding Curve Protocol (Upgradeable)\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"buy(address,uint256,address)\":{\"notice\":\"Buys tokens with an exact ETH amount\"},\"create(string,string,string,address)\":{\"notice\":\"Creates a new token with bonding curve and pre-initializes pool\"},\"createAndBuy(string,string,string,address,uint256)\":{\"notice\":\"Creates a new token and buys tokens in a single transaction\"},\"initialize()\":{\"notice\":\"Initializes the global state\"},\"migrate(address)\":{\"notice\":\"Migrates liquidity to UniswapV3 pool\"},\"sell(address,uint256,uint64)\":{\"notice\":\"Sells tokens to bonding curve\"},\"setParams((uint256,uint64,uint256,uint256,uint64,address,bool,uint64,address))\":{\"notice\":\"Sets global parameters\"},\"setUniswapV3Addresses(address,address)\":{\"notice\":\"Sets UniswapV3 addresses for migration\"},\"updateFeeRecipient(address)\":{\"notice\":\"Updates the fee recipient\"},\"updateGlobalAuthority(address)\":{\"notice\":\"Updates the global authority\"}},\"notice\":\"Implements a bonding curve DEX for token launches with migration to external AMM\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/ManiaFactoryUpgradeable.sol\":\"ManiaFactoryUpgradeable\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib/v3-core/\",\":@uniswap/v3-periphery/=lib/v3-periphery/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":v3-core/=lib/v3-core/\",\":v3-periphery/=lib/v3-periphery/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x30d125b8417684dbfea3e8d57284b353a86b22077237b4aaf098c0b54b153e16\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2813775a6326190e75dfa9005c1abbdb1e541c195c0bf5656dd4199e8c66fd8d\",\"dweb:/ipfs/QmYDKANBezQXNrEDyJ69RVXkgypW1hWj7MAvjfdNHTZY8L\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x4918e374e9ce84e9b196486bafbd46851d5e72ab315e31f0b1d7c443dcfea5bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ced247afc54a93a13922ebbd63add61130abe483ab5b5b78e7e991d564d150e\",\"dweb:/ipfs/QmTfxjcTgfekiguegjvYMyfqhyRNffui17f8xi86BCZNVt\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x1a26353563a2c63b4120ea0b94727253eeff84fe2241d42c1452308b9080e66a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49a95e36d267828b4357186a79917002d616d8634e25d1f9818e2354cd2e7d34\",\"dweb:/ipfs/QmWDkqE4KkyLAS2UkLsRgXE1FGB1qfEgBC3zMXBVsVWfdk\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xf78f05f3b8c9f75570e85300d7b4600d7f6f6a198449273f31d44c1641adb46f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e28b872613b45e0e801d4995aa4380be2531147bfe2d85c1d6275f1de514fba3\",\"dweb:/ipfs/QmeeFcfShHYaS3BdgVj78nxR28ZaVUwbvr66ud8bT6kzw9\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x0fa9e0d3a859900b5a46f70a03c73adf259603d5e05027a37fe0b45529d85346\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c2add4da0240c9f2ce47649c8bb6b11b40e98cf6f88b8bdc76b2704e89391710\",\"dweb:/ipfs/QmNQTwF2uVzu4CRtNxr8bxyP9XuW6VsZuo2Nr4KR2bZr3d\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/LowLevelCall.sol\":{\"keccak256\":\"0x5b4802a4352474792df3107e961d1cc593e47b820c14f69d3505cb28f5a6a583\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6f86fd01f829499fe0545ff5dda07d4521988e88bfe0bf801fc15650921ed56\",\"dweb:/ipfs/QmUUKu4ZDffHAmfkf3asuQfmLTyfpuy2Amdncc3SqfzKPG\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x09e3f1c72d4c5cbe8e2644ab7313f8f7177533ae2f4c24cdcbbeaf520a73734c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93208401215d539fa2d81626b207c1f611def7883d0e447b3b5969ebaa7b3c2c\",\"dweb:/ipfs/QmXPxDnQPx8LAweX5ZJqEcwkvs59kP4c64VVDG1Jjq1mef\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"src/ManiaFactoryUpgradeable.sol\":{\"keccak256\":\"0xdd8be9a6050d964715fce76d440895225b39f316bd401909c5519ffe9f955f35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b8631f60fc288c4cee6c5f483a04f9eabd82e2ceb328477656914bd7a529a38\",\"dweb:/ipfs/QmQ17DcuB189ztVkYfcVGdfZt3rTqFzf4frPDaJ5AHkyEv\"]},\"src/ManiaToken.sol\":{\"keccak256\":\"0x05b3557d04763402dba1b04912b10d3704f419853ac55ec09944276c56c4834e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d767617b46bed6b0a7dc0510298d07c324593e92852c86876c442b529b8b8dda\",\"dweb:/ipfs/QmaHowrstcstoRBUkhYZJfSxSgo9SgcN9YpsypqRZgWhxJ\"]},\"src/interfaces/INonfungiblePositionManager.sol\":{\"keccak256\":\"0xb350fdca799e80a08e34b9d3e5154d701c6f9348182559a6ddf502debe82dd92\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://bc65c3c346722727f6349159138035b26418fbcddfdfb88bab83fcc1e9740362\",\"dweb:/ipfs/QmNouEf2PsBBUDyyp1VnoUFGxNPaQT5hCK3Py3FFD8iwEi\"]},\"src/interfaces/IUniswapV3Factory.sol\":{\"keccak256\":\"0x4238cc9e4d4e722b97b1da2a613bce7498fbaa96e5f6d1a9edd15b88d619c37b\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://dd5e598c54ecce29115e69a1ac30ae48d4abece41afb28c93962aa6181ed8631\",\"dweb:/ipfs/QmaqKDa5bySfm3QMQ6afRfVQb6NwyMJoCdYXifJe4vXxA8\"]},\"src/interfaces/IUniswapV3Pool.sol\":{\"keccak256\":\"0x4ed61e48b7d6e51fc06a31cb058ab9290140c898f37c3c14c25b0032f3c44092\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://661aa5a27239c747e5550a375c702c08138fbec6b5d44bce47e640378a3956c0\",\"dweb:/ipfs/QmT7feTcffVcVZvwwm2tBkiyfmvKMHzxPwjrXsbaAYLczd\"]},\"src/interfaces/IWETH9.sol\":{\"keccak256\":\"0xc8614170f6933b670a14352bf2d9277a729d25f5e9202c3c677e37e7fd094a9a\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://cf907ba68328cee1f31c604942f33d408ff4dffb3bff0be9cab834b150ed37c3\",\"dweb:/ipfs/QmVgMxh9rqWbjmEX1HJ8QyYDhUckrGs2rvb5cR3ZghhZCq\"]},\"src/tokens/ERC20.sol\":{\"keccak256\":\"0x4070106775a06b95735c7f7903435cf94cd91c9660c18a39035296e9807f9096\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://89b56c350110684059c7bba19d7a118dddff9d71e24897449204feadab316ff4\",\"dweb:/ipfs/QmdDKfJceWvDXz2xsLPh4GF4WuLYMVMpEerimMy8LFBh6j\"]},\"src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x1f471ce40d2fbf4ccbcfe12d94ab62beb2ab656c6bac84afc384738615466f6a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://6a83ae4c269f1205ba12595ee20d990e63a8c020d693e9a16b7462a141324bae\",\"dweb:/ipfs/QmZnqgeP1yteDt9TrkygMkBPyaU3geGTAjSPccEyFk37Dv\"]}},\"version\":1}",
|
|
938
|
+
"metadata": {
|
|
939
|
+
"compiler": { "version": "0.8.30+commit.73712a01" },
|
|
940
|
+
"language": "Solidity",
|
|
941
|
+
"output": {
|
|
942
|
+
"abi": [
|
|
943
|
+
{
|
|
944
|
+
"inputs": [],
|
|
945
|
+
"stateMutability": "nonpayable",
|
|
946
|
+
"type": "constructor"
|
|
947
|
+
},
|
|
948
|
+
{
|
|
949
|
+
"inputs": [
|
|
950
|
+
{ "internalType": "address", "name": "target", "type": "address" }
|
|
951
|
+
],
|
|
952
|
+
"type": "error",
|
|
953
|
+
"name": "AddressEmptyCode"
|
|
954
|
+
},
|
|
955
|
+
{
|
|
956
|
+
"inputs": [],
|
|
957
|
+
"type": "error",
|
|
958
|
+
"name": "AllFeeRecipientsShouldBeNonZero"
|
|
959
|
+
},
|
|
960
|
+
{ "inputs": [], "type": "error", "name": "AllZerosWithdrawAuthority" },
|
|
961
|
+
{ "inputs": [], "type": "error", "name": "AlreadyInitialized" },
|
|
962
|
+
{ "inputs": [], "type": "error", "name": "BondingCurveComplete" },
|
|
963
|
+
{ "inputs": [], "type": "error", "name": "BondingCurveNotComplete" },
|
|
964
|
+
{
|
|
965
|
+
"inputs": [],
|
|
966
|
+
"type": "error",
|
|
967
|
+
"name": "BuyExceedsMigrationThreshold"
|
|
968
|
+
},
|
|
969
|
+
{ "inputs": [], "type": "error", "name": "BuyZeroEth" },
|
|
970
|
+
{ "inputs": [], "type": "error", "name": "CreatorShouldNotBeZero" },
|
|
971
|
+
{ "inputs": [], "type": "error", "name": "DisabledMigrate" },
|
|
972
|
+
{ "inputs": [], "type": "error", "name": "DivisionByZero" },
|
|
973
|
+
{
|
|
974
|
+
"inputs": [
|
|
975
|
+
{
|
|
976
|
+
"internalType": "address",
|
|
977
|
+
"name": "implementation",
|
|
978
|
+
"type": "address"
|
|
979
|
+
}
|
|
980
|
+
],
|
|
981
|
+
"type": "error",
|
|
982
|
+
"name": "ERC1967InvalidImplementation"
|
|
983
|
+
},
|
|
984
|
+
{ "inputs": [], "type": "error", "name": "ERC1967NonPayable" },
|
|
985
|
+
{ "inputs": [], "type": "error", "name": "FailedCall" },
|
|
986
|
+
{
|
|
987
|
+
"inputs": [],
|
|
988
|
+
"type": "error",
|
|
989
|
+
"name": "FeeBasisPointsGreaterThanMaximum"
|
|
990
|
+
},
|
|
991
|
+
{ "inputs": [], "type": "error", "name": "FeeTooSmall" },
|
|
992
|
+
{
|
|
993
|
+
"inputs": [],
|
|
994
|
+
"type": "error",
|
|
995
|
+
"name": "InitialRealTokenReservesShouldBeLessThanTokenTotalSupply"
|
|
996
|
+
},
|
|
997
|
+
{
|
|
998
|
+
"inputs": [],
|
|
999
|
+
"type": "error",
|
|
1000
|
+
"name": "InitialVirtualTokenReservesShouldBeGreaterThanInitialRealTokenReserves"
|
|
1001
|
+
},
|
|
1002
|
+
{ "inputs": [], "type": "error", "name": "InsufficientMigrationFee" },
|
|
1003
|
+
{ "inputs": [], "type": "error", "name": "InvalidInitialization" },
|
|
1004
|
+
{ "inputs": [], "type": "error", "name": "NotAuthorized" },
|
|
1005
|
+
{ "inputs": [], "type": "error", "name": "NotEnoughRemainingAccounts" },
|
|
1006
|
+
{ "inputs": [], "type": "error", "name": "NotEnoughTokensToBuy" },
|
|
1007
|
+
{ "inputs": [], "type": "error", "name": "NotEnoughTokensToSell" },
|
|
1008
|
+
{ "inputs": [], "type": "error", "name": "NotInitializing" },
|
|
1009
|
+
{ "inputs": [], "type": "error", "name": "Overflow" },
|
|
1010
|
+
{
|
|
1011
|
+
"inputs": [],
|
|
1012
|
+
"type": "error",
|
|
1013
|
+
"name": "PoolMigrationFeeShouldBeGreaterThanCreatorFeePlusMaxMigrateFees"
|
|
1014
|
+
},
|
|
1015
|
+
{
|
|
1016
|
+
"inputs": [],
|
|
1017
|
+
"type": "error",
|
|
1018
|
+
"name": "PoolMigrationFeeShouldBeLessThanFinalRealEthReserves"
|
|
1019
|
+
},
|
|
1020
|
+
{ "inputs": [], "type": "error", "name": "SellAmountTooSmall" },
|
|
1021
|
+
{ "inputs": [], "type": "error", "name": "SellZeroAmount" },
|
|
1022
|
+
{ "inputs": [], "type": "error", "name": "TooLittleEthReceived" },
|
|
1023
|
+
{ "inputs": [], "type": "error", "name": "TooLittleTokensReceived" },
|
|
1024
|
+
{ "inputs": [], "type": "error", "name": "TransferFailed" },
|
|
1025
|
+
{
|
|
1026
|
+
"inputs": [],
|
|
1027
|
+
"type": "error",
|
|
1028
|
+
"name": "UUPSUnauthorizedCallContext"
|
|
1029
|
+
},
|
|
1030
|
+
{
|
|
1031
|
+
"inputs": [
|
|
1032
|
+
{ "internalType": "bytes32", "name": "slot", "type": "bytes32" }
|
|
1033
|
+
],
|
|
1034
|
+
"type": "error",
|
|
1035
|
+
"name": "UUPSUnsupportedProxiableUUID"
|
|
1036
|
+
},
|
|
1037
|
+
{
|
|
1038
|
+
"inputs": [],
|
|
1039
|
+
"type": "error",
|
|
1040
|
+
"name": "UnsortedNotUniqueFeeRecipients"
|
|
1041
|
+
},
|
|
1042
|
+
{
|
|
1043
|
+
"inputs": [
|
|
1044
|
+
{
|
|
1045
|
+
"internalType": "address",
|
|
1046
|
+
"name": "user",
|
|
1047
|
+
"type": "address",
|
|
1048
|
+
"indexed": true
|
|
1049
|
+
},
|
|
1050
|
+
{
|
|
1051
|
+
"internalType": "address",
|
|
1052
|
+
"name": "mint",
|
|
1053
|
+
"type": "address",
|
|
1054
|
+
"indexed": true
|
|
1055
|
+
},
|
|
1056
|
+
{
|
|
1057
|
+
"internalType": "uint256",
|
|
1058
|
+
"name": "timestamp",
|
|
1059
|
+
"type": "uint256",
|
|
1060
|
+
"indexed": false
|
|
1061
|
+
}
|
|
1062
|
+
],
|
|
1063
|
+
"type": "event",
|
|
1064
|
+
"name": "CompleteEvent",
|
|
1065
|
+
"anonymous": false
|
|
1066
|
+
},
|
|
1067
|
+
{
|
|
1068
|
+
"inputs": [
|
|
1069
|
+
{
|
|
1070
|
+
"internalType": "address",
|
|
1071
|
+
"name": "user",
|
|
1072
|
+
"type": "address",
|
|
1073
|
+
"indexed": true
|
|
1074
|
+
},
|
|
1075
|
+
{
|
|
1076
|
+
"internalType": "address",
|
|
1077
|
+
"name": "mint",
|
|
1078
|
+
"type": "address",
|
|
1079
|
+
"indexed": true
|
|
1080
|
+
},
|
|
1081
|
+
{
|
|
1082
|
+
"internalType": "uint256",
|
|
1083
|
+
"name": "mintAmount",
|
|
1084
|
+
"type": "uint256",
|
|
1085
|
+
"indexed": false
|
|
1086
|
+
},
|
|
1087
|
+
{
|
|
1088
|
+
"internalType": "uint64",
|
|
1089
|
+
"name": "ethAmount",
|
|
1090
|
+
"type": "uint64",
|
|
1091
|
+
"indexed": false
|
|
1092
|
+
},
|
|
1093
|
+
{
|
|
1094
|
+
"internalType": "uint64",
|
|
1095
|
+
"name": "poolMigrationFee",
|
|
1096
|
+
"type": "uint64",
|
|
1097
|
+
"indexed": false
|
|
1098
|
+
},
|
|
1099
|
+
{
|
|
1100
|
+
"internalType": "uint256",
|
|
1101
|
+
"name": "timestamp",
|
|
1102
|
+
"type": "uint256",
|
|
1103
|
+
"indexed": false
|
|
1104
|
+
},
|
|
1105
|
+
{
|
|
1106
|
+
"internalType": "address",
|
|
1107
|
+
"name": "pool",
|
|
1108
|
+
"type": "address",
|
|
1109
|
+
"indexed": true
|
|
1110
|
+
}
|
|
1111
|
+
],
|
|
1112
|
+
"type": "event",
|
|
1113
|
+
"name": "CompleteManiaAmmMigrationEvent",
|
|
1114
|
+
"anonymous": false
|
|
1115
|
+
},
|
|
1116
|
+
{
|
|
1117
|
+
"inputs": [
|
|
1118
|
+
{
|
|
1119
|
+
"internalType": "string",
|
|
1120
|
+
"name": "name",
|
|
1121
|
+
"type": "string",
|
|
1122
|
+
"indexed": false
|
|
1123
|
+
},
|
|
1124
|
+
{
|
|
1125
|
+
"internalType": "string",
|
|
1126
|
+
"name": "symbol",
|
|
1127
|
+
"type": "string",
|
|
1128
|
+
"indexed": false
|
|
1129
|
+
},
|
|
1130
|
+
{
|
|
1131
|
+
"internalType": "string",
|
|
1132
|
+
"name": "uri",
|
|
1133
|
+
"type": "string",
|
|
1134
|
+
"indexed": false
|
|
1135
|
+
},
|
|
1136
|
+
{
|
|
1137
|
+
"internalType": "address",
|
|
1138
|
+
"name": "mint",
|
|
1139
|
+
"type": "address",
|
|
1140
|
+
"indexed": true
|
|
1141
|
+
},
|
|
1142
|
+
{
|
|
1143
|
+
"internalType": "address",
|
|
1144
|
+
"name": "user",
|
|
1145
|
+
"type": "address",
|
|
1146
|
+
"indexed": true
|
|
1147
|
+
},
|
|
1148
|
+
{
|
|
1149
|
+
"internalType": "address",
|
|
1150
|
+
"name": "creator",
|
|
1151
|
+
"type": "address",
|
|
1152
|
+
"indexed": true
|
|
1153
|
+
},
|
|
1154
|
+
{
|
|
1155
|
+
"internalType": "uint256",
|
|
1156
|
+
"name": "timestamp",
|
|
1157
|
+
"type": "uint256",
|
|
1158
|
+
"indexed": false
|
|
1159
|
+
}
|
|
1160
|
+
],
|
|
1161
|
+
"type": "event",
|
|
1162
|
+
"name": "CreateEvent",
|
|
1163
|
+
"anonymous": false
|
|
1164
|
+
},
|
|
1165
|
+
{
|
|
1166
|
+
"inputs": [
|
|
1167
|
+
{
|
|
1168
|
+
"internalType": "uint64",
|
|
1169
|
+
"name": "version",
|
|
1170
|
+
"type": "uint64",
|
|
1171
|
+
"indexed": false
|
|
1172
|
+
}
|
|
1173
|
+
],
|
|
1174
|
+
"type": "event",
|
|
1175
|
+
"name": "Initialized",
|
|
1176
|
+
"anonymous": false
|
|
1177
|
+
},
|
|
1178
|
+
{
|
|
1179
|
+
"inputs": [
|
|
1180
|
+
{
|
|
1181
|
+
"internalType": "uint256",
|
|
1182
|
+
"name": "initialVirtualTokenReserves",
|
|
1183
|
+
"type": "uint256",
|
|
1184
|
+
"indexed": false
|
|
1185
|
+
},
|
|
1186
|
+
{
|
|
1187
|
+
"internalType": "uint64",
|
|
1188
|
+
"name": "initialVirtualEthReserves",
|
|
1189
|
+
"type": "uint64",
|
|
1190
|
+
"indexed": false
|
|
1191
|
+
},
|
|
1192
|
+
{
|
|
1193
|
+
"internalType": "uint256",
|
|
1194
|
+
"name": "initialRealTokenReserves",
|
|
1195
|
+
"type": "uint256",
|
|
1196
|
+
"indexed": false
|
|
1197
|
+
},
|
|
1198
|
+
{
|
|
1199
|
+
"internalType": "uint64",
|
|
1200
|
+
"name": "finalRealEthReserves",
|
|
1201
|
+
"type": "uint64",
|
|
1202
|
+
"indexed": false
|
|
1203
|
+
},
|
|
1204
|
+
{
|
|
1205
|
+
"internalType": "uint256",
|
|
1206
|
+
"name": "tokenTotalSupply",
|
|
1207
|
+
"type": "uint256",
|
|
1208
|
+
"indexed": false
|
|
1209
|
+
},
|
|
1210
|
+
{
|
|
1211
|
+
"internalType": "uint64",
|
|
1212
|
+
"name": "feeBasisPoints",
|
|
1213
|
+
"type": "uint64",
|
|
1214
|
+
"indexed": false
|
|
1215
|
+
},
|
|
1216
|
+
{
|
|
1217
|
+
"internalType": "address",
|
|
1218
|
+
"name": "withdrawAuthority",
|
|
1219
|
+
"type": "address",
|
|
1220
|
+
"indexed": false
|
|
1221
|
+
},
|
|
1222
|
+
{
|
|
1223
|
+
"internalType": "bool",
|
|
1224
|
+
"name": "enableMigrate",
|
|
1225
|
+
"type": "bool",
|
|
1226
|
+
"indexed": false
|
|
1227
|
+
},
|
|
1228
|
+
{
|
|
1229
|
+
"internalType": "uint64",
|
|
1230
|
+
"name": "poolMigrationFee",
|
|
1231
|
+
"type": "uint64",
|
|
1232
|
+
"indexed": false
|
|
1233
|
+
},
|
|
1234
|
+
{
|
|
1235
|
+
"internalType": "address",
|
|
1236
|
+
"name": "feeRecipient",
|
|
1237
|
+
"type": "address",
|
|
1238
|
+
"indexed": false
|
|
1239
|
+
},
|
|
1240
|
+
{
|
|
1241
|
+
"internalType": "uint256",
|
|
1242
|
+
"name": "timestamp",
|
|
1243
|
+
"type": "uint256",
|
|
1244
|
+
"indexed": false
|
|
1245
|
+
}
|
|
1246
|
+
],
|
|
1247
|
+
"type": "event",
|
|
1248
|
+
"name": "SetParamsEvent",
|
|
1249
|
+
"anonymous": false
|
|
1250
|
+
},
|
|
1251
|
+
{
|
|
1252
|
+
"inputs": [
|
|
1253
|
+
{
|
|
1254
|
+
"internalType": "address",
|
|
1255
|
+
"name": "mint",
|
|
1256
|
+
"type": "address",
|
|
1257
|
+
"indexed": true
|
|
1258
|
+
},
|
|
1259
|
+
{
|
|
1260
|
+
"internalType": "uint64",
|
|
1261
|
+
"name": "ethAmount",
|
|
1262
|
+
"type": "uint64",
|
|
1263
|
+
"indexed": false
|
|
1264
|
+
},
|
|
1265
|
+
{
|
|
1266
|
+
"internalType": "uint256",
|
|
1267
|
+
"name": "tokenAmount",
|
|
1268
|
+
"type": "uint256",
|
|
1269
|
+
"indexed": false
|
|
1270
|
+
},
|
|
1271
|
+
{
|
|
1272
|
+
"internalType": "bool",
|
|
1273
|
+
"name": "isBuy",
|
|
1274
|
+
"type": "bool",
|
|
1275
|
+
"indexed": false
|
|
1276
|
+
},
|
|
1277
|
+
{
|
|
1278
|
+
"internalType": "address",
|
|
1279
|
+
"name": "user",
|
|
1280
|
+
"type": "address",
|
|
1281
|
+
"indexed": true
|
|
1282
|
+
},
|
|
1283
|
+
{
|
|
1284
|
+
"internalType": "uint256",
|
|
1285
|
+
"name": "timestamp",
|
|
1286
|
+
"type": "uint256",
|
|
1287
|
+
"indexed": false
|
|
1288
|
+
},
|
|
1289
|
+
{
|
|
1290
|
+
"internalType": "uint64",
|
|
1291
|
+
"name": "virtualEthReserves",
|
|
1292
|
+
"type": "uint64",
|
|
1293
|
+
"indexed": false
|
|
1294
|
+
},
|
|
1295
|
+
{
|
|
1296
|
+
"internalType": "uint256",
|
|
1297
|
+
"name": "virtualTokenReserves",
|
|
1298
|
+
"type": "uint256",
|
|
1299
|
+
"indexed": false
|
|
1300
|
+
},
|
|
1301
|
+
{
|
|
1302
|
+
"internalType": "uint64",
|
|
1303
|
+
"name": "realEthReserves",
|
|
1304
|
+
"type": "uint64",
|
|
1305
|
+
"indexed": false
|
|
1306
|
+
},
|
|
1307
|
+
{
|
|
1308
|
+
"internalType": "uint256",
|
|
1309
|
+
"name": "realTokenReserves",
|
|
1310
|
+
"type": "uint256",
|
|
1311
|
+
"indexed": false
|
|
1312
|
+
}
|
|
1313
|
+
],
|
|
1314
|
+
"type": "event",
|
|
1315
|
+
"name": "TradeEvent",
|
|
1316
|
+
"anonymous": false
|
|
1317
|
+
},
|
|
1318
|
+
{
|
|
1319
|
+
"inputs": [
|
|
1320
|
+
{
|
|
1321
|
+
"internalType": "address",
|
|
1322
|
+
"name": "authority",
|
|
1323
|
+
"type": "address",
|
|
1324
|
+
"indexed": true
|
|
1325
|
+
},
|
|
1326
|
+
{
|
|
1327
|
+
"internalType": "address",
|
|
1328
|
+
"name": "oldFeeRecipient",
|
|
1329
|
+
"type": "address",
|
|
1330
|
+
"indexed": true
|
|
1331
|
+
},
|
|
1332
|
+
{
|
|
1333
|
+
"internalType": "address",
|
|
1334
|
+
"name": "newFeeRecipient",
|
|
1335
|
+
"type": "address",
|
|
1336
|
+
"indexed": true
|
|
1337
|
+
},
|
|
1338
|
+
{
|
|
1339
|
+
"internalType": "uint256",
|
|
1340
|
+
"name": "timestamp",
|
|
1341
|
+
"type": "uint256",
|
|
1342
|
+
"indexed": false
|
|
1343
|
+
}
|
|
1344
|
+
],
|
|
1345
|
+
"type": "event",
|
|
1346
|
+
"name": "UpdateFeeRecipientEvent",
|
|
1347
|
+
"anonymous": false
|
|
1348
|
+
},
|
|
1349
|
+
{
|
|
1350
|
+
"inputs": [
|
|
1351
|
+
{
|
|
1352
|
+
"internalType": "address",
|
|
1353
|
+
"name": "authority",
|
|
1354
|
+
"type": "address",
|
|
1355
|
+
"indexed": true
|
|
1356
|
+
},
|
|
1357
|
+
{
|
|
1358
|
+
"internalType": "address",
|
|
1359
|
+
"name": "newAuthority",
|
|
1360
|
+
"type": "address",
|
|
1361
|
+
"indexed": true
|
|
1362
|
+
},
|
|
1363
|
+
{
|
|
1364
|
+
"internalType": "uint256",
|
|
1365
|
+
"name": "timestamp",
|
|
1366
|
+
"type": "uint256",
|
|
1367
|
+
"indexed": false
|
|
1368
|
+
}
|
|
1369
|
+
],
|
|
1370
|
+
"type": "event",
|
|
1371
|
+
"name": "UpdateGlobalAuthorityEvent",
|
|
1372
|
+
"anonymous": false
|
|
1373
|
+
},
|
|
1374
|
+
{
|
|
1375
|
+
"inputs": [
|
|
1376
|
+
{
|
|
1377
|
+
"internalType": "address",
|
|
1378
|
+
"name": "implementation",
|
|
1379
|
+
"type": "address",
|
|
1380
|
+
"indexed": true
|
|
1381
|
+
}
|
|
1382
|
+
],
|
|
1383
|
+
"type": "event",
|
|
1384
|
+
"name": "Upgraded",
|
|
1385
|
+
"anonymous": false
|
|
1386
|
+
},
|
|
1387
|
+
{
|
|
1388
|
+
"inputs": [
|
|
1389
|
+
{
|
|
1390
|
+
"internalType": "address",
|
|
1391
|
+
"name": "user",
|
|
1392
|
+
"type": "address",
|
|
1393
|
+
"indexed": true
|
|
1394
|
+
},
|
|
1395
|
+
{
|
|
1396
|
+
"internalType": "address",
|
|
1397
|
+
"name": "mint",
|
|
1398
|
+
"type": "address",
|
|
1399
|
+
"indexed": true
|
|
1400
|
+
},
|
|
1401
|
+
{
|
|
1402
|
+
"internalType": "uint256",
|
|
1403
|
+
"name": "volumeAmount",
|
|
1404
|
+
"type": "uint256",
|
|
1405
|
+
"indexed": false
|
|
1406
|
+
},
|
|
1407
|
+
{
|
|
1408
|
+
"internalType": "uint256",
|
|
1409
|
+
"name": "totalVolume",
|
|
1410
|
+
"type": "uint256",
|
|
1411
|
+
"indexed": false
|
|
1412
|
+
},
|
|
1413
|
+
{
|
|
1414
|
+
"internalType": "uint256",
|
|
1415
|
+
"name": "timestamp",
|
|
1416
|
+
"type": "uint256",
|
|
1417
|
+
"indexed": false
|
|
1418
|
+
}
|
|
1419
|
+
],
|
|
1420
|
+
"type": "event",
|
|
1421
|
+
"name": "VolumeTracked",
|
|
1422
|
+
"anonymous": false
|
|
1423
|
+
},
|
|
1424
|
+
{
|
|
1425
|
+
"inputs": [],
|
|
1426
|
+
"stateMutability": "view",
|
|
1427
|
+
"type": "function",
|
|
1428
|
+
"name": "TICK_LOWER",
|
|
1429
|
+
"outputs": [{ "internalType": "int24", "name": "", "type": "int24" }]
|
|
1430
|
+
},
|
|
1431
|
+
{
|
|
1432
|
+
"inputs": [],
|
|
1433
|
+
"stateMutability": "view",
|
|
1434
|
+
"type": "function",
|
|
1435
|
+
"name": "TICK_UPPER",
|
|
1436
|
+
"outputs": [{ "internalType": "int24", "name": "", "type": "int24" }]
|
|
1437
|
+
},
|
|
1438
|
+
{
|
|
1439
|
+
"inputs": [],
|
|
1440
|
+
"stateMutability": "view",
|
|
1441
|
+
"type": "function",
|
|
1442
|
+
"name": "UNISWAP_FEE_TIER",
|
|
1443
|
+
"outputs": [
|
|
1444
|
+
{ "internalType": "uint24", "name": "", "type": "uint24" }
|
|
1445
|
+
]
|
|
1446
|
+
},
|
|
1447
|
+
{
|
|
1448
|
+
"inputs": [],
|
|
1449
|
+
"stateMutability": "view",
|
|
1450
|
+
"type": "function",
|
|
1451
|
+
"name": "UPGRADE_INTERFACE_VERSION",
|
|
1452
|
+
"outputs": [
|
|
1453
|
+
{ "internalType": "string", "name": "", "type": "string" }
|
|
1454
|
+
]
|
|
1455
|
+
},
|
|
1456
|
+
{
|
|
1457
|
+
"inputs": [
|
|
1458
|
+
{ "internalType": "address", "name": "mint", "type": "address" }
|
|
1459
|
+
],
|
|
1460
|
+
"stateMutability": "view",
|
|
1461
|
+
"type": "function",
|
|
1462
|
+
"name": "bondingCurves",
|
|
1463
|
+
"outputs": [
|
|
1464
|
+
{
|
|
1465
|
+
"internalType": "uint256",
|
|
1466
|
+
"name": "virtualTokenReserves",
|
|
1467
|
+
"type": "uint256"
|
|
1468
|
+
},
|
|
1469
|
+
{
|
|
1470
|
+
"internalType": "uint64",
|
|
1471
|
+
"name": "virtualEthReserves",
|
|
1472
|
+
"type": "uint64"
|
|
1473
|
+
},
|
|
1474
|
+
{
|
|
1475
|
+
"internalType": "uint256",
|
|
1476
|
+
"name": "realTokenReserves",
|
|
1477
|
+
"type": "uint256"
|
|
1478
|
+
},
|
|
1479
|
+
{
|
|
1480
|
+
"internalType": "uint64",
|
|
1481
|
+
"name": "realEthReserves",
|
|
1482
|
+
"type": "uint64"
|
|
1483
|
+
},
|
|
1484
|
+
{
|
|
1485
|
+
"internalType": "uint256",
|
|
1486
|
+
"name": "tokenTotalSupply",
|
|
1487
|
+
"type": "uint256"
|
|
1488
|
+
},
|
|
1489
|
+
{ "internalType": "bool", "name": "complete", "type": "bool" },
|
|
1490
|
+
{ "internalType": "bool", "name": "trackVolume", "type": "bool" }
|
|
1491
|
+
]
|
|
1492
|
+
},
|
|
1493
|
+
{
|
|
1494
|
+
"inputs": [
|
|
1495
|
+
{ "internalType": "address", "name": "token", "type": "address" },
|
|
1496
|
+
{
|
|
1497
|
+
"internalType": "uint256",
|
|
1498
|
+
"name": "minTokensOut",
|
|
1499
|
+
"type": "uint256"
|
|
1500
|
+
},
|
|
1501
|
+
{
|
|
1502
|
+
"internalType": "address",
|
|
1503
|
+
"name": "recipient",
|
|
1504
|
+
"type": "address"
|
|
1505
|
+
}
|
|
1506
|
+
],
|
|
1507
|
+
"stateMutability": "payable",
|
|
1508
|
+
"type": "function",
|
|
1509
|
+
"name": "buy"
|
|
1510
|
+
},
|
|
1511
|
+
{
|
|
1512
|
+
"inputs": [
|
|
1513
|
+
{ "internalType": "string", "name": "name", "type": "string" },
|
|
1514
|
+
{ "internalType": "string", "name": "symbol", "type": "string" },
|
|
1515
|
+
{ "internalType": "string", "name": "uri", "type": "string" },
|
|
1516
|
+
{ "internalType": "address", "name": "creator", "type": "address" }
|
|
1517
|
+
],
|
|
1518
|
+
"stateMutability": "nonpayable",
|
|
1519
|
+
"type": "function",
|
|
1520
|
+
"name": "create",
|
|
1521
|
+
"outputs": [
|
|
1522
|
+
{ "internalType": "address", "name": "token", "type": "address" }
|
|
1523
|
+
]
|
|
1524
|
+
},
|
|
1525
|
+
{
|
|
1526
|
+
"inputs": [
|
|
1527
|
+
{ "internalType": "string", "name": "name", "type": "string" },
|
|
1528
|
+
{ "internalType": "string", "name": "symbol", "type": "string" },
|
|
1529
|
+
{ "internalType": "string", "name": "uri", "type": "string" },
|
|
1530
|
+
{ "internalType": "address", "name": "creator", "type": "address" },
|
|
1531
|
+
{
|
|
1532
|
+
"internalType": "uint256",
|
|
1533
|
+
"name": "minTokensOut",
|
|
1534
|
+
"type": "uint256"
|
|
1535
|
+
}
|
|
1536
|
+
],
|
|
1537
|
+
"stateMutability": "payable",
|
|
1538
|
+
"type": "function",
|
|
1539
|
+
"name": "createAndBuy",
|
|
1540
|
+
"outputs": [
|
|
1541
|
+
{ "internalType": "address", "name": "token", "type": "address" }
|
|
1542
|
+
]
|
|
1543
|
+
},
|
|
1544
|
+
{
|
|
1545
|
+
"inputs": [
|
|
1546
|
+
{ "internalType": "address", "name": "token", "type": "address" }
|
|
1547
|
+
],
|
|
1548
|
+
"stateMutability": "view",
|
|
1549
|
+
"type": "function",
|
|
1550
|
+
"name": "getBondingCurve",
|
|
1551
|
+
"outputs": [
|
|
1552
|
+
{
|
|
1553
|
+
"internalType": "struct ManiaFactoryUpgradeable.BondingCurve",
|
|
1554
|
+
"name": "curve",
|
|
1555
|
+
"type": "tuple",
|
|
1556
|
+
"components": [
|
|
1557
|
+
{
|
|
1558
|
+
"internalType": "uint256",
|
|
1559
|
+
"name": "virtualTokenReserves",
|
|
1560
|
+
"type": "uint256"
|
|
1561
|
+
},
|
|
1562
|
+
{
|
|
1563
|
+
"internalType": "uint64",
|
|
1564
|
+
"name": "virtualEthReserves",
|
|
1565
|
+
"type": "uint64"
|
|
1566
|
+
},
|
|
1567
|
+
{
|
|
1568
|
+
"internalType": "uint256",
|
|
1569
|
+
"name": "realTokenReserves",
|
|
1570
|
+
"type": "uint256"
|
|
1571
|
+
},
|
|
1572
|
+
{
|
|
1573
|
+
"internalType": "uint64",
|
|
1574
|
+
"name": "realEthReserves",
|
|
1575
|
+
"type": "uint64"
|
|
1576
|
+
},
|
|
1577
|
+
{
|
|
1578
|
+
"internalType": "uint256",
|
|
1579
|
+
"name": "tokenTotalSupply",
|
|
1580
|
+
"type": "uint256"
|
|
1581
|
+
},
|
|
1582
|
+
{ "internalType": "bool", "name": "complete", "type": "bool" },
|
|
1583
|
+
{
|
|
1584
|
+
"internalType": "bool",
|
|
1585
|
+
"name": "trackVolume",
|
|
1586
|
+
"type": "bool"
|
|
1587
|
+
}
|
|
1588
|
+
]
|
|
1589
|
+
}
|
|
1590
|
+
]
|
|
1591
|
+
},
|
|
1592
|
+
{
|
|
1593
|
+
"inputs": [
|
|
1594
|
+
{ "internalType": "address", "name": "token", "type": "address" },
|
|
1595
|
+
{ "internalType": "uint64", "name": "ethAmount", "type": "uint64" }
|
|
1596
|
+
],
|
|
1597
|
+
"stateMutability": "view",
|
|
1598
|
+
"type": "function",
|
|
1599
|
+
"name": "getBuyQuote",
|
|
1600
|
+
"outputs": [
|
|
1601
|
+
{
|
|
1602
|
+
"internalType": "uint256",
|
|
1603
|
+
"name": "tokenAmount",
|
|
1604
|
+
"type": "uint256"
|
|
1605
|
+
}
|
|
1606
|
+
]
|
|
1607
|
+
},
|
|
1608
|
+
{
|
|
1609
|
+
"inputs": [
|
|
1610
|
+
{ "internalType": "uint64", "name": "amount", "type": "uint64" }
|
|
1611
|
+
],
|
|
1612
|
+
"stateMutability": "view",
|
|
1613
|
+
"type": "function",
|
|
1614
|
+
"name": "getFee",
|
|
1615
|
+
"outputs": [
|
|
1616
|
+
{ "internalType": "uint128", "name": "fee", "type": "uint128" }
|
|
1617
|
+
]
|
|
1618
|
+
},
|
|
1619
|
+
{
|
|
1620
|
+
"inputs": [
|
|
1621
|
+
{ "internalType": "address", "name": "token", "type": "address" },
|
|
1622
|
+
{ "internalType": "uint256", "name": "amount", "type": "uint256" }
|
|
1623
|
+
],
|
|
1624
|
+
"stateMutability": "view",
|
|
1625
|
+
"type": "function",
|
|
1626
|
+
"name": "getSellQuote",
|
|
1627
|
+
"outputs": [
|
|
1628
|
+
{
|
|
1629
|
+
"internalType": "uint128",
|
|
1630
|
+
"name": "ethOutput",
|
|
1631
|
+
"type": "uint128"
|
|
1632
|
+
}
|
|
1633
|
+
]
|
|
1634
|
+
},
|
|
1635
|
+
{
|
|
1636
|
+
"inputs": [],
|
|
1637
|
+
"stateMutability": "view",
|
|
1638
|
+
"type": "function",
|
|
1639
|
+
"name": "global",
|
|
1640
|
+
"outputs": [
|
|
1641
|
+
{ "internalType": "bool", "name": "initialized", "type": "bool" },
|
|
1642
|
+
{
|
|
1643
|
+
"internalType": "address",
|
|
1644
|
+
"name": "authority",
|
|
1645
|
+
"type": "address"
|
|
1646
|
+
},
|
|
1647
|
+
{
|
|
1648
|
+
"internalType": "address",
|
|
1649
|
+
"name": "feeRecipient",
|
|
1650
|
+
"type": "address"
|
|
1651
|
+
},
|
|
1652
|
+
{
|
|
1653
|
+
"internalType": "uint256",
|
|
1654
|
+
"name": "initialVirtualTokenReserves",
|
|
1655
|
+
"type": "uint256"
|
|
1656
|
+
},
|
|
1657
|
+
{
|
|
1658
|
+
"internalType": "uint64",
|
|
1659
|
+
"name": "initialVirtualEthReserves",
|
|
1660
|
+
"type": "uint64"
|
|
1661
|
+
},
|
|
1662
|
+
{
|
|
1663
|
+
"internalType": "uint256",
|
|
1664
|
+
"name": "initialRealTokenReserves",
|
|
1665
|
+
"type": "uint256"
|
|
1666
|
+
},
|
|
1667
|
+
{
|
|
1668
|
+
"internalType": "uint256",
|
|
1669
|
+
"name": "tokenTotalSupply",
|
|
1670
|
+
"type": "uint256"
|
|
1671
|
+
},
|
|
1672
|
+
{
|
|
1673
|
+
"internalType": "uint64",
|
|
1674
|
+
"name": "feeBasisPoints",
|
|
1675
|
+
"type": "uint64"
|
|
1676
|
+
},
|
|
1677
|
+
{
|
|
1678
|
+
"internalType": "address",
|
|
1679
|
+
"name": "withdrawAuthority",
|
|
1680
|
+
"type": "address"
|
|
1681
|
+
},
|
|
1682
|
+
{ "internalType": "bool", "name": "enableMigrate", "type": "bool" },
|
|
1683
|
+
{
|
|
1684
|
+
"internalType": "uint64",
|
|
1685
|
+
"name": "poolMigrationFee",
|
|
1686
|
+
"type": "uint64"
|
|
1687
|
+
}
|
|
1688
|
+
]
|
|
1689
|
+
},
|
|
1690
|
+
{
|
|
1691
|
+
"inputs": [],
|
|
1692
|
+
"stateMutability": "nonpayable",
|
|
1693
|
+
"type": "function",
|
|
1694
|
+
"name": "initialize"
|
|
1695
|
+
},
|
|
1696
|
+
{
|
|
1697
|
+
"inputs": [
|
|
1698
|
+
{ "internalType": "address", "name": "token", "type": "address" }
|
|
1699
|
+
],
|
|
1700
|
+
"stateMutability": "payable",
|
|
1701
|
+
"type": "function",
|
|
1702
|
+
"name": "migrate"
|
|
1703
|
+
},
|
|
1704
|
+
{
|
|
1705
|
+
"inputs": [],
|
|
1706
|
+
"stateMutability": "view",
|
|
1707
|
+
"type": "function",
|
|
1708
|
+
"name": "nonfungiblePositionManager",
|
|
1709
|
+
"outputs": [
|
|
1710
|
+
{
|
|
1711
|
+
"internalType": "contract INonfungiblePositionManager",
|
|
1712
|
+
"name": "",
|
|
1713
|
+
"type": "address"
|
|
1714
|
+
}
|
|
1715
|
+
]
|
|
1716
|
+
},
|
|
1717
|
+
{
|
|
1718
|
+
"inputs": [],
|
|
1719
|
+
"stateMutability": "view",
|
|
1720
|
+
"type": "function",
|
|
1721
|
+
"name": "proxiableUUID",
|
|
1722
|
+
"outputs": [
|
|
1723
|
+
{ "internalType": "bytes32", "name": "", "type": "bytes32" }
|
|
1724
|
+
]
|
|
1725
|
+
},
|
|
1726
|
+
{
|
|
1727
|
+
"inputs": [
|
|
1728
|
+
{ "internalType": "address", "name": "token", "type": "address" },
|
|
1729
|
+
{ "internalType": "uint256", "name": "amount", "type": "uint256" },
|
|
1730
|
+
{
|
|
1731
|
+
"internalType": "uint64",
|
|
1732
|
+
"name": "minEthOutput",
|
|
1733
|
+
"type": "uint64"
|
|
1734
|
+
}
|
|
1735
|
+
],
|
|
1736
|
+
"stateMutability": "nonpayable",
|
|
1737
|
+
"type": "function",
|
|
1738
|
+
"name": "sell"
|
|
1739
|
+
},
|
|
1740
|
+
{
|
|
1741
|
+
"inputs": [
|
|
1742
|
+
{
|
|
1743
|
+
"internalType": "struct ManiaFactoryUpgradeable.SetParamsInput",
|
|
1744
|
+
"name": "params",
|
|
1745
|
+
"type": "tuple",
|
|
1746
|
+
"components": [
|
|
1747
|
+
{
|
|
1748
|
+
"internalType": "uint256",
|
|
1749
|
+
"name": "initialVirtualTokenReserves",
|
|
1750
|
+
"type": "uint256"
|
|
1751
|
+
},
|
|
1752
|
+
{
|
|
1753
|
+
"internalType": "uint64",
|
|
1754
|
+
"name": "initialVirtualEthReserves",
|
|
1755
|
+
"type": "uint64"
|
|
1756
|
+
},
|
|
1757
|
+
{
|
|
1758
|
+
"internalType": "uint256",
|
|
1759
|
+
"name": "initialRealTokenReserves",
|
|
1760
|
+
"type": "uint256"
|
|
1761
|
+
},
|
|
1762
|
+
{
|
|
1763
|
+
"internalType": "uint256",
|
|
1764
|
+
"name": "tokenTotalSupply",
|
|
1765
|
+
"type": "uint256"
|
|
1766
|
+
},
|
|
1767
|
+
{
|
|
1768
|
+
"internalType": "uint64",
|
|
1769
|
+
"name": "feeBasisPoints",
|
|
1770
|
+
"type": "uint64"
|
|
1771
|
+
},
|
|
1772
|
+
{
|
|
1773
|
+
"internalType": "address",
|
|
1774
|
+
"name": "withdrawAuthority",
|
|
1775
|
+
"type": "address"
|
|
1776
|
+
},
|
|
1777
|
+
{
|
|
1778
|
+
"internalType": "bool",
|
|
1779
|
+
"name": "enableMigrate",
|
|
1780
|
+
"type": "bool"
|
|
1781
|
+
},
|
|
1782
|
+
{
|
|
1783
|
+
"internalType": "uint64",
|
|
1784
|
+
"name": "poolMigrationFee",
|
|
1785
|
+
"type": "uint64"
|
|
1786
|
+
},
|
|
1787
|
+
{
|
|
1788
|
+
"internalType": "address",
|
|
1789
|
+
"name": "feeRecipient",
|
|
1790
|
+
"type": "address"
|
|
1791
|
+
}
|
|
1792
|
+
]
|
|
1793
|
+
}
|
|
1794
|
+
],
|
|
1795
|
+
"stateMutability": "nonpayable",
|
|
1796
|
+
"type": "function",
|
|
1797
|
+
"name": "setParams"
|
|
1798
|
+
},
|
|
1799
|
+
{
|
|
1800
|
+
"inputs": [
|
|
1801
|
+
{ "internalType": "address", "name": "token", "type": "address" },
|
|
1802
|
+
{ "internalType": "bool", "name": "enabled", "type": "bool" }
|
|
1803
|
+
],
|
|
1804
|
+
"stateMutability": "nonpayable",
|
|
1805
|
+
"type": "function",
|
|
1806
|
+
"name": "setTrackVolume"
|
|
1807
|
+
},
|
|
1808
|
+
{
|
|
1809
|
+
"inputs": [
|
|
1810
|
+
{
|
|
1811
|
+
"internalType": "address",
|
|
1812
|
+
"name": "_nonfungiblePositionManager",
|
|
1813
|
+
"type": "address"
|
|
1814
|
+
},
|
|
1815
|
+
{ "internalType": "address", "name": "_weth9", "type": "address" }
|
|
1816
|
+
],
|
|
1817
|
+
"stateMutability": "nonpayable",
|
|
1818
|
+
"type": "function",
|
|
1819
|
+
"name": "setUniswapV3Addresses"
|
|
1820
|
+
},
|
|
1821
|
+
{
|
|
1822
|
+
"inputs": [
|
|
1823
|
+
{
|
|
1824
|
+
"internalType": "address",
|
|
1825
|
+
"name": "newFeeRecipient",
|
|
1826
|
+
"type": "address"
|
|
1827
|
+
}
|
|
1828
|
+
],
|
|
1829
|
+
"stateMutability": "nonpayable",
|
|
1830
|
+
"type": "function",
|
|
1831
|
+
"name": "updateFeeRecipient"
|
|
1832
|
+
},
|
|
1833
|
+
{
|
|
1834
|
+
"inputs": [
|
|
1835
|
+
{
|
|
1836
|
+
"internalType": "address",
|
|
1837
|
+
"name": "newAuthority",
|
|
1838
|
+
"type": "address"
|
|
1839
|
+
}
|
|
1840
|
+
],
|
|
1841
|
+
"stateMutability": "nonpayable",
|
|
1842
|
+
"type": "function",
|
|
1843
|
+
"name": "updateGlobalAuthority"
|
|
1844
|
+
},
|
|
1845
|
+
{
|
|
1846
|
+
"inputs": [
|
|
1847
|
+
{
|
|
1848
|
+
"internalType": "address",
|
|
1849
|
+
"name": "newImplementation",
|
|
1850
|
+
"type": "address"
|
|
1851
|
+
},
|
|
1852
|
+
{ "internalType": "bytes", "name": "data", "type": "bytes" }
|
|
1853
|
+
],
|
|
1854
|
+
"stateMutability": "payable",
|
|
1855
|
+
"type": "function",
|
|
1856
|
+
"name": "upgradeToAndCall"
|
|
1857
|
+
},
|
|
1858
|
+
{
|
|
1859
|
+
"inputs": [
|
|
1860
|
+
{ "internalType": "address", "name": "user", "type": "address" }
|
|
1861
|
+
],
|
|
1862
|
+
"stateMutability": "view",
|
|
1863
|
+
"type": "function",
|
|
1864
|
+
"name": "userVolume",
|
|
1865
|
+
"outputs": [
|
|
1866
|
+
{ "internalType": "uint256", "name": "volume", "type": "uint256" }
|
|
1867
|
+
]
|
|
1868
|
+
},
|
|
1869
|
+
{
|
|
1870
|
+
"inputs": [],
|
|
1871
|
+
"stateMutability": "view",
|
|
1872
|
+
"type": "function",
|
|
1873
|
+
"name": "weth9",
|
|
1874
|
+
"outputs": [
|
|
1875
|
+
{ "internalType": "contract IWETH9", "name": "", "type": "address" }
|
|
1876
|
+
]
|
|
1877
|
+
},
|
|
1878
|
+
{ "inputs": [], "stateMutability": "payable", "type": "receive" }
|
|
1879
|
+
],
|
|
1880
|
+
"devdoc": {
|
|
1881
|
+
"kind": "dev",
|
|
1882
|
+
"methods": {
|
|
1883
|
+
"constructor": { "custom:oz-upgrades-unsafe-allow": "constructor" },
|
|
1884
|
+
"migrate(address)": {
|
|
1885
|
+
"details": "Caller must send poolMigrationFee as msg.value. Full 4 ETH from bonding curve goes to LP."
|
|
1886
|
+
},
|
|
1887
|
+
"proxiableUUID()": {
|
|
1888
|
+
"details": "Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."
|
|
1889
|
+
},
|
|
1890
|
+
"upgradeToAndCall(address,bytes)": {
|
|
1891
|
+
"custom:oz-upgrades-unsafe-allow-reachable": "delegatecall",
|
|
1892
|
+
"details": "Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."
|
|
1893
|
+
}
|
|
1894
|
+
},
|
|
1895
|
+
"version": 1
|
|
1896
|
+
},
|
|
1897
|
+
"userdoc": {
|
|
1898
|
+
"kind": "user",
|
|
1899
|
+
"methods": {
|
|
1900
|
+
"buy(address,uint256,address)": {
|
|
1901
|
+
"notice": "Buys tokens with an exact ETH amount"
|
|
1902
|
+
},
|
|
1903
|
+
"create(string,string,string,address)": {
|
|
1904
|
+
"notice": "Creates a new token with bonding curve and pre-initializes pool"
|
|
1905
|
+
},
|
|
1906
|
+
"createAndBuy(string,string,string,address,uint256)": {
|
|
1907
|
+
"notice": "Creates a new token and buys tokens in a single transaction"
|
|
1908
|
+
},
|
|
1909
|
+
"initialize()": { "notice": "Initializes the global state" },
|
|
1910
|
+
"migrate(address)": {
|
|
1911
|
+
"notice": "Migrates liquidity to UniswapV3 pool"
|
|
1912
|
+
},
|
|
1913
|
+
"sell(address,uint256,uint64)": {
|
|
1914
|
+
"notice": "Sells tokens to bonding curve"
|
|
1915
|
+
},
|
|
1916
|
+
"setParams((uint256,uint64,uint256,uint256,uint64,address,bool,uint64,address))": {
|
|
1917
|
+
"notice": "Sets global parameters"
|
|
1918
|
+
},
|
|
1919
|
+
"setUniswapV3Addresses(address,address)": {
|
|
1920
|
+
"notice": "Sets UniswapV3 addresses for migration"
|
|
1921
|
+
},
|
|
1922
|
+
"updateFeeRecipient(address)": {
|
|
1923
|
+
"notice": "Updates the fee recipient"
|
|
1924
|
+
},
|
|
1925
|
+
"updateGlobalAuthority(address)": {
|
|
1926
|
+
"notice": "Updates the global authority"
|
|
1927
|
+
}
|
|
1928
|
+
},
|
|
1929
|
+
"version": 1
|
|
1930
|
+
}
|
|
1931
|
+
},
|
|
1932
|
+
"settings": {
|
|
1933
|
+
"remappings": [
|
|
1934
|
+
"@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
|
|
1935
|
+
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
|
|
1936
|
+
"@uniswap/v3-core/=lib/v3-core/",
|
|
1937
|
+
"@uniswap/v3-periphery/=lib/v3-periphery/",
|
|
1938
|
+
"erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
|
|
1939
|
+
"forge-std/=lib/forge-std/src/",
|
|
1940
|
+
"halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/",
|
|
1941
|
+
"openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
|
|
1942
|
+
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
|
|
1943
|
+
"v3-core/=lib/v3-core/",
|
|
1944
|
+
"v3-periphery/=lib/v3-periphery/contracts/"
|
|
1945
|
+
],
|
|
1946
|
+
"optimizer": { "enabled": true, "runs": 200 },
|
|
1947
|
+
"metadata": { "bytecodeHash": "ipfs" },
|
|
1948
|
+
"compilationTarget": {
|
|
1949
|
+
"src/ManiaFactoryUpgradeable.sol": "ManiaFactoryUpgradeable"
|
|
1950
|
+
},
|
|
1951
|
+
"evmVersion": "prague",
|
|
1952
|
+
"libraries": {}
|
|
1953
|
+
},
|
|
1954
|
+
"sources": {
|
|
1955
|
+
"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol": {
|
|
1956
|
+
"keccak256": "0x30d125b8417684dbfea3e8d57284b353a86b22077237b4aaf098c0b54b153e16",
|
|
1957
|
+
"urls": [
|
|
1958
|
+
"bzz-raw://2813775a6326190e75dfa9005c1abbdb1e541c195c0bf5656dd4199e8c66fd8d",
|
|
1959
|
+
"dweb:/ipfs/QmYDKANBezQXNrEDyJ69RVXkgypW1hWj7MAvjfdNHTZY8L"
|
|
1960
|
+
],
|
|
1961
|
+
"license": "MIT"
|
|
1962
|
+
},
|
|
1963
|
+
"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol": {
|
|
1964
|
+
"keccak256": "0x4918e374e9ce84e9b196486bafbd46851d5e72ab315e31f0b1d7c443dcfea5bf",
|
|
1965
|
+
"urls": [
|
|
1966
|
+
"bzz-raw://2ced247afc54a93a13922ebbd63add61130abe483ab5b5b78e7e991d564d150e",
|
|
1967
|
+
"dweb:/ipfs/QmTfxjcTgfekiguegjvYMyfqhyRNffui17f8xi86BCZNVt"
|
|
1968
|
+
],
|
|
1969
|
+
"license": "MIT"
|
|
1970
|
+
},
|
|
1971
|
+
"lib/openzeppelin-contracts/contracts/access/Ownable.sol": {
|
|
1972
|
+
"keccak256": "0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb",
|
|
1973
|
+
"urls": [
|
|
1974
|
+
"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6",
|
|
1975
|
+
"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"
|
|
1976
|
+
],
|
|
1977
|
+
"license": "MIT"
|
|
1978
|
+
},
|
|
1979
|
+
"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol": {
|
|
1980
|
+
"keccak256": "0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5",
|
|
1981
|
+
"urls": [
|
|
1982
|
+
"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c",
|
|
1983
|
+
"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz"
|
|
1984
|
+
],
|
|
1985
|
+
"license": "MIT"
|
|
1986
|
+
},
|
|
1987
|
+
"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol": {
|
|
1988
|
+
"keccak256": "0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b",
|
|
1989
|
+
"urls": [
|
|
1990
|
+
"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422",
|
|
1991
|
+
"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza"
|
|
1992
|
+
],
|
|
1993
|
+
"license": "MIT"
|
|
1994
|
+
},
|
|
1995
|
+
"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol": {
|
|
1996
|
+
"keccak256": "0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618",
|
|
1997
|
+
"urls": [
|
|
1998
|
+
"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a",
|
|
1999
|
+
"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ"
|
|
2000
|
+
],
|
|
2001
|
+
"license": "MIT"
|
|
2002
|
+
},
|
|
2003
|
+
"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol": {
|
|
2004
|
+
"keccak256": "0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b",
|
|
2005
|
+
"urls": [
|
|
2006
|
+
"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d",
|
|
2007
|
+
"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye"
|
|
2008
|
+
],
|
|
2009
|
+
"license": "MIT"
|
|
2010
|
+
},
|
|
2011
|
+
"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol": {
|
|
2012
|
+
"keccak256": "0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05",
|
|
2013
|
+
"urls": [
|
|
2014
|
+
"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08",
|
|
2015
|
+
"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q"
|
|
2016
|
+
],
|
|
2017
|
+
"license": "MIT"
|
|
2018
|
+
},
|
|
2019
|
+
"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol": {
|
|
2020
|
+
"keccak256": "0x1a26353563a2c63b4120ea0b94727253eeff84fe2241d42c1452308b9080e66a",
|
|
2021
|
+
"urls": [
|
|
2022
|
+
"bzz-raw://49a95e36d267828b4357186a79917002d616d8634e25d1f9818e2354cd2e7d34",
|
|
2023
|
+
"dweb:/ipfs/QmWDkqE4KkyLAS2UkLsRgXE1FGB1qfEgBC3zMXBVsVWfdk"
|
|
2024
|
+
],
|
|
2025
|
+
"license": "MIT"
|
|
2026
|
+
},
|
|
2027
|
+
"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": {
|
|
2028
|
+
"keccak256": "0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2",
|
|
2029
|
+
"urls": [
|
|
2030
|
+
"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303",
|
|
2031
|
+
"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV"
|
|
2032
|
+
],
|
|
2033
|
+
"license": "MIT"
|
|
2034
|
+
},
|
|
2035
|
+
"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol": {
|
|
2036
|
+
"keccak256": "0xf78f05f3b8c9f75570e85300d7b4600d7f6f6a198449273f31d44c1641adb46f",
|
|
2037
|
+
"urls": [
|
|
2038
|
+
"bzz-raw://e28b872613b45e0e801d4995aa4380be2531147bfe2d85c1d6275f1de514fba3",
|
|
2039
|
+
"dweb:/ipfs/QmeeFcfShHYaS3BdgVj78nxR28ZaVUwbvr66ud8bT6kzw9"
|
|
2040
|
+
],
|
|
2041
|
+
"license": "MIT"
|
|
2042
|
+
},
|
|
2043
|
+
"lib/openzeppelin-contracts/contracts/utils/Address.sol": {
|
|
2044
|
+
"keccak256": "0x0fa9e0d3a859900b5a46f70a03c73adf259603d5e05027a37fe0b45529d85346",
|
|
2045
|
+
"urls": [
|
|
2046
|
+
"bzz-raw://c2add4da0240c9f2ce47649c8bb6b11b40e98cf6f88b8bdc76b2704e89391710",
|
|
2047
|
+
"dweb:/ipfs/QmNQTwF2uVzu4CRtNxr8bxyP9XuW6VsZuo2Nr4KR2bZr3d"
|
|
2048
|
+
],
|
|
2049
|
+
"license": "MIT"
|
|
2050
|
+
},
|
|
2051
|
+
"lib/openzeppelin-contracts/contracts/utils/Context.sol": {
|
|
2052
|
+
"keccak256": "0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2",
|
|
2053
|
+
"urls": [
|
|
2054
|
+
"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12",
|
|
2055
|
+
"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"
|
|
2056
|
+
],
|
|
2057
|
+
"license": "MIT"
|
|
2058
|
+
},
|
|
2059
|
+
"lib/openzeppelin-contracts/contracts/utils/Errors.sol": {
|
|
2060
|
+
"keccak256": "0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123",
|
|
2061
|
+
"urls": [
|
|
2062
|
+
"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf",
|
|
2063
|
+
"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"
|
|
2064
|
+
],
|
|
2065
|
+
"license": "MIT"
|
|
2066
|
+
},
|
|
2067
|
+
"lib/openzeppelin-contracts/contracts/utils/LowLevelCall.sol": {
|
|
2068
|
+
"keccak256": "0x5b4802a4352474792df3107e961d1cc593e47b820c14f69d3505cb28f5a6a583",
|
|
2069
|
+
"urls": [
|
|
2070
|
+
"bzz-raw://a6f86fd01f829499fe0545ff5dda07d4521988e88bfe0bf801fc15650921ed56",
|
|
2071
|
+
"dweb:/ipfs/QmUUKu4ZDffHAmfkf3asuQfmLTyfpuy2Amdncc3SqfzKPG"
|
|
2072
|
+
],
|
|
2073
|
+
"license": "MIT"
|
|
2074
|
+
},
|
|
2075
|
+
"lib/openzeppelin-contracts/contracts/utils/Panic.sol": {
|
|
2076
|
+
"keccak256": "0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a",
|
|
2077
|
+
"urls": [
|
|
2078
|
+
"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a",
|
|
2079
|
+
"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"
|
|
2080
|
+
],
|
|
2081
|
+
"license": "MIT"
|
|
2082
|
+
},
|
|
2083
|
+
"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol": {
|
|
2084
|
+
"keccak256": "0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97",
|
|
2085
|
+
"urls": [
|
|
2086
|
+
"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b",
|
|
2087
|
+
"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"
|
|
2088
|
+
],
|
|
2089
|
+
"license": "MIT"
|
|
2090
|
+
},
|
|
2091
|
+
"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": {
|
|
2092
|
+
"keccak256": "0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c",
|
|
2093
|
+
"urls": [
|
|
2094
|
+
"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617",
|
|
2095
|
+
"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u"
|
|
2096
|
+
],
|
|
2097
|
+
"license": "MIT"
|
|
2098
|
+
},
|
|
2099
|
+
"lib/openzeppelin-contracts/contracts/utils/math/Math.sol": {
|
|
2100
|
+
"keccak256": "0x09e3f1c72d4c5cbe8e2644ab7313f8f7177533ae2f4c24cdcbbeaf520a73734c",
|
|
2101
|
+
"urls": [
|
|
2102
|
+
"bzz-raw://93208401215d539fa2d81626b207c1f611def7883d0e447b3b5969ebaa7b3c2c",
|
|
2103
|
+
"dweb:/ipfs/QmXPxDnQPx8LAweX5ZJqEcwkvs59kP4c64VVDG1Jjq1mef"
|
|
2104
|
+
],
|
|
2105
|
+
"license": "MIT"
|
|
2106
|
+
},
|
|
2107
|
+
"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol": {
|
|
2108
|
+
"keccak256": "0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54",
|
|
2109
|
+
"urls": [
|
|
2110
|
+
"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8",
|
|
2111
|
+
"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"
|
|
2112
|
+
],
|
|
2113
|
+
"license": "MIT"
|
|
2114
|
+
},
|
|
2115
|
+
"src/ManiaFactoryUpgradeable.sol": {
|
|
2116
|
+
"keccak256": "0xdd8be9a6050d964715fce76d440895225b39f316bd401909c5519ffe9f955f35",
|
|
2117
|
+
"urls": [
|
|
2118
|
+
"bzz-raw://5b8631f60fc288c4cee6c5f483a04f9eabd82e2ceb328477656914bd7a529a38",
|
|
2119
|
+
"dweb:/ipfs/QmQ17DcuB189ztVkYfcVGdfZt3rTqFzf4frPDaJ5AHkyEv"
|
|
2120
|
+
],
|
|
2121
|
+
"license": "MIT"
|
|
2122
|
+
},
|
|
2123
|
+
"src/ManiaToken.sol": {
|
|
2124
|
+
"keccak256": "0x05b3557d04763402dba1b04912b10d3704f419853ac55ec09944276c56c4834e",
|
|
2125
|
+
"urls": [
|
|
2126
|
+
"bzz-raw://d767617b46bed6b0a7dc0510298d07c324593e92852c86876c442b529b8b8dda",
|
|
2127
|
+
"dweb:/ipfs/QmaHowrstcstoRBUkhYZJfSxSgo9SgcN9YpsypqRZgWhxJ"
|
|
2128
|
+
],
|
|
2129
|
+
"license": "MIT"
|
|
2130
|
+
},
|
|
2131
|
+
"src/interfaces/INonfungiblePositionManager.sol": {
|
|
2132
|
+
"keccak256": "0xb350fdca799e80a08e34b9d3e5154d701c6f9348182559a6ddf502debe82dd92",
|
|
2133
|
+
"urls": [
|
|
2134
|
+
"bzz-raw://bc65c3c346722727f6349159138035b26418fbcddfdfb88bab83fcc1e9740362",
|
|
2135
|
+
"dweb:/ipfs/QmNouEf2PsBBUDyyp1VnoUFGxNPaQT5hCK3Py3FFD8iwEi"
|
|
2136
|
+
],
|
|
2137
|
+
"license": "GPL-2.0-or-later"
|
|
2138
|
+
},
|
|
2139
|
+
"src/interfaces/IUniswapV3Factory.sol": {
|
|
2140
|
+
"keccak256": "0x4238cc9e4d4e722b97b1da2a613bce7498fbaa96e5f6d1a9edd15b88d619c37b",
|
|
2141
|
+
"urls": [
|
|
2142
|
+
"bzz-raw://dd5e598c54ecce29115e69a1ac30ae48d4abece41afb28c93962aa6181ed8631",
|
|
2143
|
+
"dweb:/ipfs/QmaqKDa5bySfm3QMQ6afRfVQb6NwyMJoCdYXifJe4vXxA8"
|
|
2144
|
+
],
|
|
2145
|
+
"license": "GPL-2.0-or-later"
|
|
2146
|
+
},
|
|
2147
|
+
"src/interfaces/IUniswapV3Pool.sol": {
|
|
2148
|
+
"keccak256": "0x4ed61e48b7d6e51fc06a31cb058ab9290140c898f37c3c14c25b0032f3c44092",
|
|
2149
|
+
"urls": [
|
|
2150
|
+
"bzz-raw://661aa5a27239c747e5550a375c702c08138fbec6b5d44bce47e640378a3956c0",
|
|
2151
|
+
"dweb:/ipfs/QmT7feTcffVcVZvwwm2tBkiyfmvKMHzxPwjrXsbaAYLczd"
|
|
2152
|
+
],
|
|
2153
|
+
"license": "GPL-2.0-or-later"
|
|
2154
|
+
},
|
|
2155
|
+
"src/interfaces/IWETH9.sol": {
|
|
2156
|
+
"keccak256": "0xc8614170f6933b670a14352bf2d9277a729d25f5e9202c3c677e37e7fd094a9a",
|
|
2157
|
+
"urls": [
|
|
2158
|
+
"bzz-raw://cf907ba68328cee1f31c604942f33d408ff4dffb3bff0be9cab834b150ed37c3",
|
|
2159
|
+
"dweb:/ipfs/QmVgMxh9rqWbjmEX1HJ8QyYDhUckrGs2rvb5cR3ZghhZCq"
|
|
2160
|
+
],
|
|
2161
|
+
"license": "GPL-2.0-or-later"
|
|
2162
|
+
},
|
|
2163
|
+
"src/tokens/ERC20.sol": {
|
|
2164
|
+
"keccak256": "0x4070106775a06b95735c7f7903435cf94cd91c9660c18a39035296e9807f9096",
|
|
2165
|
+
"urls": [
|
|
2166
|
+
"bzz-raw://89b56c350110684059c7bba19d7a118dddff9d71e24897449204feadab316ff4",
|
|
2167
|
+
"dweb:/ipfs/QmdDKfJceWvDXz2xsLPh4GF4WuLYMVMpEerimMy8LFBh6j"
|
|
2168
|
+
],
|
|
2169
|
+
"license": "AGPL-3.0-only"
|
|
2170
|
+
},
|
|
2171
|
+
"src/utils/SafeTransferLib.sol": {
|
|
2172
|
+
"keccak256": "0x1f471ce40d2fbf4ccbcfe12d94ab62beb2ab656c6bac84afc384738615466f6a",
|
|
2173
|
+
"urls": [
|
|
2174
|
+
"bzz-raw://6a83ae4c269f1205ba12595ee20d990e63a8c020d693e9a16b7462a141324bae",
|
|
2175
|
+
"dweb:/ipfs/QmZnqgeP1yteDt9TrkygMkBPyaU3geGTAjSPccEyFk37Dv"
|
|
2176
|
+
],
|
|
2177
|
+
"license": "AGPL-3.0-only"
|
|
2178
|
+
}
|
|
2179
|
+
},
|
|
2180
|
+
"version": 1
|
|
2181
|
+
},
|
|
2182
|
+
"id": 49
|
|
2183
|
+
}
|