@layerzerolabs/lz-evm-sdk-v1 1.5.59 → 1.5.61-tron

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/deployments/arbitrum-sandbox-local/DefaultProxyAdmin.json +273 -0
  2. package/deployments/arbitrum-sandbox-local/Endpoint.json +1282 -0
  3. package/deployments/arbitrum-sandbox-local/FPValidator.json +382 -0
  4. package/deployments/arbitrum-sandbox-local/MPTValidator01.json +395 -0
  5. package/deployments/arbitrum-sandbox-local/NonceContract.json +159 -0
  6. package/deployments/arbitrum-sandbox-local/RelayerV2.json +1225 -0
  7. package/deployments/arbitrum-sandbox-local/RelayerV2_Implementation.json +1345 -0
  8. package/deployments/arbitrum-sandbox-local/RelayerV2_Proxy.json +245 -0
  9. package/deployments/arbitrum-sandbox-local/TreasuryV2.json +458 -0
  10. package/deployments/arbitrum-sandbox-local/UltraLightNodeV2.json +1816 -0
  11. package/deployments/avalanche-sandbox-local/Endpoint.json +1282 -0
  12. package/deployments/avalanche-sandbox-local/FPValidator.json +382 -0
  13. package/deployments/avalanche-sandbox-local/MPTValidator01.json +395 -0
  14. package/deployments/avalanche-sandbox-local/NonceContract.json +159 -0
  15. package/deployments/avalanche-testnet/RelayerV2.json +2 -2
  16. package/deployments/avalanche-testnet/RelayerV2_Implementation.json +13 -13
  17. package/deployments/bsc-sandbox-local/Endpoint.json +1282 -0
  18. package/deployments/bsc-sandbox-local/FPValidator.json +382 -0
  19. package/deployments/bsc-sandbox-local/MPTValidator01.json +395 -0
  20. package/deployments/bsc-sandbox-local/NonceContract.json +159 -0
  21. package/deployments/ethereum-sandbox-local/DefaultProxyAdmin.json +13 -13
  22. package/deployments/ethereum-sandbox-local/Endpoint.json +16 -16
  23. package/deployments/ethereum-sandbox-local/FPValidator.json +9 -9
  24. package/deployments/ethereum-sandbox-local/MPTValidator01.json +9 -9
  25. package/deployments/ethereum-sandbox-local/NonceContract.json +7 -7
  26. package/deployments/ethereum-sandbox-local/RelayerV2.json +64 -21
  27. package/deployments/ethereum-sandbox-local/RelayerV2_Implementation.json +106 -44
  28. package/deployments/ethereum-sandbox-local/RelayerV2_Proxy.json +19 -19
  29. package/deployments/ethereum-sandbox-local/TreasuryV2.json +17 -17
  30. package/deployments/ethereum-sandbox-local/UltraLightNode.json +1898 -0
  31. package/deployments/ethereum-sandbox-local/UltraLightNodeV2.json +38 -38
  32. package/deployments/polygon-sandbox-local/DefaultProxyAdmin.json +13 -13
  33. package/deployments/polygon-sandbox-local/Endpoint.json +16 -16
  34. package/deployments/polygon-sandbox-local/FPValidator.json +9 -9
  35. package/deployments/polygon-sandbox-local/MPTValidator01.json +9 -9
  36. package/deployments/polygon-sandbox-local/NonceContract.json +7 -7
  37. package/deployments/polygon-sandbox-local/RelayerV2.json +64 -21
  38. package/deployments/polygon-sandbox-local/RelayerV2_Implementation.json +106 -44
  39. package/deployments/polygon-sandbox-local/RelayerV2_Proxy.json +19 -19
  40. package/deployments/polygon-sandbox-local/TreasuryV2.json +17 -17
  41. package/deployments/polygon-sandbox-local/UltraLightNode.json +1898 -0
  42. package/deployments/polygon-sandbox-local/UltraLightNodeV2.json +38 -38
  43. package/deployments/shimmer-testnet/DefaultProxyAdmin.json +13 -13
  44. package/deployments/shimmer-testnet/Endpoint.json +21 -21
  45. package/deployments/shimmer-testnet/FPValidator.json +11 -11
  46. package/deployments/shimmer-testnet/MPTValidator01.json +11 -11
  47. package/deployments/shimmer-testnet/NonceContract.json +10 -10
  48. package/deployments/shimmer-testnet/RelayerV2.json +65 -22
  49. package/deployments/shimmer-testnet/RelayerV2_Implementation.json +106 -44
  50. package/deployments/shimmer-testnet/RelayerV2_Proxy.json +19 -19
  51. package/deployments/shimmer-testnet/TreasuryV2.json +22 -22
  52. package/deployments/shimmer-testnet/UltraLightNodeV2.json +44 -44
  53. package/deployments/tron-sandbox-local/Endpoint.json +960 -0
  54. package/deployments/tron-sandbox-local/FPValidator.json +329 -0
  55. package/deployments/tron-sandbox-local/MPTValidator01.json +342 -0
  56. package/deployments/tron-sandbox-local/NonceContract.json +90 -0
  57. package/deployments/tron-sandbox-local/RelayerV2.json +1196 -0
  58. package/deployments/tron-sandbox-local/RelayerV2ProxyAdmin.json +173 -0
  59. package/deployments/tron-sandbox-local/RelayerV2_Implementation.json +1051 -0
  60. package/deployments/tron-sandbox-local/RelayerV2_Proxy.json +146 -0
  61. package/deployments/tron-sandbox-local/TreasuryV2.json +333 -0
  62. package/deployments/tron-sandbox-local/UltraLightNodeV2.json +1427 -0
  63. package/dist/index.browser.cjs.map +1 -1
  64. package/dist/index.browser.d.ts +1 -1
  65. package/dist/index.browser.mjs.map +1 -1
  66. package/package.json +11 -5
@@ -0,0 +1,960 @@
1
+ {
2
+ "address": "0x68c8ff17055b8eac41c772930e67adce03779cfe",
3
+ "abi": [
4
+ {
5
+ "inputs": [
6
+ {
7
+ "internalType": "uint16",
8
+ "name": "_chainId",
9
+ "type": "uint16"
10
+ }
11
+ ],
12
+ "stateMutability": "nonpayable",
13
+ "type": "constructor"
14
+ },
15
+ {
16
+ "anonymous": false,
17
+ "inputs": [
18
+ {
19
+ "indexed": false,
20
+ "internalType": "uint16",
21
+ "name": "version",
22
+ "type": "uint16"
23
+ }
24
+ ],
25
+ "name": "DefaultReceiveVersionSet",
26
+ "type": "event"
27
+ },
28
+ {
29
+ "anonymous": false,
30
+ "inputs": [
31
+ {
32
+ "indexed": false,
33
+ "internalType": "uint16",
34
+ "name": "version",
35
+ "type": "uint16"
36
+ }
37
+ ],
38
+ "name": "DefaultSendVersionSet",
39
+ "type": "event"
40
+ },
41
+ {
42
+ "anonymous": false,
43
+ "inputs": [
44
+ {
45
+ "indexed": false,
46
+ "internalType": "uint16",
47
+ "name": "version",
48
+ "type": "uint16"
49
+ }
50
+ ],
51
+ "name": "NewLibraryVersionAdded",
52
+ "type": "event"
53
+ },
54
+ {
55
+ "anonymous": false,
56
+ "inputs": [
57
+ {
58
+ "indexed": true,
59
+ "internalType": "address",
60
+ "name": "previousOwner",
61
+ "type": "address"
62
+ },
63
+ {
64
+ "indexed": true,
65
+ "internalType": "address",
66
+ "name": "newOwner",
67
+ "type": "address"
68
+ }
69
+ ],
70
+ "name": "OwnershipTransferred",
71
+ "type": "event"
72
+ },
73
+ {
74
+ "anonymous": false,
75
+ "inputs": [
76
+ {
77
+ "indexed": false,
78
+ "internalType": "uint16",
79
+ "name": "srcChainId",
80
+ "type": "uint16"
81
+ },
82
+ {
83
+ "indexed": false,
84
+ "internalType": "bytes",
85
+ "name": "srcAddress",
86
+ "type": "bytes"
87
+ },
88
+ {
89
+ "indexed": false,
90
+ "internalType": "uint64",
91
+ "name": "nonce",
92
+ "type": "uint64"
93
+ },
94
+ {
95
+ "indexed": false,
96
+ "internalType": "address",
97
+ "name": "dstAddress",
98
+ "type": "address"
99
+ }
100
+ ],
101
+ "name": "PayloadCleared",
102
+ "type": "event"
103
+ },
104
+ {
105
+ "anonymous": false,
106
+ "inputs": [
107
+ {
108
+ "indexed": false,
109
+ "internalType": "uint16",
110
+ "name": "srcChainId",
111
+ "type": "uint16"
112
+ },
113
+ {
114
+ "indexed": false,
115
+ "internalType": "bytes",
116
+ "name": "srcAddress",
117
+ "type": "bytes"
118
+ },
119
+ {
120
+ "indexed": false,
121
+ "internalType": "address",
122
+ "name": "dstAddress",
123
+ "type": "address"
124
+ },
125
+ {
126
+ "indexed": false,
127
+ "internalType": "uint64",
128
+ "name": "nonce",
129
+ "type": "uint64"
130
+ },
131
+ {
132
+ "indexed": false,
133
+ "internalType": "bytes",
134
+ "name": "payload",
135
+ "type": "bytes"
136
+ },
137
+ {
138
+ "indexed": false,
139
+ "internalType": "bytes",
140
+ "name": "reason",
141
+ "type": "bytes"
142
+ }
143
+ ],
144
+ "name": "PayloadStored",
145
+ "type": "event"
146
+ },
147
+ {
148
+ "anonymous": false,
149
+ "inputs": [
150
+ {
151
+ "indexed": false,
152
+ "internalType": "uint16",
153
+ "name": "chainId",
154
+ "type": "uint16"
155
+ },
156
+ {
157
+ "indexed": false,
158
+ "internalType": "bytes",
159
+ "name": "srcAddress",
160
+ "type": "bytes"
161
+ }
162
+ ],
163
+ "name": "UaForceResumeReceive",
164
+ "type": "event"
165
+ },
166
+ {
167
+ "anonymous": false,
168
+ "inputs": [
169
+ {
170
+ "indexed": false,
171
+ "internalType": "address",
172
+ "name": "ua",
173
+ "type": "address"
174
+ },
175
+ {
176
+ "indexed": false,
177
+ "internalType": "uint16",
178
+ "name": "version",
179
+ "type": "uint16"
180
+ }
181
+ ],
182
+ "name": "UaReceiveVersionSet",
183
+ "type": "event"
184
+ },
185
+ {
186
+ "anonymous": false,
187
+ "inputs": [
188
+ {
189
+ "indexed": false,
190
+ "internalType": "address",
191
+ "name": "ua",
192
+ "type": "address"
193
+ },
194
+ {
195
+ "indexed": false,
196
+ "internalType": "uint16",
197
+ "name": "version",
198
+ "type": "uint16"
199
+ }
200
+ ],
201
+ "name": "UaSendVersionSet",
202
+ "type": "event"
203
+ },
204
+ {
205
+ "inputs": [],
206
+ "name": "BLOCK_VERSION",
207
+ "outputs": [
208
+ {
209
+ "internalType": "uint16",
210
+ "name": "",
211
+ "type": "uint16"
212
+ }
213
+ ],
214
+ "stateMutability": "view",
215
+ "type": "function"
216
+ },
217
+ {
218
+ "inputs": [],
219
+ "name": "DEFAULT_VERSION",
220
+ "outputs": [
221
+ {
222
+ "internalType": "uint16",
223
+ "name": "",
224
+ "type": "uint16"
225
+ }
226
+ ],
227
+ "stateMutability": "view",
228
+ "type": "function"
229
+ },
230
+ {
231
+ "inputs": [],
232
+ "name": "chainId",
233
+ "outputs": [
234
+ {
235
+ "internalType": "uint16",
236
+ "name": "",
237
+ "type": "uint16"
238
+ }
239
+ ],
240
+ "stateMutability": "view",
241
+ "type": "function"
242
+ },
243
+ {
244
+ "inputs": [],
245
+ "name": "defaultReceiveLibraryAddress",
246
+ "outputs": [
247
+ {
248
+ "internalType": "address",
249
+ "name": "",
250
+ "type": "address"
251
+ }
252
+ ],
253
+ "stateMutability": "view",
254
+ "type": "function"
255
+ },
256
+ {
257
+ "inputs": [],
258
+ "name": "defaultReceiveVersion",
259
+ "outputs": [
260
+ {
261
+ "internalType": "uint16",
262
+ "name": "",
263
+ "type": "uint16"
264
+ }
265
+ ],
266
+ "stateMutability": "view",
267
+ "type": "function"
268
+ },
269
+ {
270
+ "inputs": [],
271
+ "name": "defaultSendLibrary",
272
+ "outputs": [
273
+ {
274
+ "internalType": "contract ILayerZeroMessagingLibrary",
275
+ "name": "",
276
+ "type": "address"
277
+ }
278
+ ],
279
+ "stateMutability": "view",
280
+ "type": "function"
281
+ },
282
+ {
283
+ "inputs": [],
284
+ "name": "defaultSendVersion",
285
+ "outputs": [
286
+ {
287
+ "internalType": "uint16",
288
+ "name": "",
289
+ "type": "uint16"
290
+ }
291
+ ],
292
+ "stateMutability": "view",
293
+ "type": "function"
294
+ },
295
+ {
296
+ "inputs": [
297
+ {
298
+ "internalType": "uint16",
299
+ "name": "_dstChainId",
300
+ "type": "uint16"
301
+ },
302
+ {
303
+ "internalType": "address",
304
+ "name": "_userApplication",
305
+ "type": "address"
306
+ },
307
+ {
308
+ "internalType": "bytes",
309
+ "name": "_payload",
310
+ "type": "bytes"
311
+ },
312
+ {
313
+ "internalType": "bool",
314
+ "name": "_payInZRO",
315
+ "type": "bool"
316
+ },
317
+ {
318
+ "internalType": "bytes",
319
+ "name": "_adapterParams",
320
+ "type": "bytes"
321
+ }
322
+ ],
323
+ "name": "estimateFees",
324
+ "outputs": [
325
+ {
326
+ "internalType": "uint256",
327
+ "name": "nativeFee",
328
+ "type": "uint256"
329
+ },
330
+ {
331
+ "internalType": "uint256",
332
+ "name": "zroFee",
333
+ "type": "uint256"
334
+ }
335
+ ],
336
+ "stateMutability": "view",
337
+ "type": "function"
338
+ },
339
+ {
340
+ "inputs": [
341
+ {
342
+ "internalType": "uint16",
343
+ "name": "_srcChainId",
344
+ "type": "uint16"
345
+ },
346
+ {
347
+ "internalType": "bytes",
348
+ "name": "_srcAddress",
349
+ "type": "bytes"
350
+ }
351
+ ],
352
+ "name": "forceResumeReceive",
353
+ "outputs": [],
354
+ "stateMutability": "nonpayable",
355
+ "type": "function"
356
+ },
357
+ {
358
+ "inputs": [],
359
+ "name": "getChainId",
360
+ "outputs": [
361
+ {
362
+ "internalType": "uint16",
363
+ "name": "",
364
+ "type": "uint16"
365
+ }
366
+ ],
367
+ "stateMutability": "view",
368
+ "type": "function"
369
+ },
370
+ {
371
+ "inputs": [
372
+ {
373
+ "internalType": "uint16",
374
+ "name": "_version",
375
+ "type": "uint16"
376
+ },
377
+ {
378
+ "internalType": "uint16",
379
+ "name": "_chainId",
380
+ "type": "uint16"
381
+ },
382
+ {
383
+ "internalType": "address",
384
+ "name": "_userApplication",
385
+ "type": "address"
386
+ },
387
+ {
388
+ "internalType": "uint256",
389
+ "name": "_configType",
390
+ "type": "uint256"
391
+ }
392
+ ],
393
+ "name": "getConfig",
394
+ "outputs": [
395
+ {
396
+ "internalType": "bytes",
397
+ "name": "",
398
+ "type": "bytes"
399
+ }
400
+ ],
401
+ "stateMutability": "view",
402
+ "type": "function"
403
+ },
404
+ {
405
+ "inputs": [
406
+ {
407
+ "internalType": "uint16",
408
+ "name": "_srcChainId",
409
+ "type": "uint16"
410
+ },
411
+ {
412
+ "internalType": "bytes",
413
+ "name": "_srcAddress",
414
+ "type": "bytes"
415
+ }
416
+ ],
417
+ "name": "getInboundNonce",
418
+ "outputs": [
419
+ {
420
+ "internalType": "uint64",
421
+ "name": "",
422
+ "type": "uint64"
423
+ }
424
+ ],
425
+ "stateMutability": "view",
426
+ "type": "function"
427
+ },
428
+ {
429
+ "inputs": [
430
+ {
431
+ "internalType": "uint16",
432
+ "name": "_dstChainId",
433
+ "type": "uint16"
434
+ },
435
+ {
436
+ "internalType": "address",
437
+ "name": "_srcAddress",
438
+ "type": "address"
439
+ }
440
+ ],
441
+ "name": "getOutboundNonce",
442
+ "outputs": [
443
+ {
444
+ "internalType": "uint64",
445
+ "name": "",
446
+ "type": "uint64"
447
+ }
448
+ ],
449
+ "stateMutability": "view",
450
+ "type": "function"
451
+ },
452
+ {
453
+ "inputs": [
454
+ {
455
+ "internalType": "address",
456
+ "name": "_userApplication",
457
+ "type": "address"
458
+ }
459
+ ],
460
+ "name": "getReceiveLibraryAddress",
461
+ "outputs": [
462
+ {
463
+ "internalType": "address",
464
+ "name": "receiveLibraryAddress",
465
+ "type": "address"
466
+ }
467
+ ],
468
+ "stateMutability": "view",
469
+ "type": "function"
470
+ },
471
+ {
472
+ "inputs": [
473
+ {
474
+ "internalType": "address",
475
+ "name": "_userApplication",
476
+ "type": "address"
477
+ }
478
+ ],
479
+ "name": "getReceiveVersion",
480
+ "outputs": [
481
+ {
482
+ "internalType": "uint16",
483
+ "name": "",
484
+ "type": "uint16"
485
+ }
486
+ ],
487
+ "stateMutability": "view",
488
+ "type": "function"
489
+ },
490
+ {
491
+ "inputs": [
492
+ {
493
+ "internalType": "address",
494
+ "name": "_userApplication",
495
+ "type": "address"
496
+ }
497
+ ],
498
+ "name": "getSendLibraryAddress",
499
+ "outputs": [
500
+ {
501
+ "internalType": "address",
502
+ "name": "sendLibraryAddress",
503
+ "type": "address"
504
+ }
505
+ ],
506
+ "stateMutability": "view",
507
+ "type": "function"
508
+ },
509
+ {
510
+ "inputs": [
511
+ {
512
+ "internalType": "address",
513
+ "name": "_userApplication",
514
+ "type": "address"
515
+ }
516
+ ],
517
+ "name": "getSendVersion",
518
+ "outputs": [
519
+ {
520
+ "internalType": "uint16",
521
+ "name": "",
522
+ "type": "uint16"
523
+ }
524
+ ],
525
+ "stateMutability": "view",
526
+ "type": "function"
527
+ },
528
+ {
529
+ "inputs": [
530
+ {
531
+ "internalType": "uint16",
532
+ "name": "_srcChainId",
533
+ "type": "uint16"
534
+ },
535
+ {
536
+ "internalType": "bytes",
537
+ "name": "_srcAddress",
538
+ "type": "bytes"
539
+ }
540
+ ],
541
+ "name": "hasStoredPayload",
542
+ "outputs": [
543
+ {
544
+ "internalType": "bool",
545
+ "name": "",
546
+ "type": "bool"
547
+ }
548
+ ],
549
+ "stateMutability": "view",
550
+ "type": "function"
551
+ },
552
+ {
553
+ "inputs": [
554
+ {
555
+ "internalType": "uint16",
556
+ "name": "",
557
+ "type": "uint16"
558
+ },
559
+ {
560
+ "internalType": "bytes",
561
+ "name": "",
562
+ "type": "bytes"
563
+ }
564
+ ],
565
+ "name": "inboundNonce",
566
+ "outputs": [
567
+ {
568
+ "internalType": "uint64",
569
+ "name": "",
570
+ "type": "uint64"
571
+ }
572
+ ],
573
+ "stateMutability": "view",
574
+ "type": "function"
575
+ },
576
+ {
577
+ "inputs": [],
578
+ "name": "isReceivingPayload",
579
+ "outputs": [
580
+ {
581
+ "internalType": "bool",
582
+ "name": "",
583
+ "type": "bool"
584
+ }
585
+ ],
586
+ "stateMutability": "view",
587
+ "type": "function"
588
+ },
589
+ {
590
+ "inputs": [],
591
+ "name": "isSendingPayload",
592
+ "outputs": [
593
+ {
594
+ "internalType": "bool",
595
+ "name": "",
596
+ "type": "bool"
597
+ }
598
+ ],
599
+ "stateMutability": "view",
600
+ "type": "function"
601
+ },
602
+ {
603
+ "inputs": [],
604
+ "name": "latestVersion",
605
+ "outputs": [
606
+ {
607
+ "internalType": "uint16",
608
+ "name": "",
609
+ "type": "uint16"
610
+ }
611
+ ],
612
+ "stateMutability": "view",
613
+ "type": "function"
614
+ },
615
+ {
616
+ "inputs": [
617
+ {
618
+ "internalType": "uint16",
619
+ "name": "",
620
+ "type": "uint16"
621
+ }
622
+ ],
623
+ "name": "libraryLookup",
624
+ "outputs": [
625
+ {
626
+ "internalType": "contract ILayerZeroMessagingLibrary",
627
+ "name": "",
628
+ "type": "address"
629
+ }
630
+ ],
631
+ "stateMutability": "view",
632
+ "type": "function"
633
+ },
634
+ {
635
+ "inputs": [
636
+ {
637
+ "internalType": "address",
638
+ "name": "_newLayerZeroLibraryAddress",
639
+ "type": "address"
640
+ }
641
+ ],
642
+ "name": "newVersion",
643
+ "outputs": [],
644
+ "stateMutability": "nonpayable",
645
+ "type": "function"
646
+ },
647
+ {
648
+ "inputs": [
649
+ {
650
+ "internalType": "uint16",
651
+ "name": "",
652
+ "type": "uint16"
653
+ },
654
+ {
655
+ "internalType": "address",
656
+ "name": "",
657
+ "type": "address"
658
+ }
659
+ ],
660
+ "name": "outboundNonce",
661
+ "outputs": [
662
+ {
663
+ "internalType": "uint64",
664
+ "name": "",
665
+ "type": "uint64"
666
+ }
667
+ ],
668
+ "stateMutability": "view",
669
+ "type": "function"
670
+ },
671
+ {
672
+ "inputs": [],
673
+ "name": "owner",
674
+ "outputs": [
675
+ {
676
+ "internalType": "address",
677
+ "name": "",
678
+ "type": "address"
679
+ }
680
+ ],
681
+ "stateMutability": "view",
682
+ "type": "function"
683
+ },
684
+ {
685
+ "inputs": [
686
+ {
687
+ "internalType": "uint16",
688
+ "name": "_srcChainId",
689
+ "type": "uint16"
690
+ },
691
+ {
692
+ "internalType": "bytes",
693
+ "name": "_srcAddress",
694
+ "type": "bytes"
695
+ },
696
+ {
697
+ "internalType": "address",
698
+ "name": "_dstAddress",
699
+ "type": "address"
700
+ },
701
+ {
702
+ "internalType": "uint64",
703
+ "name": "_nonce",
704
+ "type": "uint64"
705
+ },
706
+ {
707
+ "internalType": "uint256",
708
+ "name": "_gasLimit",
709
+ "type": "uint256"
710
+ },
711
+ {
712
+ "internalType": "bytes",
713
+ "name": "_payload",
714
+ "type": "bytes"
715
+ }
716
+ ],
717
+ "name": "receivePayload",
718
+ "outputs": [],
719
+ "stateMutability": "nonpayable",
720
+ "type": "function"
721
+ },
722
+ {
723
+ "inputs": [],
724
+ "name": "renounceOwnership",
725
+ "outputs": [],
726
+ "stateMutability": "nonpayable",
727
+ "type": "function"
728
+ },
729
+ {
730
+ "inputs": [
731
+ {
732
+ "internalType": "uint16",
733
+ "name": "_srcChainId",
734
+ "type": "uint16"
735
+ },
736
+ {
737
+ "internalType": "bytes",
738
+ "name": "_srcAddress",
739
+ "type": "bytes"
740
+ },
741
+ {
742
+ "internalType": "bytes",
743
+ "name": "_payload",
744
+ "type": "bytes"
745
+ }
746
+ ],
747
+ "name": "retryPayload",
748
+ "outputs": [],
749
+ "stateMutability": "nonpayable",
750
+ "type": "function"
751
+ },
752
+ {
753
+ "inputs": [
754
+ {
755
+ "internalType": "uint16",
756
+ "name": "_dstChainId",
757
+ "type": "uint16"
758
+ },
759
+ {
760
+ "internalType": "bytes",
761
+ "name": "_destination",
762
+ "type": "bytes"
763
+ },
764
+ {
765
+ "internalType": "bytes",
766
+ "name": "_payload",
767
+ "type": "bytes"
768
+ },
769
+ {
770
+ "internalType": "address payable",
771
+ "name": "_refundAddress",
772
+ "type": "address"
773
+ },
774
+ {
775
+ "internalType": "address",
776
+ "name": "_zroPaymentAddress",
777
+ "type": "address"
778
+ },
779
+ {
780
+ "internalType": "bytes",
781
+ "name": "_adapterParams",
782
+ "type": "bytes"
783
+ }
784
+ ],
785
+ "name": "send",
786
+ "outputs": [],
787
+ "stateMutability": "payable",
788
+ "type": "function"
789
+ },
790
+ {
791
+ "inputs": [
792
+ {
793
+ "internalType": "uint16",
794
+ "name": "_version",
795
+ "type": "uint16"
796
+ },
797
+ {
798
+ "internalType": "uint16",
799
+ "name": "_chainId",
800
+ "type": "uint16"
801
+ },
802
+ {
803
+ "internalType": "uint256",
804
+ "name": "_configType",
805
+ "type": "uint256"
806
+ },
807
+ {
808
+ "internalType": "bytes",
809
+ "name": "_config",
810
+ "type": "bytes"
811
+ }
812
+ ],
813
+ "name": "setConfig",
814
+ "outputs": [],
815
+ "stateMutability": "nonpayable",
816
+ "type": "function"
817
+ },
818
+ {
819
+ "inputs": [
820
+ {
821
+ "internalType": "uint16",
822
+ "name": "_newDefaultReceiveVersion",
823
+ "type": "uint16"
824
+ }
825
+ ],
826
+ "name": "setDefaultReceiveVersion",
827
+ "outputs": [],
828
+ "stateMutability": "nonpayable",
829
+ "type": "function"
830
+ },
831
+ {
832
+ "inputs": [
833
+ {
834
+ "internalType": "uint16",
835
+ "name": "_newDefaultSendVersion",
836
+ "type": "uint16"
837
+ }
838
+ ],
839
+ "name": "setDefaultSendVersion",
840
+ "outputs": [],
841
+ "stateMutability": "nonpayable",
842
+ "type": "function"
843
+ },
844
+ {
845
+ "inputs": [
846
+ {
847
+ "internalType": "uint16",
848
+ "name": "_newVersion",
849
+ "type": "uint16"
850
+ }
851
+ ],
852
+ "name": "setReceiveVersion",
853
+ "outputs": [],
854
+ "stateMutability": "nonpayable",
855
+ "type": "function"
856
+ },
857
+ {
858
+ "inputs": [
859
+ {
860
+ "internalType": "uint16",
861
+ "name": "_newVersion",
862
+ "type": "uint16"
863
+ }
864
+ ],
865
+ "name": "setSendVersion",
866
+ "outputs": [],
867
+ "stateMutability": "nonpayable",
868
+ "type": "function"
869
+ },
870
+ {
871
+ "inputs": [
872
+ {
873
+ "internalType": "uint16",
874
+ "name": "",
875
+ "type": "uint16"
876
+ },
877
+ {
878
+ "internalType": "bytes",
879
+ "name": "",
880
+ "type": "bytes"
881
+ }
882
+ ],
883
+ "name": "storedPayload",
884
+ "outputs": [
885
+ {
886
+ "internalType": "uint64",
887
+ "name": "payloadLength",
888
+ "type": "uint64"
889
+ },
890
+ {
891
+ "internalType": "address",
892
+ "name": "dstAddress",
893
+ "type": "address"
894
+ },
895
+ {
896
+ "internalType": "bytes32",
897
+ "name": "payloadHash",
898
+ "type": "bytes32"
899
+ }
900
+ ],
901
+ "stateMutability": "view",
902
+ "type": "function"
903
+ },
904
+ {
905
+ "inputs": [
906
+ {
907
+ "internalType": "address",
908
+ "name": "newOwner",
909
+ "type": "address"
910
+ }
911
+ ],
912
+ "name": "transferOwnership",
913
+ "outputs": [],
914
+ "stateMutability": "nonpayable",
915
+ "type": "function"
916
+ },
917
+ {
918
+ "inputs": [
919
+ {
920
+ "internalType": "address",
921
+ "name": "",
922
+ "type": "address"
923
+ }
924
+ ],
925
+ "name": "uaConfigLookup",
926
+ "outputs": [
927
+ {
928
+ "internalType": "uint16",
929
+ "name": "sendVersion",
930
+ "type": "uint16"
931
+ },
932
+ {
933
+ "internalType": "uint16",
934
+ "name": "receiveVersion",
935
+ "type": "uint16"
936
+ },
937
+ {
938
+ "internalType": "address",
939
+ "name": "receiveLibraryAddress",
940
+ "type": "address"
941
+ },
942
+ {
943
+ "internalType": "contract ILayerZeroMessagingLibrary",
944
+ "name": "sendLibrary",
945
+ "type": "address"
946
+ }
947
+ ],
948
+ "stateMutability": "view",
949
+ "type": "function"
950
+ }
951
+ ],
952
+ "transactionHash": "385a0cd05b188432ab3a55958a74f50baab80f7b9160cd0cd99e8ea1664d76fc",
953
+ "receipt": {},
954
+ "args": [
955
+ 20225
956
+ ],
957
+ "numDeployments": 1,
958
+ "bytecode": "0x60a06040526001600860006101000a81548160ff021916908360ff1602179055506001600860016101000a81548160ff021916908360ff1602179055503480156200004957600080fd5b50d380156200005757600080fd5b50d280156200006557600080fd5b5060405162004f6438038062004f64833981810160405260208110156200008b57600080fd5b81019080805190602001909291905050506000620000ae6200016660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3508061ffff1660808161ffff1660f01b81525050506200016e565b600033905090565b60805160f01c614dd362000191600039806121b45280612aee5250614dd36000f3fe6080604052600436106102255760003560e01c80639c729da111610123578063ca066b35116100ab578063f2fde38b1161006f578063f2fde38b146114d7578063f4abee4b14611542578063f5ecbdbc1461160a578063faee093f14611714578063fdc07c701461175d57610225565b8063ca066b35146112a5578063cbed8b9c146112ec578063da1a7c9a146113b2578063e97a448a14611435578063ebfea6e01461147c57610225565b8063bd42a713116100f2578063bd42a71314610ece578063c07f47d414610f27578063c2fa481314610f70578063c5803100146110b1578063c7e371171461122257610225565b80639c729da114610c56578063a91606df14610ceb578063aaff5f1614610d34578063b208649914610e3757610225565b806342d65a8d116101b157806376a386dc1161017557806376a386dc146108db5780637a14574814610a0d5780638da5cb5b14610aa45780639924d33b14610aff5780639a8a059214610c0d57610225565b806342d65a8d146106c35780634afb422b146107715780635d9ef01a146107cc578063715018a61461081557806371ba2fd61461084657610225565b806310ddb137116101f857806310ddb13714610423578063158c81ad1461047c57806324ba3f2c146104e75780633408e4701461053057806340a7bb101461057957610225565b806307e0db171461022a578063096568f6146102835780630b837bb5146103065780630eaf6ea61461035f575b600080fd5b34801561023657600080fd5b50d3801561024357600080fd5b50d2801561025057600080fd5b506102816004803603602081101561026757600080fd5b81019080803561ffff169060200190929190505050611829565b005b34801561028f57600080fd5b50d3801561029c57600080fd5b50d280156102a957600080fd5b506102ec600480360360208110156102c057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119eb565b604051808261ffff16815260200191505060405180910390f35b34801561031257600080fd5b50d3801561031f57600080fd5b50d2801561032c57600080fd5b5061035d6004803603602081101561034357600080fd5b81019080803561ffff169060200190929190505050611a83565b005b34801561036b57600080fd5b50d3801561037857600080fd5b50d2801561038557600080fd5b5061040b6004803603604081101561039c57600080fd5b81019080803561ffff169060200190929190803590602001906401000000008111156103c757600080fd5b8201836020820111156103d957600080fd5b803590602001918460018302840111640100000000831117156103fb57600080fd5b9091929391929390505050611d00565b60405180821515815260200191505060405180910390f35b34801561042f57600080fd5b50d3801561043c57600080fd5b50d2801561044957600080fd5b5061047a6004803603602081101561046057600080fd5b81019080803561ffff169060200190929190505050611d5a565b005b34801561048857600080fd5b50d3801561049557600080fd5b50d280156104a257600080fd5b506104e5600480360360208110156104b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f1c565b005b3480156104f357600080fd5b50d3801561050057600080fd5b50d2801561050d57600080fd5b506105166121ab565b604051808261ffff16815260200191505060405180910390f35b34801561053c57600080fd5b50d3801561054957600080fd5b50d2801561055657600080fd5b5061055f6121b0565b604051808261ffff16815260200191505060405180910390f35b34801561058557600080fd5b50d3801561059257600080fd5b50d2801561059f57600080fd5b506106a6600480360360a08110156105b657600080fd5b81019080803561ffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561060157600080fd5b82018360208201111561061357600080fd5b8035906020019184600183028401116401000000008311171561063557600080fd5b90919293919293908035151590602001909291908035906020019064010000000081111561066257600080fd5b82018360208201111561067457600080fd5b8035906020019184600183028401116401000000008311171561069657600080fd5b90919293919293905050506121d8565b604051808381526020018281526020019250505060405180910390f35b3480156106cf57600080fd5b50d380156106dc57600080fd5b50d280156106e957600080fd5b5061076f6004803603604081101561070057600080fd5b81019080803561ffff1690602001909291908035906020019064010000000081111561072b57600080fd5b82018360208201111561073d57600080fd5b8035906020019184600183028401116401000000008311171561075f57600080fd5b90919293919293905050506123cc565b005b34801561077d57600080fd5b50d3801561078a57600080fd5b50d2801561079757600080fd5b506107a0612643565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107d857600080fd5b50d380156107e557600080fd5b50d280156107f257600080fd5b506107fb612669565b604051808261ffff16815260200191505060405180910390f35b34801561082157600080fd5b50d3801561082e57600080fd5b50d2801561083b57600080fd5b5061084461267d565b005b34801561085257600080fd5b50d3801561085f57600080fd5b50d2801561086c57600080fd5b506108af6004803603602081101561088357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506127ea565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108e757600080fd5b50d380156108f457600080fd5b50d2801561090157600080fd5b506109c96004803603604081101561091857600080fd5b81019080803561ffff1690602001909291908035906020019064010000000081111561094357600080fd5b82018360208201111561095557600080fd5b8035906020019184600183028401116401000000008311171561097757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061297f565b604051808467ffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b348015610a1957600080fd5b50d38015610a2657600080fd5b50d28015610a3357600080fd5b50610a8460048036036040811015610a4a57600080fd5b81019080803561ffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612a00565b604051808267ffffffffffffffff16815260200191505060405180910390f35b348015610ab057600080fd5b50d38015610abd57600080fd5b50d28015610aca57600080fd5b50610ad3612a77565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b0b57600080fd5b50d38015610b1857600080fd5b50d28015610b2557600080fd5b50610bed60048036036040811015610b3c57600080fd5b81019080803561ffff16906020019092919080359060200190640100000000811115610b6757600080fd5b820183602082011115610b7957600080fd5b80359060200191846001830284011164010000000083111715610b9b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612aa0565b604051808267ffffffffffffffff16815260200191505060405180910390f35b348015610c1957600080fd5b50d38015610c2657600080fd5b50d28015610c3357600080fd5b50610c3c612aec565b604051808261ffff16815260200191505060405180910390f35b348015610c6257600080fd5b50d38015610c6f57600080fd5b50d28015610c7c57600080fd5b50610cbf60048036036020811015610c9357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b10565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610cf757600080fd5b50d38015610d0457600080fd5b50d28015610d1157600080fd5b50610d1a612ca7565b604051808261ffff16815260200191505060405180910390f35b348015610d4057600080fd5b50d38015610d4d57600080fd5b50d28015610d5a57600080fd5b50610e3560048036036060811015610d7157600080fd5b81019080803561ffff16906020019092919080359060200190640100000000811115610d9c57600080fd5b820183602082011115610dae57600080fd5b80359060200191846001830284011164010000000083111715610dd057600080fd5b909192939192939080359060200190640100000000811115610df157600080fd5b820183602082011115610e0357600080fd5b80359060200191846001830284011164010000000083111715610e2557600080fd5b9091929391929390505050612cad565b005b348015610e4357600080fd5b50d38015610e5057600080fd5b50d28015610e5d57600080fd5b50610eae60048036036040811015610e7457600080fd5b81019080803561ffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613187565b604051808267ffffffffffffffff16815260200191505060405180910390f35b348015610eda57600080fd5b50d38015610ee757600080fd5b50d28015610ef457600080fd5b50610f2560048036036020811015610f0b57600080fd5b81019080803561ffff1690602001909291905050506131bd565b005b348015610f3357600080fd5b50d38015610f4057600080fd5b50d28015610f4d57600080fd5b50610f56613437565b604051808261ffff16815260200191505060405180910390f35b348015610f7c57600080fd5b50d38015610f8957600080fd5b50d28015610f9657600080fd5b506110af600480360360c0811015610fad57600080fd5b81019080803561ffff16906020019092919080359060200190640100000000811115610fd857600080fd5b820183602082011115610fea57600080fd5b8035906020019184600183028401116401000000008311171561100c57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561106b57600080fd5b82018360208201111561107d57600080fd5b8035906020019184600183028401116401000000008311171561109f57600080fd5b909192939192939050505061344b565b005b611220600480360360c08110156110c757600080fd5b81019080803561ffff169060200190929190803590602001906401000000008111156110f257600080fd5b82018360208201111561110457600080fd5b8035906020019184600183028401116401000000008311171561112657600080fd5b90919293919293908035906020019064010000000081111561114757600080fd5b82018360208201111561115957600080fd5b8035906020019184600183028401116401000000008311171561117b57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156111dc57600080fd5b8201836020820111156111ee57600080fd5b8035906020019184600183028401116401000000008311171561121057600080fd5b9091929391929390505050613c37565b005b34801561122e57600080fd5b50d3801561123b57600080fd5b50d2801561124857600080fd5b506112796004803603602081101561125f57600080fd5b81019080803561ffff169060200190929190505050613f65565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156112b157600080fd5b50d380156112be57600080fd5b50d280156112cb57600080fd5b506112d4613f98565b60405180821515815260200191505060405180910390f35b3480156112f857600080fd5b50d3801561130557600080fd5b50d2801561131257600080fd5b506113b06004803603608081101561132957600080fd5b81019080803561ffff169060200190929190803561ffff169060200190929190803590602001909291908035906020019064010000000081111561136c57600080fd5b82018360208201111561137e57600080fd5b803590602001918460018302840111640100000000831117156113a057600080fd5b9091929391929390505050613fb8565b005b3480156113be57600080fd5b50d380156113cb57600080fd5b50d280156113d857600080fd5b5061141b600480360360208110156113ef57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061424c565b604051808261ffff16815260200191505060405180910390f35b34801561144157600080fd5b50d3801561144e57600080fd5b50d2801561145b57600080fd5b506114646142e2565b60405180821515815260200191505060405180910390f35b34801561148857600080fd5b50d3801561149557600080fd5b50d280156114a257600080fd5b506114ab614302565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156114e357600080fd5b50d380156114f057600080fd5b50d280156114fd57600080fd5b506115406004803603602081101561151457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614328565b005b34801561154e57600080fd5b50d3801561155b57600080fd5b50d2801561156857600080fd5b506115ab6004803603602081101561157f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061451a565b604051808561ffff1681526020018461ffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405180910390f35b34801561161657600080fd5b50d3801561162357600080fd5b50d2801561163057600080fd5b506116996004803603608081101561164757600080fd5b81019080803561ffff169060200190929190803561ffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506145a6565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156116d95780820151818401526020810190506116be565b50505050905090810190601f1680156117065780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561172057600080fd5b50d3801561172d57600080fd5b50d2801561173a57600080fd5b506117436148ea565b604051808261ffff16815260200191505060405180910390f35b34801561176957600080fd5b50d3801561177657600080fd5b50d2801561178357600080fd5b506118096004803603604081101561179a57600080fd5b81019080803561ffff169060200190929190803590602001906401000000008111156117c557600080fd5b8201836020820111156117d757600080fd5b803590602001918460018302840111640100000000831117156117f957600080fd5b90919293919293905050506148fc565b604051808267ffffffffffffffff16815260200191505060405180910390f35b80600060149054906101000a900461ffff1661ffff168161ffff16111580611858575061ffff80168161ffff16145b6118ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180614ae1602c913960400191505060405180910390fd5b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050828160000160006101000a81548161ffff021916908361ffff160217905550600160008461ffff1661ffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ff2bc255571446a2f9b7cb2f0c75fd6a279bdb469f515d5a5c9910f713aeb32ca3384604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018261ffff1681526020019250505060405180910390a1505050565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600061ffff168160000160009054906101000a900461ffff1661ffff1614611a69578060000160009054906101000a900461ffff16611a7b565b600260009054906101000a900461ffff165b915050919050565b611a8b61495c565b73ffffffffffffffffffffffffffffffffffffffff16611aa9612a77565b73ffffffffffffffffffffffffffffffffffffffff1614611b32576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600060149054906101000a900461ffff1661ffff168161ffff16111580611b61575061ffff80168161ffff16145b611bb6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180614ae1602c913960400191505060405180910390fd5b600061ffff168261ffff161415611c18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180614d1c6028913960400191505060405180910390fd5b81600260006101000a81548161ffff021916908361ffff16021790555060016000600260009054906101000a900461ffff1661ffff1661ffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507feb685c087d38029bbde35299b748c6b80f099c7e5c3f9fe2dbb3ace1099e3b0782604051808261ffff16815260200191505060405180910390a15050565b600080600760008661ffff1661ffff1681526020019081526020016000208484604051808383808284378083019250505092505050908152602001604051809103902090506000801b816001015414159150509392505050565b80600060149054906101000a900461ffff1661ffff168161ffff16111580611d89575061ffff80168161ffff16145b611dde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180614ae1602c913960400191505060405180910390fd5b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050828160000160026101000a81548161ffff021916908361ffff160217905550600160008461ffff1661ffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f9c199418af68d1547d7b99c71ee6a9eb18b27990dfcfb38982f3e3fb8c7b6bef3384604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018261ffff1681526020019250505060405180910390a1505050565b611f2461495c565b73ffffffffffffffffffffffffffffffffffffffff16611f42612a77565b73ffffffffffffffffffffffffffffffffffffffff1614611fcb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612051576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180614c72602d913960400191505060405180910390fd5b61ffff600060149054906101000a900461ffff1661ffff16106120bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180614c46602c913960400191505060405180910390fd5b6000601481819054906101000a900461ffff168092919060010191906101000a81548161ffff021916908361ffff1602179055505080600160008060149054906101000a900461ffff1661ffff1661ffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f18c7402e58a1bec57f4eb75af242f65ababbbe09d9db383e0542f00635e5b8c5600060149054906101000a900461ffff16604051808261ffff16815260200191505060405180910390a150565b600081565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b6000806000600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008061ffff168260000160009054906101000a900461ffff1661ffff161461226b578160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661228f565b600260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b90508073ffffffffffffffffffffffffffffffffffffffff166340a7bb108c8c8c8c8c8c8c6040518863ffffffff1660e01b8152600401808861ffff1681526020018773ffffffffffffffffffffffffffffffffffffffff168152602001806020018515158152602001806020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509950505050505050505050604080518083038186803b15801561237557600080fd5b505afa158015612389573d6000803e3d6000fd5b505050506040513d604081101561239f57600080fd5b81019080805190602001909291908051906020019092919050505093509350505097509795505050505050565b6000600760008561ffff1661ffff1681526020019081526020016000208383604051808383808284378083019250505092505050908152602001604051809103902090506000801b8160010154141561248d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c617965725a65726f3a206e6f2073746f726564207061796c6f61640000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168160000160089054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612552576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4c617965725a65726f3a20696e76616c69642063616c6c65720000000000000081525060200191505060405180910390fd5b60008160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060008160000160086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000801b81600101819055507f23d2684f396e92a6e2ff2d16f98e6fea00d50cb27a64b531bc0748f730211f98848484604051808461ffff168152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a150505050565b600260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900461ffff1681565b61268561495c565b73ffffffffffffffffffffffffffffffffffffffff166126a3612a77565b73ffffffffffffffffffffffffffffffffffffffff161461272c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000160029054906101000a900461ffff16905061ffff80168161ffff1614156128a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180614d73602b913960400191505060405180910390fd5b600061ffff168161ffff1614156129505761ffff801660028054906101000a900461ffff1661ffff161415612926576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180614b0d6035913960400191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250612978565b8160000160049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692505b5050919050565b600760205281600052604060002081805160208101820180518482526020830160208501208183528095505050505050600091509150508060000160009054906101000a900467ffffffffffffffff16908060000160089054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905083565b6000600660008461ffff1661ffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900467ffffffffffffffff16905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6005602052816000526040600020818051602081018201805184825260208301602085012081835280955050505050506000915091509054906101000a900467ffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000160009054906101000a900461ffff16905061ffff80168161ffff161415612bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180614c1e6028913960400191505060405180910390fd5b600061ffff168161ffff161415612c785761ffff8016600260009054906101000a900461ffff1661ffff161415612c4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180614bb66032913960400191505060405180910390fd5b600260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250612ca0565b8160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692505b5050919050565b61ffff81565b600160ff16600860019054906101000a900460ff1660ff1614612d38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4c617965725a65726f3a206e6f2072656365697665207265656e7472616e637981525060200191505060405180910390fd5b6002600860016101000a81548160ff021916908360ff1602179055506000600760008761ffff1661ffff1681526020019081526020016000208585604051808383808284378083019250505092505050908152602001604051809103902090506000801b81600101541415612e15576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c617965725a65726f3a206e6f2073746f726564207061796c6f61640000000081525060200191505060405180910390fd5b8060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1683839050148015612e6a5750806001015483836040518083838082843780830192505050925050506040518091039020145b612edc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4c617965725a65726f3a20696e76616c6964207061796c6f616400000000000081525060200191505060405180910390fd5b60008160000160089054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008260000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060008260000160086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000801b82600101819055506000600560008961ffff1661ffff1681526020019081526020016000208787604051808383808284378083019250505092505050908152602001604051809103902060009054906101000a900467ffffffffffffffff1690508173ffffffffffffffffffffffffffffffffffffffff16621d3567898989858a8a6040518763ffffffff1660e01b8152600401808761ffff168152602001806020018567ffffffffffffffff168152602001806020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b1580156130aa57600080fd5b505af11580156130be573d6000803e3d6000fd5b505050507f612434f39581c8e7d99746c9c20c6eb0ce8c0eb99f007c5719d620841370957d8888888486604051808661ffff168152602001806020018467ffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281038252868682818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a15050506001600860016101000a81548160ff021916908360ff1602179055505050505050565b60066020528160005260406000206020528060005260406000206000915091509054906101000a900467ffffffffffffffff1681565b6131c561495c565b73ffffffffffffffffffffffffffffffffffffffff166131e3612a77565b73ffffffffffffffffffffffffffffffffffffffff161461326c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600060149054906101000a900461ffff1661ffff168161ffff1611158061329b575061ffff80168161ffff16145b6132f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180614ae1602c913960400191505060405180910390fd5b600061ffff168261ffff161415613352576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180614cce602b913960400191505060405180910390fd5b816002806101000a81548161ffff021916908361ffff1602179055506001600060028054906101000a900461ffff1661ffff1661ffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f96874dbe70c8a59e7996847475489a70a1b5096ed92cdc858b63ebabd071f81982604051808261ffff16815260200191505060405180910390a15050565b600060149054906101000a900461ffff1681565b600160ff16600860019054906101000a900460ff1660ff16146134d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4c617965725a65726f3a206e6f2072656365697665207265656e7472616e637981525060200191505060405180910390fd5b6002600860016101000a81548160ff021916908360ff160217905550600560008961ffff1661ffff16815260200190815260200160002087876040518083838082843780830192505050925050509081526020016040518091039020600081819054906101000a900467ffffffffffffffff1660010191906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905567ffffffffffffffff168467ffffffffffffffff16146135f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4c617965725a65726f3a2077726f6e67206e6f6e63650000000000000000000081525060200191505060405180910390fd5b6000600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600061ffff168160000160029054906101000a900461ffff1661ffff16141561370a573373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613705576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180614b426022913960400191505060405180910390fd5b6137d0565b3373ffffffffffffffffffffffffffffffffffffffff168160000160049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146137cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4c617965725a65726f3a20696e76616c6964206c69627261727900000000000081525060200191505060405180910390fd5b5b6000600760008b61ffff1661ffff1681526020019081526020016000208989604051808383808284378083019250505092505050908152602001604051809103902090506000801b816001015414613890576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4c617965725a65726f3a20696e206d65737361676520626c6f636b696e67000081525060200191505060405180910390fd5b8673ffffffffffffffffffffffffffffffffffffffff16621d3567868c8c8c8b8a8a6040518863ffffffff1660e01b8152600401808761ffff168152602001806020018567ffffffffffffffff168152602001806020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600088803b15801561396157600080fd5b5087f193505050508015613973575060015b613c0e573d80600081146139a3576040519150601f19603f3d011682016040523d82523d6000602084013e6139a8565b606091505b5060405180606001604052808686905067ffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff16815260200186866040518083838082843780830192505050925050506040518091039020815250600760008d61ffff1661ffff1681526020019081526020016000208b8b604051808383808284378083019250505092505050908152602001604051809103902060008201518160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060208201518160000160086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101559050507f0f9e4d95b62f08222d612b5ab92039cd8fbbbea550a95e8df9f927436bbdf5db8b8b8b8b8b8a8a88604051808961ffff168152602001806020018773ffffffffffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff168152602001806020018060200184810384528b8b82818152602001925080828437600081840152601f19601f8201169050808301925050508481038352878782818152602001925080828437600081840152601f19601f820116905080830192505050848103825285818151815260200191508051906020019080838360005b83811015613bc5578082015181840152602081019050613baa565b50505050905090810190601f168015613bf25780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390a150613c0f565b5b50506001600860016101000a81548160ff021916908360ff1602179055505050505050505050565b600160ff16600860009054906101000a900460ff1660ff1614613cc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4c617965725a65726f3a206e6f2073656e64207265656e7472616e637900000081525060200191505060405180910390fd5b6002600860006101000a81548160ff021916908360ff1602179055506000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000600660008c61ffff1661ffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081819054906101000a900467ffffffffffffffff1660010191906101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790559050613dc582614964565b73ffffffffffffffffffffffffffffffffffffffff16634d3a0f7c3433848f8f8f8f8f8f8f8f8f6040518d63ffffffff1660e01b8152600401808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b67ffffffffffffffff1681526020018a61ffff16815260200180602001806020018773ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018060200184810384528c8c82818152602001925080828437600081840152601f19601f82011690508083019250505084810383528a8a82818152602001925080828437600081840152601f19601f8201169050808301925050508481038252868682818152602001925080828437600081840152601f19601f8201169050808301925050509e5050505050505050505050505050506000604051808303818588803b158015613f2357600080fd5b505af1158015613f37573d6000803e3d6000fd5b505050505050506001600860006101000a81548160ff021916908360ff160217905550505050505050505050565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260ff16600860019054906101000a900460ff1660ff1614905090565b84600060149054906101000a900461ffff1661ffff168161ffff16111580613fe7575061ffff80168161ffff16145b61403c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180614ae1602c913960400191505060405180910390fd5b600061ffff168661ffff1614156140df5760028054906101000a900461ffff1661ffff16600260009054906101000a900461ffff1661ffff16146140cb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526036815260200180614be86036913960400191505060405180910390fd5b600260009054906101000a900461ffff1695505b61ffff80168661ffff161415614140576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180614d44602f913960400191505060405180910390fd5b600160008761ffff1661ffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f8e1734c86338787876040518663ffffffff1660e01b8152600401808661ffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561422c57600080fd5b505af1158015614240573d6000803e3d6000fd5b50505050505050505050565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600061ffff168160000160029054906101000a900461ffff1661ffff16146142ca578060000160029054906101000a900461ffff166142da565b60028054906101000a900461ffff165b915050919050565b6000600260ff16600860009054906101000a900460ff1660ff1614905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61433061495c565b73ffffffffffffffffffffffffffffffffffffffff1661434e612a77565b73ffffffffffffffffffffffffffffffffffffffff16146143d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561445d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180614b646026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60046020528060005260406000206000915090508060000160009054906101000a900461ffff16908060000160029054906101000a900461ffff16908060000160049054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905084565b606084600060149054906101000a900461ffff1661ffff168161ffff161115806145d7575061ffff80168161ffff16145b61462c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180614ae1602c913960400191505060405180910390fd5b600061ffff168661ffff1614156146cf5760028054906101000a900461ffff1661ffff16600260009054906101000a900461ffff1661ffff16146146bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180614b8a602c913960400191505060405180910390fd5b600260009054906101000a900461ffff1695505b61ffff80168661ffff161415614730576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180614c9f602f913960400191505060405180910390fd5b600160008761ffff1661ffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166352d2871f8686866040518463ffffffff1660e01b8152600401808461ffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060006040518083038186803b1580156147e657600080fd5b505afa1580156147fa573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561482457600080fd5b810190808051604051939291908464010000000082111561484457600080fd5b8382019150602082018581111561485a57600080fd5b825186600182028301116401000000008211171561487757600080fd5b8083526020830192505050908051906020019080838360005b838110156148ab578082015181840152602081019050614890565b50505050905090810190601f1680156148d85780820380516001836020036101000a031916815260200191505b50604052505050915050949350505050565b60028054906101000a900461ffff1681565b6000600560008561ffff1661ffff1681526020019081526020016000208383604051808383808284378083019250505092505050908152602001604051809103902060009054906101000a900467ffffffffffffffff1690509392505050565b600033905090565b60008061ffff168260000160009054906101000a900461ffff1661ffff161415614a235761ffff8016600260009054906101000a900461ffff1661ffff1614156149f9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180614cf96023913960400191505060405180910390fd5b600260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050614adb565b61ffff80168260000160009054906101000a900461ffff1661ffff161415614ab3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4c617965725a65726f3a20696e20424c4f434b5f56455253494f4e000000000081525060200191505060405180910390fd5b8160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b91905056fe4c617965725a65726f3a20696e76616c6964206d6573736167696e67206c6962726172792076657273696f6e4c617965725a65726f3a20726563656976652076657273696f6e202864656661756c742920697320424c4f434b5f56455253494f4e4c617965725a65726f3a20696e76616c69642064656661756c74206c6962726172794f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734c617965725a65726f3a206e6f2044454641554c5420636f6e666967207768696c65206d6967726174696f6e4c617965725a65726f3a2073656e642076657273696f6e202864656661756c742920697320424c4f434b5f56455253494f4e4c617965725a65726f3a2063616e206e6f742073657420436f6e66696720647572696e672044454641554c54206d6967726174696f6e4c617965725a65726f3a2073656e642076657273696f6e20697320424c4f434b5f56455253494f4e4c617965725a65726f3a2063616e206e6f7420616464206e6577206d6573736167696e67206c6962726172794c617965725a65726f3a206e65772076657273696f6e2063616e6e6f74206265207a65726f20616464726573734c617965725a65726f3a2063616e206e6f742067657420636f6e66696720666f7220424c4f434b5f56455253494f4e4c617965725a65726f3a2064656661756c7420726563656976652076657273696f6e206d757374203e20304c617965725a65726f3a2064656661756c7420696e20424c4f434b5f56455253494f4e4c617965725a65726f3a2064656661756c742073656e642076657273696f6e206d757374203e20304c617965725a65726f3a2063616e206e6f742073657420636f6e66696720666f7220424c4f434b5f56455253494f4e4c617965725a65726f3a20726563656976652076657273696f6e20697320424c4f434b5f56455253494f4ea2646970667358221220e1581fe11d37f0bd7f76500f0c6e921e9289a49c5db269cb8b51b6ff5df312f364736f6c63430007060033",
959
+ "deployedBytecode": "0x6080604052600436106102255760003560e01c80639c729da111610123578063ca066b35116100ab578063f2fde38b1161006f578063f2fde38b146114d7578063f4abee4b14611542578063f5ecbdbc1461160a578063faee093f14611714578063fdc07c701461175d57610225565b8063ca066b35146112a5578063cbed8b9c146112ec578063da1a7c9a146113b2578063e97a448a14611435578063ebfea6e01461147c57610225565b8063bd42a713116100f2578063bd42a71314610ece578063c07f47d414610f27578063c2fa481314610f70578063c5803100146110b1578063c7e371171461122257610225565b80639c729da114610c56578063a91606df14610ceb578063aaff5f1614610d34578063b208649914610e3757610225565b806342d65a8d116101b157806376a386dc1161017557806376a386dc146108db5780637a14574814610a0d5780638da5cb5b14610aa45780639924d33b14610aff5780639a8a059214610c0d57610225565b806342d65a8d146106c35780634afb422b146107715780635d9ef01a146107cc578063715018a61461081557806371ba2fd61461084657610225565b806310ddb137116101f857806310ddb13714610423578063158c81ad1461047c57806324ba3f2c146104e75780633408e4701461053057806340a7bb101461057957610225565b806307e0db171461022a578063096568f6146102835780630b837bb5146103065780630eaf6ea61461035f575b600080fd5b34801561023657600080fd5b50d3801561024357600080fd5b50d2801561025057600080fd5b506102816004803603602081101561026757600080fd5b81019080803561ffff169060200190929190505050611829565b005b34801561028f57600080fd5b50d3801561029c57600080fd5b50d280156102a957600080fd5b506102ec600480360360208110156102c057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119eb565b604051808261ffff16815260200191505060405180910390f35b34801561031257600080fd5b50d3801561031f57600080fd5b50d2801561032c57600080fd5b5061035d6004803603602081101561034357600080fd5b81019080803561ffff169060200190929190505050611a83565b005b34801561036b57600080fd5b50d3801561037857600080fd5b50d2801561038557600080fd5b5061040b6004803603604081101561039c57600080fd5b81019080803561ffff169060200190929190803590602001906401000000008111156103c757600080fd5b8201836020820111156103d957600080fd5b803590602001918460018302840111640100000000831117156103fb57600080fd5b9091929391929390505050611d00565b60405180821515815260200191505060405180910390f35b34801561042f57600080fd5b50d3801561043c57600080fd5b50d2801561044957600080fd5b5061047a6004803603602081101561046057600080fd5b81019080803561ffff169060200190929190505050611d5a565b005b34801561048857600080fd5b50d3801561049557600080fd5b50d280156104a257600080fd5b506104e5600480360360208110156104b957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f1c565b005b3480156104f357600080fd5b50d3801561050057600080fd5b50d2801561050d57600080fd5b506105166121ab565b604051808261ffff16815260200191505060405180910390f35b34801561053c57600080fd5b50d3801561054957600080fd5b50d2801561055657600080fd5b5061055f6121b0565b604051808261ffff16815260200191505060405180910390f35b34801561058557600080fd5b50d3801561059257600080fd5b50d2801561059f57600080fd5b506106a6600480360360a08110156105b657600080fd5b81019080803561ffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561060157600080fd5b82018360208201111561061357600080fd5b8035906020019184600183028401116401000000008311171561063557600080fd5b90919293919293908035151590602001909291908035906020019064010000000081111561066257600080fd5b82018360208201111561067457600080fd5b8035906020019184600183028401116401000000008311171561069657600080fd5b90919293919293905050506121d8565b604051808381526020018281526020019250505060405180910390f35b3480156106cf57600080fd5b50d380156106dc57600080fd5b50d280156106e957600080fd5b5061076f6004803603604081101561070057600080fd5b81019080803561ffff1690602001909291908035906020019064010000000081111561072b57600080fd5b82018360208201111561073d57600080fd5b8035906020019184600183028401116401000000008311171561075f57600080fd5b90919293919293905050506123cc565b005b34801561077d57600080fd5b50d3801561078a57600080fd5b50d2801561079757600080fd5b506107a0612643565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107d857600080fd5b50d380156107e557600080fd5b50d280156107f257600080fd5b506107fb612669565b604051808261ffff16815260200191505060405180910390f35b34801561082157600080fd5b50d3801561082e57600080fd5b50d2801561083b57600080fd5b5061084461267d565b005b34801561085257600080fd5b50d3801561085f57600080fd5b50d2801561086c57600080fd5b506108af6004803603602081101561088357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506127ea565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108e757600080fd5b50d380156108f457600080fd5b50d2801561090157600080fd5b506109c96004803603604081101561091857600080fd5b81019080803561ffff1690602001909291908035906020019064010000000081111561094357600080fd5b82018360208201111561095557600080fd5b8035906020019184600183028401116401000000008311171561097757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061297f565b604051808467ffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b348015610a1957600080fd5b50d38015610a2657600080fd5b50d28015610a3357600080fd5b50610a8460048036036040811015610a4a57600080fd5b81019080803561ffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612a00565b604051808267ffffffffffffffff16815260200191505060405180910390f35b348015610ab057600080fd5b50d38015610abd57600080fd5b50d28015610aca57600080fd5b50610ad3612a77565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b0b57600080fd5b50d38015610b1857600080fd5b50d28015610b2557600080fd5b50610bed60048036036040811015610b3c57600080fd5b81019080803561ffff16906020019092919080359060200190640100000000811115610b6757600080fd5b820183602082011115610b7957600080fd5b80359060200191846001830284011164010000000083111715610b9b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612aa0565b604051808267ffffffffffffffff16815260200191505060405180910390f35b348015610c1957600080fd5b50d38015610c2657600080fd5b50d28015610c3357600080fd5b50610c3c612aec565b604051808261ffff16815260200191505060405180910390f35b348015610c6257600080fd5b50d38015610c6f57600080fd5b50d28015610c7c57600080fd5b50610cbf60048036036020811015610c9357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b10565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610cf757600080fd5b50d38015610d0457600080fd5b50d28015610d1157600080fd5b50610d1a612ca7565b604051808261ffff16815260200191505060405180910390f35b348015610d4057600080fd5b50d38015610d4d57600080fd5b50d28015610d5a57600080fd5b50610e3560048036036060811015610d7157600080fd5b81019080803561ffff16906020019092919080359060200190640100000000811115610d9c57600080fd5b820183602082011115610dae57600080fd5b80359060200191846001830284011164010000000083111715610dd057600080fd5b909192939192939080359060200190640100000000811115610df157600080fd5b820183602082011115610e0357600080fd5b80359060200191846001830284011164010000000083111715610e2557600080fd5b9091929391929390505050612cad565b005b348015610e4357600080fd5b50d38015610e5057600080fd5b50d28015610e5d57600080fd5b50610eae60048036036040811015610e7457600080fd5b81019080803561ffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613187565b604051808267ffffffffffffffff16815260200191505060405180910390f35b348015610eda57600080fd5b50d38015610ee757600080fd5b50d28015610ef457600080fd5b50610f2560048036036020811015610f0b57600080fd5b81019080803561ffff1690602001909291905050506131bd565b005b348015610f3357600080fd5b50d38015610f4057600080fd5b50d28015610f4d57600080fd5b50610f56613437565b604051808261ffff16815260200191505060405180910390f35b348015610f7c57600080fd5b50d38015610f8957600080fd5b50d28015610f9657600080fd5b506110af600480360360c0811015610fad57600080fd5b81019080803561ffff16906020019092919080359060200190640100000000811115610fd857600080fd5b820183602082011115610fea57600080fd5b8035906020019184600183028401116401000000008311171561100c57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561106b57600080fd5b82018360208201111561107d57600080fd5b8035906020019184600183028401116401000000008311171561109f57600080fd5b909192939192939050505061344b565b005b611220600480360360c08110156110c757600080fd5b81019080803561ffff169060200190929190803590602001906401000000008111156110f257600080fd5b82018360208201111561110457600080fd5b8035906020019184600183028401116401000000008311171561112657600080fd5b90919293919293908035906020019064010000000081111561114757600080fd5b82018360208201111561115957600080fd5b8035906020019184600183028401116401000000008311171561117b57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156111dc57600080fd5b8201836020820111156111ee57600080fd5b8035906020019184600183028401116401000000008311171561121057600080fd5b9091929391929390505050613c37565b005b34801561122e57600080fd5b50d3801561123b57600080fd5b50d2801561124857600080fd5b506112796004803603602081101561125f57600080fd5b81019080803561ffff169060200190929190505050613f65565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156112b157600080fd5b50d380156112be57600080fd5b50d280156112cb57600080fd5b506112d4613f98565b60405180821515815260200191505060405180910390f35b3480156112f857600080fd5b50d3801561130557600080fd5b50d2801561131257600080fd5b506113b06004803603608081101561132957600080fd5b81019080803561ffff169060200190929190803561ffff169060200190929190803590602001909291908035906020019064010000000081111561136c57600080fd5b82018360208201111561137e57600080fd5b803590602001918460018302840111640100000000831117156113a057600080fd5b9091929391929390505050613fb8565b005b3480156113be57600080fd5b50d380156113cb57600080fd5b50d280156113d857600080fd5b5061141b600480360360208110156113ef57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061424c565b604051808261ffff16815260200191505060405180910390f35b34801561144157600080fd5b50d3801561144e57600080fd5b50d2801561145b57600080fd5b506114646142e2565b60405180821515815260200191505060405180910390f35b34801561148857600080fd5b50d3801561149557600080fd5b50d280156114a257600080fd5b506114ab614302565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156114e357600080fd5b50d380156114f057600080fd5b50d280156114fd57600080fd5b506115406004803603602081101561151457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614328565b005b34801561154e57600080fd5b50d3801561155b57600080fd5b50d2801561156857600080fd5b506115ab6004803603602081101561157f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061451a565b604051808561ffff1681526020018461ffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405180910390f35b34801561161657600080fd5b50d3801561162357600080fd5b50d2801561163057600080fd5b506116996004803603608081101561164757600080fd5b81019080803561ffff169060200190929190803561ffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506145a6565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156116d95780820151818401526020810190506116be565b50505050905090810190601f1680156117065780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561172057600080fd5b50d3801561172d57600080fd5b50d2801561173a57600080fd5b506117436148ea565b604051808261ffff16815260200191505060405180910390f35b34801561176957600080fd5b50d3801561177657600080fd5b50d2801561178357600080fd5b506118096004803603604081101561179a57600080fd5b81019080803561ffff169060200190929190803590602001906401000000008111156117c557600080fd5b8201836020820111156117d757600080fd5b803590602001918460018302840111640100000000831117156117f957600080fd5b90919293919293905050506148fc565b604051808267ffffffffffffffff16815260200191505060405180910390f35b80600060149054906101000a900461ffff1661ffff168161ffff16111580611858575061ffff80168161ffff16145b6118ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180614ae1602c913960400191505060405180910390fd5b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050828160000160006101000a81548161ffff021916908361ffff160217905550600160008461ffff1661ffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ff2bc255571446a2f9b7cb2f0c75fd6a279bdb469f515d5a5c9910f713aeb32ca3384604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018261ffff1681526020019250505060405180910390a1505050565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600061ffff168160000160009054906101000a900461ffff1661ffff1614611a69578060000160009054906101000a900461ffff16611a7b565b600260009054906101000a900461ffff165b915050919050565b611a8b61495c565b73ffffffffffffffffffffffffffffffffffffffff16611aa9612a77565b73ffffffffffffffffffffffffffffffffffffffff1614611b32576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600060149054906101000a900461ffff1661ffff168161ffff16111580611b61575061ffff80168161ffff16145b611bb6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180614ae1602c913960400191505060405180910390fd5b600061ffff168261ffff161415611c18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180614d1c6028913960400191505060405180910390fd5b81600260006101000a81548161ffff021916908361ffff16021790555060016000600260009054906101000a900461ffff1661ffff1661ffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507feb685c087d38029bbde35299b748c6b80f099c7e5c3f9fe2dbb3ace1099e3b0782604051808261ffff16815260200191505060405180910390a15050565b600080600760008661ffff1661ffff1681526020019081526020016000208484604051808383808284378083019250505092505050908152602001604051809103902090506000801b816001015414159150509392505050565b80600060149054906101000a900461ffff1661ffff168161ffff16111580611d89575061ffff80168161ffff16145b611dde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180614ae1602c913960400191505060405180910390fd5b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050828160000160026101000a81548161ffff021916908361ffff160217905550600160008461ffff1661ffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f9c199418af68d1547d7b99c71ee6a9eb18b27990dfcfb38982f3e3fb8c7b6bef3384604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018261ffff1681526020019250505060405180910390a1505050565b611f2461495c565b73ffffffffffffffffffffffffffffffffffffffff16611f42612a77565b73ffffffffffffffffffffffffffffffffffffffff1614611fcb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612051576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180614c72602d913960400191505060405180910390fd5b61ffff600060149054906101000a900461ffff1661ffff16106120bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180614c46602c913960400191505060405180910390fd5b6000601481819054906101000a900461ffff168092919060010191906101000a81548161ffff021916908361ffff1602179055505080600160008060149054906101000a900461ffff1661ffff1661ffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f18c7402e58a1bec57f4eb75af242f65ababbbe09d9db383e0542f00635e5b8c5600060149054906101000a900461ffff16604051808261ffff16815260200191505060405180910390a150565b600081565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b6000806000600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008061ffff168260000160009054906101000a900461ffff1661ffff161461226b578160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661228f565b600260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b90508073ffffffffffffffffffffffffffffffffffffffff166340a7bb108c8c8c8c8c8c8c6040518863ffffffff1660e01b8152600401808861ffff1681526020018773ffffffffffffffffffffffffffffffffffffffff168152602001806020018515158152602001806020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509950505050505050505050604080518083038186803b15801561237557600080fd5b505afa158015612389573d6000803e3d6000fd5b505050506040513d604081101561239f57600080fd5b81019080805190602001909291908051906020019092919050505093509350505097509795505050505050565b6000600760008561ffff1661ffff1681526020019081526020016000208383604051808383808284378083019250505092505050908152602001604051809103902090506000801b8160010154141561248d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c617965725a65726f3a206e6f2073746f726564207061796c6f61640000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168160000160089054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612552576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4c617965725a65726f3a20696e76616c69642063616c6c65720000000000000081525060200191505060405180910390fd5b60008160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060008160000160086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000801b81600101819055507f23d2684f396e92a6e2ff2d16f98e6fea00d50cb27a64b531bc0748f730211f98848484604051808461ffff168152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a150505050565b600260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900461ffff1681565b61268561495c565b73ffffffffffffffffffffffffffffffffffffffff166126a3612a77565b73ffffffffffffffffffffffffffffffffffffffff161461272c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000160029054906101000a900461ffff16905061ffff80168161ffff1614156128a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180614d73602b913960400191505060405180910390fd5b600061ffff168161ffff1614156129505761ffff801660028054906101000a900461ffff1661ffff161415612926576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180614b0d6035913960400191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250612978565b8160000160049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692505b5050919050565b600760205281600052604060002081805160208101820180518482526020830160208501208183528095505050505050600091509150508060000160009054906101000a900467ffffffffffffffff16908060000160089054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905083565b6000600660008461ffff1661ffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900467ffffffffffffffff16905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6005602052816000526040600020818051602081018201805184825260208301602085012081835280955050505050506000915091509054906101000a900467ffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000160009054906101000a900461ffff16905061ffff80168161ffff161415612bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180614c1e6028913960400191505060405180910390fd5b600061ffff168161ffff161415612c785761ffff8016600260009054906101000a900461ffff1661ffff161415612c4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180614bb66032913960400191505060405180910390fd5b600260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250612ca0565b8160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692505b5050919050565b61ffff81565b600160ff16600860019054906101000a900460ff1660ff1614612d38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4c617965725a65726f3a206e6f2072656365697665207265656e7472616e637981525060200191505060405180910390fd5b6002600860016101000a81548160ff021916908360ff1602179055506000600760008761ffff1661ffff1681526020019081526020016000208585604051808383808284378083019250505092505050908152602001604051809103902090506000801b81600101541415612e15576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4c617965725a65726f3a206e6f2073746f726564207061796c6f61640000000081525060200191505060405180910390fd5b8060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1683839050148015612e6a5750806001015483836040518083838082843780830192505050925050506040518091039020145b612edc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4c617965725a65726f3a20696e76616c6964207061796c6f616400000000000081525060200191505060405180910390fd5b60008160000160089054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008260000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060008260000160086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000801b82600101819055506000600560008961ffff1661ffff1681526020019081526020016000208787604051808383808284378083019250505092505050908152602001604051809103902060009054906101000a900467ffffffffffffffff1690508173ffffffffffffffffffffffffffffffffffffffff16621d3567898989858a8a6040518763ffffffff1660e01b8152600401808761ffff168152602001806020018567ffffffffffffffff168152602001806020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b1580156130aa57600080fd5b505af11580156130be573d6000803e3d6000fd5b505050507f612434f39581c8e7d99746c9c20c6eb0ce8c0eb99f007c5719d620841370957d8888888486604051808661ffff168152602001806020018467ffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281038252868682818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a15050506001600860016101000a81548160ff021916908360ff1602179055505050505050565b60066020528160005260406000206020528060005260406000206000915091509054906101000a900467ffffffffffffffff1681565b6131c561495c565b73ffffffffffffffffffffffffffffffffffffffff166131e3612a77565b73ffffffffffffffffffffffffffffffffffffffff161461326c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600060149054906101000a900461ffff1661ffff168161ffff1611158061329b575061ffff80168161ffff16145b6132f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180614ae1602c913960400191505060405180910390fd5b600061ffff168261ffff161415613352576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180614cce602b913960400191505060405180910390fd5b816002806101000a81548161ffff021916908361ffff1602179055506001600060028054906101000a900461ffff1661ffff1661ffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f96874dbe70c8a59e7996847475489a70a1b5096ed92cdc858b63ebabd071f81982604051808261ffff16815260200191505060405180910390a15050565b600060149054906101000a900461ffff1681565b600160ff16600860019054906101000a900460ff1660ff16146134d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4c617965725a65726f3a206e6f2072656365697665207265656e7472616e637981525060200191505060405180910390fd5b6002600860016101000a81548160ff021916908360ff160217905550600560008961ffff1661ffff16815260200190815260200160002087876040518083838082843780830192505050925050509081526020016040518091039020600081819054906101000a900467ffffffffffffffff1660010191906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905567ffffffffffffffff168467ffffffffffffffff16146135f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f4c617965725a65726f3a2077726f6e67206e6f6e63650000000000000000000081525060200191505060405180910390fd5b6000600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600061ffff168160000160029054906101000a900461ffff1661ffff16141561370a573373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613705576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180614b426022913960400191505060405180910390fd5b6137d0565b3373ffffffffffffffffffffffffffffffffffffffff168160000160049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146137cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4c617965725a65726f3a20696e76616c6964206c69627261727900000000000081525060200191505060405180910390fd5b5b6000600760008b61ffff1661ffff1681526020019081526020016000208989604051808383808284378083019250505092505050908152602001604051809103902090506000801b816001015414613890576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4c617965725a65726f3a20696e206d65737361676520626c6f636b696e67000081525060200191505060405180910390fd5b8673ffffffffffffffffffffffffffffffffffffffff16621d3567868c8c8c8b8a8a6040518863ffffffff1660e01b8152600401808761ffff168152602001806020018567ffffffffffffffff168152602001806020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600088803b15801561396157600080fd5b5087f193505050508015613973575060015b613c0e573d80600081146139a3576040519150601f19603f3d011682016040523d82523d6000602084013e6139a8565b606091505b5060405180606001604052808686905067ffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff16815260200186866040518083838082843780830192505050925050506040518091039020815250600760008d61ffff1661ffff1681526020019081526020016000208b8b604051808383808284378083019250505092505050908152602001604051809103902060008201518160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060208201518160000160086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101559050507f0f9e4d95b62f08222d612b5ab92039cd8fbbbea550a95e8df9f927436bbdf5db8b8b8b8b8b8a8a88604051808961ffff168152602001806020018773ffffffffffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff168152602001806020018060200184810384528b8b82818152602001925080828437600081840152601f19601f8201169050808301925050508481038352878782818152602001925080828437600081840152601f19601f820116905080830192505050848103825285818151815260200191508051906020019080838360005b83811015613bc5578082015181840152602081019050613baa565b50505050905090810190601f168015613bf25780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390a150613c0f565b5b50506001600860016101000a81548160ff021916908360ff1602179055505050505050505050565b600160ff16600860009054906101000a900460ff1660ff1614613cc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4c617965725a65726f3a206e6f2073656e64207265656e7472616e637900000081525060200191505060405180910390fd5b6002600860006101000a81548160ff021916908360ff1602179055506000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000600660008c61ffff1661ffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081819054906101000a900467ffffffffffffffff1660010191906101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790559050613dc582614964565b73ffffffffffffffffffffffffffffffffffffffff16634d3a0f7c3433848f8f8f8f8f8f8f8f8f6040518d63ffffffff1660e01b8152600401808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b67ffffffffffffffff1681526020018a61ffff16815260200180602001806020018773ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018060200184810384528c8c82818152602001925080828437600081840152601f19601f82011690508083019250505084810383528a8a82818152602001925080828437600081840152601f19601f8201169050808301925050508481038252868682818152602001925080828437600081840152601f19601f8201169050808301925050509e5050505050505050505050505050506000604051808303818588803b158015613f2357600080fd5b505af1158015613f37573d6000803e3d6000fd5b505050505050506001600860006101000a81548160ff021916908360ff160217905550505050505050505050565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260ff16600860019054906101000a900460ff1660ff1614905090565b84600060149054906101000a900461ffff1661ffff168161ffff16111580613fe7575061ffff80168161ffff16145b61403c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180614ae1602c913960400191505060405180910390fd5b600061ffff168661ffff1614156140df5760028054906101000a900461ffff1661ffff16600260009054906101000a900461ffff1661ffff16146140cb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526036815260200180614be86036913960400191505060405180910390fd5b600260009054906101000a900461ffff1695505b61ffff80168661ffff161415614140576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180614d44602f913960400191505060405180910390fd5b600160008761ffff1661ffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f8e1734c86338787876040518663ffffffff1660e01b8152600401808661ffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561422c57600080fd5b505af1158015614240573d6000803e3d6000fd5b50505050505050505050565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600061ffff168160000160029054906101000a900461ffff1661ffff16146142ca578060000160029054906101000a900461ffff166142da565b60028054906101000a900461ffff165b915050919050565b6000600260ff16600860009054906101000a900460ff1660ff1614905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61433061495c565b73ffffffffffffffffffffffffffffffffffffffff1661434e612a77565b73ffffffffffffffffffffffffffffffffffffffff16146143d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561445d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180614b646026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60046020528060005260406000206000915090508060000160009054906101000a900461ffff16908060000160029054906101000a900461ffff16908060000160049054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905084565b606084600060149054906101000a900461ffff1661ffff168161ffff161115806145d7575061ffff80168161ffff16145b61462c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180614ae1602c913960400191505060405180910390fd5b600061ffff168661ffff1614156146cf5760028054906101000a900461ffff1661ffff16600260009054906101000a900461ffff1661ffff16146146bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180614b8a602c913960400191505060405180910390fd5b600260009054906101000a900461ffff1695505b61ffff80168661ffff161415614730576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180614c9f602f913960400191505060405180910390fd5b600160008761ffff1661ffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166352d2871f8686866040518463ffffffff1660e01b8152600401808461ffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060006040518083038186803b1580156147e657600080fd5b505afa1580156147fa573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561482457600080fd5b810190808051604051939291908464010000000082111561484457600080fd5b8382019150602082018581111561485a57600080fd5b825186600182028301116401000000008211171561487757600080fd5b8083526020830192505050908051906020019080838360005b838110156148ab578082015181840152602081019050614890565b50505050905090810190601f1680156148d85780820380516001836020036101000a031916815260200191505b50604052505050915050949350505050565b60028054906101000a900461ffff1681565b6000600560008561ffff1661ffff1681526020019081526020016000208383604051808383808284378083019250505092505050908152602001604051809103902060009054906101000a900467ffffffffffffffff1690509392505050565b600033905090565b60008061ffff168260000160009054906101000a900461ffff1661ffff161415614a235761ffff8016600260009054906101000a900461ffff1661ffff1614156149f9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180614cf96023913960400191505060405180910390fd5b600260049054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050614adb565b61ffff80168260000160009054906101000a900461ffff1661ffff161415614ab3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4c617965725a65726f3a20696e20424c4f434b5f56455253494f4e000000000081525060200191505060405180910390fd5b8160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b91905056fe4c617965725a65726f3a20696e76616c6964206d6573736167696e67206c6962726172792076657273696f6e4c617965725a65726f3a20726563656976652076657273696f6e202864656661756c742920697320424c4f434b5f56455253494f4e4c617965725a65726f3a20696e76616c69642064656661756c74206c6962726172794f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734c617965725a65726f3a206e6f2044454641554c5420636f6e666967207768696c65206d6967726174696f6e4c617965725a65726f3a2073656e642076657273696f6e202864656661756c742920697320424c4f434b5f56455253494f4e4c617965725a65726f3a2063616e206e6f742073657420436f6e66696720647572696e672044454641554c54206d6967726174696f6e4c617965725a65726f3a2073656e642076657273696f6e20697320424c4f434b5f56455253494f4e4c617965725a65726f3a2063616e206e6f7420616464206e6577206d6573736167696e67206c6962726172794c617965725a65726f3a206e65772076657273696f6e2063616e6e6f74206265207a65726f20616464726573734c617965725a65726f3a2063616e206e6f742067657420636f6e66696720666f7220424c4f434b5f56455253494f4e4c617965725a65726f3a2064656661756c7420726563656976652076657273696f6e206d757374203e20304c617965725a65726f3a2064656661756c7420696e20424c4f434b5f56455253494f4e4c617965725a65726f3a2064656661756c742073656e642076657273696f6e206d757374203e20304c617965725a65726f3a2063616e206e6f742073657420636f6e66696720666f7220424c4f434b5f56455253494f4e4c617965725a65726f3a20726563656976652076657273696f6e20697320424c4f434b5f56455253494f4ea2646970667358221220e1581fe11d37f0bd7f76500f0c6e921e9289a49c5db269cb8b51b6ff5df312f364736f6c63430007060033"
960
+ }