@lukso/lsp8-contracts 0.15.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/README.md +3 -0
  2. package/artifacts/LSP8CappedSupply.json +959 -0
  3. package/artifacts/LSP8CappedSupplyInitAbstract.json +972 -0
  4. package/artifacts/LSP8IdentifiableDigitalAsset.json +936 -0
  5. package/artifacts/LSP8IdentifiableDigitalAssetInitAbstract.json +949 -0
  6. package/artifacts/LSP8Mintable.json +1006 -0
  7. package/artifacts/LSP8MintableInit.json +1026 -0
  8. package/contracts/ILSP8IdentifiableDigitalAsset.sol +328 -0
  9. package/contracts/LSP8Constants.sol +41 -0
  10. package/contracts/LSP8Errors.sol +118 -0
  11. package/contracts/LSP8IdentifiableDigitalAsset.sol +241 -0
  12. package/contracts/LSP8IdentifiableDigitalAssetCore.sol +806 -0
  13. package/contracts/LSP8IdentifiableDigitalAssetInitAbstract.sol +248 -0
  14. package/contracts/extensions/LSP8Burnable.sol +30 -0
  15. package/contracts/extensions/LSP8BurnableInitAbstract.sol +24 -0
  16. package/contracts/extensions/LSP8CappedSupply.sol +85 -0
  17. package/contracts/extensions/LSP8CappedSupplyInitAbstract.sol +88 -0
  18. package/contracts/extensions/LSP8Enumerable.sol +69 -0
  19. package/contracts/extensions/LSP8EnumerableInitAbstract.sol +64 -0
  20. package/contracts/presets/ILSP8Mintable.sol +33 -0
  21. package/contracts/presets/LSP8Mintable.sol +60 -0
  22. package/contracts/presets/LSP8MintableInit.sol +43 -0
  23. package/contracts/presets/LSP8MintableInitAbstract.sol +62 -0
  24. package/dist/index.cjs +33 -0
  25. package/dist/index.d.cts +29 -0
  26. package/dist/index.d.mts +29 -0
  27. package/dist/index.d.ts +29 -0
  28. package/dist/index.mjs +28 -0
  29. package/package.json +56 -0
  30. package/types/LSP8CappedSupply.ts +792 -0
  31. package/types/LSP8CappedSupplyInitAbstract.ts +824 -0
  32. package/types/LSP8IdentifiableDigitalAsset.ts +778 -0
  33. package/types/LSP8IdentifiableDigitalAssetInitAbstract.ts +813 -0
  34. package/types/LSP8Mintable.ts +797 -0
  35. package/types/LSP8MintableInit.ts +860 -0
  36. package/types/common.ts +131 -0
  37. package/types/contracts/LSP8IdentifiableDigitalAsset.ts +778 -0
  38. package/types/contracts/LSP8IdentifiableDigitalAssetInitAbstract.ts +813 -0
  39. package/types/contracts/extensions/LSP8CappedSupply.ts +792 -0
  40. package/types/contracts/extensions/LSP8CappedSupplyInitAbstract.ts +824 -0
  41. package/types/contracts/presets/LSP8Mintable.ts +797 -0
  42. package/types/contracts/presets/LSP8MintableInit.ts +860 -0
  43. package/types/index.ts +16 -0
@@ -0,0 +1,1026 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "LSP8MintableInit",
4
+ "sourceName": "contracts/presets/LSP8MintableInit.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "inputs": [],
13
+ "name": "ERC725Y_DataKeysValuesEmptyArray",
14
+ "type": "error"
15
+ },
16
+ {
17
+ "inputs": [],
18
+ "name": "ERC725Y_DataKeysValuesLengthMismatch",
19
+ "type": "error"
20
+ },
21
+ {
22
+ "inputs": [],
23
+ "name": "ERC725Y_MsgValueDisallowed",
24
+ "type": "error"
25
+ },
26
+ {
27
+ "inputs": [
28
+ {
29
+ "internalType": "bytes",
30
+ "name": "storedData",
31
+ "type": "bytes"
32
+ }
33
+ ],
34
+ "name": "InvalidExtensionAddress",
35
+ "type": "error"
36
+ },
37
+ {
38
+ "inputs": [
39
+ {
40
+ "internalType": "bytes",
41
+ "name": "data",
42
+ "type": "bytes"
43
+ }
44
+ ],
45
+ "name": "InvalidFunctionSelector",
46
+ "type": "error"
47
+ },
48
+ {
49
+ "inputs": [],
50
+ "name": "LSP4TokenNameNotEditable",
51
+ "type": "error"
52
+ },
53
+ {
54
+ "inputs": [],
55
+ "name": "LSP4TokenSymbolNotEditable",
56
+ "type": "error"
57
+ },
58
+ {
59
+ "inputs": [],
60
+ "name": "LSP4TokenTypeNotEditable",
61
+ "type": "error"
62
+ },
63
+ {
64
+ "inputs": [
65
+ {
66
+ "internalType": "uint256",
67
+ "name": "callIndex",
68
+ "type": "uint256"
69
+ }
70
+ ],
71
+ "name": "LSP8BatchCallFailed",
72
+ "type": "error"
73
+ },
74
+ {
75
+ "inputs": [],
76
+ "name": "LSP8CannotSendToAddressZero",
77
+ "type": "error"
78
+ },
79
+ {
80
+ "inputs": [],
81
+ "name": "LSP8CannotUseAddressZeroAsOperator",
82
+ "type": "error"
83
+ },
84
+ {
85
+ "inputs": [],
86
+ "name": "LSP8InvalidTransferBatch",
87
+ "type": "error"
88
+ },
89
+ {
90
+ "inputs": [
91
+ {
92
+ "internalType": "bytes32",
93
+ "name": "tokenId",
94
+ "type": "bytes32"
95
+ }
96
+ ],
97
+ "name": "LSP8NonExistentTokenId",
98
+ "type": "error"
99
+ },
100
+ {
101
+ "inputs": [
102
+ {
103
+ "internalType": "address",
104
+ "name": "operator",
105
+ "type": "address"
106
+ },
107
+ {
108
+ "internalType": "bytes32",
109
+ "name": "tokenId",
110
+ "type": "bytes32"
111
+ }
112
+ ],
113
+ "name": "LSP8NonExistingOperator",
114
+ "type": "error"
115
+ },
116
+ {
117
+ "inputs": [
118
+ {
119
+ "internalType": "bytes32",
120
+ "name": "tokenId",
121
+ "type": "bytes32"
122
+ },
123
+ {
124
+ "internalType": "address",
125
+ "name": "caller",
126
+ "type": "address"
127
+ }
128
+ ],
129
+ "name": "LSP8NotTokenOperator",
130
+ "type": "error"
131
+ },
132
+ {
133
+ "inputs": [
134
+ {
135
+ "internalType": "address",
136
+ "name": "tokenOwner",
137
+ "type": "address"
138
+ },
139
+ {
140
+ "internalType": "bytes32",
141
+ "name": "tokenId",
142
+ "type": "bytes32"
143
+ },
144
+ {
145
+ "internalType": "address",
146
+ "name": "caller",
147
+ "type": "address"
148
+ }
149
+ ],
150
+ "name": "LSP8NotTokenOwner",
151
+ "type": "error"
152
+ },
153
+ {
154
+ "inputs": [
155
+ {
156
+ "internalType": "address",
157
+ "name": "tokenReceiver",
158
+ "type": "address"
159
+ }
160
+ ],
161
+ "name": "LSP8NotifyTokenReceiverContractMissingLSP1Interface",
162
+ "type": "error"
163
+ },
164
+ {
165
+ "inputs": [
166
+ {
167
+ "internalType": "address",
168
+ "name": "tokenReceiver",
169
+ "type": "address"
170
+ }
171
+ ],
172
+ "name": "LSP8NotifyTokenReceiverIsEOA",
173
+ "type": "error"
174
+ },
175
+ {
176
+ "inputs": [
177
+ {
178
+ "internalType": "address",
179
+ "name": "operator",
180
+ "type": "address"
181
+ },
182
+ {
183
+ "internalType": "bytes32",
184
+ "name": "tokenId",
185
+ "type": "bytes32"
186
+ }
187
+ ],
188
+ "name": "LSP8OperatorAlreadyAuthorized",
189
+ "type": "error"
190
+ },
191
+ {
192
+ "inputs": [
193
+ {
194
+ "internalType": "address",
195
+ "name": "caller",
196
+ "type": "address"
197
+ },
198
+ {
199
+ "internalType": "address",
200
+ "name": "tokenOwner",
201
+ "type": "address"
202
+ },
203
+ {
204
+ "internalType": "bytes32",
205
+ "name": "tokenId",
206
+ "type": "bytes32"
207
+ }
208
+ ],
209
+ "name": "LSP8RevokeOperatorNotAuthorized",
210
+ "type": "error"
211
+ },
212
+ {
213
+ "inputs": [],
214
+ "name": "LSP8TokenContractCannotHoldValue",
215
+ "type": "error"
216
+ },
217
+ {
218
+ "inputs": [
219
+ {
220
+ "internalType": "bytes32",
221
+ "name": "tokenId",
222
+ "type": "bytes32"
223
+ }
224
+ ],
225
+ "name": "LSP8TokenIdAlreadyMinted",
226
+ "type": "error"
227
+ },
228
+ {
229
+ "inputs": [],
230
+ "name": "LSP8TokenIdFormatNotEditable",
231
+ "type": "error"
232
+ },
233
+ {
234
+ "inputs": [],
235
+ "name": "LSP8TokenIdsDataEmptyArray",
236
+ "type": "error"
237
+ },
238
+ {
239
+ "inputs": [],
240
+ "name": "LSP8TokenIdsDataLengthMismatch",
241
+ "type": "error"
242
+ },
243
+ {
244
+ "inputs": [],
245
+ "name": "LSP8TokenOwnerCannotBeOperator",
246
+ "type": "error"
247
+ },
248
+ {
249
+ "inputs": [
250
+ {
251
+ "internalType": "bytes32",
252
+ "name": "tokenId",
253
+ "type": "bytes32"
254
+ },
255
+ {
256
+ "internalType": "address",
257
+ "name": "oldOwner",
258
+ "type": "address"
259
+ },
260
+ {
261
+ "internalType": "address",
262
+ "name": "newOwner",
263
+ "type": "address"
264
+ }
265
+ ],
266
+ "name": "LSP8TokenOwnerChanged",
267
+ "type": "error"
268
+ },
269
+ {
270
+ "inputs": [
271
+ {
272
+ "internalType": "bytes4",
273
+ "name": "functionSelector",
274
+ "type": "bytes4"
275
+ }
276
+ ],
277
+ "name": "NoExtensionFoundForFunctionSelector",
278
+ "type": "error"
279
+ },
280
+ {
281
+ "inputs": [
282
+ {
283
+ "internalType": "address",
284
+ "name": "callerAddress",
285
+ "type": "address"
286
+ }
287
+ ],
288
+ "name": "OwnableCallerNotTheOwner",
289
+ "type": "error"
290
+ },
291
+ {
292
+ "inputs": [],
293
+ "name": "OwnableCannotSetZeroAddressAsOwner",
294
+ "type": "error"
295
+ },
296
+ {
297
+ "anonymous": false,
298
+ "inputs": [
299
+ {
300
+ "indexed": true,
301
+ "internalType": "bytes32",
302
+ "name": "dataKey",
303
+ "type": "bytes32"
304
+ },
305
+ {
306
+ "indexed": false,
307
+ "internalType": "bytes",
308
+ "name": "dataValue",
309
+ "type": "bytes"
310
+ }
311
+ ],
312
+ "name": "DataChanged",
313
+ "type": "event"
314
+ },
315
+ {
316
+ "anonymous": false,
317
+ "inputs": [
318
+ {
319
+ "indexed": false,
320
+ "internalType": "uint8",
321
+ "name": "version",
322
+ "type": "uint8"
323
+ }
324
+ ],
325
+ "name": "Initialized",
326
+ "type": "event"
327
+ },
328
+ {
329
+ "anonymous": false,
330
+ "inputs": [
331
+ {
332
+ "indexed": true,
333
+ "internalType": "address",
334
+ "name": "operator",
335
+ "type": "address"
336
+ },
337
+ {
338
+ "indexed": true,
339
+ "internalType": "address",
340
+ "name": "tokenOwner",
341
+ "type": "address"
342
+ },
343
+ {
344
+ "indexed": true,
345
+ "internalType": "bytes32",
346
+ "name": "tokenId",
347
+ "type": "bytes32"
348
+ },
349
+ {
350
+ "indexed": false,
351
+ "internalType": "bytes",
352
+ "name": "operatorNotificationData",
353
+ "type": "bytes"
354
+ }
355
+ ],
356
+ "name": "OperatorAuthorizationChanged",
357
+ "type": "event"
358
+ },
359
+ {
360
+ "anonymous": false,
361
+ "inputs": [
362
+ {
363
+ "indexed": true,
364
+ "internalType": "address",
365
+ "name": "operator",
366
+ "type": "address"
367
+ },
368
+ {
369
+ "indexed": true,
370
+ "internalType": "address",
371
+ "name": "tokenOwner",
372
+ "type": "address"
373
+ },
374
+ {
375
+ "indexed": true,
376
+ "internalType": "bytes32",
377
+ "name": "tokenId",
378
+ "type": "bytes32"
379
+ },
380
+ {
381
+ "indexed": false,
382
+ "internalType": "bool",
383
+ "name": "notified",
384
+ "type": "bool"
385
+ },
386
+ {
387
+ "indexed": false,
388
+ "internalType": "bytes",
389
+ "name": "operatorNotificationData",
390
+ "type": "bytes"
391
+ }
392
+ ],
393
+ "name": "OperatorRevoked",
394
+ "type": "event"
395
+ },
396
+ {
397
+ "anonymous": false,
398
+ "inputs": [
399
+ {
400
+ "indexed": true,
401
+ "internalType": "address",
402
+ "name": "previousOwner",
403
+ "type": "address"
404
+ },
405
+ {
406
+ "indexed": true,
407
+ "internalType": "address",
408
+ "name": "newOwner",
409
+ "type": "address"
410
+ }
411
+ ],
412
+ "name": "OwnershipTransferred",
413
+ "type": "event"
414
+ },
415
+ {
416
+ "anonymous": false,
417
+ "inputs": [
418
+ {
419
+ "indexed": true,
420
+ "internalType": "bytes32",
421
+ "name": "tokenId",
422
+ "type": "bytes32"
423
+ },
424
+ {
425
+ "indexed": true,
426
+ "internalType": "bytes32",
427
+ "name": "dataKey",
428
+ "type": "bytes32"
429
+ },
430
+ {
431
+ "indexed": false,
432
+ "internalType": "bytes",
433
+ "name": "dataValue",
434
+ "type": "bytes"
435
+ }
436
+ ],
437
+ "name": "TokenIdDataChanged",
438
+ "type": "event"
439
+ },
440
+ {
441
+ "anonymous": false,
442
+ "inputs": [
443
+ {
444
+ "indexed": false,
445
+ "internalType": "address",
446
+ "name": "operator",
447
+ "type": "address"
448
+ },
449
+ {
450
+ "indexed": true,
451
+ "internalType": "address",
452
+ "name": "from",
453
+ "type": "address"
454
+ },
455
+ {
456
+ "indexed": true,
457
+ "internalType": "address",
458
+ "name": "to",
459
+ "type": "address"
460
+ },
461
+ {
462
+ "indexed": true,
463
+ "internalType": "bytes32",
464
+ "name": "tokenId",
465
+ "type": "bytes32"
466
+ },
467
+ {
468
+ "indexed": false,
469
+ "internalType": "bool",
470
+ "name": "force",
471
+ "type": "bool"
472
+ },
473
+ {
474
+ "indexed": false,
475
+ "internalType": "bytes",
476
+ "name": "data",
477
+ "type": "bytes"
478
+ }
479
+ ],
480
+ "name": "Transfer",
481
+ "type": "event"
482
+ },
483
+ {
484
+ "stateMutability": "payable",
485
+ "type": "fallback"
486
+ },
487
+ {
488
+ "inputs": [
489
+ {
490
+ "internalType": "address",
491
+ "name": "operator",
492
+ "type": "address"
493
+ },
494
+ {
495
+ "internalType": "bytes32",
496
+ "name": "tokenId",
497
+ "type": "bytes32"
498
+ },
499
+ {
500
+ "internalType": "bytes",
501
+ "name": "operatorNotificationData",
502
+ "type": "bytes"
503
+ }
504
+ ],
505
+ "name": "authorizeOperator",
506
+ "outputs": [],
507
+ "stateMutability": "nonpayable",
508
+ "type": "function"
509
+ },
510
+ {
511
+ "inputs": [
512
+ {
513
+ "internalType": "address",
514
+ "name": "tokenOwner",
515
+ "type": "address"
516
+ }
517
+ ],
518
+ "name": "balanceOf",
519
+ "outputs": [
520
+ {
521
+ "internalType": "uint256",
522
+ "name": "",
523
+ "type": "uint256"
524
+ }
525
+ ],
526
+ "stateMutability": "view",
527
+ "type": "function"
528
+ },
529
+ {
530
+ "inputs": [
531
+ {
532
+ "internalType": "bytes[]",
533
+ "name": "data",
534
+ "type": "bytes[]"
535
+ }
536
+ ],
537
+ "name": "batchCalls",
538
+ "outputs": [
539
+ {
540
+ "internalType": "bytes[]",
541
+ "name": "results",
542
+ "type": "bytes[]"
543
+ }
544
+ ],
545
+ "stateMutability": "nonpayable",
546
+ "type": "function"
547
+ },
548
+ {
549
+ "inputs": [
550
+ {
551
+ "internalType": "bytes32",
552
+ "name": "dataKey",
553
+ "type": "bytes32"
554
+ }
555
+ ],
556
+ "name": "getData",
557
+ "outputs": [
558
+ {
559
+ "internalType": "bytes",
560
+ "name": "dataValue",
561
+ "type": "bytes"
562
+ }
563
+ ],
564
+ "stateMutability": "view",
565
+ "type": "function"
566
+ },
567
+ {
568
+ "inputs": [
569
+ {
570
+ "internalType": "bytes32[]",
571
+ "name": "dataKeys",
572
+ "type": "bytes32[]"
573
+ }
574
+ ],
575
+ "name": "getDataBatch",
576
+ "outputs": [
577
+ {
578
+ "internalType": "bytes[]",
579
+ "name": "dataValues",
580
+ "type": "bytes[]"
581
+ }
582
+ ],
583
+ "stateMutability": "view",
584
+ "type": "function"
585
+ },
586
+ {
587
+ "inputs": [
588
+ {
589
+ "internalType": "bytes32[]",
590
+ "name": "tokenIds",
591
+ "type": "bytes32[]"
592
+ },
593
+ {
594
+ "internalType": "bytes32[]",
595
+ "name": "dataKeys",
596
+ "type": "bytes32[]"
597
+ }
598
+ ],
599
+ "name": "getDataBatchForTokenIds",
600
+ "outputs": [
601
+ {
602
+ "internalType": "bytes[]",
603
+ "name": "dataValues",
604
+ "type": "bytes[]"
605
+ }
606
+ ],
607
+ "stateMutability": "view",
608
+ "type": "function"
609
+ },
610
+ {
611
+ "inputs": [
612
+ {
613
+ "internalType": "bytes32",
614
+ "name": "tokenId",
615
+ "type": "bytes32"
616
+ },
617
+ {
618
+ "internalType": "bytes32",
619
+ "name": "dataKey",
620
+ "type": "bytes32"
621
+ }
622
+ ],
623
+ "name": "getDataForTokenId",
624
+ "outputs": [
625
+ {
626
+ "internalType": "bytes",
627
+ "name": "dataValue",
628
+ "type": "bytes"
629
+ }
630
+ ],
631
+ "stateMutability": "view",
632
+ "type": "function"
633
+ },
634
+ {
635
+ "inputs": [
636
+ {
637
+ "internalType": "bytes32",
638
+ "name": "tokenId",
639
+ "type": "bytes32"
640
+ }
641
+ ],
642
+ "name": "getOperatorsOf",
643
+ "outputs": [
644
+ {
645
+ "internalType": "address[]",
646
+ "name": "",
647
+ "type": "address[]"
648
+ }
649
+ ],
650
+ "stateMutability": "view",
651
+ "type": "function"
652
+ },
653
+ {
654
+ "inputs": [
655
+ {
656
+ "internalType": "string",
657
+ "name": "name_",
658
+ "type": "string"
659
+ },
660
+ {
661
+ "internalType": "string",
662
+ "name": "symbol_",
663
+ "type": "string"
664
+ },
665
+ {
666
+ "internalType": "address",
667
+ "name": "newOwner_",
668
+ "type": "address"
669
+ },
670
+ {
671
+ "internalType": "uint256",
672
+ "name": "lsp4TokenType_",
673
+ "type": "uint256"
674
+ },
675
+ {
676
+ "internalType": "uint256",
677
+ "name": "lsp8TokenIdFormat_",
678
+ "type": "uint256"
679
+ }
680
+ ],
681
+ "name": "initialize",
682
+ "outputs": [],
683
+ "stateMutability": "nonpayable",
684
+ "type": "function"
685
+ },
686
+ {
687
+ "inputs": [
688
+ {
689
+ "internalType": "address",
690
+ "name": "operator",
691
+ "type": "address"
692
+ },
693
+ {
694
+ "internalType": "bytes32",
695
+ "name": "tokenId",
696
+ "type": "bytes32"
697
+ }
698
+ ],
699
+ "name": "isOperatorFor",
700
+ "outputs": [
701
+ {
702
+ "internalType": "bool",
703
+ "name": "",
704
+ "type": "bool"
705
+ }
706
+ ],
707
+ "stateMutability": "view",
708
+ "type": "function"
709
+ },
710
+ {
711
+ "inputs": [
712
+ {
713
+ "internalType": "address",
714
+ "name": "to",
715
+ "type": "address"
716
+ },
717
+ {
718
+ "internalType": "bytes32",
719
+ "name": "tokenId",
720
+ "type": "bytes32"
721
+ },
722
+ {
723
+ "internalType": "bool",
724
+ "name": "force",
725
+ "type": "bool"
726
+ },
727
+ {
728
+ "internalType": "bytes",
729
+ "name": "data",
730
+ "type": "bytes"
731
+ }
732
+ ],
733
+ "name": "mint",
734
+ "outputs": [],
735
+ "stateMutability": "nonpayable",
736
+ "type": "function"
737
+ },
738
+ {
739
+ "inputs": [],
740
+ "name": "owner",
741
+ "outputs": [
742
+ {
743
+ "internalType": "address",
744
+ "name": "",
745
+ "type": "address"
746
+ }
747
+ ],
748
+ "stateMutability": "view",
749
+ "type": "function"
750
+ },
751
+ {
752
+ "inputs": [],
753
+ "name": "renounceOwnership",
754
+ "outputs": [],
755
+ "stateMutability": "nonpayable",
756
+ "type": "function"
757
+ },
758
+ {
759
+ "inputs": [
760
+ {
761
+ "internalType": "address",
762
+ "name": "operator",
763
+ "type": "address"
764
+ },
765
+ {
766
+ "internalType": "bytes32",
767
+ "name": "tokenId",
768
+ "type": "bytes32"
769
+ },
770
+ {
771
+ "internalType": "bool",
772
+ "name": "notify",
773
+ "type": "bool"
774
+ },
775
+ {
776
+ "internalType": "bytes",
777
+ "name": "operatorNotificationData",
778
+ "type": "bytes"
779
+ }
780
+ ],
781
+ "name": "revokeOperator",
782
+ "outputs": [],
783
+ "stateMutability": "nonpayable",
784
+ "type": "function"
785
+ },
786
+ {
787
+ "inputs": [
788
+ {
789
+ "internalType": "bytes32",
790
+ "name": "dataKey",
791
+ "type": "bytes32"
792
+ },
793
+ {
794
+ "internalType": "bytes",
795
+ "name": "dataValue",
796
+ "type": "bytes"
797
+ }
798
+ ],
799
+ "name": "setData",
800
+ "outputs": [],
801
+ "stateMutability": "payable",
802
+ "type": "function"
803
+ },
804
+ {
805
+ "inputs": [
806
+ {
807
+ "internalType": "bytes32[]",
808
+ "name": "dataKeys",
809
+ "type": "bytes32[]"
810
+ },
811
+ {
812
+ "internalType": "bytes[]",
813
+ "name": "dataValues",
814
+ "type": "bytes[]"
815
+ }
816
+ ],
817
+ "name": "setDataBatch",
818
+ "outputs": [],
819
+ "stateMutability": "payable",
820
+ "type": "function"
821
+ },
822
+ {
823
+ "inputs": [
824
+ {
825
+ "internalType": "bytes32[]",
826
+ "name": "tokenIds",
827
+ "type": "bytes32[]"
828
+ },
829
+ {
830
+ "internalType": "bytes32[]",
831
+ "name": "dataKeys",
832
+ "type": "bytes32[]"
833
+ },
834
+ {
835
+ "internalType": "bytes[]",
836
+ "name": "dataValues",
837
+ "type": "bytes[]"
838
+ }
839
+ ],
840
+ "name": "setDataBatchForTokenIds",
841
+ "outputs": [],
842
+ "stateMutability": "nonpayable",
843
+ "type": "function"
844
+ },
845
+ {
846
+ "inputs": [
847
+ {
848
+ "internalType": "bytes32",
849
+ "name": "tokenId",
850
+ "type": "bytes32"
851
+ },
852
+ {
853
+ "internalType": "bytes32",
854
+ "name": "dataKey",
855
+ "type": "bytes32"
856
+ },
857
+ {
858
+ "internalType": "bytes",
859
+ "name": "dataValue",
860
+ "type": "bytes"
861
+ }
862
+ ],
863
+ "name": "setDataForTokenId",
864
+ "outputs": [],
865
+ "stateMutability": "nonpayable",
866
+ "type": "function"
867
+ },
868
+ {
869
+ "inputs": [
870
+ {
871
+ "internalType": "bytes4",
872
+ "name": "interfaceId",
873
+ "type": "bytes4"
874
+ }
875
+ ],
876
+ "name": "supportsInterface",
877
+ "outputs": [
878
+ {
879
+ "internalType": "bool",
880
+ "name": "",
881
+ "type": "bool"
882
+ }
883
+ ],
884
+ "stateMutability": "view",
885
+ "type": "function"
886
+ },
887
+ {
888
+ "inputs": [
889
+ {
890
+ "internalType": "address",
891
+ "name": "tokenOwner",
892
+ "type": "address"
893
+ }
894
+ ],
895
+ "name": "tokenIdsOf",
896
+ "outputs": [
897
+ {
898
+ "internalType": "bytes32[]",
899
+ "name": "",
900
+ "type": "bytes32[]"
901
+ }
902
+ ],
903
+ "stateMutability": "view",
904
+ "type": "function"
905
+ },
906
+ {
907
+ "inputs": [
908
+ {
909
+ "internalType": "bytes32",
910
+ "name": "tokenId",
911
+ "type": "bytes32"
912
+ }
913
+ ],
914
+ "name": "tokenOwnerOf",
915
+ "outputs": [
916
+ {
917
+ "internalType": "address",
918
+ "name": "",
919
+ "type": "address"
920
+ }
921
+ ],
922
+ "stateMutability": "view",
923
+ "type": "function"
924
+ },
925
+ {
926
+ "inputs": [],
927
+ "name": "totalSupply",
928
+ "outputs": [
929
+ {
930
+ "internalType": "uint256",
931
+ "name": "",
932
+ "type": "uint256"
933
+ }
934
+ ],
935
+ "stateMutability": "view",
936
+ "type": "function"
937
+ },
938
+ {
939
+ "inputs": [
940
+ {
941
+ "internalType": "address",
942
+ "name": "from",
943
+ "type": "address"
944
+ },
945
+ {
946
+ "internalType": "address",
947
+ "name": "to",
948
+ "type": "address"
949
+ },
950
+ {
951
+ "internalType": "bytes32",
952
+ "name": "tokenId",
953
+ "type": "bytes32"
954
+ },
955
+ {
956
+ "internalType": "bool",
957
+ "name": "force",
958
+ "type": "bool"
959
+ },
960
+ {
961
+ "internalType": "bytes",
962
+ "name": "data",
963
+ "type": "bytes"
964
+ }
965
+ ],
966
+ "name": "transfer",
967
+ "outputs": [],
968
+ "stateMutability": "nonpayable",
969
+ "type": "function"
970
+ },
971
+ {
972
+ "inputs": [
973
+ {
974
+ "internalType": "address[]",
975
+ "name": "from",
976
+ "type": "address[]"
977
+ },
978
+ {
979
+ "internalType": "address[]",
980
+ "name": "to",
981
+ "type": "address[]"
982
+ },
983
+ {
984
+ "internalType": "bytes32[]",
985
+ "name": "tokenId",
986
+ "type": "bytes32[]"
987
+ },
988
+ {
989
+ "internalType": "bool[]",
990
+ "name": "force",
991
+ "type": "bool[]"
992
+ },
993
+ {
994
+ "internalType": "bytes[]",
995
+ "name": "data",
996
+ "type": "bytes[]"
997
+ }
998
+ ],
999
+ "name": "transferBatch",
1000
+ "outputs": [],
1001
+ "stateMutability": "nonpayable",
1002
+ "type": "function"
1003
+ },
1004
+ {
1005
+ "inputs": [
1006
+ {
1007
+ "internalType": "address",
1008
+ "name": "newOwner",
1009
+ "type": "address"
1010
+ }
1011
+ ],
1012
+ "name": "transferOwnership",
1013
+ "outputs": [],
1014
+ "stateMutability": "nonpayable",
1015
+ "type": "function"
1016
+ },
1017
+ {
1018
+ "stateMutability": "payable",
1019
+ "type": "receive"
1020
+ }
1021
+ ],
1022
+ "bytecode": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000e3565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e1576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6133ce80620000f36000396000f3fe60806040526004361061019a5760003560e01c806374823132116100e1578063a3b261f21161008a578063d6c1407c11610064578063d6c1407c14610530578063db8c966314610550578063dedff9c614610570578063f2fde38b146105905761020e565b8063a3b261f2146104c3578063af255b61146104f0578063be9f0e6f146105105761020e565b806386a10ddd116100bb57806386a10ddd1461046c5780638da5cb5b1461048c57806397902421146104b05761020e565b806374823132146104195780637e87632c146104395780637f23690c146104595761020e565b806349a6078d116101435780636963d4381161011d5780636963d438146103c457806370a08231146103e4578063715018a6146104045761020e565b806349a6078d14610355578063511b69521461038257806354f6127f146103a45761020e565b80631d26fce6116101745780631d26fce6146102d0578063217b2270146102fd5780632a3654a4146103355761020e565b806301ffc9a71461024f57806316e023b31461028457806318160ddd146102b15761020e565b3661020e57346000036101dc5760405163e5099ee360e01b81526004016101d39060208082526004908201526000604082015260600190565b60405180910390fd5b6040517f61f4944200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000366060600482101561023957828260405163e5099ee360e01b81526004016101d39291906125db565b61024383836105b0565b80519350602001915050f35b34801561025b57600080fd5b5061026f61026a36600461260a565b6106bf565b60405190151581526020015b60405180910390f35b34801561029057600080fd5b506102a461029f366004612634565b61070c565b60405161027b91906126a6565b3480156102bd57600080fd5b506002545b60405190815260200161027b565b3480156102dc57600080fd5b506102f06102eb36600461278f565b61071f565b60405161027b91906127f3565b34801561030957600080fd5b5061031d610318366004612855565b610807565b6040516001600160a01b03909116815260200161027b565b34801561034157600080fd5b5061026f61035036600461288a565b610840565b34801561036157600080fd5b50610375610370366004612855565b61084c565b60405161027b91906128b4565b34801561038e57600080fd5b506103a261039d36600461298a565b61086e565b005b3480156103b057600080fd5b506102a46103bf366004612855565b6108cb565b3480156103d057600080fd5b506102f06103df366004612a03565b6108d6565b3480156103f057600080fd5b506102c26103ff366004612a78565b610a1f565b34801561041057600080fd5b506103a2610a40565b34801561042557600080fd5b506103a2610434366004612a93565b610a54565b34801561044557600080fd5b506103a2610454366004612c5d565b610b7e565b6103a2610467366004612d22565b610c86565b34801561047857600080fd5b506103a2610487366004612d5f565b610cbb565b34801561049857600080fd5b506000546201000090046001600160a01b031661031d565b6103a26104be366004612db6565b610e46565b3480156104cf57600080fd5b506104e36104de366004612a78565b610f38565b60405161027b9190612e10565b3480156104fc57600080fd5b506103a261050b366004612e48565b610f5c565b34801561051c57600080fd5b506103a261052b366004612eb0565b610f76565b34801561053c57600080fd5b506103a261054b366004612f2e565b611054565b34801561055c57600080fd5b506103a261056b366004612e48565b611067565b34801561057c57600080fd5b506102f061058b366004612f68565b611164565b34801561059c57600080fd5b506103a26105ab366004612a78565b61120f565b606060006105c96000356001600160e01b031916611263565b5090506001600160a01b03811661061a576040517fbb370b2b0000000000000000000000000000000000000000000000000000000081526001600160e01b03196000351660048201526024016101d3565b600080826001600160a01b0316348787333460405160200161063f9493929190612f9d565b60408051601f198184030181529082905261065991612fcd565b60006040518083038185875af1925050503d8060008114610696576040519150601f19603f3d011682016040523d82523d6000602084013e61069b565b606091505b509150915081156106b05792506106b9915050565b80518060208301fd5b92915050565b60006001600160e01b031982167f3a2717060000000000000000000000000000000000000000000000000000000014806106fd57506106fd8261130d565b806106b957506106b98261134b565b60606107188383611382565b9392505050565b60608151835114610743576040516317d38eff60e11b815260040160405180910390fd5b825167ffffffffffffffff81111561075d5761075d6126b9565b60405190808252806020026020018201604052801561079057816020015b606081526020019060019003908161077b5790505b50905060005b8351811015610800576107db8482815181106107b4576107b4612fe9565b60200260200101518483815181106107ce576107ce612fe9565b6020026020010151611382565b8282815181106107ed576107ed612fe9565b6020908102919091010152600101610796565b5092915050565b6000818152600360205260408120546001600160a01b0316806106b957604051635747cd1b60e11b8152600481018490526024016101d3565b60006107188383611459565b606061085782611496565b60008281526005602052604090206106b9906114ce565b6108783384611459565b6108b7576040517f1294d2a9000000000000000000000000000000000000000000000000000000008152600481018490523360248201526044016101d3565b6108c485858585856114db565b5050505050565b60606106b9826116e3565b60608167ffffffffffffffff8111156108f1576108f16126b9565b60405190808252806020026020018201604052801561092457816020015b606081526020019060019003908161090f5790505b50905060005b82811015610800576000803086868581811061094857610948612fe9565b905060200281019061095a9190612fff565b60405161096892919061304d565b600060405180830381855af49150503d80600081146109a3576040519150601f19603f3d011682016040523d82523d6000602084013e6109a8565b606091505b5091509150816109f7578051156109c25780518082602001fd5b6040517f234eb819000000000000000000000000000000000000000000000000000000008152600481018490526024016101d3565b80848481518110610a0a57610a0a612fe9565b6020908102919091010152505060010161092a565b6001600160a01b03811660009081526004602052604081206106b990611785565b610a4861178f565b610a5260006117dc565b565b600054610100900460ff1615808015610a745750600054600160ff909116105b80610a8e5750303b158015610a8e575060005460ff166001145b610b005760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016101d3565b6000805460ff191660011790558015610b23576000805461ff0019166101001790555b610b308686868686611873565b8015610b76576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b8451845181141580610b91575083518114155b80610b9d575082518114155b80610ba9575081518114155b15610be0576040517f93a8311900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610c7d57610c75878281518110610c0057610c00612fe9565b6020026020010151878381518110610c1a57610c1a612fe9565b6020026020010151878481518110610c3457610c34612fe9565b6020026020010151878581518110610c4e57610c4e612fe9565b6020026020010151878681518110610c6857610c68612fe9565b602002602001015161086e565b600101610be3565b50505050505050565b610c8e61178f565b3415610cad5760405163f36ba73760e01b815260040160405180910390fd5b610cb782826118eb565b5050565b6000610cc683610807565b90506001600160a01b0381163314610d0957604051632d938f5160e11b81526001600160a01b0382166004820152602481018490523360448201526064016101d3565b6001600160a01b038416610d3057604051639577b8b360e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031603610d62576040516344fed6b160e11b815260040160405180910390fd5b6000838152600560205260408120610d7a908661194e565b905080610dc5576040517fa7626b680000000000000000000000000000000000000000000000000000000081526001600160a01b0386166004820152602481018590526044016101d3565b83826001600160a01b0316866001600160a01b03167f1b1b58aa2ec0cec2228b2d37124556d41f5a1f7b12f089171f896cc23667121586604051610e0991906126a6565b60405180910390a460003385600186604051602001610e2b949392919061305d565b6040516020818303038152906040529050610b768682611963565b610e4e61178f565b3415610e6d5760405163f36ba73760e01b815260040160405180910390fd5b8051825114610ea8576040517f3bcc897900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8151600003610ee3576040517f97da5f9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8251811015610f3357610f2b838281518110610f0457610f04612fe9565b6020026020010151838381518110610f1e57610f1e612fe9565b60200260200101516118eb565b600101610ee6565b505050565b6001600160a01b03811660009081526004602052604090206060906106b9906114ce565b610f6461178f565b610f708484848461198e565b50505050565b610f7e61178f565b81518351141580610f9157508051825114155b15610faf576040516317d38eff60e11b815260040160405180910390fd5b8251600003610fea576040517f80c9830500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8351811015610f705761104c84828151811061100b5761100b612fe9565b602002602001015184838151811061102557611025612fe9565b602002602001015184848151811061103f5761103f612fe9565b6020026020010151611b0b565b600101610fed565b61105c61178f565b610f33838383611b0b565b600061107284610807565b9050336001600160a01b038216146110de576001600160a01b03851633146110de576040517f760b5acd0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0382166024820152604481018590526064016101d3565b6001600160a01b03851661110557604051639577b8b360e01b815260040160405180910390fd5b846001600160a01b0316816001600160a01b031603611137576040516344fed6b160e11b815260040160405180910390fd5b6111448582868686611b9b565b82156108c45760008185600085604051602001610e2b949392919061305d565b6060815167ffffffffffffffff811115611180576111806126b9565b6040519080825280602002602001820160405280156111b357816020015b606081526020019060019003908161119e5790505b50905060005b8251811015611209576111e48382815181106111d7576111d7612fe9565b60200260200101516116e3565b8282815181106111f6576111f6612fe9565b60209081029190910101526001016111b9565b50919050565b61121761178f565b6001600160a01b038116611257576040517f1ad8836c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611260816117dc565b50565b6000808061129b7fcee78b4094da86011096000000000000000000000000000000000000000000006001600160e01b03198616611c54565b905060006112a8826116e3565b905080516014141580156112bc5750805115155b156112f557806040517f42bfe79f0000000000000000000000000000000000000000000000000000000081526004016101d391906126a6565b6112fe81613097565b60601c95600195509350505050565b60006001600160e01b031982167fa918fa6b0000000000000000000000000000000000000000000000000000000014806106b957506106b982611cc5565b60008061135e6301ffc9a760e01b611263565b5090506001600160a01b0381166113785750600092915050565b6107188184611d13565b60606001600084846040516020016113a4929190918252602082015260400190565b60405160208183030381529060405280519060200120815260200190815260200160002080546113d3906130d3565b80601f01602080910402602001604051908101604052809291908181526020018280546113ff906130d3565b801561144c5780601f106114215761010080835404028352916020019161144c565b820191906000526020600020905b81548152906001019060200180831161142f57829003601f168201915b5050505050905092915050565b600061146482610807565b6001600160a01b0316836001600160a01b03161480610718575060008281526005602052604090206107189084611db1565b6000818152600360205260409020546001600160a01b031661126057604051635747cd1b60e11b8152600481018290526024016101d3565b6060600061071883611dd3565b60006114e684610807565b9050856001600160a01b0316816001600160a01b03161461153457604051632d938f5160e11b81526001600160a01b03808316600483015260248201869052871660448201526064016101d3565b6001600160a01b03851661155b576040516324ecef4d60e01b815260040160405180910390fd5b600061156685610807565b9050806001600160a01b0316826001600160a01b0316146115cd576040517f5a9c31d3000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b038084166024830152821660448201526064016101d3565b6115d78786611e2e565b6001600160a01b03871660009081526004602052604090206115f99086611e86565b506001600160a01b038616600090815260046020526040902061161c9086611e92565b5060008581526003602052604090819020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0389811691821790925591518792918a16907fb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf906116909033908a908a90613107565b60405180910390a4600033888888876040516020016116b395949392919061313a565b60405160208183030381529060405290506116ce8882611e9e565b6116d9878683611ec9565b5050505050505050565b6000818152600160205260409020805460609190611700906130d3565b80601f016020809104026020016040519081016040528092919081815260200182805461172c906130d3565b80156117795780601f1061174e57610100808354040283529160200191611779565b820191906000526020600020905b81548152906001019060200180831161175c57829003601f168201915b50505050509050919050565b60006106b9825490565b6000546001600160a01b0362010000909104163314610a52576040517fbf1169c50000000000000000000000000000000000000000000000000000000081523360048201526024016101d3565b6000546001600160a01b0382811662010000909204161461126057600080546040516001600160a01b03808516936201000090930416917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03831662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff90911617905550565b600054610100900460ff166118de5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016101d3565b6108c48585858585612003565b7f098a16c9e50e3e99b3e797305c146898d294e5aec55a47e213cb3611ccf17e738201611944576040517f3664800a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cb782826120bc565b6000610718836001600160a01b0384166120c6565b610cb7827f8a1c15a8799f71b547e08e2bcb2e85257e81b0a07eee2ce6712549eef1f0097083612115565b6001600160a01b0384166119b5576040516324ecef4d60e01b815260040160405180910390fd5b6000838152600360205260409020546001600160a01b0316156119ee576040516334c7b51160e01b8152600481018490526024016101d3565b6000838152600360205260409020546001600160a01b031615611a27576040516334c7b51160e01b8152600481018490526024016101d3565b600260008154611a369061318a565b909155506001600160a01b0384166000908152600460205260409020611a5c9084611e92565b50600083815260036020526040808220805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03881690811790915590518592907fb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf90611acb90339088908890613107565b60405180910390a46000336000868685604051602001611aef95949392919061313a565b60405160208183030381529060405290506108c4858483611ec9565b80600160008585604051602001611b2c929190918252602082015260400190565b6040516020818303038152906040528051906020012081526020019081526020016000209081611b5c91906131e9565b5081837fa6e4251f855f750545fe414f120db91c76b88def14d120969e5bb2d3f05debbb83604051611b8e91906126a6565b60405180910390a3505050565b6000838152600560205260408120611bb39087612162565b905080611bfe576040517f4aa31a8c0000000000000000000000000000000000000000000000000000000081526001600160a01b0387166004820152602481018590526044016101d3565b83856001600160a01b0316876001600160a01b03167fc78cd419d6136f9f1c1c6aec1d3fae098cffaf8bc86314a8f2685e32fe574e3c8686604051611c449291906132a9565b60405180910390a4505050505050565b604080517fffffffffffffffffffff00000000000000000000000000000000000000000000841660208201526000602a82018190526bffffffffffffffffffffffff198416602c83015291829101604051602081830303815290604052905080611cbd906132c4565b949350505050565b60006001600160e01b031982167f629aa6940000000000000000000000000000000000000000000000000000000014806106b957506301ffc9a760e01b6001600160e01b03198316146106b9565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015611d9a575060208210155b8015611da65750600081115b979650505050505050565b6001600160a01b03811660009081526001830160205260408120541515610718565b60608160000180548060200260200160405190810160405280929190818152602001828054801561177957602002820191906000526020600020905b815481526020019060010190808311611e0f5750505050509050919050565b600081815260056020526040812090611e4682611785565b90506000805b82811015610b7657611e5f846000612177565b9150611e7e828787600060405180602001604052806000815250611b9b565b600101611e4c565b60006107188383612183565b600061071883836120c6565b610cb7827fb23eae7e6d1564b295b4c3e3be402d9a2f0776c57bdf365903496f6fa481ab0083612115565b611eda83631aed5a8560e21b611d13565b15611f7457604051631aed5a8560e21b81526001600160a01b03841690636bb56a1490611f2d907f0b084a55ebf70fd3c06fd755269dac2212c4d3f0f4d09079780bfa50c1b2984d9085906004016132e8565b6000604051808303816000875af1158015611f4c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f709190810190613301565b81610f33576001600160a01b0383163b15611fc6576040517f4349776d0000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024016101d3565b6040517f031731370000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024016101d3565b600054610100900460ff1661206e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016101d3565b61207a85858585612276565b60408051602081018390526108c4917ff675e9361af1c1664c1868cfa3eb97672d6b1a513aa5b81dec34c9ee330e818d91016040516020818303038152906040525b610cb782826123e6565b600081815260018301602052604081205461210d575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556106b9565b5060006106b9565b61212f6001600160a01b038416631aed5a8560e21b611d13565b15610f3357604051631aed5a8560e21b81526001600160a01b03841690636bb56a1490611f2d90859085906004016132e8565b6000610718836001600160a01b038416612183565b60006107188383612546565b6000818152600183016020526040812054801561226c5760006121a760018361336f565b85549091506000906121bb9060019061336f565b90508181146122205760008660000182815481106121db576121db612fe9565b90600052602060002001549050808760000184815481106121fe576121fe612fe9565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061223157612231613382565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506106b9565b60009150506106b9565b600054610100900460ff166122e15760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016101d3565b6122ea82612570565b61234c7feafec4d89fa9619884b60000a4d96624a38f7ac2d8d9a604ecf07c12c77e480c60001b6040518060400160405280600481526020017fa4d96624000000000000000000000000000000000000000000000000000000008152506124f1565b6123767fdeba1e292f8ba88238e10ab3c7f88bd4be4fac56cad5194b6ecceaf653468af1856124f1565b6123a07f2f0a68ab07768e01943a599e73362a0e17a63a72e94dd2e384d2c1d4db932756846124f1565b6040805160208101839052610f70917fe0261fa95db2eb3b5439bd033cda66d56b96f92f243a8228fd87550ed7bdfdb391016040516020818303038152906040526124f1565b7f2145e1d6d074577dc71ef54c3807742b41b053a9352ae6b491331509acb9750f820161243f576040517f85c169bd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fd0f59754f88971fe6bc5a6618cc9d5f1e859c58d16b22d1c7b2d3e2b246cd8aa8201612498576040517f76755b3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1fd9e056a24d14c4abc642fcc325992a946906d0dbc57dd70278aaf12842024d82016124f1576040517f4ef6d7fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815260016020526040902061250982826131e9565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b28260405161253a91906126a6565b60405180910390a25050565b600082600001828154811061255d5761255d612fe9565b9060005260206000200154905092915050565b600054610100900460ff166112175760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016101d3565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b60006020828403121561261c57600080fd5b81356001600160e01b03198116811461071857600080fd5b6000806040838503121561264757600080fd5b50508035926020909101359150565b60005b83811015612671578181015183820152602001612659565b50506000910152565b60008151808452612692816020860160208601612656565b601f01601f19169290920160200192915050565b602081526000610718602083018461267a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156126f8576126f86126b9565b604052919050565b600067ffffffffffffffff82111561271a5761271a6126b9565b5060051b60200190565b600082601f83011261273557600080fd5b8135602061274a61274583612700565b6126cf565b82815260059290921b8401810191818101908684111561276957600080fd5b8286015b84811015612784578035835291830191830161276d565b509695505050505050565b600080604083850312156127a257600080fd5b823567ffffffffffffffff808211156127ba57600080fd5b6127c686838701612724565b935060208501359150808211156127dc57600080fd5b506127e985828601612724565b9150509250929050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561284857603f1988860301845261283685835161267a565b9450928501929085019060010161281a565b5092979650505050505050565b60006020828403121561286757600080fd5b5035919050565b80356001600160a01b038116811461288557600080fd5b919050565b6000806040838503121561289d57600080fd5b6128a68361286e565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b818110156128f55783516001600160a01b0316835292840192918401916001016128d0565b50909695505050505050565b8035801515811461288557600080fd5b600067ffffffffffffffff82111561292b5761292b6126b9565b50601f01601f191660200190565b600082601f83011261294a57600080fd5b813561295861274582612911565b81815284602083860101111561296d57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a086880312156129a257600080fd5b6129ab8661286e565b94506129b96020870161286e565b9350604086013592506129ce60608701612901565b9150608086013567ffffffffffffffff8111156129ea57600080fd5b6129f688828901612939565b9150509295509295909350565b60008060208385031215612a1657600080fd5b823567ffffffffffffffff80821115612a2e57600080fd5b818501915085601f830112612a4257600080fd5b813581811115612a5157600080fd5b8660208260051b8501011115612a6657600080fd5b60209290920196919550909350505050565b600060208284031215612a8a57600080fd5b6107188261286e565b600080600080600060a08688031215612aab57600080fd5b853567ffffffffffffffff80821115612ac357600080fd5b612acf89838a01612939565b96506020880135915080821115612ae557600080fd5b50612af288828901612939565b945050612b016040870161286e565b94979396509394606081013594506080013592915050565b600082601f830112612b2a57600080fd5b81356020612b3a61274583612700565b82815260059290921b84018101918181019086841115612b5957600080fd5b8286015b8481101561278457612b6e8161286e565b8352918301918301612b5d565b600082601f830112612b8c57600080fd5b81356020612b9c61274583612700565b82815260059290921b84018101918181019086841115612bbb57600080fd5b8286015b8481101561278457612bd081612901565b8352918301918301612bbf565b600082601f830112612bee57600080fd5b81356020612bfe61274583612700565b82815260059290921b84018101918181019086841115612c1d57600080fd5b8286015b8481101561278457803567ffffffffffffffff811115612c415760008081fd5b612c4f8986838b0101612939565b845250918301918301612c21565b600080600080600060a08688031215612c7557600080fd5b853567ffffffffffffffff80821115612c8d57600080fd5b612c9989838a01612b19565b96506020880135915080821115612caf57600080fd5b612cbb89838a01612b19565b95506040880135915080821115612cd157600080fd5b612cdd89838a01612724565b94506060880135915080821115612cf357600080fd5b612cff89838a01612b7b565b93506080880135915080821115612d1557600080fd5b506129f688828901612bdd565b60008060408385031215612d3557600080fd5b82359150602083013567ffffffffffffffff811115612d5357600080fd5b6127e985828601612939565b600080600060608486031215612d7457600080fd5b612d7d8461286e565b925060208401359150604084013567ffffffffffffffff811115612da057600080fd5b612dac86828701612939565b9150509250925092565b60008060408385031215612dc957600080fd5b823567ffffffffffffffff80821115612de157600080fd5b612ded86838701612724565b93506020850135915080821115612e0357600080fd5b506127e985828601612bdd565b6020808252825182820181905260009190848201906040850190845b818110156128f557835183529284019291840191600101612e2c565b60008060008060808587031215612e5e57600080fd5b612e678561286e565b935060208501359250612e7c60408601612901565b9150606085013567ffffffffffffffff811115612e9857600080fd5b612ea487828801612939565b91505092959194509250565b600080600060608486031215612ec557600080fd5b833567ffffffffffffffff80821115612edd57600080fd5b612ee987838801612724565b94506020860135915080821115612eff57600080fd5b612f0b87838801612724565b93506040860135915080821115612f2157600080fd5b50612dac86828701612bdd565b600080600060608486031215612f4357600080fd5b8335925060208401359150604084013567ffffffffffffffff811115612da057600080fd5b600060208284031215612f7a57600080fd5b813567ffffffffffffffff811115612f9157600080fd5b611cbd84828501612724565b8385823760609290921b6bffffffffffffffffffffffff1916919092019081526014810191909152603401919050565b60008251612fdf818460208701612656565b9190910192915050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e1984360301811261301657600080fd5b83018035915067ffffffffffffffff82111561303157600080fd5b60200191503681900382131561304657600080fd5b9250929050565b8183823760009101908152919050565b6001600160a01b0385168152836020820152821515604082015260806060820152600061308d608083018461267a565b9695505050505050565b805160208201516bffffffffffffffffffffffff1980821692919060148310156130cb5780818460140360031b1b83161693505b505050919050565b600181811c908216806130e757607f821691505b60208210810361120957634e487b7160e01b600052602260045260246000fd5b6001600160a01b03841681528215156020820152606060408201526000613131606083018461267a565b95945050505050565b60006001600160a01b038088168352808716602084015280861660408401525083606083015260a06080830152611da660a083018461267a565b634e487b7160e01b600052601160045260246000fd5b60006001820161319c5761319c613174565b5060010190565b601f821115610f3357600081815260208120601f850160051c810160208610156131ca5750805b601f850160051c820191505b81811015610b76578281556001016131d6565b815167ffffffffffffffff811115613203576132036126b9565b6132178161321184546130d3565b846131a3565b602080601f83116001811461324c57600084156132345750858301515b600019600386901b1c1916600185901b178555610b76565b600085815260208120601f198616915b8281101561327b5788860151825594840194600190910190840161325c565b50858210156132995787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8215158152604060208201526000611cbd604083018461267a565b805160208083015191908110156112095760001960209190910360031b1b16919050565b828152604060208201526000611cbd604083018461267a565b60006020828403121561331357600080fd5b815167ffffffffffffffff81111561332a57600080fd5b8201601f8101841361333b57600080fd5b805161334961274582612911565b81815285602083850101111561335e57600080fd5b613131826020830160208601612656565b818103818111156106b9576106b9613174565b634e487b7160e01b600052603160045260246000fdfea264697066735822122039ac34300f2d14c9d545a927686ae4e9eb051e0639d9eadd187b0a1a19e0a91464736f6c63430008110033",
1023
+ "deployedBytecode": "0x60806040526004361061019a5760003560e01c806374823132116100e1578063a3b261f21161008a578063d6c1407c11610064578063d6c1407c14610530578063db8c966314610550578063dedff9c614610570578063f2fde38b146105905761020e565b8063a3b261f2146104c3578063af255b61146104f0578063be9f0e6f146105105761020e565b806386a10ddd116100bb57806386a10ddd1461046c5780638da5cb5b1461048c57806397902421146104b05761020e565b806374823132146104195780637e87632c146104395780637f23690c146104595761020e565b806349a6078d116101435780636963d4381161011d5780636963d438146103c457806370a08231146103e4578063715018a6146104045761020e565b806349a6078d14610355578063511b69521461038257806354f6127f146103a45761020e565b80631d26fce6116101745780631d26fce6146102d0578063217b2270146102fd5780632a3654a4146103355761020e565b806301ffc9a71461024f57806316e023b31461028457806318160ddd146102b15761020e565b3661020e57346000036101dc5760405163e5099ee360e01b81526004016101d39060208082526004908201526000604082015260600190565b60405180910390fd5b6040517f61f4944200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000366060600482101561023957828260405163e5099ee360e01b81526004016101d39291906125db565b61024383836105b0565b80519350602001915050f35b34801561025b57600080fd5b5061026f61026a36600461260a565b6106bf565b60405190151581526020015b60405180910390f35b34801561029057600080fd5b506102a461029f366004612634565b61070c565b60405161027b91906126a6565b3480156102bd57600080fd5b506002545b60405190815260200161027b565b3480156102dc57600080fd5b506102f06102eb36600461278f565b61071f565b60405161027b91906127f3565b34801561030957600080fd5b5061031d610318366004612855565b610807565b6040516001600160a01b03909116815260200161027b565b34801561034157600080fd5b5061026f61035036600461288a565b610840565b34801561036157600080fd5b50610375610370366004612855565b61084c565b60405161027b91906128b4565b34801561038e57600080fd5b506103a261039d36600461298a565b61086e565b005b3480156103b057600080fd5b506102a46103bf366004612855565b6108cb565b3480156103d057600080fd5b506102f06103df366004612a03565b6108d6565b3480156103f057600080fd5b506102c26103ff366004612a78565b610a1f565b34801561041057600080fd5b506103a2610a40565b34801561042557600080fd5b506103a2610434366004612a93565b610a54565b34801561044557600080fd5b506103a2610454366004612c5d565b610b7e565b6103a2610467366004612d22565b610c86565b34801561047857600080fd5b506103a2610487366004612d5f565b610cbb565b34801561049857600080fd5b506000546201000090046001600160a01b031661031d565b6103a26104be366004612db6565b610e46565b3480156104cf57600080fd5b506104e36104de366004612a78565b610f38565b60405161027b9190612e10565b3480156104fc57600080fd5b506103a261050b366004612e48565b610f5c565b34801561051c57600080fd5b506103a261052b366004612eb0565b610f76565b34801561053c57600080fd5b506103a261054b366004612f2e565b611054565b34801561055c57600080fd5b506103a261056b366004612e48565b611067565b34801561057c57600080fd5b506102f061058b366004612f68565b611164565b34801561059c57600080fd5b506103a26105ab366004612a78565b61120f565b606060006105c96000356001600160e01b031916611263565b5090506001600160a01b03811661061a576040517fbb370b2b0000000000000000000000000000000000000000000000000000000081526001600160e01b03196000351660048201526024016101d3565b600080826001600160a01b0316348787333460405160200161063f9493929190612f9d565b60408051601f198184030181529082905261065991612fcd565b60006040518083038185875af1925050503d8060008114610696576040519150601f19603f3d011682016040523d82523d6000602084013e61069b565b606091505b509150915081156106b05792506106b9915050565b80518060208301fd5b92915050565b60006001600160e01b031982167f3a2717060000000000000000000000000000000000000000000000000000000014806106fd57506106fd8261130d565b806106b957506106b98261134b565b60606107188383611382565b9392505050565b60608151835114610743576040516317d38eff60e11b815260040160405180910390fd5b825167ffffffffffffffff81111561075d5761075d6126b9565b60405190808252806020026020018201604052801561079057816020015b606081526020019060019003908161077b5790505b50905060005b8351811015610800576107db8482815181106107b4576107b4612fe9565b60200260200101518483815181106107ce576107ce612fe9565b6020026020010151611382565b8282815181106107ed576107ed612fe9565b6020908102919091010152600101610796565b5092915050565b6000818152600360205260408120546001600160a01b0316806106b957604051635747cd1b60e11b8152600481018490526024016101d3565b60006107188383611459565b606061085782611496565b60008281526005602052604090206106b9906114ce565b6108783384611459565b6108b7576040517f1294d2a9000000000000000000000000000000000000000000000000000000008152600481018490523360248201526044016101d3565b6108c485858585856114db565b5050505050565b60606106b9826116e3565b60608167ffffffffffffffff8111156108f1576108f16126b9565b60405190808252806020026020018201604052801561092457816020015b606081526020019060019003908161090f5790505b50905060005b82811015610800576000803086868581811061094857610948612fe9565b905060200281019061095a9190612fff565b60405161096892919061304d565b600060405180830381855af49150503d80600081146109a3576040519150601f19603f3d011682016040523d82523d6000602084013e6109a8565b606091505b5091509150816109f7578051156109c25780518082602001fd5b6040517f234eb819000000000000000000000000000000000000000000000000000000008152600481018490526024016101d3565b80848481518110610a0a57610a0a612fe9565b6020908102919091010152505060010161092a565b6001600160a01b03811660009081526004602052604081206106b990611785565b610a4861178f565b610a5260006117dc565b565b600054610100900460ff1615808015610a745750600054600160ff909116105b80610a8e5750303b158015610a8e575060005460ff166001145b610b005760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016101d3565b6000805460ff191660011790558015610b23576000805461ff0019166101001790555b610b308686868686611873565b8015610b76576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b8451845181141580610b91575083518114155b80610b9d575082518114155b80610ba9575081518114155b15610be0576040517f93a8311900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610c7d57610c75878281518110610c0057610c00612fe9565b6020026020010151878381518110610c1a57610c1a612fe9565b6020026020010151878481518110610c3457610c34612fe9565b6020026020010151878581518110610c4e57610c4e612fe9565b6020026020010151878681518110610c6857610c68612fe9565b602002602001015161086e565b600101610be3565b50505050505050565b610c8e61178f565b3415610cad5760405163f36ba73760e01b815260040160405180910390fd5b610cb782826118eb565b5050565b6000610cc683610807565b90506001600160a01b0381163314610d0957604051632d938f5160e11b81526001600160a01b0382166004820152602481018490523360448201526064016101d3565b6001600160a01b038416610d3057604051639577b8b360e01b815260040160405180910390fd5b836001600160a01b0316816001600160a01b031603610d62576040516344fed6b160e11b815260040160405180910390fd5b6000838152600560205260408120610d7a908661194e565b905080610dc5576040517fa7626b680000000000000000000000000000000000000000000000000000000081526001600160a01b0386166004820152602481018590526044016101d3565b83826001600160a01b0316866001600160a01b03167f1b1b58aa2ec0cec2228b2d37124556d41f5a1f7b12f089171f896cc23667121586604051610e0991906126a6565b60405180910390a460003385600186604051602001610e2b949392919061305d565b6040516020818303038152906040529050610b768682611963565b610e4e61178f565b3415610e6d5760405163f36ba73760e01b815260040160405180910390fd5b8051825114610ea8576040517f3bcc897900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8151600003610ee3576040517f97da5f9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8251811015610f3357610f2b838281518110610f0457610f04612fe9565b6020026020010151838381518110610f1e57610f1e612fe9565b60200260200101516118eb565b600101610ee6565b505050565b6001600160a01b03811660009081526004602052604090206060906106b9906114ce565b610f6461178f565b610f708484848461198e565b50505050565b610f7e61178f565b81518351141580610f9157508051825114155b15610faf576040516317d38eff60e11b815260040160405180910390fd5b8251600003610fea576040517f80c9830500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8351811015610f705761104c84828151811061100b5761100b612fe9565b602002602001015184838151811061102557611025612fe9565b602002602001015184848151811061103f5761103f612fe9565b6020026020010151611b0b565b600101610fed565b61105c61178f565b610f33838383611b0b565b600061107284610807565b9050336001600160a01b038216146110de576001600160a01b03851633146110de576040517f760b5acd0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0382166024820152604481018590526064016101d3565b6001600160a01b03851661110557604051639577b8b360e01b815260040160405180910390fd5b846001600160a01b0316816001600160a01b031603611137576040516344fed6b160e11b815260040160405180910390fd5b6111448582868686611b9b565b82156108c45760008185600085604051602001610e2b949392919061305d565b6060815167ffffffffffffffff811115611180576111806126b9565b6040519080825280602002602001820160405280156111b357816020015b606081526020019060019003908161119e5790505b50905060005b8251811015611209576111e48382815181106111d7576111d7612fe9565b60200260200101516116e3565b8282815181106111f6576111f6612fe9565b60209081029190910101526001016111b9565b50919050565b61121761178f565b6001600160a01b038116611257576040517f1ad8836c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611260816117dc565b50565b6000808061129b7fcee78b4094da86011096000000000000000000000000000000000000000000006001600160e01b03198616611c54565b905060006112a8826116e3565b905080516014141580156112bc5750805115155b156112f557806040517f42bfe79f0000000000000000000000000000000000000000000000000000000081526004016101d391906126a6565b6112fe81613097565b60601c95600195509350505050565b60006001600160e01b031982167fa918fa6b0000000000000000000000000000000000000000000000000000000014806106b957506106b982611cc5565b60008061135e6301ffc9a760e01b611263565b5090506001600160a01b0381166113785750600092915050565b6107188184611d13565b60606001600084846040516020016113a4929190918252602082015260400190565b60405160208183030381529060405280519060200120815260200190815260200160002080546113d3906130d3565b80601f01602080910402602001604051908101604052809291908181526020018280546113ff906130d3565b801561144c5780601f106114215761010080835404028352916020019161144c565b820191906000526020600020905b81548152906001019060200180831161142f57829003601f168201915b5050505050905092915050565b600061146482610807565b6001600160a01b0316836001600160a01b03161480610718575060008281526005602052604090206107189084611db1565b6000818152600360205260409020546001600160a01b031661126057604051635747cd1b60e11b8152600481018290526024016101d3565b6060600061071883611dd3565b60006114e684610807565b9050856001600160a01b0316816001600160a01b03161461153457604051632d938f5160e11b81526001600160a01b03808316600483015260248201869052871660448201526064016101d3565b6001600160a01b03851661155b576040516324ecef4d60e01b815260040160405180910390fd5b600061156685610807565b9050806001600160a01b0316826001600160a01b0316146115cd576040517f5a9c31d3000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b038084166024830152821660448201526064016101d3565b6115d78786611e2e565b6001600160a01b03871660009081526004602052604090206115f99086611e86565b506001600160a01b038616600090815260046020526040902061161c9086611e92565b5060008581526003602052604090819020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0389811691821790925591518792918a16907fb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf906116909033908a908a90613107565b60405180910390a4600033888888876040516020016116b395949392919061313a565b60405160208183030381529060405290506116ce8882611e9e565b6116d9878683611ec9565b5050505050505050565b6000818152600160205260409020805460609190611700906130d3565b80601f016020809104026020016040519081016040528092919081815260200182805461172c906130d3565b80156117795780601f1061174e57610100808354040283529160200191611779565b820191906000526020600020905b81548152906001019060200180831161175c57829003601f168201915b50505050509050919050565b60006106b9825490565b6000546001600160a01b0362010000909104163314610a52576040517fbf1169c50000000000000000000000000000000000000000000000000000000081523360048201526024016101d3565b6000546001600160a01b0382811662010000909204161461126057600080546040516001600160a01b03808516936201000090930416917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03831662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff90911617905550565b600054610100900460ff166118de5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016101d3565b6108c48585858585612003565b7f098a16c9e50e3e99b3e797305c146898d294e5aec55a47e213cb3611ccf17e738201611944576040517f3664800a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cb782826120bc565b6000610718836001600160a01b0384166120c6565b610cb7827f8a1c15a8799f71b547e08e2bcb2e85257e81b0a07eee2ce6712549eef1f0097083612115565b6001600160a01b0384166119b5576040516324ecef4d60e01b815260040160405180910390fd5b6000838152600360205260409020546001600160a01b0316156119ee576040516334c7b51160e01b8152600481018490526024016101d3565b6000838152600360205260409020546001600160a01b031615611a27576040516334c7b51160e01b8152600481018490526024016101d3565b600260008154611a369061318a565b909155506001600160a01b0384166000908152600460205260409020611a5c9084611e92565b50600083815260036020526040808220805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03881690811790915590518592907fb333c813a7426a7a11e2b190cad52c44119421594b47f6f32ace6d8c7207b2bf90611acb90339088908890613107565b60405180910390a46000336000868685604051602001611aef95949392919061313a565b60405160208183030381529060405290506108c4858483611ec9565b80600160008585604051602001611b2c929190918252602082015260400190565b6040516020818303038152906040528051906020012081526020019081526020016000209081611b5c91906131e9565b5081837fa6e4251f855f750545fe414f120db91c76b88def14d120969e5bb2d3f05debbb83604051611b8e91906126a6565b60405180910390a3505050565b6000838152600560205260408120611bb39087612162565b905080611bfe576040517f4aa31a8c0000000000000000000000000000000000000000000000000000000081526001600160a01b0387166004820152602481018590526044016101d3565b83856001600160a01b0316876001600160a01b03167fc78cd419d6136f9f1c1c6aec1d3fae098cffaf8bc86314a8f2685e32fe574e3c8686604051611c449291906132a9565b60405180910390a4505050505050565b604080517fffffffffffffffffffff00000000000000000000000000000000000000000000841660208201526000602a82018190526bffffffffffffffffffffffff198416602c83015291829101604051602081830303815290604052905080611cbd906132c4565b949350505050565b60006001600160e01b031982167f629aa6940000000000000000000000000000000000000000000000000000000014806106b957506301ffc9a760e01b6001600160e01b03198316146106b9565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015611d9a575060208210155b8015611da65750600081115b979650505050505050565b6001600160a01b03811660009081526001830160205260408120541515610718565b60608160000180548060200260200160405190810160405280929190818152602001828054801561177957602002820191906000526020600020905b815481526020019060010190808311611e0f5750505050509050919050565b600081815260056020526040812090611e4682611785565b90506000805b82811015610b7657611e5f846000612177565b9150611e7e828787600060405180602001604052806000815250611b9b565b600101611e4c565b60006107188383612183565b600061071883836120c6565b610cb7827fb23eae7e6d1564b295b4c3e3be402d9a2f0776c57bdf365903496f6fa481ab0083612115565b611eda83631aed5a8560e21b611d13565b15611f7457604051631aed5a8560e21b81526001600160a01b03841690636bb56a1490611f2d907f0b084a55ebf70fd3c06fd755269dac2212c4d3f0f4d09079780bfa50c1b2984d9085906004016132e8565b6000604051808303816000875af1158015611f4c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f709190810190613301565b81610f33576001600160a01b0383163b15611fc6576040517f4349776d0000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024016101d3565b6040517f031731370000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024016101d3565b600054610100900460ff1661206e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016101d3565b61207a85858585612276565b60408051602081018390526108c4917ff675e9361af1c1664c1868cfa3eb97672d6b1a513aa5b81dec34c9ee330e818d91016040516020818303038152906040525b610cb782826123e6565b600081815260018301602052604081205461210d575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556106b9565b5060006106b9565b61212f6001600160a01b038416631aed5a8560e21b611d13565b15610f3357604051631aed5a8560e21b81526001600160a01b03841690636bb56a1490611f2d90859085906004016132e8565b6000610718836001600160a01b038416612183565b60006107188383612546565b6000818152600183016020526040812054801561226c5760006121a760018361336f565b85549091506000906121bb9060019061336f565b90508181146122205760008660000182815481106121db576121db612fe9565b90600052602060002001549050808760000184815481106121fe576121fe612fe9565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061223157612231613382565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506106b9565b60009150506106b9565b600054610100900460ff166122e15760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016101d3565b6122ea82612570565b61234c7feafec4d89fa9619884b60000a4d96624a38f7ac2d8d9a604ecf07c12c77e480c60001b6040518060400160405280600481526020017fa4d96624000000000000000000000000000000000000000000000000000000008152506124f1565b6123767fdeba1e292f8ba88238e10ab3c7f88bd4be4fac56cad5194b6ecceaf653468af1856124f1565b6123a07f2f0a68ab07768e01943a599e73362a0e17a63a72e94dd2e384d2c1d4db932756846124f1565b6040805160208101839052610f70917fe0261fa95db2eb3b5439bd033cda66d56b96f92f243a8228fd87550ed7bdfdb391016040516020818303038152906040526124f1565b7f2145e1d6d074577dc71ef54c3807742b41b053a9352ae6b491331509acb9750f820161243f576040517f85c169bd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fd0f59754f88971fe6bc5a6618cc9d5f1e859c58d16b22d1c7b2d3e2b246cd8aa8201612498576040517f76755b3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f1fd9e056a24d14c4abc642fcc325992a946906d0dbc57dd70278aaf12842024d82016124f1576040517f4ef6d7fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815260016020526040902061250982826131e9565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b28260405161253a91906126a6565b60405180910390a25050565b600082600001828154811061255d5761255d612fe9565b9060005260206000200154905092915050565b600054610100900460ff166112175760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016101d3565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b60006020828403121561261c57600080fd5b81356001600160e01b03198116811461071857600080fd5b6000806040838503121561264757600080fd5b50508035926020909101359150565b60005b83811015612671578181015183820152602001612659565b50506000910152565b60008151808452612692816020860160208601612656565b601f01601f19169290920160200192915050565b602081526000610718602083018461267a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156126f8576126f86126b9565b604052919050565b600067ffffffffffffffff82111561271a5761271a6126b9565b5060051b60200190565b600082601f83011261273557600080fd5b8135602061274a61274583612700565b6126cf565b82815260059290921b8401810191818101908684111561276957600080fd5b8286015b84811015612784578035835291830191830161276d565b509695505050505050565b600080604083850312156127a257600080fd5b823567ffffffffffffffff808211156127ba57600080fd5b6127c686838701612724565b935060208501359150808211156127dc57600080fd5b506127e985828601612724565b9150509250929050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561284857603f1988860301845261283685835161267a565b9450928501929085019060010161281a565b5092979650505050505050565b60006020828403121561286757600080fd5b5035919050565b80356001600160a01b038116811461288557600080fd5b919050565b6000806040838503121561289d57600080fd5b6128a68361286e565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b818110156128f55783516001600160a01b0316835292840192918401916001016128d0565b50909695505050505050565b8035801515811461288557600080fd5b600067ffffffffffffffff82111561292b5761292b6126b9565b50601f01601f191660200190565b600082601f83011261294a57600080fd5b813561295861274582612911565b81815284602083860101111561296d57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a086880312156129a257600080fd5b6129ab8661286e565b94506129b96020870161286e565b9350604086013592506129ce60608701612901565b9150608086013567ffffffffffffffff8111156129ea57600080fd5b6129f688828901612939565b9150509295509295909350565b60008060208385031215612a1657600080fd5b823567ffffffffffffffff80821115612a2e57600080fd5b818501915085601f830112612a4257600080fd5b813581811115612a5157600080fd5b8660208260051b8501011115612a6657600080fd5b60209290920196919550909350505050565b600060208284031215612a8a57600080fd5b6107188261286e565b600080600080600060a08688031215612aab57600080fd5b853567ffffffffffffffff80821115612ac357600080fd5b612acf89838a01612939565b96506020880135915080821115612ae557600080fd5b50612af288828901612939565b945050612b016040870161286e565b94979396509394606081013594506080013592915050565b600082601f830112612b2a57600080fd5b81356020612b3a61274583612700565b82815260059290921b84018101918181019086841115612b5957600080fd5b8286015b8481101561278457612b6e8161286e565b8352918301918301612b5d565b600082601f830112612b8c57600080fd5b81356020612b9c61274583612700565b82815260059290921b84018101918181019086841115612bbb57600080fd5b8286015b8481101561278457612bd081612901565b8352918301918301612bbf565b600082601f830112612bee57600080fd5b81356020612bfe61274583612700565b82815260059290921b84018101918181019086841115612c1d57600080fd5b8286015b8481101561278457803567ffffffffffffffff811115612c415760008081fd5b612c4f8986838b0101612939565b845250918301918301612c21565b600080600080600060a08688031215612c7557600080fd5b853567ffffffffffffffff80821115612c8d57600080fd5b612c9989838a01612b19565b96506020880135915080821115612caf57600080fd5b612cbb89838a01612b19565b95506040880135915080821115612cd157600080fd5b612cdd89838a01612724565b94506060880135915080821115612cf357600080fd5b612cff89838a01612b7b565b93506080880135915080821115612d1557600080fd5b506129f688828901612bdd565b60008060408385031215612d3557600080fd5b82359150602083013567ffffffffffffffff811115612d5357600080fd5b6127e985828601612939565b600080600060608486031215612d7457600080fd5b612d7d8461286e565b925060208401359150604084013567ffffffffffffffff811115612da057600080fd5b612dac86828701612939565b9150509250925092565b60008060408385031215612dc957600080fd5b823567ffffffffffffffff80821115612de157600080fd5b612ded86838701612724565b93506020850135915080821115612e0357600080fd5b506127e985828601612bdd565b6020808252825182820181905260009190848201906040850190845b818110156128f557835183529284019291840191600101612e2c565b60008060008060808587031215612e5e57600080fd5b612e678561286e565b935060208501359250612e7c60408601612901565b9150606085013567ffffffffffffffff811115612e9857600080fd5b612ea487828801612939565b91505092959194509250565b600080600060608486031215612ec557600080fd5b833567ffffffffffffffff80821115612edd57600080fd5b612ee987838801612724565b94506020860135915080821115612eff57600080fd5b612f0b87838801612724565b93506040860135915080821115612f2157600080fd5b50612dac86828701612bdd565b600080600060608486031215612f4357600080fd5b8335925060208401359150604084013567ffffffffffffffff811115612da057600080fd5b600060208284031215612f7a57600080fd5b813567ffffffffffffffff811115612f9157600080fd5b611cbd84828501612724565b8385823760609290921b6bffffffffffffffffffffffff1916919092019081526014810191909152603401919050565b60008251612fdf818460208701612656565b9190910192915050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e1984360301811261301657600080fd5b83018035915067ffffffffffffffff82111561303157600080fd5b60200191503681900382131561304657600080fd5b9250929050565b8183823760009101908152919050565b6001600160a01b0385168152836020820152821515604082015260806060820152600061308d608083018461267a565b9695505050505050565b805160208201516bffffffffffffffffffffffff1980821692919060148310156130cb5780818460140360031b1b83161693505b505050919050565b600181811c908216806130e757607f821691505b60208210810361120957634e487b7160e01b600052602260045260246000fd5b6001600160a01b03841681528215156020820152606060408201526000613131606083018461267a565b95945050505050565b60006001600160a01b038088168352808716602084015280861660408401525083606083015260a06080830152611da660a083018461267a565b634e487b7160e01b600052601160045260246000fd5b60006001820161319c5761319c613174565b5060010190565b601f821115610f3357600081815260208120601f850160051c810160208610156131ca5750805b601f850160051c820191505b81811015610b76578281556001016131d6565b815167ffffffffffffffff811115613203576132036126b9565b6132178161321184546130d3565b846131a3565b602080601f83116001811461324c57600084156132345750858301515b600019600386901b1c1916600185901b178555610b76565b600085815260208120601f198616915b8281101561327b5788860151825594840194600190910190840161325c565b50858210156132995787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8215158152604060208201526000611cbd604083018461267a565b805160208083015191908110156112095760001960209190910360031b1b16919050565b828152604060208201526000611cbd604083018461267a565b60006020828403121561331357600080fd5b815167ffffffffffffffff81111561332a57600080fd5b8201601f8101841361333b57600080fd5b805161334961274582612911565b81815285602083850101111561335e57600080fd5b613131826020830160208601612656565b818103818111156106b9576106b9613174565b634e487b7160e01b600052603160045260246000fdfea264697066735822122039ac34300f2d14c9d545a927686ae4e9eb051e0639d9eadd187b0a1a19e0a91464736f6c63430008110033",
1024
+ "linkReferences": {},
1025
+ "deployedLinkReferences": {}
1026
+ }