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