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