@bananapus/721-hook-v6 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/README.md +4 -0
  2. package/deployments/arbitrum/JB721Checkpoints.json +794 -0
  3. package/deployments/arbitrum/JB721CheckpointsDeployer.json +158 -0
  4. package/deployments/arbitrum/JB721TiersHook.json +2817 -0
  5. package/deployments/arbitrum/JB721TiersHookDeployer.json +447 -0
  6. package/deployments/arbitrum/JB721TiersHookLib.json +713 -0
  7. package/deployments/arbitrum/JB721TiersHookProjectDeployer.json +1793 -0
  8. package/deployments/arbitrum/JB721TiersHookStore.json +1744 -0
  9. package/deployments/arbitrum/JB721TiersHook__ProjectBAN.json +3497 -0
  10. package/deployments/arbitrum/JB721TiersHook__ProjectCPN.json +3450 -0
  11. package/deployments/arbitrum_sepolia/JB721Checkpoints.json +794 -0
  12. package/deployments/arbitrum_sepolia/JB721CheckpointsDeployer.json +158 -0
  13. package/deployments/arbitrum_sepolia/JB721TiersHook.json +2817 -0
  14. package/deployments/arbitrum_sepolia/JB721TiersHookDeployer.json +447 -0
  15. package/deployments/arbitrum_sepolia/JB721TiersHookLib.json +713 -0
  16. package/deployments/arbitrum_sepolia/JB721TiersHookProjectDeployer.json +1793 -0
  17. package/deployments/arbitrum_sepolia/JB721TiersHookStore.json +1744 -0
  18. package/deployments/arbitrum_sepolia/JB721TiersHook__ProjectBAN.json +3497 -0
  19. package/deployments/arbitrum_sepolia/JB721TiersHook__ProjectCPN.json +3450 -0
  20. package/deployments/base/JB721Checkpoints.json +799 -0
  21. package/deployments/base/JB721CheckpointsDeployer.json +163 -0
  22. package/deployments/base/JB721TiersHook.json +2822 -0
  23. package/deployments/base/JB721TiersHookDeployer.json +452 -0
  24. package/deployments/base/JB721TiersHookLib.json +718 -0
  25. package/deployments/base/JB721TiersHookProjectDeployer.json +1798 -0
  26. package/deployments/base/JB721TiersHookStore.json +1749 -0
  27. package/deployments/base/JB721TiersHook__ProjectBAN.json +3502 -0
  28. package/deployments/base/JB721TiersHook__ProjectCPN.json +3455 -0
  29. package/deployments/base_sepolia/JB721Checkpoints.json +799 -0
  30. package/deployments/base_sepolia/JB721CheckpointsDeployer.json +163 -0
  31. package/deployments/base_sepolia/JB721TiersHook.json +2822 -0
  32. package/deployments/base_sepolia/JB721TiersHookDeployer.json +452 -0
  33. package/deployments/base_sepolia/JB721TiersHookLib.json +718 -0
  34. package/deployments/base_sepolia/JB721TiersHookProjectDeployer.json +1798 -0
  35. package/deployments/base_sepolia/JB721TiersHookStore.json +1749 -0
  36. package/deployments/base_sepolia/JB721TiersHook__ProjectBAN.json +3502 -0
  37. package/deployments/base_sepolia/JB721TiersHook__ProjectCPN.json +3455 -0
  38. package/deployments/ethereum/JB721Checkpoints.json +791 -0
  39. package/deployments/ethereum/JB721CheckpointsDeployer.json +155 -0
  40. package/deployments/ethereum/JB721TiersHook.json +2814 -0
  41. package/deployments/ethereum/JB721TiersHookDeployer.json +444 -0
  42. package/deployments/ethereum/JB721TiersHookLib.json +710 -0
  43. package/deployments/ethereum/JB721TiersHookProjectDeployer.json +1790 -0
  44. package/deployments/ethereum/JB721TiersHookStore.json +1741 -0
  45. package/deployments/ethereum/JB721TiersHook__ProjectBAN.json +3511 -0
  46. package/deployments/ethereum/JB721TiersHook__ProjectCPN.json +3503 -0
  47. package/deployments/optimism/JB721Checkpoints.json +799 -0
  48. package/deployments/optimism/JB721CheckpointsDeployer.json +163 -0
  49. package/deployments/optimism/JB721TiersHook.json +2822 -0
  50. package/deployments/optimism/JB721TiersHookDeployer.json +452 -0
  51. package/deployments/optimism/JB721TiersHookLib.json +718 -0
  52. package/deployments/optimism/JB721TiersHookProjectDeployer.json +1798 -0
  53. package/deployments/optimism/JB721TiersHookStore.json +1749 -0
  54. package/deployments/optimism/JB721TiersHook__ProjectBAN.json +3502 -0
  55. package/deployments/optimism/JB721TiersHook__ProjectCPN.json +3438 -0
  56. package/deployments/optimism_sepolia/JB721Checkpoints.json +799 -0
  57. package/deployments/optimism_sepolia/JB721CheckpointsDeployer.json +163 -0
  58. package/deployments/optimism_sepolia/JB721TiersHook.json +2822 -0
  59. package/deployments/optimism_sepolia/JB721TiersHookDeployer.json +452 -0
  60. package/deployments/optimism_sepolia/JB721TiersHookLib.json +718 -0
  61. package/deployments/optimism_sepolia/JB721TiersHookProjectDeployer.json +1798 -0
  62. package/deployments/optimism_sepolia/JB721TiersHookStore.json +1749 -0
  63. package/deployments/optimism_sepolia/JB721TiersHook__ProjectBAN.json +3453 -0
  64. package/deployments/optimism_sepolia/JB721TiersHook__ProjectCPN.json +3389 -0
  65. package/deployments/sepolia/JB721Checkpoints.json +791 -0
  66. package/deployments/sepolia/JB721CheckpointsDeployer.json +155 -0
  67. package/deployments/sepolia/JB721TiersHook.json +2814 -0
  68. package/deployments/sepolia/JB721TiersHookDeployer.json +444 -0
  69. package/deployments/sepolia/JB721TiersHookLib.json +710 -0
  70. package/deployments/sepolia/JB721TiersHookProjectDeployer.json +1790 -0
  71. package/deployments/sepolia/JB721TiersHookStore.json +1741 -0
  72. package/deployments/sepolia/JB721TiersHook__ProjectBAN.json +3511 -0
  73. package/deployments/sepolia/JB721TiersHook__ProjectCPN.json +3503 -0
  74. package/package.json +3 -2
  75. package/src/JB721TiersHookProjectDeployer.sol +20 -0
@@ -0,0 +1,3511 @@
1
+ {
2
+ "format": "sphinx-sol-ct-artifact-1",
3
+ "address": "0xe2193b4375a4a1e77fbf120699742ef0107f6084",
4
+ "sourceName": "node_modules/@bananapus/721-hook-v6/src/JB721TiersHook.sol",
5
+ "contractName": "JB721TiersHook",
6
+ "chainId": "0xaa36a7",
7
+ "abi": [
8
+ {
9
+ "type": "constructor",
10
+ "inputs": [
11
+ {
12
+ "name": "directory",
13
+ "type": "address",
14
+ "internalType": "contract IJBDirectory"
15
+ },
16
+ {
17
+ "name": "permissions",
18
+ "type": "address",
19
+ "internalType": "contract IJBPermissions"
20
+ },
21
+ {
22
+ "name": "prices",
23
+ "type": "address",
24
+ "internalType": "contract IJBPrices"
25
+ },
26
+ {
27
+ "name": "rulesets",
28
+ "type": "address",
29
+ "internalType": "contract IJBRulesets"
30
+ },
31
+ {
32
+ "name": "store",
33
+ "type": "address",
34
+ "internalType": "contract IJB721TiersHookStore"
35
+ },
36
+ {
37
+ "name": "splits",
38
+ "type": "address",
39
+ "internalType": "contract IJBSplits"
40
+ },
41
+ {
42
+ "name": "checkpointsDeployer",
43
+ "type": "address",
44
+ "internalType": "contract IJB721CheckpointsDeployer"
45
+ },
46
+ {
47
+ "name": "trustedForwarder",
48
+ "type": "address",
49
+ "internalType": "address"
50
+ }
51
+ ],
52
+ "stateMutability": "nonpayable"
53
+ },
54
+ {
55
+ "type": "function",
56
+ "name": "DIRECTORY",
57
+ "inputs": [],
58
+ "outputs": [
59
+ {
60
+ "name": "",
61
+ "type": "address",
62
+ "internalType": "contract IJBDirectory"
63
+ }
64
+ ],
65
+ "stateMutability": "view"
66
+ },
67
+ {
68
+ "type": "function",
69
+ "name": "METADATA_ID_TARGET",
70
+ "inputs": [],
71
+ "outputs": [
72
+ {
73
+ "name": "",
74
+ "type": "address",
75
+ "internalType": "address"
76
+ }
77
+ ],
78
+ "stateMutability": "view"
79
+ },
80
+ {
81
+ "type": "function",
82
+ "name": "PERMISSIONS",
83
+ "inputs": [],
84
+ "outputs": [
85
+ {
86
+ "name": "",
87
+ "type": "address",
88
+ "internalType": "contract IJBPermissions"
89
+ }
90
+ ],
91
+ "stateMutability": "view"
92
+ },
93
+ {
94
+ "type": "function",
95
+ "name": "PRICES",
96
+ "inputs": [],
97
+ "outputs": [
98
+ {
99
+ "name": "",
100
+ "type": "address",
101
+ "internalType": "contract IJBPrices"
102
+ }
103
+ ],
104
+ "stateMutability": "view"
105
+ },
106
+ {
107
+ "type": "function",
108
+ "name": "PROJECTS",
109
+ "inputs": [],
110
+ "outputs": [
111
+ {
112
+ "name": "",
113
+ "type": "address",
114
+ "internalType": "contract IJBProjects"
115
+ }
116
+ ],
117
+ "stateMutability": "view"
118
+ },
119
+ {
120
+ "type": "function",
121
+ "name": "RULESETS",
122
+ "inputs": [],
123
+ "outputs": [
124
+ {
125
+ "name": "",
126
+ "type": "address",
127
+ "internalType": "contract IJBRulesets"
128
+ }
129
+ ],
130
+ "stateMutability": "view"
131
+ },
132
+ {
133
+ "type": "function",
134
+ "name": "SPLITS",
135
+ "inputs": [],
136
+ "outputs": [
137
+ {
138
+ "name": "",
139
+ "type": "address",
140
+ "internalType": "contract IJBSplits"
141
+ }
142
+ ],
143
+ "stateMutability": "view"
144
+ },
145
+ {
146
+ "type": "function",
147
+ "name": "STORE",
148
+ "inputs": [],
149
+ "outputs": [
150
+ {
151
+ "name": "",
152
+ "type": "address",
153
+ "internalType": "contract IJB721TiersHookStore"
154
+ }
155
+ ],
156
+ "stateMutability": "view"
157
+ },
158
+ {
159
+ "type": "function",
160
+ "name": "adjustTiers",
161
+ "inputs": [
162
+ {
163
+ "name": "tiersToAdd",
164
+ "type": "tuple[]",
165
+ "internalType": "struct JB721TierConfig[]",
166
+ "components": [
167
+ {
168
+ "name": "price",
169
+ "type": "uint104",
170
+ "internalType": "uint104"
171
+ },
172
+ {
173
+ "name": "initialSupply",
174
+ "type": "uint32",
175
+ "internalType": "uint32"
176
+ },
177
+ {
178
+ "name": "votingUnits",
179
+ "type": "uint32",
180
+ "internalType": "uint32"
181
+ },
182
+ {
183
+ "name": "reserveFrequency",
184
+ "type": "uint16",
185
+ "internalType": "uint16"
186
+ },
187
+ {
188
+ "name": "reserveBeneficiary",
189
+ "type": "address",
190
+ "internalType": "address"
191
+ },
192
+ {
193
+ "name": "encodedIpfsUri",
194
+ "type": "bytes32",
195
+ "internalType": "bytes32"
196
+ },
197
+ {
198
+ "name": "category",
199
+ "type": "uint24",
200
+ "internalType": "uint24"
201
+ },
202
+ {
203
+ "name": "discountPercent",
204
+ "type": "uint8",
205
+ "internalType": "uint8"
206
+ },
207
+ {
208
+ "name": "flags",
209
+ "type": "tuple",
210
+ "internalType": "struct JB721TierConfigFlags",
211
+ "components": [
212
+ {
213
+ "name": "allowOwnerMint",
214
+ "type": "bool",
215
+ "internalType": "bool"
216
+ },
217
+ {
218
+ "name": "useReserveBeneficiaryAsDefault",
219
+ "type": "bool",
220
+ "internalType": "bool"
221
+ },
222
+ {
223
+ "name": "transfersPausable",
224
+ "type": "bool",
225
+ "internalType": "bool"
226
+ },
227
+ {
228
+ "name": "useVotingUnits",
229
+ "type": "bool",
230
+ "internalType": "bool"
231
+ },
232
+ {
233
+ "name": "cantBeRemoved",
234
+ "type": "bool",
235
+ "internalType": "bool"
236
+ },
237
+ {
238
+ "name": "cantIncreaseDiscountPercent",
239
+ "type": "bool",
240
+ "internalType": "bool"
241
+ },
242
+ {
243
+ "name": "cantBuyWithCredits",
244
+ "type": "bool",
245
+ "internalType": "bool"
246
+ }
247
+ ]
248
+ },
249
+ {
250
+ "name": "splitPercent",
251
+ "type": "uint32",
252
+ "internalType": "uint32"
253
+ },
254
+ {
255
+ "name": "splits",
256
+ "type": "tuple[]",
257
+ "internalType": "struct JBSplit[]",
258
+ "components": [
259
+ {
260
+ "name": "percent",
261
+ "type": "uint32",
262
+ "internalType": "uint32"
263
+ },
264
+ {
265
+ "name": "projectId",
266
+ "type": "uint64",
267
+ "internalType": "uint64"
268
+ },
269
+ {
270
+ "name": "beneficiary",
271
+ "type": "address",
272
+ "internalType": "address payable"
273
+ },
274
+ {
275
+ "name": "preferAddToBalance",
276
+ "type": "bool",
277
+ "internalType": "bool"
278
+ },
279
+ {
280
+ "name": "lockedUntil",
281
+ "type": "uint48",
282
+ "internalType": "uint48"
283
+ },
284
+ {
285
+ "name": "hook",
286
+ "type": "address",
287
+ "internalType": "contract IJBSplitHook"
288
+ }
289
+ ]
290
+ }
291
+ ]
292
+ },
293
+ {
294
+ "name": "tierIdsToRemove",
295
+ "type": "uint256[]",
296
+ "internalType": "uint256[]"
297
+ }
298
+ ],
299
+ "outputs": [],
300
+ "stateMutability": "nonpayable"
301
+ },
302
+ {
303
+ "type": "function",
304
+ "name": "afterCashOutRecordedWith",
305
+ "inputs": [
306
+ {
307
+ "name": "context",
308
+ "type": "tuple",
309
+ "internalType": "struct JBAfterCashOutRecordedContext",
310
+ "components": [
311
+ {
312
+ "name": "holder",
313
+ "type": "address",
314
+ "internalType": "address"
315
+ },
316
+ {
317
+ "name": "projectId",
318
+ "type": "uint256",
319
+ "internalType": "uint256"
320
+ },
321
+ {
322
+ "name": "rulesetId",
323
+ "type": "uint256",
324
+ "internalType": "uint256"
325
+ },
326
+ {
327
+ "name": "cashOutCount",
328
+ "type": "uint256",
329
+ "internalType": "uint256"
330
+ },
331
+ {
332
+ "name": "reclaimedAmount",
333
+ "type": "tuple",
334
+ "internalType": "struct JBTokenAmount",
335
+ "components": [
336
+ {
337
+ "name": "token",
338
+ "type": "address",
339
+ "internalType": "address"
340
+ },
341
+ {
342
+ "name": "decimals",
343
+ "type": "uint8",
344
+ "internalType": "uint8"
345
+ },
346
+ {
347
+ "name": "currency",
348
+ "type": "uint32",
349
+ "internalType": "uint32"
350
+ },
351
+ {
352
+ "name": "value",
353
+ "type": "uint256",
354
+ "internalType": "uint256"
355
+ }
356
+ ]
357
+ },
358
+ {
359
+ "name": "forwardedAmount",
360
+ "type": "tuple",
361
+ "internalType": "struct JBTokenAmount",
362
+ "components": [
363
+ {
364
+ "name": "token",
365
+ "type": "address",
366
+ "internalType": "address"
367
+ },
368
+ {
369
+ "name": "decimals",
370
+ "type": "uint8",
371
+ "internalType": "uint8"
372
+ },
373
+ {
374
+ "name": "currency",
375
+ "type": "uint32",
376
+ "internalType": "uint32"
377
+ },
378
+ {
379
+ "name": "value",
380
+ "type": "uint256",
381
+ "internalType": "uint256"
382
+ }
383
+ ]
384
+ },
385
+ {
386
+ "name": "cashOutTaxRate",
387
+ "type": "uint256",
388
+ "internalType": "uint256"
389
+ },
390
+ {
391
+ "name": "beneficiary",
392
+ "type": "address",
393
+ "internalType": "address payable"
394
+ },
395
+ {
396
+ "name": "hookMetadata",
397
+ "type": "bytes",
398
+ "internalType": "bytes"
399
+ },
400
+ {
401
+ "name": "cashOutMetadata",
402
+ "type": "bytes",
403
+ "internalType": "bytes"
404
+ }
405
+ ]
406
+ }
407
+ ],
408
+ "outputs": [],
409
+ "stateMutability": "payable"
410
+ },
411
+ {
412
+ "type": "function",
413
+ "name": "afterPayRecordedWith",
414
+ "inputs": [
415
+ {
416
+ "name": "context",
417
+ "type": "tuple",
418
+ "internalType": "struct JBAfterPayRecordedContext",
419
+ "components": [
420
+ {
421
+ "name": "payer",
422
+ "type": "address",
423
+ "internalType": "address"
424
+ },
425
+ {
426
+ "name": "projectId",
427
+ "type": "uint256",
428
+ "internalType": "uint256"
429
+ },
430
+ {
431
+ "name": "rulesetId",
432
+ "type": "uint256",
433
+ "internalType": "uint256"
434
+ },
435
+ {
436
+ "name": "amount",
437
+ "type": "tuple",
438
+ "internalType": "struct JBTokenAmount",
439
+ "components": [
440
+ {
441
+ "name": "token",
442
+ "type": "address",
443
+ "internalType": "address"
444
+ },
445
+ {
446
+ "name": "decimals",
447
+ "type": "uint8",
448
+ "internalType": "uint8"
449
+ },
450
+ {
451
+ "name": "currency",
452
+ "type": "uint32",
453
+ "internalType": "uint32"
454
+ },
455
+ {
456
+ "name": "value",
457
+ "type": "uint256",
458
+ "internalType": "uint256"
459
+ }
460
+ ]
461
+ },
462
+ {
463
+ "name": "forwardedAmount",
464
+ "type": "tuple",
465
+ "internalType": "struct JBTokenAmount",
466
+ "components": [
467
+ {
468
+ "name": "token",
469
+ "type": "address",
470
+ "internalType": "address"
471
+ },
472
+ {
473
+ "name": "decimals",
474
+ "type": "uint8",
475
+ "internalType": "uint8"
476
+ },
477
+ {
478
+ "name": "currency",
479
+ "type": "uint32",
480
+ "internalType": "uint32"
481
+ },
482
+ {
483
+ "name": "value",
484
+ "type": "uint256",
485
+ "internalType": "uint256"
486
+ }
487
+ ]
488
+ },
489
+ {
490
+ "name": "weight",
491
+ "type": "uint256",
492
+ "internalType": "uint256"
493
+ },
494
+ {
495
+ "name": "newlyIssuedTokenCount",
496
+ "type": "uint256",
497
+ "internalType": "uint256"
498
+ },
499
+ {
500
+ "name": "beneficiary",
501
+ "type": "address",
502
+ "internalType": "address"
503
+ },
504
+ {
505
+ "name": "hookMetadata",
506
+ "type": "bytes",
507
+ "internalType": "bytes"
508
+ },
509
+ {
510
+ "name": "payerMetadata",
511
+ "type": "bytes",
512
+ "internalType": "bytes"
513
+ }
514
+ ]
515
+ }
516
+ ],
517
+ "outputs": [],
518
+ "stateMutability": "payable"
519
+ },
520
+ {
521
+ "type": "function",
522
+ "name": "approve",
523
+ "inputs": [
524
+ {
525
+ "name": "to",
526
+ "type": "address",
527
+ "internalType": "address"
528
+ },
529
+ {
530
+ "name": "tokenId",
531
+ "type": "uint256",
532
+ "internalType": "uint256"
533
+ }
534
+ ],
535
+ "outputs": [],
536
+ "stateMutability": "nonpayable"
537
+ },
538
+ {
539
+ "type": "function",
540
+ "name": "balanceOf",
541
+ "inputs": [
542
+ {
543
+ "name": "owner",
544
+ "type": "address",
545
+ "internalType": "address"
546
+ }
547
+ ],
548
+ "outputs": [
549
+ {
550
+ "name": "balance",
551
+ "type": "uint256",
552
+ "internalType": "uint256"
553
+ }
554
+ ],
555
+ "stateMutability": "view"
556
+ },
557
+ {
558
+ "type": "function",
559
+ "name": "baseURI",
560
+ "inputs": [],
561
+ "outputs": [
562
+ {
563
+ "name": "",
564
+ "type": "string",
565
+ "internalType": "string"
566
+ }
567
+ ],
568
+ "stateMutability": "view"
569
+ },
570
+ {
571
+ "type": "function",
572
+ "name": "beforeCashOutRecordedWith",
573
+ "inputs": [
574
+ {
575
+ "name": "context",
576
+ "type": "tuple",
577
+ "internalType": "struct JBBeforeCashOutRecordedContext",
578
+ "components": [
579
+ {
580
+ "name": "terminal",
581
+ "type": "address",
582
+ "internalType": "address"
583
+ },
584
+ {
585
+ "name": "holder",
586
+ "type": "address",
587
+ "internalType": "address"
588
+ },
589
+ {
590
+ "name": "projectId",
591
+ "type": "uint256",
592
+ "internalType": "uint256"
593
+ },
594
+ {
595
+ "name": "rulesetId",
596
+ "type": "uint256",
597
+ "internalType": "uint256"
598
+ },
599
+ {
600
+ "name": "cashOutCount",
601
+ "type": "uint256",
602
+ "internalType": "uint256"
603
+ },
604
+ {
605
+ "name": "totalSupply",
606
+ "type": "uint256",
607
+ "internalType": "uint256"
608
+ },
609
+ {
610
+ "name": "surplus",
611
+ "type": "tuple",
612
+ "internalType": "struct JBTokenAmount",
613
+ "components": [
614
+ {
615
+ "name": "token",
616
+ "type": "address",
617
+ "internalType": "address"
618
+ },
619
+ {
620
+ "name": "decimals",
621
+ "type": "uint8",
622
+ "internalType": "uint8"
623
+ },
624
+ {
625
+ "name": "currency",
626
+ "type": "uint32",
627
+ "internalType": "uint32"
628
+ },
629
+ {
630
+ "name": "value",
631
+ "type": "uint256",
632
+ "internalType": "uint256"
633
+ }
634
+ ]
635
+ },
636
+ {
637
+ "name": "scopeCashOutsToLocalBalances",
638
+ "type": "bool",
639
+ "internalType": "bool"
640
+ },
641
+ {
642
+ "name": "cashOutTaxRate",
643
+ "type": "uint256",
644
+ "internalType": "uint256"
645
+ },
646
+ {
647
+ "name": "beneficiaryIsFeeless",
648
+ "type": "bool",
649
+ "internalType": "bool"
650
+ },
651
+ {
652
+ "name": "metadata",
653
+ "type": "bytes",
654
+ "internalType": "bytes"
655
+ }
656
+ ]
657
+ }
658
+ ],
659
+ "outputs": [
660
+ {
661
+ "name": "cashOutTaxRate",
662
+ "type": "uint256",
663
+ "internalType": "uint256"
664
+ },
665
+ {
666
+ "name": "cashOutCount",
667
+ "type": "uint256",
668
+ "internalType": "uint256"
669
+ },
670
+ {
671
+ "name": "totalSupply",
672
+ "type": "uint256",
673
+ "internalType": "uint256"
674
+ },
675
+ {
676
+ "name": "effectiveSurplusValue",
677
+ "type": "uint256",
678
+ "internalType": "uint256"
679
+ },
680
+ {
681
+ "name": "hookSpecifications",
682
+ "type": "tuple[]",
683
+ "internalType": "struct JBCashOutHookSpecification[]",
684
+ "components": [
685
+ {
686
+ "name": "hook",
687
+ "type": "address",
688
+ "internalType": "contract IJBCashOutHook"
689
+ },
690
+ {
691
+ "name": "noop",
692
+ "type": "bool",
693
+ "internalType": "bool"
694
+ },
695
+ {
696
+ "name": "amount",
697
+ "type": "uint256",
698
+ "internalType": "uint256"
699
+ },
700
+ {
701
+ "name": "metadata",
702
+ "type": "bytes",
703
+ "internalType": "bytes"
704
+ }
705
+ ]
706
+ }
707
+ ],
708
+ "stateMutability": "view"
709
+ },
710
+ {
711
+ "type": "function",
712
+ "name": "beforePayRecordedWith",
713
+ "inputs": [
714
+ {
715
+ "name": "context",
716
+ "type": "tuple",
717
+ "internalType": "struct JBBeforePayRecordedContext",
718
+ "components": [
719
+ {
720
+ "name": "terminal",
721
+ "type": "address",
722
+ "internalType": "address"
723
+ },
724
+ {
725
+ "name": "payer",
726
+ "type": "address",
727
+ "internalType": "address"
728
+ },
729
+ {
730
+ "name": "amount",
731
+ "type": "tuple",
732
+ "internalType": "struct JBTokenAmount",
733
+ "components": [
734
+ {
735
+ "name": "token",
736
+ "type": "address",
737
+ "internalType": "address"
738
+ },
739
+ {
740
+ "name": "decimals",
741
+ "type": "uint8",
742
+ "internalType": "uint8"
743
+ },
744
+ {
745
+ "name": "currency",
746
+ "type": "uint32",
747
+ "internalType": "uint32"
748
+ },
749
+ {
750
+ "name": "value",
751
+ "type": "uint256",
752
+ "internalType": "uint256"
753
+ }
754
+ ]
755
+ },
756
+ {
757
+ "name": "projectId",
758
+ "type": "uint256",
759
+ "internalType": "uint256"
760
+ },
761
+ {
762
+ "name": "rulesetId",
763
+ "type": "uint256",
764
+ "internalType": "uint256"
765
+ },
766
+ {
767
+ "name": "beneficiary",
768
+ "type": "address",
769
+ "internalType": "address"
770
+ },
771
+ {
772
+ "name": "weight",
773
+ "type": "uint256",
774
+ "internalType": "uint256"
775
+ },
776
+ {
777
+ "name": "reservedPercent",
778
+ "type": "uint256",
779
+ "internalType": "uint256"
780
+ },
781
+ {
782
+ "name": "metadata",
783
+ "type": "bytes",
784
+ "internalType": "bytes"
785
+ }
786
+ ]
787
+ }
788
+ ],
789
+ "outputs": [
790
+ {
791
+ "name": "weight",
792
+ "type": "uint256",
793
+ "internalType": "uint256"
794
+ },
795
+ {
796
+ "name": "hookSpecifications",
797
+ "type": "tuple[]",
798
+ "internalType": "struct JBPayHookSpecification[]",
799
+ "components": [
800
+ {
801
+ "name": "hook",
802
+ "type": "address",
803
+ "internalType": "contract IJBPayHook"
804
+ },
805
+ {
806
+ "name": "noop",
807
+ "type": "bool",
808
+ "internalType": "bool"
809
+ },
810
+ {
811
+ "name": "amount",
812
+ "type": "uint256",
813
+ "internalType": "uint256"
814
+ },
815
+ {
816
+ "name": "metadata",
817
+ "type": "bytes",
818
+ "internalType": "bytes"
819
+ }
820
+ ]
821
+ }
822
+ ],
823
+ "stateMutability": "view"
824
+ },
825
+ {
826
+ "type": "function",
827
+ "name": "cashOutWeightOf",
828
+ "inputs": [
829
+ {
830
+ "name": "tokenIds",
831
+ "type": "uint256[]",
832
+ "internalType": "uint256[]"
833
+ }
834
+ ],
835
+ "outputs": [
836
+ {
837
+ "name": "",
838
+ "type": "uint256",
839
+ "internalType": "uint256"
840
+ }
841
+ ],
842
+ "stateMutability": "view"
843
+ },
844
+ {
845
+ "type": "function",
846
+ "name": "checkpoints",
847
+ "inputs": [],
848
+ "outputs": [
849
+ {
850
+ "name": "",
851
+ "type": "address",
852
+ "internalType": "contract IJB721Checkpoints"
853
+ }
854
+ ],
855
+ "stateMutability": "view"
856
+ },
857
+ {
858
+ "type": "function",
859
+ "name": "contractURI",
860
+ "inputs": [],
861
+ "outputs": [
862
+ {
863
+ "name": "",
864
+ "type": "string",
865
+ "internalType": "string"
866
+ }
867
+ ],
868
+ "stateMutability": "view"
869
+ },
870
+ {
871
+ "type": "function",
872
+ "name": "firstOwnerOf",
873
+ "inputs": [
874
+ {
875
+ "name": "tokenId",
876
+ "type": "uint256",
877
+ "internalType": "uint256"
878
+ }
879
+ ],
880
+ "outputs": [
881
+ {
882
+ "name": "",
883
+ "type": "address",
884
+ "internalType": "address"
885
+ }
886
+ ],
887
+ "stateMutability": "view"
888
+ },
889
+ {
890
+ "type": "function",
891
+ "name": "getApproved",
892
+ "inputs": [
893
+ {
894
+ "name": "tokenId",
895
+ "type": "uint256",
896
+ "internalType": "uint256"
897
+ }
898
+ ],
899
+ "outputs": [
900
+ {
901
+ "name": "",
902
+ "type": "address",
903
+ "internalType": "address"
904
+ }
905
+ ],
906
+ "stateMutability": "view"
907
+ },
908
+ {
909
+ "type": "function",
910
+ "name": "hasMintPermissionFor",
911
+ "inputs": [
912
+ {
913
+ "name": "",
914
+ "type": "uint256",
915
+ "internalType": "uint256"
916
+ },
917
+ {
918
+ "name": "",
919
+ "type": "tuple",
920
+ "internalType": "struct JBRuleset",
921
+ "components": [
922
+ {
923
+ "name": "cycleNumber",
924
+ "type": "uint48",
925
+ "internalType": "uint48"
926
+ },
927
+ {
928
+ "name": "id",
929
+ "type": "uint48",
930
+ "internalType": "uint48"
931
+ },
932
+ {
933
+ "name": "basedOnId",
934
+ "type": "uint48",
935
+ "internalType": "uint48"
936
+ },
937
+ {
938
+ "name": "start",
939
+ "type": "uint48",
940
+ "internalType": "uint48"
941
+ },
942
+ {
943
+ "name": "duration",
944
+ "type": "uint32",
945
+ "internalType": "uint32"
946
+ },
947
+ {
948
+ "name": "weight",
949
+ "type": "uint112",
950
+ "internalType": "uint112"
951
+ },
952
+ {
953
+ "name": "weightCutPercent",
954
+ "type": "uint32",
955
+ "internalType": "uint32"
956
+ },
957
+ {
958
+ "name": "approvalHook",
959
+ "type": "address",
960
+ "internalType": "contract IJBRulesetApprovalHook"
961
+ },
962
+ {
963
+ "name": "metadata",
964
+ "type": "uint256",
965
+ "internalType": "uint256"
966
+ }
967
+ ]
968
+ },
969
+ {
970
+ "name": "",
971
+ "type": "address",
972
+ "internalType": "address"
973
+ }
974
+ ],
975
+ "outputs": [
976
+ {
977
+ "name": "",
978
+ "type": "bool",
979
+ "internalType": "bool"
980
+ }
981
+ ],
982
+ "stateMutability": "pure"
983
+ },
984
+ {
985
+ "type": "function",
986
+ "name": "initialize",
987
+ "inputs": [
988
+ {
989
+ "name": "initialProjectId",
990
+ "type": "uint256",
991
+ "internalType": "uint256"
992
+ },
993
+ {
994
+ "name": "name",
995
+ "type": "string",
996
+ "internalType": "string"
997
+ },
998
+ {
999
+ "name": "symbol",
1000
+ "type": "string",
1001
+ "internalType": "string"
1002
+ },
1003
+ {
1004
+ "name": "baseUri",
1005
+ "type": "string",
1006
+ "internalType": "string"
1007
+ },
1008
+ {
1009
+ "name": "tokenUriResolver",
1010
+ "type": "address",
1011
+ "internalType": "contract IJB721TokenUriResolver"
1012
+ },
1013
+ {
1014
+ "name": "contractUri",
1015
+ "type": "string",
1016
+ "internalType": "string"
1017
+ },
1018
+ {
1019
+ "name": "tiersConfig",
1020
+ "type": "tuple",
1021
+ "internalType": "struct JB721InitTiersConfig",
1022
+ "components": [
1023
+ {
1024
+ "name": "tiers",
1025
+ "type": "tuple[]",
1026
+ "internalType": "struct JB721TierConfig[]",
1027
+ "components": [
1028
+ {
1029
+ "name": "price",
1030
+ "type": "uint104",
1031
+ "internalType": "uint104"
1032
+ },
1033
+ {
1034
+ "name": "initialSupply",
1035
+ "type": "uint32",
1036
+ "internalType": "uint32"
1037
+ },
1038
+ {
1039
+ "name": "votingUnits",
1040
+ "type": "uint32",
1041
+ "internalType": "uint32"
1042
+ },
1043
+ {
1044
+ "name": "reserveFrequency",
1045
+ "type": "uint16",
1046
+ "internalType": "uint16"
1047
+ },
1048
+ {
1049
+ "name": "reserveBeneficiary",
1050
+ "type": "address",
1051
+ "internalType": "address"
1052
+ },
1053
+ {
1054
+ "name": "encodedIpfsUri",
1055
+ "type": "bytes32",
1056
+ "internalType": "bytes32"
1057
+ },
1058
+ {
1059
+ "name": "category",
1060
+ "type": "uint24",
1061
+ "internalType": "uint24"
1062
+ },
1063
+ {
1064
+ "name": "discountPercent",
1065
+ "type": "uint8",
1066
+ "internalType": "uint8"
1067
+ },
1068
+ {
1069
+ "name": "flags",
1070
+ "type": "tuple",
1071
+ "internalType": "struct JB721TierConfigFlags",
1072
+ "components": [
1073
+ {
1074
+ "name": "allowOwnerMint",
1075
+ "type": "bool",
1076
+ "internalType": "bool"
1077
+ },
1078
+ {
1079
+ "name": "useReserveBeneficiaryAsDefault",
1080
+ "type": "bool",
1081
+ "internalType": "bool"
1082
+ },
1083
+ {
1084
+ "name": "transfersPausable",
1085
+ "type": "bool",
1086
+ "internalType": "bool"
1087
+ },
1088
+ {
1089
+ "name": "useVotingUnits",
1090
+ "type": "bool",
1091
+ "internalType": "bool"
1092
+ },
1093
+ {
1094
+ "name": "cantBeRemoved",
1095
+ "type": "bool",
1096
+ "internalType": "bool"
1097
+ },
1098
+ {
1099
+ "name": "cantIncreaseDiscountPercent",
1100
+ "type": "bool",
1101
+ "internalType": "bool"
1102
+ },
1103
+ {
1104
+ "name": "cantBuyWithCredits",
1105
+ "type": "bool",
1106
+ "internalType": "bool"
1107
+ }
1108
+ ]
1109
+ },
1110
+ {
1111
+ "name": "splitPercent",
1112
+ "type": "uint32",
1113
+ "internalType": "uint32"
1114
+ },
1115
+ {
1116
+ "name": "splits",
1117
+ "type": "tuple[]",
1118
+ "internalType": "struct JBSplit[]",
1119
+ "components": [
1120
+ {
1121
+ "name": "percent",
1122
+ "type": "uint32",
1123
+ "internalType": "uint32"
1124
+ },
1125
+ {
1126
+ "name": "projectId",
1127
+ "type": "uint64",
1128
+ "internalType": "uint64"
1129
+ },
1130
+ {
1131
+ "name": "beneficiary",
1132
+ "type": "address",
1133
+ "internalType": "address payable"
1134
+ },
1135
+ {
1136
+ "name": "preferAddToBalance",
1137
+ "type": "bool",
1138
+ "internalType": "bool"
1139
+ },
1140
+ {
1141
+ "name": "lockedUntil",
1142
+ "type": "uint48",
1143
+ "internalType": "uint48"
1144
+ },
1145
+ {
1146
+ "name": "hook",
1147
+ "type": "address",
1148
+ "internalType": "contract IJBSplitHook"
1149
+ }
1150
+ ]
1151
+ }
1152
+ ]
1153
+ },
1154
+ {
1155
+ "name": "currency",
1156
+ "type": "uint32",
1157
+ "internalType": "uint32"
1158
+ },
1159
+ {
1160
+ "name": "decimals",
1161
+ "type": "uint8",
1162
+ "internalType": "uint8"
1163
+ }
1164
+ ]
1165
+ },
1166
+ {
1167
+ "name": "flags",
1168
+ "type": "tuple",
1169
+ "internalType": "struct JB721TiersHookFlags",
1170
+ "components": [
1171
+ {
1172
+ "name": "noNewTiersWithReserves",
1173
+ "type": "bool",
1174
+ "internalType": "bool"
1175
+ },
1176
+ {
1177
+ "name": "noNewTiersWithVotes",
1178
+ "type": "bool",
1179
+ "internalType": "bool"
1180
+ },
1181
+ {
1182
+ "name": "noNewTiersWithOwnerMinting",
1183
+ "type": "bool",
1184
+ "internalType": "bool"
1185
+ },
1186
+ {
1187
+ "name": "preventOverspending",
1188
+ "type": "bool",
1189
+ "internalType": "bool"
1190
+ },
1191
+ {
1192
+ "name": "issueTokensForSplits",
1193
+ "type": "bool",
1194
+ "internalType": "bool"
1195
+ }
1196
+ ]
1197
+ }
1198
+ ],
1199
+ "outputs": [],
1200
+ "stateMutability": "nonpayable"
1201
+ },
1202
+ {
1203
+ "type": "function",
1204
+ "name": "isApprovedForAll",
1205
+ "inputs": [
1206
+ {
1207
+ "name": "owner",
1208
+ "type": "address",
1209
+ "internalType": "address"
1210
+ },
1211
+ {
1212
+ "name": "operator",
1213
+ "type": "address",
1214
+ "internalType": "address"
1215
+ }
1216
+ ],
1217
+ "outputs": [
1218
+ {
1219
+ "name": "",
1220
+ "type": "bool",
1221
+ "internalType": "bool"
1222
+ }
1223
+ ],
1224
+ "stateMutability": "view"
1225
+ },
1226
+ {
1227
+ "type": "function",
1228
+ "name": "isTrustedForwarder",
1229
+ "inputs": [
1230
+ {
1231
+ "name": "forwarder",
1232
+ "type": "address",
1233
+ "internalType": "address"
1234
+ }
1235
+ ],
1236
+ "outputs": [
1237
+ {
1238
+ "name": "",
1239
+ "type": "bool",
1240
+ "internalType": "bool"
1241
+ }
1242
+ ],
1243
+ "stateMutability": "view"
1244
+ },
1245
+ {
1246
+ "type": "function",
1247
+ "name": "jbOwner",
1248
+ "inputs": [],
1249
+ "outputs": [
1250
+ {
1251
+ "name": "owner",
1252
+ "type": "address",
1253
+ "internalType": "address"
1254
+ },
1255
+ {
1256
+ "name": "projectId",
1257
+ "type": "uint88",
1258
+ "internalType": "uint88"
1259
+ },
1260
+ {
1261
+ "name": "permissionId",
1262
+ "type": "uint8",
1263
+ "internalType": "uint8"
1264
+ }
1265
+ ],
1266
+ "stateMutability": "view"
1267
+ },
1268
+ {
1269
+ "type": "function",
1270
+ "name": "mintFor",
1271
+ "inputs": [
1272
+ {
1273
+ "name": "tierIds",
1274
+ "type": "uint16[]",
1275
+ "internalType": "uint16[]"
1276
+ },
1277
+ {
1278
+ "name": "beneficiary",
1279
+ "type": "address",
1280
+ "internalType": "address"
1281
+ }
1282
+ ],
1283
+ "outputs": [
1284
+ {
1285
+ "name": "tokenIds",
1286
+ "type": "uint256[]",
1287
+ "internalType": "uint256[]"
1288
+ }
1289
+ ],
1290
+ "stateMutability": "nonpayable"
1291
+ },
1292
+ {
1293
+ "type": "function",
1294
+ "name": "mintPendingReservesFor",
1295
+ "inputs": [
1296
+ {
1297
+ "name": "tierId",
1298
+ "type": "uint256",
1299
+ "internalType": "uint256"
1300
+ },
1301
+ {
1302
+ "name": "count",
1303
+ "type": "uint256",
1304
+ "internalType": "uint256"
1305
+ }
1306
+ ],
1307
+ "outputs": [],
1308
+ "stateMutability": "nonpayable"
1309
+ },
1310
+ {
1311
+ "type": "function",
1312
+ "name": "mintPendingReservesFor",
1313
+ "inputs": [
1314
+ {
1315
+ "name": "reserveMintConfigs",
1316
+ "type": "tuple[]",
1317
+ "internalType": "struct JB721TiersMintReservesConfig[]",
1318
+ "components": [
1319
+ {
1320
+ "name": "tierId",
1321
+ "type": "uint32",
1322
+ "internalType": "uint32"
1323
+ },
1324
+ {
1325
+ "name": "count",
1326
+ "type": "uint16",
1327
+ "internalType": "uint16"
1328
+ }
1329
+ ]
1330
+ }
1331
+ ],
1332
+ "outputs": [],
1333
+ "stateMutability": "nonpayable"
1334
+ },
1335
+ {
1336
+ "type": "function",
1337
+ "name": "name",
1338
+ "inputs": [],
1339
+ "outputs": [
1340
+ {
1341
+ "name": "",
1342
+ "type": "string",
1343
+ "internalType": "string"
1344
+ }
1345
+ ],
1346
+ "stateMutability": "view"
1347
+ },
1348
+ {
1349
+ "type": "function",
1350
+ "name": "owner",
1351
+ "inputs": [],
1352
+ "outputs": [
1353
+ {
1354
+ "name": "",
1355
+ "type": "address",
1356
+ "internalType": "address"
1357
+ }
1358
+ ],
1359
+ "stateMutability": "view"
1360
+ },
1361
+ {
1362
+ "type": "function",
1363
+ "name": "ownerOf",
1364
+ "inputs": [
1365
+ {
1366
+ "name": "tokenId",
1367
+ "type": "uint256",
1368
+ "internalType": "uint256"
1369
+ }
1370
+ ],
1371
+ "outputs": [
1372
+ {
1373
+ "name": "",
1374
+ "type": "address",
1375
+ "internalType": "address"
1376
+ }
1377
+ ],
1378
+ "stateMutability": "view"
1379
+ },
1380
+ {
1381
+ "type": "function",
1382
+ "name": "payCreditsOf",
1383
+ "inputs": [
1384
+ {
1385
+ "name": "addr",
1386
+ "type": "address",
1387
+ "internalType": "address"
1388
+ }
1389
+ ],
1390
+ "outputs": [
1391
+ {
1392
+ "name": "",
1393
+ "type": "uint256",
1394
+ "internalType": "uint256"
1395
+ }
1396
+ ],
1397
+ "stateMutability": "view"
1398
+ },
1399
+ {
1400
+ "type": "function",
1401
+ "name": "pricingContext",
1402
+ "inputs": [],
1403
+ "outputs": [
1404
+ {
1405
+ "name": "currency",
1406
+ "type": "uint256",
1407
+ "internalType": "uint256"
1408
+ },
1409
+ {
1410
+ "name": "decimals",
1411
+ "type": "uint256",
1412
+ "internalType": "uint256"
1413
+ }
1414
+ ],
1415
+ "stateMutability": "view"
1416
+ },
1417
+ {
1418
+ "type": "function",
1419
+ "name": "projectId",
1420
+ "inputs": [],
1421
+ "outputs": [
1422
+ {
1423
+ "name": "",
1424
+ "type": "uint256",
1425
+ "internalType": "uint256"
1426
+ }
1427
+ ],
1428
+ "stateMutability": "view"
1429
+ },
1430
+ {
1431
+ "type": "function",
1432
+ "name": "renounceOwnership",
1433
+ "inputs": [],
1434
+ "outputs": [],
1435
+ "stateMutability": "nonpayable"
1436
+ },
1437
+ {
1438
+ "type": "function",
1439
+ "name": "safeTransferFrom",
1440
+ "inputs": [
1441
+ {
1442
+ "name": "from",
1443
+ "type": "address",
1444
+ "internalType": "address"
1445
+ },
1446
+ {
1447
+ "name": "to",
1448
+ "type": "address",
1449
+ "internalType": "address"
1450
+ },
1451
+ {
1452
+ "name": "tokenId",
1453
+ "type": "uint256",
1454
+ "internalType": "uint256"
1455
+ }
1456
+ ],
1457
+ "outputs": [],
1458
+ "stateMutability": "nonpayable"
1459
+ },
1460
+ {
1461
+ "type": "function",
1462
+ "name": "safeTransferFrom",
1463
+ "inputs": [
1464
+ {
1465
+ "name": "from",
1466
+ "type": "address",
1467
+ "internalType": "address"
1468
+ },
1469
+ {
1470
+ "name": "to",
1471
+ "type": "address",
1472
+ "internalType": "address"
1473
+ },
1474
+ {
1475
+ "name": "tokenId",
1476
+ "type": "uint256",
1477
+ "internalType": "uint256"
1478
+ },
1479
+ {
1480
+ "name": "data",
1481
+ "type": "bytes",
1482
+ "internalType": "bytes"
1483
+ }
1484
+ ],
1485
+ "outputs": [],
1486
+ "stateMutability": "nonpayable"
1487
+ },
1488
+ {
1489
+ "type": "function",
1490
+ "name": "setApprovalForAll",
1491
+ "inputs": [
1492
+ {
1493
+ "name": "operator",
1494
+ "type": "address",
1495
+ "internalType": "address"
1496
+ },
1497
+ {
1498
+ "name": "approved",
1499
+ "type": "bool",
1500
+ "internalType": "bool"
1501
+ }
1502
+ ],
1503
+ "outputs": [],
1504
+ "stateMutability": "nonpayable"
1505
+ },
1506
+ {
1507
+ "type": "function",
1508
+ "name": "setDiscountPercentOf",
1509
+ "inputs": [
1510
+ {
1511
+ "name": "tierId",
1512
+ "type": "uint256",
1513
+ "internalType": "uint256"
1514
+ },
1515
+ {
1516
+ "name": "discountPercent",
1517
+ "type": "uint256",
1518
+ "internalType": "uint256"
1519
+ }
1520
+ ],
1521
+ "outputs": [],
1522
+ "stateMutability": "nonpayable"
1523
+ },
1524
+ {
1525
+ "type": "function",
1526
+ "name": "setDiscountPercentsOf",
1527
+ "inputs": [
1528
+ {
1529
+ "name": "configs",
1530
+ "type": "tuple[]",
1531
+ "internalType": "struct JB721TiersSetDiscountPercentConfig[]",
1532
+ "components": [
1533
+ {
1534
+ "name": "tierId",
1535
+ "type": "uint32",
1536
+ "internalType": "uint32"
1537
+ },
1538
+ {
1539
+ "name": "discountPercent",
1540
+ "type": "uint16",
1541
+ "internalType": "uint16"
1542
+ }
1543
+ ]
1544
+ }
1545
+ ],
1546
+ "outputs": [],
1547
+ "stateMutability": "nonpayable"
1548
+ },
1549
+ {
1550
+ "type": "function",
1551
+ "name": "setMetadata",
1552
+ "inputs": [
1553
+ {
1554
+ "name": "name",
1555
+ "type": "string",
1556
+ "internalType": "string"
1557
+ },
1558
+ {
1559
+ "name": "symbol",
1560
+ "type": "string",
1561
+ "internalType": "string"
1562
+ },
1563
+ {
1564
+ "name": "baseUri",
1565
+ "type": "string",
1566
+ "internalType": "string"
1567
+ },
1568
+ {
1569
+ "name": "contractUri",
1570
+ "type": "string",
1571
+ "internalType": "string"
1572
+ },
1573
+ {
1574
+ "name": "tokenUriResolver",
1575
+ "type": "address",
1576
+ "internalType": "contract IJB721TokenUriResolver"
1577
+ },
1578
+ {
1579
+ "name": "encodedIpfsUriTierId",
1580
+ "type": "uint256",
1581
+ "internalType": "uint256"
1582
+ },
1583
+ {
1584
+ "name": "encodedIpfsUri",
1585
+ "type": "bytes32",
1586
+ "internalType": "bytes32"
1587
+ }
1588
+ ],
1589
+ "outputs": [],
1590
+ "stateMutability": "nonpayable"
1591
+ },
1592
+ {
1593
+ "type": "function",
1594
+ "name": "setPermissionId",
1595
+ "inputs": [
1596
+ {
1597
+ "name": "permissionId",
1598
+ "type": "uint8",
1599
+ "internalType": "uint8"
1600
+ }
1601
+ ],
1602
+ "outputs": [],
1603
+ "stateMutability": "nonpayable"
1604
+ },
1605
+ {
1606
+ "type": "function",
1607
+ "name": "supportsInterface",
1608
+ "inputs": [
1609
+ {
1610
+ "name": "interfaceId",
1611
+ "type": "bytes4",
1612
+ "internalType": "bytes4"
1613
+ }
1614
+ ],
1615
+ "outputs": [
1616
+ {
1617
+ "name": "",
1618
+ "type": "bool",
1619
+ "internalType": "bool"
1620
+ }
1621
+ ],
1622
+ "stateMutability": "view"
1623
+ },
1624
+ {
1625
+ "type": "function",
1626
+ "name": "symbol",
1627
+ "inputs": [],
1628
+ "outputs": [
1629
+ {
1630
+ "name": "",
1631
+ "type": "string",
1632
+ "internalType": "string"
1633
+ }
1634
+ ],
1635
+ "stateMutability": "view"
1636
+ },
1637
+ {
1638
+ "type": "function",
1639
+ "name": "tokenURI",
1640
+ "inputs": [
1641
+ {
1642
+ "name": "tokenId",
1643
+ "type": "uint256",
1644
+ "internalType": "uint256"
1645
+ }
1646
+ ],
1647
+ "outputs": [
1648
+ {
1649
+ "name": "",
1650
+ "type": "string",
1651
+ "internalType": "string"
1652
+ }
1653
+ ],
1654
+ "stateMutability": "view"
1655
+ },
1656
+ {
1657
+ "type": "function",
1658
+ "name": "totalCashOutWeight",
1659
+ "inputs": [],
1660
+ "outputs": [
1661
+ {
1662
+ "name": "",
1663
+ "type": "uint256",
1664
+ "internalType": "uint256"
1665
+ }
1666
+ ],
1667
+ "stateMutability": "view"
1668
+ },
1669
+ {
1670
+ "type": "function",
1671
+ "name": "transferFrom",
1672
+ "inputs": [
1673
+ {
1674
+ "name": "from",
1675
+ "type": "address",
1676
+ "internalType": "address"
1677
+ },
1678
+ {
1679
+ "name": "to",
1680
+ "type": "address",
1681
+ "internalType": "address"
1682
+ },
1683
+ {
1684
+ "name": "tokenId",
1685
+ "type": "uint256",
1686
+ "internalType": "uint256"
1687
+ }
1688
+ ],
1689
+ "outputs": [],
1690
+ "stateMutability": "nonpayable"
1691
+ },
1692
+ {
1693
+ "type": "function",
1694
+ "name": "transferOwnership",
1695
+ "inputs": [
1696
+ {
1697
+ "name": "newOwner",
1698
+ "type": "address",
1699
+ "internalType": "address"
1700
+ }
1701
+ ],
1702
+ "outputs": [],
1703
+ "stateMutability": "nonpayable"
1704
+ },
1705
+ {
1706
+ "type": "function",
1707
+ "name": "transferOwnershipToProject",
1708
+ "inputs": [
1709
+ {
1710
+ "name": "projectId",
1711
+ "type": "uint256",
1712
+ "internalType": "uint256"
1713
+ }
1714
+ ],
1715
+ "outputs": [],
1716
+ "stateMutability": "nonpayable"
1717
+ },
1718
+ {
1719
+ "type": "function",
1720
+ "name": "trustedForwarder",
1721
+ "inputs": [],
1722
+ "outputs": [
1723
+ {
1724
+ "name": "",
1725
+ "type": "address",
1726
+ "internalType": "address"
1727
+ }
1728
+ ],
1729
+ "stateMutability": "view"
1730
+ },
1731
+ {
1732
+ "type": "event",
1733
+ "name": "AddPayCredits",
1734
+ "inputs": [
1735
+ {
1736
+ "name": "amount",
1737
+ "type": "uint256",
1738
+ "indexed": true,
1739
+ "internalType": "uint256"
1740
+ },
1741
+ {
1742
+ "name": "newTotalCredits",
1743
+ "type": "uint256",
1744
+ "indexed": true,
1745
+ "internalType": "uint256"
1746
+ },
1747
+ {
1748
+ "name": "account",
1749
+ "type": "address",
1750
+ "indexed": true,
1751
+ "internalType": "address"
1752
+ },
1753
+ {
1754
+ "name": "caller",
1755
+ "type": "address",
1756
+ "indexed": false,
1757
+ "internalType": "address"
1758
+ }
1759
+ ],
1760
+ "anonymous": false
1761
+ },
1762
+ {
1763
+ "type": "event",
1764
+ "name": "AddTier",
1765
+ "inputs": [
1766
+ {
1767
+ "name": "tierId",
1768
+ "type": "uint256",
1769
+ "indexed": true,
1770
+ "internalType": "uint256"
1771
+ },
1772
+ {
1773
+ "name": "tier",
1774
+ "type": "tuple",
1775
+ "indexed": false,
1776
+ "internalType": "struct JB721TierConfig",
1777
+ "components": [
1778
+ {
1779
+ "name": "price",
1780
+ "type": "uint104",
1781
+ "internalType": "uint104"
1782
+ },
1783
+ {
1784
+ "name": "initialSupply",
1785
+ "type": "uint32",
1786
+ "internalType": "uint32"
1787
+ },
1788
+ {
1789
+ "name": "votingUnits",
1790
+ "type": "uint32",
1791
+ "internalType": "uint32"
1792
+ },
1793
+ {
1794
+ "name": "reserveFrequency",
1795
+ "type": "uint16",
1796
+ "internalType": "uint16"
1797
+ },
1798
+ {
1799
+ "name": "reserveBeneficiary",
1800
+ "type": "address",
1801
+ "internalType": "address"
1802
+ },
1803
+ {
1804
+ "name": "encodedIpfsUri",
1805
+ "type": "bytes32",
1806
+ "internalType": "bytes32"
1807
+ },
1808
+ {
1809
+ "name": "category",
1810
+ "type": "uint24",
1811
+ "internalType": "uint24"
1812
+ },
1813
+ {
1814
+ "name": "discountPercent",
1815
+ "type": "uint8",
1816
+ "internalType": "uint8"
1817
+ },
1818
+ {
1819
+ "name": "flags",
1820
+ "type": "tuple",
1821
+ "internalType": "struct JB721TierConfigFlags",
1822
+ "components": [
1823
+ {
1824
+ "name": "allowOwnerMint",
1825
+ "type": "bool",
1826
+ "internalType": "bool"
1827
+ },
1828
+ {
1829
+ "name": "useReserveBeneficiaryAsDefault",
1830
+ "type": "bool",
1831
+ "internalType": "bool"
1832
+ },
1833
+ {
1834
+ "name": "transfersPausable",
1835
+ "type": "bool",
1836
+ "internalType": "bool"
1837
+ },
1838
+ {
1839
+ "name": "useVotingUnits",
1840
+ "type": "bool",
1841
+ "internalType": "bool"
1842
+ },
1843
+ {
1844
+ "name": "cantBeRemoved",
1845
+ "type": "bool",
1846
+ "internalType": "bool"
1847
+ },
1848
+ {
1849
+ "name": "cantIncreaseDiscountPercent",
1850
+ "type": "bool",
1851
+ "internalType": "bool"
1852
+ },
1853
+ {
1854
+ "name": "cantBuyWithCredits",
1855
+ "type": "bool",
1856
+ "internalType": "bool"
1857
+ }
1858
+ ]
1859
+ },
1860
+ {
1861
+ "name": "splitPercent",
1862
+ "type": "uint32",
1863
+ "internalType": "uint32"
1864
+ },
1865
+ {
1866
+ "name": "splits",
1867
+ "type": "tuple[]",
1868
+ "internalType": "struct JBSplit[]",
1869
+ "components": [
1870
+ {
1871
+ "name": "percent",
1872
+ "type": "uint32",
1873
+ "internalType": "uint32"
1874
+ },
1875
+ {
1876
+ "name": "projectId",
1877
+ "type": "uint64",
1878
+ "internalType": "uint64"
1879
+ },
1880
+ {
1881
+ "name": "beneficiary",
1882
+ "type": "address",
1883
+ "internalType": "address payable"
1884
+ },
1885
+ {
1886
+ "name": "preferAddToBalance",
1887
+ "type": "bool",
1888
+ "internalType": "bool"
1889
+ },
1890
+ {
1891
+ "name": "lockedUntil",
1892
+ "type": "uint48",
1893
+ "internalType": "uint48"
1894
+ },
1895
+ {
1896
+ "name": "hook",
1897
+ "type": "address",
1898
+ "internalType": "contract IJBSplitHook"
1899
+ }
1900
+ ]
1901
+ }
1902
+ ]
1903
+ },
1904
+ {
1905
+ "name": "caller",
1906
+ "type": "address",
1907
+ "indexed": false,
1908
+ "internalType": "address"
1909
+ }
1910
+ ],
1911
+ "anonymous": false
1912
+ },
1913
+ {
1914
+ "type": "event",
1915
+ "name": "Approval",
1916
+ "inputs": [
1917
+ {
1918
+ "name": "owner",
1919
+ "type": "address",
1920
+ "indexed": true,
1921
+ "internalType": "address"
1922
+ },
1923
+ {
1924
+ "name": "approved",
1925
+ "type": "address",
1926
+ "indexed": true,
1927
+ "internalType": "address"
1928
+ },
1929
+ {
1930
+ "name": "tokenId",
1931
+ "type": "uint256",
1932
+ "indexed": true,
1933
+ "internalType": "uint256"
1934
+ }
1935
+ ],
1936
+ "anonymous": false
1937
+ },
1938
+ {
1939
+ "type": "event",
1940
+ "name": "ApprovalForAll",
1941
+ "inputs": [
1942
+ {
1943
+ "name": "owner",
1944
+ "type": "address",
1945
+ "indexed": true,
1946
+ "internalType": "address"
1947
+ },
1948
+ {
1949
+ "name": "operator",
1950
+ "type": "address",
1951
+ "indexed": true,
1952
+ "internalType": "address"
1953
+ },
1954
+ {
1955
+ "name": "approved",
1956
+ "type": "bool",
1957
+ "indexed": false,
1958
+ "internalType": "bool"
1959
+ }
1960
+ ],
1961
+ "anonymous": false
1962
+ },
1963
+ {
1964
+ "type": "event",
1965
+ "name": "Mint",
1966
+ "inputs": [
1967
+ {
1968
+ "name": "tokenId",
1969
+ "type": "uint256",
1970
+ "indexed": true,
1971
+ "internalType": "uint256"
1972
+ },
1973
+ {
1974
+ "name": "tierId",
1975
+ "type": "uint256",
1976
+ "indexed": true,
1977
+ "internalType": "uint256"
1978
+ },
1979
+ {
1980
+ "name": "beneficiary",
1981
+ "type": "address",
1982
+ "indexed": true,
1983
+ "internalType": "address"
1984
+ },
1985
+ {
1986
+ "name": "totalAmountPaid",
1987
+ "type": "uint256",
1988
+ "indexed": false,
1989
+ "internalType": "uint256"
1990
+ },
1991
+ {
1992
+ "name": "caller",
1993
+ "type": "address",
1994
+ "indexed": false,
1995
+ "internalType": "address"
1996
+ }
1997
+ ],
1998
+ "anonymous": false
1999
+ },
2000
+ {
2001
+ "type": "event",
2002
+ "name": "MintReservedNft",
2003
+ "inputs": [
2004
+ {
2005
+ "name": "tokenId",
2006
+ "type": "uint256",
2007
+ "indexed": true,
2008
+ "internalType": "uint256"
2009
+ },
2010
+ {
2011
+ "name": "tierId",
2012
+ "type": "uint256",
2013
+ "indexed": true,
2014
+ "internalType": "uint256"
2015
+ },
2016
+ {
2017
+ "name": "beneficiary",
2018
+ "type": "address",
2019
+ "indexed": true,
2020
+ "internalType": "address"
2021
+ },
2022
+ {
2023
+ "name": "caller",
2024
+ "type": "address",
2025
+ "indexed": false,
2026
+ "internalType": "address"
2027
+ }
2028
+ ],
2029
+ "anonymous": false
2030
+ },
2031
+ {
2032
+ "type": "event",
2033
+ "name": "OwnershipTransferred",
2034
+ "inputs": [
2035
+ {
2036
+ "name": "previousOwner",
2037
+ "type": "address",
2038
+ "indexed": true,
2039
+ "internalType": "address"
2040
+ },
2041
+ {
2042
+ "name": "newOwner",
2043
+ "type": "address",
2044
+ "indexed": true,
2045
+ "internalType": "address"
2046
+ },
2047
+ {
2048
+ "name": "caller",
2049
+ "type": "address",
2050
+ "indexed": false,
2051
+ "internalType": "address"
2052
+ }
2053
+ ],
2054
+ "anonymous": false
2055
+ },
2056
+ {
2057
+ "type": "event",
2058
+ "name": "PermissionIdChanged",
2059
+ "inputs": [
2060
+ {
2061
+ "name": "newId",
2062
+ "type": "uint8",
2063
+ "indexed": false,
2064
+ "internalType": "uint8"
2065
+ },
2066
+ {
2067
+ "name": "caller",
2068
+ "type": "address",
2069
+ "indexed": false,
2070
+ "internalType": "address"
2071
+ }
2072
+ ],
2073
+ "anonymous": false
2074
+ },
2075
+ {
2076
+ "type": "event",
2077
+ "name": "RemoveTier",
2078
+ "inputs": [
2079
+ {
2080
+ "name": "tierId",
2081
+ "type": "uint256",
2082
+ "indexed": true,
2083
+ "internalType": "uint256"
2084
+ },
2085
+ {
2086
+ "name": "caller",
2087
+ "type": "address",
2088
+ "indexed": false,
2089
+ "internalType": "address"
2090
+ }
2091
+ ],
2092
+ "anonymous": false
2093
+ },
2094
+ {
2095
+ "type": "event",
2096
+ "name": "SetBaseUri",
2097
+ "inputs": [
2098
+ {
2099
+ "name": "baseUri",
2100
+ "type": "string",
2101
+ "indexed": true,
2102
+ "internalType": "string"
2103
+ },
2104
+ {
2105
+ "name": "caller",
2106
+ "type": "address",
2107
+ "indexed": false,
2108
+ "internalType": "address"
2109
+ }
2110
+ ],
2111
+ "anonymous": false
2112
+ },
2113
+ {
2114
+ "type": "event",
2115
+ "name": "SetContractUri",
2116
+ "inputs": [
2117
+ {
2118
+ "name": "uri",
2119
+ "type": "string",
2120
+ "indexed": true,
2121
+ "internalType": "string"
2122
+ },
2123
+ {
2124
+ "name": "caller",
2125
+ "type": "address",
2126
+ "indexed": false,
2127
+ "internalType": "address"
2128
+ }
2129
+ ],
2130
+ "anonymous": false
2131
+ },
2132
+ {
2133
+ "type": "event",
2134
+ "name": "SetDiscountPercent",
2135
+ "inputs": [
2136
+ {
2137
+ "name": "tierId",
2138
+ "type": "uint256",
2139
+ "indexed": true,
2140
+ "internalType": "uint256"
2141
+ },
2142
+ {
2143
+ "name": "discountPercent",
2144
+ "type": "uint256",
2145
+ "indexed": false,
2146
+ "internalType": "uint256"
2147
+ },
2148
+ {
2149
+ "name": "caller",
2150
+ "type": "address",
2151
+ "indexed": false,
2152
+ "internalType": "address"
2153
+ }
2154
+ ],
2155
+ "anonymous": false
2156
+ },
2157
+ {
2158
+ "type": "event",
2159
+ "name": "SetEncodedIpfsUri",
2160
+ "inputs": [
2161
+ {
2162
+ "name": "tierId",
2163
+ "type": "uint256",
2164
+ "indexed": true,
2165
+ "internalType": "uint256"
2166
+ },
2167
+ {
2168
+ "name": "encodedUri",
2169
+ "type": "bytes32",
2170
+ "indexed": false,
2171
+ "internalType": "bytes32"
2172
+ },
2173
+ {
2174
+ "name": "caller",
2175
+ "type": "address",
2176
+ "indexed": false,
2177
+ "internalType": "address"
2178
+ }
2179
+ ],
2180
+ "anonymous": false
2181
+ },
2182
+ {
2183
+ "type": "event",
2184
+ "name": "SetName",
2185
+ "inputs": [
2186
+ {
2187
+ "name": "name",
2188
+ "type": "string",
2189
+ "indexed": true,
2190
+ "internalType": "string"
2191
+ },
2192
+ {
2193
+ "name": "caller",
2194
+ "type": "address",
2195
+ "indexed": false,
2196
+ "internalType": "address"
2197
+ }
2198
+ ],
2199
+ "anonymous": false
2200
+ },
2201
+ {
2202
+ "type": "event",
2203
+ "name": "SetSymbol",
2204
+ "inputs": [
2205
+ {
2206
+ "name": "symbol",
2207
+ "type": "string",
2208
+ "indexed": true,
2209
+ "internalType": "string"
2210
+ },
2211
+ {
2212
+ "name": "caller",
2213
+ "type": "address",
2214
+ "indexed": false,
2215
+ "internalType": "address"
2216
+ }
2217
+ ],
2218
+ "anonymous": false
2219
+ },
2220
+ {
2221
+ "type": "event",
2222
+ "name": "SetTokenUriResolver",
2223
+ "inputs": [
2224
+ {
2225
+ "name": "resolver",
2226
+ "type": "address",
2227
+ "indexed": true,
2228
+ "internalType": "contract IJB721TokenUriResolver"
2229
+ },
2230
+ {
2231
+ "name": "caller",
2232
+ "type": "address",
2233
+ "indexed": false,
2234
+ "internalType": "address"
2235
+ }
2236
+ ],
2237
+ "anonymous": false
2238
+ },
2239
+ {
2240
+ "type": "event",
2241
+ "name": "SplitPayoutReverted",
2242
+ "inputs": [
2243
+ {
2244
+ "name": "projectId",
2245
+ "type": "uint256",
2246
+ "indexed": true,
2247
+ "internalType": "uint256"
2248
+ },
2249
+ {
2250
+ "name": "split",
2251
+ "type": "tuple",
2252
+ "indexed": false,
2253
+ "internalType": "struct JBSplit",
2254
+ "components": [
2255
+ {
2256
+ "name": "percent",
2257
+ "type": "uint32",
2258
+ "internalType": "uint32"
2259
+ },
2260
+ {
2261
+ "name": "projectId",
2262
+ "type": "uint64",
2263
+ "internalType": "uint64"
2264
+ },
2265
+ {
2266
+ "name": "beneficiary",
2267
+ "type": "address",
2268
+ "internalType": "address payable"
2269
+ },
2270
+ {
2271
+ "name": "preferAddToBalance",
2272
+ "type": "bool",
2273
+ "internalType": "bool"
2274
+ },
2275
+ {
2276
+ "name": "lockedUntil",
2277
+ "type": "uint48",
2278
+ "internalType": "uint48"
2279
+ },
2280
+ {
2281
+ "name": "hook",
2282
+ "type": "address",
2283
+ "internalType": "contract IJBSplitHook"
2284
+ }
2285
+ ]
2286
+ },
2287
+ {
2288
+ "name": "amount",
2289
+ "type": "uint256",
2290
+ "indexed": false,
2291
+ "internalType": "uint256"
2292
+ },
2293
+ {
2294
+ "name": "reason",
2295
+ "type": "bytes",
2296
+ "indexed": false,
2297
+ "internalType": "bytes"
2298
+ },
2299
+ {
2300
+ "name": "caller",
2301
+ "type": "address",
2302
+ "indexed": false,
2303
+ "internalType": "address"
2304
+ }
2305
+ ],
2306
+ "anonymous": false
2307
+ },
2308
+ {
2309
+ "type": "event",
2310
+ "name": "Transfer",
2311
+ "inputs": [
2312
+ {
2313
+ "name": "from",
2314
+ "type": "address",
2315
+ "indexed": true,
2316
+ "internalType": "address"
2317
+ },
2318
+ {
2319
+ "name": "to",
2320
+ "type": "address",
2321
+ "indexed": true,
2322
+ "internalType": "address"
2323
+ },
2324
+ {
2325
+ "name": "tokenId",
2326
+ "type": "uint256",
2327
+ "indexed": true,
2328
+ "internalType": "uint256"
2329
+ }
2330
+ ],
2331
+ "anonymous": false
2332
+ },
2333
+ {
2334
+ "type": "event",
2335
+ "name": "UsePayCredits",
2336
+ "inputs": [
2337
+ {
2338
+ "name": "amount",
2339
+ "type": "uint256",
2340
+ "indexed": true,
2341
+ "internalType": "uint256"
2342
+ },
2343
+ {
2344
+ "name": "newTotalCredits",
2345
+ "type": "uint256",
2346
+ "indexed": true,
2347
+ "internalType": "uint256"
2348
+ },
2349
+ {
2350
+ "name": "account",
2351
+ "type": "address",
2352
+ "indexed": true,
2353
+ "internalType": "address"
2354
+ },
2355
+ {
2356
+ "name": "caller",
2357
+ "type": "address",
2358
+ "indexed": false,
2359
+ "internalType": "address"
2360
+ }
2361
+ ],
2362
+ "anonymous": false
2363
+ },
2364
+ {
2365
+ "type": "error",
2366
+ "name": "ERC721IncorrectOwner",
2367
+ "inputs": [
2368
+ {
2369
+ "name": "sender",
2370
+ "type": "address",
2371
+ "internalType": "address"
2372
+ },
2373
+ {
2374
+ "name": "tokenId",
2375
+ "type": "uint256",
2376
+ "internalType": "uint256"
2377
+ },
2378
+ {
2379
+ "name": "owner",
2380
+ "type": "address",
2381
+ "internalType": "address"
2382
+ }
2383
+ ]
2384
+ },
2385
+ {
2386
+ "type": "error",
2387
+ "name": "ERC721InsufficientApproval",
2388
+ "inputs": [
2389
+ {
2390
+ "name": "operator",
2391
+ "type": "address",
2392
+ "internalType": "address"
2393
+ },
2394
+ {
2395
+ "name": "tokenId",
2396
+ "type": "uint256",
2397
+ "internalType": "uint256"
2398
+ }
2399
+ ]
2400
+ },
2401
+ {
2402
+ "type": "error",
2403
+ "name": "ERC721InvalidApprover",
2404
+ "inputs": [
2405
+ {
2406
+ "name": "approver",
2407
+ "type": "address",
2408
+ "internalType": "address"
2409
+ }
2410
+ ]
2411
+ },
2412
+ {
2413
+ "type": "error",
2414
+ "name": "ERC721InvalidOperator",
2415
+ "inputs": [
2416
+ {
2417
+ "name": "operator",
2418
+ "type": "address",
2419
+ "internalType": "address"
2420
+ }
2421
+ ]
2422
+ },
2423
+ {
2424
+ "type": "error",
2425
+ "name": "ERC721InvalidOwner",
2426
+ "inputs": [
2427
+ {
2428
+ "name": "owner",
2429
+ "type": "address",
2430
+ "internalType": "address"
2431
+ }
2432
+ ]
2433
+ },
2434
+ {
2435
+ "type": "error",
2436
+ "name": "ERC721InvalidReceiver",
2437
+ "inputs": [
2438
+ {
2439
+ "name": "receiver",
2440
+ "type": "address",
2441
+ "internalType": "address"
2442
+ }
2443
+ ]
2444
+ },
2445
+ {
2446
+ "type": "error",
2447
+ "name": "ERC721InvalidSender",
2448
+ "inputs": [
2449
+ {
2450
+ "name": "sender",
2451
+ "type": "address",
2452
+ "internalType": "address"
2453
+ }
2454
+ ]
2455
+ },
2456
+ {
2457
+ "type": "error",
2458
+ "name": "ERC721NonexistentToken",
2459
+ "inputs": [
2460
+ {
2461
+ "name": "tokenId",
2462
+ "type": "uint256",
2463
+ "internalType": "uint256"
2464
+ }
2465
+ ]
2466
+ },
2467
+ {
2468
+ "type": "error",
2469
+ "name": "JB721Hook_InvalidCashOut",
2470
+ "inputs": [
2471
+ {
2472
+ "name": "caller",
2473
+ "type": "address",
2474
+ "internalType": "address"
2475
+ },
2476
+ {
2477
+ "name": "contextProjectId",
2478
+ "type": "uint256",
2479
+ "internalType": "uint256"
2480
+ },
2481
+ {
2482
+ "name": "projectId",
2483
+ "type": "uint256",
2484
+ "internalType": "uint256"
2485
+ },
2486
+ {
2487
+ "name": "msgValue",
2488
+ "type": "uint256",
2489
+ "internalType": "uint256"
2490
+ }
2491
+ ]
2492
+ },
2493
+ {
2494
+ "type": "error",
2495
+ "name": "JB721Hook_InvalidPay",
2496
+ "inputs": [
2497
+ {
2498
+ "name": "caller",
2499
+ "type": "address",
2500
+ "internalType": "address"
2501
+ },
2502
+ {
2503
+ "name": "contextProjectId",
2504
+ "type": "uint256",
2505
+ "internalType": "uint256"
2506
+ },
2507
+ {
2508
+ "name": "projectId",
2509
+ "type": "uint256",
2510
+ "internalType": "uint256"
2511
+ }
2512
+ ]
2513
+ },
2514
+ {
2515
+ "type": "error",
2516
+ "name": "JB721Hook_InvalidPayValue",
2517
+ "inputs": [
2518
+ {
2519
+ "name": "token",
2520
+ "type": "address",
2521
+ "internalType": "address"
2522
+ },
2523
+ {
2524
+ "name": "msgValue",
2525
+ "type": "uint256",
2526
+ "internalType": "uint256"
2527
+ },
2528
+ {
2529
+ "name": "forwardedValue",
2530
+ "type": "uint256",
2531
+ "internalType": "uint256"
2532
+ }
2533
+ ]
2534
+ },
2535
+ {
2536
+ "type": "error",
2537
+ "name": "JB721Hook_UnauthorizedToken",
2538
+ "inputs": [
2539
+ {
2540
+ "name": "tokenId",
2541
+ "type": "uint256",
2542
+ "internalType": "uint256"
2543
+ },
2544
+ {
2545
+ "name": "holder",
2546
+ "type": "address",
2547
+ "internalType": "address"
2548
+ }
2549
+ ]
2550
+ },
2551
+ {
2552
+ "type": "error",
2553
+ "name": "JB721Hook_UnexpectedTokenCashedOut",
2554
+ "inputs": [
2555
+ {
2556
+ "name": "cashOutCount",
2557
+ "type": "uint256",
2558
+ "internalType": "uint256"
2559
+ }
2560
+ ]
2561
+ },
2562
+ {
2563
+ "type": "error",
2564
+ "name": "JB721TiersHook_AlreadyInitialized",
2565
+ "inputs": [
2566
+ {
2567
+ "name": "projectId",
2568
+ "type": "uint256",
2569
+ "internalType": "uint256"
2570
+ }
2571
+ ]
2572
+ },
2573
+ {
2574
+ "type": "error",
2575
+ "name": "JB721TiersHook_InvalidPricingDecimals",
2576
+ "inputs": [
2577
+ {
2578
+ "name": "decimals",
2579
+ "type": "uint256",
2580
+ "internalType": "uint256"
2581
+ }
2582
+ ]
2583
+ },
2584
+ {
2585
+ "type": "error",
2586
+ "name": "JB721TiersHook_MintReserveNftsPaused",
2587
+ "inputs": [
2588
+ {
2589
+ "name": "projectId",
2590
+ "type": "uint256",
2591
+ "internalType": "uint256"
2592
+ },
2593
+ {
2594
+ "name": "tierId",
2595
+ "type": "uint256",
2596
+ "internalType": "uint256"
2597
+ }
2598
+ ]
2599
+ },
2600
+ {
2601
+ "type": "error",
2602
+ "name": "JB721TiersHook_MissingSplitMetadata",
2603
+ "inputs": []
2604
+ },
2605
+ {
2606
+ "type": "error",
2607
+ "name": "JB721TiersHook_NoProjectId",
2608
+ "inputs": [
2609
+ {
2610
+ "name": "projectId",
2611
+ "type": "uint256",
2612
+ "internalType": "uint256"
2613
+ }
2614
+ ]
2615
+ },
2616
+ {
2617
+ "type": "error",
2618
+ "name": "JB721TiersHook_TierTransfersPaused",
2619
+ "inputs": [
2620
+ {
2621
+ "name": "projectId",
2622
+ "type": "uint256",
2623
+ "internalType": "uint256"
2624
+ },
2625
+ {
2626
+ "name": "tokenId",
2627
+ "type": "uint256",
2628
+ "internalType": "uint256"
2629
+ },
2630
+ {
2631
+ "name": "from",
2632
+ "type": "address",
2633
+ "internalType": "address"
2634
+ },
2635
+ {
2636
+ "name": "to",
2637
+ "type": "address",
2638
+ "internalType": "address"
2639
+ }
2640
+ ]
2641
+ },
2642
+ {
2643
+ "type": "error",
2644
+ "name": "JBOwnableOverrides_AddressOwnerCannotSetPermissionId",
2645
+ "inputs": [
2646
+ {
2647
+ "name": "owner",
2648
+ "type": "address",
2649
+ "internalType": "address"
2650
+ },
2651
+ {
2652
+ "name": "permissionId",
2653
+ "type": "uint8",
2654
+ "internalType": "uint8"
2655
+ }
2656
+ ]
2657
+ },
2658
+ {
2659
+ "type": "error",
2660
+ "name": "JBOwnableOverrides_InvalidNewOwner",
2661
+ "inputs": [
2662
+ {
2663
+ "name": "newOwner",
2664
+ "type": "address",
2665
+ "internalType": "address"
2666
+ },
2667
+ {
2668
+ "name": "projectId",
2669
+ "type": "uint256",
2670
+ "internalType": "uint256"
2671
+ }
2672
+ ]
2673
+ },
2674
+ {
2675
+ "type": "error",
2676
+ "name": "JBOwnableOverrides_ProjectDoesNotExist",
2677
+ "inputs": [
2678
+ {
2679
+ "name": "projectId",
2680
+ "type": "uint256",
2681
+ "internalType": "uint256"
2682
+ },
2683
+ {
2684
+ "name": "projectCount",
2685
+ "type": "uint256",
2686
+ "internalType": "uint256"
2687
+ }
2688
+ ]
2689
+ },
2690
+ {
2691
+ "type": "error",
2692
+ "name": "JBPermissioned_Unauthorized",
2693
+ "inputs": [
2694
+ {
2695
+ "name": "account",
2696
+ "type": "address",
2697
+ "internalType": "address"
2698
+ },
2699
+ {
2700
+ "name": "sender",
2701
+ "type": "address",
2702
+ "internalType": "address"
2703
+ },
2704
+ {
2705
+ "name": "projectId",
2706
+ "type": "uint256",
2707
+ "internalType": "uint256"
2708
+ },
2709
+ {
2710
+ "name": "permissionId",
2711
+ "type": "uint256",
2712
+ "internalType": "uint256"
2713
+ }
2714
+ ]
2715
+ }
2716
+ ],
2717
+ "args": [],
2718
+ "solcInputHash": "4b2dcc1d9ea630067ea829e5339a6dec",
2719
+ "receipt": {
2720
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
2721
+ "blockNumber": "0xa8ed15",
2722
+ "contractAddress": null,
2723
+ "cumulativeGasUsed": "0x374717",
2724
+ "effectiveGasPrice": "0x2cb53c780",
2725
+ "from": "0x755ff2f75a0a586ecfa2b9a3c959cb662458a105",
2726
+ "gasUsed": "0x374717",
2727
+ "logs": [
2728
+ {
2729
+ "address": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
2730
+ "topics": [
2731
+ "0x572f161235911da04685a68c06adf558fc7e4a36909dca394650e0adc19cc93d",
2732
+ "0x000000000000000000000000755ff2f75a0a586ecfa2b9a3c959cb662458a105",
2733
+ "0x00000000000000000000000091f164e1300f13beaf77358e4d84ed78f8e99d38",
2734
+ "0x74e390f90ff28a2e721c7fea1b596999ea2ae7317843e1a69bcfbd23d49a7c61"
2735
+ ],
2736
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000000",
2737
+ "blockNumber": "0xa8ed15",
2738
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
2739
+ "transactionIndex": "0x0",
2740
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
2741
+ "blockTimestamp": "0x6a30e54c",
2742
+ "logIndex": "0x0",
2743
+ "removed": false
2744
+ },
2745
+ {
2746
+ "address": "0xb552eb94284f94b833837d4b2cbb237128415d4e",
2747
+ "topics": [
2748
+ "0x5c05d79eeb764b1f5069fb55a8558e8a5cec91813a64282bc198dc9084c75df0",
2749
+ "0x0000000000000000000000000000000000000000000000000000000000000004",
2750
+ "0x000000000000000000000000000000000000000000000000000000006a30e54c",
2751
+ "0x0000000000000000000000009e2a10ab3bd22831f19d02c648bc2cb49b127450"
2752
+ ],
2753
+ "data": "0x0000000000000000000000000000000000000000000074e616ad9d0676008ffd0000000000000000000000004dc161ef837ff1c4485b08ddfcdb182f2157be18",
2754
+ "blockNumber": "0xa8ed15",
2755
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
2756
+ "transactionIndex": "0x0",
2757
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
2758
+ "blockTimestamp": "0x6a30e54c",
2759
+ "logIndex": "0x1",
2760
+ "removed": false
2761
+ },
2762
+ {
2763
+ "address": "0xb552eb94284f94b833837d4b2cbb237128415d4e",
2764
+ "topics": [
2765
+ "0x5c05d79eeb764b1f5069fb55a8558e8a5cec91813a64282bc198dc9084c75df0",
2766
+ "0x0000000000000000000000000000000000000000000000000000000000000004",
2767
+ "0x000000000000000000000000000000000000000000000000000000006a30e54d",
2768
+ "0x0000000000000000000000009e2a10ab3bd22831f19d02c648bc2cb49b127450"
2769
+ ],
2770
+ "data": "0x00000000000000000000000000000000000000000000d3c21bcecceda10000000000000000000000000000004dc161ef837ff1c4485b08ddfcdb182f2157be18",
2771
+ "blockNumber": "0xa8ed15",
2772
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
2773
+ "transactionIndex": "0x0",
2774
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
2775
+ "blockTimestamp": "0x6a30e54c",
2776
+ "logIndex": "0x2",
2777
+ "removed": false
2778
+ },
2779
+ {
2780
+ "address": "0x6017d1fba9dc279bfa0b03fd931c22e242ab3691",
2781
+ "topics": [
2782
+ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
2783
+ "0x0000000000000000000000004dc161ef837ff1c4485b08ddfcdb182f2157be18",
2784
+ "0x000000000000000000000000b552eb94284f94b833837d4b2cbb237128415d4e",
2785
+ "0x0000000000000000000000000000000000000000000000000000000000000004"
2786
+ ],
2787
+ "data": "0x",
2788
+ "blockNumber": "0xa8ed15",
2789
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
2790
+ "transactionIndex": "0x0",
2791
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
2792
+ "blockTimestamp": "0x6a30e54c",
2793
+ "logIndex": "0x3",
2794
+ "removed": false
2795
+ },
2796
+ {
2797
+ "address": "0x5aff29060e023e6fb87be5596652b33c65af535b",
2798
+ "topics": [
2799
+ "0x7f9a7dcb234c909a09de2f344661ad9e5b24067adb97c908647c2edcbb121c30",
2800
+ "0x0000000000000000000000000000000000000000000000000000000000000004",
2801
+ "0x0000000000000000000000003fcec3572e84b624477bcff4e2cf1f7deab648f1"
2802
+ ],
2803
+ "data": "0x0000000000000000000000003fcec3572e84b624477bcff4e2cf1f7deab648f1",
2804
+ "blockNumber": "0xa8ed15",
2805
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
2806
+ "transactionIndex": "0x0",
2807
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
2808
+ "blockTimestamp": "0x6a30e54c",
2809
+ "logIndex": "0x4",
2810
+ "removed": false
2811
+ },
2812
+ {
2813
+ "address": "0x130f5dd2bd8805443cf41755253d778a75a67f53",
2814
+ "topics": [
2815
+ "0xec91efc21eddd12fa66398fea3251c0e0b95bc53f0cdde2cd2c52e94bf11e078",
2816
+ "0x0000000000000000000000000000000000000000000000000000000000000004"
2817
+ ],
2818
+ "data": "0x000000000000000000000000000000000000000000000000000000000000eeee0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000eeee0000000000000000000000003fcec3572e84b624477bcff4e2cf1f7deab648f1",
2819
+ "blockNumber": "0xa8ed15",
2820
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
2821
+ "transactionIndex": "0x0",
2822
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
2823
+ "blockTimestamp": "0x6a30e54c",
2824
+ "logIndex": "0x5",
2825
+ "removed": false
2826
+ },
2827
+ {
2828
+ "address": "0x5aff29060e023e6fb87be5596652b33c65af535b",
2829
+ "topics": [
2830
+ "0xb648241d83df6540fc10f2acc641e4bf80a1e84e7ae2f1f6b0ad204b8fee635b",
2831
+ "0x0000000000000000000000000000000000000000000000000000000000000004"
2832
+ ],
2833
+ "data": "0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000003fcec3572e84b624477bcff4e2cf1f7deab648f10000000000000000000000000000000000000000000000000000000000000002000000000000000000000000130f5dd2bd8805443cf41755253d778a75a67f53000000000000000000000000e0427f250fdb0379c8e98e884ee4570521208cbc",
2834
+ "blockNumber": "0xa8ed15",
2835
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
2836
+ "transactionIndex": "0x0",
2837
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
2838
+ "blockTimestamp": "0x6a30e54c",
2839
+ "logIndex": "0x6",
2840
+ "removed": false
2841
+ },
2842
+ {
2843
+ "address": "0x26f2228a4e8b0079ed1c2a3d22f12ff7f83cdfba",
2844
+ "topics": [
2845
+ "0x470520533918800d64f06ee1795a39e90ff3c27a15350a235e17bd23698a470e",
2846
+ "0x000000000000000000000000000000000000000000000000000000006a30e54c",
2847
+ "0x0000000000000000000000000000000000000000000000000000000000000004",
2848
+ "0x0000000000000000000000000000000000000000000000000000000000000000"
2849
+ ],
2850
+ "data": "0x0000000000000000000000003fcec3572e84b624477bcff4e2cf1f7deab648f1",
2851
+ "blockNumber": "0xa8ed15",
2852
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
2853
+ "transactionIndex": "0x0",
2854
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
2855
+ "blockTimestamp": "0x6a30e54c",
2856
+ "logIndex": "0x7",
2857
+ "removed": false
2858
+ },
2859
+ {
2860
+ "address": "0x26f2228a4e8b0079ed1c2a3d22f12ff7f83cdfba",
2861
+ "topics": [
2862
+ "0x11a490bebff1beffe4bdd210894aca6ea5049427ce4b3c48865717677199cb07",
2863
+ "0x000000000000000000000000000000000000000000000000000000006a30e54c",
2864
+ "0x0000000000000000000000000000000000000000000000000000000000000004"
2865
+ ],
2866
+ "data": "0x00000000000000000000000000000000000000000000000000000000004f1a0000000000000000000000000000000000000000000000021e19e0c9bab24000000000000000000000000000000000000000000000000000000000000016a6570000000000000000000000000000000000000000000000000000000000000000000010ae91c16b40ccb37eca66d1481a10e2f2e8feabcf0040000000103e80ed810000000000000000000000000000000000000000000000000000000067bcee640000000000000000000000003fcec3572e84b624477bcff4e2cf1f7deab648f1",
2867
+ "blockNumber": "0xa8ed15",
2868
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
2869
+ "transactionIndex": "0x0",
2870
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
2871
+ "blockTimestamp": "0x6a30e54c",
2872
+ "logIndex": "0x8",
2873
+ "removed": false
2874
+ },
2875
+ {
2876
+ "address": "0x28b3d11fcb8d2ad0a143c5b193cd9f2e4d43f4c3",
2877
+ "topics": [
2878
+ "0x69c855c8ffc5bedfff6e518b2078f429113a6b2a827cf3b0fb686f47689ea2ca",
2879
+ "0x0000000000000000000000000000000000000000000000000000000000000004",
2880
+ "0x000000000000000000000000000000000000000000000000000000006a30e54c",
2881
+ "0x0000000000000000000000000000000000000000000000000000000000000001"
2882
+ ],
2883
+ "data": "0x000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022988374af49507fec1ee78811fbc47d10d5e6390000000000000000000000003fcec3572e84b624477bcff4e2cf1f7deab648f1",
2884
+ "blockNumber": "0xa8ed15",
2885
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
2886
+ "transactionIndex": "0x0",
2887
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
2888
+ "blockTimestamp": "0x6a30e54c",
2889
+ "logIndex": "0x9",
2890
+ "removed": false
2891
+ },
2892
+ {
2893
+ "address": "0xc93360158f187fc8fc8f1062a1b31d06f185dbab",
2894
+ "topics": [
2895
+ "0xce85126d80e10d0807c5b3c14ac4320e0a8e781c2f945e04accd7919bb9d719f",
2896
+ "0x000000000000000000000000000000000000000000000000000000006a30e54c",
2897
+ "0x0000000000000000000000000000000000000000000000000000000000000004"
2898
+ ],
2899
+ "data": "0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000003fcec3572e84b624477bcff4e2cf1f7deab648f1000000000000000000000000130f5dd2bd8805443cf41755253d778a75a67f53000000000000000000000000000000000000000000000000000000000000eeee000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000eeee",
2900
+ "blockNumber": "0xa8ed15",
2901
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
2902
+ "transactionIndex": "0x0",
2903
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
2904
+ "blockTimestamp": "0x6a30e54c",
2905
+ "logIndex": "0xa",
2906
+ "removed": false
2907
+ },
2908
+ {
2909
+ "address": "0x26f2228a4e8b0079ed1c2a3d22f12ff7f83cdfba",
2910
+ "topics": [
2911
+ "0x470520533918800d64f06ee1795a39e90ff3c27a15350a235e17bd23698a470e",
2912
+ "0x000000000000000000000000000000000000000000000000000000006a30e54d",
2913
+ "0x0000000000000000000000000000000000000000000000000000000000000004",
2914
+ "0x000000000000000000000000000000000000000000000000000000006a30e54c"
2915
+ ],
2916
+ "data": "0x0000000000000000000000003fcec3572e84b624477bcff4e2cf1f7deab648f1",
2917
+ "blockNumber": "0xa8ed15",
2918
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
2919
+ "transactionIndex": "0x0",
2920
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
2921
+ "blockTimestamp": "0x6a30e54c",
2922
+ "logIndex": "0xb",
2923
+ "removed": false
2924
+ },
2925
+ {
2926
+ "address": "0x26f2228a4e8b0079ed1c2a3d22f12ff7f83cdfba",
2927
+ "topics": [
2928
+ "0x11a490bebff1beffe4bdd210894aca6ea5049427ce4b3c48865717677199cb07",
2929
+ "0x000000000000000000000000000000000000000000000000000000006a30e54d",
2930
+ "0x0000000000000000000000000000000000000000000000000000000000000004"
2931
+ ],
2932
+ "data": "0x00000000000000000000000000000000000000000000000000000000001baf80000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000042c1d8000000000000000000000000000000000000000000000000000000000000000000010ae91c16b40ccb37eca66d1481a10e2f2e8feabcf0040000000103e80ed810000000000000000000000000000000000000000000000000000000069978a640000000000000000000000003fcec3572e84b624477bcff4e2cf1f7deab648f1",
2933
+ "blockNumber": "0xa8ed15",
2934
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
2935
+ "transactionIndex": "0x0",
2936
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
2937
+ "blockTimestamp": "0x6a30e54c",
2938
+ "logIndex": "0xc",
2939
+ "removed": false
2940
+ },
2941
+ {
2942
+ "address": "0x28b3d11fcb8d2ad0a143c5b193cd9f2e4d43f4c3",
2943
+ "topics": [
2944
+ "0x69c855c8ffc5bedfff6e518b2078f429113a6b2a827cf3b0fb686f47689ea2ca",
2945
+ "0x0000000000000000000000000000000000000000000000000000000000000004",
2946
+ "0x000000000000000000000000000000000000000000000000000000006a30e54d",
2947
+ "0x0000000000000000000000000000000000000000000000000000000000000001"
2948
+ ],
2949
+ "data": "0x000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022988374af49507fec1ee78811fbc47d10d5e6390000000000000000000000003fcec3572e84b624477bcff4e2cf1f7deab648f1",
2950
+ "blockNumber": "0xa8ed15",
2951
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
2952
+ "transactionIndex": "0x0",
2953
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
2954
+ "blockTimestamp": "0x6a30e54c",
2955
+ "logIndex": "0xd",
2956
+ "removed": false
2957
+ },
2958
+ {
2959
+ "address": "0xc93360158f187fc8fc8f1062a1b31d06f185dbab",
2960
+ "topics": [
2961
+ "0xce85126d80e10d0807c5b3c14ac4320e0a8e781c2f945e04accd7919bb9d719f",
2962
+ "0x000000000000000000000000000000000000000000000000000000006a30e54d",
2963
+ "0x0000000000000000000000000000000000000000000000000000000000000004"
2964
+ ],
2965
+ "data": "0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000003fcec3572e84b624477bcff4e2cf1f7deab648f1000000000000000000000000130f5dd2bd8805443cf41755253d778a75a67f53000000000000000000000000000000000000000000000000000000000000eeee000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000eeee",
2966
+ "blockNumber": "0xa8ed15",
2967
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
2968
+ "transactionIndex": "0x0",
2969
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
2970
+ "blockTimestamp": "0x6a30e54c",
2971
+ "logIndex": "0xe",
2972
+ "removed": false
2973
+ },
2974
+ {
2975
+ "address": "0x26f2228a4e8b0079ed1c2a3d22f12ff7f83cdfba",
2976
+ "topics": [
2977
+ "0x470520533918800d64f06ee1795a39e90ff3c27a15350a235e17bd23698a470e",
2978
+ "0x000000000000000000000000000000000000000000000000000000006a30e54e",
2979
+ "0x0000000000000000000000000000000000000000000000000000000000000004",
2980
+ "0x000000000000000000000000000000000000000000000000000000006a30e54d"
2981
+ ],
2982
+ "data": "0x0000000000000000000000003fcec3572e84b624477bcff4e2cf1f7deab648f1",
2983
+ "blockNumber": "0xa8ed15",
2984
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
2985
+ "transactionIndex": "0x0",
2986
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
2987
+ "blockTimestamp": "0x6a30e54c",
2988
+ "logIndex": "0xf",
2989
+ "removed": false
2990
+ },
2991
+ {
2992
+ "address": "0x26f2228a4e8b0079ed1c2a3d22f12ff7f83cdfba",
2993
+ "topics": [
2994
+ "0x11a490bebff1beffe4bdd210894aca6ea5049427ce4b3c48865717677199cb07",
2995
+ "0x000000000000000000000000000000000000000000000000000000006a30e54e",
2996
+ "0x0000000000000000000000000000000000000000000000000000000000000004"
2997
+ ],
2998
+ "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010ae91c16b40ccb37eca66d1481a10e2f2e8feabcf0040000000103e800001000000000000000000000000000000000000000000000000000000006fc592640000000000000000000000003fcec3572e84b624477bcff4e2cf1f7deab648f1",
2999
+ "blockNumber": "0xa8ed15",
3000
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3001
+ "transactionIndex": "0x0",
3002
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3003
+ "blockTimestamp": "0x6a30e54c",
3004
+ "logIndex": "0x10",
3005
+ "removed": false
3006
+ },
3007
+ {
3008
+ "address": "0x28b3d11fcb8d2ad0a143c5b193cd9f2e4d43f4c3",
3009
+ "topics": [
3010
+ "0x69c855c8ffc5bedfff6e518b2078f429113a6b2a827cf3b0fb686f47689ea2ca",
3011
+ "0x0000000000000000000000000000000000000000000000000000000000000004",
3012
+ "0x000000000000000000000000000000000000000000000000000000006a30e54e",
3013
+ "0x0000000000000000000000000000000000000000000000000000000000000001"
3014
+ ],
3015
+ "data": "0x000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022988374af49507fec1ee78811fbc47d10d5e6390000000000000000000000003fcec3572e84b624477bcff4e2cf1f7deab648f1",
3016
+ "blockNumber": "0xa8ed15",
3017
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3018
+ "transactionIndex": "0x0",
3019
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3020
+ "blockTimestamp": "0x6a30e54c",
3021
+ "logIndex": "0x11",
3022
+ "removed": false
3023
+ },
3024
+ {
3025
+ "address": "0xc93360158f187fc8fc8f1062a1b31d06f185dbab",
3026
+ "topics": [
3027
+ "0xce85126d80e10d0807c5b3c14ac4320e0a8e781c2f945e04accd7919bb9d719f",
3028
+ "0x000000000000000000000000000000000000000000000000000000006a30e54e",
3029
+ "0x0000000000000000000000000000000000000000000000000000000000000004"
3030
+ ],
3031
+ "data": "0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000003fcec3572e84b624477bcff4e2cf1f7deab648f1000000000000000000000000130f5dd2bd8805443cf41755253d778a75a67f53000000000000000000000000000000000000000000000000000000000000eeee000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000eeee",
3032
+ "blockNumber": "0xa8ed15",
3033
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3034
+ "transactionIndex": "0x0",
3035
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3036
+ "blockTimestamp": "0x6a30e54c",
3037
+ "logIndex": "0x12",
3038
+ "removed": false
3039
+ },
3040
+ {
3041
+ "address": "0x3fcec3572e84b624477bcff4e2cf1f7deab648f1",
3042
+ "topics": [
3043
+ "0x8c9d461b22fb3063f8aebc64fc6ca08d8e98aebee1bb8fe17c57dcd091bd90a2"
3044
+ ],
3045
+ "data": "0x000000000000000000000000000000000000000000000000000000006a30e54e000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000b552eb94284f94b833837d4b2cbb237128415d4e0000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d4e5a397152725a4d41784d313650776b62614a5963394c757766697062635a79456733336f50707a5750636f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
3046
+ "blockNumber": "0xa8ed15",
3047
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3048
+ "transactionIndex": "0x0",
3049
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3050
+ "blockTimestamp": "0x6a30e54c",
3051
+ "logIndex": "0x13",
3052
+ "removed": false
3053
+ },
3054
+ {
3055
+ "address": "0xb552eb94284f94b833837d4b2cbb237128415d4e",
3056
+ "topics": [
3057
+ "0x48a9634f50564cfe6648ff5e75795a36873bf96c408523d50017032657e67198",
3058
+ "0x0000000000000000000000000000000000000000000000000000000000000004"
3059
+ ],
3060
+ "data": "0x000000000000000000000000000000000000000000000000000000006a3a1fcc0000000000000000000000004dc161ef837ff1c4485b08ddfcdb182f2157be18",
3061
+ "blockNumber": "0xa8ed15",
3062
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3063
+ "transactionIndex": "0x0",
3064
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3065
+ "blockTimestamp": "0x6a30e54c",
3066
+ "logIndex": "0x14",
3067
+ "removed": false
3068
+ },
3069
+ {
3070
+ "address": "0x3fcec3572e84b624477bcff4e2cf1f7deab648f1",
3071
+ "topics": [
3072
+ "0xa05dbc6b81da28529b01c0a1d1166c44ccd67676f06d2441002870ec5bc4a158",
3073
+ "0x0000000000000000000000000000000000000000000000000000000000000004",
3074
+ "0x000000000000000000000000b552eb94284f94b833837d4b2cbb237128415d4e"
3075
+ ],
3076
+ "data": "0x55c1035b3e6a03e3d858911c0f326cf332e10b90b96a53449f9b78fd8334e0c21499d9e666eddf95e4e7081a5491a57bbc6fe021f4836eb23df35d7dcb2e24c0000000000000000000000000b552eb94284f94b833837d4b2cbb237128415d4e",
3077
+ "blockNumber": "0xa8ed15",
3078
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3079
+ "transactionIndex": "0x0",
3080
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3081
+ "blockTimestamp": "0x6a30e54c",
3082
+ "logIndex": "0x15",
3083
+ "removed": false
3084
+ },
3085
+ {
3086
+ "address": "0x1f80d8f057ee36b4c2656d107e4e4558b71ba7d9",
3087
+ "topics": [
3088
+ "0xb4510654a5884cae50948507300dc482833ed1446cef375e064bef00b6b4ba4e",
3089
+ "0x0000000000000000000000000000000000000000000000000000000000000004",
3090
+ "0x0000000000000000000000007b65cff06ff28bf6383a25375bb81500441cf93a"
3091
+ ],
3092
+ "data": "0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c01499d9e666eddf95e4e7081a5491a57bbc6fe021f4836eb23df35d7dcb2e24c00000000000000000000000003fcec3572e84b624477bcff4e2cf1f7deab648f1000000000000000000000000000000000000000000000000000000000000000d42616e6e79204e6574776f726b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000342414e0000000000000000000000000000000000000000000000000000000000",
3093
+ "blockNumber": "0xa8ed15",
3094
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3095
+ "transactionIndex": "0x0",
3096
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3097
+ "blockTimestamp": "0x6a30e54c",
3098
+ "logIndex": "0x16",
3099
+ "removed": false
3100
+ },
3101
+ {
3102
+ "address": "0xe03a1074c86cfedd5c142c4f04f1a1536e203543",
3103
+ "topics": [
3104
+ "0xdd466e674ea557f56295e2d0218a125ea4b4f0f6f3307b95f85e6110838d6438",
3105
+ "0xccac06a2efe098a3ea4f62ab06ce1a01fa3944fafbae7172169858421742a66d",
3106
+ "0x0000000000000000000000000000000000000000000000000000000000000000",
3107
+ "0x0000000000000000000000007b65cff06ff28bf6383a25375bb81500441cf93a"
3108
+ ],
3109
+ "data": "0x000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000c8000000000000000000000000733ed06a75a8535af1c33ec6fa79371f42b0d5c8000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000000000000000000000000167cc",
3110
+ "blockNumber": "0xa8ed15",
3111
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3112
+ "transactionIndex": "0x0",
3113
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3114
+ "blockTimestamp": "0x6a30e54c",
3115
+ "logIndex": "0x17",
3116
+ "removed": false
3117
+ },
3118
+ {
3119
+ "address": "0xc7c8334b09e43a38c20b43cf0f824e074280b566",
3120
+ "topics": [
3121
+ "0xac260005f5a1d1cb696ab1065059083a3769fa09f4b4699f1dafd670d071a921",
3122
+ "0x0000000000000000000000000000000000000000000000000000000000000004",
3123
+ "0x0000000000000000000000000000000000000000000000000000000000000000"
3124
+ ],
3125
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a30000000000000000000000000072f55a54cd53410a5ff175508a5a384227081788",
3126
+ "blockNumber": "0xa8ed15",
3127
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3128
+ "transactionIndex": "0x0",
3129
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3130
+ "blockTimestamp": "0x6a30e54c",
3131
+ "logIndex": "0x18",
3132
+ "removed": false
3133
+ },
3134
+ {
3135
+ "address": "0xc7c8334b09e43a38c20b43cf0f824e074280b566",
3136
+ "topics": [
3137
+ "0x8b6c6e3acbbb079495759cfeb1dbf99774b60962f29ff5d8299cbf1dc49f9b14",
3138
+ "0x0000000000000000000000000000000000000000000000000000000000000004",
3139
+ "0x0000000000000000000000000000000000000000000000000000000000000000"
3140
+ ],
3141
+ "data": "0xccac06a2efe098a3ea4f62ab06ce1a01fa3944fafbae7172169858421742a66d00000000000000000000000072f55a54cd53410a5ff175508a5a384227081788",
3142
+ "blockNumber": "0xa8ed15",
3143
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3144
+ "transactionIndex": "0x0",
3145
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3146
+ "blockTimestamp": "0x6a30e54c",
3147
+ "logIndex": "0x19",
3148
+ "removed": false
3149
+ },
3150
+ {
3151
+ "address": "0x6017d1fba9dc279bfa0b03fd931c22e242ab3691",
3152
+ "topics": [
3153
+ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
3154
+ "0x000000000000000000000000b552eb94284f94b833837d4b2cbb237128415d4e",
3155
+ "0x0000000000000000000000002ba4705ad0332cdfb299b452068438bcba3faaf3",
3156
+ "0x0000000000000000000000000000000000000000000000000000000000000004"
3157
+ ],
3158
+ "data": "0x",
3159
+ "blockNumber": "0xa8ed15",
3160
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3161
+ "transactionIndex": "0x0",
3162
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3163
+ "blockTimestamp": "0x6a30e54c",
3164
+ "logIndex": "0x1a",
3165
+ "removed": false
3166
+ },
3167
+ {
3168
+ "address": "0xb552eb94284f94b833837d4b2cbb237128415d4e",
3169
+ "topics": [
3170
+ "0x300339ade500635ed72eec6541728d68d312f6e82257c0538a88effe214ec606",
3171
+ "0x0000000000000000000000000000000000000000000000000000000000000004"
3172
+ ],
3173
+ "data": "0x27a036baabb516e9c4040a861396bc104c2ce50f78dfdf15d07d0dc650b6352b00000000000000000000000000000000000000000000000000000000000000600000000000000000000000004dc161ef837ff1c4485b08ddfcdb182f2157be1800000000000000000000000000000000000000000000000000000000000000405f42414e5f5355434b455256365f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000041d28bedd5b0fbf65424b48c0e1de92d5c882fc7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000eeee0000000000000000000000000000000000000000000000000000000000030d40000000000000000000000000000000000000000000000000000000000000eeee0000000000000000000000003955fec11fe15f0be4dfa2b0153feef55d55e1ee000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000eeee0000000000000000000000000000000000000000000000000000000000030d40000000000000000000000000000000000000000000000000000000000000eeee00000000000000000000000036a2e30029d87c46f77f71b7b6b97fec8a760660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000eeee0000000000000000000000000000000000000000000000000000000000030d40000000000000000000000000000000000000000000000000000000000000eeee",
3174
+ "blockNumber": "0xa8ed15",
3175
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3176
+ "transactionIndex": "0x0",
3177
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3178
+ "blockTimestamp": "0x6a30e54c",
3179
+ "logIndex": "0x1b",
3180
+ "removed": false
3181
+ },
3182
+ {
3183
+ "address": "0x9a2d3cfce1ca9582723991084cb36cef34e1588e",
3184
+ "topics": [
3185
+ "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2"
3186
+ ],
3187
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000001",
3188
+ "blockNumber": "0xa8ed15",
3189
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3190
+ "transactionIndex": "0x0",
3191
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3192
+ "blockTimestamp": "0x6a30e54c",
3193
+ "logIndex": "0x1c",
3194
+ "removed": false
3195
+ },
3196
+ {
3197
+ "address": "0x7903a854ae91eaf635430d120a1a434085cef297",
3198
+ "topics": [
3199
+ "0x4d33ed88848a039f44d3828ced48c3992796e9af4f90e48c5ff6f3d0ca1f4e21"
3200
+ ],
3201
+ "data": "0x00000000000000000000000000000000000000000000000000000000000000040000000000000000000000009a2d3cfce1ca9582723991084cb36cef34e1588e0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000b552eb94284f94b833837d4b2cbb237128415d4e00000000000000000000000041d28bedd5b0fbf65424b48c0e1de92d5c882fc7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000eeee0000000000000000000000000000000000000000000000000000000000030d40000000000000000000000000000000000000000000000000000000000000eeee",
3202
+ "blockNumber": "0xa8ed15",
3203
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3204
+ "transactionIndex": "0x0",
3205
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3206
+ "blockTimestamp": "0x6a30e54c",
3207
+ "logIndex": "0x1d",
3208
+ "removed": false
3209
+ },
3210
+ {
3211
+ "address": "0x51061f1616c1fefe187e40738a0533fb712c352b",
3212
+ "topics": [
3213
+ "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2"
3214
+ ],
3215
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000001",
3216
+ "blockNumber": "0xa8ed15",
3217
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3218
+ "transactionIndex": "0x0",
3219
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3220
+ "blockTimestamp": "0x6a30e54c",
3221
+ "logIndex": "0x1e",
3222
+ "removed": false
3223
+ },
3224
+ {
3225
+ "address": "0x7903a854ae91eaf635430d120a1a434085cef297",
3226
+ "topics": [
3227
+ "0x4d33ed88848a039f44d3828ced48c3992796e9af4f90e48c5ff6f3d0ca1f4e21"
3228
+ ],
3229
+ "data": "0x000000000000000000000000000000000000000000000000000000000000000400000000000000000000000051061f1616c1fefe187e40738a0533fb712c352b0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000b552eb94284f94b833837d4b2cbb237128415d4e0000000000000000000000003955fec11fe15f0be4dfa2b0153feef55d55e1ee000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000eeee0000000000000000000000000000000000000000000000000000000000030d40000000000000000000000000000000000000000000000000000000000000eeee",
3230
+ "blockNumber": "0xa8ed15",
3231
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3232
+ "transactionIndex": "0x0",
3233
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3234
+ "blockTimestamp": "0x6a30e54c",
3235
+ "logIndex": "0x1f",
3236
+ "removed": false
3237
+ },
3238
+ {
3239
+ "address": "0x6d37b25e1f01c27b8c0f6455739203aca7297f30",
3240
+ "topics": [
3241
+ "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2"
3242
+ ],
3243
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000001",
3244
+ "blockNumber": "0xa8ed15",
3245
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3246
+ "transactionIndex": "0x0",
3247
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3248
+ "blockTimestamp": "0x6a30e54c",
3249
+ "logIndex": "0x20",
3250
+ "removed": false
3251
+ },
3252
+ {
3253
+ "address": "0x7903a854ae91eaf635430d120a1a434085cef297",
3254
+ "topics": [
3255
+ "0x4d33ed88848a039f44d3828ced48c3992796e9af4f90e48c5ff6f3d0ca1f4e21"
3256
+ ],
3257
+ "data": "0x00000000000000000000000000000000000000000000000000000000000000040000000000000000000000006d37b25e1f01c27b8c0f6455739203aca7297f300000000000000000000000000000000000000000000000000000000000000080000000000000000000000000b552eb94284f94b833837d4b2cbb237128415d4e00000000000000000000000036a2e30029d87c46f77f71b7b6b97fec8a760660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000eeee0000000000000000000000000000000000000000000000000000000000030d40000000000000000000000000000000000000000000000000000000000000eeee",
3258
+ "blockNumber": "0xa8ed15",
3259
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3260
+ "transactionIndex": "0x0",
3261
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3262
+ "blockTimestamp": "0x6a30e54c",
3263
+ "logIndex": "0x21",
3264
+ "removed": false
3265
+ },
3266
+ {
3267
+ "address": "0xb552eb94284f94b833837d4b2cbb237128415d4e",
3268
+ "topics": [
3269
+ "0xb9a95983be1f2c4cbad2f5a32c4606b35d2a6ac166a79dbcdf955a30061314f8",
3270
+ "0x0000000000000000000000000000000000000000000000000000000000000004"
3271
+ ],
3272
+ "data": "0x00000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000b800000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000000106027a036baabb516e9c4040a861396bc104c2ce50f78dfdf15d07d0dc650b6352b0000000000000000000000004dc161ef837ff1c4485b08ddfcdb182f2157be1800000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000004dc161ef837ff1c4485b08ddfcdb182f2157be1800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001005f42414e5f455243323056365f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d42616e6e79204e6574776f726b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000342414e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d4e5a397152725a4d41784d313650776b62614a5963394c757766697062635a79456733336f50707a5750636f000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000006800000000000000000000000000000000000000000000000000000000067bcee6400000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000ed800000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000000000000000000000000000000000004f1a000000000000000000000000000000000000000000000000000000000016a6570000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000aa36a70000000000000000000000000000000000000000000074e616ad9d0676008ffd0000000000000000000000009e2a10ab3bd22831f19d02c648bc2cb49b1274500000000000000000000000000000000000000000000000000000000000014a3400000000000000000000000000000000000000000000027d2b5a30acbe52b9840000000000000000000000009e2a10ab3bd22831f19d02c648bc2cb49b1274500000000000000000000000000000000000000000000000000000000000aa37dc0000000000000000000000000000000000000000000000140f11c2cfdb246e5e0000000000000000000000009e2a10ab3bd22831f19d02c648bc2cb49b1274500000000000000000000000000000000000000000000000000000000000066eee00000000000000000000000000000000000000000000009e4c71958152b424d20000000000000000000000009e2a10ab3bd22831f19d02c648bc2cb49b1274500000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022988374af49507fec1ee78811fbc47d10d5e6390000000000000000000000000000000000000000000000000000000069978a6400000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000ed800000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000001baf8000000000000000000000000000000000000000000000000000000000042c1d8000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000aa36a700000000000000000000000000000000000000000000d3c21bcecceda10000000000000000000000000000009e2a10ab3bd22831f19d02c648bc2cb49b1274500000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022988374af49507fec1ee78811fbc47d10d5e639000000000000000000000000000000000000000000000000000000006fc5926400000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022988374af49507fec1ee78811fbc47d10d5e639000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000100000000000000000000000000130f5dd2bd8805443cf41755253d778a75a67f5300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000eeee0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000eeee000000000000000000000000e0427f250fdb0379c8e98e884ee4570521208cbc0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000405f42414e5f5355434b455256365f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000041d28bedd5b0fbf65424b48c0e1de92d5c882fc7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000eeee0000000000000000000000000000000000000000000000000000000000030d40000000000000000000000000000000000000000000000000000000000000eeee0000000000000000000000003955fec11fe15f0be4dfa2b0153feef55d55e1ee000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000eeee0000000000000000000000000000000000000000000000000000000000030d40000000000000000000000000000000000000000000000000000000000000eeee00000000000000000000000036a2e30029d87c46f77f71b7b6b97fec8a760660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000eeee0000000000000000000000000000000000000000000000000000000000030d40000000000000000000000000000000000000000000000000000000000000eeee0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000067bcee6400000000000000000000000000000000000000000000000000000000004f1a0000000000000000000000000000000000000000000000021e19e0c9bab24000000000000000000000000000000000000000000000000000000000000016a6570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ed800000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000002ba4705ad0332cdfb299b452068438bcba3faaf30000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022988374af49507fec1ee78811fbc47d10d5e63900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000130f5dd2bd8805443cf41755253d778a75a67f53000000000000000000000000000000000000000000000000000000000000eeee000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000eeee0000000000000000000000000000000000000000000000000000000069978a6400000000000000000000000000000000000000000000000000000000001baf80000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000042c1d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ed800000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000002ba4705ad0332cdfb299b452068438bcba3faaf30000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022988374af49507fec1ee78811fbc47d10d5e63900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000130f5dd2bd8805443cf41755253d778a75a67f53000000000000000000000000000000000000000000000000000000000000eeee000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000eeee000000000000000000000000000000000000000000000000000000006fc592640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000002ba4705ad0332cdfb299b452068438bcba3faaf30000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022988374af49507fec1ee78811fbc47d10d5e63900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000130f5dd2bd8805443cf41755253d778a75a67f53000000000000000000000000000000000000000000000000000000000000eeee000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000eeee",
3273
+ "blockNumber": "0xa8ed15",
3274
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3275
+ "transactionIndex": "0x0",
3276
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3277
+ "blockTimestamp": "0x6a30e54c",
3278
+ "logIndex": "0x22",
3279
+ "removed": false
3280
+ },
3281
+ {
3282
+ "address": "0xb7b8ec35e2dd84afff04ee769c6189e7a4d44a78",
3283
+ "topics": [
3284
+ "0xd76d022c77a474d529a79581eb88a726ad929fd23efbcb6a1f852d2d936299a5",
3285
+ "0x0000000000000000000000000000000000000000000000000000000000000004"
3286
+ ],
3287
+ "data": "0x000000000000000000000000e2193b4375a4a1e77fbf120699742ef0107f6084000000000000000000000000b552eb94284f94b833837d4b2cbb237128415d4e",
3288
+ "blockNumber": "0xa8ed15",
3289
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3290
+ "transactionIndex": "0x0",
3291
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3292
+ "blockTimestamp": "0x6a30e54c",
3293
+ "logIndex": "0x23",
3294
+ "removed": false
3295
+ },
3296
+ {
3297
+ "address": "0xe2193b4375a4a1e77fbf120699742ef0107f6084",
3298
+ "topics": [
3299
+ "0xe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16",
3300
+ "0x00000000000000000000000070d28338226e61a442ef516c731d371d13c9c6df"
3301
+ ],
3302
+ "data": "0x000000000000000000000000b7b8ec35e2dd84afff04ee769c6189e7a4d44a78",
3303
+ "blockNumber": "0xa8ed15",
3304
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3305
+ "transactionIndex": "0x0",
3306
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3307
+ "blockTimestamp": "0x6a30e54c",
3308
+ "logIndex": "0x24",
3309
+ "removed": false
3310
+ },
3311
+ {
3312
+ "address": "0xe2193b4375a4a1e77fbf120699742ef0107f6084",
3313
+ "topics": [
3314
+ "0x69a4ea1744cea8816339fc8993142d1fdad6432f24f361f65d34dd642aa46b9f",
3315
+ "0x0000000000000000000000000000000000000000000000000000000000000001"
3316
+ ],
3317
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000b7b8ec35e2dd84afff04ee769c6189e7a4d44a780000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000000",
3318
+ "blockNumber": "0xa8ed15",
3319
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3320
+ "transactionIndex": "0x0",
3321
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3322
+ "blockTimestamp": "0x6a30e54c",
3323
+ "logIndex": "0x25",
3324
+ "removed": false
3325
+ },
3326
+ {
3327
+ "address": "0xe2193b4375a4a1e77fbf120699742ef0107f6084",
3328
+ "topics": [
3329
+ "0x69a4ea1744cea8816339fc8993142d1fdad6432f24f361f65d34dd642aa46b9f",
3330
+ "0x0000000000000000000000000000000000000000000000000000000000000002"
3331
+ ],
3332
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000b7b8ec35e2dd84afff04ee769c6189e7a4d44a78000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000000",
3333
+ "blockNumber": "0xa8ed15",
3334
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3335
+ "transactionIndex": "0x0",
3336
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3337
+ "blockTimestamp": "0x6a30e54c",
3338
+ "logIndex": "0x26",
3339
+ "removed": false
3340
+ },
3341
+ {
3342
+ "address": "0xe2193b4375a4a1e77fbf120699742ef0107f6084",
3343
+ "topics": [
3344
+ "0x69a4ea1744cea8816339fc8993142d1fdad6432f24f361f65d34dd642aa46b9f",
3345
+ "0x0000000000000000000000000000000000000000000000000000000000000003"
3346
+ ],
3347
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000b7b8ec35e2dd84afff04ee769c6189e7a4d44a78000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000000",
3348
+ "blockNumber": "0xa8ed15",
3349
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3350
+ "transactionIndex": "0x0",
3351
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3352
+ "blockTimestamp": "0x6a30e54c",
3353
+ "logIndex": "0x27",
3354
+ "removed": false
3355
+ },
3356
+ {
3357
+ "address": "0xe2193b4375a4a1e77fbf120699742ef0107f6084",
3358
+ "topics": [
3359
+ "0x69a4ea1744cea8816339fc8993142d1fdad6432f24f361f65d34dd642aa46b9f",
3360
+ "0x0000000000000000000000000000000000000000000000000000000000000004"
3361
+ ],
3362
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000b7b8ec35e2dd84afff04ee769c6189e7a4d44a7800000000000000000000000000000000000000000000000000005af3107a4000000000000000000000000000000000000000000000000000000000003b9ac9ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000000",
3363
+ "blockNumber": "0xa8ed15",
3364
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3365
+ "transactionIndex": "0x0",
3366
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3367
+ "blockTimestamp": "0x6a30e54c",
3368
+ "logIndex": "0x28",
3369
+ "removed": false
3370
+ },
3371
+ {
3372
+ "address": "0xe2193b4375a4a1e77fbf120699742ef0107f6084",
3373
+ "topics": [
3374
+ "0xc8894f26f396ce8c004245c8b7cd1b92103a6e4302fcbab883987149ac01b7ec",
3375
+ "0x0000000000000000000000000000000000000000000000000000000000000000",
3376
+ "0x000000000000000000000000b7b8ec35e2dd84afff04ee769c6189e7a4d44a78"
3377
+ ],
3378
+ "data": "0x000000000000000000000000b7b8ec35e2dd84afff04ee769c6189e7a4d44a78",
3379
+ "blockNumber": "0xa8ed15",
3380
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3381
+ "transactionIndex": "0x0",
3382
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3383
+ "blockTimestamp": "0x6a30e54c",
3384
+ "logIndex": "0x29",
3385
+ "removed": false
3386
+ },
3387
+ {
3388
+ "address": "0xe2193b4375a4a1e77fbf120699742ef0107f6084",
3389
+ "topics": [
3390
+ "0xc8894f26f396ce8c004245c8b7cd1b92103a6e4302fcbab883987149ac01b7ec",
3391
+ "0x000000000000000000000000b7b8ec35e2dd84afff04ee769c6189e7a4d44a78",
3392
+ "0x000000000000000000000000b552eb94284f94b833837d4b2cbb237128415d4e"
3393
+ ],
3394
+ "data": "0x000000000000000000000000b7b8ec35e2dd84afff04ee769c6189e7a4d44a78",
3395
+ "blockNumber": "0xa8ed15",
3396
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3397
+ "transactionIndex": "0x0",
3398
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3399
+ "blockTimestamp": "0x6a30e54c",
3400
+ "logIndex": "0x2a",
3401
+ "removed": false
3402
+ },
3403
+ {
3404
+ "address": "0x581bfd1ead279e0a27b736e49494db3a7d85993c",
3405
+ "topics": [
3406
+ "0x7d6162a71c5021da669d43dd6f106854635e56ebf51a7d028ade33473c69c0fc",
3407
+ "0x000000000000000000000000e2193b4375a4a1e77fbf120699742ef0107f6084",
3408
+ "0x000000000000000000000000b7b8ec35e2dd84afff04ee769c6189e7a4d44a78"
3409
+ ],
3410
+ "data": "0x000000000000000000000000b7b8ec35e2dd84afff04ee769c6189e7a4d44a78",
3411
+ "blockNumber": "0xa8ed15",
3412
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3413
+ "transactionIndex": "0x0",
3414
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3415
+ "blockTimestamp": "0x6a30e54c",
3416
+ "logIndex": "0x2b",
3417
+ "removed": false
3418
+ },
3419
+ {
3420
+ "address": "0xe2193b4375a4a1e77fbf120699742ef0107f6084",
3421
+ "topics": [
3422
+ "0xc8894f26f396ce8c004245c8b7cd1b92103a6e4302fcbab883987149ac01b7ec",
3423
+ "0x000000000000000000000000b552eb94284f94b833837d4b2cbb237128415d4e",
3424
+ "0x0000000000000000000000002ba4705ad0332cdfb299b452068438bcba3faaf3"
3425
+ ],
3426
+ "data": "0x000000000000000000000000b552eb94284f94b833837d4b2cbb237128415d4e",
3427
+ "blockNumber": "0xa8ed15",
3428
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3429
+ "transactionIndex": "0x0",
3430
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3431
+ "blockTimestamp": "0x6a30e54c",
3432
+ "logIndex": "0x2c",
3433
+ "removed": false
3434
+ },
3435
+ {
3436
+ "address": "0xf92ac1ab5a00033e35a3975739124f61928c36b0",
3437
+ "topics": [
3438
+ "0x5324a861114a736770617a7dad3321b8417dc39698b30adfade6d0367b2e5d59",
3439
+ "0x0000000000000000000000004dc161ef837ff1c4485b08ddfcdb182f2157be18",
3440
+ "0x0000000000000000000000002ba4705ad0332cdfb299b452068438bcba3faaf3",
3441
+ "0x0000000000000000000000000000000000000000000000000000000000000004"
3442
+ ],
3443
+ "data": "0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000008ffc800800000000000000000000000002ba4705ad0332cdfb299b452068438bcba3faaf3000000000000000000000000000000000000000000000000000000000000000d0000000000000000000000000000000000000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000023000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001f0000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001b",
3444
+ "blockNumber": "0xa8ed15",
3445
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3446
+ "transactionIndex": "0x0",
3447
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3448
+ "blockTimestamp": "0x6a30e54c",
3449
+ "logIndex": "0x2d",
3450
+ "removed": false
3451
+ },
3452
+ {
3453
+ "address": "0x2ba4705ad0332cdfb299b452068438bcba3faaf3",
3454
+ "topics": [
3455
+ "0x81292c4d4e88fb7943bb880206d4a261fc961134c0a553ce9fd52db18ffe606e",
3456
+ "0x0000000000000000000000000000000000000000000000000000000000000004"
3457
+ ],
3458
+ "data": "0x000000000000000000000000b552eb94284f94b833837d4b2cbb237128415d4e",
3459
+ "blockNumber": "0xa8ed15",
3460
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3461
+ "transactionIndex": "0x0",
3462
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3463
+ "blockTimestamp": "0x6a30e54c",
3464
+ "logIndex": "0x2e",
3465
+ "removed": false
3466
+ },
3467
+ {
3468
+ "address": "0x4dc161ef837ff1c4485b08ddfcdb182f2157be18",
3469
+ "topics": [
3470
+ "0x6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb8",
3471
+ "0x00000000000000000000000091f164e1300f13beaf77358e4d84ed78f8e99d38"
3472
+ ],
3473
+ "data": "0x",
3474
+ "blockNumber": "0xa8ed15",
3475
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3476
+ "transactionIndex": "0x0",
3477
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3478
+ "blockTimestamp": "0x6a30e54c",
3479
+ "logIndex": "0x2f",
3480
+ "removed": false
3481
+ },
3482
+ {
3483
+ "address": "0x91f164e1300f13beaf77358e4d84ed78f8e99d38",
3484
+ "topics": [
3485
+ "0xa65fb05c5808f5f389d72edeaf719ce38f4cc55c1f69ca3cbfb31c21501caa07",
3486
+ "0xd5deab2e7deb1fc43c598724c179da0517b3ba8e35a6aa10843b370c51835520"
3487
+ ],
3488
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000074",
3489
+ "blockNumber": "0xa8ed15",
3490
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3491
+ "transactionIndex": "0x0",
3492
+ "blockHash": "0xca1dfd28fdf3717bd83a6456a43aaa1cb0647fa4ed249d9670224396097b40d2",
3493
+ "blockTimestamp": "0x6a30e54c",
3494
+ "logIndex": "0x30",
3495
+ "removed": false
3496
+ }
3497
+ ],
3498
+ "logsBloom": "0x0400108000009202000814c000180400005100018020020200000100200000004000200020c40000a0000024004042000400010002008000500000000204000080000002000060080008010c1800000802080020020448409820544008a60000480062010208044002000000040018800a008000000070014040821000008000881008084000000c00492502210002000000000900008000000000400020401480480004000025408000810001008002220000200284040181200001024441000001040200a000000100000000c08200000214118a340080000010008040600090043880d00001000144008022000002000010000086800081c0000000200000",
3499
+ "status": "0x1",
3500
+ "to": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
3501
+ "transactionHash": "0x825d1751834e7124d9283e36e06da2f2ba0507eaff5d1ba69984401e1318755f",
3502
+ "transactionIndex": "0x0",
3503
+ "type": "0x2"
3504
+ },
3505
+ "bytecode": "0x6101c0604052348015610010575f5ffd5b506040516165ee3803806165ee83398101604081905261002f9161041c565b8781888a6001600160a01b031663293c49996040518163ffffffff1660e01b8152600401602060405180830381865afa15801561006e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061009291906104c7565b6001600160a01b03828116608052811660a052335f83838383816100e85760405163076db9c360e21b81526001600160a01b03831660048201526001600160581b03821660248201526044015b60405180910390fd5b6100f28282610148565b5050506001600160a01b0395861660c0525050505091811660e05230610100529687166101205250509284166101405290831661016052821661018052166101a05250506009805460ff19166001179055610548565b6001600160581b0381161580159061016857506001600160a01b03821615155b156101a05760405163076db9c360e21b81526001600160a01b03831660048201526001600160581b03821660248201526044016100df565b604080516060810182525f80546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff1693830193909352909181036101f25750805161020c565b6020820151610209906001600160581b0316610299565b90505b604080516060810182526001600160a01b0386168082526001600160581b038616602083018190525f9290930182905281547fff000000000000000000000000000000000000000000000000000000000000001617600160a01b909202919091176001600160f81b03169055600180546001600160a01b031916905561029381858561030f565b50505050565b60a0516040516331a9108f60e11b8152600481018390525f916001600160a01b031690636352211e90602401602060405180830381865afa9250505080156102fe575060408051601f3d908101601f191682019092526102fb918101906104c7565b60015b61030957505f919050565b92915050565b816001600160581b03821615610334576103316001600160581b038316610299565b90505b6001600160a01b038082169085167fc8894f26f396ce8c004245c8b7cd1b92103a6e4302fcbab883987149ac01b7ec61036b61038c565b6040516001600160a01b03909116815260200160405180910390a350505050565b5f61039561039a565b905090565b5f3660148082108015906103b257506103b2336103e0565b156103d8576103c536828403815f6104e9565b6103ce91610510565b60601c9250505090565b339250505090565b5f6103ea60c05190565b6001600160a01b0316826001600160a01b0316149050919050565b6001600160a01b0381168114610419575f5ffd5b50565b5f5f5f5f5f5f5f5f610100898b031215610434575f5ffd5b885161043f81610405565b60208a015190985061045081610405565b60408a015190975061046181610405565b60608a015190965061047281610405565b60808a015190955061048381610405565b60a08a015190945061049481610405565b60c08a01519093506104a581610405565b60e08a01519092506104b681610405565b809150509295985092959890939650565b5f602082840312156104d7575f5ffd5b81516104e281610405565b9392505050565b5f5f858511156104f7575f5ffd5b83861115610503575f5ffd5b5050820193919092039150565b80356001600160601b03198116906014841015610541576001600160601b0319601485900360031b81901b82161691505b5092915050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615f346106ba5f395f6129fd01525f818161043201528181610ca2015281816113b0015261272d01525f818161055601528181610c8101528181610da1015281816112d60152818161138f015281816114ec01528181611588015281816116cb015281816118420152818161193001528181611fbd015281816120a801528181612355015281816124cd015281816128000152818161297f01528181612c33015281816136bf015261391001525f81816108f70152612d3d01525f81816103ff01528181611975015261254901525f818161099c0152818161195101528181611e12015281816121f7015261393101525f81816106f601528181610e3b01528181611d33015261270b01525f81816105b3015281816106c1015261375401525f81816104a301528181611b9c01528181611c2401526131a901525f81816109ee0152612b6d0152615f345ff3fe6080604052600436106102d9575f3560e01c8063715018a611610189578063c22903b2116100d8578063e8a3d48511610092578063f2fde38b1161006d578063f2fde38b146109be578063f434c914146109dd578063f672acac14610a10578063f88422e514610a40575f5ffd5b8063e8a3d48514610958578063e985e9c51461096c578063edab09b91461098b575f5ffd5b8063c22903b214610895578063c87b56dd146108a8578063cf7f4936146108c7578063d4a1b4b1146108e6578063d4ab100f14610919578063d95c9ae21461092d575f5ffd5b806399f6d77f11610143578063a22cb4651161011e578063a22cb465146107cd578063b88d4fde146107ec578063ba23c36e1461080b578063c0fb5e8514610876575f5ffd5b806399f6d77f1461076d5780639c2c6a021461078f578063a220d696146107ae575f5ffd5b8063715018a61461069f5780637da0a877146106b357806388bc2ef3146106e55780638cc35846146107185780638da5cb5b1461074557806395d89b4114610759575f5ffd5b80632c6bdd5511610245578063572b6c05116101ff5780636352211e116101da5780636352211e146106215780636ac6d941146106405780636c0360eb1461066c57806370a0823114610680575f5ffd5b8063572b6c05146105975780635a48c0b0146105e3578063613b856d14610602575f5ffd5b80632c6bdd55146104c55780633fafa127146104e457806342842e0e14610507578063437aa91a14610526578063507f14651461054557806354c6d1f514610578575f5ffd5b80631337f986116102965780631337f986146103db5780631eabcd34146103ee5780631f47ce691461042157806323b872dd146104545780632483d6b514610473578063293c499914610492575f5ffd5b806301ffc9a7146102dd57806306fdde0314610311578063081812fc1461033257806308786b1a14610369578063095ea7b31461039b5780630a4ee844146103bc575b5f5ffd5b3480156102e8575f5ffd5b506102fc6102f7366004613d8c565b610a5f565b60405190151581526020015b60405180910390f35b34801561031c575f5ffd5b50610325610a89565b6040516103089190613dd5565b34801561033d575f5ffd5b5061035161034c366004613de7565b610b19565b6040516001600160a01b039091168152602001610308565b348015610374575f5ffd5b50600e5463ffffffff81169060201c60ff1660408051928352602083019190915201610308565b3480156103a6575f5ffd5b506103ba6103b5366004613e1d565b610b40565b005b3480156103c7575f5ffd5b506103ba6103d636600461446c565b610b56565b6103ba6103e936600461458c565b610e1c565b3480156103f9575f5ffd5b506103517f000000000000000000000000000000000000000000000000000000000000000081565b34801561042c575f5ffd5b506103517f000000000000000000000000000000000000000000000000000000000000000081565b34801561045f575f5ffd5b506103ba61046e3660046145bd565b610f7b565b34801561047e575f5ffd5b506103ba61048d3660046145fb565b61100b565b34801561049d575f5ffd5b506103517f000000000000000000000000000000000000000000000000000000000000000081565b3480156104d0575f5ffd5b506103ba6104df366004614658565b61102a565b3480156104ef575f5ffd5b506104f960085481565b604051908152602001610308565b348015610512575f5ffd5b506103ba6105213660046145bd565b611344565b348015610531575f5ffd5b506103ba610540366004614789565b61135e565b348015610550575f5ffd5b506103517f000000000000000000000000000000000000000000000000000000000000000081565b348015610583575f5ffd5b50610351610592366004613de7565b611435565b3480156105a2575f5ffd5b506102fc6105b13660046147f3565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b3480156105ee575f5ffd5b50600f54610351906001600160a01b031681565b34801561060d575f5ffd5b506103ba61061c3660046145fb565b611476565b34801561062c575f5ffd5b5061035161063b366004613de7565b611693565b34801561064b575f5ffd5b5061065f61065a36600461480e565b61169d565b604051610308919061489a565b348015610677575f5ffd5b5061032561178f565b34801561068b575f5ffd5b506104f961069a3660046147f3565b61181b565b3480156106aa575f5ffd5b506103ba6118ae565b3480156106be575f5ffd5b507f0000000000000000000000000000000000000000000000000000000000000000610351565b3480156106f0575f5ffd5b506103517f000000000000000000000000000000000000000000000000000000000000000081565b348015610723575f5ffd5b506107376107323660046148ac565b6118c2565b6040516103089291906148e3565b348015610750575f5ffd5b50610351611a85565b348015610764575f5ffd5b50610325611af0565b348015610778575f5ffd5b506102fc6107873660046149a9565b5f9392505050565b34801561079a575f5ffd5b506103ba6107a9366004614ac6565b611aff565b3480156107b9575f5ffd5b506103ba6107c8366004613de7565b611b58565b3480156107d8575f5ffd5b506103ba6107e7366004614b04565b611cd1565b3480156107f7575f5ffd5b506103ba610806366004614b3b565b611ce3565b348015610816575f5ffd5b505f54610846906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff1690820152606001610308565b348015610881575f5ffd5b506103ba610890366004614ba2565b611cfa565b6103ba6108a336600461458c565b611d0b565b3480156108b3575f5ffd5b506103256108c2366004613de7565b611f8b565b3480156108d2575f5ffd5b506103ba6108e1366004614ac6565b61202d565b3480156108f1575f5ffd5b506103517f000000000000000000000000000000000000000000000000000000000000000081565b348015610924575f5ffd5b506104f9612091565b348015610938575f5ffd5b506104f96109473660046147f3565b600c6020525f908152604090205481565b348015610963575f5ffd5b5061032561211e565b348015610977575f5ffd5b506102fc610986366004614bbb565b61212b565b348015610996575f5ffd5b506103517f000000000000000000000000000000000000000000000000000000000000000081565b3480156109c9575f5ffd5b506103ba6109d83660046147f3565b612158565b3480156109e8575f5ffd5b506103517f000000000000000000000000000000000000000000000000000000000000000081565b348015610a1b575f5ffd5b50610a2f610a2a366004614be7565b6121a2565b604051610308959493929190614c1e565b348015610a4b575f5ffd5b506104f9610a5a366004614cd3565b61233c565b5f6001600160e01b031982166331d2b0bf60e21b1480610a835750610a838261238c565b92915050565b606060028054610a9890614d63565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac490614d63565b8015610b0f5780601f10610ae657610100808354040283529160200191610b0f565b820191905f5260205f20905b815481529060010190602001808311610af257829003601f168201915b5050505050905090565b5f610b2382612401565b505f828152600660205260409020546001600160a01b0316610a83565b610b528282610b4d612439565b612442565b5050565b60095460ff1615610b8957600854604051639889eb1160e01b8152600401610b8091815260200190565b60405180910390fd5b6009805460ff191660011790555f889003610bba576040516301928d0f60e61b815260048101899052602401610b80565b610bc588888861244f565b6012826040015160ff161115610bf95760408083015190516308fdbb5160e41b815260ff9091166004820152602401610b80565b602082810151604084015163ffffffff909116911b64ff000000001617600e819055855115610c3057600a610c2e8782614dd9565b505b835115610c4557600b610c438582614dd9565b505b6001600160a01b03851615610c5d57610c5d85612460565b82515115610d2257731bce2a3e60a6f4e72c756a7ead3484bb975c837863f236ea0a7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000060085430610ccd612439565b89516040516001600160e01b031960e089901b168152610cf596959493929190600401614f7f565b5f6040518083038186803b158015610d0b575f5ffd5b505af4158015610d1d573d5f5f3e3d5ffd5b505050505b815180610d30575081602001515b80610d3c575081604001515b80610d48575081606001515b80610d54575081608001515b15610e01576040805163183fd9bb60e21b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526080830151151560848201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906360ff66ec9060a4015f604051808303815f87803b158015610dea575f5ffd5b505af1158015610dfc573d5f5f3e3d5ffd5b505050505b610e11610e0c612439565b612198565b505050505050505050565b600854604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610e88573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eac91906150f7565b1580610ebc575080826020013514155b15610eed576040516335f5573160e21b81523360048201526020830135602482015260448101829052606401610b80565b5f61eeee610f02610100850160e086016147f3565b6001600160a01b031614610f16575f610f1d565b6101408301355b9050803414610f6d57610f37610100840160e085016147f3565b604051630c58637560e31b81526001600160a01b0390911660048201523460248201526101408401356044820152606401610b80565b610f7683612521565b505050565b6001600160a01b038216610fa457604051633250574960e11b81525f6004820152602401610b80565b5f610fb78383610fb2612439565b6127d6565b9050836001600160a01b0316816001600160a01b031614611005576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610b80565b50505050565b611020611016611a85565b600854601b612b02565b610b528282612c17565b61103f611035611a85565b6008546019612b02565b5f611048612439565b90508a156110e25761108e8c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250612cc392505050565b8b8b60405161109e929190615112565b6040519081900381206001600160a01b0383168252907fd315b28c9e71dc50793351a3f27803ce3472d655d79b6f52fc4b336eadbc05429060200160405180910390a25b881561117a576111268a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250612ccf92505050565b8989604051611136929190615112565b6040519081900381206001600160a01b0383168252907fc48624c8fb090834cea46486af4f54b7595342a993963196750b5881ee8cc3559060200160405180910390a25b86156111e257600a61118d888a83615121565b50878760405161119e929190615112565b6040519081900381206001600160a01b0383168252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b841561124a57600b6111f5868883615121565b508585604051611206929190615112565b6040519081900381206001600160a01b0383168252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b03841630146112635761126384612460565b821580159061127157508115155b1561133657604080518381526001600160a01b038316602082015284917fce8dda621a4b30fee578e8b162323c07e227b57448c59610338f1dc8b655f296910160405180910390a26040516370d15f5360e01b815260048101849052602481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370d15f53906044015f604051808303815f87803b15801561131f575f5ffd5b505af1158015611331573d5f5f3e3d5ffd5b505050505b505050505050505050505050565b610f7683838360405180602001604052805f815250611ce3565b611373611369611a85565b6008546018612b02565b731bce2a3e60a6f4e72c756a7ead3484bb975c8378634e2a0e437f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000600854306113db612439565b8a8a8a8a6040518a63ffffffff1660e01b815260040161140399989796959493929190615394565b5f6040518083038186803b158015611419575f5ffd5b505af415801561142b573d5f5f3e3d5ffd5b5050505050505050565b5f818152600d60205260408120546001600160a01b03168061146d575f838152600460205260409020546001600160a01b031661146f565b805b9392505050565b5f611482600854612cdb565b90506114a161149682610100015160f21c90565b600190811c81161490565b156114cd57600854604051630cf21c6b60e11b8152600481019190915260248101849052604401610b80565b604051635d53f40760e11b815260048101849052602481018390525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063baa7e80e906044015f604051808303815f875af1158015611539573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261156091908101906155a3565b60405162d5cc0160e21b8152306004820152602481018690529091505f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630357300490604401602060405180830381865afa1580156115cd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115f191906155d4565b90505f6115fc612439565b90505f5b8581101561168a575f84828151811061161b5761161b6155ef565b60200260200101519050836001600160a01b031688827f80dd2efbbc431cde0164d84d638e44ba6e7a3ca5d532ceef1bb4efcc0948325d8660405161166f91906001600160a01b0391909116815260200190565b60405180910390a46116818482612da7565b50600101611600565b50505050505050565b5f610a8382612401565b60606116b46116aa611a85565b600854601a612b02565b60405163eaa19ab360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063eaa19ab390611708905f199088908890600190600401615603565b5f604051808303815f875af1158015611723573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261174a919081019061565e565b9050508091505061146f818585808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052508893509150612e089050565b600a805461179c90614d63565b80601f01602080910402602001604051908101604052809291908181526020018280546117c890614d63565b80156118135780601f106117ea57610100808354040283529160200191611813565b820191905f5260205f20905b8154815290600101906020018083116117f657829003601f168201915b505050505081565b604051633de222bb60e21b81523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec906044015b602060405180830381865afa15801561188a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8391906156a9565b6118b6612ed6565b6118c05f5f61305f565b565b6040805160018082528183019092525f9160609190816020015b604080516080810182525f80825260208083018290529282015260608082015282525f199092019101816118dc5790505090505f60605f5f731bce2a3e60a6f4e72c756a7ead3484bb975c837863b99df6327f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000600e547f00000000000000000000000000000000000000000000000000000000000000008c6040518663ffffffff1660e01b81526004016119b5959493929190615777565b5f60405180830381865af41580156119cf573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526119f6919081019061589d565b604080516080810182523081525f602080830191909152818301879052969c509499509297509095509350909160608301918591611a38918c01908c016147f3565b8685604051602001611a4d949392919061591a565b604051602081830303815290604052815250855f81518110611a7157611a716155ef565b602002602001018190525050505050915091565b604080516060810182525f80546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff1693830193909352918203611ad45751919050565b611aea81602001516001600160581b0316613191565b91505090565b606060038054610a9890614d63565b5f5b81811015610f76575f838383818110611b1c57611b1c6155ef565b905060400201803603810190611b3291906159b6565b9050611b4f815f015163ffffffff16826020015161ffff16611476565b50600101611b01565b611b60612ed6565b801580611b7357506001600160581b0381115b15611b9a5760405163076db9c360e21b81525f600482015260248101829052604401610b80565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bf6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c1a91906156a9565b811115611cc457807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c7e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ca291906156a9565b604051635e0e2cff60e11b815260048101929092526024820152604401610b80565b611cce5f8261305f565b50565b610b52611cdc612439565b8383613224565b611cee848484610f7b565b611005848484846132c2565b611d02612ed6565b611cce816133e8565b60085434151580611da65750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015611d80573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611da491906150f7565b155b80611db5575080826020013514155b15611dec57604051630734d96960e01b81523360048201526020830135602482015260448101829052346064820152608401610b80565b60408051808201909152600781526618d85cda13dd5d60ca1b6020909101525f80611e9d7f000000000000000000000000000000000000000000000000000000000000000060601b7f86b14ff4df1839d4c5ed01550f2540ea56ad3e3813c5cd226eeab5890c21e3bb18611e646101e08701876159d0565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506134d092505050565b9150915060608215611ec05781806020019051810190611ebd91906155a3565b90505b5f5b8151811015611f7a575f828281518110611ede57611ede6155ef565b60200260200101519050865f016020810190611efa91906147f3565b6001600160a01b0316611f21825f908152600460205260409020546001600160a01b031690565b6001600160a01b031614611f685780611f3d60208901896147f3565b604051630694678560e21b815260048101929092526001600160a01b03166024820152604401610b80565b611f7181613670565b50600101611ec2565b50611f84816136a8565b5050505050565b604051636ce4a1df60e01b8152606090731bce2a3e60a6f4e72c756a7ead3484bb975c837890636ce4a1df90611fec907f0000000000000000000000000000000000000000000000000000000000000000903090600a908890600401615a12565b5f60405180830381865af4158015612006573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a839190810190615abc565b612038611016611a85565b5f5b81811015610f76575f838383818110612055576120556155ef565b90506040020180360381019061206b91906159b6565b9050612088815f015163ffffffff16826020015161ffff16612c17565b5060010161203a565b604051636149e06b60e11b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c293c0d690602401602060405180830381865afa1580156120f5573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211991906156a9565b905090565b600b805461179c90614d63565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205460ff1690565b612160612ed6565b6001600160a01b0381166121985760405163076db9c360e21b81526001600160a01b03821660048201525f6024820152604401610b80565b611cce815f61305f565b5f80808060606080860135156121d1576040516304029f2360e51b815260808701356004820152602401610b80565b60408051808201909152600781526618d85cda13dd5d60ca1b6020909101525f806122497f000000000000000000000000000000000000000000000000000000000000000060601b7f86b14ff4df1839d4c5ed01550f2540ea56ad3e3813c5cd226eeab5890c21e3bb18611e646101a08b018b6159d0565b604080516001808252818301909252929450909250816020015b604080516080810182525f80825260208083018290529282015260608082015282525f199092019101816122635790505092506040518060800160405280306001600160a01b031681526020015f151581526020015f815260200160405180602001604052805f815250815250835f815181106122e2576122e26155ef565b60200260200101819052506060821561230c578180602001905181019061230991906155a3565b90505b6123158161233c565b965061231f612091565b6101608a01359a9799909850610120013596939550929350505050565b604051639be748fb60e01b81525f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639be748fb9061186f9030908690600401615b00565b5f6001600160e01b03198216635ab8866d60e01b14806123bc57506001600160e01b0319821663e347239560e01b145b806123d757506001600160e01b0319821663099bfcc360e11b145b806123f257506001600160e01b0319821663611481d960e11b145b80610a835750610a83826136f4565b5f818152600460205260408120546001600160a01b03168061146d57604051637e27328960e01b815260048101849052602401610b80565b5f612119613743565b610f7683838360016137ad565b61245982826138b1565b5050600855565b806001600160a01b03167fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16612493612439565b6040516001600160a01b03909116815260200160405180910390a260405163036129cb60e61b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063d84a72c0906024015b5f604051808303815f87803b15801561250f575f5ffd5b505af1158015611f84573d5f5f3e3d5ffd5b600e546008545f918291731bce2a3e60a6f4e72c756a7ead3484bb975c83789163f327b88d917f00000000000000000000000000000000000000000000000000000000000000009060c0880180359061257d9060a08b01615b23565b61258d60a08b0160808c01614ba2565b6040516001600160e01b031960e089901b16815260048101969096526001600160a01b0390941660248601526044850192909252606484015263ffffffff16608483015260ff1660a482015260c4016040805180830381865af41580156125f6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061261a9190615b3e565b925090508161262857505050565b5f80606061263a6101c08701876159d0565b1590506126645761264f6101c08701876159d0565b81019061265c9190615b62565b919450925090505b6001600160a01b038316612687576126846101c087016101a088016147f3565b92505b6001600160a01b0382166126a5576126a260208701876147f3565b91505b6126be84836126b86101e08a018a6159d0565b876138ca565b610140860135156127ce5780515f036126ea5760405163dfb594cf60e01b815260040160405180910390fd5b600854731bce2a3e60a6f4e72c756a7ead3484bb975c83789063b720e93f907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000903061275f6101008d0160e08e016147f3565b8c60e001606001358d60e001602001602081019061277d9190614ba2565b896040518963ffffffff1660e01b81526004016127a1989796959493929190615bbf565b5f6040518083038186803b1580156127b7575f5ffd5b505af41580156127c9573d5f5f3e3d5ffd5b505050505b505050505050565b604051631a63e45960e21b8152306004820152602481018390525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063698f9164906044016040805180830381865afa158015612844573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128689190615b3e565b91509150612877868686613aee565b92506001600160a01b0383161561295157801561290f575f61289a600854612cdb565b90506001600160a01b038716158015906128ca57506128ca6128c182610100015160f21c90565b60019081161490565b1561290d57600854604051638bdca12760e01b81526004810191909152602481018790526001600160a01b03808616604483015288166064820152608401610b80565b505b5f858152600d60205260409020546001600160a01b0316612951575f858152600d6020526040902080546001600160a01b0319166001600160a01b0385161790555b6040516330b157e560e21b8152600481018390526001600160a01b03848116602483015287811660448301527f0000000000000000000000000000000000000000000000000000000000000000169063c2c55f94906064015f604051808303815f87803b1580156129c0575f5ffd5b505af11580156129d2573d5f5f3e3d5ffd5b5050600f546001600160a01b03169150612a90905057604051634c96a38960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634c96a389906024016020604051808303815f875af1158015612a4b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a6f91906155d4565b600f80546001600160a01b0319166001600160a01b03929092169190911790555b600f54604051634a39314960e01b81526001600160a01b03858116600483015288811660248301526044820188905290911690634a393149906064015f604051808303815f87803b158015612ae3575f5ffd5b505af1158015612af5573d5f5f3e3d5ffd5b5050505050509392505050565b5f612b0b612439565b9050836001600160a01b0316816001600160a01b031614158015612bd85750604051631a45b42760e11b81526001600160a01b0382811660048301528581166024830152604482018590526064820184905260016084830181905260a48301527f0000000000000000000000000000000000000000000000000000000000000000169063348b684e9060c401602060405180830381865afa158015612bb2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bd691906150f7565b155b1561100557604051631326f75560e11b81526001600160a01b038086166004830152821660248201526044810184905260648101839052608401610b80565b731bce2a3e60a6f4e72c756a7ead3484bb975c83786392801ea67f00000000000000000000000000000000000000000000000000000000000000008484612c5c612439565b60405160e086901b6001600160e01b03191681526001600160a01b0394851660048201526024810193909352604483019190915290911660648201526084015f6040518083038186803b158015612cb1575f5ffd5b505af41580156127ce573d5f5f3e3d5ffd5b6002610b528282614dd9565b6003610b528282614dd9565b60408051610120810182525f80825260208201819052818301819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082015290516321d1336160e11b8152600481018390526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906343a266c29060240161012060405180830381865afa158015612d83573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a839190615c4c565b6001600160a01b038216612dd057604051633250574960e11b81525f6004820152602401610b80565b5f612ddc83835f6127d6565b90506001600160a01b03811615610f76576040516339e3563760e11b81525f6004820152602401610b80565b5f612e11612439565b90505f5b85518110156127ce57836001600160a01b0316858281518110612e3a57612e3a6155ef565b602002602001015161ffff16878381518110612e5857612e586155ef565b60200260200101517f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68686604051612ea39291909182526001600160a01b0316602082015260400190565b60405180910390a4612ece84878381518110612ec157612ec16155ef565b6020026020010151612da7565b600101612e15565b604080516060810182525f80546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff169383019390935290918103612f85575080516001600160a01b038116612f35612439565b6001600160a01b031614610b525780612f4c612439565b604051631326f75560e11b81526001600160a01b039283166004820152911660248201525f604482018190526064820152608401610b80565b612f9b82602001516001600160581b0316613191565b9050604082015160ff811615801590612fc257506001546001600160a01b03838116911614155b15612fca57505f5b8060ff165f0361304457816001600160a01b0316612fe6612439565b6001600160a01b031614610f765781612ffd612439565b6020850151604051631326f75560e11b81526001600160a01b0393841660048201529290911660248301526001600160581b031660448201525f6064820152608401610b80565b610f768284602001516001600160581b03168360ff16612b02565b6001600160581b0381161580159061307f57506001600160a01b03821615155b156130b75760405163076db9c360e21b81526001600160a01b03831660048201526001600160581b0382166024820152604401610b80565b604080516060810182525f80546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091810361310957508051613122565b61311f82602001516001600160581b0316613191565b90505b604080516060810182526001600160a01b0386168082526001600160581b038616602083018190525f9290930182905281546001600160f81b03191617600160a01b909202919091176001600160f81b03169055600180546001600160a01b0319169055611005818585613be0565b6040516331a9108f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa925050508015613214575060408051601f3d908101601f19168201909252613211918101906155d4565b60015b61146d57505f919050565b919050565b6001600160a01b03821661325657604051630b61174360e31b81526001600160a01b0383166004820152602401610b80565b6001600160a01b038381165f81815260076020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b1561100557826001600160a01b031663150b7a026132e9612439565b8685856040518563ffffffff1660e01b815260040161330b9493929190615cfd565b6020604051808303815f875af1925050508015613345575060408051601f3d908101601f1916820190925261334291810190615d2f565b60015b6133ac573d808015613372576040519150601f19603f3d011682016040523d82523d5f602084013e613377565b606091505b5080515f036133a457604051633250574960e11b81526001600160a01b0385166004820152602401610b80565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b14611f8457604051633250574960e11b81526001600160a01b0385166004820152602401610b80565b5f54600160a01b90046001600160581b0316158015613409575060ff811615155b1561343e575f5460405163cb81547360e01b81526001600160a01b03909116600482015260ff82166024820152604401610b80565b5f80546001600160f81b0316600160f81b60ff84160217905561345f611a85565b600180546001600160a01b0319166001600160a01b03929092169190911790557f3a02c735461e3ddd7b1f6ccb1620101cec0d5c7ef32a2eb50b1b02a4191d8207816134a9612439565b6040805160ff90931683526001600160a01b0390911660208301520160405180910390a150565b5f606060258351116134f357505060408051602081019091525f80825290613669565b5f8361350160046020615d5e565b81518110613511576135116155ef565b0160209081015160f81c91505b5f8561352b600484615d5e565b8151811061353b5761353b6155ef565b01602001516001600160f81b03191614801590613561575061355e602083615d71565b81105b15613666575f85613573600484615d5e565b81518110613583576135836155ef565b016020908101518784019091015160f89190911c91506001600160e01b03198089169082160361365c575f6135b9602086615d71565b6135c4600986615d5e565b1015806135f95750876135d8600986615d5e565b815181106135e8576135e86155ef565b01602001516001600160f81b031916155b6136325760208861360b600987615d5e565b8151811061361b5761361b6155ef565b016020015161362d919060f81c615d71565b613635565b87515b9050600161364e89613648602087615d71565b84613c63565b965096505050505050613669565b505060050161351e565b50505b9250929050565b5f61367c5f835f6127d6565b90506001600160a01b038116610b5257604051637e27328960e01b815260048101839052602401610b80565b6040516386bc2be360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906386bc2be3906124f890849060040161489a565b5f6001600160e01b031982166380ac58cd60e01b148061372457506001600160e01b03198216635b5e139f60e01b145b80610a8357506301ffc9a760e01b6001600160e01b0319831614610a83565b5f36601480821080159061377f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633145b156137a55761379236828403815f615d88565b61379b91615daf565b60601c9250505090565b339250505090565b80806137c157506001600160a01b03821615155b15613882575f6137d084612401565b90506001600160a01b038316158015906137fc5750826001600160a01b0316816001600160a01b031614155b801561380f575061380d818461212b565b155b156138385760405163a9fbf51f60e01b81526001600160a01b0384166004820152602401610b80565b81156138805783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b50505f90815260066020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b60026138bd8382614dd9565b506003610f768282614dd9565b5f600c5f836001600160a01b03166001600160a01b031681526020019081526020015f205490505f5f5f731bce2a3e60a6f4e72c756a7ead3484bb975c837863a403c7977f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008c8c8a8a8e8e6040518963ffffffff1660e01b8152600401613979989796959493929190615dfc565b5f60405180830381865af4158015613993573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526139ba9190810190615e46565b92509250925082515f14613a02575f856001600160a01b0316896001600160a01b0316146139e857896139f2565b6139f2858b615d5e565b9050613a0084848884612e08565b505b838114610e115783811115613a6f576001600160a01b03851681613a268682615f14565b7f7e71a5f6c04b0eb16949316623b9dda7bd103692f7d89678e2260afa1378a2d5613a4f612439565b6040516001600160a01b03909116815260200160405180910390a4613ac9565b6001600160a01b03851681613a848187615f14565b7f6276f0169fb8de712b2a6c02789f6115136c589ed491ac06f9e20f41877e41fe613aad612439565b6040516001600160a01b03909116815260200160405180910390a45b6001600160a01b0385165f908152600c60205260409020819055505050505050505050565b5f828152600460205260408120546001600160a01b0390811690831615613b1a57613b1a818486613caf565b6001600160a01b03811615613b5457613b355f855f5f6137ad565b6001600160a01b0381165f90815260056020526040902080545f190190555b6001600160a01b03851615613b82576001600160a01b0385165f908152600560205260409020805460010190555b5f8481526004602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b816001600160581b03821615613c0557613c02826001600160581b0316613191565b90505b806001600160a01b0316846001600160a01b03167fc8894f26f396ce8c004245c8b7cd1b92103a6e4302fcbab883987149ac01b7ec613c42612439565b6040516001600160a01b03909116815260200160405180910390a350505050565b60608282036040519150601f19601f6020838501010116604052808252836020860101602083015f5b83811015613ca4578281015182820152602001613c8c565b505050509392505050565b613cba838383613d13565b610f76576001600160a01b038316613ce857604051637e27328960e01b815260048101829052602401610b80565b60405163177e802f60e01b81526001600160a01b038316600482015260248101829052604401610b80565b5f6001600160a01b03831615801590613d6f5750826001600160a01b0316846001600160a01b03161480613d4c5750613d4c848461212b565b80613d6f57505f828152600660205260409020546001600160a01b038481169116145b949350505050565b6001600160e01b031981168114611cce575f5ffd5b5f60208284031215613d9c575f5ffd5b813561146f81613d77565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61146f6020830184613da7565b5f60208284031215613df7575f5ffd5b5035919050565b6001600160a01b0381168114611cce575f5ffd5b803561321f81613dfe565b5f5f60408385031215613e2e575f5ffd5b8235613e3981613dfe565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715613e7d57613e7d613e47565b60405290565b60405160c081016001600160401b0381118282101715613e7d57613e7d613e47565b604051606081016001600160401b0381118282101715613e7d57613e7d613e47565b60405161016081016001600160401b0381118282101715613e7d57613e7d613e47565b60405161012081016001600160401b0381118282101715613e7d57613e7d613e47565b604051601f8201601f191681016001600160401b0381118282101715613f3557613f35613e47565b604052919050565b5f6001600160401b03821115613f5557613f55613e47565b50601f01601f191660200190565b5f82601f830112613f72575f5ffd5b8135602083015f613f8a613f8584613f3d565b613f0d565b9050828152858383011115613f9d575f5ffd5b828260208301375f92810160200192909252509392505050565b5f6001600160401b03821115613fcf57613fcf613e47565b5060051b60200190565b80356001600160681b038116811461321f575f5ffd5b63ffffffff81168114611cce575f5ffd5b803561321f81613fef565b61ffff81168114611cce575f5ffd5b803561321f8161400b565b803562ffffff8116811461321f575f5ffd5b803560ff8116811461321f575f5ffd5b8015158114611cce575f5ffd5b803561321f81614047565b5f60e0828403121561406f575f5ffd5b614077613e5b565b9050813561408481614047565b8152602082013561409481614047565b602082015260408201356140a781614047565b604082015260608201356140ba81614047565b60608201526140cb60808301614054565b60808201526140dc60a08301614054565b60a08201526140ed60c08301614054565b60c082015292915050565b80356001600160401b038116811461321f575f5ffd5b65ffffffffffff81168114611cce575f5ffd5b803561321f8161410e565b5f82601f83011261413b575f5ffd5b8135614149613f8582613fb7565b80828252602082019150602060c0840286010192508583111561416a575f5ffd5b602085015b838110156142085760c08188031215614186575f5ffd5b61418e613e83565b813561419981613fef565b81526141a7602083016140f8565b602082015260408201356141ba81613dfe565b604082015260608201356141cd81614047565b606082015260808201356141e08161410e565b608082015260a08201356141f381613dfe565b60a0820152835260209092019160c00161416f565b5095945050505050565b5f60608284031215614222575f5ffd5b61422a613ea5565b905081356001600160401b03811115614241575f5ffd5b8201601f81018413614251575f5ffd5b803561425f613f8582613fb7565b8082825260208201915060208360051b850101925086831115614280575f5ffd5b602084015b838110156143a45780356001600160401b038111156142a2575f5ffd5b8501610220818a03601f190112156142b8575f5ffd5b6142c0613ec7565b6142cc60208301613fd9565b81526142da60408301614000565b60208201526142eb60608301614000565b60408201526142fc6080830161401a565b606082015261430d60a08301613e12565b608082015260c082013560a082015261432860e08301614025565b60c082015261433a6101008301614037565b60e082015261434d8a610120840161405f565b6101008201526143606102008301614000565b6101208201526102208201356001600160401b0381111561437f575f5ffd5b61438e8b60208386010161412c565b6101408301525084525060209283019201614285565b508452506143b791505060208301614000565b60208201526143c860408301614037565b604082015292915050565b5f60a082840312156143e3575f5ffd5b60405160a081016001600160401b038111828210171561440557614405613e47565b604052905080823561441681614047565b8152602083013561442681614047565b6020820152604083013561443981614047565b6040820152606083013561444c81614047565b6060820152608083013561445f81614047565b6080919091015292915050565b5f5f5f5f5f5f5f5f610180898b031215614484575f5ffd5b8835975060208901356001600160401b038111156144a0575f5ffd5b6144ac8b828c01613f63565b97505060408901356001600160401b038111156144c7575f5ffd5b6144d38b828c01613f63565b96505060608901356001600160401b038111156144ee575f5ffd5b6144fa8b828c01613f63565b95505061450960808a01613e12565b935060a08901356001600160401b03811115614523575f5ffd5b61452f8b828c01613f63565b93505060c08901356001600160401b0381111561454a575f5ffd5b6145568b828c01614212565b9250506145668a60e08b016143d3565b90509295985092959890939650565b5f6102008284031215614586575f5ffd5b50919050565b5f6020828403121561459c575f5ffd5b81356001600160401b038111156145b1575f5ffd5b613d6f84828501614575565b5f5f5f606084860312156145cf575f5ffd5b83356145da81613dfe565b925060208401356145ea81613dfe565b929592945050506040919091013590565b5f5f6040838503121561460c575f5ffd5b50508035926020909101359150565b5f5f83601f84011261462b575f5ffd5b5081356001600160401b03811115614641575f5ffd5b602083019150836020828501011115613669575f5ffd5b5f5f5f5f5f5f5f5f5f5f5f60e08c8e031215614672575f5ffd5b8b356001600160401b03811115614687575f5ffd5b6146938e828f0161461b565b909c509a505060208c01356001600160401b038111156146b1575f5ffd5b6146bd8e828f0161461b565b909a5098505060408c01356001600160401b038111156146db575f5ffd5b6146e78e828f0161461b565b90985096505060608c01356001600160401b03811115614705575f5ffd5b6147118e828f0161461b565b9096509450614724905060808d01613e12565b9a9d999c50979a96999598949750929591949360a0830135935060c090920135919050565b5f5f83601f840112614759575f5ffd5b5081356001600160401b0381111561476f575f5ffd5b6020830191508360208260051b8501011115613669575f5ffd5b5f5f5f5f6040858703121561479c575f5ffd5b84356001600160401b038111156147b1575f5ffd5b6147bd87828801614749565b90955093505060208501356001600160401b038111156147db575f5ffd5b6147e787828801614749565b95989497509550505050565b5f60208284031215614803575f5ffd5b813561146f81613dfe565b5f5f5f60408486031215614820575f5ffd5b83356001600160401b03811115614835575f5ffd5b61484186828701614749565b909450925050602084013561485581613dfe565b809150509250925092565b5f8151808452602084019350602083015f5b82811015614890578151865260209586019590910190600101614872565b5093949350505050565b602081525f61146f6020830184614860565b5f602082840312156148bc575f5ffd5b81356001600160401b038111156148d1575f5ffd5b8201610180818503121561146f575f5ffd5b5f604082018483526040602084015280845180835260608501915060608160051b8601019250602086015f5b8281101561497657868503605f19018452815180516001600160a01b031686526020808201511515908701526040808201519087015260609081015160809187018290529061496090870182613da7565b955050602093840193919091019060010161490f565b5092979650505050505050565b6dffffffffffffffffffffffffffff81168114611cce575f5ffd5b803561321f81614983565b5f5f5f8385036101608112156149bd575f5ffd5b84359350610120601f19820112156149d3575f5ffd5b506149dc613eea565b6149e860208601614121565b81526149f660408601614121565b6020820152614a0760608601614121565b6040820152614a1860808601614121565b6060820152614a2960a08601614000565b6080820152614a3a60c0860161499e565b60a0820152614a4b60e08601614000565b60c0820152614a5d6101008601613e12565b60e08201526101208501356101008201529150614a7d6101408501613e12565b90509250925092565b5f5f83601f840112614a96575f5ffd5b5081356001600160401b03811115614aac575f5ffd5b6020830191508360208260061b8501011115613669575f5ffd5b5f5f60208385031215614ad7575f5ffd5b82356001600160401b03811115614aec575f5ffd5b614af885828601614a86565b90969095509350505050565b5f5f60408385031215614b15575f5ffd5b8235614b2081613dfe565b91506020830135614b3081614047565b809150509250929050565b5f5f5f5f60808587031215614b4e575f5ffd5b8435614b5981613dfe565b93506020850135614b6981613dfe565b92506040850135915060608501356001600160401b03811115614b8a575f5ffd5b614b9687828801613f63565b91505092959194509250565b5f60208284031215614bb2575f5ffd5b61146f82614037565b5f5f60408385031215614bcc575f5ffd5b8235614bd781613dfe565b91506020830135614b3081613dfe565b5f60208284031215614bf7575f5ffd5b81356001600160401b03811115614c0c575f5ffd5b82016101c0818503121561146f575f5ffd5b5f60a0820187835286602084015285604084015284606084015260a0608084015280845180835260c08501915060c08160051b8601019250602086015f5b82811015614cc35786850360bf19018452815180516001600160a01b0316865260208082015115159087015260408082015190870152606090810151608091870182905290614cad90870182613da7565b9550506020938401939190910190600101614c5c565b50929a9950505050505050505050565b5f60208284031215614ce3575f5ffd5b81356001600160401b03811115614cf8575f5ffd5b8201601f81018413614d08575f5ffd5b8035614d16613f8582613fb7565b8082825260208201915060208360051b850101925086831115614d37575f5ffd5b6020840193505b82841015614d59578335825260209384019390910190614d3e565b9695505050505050565b600181811c90821680614d7757607f821691505b60208210810361458657634e487b7160e01b5f52602260045260245ffd5b601f821115610f7657805f5260205f20601f840160051c81016020851015614dba5750805b601f840160051c820191505b81811015611f84575f8155600101614dc6565b81516001600160401b03811115614df257614df2613e47565b614e0681614e008454614d63565b84614d95565b6020601f821160018114614e38575f8315614e215750848201515b5f19600385901b1c1916600184901b178455611f84565b5f84815260208120601f198516915b82811015614e675787850151825560209485019460019092019101614e47565b5084821015614e8457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b80511515825260208101511515602083015260408101511515604083015260608101511515606083015260808101511515608083015260a0810151614edc60a084018215159052565b5060c0810151610f7660c084018215159052565b5f8151808452602084019350602083015f5b82811015614890578151805163ffffffff1687526020808201516001600160401b0316818901526040808301516001600160a01b03908116918a01919091526060808401511515908a015260808084015165ffffffffffff16908a015260a092830151169188019190915260c09096019590910190600101614f02565b6001600160a01b038781168252868116602080840191909152604083018790528582166060840152908416608083015260c060a0830181905283519083018190525f9160e0600583901b8501810192908501918601845b828110156150e65786850360df19018452815180516001600160681b03168652602081015161500d602088018263ffffffff169052565b506040810151615025604088018263ffffffff169052565b50606081015161503b606088018261ffff169052565b50608081015161505660808801826001600160a01b03169052565b5060a081015160a087015260c081015161507760c088018262ffffff169052565b5060e081015161508c60e088018260ff169052565b506101008101516150a1610100880182614e93565b5061012081015163ffffffff166101e0870152610140015161022061020087018190526150d090870182614ef0565b9550506020938401939190910190600101614fd6565b50929b9a5050505050505050505050565b5f60208284031215615107575f5ffd5b815161146f81614047565b818382375f9101908152919050565b6001600160401b0383111561513857615138613e47565b61514c836151468354614d63565b83614d95565b5f601f84116001811461517d575f85156151665750838201355b5f19600387901b1c1916600186901b178355611f84565b5f83815260208120601f198716915b828110156151ac578685013582556020948501946001909201910161518c565b50868210156151c8575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b80356151e581614047565b1515825260208101356151f781614047565b15156020830152604081013561520c81614047565b1515604083015261521f60608201614054565b1515606083015261523260808201614054565b1515608083015261524560a08201614054565b151560a083015261525860c08201614054565b80151560c0840152505050565b5f5f8335601e1984360301811261527a575f5ffd5b83016020810192503590506001600160401b03811115615298575f5ffd5b60c081023603821315613669575f5ffd5b8183526020830192505f815f5b848110156148905781356152c981613fef565b63ffffffff1686526001600160401b036152e5602084016140f8565b16602087015260408201356152f981613dfe565b6001600160a01b03166040870152606082013561531581614047565b15156060870152608082013561532a8161410e565b65ffffffffffff16608087015261534360a08301613e12565b6001600160a01b031660a087015260c09586019591909101906001016152b6565b8183525f6001600160fb1b0383111561537b575f5ffd5b8260051b80836020870137939093016020019392505050565b6001600160a01b038a8116825289811660208301526040820189905287811660608301528616608082015260e060a0820181905281018490525f610100600586901b83018101908301878361021e1936839003015b898210156155215786850360ff190184528235818112615407575f5ffd5b8b016154238661541683613fd9565b6001600160681b03169052565b61542f60208201614000565b63ffffffff16602087015261544660408201614000565b63ffffffff16604087015261545d6060820161401a565b61ffff16606087015261547260808201613e12565b6001600160a01b0316608087015260a0818101359087015261549660c08201614025565b62ffffff1660c08701526154ac60e08201614037565b60ff1660e08701526154c56101008088019083016151da565b6154d26101e08201614000565b63ffffffff166101e08701526154ec610200820182615265565b9150610220610200880152615506610220880183836152a9565b965050506020830192506020840193506001820191506153e9565b5050505082810360c0840152615538818587615364565b9c9b505050505050505050505050565b5f82601f830112615557575f5ffd5b8151615565613f8582613fb7565b8082825260208201915060208360051b860101925085831115615586575f5ffd5b602085015b8381101561420857805183526020928301920161558b565b5f602082840312156155b3575f5ffd5b81516001600160401b038111156155c8575f5ffd5b613d6f84828501615548565b5f602082840312156155e4575f5ffd5b815161146f81613dfe565b634e487b7160e01b5f52603260045260245ffd5b84815260606020820181905281018390525f8460808301825b8681101561564757823561562f8161400b565b61ffff1682526020928301929091019060010161561c565b508092505050821515604083015295945050505050565b5f5f5f60608486031215615670575f5ffd5b83516001600160401b03811115615685575f5ffd5b61569186828701615548565b60208601516040909601519097959650949350505050565b5f602082840312156156b9575f5ffd5b5051919050565b80356156cb81613dfe565b6001600160a01b0316825260ff6156e460208301614037565b16602083015260408101356156f881613fef565b63ffffffff166040830152606090810135910152565b5f5f8335601e19843603018112615723575f5ffd5b83016020810192503590506001600160401b03811115615741575f5ffd5b803603821315613669575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160a01b0386811682528581166020830152604082018590528316606082015260a0608082018190526157bf9082016157b284613e12565b6001600160a01b03169052565b5f6157cc60208401613e12565b6001600160a01b031660c08301526157ea60e08301604085016156c0565b60c083013561016083015260e083013561018083015261580d6101008401613e12565b6001600160a01b03166101a08301526101208301356101c08301526101408301356101e083015261584261016084018461570e565b61018061020085015261585a6102208501828461574f565b9998505050505050505050565b5f615874613f8584613f3d565b9050828152838383011115615887575f5ffd5b8282602083015e5f602084830101529392505050565b5f5f5f5f5f60a086880312156158b1575f5ffd5b85516020870151604088015191965094506001600160401b038111156158d5575f5ffd5b8601601f810188136158e5575f5ffd5b6158f488825160208401615867565b935050606086015161590581613dfe565b60809690960151949793965091949392915050565b6001600160a01b038581168252841660208201526080604082018190525f9061594590830185613da7565b905082606083015295945050505050565b5f60408284031215615966575f5ffd5b604080519081016001600160401b038111828210171561598857615988613e47565b604052905080823561599981613fef565b815260208301356159a98161400b565b6020919091015292915050565b5f604082840312156159c6575f5ffd5b61146f8383615956565b5f5f8335601e198436030181126159e5575f5ffd5b8301803591506001600160401b038211156159fe575f5ffd5b602001915036819003821315613669575f5ffd5b6001600160a01b038581168252841660208201526080604082015282545f908190615a3c81614d63565b806080860152600182165f8114615a5a5760018114615a7657615aa7565b60ff19831660a087015260a082151560051b8701019350615aa7565b875f5260205f205f5b83811015615a9e57815488820160a00152600190910190602001615a7f565b870160a0019450505b50505060609290920192909252949350505050565b5f60208284031215615acc575f5ffd5b81516001600160401b03811115615ae1575f5ffd5b8201601f81018413615af1575f5ffd5b613d6f84825160208401615867565b6001600160a01b03831681526040602082018190525f90613d6f90830184614860565b5f60208284031215615b33575f5ffd5b813561146f81613fef565b5f5f60408385031215615b4f575f5ffd5b82516020840151909250614b3081614047565b5f5f5f60608486031215615b74575f5ffd5b8335615b7f81613dfe565b92506020840135615b8f81613dfe565b915060408401356001600160401b03811115615ba9575f5ffd5b615bb586828701613f63565b9150509250925092565b6001600160a01b03898116825288811660208301526040820188905286811660608301528516608082015260a0810184905260ff831660c082015261010060e082018190525f90615c1290830184613da7565b9a9950505050505050505050565b805161321f8161410e565b805161321f81613fef565b805161321f81614983565b805161321f81613dfe565b5f610120828403128015615c5e575f5ffd5b50615c67613eea565b615c7083615c20565b8152615c7e60208401615c20565b6020820152615c8f60408401615c20565b6040820152615ca060608401615c20565b6060820152615cb160808401615c2b565b6080820152615cc260a08401615c36565b60a0820152615cd360c08401615c2b565b60c0820152615ce460e08401615c41565b60e0820152610100928301519281019290925250919050565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90614d5990830184613da7565b5f60208284031215615d3f575f5ffd5b815161146f81613d77565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610a8357610a83615d4a565b8082028115828204841417610a8357610a83615d4a565b5f5f85851115615d96575f5ffd5b83861115615da2575f5ffd5b5050820193919092039150565b80356bffffffffffffffffffffffff198116906014841015615df5576bffffffffffffffffffffffff196bffffffffffffffffffffffff198560140360031b1b82161691505b5092915050565b6001600160a01b03898116825288811660208301526040820188905286811660608301528516608082015260a0810184905260e060c082018190525f90615c12908301848661574f565b5f5f5f60608486031215615e58575f5ffd5b83516001600160401b03811115615e6d575f5ffd5b615e7986828701615548565b93505060208401516001600160401b03811115615e94575f5ffd5b8401601f81018613615ea4575f5ffd5b8051615eb2613f8582613fb7565b8082825260208201915060208360051b850101925088831115615ed3575f5ffd5b6020840193505b82841015615efe578351615eed8161400b565b825260209384019390910190615eda565b6040979097015195989697509495945050505050565b81810381811115610a8357610a83615d4a56fea164736f6c634300081c000a",
3506
+ "deployedBytecode": "0x6080604052600436106102d9575f3560e01c8063715018a611610189578063c22903b2116100d8578063e8a3d48511610092578063f2fde38b1161006d578063f2fde38b146109be578063f434c914146109dd578063f672acac14610a10578063f88422e514610a40575f5ffd5b8063e8a3d48514610958578063e985e9c51461096c578063edab09b91461098b575f5ffd5b8063c22903b214610895578063c87b56dd146108a8578063cf7f4936146108c7578063d4a1b4b1146108e6578063d4ab100f14610919578063d95c9ae21461092d575f5ffd5b806399f6d77f11610143578063a22cb4651161011e578063a22cb465146107cd578063b88d4fde146107ec578063ba23c36e1461080b578063c0fb5e8514610876575f5ffd5b806399f6d77f1461076d5780639c2c6a021461078f578063a220d696146107ae575f5ffd5b8063715018a61461069f5780637da0a877146106b357806388bc2ef3146106e55780638cc35846146107185780638da5cb5b1461074557806395d89b4114610759575f5ffd5b80632c6bdd5511610245578063572b6c05116101ff5780636352211e116101da5780636352211e146106215780636ac6d941146106405780636c0360eb1461066c57806370a0823114610680575f5ffd5b8063572b6c05146105975780635a48c0b0146105e3578063613b856d14610602575f5ffd5b80632c6bdd55146104c55780633fafa127146104e457806342842e0e14610507578063437aa91a14610526578063507f14651461054557806354c6d1f514610578575f5ffd5b80631337f986116102965780631337f986146103db5780631eabcd34146103ee5780631f47ce691461042157806323b872dd146104545780632483d6b514610473578063293c499914610492575f5ffd5b806301ffc9a7146102dd57806306fdde0314610311578063081812fc1461033257806308786b1a14610369578063095ea7b31461039b5780630a4ee844146103bc575b5f5ffd5b3480156102e8575f5ffd5b506102fc6102f7366004613d8c565b610a5f565b60405190151581526020015b60405180910390f35b34801561031c575f5ffd5b50610325610a89565b6040516103089190613dd5565b34801561033d575f5ffd5b5061035161034c366004613de7565b610b19565b6040516001600160a01b039091168152602001610308565b348015610374575f5ffd5b50600e5463ffffffff81169060201c60ff1660408051928352602083019190915201610308565b3480156103a6575f5ffd5b506103ba6103b5366004613e1d565b610b40565b005b3480156103c7575f5ffd5b506103ba6103d636600461446c565b610b56565b6103ba6103e936600461458c565b610e1c565b3480156103f9575f5ffd5b506103517f000000000000000000000000000000000000000000000000000000000000000081565b34801561042c575f5ffd5b506103517f000000000000000000000000000000000000000000000000000000000000000081565b34801561045f575f5ffd5b506103ba61046e3660046145bd565b610f7b565b34801561047e575f5ffd5b506103ba61048d3660046145fb565b61100b565b34801561049d575f5ffd5b506103517f000000000000000000000000000000000000000000000000000000000000000081565b3480156104d0575f5ffd5b506103ba6104df366004614658565b61102a565b3480156104ef575f5ffd5b506104f960085481565b604051908152602001610308565b348015610512575f5ffd5b506103ba6105213660046145bd565b611344565b348015610531575f5ffd5b506103ba610540366004614789565b61135e565b348015610550575f5ffd5b506103517f000000000000000000000000000000000000000000000000000000000000000081565b348015610583575f5ffd5b50610351610592366004613de7565b611435565b3480156105a2575f5ffd5b506102fc6105b13660046147f3565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b3480156105ee575f5ffd5b50600f54610351906001600160a01b031681565b34801561060d575f5ffd5b506103ba61061c3660046145fb565b611476565b34801561062c575f5ffd5b5061035161063b366004613de7565b611693565b34801561064b575f5ffd5b5061065f61065a36600461480e565b61169d565b604051610308919061489a565b348015610677575f5ffd5b5061032561178f565b34801561068b575f5ffd5b506104f961069a3660046147f3565b61181b565b3480156106aa575f5ffd5b506103ba6118ae565b3480156106be575f5ffd5b507f0000000000000000000000000000000000000000000000000000000000000000610351565b3480156106f0575f5ffd5b506103517f000000000000000000000000000000000000000000000000000000000000000081565b348015610723575f5ffd5b506107376107323660046148ac565b6118c2565b6040516103089291906148e3565b348015610750575f5ffd5b50610351611a85565b348015610764575f5ffd5b50610325611af0565b348015610778575f5ffd5b506102fc6107873660046149a9565b5f9392505050565b34801561079a575f5ffd5b506103ba6107a9366004614ac6565b611aff565b3480156107b9575f5ffd5b506103ba6107c8366004613de7565b611b58565b3480156107d8575f5ffd5b506103ba6107e7366004614b04565b611cd1565b3480156107f7575f5ffd5b506103ba610806366004614b3b565b611ce3565b348015610816575f5ffd5b505f54610846906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff1690820152606001610308565b348015610881575f5ffd5b506103ba610890366004614ba2565b611cfa565b6103ba6108a336600461458c565b611d0b565b3480156108b3575f5ffd5b506103256108c2366004613de7565b611f8b565b3480156108d2575f5ffd5b506103ba6108e1366004614ac6565b61202d565b3480156108f1575f5ffd5b506103517f000000000000000000000000000000000000000000000000000000000000000081565b348015610924575f5ffd5b506104f9612091565b348015610938575f5ffd5b506104f96109473660046147f3565b600c6020525f908152604090205481565b348015610963575f5ffd5b5061032561211e565b348015610977575f5ffd5b506102fc610986366004614bbb565b61212b565b348015610996575f5ffd5b506103517f000000000000000000000000000000000000000000000000000000000000000081565b3480156109c9575f5ffd5b506103ba6109d83660046147f3565b612158565b3480156109e8575f5ffd5b506103517f000000000000000000000000000000000000000000000000000000000000000081565b348015610a1b575f5ffd5b50610a2f610a2a366004614be7565b6121a2565b604051610308959493929190614c1e565b348015610a4b575f5ffd5b506104f9610a5a366004614cd3565b61233c565b5f6001600160e01b031982166331d2b0bf60e21b1480610a835750610a838261238c565b92915050565b606060028054610a9890614d63565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac490614d63565b8015610b0f5780601f10610ae657610100808354040283529160200191610b0f565b820191905f5260205f20905b815481529060010190602001808311610af257829003601f168201915b5050505050905090565b5f610b2382612401565b505f828152600660205260409020546001600160a01b0316610a83565b610b528282610b4d612439565b612442565b5050565b60095460ff1615610b8957600854604051639889eb1160e01b8152600401610b8091815260200190565b60405180910390fd5b6009805460ff191660011790555f889003610bba576040516301928d0f60e61b815260048101899052602401610b80565b610bc588888861244f565b6012826040015160ff161115610bf95760408083015190516308fdbb5160e41b815260ff9091166004820152602401610b80565b602082810151604084015163ffffffff909116911b64ff000000001617600e819055855115610c3057600a610c2e8782614dd9565b505b835115610c4557600b610c438582614dd9565b505b6001600160a01b03851615610c5d57610c5d85612460565b82515115610d2257731bce2a3e60a6f4e72c756a7ead3484bb975c837863f236ea0a7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000060085430610ccd612439565b89516040516001600160e01b031960e089901b168152610cf596959493929190600401614f7f565b5f6040518083038186803b158015610d0b575f5ffd5b505af4158015610d1d573d5f5f3e3d5ffd5b505050505b815180610d30575081602001515b80610d3c575081604001515b80610d48575081606001515b80610d54575081608001515b15610e01576040805163183fd9bb60e21b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526080830151151560848201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906360ff66ec9060a4015f604051808303815f87803b158015610dea575f5ffd5b505af1158015610dfc573d5f5f3e3d5ffd5b505050505b610e11610e0c612439565b612198565b505050505050505050565b600854604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610e88573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eac91906150f7565b1580610ebc575080826020013514155b15610eed576040516335f5573160e21b81523360048201526020830135602482015260448101829052606401610b80565b5f61eeee610f02610100850160e086016147f3565b6001600160a01b031614610f16575f610f1d565b6101408301355b9050803414610f6d57610f37610100840160e085016147f3565b604051630c58637560e31b81526001600160a01b0390911660048201523460248201526101408401356044820152606401610b80565b610f7683612521565b505050565b6001600160a01b038216610fa457604051633250574960e11b81525f6004820152602401610b80565b5f610fb78383610fb2612439565b6127d6565b9050836001600160a01b0316816001600160a01b031614611005576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610b80565b50505050565b611020611016611a85565b600854601b612b02565b610b528282612c17565b61103f611035611a85565b6008546019612b02565b5f611048612439565b90508a156110e25761108e8c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250612cc392505050565b8b8b60405161109e929190615112565b6040519081900381206001600160a01b0383168252907fd315b28c9e71dc50793351a3f27803ce3472d655d79b6f52fc4b336eadbc05429060200160405180910390a25b881561117a576111268a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250612ccf92505050565b8989604051611136929190615112565b6040519081900381206001600160a01b0383168252907fc48624c8fb090834cea46486af4f54b7595342a993963196750b5881ee8cc3559060200160405180910390a25b86156111e257600a61118d888a83615121565b50878760405161119e929190615112565b6040519081900381206001600160a01b0383168252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b841561124a57600b6111f5868883615121565b508585604051611206929190615112565b6040519081900381206001600160a01b0383168252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b03841630146112635761126384612460565b821580159061127157508115155b1561133657604080518381526001600160a01b038316602082015284917fce8dda621a4b30fee578e8b162323c07e227b57448c59610338f1dc8b655f296910160405180910390a26040516370d15f5360e01b815260048101849052602481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370d15f53906044015f604051808303815f87803b15801561131f575f5ffd5b505af1158015611331573d5f5f3e3d5ffd5b505050505b505050505050505050505050565b610f7683838360405180602001604052805f815250611ce3565b611373611369611a85565b6008546018612b02565b731bce2a3e60a6f4e72c756a7ead3484bb975c8378634e2a0e437f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000600854306113db612439565b8a8a8a8a6040518a63ffffffff1660e01b815260040161140399989796959493929190615394565b5f6040518083038186803b158015611419575f5ffd5b505af415801561142b573d5f5f3e3d5ffd5b5050505050505050565b5f818152600d60205260408120546001600160a01b03168061146d575f838152600460205260409020546001600160a01b031661146f565b805b9392505050565b5f611482600854612cdb565b90506114a161149682610100015160f21c90565b600190811c81161490565b156114cd57600854604051630cf21c6b60e11b8152600481019190915260248101849052604401610b80565b604051635d53f40760e11b815260048101849052602481018390525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063baa7e80e906044015f604051808303815f875af1158015611539573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261156091908101906155a3565b60405162d5cc0160e21b8152306004820152602481018690529091505f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630357300490604401602060405180830381865afa1580156115cd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115f191906155d4565b90505f6115fc612439565b90505f5b8581101561168a575f84828151811061161b5761161b6155ef565b60200260200101519050836001600160a01b031688827f80dd2efbbc431cde0164d84d638e44ba6e7a3ca5d532ceef1bb4efcc0948325d8660405161166f91906001600160a01b0391909116815260200190565b60405180910390a46116818482612da7565b50600101611600565b50505050505050565b5f610a8382612401565b60606116b46116aa611a85565b600854601a612b02565b60405163eaa19ab360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063eaa19ab390611708905f199088908890600190600401615603565b5f604051808303815f875af1158015611723573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261174a919081019061565e565b9050508091505061146f818585808060200260200160405190810160405280939291908181526020018383602002808284375f9201829052508893509150612e089050565b600a805461179c90614d63565b80601f01602080910402602001604051908101604052809291908181526020018280546117c890614d63565b80156118135780601f106117ea57610100808354040283529160200191611813565b820191905f5260205f20905b8154815290600101906020018083116117f657829003601f168201915b505050505081565b604051633de222bb60e21b81523060048201526001600160a01b0382811660248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063f7888aec906044015b602060405180830381865afa15801561188a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a8391906156a9565b6118b6612ed6565b6118c05f5f61305f565b565b6040805160018082528183019092525f9160609190816020015b604080516080810182525f80825260208083018290529282015260608082015282525f199092019101816118dc5790505090505f60605f5f731bce2a3e60a6f4e72c756a7ead3484bb975c837863b99df6327f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000600e547f00000000000000000000000000000000000000000000000000000000000000008c6040518663ffffffff1660e01b81526004016119b5959493929190615777565b5f60405180830381865af41580156119cf573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526119f6919081019061589d565b604080516080810182523081525f602080830191909152818301879052969c509499509297509095509350909160608301918591611a38918c01908c016147f3565b8685604051602001611a4d949392919061591a565b604051602081830303815290604052815250855f81518110611a7157611a716155ef565b602002602001018190525050505050915091565b604080516060810182525f80546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff1693830193909352918203611ad45751919050565b611aea81602001516001600160581b0316613191565b91505090565b606060038054610a9890614d63565b5f5b81811015610f76575f838383818110611b1c57611b1c6155ef565b905060400201803603810190611b3291906159b6565b9050611b4f815f015163ffffffff16826020015161ffff16611476565b50600101611b01565b611b60612ed6565b801580611b7357506001600160581b0381115b15611b9a5760405163076db9c360e21b81525f600482015260248101829052604401610b80565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bf6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c1a91906156a9565b811115611cc457807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c7e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ca291906156a9565b604051635e0e2cff60e11b815260048101929092526024820152604401610b80565b611cce5f8261305f565b50565b610b52611cdc612439565b8383613224565b611cee848484610f7b565b611005848484846132c2565b611d02612ed6565b611cce816133e8565b60085434151580611da65750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015611d80573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611da491906150f7565b155b80611db5575080826020013514155b15611dec57604051630734d96960e01b81523360048201526020830135602482015260448101829052346064820152608401610b80565b60408051808201909152600781526618d85cda13dd5d60ca1b6020909101525f80611e9d7f000000000000000000000000000000000000000000000000000000000000000060601b7f86b14ff4df1839d4c5ed01550f2540ea56ad3e3813c5cd226eeab5890c21e3bb18611e646101e08701876159d0565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506134d092505050565b9150915060608215611ec05781806020019051810190611ebd91906155a3565b90505b5f5b8151811015611f7a575f828281518110611ede57611ede6155ef565b60200260200101519050865f016020810190611efa91906147f3565b6001600160a01b0316611f21825f908152600460205260409020546001600160a01b031690565b6001600160a01b031614611f685780611f3d60208901896147f3565b604051630694678560e21b815260048101929092526001600160a01b03166024820152604401610b80565b611f7181613670565b50600101611ec2565b50611f84816136a8565b5050505050565b604051636ce4a1df60e01b8152606090731bce2a3e60a6f4e72c756a7ead3484bb975c837890636ce4a1df90611fec907f0000000000000000000000000000000000000000000000000000000000000000903090600a908890600401615a12565b5f60405180830381865af4158015612006573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a839190810190615abc565b612038611016611a85565b5f5b81811015610f76575f838383818110612055576120556155ef565b90506040020180360381019061206b91906159b6565b9050612088815f015163ffffffff16826020015161ffff16612c17565b5060010161203a565b604051636149e06b60e11b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c293c0d690602401602060405180830381865afa1580156120f5573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061211991906156a9565b905090565b600b805461179c90614d63565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205460ff1690565b612160612ed6565b6001600160a01b0381166121985760405163076db9c360e21b81526001600160a01b03821660048201525f6024820152604401610b80565b611cce815f61305f565b5f80808060606080860135156121d1576040516304029f2360e51b815260808701356004820152602401610b80565b60408051808201909152600781526618d85cda13dd5d60ca1b6020909101525f806122497f000000000000000000000000000000000000000000000000000000000000000060601b7f86b14ff4df1839d4c5ed01550f2540ea56ad3e3813c5cd226eeab5890c21e3bb18611e646101a08b018b6159d0565b604080516001808252818301909252929450909250816020015b604080516080810182525f80825260208083018290529282015260608082015282525f199092019101816122635790505092506040518060800160405280306001600160a01b031681526020015f151581526020015f815260200160405180602001604052805f815250815250835f815181106122e2576122e26155ef565b60200260200101819052506060821561230c578180602001905181019061230991906155a3565b90505b6123158161233c565b965061231f612091565b6101608a01359a9799909850610120013596939550929350505050565b604051639be748fb60e01b81525f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639be748fb9061186f9030908690600401615b00565b5f6001600160e01b03198216635ab8866d60e01b14806123bc57506001600160e01b0319821663e347239560e01b145b806123d757506001600160e01b0319821663099bfcc360e11b145b806123f257506001600160e01b0319821663611481d960e11b145b80610a835750610a83826136f4565b5f818152600460205260408120546001600160a01b03168061146d57604051637e27328960e01b815260048101849052602401610b80565b5f612119613743565b610f7683838360016137ad565b61245982826138b1565b5050600855565b806001600160a01b03167fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16612493612439565b6040516001600160a01b03909116815260200160405180910390a260405163036129cb60e61b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063d84a72c0906024015b5f604051808303815f87803b15801561250f575f5ffd5b505af1158015611f84573d5f5f3e3d5ffd5b600e546008545f918291731bce2a3e60a6f4e72c756a7ead3484bb975c83789163f327b88d917f00000000000000000000000000000000000000000000000000000000000000009060c0880180359061257d9060a08b01615b23565b61258d60a08b0160808c01614ba2565b6040516001600160e01b031960e089901b16815260048101969096526001600160a01b0390941660248601526044850192909252606484015263ffffffff16608483015260ff1660a482015260c4016040805180830381865af41580156125f6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061261a9190615b3e565b925090508161262857505050565b5f80606061263a6101c08701876159d0565b1590506126645761264f6101c08701876159d0565b81019061265c9190615b62565b919450925090505b6001600160a01b038316612687576126846101c087016101a088016147f3565b92505b6001600160a01b0382166126a5576126a260208701876147f3565b91505b6126be84836126b86101e08a018a6159d0565b876138ca565b610140860135156127ce5780515f036126ea5760405163dfb594cf60e01b815260040160405180910390fd5b600854731bce2a3e60a6f4e72c756a7ead3484bb975c83789063b720e93f907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000903061275f6101008d0160e08e016147f3565b8c60e001606001358d60e001602001602081019061277d9190614ba2565b896040518963ffffffff1660e01b81526004016127a1989796959493929190615bbf565b5f6040518083038186803b1580156127b7575f5ffd5b505af41580156127c9573d5f5f3e3d5ffd5b505050505b505050505050565b604051631a63e45960e21b8152306004820152602481018390525f90819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063698f9164906044016040805180830381865afa158015612844573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128689190615b3e565b91509150612877868686613aee565b92506001600160a01b0383161561295157801561290f575f61289a600854612cdb565b90506001600160a01b038716158015906128ca57506128ca6128c182610100015160f21c90565b60019081161490565b1561290d57600854604051638bdca12760e01b81526004810191909152602481018790526001600160a01b03808616604483015288166064820152608401610b80565b505b5f858152600d60205260409020546001600160a01b0316612951575f858152600d6020526040902080546001600160a01b0319166001600160a01b0385161790555b6040516330b157e560e21b8152600481018390526001600160a01b03848116602483015287811660448301527f0000000000000000000000000000000000000000000000000000000000000000169063c2c55f94906064015f604051808303815f87803b1580156129c0575f5ffd5b505af11580156129d2573d5f5f3e3d5ffd5b5050600f546001600160a01b03169150612a90905057604051634c96a38960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634c96a389906024016020604051808303815f875af1158015612a4b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a6f91906155d4565b600f80546001600160a01b0319166001600160a01b03929092169190911790555b600f54604051634a39314960e01b81526001600160a01b03858116600483015288811660248301526044820188905290911690634a393149906064015f604051808303815f87803b158015612ae3575f5ffd5b505af1158015612af5573d5f5f3e3d5ffd5b5050505050509392505050565b5f612b0b612439565b9050836001600160a01b0316816001600160a01b031614158015612bd85750604051631a45b42760e11b81526001600160a01b0382811660048301528581166024830152604482018590526064820184905260016084830181905260a48301527f0000000000000000000000000000000000000000000000000000000000000000169063348b684e9060c401602060405180830381865afa158015612bb2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bd691906150f7565b155b1561100557604051631326f75560e11b81526001600160a01b038086166004830152821660248201526044810184905260648101839052608401610b80565b731bce2a3e60a6f4e72c756a7ead3484bb975c83786392801ea67f00000000000000000000000000000000000000000000000000000000000000008484612c5c612439565b60405160e086901b6001600160e01b03191681526001600160a01b0394851660048201526024810193909352604483019190915290911660648201526084015f6040518083038186803b158015612cb1575f5ffd5b505af41580156127ce573d5f5f3e3d5ffd5b6002610b528282614dd9565b6003610b528282614dd9565b60408051610120810182525f80825260208201819052818301819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082015290516321d1336160e11b8152600481018390526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906343a266c29060240161012060405180830381865afa158015612d83573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a839190615c4c565b6001600160a01b038216612dd057604051633250574960e11b81525f6004820152602401610b80565b5f612ddc83835f6127d6565b90506001600160a01b03811615610f76576040516339e3563760e11b81525f6004820152602401610b80565b5f612e11612439565b90505f5b85518110156127ce57836001600160a01b0316858281518110612e3a57612e3a6155ef565b602002602001015161ffff16878381518110612e5857612e586155ef565b60200260200101517f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68686604051612ea39291909182526001600160a01b0316602082015260400190565b60405180910390a4612ece84878381518110612ec157612ec16155ef565b6020026020010151612da7565b600101612e15565b604080516060810182525f80546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff169383019390935290918103612f85575080516001600160a01b038116612f35612439565b6001600160a01b031614610b525780612f4c612439565b604051631326f75560e11b81526001600160a01b039283166004820152911660248201525f604482018190526064820152608401610b80565b612f9b82602001516001600160581b0316613191565b9050604082015160ff811615801590612fc257506001546001600160a01b03838116911614155b15612fca57505f5b8060ff165f0361304457816001600160a01b0316612fe6612439565b6001600160a01b031614610f765781612ffd612439565b6020850151604051631326f75560e11b81526001600160a01b0393841660048201529290911660248301526001600160581b031660448201525f6064820152608401610b80565b610f768284602001516001600160581b03168360ff16612b02565b6001600160581b0381161580159061307f57506001600160a01b03821615155b156130b75760405163076db9c360e21b81526001600160a01b03831660048201526001600160581b0382166024820152604401610b80565b604080516060810182525f80546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091810361310957508051613122565b61311f82602001516001600160581b0316613191565b90505b604080516060810182526001600160a01b0386168082526001600160581b038616602083018190525f9290930182905281546001600160f81b03191617600160a01b909202919091176001600160f81b03169055600180546001600160a01b0319169055611005818585613be0565b6040516331a9108f60e11b8152600481018290525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa925050508015613214575060408051601f3d908101601f19168201909252613211918101906155d4565b60015b61146d57505f919050565b919050565b6001600160a01b03821661325657604051630b61174360e31b81526001600160a01b0383166004820152602401610b80565b6001600160a01b038381165f81815260076020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b1561100557826001600160a01b031663150b7a026132e9612439565b8685856040518563ffffffff1660e01b815260040161330b9493929190615cfd565b6020604051808303815f875af1925050508015613345575060408051601f3d908101601f1916820190925261334291810190615d2f565b60015b6133ac573d808015613372576040519150601f19603f3d011682016040523d82523d5f602084013e613377565b606091505b5080515f036133a457604051633250574960e11b81526001600160a01b0385166004820152602401610b80565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b14611f8457604051633250574960e11b81526001600160a01b0385166004820152602401610b80565b5f54600160a01b90046001600160581b0316158015613409575060ff811615155b1561343e575f5460405163cb81547360e01b81526001600160a01b03909116600482015260ff82166024820152604401610b80565b5f80546001600160f81b0316600160f81b60ff84160217905561345f611a85565b600180546001600160a01b0319166001600160a01b03929092169190911790557f3a02c735461e3ddd7b1f6ccb1620101cec0d5c7ef32a2eb50b1b02a4191d8207816134a9612439565b6040805160ff90931683526001600160a01b0390911660208301520160405180910390a150565b5f606060258351116134f357505060408051602081019091525f80825290613669565b5f8361350160046020615d5e565b81518110613511576135116155ef565b0160209081015160f81c91505b5f8561352b600484615d5e565b8151811061353b5761353b6155ef565b01602001516001600160f81b03191614801590613561575061355e602083615d71565b81105b15613666575f85613573600484615d5e565b81518110613583576135836155ef565b016020908101518784019091015160f89190911c91506001600160e01b03198089169082160361365c575f6135b9602086615d71565b6135c4600986615d5e565b1015806135f95750876135d8600986615d5e565b815181106135e8576135e86155ef565b01602001516001600160f81b031916155b6136325760208861360b600987615d5e565b8151811061361b5761361b6155ef565b016020015161362d919060f81c615d71565b613635565b87515b9050600161364e89613648602087615d71565b84613c63565b965096505050505050613669565b505060050161351e565b50505b9250929050565b5f61367c5f835f6127d6565b90506001600160a01b038116610b5257604051637e27328960e01b815260048101839052602401610b80565b6040516386bc2be360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906386bc2be3906124f890849060040161489a565b5f6001600160e01b031982166380ac58cd60e01b148061372457506001600160e01b03198216635b5e139f60e01b145b80610a8357506301ffc9a760e01b6001600160e01b0319831614610a83565b5f36601480821080159061377f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633145b156137a55761379236828403815f615d88565b61379b91615daf565b60601c9250505090565b339250505090565b80806137c157506001600160a01b03821615155b15613882575f6137d084612401565b90506001600160a01b038316158015906137fc5750826001600160a01b0316816001600160a01b031614155b801561380f575061380d818461212b565b155b156138385760405163a9fbf51f60e01b81526001600160a01b0384166004820152602401610b80565b81156138805783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b50505f90815260066020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b60026138bd8382614dd9565b506003610f768282614dd9565b5f600c5f836001600160a01b03166001600160a01b031681526020019081526020015f205490505f5f5f731bce2a3e60a6f4e72c756a7ead3484bb975c837863a403c7977f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008c8c8a8a8e8e6040518963ffffffff1660e01b8152600401613979989796959493929190615dfc565b5f60405180830381865af4158015613993573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526139ba9190810190615e46565b92509250925082515f14613a02575f856001600160a01b0316896001600160a01b0316146139e857896139f2565b6139f2858b615d5e565b9050613a0084848884612e08565b505b838114610e115783811115613a6f576001600160a01b03851681613a268682615f14565b7f7e71a5f6c04b0eb16949316623b9dda7bd103692f7d89678e2260afa1378a2d5613a4f612439565b6040516001600160a01b03909116815260200160405180910390a4613ac9565b6001600160a01b03851681613a848187615f14565b7f6276f0169fb8de712b2a6c02789f6115136c589ed491ac06f9e20f41877e41fe613aad612439565b6040516001600160a01b03909116815260200160405180910390a45b6001600160a01b0385165f908152600c60205260409020819055505050505050505050565b5f828152600460205260408120546001600160a01b0390811690831615613b1a57613b1a818486613caf565b6001600160a01b03811615613b5457613b355f855f5f6137ad565b6001600160a01b0381165f90815260056020526040902080545f190190555b6001600160a01b03851615613b82576001600160a01b0385165f908152600560205260409020805460010190555b5f8481526004602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b816001600160581b03821615613c0557613c02826001600160581b0316613191565b90505b806001600160a01b0316846001600160a01b03167fc8894f26f396ce8c004245c8b7cd1b92103a6e4302fcbab883987149ac01b7ec613c42612439565b6040516001600160a01b03909116815260200160405180910390a350505050565b60608282036040519150601f19601f6020838501010116604052808252836020860101602083015f5b83811015613ca4578281015182820152602001613c8c565b505050509392505050565b613cba838383613d13565b610f76576001600160a01b038316613ce857604051637e27328960e01b815260048101829052602401610b80565b60405163177e802f60e01b81526001600160a01b038316600482015260248101829052604401610b80565b5f6001600160a01b03831615801590613d6f5750826001600160a01b0316846001600160a01b03161480613d4c5750613d4c848461212b565b80613d6f57505f828152600660205260409020546001600160a01b038481169116145b949350505050565b6001600160e01b031981168114611cce575f5ffd5b5f60208284031215613d9c575f5ffd5b813561146f81613d77565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61146f6020830184613da7565b5f60208284031215613df7575f5ffd5b5035919050565b6001600160a01b0381168114611cce575f5ffd5b803561321f81613dfe565b5f5f60408385031215613e2e575f5ffd5b8235613e3981613dfe565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b60405160e081016001600160401b0381118282101715613e7d57613e7d613e47565b60405290565b60405160c081016001600160401b0381118282101715613e7d57613e7d613e47565b604051606081016001600160401b0381118282101715613e7d57613e7d613e47565b60405161016081016001600160401b0381118282101715613e7d57613e7d613e47565b60405161012081016001600160401b0381118282101715613e7d57613e7d613e47565b604051601f8201601f191681016001600160401b0381118282101715613f3557613f35613e47565b604052919050565b5f6001600160401b03821115613f5557613f55613e47565b50601f01601f191660200190565b5f82601f830112613f72575f5ffd5b8135602083015f613f8a613f8584613f3d565b613f0d565b9050828152858383011115613f9d575f5ffd5b828260208301375f92810160200192909252509392505050565b5f6001600160401b03821115613fcf57613fcf613e47565b5060051b60200190565b80356001600160681b038116811461321f575f5ffd5b63ffffffff81168114611cce575f5ffd5b803561321f81613fef565b61ffff81168114611cce575f5ffd5b803561321f8161400b565b803562ffffff8116811461321f575f5ffd5b803560ff8116811461321f575f5ffd5b8015158114611cce575f5ffd5b803561321f81614047565b5f60e0828403121561406f575f5ffd5b614077613e5b565b9050813561408481614047565b8152602082013561409481614047565b602082015260408201356140a781614047565b604082015260608201356140ba81614047565b60608201526140cb60808301614054565b60808201526140dc60a08301614054565b60a08201526140ed60c08301614054565b60c082015292915050565b80356001600160401b038116811461321f575f5ffd5b65ffffffffffff81168114611cce575f5ffd5b803561321f8161410e565b5f82601f83011261413b575f5ffd5b8135614149613f8582613fb7565b80828252602082019150602060c0840286010192508583111561416a575f5ffd5b602085015b838110156142085760c08188031215614186575f5ffd5b61418e613e83565b813561419981613fef565b81526141a7602083016140f8565b602082015260408201356141ba81613dfe565b604082015260608201356141cd81614047565b606082015260808201356141e08161410e565b608082015260a08201356141f381613dfe565b60a0820152835260209092019160c00161416f565b5095945050505050565b5f60608284031215614222575f5ffd5b61422a613ea5565b905081356001600160401b03811115614241575f5ffd5b8201601f81018413614251575f5ffd5b803561425f613f8582613fb7565b8082825260208201915060208360051b850101925086831115614280575f5ffd5b602084015b838110156143a45780356001600160401b038111156142a2575f5ffd5b8501610220818a03601f190112156142b8575f5ffd5b6142c0613ec7565b6142cc60208301613fd9565b81526142da60408301614000565b60208201526142eb60608301614000565b60408201526142fc6080830161401a565b606082015261430d60a08301613e12565b608082015260c082013560a082015261432860e08301614025565b60c082015261433a6101008301614037565b60e082015261434d8a610120840161405f565b6101008201526143606102008301614000565b6101208201526102208201356001600160401b0381111561437f575f5ffd5b61438e8b60208386010161412c565b6101408301525084525060209283019201614285565b508452506143b791505060208301614000565b60208201526143c860408301614037565b604082015292915050565b5f60a082840312156143e3575f5ffd5b60405160a081016001600160401b038111828210171561440557614405613e47565b604052905080823561441681614047565b8152602083013561442681614047565b6020820152604083013561443981614047565b6040820152606083013561444c81614047565b6060820152608083013561445f81614047565b6080919091015292915050565b5f5f5f5f5f5f5f5f610180898b031215614484575f5ffd5b8835975060208901356001600160401b038111156144a0575f5ffd5b6144ac8b828c01613f63565b97505060408901356001600160401b038111156144c7575f5ffd5b6144d38b828c01613f63565b96505060608901356001600160401b038111156144ee575f5ffd5b6144fa8b828c01613f63565b95505061450960808a01613e12565b935060a08901356001600160401b03811115614523575f5ffd5b61452f8b828c01613f63565b93505060c08901356001600160401b0381111561454a575f5ffd5b6145568b828c01614212565b9250506145668a60e08b016143d3565b90509295985092959890939650565b5f6102008284031215614586575f5ffd5b50919050565b5f6020828403121561459c575f5ffd5b81356001600160401b038111156145b1575f5ffd5b613d6f84828501614575565b5f5f5f606084860312156145cf575f5ffd5b83356145da81613dfe565b925060208401356145ea81613dfe565b929592945050506040919091013590565b5f5f6040838503121561460c575f5ffd5b50508035926020909101359150565b5f5f83601f84011261462b575f5ffd5b5081356001600160401b03811115614641575f5ffd5b602083019150836020828501011115613669575f5ffd5b5f5f5f5f5f5f5f5f5f5f5f60e08c8e031215614672575f5ffd5b8b356001600160401b03811115614687575f5ffd5b6146938e828f0161461b565b909c509a505060208c01356001600160401b038111156146b1575f5ffd5b6146bd8e828f0161461b565b909a5098505060408c01356001600160401b038111156146db575f5ffd5b6146e78e828f0161461b565b90985096505060608c01356001600160401b03811115614705575f5ffd5b6147118e828f0161461b565b9096509450614724905060808d01613e12565b9a9d999c50979a96999598949750929591949360a0830135935060c090920135919050565b5f5f83601f840112614759575f5ffd5b5081356001600160401b0381111561476f575f5ffd5b6020830191508360208260051b8501011115613669575f5ffd5b5f5f5f5f6040858703121561479c575f5ffd5b84356001600160401b038111156147b1575f5ffd5b6147bd87828801614749565b90955093505060208501356001600160401b038111156147db575f5ffd5b6147e787828801614749565b95989497509550505050565b5f60208284031215614803575f5ffd5b813561146f81613dfe565b5f5f5f60408486031215614820575f5ffd5b83356001600160401b03811115614835575f5ffd5b61484186828701614749565b909450925050602084013561485581613dfe565b809150509250925092565b5f8151808452602084019350602083015f5b82811015614890578151865260209586019590910190600101614872565b5093949350505050565b602081525f61146f6020830184614860565b5f602082840312156148bc575f5ffd5b81356001600160401b038111156148d1575f5ffd5b8201610180818503121561146f575f5ffd5b5f604082018483526040602084015280845180835260608501915060608160051b8601019250602086015f5b8281101561497657868503605f19018452815180516001600160a01b031686526020808201511515908701526040808201519087015260609081015160809187018290529061496090870182613da7565b955050602093840193919091019060010161490f565b5092979650505050505050565b6dffffffffffffffffffffffffffff81168114611cce575f5ffd5b803561321f81614983565b5f5f5f8385036101608112156149bd575f5ffd5b84359350610120601f19820112156149d3575f5ffd5b506149dc613eea565b6149e860208601614121565b81526149f660408601614121565b6020820152614a0760608601614121565b6040820152614a1860808601614121565b6060820152614a2960a08601614000565b6080820152614a3a60c0860161499e565b60a0820152614a4b60e08601614000565b60c0820152614a5d6101008601613e12565b60e08201526101208501356101008201529150614a7d6101408501613e12565b90509250925092565b5f5f83601f840112614a96575f5ffd5b5081356001600160401b03811115614aac575f5ffd5b6020830191508360208260061b8501011115613669575f5ffd5b5f5f60208385031215614ad7575f5ffd5b82356001600160401b03811115614aec575f5ffd5b614af885828601614a86565b90969095509350505050565b5f5f60408385031215614b15575f5ffd5b8235614b2081613dfe565b91506020830135614b3081614047565b809150509250929050565b5f5f5f5f60808587031215614b4e575f5ffd5b8435614b5981613dfe565b93506020850135614b6981613dfe565b92506040850135915060608501356001600160401b03811115614b8a575f5ffd5b614b9687828801613f63565b91505092959194509250565b5f60208284031215614bb2575f5ffd5b61146f82614037565b5f5f60408385031215614bcc575f5ffd5b8235614bd781613dfe565b91506020830135614b3081613dfe565b5f60208284031215614bf7575f5ffd5b81356001600160401b03811115614c0c575f5ffd5b82016101c0818503121561146f575f5ffd5b5f60a0820187835286602084015285604084015284606084015260a0608084015280845180835260c08501915060c08160051b8601019250602086015f5b82811015614cc35786850360bf19018452815180516001600160a01b0316865260208082015115159087015260408082015190870152606090810151608091870182905290614cad90870182613da7565b9550506020938401939190910190600101614c5c565b50929a9950505050505050505050565b5f60208284031215614ce3575f5ffd5b81356001600160401b03811115614cf8575f5ffd5b8201601f81018413614d08575f5ffd5b8035614d16613f8582613fb7565b8082825260208201915060208360051b850101925086831115614d37575f5ffd5b6020840193505b82841015614d59578335825260209384019390910190614d3e565b9695505050505050565b600181811c90821680614d7757607f821691505b60208210810361458657634e487b7160e01b5f52602260045260245ffd5b601f821115610f7657805f5260205f20601f840160051c81016020851015614dba5750805b601f840160051c820191505b81811015611f84575f8155600101614dc6565b81516001600160401b03811115614df257614df2613e47565b614e0681614e008454614d63565b84614d95565b6020601f821160018114614e38575f8315614e215750848201515b5f19600385901b1c1916600184901b178455611f84565b5f84815260208120601f198516915b82811015614e675787850151825560209485019460019092019101614e47565b5084821015614e8457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b80511515825260208101511515602083015260408101511515604083015260608101511515606083015260808101511515608083015260a0810151614edc60a084018215159052565b5060c0810151610f7660c084018215159052565b5f8151808452602084019350602083015f5b82811015614890578151805163ffffffff1687526020808201516001600160401b0316818901526040808301516001600160a01b03908116918a01919091526060808401511515908a015260808084015165ffffffffffff16908a015260a092830151169188019190915260c09096019590910190600101614f02565b6001600160a01b038781168252868116602080840191909152604083018790528582166060840152908416608083015260c060a0830181905283519083018190525f9160e0600583901b8501810192908501918601845b828110156150e65786850360df19018452815180516001600160681b03168652602081015161500d602088018263ffffffff169052565b506040810151615025604088018263ffffffff169052565b50606081015161503b606088018261ffff169052565b50608081015161505660808801826001600160a01b03169052565b5060a081015160a087015260c081015161507760c088018262ffffff169052565b5060e081015161508c60e088018260ff169052565b506101008101516150a1610100880182614e93565b5061012081015163ffffffff166101e0870152610140015161022061020087018190526150d090870182614ef0565b9550506020938401939190910190600101614fd6565b50929b9a5050505050505050505050565b5f60208284031215615107575f5ffd5b815161146f81614047565b818382375f9101908152919050565b6001600160401b0383111561513857615138613e47565b61514c836151468354614d63565b83614d95565b5f601f84116001811461517d575f85156151665750838201355b5f19600387901b1c1916600186901b178355611f84565b5f83815260208120601f198716915b828110156151ac578685013582556020948501946001909201910161518c565b50868210156151c8575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b80356151e581614047565b1515825260208101356151f781614047565b15156020830152604081013561520c81614047565b1515604083015261521f60608201614054565b1515606083015261523260808201614054565b1515608083015261524560a08201614054565b151560a083015261525860c08201614054565b80151560c0840152505050565b5f5f8335601e1984360301811261527a575f5ffd5b83016020810192503590506001600160401b03811115615298575f5ffd5b60c081023603821315613669575f5ffd5b8183526020830192505f815f5b848110156148905781356152c981613fef565b63ffffffff1686526001600160401b036152e5602084016140f8565b16602087015260408201356152f981613dfe565b6001600160a01b03166040870152606082013561531581614047565b15156060870152608082013561532a8161410e565b65ffffffffffff16608087015261534360a08301613e12565b6001600160a01b031660a087015260c09586019591909101906001016152b6565b8183525f6001600160fb1b0383111561537b575f5ffd5b8260051b80836020870137939093016020019392505050565b6001600160a01b038a8116825289811660208301526040820189905287811660608301528616608082015260e060a0820181905281018490525f610100600586901b83018101908301878361021e1936839003015b898210156155215786850360ff190184528235818112615407575f5ffd5b8b016154238661541683613fd9565b6001600160681b03169052565b61542f60208201614000565b63ffffffff16602087015261544660408201614000565b63ffffffff16604087015261545d6060820161401a565b61ffff16606087015261547260808201613e12565b6001600160a01b0316608087015260a0818101359087015261549660c08201614025565b62ffffff1660c08701526154ac60e08201614037565b60ff1660e08701526154c56101008088019083016151da565b6154d26101e08201614000565b63ffffffff166101e08701526154ec610200820182615265565b9150610220610200880152615506610220880183836152a9565b965050506020830192506020840193506001820191506153e9565b5050505082810360c0840152615538818587615364565b9c9b505050505050505050505050565b5f82601f830112615557575f5ffd5b8151615565613f8582613fb7565b8082825260208201915060208360051b860101925085831115615586575f5ffd5b602085015b8381101561420857805183526020928301920161558b565b5f602082840312156155b3575f5ffd5b81516001600160401b038111156155c8575f5ffd5b613d6f84828501615548565b5f602082840312156155e4575f5ffd5b815161146f81613dfe565b634e487b7160e01b5f52603260045260245ffd5b84815260606020820181905281018390525f8460808301825b8681101561564757823561562f8161400b565b61ffff1682526020928301929091019060010161561c565b508092505050821515604083015295945050505050565b5f5f5f60608486031215615670575f5ffd5b83516001600160401b03811115615685575f5ffd5b61569186828701615548565b60208601516040909601519097959650949350505050565b5f602082840312156156b9575f5ffd5b5051919050565b80356156cb81613dfe565b6001600160a01b0316825260ff6156e460208301614037565b16602083015260408101356156f881613fef565b63ffffffff166040830152606090810135910152565b5f5f8335601e19843603018112615723575f5ffd5b83016020810192503590506001600160401b03811115615741575f5ffd5b803603821315613669575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160a01b0386811682528581166020830152604082018590528316606082015260a0608082018190526157bf9082016157b284613e12565b6001600160a01b03169052565b5f6157cc60208401613e12565b6001600160a01b031660c08301526157ea60e08301604085016156c0565b60c083013561016083015260e083013561018083015261580d6101008401613e12565b6001600160a01b03166101a08301526101208301356101c08301526101408301356101e083015261584261016084018461570e565b61018061020085015261585a6102208501828461574f565b9998505050505050505050565b5f615874613f8584613f3d565b9050828152838383011115615887575f5ffd5b8282602083015e5f602084830101529392505050565b5f5f5f5f5f60a086880312156158b1575f5ffd5b85516020870151604088015191965094506001600160401b038111156158d5575f5ffd5b8601601f810188136158e5575f5ffd5b6158f488825160208401615867565b935050606086015161590581613dfe565b60809690960151949793965091949392915050565b6001600160a01b038581168252841660208201526080604082018190525f9061594590830185613da7565b905082606083015295945050505050565b5f60408284031215615966575f5ffd5b604080519081016001600160401b038111828210171561598857615988613e47565b604052905080823561599981613fef565b815260208301356159a98161400b565b6020919091015292915050565b5f604082840312156159c6575f5ffd5b61146f8383615956565b5f5f8335601e198436030181126159e5575f5ffd5b8301803591506001600160401b038211156159fe575f5ffd5b602001915036819003821315613669575f5ffd5b6001600160a01b038581168252841660208201526080604082015282545f908190615a3c81614d63565b806080860152600182165f8114615a5a5760018114615a7657615aa7565b60ff19831660a087015260a082151560051b8701019350615aa7565b875f5260205f205f5b83811015615a9e57815488820160a00152600190910190602001615a7f565b870160a0019450505b50505060609290920192909252949350505050565b5f60208284031215615acc575f5ffd5b81516001600160401b03811115615ae1575f5ffd5b8201601f81018413615af1575f5ffd5b613d6f84825160208401615867565b6001600160a01b03831681526040602082018190525f90613d6f90830184614860565b5f60208284031215615b33575f5ffd5b813561146f81613fef565b5f5f60408385031215615b4f575f5ffd5b82516020840151909250614b3081614047565b5f5f5f60608486031215615b74575f5ffd5b8335615b7f81613dfe565b92506020840135615b8f81613dfe565b915060408401356001600160401b03811115615ba9575f5ffd5b615bb586828701613f63565b9150509250925092565b6001600160a01b03898116825288811660208301526040820188905286811660608301528516608082015260a0810184905260ff831660c082015261010060e082018190525f90615c1290830184613da7565b9a9950505050505050505050565b805161321f8161410e565b805161321f81613fef565b805161321f81614983565b805161321f81613dfe565b5f610120828403128015615c5e575f5ffd5b50615c67613eea565b615c7083615c20565b8152615c7e60208401615c20565b6020820152615c8f60408401615c20565b6040820152615ca060608401615c20565b6060820152615cb160808401615c2b565b6080820152615cc260a08401615c36565b60a0820152615cd360c08401615c2b565b60c0820152615ce460e08401615c41565b60e0820152610100928301519281019290925250919050565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90614d5990830184613da7565b5f60208284031215615d3f575f5ffd5b815161146f81613d77565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610a8357610a83615d4a565b8082028115828204841417610a8357610a83615d4a565b5f5f85851115615d96575f5ffd5b83861115615da2575f5ffd5b5050820193919092039150565b80356bffffffffffffffffffffffff198116906014841015615df5576bffffffffffffffffffffffff196bffffffffffffffffffffffff198560140360031b1b82161691505b5092915050565b6001600160a01b03898116825288811660208301526040820188905286811660608301528516608082015260a0810184905260e060c082018190525f90615c12908301848661574f565b5f5f5f60608486031215615e58575f5ffd5b83516001600160401b03811115615e6d575f5ffd5b615e7986828701615548565b93505060208401516001600160401b03811115615e94575f5ffd5b8401601f81018613615ea4575f5ffd5b8051615eb2613f8582613fb7565b8082825260208201915060208360051b850101925088831115615ed3575f5ffd5b6020840193505b82841015615efe578351615eed8161400b565b825260209384019390910190615eda565b6040979097015195989697509495945050505050565b81810381811115610a8357610a83615d4a56fea164736f6c634300081c000a",
3507
+ "metadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"directory\",\"type\":\"address\"},{\"internalType\":\"contract IJBPermissions\",\"name\":\"permissions\",\"type\":\"address\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"},{\"internalType\":\"contract IJBRulesets\",\"name\":\"rulesets\",\"type\":\"address\"},{\"internalType\":\"contract IJB721TiersHookStore\",\"name\":\"store\",\"type\":\"address\"},{\"internalType\":\"contract IJBSplits\",\"name\":\"splits\",\"type\":\"address\"},{\"internalType\":\"contract IJB721CheckpointsDeployer\",\"name\":\"checkpointsDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"trustedForwarder\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"type\":\"error\",\"name\":\"ERC721IncorrectOwner\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"ERC721InsufficientApproval\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"type\":\"error\",\"name\":\"ERC721InvalidApprover\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"type\":\"error\",\"name\":\"ERC721InvalidOperator\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"type\":\"error\",\"name\":\"ERC721InvalidOwner\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"type\":\"error\",\"name\":\"ERC721InvalidReceiver\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"type\":\"error\",\"name\":\"ERC721InvalidSender\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"ERC721NonexistentToken\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"contextProjectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721Hook_InvalidCashOut\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"contextProjectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721Hook_InvalidPay\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"forwardedValue\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721Hook_InvalidPayValue\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"type\":\"error\",\"name\":\"JB721Hook_UnauthorizedToken\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cashOutCount\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721Hook_UnexpectedTokenCashedOut\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHook_AlreadyInitialized\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHook_InvalidPricingDecimals\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHook_MintReserveNftsPaused\"},{\"inputs\":[],\"type\":\"error\",\"name\":\"JB721TiersHook_MissingSplitMetadata\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JB721TiersHook_NoProjectId\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"type\":\"error\",\"name\":\"JB721TiersHook_TierTransfersPaused\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"permissionId\",\"type\":\"uint8\"}],\"type\":\"error\",\"name\":\"JBOwnableOverrides_AddressOwnerCannotSetPermissionId\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JBOwnableOverrides_InvalidNewOwner\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectCount\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JBOwnableOverrides_ProjectDoesNotExist\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"permissionId\",\"type\":\"uint256\"}],\"type\":\"error\",\"name\":\"JBPermissioned_Unauthorized\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"newTotalCredits\",\"type\":\"uint256\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"AddPayCredits\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\",\"indexed\":true},{\"internalType\":\"struct JB721TierConfig\",\"name\":\"tier\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialSupply\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reserveFrequency\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reserveBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIpfsUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"uint8\",\"name\":\"discountPercent\",\"type\":\"uint8\"},{\"internalType\":\"struct JB721TierConfigFlags\",\"name\":\"flags\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"bool\",\"name\":\"allowOwnerMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useReserveBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"cantBeRemoved\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"cantIncreaseDiscountPercent\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"cantBuyWithCredits\",\"type\":\"bool\"}]},{\"internalType\":\"uint32\",\"name\":\"splitPercent\",\"type\":\"uint32\"},{\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint32\",\"name\":\"percent\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"projectId\",\"type\":\"uint64\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint48\",\"name\":\"lockedUntil\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBSplitHook\",\"name\":\"hook\",\"type\":\"address\"}]}],\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"AddTier\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\",\"indexed\":true}],\"type\":\"event\",\"name\":\"Approval\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\",\"indexed\":false}],\"type\":\"event\",\"name\":\"ApprovalForAll\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\",\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"totalAmountPaid\",\"type\":\"uint256\",\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"Mint\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\",\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"MintReservedNft\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"OwnershipTransferred\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"newId\",\"type\":\"uint8\",\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"PermissionIdChanged\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"RemoveTier\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"SetBaseUri\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"SetContractUri\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\",\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"discountPercent\",\"type\":\"uint256\",\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"SetDiscountPercent\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\",\"indexed\":true},{\"internalType\":\"bytes32\",\"name\":\"encodedUri\",\"type\":\"bytes32\",\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"SetEncodedIpfsUri\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"SetName\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"SetSymbol\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"resolver\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"SetTokenUriResolver\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\",\"indexed\":true},{\"internalType\":\"struct JBSplit\",\"name\":\"split\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint32\",\"name\":\"percent\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"projectId\",\"type\":\"uint64\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint48\",\"name\":\"lockedUntil\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBSplitHook\",\"name\":\"hook\",\"type\":\"address\"}],\"indexed\":false},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false},{\"internalType\":\"bytes\",\"name\":\"reason\",\"type\":\"bytes\",\"indexed\":false},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"SplitPayoutReverted\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\",\"indexed\":true}],\"type\":\"event\",\"name\":\"Transfer\",\"anonymous\":false},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"newTotalCredits\",\"type\":\"uint256\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"indexed\":true},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\",\"indexed\":false}],\"type\":\"event\",\"name\":\"UsePayCredits\",\"anonymous\":false},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"DIRECTORY\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"METADATA_ID_TARGET\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"PERMISSIONS\",\"outputs\":[{\"internalType\":\"contract IJBPermissions\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"PRICES\",\"outputs\":[{\"internalType\":\"contract IJBPrices\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"PROJECTS\",\"outputs\":[{\"internalType\":\"contract IJBProjects\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"RULESETS\",\"outputs\":[{\"internalType\":\"contract IJBRulesets\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"SPLITS\",\"outputs\":[{\"internalType\":\"contract IJBSplits\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"STORE\",\"outputs\":[{\"internalType\":\"contract IJB721TiersHookStore\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[{\"internalType\":\"struct JB721TierConfig[]\",\"name\":\"tiersToAdd\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialSupply\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reserveFrequency\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reserveBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIpfsUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"uint8\",\"name\":\"discountPercent\",\"type\":\"uint8\"},{\"internalType\":\"struct JB721TierConfigFlags\",\"name\":\"flags\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"bool\",\"name\":\"allowOwnerMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useReserveBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"cantBeRemoved\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"cantIncreaseDiscountPercent\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"cantBuyWithCredits\",\"type\":\"bool\"}]},{\"internalType\":\"uint32\",\"name\":\"splitPercent\",\"type\":\"uint32\"},{\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint32\",\"name\":\"percent\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"projectId\",\"type\":\"uint64\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint48\",\"name\":\"lockedUntil\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBSplitHook\",\"name\":\"hook\",\"type\":\"address\"}]}]},{\"internalType\":\"uint256[]\",\"name\":\"tierIdsToRemove\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"adjustTiers\"},{\"inputs\":[{\"internalType\":\"struct JBAfterCashOutRecordedContext\",\"name\":\"context\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rulesetId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"cashOutCount\",\"type\":\"uint256\"},{\"internalType\":\"struct JBTokenAmount\",\"name\":\"reclaimedAmount\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"currency\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}]},{\"internalType\":\"struct JBTokenAmount\",\"name\":\"forwardedAmount\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"currency\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}]},{\"internalType\":\"uint256\",\"name\":\"cashOutTaxRate\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"hookMetadata\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"cashOutMetadata\",\"type\":\"bytes\"}]}],\"stateMutability\":\"payable\",\"type\":\"function\",\"name\":\"afterCashOutRecordedWith\"},{\"inputs\":[{\"internalType\":\"struct JBAfterPayRecordedContext\",\"name\":\"context\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rulesetId\",\"type\":\"uint256\"},{\"internalType\":\"struct JBTokenAmount\",\"name\":\"amount\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"currency\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}]},{\"internalType\":\"struct JBTokenAmount\",\"name\":\"forwardedAmount\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"currency\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}]},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"newlyIssuedTokenCount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"hookMetadata\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"payerMetadata\",\"type\":\"bytes\"}]}],\"stateMutability\":\"payable\",\"type\":\"function\",\"name\":\"afterPayRecordedWith\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"approve\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}]},{\"inputs\":[{\"internalType\":\"struct JBBeforeCashOutRecordedContext\",\"name\":\"context\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"address\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rulesetId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"cashOutCount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"},{\"internalType\":\"struct JBTokenAmount\",\"name\":\"surplus\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"currency\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}]},{\"internalType\":\"bool\",\"name\":\"scopeCashOutsToLocalBalances\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"cashOutTaxRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"beneficiaryIsFeeless\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"beforeCashOutRecordedWith\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"cashOutTaxRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"cashOutCount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"effectiveSurplusValue\",\"type\":\"uint256\"},{\"internalType\":\"struct JBCashOutHookSpecification[]\",\"name\":\"hookSpecifications\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"contract IJBCashOutHook\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"noop\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}]}]},{\"inputs\":[{\"internalType\":\"struct JBBeforePayRecordedContext\",\"name\":\"context\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"address\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"internalType\":\"struct JBTokenAmount\",\"name\":\"amount\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"currency\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}]},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rulesetId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reservedPercent\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"beforePayRecordedWith\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"struct JBPayHookSpecification[]\",\"name\":\"hookSpecifications\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"contract IJBPayHook\",\"name\":\"hook\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"noop\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}]}]},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"cashOutWeightOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"checkpoints\",\"outputs\":[{\"internalType\":\"contract IJB721Checkpoints\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"contractURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"firstOwnerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"struct JBRuleset\",\"name\":\"\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint48\",\"name\":\"cycleNumber\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"id\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"basedOnId\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"uint32\",\"name\":\"duration\",\"type\":\"uint32\"},{\"internalType\":\"uint112\",\"name\":\"weight\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"weightCutPercent\",\"type\":\"uint32\"},{\"internalType\":\"contract IJBRulesetApprovalHook\",\"name\":\"approvalHook\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}]},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"hasMintPermissionFor\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"initialProjectId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"internalType\":\"struct JB721InitTiersConfig\",\"name\":\"tiersConfig\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct JB721TierConfig[]\",\"name\":\"tiers\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialSupply\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reserveFrequency\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reserveBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIpfsUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"uint8\",\"name\":\"discountPercent\",\"type\":\"uint8\"},{\"internalType\":\"struct JB721TierConfigFlags\",\"name\":\"flags\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"bool\",\"name\":\"allowOwnerMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useReserveBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"cantBeRemoved\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"cantIncreaseDiscountPercent\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"cantBuyWithCredits\",\"type\":\"bool\"}]},{\"internalType\":\"uint32\",\"name\":\"splitPercent\",\"type\":\"uint32\"},{\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint32\",\"name\":\"percent\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"projectId\",\"type\":\"uint64\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint48\",\"name\":\"lockedUntil\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBSplitHook\",\"name\":\"hook\",\"type\":\"address\"}]}]},{\"internalType\":\"uint32\",\"name\":\"currency\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"}]},{\"internalType\":\"struct JB721TiersHookFlags\",\"name\":\"flags\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"bool\",\"name\":\"noNewTiersWithReserves\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"noNewTiersWithVotes\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"noNewTiersWithOwnerMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"issueTokensForSplits\",\"type\":\"bool\"}]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"initialize\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"isTrustedForwarder\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"jbOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint88\",\"name\":\"projectId\",\"type\":\"uint88\"},{\"internalType\":\"uint8\",\"name\":\"permissionId\",\"type\":\"uint8\"}]},{\"inputs\":[{\"internalType\":\"uint16[]\",\"name\":\"tierIds\",\"type\":\"uint16[]\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"mintFor\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"mintPendingReservesFor\"},{\"inputs\":[{\"internalType\":\"struct JB721TiersMintReservesConfig[]\",\"name\":\"reserveMintConfigs\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint32\",\"name\":\"tierId\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"count\",\"type\":\"uint16\"}]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"mintPendingReservesFor\"},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"payCreditsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"pricingContext\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"projectId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}]},{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"renounceOwnership\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"safeTransferFrom\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"safeTransferFrom\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"setApprovalForAll\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountPercent\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"setDiscountPercentOf\"},{\"inputs\":[{\"internalType\":\"struct JB721TiersSetDiscountPercentConfig[]\",\"name\":\"configs\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint32\",\"name\":\"tierId\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"discountPercent\",\"type\":\"uint16\"}]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"setDiscountPercentsOf\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"encodedIpfsUriTierId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIpfsUri\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"setMetadata\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"permissionId\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"setPermissionId\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"totalCashOutWeight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"transferFrom\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"transferOwnership\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"transferOwnershipToProject\"},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"trustedForwarder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}]}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"adjustTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,uint8,(bool,bool,bool,bool,bool,bool,bool),uint32,(uint32,uint64,address,bool,uint48,address)[])[],uint256[])\":{\"details\":\"Only the collection owner or an operator with `ADJUST_721_TIERS` permission can call this.Added tiers must respect this hook's flags (e.g. `noNewTiersWithVotes`, `noNewTiersWithReserves`).\",\"params\":{\"tierIdsToRemove\":\"The IDs of the tiers to remove.\",\"tiersToAdd\":\"The tiers to add, as an array of `JB721TierConfig` structs.\"}},\"afterCashOutRecordedWith((address,uint256,uint256,uint256,(address,uint8,uint32,uint256),(address,uint8,uint32,uint256),uint256,address,bytes,bytes))\":{\"details\":\"Reverts if the calling contract is not one of the project's terminals.\",\"params\":{\"context\":\"The cash out context passed in by the terminal.\"}},\"afterPayRecordedWith((address,uint256,uint256,(address,uint8,uint32,uint256),(address,uint8,uint32,uint256),uint256,uint256,address,bytes,bytes))\":{\"details\":\"Reverts if the calling contract is not one of the project's terminals.\",\"params\":{\"context\":\"The payment context passed in by the terminal.\"}},\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"params\":{\"owner\":\"The address to check the balance of.\"},\"returns\":{\"balance\":\"The number of NFTs the address owns across this hook's tiers.\"}},\"beforeCashOutRecordedWith((address,address,uint256,uint256,uint256,uint256,(address,uint8,uint32,uint256),bool,uint256,bool,bytes))\":{\"details\":\"Sets this contract as the cash out hook. Part of `IJBRulesetDataHook`.This function is used for NFT cash outs, and will only be called if the project's ruleset has `useDataHookForCashOut` set to `true`.\",\"params\":{\"context\":\"The cash out context passed to this contract by the `cashOutTokensOf(...)` function.\"},\"returns\":{\"cashOutCount\":\"The amount of tokens that should be considered cashed out.\",\"cashOutTaxRate\":\"The cash out tax rate influencing the reclaim amount.\",\"effectiveSurplusValue\":\"The surplus to use for reclaim calculation.\",\"hookSpecifications\":\"The amount and data to send to cash out hooks (this contract) instead of returning to the beneficiary.\",\"totalSupply\":\"The total amount of tokens that are considered to be existing.\"}},\"beforePayRecordedWith((address,address,(address,uint8,uint32,uint256),uint256,uint256,address,uint256,uint256,bytes))\":{\"details\":\"Overrides the base to compute tier split amounts from each tier's `splitPercent`.\",\"params\":{\"context\":\"The payment context from the terminal.\"},\"returns\":{\"hookSpecifications\":\"Specifies this hook as the pay hook, with the split amount to forward.\",\"weight\":\"The adjusted weight for project token minting (reduced when splits route funds away).\"}},\"cashOutWeightOf(uint256[])\":{\"params\":{\"tokenIds\":\"The token IDs of the NFTs to get the combined cash-out weight of.\"},\"returns\":{\"_0\":\"weight The combined cash-out weight.\"}},\"constructor\":{\"params\":{\"checkpointsDeployer\":\"The deployer used to deploy checkpoint module clones during initialization.\",\"directory\":\"A directory of terminals and controllers for projects.\",\"permissions\":\"A contract storing permissions.\",\"prices\":\"A contract that exposes price feeds for currency conversions.\",\"rulesets\":\"A contract storing and managing project rulesets.\",\"splits\":\"The contract that stores and manages splits.\",\"store\":\"The contract which stores the NFT's data.\",\"trustedForwarder\":\"The trusted forwarder for the ERC2771Context.\"}},\"firstOwnerOf(uint256)\":{\"params\":{\"tokenId\":\"The token ID of the NFT.\"},\"returns\":{\"_0\":\"The address of the NFT's first owner.\"}},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"initialize(uint256,string,string,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,uint8,(bool,bool,bool,bool,bool,bool,bool),uint32,(uint32,uint64,address,bool,uint48,address)[])[],uint32,uint8),(bool,bool,bool,bool,bool))\":{\"details\":\"Called by `JB721TiersHookDeployer` after cloning. Reverts if called twice or if the project ID is zero.\",\"params\":{\"baseUri\":\"The URI to use as a base for full NFT `tokenUri`s.\",\"contractUri\":\"A URI where this contract's metadata can be found.\",\"flags\":\"A set of additional options which dictate how the hook behaves.\",\"initialProjectId\":\"The ID of the project this hook is associated with.\",\"name\":\"The name of the NFT collection.\",\"symbol\":\"The symbol representing the NFT collection.\",\"tiersConfig\":\"The NFT tiers and pricing context to initialize the hook with. The tiers must be sorted by category (from least to greatest).\",\"tokenUriResolver\":\"An optional contract responsible for resolving the token URI for each NFT's token ID.\"}},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"isTrustedForwarder(address)\":{\"details\":\"Indicates whether any particular address is the trusted forwarder.\"},\"mintFor(uint16[],address)\":{\"details\":\"Only the collection owner or an operator with `MINT_721` permission can call this.\",\"params\":{\"beneficiary\":\"The address to mint the NFTs to.\",\"tierIds\":\"The IDs of the tiers to mint from.\"},\"returns\":{\"tokenIds\":\"The IDs of the newly minted tokens.\"}},\"mintPendingReservesFor((uint32,uint16)[])\":{\"params\":{\"reserveMintConfigs\":\"The tier IDs and counts specifying how many reserves to mint from each tier.\"}},\"mintPendingReservesFor(uint256,uint256)\":{\"params\":{\"count\":\"The number of reserved NFTs to mint.\",\"tierId\":\"The ID of the tier to mint reserved NFTs from.\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"If `projectId` is non-zero, resolves via `PROJECTS.ownerOf()`. If that call reverts, returns `address(0)`, making owner-gated functions fail closed.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"pricingContext()\":{\"returns\":{\"currency\":\"The currency used for tier prices.\",\"decimals\":\"The number of decimals used in tier prices.\"}},\"renounceOwnership()\":{\"details\":\"Can only be called by the current owner. This is irreversible.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"setDiscountPercentOf(uint256,uint256)\":{\"details\":\"Only the collection owner or an operator with `SET_721_DISCOUNT_PERCENT` permission can call this.\",\"params\":{\"discountPercent\":\"The discount percent to set (0–100).\",\"tierId\":\"The ID of the tier to set the discount of.\"}},\"setDiscountPercentsOf((uint32,uint16)[])\":{\"details\":\"Only the collection owner or an operator with `SET_721_DISCOUNT_PERCENT` permission can call this.\",\"params\":{\"configs\":\"An array of tier ID + discount percent pairs to apply.\"}},\"setMetadata(string,string,string,string,address,uint256,bytes32)\":{\"details\":\"Only this contract's owner or an operator with the `SET_721_METADATA` permission can set the metadata.\",\"params\":{\"baseUri\":\"The new base URI. Send empty to leave unchanged.\",\"contractUri\":\"The new contract URI. Send empty to leave unchanged.\",\"encodedIpfsUri\":\"The encoded IPFS URI to set.\",\"encodedIpfsUriTierId\":\"The ID of the tier to set the encoded IPFS URI of.\",\"name\":\"The new collection name. Send empty to leave unchanged.\",\"symbol\":\"The new collection symbol. Send empty to leave unchanged.\",\"tokenUriResolver\":\"The new URI resolver. Pass `IJB721TokenUriResolver(address(this))` to leave it unchanged; `address(0)` clears the resolver.\"}},\"setPermissionId(uint8)\":{\"details\":\"Can only be called by the current owner. Address-owned contracts can only set `permissionId` to 0. Records the current owner so delegation is ignored while a different owner holds the project NFT.\",\"params\":{\"permissionId\":\"The permission ID to use for `onlyOwner` delegation.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\",\"params\":{\"interfaceId\":\"The ID of the interface to check for adherence to.\"}},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"Defers to the `tokenUriResolver` if it is set. Otherwise, use the `tokenUri` corresponding with the NFT's tier.\",\"params\":{\"tokenId\":\"The token ID of the NFT to get the metadata URI of.\"},\"returns\":{\"_0\":\"The token URI from the `tokenUriResolver` if it is set. If it isn't set, the token URI for the NFT's tier.\"}},\"totalCashOutWeight()\":{\"returns\":{\"_0\":\"weight The total cash-out weight.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"The `permissionId` is reset to 0 on transfer to prevent permission clashes for the new owner. The new owner must explicitly call `setPermissionId()` to configure owner-level permission delegation.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}},\"transferOwnershipToProject(uint256)\":{\"details\":\"The `permissionId` is reset to 0 on transfer to prevent the previous owner's delegates from retaining access. The new project owner must call `setPermissionId()` to re-enable delegation.The `projectId` must fit within a `uint88` and the project must already exist.\",\"params\":{\"projectId\":\"The ID of the project to transfer ownership to.\"}},\"trustedForwarder()\":{\"details\":\"Returns the address of the trusted forwarder.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DIRECTORY()\":{\"notice\":\"The directory of terminals and controllers for projects.\"},\"METADATA_ID_TARGET()\":{\"notice\":\"The ID used when parsing metadata.\"},\"PERMISSIONS()\":{\"notice\":\"A contract storing permissions.\"},\"PRICES()\":{\"notice\":\"The contract that exposes price feeds for currency conversions.\"},\"PROJECTS()\":{\"notice\":\"The `JBProjects` ERC-721 contract used to resolve project-based ownership.\"},\"RULESETS()\":{\"notice\":\"The contract storing and managing project rulesets.\"},\"SPLITS()\":{\"notice\":\"The contract that stores and manages splits.\"},\"STORE()\":{\"notice\":\"The contract that stores and manages data for this contract's NFTs.\"},\"adjustTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,uint8,(bool,bool,bool,bool,bool,bool,bool),uint32,(uint32,uint64,address,bool,uint48,address)[])[],uint256[])\":{\"notice\":\"Add new NFT tiers or remove existing ones. Added tiers get sequential IDs and must be sorted by category. Removed tiers stop accepting new mints but existing NFTs remain valid.\"},\"afterCashOutRecordedWith((address,uint256,uint256,uint256,(address,uint8,uint32,uint256),(address,uint8,uint32,uint256),uint256,address,bytes,bytes))\":{\"notice\":\"Burns the specified NFTs upon token holder cash out, reclaiming funds from the project's balance for `context.beneficiary`. Part of `IJBCashOutHook`.\"},\"afterPayRecordedWith((address,uint256,uint256,(address,uint8,uint32,uint256),(address,uint8,uint32,uint256),uint256,uint256,address,bytes,bytes))\":{\"notice\":\"Mints NFTs to `context.beneficiary` upon payment if conditions are met. Part of `IJBPayHook`.\"},\"balanceOf(address)\":{\"notice\":\"The total number of this hook's NFTs that an address holds (from all tiers).\"},\"baseURI()\":{\"notice\":\"The base URI for the NFT `tokenUris`.\"},\"beforeCashOutRecordedWith((address,address,uint256,uint256,uint256,uint256,(address,uint8,uint32,uint256),bool,uint256,bool,bytes))\":{\"notice\":\"The data calculated before a cash out is recorded in the terminal store. This data is provided to the terminal's `cashOutTokensOf(...)` transaction.\"},\"beforePayRecordedWith((address,address,(address,uint8,uint32,uint256),uint256,uint256,address,uint256,uint256,bytes))\":{\"notice\":\"Called by the terminal before recording a payment. Calculates how much of the payment should be routed to tier-based splits vs. kept by the project, and adjusts the minting weight accordingly.\"},\"cashOutWeightOf(uint256[])\":{\"notice\":\"The combined cash-out weight of specific NFTs. Divide by `totalCashOutWeight()` to get the fraction of surplus these NFTs can reclaim. Weight is based on the original tier price, not any discount paid.\"},\"checkpoints()\":{\"notice\":\"The checkpoint module that manages IVotes-compatible checkpointed voting power for this hook's NFTs.\"},\"contractURI()\":{\"notice\":\"This contract's metadata URI.\"},\"firstOwnerOf(uint256)\":{\"notice\":\"The address that originally received an NFT (typically the payer). Tracked separately from the current owner so it persists through transfers, useful for provenance and historical voting checkpoints.\"},\"hasMintPermissionFor(uint256,(uint48,uint48,uint48,uint48,uint32,uint112,uint32,address,uint256),address)\":{\"notice\":\"Required by the IJBRulesetDataHook interfaces. Return false to not leak any permissions.\"},\"initialize(uint256,string,string,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,uint8,(bool,bool,bool,bool,bool,bool,bool),uint32,(uint32,uint64,address,bool,uint48,address)[])[],uint32,uint8),(bool,bool,bool,bool,bool))\":{\"notice\":\"Initialize a cloned copy of the hook. Sets the project association, ERC-721 name/symbol, pricing context (currency + decimals), metadata URIs, initial tiers, and behavioral flags. Can only be called once per clone — the implementation contract is pre-initialized in its constructor to prevent misuse.\"},\"jbOwner()\":{\"notice\":\"The current ownership state — who owns this contract and how permission delegation is configured.\"},\"mintFor(uint16[],address)\":{\"notice\":\"Manually mint NFTs from specific tiers to a beneficiary, without requiring payment. Only tiers with `allowOwnerMint` enabled can be minted this way.\"},\"mintPendingReservesFor((uint32,uint16)[])\":{\"notice\":\"Mint pending reserved NFTs across multiple tiers in a single call. Reserves accumulate automatically as NFTs are sold (based on each tier's `reserveFrequency`) and anyone can trigger their minting.\"},\"mintPendingReservesFor(uint256,uint256)\":{\"notice\":\"Mint pending reserved NFTs from a specific tier. Anyone can call this — reserves are minted to the tier's reserve beneficiary (or the hook's default). Reverts if the ruleset has reserve minting paused.\"},\"owner()\":{\"notice\":\"Returns the current owner's address. If ownership is project-based, this dynamically resolves to whoever holds the project's ERC-721 NFT right now.\"},\"payCreditsOf(address)\":{\"notice\":\"If an address pays more than the price of the NFT they received, the extra amount is stored as credits which can be cashed out to mint NFTs.\"},\"pricingContext()\":{\"notice\":\"The currency and decimal precision used for this hook's tier prices. For example, if tiers are priced in ETH with 18 decimals, `currency` would be the ETH currency ID and `decimals` would be 18.\"},\"projectId()\":{\"notice\":\"The ID of the project that this contract is associated with.\"},\"renounceOwnership()\":{\"notice\":\"Permanently gives up ownership. After this, no address can call `onlyOwner` functions.\"},\"setDiscountPercentOf(uint256,uint256)\":{\"notice\":\"Set a discount on a tier's price. Discounts reduce the price payers must pay, but don't affect the NFT's cash-out weight (which always uses the original price). The tier must have `cannotIncreaseDiscountPercent` set appropriately.\"},\"setDiscountPercentsOf((uint32,uint16)[])\":{\"notice\":\"Set discount percentages for multiple tiers in a single call.\"},\"setMetadata(string,string,string,string,address,uint256,bytes32)\":{\"notice\":\"Update any combination of this hook's metadata properties in a single call. Pass empty strings or sentinel values for fields you don't want to change.\"},\"setPermissionId(uint8)\":{\"notice\":\"Configures which `JBPermissions` permission ID grants delegate access to `onlyOwner` functions while this contract is project-owned. Set to 0 to disable delegation entirely.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Indicates if this contract adheres to the specified interface.\"},\"tokenURI(uint256)\":{\"notice\":\"The metadata URI of the NFT with the specified token ID.\"},\"totalCashOutWeight()\":{\"notice\":\"The total cash-out weight across all outstanding NFTs and pending reserves. This is the denominator for cash-out calculations — an NFT's share of the surplus is its weight divided by this total.\"},\"transferOwnership(address)\":{\"notice\":\"Transfers ownership of this contract to a new address. Can only be called by the current owner.\"},\"transferOwnershipToProject(uint256)\":{\"notice\":\"Transfers ownership to a Juicebox project, whose ERC-721 NFT holder becomes the owner.\"}},\"version\":1}},\"settings\":{\"remappings\":[\"@arbitrum/=node_modules/@arbitrum/\",\"@ballkidz/=node_modules/@ballkidz/\",\"@bananapus/=node_modules/@bananapus/\",\"@bannynet/=node_modules/@bannynet/\",\"@chainlink/=node_modules/@chainlink/\",\"@croptop/=node_modules/@croptop/\",\"@ensdomains/=node_modules/@ensdomains/\",\"@eth-optimism/=node_modules/@eth-optimism/\",\"@offchainlabs/=node_modules/@offchainlabs/\",\"@openzeppelin/=node_modules/@openzeppelin/\",\"@prb/=node_modules/@prb/\",\"@rev-net/=node_modules/@rev-net/\",\"@scroll-tech/=node_modules/@scroll-tech/\",\"@sphinx-labs/=node_modules/@sphinx-labs/\",\"@uniswap/=node_modules/@uniswap/\",\"@unruggable/=node_modules/@unruggable/\",\"@zksync/=node_modules/@zksync/\",\"base64-sol/=node_modules/base64-sol/\",\"ds-test/=node_modules/@uniswap/v4-core/lib/solmate/lib/ds-test/\",\"erc4626-tests/=node_modules/@uniswap/v4-core/lib/openzeppelin-contracts/lib/erc4626-tests/\",\"forge-gas-snapshot/=node_modules/@uniswap/v4-periphery/lib/permit2/lib/forge-gas-snapshot/\",\"forge-std/=lib/forge-std/src/\",\"hardhat/=node_modules/hardhat/\",\"lib/base64/=node_modules/base64-sol/\",\"openzeppelin-contracts/=node_modules/@uniswap/v4-core/lib/openzeppelin-contracts/\",\"permit2/=node_modules/@uniswap/v4-periphery/lib/permit2/\",\"solady/=node_modules/solady/\",\"solmate/=node_modules/@sphinx-labs/contracts/node_modules/solmate/\",\"typeface/=lib/typeface/contracts/\",\"v4-core/=node_modules/@uniswap/v4-periphery/lib/v4-core/\"],\"optimizer\":{\"enabled\":true,\"runs\":200},\"metadata\":{\"bytecodeHash\":\"none\"},\"compilationTarget\":{\"node_modules/@bananapus/721-hook-v6/src/JB721TiersHook.sol\":\"JB721TiersHook\"},\"evmVersion\":\"cancun\",\"libraries\":{}},\"sources\":{\"node_modules/@bananapus/721-hook-v6/src/JB721TiersHook.sol\":{\"keccak256\":\"0xcb4c3eb7b686e84f5e939a4210c8addb15b83f766065d794ff451623d5185352\",\"urls\":[\"bzz-raw://e9e0d79d5cc3e9e8eec95b34f6858ad7b4948beb362a4b808fb89d307441f669\",\"dweb:/ipfs/QmcpL4JNq8rpZg2biDx7Vp3QpjSqvEbJPAQG23V2qQe34H\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/abstract/ERC721.sol\":{\"keccak256\":\"0x91f293cfcda45c44629e94fb0bbe3d9f7166b1c1b0c7a044f1e9471cfaf47f56\",\"urls\":[\"bzz-raw://df8072499ad2743dfb0af042fcceda0226eff22640895943b09be70cef593c97\",\"dweb:/ipfs/QmaX4RwAaBMCGreUg5StGZ89yyNg95zBFLc4VPRPPHWKMt\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/abstract/JB721Hook.sol\":{\"keccak256\":\"0xb3539846e795c9cad65f902d8fc19b01b5f29547c6f7e197be3c56f6be11d604\",\"urls\":[\"bzz-raw://13eed6814420305e9138c104668d6fccf4d99658fcb0f6a2071af13dac3980a0\",\"dweb:/ipfs/QmcKdckS6A1sc5tuXAHx67BNFxGxPNqrJDjyQoDFcRhxAe\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/enums/JB721TierOwnerMatch.sol\":{\"keccak256\":\"0x196b8bffd727045f2137c32c7765845bf9df116d16aff0292937622120b2f440\",\"urls\":[\"bzz-raw://bd0cc4b5b5e48ca3bc2c5db4ecfc21de5e26a5ec82c2345d68c2992a155e99b8\",\"dweb:/ipfs/QmaV7X2AMZ995bpDPyYRJFWD5xUrohsdb1osYkLrrGvupg\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/interfaces/IJB721Checkpoints.sol\":{\"keccak256\":\"0x5bf06a02c658969b414ec180e12ebd4a38e23bbc6e5f585890432f972e86da55\",\"urls\":[\"bzz-raw://e3beeb2f695cbe27b0900a7720ea0cf34cc54ae51d95ed6df1a1c51760f70806\",\"dweb:/ipfs/QmSSmVwpiFBRd3J6MBKjZ2Ea9vytEZVCPmKdhmzXJnhF1X\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/interfaces/IJB721CheckpointsDeployer.sol\":{\"keccak256\":\"0xea3277c04cbd2453ae524384c67ec864b1869867a5f2548b603c96461694908c\",\"urls\":[\"bzz-raw://6bdda20083c6c8fed48c25f9e67bcefbd61e406fd524b39724143fc9d3d1e3a3\",\"dweb:/ipfs/QmXzHMcrgUyM7QzVQSEb1CNdDFGFPiPARNTBiThq7aVCGK\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/interfaces/IJB721Hook.sol\":{\"keccak256\":\"0x7bd4927dc430e63f4cb2f7592a4072798357216ab8b62e49e97a91eef842e88a\",\"urls\":[\"bzz-raw://1be3a8d952223912ca26e0038675ecfe58617ca8eb3f3542538532c3527b0cb7\",\"dweb:/ipfs/QmW8WF6gHxHTFCJU3kUMRCRdDvTJcpRomDS8nxeYmr8jPF\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/interfaces/IJB721TiersHook.sol\":{\"keccak256\":\"0xa247c65e6a17d311d976b0ceb4fc11d25a6e13b85e51a57e968b7b6f24ed1b9e\",\"urls\":[\"bzz-raw://940bee38a343493057d2021cc51690d085a0667980c32c57d971bb1c59cbdb22\",\"dweb:/ipfs/Qmc3fynSKGgkYcB4tMBKgGfjyjUd9ficoypHPyyMCcYEtq\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/interfaces/IJB721TiersHookStore.sol\":{\"keccak256\":\"0x0ec2d37e62f76d7536e5bd3091c56a0a3f96482ccbe5cbbbc0df89f85d6f0216\",\"urls\":[\"bzz-raw://41bd0e085fbf07d3b24aca0df7e6da01dd18ba91ecbb46cdd73707b315c924a4\",\"dweb:/ipfs/QmYGpECUfXdwsvnYEMRHuHH7UMvfgykh8mCU6KCFqGvWey\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/interfaces/IJB721TokenUriResolver.sol\":{\"keccak256\":\"0xef418fff2bb7811dc41c1807709741049889818bfb6096954b61b73edcf09f07\",\"urls\":[\"bzz-raw://5aea971649e1f5e17c258442e85d7cc4f8ca0faf9ad185f6b010784b7c6aa1dd\",\"dweb:/ipfs/QmQDZ3cfTdooCRLdRn8p4VKbSqPdZ8rSXL6vvYtNUJc5Vx\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/libraries/JB721Constants.sol\":{\"keccak256\":\"0x3c6fbbcc8c43e6d48e932dbb76ee6e089ca9e1d39e1aa833ec917a41d1393d0f\",\"urls\":[\"bzz-raw://8709be977323d2642044f21d4a79e631b84652eee29f27817083b1e3785b2b02\",\"dweb:/ipfs/QmSQGoGePXKcuPZAYUT7JZX28dg4jJxLNbquLFKmBvjHA7\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/libraries/JB721TiersHookLib.sol\":{\"keccak256\":\"0xb7f5ecda551bf67c90fb1b9779fdb61a39deea0327e7263da857acd8f55ad729\",\"urls\":[\"bzz-raw://a22ebf46961a66eb2304cae97241af175d887be4567420d372aee0e9bc788edd\",\"dweb:/ipfs/QmSLmxq1iqFdZAcHAPQKLtvyQTP6bHfwb47GraR2mRMKwo\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/libraries/JB721TiersRulesetMetadataResolver.sol\":{\"keccak256\":\"0x995699afa720144ba0230f09af98d1f421bc6d4b3e017e926ec5eefa2fa6a0e4\",\"urls\":[\"bzz-raw://178d8221fb6c14ce9c51d5253aaa01d8d0d6d8bc90812ce98b928ee3539ecf83\",\"dweb:/ipfs/QmXGCkYuV6sguTg7KkGtF9ksvbKZp6kbe2yBhbqNkXBMRx\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/libraries/JBIpfsDecoder.sol\":{\"keccak256\":\"0xf03a2003a8b2a0e131233b29d5ec60c8bdcef08fa4fdba660f43d0e106c046b8\",\"urls\":[\"bzz-raw://49864bd095e2fa015a8928e62f612a2c798c9af378ce49929f23d3631c8c4a17\",\"dweb:/ipfs/QmNSDJAmDad6PVhgtgzt8S9zwN5GHXxrFyt7vLvEGf5dQs\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/structs/JB721InitTiersConfig.sol\":{\"keccak256\":\"0x04a9e63f7f61e1c506d53ca70ae9c0e71b03b957f535d4e769b5d488ba425b7d\",\"urls\":[\"bzz-raw://b545fe59f580127a07a8ee7bc082c13c292337d30dc89b535cb5fbc255c29b96\",\"dweb:/ipfs/QmWTBb2LnXDvcJDDyD93ZJMhuybS5z6528TGQVjWQYaTTd\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/structs/JB721Tier.sol\":{\"keccak256\":\"0xf0e249848a1385d00956b9ba50d1a983515a6d40e932e0705c96b63b4d0f1ca7\",\"urls\":[\"bzz-raw://0fb9df1dfd7124dd3e7f37426d47944cace9ade5177064cd8c593e931103f907\",\"dweb:/ipfs/QmQDtwfqeDUGPJsipHPDoo4q3yNFtogQg5ZF1z8E6JbWvv\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/structs/JB721TierConfig.sol\":{\"keccak256\":\"0x0ad3eb9440c15f69e4d82a3d1a90fc6cf01703816f4c2534e9eab1a2d0e26d80\",\"urls\":[\"bzz-raw://e55fb400ffeddfad6eb94c259e5cc2406a93945414dd326f2e2733ddbd1c0513\",\"dweb:/ipfs/QmebwiqWs8XE5JRPbk1eJSaekTHdLUr3p3SRh4Ye3jkJJC\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/structs/JB721TierConfigFlags.sol\":{\"keccak256\":\"0xa96d61224a0c57d2cf1a15c8123925246b64c017a08f92a6d45dd5f5643960c1\",\"urls\":[\"bzz-raw://4689458074886b2569d1661a44d64129b7bae028b786d34578b8e34384ef9779\",\"dweb:/ipfs/QmTphmLU98MZb4DKWEMH4UFbAggchpshfHanH141LVDzta\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/structs/JB721TierFlags.sol\":{\"keccak256\":\"0x5f73fa3c927b1902b5d0927ad11a06960e29ad88a6e29b9405b9eaae8846c2c5\",\"urls\":[\"bzz-raw://13b0db30829eca17769c0e9fb011ccaebbda15e027c24175d8d6cc1163c0ca1c\",\"dweb:/ipfs/QmYmXASJGwsXRU2NYNyVzTyFbF78GjGTqo15Z5R64EX8AT\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/structs/JB721TiersHookFlags.sol\":{\"keccak256\":\"0xf59d1106597f60959606a8c7e55fae3fa7e8e95572ca8aca7c3b109679f456ee\",\"urls\":[\"bzz-raw://c883611c1fd3a046a81b7604711637624c11ee4f8a7413651d812a9f4d34671e\",\"dweb:/ipfs/Qmbsx8qoab3BQNm6q725hLb5XjSinKkZFZVQ1jDLiNH8wf\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/structs/JB721TiersMintReservesConfig.sol\":{\"keccak256\":\"0x86fe586a05e6d4bc6fab9b68996a7f4b74c5362ca6f24b9d8057ed7e4cd1c5ac\",\"urls\":[\"bzz-raw://0915f17d1f958ab1fe6b214d99ed62f1f858684898c803f1a8a6a557472dd140\",\"dweb:/ipfs/QmUhdnSV8UzkgvbtkYEKHrpyDEmc2aJxW5HQ1gucuxxu5A\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/structs/JB721TiersRulesetMetadata.sol\":{\"keccak256\":\"0xb31af363b36b876ef98905809ab040e4e492ce32cb1bb7b2d69bde3a655072fd\",\"urls\":[\"bzz-raw://be01d37454626f476a32bd8939c87244a8fe120252295846f407de8b4e4aaf5b\",\"dweb:/ipfs/Qmau9AGLbnJZvTFWiuCXLSNjPd4uNSmeimTuhMRikZv5Za\"],\"license\":\"MIT\"},\"node_modules/@bananapus/721-hook-v6/src/structs/JB721TiersSetDiscountPercentConfig.sol\":{\"keccak256\":\"0x4672eacb6b0cda5e6f5f72ddb91463c52fb90b4df421053e3b40024f19a59954\",\"urls\":[\"bzz-raw://9d8e3a0b35d6b2a6ec66527594263400189b6c766bfd6943c83704380a989aec\",\"dweb:/ipfs/QmUE7NhFWsxjFRzTuRyHJ7oRx3JXD9CnG83t29PjGAhwPR\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/abstract/JBPermissioned.sol\":{\"keccak256\":\"0x16a1fa9f031564f9f3253d5e21327b228651269263bfbde10eb04862c65ed577\",\"urls\":[\"bzz-raw://4150d75d10f267953c0a42948ebd7bffe1568a5fb0dfe84befcda512ddf3a19c\",\"dweb:/ipfs/QmVMYXMRyiLySHCtoPke9AuVkhoVm9Gx1zoLMmSjXjFf2M\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/enums/JBApprovalStatus.sol\":{\"keccak256\":\"0x58f3eed8b6ecea6b640f4eb78a5a416ce8737f9155e350ef4077db422b3fca8f\",\"urls\":[\"bzz-raw://0b56bde97ef9d8ec2a3e464202c5d2fee9c39597485b3fb8baaeef971cc63bc8\",\"dweb:/ipfs/QmSdPaNfPm83yibuSvgLbaqgZw7LYkTLhacrxDagH3sprJ\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBActiveVotes.sol\":{\"keccak256\":\"0x2e5b40c3b1347e9763b8e77aeb989a5200f4011a30c6616a996b91b4ead1de40\",\"urls\":[\"bzz-raw://a679dda01d5cba08b202a0f71219734078f254705c21ec86326427d704fe6d8d\",\"dweb:/ipfs/QmQ9KsSiVLeVHSQPNGv4CV3J1BPrw2TFQMR2YoPvGa2Auk\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBCashOutHook.sol\":{\"keccak256\":\"0x2a6d327092775fdbeaf922b8364403102cae437f765f662fe142bf97e87c2ef1\",\"urls\":[\"bzz-raw://5f9a23971860b907569917fe14cbcc85993d83fb32e5342dd5338a1721e540f7\",\"dweb:/ipfs/Qmamt2n7HaWo2cUDn8K2FhrZPHBVxuaCWh9jf8V3WYPXMN\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0xb8f3ba0a544360b32c9f0a704168ee93c2960accfc010735c8cbea54941e63d5\",\"urls\":[\"bzz-raw://e9f14d5daa2357db4afe96313b40bf0c53c606315c9cb55109fffdc9c2fd85d0\",\"dweb:/ipfs/QmRPHFAiivM9CqdfocRyahdSjfWTbaSepPNCGGQU23ABcv\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBPayHook.sol\":{\"keccak256\":\"0x08599d439d898566b311bc4bedf7f0050ce25c86e246c43f673f3ab4d2457f21\",\"urls\":[\"bzz-raw://db19e95707920262c79197be9296fe381782220bfaf00b71df3a4271da83832f\",\"dweb:/ipfs/QmYzdomQzXNSk46U5vkiEnDErJJdR17deL4S6hPundstZd\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBPermissioned.sol\":{\"keccak256\":\"0xa43d05c9cc31cd768072e60d4f097d60dfe199469bfc96aa8df29346a15ee4dc\",\"urls\":[\"bzz-raw://de7caab7841a56b681140993557374edb54763a08b28aaaba35f1bc1a01f7937\",\"dweb:/ipfs/QmQKG6QNm7PNebRtKeLSzzXgp71Yw5Ja37nGPCvVa62Rzu\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBPermissions.sol\":{\"keccak256\":\"0xb32e13d512a7deb9ba1e47bbc0992817a63caa9e1f2913d6c55b637a57084037\",\"urls\":[\"bzz-raw://0d291ccc6edc581febf386779423001b0ed4d3b5b021ec444f7bef01cb2f9d28\",\"dweb:/ipfs/QmSUFhJpcpWYLEUzt4KrzyC4am39TNost8tWAtn5GdAUg2\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x3a948500b5397c90e926f3bdef9423e7f095f906b23cd1503009802c80bedb41\",\"urls\":[\"bzz-raw://a0ea0b7e5d442257f6159799b7bf262615b0f04e5cd542b0980f131ae40a63bb\",\"dweb:/ipfs/QmX7uugLaXtT5XmYxqfrmDqU2YuknAeYjHMiLm9iHaRfHw\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xed5e532f6ee86029a1a4a1ba8b593296f772909a5f9d95da6cc6c595a838446f\",\"urls\":[\"bzz-raw://4314cbfe4ebd96a48eaf1c14af860aa08b7cd6a73da10391746b4d3410d13d67\",\"dweb:/ipfs/QmfRkWFbxmJUMew6DsDGbK88PypDBUA6PDTJFvfBaMno5n\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x72c6cbda5a93593e3cc49ef6c4e0848a4b6daa88c188c4192776af86c49911dc\",\"urls\":[\"bzz-raw://448ed5d7a704b5f4dd759514dbcb78160b82732ac6bd7bc368a9f8822045e6de\",\"dweb:/ipfs/QmbnpCPxQLDvQx5ymEy1Ty3aks7bjonydops1CsjCACJBN\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBRulesetApprovalHook.sol\":{\"keccak256\":\"0x11dd67effb025396bec1bb97d35a9ba162340e9a824c048e8286802a12acaa45\",\"urls\":[\"bzz-raw://bae11f483c66d98e7fad9bbf47249f6fa4434693e8bace78cbe6d4da9afee009\",\"dweb:/ipfs/QmWjrjPtr8dLGtXQBrz6idwcNqyx2yVSVVQtqo74yqUSZV\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBRulesetDataHook.sol\":{\"keccak256\":\"0xf9aad7d3c7de29e020af4fea893bbaa6a1c0e9a8ae5860331c9f4d68d1a5a99f\",\"urls\":[\"bzz-raw://e10b6ed0827ac155153544b8018d2fa812628016e8a168f7df771616f92fd6f4\",\"dweb:/ipfs/QmUB3zuj8B2MAdgSYEMPh7ovXuM1fBb7jN6gLVxstjcAE7\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBRulesets.sol\":{\"keccak256\":\"0x8fd69e04aa2b5962a917394c0a4baa6653f7cea93629a1915c1f9c2e870143e5\",\"urls\":[\"bzz-raw://6c7ce64037e6a11cc03e5c66607a219eb25c953ad76aa7b914d2a9e8f0cd5434\",\"dweb:/ipfs/QmYoTec9wfd89HAnNckC2XJWegtgUmfjmi1vJYT4LTXQ61\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBSplitHook.sol\":{\"keccak256\":\"0x8155763689f6f51b5c6712ac6f23728b248a8924e69e63f8aa14d01c78ea17f1\",\"urls\":[\"bzz-raw://7bab14bd7250cc3ba6665573f2a961308a3453015af7a0305488c0db1745f95b\",\"dweb:/ipfs/QmYpKwToPcSChWXyJ75SBEeWKugBygAnQ1WaZ8wWcu5rha\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBSplits.sol\":{\"keccak256\":\"0x9d27fe4d9aa6dcbb24a24ee1fc16e51b51fab1c4ab1eace93981e73f3c4ce636\",\"urls\":[\"bzz-raw://7a6a1243102ac23cb1643bcc670b6b16b70566877941233964159f9b37755113\",\"dweb:/ipfs/Qmewa2o3nyoRwZ4pdhWqUh1ShWXA3GHJffiVafcKYXg2Ao\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBTerminal.sol\":{\"keccak256\":\"0xa3621c12f7c2e33ee38b5de626a5939190d8a12b1e5318a7cd8d398595480cec\",\"urls\":[\"bzz-raw://1341254389038383117d9b23ed2f9d1812fc30ef1c11cfd6c8423918894d7ba3\",\"dweb:/ipfs/QmV2WJ5a3NW12RnZAM3ySbEfGHNN6GfqqpsMHXorfoxiQo\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xcbdb1448260ebea5937411516957ef199099e34ff997e7f2a617c2898f921994\",\"urls\":[\"bzz-raw://d1cbf97e5684c987be6703c096e8230d870fab25a23eec8d209cd082e3f2637b\",\"dweb:/ipfs/QmNmzeuQoFiaUTQAcV1tyJyjUYEJ3t7386zTw4ofT7HoZM\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/libraries/JBConstants.sol\":{\"keccak256\":\"0x5d4b095f3b94c52f89b9cf8a8104de0242497e61f1b32ddc82e78a9ba71a6d0f\",\"urls\":[\"bzz-raw://3ac3340339e0b6a7aae881781b2830f59e3f44114955e2f770172a9bffddc104\",\"dweb:/ipfs/QmV9pFGNGcknqHLEuc6rmC1YPwuwtsokjzh1WX8H2jmVRp\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/libraries/JBMetadataResolver.sol\":{\"keccak256\":\"0x8f671604390274457e0d13806f9ca9aab44c784f4492612771bada213ed261bd\",\"urls\":[\"bzz-raw://e10babd77a88bb1e9c09d5a99b3f165ce46cca4b348e23add2dc4d53aefe07d7\",\"dweb:/ipfs/QmTLc2R1o5W3hkxX8avYrWPtf1oMLTtmve1sPujAbtoUtz\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/libraries/JBRulesetMetadataResolver.sol\":{\"keccak256\":\"0xbd3b117f9457dbe55bd29a2daf368a682c0ab25cbedc0139f309809a4ab646c5\",\"urls\":[\"bzz-raw://6a72f70e18edb22b8abc238ba169e5c775696d07915b5d91a8601c1a28ff096e\",\"dweb:/ipfs/QmQZHfiTLqdk1pv1hiursm2icuAwFSzmjGTxRaHMcAqsUh\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBAccountingContext.sol\":{\"keccak256\":\"0xf53e975ce2632558a95d0a57679dbb8afff984d06daaa530cd4c442e467c3403\",\"urls\":[\"bzz-raw://519f7c466c8d90227afe2bd9108e7477412600fea8b4134889795a58a51b156c\",\"dweb:/ipfs/QmaSHMrNLfP8D9RRUaYbMWURdZYweUmt5ysgtTGMZiwnai\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBAfterCashOutRecordedContext.sol\":{\"keccak256\":\"0x8cd6d13c98bd825d7e61cb3b2f5cbf56e77f9a2f85eaa0e27d82f1fb8d5af4f7\",\"urls\":[\"bzz-raw://0e4ff9a254147cc6728b3bdc3862b77d15b518b49375e400b5f0b78552f14c62\",\"dweb:/ipfs/Qmd25R3LDrnRHiSdrNSdfqk8746A3J3VH44C5HDfHkFvU2\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBAfterPayRecordedContext.sol\":{\"keccak256\":\"0xcf1761f48e4cbd6eeeb64bb19e434eff50a7f666b2116657f88f63d19620c6de\",\"urls\":[\"bzz-raw://842fe47a4ad56c830040864b458de398efd0cf82eb0add9349e792d0c8b0c275\",\"dweb:/ipfs/QmXBj6EVnzvVX8ZYa2ndyjoSZDGjpXxaoy7dBuoGMaAmRX\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBBeforeCashOutRecordedContext.sol\":{\"keccak256\":\"0xd3af6ce6d8ef731aa746e08de846f0422b34a568a3d1000fb8f85a32ba5701b0\",\"urls\":[\"bzz-raw://237e31d3ee24305c1ff4ffb9f829a4159fbd6bb8b4ecb5b557aa16e7eb924bcd\",\"dweb:/ipfs/QmeW4zTaM2J8DDxdC7zLwaHryBLcC3ydbHNSTHcmyETGvG\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBBeforePayRecordedContext.sol\":{\"keccak256\":\"0xa5e4dd0ffa54c8e56f3bb6a437b2e13ef8728ee15aee3d7cb1d0dc96317e75dd\",\"urls\":[\"bzz-raw://fcd2113962a3f34e782090a553f1ba5ace6653bd5d5f932e8bb5279f42bbcb5b\",\"dweb:/ipfs/QmWLhDEprdQsNFmPhmNojRHDhqwG2QMx58AV5j4o56P4mx\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBCashOutHookSpecification.sol\":{\"keccak256\":\"0x1579c160a19e68eb06158f56120acf06b8aa4bbbc9836c80fabbb3d2e57ccf3d\",\"urls\":[\"bzz-raw://a81f5e0c384caf0ac11814825ce07e6c6cee97d28f60dcd65dfe8d529b6135fe\",\"dweb:/ipfs/QmY2q7oMFDMN1PoQ8zp7PUQu4K5dYKhYLKBKqrTy42YU6N\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBPayHookSpecification.sol\":{\"keccak256\":\"0x28f565b626774c36a990ac999f268fbaf9d7f7861e862fab1fb8301f2534e8d1\",\"urls\":[\"bzz-raw://a5d7375934179178febd3b412099b1a5ff42a154ce8b949df2c11b5f3cb3b80e\",\"dweb:/ipfs/QmXP5vVq8Z6HntiuMcPWfQURCKejyiyHLKYuMmzCuUJJtV\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBPermissionsData.sol\":{\"keccak256\":\"0x9cb75b1171657be08950f9fc9f6c2bcb2496f618de4ab932141d424dec29d9df\",\"urls\":[\"bzz-raw://a8f578d6132c92048ae553a3c13260ecfa657f4a1bbe18f6c550d96988167590\",\"dweb:/ipfs/QmSYfGm2mcYfMm4wfnZMTjuUr1kBJoq4vZSCkwdgi9BRFk\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBRuleset.sol\":{\"keccak256\":\"0xd03f45345597fca43effe3bc593572c989f4294d909505e331cbd2640a801d23\",\"urls\":[\"bzz-raw://2cc09b335549f4982c16c1109f3078f09fb81c32370baff007633a38badb7a83\",\"dweb:/ipfs/QmYJHBvXscvokRqzdGdTCRQtHUpnePS2uaCDfgHLuuMo56\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBRulesetMetadata.sol\":{\"keccak256\":\"0xbb9bda3b7ebb6796fa091ee6ce3182ad2a03dc35b89df0fb1107fae7c26ae0b4\",\"urls\":[\"bzz-raw://1b400674d8ec4e3495041c03d5601c07a68eb5d18a0cff83a5823007d6bad36e\",\"dweb:/ipfs/Qma76CRFPwV9WZq2ttZ2FFvui5BvzRHnftrL3Tz1m9uGKv\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBSplit.sol\":{\"keccak256\":\"0xf50ba85591d86076ff127e97af2c4b7d1a1be3e20e25d784b64591697d71ab52\",\"urls\":[\"bzz-raw://04276773313a01c2b816c95addea68843c21db3888f4c547eb6e6c486ac55547\",\"dweb:/ipfs/QmZGpxzryNkheek5V9dJWfcJyTP7T52PsPXgRBuweK2rsN\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBSplitGroup.sol\":{\"keccak256\":\"0x8dc98fa9e730bee8bcc0a8acf1bc4db1c9b0edf307d969c9c9caa4d6b8d856d9\",\"urls\":[\"bzz-raw://66f4306e0e69c82033927952564fd617e7c4b29aa8b165d5b53a0ebe3109ea12\",\"dweb:/ipfs/QmQqN1u7FHAdEtEZNRcKvZwYtXEQVQnLd6FMzHESP7wDtx\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBSplitHookContext.sol\":{\"keccak256\":\"0xa2246f4960ec2b24db3fbfce5d59782cdb9a8fb3c3f832a2c39ddc92859ff170\",\"urls\":[\"bzz-raw://3e3a0ae100c15bb15f0484cb68e3052c3d3d764f84e37020e8dd6b658ff98076\",\"dweb:/ipfs/QmPAv99zN7senrfCMMkeT4RMWpwTdqLgMURQR73BLRe4ZG\"],\"license\":\"MIT\"},\"node_modules/@bananapus/core-v6/src/structs/JBTokenAmount.sol\":{\"keccak256\":\"0xc61593d33d5ec30e695d382948a1b944d01e29a8f2bfd29f75ecebcdbc7816de\",\"urls\":[\"bzz-raw://8992c1e5fca0c2342ecc0e734dfba6a2a752e4c29184784931d0971e44305051\",\"dweb:/ipfs/QmYNcaW3qeCkgAExUaFTq238fgfJuoYCTwjCn7jm94U4dJ\"],\"license\":\"MIT\"},\"node_modules/@bananapus/ownable-v6/src/JBOwnable.sol\":{\"keccak256\":\"0xd11a69067191189a41e75692a3b81366b6d2176b364032d83e167631892c04b8\",\"urls\":[\"bzz-raw://6c2c7d32775cd64383cd3a28ec17e54a3a55f9ea55edaf571af6b53bc50f066d\",\"dweb:/ipfs/QmcvHyEUMBvEK1QayXtgBGtTJth5C7bL24U9mKP4fsW6Yh\"],\"license\":\"MIT\"},\"node_modules/@bananapus/ownable-v6/src/JBOwnableOverrides.sol\":{\"keccak256\":\"0x1b85df8e56003cecfad1cb1aee04e0ada8b37f22b0be20df03f6685a7a772a70\",\"urls\":[\"bzz-raw://98a245649f9054c2fd29e3508c787fbc53db00b43ccb7e2998690d64c6ef15a9\",\"dweb:/ipfs/QmUL9Nikj4QnjkaddEMPX59ccziE1SAE28xneLaZ1X1AqX\"],\"license\":\"MIT\"},\"node_modules/@bananapus/ownable-v6/src/interfaces/IJBOwnable.sol\":{\"keccak256\":\"0x412aa3a3b9095fe3c7c81e08b8e0ab7775e0d57709648756cf565d78f991db5e\",\"urls\":[\"bzz-raw://0cdf10b412dfce9f6372192c6e5ee4262f994ec793455f8ff8f0c9f6ace6d4fd\",\"dweb:/ipfs/QmRGzsFo7Xb4JvKPQ7uwCLG7FiyEEMz6h1EGTiJCSuqwbB\"],\"license\":\"MIT\"},\"node_modules/@bananapus/ownable-v6/src/structs/JBOwner.sol\":{\"keccak256\":\"0xabdb1d1ac3542bc428519e0684e191222a67c8370296da1abce87b2865764c36\",\"urls\":[\"bzz-raw://8adfe62cee8df91cec9d99282af4971a600473e9c7cafb034c4bf09a27d56de1\",\"dweb:/ipfs/QmX4qn3ohYxTsUYyXicqMRC3BuEYL2zE1czVL9KdEvK8Fg\"],\"license\":\"MIT\"},\"node_modules/@bananapus/permission-ids-v6/src/JBPermissionIds.sol\":{\"keccak256\":\"0x5105c29834e0dce4e395e262f23089a1077404f5317c591c89f3621cdfda9628\",\"urls\":[\"bzz-raw://54deca2c06d77f5d1087911e8035d244dde2b08a5dc0dff146b86e6a314419e8\",\"dweb:/ipfs/QmNdpTioAbk6bahJx4aT1WFUY9aV182JH1Dn4FqfuqC8QC\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0xdf466d4c6aa9da903595262100def9c6d960045b2ada0357edc47953bc5e18d6\",\"urls\":[\"bzz-raw://889512f1c9468f4d5e0f90f46b849709fd6fedab29b8377f64f6c3ee8373beee\",\"dweb:/ipfs/QmefA385JqnvagxdFDpM3kxnxUtpJvkxkbTr66naQbAko9\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x8fbf3dddff71246ff9ffe21f9f0195a40583c4101c94c747691291f8b9e14ebd\",\"urls\":[\"bzz-raw://8d69db7468e95a56999df81f1c555215b3359483d610dbef17d898ef48801578\",\"dweb:/ipfs/QmSPaSUsHDGqffinNgwajKp8RUdwj3GyW3VqWWNPfwH4b4\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xed0f7f14eb30c80a82855ddc3f7267bb6290546e5847a8ffc33f599ce4bc5eb6\",\"urls\":[\"bzz-raw://63fab00bbb42ce6f132a93d1c1e1cfed5175821521fb8746caa48129787d2435\",\"dweb:/ipfs/QmVMBNhmVW1h35LsaYNyDChfyTwF8M3EW9T1JDFpsXiaQF\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x1b88b3fb3d85ba5496d7d5f396f83ee1fddcdd6762059ff65992655b67920998\",\"urls\":[\"bzz-raw://89393bb3212da1c0889601b9706a07b39419ddc4d2faab9eaf6e7f9152cf6a1c\",\"dweb:/ipfs/QmcCfzzxv1Bkdz1c1yF4gQCeYb6Us5BJANnzTFqawfd1HL\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/metatx/ERC2771Context.sol\":{\"keccak256\":\"0x9695d220b99dcf62910533bdf5d40d4cf6a4e04d5b106b6803a80586486dc7f7\",\"urls\":[\"bzz-raw://83b7aecd65882d8953643dce144efe91367082cc01830c9c4ed3c8a4837fb558\",\"dweb:/ipfs/QmQ5HxGavcCKjuhd8buv177qjG6A4kvxx4pZviceKdspdM\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x304d732678032a9781ae85c8f204c8fba3d3a5e31c02616964e75cfdc5049098\",\"urls\":[\"bzz-raw://299ced486011781dc98f638059678323c03079fefae1482abaa2135b22fa92d0\",\"dweb:/ipfs/QmbZNbcPTBxNvwChavN2kkZZs7xHhYL7mv51KrxMhsMs3j\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xf78f05f3b8c9f75570e85300d7b4600d7f6f6a198449273f31d44c1641adb46f\",\"urls\":[\"bzz-raw://e28b872613b45e0e801d4995aa4380be2531147bfe2d85c1d6275f1de514fba3\",\"dweb:/ipfs/QmeeFcfShHYaS3BdgVj78nxR28ZaVUwbvr66ud8bT6kzw9\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x88cd5e3bee2e8c36b8d9058fbcaa81ad5704281b25634122234b55ea853d8055\",\"urls\":[\"bzz-raw://8dc7e7ab5b8ea36c15027ab04221b05d1c970f47a53e9fd47ead8ca665d49c7e\",\"dweb:/ipfs/Qmeeph7fsDyfRr8vb2L8KcDEmKPb224TAayMvgqgGAnqpL\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0xf46268c37522320bb2119a5a394bc5c739a95c0c574c8d08e8c643f4d06e5c76\",\"urls\":[\"bzz-raw://517e4b295f35b9947c72ad7379a6089439ece7bb6f4a2ea0a159da13046c039e\",\"dweb:/ipfs/QmZXzkSfLUbvujig3zVbpDHykpHhqLpvQtdiN3B5j4TA3u\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/utils/Bytes.sol\":{\"keccak256\":\"0xf80e4b96b6849936ea0fabd76cf81b13d7276295fddb1e1c07afb3ddf650b0ac\",\"urls\":[\"bzz-raw://6430007255ac11c6e9c4331a418f3af52ff66fbbae959f645301d025b20aeb08\",\"dweb:/ipfs/QmQE5fjmBBRw9ndnzJuC2uskYss1gbaR7JdazoCf1FGoBj\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x1fdc2de9585ab0f1c417f02a873a2b6343cd64bb7ffec6b00ffa11a4a158d9e8\",\"urls\":[\"bzz-raw://1ab223a3d969c6cd7610049431dd42740960c477e45878f5d8b54411f7a32bdc\",\"dweb:/ipfs/QmWumhjvhpKcwx3vDPQninsNVTc3BGvqaihkQakFkQYpaS\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x59973a93b1f983f94e10529f46ca46544a9fec2b5f56fb1390bbe9e0dc79f857\",\"urls\":[\"bzz-raw://c55ef8f0b9719790c2ae6f81d80a59ffb89f2f0abe6bc065585bd79edce058c5\",\"dweb:/ipfs/QmNNmCbX9NjPXKqHJN8R1WC2rNeZSQrPZLd6FF6AKLyH5Y\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0xc8cae21c9ae4a46e5162ff9bf5b351d6fa6a6eba72d515f3bc1bdfeda7fdf083\",\"urls\":[\"bzz-raw://ce830ebcf28e31643caba318996db3763c36d52cd0f23798ba83c135355d45e9\",\"dweb:/ipfs/QmdGPcvptHN7UBCbUYBbRX3hiRVRFLRwno8b4uga6uFNif\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"],\"license\":\"MIT\"},\"node_modules/@prb/math/src/Common.sol\":{\"keccak256\":\"0x1949276271967e9954a65f27c1c32e1dd73cbd1f3d2af88f2fdd694ba4b7da60\",\"urls\":[\"bzz-raw://ca414ac0a29a3d0d9e194afa73029a7d94168029df6aeb5f6a4b540d0072eb14\",\"dweb:/ipfs/QmYVipmQDvcvurNZZSFGjxabWXwEpdfijYYx2b3d7ico8U\"],\"license\":\"MIT\"}},\"version\":1}",
3508
+ "gitCommit": "npm:@bananapus/721-hook-v6@1.0.1",
3509
+ "gitDirty": false,
3510
+ "history": []
3511
+ }