@aastar/account 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,1942 +0,0 @@
1
- {
2
- "abi": [
3
- {
4
- "type": "constructor",
5
- "inputs": [
6
- {
7
- "name": "",
8
- "type": "address",
9
- "internalType": "address"
10
- },
11
- {
12
- "name": "_gtokenStaking",
13
- "type": "address",
14
- "internalType": "address"
15
- },
16
- {
17
- "name": "_mysbt",
18
- "type": "address",
19
- "internalType": "address"
20
- }
21
- ],
22
- "stateMutability": "nonpayable"
23
- },
24
- {
25
- "type": "function",
26
- "name": "GTOKEN_STAKING",
27
- "inputs": [],
28
- "outputs": [
29
- {
30
- "name": "",
31
- "type": "address",
32
- "internalType": "contract IGTokenStaking"
33
- }
34
- ],
35
- "stateMutability": "view"
36
- },
37
- {
38
- "type": "function",
39
- "name": "MYSBT",
40
- "inputs": [],
41
- "outputs": [
42
- {
43
- "name": "",
44
- "type": "address",
45
- "internalType": "contract IMySBT"
46
- }
47
- ],
48
- "stateMutability": "view"
49
- },
50
- {
51
- "type": "function",
52
- "name": "ROLE_ANODE",
53
- "inputs": [],
54
- "outputs": [
55
- {
56
- "name": "",
57
- "type": "bytes32",
58
- "internalType": "bytes32"
59
- }
60
- ],
61
- "stateMutability": "view"
62
- },
63
- {
64
- "type": "function",
65
- "name": "ROLE_COMMUNITY",
66
- "inputs": [],
67
- "outputs": [
68
- {
69
- "name": "",
70
- "type": "bytes32",
71
- "internalType": "bytes32"
72
- }
73
- ],
74
- "stateMutability": "view"
75
- },
76
- {
77
- "type": "function",
78
- "name": "ROLE_DVT",
79
- "inputs": [],
80
- "outputs": [
81
- {
82
- "name": "",
83
- "type": "bytes32",
84
- "internalType": "bytes32"
85
- }
86
- ],
87
- "stateMutability": "view"
88
- },
89
- {
90
- "type": "function",
91
- "name": "ROLE_ENDUSER",
92
- "inputs": [],
93
- "outputs": [
94
- {
95
- "name": "",
96
- "type": "bytes32",
97
- "internalType": "bytes32"
98
- }
99
- ],
100
- "stateMutability": "view"
101
- },
102
- {
103
- "type": "function",
104
- "name": "ROLE_KMS",
105
- "inputs": [],
106
- "outputs": [
107
- {
108
- "name": "",
109
- "type": "bytes32",
110
- "internalType": "bytes32"
111
- }
112
- ],
113
- "stateMutability": "view"
114
- },
115
- {
116
- "type": "function",
117
- "name": "ROLE_PAYMASTER_AOA",
118
- "inputs": [],
119
- "outputs": [
120
- {
121
- "name": "",
122
- "type": "bytes32",
123
- "internalType": "bytes32"
124
- }
125
- ],
126
- "stateMutability": "view"
127
- },
128
- {
129
- "type": "function",
130
- "name": "ROLE_PAYMASTER_SUPER",
131
- "inputs": [],
132
- "outputs": [
133
- {
134
- "name": "",
135
- "type": "bytes32",
136
- "internalType": "bytes32"
137
- }
138
- ],
139
- "stateMutability": "view"
140
- },
141
- {
142
- "type": "function",
143
- "name": "SUPER_PAYMASTER",
144
- "inputs": [],
145
- "outputs": [
146
- {
147
- "name": "",
148
- "type": "address",
149
- "internalType": "address"
150
- }
151
- ],
152
- "stateMutability": "view"
153
- },
154
- {
155
- "type": "function",
156
- "name": "accountToUser",
157
- "inputs": [
158
- {
159
- "name": "",
160
- "type": "address",
161
- "internalType": "address"
162
- }
163
- ],
164
- "outputs": [
165
- {
166
- "name": "",
167
- "type": "address",
168
- "internalType": "address"
169
- }
170
- ],
171
- "stateMutability": "view"
172
- },
173
- {
174
- "type": "function",
175
- "name": "addLevelThreshold",
176
- "inputs": [
177
- {
178
- "name": "threshold",
179
- "type": "uint256",
180
- "internalType": "uint256"
181
- }
182
- ],
183
- "outputs": [],
184
- "stateMutability": "nonpayable"
185
- },
186
- {
187
- "type": "function",
188
- "name": "adminConfigureRole",
189
- "inputs": [
190
- {
191
- "name": "roleId",
192
- "type": "bytes32",
193
- "internalType": "bytes32"
194
- },
195
- {
196
- "name": "minStake",
197
- "type": "uint256",
198
- "internalType": "uint256"
199
- },
200
- {
201
- "name": "entryBurn",
202
- "type": "uint256",
203
- "internalType": "uint256"
204
- },
205
- {
206
- "name": "exitFeePercent",
207
- "type": "uint256",
208
- "internalType": "uint256"
209
- },
210
- {
211
- "name": "minExitFee",
212
- "type": "uint256",
213
- "internalType": "uint256"
214
- }
215
- ],
216
- "outputs": [],
217
- "stateMutability": "nonpayable"
218
- },
219
- {
220
- "type": "function",
221
- "name": "batchUpdateGlobalReputation",
222
- "inputs": [
223
- {
224
- "name": "proposalId",
225
- "type": "uint256",
226
- "internalType": "uint256"
227
- },
228
- {
229
- "name": "users",
230
- "type": "address[]",
231
- "internalType": "address[]"
232
- },
233
- {
234
- "name": "newScores",
235
- "type": "uint256[]",
236
- "internalType": "uint256[]"
237
- },
238
- {
239
- "name": "epoch",
240
- "type": "uint256",
241
- "internalType": "uint256"
242
- },
243
- {
244
- "name": "proof",
245
- "type": "bytes",
246
- "internalType": "bytes"
247
- }
248
- ],
249
- "outputs": [],
250
- "stateMutability": "nonpayable"
251
- },
252
- {
253
- "type": "function",
254
- "name": "blsAggregator",
255
- "inputs": [],
256
- "outputs": [
257
- {
258
- "name": "",
259
- "type": "address",
260
- "internalType": "address"
261
- }
262
- ],
263
- "stateMutability": "view"
264
- },
265
- {
266
- "type": "function",
267
- "name": "blsValidator",
268
- "inputs": [],
269
- "outputs": [
270
- {
271
- "name": "",
272
- "type": "address",
273
- "internalType": "contract IBLSValidator"
274
- }
275
- ],
276
- "stateMutability": "view"
277
- },
278
- {
279
- "type": "function",
280
- "name": "calculateExitFee",
281
- "inputs": [
282
- {
283
- "name": "roleId",
284
- "type": "bytes32",
285
- "internalType": "bytes32"
286
- },
287
- {
288
- "name": "amount",
289
- "type": "uint256",
290
- "internalType": "uint256"
291
- }
292
- ],
293
- "outputs": [
294
- {
295
- "name": "",
296
- "type": "uint256",
297
- "internalType": "uint256"
298
- }
299
- ],
300
- "stateMutability": "view"
301
- },
302
- {
303
- "type": "function",
304
- "name": "communityByENS",
305
- "inputs": [
306
- {
307
- "name": "",
308
- "type": "string",
309
- "internalType": "string"
310
- }
311
- ],
312
- "outputs": [
313
- {
314
- "name": "",
315
- "type": "address",
316
- "internalType": "address"
317
- }
318
- ],
319
- "stateMutability": "view"
320
- },
321
- {
322
- "type": "function",
323
- "name": "communityByName",
324
- "inputs": [
325
- {
326
- "name": "",
327
- "type": "string",
328
- "internalType": "string"
329
- }
330
- ],
331
- "outputs": [
332
- {
333
- "name": "",
334
- "type": "address",
335
- "internalType": "address"
336
- }
337
- ],
338
- "stateMutability": "view"
339
- },
340
- {
341
- "type": "function",
342
- "name": "configureRole",
343
- "inputs": [
344
- {
345
- "name": "roleId",
346
- "type": "bytes32",
347
- "internalType": "bytes32"
348
- },
349
- {
350
- "name": "config",
351
- "type": "tuple",
352
- "internalType": "struct IRegistry.RoleConfig",
353
- "components": [
354
- {
355
- "name": "minStake",
356
- "type": "uint256",
357
- "internalType": "uint256"
358
- },
359
- {
360
- "name": "entryBurn",
361
- "type": "uint256",
362
- "internalType": "uint256"
363
- },
364
- {
365
- "name": "slashThreshold",
366
- "type": "uint32",
367
- "internalType": "uint32"
368
- },
369
- {
370
- "name": "slashBase",
371
- "type": "uint32",
372
- "internalType": "uint32"
373
- },
374
- {
375
- "name": "slashInc",
376
- "type": "uint32",
377
- "internalType": "uint32"
378
- },
379
- {
380
- "name": "slashMax",
381
- "type": "uint32",
382
- "internalType": "uint32"
383
- },
384
- {
385
- "name": "exitFeePercent",
386
- "type": "uint16",
387
- "internalType": "uint16"
388
- },
389
- {
390
- "name": "isActive",
391
- "type": "bool",
392
- "internalType": "bool"
393
- },
394
- {
395
- "name": "minExitFee",
396
- "type": "uint256",
397
- "internalType": "uint256"
398
- },
399
- {
400
- "name": "description",
401
- "type": "string",
402
- "internalType": "string"
403
- },
404
- {
405
- "name": "owner",
406
- "type": "address",
407
- "internalType": "address"
408
- },
409
- {
410
- "name": "roleLockDuration",
411
- "type": "uint256",
412
- "internalType": "uint256"
413
- }
414
- ]
415
- }
416
- ],
417
- "outputs": [],
418
- "stateMutability": "nonpayable"
419
- },
420
- {
421
- "type": "function",
422
- "name": "createNewRole",
423
- "inputs": [
424
- {
425
- "name": "roleId",
426
- "type": "bytes32",
427
- "internalType": "bytes32"
428
- },
429
- {
430
- "name": "config",
431
- "type": "tuple",
432
- "internalType": "struct IRegistry.RoleConfig",
433
- "components": [
434
- {
435
- "name": "minStake",
436
- "type": "uint256",
437
- "internalType": "uint256"
438
- },
439
- {
440
- "name": "entryBurn",
441
- "type": "uint256",
442
- "internalType": "uint256"
443
- },
444
- {
445
- "name": "slashThreshold",
446
- "type": "uint32",
447
- "internalType": "uint32"
448
- },
449
- {
450
- "name": "slashBase",
451
- "type": "uint32",
452
- "internalType": "uint32"
453
- },
454
- {
455
- "name": "slashInc",
456
- "type": "uint32",
457
- "internalType": "uint32"
458
- },
459
- {
460
- "name": "slashMax",
461
- "type": "uint32",
462
- "internalType": "uint32"
463
- },
464
- {
465
- "name": "exitFeePercent",
466
- "type": "uint16",
467
- "internalType": "uint16"
468
- },
469
- {
470
- "name": "isActive",
471
- "type": "bool",
472
- "internalType": "bool"
473
- },
474
- {
475
- "name": "minExitFee",
476
- "type": "uint256",
477
- "internalType": "uint256"
478
- },
479
- {
480
- "name": "description",
481
- "type": "string",
482
- "internalType": "string"
483
- },
484
- {
485
- "name": "owner",
486
- "type": "address",
487
- "internalType": "address"
488
- },
489
- {
490
- "name": "roleLockDuration",
491
- "type": "uint256",
492
- "internalType": "uint256"
493
- }
494
- ]
495
- },
496
- {
497
- "name": "roleOwner",
498
- "type": "address",
499
- "internalType": "address"
500
- }
501
- ],
502
- "outputs": [],
503
- "stateMutability": "nonpayable"
504
- },
505
- {
506
- "type": "function",
507
- "name": "creditTierConfig",
508
- "inputs": [
509
- {
510
- "name": "",
511
- "type": "uint256",
512
- "internalType": "uint256"
513
- }
514
- ],
515
- "outputs": [
516
- {
517
- "name": "",
518
- "type": "uint256",
519
- "internalType": "uint256"
520
- }
521
- ],
522
- "stateMutability": "view"
523
- },
524
- {
525
- "type": "function",
526
- "name": "executedProposals",
527
- "inputs": [
528
- {
529
- "name": "",
530
- "type": "uint256",
531
- "internalType": "uint256"
532
- }
533
- ],
534
- "outputs": [
535
- {
536
- "name": "",
537
- "type": "bool",
538
- "internalType": "bool"
539
- }
540
- ],
541
- "stateMutability": "view"
542
- },
543
- {
544
- "type": "function",
545
- "name": "exitRole",
546
- "inputs": [
547
- {
548
- "name": "roleId",
549
- "type": "bytes32",
550
- "internalType": "bytes32"
551
- }
552
- ],
553
- "outputs": [],
554
- "stateMutability": "nonpayable"
555
- },
556
- {
557
- "type": "function",
558
- "name": "getCreditLimit",
559
- "inputs": [
560
- {
561
- "name": "user",
562
- "type": "address",
563
- "internalType": "address"
564
- }
565
- ],
566
- "outputs": [
567
- {
568
- "name": "",
569
- "type": "uint256",
570
- "internalType": "uint256"
571
- }
572
- ],
573
- "stateMutability": "view"
574
- },
575
- {
576
- "type": "function",
577
- "name": "getRoleConfig",
578
- "inputs": [
579
- {
580
- "name": "roleId",
581
- "type": "bytes32",
582
- "internalType": "bytes32"
583
- }
584
- ],
585
- "outputs": [
586
- {
587
- "name": "",
588
- "type": "tuple",
589
- "internalType": "struct IRegistry.RoleConfig",
590
- "components": [
591
- {
592
- "name": "minStake",
593
- "type": "uint256",
594
- "internalType": "uint256"
595
- },
596
- {
597
- "name": "entryBurn",
598
- "type": "uint256",
599
- "internalType": "uint256"
600
- },
601
- {
602
- "name": "slashThreshold",
603
- "type": "uint32",
604
- "internalType": "uint32"
605
- },
606
- {
607
- "name": "slashBase",
608
- "type": "uint32",
609
- "internalType": "uint32"
610
- },
611
- {
612
- "name": "slashInc",
613
- "type": "uint32",
614
- "internalType": "uint32"
615
- },
616
- {
617
- "name": "slashMax",
618
- "type": "uint32",
619
- "internalType": "uint32"
620
- },
621
- {
622
- "name": "exitFeePercent",
623
- "type": "uint16",
624
- "internalType": "uint16"
625
- },
626
- {
627
- "name": "isActive",
628
- "type": "bool",
629
- "internalType": "bool"
630
- },
631
- {
632
- "name": "minExitFee",
633
- "type": "uint256",
634
- "internalType": "uint256"
635
- },
636
- {
637
- "name": "description",
638
- "type": "string",
639
- "internalType": "string"
640
- },
641
- {
642
- "name": "owner",
643
- "type": "address",
644
- "internalType": "address"
645
- },
646
- {
647
- "name": "roleLockDuration",
648
- "type": "uint256",
649
- "internalType": "uint256"
650
- }
651
- ]
652
- }
653
- ],
654
- "stateMutability": "view"
655
- },
656
- {
657
- "type": "function",
658
- "name": "getRoleMembers",
659
- "inputs": [
660
- {
661
- "name": "roleId",
662
- "type": "bytes32",
663
- "internalType": "bytes32"
664
- }
665
- ],
666
- "outputs": [
667
- {
668
- "name": "",
669
- "type": "address[]",
670
- "internalType": "address[]"
671
- }
672
- ],
673
- "stateMutability": "view"
674
- },
675
- {
676
- "type": "function",
677
- "name": "getRoleUserCount",
678
- "inputs": [
679
- {
680
- "name": "roleId",
681
- "type": "bytes32",
682
- "internalType": "bytes32"
683
- }
684
- ],
685
- "outputs": [
686
- {
687
- "name": "",
688
- "type": "uint256",
689
- "internalType": "uint256"
690
- }
691
- ],
692
- "stateMutability": "view"
693
- },
694
- {
695
- "type": "function",
696
- "name": "getUserRoles",
697
- "inputs": [
698
- {
699
- "name": "user",
700
- "type": "address",
701
- "internalType": "address"
702
- }
703
- ],
704
- "outputs": [
705
- {
706
- "name": "",
707
- "type": "bytes32[]",
708
- "internalType": "bytes32[]"
709
- }
710
- ],
711
- "stateMutability": "view"
712
- },
713
- {
714
- "type": "function",
715
- "name": "globalReputation",
716
- "inputs": [
717
- {
718
- "name": "",
719
- "type": "address",
720
- "internalType": "address"
721
- }
722
- ],
723
- "outputs": [
724
- {
725
- "name": "",
726
- "type": "uint256",
727
- "internalType": "uint256"
728
- }
729
- ],
730
- "stateMutability": "view"
731
- },
732
- {
733
- "type": "function",
734
- "name": "hasRole",
735
- "inputs": [
736
- {
737
- "name": "",
738
- "type": "bytes32",
739
- "internalType": "bytes32"
740
- },
741
- {
742
- "name": "",
743
- "type": "address",
744
- "internalType": "address"
745
- }
746
- ],
747
- "outputs": [
748
- {
749
- "name": "",
750
- "type": "bool",
751
- "internalType": "bool"
752
- }
753
- ],
754
- "stateMutability": "view"
755
- },
756
- {
757
- "type": "function",
758
- "name": "isReputationSource",
759
- "inputs": [
760
- {
761
- "name": "",
762
- "type": "address",
763
- "internalType": "address"
764
- }
765
- ],
766
- "outputs": [
767
- {
768
- "name": "",
769
- "type": "bool",
770
- "internalType": "bool"
771
- }
772
- ],
773
- "stateMutability": "view"
774
- },
775
- {
776
- "type": "function",
777
- "name": "lastReputationEpoch",
778
- "inputs": [
779
- {
780
- "name": "",
781
- "type": "address",
782
- "internalType": "address"
783
- }
784
- ],
785
- "outputs": [
786
- {
787
- "name": "",
788
- "type": "uint256",
789
- "internalType": "uint256"
790
- }
791
- ],
792
- "stateMutability": "view"
793
- },
794
- {
795
- "type": "function",
796
- "name": "levelThresholds",
797
- "inputs": [
798
- {
799
- "name": "",
800
- "type": "uint256",
801
- "internalType": "uint256"
802
- }
803
- ],
804
- "outputs": [
805
- {
806
- "name": "",
807
- "type": "uint256",
808
- "internalType": "uint256"
809
- }
810
- ],
811
- "stateMutability": "view"
812
- },
813
- {
814
- "type": "function",
815
- "name": "owner",
816
- "inputs": [],
817
- "outputs": [
818
- {
819
- "name": "",
820
- "type": "address",
821
- "internalType": "address"
822
- }
823
- ],
824
- "stateMutability": "view"
825
- },
826
- {
827
- "type": "function",
828
- "name": "proposedRoleNames",
829
- "inputs": [
830
- {
831
- "name": "",
832
- "type": "bytes32",
833
- "internalType": "bytes32"
834
- }
835
- ],
836
- "outputs": [
837
- {
838
- "name": "",
839
- "type": "string",
840
- "internalType": "string"
841
- }
842
- ],
843
- "stateMutability": "view"
844
- },
845
- {
846
- "type": "function",
847
- "name": "registerRole",
848
- "inputs": [
849
- {
850
- "name": "roleId",
851
- "type": "bytes32",
852
- "internalType": "bytes32"
853
- },
854
- {
855
- "name": "user",
856
- "type": "address",
857
- "internalType": "address"
858
- },
859
- {
860
- "name": "roleData",
861
- "type": "bytes",
862
- "internalType": "bytes"
863
- }
864
- ],
865
- "outputs": [],
866
- "stateMutability": "nonpayable"
867
- },
868
- {
869
- "type": "function",
870
- "name": "registerRoleSelf",
871
- "inputs": [
872
- {
873
- "name": "roleId",
874
- "type": "bytes32",
875
- "internalType": "bytes32"
876
- },
877
- {
878
- "name": "roleData",
879
- "type": "bytes",
880
- "internalType": "bytes"
881
- }
882
- ],
883
- "outputs": [
884
- {
885
- "name": "sbtTokenId",
886
- "type": "uint256",
887
- "internalType": "uint256"
888
- }
889
- ],
890
- "stateMutability": "nonpayable"
891
- },
892
- {
893
- "type": "function",
894
- "name": "renounceOwnership",
895
- "inputs": [],
896
- "outputs": [],
897
- "stateMutability": "nonpayable"
898
- },
899
- {
900
- "type": "function",
901
- "name": "roleConfigs",
902
- "inputs": [
903
- {
904
- "name": "",
905
- "type": "bytes32",
906
- "internalType": "bytes32"
907
- }
908
- ],
909
- "outputs": [
910
- {
911
- "name": "minStake",
912
- "type": "uint256",
913
- "internalType": "uint256"
914
- },
915
- {
916
- "name": "entryBurn",
917
- "type": "uint256",
918
- "internalType": "uint256"
919
- },
920
- {
921
- "name": "slashThreshold",
922
- "type": "uint32",
923
- "internalType": "uint32"
924
- },
925
- {
926
- "name": "slashBase",
927
- "type": "uint32",
928
- "internalType": "uint32"
929
- },
930
- {
931
- "name": "slashInc",
932
- "type": "uint32",
933
- "internalType": "uint32"
934
- },
935
- {
936
- "name": "slashMax",
937
- "type": "uint32",
938
- "internalType": "uint32"
939
- },
940
- {
941
- "name": "exitFeePercent",
942
- "type": "uint16",
943
- "internalType": "uint16"
944
- },
945
- {
946
- "name": "isActive",
947
- "type": "bool",
948
- "internalType": "bool"
949
- },
950
- {
951
- "name": "minExitFee",
952
- "type": "uint256",
953
- "internalType": "uint256"
954
- },
955
- {
956
- "name": "description",
957
- "type": "string",
958
- "internalType": "string"
959
- },
960
- {
961
- "name": "owner",
962
- "type": "address",
963
- "internalType": "address"
964
- },
965
- {
966
- "name": "roleLockDuration",
967
- "type": "uint256",
968
- "internalType": "uint256"
969
- }
970
- ],
971
- "stateMutability": "view"
972
- },
973
- {
974
- "type": "function",
975
- "name": "roleLockDurations",
976
- "inputs": [
977
- {
978
- "name": "",
979
- "type": "bytes32",
980
- "internalType": "bytes32"
981
- }
982
- ],
983
- "outputs": [
984
- {
985
- "name": "",
986
- "type": "uint256",
987
- "internalType": "uint256"
988
- }
989
- ],
990
- "stateMutability": "view"
991
- },
992
- {
993
- "type": "function",
994
- "name": "roleMemberIndex",
995
- "inputs": [
996
- {
997
- "name": "",
998
- "type": "bytes32",
999
- "internalType": "bytes32"
1000
- },
1001
- {
1002
- "name": "",
1003
- "type": "address",
1004
- "internalType": "address"
1005
- }
1006
- ],
1007
- "outputs": [
1008
- {
1009
- "name": "",
1010
- "type": "uint256",
1011
- "internalType": "uint256"
1012
- }
1013
- ],
1014
- "stateMutability": "view"
1015
- },
1016
- {
1017
- "type": "function",
1018
- "name": "roleMembers",
1019
- "inputs": [
1020
- {
1021
- "name": "",
1022
- "type": "bytes32",
1023
- "internalType": "bytes32"
1024
- },
1025
- {
1026
- "name": "",
1027
- "type": "uint256",
1028
- "internalType": "uint256"
1029
- }
1030
- ],
1031
- "outputs": [
1032
- {
1033
- "name": "",
1034
- "type": "address",
1035
- "internalType": "address"
1036
- }
1037
- ],
1038
- "stateMutability": "view"
1039
- },
1040
- {
1041
- "type": "function",
1042
- "name": "roleMetadata",
1043
- "inputs": [
1044
- {
1045
- "name": "",
1046
- "type": "bytes32",
1047
- "internalType": "bytes32"
1048
- },
1049
- {
1050
- "name": "",
1051
- "type": "address",
1052
- "internalType": "address"
1053
- }
1054
- ],
1055
- "outputs": [
1056
- {
1057
- "name": "",
1058
- "type": "bytes",
1059
- "internalType": "bytes"
1060
- }
1061
- ],
1062
- "stateMutability": "view"
1063
- },
1064
- {
1065
- "type": "function",
1066
- "name": "roleOwners",
1067
- "inputs": [
1068
- {
1069
- "name": "",
1070
- "type": "bytes32",
1071
- "internalType": "bytes32"
1072
- }
1073
- ],
1074
- "outputs": [
1075
- {
1076
- "name": "",
1077
- "type": "address",
1078
- "internalType": "address"
1079
- }
1080
- ],
1081
- "stateMutability": "view"
1082
- },
1083
- {
1084
- "type": "function",
1085
- "name": "roleSBTTokenIds",
1086
- "inputs": [
1087
- {
1088
- "name": "",
1089
- "type": "bytes32",
1090
- "internalType": "bytes32"
1091
- },
1092
- {
1093
- "name": "",
1094
- "type": "address",
1095
- "internalType": "address"
1096
- }
1097
- ],
1098
- "outputs": [
1099
- {
1100
- "name": "",
1101
- "type": "uint256",
1102
- "internalType": "uint256"
1103
- }
1104
- ],
1105
- "stateMutability": "view"
1106
- },
1107
- {
1108
- "type": "function",
1109
- "name": "roleStakes",
1110
- "inputs": [
1111
- {
1112
- "name": "",
1113
- "type": "bytes32",
1114
- "internalType": "bytes32"
1115
- },
1116
- {
1117
- "name": "",
1118
- "type": "address",
1119
- "internalType": "address"
1120
- }
1121
- ],
1122
- "outputs": [
1123
- {
1124
- "name": "",
1125
- "type": "uint256",
1126
- "internalType": "uint256"
1127
- }
1128
- ],
1129
- "stateMutability": "view"
1130
- },
1131
- {
1132
- "type": "function",
1133
- "name": "safeMintForRole",
1134
- "inputs": [
1135
- {
1136
- "name": "roleId",
1137
- "type": "bytes32",
1138
- "internalType": "bytes32"
1139
- },
1140
- {
1141
- "name": "user",
1142
- "type": "address",
1143
- "internalType": "address"
1144
- },
1145
- {
1146
- "name": "data",
1147
- "type": "bytes",
1148
- "internalType": "bytes"
1149
- }
1150
- ],
1151
- "outputs": [
1152
- {
1153
- "name": "tokenId",
1154
- "type": "uint256",
1155
- "internalType": "uint256"
1156
- }
1157
- ],
1158
- "stateMutability": "nonpayable"
1159
- },
1160
- {
1161
- "type": "function",
1162
- "name": "setBLSAggregator",
1163
- "inputs": [
1164
- {
1165
- "name": "_aggregator",
1166
- "type": "address",
1167
- "internalType": "address"
1168
- }
1169
- ],
1170
- "outputs": [],
1171
- "stateMutability": "nonpayable"
1172
- },
1173
- {
1174
- "type": "function",
1175
- "name": "setBLSValidator",
1176
- "inputs": [
1177
- {
1178
- "name": "_validator",
1179
- "type": "address",
1180
- "internalType": "address"
1181
- }
1182
- ],
1183
- "outputs": [],
1184
- "stateMutability": "nonpayable"
1185
- },
1186
- {
1187
- "type": "function",
1188
- "name": "setCreditTier",
1189
- "inputs": [
1190
- {
1191
- "name": "level",
1192
- "type": "uint256",
1193
- "internalType": "uint256"
1194
- },
1195
- {
1196
- "name": "limit",
1197
- "type": "uint256",
1198
- "internalType": "uint256"
1199
- }
1200
- ],
1201
- "outputs": [],
1202
- "stateMutability": "nonpayable"
1203
- },
1204
- {
1205
- "type": "function",
1206
- "name": "setLevelThreshold",
1207
- "inputs": [
1208
- {
1209
- "name": "index",
1210
- "type": "uint256",
1211
- "internalType": "uint256"
1212
- },
1213
- {
1214
- "name": "threshold",
1215
- "type": "uint256",
1216
- "internalType": "uint256"
1217
- }
1218
- ],
1219
- "outputs": [],
1220
- "stateMutability": "nonpayable"
1221
- },
1222
- {
1223
- "type": "function",
1224
- "name": "setMySBT",
1225
- "inputs": [
1226
- {
1227
- "name": "_mysbt",
1228
- "type": "address",
1229
- "internalType": "address"
1230
- }
1231
- ],
1232
- "outputs": [],
1233
- "stateMutability": "nonpayable"
1234
- },
1235
- {
1236
- "type": "function",
1237
- "name": "setReputationSource",
1238
- "inputs": [
1239
- {
1240
- "name": "source",
1241
- "type": "address",
1242
- "internalType": "address"
1243
- },
1244
- {
1245
- "name": "active",
1246
- "type": "bool",
1247
- "internalType": "bool"
1248
- }
1249
- ],
1250
- "outputs": [],
1251
- "stateMutability": "nonpayable"
1252
- },
1253
- {
1254
- "type": "function",
1255
- "name": "setRoleLockDuration",
1256
- "inputs": [
1257
- {
1258
- "name": "roleId",
1259
- "type": "bytes32",
1260
- "internalType": "bytes32"
1261
- },
1262
- {
1263
- "name": "duration",
1264
- "type": "uint256",
1265
- "internalType": "uint256"
1266
- }
1267
- ],
1268
- "outputs": [],
1269
- "stateMutability": "nonpayable"
1270
- },
1271
- {
1272
- "type": "function",
1273
- "name": "setRoleOwner",
1274
- "inputs": [
1275
- {
1276
- "name": "roleId",
1277
- "type": "bytes32",
1278
- "internalType": "bytes32"
1279
- },
1280
- {
1281
- "name": "newOwner",
1282
- "type": "address",
1283
- "internalType": "address"
1284
- }
1285
- ],
1286
- "outputs": [],
1287
- "stateMutability": "nonpayable"
1288
- },
1289
- {
1290
- "type": "function",
1291
- "name": "setStaking",
1292
- "inputs": [
1293
- {
1294
- "name": "_staking",
1295
- "type": "address",
1296
- "internalType": "address"
1297
- }
1298
- ],
1299
- "outputs": [],
1300
- "stateMutability": "nonpayable"
1301
- },
1302
- {
1303
- "type": "function",
1304
- "name": "setSuperPaymaster",
1305
- "inputs": [
1306
- {
1307
- "name": "_sp",
1308
- "type": "address",
1309
- "internalType": "address"
1310
- }
1311
- ],
1312
- "outputs": [],
1313
- "stateMutability": "nonpayable"
1314
- },
1315
- {
1316
- "type": "function",
1317
- "name": "transferOwnership",
1318
- "inputs": [
1319
- {
1320
- "name": "newOwner",
1321
- "type": "address",
1322
- "internalType": "address"
1323
- }
1324
- ],
1325
- "outputs": [],
1326
- "stateMutability": "nonpayable"
1327
- },
1328
- {
1329
- "type": "function",
1330
- "name": "updateOperatorBlacklist",
1331
- "inputs": [
1332
- {
1333
- "name": "operator",
1334
- "type": "address",
1335
- "internalType": "address"
1336
- },
1337
- {
1338
- "name": "users",
1339
- "type": "address[]",
1340
- "internalType": "address[]"
1341
- },
1342
- {
1343
- "name": "statuses",
1344
- "type": "bool[]",
1345
- "internalType": "bool[]"
1346
- },
1347
- {
1348
- "name": "proof",
1349
- "type": "bytes",
1350
- "internalType": "bytes"
1351
- }
1352
- ],
1353
- "outputs": [],
1354
- "stateMutability": "nonpayable"
1355
- },
1356
- {
1357
- "type": "function",
1358
- "name": "userRoleCount",
1359
- "inputs": [
1360
- {
1361
- "name": "",
1362
- "type": "address",
1363
- "internalType": "address"
1364
- }
1365
- ],
1366
- "outputs": [
1367
- {
1368
- "name": "",
1369
- "type": "uint256",
1370
- "internalType": "uint256"
1371
- }
1372
- ],
1373
- "stateMutability": "view"
1374
- },
1375
- {
1376
- "type": "function",
1377
- "name": "userRoles",
1378
- "inputs": [
1379
- {
1380
- "name": "",
1381
- "type": "address",
1382
- "internalType": "address"
1383
- },
1384
- {
1385
- "name": "",
1386
- "type": "uint256",
1387
- "internalType": "uint256"
1388
- }
1389
- ],
1390
- "outputs": [
1391
- {
1392
- "name": "",
1393
- "type": "bytes32",
1394
- "internalType": "bytes32"
1395
- }
1396
- ],
1397
- "stateMutability": "view"
1398
- },
1399
- {
1400
- "type": "function",
1401
- "name": "version",
1402
- "inputs": [],
1403
- "outputs": [
1404
- {
1405
- "name": "",
1406
- "type": "string",
1407
- "internalType": "string"
1408
- }
1409
- ],
1410
- "stateMutability": "pure"
1411
- },
1412
- {
1413
- "type": "event",
1414
- "name": "BLSAggregatorUpdated",
1415
- "inputs": [
1416
- {
1417
- "name": "oldAgg",
1418
- "type": "address",
1419
- "indexed": true,
1420
- "internalType": "address"
1421
- },
1422
- {
1423
- "name": "newAgg",
1424
- "type": "address",
1425
- "indexed": true,
1426
- "internalType": "address"
1427
- }
1428
- ],
1429
- "anonymous": false
1430
- },
1431
- {
1432
- "type": "event",
1433
- "name": "BLSValidatorUpdated",
1434
- "inputs": [
1435
- {
1436
- "name": "oldVal",
1437
- "type": "address",
1438
- "indexed": true,
1439
- "internalType": "address"
1440
- },
1441
- {
1442
- "name": "newVal",
1443
- "type": "address",
1444
- "indexed": true,
1445
- "internalType": "address"
1446
- }
1447
- ],
1448
- "anonymous": false
1449
- },
1450
- {
1451
- "type": "event",
1452
- "name": "BurnExecuted",
1453
- "inputs": [
1454
- {
1455
- "name": "user",
1456
- "type": "address",
1457
- "indexed": true,
1458
- "internalType": "address"
1459
- },
1460
- {
1461
- "name": "roleId",
1462
- "type": "bytes32",
1463
- "indexed": true,
1464
- "internalType": "bytes32"
1465
- },
1466
- {
1467
- "name": "amount",
1468
- "type": "uint256",
1469
- "indexed": false,
1470
- "internalType": "uint256"
1471
- },
1472
- {
1473
- "name": "reason",
1474
- "type": "string",
1475
- "indexed": false,
1476
- "internalType": "string"
1477
- }
1478
- ],
1479
- "anonymous": false
1480
- },
1481
- {
1482
- "type": "event",
1483
- "name": "CreditTierUpdated",
1484
- "inputs": [
1485
- {
1486
- "name": "level",
1487
- "type": "uint256",
1488
- "indexed": false,
1489
- "internalType": "uint256"
1490
- },
1491
- {
1492
- "name": "creditLimit",
1493
- "type": "uint256",
1494
- "indexed": false,
1495
- "internalType": "uint256"
1496
- }
1497
- ],
1498
- "anonymous": false
1499
- },
1500
- {
1501
- "type": "event",
1502
- "name": "GlobalReputationUpdated",
1503
- "inputs": [
1504
- {
1505
- "name": "user",
1506
- "type": "address",
1507
- "indexed": true,
1508
- "internalType": "address"
1509
- },
1510
- {
1511
- "name": "newScore",
1512
- "type": "uint256",
1513
- "indexed": false,
1514
- "internalType": "uint256"
1515
- },
1516
- {
1517
- "name": "epoch",
1518
- "type": "uint256",
1519
- "indexed": false,
1520
- "internalType": "uint256"
1521
- }
1522
- ],
1523
- "anonymous": false
1524
- },
1525
- {
1526
- "type": "event",
1527
- "name": "MySBTContractUpdated",
1528
- "inputs": [
1529
- {
1530
- "name": "oldMySBT",
1531
- "type": "address",
1532
- "indexed": true,
1533
- "internalType": "address"
1534
- },
1535
- {
1536
- "name": "newMySBT",
1537
- "type": "address",
1538
- "indexed": true,
1539
- "internalType": "address"
1540
- }
1541
- ],
1542
- "anonymous": false
1543
- },
1544
- {
1545
- "type": "event",
1546
- "name": "OwnershipTransferred",
1547
- "inputs": [
1548
- {
1549
- "name": "previousOwner",
1550
- "type": "address",
1551
- "indexed": true,
1552
- "internalType": "address"
1553
- },
1554
- {
1555
- "name": "newOwner",
1556
- "type": "address",
1557
- "indexed": true,
1558
- "internalType": "address"
1559
- }
1560
- ],
1561
- "anonymous": false
1562
- },
1563
- {
1564
- "type": "event",
1565
- "name": "ReputationSourceUpdated",
1566
- "inputs": [
1567
- {
1568
- "name": "source",
1569
- "type": "address",
1570
- "indexed": true,
1571
- "internalType": "address"
1572
- },
1573
- {
1574
- "name": "isActive",
1575
- "type": "bool",
1576
- "indexed": false,
1577
- "internalType": "bool"
1578
- }
1579
- ],
1580
- "anonymous": false
1581
- },
1582
- {
1583
- "type": "event",
1584
- "name": "RoleConfigured",
1585
- "inputs": [
1586
- {
1587
- "name": "roleId",
1588
- "type": "bytes32",
1589
- "indexed": true,
1590
- "internalType": "bytes32"
1591
- },
1592
- {
1593
- "name": "config",
1594
- "type": "tuple",
1595
- "indexed": false,
1596
- "internalType": "struct IRegistry.RoleConfig",
1597
- "components": [
1598
- {
1599
- "name": "minStake",
1600
- "type": "uint256",
1601
- "internalType": "uint256"
1602
- },
1603
- {
1604
- "name": "entryBurn",
1605
- "type": "uint256",
1606
- "internalType": "uint256"
1607
- },
1608
- {
1609
- "name": "slashThreshold",
1610
- "type": "uint32",
1611
- "internalType": "uint32"
1612
- },
1613
- {
1614
- "name": "slashBase",
1615
- "type": "uint32",
1616
- "internalType": "uint32"
1617
- },
1618
- {
1619
- "name": "slashInc",
1620
- "type": "uint32",
1621
- "internalType": "uint32"
1622
- },
1623
- {
1624
- "name": "slashMax",
1625
- "type": "uint32",
1626
- "internalType": "uint32"
1627
- },
1628
- {
1629
- "name": "exitFeePercent",
1630
- "type": "uint16",
1631
- "internalType": "uint16"
1632
- },
1633
- {
1634
- "name": "isActive",
1635
- "type": "bool",
1636
- "internalType": "bool"
1637
- },
1638
- {
1639
- "name": "minExitFee",
1640
- "type": "uint256",
1641
- "internalType": "uint256"
1642
- },
1643
- {
1644
- "name": "description",
1645
- "type": "string",
1646
- "internalType": "string"
1647
- },
1648
- {
1649
- "name": "owner",
1650
- "type": "address",
1651
- "internalType": "address"
1652
- },
1653
- {
1654
- "name": "roleLockDuration",
1655
- "type": "uint256",
1656
- "internalType": "uint256"
1657
- }
1658
- ]
1659
- },
1660
- {
1661
- "name": "timestamp",
1662
- "type": "uint256",
1663
- "indexed": false,
1664
- "internalType": "uint256"
1665
- }
1666
- ],
1667
- "anonymous": false
1668
- },
1669
- {
1670
- "type": "event",
1671
- "name": "RoleExited",
1672
- "inputs": [
1673
- {
1674
- "name": "roleId",
1675
- "type": "bytes32",
1676
- "indexed": true,
1677
- "internalType": "bytes32"
1678
- },
1679
- {
1680
- "name": "user",
1681
- "type": "address",
1682
- "indexed": true,
1683
- "internalType": "address"
1684
- },
1685
- {
1686
- "name": "exitFee",
1687
- "type": "uint256",
1688
- "indexed": false,
1689
- "internalType": "uint256"
1690
- },
1691
- {
1692
- "name": "timestamp",
1693
- "type": "uint256",
1694
- "indexed": false,
1695
- "internalType": "uint256"
1696
- }
1697
- ],
1698
- "anonymous": false
1699
- },
1700
- {
1701
- "type": "event",
1702
- "name": "RoleGranted",
1703
- "inputs": [
1704
- {
1705
- "name": "role",
1706
- "type": "bytes32",
1707
- "indexed": true,
1708
- "internalType": "bytes32"
1709
- },
1710
- {
1711
- "name": "account",
1712
- "type": "address",
1713
- "indexed": true,
1714
- "internalType": "address"
1715
- },
1716
- {
1717
- "name": "sender",
1718
- "type": "address",
1719
- "indexed": true,
1720
- "internalType": "address"
1721
- }
1722
- ],
1723
- "anonymous": false
1724
- },
1725
- {
1726
- "type": "event",
1727
- "name": "RoleLockDurationUpdated",
1728
- "inputs": [
1729
- {
1730
- "name": "roleId",
1731
- "type": "bytes32",
1732
- "indexed": true,
1733
- "internalType": "bytes32"
1734
- },
1735
- {
1736
- "name": "duration",
1737
- "type": "uint256",
1738
- "indexed": false,
1739
- "internalType": "uint256"
1740
- }
1741
- ],
1742
- "anonymous": false
1743
- },
1744
- {
1745
- "type": "event",
1746
- "name": "RoleRegistered",
1747
- "inputs": [
1748
- {
1749
- "name": "roleId",
1750
- "type": "bytes32",
1751
- "indexed": true,
1752
- "internalType": "bytes32"
1753
- },
1754
- {
1755
- "name": "user",
1756
- "type": "address",
1757
- "indexed": true,
1758
- "internalType": "address"
1759
- },
1760
- {
1761
- "name": "burnAmount",
1762
- "type": "uint256",
1763
- "indexed": false,
1764
- "internalType": "uint256"
1765
- },
1766
- {
1767
- "name": "timestamp",
1768
- "type": "uint256",
1769
- "indexed": false,
1770
- "internalType": "uint256"
1771
- }
1772
- ],
1773
- "anonymous": false
1774
- },
1775
- {
1776
- "type": "event",
1777
- "name": "RoleRevoked",
1778
- "inputs": [
1779
- {
1780
- "name": "role",
1781
- "type": "bytes32",
1782
- "indexed": true,
1783
- "internalType": "bytes32"
1784
- },
1785
- {
1786
- "name": "account",
1787
- "type": "address",
1788
- "indexed": true,
1789
- "internalType": "address"
1790
- },
1791
- {
1792
- "name": "sender",
1793
- "type": "address",
1794
- "indexed": true,
1795
- "internalType": "address"
1796
- }
1797
- ],
1798
- "anonymous": false
1799
- },
1800
- {
1801
- "type": "event",
1802
- "name": "StakingContractUpdated",
1803
- "inputs": [
1804
- {
1805
- "name": "oldStaking",
1806
- "type": "address",
1807
- "indexed": true,
1808
- "internalType": "address"
1809
- },
1810
- {
1811
- "name": "newStaking",
1812
- "type": "address",
1813
- "indexed": true,
1814
- "internalType": "address"
1815
- }
1816
- ],
1817
- "anonymous": false
1818
- },
1819
- {
1820
- "type": "event",
1821
- "name": "SuperPaymasterUpdated",
1822
- "inputs": [
1823
- {
1824
- "name": "oldSP",
1825
- "type": "address",
1826
- "indexed": true,
1827
- "internalType": "address"
1828
- },
1829
- {
1830
- "name": "newSP",
1831
- "type": "address",
1832
- "indexed": true,
1833
- "internalType": "address"
1834
- }
1835
- ],
1836
- "anonymous": false
1837
- },
1838
- {
1839
- "type": "error",
1840
- "name": "InsufficientStake",
1841
- "inputs": [
1842
- {
1843
- "name": "provided",
1844
- "type": "uint256",
1845
- "internalType": "uint256"
1846
- },
1847
- {
1848
- "name": "required",
1849
- "type": "uint256",
1850
- "internalType": "uint256"
1851
- }
1852
- ]
1853
- },
1854
- {
1855
- "type": "error",
1856
- "name": "InvalidParameter",
1857
- "inputs": [
1858
- {
1859
- "name": "message",
1860
- "type": "string",
1861
- "internalType": "string"
1862
- }
1863
- ]
1864
- },
1865
- {
1866
- "type": "error",
1867
- "name": "OwnableInvalidOwner",
1868
- "inputs": [
1869
- {
1870
- "name": "owner",
1871
- "type": "address",
1872
- "internalType": "address"
1873
- }
1874
- ]
1875
- },
1876
- {
1877
- "type": "error",
1878
- "name": "OwnableUnauthorizedAccount",
1879
- "inputs": [
1880
- {
1881
- "name": "account",
1882
- "type": "address",
1883
- "internalType": "address"
1884
- }
1885
- ]
1886
- },
1887
- {
1888
- "type": "error",
1889
- "name": "ReentrancyGuardReentrantCall",
1890
- "inputs": []
1891
- },
1892
- {
1893
- "type": "error",
1894
- "name": "RoleAlreadyGranted",
1895
- "inputs": [
1896
- {
1897
- "name": "roleId",
1898
- "type": "bytes32",
1899
- "internalType": "bytes32"
1900
- },
1901
- {
1902
- "name": "user",
1903
- "type": "address",
1904
- "internalType": "address"
1905
- }
1906
- ]
1907
- },
1908
- {
1909
- "type": "error",
1910
- "name": "RoleNotConfigured",
1911
- "inputs": [
1912
- {
1913
- "name": "roleId",
1914
- "type": "bytes32",
1915
- "internalType": "bytes32"
1916
- },
1917
- {
1918
- "name": "isActive",
1919
- "type": "bool",
1920
- "internalType": "bool"
1921
- }
1922
- ]
1923
- },
1924
- {
1925
- "type": "error",
1926
- "name": "RoleNotGranted",
1927
- "inputs": [
1928
- {
1929
- "name": "roleId",
1930
- "type": "bytes32",
1931
- "internalType": "bytes32"
1932
- },
1933
- {
1934
- "name": "user",
1935
- "type": "address",
1936
- "internalType": "address"
1937
- }
1938
- ]
1939
- }
1940
- ],
1941
- "bytecode": "0x608080604052346118c9575f90606081616ef8803803809161002182856119ee565b8339810103126118c95761003481611a11565b5061004d604061004660208401611a11565b9201611a11565b9033156119bf575f8054336001600160a01b0319821681178355916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a360018055600280546001600160a01b039283166001600160a01b031991821617909155600380549390921692169190911790556040805191906100db90836119ee565b600d82526c20a7a0902830bcb6b0b9ba32b960991b6020830152604051610101816119d2565b6801a055690d9db800008152602081016729a2241af62c0000815260408201600a8152606083016002815260808401916001835260a0850192600a845260c086016103e8815260e087019060018252610100880194670de0b6b3a7640000865261012089019a8b526101408901963388526101608a019862278d008a525f516020616e985f395f51905f525f52600760205260405f209a518b555160018b015563ffffffff60028b019651166fffffffff0000000000000000000000006bffffffff000000000000000067ffffffff000000008954955160201b16975160401b16925160601b169361ffff60801b905160801b169460ff60901b9051151560901b169560ff60901b199361ffff60801b19926fffffffff000000000000000000000000199160018060601b031916171617161716171717905551600384015560048301945194855160018060401b0381116119ab578154600181811c911680156119a1575b602082101461198d57601f8111611948575b506020601f82116001146118e257819060069697985f926118d7575b50508160011b915f199060031b1c19161790555b516005840180546001600160a01b0319166001600160a01b039283161790559051919092015560025416801515806118cd575b611869575b50604051906102f06040836119ee565b600e82526d29bab832b92830bcb6b0b9ba32b960911b6020830152604051610317816119d2565b6802b5e3af16b1880000815260208101674563918244f40000815260408201600a8152606083016002815260808401916001835260a0850192600a845260c086016103e8815260e087019060018252610100880194671bc16d674ec80000865261012089019a8b526101408901963388526101608a019862278d008a525f516020616e785f395f51905f528c52600760205260408c209a518b555160018b015563ffffffff60028b019651166fffffffff0000000000000000000000006bffffffff000000000000000067ffffffff000000008954955160201b16975160401b16925160601b169361ffff60801b905160801b169460ff60901b9051151560901b169560ff60901b199361ffff60801b19926fffffffff000000000000000000000000199160018060601b031916171617161716171717905551600384015560048301945194855160018060401b03811161127e578154600181811c9116801561185f575b602082101461126057601f811161181a575b506020601f82116001146117b5578190879860069798926117aa575b50508160011b915f199060031b1c19161790555b516005840180546001600160a01b0319166001600160a01b0392831617905590519190920155600254829116801515806117a0575b61173e575b5050604051906105096040836119ee565b600b82526a11d95b995c9a58c811159560aa1b602083015260405161052d816119d2565b6801a055690d9db800008152602081016729a2241af62c0000815260408201600a8152606083016002815260808401916001835260a0850192600a845260c086016103e8815260e087019060018252610100880194670de0b6b3a7640000865261012089019a8b526101408901963388526101608a019862278d008a525f516020616eb85f395f51905f528c52600760205260408c209a518b555160018b015563ffffffff60028b019651166fffffffff0000000000000000000000006bffffffff000000000000000067ffffffff000000008954955160201b16975160401b16925160601b169361ffff60801b905160801b169460ff60901b9051151560901b169560ff60901b199361ffff60801b19926fffffffff000000000000000000000000199160018060601b031916171617161716171717905551600384015560048301945194855160018060401b03811161127e578154600181811c91168015611734575b602082101461126057601f81116116ef575b506020601f821160011461168a5781908798600697989261167f575b50508160011b915f199060031b1c19161790555b516005840180546001600160a01b0319166001600160a01b039283161790559051919092015560025482911680151580611675575b611613575b50506040519061071f6040836119ee565b6005825264414e4f444560d81b602083015260405161073d816119d2565b6801158e460913d00000815260208101671bc16d674ec80000815260408201600f8152606083016001815260808401916001835260a08501926005845260c086016103e8815260e087019060018252610100880194670de0b6b3a7640000865261012089019a8b526101408901963388526101608a019862278d008a525f516020616ed85f395f51905f528c52600760205260408c209a518b555160018b015563ffffffff60028b019651166fffffffff0000000000000000000000006bffffffff000000000000000067ffffffff000000008954955160201b16975160401b16925160601b169361ffff60801b905160801b169460ff60901b9051151560901b169560ff60901b199361ffff60801b19926fffffffff000000000000000000000000199160018060601b031916171617161716171717905551600384015560048301945194855160018060401b03811161127e578154600181811c91168015611609575b602082101461126057601f81116115c4575b506020601f821160011461155f57819087986006979892611554575b50508160011b915f199060031b1c19161790555b516005840180546001600160a01b0319166001600160a01b03928316179055905191909201556002548291168015158061154a575b6114e8575b50506040519061092f6040836119ee565b60038252624b4d5360e81b602083015260405161094b816119d2565b68056bc75e2d63100000815260208101678ac7230489e8000081526040820160058152606083016005815260808401916002835260a08501926014845260c086016103e8815260e087019060018252610100880194674563918244f40000865261012089019a8b526101408901963388526101608a019862278d008a525f516020616e185f395f51905f528c52600760205260408c209a518b555160018b015563ffffffff60028b019651166fffffffff0000000000000000000000006bffffffff000000000000000067ffffffff000000008954955160201b16975160401b16925160601b169361ffff60801b905160801b169460ff60901b9051151560901b169560ff60901b199361ffff60801b19926fffffffff000000000000000000000000199160018060601b031916171617161716171717905551600384015560048301945194855160018060401b03811161127e578154600181811c911680156114de575b602082101461126057601f8111611499575b506020601f821160011461143457819087986006979892611429575b50508160011b915f199060031b1c19161790555b516005840180546001600160a01b0319166001600160a01b03928316179055905191909201556002548291168015158061141f575b6113bd575b505060405190610b3d6040836119ee565b6009825268436f6d6d756e69747960b81b6020830152604051610b5f816119d2565b6801a055690d9db800008152602081016729a2241af62c0000815260408201600a8152606083016002815260808401916001835260a0850192600a845260c086016101f4815260e087019060018252610100880194670de0b6b3a7640000865261012089019a8b526101408901963388526101608a019862278d008a525f516020616e585f395f51905f528c52600760205260408c209a518b555160018b015563ffffffff60028b019651166fffffffff0000000000000000000000006bffffffff000000000000000067ffffffff000000008954955160201b16975160401b16925160601b169361ffff60801b905160801b169460ff60901b9051151560901b169560ff60901b199361ffff60801b19926fffffffff000000000000000000000000199160018060601b031916171617161716171717905551600384015560048301945194855160018060401b03811161127e578154600181811c911680156113b3575b602082101461126057601f811161136e575b506020601f8211600114611309578190879860069798926112fe575b50508160011b915f199060031b1c19161790555b516005840180546001600160a01b0319166001600160a01b0392831617905590519190920155600254829116801515806112f4575b611292575b505060405190610d516040836119ee565b600782526622b7322ab9b2b960c91b6020830152604051610d71816119d2565b670429d069189e000081526020810166b1a2bc2ec5000081526040820183815260608301848152608084019185835260a085019286845260c086016103e8815260e08701906001825261010088019466b1a2bc2ec50000865261012089019a8b526101408901963388526101608a019862093a808a525f516020616e385f395f51905f528c52600760205260408c209a518b555160018b015563ffffffff60028b019651166fffffffff0000000000000000000000006bffffffff000000000000000067ffffffff000000008954955160201b16975160401b16925160601b169361ffff60801b905160801b169460ff60901b9051151560901b169560ff60901b199361ffff60801b19926fffffffff000000000000000000000000199160018060601b031916171617161716171717905551600384015560048301945194855160018060401b03811161127e578154600181811c91168015611274575b602082101461126057601f811161121b575b506020601f82116001146111b6578190879860069798926111ab575b50508160011b915f199060031b1c19161790555b516005840180546001600160a01b0319166001600160a01b0392831617905590519190920155600254829116801515806111a1575b61113a575b5060019052601660205280604081205560028152601660205268056bc75e2d631000006040822055600381526016602052681043561a88293000006040822055600481526016602052682086ac3510526000006040822055600581526016602052683635c9adc5dea000006040822055600681526016602052686c6b935b8bbd40000060408220556018546801000000000000000081101561112657600181018060185581101561111257600d9060188352602083200155601854680100000000000000008110156111265760018101806018558110156111125760229060188352602083200155601854680100000000000000008110156111265760018101806018558110156111125760599060188352602083200155601854680100000000000000008110156111265760018101806018558110156111125760e9906018835260208320015560185490680100000000000000008210156110fe5760018201806018558210156110ea5761026260409260188352602083200155338152601760205220600160ff198254161790556040516153f29081611a268239f35b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b81526041600452602490fd5b634e487b7160e01b82526032600452602482fd5b634e487b7160e01b82526041600452602482fd5b803b1561119e57818091606460405180948193636b26335560e11b83525f516020616e385f395f51905f5260048401526103e8602484015266b1a2bc2ec5000060448401525af115610f4b5781611190916119ee565b61119b57805f610f4b565b80fd5b50fd5b50803b1515610f46565b015190505f80610efd565b82875280872097601f198316885b8181106112035750916006979899918460019594106111eb575b505050811b019055610f11565b01515f1960f88460031b161c191690555f80806111de565b838301518b556001909a0199602093840193016111c4565b82875260208720601f830160051c81019160208410611256575b601f0160051c01905b81811061124b5750610ee1565b87815560010161123e565b9091508190611235565b634e487b7160e01b87526022600452602487fd5b90607f1690610ecf565b634e487b7160e01b86526041600452602486fd5b803b1561119e57818091606460405180948193636b26335560e11b83525f516020616e585f395f51905f5260048401526101f46024840152670de0b6b3a764000060448401525af115610d4057816112e9916119ee565b61119b57805f610d40565b50803b1515610d3b565b015190505f80610cf2565b82875280872097601f198316885b81811061135657509160069798999184600195941061133e575b505050811b019055610d06565b01515f1960f88460031b161c191690555f8080611331565b838301518b556001909a019960209384019301611317565b82875260208720601f830160051c810191602084106113a9575b601f0160051c01905b81811061139e5750610cd6565b878155600101611391565b9091508190611388565b90607f1690610cc4565b803b1561119e57818091606460405180948193636b26335560e11b83525f516020616e185f395f51905f5260048401526103e86024840152674563918244f4000060448401525af115610b2c5781611414916119ee565b61119b57805f610b2c565b50803b1515610b27565b015190505f80610ade565b82875280872097601f198316885b818110611481575091600697989991846001959410611469575b505050811b019055610af2565b01515f1960f88460031b161c191690555f808061145c565b838301518b556001909a019960209384019301611442565b82875260208720601f830160051c810191602084106114d4575b601f0160051c01905b8181106114c95750610ac2565b8781556001016114bc565b90915081906114b3565b90607f1690610ab0565b803b1561119e57818091606460405180948193636b26335560e11b83525f516020616ed85f395f51905f5260048401526103e86024840152670de0b6b3a764000060448401525af11561091e578161153f916119ee565b61119b57805f61091e565b50803b1515610919565b015190505f806108d0565b82875280872097601f198316885b8181106115ac575091600697989991846001959410611594575b505050811b0190556108e4565b01515f1960f88460031b161c191690555f8080611587565b838301518b556001909a01996020938401930161156d565b82875260208720601f830160051c810191602084106115ff575b601f0160051c01905b8181106115f457506108b4565b8781556001016115e7565b90915081906115de565b90607f16906108a2565b803b1561119e57818091606460405180948193636b26335560e11b83525f516020616eb85f395f51905f5260048401526103e86024840152670de0b6b3a764000060448401525af11561070e578161166a916119ee565b61119b57805f61070e565b50803b1515610709565b015190505f806106c0565b82875280872097601f198316885b8181106116d75750916006979899918460019594106116bf575b505050811b0190556106d4565b01515f1960f88460031b161c191690555f80806116b2565b838301518b556001909a019960209384019301611698565b82875260208720601f830160051c8101916020841061172a575b601f0160051c01905b81811061171f57506106a4565b878155600101611712565b9091508190611709565b90607f1690610692565b803b1561119e57818091606460405180948193636b26335560e11b83525f516020616e785f395f51905f5260048401526103e86024840152671bc16d674ec8000060448401525af1156104f85781611795916119ee565b61119b57805f6104f8565b50803b15156104f3565b015190505f806104aa565b82875280872097601f198316885b8181106118025750916006979899918460019594106117ea575b505050811b0190556104be565b01515f1960f88460031b161c191690555f80806117dd565b838301518b556001909a0199602093840193016117c3565b82875260208720601f830160051c81019160208410611855575b601f0160051c01905b81811061184a575061048e565b87815560010161183d565b9091508190611834565b90607f169061047c565b803b156118c9575f8091606460405180948193636b26335560e11b83525f516020616e985f395f51905f5260048401526103e86024840152670de0b6b3a764000060448401525af1156102e0576118c291505f906119ee565b5f5f6102e0565b5f80fd5b50803b15156102db565b015190505f80610294565b601f19821697835f52815f20985f5b818110611930575091600697989991846001959410611918575b505050811b0190556102a8565b01515f1960f88460031b161c191690555f808061190b565b838301518b556001909a0199602093840193016118f1565b825f5260205f20601f830160051c81019160208410611983575b601f0160051c01905b8181106119785750610278565b5f815560010161196b565b9091508190611962565b634e487b7160e01b5f52602260045260245ffd5b90607f1690610266565b634e487b7160e01b5f52604160045260245ffd5b631e4fbdf760e01b5f525f60045260245ffd5b61018081019081106001600160401b038211176119ab57604052565b601f909101601f19168101906001600160401b038211908210176119ab57604052565b51906001600160a01b03821682036118c95756fe6080806040526004361015610012575f80fd5b5f905f3560e01c90816306a36aee14613fb65750806307cf0ee914613f2d5780630ab0c75e146139435780630dbb4929146138fb57806310fdfea7146138d357806311c85b0b1461389a57806315de32ca1461384557806317e1c595146132c457806319c46e811461329b5780631a08a819146132605780631b02e44f14612cc85780631c5bf6bb14612bfe5780631cae041214612baf5780632822ffce14612b765780632c333e2514612ac857806336db9caf14612a835780633b60288a14612a54578063410087ad146129f257806343e6a160146129ca5780634b8b8a6e146129a057806354fd4d501461294e57806359dc9126146129015780635c445412146128c75780635ee05b17146126305780636229738c146125b1578063669d776214611f64578063682bb1c914611d91578063715018a614611d4a578063727b52a5146115a657806377c0d7e7146115615780637f52815514611516578063826600ce146114ed57806385513971146114355780638da5cb5b1461140e5780638ff39099146113a3578063919d1e2c1461137a57806391d1485414611330578063920983fb146112ef578063995d74ef146112845780639b1465a314611249578063a2d0020e14611221578063a3246ad314611168578063a3b2298814610dd5578063a9d5652314610d71578063aa9e8cf714610d3e578063af5eda0214610d14578063b5e936ab14610b2f578063bc95910114610ac4578063be30742f14610a9b578063bf0cb04214610a73578063bf28c98a14610a34578063c8ee23ef146109ef578063cb31e2f1146108cc578063cd5d1e7414610861578063ce830e7b146105cb578063d12b93ff146105a2578063e350d77b14610578578063e74c7bd71461053f578063e79e9739146104d4578063e7b8913814610472578063e9ebf83114610437578063f2fde38b146103c45763f538e1dc146102d3575f80fd5b346103c15760203660031901126103c1576040906004358152600760205220805460018201549160028101546103b06003830154604051906103238261031c81600489016141d9565b03836142c0565b60ff600660018060a01b03600588015416960154946040519889988952602089015263ffffffff8116604089015263ffffffff8160201c16606089015263ffffffff8160401c16608089015263ffffffff8160601c1660a089015261ffff8160801c1660c089015260901c16151560e08701526101008601526101806101208601526101808501906142e3565b916101408401526101608301520390f35b80fd5b50346103c15760203660031901126103c1576103de614067565b6103e661495e565b6001600160a01b031680156104235781546001600160a01b03198116821783556001600160a01b03165f51602061531d5f395f51905f528380a380f35b631e4fbdf760e01b82526004829052602482fd5b50346103c157806003193601126103c15760206040517f3b5016dc6721b132ddcb7027030b137a739df81e419695dae0899a866c1c514d8152f35b50346103c15760203660031901126103c157600435906001600160401b0382116103c15760206104a53660048501614322565b8160405191805191829101835e600f90820190815281900382019020546040516001600160a01b039091168152f35b50346103c15760203660031901126103c1576104ee614067565b6104f661495e565b600480546001600160a01b039283166001600160a01b0319821681179092559091167f1f7cd67c986d0cce4aa6f69075b5278a05438ef2a5d1abf6eeded51ba81232458380a380f35b50346103c15760203660031901126103c1576020906040906001600160a01b03610567614067565b168152601583522054604051908152f35b50346103c15760203660031901126103c15760406020916004358152601b83522054604051908152f35b50346103c157806003193601126103c1576006546040516001600160a01b039091168152602090f35b50346103c15760803660031901126103c1576105e5614067565b6024356001600160401b03811161085d57610604903690600401614171565b916044356001600160401b03811161085957610624903690600401614171565b9390926064356001600160401b038111610710576106469036906004016140bd565b919095610651614984565b338852601760205260ff6040892054161561081457610671818514614509565b6004546001600160a01b03169283156107d65781838a99879360018060a01b0360065416918b8b841515806107cd575b610714575b5050505050505050823b156107105786946106d9869260405198899788968795632fa66a7f60e11b8752600487016148fa565b03925af18015610705576106f0575b506001805580f35b816106fa916142c0565b6103c157805f6106e8565b6040513d84823e3d90fd5b8680fd5b61073060209761073e9361075b9a604051998a958c87016148fa565b03601f1981018652856142c0565b604051635c73957b60e11b815295869485938493600485016145a6565b03915afa80156107c2578890610783575b61077691506145cc565b8381835f80808b8b6106a6565b506020813d6020116107ba575b8161079d602093836142c0565b810103126107b6576107b1610776916144bb565b61076c565b8780fd5b3d9150610790565b6040513d8a823e3d90fd5b508315156106a1565b60405162461bcd60e51b815260206004820152601660248201527514dd5c195c94185e5b585cdd195c881b9bdd081cd95d60521b6044820152606490fd5b60405162461bcd60e51b815260206004820152601e60248201527f556e617574686f72697a65642052657075746174696f6e20536f7572636500006044820152606490fd5b8480fd5b8280fd5b50346103c15760203660031901126103c15761087b614067565b61088361495e565b600380546001600160a01b039283166001600160a01b0319821681179092559091167f171f7dbde35aed7cddf3ece2dad8f4eb62443a3d6bf8616586da6fd03c6b4ed98380a380f35b50346103c1576108db366140a7565b906108e461495e565b601854808210156109b45781610976575b5f19810190811161096257811061092e575b610913610929916140ea565b819391549060031b91821b915f19901b19161790565b905580f35b60018101808211610962576109299161095a61094c610913936140ea565b90549060031b1c85106148af565b915050610907565b634e487b7160e01b84526011600452602484fd5b5f1982018281116109a05761098d61099b916140ea565b90549060031b1c84116148af565b6108f5565b634e487b7160e01b85526011600452602485fd5b60405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b6044820152606490fd5b50346103c15760403660031901126103c1576040610a0b61407d565b9160043581526009602052209060018060a01b03165f52602052602060405f2054604051908152f35b50346103c15760203660031901126103c15760209060ff906040906001600160a01b03610a5f614067565b168152601784522054166040519015158152f35b50346103c157806003193601126103c15760206040515f51602061535d5f395f51905f528152f35b50346103c157806003193601126103c1576005546040516001600160a01b039091168152602090f35b50346103c15760203660031901126103c157610ade614067565b610ae661495e565b600580546001600160a01b039283166001600160a01b0319821681179092559091167f019f532f6e08ee8944dc2e7ac40f3c97ad4a20618aee847ddf7c502821c7dad48380a380f35b50346103c15760203660031901126103c15780604051610b4e8161425a565b8181528160208201528160408201528160608201528160808201528160a08201528160c08201528160e0820152816101008201526101208101606090528161014082015261016001526004358152600760205260409020604051610bb18161425a565b81548152600182015491602082019283526002810154604083019063ffffffff8116825260608401908060201c63ffffffff16825260808501908060401c63ffffffff16825260a086018160601c63ffffffff16815260c08701908260801c61ffff16825260e088019260901c60ff1615158352600387015493610100890194855260405195868060048b0190610c47916141d9565b03610c5290886142c0565b6101208a01968752600160a01b6001900360058a015416986101408b01998a5260060154976101608b019889526040519b8c9b60208d525160208d01525160408c01525163ffffffff1660608b01525163ffffffff1660808a01525163ffffffff1660a08901525163ffffffff1660c08801525161ffff1660e08701525115156101008601525161012085015251610140840161018090526101a08401610cf8916142e3565b91516001600160a01b0316610160840152516101808301520390f35b50346103c15760203660031901126103c15760406020916004358152601683522054604051908152f35b50346103c15760203660031901126103c1576020906004358152601a8252604060018060a01b0391205416604051908152f35b50346103c15760403660031901126103c157610d8b61407d565b610d9361495e565b610da76001600160a01b0382161515614873565b6004358252601a6020526040822080546001600160a01b0319166001600160a01b0390921691909117905580f35b50346103c15760603660031901126103c157602435906004356001600160401b038311611164578260040183360393610180600319860112611099576044356001600160a01b038116919082900361085957610e2f61495e565b838552601a60205260408520546001600160a01b031661112957610e54821515614873565b838552600760205260408520918335835560248201356001840155600283019263ffffffff610e85604485016146a9565b16845463ffffffff60201b610e9c606487016146a9565b60201b1663ffffffff60401b610eb4608488016146a9565b60401b169163ffffffff60601b610ecd60a489016146a9565b60601b169363ffffffff60601b199160018060601b0319161716171717845560c4830193610f03610efd8661465f565b826146ba565b60e484013580151580910361112557815460ff60901b191660909190911b60ff60901b1617905561010483013560038201819055600482019890939061012482013590602219018112156111255781019860048a01356001600160401b0381116111215780360360248c011361112157610f8781610f8184546141a1565b846143f6565b89601f82116001146110ab5791610fb38260069593610164958e9f8f9d9e9f9261109d575b5050614445565b90555b610fc36101448201614632565b6005850180546001600160a01b03199081166001600160a01b039384161790915592909101359290930191909155878652601a60205260408620805490911690921790915560025416916110169061465f565b90823b1561109957604051636b26335560e11b81526004810187905261ffff92909216602483015260448201529082908290606490829084905af1801561070557611084575b505061107e5f5160206152bd5f395f51905f52916040519182914290836146ea565b0390a280f35b8161108e916142c0565b61085d57825f61105c565b8380fd5b016024013590505f80610fac565b828b5260208b2090601f1983168c5b81811061110657509261016494928d9e6001939d9e9c9d8360069997106110e9575b505050811b019055610fb6565b6024910101355f19600384901b60f8161c191690555f80806110dc565b60248f840101358455600190930192602092830192016110ba565b8980fd5b8880fd5b60405162461bcd60e51b8152602060048201526013602482015272526f6c6520616c72656164792065786973747360681b6044820152606490fd5b5080fd5b50346103c15760203660031901126103c1576004358152600a60205260408120604051908160208254918281520190819285526020852090855b81811061120257505050826111b89103836142c0565b604051928392602084019060208552518091526040840192915b8181106111e0575050500390f35b82516001600160a01b03168452859450602093840193909201916001016111d2565b82546001600160a01b03168452602090930192600192830192016111a2565b50346103c157806003193601126103c15760206040515f5160206152fd5f395f51905f528152f35b50346103c157806003193601126103c15760206040517f6fb2b25080d21c908f32ff8ff99eb1d552c210854f7de48a40406764c09c68f88152f35b50346103c15760203660031901126103c15761129e614067565b6112a661495e565b600680546001600160a01b039283166001600160a01b0319821681179092559091167f9e5ee21152afb219d78a3588775fe954c5094514af1627c6d4b203175091d3048380a380f35b50346103c15760203660031901126103c1576020906001600160a01b03611314614067565b16815260108252604060018060a01b0391205416604051908152f35b50346103c15760403660031901126103c157604061134c61407d565b9160043581526008602052209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b50346103c157806003193601126103c1576004546040516001600160a01b039091168152602090f35b50346103c15760203660031901126103c1576113bd614067565b6113c561495e565b600280546001600160a01b039283166001600160a01b0319821681179092559091167f7042586b23181180eb30b4798702d7a0233b7fc2551e89806770e8e5d9392e6a8380a380f35b50346103c157806003193601126103c157546040516001600160a01b039091168152602090f35b50346103c157611444366140a7565b818352601a60205260408320546001600160a01b0316331415806114d9575b6114a55760207f13fa7976d19366a82359594f556abe5fe2d49e404db9fc466282cdb6471c629a9183855260078252806006604087200155604051908152a280f35b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b5082546001600160a01b0316331415611463565b50346103c157806003193601126103c1576002546040516001600160a01b039091168152602090f35b50346103c157611525366140a7565b91908152600a602052604081209081548310156103c15760206115488484614116565b905460405160039290921b1c6001600160a01b03168152f35b50346103c15760403660031901126103c157604061157d61407d565b916004358152600b602052209060018060a01b03165f52602052602060405f2054604051908152f35b50346103c15760203660031901126103c1576004356115c3614984565b808252600860209081526040808420335f908152925290205460ff1615611d34578082526007602052600660408320015480611bfe575b50808252600960209081526040808420335f9081529252902054905f5160206152dd5f395f51905f52810361197b5760035483906001600160a01b0316803b15611164578180916024604051809481936316bf12d760e21b83523360048401525af1801561070557611966575b50505b80604051838152604060208201526004604082015263115e1a5d60e21b60608201527fe80f99d9789e367c229c526d3d3f84d44d3daf77ea65f7bbe8510f176ac45a2360803392a3808352600860209081526040808520335f8181529190935220805460ff191690556116dd9082614ded565b33835260136020526040832054611949575b33835260126020526040832091825492845b8481106118a5575b505090915033835260136020526040832054156117ed575b60025460405163374e4d7360e01b8152919060209083906001600160a01b0316818781611752893360048401614392565b03925af19081156117e25784916117a8575b61176e9250614646565b906040519182524260208301527f0d9361411a652b66cd4aed24a96d36c0b048899896c927d879a9d3ba2790d9c660403393a36001805580f35b90506020823d6020116117da575b816117c3602093836142c0565b810103126117d65761176e915190611764565b5f80fd5b3d91506117b6565b6040513d86823e3d90fd5b60045483906001600160a01b03168061185a575b506003546001600160a01b0316803b156111645781809160246040518094819363374e7fa360e01b83523360048401525af1801561070557611845575b5050611721565b8161184f916142c0565b61085d57825f61183e565b803b15611164578180916044604051809481936351cb857360e11b83523360048401528160248401525af180156107055715611801578161189a916142c0565b61085d57825f611801565b836118b08284614116565b90549060031b1c146118c457600101611701565b909192935f198101908111611935576109136118e36118f19285614116565b90549060031b1c9284614116565b905580548015611921575f1901906119098282614116565b8154905f199060031b1b191690555581905f80611709565b634e487b7160e01b85526031600452602485fd5b634e487b7160e01b86526011600452602486fd5b33835260136020526040832061195f8154614653565b90556116ef565b81611970916142c0565b61085d57825f611667565b5f5160206152fd5f395f51905f52810361166a57808352600d6020526040832060018060a01b0333165f526020526119bf6119c660405f20604051928380926141d9565b03826142c0565b805180611a30575b505060035483906001600160a01b0316803b156111645781809160446040518094819363d977b66b60e01b83523360048401523360248401525af1801561070557611a1b575b505061166a565b81611a25916142c0565b61085d57825f611a14565b8101906020820190602081840312611bfa576020810151906001600160401b03821161071057019160c090839003126108595760405190611a708261428a565b60208301516001600160401b03811161071057816020611a9292860101614859565b825260408301516001600160401b03811161071057816020611ab692860101614859565b6020830190815260608401519093906001600160401b0381116107b657826020611ae292840101614859565b604084015260808101516001600160401b0381116107b657826020611b0992840101614859565b606084015260a08101516001600160401b0381116107b65760c0926020611b3292840101614859565b6080840152015160a0820152805133906001600160a01b0390611b5490614366565b541614611bdc575b5080518051908115159182611bac575b5050611b79575b806119ce565b6020809151604051928184925191829101835e600f9082019081520301902080546001600160a01b03191690555f611b73565b8091925060206040519301835e600f9082019081528190036020019020546001600160a01b031633145f80611b6c565b611be69051614366565b80546001600160a01b03191690555f611b5c565b8580fd5b6002546040516318581cf760e11b815290849082906001600160a01b03168180611c2c883360048401614392565b03915afa80156117e2578490611cae575b65ffffffffffff915016908101809111611c9a574210611c5d575f6115fa565b60405162461bcd60e51b8152602060048201526015602482015274131bd8dac8191d5c985d1a5bdb881b9bdd081b595d605a1b6044820152606490fd5b634e487b7160e01b83526011600452602483fd5b503d8085833e611cbe81836142c0565b81019060a08183031261085957611cd48161480f565b50611ce16020820161480f565b5060408101519065ffffffffffff82168203611bfa576080810151906001600160401b038211610710570182601f82011215611bfa5765ffffffffffff92816020611d2e93519101614823565b50611c3d565b633a401ef360e21b825260045233602452604490fd5b50346103c157806003193601126103c157611d6361495e565b80546001600160a01b03198116825581906001600160a01b03165f51602061531d5f395f51905f528280a380f35b50346103c15760a03660031901126103c157600435606435608435611db461495e565b611dc26107d083111561466e565b82845260076020526040842060243581556001810190604435825561ffff8411611f2857856002820193611dfa61ffff8716866146ba565b600383019581875560018060a01b036002541690813b15611099576064898580946040519687958694636b26335560e11b86526004860152602485015260448401525af1801561070557611f13575b50505f5160206152bd5f395f51905f529360ff60405194859460408652845460408701525460608601525463ffffffff8116608086015263ffffffff8160201c1660a086015263ffffffff8160401c1660c086015263ffffffff8160601c1660e086015261ffff8160801c1661010086015260901c161515610120840152546101408301526101806101608301526006611eea6101c08401600484016141d9565b60058301546001600160a01b03166101808501529101546101a08301524260208301520390a280f35b81611f1d916142c0565b611bfa57855f611e49565b60405162461bcd60e51b81526020600482015260146024820152732b30b63ab29032bc31b2b2b239903ab4b73a189b60611b6044820152606490fd5b50346103c157611f733661412b565b611f809493919294614984565b6001600160a01b03851692831561257b576108008211612544578285526007602052604085209160405191611fb48361425a565b8354835260018401549360208401948552600660028201549163ffffffff8316604087015263ffffffff8360201c16606087015263ffffffff8360401c16608087015263ffffffff8360601c1660a087015261ffff8360801c1660c087015260ff60e087019360901c16151583526003810154610100870152604051612041816119bf81600486016141d9565b61012087015260058101546001600160a01b0316610140870152015461016085015251158061252c5750848752600860205260408720865f5260205260ff60405f20541692838094612515575b6124fe575f51602061533d5f395f51905f52861480156124e8575b612498575b6120b98383886149a4565b90518082106124805750836123de57858852600860205260408820875f5260205260405f20600160ff19825416179055858852600960205260408820875f526020528060405f2055858852600a6020526121168960408a206143ad565b858852600a6020526040882054868952600b60205260408920885f5260205260405f20558688526013602052604088206121508154614499565b9055868852601260205260408820805490600160401b8210156123ca579187612185610913848e966001602097018155614116565b905560018060a01b03600254168751918b8a6121b860405197889687958694635f7d2b8760e11b86528360048701614466565b03925af180156107c25761239b575b505b848752600d602090815260408089205f89815292529020976001600160401b03831161238757612203836121fd8b546141a1565b8b6143f6565b8798601f84116001146123205761222b84808b9c61226598999a9b9c91612315575b50614445565b90555b604061223c8484848b614c1d565b60018060a01b0360035416898c8451809981958294631f1f342160e11b845289600485016144e5565b03925af1801561230a57612298948a916122da575b50878a52600c60205260408a20895f5260205260405f205586614c8a565b156122c357505f51602061537d5f395f51905f526040845b8151908152426020820152a36001805580f35b60405f51602061537d5f395f51905f5291516122b0565b6122fc915060403d604011612303575b6122f481836142c0565b8101906144c8565b505f61227a565b503d6122ea565b6040513d8b823e3d90fd5b90508501355f612225565b80895260208920601f1985169a8a5b8c811061236f5750856122659798999a9b9c10612356575b5050600184811b01905561222e565b8401355f19600387901b60f8161c191690555f80612347565b9091602060018192858901358155019301910161232f565b634e487b7160e01b88526041600452602488fd5b6123bc9060203d6020116123c3575b6123b481836142c0565b810190614457565b505f6121c7565b503d6123aa565b634e487b7160e01b8a52604160045260248afd5b60018060a01b0360025416868952600960205260408920885f5260205261240960405f205483614646565b813b1561112157899060848a8360405195869485936325e5c05160e11b855260048501528d602485015260448401528d60648401525af1801561230a5790899161246b575b50869052600960205260408820875f5260205260405f20556121c9565b81612475916142c0565b6107b657875f61244e565b6322df051360e11b8952600491909152602452604487fd5b5f5160206152fd5f395f51905f528852600860205260408820875f5260205260ff60405f2054166120ae57633a401ef360e21b88525f5160206152fd5f395f51905f526004526024879052604488fd5b505f51602061535d5f395f51905f5286146120a9565b6044888888631b753c1b60e21b8352600452602452fd5b505f5160206152dd5f395f51905f5286141561208e565b63159818c760e11b8852600486905215602452604487fd5b6040516305519d6f60e51b815260206004820152600e60248201526d4461746120746f6f206c6172676560901b6044820152606490fd5b6040516305519d6f60e51b815260206004820152600d60248201526c155cd95c881c995c5d5a5c9959609a1b6044820152606490fd5b50346103c15760403660031901126103c1576125cb614067565b6024359081151580920361085d5760207f6be30291a8f228c9342613e5e66df1a1b85aa570ac1bca9219f3ac7b7f73bbf39161260561495e565b6001600160a01b0316808552601782526040808620805460ff191660ff87161790555193845292a280f35b50346103c15760403660031901126103c157602435906004356001600160401b03831161116457826004018336039361018060031986011261109957828452601a60205260408420546001600160a01b0316331415806128b3575b6114a55760c48101906126ae6107d061ffff6126a68561465f565b16111561466e565b83855260076020526040852083358155602482013560018201556002810163ffffffff6126dd604485016146a9565b16815463ffffffff60201b6126f4606487016146a9565b60201b1663ffffffff60401b61270c608488016146a9565b60401b169163ffffffff60601b61272560a489016146a9565b60601b169363ffffffff60601b199160018060601b03191617161717178155612750610efd8561465f565b60e48301358015158091036107b657815460ff60901b191660909190911b60ff60901b1617905561010482013560038201819055600482019790929061012482013590602219018112156107b65781019760048901356001600160401b0381116111255780360360248b0113611125576127ce81610f8184546141a1565b88601f821160011461283d57916127f98260069593610164958d9e8e9c9d9e9261109d575050614445565b90555b6128096101448201614632565b6005850180546001600160a01b0319166001600160a01b03928316179055910135919092015560025416916110169061465f565b828a5260208a2090601f1983168b5b81811061289857509261016494928c9d600193839d9e9c9d600699971061287b575b505050811b0190556127fc565b6024910101355f19600384901b60f8161c191690555f808061286e565b60248e8401013584556001909301926020928301920161284c565b5083546001600160a01b031633141561268b565b50346103c15760203660031901126103c157600435906018548210156103c15760206128f2836140ea565b90549060031b1c604051908152f35b50346103c15760203660031901126103c1576119bf612936604061294a936004358152601960205220604051928380926141d9565b6040519182916020835260208301906142e3565b0390f35b50346103c157806003193601126103c1575061294a6040516129716040826142c0565b600e81526d2932b3b4b9ba393c96999718171960911b60208201526040519182916020835260208301906142e3565b50346103c15760203660031901126103c15760406020916004358152600a83522054604051908152f35b50346103c157806003193601126103c15760206040515f5160206152dd5f395f51905f528152f35b50346103c15760203660031901126103c157600435906001600160401b0382116103c1576020612a253660048501614322565b8160405191805191829101835e600e90820190815281900382019020546040516001600160a01b039091168152f35b50346103c15760203660031901126103c15760ff60406020926004358152601184522054166040519015158152f35b50346103c15760403660031901126103c1576040612a9f61407d565b916004358152600c602052209060018060a01b03165f52602052602060405f2054604051908152f35b50346103c15760203660031901126103c1576001600160a01b03612aea614067565b16815260146020526040812054600190601854805b612b1a575b6020604085858152601683522054604051908152f35b5f1981018181116109a057612b2e906140ea565b90549060031b1c821015612b4b57612b4590614653565b80612aff565b8092506001915001809111612b6257816040612b04565b634e487b7160e01b82526011600452602482fd5b50346103c15760203660031901126103c1576020906040906001600160a01b03612b9e614067565b168152601383522054604051908152f35b50346103c15760403660031901126103c1576040612bcb61407d565b916004358152600d602052209060018060a01b03165f5260205261294a6119bf61293660405f20604051928380926141d9565b50346103c15760203660031901126103c157600435612c1b61495e565b60185480612c57575b600160401b811015612c435761091381600161092993016018556140ea565b634e487b7160e01b83526041600452602483fd5b5f19810181811161096257612c6b906140ea565b90549060031b1c8211612c245760405162461bcd60e51b815260206004820152602260248201527f5468726573686f6c64206d75737420626520686967686572207468616e206c616044820152611cdd60f21b6064820152608490fd5b50346103c15760a03660031901126103c1576004356024356001600160401b03811161085d57612cfc903690600401614171565b90916044356001600160401b03811161085957612d1d903690600401614171565b9093909160643591906084356001600160401b0381116107b657612d459036906004016140bd565b612d50929192614984565b338952601760205260ff60408a2054161561081457612d70868814614509565b8015613226578083016080848203126111215783356001600160401b0381116130945781612d9f918601614322565b5060208401356001600160401b0381116130945781612dbf918601614322565b506040840135906001600160401b03821161309457612ddf918501614322565b50886060840135805b6131f35750600554600391906001600160a01b031680613191575b501061314d576006546001600160a01b0316156131095781613098575b604051926020840192835289604085015289606085015260e06080850152612e4d61010085018987614547565b848103601f190160a0860152878152926001600160fb1b0388116130945784612e9e6020612ee5978d82988d60051b8092858301378c60c08401524660e0840152010301601f1981018352826142c0565b519020916040519284840152838352612eb86040846142c0565b600654604051635c73957b60e11b81529586946001600160a01b03909216938593849391600485016145a6565b03915afa801561308957879061304e575b612f0091506145cc565b855b848110612f1157866001805580f35b6001600160a01b03612f2c612f27838886614622565b614632565b16808852601560205260408820548411156130445780885260146020526040882054612f5983878a614622565b359080821115612fef576064612f6f8284614646565b11612fbb575b50905f51602061539d5f395f51905f526040600194935b838c52601460205280828d2055838c52601560205287828d20558151908152876020820152a201935b93612f02565b905060648101809111612fdb575f51602061539d5f395f51905f52612f75565b634e487b7160e01b89526011600452602489fd5b818111613012575b50905f51602061539d5f395f51905f52604060019493612f8c565b606461301e8383614646565b1115612ff757606319810191508111612fdb575f51602061539d5f395f51905f52612ff7565b5060010193612fb5565b506020813d602011613081575b81613068602093836142c0565b810103126107105761307c612f00916144bb565b612ef6565b3d915061305b565b6040513d89823e3d90fd5b8a80fd5b818952601160205260ff60408a2054166130c857818952601160205260408920805460ff19166001179055612e20565b60405162461bcd60e51b8152602060048201526019602482015278141c9bdc1bdcd85b08185b1c9958591e48195e1958dd5d1959603a1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601c60248201527b109314c815985b1a59185d1bdc881b9bdd0818dbdb999a59dd5c995960221b6044820152606490fd5b606460405162461bcd60e51b815260206004820152602060248201527f496e73756666696369656e7420636f6e73656e737573207468726573686f6c646044820152fd5b602060049160405192838092630859bc9d60e31b82525afa8c91816131bf575b5015612e035791505f612e03565b9091506020813d6020116131eb575b816131db602093836142c0565b810103126117d65751905f6131b1565b3d91506131ce565b5f19810190808211613212571690819061320c90614499565b91612de8565b634e487b7160e01b8c52601160045260248cfd5b60405162461bcd60e51b8152602060048201526012602482015271109314c8141c9bdbd9881c995c5d5a5c995960721b6044820152606490fd5b50346103c157806003193601126103c15760206040517f3aa2e9509f29532b71f822e18bcde843a8070a508d564188ec8a6adf59eff28a8152f35b50346103c157806003193601126103c1576003546040516001600160a01b039091168152602090f35b50346103c1576132d33661412b565b6132df94939194614984565b81845260076020526040842090604051956132f98761425a565b8254875260018301549260208801938452600660028201549163ffffffff831660408b015263ffffffff8360201c1660608b015263ffffffff8360401c1660808b015263ffffffff8360601c1660a08b015261ffff8360801c1660c08b015260ff60e08b019360901c161515835260038101546101008b0152604051613386816119bf81600486016141d9565b6101208b015260058101546001600160a01b03166101408b0152015461016089015251158061382d575083865260086020526040862060018060a01b0386165f5260205260ff60405f20541661380c575f5160206152fd5f395f51905f528652600860209081526040808820335f908152925290205460ff16156137cc575f51602061533d5f395f51905f52841480156137b6575b613756575b61342b8282866149a4565b965180881061373f57508386526008602090815260408088206001600160a01b0388165f818152918452828220805460ff19166001179055878a5260098452828a209082528352819020899055858852600a909152862061348d9086906143ad565b838652600a6020908152604080882054868952600b83528189206001600160a01b0389165f81815291855283822092909255878a52600d8452828a20918152925290206001600160401b03831161372b576134f2836134ec83546141a1565b836143f6565b86601f84116001146136c4578798879261351686806020958d916136b95750614445565b90555b60018060a01b03600254168651918a8961354b60405197889687958694635f7d2b8760e11b8652339360048701614466565b03925af1801561308957613686575b506001600160a01b038516808752601360205260408720805491969161357f90614499565b90553386867f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8a80a460406135e66135b98585858a614c1d565b60035483516362c00b1f60e11b81529a8b936001600160a01b0390921692849283918c89600485016144e5565b03925af19687156107c257976020988198613646575b50925f51602061537d5f395f51905f52949261362e9260408689829852600c8d5220895f528b5289865f205587614c8a565b5181519081524287820152a360018055604051908152f35b6040949198509261362e92856136775f51602061537d5f395f51905f529896823d8411612303576122f481836142c0565b509a93965050925092946135fc565b95506020863d6020116136b1575b816136a1602093836142c0565b810103126117d65786955161355a565b3d9150613694565b90508701355f612225565b8188526020882090601f198516895b8181106137135750926020928a9b92878b96106136fa575b5050600186811b019055613519565b8601355f19600389901b60f8161c191690555f806136eb565b919260206001819286890135815501940192016136d3565b634e487b7160e01b87526041600452602487fd5b6322df051360e11b87526004889052602452604486fd5b5f5160206152fd5f395f51905f52865260086020526040862060018060a01b0386165f5260205260ff60405f20541661342057633a401ef360e21b86525f5160206152fd5f395f51905f526004526001600160a01b038516602452604486fd5b505f51602061535d5f395f51905f52841461341b565b60405162461bcd60e51b815260206004820152601860248201527743616c6c6572206d75737420626520436f6d6d756e69747960401b6044820152606490fd5b631b753c1b60e21b865260048490526001600160a01b038516602452604486fd5b63159818c760e11b8752600485905215602452604486fd5b50346103c1577f7e684e0b76ed13bc9cf7e4fbac7d11873036be9c9a83f9958382721eeda460106040613877366140a7565b61387f61495e565b8185526016602052808386205582519182526020820152a180f35b50346103c15760203660031901126103c1576020906040906001600160a01b036138c2614067565b168152601483522054604051908152f35b50346103c157806003193601126103c15760206040515f51602061533d5f395f51905f528152f35b50346103c15760403660031901126103c157613915614067565b6001600160a01b03168152601260205260408120805460243592908310156103c15760206128f28484614116565b50346117d65760403660031901126117d657600435906024356001600160401b0381116117d6576139789036906004016140bd565b9290613982614984565b331561257b57610800841161254457815f52600760205260405f2090604051906139ab8261425a565b8254825260018301549260208301938452600660028201549163ffffffff8316604086015263ffffffff8360201c16606086015263ffffffff8360401c16608086015263ffffffff8360601c1660a086015261ffff8360801c1660c086015260ff60e086019360901c16151583526003810154610100860152604051613a38816119bf81600486016141d9565b61012086015260058101546001600160a01b03166101408601520154610160840152511580613f1657505f84815260086020908152604080832033845290915290205460ff16918280613eff575b613ee8575f51602061533d5f395f51905f5285148015613ed2575b613e8c575b613ab18783876149a4565b9051808210613e76575082613dc257848652600860209081526040808820335f818152918452828220805460ff19166001179055888a5260098452828a20818352845290829020849055878952600a9092528720613b0f91906143ad565b848652600a6020526040862054858752600b6020526040872060018060a01b0333165f5260205260405f2055338652601360205260408620613b518154614499565b9055338652601260205260408620805490600160401b82101561238757613bbf9287613b896109138583956001602098018155614116565b90556002548751604051635f7d2b8760e11b81529586946001600160a01b039093169385938d9385939233928360048701614466565b03925af18015613d1757613da3575b505b838552600d60209081526040808720335f908152925290206001600160401b038711613d8f57613c04876134ec83546141a1565b8587601f8111600114613d2d5780613c22928991613d225750614445565b90555b846040613c64613c378985338a614c1d565b6003548351631f1f342160e11b81529485936001600160a01b0390921692849283918c33600485016144e5565b03925af1908115613d17579160409791613ca4938891613cf9575b50868852600c60205288882060018060a01b0333165f52602052885f20553386614c8a565b15613cf35750815b8351908152426020820152815f51602061537d5f395f51905f52853393a3600180558152600c6020522060018060a01b0333165f52602052602060405f2054604051908152f35b51613cac565b613d109150893d8b11612303576122f481836142c0565b505f613c7f565b6040513d88823e3d90fd5b90508401355f612225565b50818752602087209088601f198116895b818110613d74575010613d5b575b5050600187811b019055613c25565b8301355f1960038a901b60f8161c191690555f80613d4c565b8684013585556001909401936020938401938c935001613d3e565b634e487b7160e01b86526041600452602486fd5b613dbb9060203d6020116123c3576123b481836142c0565b505f613bce565b6002545f8681526009602090815260408083203384529091529020546001600160a01b0390911690613df49083614646565b813b156117d6575f916084839260405194859384926325e5c05160e11b84523360048501528c602485015260448401523360648401525af18015613e6b57613e56575b50848652600960209081526040808820335f9081529252902055613bd0565b613e639196505f906142c0565b5f945f613e37565b6040513d5f823e3d90fd5b906322df051360e11b5f5260045260245260445ffd5b335f9081525f51602061529d5f395f51905f52602052604090205460ff16613aa657633a401ef360e21b5f525f5160206152fd5f395f51905f526004523360245260445ffd5b505f51602061535d5f395f51905f528514613aa1565b84631b753c1b60e21b5f526004523360245260445ffd5b505f5160206152dd5f395f51905f52851415613a86565b8463159818c760e11b5f526004521560245260445ffd5b346117d657613f676040613f40366140a7565b5060018060a01b03600254168251808095819463b4d81fb360e01b83523360048401614392565b03915afa8015613e6b575f90613f83575b602090604051908152f35b506040813d604011613fae575b81613f9d604093836142c0565b810103126117d65760209051613f78565b3d9150613f90565b346117d65760203660031901126117d6576001600160a01b03613fd7614067565b165f52601260205260405f20908154808252602082019081935f5260205f20905f5b818110614051575050508161400f9103826142c0565b604051918291602083019060208452518091526040830191905f5b818110614038575050500390f35b825184528594506020938401939092019160010161402a565b8254845260209093019260019283019201613ff9565b600435906001600160a01b03821682036117d657565b602435906001600160a01b03821682036117d657565b35906001600160a01b03821682036117d657565b60409060031901126117d6576004359060243590565b9181601f840112156117d6578235916001600160401b0383116117d657602083818601950101116117d657565b6018548110156141025760185f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b8054821015614102575f5260205f2001905f90565b60606003198201126117d657600435916024356001600160a01b03811681036117d65791604435906001600160401b0382116117d65761416d916004016140bd565b9091565b9181601f840112156117d6578235916001600160401b0383116117d6576020808501948460051b0101116117d657565b90600182811c921680156141cf575b60208310146141bb57565b634e487b7160e01b5f52602260045260245ffd5b91607f16916141b0565b5f92918154916141e8836141a1565b808352926001811690811561423d575060011461420457505050565b5f9081526020812093945091925b838310614223575060209250010190565b600181602092949394548385870101520191019190614212565b915050602093945060ff929192191683830152151560051b010190565b61018081019081106001600160401b0382111761427657604052565b634e487b7160e01b5f52604160045260245ffd5b60c081019081106001600160401b0382111761427657604052565b60a081019081106001600160401b0382111761427657604052565b601f909101601f19168101906001600160401b0382119082101761427657604052565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160401b03811161427657601f01601f191660200190565b81601f820112156117d65760208135910161433c82614307565b9261434a60405194856142c0565b828452828201116117d657815f92602092838601378301015290565b60208091604051928184925191829101835e8101600e81520301902090565b359081151582036117d657565b6001600160a01b039091168152602081019190915260400190565b80549190600160401b83101561427657826143d09160016143f495018155614116565b9080546001600160a01b0360039390931b83811b199091169290931690921b179055565b565b601f821161440357505050565b5f5260205f20906020601f840160051c8301931061443b575b601f0160051c01905b818110614430575050565b5f8155600101614425565b909150819061441c565b8160011b915f199060031b1c19161790565b908160209103126117d6575190565b6001600160a01b039182168152602081019290925260408201929092526060810192909252909116608082015260a00190565b5f1981146144a75760010190565b634e487b7160e01b5f52601160045260245ffd5b519081151582036117d657565b91908260409103126117d6576144e26020835193016144bb565b90565b6144e2939260609260018060a01b03168252602082015281604082015201906142e3565b1561451057565b60405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b916020908281520191905f5b8181106145605750505090565b909192602080600192838060a01b0361457888614093565b168152019401929101614553565b908060209392818452848401375f828201840152601f01601f1916010190565b916144e293916145be91604085526040850191614586565b9160208184039101526142e3565b156145d357565b60405162461bcd60e51b815260206004820152602160248201527f52656769737472793a20424c5320566572696669636174696f6e204661696c656044820152601960fa1b6064820152608490fd5b91908110156141025760051b0190565b356001600160a01b03811681036117d65790565b919082039182116144a757565b80156144a7575f190190565b3561ffff811681036117d65790565b1561467557565b60405162461bcd60e51b815260206004820152600c60248201526b08ccaca40e8dede40d0d2ced60a31b6044820152606490fd5b3563ffffffff811681036117d65790565b805461ffff60801b191660809290921b61ffff60801b16919091179055565b359063ffffffff821682036117d657565b92919060408452803560408501526020810135606085015263ffffffff614713604083016146d9565b16608085015263ffffffff61472a606083016146d9565b1660a085015263ffffffff614741608083016146d9565b1660c085015263ffffffff61475860a083016146d9565b1660e085015260c081013561ffff81168091036117d65761010085015261478160e08201614385565b1515610120850152610100810135610140850152610120810135601e19823603018112156117d6578101803591906020016001600160401b0383116117d65782360381136117d6576147e561016091602094610180848a01526101c0890191614586565b916001600160a01b036147fb6101408301614093565b1661018088015201356101a0860152930152565b51906001600160801b03821682036117d657565b92919261482f82614307565b9161483d60405193846142c0565b8294818452818301116117d6578281602093845f96015e010152565b9080601f830112156117d65781516144e292602001614823565b1561487a57565b60405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b21037bbb732b960991b6044820152606490fd5b156148b657565b60405162461bcd60e51b815260206004820152601c60248201527b5468726573686f6c6473206d75737420626520617363656e64696e6760201b6044820152606490fd5b9160209361491f9296959660018060a01b031684526060858501526060840191614547565b9060408183039101528281520191905f5b81811061493d5750505090565b90919260208060019261494f87614385565b15158152019401929101614930565b5f546001600160a01b0316330361497157565b63118cdaa760e01b5f523360045260245ffd5b600260015414614995576002600155565b633ee5aeb560e01b5f5260045ffd5b9291905f845f52600760205260405f20946006604051966149c48861425a565b805488526001810154602089015260ff600282015463ffffffff811660408b015263ffffffff8160201c1660608b015263ffffffff8160401c1660808b015263ffffffff8160601c1660a08b015261ffff8160801c1660c08b015260901c16151560e08901526003810154610100890152604051614a49816119bf81600486016141d9565b61012089015260058101546001600160a01b031661014089015201546101608701525f5160206152fd5f395f51905f528103614b2a57505090614a8b9161507f565b80515115614af45780516001600160a01b0390614aa790614366565b5416614ac15760a00151915b8215614abc5750565b519150565b6040516305519d6f60e51b815260206004820152600a6024820152692730b6b2903a30b5b2b760b11b6044820152606490fd5b6040516305519d6f60e51b815260206004820152600d60248201526c13985b59481c995c5d5a5c9959609a1b6044820152606490fd5b5f5160206152dd5f395f51905f5203614bd1575090614b4891614ef4565b5f5160206152fd5f395f51905f525f90815260086020908152828101516001600160a01b031682525f51602061529d5f395f51905f529052604090205460ff1615614b97576080015191614ab3565b6040516305519d6f60e51b8152602060048201526011602482015270496e76616c696420636f6d6d756e69747960781b6044820152606490fd5b939160208114614be3575b5050614ab3565b8192945090602091810103126117d65735915f80614bdc565b6001600160a01b0390911681526040602082018190525f9082015260600190565b9092905f5160206152dd5f395f51905f5214614c595750506144e2614c4b9160405192839160208301614bfc565b03601f1981018352826142c0565b614c4b92506144e2916001600160a01b0391602091614c789190614ef4565b01511660405192839160208301614bfc565b600454919392915f91906001600160a01b031680614d95575b505f5160206152fd5f395f51905f528103614d32575050602091614cc69161507f565b614cd08151614366565b80546001600160a01b0319166001600160a01b0385161790550151805180614cf8575b505050565b60209181839260405194859301835e600f9082019081520301902080546001600160a01b0319166001600160a01b03909216919091179055565b9091905f5160206152dd5f395f51905f5214614d4f575b50505050565b6040926001600160a01b0391614d659190614ef4565b5116815260106020522080546001600160a01b0319166001600160a01b039092169190911790555f808080614d49565b803b156117d6576040516351cb857360e11b81526001600160a01b038716600482015260016024820152905f908290604490829084905af18015613e6b5715614ca357614de59192505f906142c0565b5f905f614ca3565b805f52600b60205260405f2060018060a01b0383165f5260205260405f20548015614cf357815f52600a60205260405f20905f1981018181116144a75782545f1981019081116144a757808203614ea1575b50505080548015614e8d575f190190614e588282614116565b81549060018060a01b039060031b1b19169055555f52600b60205260405f209060018060a01b03165f526020525f6040812055565b634e487b7160e01b5f52603160045260245ffd5b6143d091614eb2614ecd9286614116565b905460039190911b1c6001600160a01b031692839186614116565b835f52600b60205260405f209060018060a01b03165f5260205260405f20555f8080614e3f565b90604051614f01816142a5565b5f81525f6020820152606060408201526060808201525f60808201525060208110158061506c575b15614fd5578101906020818303126117d6578035906001600160401b0382116117d657019060a0828203126117d65760405191614f65836142a5565b614f6e81614093565b8352614f7c60208201614093565b602084015260408101356001600160401b0381116117d65782614fa0918301614322565b604084015260608101356001600160401b0381116117d657608092614fc6918301614322565b60608401520135608082015290565b810160a0828203126117d657614fea82614093565b91614ff760208201614093565b60408201356001600160401b0381116117d65783615016918401614322565b60608301356001600160401b0381116117d657608094615037918501614322565b9160405195615045876142a5565b6001600160a01b039081168752166020860152604085015260608401520135608082015290565b50806020116117d6576020823514614f29565b9060405161508c8161428a565b606081526060602082015260606040820152606080820152606060808201525f60a082015250602081101580615289575b156151b3578101906020818303126117d6578035906001600160401b0382116117d657019060c0828203126117d657604051916150f98361428a565b80356001600160401b0381116117d65782615115918301614322565b835260208101356001600160401b0381116117d65782615136918301614322565b602084015260408101356001600160401b0381116117d6578261515a918301614322565b604084015260608101356001600160401b0381116117d6578261517e918301614322565b606084015260808101356001600160401b0381116117d65760a0926151a4918301614322565b6080840152013560a082015290565b810160c0828203126117d65781356001600160401b0381116117d657816151db918401614322565b9160208101356001600160401b0381116117d657826151fb918301614322565b60408201356001600160401b0381116117d6578361521a918401614322565b60608301356001600160401b0381116117d65784615239918501614322565b9060808401356001600160401b0381116117d65760a09561525b918601614322565b92604051966152698861428a565b87526020870152604086015260608501526080840152013560a082015290565b50806020116117d65760208235146150bd56fe2e2141118778e59f80a0cf148a1d7116c470229e7ee2d444743e9072b52a0c8d287e005099116032e1bba9482a5b0df09cc99f7e82a4482fa2810c52158d473d0c34ecc75d3bf122e0609d2576e167f53fb42429262ce8c9b33cab91ff670e3ae94d78b6d8fb99b2c21131eb4552924a60f564d8515a3cc90ef300fc9735c0748be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e02024516755f401845808190bb830b0e4523d0df0845503cab52130a794699a0ff86d13979a91272f2c54c4147e588ecbeaad32dd1e0a5332a77356847049a70e2c48d754bbf59f20e71c13710fac35aa1ea020da58dcbb366de0ef7f75c9377dbb42fde0252fd03324102c3666f457311508c4dd05f96e66e0fd26f0c28e8542a2646970667358221220a17d22bd056e9c4d76cbb1f0edc6dfb7b0e68fd39677922926bce6741392492164736f6c634300081c00336fb2b25080d21c908f32ff8ff99eb1d552c210854f7de48a40406764c09c68f80c34ecc75d3bf122e0609d2576e167f53fb42429262ce8c9b33cab91ff670e3ae94d78b6d8fb99b2c21131eb4552924a60f564d8515a3cc90ef300fc9735c0742024516755f401845808190bb830b0e4523d0df0845503cab52130a794699a0ff86d13979a91272f2c54c4147e588ecbeaad32dd1e0a5332a77356847049a70e3b5016dc6721b132ddcb7027030b137a739df81e419695dae0899a866c1c514d3aa2e9509f29532b71f822e18bcde843a8070a508d564188ec8a6adf59eff28a"
1942
- }