-
Notifications
You must be signed in to change notification settings - Fork 0
/
SimulatorERC1155.json
2211 lines (2211 loc) · 147 KB
/
SimulatorERC1155.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{
"abi": [
{
"type": "constructor",
"inputs": [
{ "name": "name_", "type": "string", "internalType": "string" },
{ "name": "symbol_", "type": "string", "internalType": "string" },
{
"name": "initialBaseURI_",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "balanceOf",
"inputs": [
{ "name": "account", "type": "address", "internalType": "address" },
{ "name": "id", "type": "uint256", "internalType": "uint256" }
],
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "balanceOfBatch",
"inputs": [
{
"name": "accounts",
"type": "address[]",
"internalType": "address[]"
},
{ "name": "ids", "type": "uint256[]", "internalType": "uint256[]" }
],
"outputs": [
{ "name": "", "type": "uint256[]", "internalType": "uint256[]" }
],
"stateMutability": "view"
},
{
"type": "function",
"name": "isApprovedForAll",
"inputs": [
{ "name": "account", "type": "address", "internalType": "address" },
{ "name": "operator", "type": "address", "internalType": "address" }
],
"outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "mint",
"inputs": [
{ "name": "recipient", "type": "address", "internalType": "address" },
{ "name": "tokenId", "type": "uint256", "internalType": "uint256" },
{ "name": "quantity", "type": "uint256", "internalType": "uint256" }
],
"outputs": [],
"stateMutability": "payable"
},
{
"type": "function",
"name": "name",
"inputs": [],
"outputs": [{ "name": "", "type": "string", "internalType": "string" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "owner",
"inputs": [],
"outputs": [{ "name": "", "type": "address", "internalType": "address" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "renounceOwnership",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "safeBatchTransferFrom",
"inputs": [
{ "name": "from", "type": "address", "internalType": "address" },
{ "name": "to", "type": "address", "internalType": "address" },
{ "name": "ids", "type": "uint256[]", "internalType": "uint256[]" },
{ "name": "amounts", "type": "uint256[]", "internalType": "uint256[]" },
{ "name": "data", "type": "bytes", "internalType": "bytes" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "safeTransferFrom",
"inputs": [
{ "name": "from", "type": "address", "internalType": "address" },
{ "name": "to", "type": "address", "internalType": "address" },
{ "name": "id", "type": "uint256", "internalType": "uint256" },
{ "name": "amount", "type": "uint256", "internalType": "uint256" },
{ "name": "data", "type": "bytes", "internalType": "bytes" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setApprovalForAll",
"inputs": [
{ "name": "operator", "type": "address", "internalType": "address" },
{ "name": "approved", "type": "bool", "internalType": "bool" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setBaseURI",
"inputs": [
{ "name": "newBaseURI", "type": "string", "internalType": "string" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "supportsInterface",
"inputs": [
{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }
],
"outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "symbol",
"inputs": [],
"outputs": [{ "name": "", "type": "string", "internalType": "string" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "tokenURI",
"inputs": [
{ "name": "tokenId", "type": "uint256", "internalType": "uint256" }
],
"outputs": [{ "name": "", "type": "string", "internalType": "string" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "totalBalances",
"inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "totalSupply",
"inputs": [],
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
"stateMutability": "view"
},
{
"type": "function",
"name": "transferOwnership",
"inputs": [
{ "name": "newOwner", "type": "address", "internalType": "address" }
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "uri",
"inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
"outputs": [{ "name": "", "type": "string", "internalType": "string" }],
"stateMutability": "view"
},
{
"type": "event",
"name": "ApprovalForAll",
"inputs": [
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "approved",
"type": "bool",
"indexed": false,
"internalType": "bool"
}
],
"anonymous": false
},
{
"type": "event",
"name": "OwnershipTransferred",
"inputs": [
{
"name": "previousOwner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newOwner",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "TransferBatch",
"inputs": [
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "from",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "ids",
"type": "uint256[]",
"indexed": false,
"internalType": "uint256[]"
},
{
"name": "values",
"type": "uint256[]",
"indexed": false,
"internalType": "uint256[]"
}
],
"anonymous": false
},
{
"type": "event",
"name": "TransferSingle",
"inputs": [
{
"name": "operator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "from",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "id",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "value",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"type": "event",
"name": "URI",
"inputs": [
{
"name": "value",
"type": "string",
"indexed": false,
"internalType": "string"
},
{
"name": "id",
"type": "uint256",
"indexed": true,
"internalType": "uint256"
}
],
"anonymous": false
}
],
"bytecode": {
"object": "0x60806040523480156200001157600080fd5b506040516200201b3803806200201b83398101604081905262000034916200019c565b80620000408162000073565b506200004c3362000085565b60046200005a8482620002bc565b506005620000698382620002bc565b5050505062000388565b6002620000818282620002bc565b5050565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620000ff57600080fd5b81516001600160401b03808211156200011c576200011c620000d7565b604051601f8301601f19908116603f01168101908282118183101715620001475762000147620000d7565b816040528381526020925086838588010111156200016457600080fd5b600091505b8382101562000188578582018301518183018401529082019062000169565b600093810190920192909252949350505050565b600080600060608486031215620001b257600080fd5b83516001600160401b0380821115620001ca57600080fd5b620001d887838801620000ed565b94506020860151915080821115620001ef57600080fd5b620001fd87838801620000ed565b935060408601519150808211156200021457600080fd5b506200022386828701620000ed565b9150509250925092565b600181811c908216806200024257607f821691505b6020821081036200026357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002b757600081815260208120601f850160051c81016020861015620002925750805b601f850160051c820191505b81811015620002b3578281556001016200029e565b5050505b505050565b81516001600160401b03811115620002d857620002d8620000d7565b620002f081620002e984546200022d565b8462000269565b602080601f8311600181146200032857600084156200030f5750858301515b600019600386901b1c1916600185901b178555620002b3565b600085815260208120601f198616915b82811015620003595788860151825594840194600190910190840162000338565b5085821015620003785787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611c8380620003986000396000f3fe6080604052600436106101085760003560e01c8063715018a611610095578063c87b56dd11610064578063c87b56dd146102bc578063e985e9c5146102dc578063ed7aae2b14610325578063f242432a14610352578063f2fde38b1461037257600080fd5b8063715018a61461024a5780638da5cb5b1461025f57806395d89b4114610287578063a22cb4651461029c57600080fd5b8063156e29f6116100dc578063156e29f6146101b257806318160ddd146101c75780632eb2c2d6146101dd5780634e1273f4146101fd57806355f804b31461022a57600080fd5b8062fdd58e1461010d57806301ffc9a71461014057806306fdde03146101705780630e89341c14610192575b600080fd5b34801561011957600080fd5b5061012d61012836600461125c565b610392565b6040519081526020015b60405180910390f35b34801561014c57600080fd5b5061016061015b36600461129c565b61042b565b6040519015158152602001610137565b34801561017c57600080fd5b5061018561047b565b6040516101379190611310565b34801561019e57600080fd5b506101856101ad366004611323565b610509565b6101c56101c036600461133c565b61059d565b005b3480156101d357600080fd5b5061012d60065481565b3480156101e957600080fd5b506101c56101f83660046114c5565b61060b565b34801561020957600080fd5b5061021d61021836600461156f565b610657565b6040516101379190611675565b34801561023657600080fd5b506101c5610245366004611688565b610781565b34801561025657600080fd5b506101c5610795565b34801561026b57600080fd5b506003546040516001600160a01b039091168152602001610137565b34801561029357600080fd5b506101856107a9565b3480156102a857600080fd5b506101c56102b73660046116d9565b6107b6565b3480156102c857600080fd5b506101856102d7366004611323565b6107c5565b3480156102e857600080fd5b506101606102f7366004611715565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561033157600080fd5b5061012d610340366004611323565b60076020526000908152604090205481565b34801561035e57600080fd5b506101c561036d366004611748565b610806565b34801561037e57600080fd5b506101c561038d3660046117ad565b61084b565b60006001600160a01b0383166104025760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b506000818152602081815260408083206001600160a01b03861684529091529020545b92915050565b60006001600160e01b03198216636cdb3d1360e11b148061045c57506001600160e01b031982166303a24d0760e21b145b8061042557506301ffc9a760e01b6001600160e01b0319831614610425565b60048054610488906117c8565b80601f01602080910402602001604051908101604052809291908181526020018280546104b4906117c8565b80156105015780601f106104d657610100808354040283529160200191610501565b820191906000526020600020905b8154815290600101906020018083116104e457829003601f168201915b505050505081565b606060028054610518906117c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610544906117c8565b80156105915780601f1061056657610100808354040283529160200191610591565b820191906000526020600020905b81548152906001019060200180831161057457829003601f168201915b50505050509050919050565b60008281526007602052604081205490036105c857600680549060006105c283611818565b91905055505b6105e3838383604051806020016040528060008152506108c1565b60008281526007602052604081208054839290610601908490611831565b9091555050505050565b6001600160a01b038516331480610627575061062785336102f7565b6106435760405162461bcd60e51b81526004016103f990611844565b61065085858585856109d5565b5050505050565b606081518351146106bc5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b60648201526084016103f9565b6000835167ffffffffffffffff8111156106d8576106d861136f565b604051908082528060200260200182016040528015610701578160200160208202803683370190505b50905060005b84518110156107795761074c85828151811061072557610725611892565b602002602001015185838151811061073f5761073f611892565b6020026020010151610392565b82828151811061075e5761075e611892565b602090810291909101015261077281611818565b9050610707565b509392505050565b610789610bb2565b61079281610c0c565b50565b61079d610bb2565b6107a76000610c18565b565b60058054610488906117c8565b6107c1338383610c6a565b5050565b606060006107d283610509565b9050806107de84610d4a565b6040516020016107ef9291906118a8565b604051602081830303815290604052915050919050565b6001600160a01b038516331480610822575061082285336102f7565b61083e5760405162461bcd60e51b81526004016103f990611844565b6106508585858585610ddd565b610853610bb2565b6001600160a01b0381166108b85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103f9565b61079281610c18565b6001600160a01b0384166109215760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b60648201526084016103f9565b33600061092d85610f07565b9050600061093a85610f07565b90506000868152602081815260408083206001600160a01b038b1684529091528120805487929061096c908490611831565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46109cc83600089898989610f52565b50505050505050565b8151835114610a375760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b60648201526084016103f9565b6001600160a01b038416610a5d5760405162461bcd60e51b81526004016103f9906118d7565b3360005b8451811015610b44576000858281518110610a7e57610a7e611892565b602002602001015190506000858381518110610a9c57610a9c611892565b602090810291909101810151600084815280835260408082206001600160a01b038e168352909352919091205490915081811015610aec5760405162461bcd60e51b81526004016103f99061191c565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290610b29908490611831565b9250508190555050505080610b3d90611818565b9050610a61565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610b94929190611966565b60405180910390a4610baa8187878787876110ad565b505050505050565b6003546001600160a01b031633146107a75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103f9565b60026107c182826119df565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031603610cdd5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b60648201526084016103f9565b6001600160a01b03838116600081815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60606000610d5783611168565b600101905060008167ffffffffffffffff811115610d7757610d7761136f565b6040519080825280601f01601f191660200182016040528015610da1576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610dab57509392505050565b6001600160a01b038416610e035760405162461bcd60e51b81526004016103f9906118d7565b336000610e0f85610f07565b90506000610e1c85610f07565b90506000868152602081815260408083206001600160a01b038c16845290915290205485811015610e5f5760405162461bcd60e51b81526004016103f99061191c565b6000878152602081815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290610e9c908490611831565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4610efc848a8a8a8a8a610f52565b505050505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110610f4157610f41611892565b602090810291909101015292915050565b6001600160a01b0384163b15610baa5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190610f969089908990889088908890600401611a9f565b6020604051808303816000875af1925050508015610fd1575060408051601f3d908101601f19168201909252610fce91810190611ae4565b60015b61107d57610fdd611b01565b806308c379a0036110165750610ff1611b1d565b80610ffc5750611018565b8060405162461bcd60e51b81526004016103f99190611310565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b60648201526084016103f9565b6001600160e01b0319811663f23a6e6160e01b146109cc5760405162461bcd60e51b81526004016103f990611ba7565b6001600160a01b0384163b15610baa5760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906110f19089908990889088908890600401611bef565b6020604051808303816000875af192505050801561112c575060408051601f3d908101601f1916820190925261112991810190611ae4565b60015b61113857610fdd611b01565b6001600160e01b0319811663bc197c8160e01b146109cc5760405162461bcd60e51b81526004016103f990611ba7565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106111a75772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106111d3576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106111f157662386f26fc10000830492506010015b6305f5e1008310611209576305f5e100830492506008015b612710831061121d57612710830492506004015b6064831061122f576064830492506002015b600a83106104255760010192915050565b80356001600160a01b038116811461125757600080fd5b919050565b6000806040838503121561126f57600080fd5b61127883611240565b946020939093013593505050565b6001600160e01b03198116811461079257600080fd5b6000602082840312156112ae57600080fd5b81356112b981611286565b9392505050565b60005b838110156112db5781810151838201526020016112c3565b50506000910152565b600081518084526112fc8160208601602086016112c0565b601f01601f19169290920160200192915050565b6020815260006112b960208301846112e4565b60006020828403121561133557600080fd5b5035919050565b60008060006060848603121561135157600080fd5b61135a84611240565b95602085013595506040909401359392505050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff811182821017156113ab576113ab61136f565b6040525050565b600067ffffffffffffffff8211156113cc576113cc61136f565b5060051b60200190565b600082601f8301126113e757600080fd5b813560206113f4826113b2565b6040516114018282611385565b83815260059390931b850182019282810191508684111561142157600080fd5b8286015b8481101561143c5780358352918301918301611425565b509695505050505050565b600067ffffffffffffffff8311156114615761146161136f565b604051611478601f8501601f191660200182611385565b80915083815284848401111561148d57600080fd5b83836020830137600060208583010152509392505050565b600082601f8301126114b657600080fd5b6112b983833560208501611447565b600080600080600060a086880312156114dd57600080fd5b6114e686611240565b94506114f460208701611240565b9350604086013567ffffffffffffffff8082111561151157600080fd5b61151d89838a016113d6565b9450606088013591508082111561153357600080fd5b61153f89838a016113d6565b9350608088013591508082111561155557600080fd5b50611562888289016114a5565b9150509295509295909350565b6000806040838503121561158257600080fd5b823567ffffffffffffffff8082111561159a57600080fd5b818501915085601f8301126115ae57600080fd5b813560206115bb826113b2565b6040516115c88282611385565b83815260059390931b85018201928281019150898411156115e857600080fd5b948201945b8386101561160d576115fe86611240565b825294820194908201906115ed565b9650508601359250508082111561162357600080fd5b50611630858286016113d6565b9150509250929050565b600081518084526020808501945080840160005b8381101561166a5781518752958201959082019060010161164e565b509495945050505050565b6020815260006112b9602083018461163a565b60006020828403121561169a57600080fd5b813567ffffffffffffffff8111156116b157600080fd5b8201601f810184136116c257600080fd5b6116d184823560208401611447565b949350505050565b600080604083850312156116ec57600080fd5b6116f583611240565b91506020830135801515811461170a57600080fd5b809150509250929050565b6000806040838503121561172857600080fd5b61173183611240565b915061173f60208401611240565b90509250929050565b600080600080600060a0868803121561176057600080fd5b61176986611240565b945061177760208701611240565b93506040860135925060608601359150608086013567ffffffffffffffff8111156117a157600080fd5b611562888289016114a5565b6000602082840312156117bf57600080fd5b6112b982611240565b600181811c908216806117dc57607f821691505b6020821081036117fc57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60006001820161182a5761182a611802565b5060010190565b8082018082111561042557610425611802565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600083516118ba8184602088016112c0565b8351908301906118ce8183602088016112c0565b01949350505050565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b604081526000611979604083018561163a565b828103602084015261198b818561163a565b95945050505050565b601f8211156119da57600081815260208120601f850160051c810160208610156119bb5750805b601f850160051c820191505b81811015610baa578281556001016119c7565b505050565b815167ffffffffffffffff8111156119f9576119f961136f565b611a0d81611a0784546117c8565b84611994565b602080601f831160018114611a425760008415611a2a5750858301515b600019600386901b1c1916600185901b178555610baa565b600085815260208120601f198616915b82811015611a7157888601518255948401946001909101908401611a52565b5085821015611a8f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090611ad9908301846112e4565b979650505050505050565b600060208284031215611af657600080fd5b81516112b981611286565b600060033d1115611b1a5760046000803e5060005160e01c5b90565b600060443d1015611b2b5790565b6040516003193d81016004833e81513d67ffffffffffffffff8160248401118184111715611b5b57505050505090565b8285019150815181811115611b735750505050505090565b843d8701016020828501011115611b8d5750505050505090565b611b9c60208286010187611385565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b0386811682528516602082015260a060408201819052600090611c1b9083018661163a565b8281036060840152611c2d818661163a565b90508281036080840152611c4181856112e4565b9897505050505050505056fea26469706673582212209d1839f8c7a34e98935e614659d69d67c010451583d0117ddec924a9628639f064736f6c63430008120033",
"sourceMap": "251:866:63:-:0;;;454:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;558:15;1184:13:40;558:15:63;1184:7:40;:13::i;:::-;-1:-1:-1;964:32:32;736:10:52;964:18:32;:32::i;:::-;579:4:63::1;:12;586:5:::0;579:4;:12:::1;:::i;:::-;-1:-1:-1::0;595:6:63::1;:16;604:7:::0;595:6;:16:::1;:::i;:::-;;454:161:::0;;;251:866;;8421:88:40;8488:4;:13;8495:6;8488:4;:13;:::i;:::-;;8421:88;:::o;2510:191:32:-;2603:6;;;-1:-1:-1;;;;;2620:17:32;;;-1:-1:-1;;;;;;2620:17:32;;;;;;;2653:40;;2603:6;;;2620:17;2603:6;;2653:40;;2584:16;;2653:40;2573:128;2510:191;:::o;14:127:73:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:73;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:73;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:73:o;991:766::-;1109:6;1117;1125;1178:2;1166:9;1157:7;1153:23;1149:32;1146:52;;;1194:1;1191;1184:12;1146:52;1221:16;;-1:-1:-1;;;;;1286:14:73;;;1283:34;;;1313:1;1310;1303:12;1283:34;1336:61;1389:7;1380:6;1369:9;1365:22;1336:61;:::i;:::-;1326:71;;1443:2;1432:9;1428:18;1422:25;1406:41;;1472:2;1462:8;1459:16;1456:36;;;1488:1;1485;1478:12;1456:36;1511:63;1566:7;1555:8;1544:9;1540:24;1511:63;:::i;:::-;1501:73;;1620:2;1609:9;1605:18;1599:25;1583:41;;1649:2;1639:8;1636:16;1633:36;;;1665:1;1662;1655:12;1633:36;;1688:63;1743:7;1732:8;1721:9;1717:24;1688:63;:::i;:::-;1678:73;;;991:766;;;;;:::o;1762:380::-;1841:1;1837:12;;;;1884;;;1905:61;;1959:4;1951:6;1947:17;1937:27;;1905:61;2012:2;2004:6;2001:14;1981:18;1978:38;1975:161;;2058:10;2053:3;2049:20;2046:1;2039:31;2093:4;2090:1;2083:15;2121:4;2118:1;2111:15;1975:161;;1762:380;;;:::o;2273:545::-;2375:2;2370:3;2367:11;2364:448;;;2411:1;2436:5;2432:2;2425:17;2481:4;2477:2;2467:19;2551:2;2539:10;2535:19;2532:1;2528:27;2522:4;2518:38;2587:4;2575:10;2572:20;2569:47;;;-1:-1:-1;2610:4:73;2569:47;2665:2;2660:3;2656:12;2653:1;2649:20;2643:4;2639:31;2629:41;;2720:82;2738:2;2731:5;2728:13;2720:82;;;2783:17;;;2764:1;2753:13;2720:82;;;2724:3;;;2364:448;2273:545;;;:::o;2994:1352::-;3114:10;;-1:-1:-1;;;;;3136:30:73;;3133:56;;;3169:18;;:::i;:::-;3198:97;3288:6;3248:38;3280:4;3274:11;3248:38;:::i;:::-;3242:4;3198:97;:::i;:::-;3350:4;;3414:2;3403:14;;3431:1;3426:663;;;;4133:1;4150:6;4147:89;;;-1:-1:-1;4202:19:73;;;4196:26;4147:89;-1:-1:-1;;2951:1:73;2947:11;;;2943:24;2939:29;2929:40;2975:1;2971:11;;;2926:57;4249:81;;3396:944;;3426:663;2220:1;2213:14;;;2257:4;2244:18;;-1:-1:-1;;3462:20:73;;;3580:236;3594:7;3591:1;3588:14;3580:236;;;3683:19;;;3677:26;3662:42;;3775:27;;;;3743:1;3731:14;;;;3610:19;;3580:236;;;3584:3;3844:6;3835:7;3832:19;3829:201;;;3905:19;;;3899:26;-1:-1:-1;;3988:1:73;3984:14;;;4000:3;3980:24;3976:37;3972:42;3957:58;3942:74;;3829:201;-1:-1:-1;;;;;4076:1:73;4060:14;;;4056:22;4043:36;;-1:-1:-1;2994:1352:73:o;:::-;251:866:63;;;;;;",
"linkReferences": {}
},
"deployedBytecode": {
"object": "0x6080604052600436106101085760003560e01c8063715018a611610095578063c87b56dd11610064578063c87b56dd146102bc578063e985e9c5146102dc578063ed7aae2b14610325578063f242432a14610352578063f2fde38b1461037257600080fd5b8063715018a61461024a5780638da5cb5b1461025f57806395d89b4114610287578063a22cb4651461029c57600080fd5b8063156e29f6116100dc578063156e29f6146101b257806318160ddd146101c75780632eb2c2d6146101dd5780634e1273f4146101fd57806355f804b31461022a57600080fd5b8062fdd58e1461010d57806301ffc9a71461014057806306fdde03146101705780630e89341c14610192575b600080fd5b34801561011957600080fd5b5061012d61012836600461125c565b610392565b6040519081526020015b60405180910390f35b34801561014c57600080fd5b5061016061015b36600461129c565b61042b565b6040519015158152602001610137565b34801561017c57600080fd5b5061018561047b565b6040516101379190611310565b34801561019e57600080fd5b506101856101ad366004611323565b610509565b6101c56101c036600461133c565b61059d565b005b3480156101d357600080fd5b5061012d60065481565b3480156101e957600080fd5b506101c56101f83660046114c5565b61060b565b34801561020957600080fd5b5061021d61021836600461156f565b610657565b6040516101379190611675565b34801561023657600080fd5b506101c5610245366004611688565b610781565b34801561025657600080fd5b506101c5610795565b34801561026b57600080fd5b506003546040516001600160a01b039091168152602001610137565b34801561029357600080fd5b506101856107a9565b3480156102a857600080fd5b506101c56102b73660046116d9565b6107b6565b3480156102c857600080fd5b506101856102d7366004611323565b6107c5565b3480156102e857600080fd5b506101606102f7366004611715565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561033157600080fd5b5061012d610340366004611323565b60076020526000908152604090205481565b34801561035e57600080fd5b506101c561036d366004611748565b610806565b34801561037e57600080fd5b506101c561038d3660046117ad565b61084b565b60006001600160a01b0383166104025760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b506000818152602081815260408083206001600160a01b03861684529091529020545b92915050565b60006001600160e01b03198216636cdb3d1360e11b148061045c57506001600160e01b031982166303a24d0760e21b145b8061042557506301ffc9a760e01b6001600160e01b0319831614610425565b60048054610488906117c8565b80601f01602080910402602001604051908101604052809291908181526020018280546104b4906117c8565b80156105015780601f106104d657610100808354040283529160200191610501565b820191906000526020600020905b8154815290600101906020018083116104e457829003601f168201915b505050505081565b606060028054610518906117c8565b80601f0160208091040260200160405190810160405280929190818152602001828054610544906117c8565b80156105915780601f1061056657610100808354040283529160200191610591565b820191906000526020600020905b81548152906001019060200180831161057457829003601f168201915b50505050509050919050565b60008281526007602052604081205490036105c857600680549060006105c283611818565b91905055505b6105e3838383604051806020016040528060008152506108c1565b60008281526007602052604081208054839290610601908490611831565b9091555050505050565b6001600160a01b038516331480610627575061062785336102f7565b6106435760405162461bcd60e51b81526004016103f990611844565b61065085858585856109d5565b5050505050565b606081518351146106bc5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b60648201526084016103f9565b6000835167ffffffffffffffff8111156106d8576106d861136f565b604051908082528060200260200182016040528015610701578160200160208202803683370190505b50905060005b84518110156107795761074c85828151811061072557610725611892565b602002602001015185838151811061073f5761073f611892565b6020026020010151610392565b82828151811061075e5761075e611892565b602090810291909101015261077281611818565b9050610707565b509392505050565b610789610bb2565b61079281610c0c565b50565b61079d610bb2565b6107a76000610c18565b565b60058054610488906117c8565b6107c1338383610c6a565b5050565b606060006107d283610509565b9050806107de84610d4a565b6040516020016107ef9291906118a8565b604051602081830303815290604052915050919050565b6001600160a01b038516331480610822575061082285336102f7565b61083e5760405162461bcd60e51b81526004016103f990611844565b6106508585858585610ddd565b610853610bb2565b6001600160a01b0381166108b85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103f9565b61079281610c18565b6001600160a01b0384166109215760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b60648201526084016103f9565b33600061092d85610f07565b9050600061093a85610f07565b90506000868152602081815260408083206001600160a01b038b1684529091528120805487929061096c908490611831565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46109cc83600089898989610f52565b50505050505050565b8151835114610a375760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b60648201526084016103f9565b6001600160a01b038416610a5d5760405162461bcd60e51b81526004016103f9906118d7565b3360005b8451811015610b44576000858281518110610a7e57610a7e611892565b602002602001015190506000858381518110610a9c57610a9c611892565b602090810291909101810151600084815280835260408082206001600160a01b038e168352909352919091205490915081811015610aec5760405162461bcd60e51b81526004016103f99061191c565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290610b29908490611831565b9250508190555050505080610b3d90611818565b9050610a61565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610b94929190611966565b60405180910390a4610baa8187878787876110ad565b505050505050565b6003546001600160a01b031633146107a75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103f9565b60026107c182826119df565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031603610cdd5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b60648201526084016103f9565b6001600160a01b03838116600081815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60606000610d5783611168565b600101905060008167ffffffffffffffff811115610d7757610d7761136f565b6040519080825280601f01601f191660200182016040528015610da1576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610dab57509392505050565b6001600160a01b038416610e035760405162461bcd60e51b81526004016103f9906118d7565b336000610e0f85610f07565b90506000610e1c85610f07565b90506000868152602081815260408083206001600160a01b038c16845290915290205485811015610e5f5760405162461bcd60e51b81526004016103f99061191c565b6000878152602081815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290610e9c908490611831565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4610efc848a8a8a8a8a610f52565b505050505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110610f4157610f41611892565b602090810291909101015292915050565b6001600160a01b0384163b15610baa5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190610f969089908990889088908890600401611a9f565b6020604051808303816000875af1925050508015610fd1575060408051601f3d908101601f19168201909252610fce91810190611ae4565b60015b61107d57610fdd611b01565b806308c379a0036110165750610ff1611b1d565b80610ffc5750611018565b8060405162461bcd60e51b81526004016103f99190611310565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b60648201526084016103f9565b6001600160e01b0319811663f23a6e6160e01b146109cc5760405162461bcd60e51b81526004016103f990611ba7565b6001600160a01b0384163b15610baa5760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906110f19089908990889088908890600401611bef565b6020604051808303816000875af192505050801561112c575060408051601f3d908101601f1916820190925261112991810190611ae4565b60015b61113857610fdd611b01565b6001600160e01b0319811663bc197c8160e01b146109cc5760405162461bcd60e51b81526004016103f990611ba7565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106111a75772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106111d3576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106111f157662386f26fc10000830492506010015b6305f5e1008310611209576305f5e100830492506008015b612710831061121d57612710830492506004015b6064831061122f576064830492506002015b600a83106104255760010192915050565b80356001600160a01b038116811461125757600080fd5b919050565b6000806040838503121561126f57600080fd5b61127883611240565b946020939093013593505050565b6001600160e01b03198116811461079257600080fd5b6000602082840312156112ae57600080fd5b81356112b981611286565b9392505050565b60005b838110156112db5781810151838201526020016112c3565b50506000910152565b600081518084526112fc8160208601602086016112c0565b601f01601f19169290920160200192915050565b6020815260006112b960208301846112e4565b60006020828403121561133557600080fd5b5035919050565b60008060006060848603121561135157600080fd5b61135a84611240565b95602085013595506040909401359392505050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff811182821017156113ab576113ab61136f565b6040525050565b600067ffffffffffffffff8211156113cc576113cc61136f565b5060051b60200190565b600082601f8301126113e757600080fd5b813560206113f4826113b2565b6040516114018282611385565b83815260059390931b850182019282810191508684111561142157600080fd5b8286015b8481101561143c5780358352918301918301611425565b509695505050505050565b600067ffffffffffffffff8311156114615761146161136f565b604051611478601f8501601f191660200182611385565b80915083815284848401111561148d57600080fd5b83836020830137600060208583010152509392505050565b600082601f8301126114b657600080fd5b6112b983833560208501611447565b600080600080600060a086880312156114dd57600080fd5b6114e686611240565b94506114f460208701611240565b9350604086013567ffffffffffffffff8082111561151157600080fd5b61151d89838a016113d6565b9450606088013591508082111561153357600080fd5b61153f89838a016113d6565b9350608088013591508082111561155557600080fd5b50611562888289016114a5565b9150509295509295909350565b6000806040838503121561158257600080fd5b823567ffffffffffffffff8082111561159a57600080fd5b818501915085601f8301126115ae57600080fd5b813560206115bb826113b2565b6040516115c88282611385565b83815260059390931b85018201928281019150898411156115e857600080fd5b948201945b8386101561160d576115fe86611240565b825294820194908201906115ed565b9650508601359250508082111561162357600080fd5b50611630858286016113d6565b9150509250929050565b600081518084526020808501945080840160005b8381101561166a5781518752958201959082019060010161164e565b509495945050505050565b6020815260006112b9602083018461163a565b60006020828403121561169a57600080fd5b813567ffffffffffffffff8111156116b157600080fd5b8201601f810184136116c257600080fd5b6116d184823560208401611447565b949350505050565b600080604083850312156116ec57600080fd5b6116f583611240565b91506020830135801515811461170a57600080fd5b809150509250929050565b6000806040838503121561172857600080fd5b61173183611240565b915061173f60208401611240565b90509250929050565b600080600080600060a0868803121561176057600080fd5b61176986611240565b945061177760208701611240565b93506040860135925060608601359150608086013567ffffffffffffffff8111156117a157600080fd5b611562888289016114a5565b6000602082840312156117bf57600080fd5b6112b982611240565b600181811c908216806117dc57607f821691505b6020821081036117fc57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60006001820161182a5761182a611802565b5060010190565b8082018082111561042557610425611802565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600083516118ba8184602088016112c0565b8351908301906118ce8183602088016112c0565b01949350505050565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b604081526000611979604083018561163a565b828103602084015261198b818561163a565b95945050505050565b601f8211156119da57600081815260208120601f850160051c810160208610156119bb5750805b601f850160051c820191505b81811015610baa578281556001016119c7565b505050565b815167ffffffffffffffff8111156119f9576119f961136f565b611a0d81611a0784546117c8565b84611994565b602080601f831160018114611a425760008415611a2a5750858301515b600019600386901b1c1916600185901b178555610baa565b600085815260208120601f198616915b82811015611a7157888601518255948401946001909101908401611a52565b5085821015611a8f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090611ad9908301846112e4565b979650505050505050565b600060208284031215611af657600080fd5b81516112b981611286565b600060033d1115611b1a5760046000803e5060005160e01c5b90565b600060443d1015611b2b5790565b6040516003193d81016004833e81513d67ffffffffffffffff8160248401118184111715611b5b57505050505090565b8285019150815181811115611b735750505050505090565b843d8701016020828501011115611b8d5750505050505090565b611b9c60208286010187611385565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b0386811682528516602082015260a060408201819052600090611c1b9083018661163a565b8281036060840152611c2d818661163a565b90508281036080840152611c4181856112e4565b9897505050505050505056fea26469706673582212209d1839f8c7a34e98935e614659d69d67c010451583d0117ddec924a9628639f064736f6c63430008120033",
"sourceMap": "251:866:63:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2254:230:40;;;;;;;;;;-1:-1:-1;2254:230:40;;;;;:::i;:::-;;:::i;:::-;;;597:25:73;;;585:2;570:18;2254:230:40;;;;;;;;1277:310;;;;;;;;;;-1:-1:-1;1277:310:40;;;;;:::i;:::-;;:::i;:::-;;;1184:14:73;;1177:22;1159:41;;1147:2;1132:18;1277:310:40;1019:187:73;329:18:63;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;1998:105:40:-;;;;;;;;;;-1:-1:-1;1998:105:40;;;;;:::i;:::-;;:::i;618:229:63:-;;;;;;:::i;:::-;;:::i;:::-;;373:26;;;;;;;;;;;;;;;;4197:438:40;;;;;;;;;;-1:-1:-1;4197:438:40;;;;;:::i;:::-;;:::i;2650:524::-;;;;;;;;;;-1:-1:-1;2650:524:40;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;850:92:63:-;;;;;;;;;;-1:-1:-1;850:92:63;;;;;:::i;:::-;;:::i;1891:103:32:-;;;;;;;;;;;;;:::i;1243:87::-;;;;;;;;;;-1:-1:-1;1316:6:32;;1243:87;;-1:-1:-1;;;;;1316:6:32;;;7948:51:73;;7936:2;7921:18;1243:87:32;7802:203:73;350:20:63;;;;;;;;;;;;;:::i;3247:155:40:-;;;;;;;;;;-1:-1:-1;3247:155:40;;;;;:::i;:::-;;:::i;945:170:63:-;;;;;;;;;;-1:-1:-1;945:170:63;;;;;:::i;:::-;;:::i;3474:168:40:-;;;;;;;;;;-1:-1:-1;3474:168:40;;;;;:::i;:::-;-1:-1:-1;;;;;3597:27:40;;;3573:4;3597:27;;;:18;:27;;;;;;;;:37;;;;;;;;;;;;;;;3474:168;402:48:63;;;;;;;;;;-1:-1:-1;402:48:63;;;;;:::i;:::-;;;;;;;;;;;;;;3714:406:40;;;;;;;;;;-1:-1:-1;3714:406:40;;;;;:::i;:::-;;:::i;2149:201:32:-;;;;;;;;;;-1:-1:-1;2149:201:32;;;;;:::i;:::-;;:::i;2254:230:40:-;2340:7;-1:-1:-1;;;;;2368:21:40;;2360:76;;;;-1:-1:-1;;;2360:76:40;;9631:2:73;2360:76:40;;;9613:21:73;9670:2;9650:18;;;9643:30;9709:34;9689:18;;;9682:62;-1:-1:-1;;;9760:18:73;;;9753:40;9810:19;;2360:76:40;;;;;;;;;-1:-1:-1;2454:9:40;:13;;;;;;;;;;;-1:-1:-1;;;;;2454:22:40;;;;;;;;;;2254:230;;;;;:::o;1277:310::-;1379:4;-1:-1:-1;;;;;;1416:41:40;;-1:-1:-1;;;1416:41:40;;:110;;-1:-1:-1;;;;;;;1474:52:40;;-1:-1:-1;;;1474:52:40;1416:110;:163;;;-1:-1:-1;;;;;;;;;;963:40:55;;;1543:36:40;854:157:55;329:18:63;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1998:105:40:-;2058:13;2091:4;2084:11;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1998:105;;;:::o;618:229:63:-;720:22;;;;:13;:22;;;;;;:27;;716:46;;749:11;:13;;;:11;:13;;;:::i;:::-;;;;;;716:46;766:39;772:9;783:7;792:8;766:39;;;;;;;;;;;;:5;:39::i;:::-;809:22;;;;:13;:22;;;;;:34;;835:8;;809:22;:34;;835:8;;809:34;:::i;:::-;;;;-1:-1:-1;;;;;618:229:63:o;4197:438:40:-;-1:-1:-1;;;;;4430:20:40;;736:10:52;4430:20:40;;:60;;-1:-1:-1;4454:36:40;4471:4;736:10:52;3474:168:40;:::i;4454:36::-;4408:156;;;;-1:-1:-1;;;4408:156:40;;;;;;;:::i;:::-;4575:52;4598:4;4604:2;4608:3;4613:7;4622:4;4575:22;:52::i;:::-;4197:438;;;;;:::o;2650:524::-;2806:16;2867:3;:10;2848:8;:15;:29;2840:83;;;;-1:-1:-1;;;2840:83:40;;11244:2:73;2840:83:40;;;11226:21:73;11283:2;11263:18;;;11256:30;11322:34;11302:18;;;11295:62;-1:-1:-1;;;11373:18:73;;;11366:39;11422:19;;2840:83:40;11042:405:73;2840:83:40;2936:30;2983:8;:15;2969:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2969:30:40;;2936:63;;3017:9;3012:122;3036:8;:15;3032:1;:19;3012:122;;;3092:30;3102:8;3111:1;3102:11;;;;;;;;:::i;:::-;;;;;;;3115:3;3119:1;3115:6;;;;;;;;:::i;:::-;;;;;;;3092:9;:30::i;:::-;3073:13;3087:1;3073:16;;;;;;;;:::i;:::-;;;;;;;;;;:49;3053:3;;;:::i;:::-;;;3012:122;;;-1:-1:-1;3153:13:40;2650:524;-1:-1:-1;;;2650:524:40:o;850:92:63:-;1129:13:32;:11;:13::i;:::-;919:19:63::1;927:10;919:7;:19::i;:::-;850:92:::0;:::o;1891:103:32:-;1129:13;:11;:13::i;:::-;1956:30:::1;1983:1;1956:18;:30::i;:::-;1891:103::o:0;350:20:63:-;;;;;;;:::i;3247:155:40:-;3342:52;736:10:52;3375:8:40;3385;3342:18;:52::i;:::-;3247:155;;:::o;945:170:63:-;1003:13;1022:21;1046:12;1050:7;1046:3;:12::i;:::-;1022:36;;1083:7;1092:18;:7;:16;:18::i;:::-;1069:42;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1062:49;;;945:170;;;:::o;3714:406:40:-;-1:-1:-1;;;;;3922:20:40;;736:10:52;3922:20:40;;:60;;-1:-1:-1;3946:36:40;3963:4;736:10:52;3474:168:40;:::i;3946:36::-;3900:156;;;;-1:-1:-1;;;3900:156:40;;;;;;;:::i;:::-;4067:45;4085:4;4091:2;4095;4099:6;4107:4;4067:17;:45::i;2149:201:32:-;1129:13;:11;:13::i;:::-;-1:-1:-1;;;;;2238:22:32;::::1;2230:73;;;::::0;-1:-1:-1;;;2230:73:32;;12287:2:73;2230:73:32::1;::::0;::::1;12269:21:73::0;12326:2;12306:18;;;12299:30;12365:34;12345:18;;;12338:62;-1:-1:-1;;;12416:18:73;;;12409:36;12462:19;;2230:73:32::1;12085:402:73::0;2230:73:32::1;2314:28;2333:8;2314:18;:28::i;8895:729:40:-:0;-1:-1:-1;;;;;9048:16:40;;9040:62;;;;-1:-1:-1;;;9040:62:40;;12694:2:73;9040:62:40;;;12676:21:73;12733:2;12713:18;;;12706:30;12772:34;12752:18;;;12745:62;-1:-1:-1;;;12823:18:73;;;12816:31;12864:19;;9040:62:40;12492:397:73;9040:62:40;736:10:52;9115:16:40;9180:21;9198:2;9180:17;:21::i;:::-;9157:44;;9212:24;9239:25;9257:6;9239:17;:25::i;:::-;9212:52;;9356:9;:13;;;;;;;;;;;-1:-1:-1;;;;;9356:17:40;;;;;;;;;:27;;9377:6;;9356:9;:27;;9377:6;;9356:27;:::i;:::-;;;;-1:-1:-1;;9399:52:40;;;13068:25:73;;;13124:2;13109:18;;13102:34;;;-1:-1:-1;;;;;9399:52:40;;;;9432:1;;9399:52;;;;;;13041:18:73;9399:52:40;;;;;;;9542:74;9573:8;9591:1;9595:2;9599;9603:6;9611:4;9542:30;:74::i;:::-;9029:595;;;8895:729;;;;:::o;6431:1146::-;6658:7;:14;6644:3;:10;:28;6636:81;;;;-1:-1:-1;;;6636:81:40;;13349:2:73;6636:81:40;;;13331:21:73;13388:2;13368:18;;;13361:30;13427:34;13407:18;;;13400:62;-1:-1:-1;;;13478:18:73;;;13471:38;13526:19;;6636:81:40;13147:404:73;6636:81:40;-1:-1:-1;;;;;6736:16:40;;6728:66;;;;-1:-1:-1;;;6728:66:40;;;;;;;:::i;:::-;736:10:52;6807:16:40;6924:421;6948:3;:10;6944:1;:14;6924:421;;;6980:10;6993:3;6997:1;6993:6;;;;;;;;:::i;:::-;;;;;;;6980:19;;7014:14;7031:7;7039:1;7031:10;;;;;;;;:::i;:::-;;;;;;;;;;;;7058:19;7080:13;;;;;;;;;;-1:-1:-1;;;;;7080:19:40;;;;;;;;;;;;7031:10;;-1:-1:-1;7122:21:40;;;;7114:76;;;;-1:-1:-1;;;7114:76:40;;;;;;;:::i;:::-;7234:9;:13;;;;;;;;;;;-1:-1:-1;;;;;7234:19:40;;;;;;;;;;7256:20;;;7234:42;;7306:17;;;;;;;:27;;7256:20;;7234:9;7306:27;;7256:20;;7306:27;:::i;:::-;;;;;;;;6965:380;;;6960:3;;;;:::i;:::-;;;6924:421;;;;7392:2;-1:-1:-1;;;;;7362:47:40;7386:4;-1:-1:-1;;;;;7362:47:40;7376:8;-1:-1:-1;;;;;7362:47:40;;7396:3;7401:7;7362:47;;;;;;;:::i;:::-;;;;;;;;7494:75;7530:8;7540:4;7546:2;7550:3;7555:7;7564:4;7494:35;:75::i;:::-;6625:952;6431:1146;;;;;:::o;1408:132:32:-;1316:6;;-1:-1:-1;;;;;1316:6:32;736:10:52;1472:23:32;1464:68;;;;-1:-1:-1;;;1464:68:32;;15045:2:73;1464:68:32;;;15027:21:73;;;15064:18;;;15057:30;15123:34;15103:18;;;15096:62;15175:18;;1464:68:32;14843:356:73;8421:88:40;8488:4;:13;8495:6;8488:4;:13;:::i;2510:191:32:-;2603:6;;;-1:-1:-1;;;;;2620:17:32;;;-1:-1:-1;;;;;;2620:17:32;;;;;;;2653:40;;2603:6;;;2620:17;2603:6;;2653:40;;2584:16;;2653:40;2573:128;2510:191;:::o;13308:331:40:-;13463:8;-1:-1:-1;;;;;13454:17:40;:5;-1:-1:-1;;;;;13454:17:40;;13446:71;;;;-1:-1:-1;;;13446:71:40;;17610:2:73;13446:71:40;;;17592:21:73;17649:2;17629:18;;;17622:30;17688:34;17668:18;;;17661:62;-1:-1:-1;;;17739:18:73;;;17732:39;17788:19;;13446:71:40;17408:405:73;13446:71:40;-1:-1:-1;;;;;13528:25:40;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13528:46:40;;;;;;;;;;13590:41;;1159::73;;;13590::40;;1132:18:73;13590:41:40;;;;;;;13308:331;;;:::o;432:716:54:-;488:13;539:14;556:17;567:5;556:10;:17::i;:::-;576:1;556:21;539:38;;592:20;626:6;615:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;615:18:54;-1:-1:-1;592:41:54;-1:-1:-1;757:28:54;;;773:2;757:28;814:288;-1:-1:-1;;846:5:54;-1:-1:-1;;;983:2:54;972:14;;967:30;846:5;954:44;1044:2;1035:11;;;-1:-1:-1;1065:21:54;814:288;1065:21;-1:-1:-1;1123:6:54;432:716;-1:-1:-1;;;432:716:54:o;5099:974:40:-;-1:-1:-1;;;;;5287:16:40;;5279:66;;;;-1:-1:-1;;;5279:66:40;;;;;;;:::i;:::-;736:10:52;5358:16:40;5423:21;5441:2;5423:17;:21::i;:::-;5400:44;;5455:24;5482:25;5500:6;5482:17;:25::i;:::-;5455:52;;5593:19;5615:13;;;;;;;;;;;-1:-1:-1;;;;;5615:19:40;;;;;;;;;;5653:21;;;;5645:76;;;;-1:-1:-1;;;5645:76:40;;;;;;;:::i;:::-;5757:9;:13;;;;;;;;;;;-1:-1:-1;;;;;5757:19:40;;;;;;;;;;5779:20;;;5757:42;;5821:17;;;;;;;:27;;5779:20;;5757:9;5821:27;;5779:20;;5821:27;:::i;:::-;;;;-1:-1:-1;;5866:46:40;;;13068:25:73;;;13124:2;13109:18;;13102:34;;;-1:-1:-1;;;;;5866:46:40;;;;;;;;;;;;;;13041:18:73;5866:46:40;;;;;;;5997:68;6028:8;6038:4;6044:2;6048;6052:6;6060:4;5997:30;:68::i;:::-;5268:805;;;;5099:974;;;;;:::o;17574:198::-;17694:16;;;17708:1;17694:16;;;;;;;;;17640;;17669:22;;17694:16;;;;;;;;;;;;-1:-1:-1;17694:16:40;17669:41;;17732:7;17721:5;17727:1;17721:8;;;;;;;;:::i;:::-;;;;;;;;;;:18;17759:5;17574:198;-1:-1:-1;;17574:198:40:o;16001:744::-;-1:-1:-1;;;;;16216:13:40;;1505:19:51;:23;16212:526:40;;16252:72;;-1:-1:-1;;;16252:72:40;;-1:-1:-1;;;;;16252:38:40;;;;;:72;;16291:8;;16301:4;;16307:2;;16311:6;;16319:4;;16252:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16252:72:40;;;;;;;;-1:-1:-1;;16252:72:40;;;;;;;;;;;;:::i;:::-;;;16248:479;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;16600:6;16593:14;;-1:-1:-1;;;16593:14:40;;;;;;;;:::i;16248:479::-;;;16649:62;;-1:-1:-1;;;16649:62:40;;19832:2:73;16649:62:40;;;19814:21:73;19871:2;19851:18;;;19844:30;19910:34;19890:18;;;19883:62;-1:-1:-1;;;19961:18:73;;;19954:50;20021:19;;16649:62:40;19630:416:73;16248:479:40;-1:-1:-1;;;;;;16374:55:40;;-1:-1:-1;;;16374:55:40;16370:154;;16454:50;;-1:-1:-1;;;16454:50:40;;;;;;;:::i;16753:813::-;-1:-1:-1;;;;;16993:13:40;;1505:19:51;:23;16989:570:40;;17029:79;;-1:-1:-1;;;17029:79:40;;-1:-1:-1;;;;;17029:43:40;;;;;:79;;17073:8;;17083:4;;17089:3;;17094:7;;17103:4;;17029:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17029:79:40;;;;;;;;-1:-1:-1;;17029:79:40;;;;;;;;;;;;:::i;:::-;;;17025:523;;;;:::i;:::-;-1:-1:-1;;;;;;17190:60:40;;-1:-1:-1;;;17190:60:40;17186:159;;17275:50;;-1:-1:-1;;;17275:50:40;;;;;;;:::i;10146:922:57:-;10199:7;;-1:-1:-1;;;10277:15:57;;10273:102;;-1:-1:-1;;;10313:15:57;;;-1:-1:-1;10357:2:57;10347:12;10273:102;10402:6;10393:5;:15;10389:102;;10438:6;10429:15;;;-1:-1:-1;10473:2:57;10463:12;10389:102;10518:6;10509:5;:15;10505:102;;10554:6;10545:15;;;-1:-1:-1;10589:2:57;10579:12;10505:102;10634:5;10625;:14;10621:99;;10669:5;10660:14;;;-1:-1:-1;10703:1:57;10693:11;10621:99;10747:5;10738;:14;10734:99;;10782:5;10773:14;;;-1:-1:-1;10816:1:57;10806:11;10734:99;10860:5;10851;:14;10847:99;;10895:5;10886:14;;;-1:-1:-1;10929:1:57;10919:11;10847:99;10973:5;10964;:14;10960:66;;11009:1;10999:11;11054:6;10146:922;-1:-1:-1;;10146:922:57:o;14:173:73:-;82:20;;-1:-1:-1;;;;;131:31:73;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:254::-;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;360:29;379:9;360:29;:::i;:::-;350:39;436:2;421:18;;;;408:32;;-1:-1:-1;;;192:254:73:o;633:131::-;-1:-1:-1;;;;;;707:32:73;;697:43;;687:71;;754:1;751;744:12;769:245;827:6;880:2;868:9;859:7;855:23;851:32;848:52;;;896:1;893;886:12;848:52;935:9;922:23;954:30;978:5;954:30;:::i;:::-;1003:5;769:245;-1:-1:-1;;;769:245:73:o;1211:250::-;1296:1;1306:113;1320:6;1317:1;1314:13;1306:113;;;1396:11;;;1390:18;1377:11;;;1370:39;1342:2;1335:10;1306:113;;;-1:-1:-1;;1453:1:73;1435:16;;1428:27;1211:250::o;1466:271::-;1508:3;1546:5;1540:12;1573:6;1568:3;1561:19;1589:76;1658:6;1651:4;1646:3;1642:14;1635:4;1628:5;1624:16;1589:76;:::i;:::-;1719:2;1698:15;-1:-1:-1;;1694:29:73;1685:39;;;;1726:4;1681:50;;1466:271;-1:-1:-1;;1466:271:73:o;1742:220::-;1891:2;1880:9;1873:21;1854:4;1911:45;1952:2;1941:9;1937:18;1929:6;1911:45;:::i;1967:180::-;2026:6;2079:2;2067:9;2058:7;2054:23;2050:32;2047:52;;;2095:1;2092;2085:12;2047:52;-1:-1:-1;2118:23:73;;1967:180;-1:-1:-1;1967:180:73:o;2152:322::-;2229:6;2237;2245;2298:2;2286:9;2277:7;2273:23;2269:32;2266:52;;;2314:1;2311;2304:12;2266:52;2337:29;2356:9;2337:29;:::i;:::-;2327:39;2413:2;2398:18;;2385:32;;-1:-1:-1;2464:2:73;2449:18;;;2436:32;;2152:322;-1:-1:-1;;;2152:322:73:o;2479:127::-;2540:10;2535:3;2531:20;2528:1;2521:31;2571:4;2568:1;2561:15;2595:4;2592:1;2585:15;2611:249;2721:2;2702:13;;-1:-1:-1;;2698:27:73;2686:40;;2756:18;2741:34;;2777:22;;;2738:62;2735:88;;;2803:18;;:::i;:::-;2839:2;2832:22;-1:-1:-1;;2611:249:73:o;2865:183::-;2925:4;2958:18;2950:6;2947:30;2944:56;;;2980:18;;:::i;:::-;-1:-1:-1;3025:1:73;3021:14;3037:4;3017:25;;2865:183::o;3053:724::-;3107:5;3160:3;3153:4;3145:6;3141:17;3137:27;3127:55;;3178:1;3175;3168:12;3127:55;3214:6;3201:20;3240:4;3263:43;3303:2;3263:43;:::i;:::-;3335:2;3329:9;3347:31;3375:2;3367:6;3347:31;:::i;:::-;3413:18;;;3505:1;3501:10;;;;3489:23;;3485:32;;;3447:15;;;;-1:-1:-1;3529:15:73;;;3526:35;;;3557:1;3554;3547:12;3526:35;3593:2;3585:6;3581:15;3605:142;3621:6;3616:3;3613:15;3605:142;;;3687:17;;3675:30;;3725:12;;;;3638;;3605:142;;;-1:-1:-1;3765:6:73;3053:724;-1:-1:-1;;;;;;3053:724:73:o;3782:468::-;3846:5;3880:18;3872:6;3869:30;3866:56;;;3902:18;;:::i;:::-;3951:2;3945:9;3963:69;4020:2;3999:15;;-1:-1:-1;;3995:29:73;4026:4;3991:40;3945:9;3963:69;:::i;:::-;4050:6;4041:15;;4080:6;4072;4065:22;4120:3;4111:6;4106:3;4102:16;4099:25;4096:45;;;4137:1;4134;4127:12;4096:45;4187:6;4182:3;4175:4;4167:6;4163:17;4150:44;4242:1;4235:4;4226:6;4218;4214:19;4210:30;4203:41;;3782:468;;;;;:::o;4255:220::-;4297:5;4350:3;4343:4;4335:6;4331:17;4327:27;4317:55;;4368:1;4365;4358:12;4317:55;4390:79;4465:3;4456:6;4443:20;4436:4;4428:6;4424:17;4390:79;:::i;4480:943::-;4634:6;4642;4650;4658;4666;4719:3;4707:9;4698:7;4694:23;4690:33;4687:53;;;4736:1;4733;4726:12;4687:53;4759:29;4778:9;4759:29;:::i;:::-;4749:39;;4807:38;4841:2;4830:9;4826:18;4807:38;:::i;:::-;4797:48;;4896:2;4885:9;4881:18;4868:32;4919:18;4960:2;4952:6;4949:14;4946:34;;;4976:1;4973;4966:12;4946:34;4999:61;5052:7;5043:6;5032:9;5028:22;4999:61;:::i;:::-;4989:71;;5113:2;5102:9;5098:18;5085:32;5069:48;;5142:2;5132:8;5129:16;5126:36;;;5158:1;5155;5148:12;5126:36;5181:63;5236:7;5225:8;5214:9;5210:24;5181:63;:::i;:::-;5171:73;;5297:3;5286:9;5282:19;5269:33;5253:49;;5327:2;5317:8;5314:16;5311:36;;;5343:1;5340;5333:12;5311:36;;5366:51;5409:7;5398:8;5387:9;5383:24;5366:51;:::i;:::-;5356:61;;;4480:943;;;;;;;;:::o;5428:1208::-;5546:6;5554;5607:2;5595:9;5586:7;5582:23;5578:32;5575:52;;;5623:1;5620;5613:12;5575:52;5663:9;5650:23;5692:18;5733:2;5725:6;5722:14;5719:34;;;5749:1;5746;5739:12;5719:34;5787:6;5776:9;5772:22;5762:32;;5832:7;5825:4;5821:2;5817:13;5813:27;5803:55;;5854:1;5851;5844:12;5803:55;5890:2;5877:16;5912:4;5935:43;5975:2;5935:43;:::i;:::-;6007:2;6001:9;6019:31;6047:2;6039:6;6019:31;:::i;:::-;6085:18;;;6173:1;6169:10;;;;6161:19;;6157:28;;;6119:15;;;;-1:-1:-1;6197:19:73;;;6194:39;;;6229:1;6226;6219:12;6194:39;6253:11;;;;6273:148;6289:6;6284:3;6281:15;6273:148;;;6355:23;6374:3;6355:23;:::i;:::-;6343:36;;6306:12;;;;6399;;;;6273:148;;;6440:6;-1:-1:-1;;6484:18:73;;6471:32;;-1:-1:-1;;6515:16:73;;;6512:36;;;6544:1;6541;6534:12;6512:36;;6567:63;6622:7;6611:8;6600:9;6596:24;6567:63;:::i;:::-;6557:73;;;5428:1208;;;;;:::o;6641:435::-;6694:3;6732:5;6726:12;6759:6;6754:3;6747:19;6785:4;6814:2;6809:3;6805:12;6798:19;;6851:2;6844:5;6840:14;6872:1;6882:169;6896:6;6893:1;6890:13;6882:169;;;6957:13;;6945:26;;6991:12;;;;7026:15;;;;6918:1;6911:9;6882:169;;;-1:-1:-1;7067:3:73;;6641:435;-1:-1:-1;;;;;6641:435:73:o;7081:261::-;7260:2;7249:9;7242:21;7223:4;7280:56;7332:2;7321:9;7317:18;7309:6;7280:56;:::i;7347:450::-;7416:6;7469:2;7457:9;7448:7;7444:23;7440:32;7437:52;;;7485:1;7482;7475:12;7437:52;7525:9;7512:23;7558:18;7550:6;7547:30;7544:50;;;7590:1;7587;7580:12;7544:50;7613:22;;7666:4;7658:13;;7654:27;-1:-1:-1;7644:55:73;;7695:1;7692;7685:12;7644:55;7718:73;7783:7;7778:2;7765:16;7760:2;7756;7752:11;7718:73;:::i;:::-;7708:83;7347:450;-1:-1:-1;;;;7347:450:73:o;8010:347::-;8075:6;8083;8136:2;8124:9;8115:7;8111:23;8107:32;8104:52;;;8152:1;8149;8142:12;8104:52;8175:29;8194:9;8175:29;:::i;:::-;8165:39;;8254:2;8243:9;8239:18;8226:32;8301:5;8294:13;8287:21;8280:5;8277:32;8267:60;;8323:1;8320;8313:12;8267:60;8346:5;8336:15;;;8010:347;;;;;:::o;8362:260::-;8430:6;8438;8491:2;8479:9;8470:7;8466:23;8462:32;8459:52;;;8507:1;8504;8497:12;8459:52;8530:29;8549:9;8530:29;:::i;:::-;8520:39;;8578:38;8612:2;8601:9;8597:18;8578:38;:::i;:::-;8568:48;;8362:260;;;;;:::o;8627:606::-;8731:6;8739;8747;8755;8763;8816:3;8804:9;8795:7;8791:23;8787:33;8784:53;;;8833:1;8830;8823:12;8784:53;8856:29;8875:9;8856:29;:::i;:::-;8846:39;;8904:38;8938:2;8927:9;8923:18;8904:38;:::i;:::-;8894:48;;8989:2;8978:9;8974:18;8961:32;8951:42;;9040:2;9029:9;9025:18;9012:32;9002:42;;9095:3;9084:9;9080:19;9067:33;9123:18;9115:6;9112:30;9109:50;;;9155:1;9152;9145:12;9109:50;9178:49;9219:7;9210:6;9199:9;9195:22;9178:49;:::i;9238:186::-;9297:6;9350:2;9338:9;9329:7;9325:23;9321:32;9318:52;;;9366:1;9363;9356:12;9318:52;9389:29;9408:9;9389:29;:::i;9840:380::-;9919:1;9915:12;;;;9962;;;9983:61;;10037:4;10029:6;10025:17;10015:27;;9983:61;10090:2;10082:6;10079:14;10059:18;10056:38;10053:161;;10136:10;10131:3;10127:20;10124:1;10117:31;10171:4;10168:1;10161:15;10199:4;10196:1;10189:15;10053:161;;9840:380;;;:::o;10225:127::-;10286:10;10281:3;10277:20;10274:1;10267:31;10317:4;10314:1;10307:15;10341:4;10338:1;10331:15;10357:135;10396:3;10417:17;;;10414:43;;10437:18;;:::i;:::-;-1:-1:-1;10484:1:73;10473:13;;10357:135::o;10497:125::-;10562:9;;;10583:10;;;10580:36;;;10596:18;;:::i;10627:410::-;10829:2;10811:21;;;10868:2;10848:18;;;10841:30;10907:34;10902:2;10887:18;;10880:62;-1:-1:-1;;;10973:2:73;10958:18;;10951:44;11027:3;11012:19;;10627:410::o;11452:127::-;11513:10;11508:3;11504:20;11501:1;11494:31;11544:4;11541:1;11534:15;11568:4;11565:1;11558:15;11584:496;11763:3;11801:6;11795:13;11817:66;11876:6;11871:3;11864:4;11856:6;11852:17;11817:66;:::i;:::-;11946:13;;11905:16;;;;11968:70;11946:13;11905:16;12015:4;12003:17;;11968:70;:::i;:::-;12054:20;;11584:496;-1:-1:-1;;;;11584:496:73:o;13556:401::-;13758:2;13740:21;;;13797:2;13777:18;;;13770:30;13836:34;13831:2;13816:18;;13809:62;-1:-1:-1;;;13902:2:73;13887:18;;13880:35;13947:3;13932:19;;13556:401::o;13962:406::-;14164:2;14146:21;;;14203:2;14183:18;;;14176:30;14242:34;14237:2;14222:18;;14215:62;-1:-1:-1;;;14308:2:73;14293:18;;14286:40;14358:3;14343:19;;13962:406::o;14373:465::-;14630:2;14619:9;14612:21;14593:4;14656:56;14708:2;14697:9;14693:18;14685:6;14656:56;:::i;:::-;14760:9;14752:6;14748:22;14743:2;14732:9;14728:18;14721:50;14788:44;14825:6;14817;14788:44;:::i;:::-;14780:52;14373:465;-1:-1:-1;;;;;14373:465:73:o;15330:545::-;15432:2;15427:3;15424:11;15421:448;;;15468:1;15493:5;15489:2;15482:17;15538:4;15534:2;15524:19;15608:2;15596:10;15592:19;15589:1;15585:27;15579:4;15575:38;15644:4;15632:10;15629:20;15626:47;;;-1:-1:-1;15667:4:73;15626:47;15722:2;15717:3;15713:12;15710:1;15706:20;15700:4;15696:31;15686:41;;15777:82;15795:2;15788:5;15785:13;15777:82;;;15840:17;;;15821:1;15810:13;15777:82;;15421:448;15330:545;;;:::o;16051:1352::-;16177:3;16171:10;16204:18;16196:6;16193:30;16190:56;;;16226:18;;:::i;:::-;16255:97;16345:6;16305:38;16337:4;16331:11;16305:38;:::i;:::-;16299:4;16255:97;:::i;:::-;16407:4;;16471:2;16460:14;;16488:1;16483:663;;;;17190:1;17207:6;17204:89;;;-1:-1:-1;17259:19:73;;;17253:26;17204:89;-1:-1:-1;;16008:1:73;16004:11;;;16000:24;15996:29;15986:40;16032:1;16028:11;;;15983:57;17306:81;;16453:944;;16483:663;15277:1;15270:14;;;15314:4;15301:18;;-1:-1:-1;;16519:20:73;;;16637:236;16651:7;16648:1;16645:14;16637:236;;;16740:19;;;16734:26;16719:42;;16832:27;;;;16800:1;16788:14;;;;16667:19;;16637:236;;;16641:3;16901:6;16892:7;16889:19;16886:201;;;16962:19;;;16956:26;-1:-1:-1;;17045:1:73;17041:14;;;17057:3;17037:24;17033:37;17029:42;17014:58;16999:74;;16886:201;-1:-1:-1;;;;;17133:1:73;17117:14;;;17113:22;17100:36;;-1:-1:-1;16051:1352:73:o;17950:561::-;-1:-1:-1;;;;;18247:15:73;;;18229:34;;18299:15;;18294:2;18279:18;;18272:43;18346:2;18331:18;;18324:34;;;18389:2;18374:18;;18367:34;;;18209:3;18432;18417:19;;18410:32;;;18172:4;;18459:46;;18485:19;;18477:6;18459:46;:::i;:::-;18451:54;17950:561;-1:-1:-1;;;;;;;17950:561:73:o;18516:249::-;18585:6;18638:2;18626:9;18617:7;18613:23;18609:32;18606:52;;;18654:1;18651;18644:12;18606:52;18686:9;18680:16;18705:30;18729:5;18705:30;:::i;18770:179::-;18805:3;18847:1;18829:16;18826:23;18823:120;;;18893:1;18890;18887;18872:23;-1:-1:-1;18930:1:73;18924:8;18919:3;18915:18;18823:120;18770:179;:::o;18954:671::-;18993:3;19035:4;19017:16;19014:26;19011:39;;;18954:671;:::o;19011:39::-;19077:2;19071:9;-1:-1:-1;;19142:16:73;19138:25;;19135:1;19071:9;19114:50;19193:4;19187:11;19217:16;19252:18;19323:2;19316:4;19308:6;19304:17;19301:25;19296:2;19288:6;19285:14;19282:45;19279:58;;;19330:5;;;;;18954:671;:::o;19279:58::-;19367:6;19361:4;19357:17;19346:28;;19403:3;19397:10;19430:2;19422:6;19419:14;19416:27;;;19436:5;;;;;;18954:671;:::o;19416:27::-;19520:2;19501:16;19495:4;19491:27;19487:36;19480:4;19471:6;19466:3;19462:16;19458:27;19455:69;19452:82;;;19527:5;;;;;;18954:671;:::o;19452:82::-;19543:57;19594:4;19585:6;19577;19573:19;19569:30;19563:4;19543:57;:::i;:::-;-1:-1:-1;19616:3:73;;18954:671;-1:-1:-1;;;;;18954:671:73:o;20051:404::-;20253:2;20235:21;;;20292:2;20272:18;;;20265:30;20331:34;20326:2;20311:18;;20304:62;-1:-1:-1;;;20397:2:73;20382:18;;20375:38;20445:3;20430:19;;20051:404::o;20460:827::-;-1:-1:-1;;;;;20857:15:73;;;20839:34;;20909:15;;20904:2;20889:18;;20882:43;20819:3;20956:2;20941:18;;20934:31;;;20782:4;;20988:57;;21025:19;;21017:6;20988:57;:::i;:::-;21093:9;21085:6;21081:22;21076:2;21065:9;21061:18;21054:50;21127:44;21164:6;21156;21127:44;:::i;:::-;21113:58;;21220:9;21212:6;21208:22;21202:3;21191:9;21187:19;21180:51;21248:33;21274:6;21266;21248:33;:::i;:::-;21240:41;20460:827;-1:-1:-1;;;;;;;;20460:827:73:o",
"linkReferences": {}
},
"methodIdentifiers": {
"balanceOf(address,uint256)": "00fdd58e",
"balanceOfBatch(address[],uint256[])": "4e1273f4",
"isApprovedForAll(address,address)": "e985e9c5",
"mint(address,uint256,uint256)": "156e29f6",
"name()": "06fdde03",
"owner()": "8da5cb5b",
"renounceOwnership()": "715018a6",
"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": "2eb2c2d6",
"safeTransferFrom(address,address,uint256,uint256,bytes)": "f242432a",
"setApprovalForAll(address,bool)": "a22cb465",
"setBaseURI(string)": "55f804b3",
"supportsInterface(bytes4)": "01ffc9a7",
"symbol()": "95d89b41",
"tokenURI(uint256)": "c87b56dd",
"totalBalances(uint256)": "ed7aae2b",
"totalSupply()": "18160ddd",
"transferOwnership(address)": "f2fde38b",
"uri(uint256)": "0e89341c"
},
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"initialBaseURI_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"newBaseURI\",\"type\":\"string\"}],\"name\":\"setBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"totalBalances\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to `approved`.\"},\"TransferBatch(address,address,address,uint256[],uint256[])\":{\"details\":\"Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all transfers.\"},\"TransferSingle(address,address,address,uint256,uint256)\":{\"details\":\"Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`.\"},\"URI(string,uint256)\":{\"details\":\"Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI. If an {URI} event was emitted for `id`, the standard https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value returned by {IERC1155MetadataURI-uri}.\"}},\"kind\":\"dev\",\"methods\":{\"balanceOf(address,uint256)\":{\"details\":\"See {IERC1155-balanceOf}. Requirements: - `account` cannot be the zero address.\"},\"balanceOfBatch(address[],uint256[])\":{\"details\":\"See {IERC1155-balanceOfBatch}. Requirements: - `accounts` and `ids` must have the same length.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC1155-isApprovedForAll}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155-safeBatchTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC1155-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"uri(uint256)\":{\"details\":\"See {IERC1155MetadataURI-uri}. This implementation returns the same URI for *all* token types. It relies on the token type ID substitution mechanism https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the EIP]. Clients calling this function must replace the `\\\\{id\\\\}` substring with the actual token type ID.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/SimulatorERC1155.sol\":\"SimulatorERC1155\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xee2b6bc803215b66037612da0fe9f23ec3c99ff89db4ff05449a8df17c9befc5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://127be279bb6b2f6106127ea6b431cfc879f9018dd76b7575841821be9eef3488\",\"dweb:/ipfs/QmfXqvL6sKx256hrVuQcSnNtirZrpm4JUbDFXwGHKgrrXU\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol\":{\"keccak256\":\"0xf820a93e4d0a8095a30500e7d3514b5e38444585635cecb156be49a8515613e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f32988eeff960162f4c5bf92d1dfafec3575aeee07ed17898ea60e91168cf56f\",\"dweb:/ipfs/QmcbV91eyJh8eHuEgBdgEGWxGbuKBfH5zgjG9BgnQjchMf\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0xf532ffc411793314f89809020ce74bd31145b1f8347fe6764392b2da9ab14b86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://44d290b34375b20ef6e9d87dc2634f4ea499405684fb0b3b6db16ffc2bbc4103\",\"dweb:/ipfs/Qma6iFXh9A51UJi9i47M9YMfA1Ddu6xLt2RrNN7Zy7XBGJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0x93c3ecba425886b8933e548ed3adbfc56e40ff66f5c60532458fb06ba81598e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://62c825197992648dca38edb1db345c0b5fd9e68f7eca893101f45b9cae25acfd\",\"dweb:/ipfs/QmdzBQtYLpjnVd17qUC3b7YXAGyoRFqKGQKjCJXPumxGss\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol\":{\"keccak256\":\"0x2d6f48f294e6e798d26a8160091e39e173f955566f5ddce18ab15766356e4930\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b84688ab411266e9a20e63c8ae9958a3ff8a1af9d031d5d907976e1f1b8e4f7\",\"dweb:/ipfs/QmQpJ1697jCMMJ86BrkJfdJx9x7mV1gRmrywTcJoPZd7UD\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xcfa79cbb4867877ee537a899bf75d42b712dac8519ef438939ce36073532454d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0d7881116d22618a7b940d002cf03bdcf385f7c564db0293f4f847a7368788e2\",\"dweb:/ipfs/QmXL61H7ahe5Buh9xNGqgmLR4tDYoPpYw3Y5ppRbbLkFqk\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x81d5fc973a522c8909d60be6a201869d46aa47b030b8813f60616404628c2b94\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9755b505799e622d964a843a8ed1fd60fedffca230178e5cb95ae9280df4dcd2\",\"dweb:/ipfs/QmRkhUYUUgRZ2QYJjmtQct2ubyYwS3bdUMhbuFYM12VfYn\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0xdfef8e2d15f12731bacd2b57e3417200c2c8bbe36d0da5f50fa04c1a69b8dafe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93daa52a758e005bf68961549037c0877b4e7d5a36a75ddfbaa351384e29e604\",\"dweb:/ipfs/QmbZh5US9NMnppWvK4FTp3fny73SkTnYZgCuptgQsNxFT6\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x3d3fe7b1901114d50828f5c77ba7f09a2a6a65223620c837364d31b60e5982ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6751cee12592cb9c33be618057660d6c84cb0594bd0afa552009438e38d3dd02\",\"dweb:/ipfs/QmWq8SxNw4q6n1B8i9sFZVaodB6wrcyBPsKPWMsaUyCECH\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x540685d7ece3faa56f38253270ff11b18e63949fb8659c408123b1874674492e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5474839e19e2571c52eae3aab1dc6e6edf2b20bbba9895f59db6594a2678a3d5\",\"dweb:/ipfs/QmVHocBeANMkq4TzVM7q9At5NSg1TEpT9D9vgJ5dGcvcPN\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x662311a467e936121c66b0afc797bc576098be1e1d21723d451299e5311d7489\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff086db82cb4e32909b039e98ebebb56f7d0a68467c445011a82a2907a668473\",\"dweb:/ipfs/QmVxRNiDzXXDqPYp3HNGjDvVfw8p5cwcX4FAb7caAJmcNz\"]},\"src/SimulatorERC1155.sol\":{\"keccak256\":\"0x3a08e2d01aa12e76279a74695ccbf1ec6850741c8271c43e4881d977008465fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://43ad0fe718ce43a16fea78a9e05ae37c674225985e4c518d2f58486713fc3ffa\",\"dweb:/ipfs/QmeaohSwSPcP8rDqQMZeygfWJNnWrXCuSUk3MWsvyuahmS\"]}},\"version\":1}",
"metadata": {
"compiler": { "version": "0.8.18+commit.87f61d96" },
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{ "internalType": "string", "name": "name_", "type": "string" },
{ "internalType": "string", "name": "symbol_", "type": "string" },
{
"internalType": "string",
"name": "initialBaseURI_",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"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": "address",
"name": "previousOwner",
"type": "address",
"indexed": true
},
{
"internalType": "address",
"name": "newOwner",
"type": "address",
"indexed": true
}
],
"type": "event",
"name": "OwnershipTransferred",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address",
"indexed": true
},
{
"internalType": "address",
"name": "from",
"type": "address",
"indexed": true
},
{
"internalType": "address",
"name": "to",
"type": "address",
"indexed": true
},
{
"internalType": "uint256[]",
"name": "ids",
"type": "uint256[]",
"indexed": false
},
{
"internalType": "uint256[]",
"name": "values",
"type": "uint256[]",
"indexed": false
}
],
"type": "event",
"name": "TransferBatch",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address",
"indexed": true
},
{
"internalType": "address",
"name": "from",
"type": "address",
"indexed": true
},
{
"internalType": "address",
"name": "to",
"type": "address",
"indexed": true
},
{
"internalType": "uint256",
"name": "id",
"type": "uint256",
"indexed": false
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256",
"indexed": false
}
],
"type": "event",
"name": "TransferSingle",
"anonymous": false
},
{
"inputs": [
{
"internalType": "string",
"name": "value",
"type": "string",
"indexed": false
},
{
"internalType": "uint256",
"name": "id",
"type": "uint256",
"indexed": true
}
],
"type": "event",
"name": "URI",
"anonymous": false
},
{
"inputs": [
{ "internalType": "address", "name": "account", "type": "address" },
{ "internalType": "uint256", "name": "id", "type": "uint256" }
],
"stateMutability": "view",
"type": "function",
"name": "balanceOf",
"outputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
]
},
{
"inputs": [
{
"internalType": "address[]",
"name": "accounts",
"type": "address[]"
},
{ "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }
],
"stateMutability": "view",
"type": "function",
"name": "balanceOfBatch",
"outputs": [
{ "internalType": "uint256[]", "name": "", "type": "uint256[]" }
]
},
{
"inputs": [
{ "internalType": "address", "name": "account", "type": "address" },
{ "internalType": "address", "name": "operator", "type": "address" }
],
"stateMutability": "view",
"type": "function",
"name": "isApprovedForAll",
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }]
},
{
"inputs": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{ "internalType": "uint256", "name": "tokenId", "type": "uint256" },
{ "internalType": "uint256", "name": "quantity", "type": "uint256" }
],
"stateMutability": "payable",
"type": "function",
"name": "mint"
},
{
"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": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "renounceOwnership"
},
{
"inputs": [
{ "internalType": "address", "name": "from", "type": "address" },
{ "internalType": "address", "name": "to", "type": "address" },
{ "internalType": "uint256[]", "name": "ids", "type": "uint256[]" },
{
"internalType": "uint256[]",
"name": "amounts",
"type": "uint256[]"
},
{ "internalType": "bytes", "name": "data", "type": "bytes" }
],
"stateMutability": "nonpayable",
"type": "function",
"name": "safeBatchTransferFrom"
},
{
"inputs": [
{ "internalType": "address", "name": "from", "type": "address" },
{ "internalType": "address", "name": "to", "type": "address" },
{ "internalType": "uint256", "name": "id", "type": "uint256" },
{ "internalType": "uint256", "name": "amount", "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": "string", "name": "newBaseURI", "type": "string" }
],
"stateMutability": "nonpayable",
"type": "function",
"name": "setBaseURI"
},
{
"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": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
],
"stateMutability": "view",
"type": "function",
"name": "totalBalances",
"outputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "totalSupply",
"outputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
]
},
{
"inputs": [
{ "internalType": "address", "name": "newOwner", "type": "address" }
],
"stateMutability": "nonpayable",
"type": "function",
"name": "transferOwnership"
},
{
"inputs": [
{ "internalType": "uint256", "name": "", "type": "uint256" }
],
"stateMutability": "view",
"type": "function",
"name": "uri",
"outputs": [
{ "internalType": "string", "name": "", "type": "string" }
]
}
],
"devdoc": {
"kind": "dev",
"methods": {
"balanceOf(address,uint256)": {
"details": "See {IERC1155-balanceOf}. Requirements: - `account` cannot be the zero address."
},
"balanceOfBatch(address[],uint256[])": {
"details": "See {IERC1155-balanceOfBatch}. Requirements: - `accounts` and `ids` must have the same length."
},
"isApprovedForAll(address,address)": {
"details": "See {IERC1155-isApprovedForAll}."
},
"owner()": { "details": "Returns the address of the current owner." },
"renounceOwnership()": {
"details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner."
},
"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": {
"details": "See {IERC1155-safeBatchTransferFrom}."
},
"safeTransferFrom(address,address,uint256,uint256,bytes)": {
"details": "See {IERC1155-safeTransferFrom}."
},
"setApprovalForAll(address,bool)": {
"details": "See {IERC1155-setApprovalForAll}."
},
"supportsInterface(bytes4)": {
"details": "See {IERC165-supportsInterface}."
},
"transferOwnership(address)": {
"details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
},
"uri(uint256)": {
"details": "See {IERC1155MetadataURI-uri}. This implementation returns the same URI for *all* token types. It relies on the token type ID substitution mechanism https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the EIP]. Clients calling this function must replace the `\\{id\\}` substring with the actual token type ID."
}
},
"version": 1
},
"userdoc": { "kind": "user", "methods": {}, "version": 1 }
},
"settings": {
"remappings": [
"ds-test/=lib/forge-std/lib/ds-test/src/",
"erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
"forge-std/=lib/forge-std/src/",
"openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
"openzeppelin/=lib/openzeppelin-contracts/contracts/"
],
"optimizer": { "enabled": true, "runs": 200 },
"metadata": { "bytecodeHash": "ipfs" },
"compilationTarget": { "src/SimulatorERC1155.sol": "SimulatorERC1155" },
"libraries": {}
},
"sources": {
"lib/openzeppelin-contracts/contracts/access/Ownable.sol": {
"keccak256": "0xee2b6bc803215b66037612da0fe9f23ec3c99ff89db4ff05449a8df17c9befc5",
"urls": [
"bzz-raw://127be279bb6b2f6106127ea6b431cfc879f9018dd76b7575841821be9eef3488",
"dweb:/ipfs/QmfXqvL6sKx256hrVuQcSnNtirZrpm4JUbDFXwGHKgrrXU"
],
"license": "MIT"
},
"lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol": {
"keccak256": "0xf820a93e4d0a8095a30500e7d3514b5e38444585635cecb156be49a8515613e2",
"urls": [
"bzz-raw://f32988eeff960162f4c5bf92d1dfafec3575aeee07ed17898ea60e91168cf56f",
"dweb:/ipfs/QmcbV91eyJh8eHuEgBdgEGWxGbuKBfH5zgjG9BgnQjchMf"
],
"license": "MIT"
},
"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol": {
"keccak256": "0xf532ffc411793314f89809020ce74bd31145b1f8347fe6764392b2da9ab14b86",
"urls": [
"bzz-raw://44d290b34375b20ef6e9d87dc2634f4ea499405684fb0b3b6db16ffc2bbc4103",
"dweb:/ipfs/Qma6iFXh9A51UJi9i47M9YMfA1Ddu6xLt2RrNN7Zy7XBGJ"
],
"license": "MIT"
},
"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol": {
"keccak256": "0x93c3ecba425886b8933e548ed3adbfc56e40ff66f5c60532458fb06ba81598e5",
"urls": [
"bzz-raw://62c825197992648dca38edb1db345c0b5fd9e68f7eca893101f45b9cae25acfd",
"dweb:/ipfs/QmdzBQtYLpjnVd17qUC3b7YXAGyoRFqKGQKjCJXPumxGss"
],
"license": "MIT"
},
"lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol": {
"keccak256": "0x2d6f48f294e6e798d26a8160091e39e173f955566f5ddce18ab15766356e4930",
"urls": [
"bzz-raw://9b84688ab411266e9a20e63c8ae9958a3ff8a1af9d031d5d907976e1f1b8e4f7",
"dweb:/ipfs/QmQpJ1697jCMMJ86BrkJfdJx9x7mV1gRmrywTcJoPZd7UD"
],
"license": "MIT"
},
"lib/openzeppelin-contracts/contracts/utils/Address.sol": {
"keccak256": "0xcfa79cbb4867877ee537a899bf75d42b712dac8519ef438939ce36073532454d",
"urls": [
"bzz-raw://0d7881116d22618a7b940d002cf03bdcf385f7c564db0293f4f847a7368788e2",
"dweb:/ipfs/QmXL61H7ahe5Buh9xNGqgmLR4tDYoPpYw3Y5ppRbbLkFqk"
],
"license": "MIT"
},
"lib/openzeppelin-contracts/contracts/utils/Context.sol": {
"keccak256": "0x81d5fc973a522c8909d60be6a201869d46aa47b030b8813f60616404628c2b94",
"urls": [
"bzz-raw://9755b505799e622d964a843a8ed1fd60fedffca230178e5cb95ae9280df4dcd2",
"dweb:/ipfs/QmRkhUYUUgRZ2QYJjmtQct2ubyYwS3bdUMhbuFYM12VfYn"
],
"license": "MIT"
},
"lib/openzeppelin-contracts/contracts/utils/Strings.sol": {
"keccak256": "0xdfef8e2d15f12731bacd2b57e3417200c2c8bbe36d0da5f50fa04c1a69b8dafe",
"urls": [
"bzz-raw://93daa52a758e005bf68961549037c0877b4e7d5a36a75ddfbaa351384e29e604",
"dweb:/ipfs/QmbZh5US9NMnppWvK4FTp3fny73SkTnYZgCuptgQsNxFT6"
],
"license": "MIT"
},
"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol": {
"keccak256": "0x3d3fe7b1901114d50828f5c77ba7f09a2a6a65223620c837364d31b60e5982ac",
"urls": [
"bzz-raw://6751cee12592cb9c33be618057660d6c84cb0594bd0afa552009438e38d3dd02",
"dweb:/ipfs/QmWq8SxNw4q6n1B8i9sFZVaodB6wrcyBPsKPWMsaUyCECH"
],
"license": "MIT"
},
"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": {
"keccak256": "0x540685d7ece3faa56f38253270ff11b18e63949fb8659c408123b1874674492e",
"urls": [
"bzz-raw://5474839e19e2571c52eae3aab1dc6e6edf2b20bbba9895f59db6594a2678a3d5",
"dweb:/ipfs/QmVHocBeANMkq4TzVM7q9At5NSg1TEpT9D9vgJ5dGcvcPN"
],
"license": "MIT"
},
"lib/openzeppelin-contracts/contracts/utils/math/Math.sol": {
"keccak256": "0x662311a467e936121c66b0afc797bc576098be1e1d21723d451299e5311d7489",
"urls": [
"bzz-raw://ff086db82cb4e32909b039e98ebebb56f7d0a68467c445011a82a2907a668473",
"dweb:/ipfs/QmVxRNiDzXXDqPYp3HNGjDvVfw8p5cwcX4FAb7caAJmcNz"
],
"license": "MIT"
},
"src/SimulatorERC1155.sol": {
"keccak256": "0x3a08e2d01aa12e76279a74695ccbf1ec6850741c8271c43e4881d977008465fb",
"urls": [
"bzz-raw://43ad0fe718ce43a16fea78a9e05ae37c674225985e4c518d2f58486713fc3ffa",
"dweb:/ipfs/QmeaohSwSPcP8rDqQMZeygfWJNnWrXCuSUk3MWsvyuahmS"
],
"license": "MIT"
}
},
"version": 1
},
"ast": {
"absolutePath": "src/SimulatorERC1155.sol",
"id": 38257,
"exportedSymbols": {
"Address": [36076],
"Context": [36098],
"ERC1155": [33790],
"ERC165": [36357],
"IERC1155": [33912],
"IERC1155MetadataURI": [33968],
"IERC1155Receiver": [33953],
"IERC165": [36369],
"Math": [37234],
"Ownable": [31810],
"SimulatorERC1155": [38256],
"Strings": [36333]
},
"nodeType": "SourceUnit",
"src": "33:1483:63",
"nodes": [
{
"id": 38147,
"nodeType": "PragmaDirective",
"src": "33:23:63",
"nodes": [],
"literals": ["solidity", "^", "0.8", ".0"]
},
{
"id": 38148,
"nodeType": "ImportDirective",
"src": "58:61:63",
"nodes": [],
"absolutePath": "lib/openzeppelin-contracts/contracts/access/Ownable.sol",
"file": "openzeppelin-contracts/contracts/access/Ownable.sol",
"nameLocation": "-1:-1:-1",
"scope": 38257,
"sourceUnit": 31811,
"symbolAliases": [],
"unitAlias": ""
},
{
"id": 38149,
"nodeType": "ImportDirective",
"src": "120:68:63",
"nodes": [],
"absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol",
"file": "openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol",
"nameLocation": "-1:-1:-1",
"scope": 38257,
"sourceUnit": 33791,
"symbolAliases": [],
"unitAlias": ""
},
{
"id": 38150,
"nodeType": "ImportDirective",
"src": "189:60:63",
"nodes": [],
"absolutePath": "lib/openzeppelin-contracts/contracts/utils/Strings.sol",
"file": "openzeppelin-contracts/contracts/utils/Strings.sol",
"nameLocation": "-1:-1:-1",
"scope": 38257,
"sourceUnit": 36334,
"symbolAliases": [],
"unitAlias": ""
},
{
"id": 38256,
"nodeType": "ContractDefinition",
"src": "251:866:63",
"nodes": [
{
"id": 38157,
"nodeType": "UsingForDirective",
"src": "300:26:63",
"nodes": [],
"global": false,
"libraryName": {
"id": 38155,
"name": "Strings",
"nameLocations": ["306:7:63"],
"nodeType": "IdentifierPath",
"referencedDeclaration": 36333,
"src": "306:7:63"
},
"typeName": {
"id": 38156,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "318:7:63",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
},
{
"id": 38159,
"nodeType": "VariableDeclaration",
"src": "329:18:63",
"nodes": [],
"constant": false,
"functionSelector": "06fdde03",
"mutability": "mutable",
"name": "name",
"nameLocation": "343:4:63",
"scope": 38256,
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string"
},
"typeName": {
"id": 38158,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "329:6:63",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "public"
},
{
"id": 38161,
"nodeType": "VariableDeclaration",
"src": "350:20:63",
"nodes": [],
"constant": false,
"functionSelector": "95d89b41",
"mutability": "mutable",
"name": "symbol",
"nameLocation": "364:6:63",
"scope": 38256,
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string"
},