privately-smartcontract-lib 1.0.6 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/MockUSDC.json +342 -0
  2. package/package.json +4 -4
  3. package/PrivatelyCoin.json +0 -863
  4. package/dist/PrivatelyAuctionSystem.json +0 -734
  5. package/dist/PrivatelyCoin.json +0 -863
  6. package/dist/PrivatelyCollection.json +0 -865
  7. package/dist/client.d.ts +0 -38
  8. package/dist/client.js +0 -67
  9. package/dist/common/index.d.ts +0 -2
  10. package/dist/common/index.js +0 -18
  11. package/dist/common/privately.error.d.ts +0 -5
  12. package/dist/common/privately.error.js +0 -47
  13. package/dist/common/request-signature.d.ts +0 -17
  14. package/dist/common/request-signature.js +0 -38
  15. package/dist/index.d.ts +0 -5
  16. package/dist/index.js +0 -21
  17. package/dist/modules/auctions/auctions.auction.d.ts +0 -12
  18. package/dist/modules/auctions/auctions.auction.js +0 -29
  19. package/dist/modules/auctions/auctions.bid.reqest.d.ts +0 -12
  20. package/dist/modules/auctions/auctions.bid.reqest.js +0 -11
  21. package/dist/modules/auctions/auctions.client.d.ts +0 -147
  22. package/dist/modules/auctions/auctions.client.js +0 -312
  23. package/dist/modules/auctions/auctions.create.request.d.ts +0 -13
  24. package/dist/modules/auctions/auctions.create.request.js +0 -12
  25. package/dist/modules/auctions/auctions.errors.d.ts +0 -6
  26. package/dist/modules/auctions/auctions.errors.js +0 -14
  27. package/dist/modules/auctions/auctions.events.d.ts +0 -5
  28. package/dist/modules/auctions/auctions.events.js +0 -2
  29. package/dist/modules/auctions/auctions.nonces.d.ts +0 -4
  30. package/dist/modules/auctions/auctions.nonces.js +0 -2
  31. package/dist/modules/auctions/index.d.ts +0 -6
  32. package/dist/modules/auctions/index.js +0 -22
  33. package/dist/modules/coin/coin.approve.request.d.ts +0 -8
  34. package/dist/modules/coin/coin.approve.request.js +0 -11
  35. package/dist/modules/coin/coin.client.d.ts +0 -120
  36. package/dist/modules/coin/coin.client.js +0 -246
  37. package/dist/modules/coin/coin.errors.d.ts +0 -6
  38. package/dist/modules/coin/coin.errors.js +0 -23
  39. package/dist/modules/coin/coin.events.d.ts +0 -3
  40. package/dist/modules/coin/coin.events.js +0 -2
  41. package/dist/modules/coin/coin.nonces.d.ts +0 -4
  42. package/dist/modules/coin/coin.nonces.js +0 -2
  43. package/dist/modules/coin/coin.transfer.request.d.ts +0 -8
  44. package/dist/modules/coin/coin.transfer.request.js +0 -11
  45. package/dist/modules/coin/index.d.ts +0 -5
  46. package/dist/modules/coin/index.js +0 -21
  47. package/dist/modules/collection/collection.approve.request.d.ts +0 -8
  48. package/dist/modules/collection/collection.approve.request.js +0 -11
  49. package/dist/modules/collection/collection.client.d.ts +0 -97
  50. package/dist/modules/collection/collection.client.js +0 -224
  51. package/dist/modules/collection/collection.errors.d.ts +0 -6
  52. package/dist/modules/collection/collection.errors.js +0 -14
  53. package/dist/modules/collection/collection.events.d.ts +0 -3
  54. package/dist/modules/collection/collection.events.js +0 -2
  55. package/dist/modules/collection/collection.mint.request.d.ts +0 -9
  56. package/dist/modules/collection/collection.mint.request.js +0 -12
  57. package/dist/modules/collection/collection.nft.d.ts +0 -8
  58. package/dist/modules/collection/collection.nft.js +0 -21
  59. package/dist/modules/collection/collection.nonces.d.ts +0 -5
  60. package/dist/modules/collection/collection.nonces.js +0 -2
  61. package/dist/modules/collection/collection.transfer.request.d.ts +0 -12
  62. package/dist/modules/collection/collection.transfer.request.js +0 -11
  63. package/dist/modules/collection/index.d.ts +0 -7
  64. package/dist/modules/collection/index.js +0 -23
@@ -1,734 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "PrivatelyAuctionSystem",
4
- "sourceName": "contracts/PrivatelyAuctionSystem.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "address",
10
- "name": "coinContractAddress",
11
- "type": "address"
12
- },
13
- {
14
- "internalType": "address",
15
- "name": "collectionContractAddress",
16
- "type": "address"
17
- },
18
- {
19
- "internalType": "string",
20
- "name": "name",
21
- "type": "string"
22
- },
23
- {
24
- "internalType": "string",
25
- "name": "version",
26
- "type": "string"
27
- }
28
- ],
29
- "stateMutability": "nonpayable",
30
- "type": "constructor"
31
- },
32
- {
33
- "inputs": [],
34
- "name": "ECDSAInvalidSignature",
35
- "type": "error"
36
- },
37
- {
38
- "inputs": [
39
- {
40
- "internalType": "uint256",
41
- "name": "length",
42
- "type": "uint256"
43
- }
44
- ],
45
- "name": "ECDSAInvalidSignatureLength",
46
- "type": "error"
47
- },
48
- {
49
- "inputs": [
50
- {
51
- "internalType": "bytes32",
52
- "name": "s",
53
- "type": "bytes32"
54
- }
55
- ],
56
- "name": "ECDSAInvalidSignatureS",
57
- "type": "error"
58
- },
59
- {
60
- "inputs": [],
61
- "name": "InvalidShortString",
62
- "type": "error"
63
- },
64
- {
65
- "inputs": [],
66
- "name": "ReentrancyGuardReentrantCall",
67
- "type": "error"
68
- },
69
- {
70
- "inputs": [
71
- {
72
- "internalType": "address",
73
- "name": "token",
74
- "type": "address"
75
- }
76
- ],
77
- "name": "SafeERC20FailedOperation",
78
- "type": "error"
79
- },
80
- {
81
- "inputs": [
82
- {
83
- "internalType": "string",
84
- "name": "str",
85
- "type": "string"
86
- }
87
- ],
88
- "name": "StringTooLong",
89
- "type": "error"
90
- },
91
- {
92
- "anonymous": false,
93
- "inputs": [],
94
- "name": "EIP712DomainChanged",
95
- "type": "event"
96
- },
97
- {
98
- "anonymous": false,
99
- "inputs": [
100
- {
101
- "indexed": true,
102
- "internalType": "uint256",
103
- "name": "auctionId",
104
- "type": "uint256"
105
- },
106
- {
107
- "indexed": true,
108
- "internalType": "address",
109
- "name": "bidder",
110
- "type": "address"
111
- },
112
- {
113
- "indexed": false,
114
- "internalType": "uint256",
115
- "name": "bidAmount",
116
- "type": "uint256"
117
- }
118
- ],
119
- "name": "OnBid",
120
- "type": "event"
121
- },
122
- {
123
- "anonymous": false,
124
- "inputs": [
125
- {
126
- "indexed": true,
127
- "internalType": "uint256",
128
- "name": "auctionId",
129
- "type": "uint256"
130
- },
131
- {
132
- "indexed": true,
133
- "internalType": "address",
134
- "name": "seller",
135
- "type": "address"
136
- },
137
- {
138
- "indexed": true,
139
- "internalType": "uint256",
140
- "name": "tokenId",
141
- "type": "uint256"
142
- },
143
- {
144
- "indexed": false,
145
- "internalType": "uint256",
146
- "name": "startPrice",
147
- "type": "uint256"
148
- },
149
- {
150
- "indexed": false,
151
- "internalType": "uint256",
152
- "name": "endTime",
153
- "type": "uint256"
154
- }
155
- ],
156
- "name": "OnCreate",
157
- "type": "event"
158
- },
159
- {
160
- "anonymous": false,
161
- "inputs": [
162
- {
163
- "indexed": true,
164
- "internalType": "uint256",
165
- "name": "auctionId",
166
- "type": "uint256"
167
- },
168
- {
169
- "indexed": true,
170
- "internalType": "uint256",
171
- "name": "tokenId",
172
- "type": "uint256"
173
- },
174
- {
175
- "indexed": true,
176
- "internalType": "address",
177
- "name": "highestBidder",
178
- "type": "address"
179
- },
180
- {
181
- "indexed": false,
182
- "internalType": "uint256",
183
- "name": "highestBid",
184
- "type": "uint256"
185
- }
186
- ],
187
- "name": "OnEnd",
188
- "type": "event"
189
- },
190
- {
191
- "anonymous": false,
192
- "inputs": [
193
- {
194
- "indexed": true,
195
- "internalType": "address",
196
- "name": "user",
197
- "type": "address"
198
- },
199
- {
200
- "indexed": false,
201
- "internalType": "uint256",
202
- "name": "amount",
203
- "type": "uint256"
204
- }
205
- ],
206
- "name": "OnWithdraw",
207
- "type": "event"
208
- },
209
- {
210
- "inputs": [
211
- {
212
- "internalType": "uint256",
213
- "name": "",
214
- "type": "uint256"
215
- }
216
- ],
217
- "name": "activeAuctionByToken",
218
- "outputs": [
219
- {
220
- "internalType": "uint256",
221
- "name": "",
222
- "type": "uint256"
223
- }
224
- ],
225
- "stateMutability": "view",
226
- "type": "function"
227
- },
228
- {
229
- "inputs": [
230
- {
231
- "internalType": "uint256",
232
- "name": "",
233
- "type": "uint256"
234
- }
235
- ],
236
- "name": "auctions",
237
- "outputs": [
238
- {
239
- "internalType": "address",
240
- "name": "seller",
241
- "type": "address"
242
- },
243
- {
244
- "internalType": "uint256",
245
- "name": "tokenId",
246
- "type": "uint256"
247
- },
248
- {
249
- "internalType": "uint256",
250
- "name": "startPrice",
251
- "type": "uint256"
252
- },
253
- {
254
- "internalType": "uint256",
255
- "name": "highestBid",
256
- "type": "uint256"
257
- },
258
- {
259
- "internalType": "address",
260
- "name": "highestBidder",
261
- "type": "address"
262
- },
263
- {
264
- "internalType": "uint256",
265
- "name": "endTime",
266
- "type": "uint256"
267
- },
268
- {
269
- "internalType": "bool",
270
- "name": "settled",
271
- "type": "bool"
272
- }
273
- ],
274
- "stateMutability": "view",
275
- "type": "function"
276
- },
277
- {
278
- "inputs": [
279
- {
280
- "internalType": "address",
281
- "name": "",
282
- "type": "address"
283
- }
284
- ],
285
- "name": "bidNonces",
286
- "outputs": [
287
- {
288
- "internalType": "uint256",
289
- "name": "",
290
- "type": "uint256"
291
- }
292
- ],
293
- "stateMutability": "view",
294
- "type": "function"
295
- },
296
- {
297
- "inputs": [],
298
- "name": "coinContract",
299
- "outputs": [
300
- {
301
- "internalType": "contract IERC20",
302
- "name": "",
303
- "type": "address"
304
- }
305
- ],
306
- "stateMutability": "view",
307
- "type": "function"
308
- },
309
- {
310
- "inputs": [],
311
- "name": "collectionContract",
312
- "outputs": [
313
- {
314
- "internalType": "contract IERC721",
315
- "name": "",
316
- "type": "address"
317
- }
318
- ],
319
- "stateMutability": "view",
320
- "type": "function"
321
- },
322
- {
323
- "inputs": [
324
- {
325
- "internalType": "address",
326
- "name": "",
327
- "type": "address"
328
- }
329
- ],
330
- "name": "createAuctionNonces",
331
- "outputs": [
332
- {
333
- "internalType": "uint256",
334
- "name": "",
335
- "type": "uint256"
336
- }
337
- ],
338
- "stateMutability": "view",
339
- "type": "function"
340
- },
341
- {
342
- "inputs": [],
343
- "name": "eip712Domain",
344
- "outputs": [
345
- {
346
- "internalType": "bytes1",
347
- "name": "fields",
348
- "type": "bytes1"
349
- },
350
- {
351
- "internalType": "string",
352
- "name": "name",
353
- "type": "string"
354
- },
355
- {
356
- "internalType": "string",
357
- "name": "version",
358
- "type": "string"
359
- },
360
- {
361
- "internalType": "uint256",
362
- "name": "chainId",
363
- "type": "uint256"
364
- },
365
- {
366
- "internalType": "address",
367
- "name": "verifyingContract",
368
- "type": "address"
369
- },
370
- {
371
- "internalType": "bytes32",
372
- "name": "salt",
373
- "type": "bytes32"
374
- },
375
- {
376
- "internalType": "uint256[]",
377
- "name": "extensions",
378
- "type": "uint256[]"
379
- }
380
- ],
381
- "stateMutability": "view",
382
- "type": "function"
383
- },
384
- {
385
- "inputs": [
386
- {
387
- "internalType": "uint256",
388
- "name": "auctionId",
389
- "type": "uint256"
390
- }
391
- ],
392
- "name": "finalizeAuction",
393
- "outputs": [],
394
- "stateMutability": "nonpayable",
395
- "type": "function"
396
- },
397
- {
398
- "inputs": [],
399
- "name": "getAllActiveAuctions",
400
- "outputs": [
401
- {
402
- "internalType": "uint256[]",
403
- "name": "",
404
- "type": "uint256[]"
405
- }
406
- ],
407
- "stateMutability": "view",
408
- "type": "function"
409
- },
410
- {
411
- "inputs": [],
412
- "name": "getAllAuctions",
413
- "outputs": [
414
- {
415
- "internalType": "uint256[]",
416
- "name": "",
417
- "type": "uint256[]"
418
- }
419
- ],
420
- "stateMutability": "view",
421
- "type": "function"
422
- },
423
- {
424
- "inputs": [],
425
- "name": "getAllExpiredUnfinalizedAuctions",
426
- "outputs": [
427
- {
428
- "internalType": "uint256[]",
429
- "name": "",
430
- "type": "uint256[]"
431
- }
432
- ],
433
- "stateMutability": "view",
434
- "type": "function"
435
- },
436
- {
437
- "inputs": [
438
- {
439
- "internalType": "uint256",
440
- "name": "auctionId",
441
- "type": "uint256"
442
- }
443
- ],
444
- "name": "getAuction",
445
- "outputs": [
446
- {
447
- "components": [
448
- {
449
- "internalType": "address",
450
- "name": "seller",
451
- "type": "address"
452
- },
453
- {
454
- "internalType": "uint256",
455
- "name": "tokenId",
456
- "type": "uint256"
457
- },
458
- {
459
- "internalType": "uint256",
460
- "name": "startPrice",
461
- "type": "uint256"
462
- },
463
- {
464
- "internalType": "uint256",
465
- "name": "highestBid",
466
- "type": "uint256"
467
- },
468
- {
469
- "internalType": "address",
470
- "name": "highestBidder",
471
- "type": "address"
472
- },
473
- {
474
- "internalType": "uint256",
475
- "name": "endTime",
476
- "type": "uint256"
477
- },
478
- {
479
- "internalType": "bool",
480
- "name": "settled",
481
- "type": "bool"
482
- }
483
- ],
484
- "internalType": "struct PrivatelyAuctionSystem.Auction",
485
- "name": "",
486
- "type": "tuple"
487
- }
488
- ],
489
- "stateMutability": "view",
490
- "type": "function"
491
- },
492
- {
493
- "inputs": [
494
- {
495
- "internalType": "uint256",
496
- "name": "tokenId",
497
- "type": "uint256"
498
- }
499
- ],
500
- "name": "getAuctionsByToken",
501
- "outputs": [
502
- {
503
- "components": [
504
- {
505
- "internalType": "address",
506
- "name": "seller",
507
- "type": "address"
508
- },
509
- {
510
- "internalType": "uint256",
511
- "name": "tokenId",
512
- "type": "uint256"
513
- },
514
- {
515
- "internalType": "uint256",
516
- "name": "startPrice",
517
- "type": "uint256"
518
- },
519
- {
520
- "internalType": "uint256",
521
- "name": "highestBid",
522
- "type": "uint256"
523
- },
524
- {
525
- "internalType": "address",
526
- "name": "highestBidder",
527
- "type": "address"
528
- },
529
- {
530
- "internalType": "uint256",
531
- "name": "endTime",
532
- "type": "uint256"
533
- },
534
- {
535
- "internalType": "bool",
536
- "name": "settled",
537
- "type": "bool"
538
- }
539
- ],
540
- "internalType": "struct PrivatelyAuctionSystem.Auction[]",
541
- "name": "results",
542
- "type": "tuple[]"
543
- }
544
- ],
545
- "stateMutability": "view",
546
- "type": "function"
547
- },
548
- {
549
- "inputs": [
550
- {
551
- "internalType": "address",
552
- "name": "user",
553
- "type": "address"
554
- }
555
- ],
556
- "name": "getNonces",
557
- "outputs": [
558
- {
559
- "internalType": "uint256",
560
- "name": "createAuctionNonce",
561
- "type": "uint256"
562
- },
563
- {
564
- "internalType": "uint256",
565
- "name": "bidNonce",
566
- "type": "uint256"
567
- }
568
- ],
569
- "stateMutability": "view",
570
- "type": "function"
571
- },
572
- {
573
- "inputs": [
574
- {
575
- "internalType": "address",
576
- "name": "seller",
577
- "type": "address"
578
- }
579
- ],
580
- "name": "getSellerAuctions",
581
- "outputs": [
582
- {
583
- "internalType": "uint256[]",
584
- "name": "",
585
- "type": "uint256[]"
586
- }
587
- ],
588
- "stateMutability": "view",
589
- "type": "function"
590
- },
591
- {
592
- "inputs": [],
593
- "name": "getTotalAuctionsCount",
594
- "outputs": [
595
- {
596
- "internalType": "uint256",
597
- "name": "",
598
- "type": "uint256"
599
- }
600
- ],
601
- "stateMutability": "view",
602
- "type": "function"
603
- },
604
- {
605
- "inputs": [
606
- {
607
- "internalType": "address",
608
- "name": "user",
609
- "type": "address"
610
- }
611
- ],
612
- "name": "getUserActiveBidAuctions",
613
- "outputs": [
614
- {
615
- "internalType": "uint256[]",
616
- "name": "",
617
- "type": "uint256[]"
618
- }
619
- ],
620
- "stateMutability": "view",
621
- "type": "function"
622
- },
623
- {
624
- "inputs": [
625
- {
626
- "internalType": "address",
627
- "name": "user",
628
- "type": "address"
629
- }
630
- ],
631
- "name": "getUserBidAuctions",
632
- "outputs": [
633
- {
634
- "internalType": "uint256[]",
635
- "name": "",
636
- "type": "uint256[]"
637
- }
638
- ],
639
- "stateMutability": "view",
640
- "type": "function"
641
- },
642
- {
643
- "inputs": [
644
- {
645
- "internalType": "address",
646
- "name": "bidder",
647
- "type": "address"
648
- },
649
- {
650
- "internalType": "uint256",
651
- "name": "auctionId",
652
- "type": "uint256"
653
- },
654
- {
655
- "internalType": "uint256",
656
- "name": "bidAmount",
657
- "type": "uint256"
658
- },
659
- {
660
- "internalType": "bytes",
661
- "name": "signature",
662
- "type": "bytes"
663
- }
664
- ],
665
- "name": "metaBidAuction",
666
- "outputs": [],
667
- "stateMutability": "nonpayable",
668
- "type": "function"
669
- },
670
- {
671
- "inputs": [
672
- {
673
- "internalType": "address",
674
- "name": "seller",
675
- "type": "address"
676
- },
677
- {
678
- "internalType": "uint256",
679
- "name": "tokenId",
680
- "type": "uint256"
681
- },
682
- {
683
- "internalType": "uint256",
684
- "name": "startPrice",
685
- "type": "uint256"
686
- },
687
- {
688
- "internalType": "uint256",
689
- "name": "endTime",
690
- "type": "uint256"
691
- },
692
- {
693
- "internalType": "bytes",
694
- "name": "signature",
695
- "type": "bytes"
696
- }
697
- ],
698
- "name": "metaCreateAuction",
699
- "outputs": [],
700
- "stateMutability": "nonpayable",
701
- "type": "function"
702
- },
703
- {
704
- "inputs": [
705
- {
706
- "internalType": "address",
707
- "name": "",
708
- "type": "address"
709
- }
710
- ],
711
- "name": "pendingWithdrawals",
712
- "outputs": [
713
- {
714
- "internalType": "uint256",
715
- "name": "",
716
- "type": "uint256"
717
- }
718
- ],
719
- "stateMutability": "view",
720
- "type": "function"
721
- },
722
- {
723
- "inputs": [],
724
- "name": "withdraw",
725
- "outputs": [],
726
- "stateMutability": "nonpayable",
727
- "type": "function"
728
- }
729
- ],
730
- "bytecode": "0x6101a060405234801561001157600080fd5b506040516150bb3803806150bb83398181016040528101906100339190610528565b818161004960008361023860201b90919060201c565b610120818152505061006560018261023860201b90919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a081815250506100a261028860201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff168152505050506001600281905550600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610156576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014d90610624565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036101c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101bc906106b6565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff166101808173ffffffffffffffffffffffffffffffffffffffff16815250508273ffffffffffffffffffffffffffffffffffffffff166101608173ffffffffffffffffffffffffffffffffffffffff168152505050505050610b45565b600060208351101561025a57610253836102e360201b60201c565b9050610282565b8261026a8361034b60201b60201c565b600001908161027991906108f7565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e0516101005146306040516020016102c8959493929190610a00565b60405160208183030381529060405280519060200120905090565b600080829050601f8151111561033057826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016103279190610a8c565b60405180910390fd5b80518161033c90610ade565b60001c1760001b915050919050565b6000819050919050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061039482610369565b9050919050565b6103a481610389565b81146103af57600080fd5b50565b6000815190506103c18161039b565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61041a826103d1565b810181811067ffffffffffffffff82111715610439576104386103e2565b5b80604052505050565b600061044c610355565b90506104588282610411565b919050565b600067ffffffffffffffff821115610478576104776103e2565b5b610481826103d1565b9050602081019050919050565b60005b838110156104ac578082015181840152602081019050610491565b60008484015250505050565b60006104cb6104c68461045d565b610442565b9050828152602081018484840111156104e7576104e66103cc565b5b6104f284828561048e565b509392505050565b600082601f83011261050f5761050e6103c7565b5b815161051f8482602086016104b8565b91505092915050565b600080600080608085870312156105425761054161035f565b5b6000610550878288016103b2565b9450506020610561878288016103b2565b935050604085015167ffffffffffffffff81111561058257610581610364565b5b61058e878288016104fa565b925050606085015167ffffffffffffffff8111156105af576105ae610364565b5b6105bb878288016104fa565b91505092959194509250565b600082825260208201905092915050565b7f496e76616c696420636f696e20636f6e74726163742061646472657373000000600082015250565b600061060e601d836105c7565b9150610619826105d8565b602082019050919050565b6000602082019050818103600083015261063d81610601565b9050919050565b7f496e76616c696420636f6c6c656374696f6e20636f6e7472616374206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006106a06023836105c7565b91506106ab82610644565b604082019050919050565b600060208201905081810360008301526106cf81610693565b9050919050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061072857607f821691505b60208210810361073b5761073a6106e1565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026107a37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610766565b6107ad8683610766565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006107f46107ef6107ea846107c5565b6107cf565b6107c5565b9050919050565b6000819050919050565b61080e836107d9565b61082261081a826107fb565b848454610773565b825550505050565b600090565b61083761082a565b610842818484610805565b505050565b5b818110156108665761085b60008261082f565b600181019050610848565b5050565b601f8211156108ab5761087c81610741565b61088584610756565b81016020851015610894578190505b6108a86108a085610756565b830182610847565b50505b505050565b600082821c905092915050565b60006108ce600019846008026108b0565b1980831691505092915050565b60006108e783836108bd565b9150826002028217905092915050565b610900826106d6565b67ffffffffffffffff811115610919576109186103e2565b5b6109238254610710565b61092e82828561086a565b600060209050601f831160018114610961576000841561094f578287015190505b61095985826108db565b8655506109c1565b601f19841661096f86610741565b60005b8281101561099757848901518255600182019150602085019450602081019050610972565b868310156109b457848901516109b0601f8916826108bd565b8355505b6001600288020188555050505b505050505050565b6000819050919050565b6109dc816109c9565b82525050565b6109eb816107c5565b82525050565b6109fa81610389565b82525050565b600060a082019050610a1560008301886109d3565b610a2260208301876109d3565b610a2f60408301866109d3565b610a3c60608301856109e2565b610a4960808301846109f1565b9695505050505050565b6000610a5e826106d6565b610a6881856105c7565b9350610a7881856020860161048e565b610a81816103d1565b840191505092915050565b60006020820190508181036000830152610aa68184610a53565b905092915050565b600081519050919050565b6000819050602082019050919050565b6000610ad582516109c9565b80915050919050565b6000610ae982610aae565b82610af384610ab9565b9050610afe81610ac9565b92506020821015610b3e57610b397fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802610766565b831692505b5050919050565b60805160a05160c05160e05161010051610120516101405161016051610180516144c0610bfb60003960008181610999015281816119bb01528181611efb01528181611fde015261265c015260008181610e0801528181610ebf015281816111c1015281816112b1015281816119970152818161246501526125780152600061295f0152600061292401526000612e6301526000612e4201526000612ab901526000612b0f01526000612b3801526144c06000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806372dd52e3116100b8578063cbd2bdfd1161007c578063cbd2bdfd1461039a578063e8083863146103b8578063ed9559f7146103d4578063f279f9ad14610404578063f3f4370314610434578063fc2260891461046457610142565b806372dd52e3146102ee57806378bd79351461030c57806384b0196e1461033c578063a0bff76b14610360578063bf63fb821461037e57610142565b80635ff341d21161010a5780635ff341d2146102065780636388923f14610224578063666b0cf91461024057806369ce5d87146102705780636b4b3baf146102a0578063709263c1146102d057610142565b80632dee466d146101475780633939edf5146101655780633ccfd60b146101955780635124ae951461019f578063571a26a0146101d0575b600080fd5b61014f610494565b60405161015c919061319e565b60405180910390f35b61017f600480360381019061017a91906131f6565b610643565b60405161018c91906133bc565b60405180910390f35b61019d6108be565b005b6101b960048036038101906101b4919061340a565b610a36565b6040516101c7929190613446565b60405180910390f35b6101ea60048036038101906101e591906131f6565b610ac2565b6040516101fd979695949392919061348d565b60405180910390f35b61020e610b51565b60405161021b919061319e565b60405180910390f35b61023e60048036038101906102399190613561565b610cfe565b005b61025a6004803603810190610255919061340a565b611589565b60405161026791906135fb565b60405180910390f35b61028a6004803603810190610285919061340a565b6115a1565b604051610297919061319e565b60405180910390f35b6102ba60048036038101906102b5919061340a565b6117a4565b6040516102c7919061319e565b60405180910390f35b6102d8611995565b6040516102e59190613675565b60405180910390f35b6102f66119b9565b60405161030391906136b1565b60405180910390f35b610326600480360381019061032191906131f6565b6119dd565b604051610333919061375a565b60405180910390f35b610344611af9565b6040516103579796959493929190613859565b60405180910390f35b610368611ba3565b60405161037591906135fb565b60405180910390f35b610398600480360381019061039391906138dd565b611bb0565b005b6103a26122c2565b6040516103af919061319e565b60405180910390f35b6103d260048036038101906103cd91906131f6565b61231a565b005b6103ee60048036038101906103e991906131f6565b612729565b6040516103fb91906135fb565b60405180910390f35b61041e6004803603810190610419919061340a565b612741565b60405161042b919061319e565b60405180910390f35b61044e6004803603810190610449919061340a565b6127d8565b60405161045b91906135fb565b60405180910390f35b61047e6004803603810190610479919061340a565b6127f0565b60405161048b91906135fb565b60405180910390f35b6060600080600a80549050905060005b8181101561052657600060036000600a84815481106104c6576104c5613965565b5b9060005260206000200154815260200190815260200160002090508060060160009054906101000a900460ff16158015610504575080600501544211155b15610518578380610514906139c3565b9450505b5080806001019150506104a4565b5060008267ffffffffffffffff81111561054357610542613a0b565b5b6040519080825280602002602001820160405280156105715781602001602082028036833780820191505090505b5090506000805b8381101561063857600060036000600a848154811061059a57610599613965565b5b9060005260206000200154815260200190815260200160002090508060060160009054906101000a900460ff161580156105d8575080600501544211155b1561062a57600a82815481106105f1576105f0613965565b5b906000526020600020015484848151811061060f5761060e613965565b5b6020026020010181815250508280610626906139c3565b9350505b508080600101915050610578565b508194505050505090565b6060600080600a80549050905060005b818110156106b2578460036000600a848154811061067457610673613965565b5b9060005260206000200154815260200190815260200160002060010154036106a55782806106a1906139c3565b9350505b8080600101915050610653565b508167ffffffffffffffff8111156106cd576106cc613a0b565b5b60405190808252806020026020018201604052801561070657816020015b6106f361306b565b8152602001906001900390816106eb5790505b5092506000805b828110156108b5578560036000600a848154811061072e5761072d613965565b5b9060005260206000200154815260200190815260200160002060010154036108a85760036000600a838154811061076857610767613965565b5b906000526020600020015481526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015481526020016006820160009054906101000a900460ff16151515158152505085838151811061088e5761088d613965565b5b602002602001018190525081806108a4906139c3565b9250505b808060010191505061070d565b50505050919050565b6108c6612808565b6000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811161094d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094490613a86565b60405180910390fd5b6000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109dd33827f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1661284c9092919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167fbace9fd79d5ea02ed8b43fa96af07e4e8f859a2f71ff878c748f5c22c578028482604051610a2391906135fb565b60405180910390a250610a346128cb565b565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050915091565b60036020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050154908060060160009054906101000a900460ff16905087565b6060600080600a80549050905060005b81811015610be257600060036000600a8481548110610b8357610b82613965565b5b9060005260206000200154815260200190815260200160002090508060060160009054906101000a900460ff16158015610bc05750806005015442115b15610bd4578380610bd0906139c3565b9450505b508080600101915050610b61565b5060008267ffffffffffffffff811115610bff57610bfe613a0b565b5b604051908082528060200260200182016040528015610c2d5781602001602082028036833780820191505090505b5090506000805b83811015610cf357600060036000600a8481548110610c5657610c55613965565b5b9060005260206000200154815260200190815260200160002090508060060160009054906101000a900460ff16158015610c935750806005015442115b15610ce557600a8281548110610cac57610cab613965565b5b9060005260206000200154848481518110610cca57610cc9613965565b5b6020026020010181815250508280610ce1906139c3565b9350505b508080600101915050610c34565b508194505050505090565b610d06612808565b6000600760008781526020019081526020016000205414610d5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5390613af2565b60405180910390fd5b428311610d9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9590613b5e565b60405180910390fd5b62093a8042610dad9190613b7e565b831115610def576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de690613bfe565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663081812fc876040518263ffffffff1660e01b8152600401610e5f91906135fb565b602060405180830381865afa158015610e7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea09190613c33565b73ffffffffffffffffffffffffffffffffffffffff161480610f5a57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e985e9c587306040518363ffffffff1660e01b8152600401610f18929190613c60565b602060405180830381865afa158015610f35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f599190613cb5565b5b610f99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9090613d2e565b60405180910390fd5b60006040518060a001604052808873ffffffffffffffffffffffffffffffffffffffff168152602001878152602001868152602001858152602001600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815250905060006110887f7be5249af73b8af0f3a9642084df32b0278b3e21858028e300ea894dc3c4d5428360000151846020015185604001518660600151876080015160405160200161106d96959493929190613d4e565b604051602081830303815290604052805190602001206128d5565b905060006110e385858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836128ef90919063ffffffff16565b90508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114a90613dfb565b60405180910390fd5b600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906111a3906139c3565b91905055508873ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636352211e8a6040518263ffffffff1660e01b815260040161121891906135fb565b602060405180830381865afa158015611235573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112599190613c33565b73ffffffffffffffffffffffffffffffffffffffff16146112af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a690613e67565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166323b872dd8a308b6040518463ffffffff1660e01b815260040161130c93929190613e87565b600060405180830381600087803b15801561132657600080fd5b505af115801561133a573d6000803e3d6000fd5b505050506000898942600b546040516020016113599493929190613f27565b6040516020818303038152906040528051906020012060001c9050600b6000815480929190611387906139c3565b919050555060006040518060e001604052808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b81526020018a815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001898152602001600015158152509050806003600084815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a0820151816005015560c08201518160060160006101000a81548160ff02191690831515021790555090505081600760008c815260200190815260200160002081905550600a829080600181540180825580915050600190039060005260206000200160009091909190915055898b73ffffffffffffffffffffffffffffffffffffffff16837f872f4927295e3b20ee4645a26f98ff735a0af5c6ea34ba8e84281324153dd1cb8c8c60405161156c929190613446565b60405180910390a450505050506115816128cb565b505050505050565b60056020528060005260406000206000915090505481565b6060600080600a80549050905060005b8181101561165c578473ffffffffffffffffffffffffffffffffffffffff1660036000600a84815481106115e8576115e7613965565b5b9060005260206000200154815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361164f57828061164b906139c3565b9350505b80806001019150506115b1565b5060008267ffffffffffffffff81111561167957611678613a0b565b5b6040519080825280602002602001820160405280156116a75781602001602082028036833780820191505090505b5090506000805b83811015611797578673ffffffffffffffffffffffffffffffffffffffff1660036000600a84815481106116e5576116e4613965565b5b9060005260206000200154815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361178a57600a818154811061175157611750613965565b5b906000526020600020015483838151811061176f5761176e613965565b5b6020026020010181815250508180611786906139c3565b9250505b80806001019150506116ae565b5081945050505050919050565b60606000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000808280549050905060005b818110156118775760006003600086848154811061181757611816613965565b5b9060005260206000200154815260200190815260200160002090508060060160009054906101000a900460ff16158015611855575080600501544211155b15611869578380611865906139c3565b9450505b5080806001019150506117f6565b5060008267ffffffffffffffff81111561189457611893613a0b565b5b6040519080825280602002602001820160405280156118c25781602001602082028036833780820191505090505b5090506000805b83811015611987576000600360008884815481106118ea576118e9613965565b5b9060005260206000200154815260200190815260200160002090508060060160009054906101000a900460ff16158015611928575080600501544211155b15611979578682815481106119405761193f613965565b5b906000526020600020015484848151811061195e5761195d613965565b5b6020026020010181815250508280611975906139c3565b9350505b5080806001019150506118c9565b508195505050505050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6119e561306b565b600360008381526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015481526020016006820160009054906101000a900460ff1615151515815250509050919050565b600060608060008060006060611b0d61291b565b611b15612956565b46306000801b600067ffffffffffffffff811115611b3657611b35613a0b565b5b604051908082528060200260200182016040528015611b645781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600a80549050905090565b611bb8612808565b600060405180608001604052808773ffffffffffffffffffffffffffffffffffffffff168152602001868152602001858152602001600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481525090506000611c9b7f4fe13e9b5c3c29693ebfa1669379ca330a64d4132615b021171162526df4b0fb8360000151846020015185604001518660600151604051602001611c80959493929190613f75565b604051602081830303815290604052805190602001206128d5565b90506000611cf685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836128ef90919063ffffffff16565b90508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611d66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5d90613dfb565b60405180910390fd5b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611db6906139c3565b919050555060006003600089815260200190815260200160002090508060060160009054906101000a900460ff1615611e24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1b90614014565b60405180910390fd5b8060050154421115611e6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6290614080565b60405180910390fd5b80600301548711611eb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea8906140ec565b60405180910390fd5b8060020154871015611ef8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eef90614158565b60405180910390fd5b867f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e8b306040518363ffffffff1660e01b8152600401611f54929190613c60565b602060405180830381865afa158015611f71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f95919061418d565b1015611fd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcd90614206565b60405180910390fd5b6120238930897f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16612991909392919063ffffffff16565b60008160030154905060008260040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508883600301819055508a8360040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b815260200190815260200160002060009054906101000a900460ff166121d357600860008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208a90806001815401808255809150506001900390600052602060002001600090919091909150556001600960008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461225e5781600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546122569190613b7e565b925050819055505b8a73ffffffffffffffffffffffffffffffffffffffff168a7f72ae9131421b849cf909c122d6af26d1ba34a94635f45bf475c4b6b06b0ddeaa8b6040516122a591906135fb565b60405180910390a35050505050506122bb6128cb565b5050505050565b6060600a80548060200260200160405190810160405280929190818152602001828054801561231057602002820191906000526020600020905b8154815260200190600101908083116122fc575b5050505050905090565b612322612808565b60006003600083815260200190815260200160002090508060060160009054906101000a900460ff161561238b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238290614014565b60405180910390fd5b806005015442116123d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123c890614272565b60405180910390fd5b60018160060160006101000a81548160ff0219169083151502179055506000600760008360010154815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603612576577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166323b872dd308360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600101546040518463ffffffff1660e01b81526004016124e893929190613e87565b600060405180830381600087803b15801561250257600080fd5b505af1158015612516573d6000803e3d6000fd5b50505050600073ffffffffffffffffffffffffffffffffffffffff168160010154837fb25cfc4fabbacb24741d3ec1015d93bb6107e86543a3d66e8610fa859df2dd54600060405161256891906142cd565b60405180910390a45061271e565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166323b872dd308360040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600101546040518463ffffffff1660e01b81526004016125fb93929190613e87565b600060405180830381600087803b15801561261557600080fd5b505af1158015612629573d6000803e3d6000fd5b505050506126a08160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682600301547f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1661284c9092919063ffffffff16565b8060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168160010154837fb25cfc4fabbacb24741d3ec1015d93bb6107e86543a3d66e8610fa859df2dd54846003015460405161271491906135fb565b60405180910390a4505b6127266128cb565b50565b60076020528060005260406000206000915090505481565b6060600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156127cc57602002820191906000526020600020905b8154815260200190600101908083116127b8575b50505050509050919050565b60066020528060005260406000206000915090505481565b60046020528060005260406000206000915090505481565b6002805403612843576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028081905550565b6128c6838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb858560405160240161287f9291906142e8565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612a13565b505050565b6001600281905550565b60006128e86128e2612ab5565b83612b6c565b9050919050565b6000806000806128ff8686612bad565b92509250925061290f8282612c09565b82935050505092915050565b606061295160007f0000000000000000000000000000000000000000000000000000000000000000612d6d90919063ffffffff16565b905090565b606061298c60017f0000000000000000000000000000000000000000000000000000000000000000612d6d90919063ffffffff16565b905090565b612a0d848573ffffffffffffffffffffffffffffffffffffffff166323b872dd8686866040516024016129c693929190613e87565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612a13565b50505050565b600080602060008451602086016000885af180612a36576040513d6000823e3d81fd5b3d925060005191505060008214612a51576001811415612a6d565b60008473ffffffffffffffffffffffffffffffffffffffff163b145b15612aaf57836040517f5274afe7000000000000000000000000000000000000000000000000000000008152600401612aa69190614311565b60405180910390fd5b50505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015612b3157507f000000000000000000000000000000000000000000000000000000000000000046145b15612b5e577f00000000000000000000000000000000000000000000000000000000000000009050612b69565b612b66612e1d565b90505b90565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b60008060006041845103612bf25760008060006020870151925060408701519150606087015160001a9050612be488828585612eb3565b955095509550505050612c02565b60006002855160001b9250925092505b9250925092565b60006003811115612c1d57612c1c61432c565b5b826003811115612c3057612c2f61432c565b5b0315612d695760016003811115612c4a57612c4961432c565b5b826003811115612c5d57612c5c61432c565b5b03612c94576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60026003811115612ca857612ca761432c565b5b826003811115612cbb57612cba61432c565b5b03612d00578060001c6040517ffce698f7000000000000000000000000000000000000000000000000000000008152600401612cf791906135fb565b60405180910390fd5b600380811115612d1357612d1261432c565b5b826003811115612d2657612d2561432c565b5b03612d6857806040517fd78bce0c000000000000000000000000000000000000000000000000000000008152600401612d5f919061435b565b60405180910390fd5b5b5050565b606060ff60001b8314612d8a57612d8383612fa7565b9050612e17565b818054612d96906143a5565b80601f0160208091040260200160405190810160405280929190818152602001828054612dc2906143a5565b8015612e0f5780601f10612de457610100808354040283529160200191612e0f565b820191906000526020600020905b815481529060010190602001808311612df257829003601f168201915b505050505090505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001612e989594939291906143d6565b60405160208183030381529060405280519060200120905090565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c1115612ef3576000600385925092509250612f9d565b600060018888888860405160008152602001604052604051612f189493929190614445565b6020604051602081039080840390855afa158015612f3a573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612f8e57600060016000801b93509350935050612f9d565b8060008060001b935093509350505b9450945094915050565b60606000612fb48361301b565b90506000602067ffffffffffffffff811115612fd357612fd2613a0b565b5b6040519080825280601f01601f1916602001820160405280156130055781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b60008060ff8360001c169050601f811115613062576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6040518060e00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000151581525090565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b61311581613102565b82525050565b6000613127838361310c565b60208301905092915050565b6000602082019050919050565b600061314b826130d6565b61315581856130e1565b9350613160836130f2565b8060005b83811015613191578151613178888261311b565b975061318383613133565b925050600181019050613164565b5085935050505092915050565b600060208201905081810360008301526131b88184613140565b905092915050565b600080fd5b600080fd5b6131d381613102565b81146131de57600080fd5b50565b6000813590506131f0816131ca565b92915050565b60006020828403121561320c5761320b6131c0565b5b600061321a848285016131e1565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061327a8261324f565b9050919050565b61328a8161326f565b82525050565b60008115159050919050565b6132a581613290565b82525050565b60e0820160008201516132c16000850182613281565b5060208201516132d4602085018261310c565b5060408201516132e7604085018261310c565b5060608201516132fa606085018261310c565b50608082015161330d6080850182613281565b5060a082015161332060a085018261310c565b5060c082015161333360c085018261329c565b50505050565b600061334583836132ab565b60e08301905092915050565b6000602082019050919050565b600061336982613223565b613373818561322e565b935061337e8361323f565b8060005b838110156133af5781516133968882613339565b97506133a183613351565b925050600181019050613382565b5085935050505092915050565b600060208201905081810360008301526133d6818461335e565b905092915050565b6133e78161326f565b81146133f257600080fd5b50565b600081359050613404816133de565b92915050565b6000602082840312156134205761341f6131c0565b5b600061342e848285016133f5565b91505092915050565b61344081613102565b82525050565b600060408201905061345b6000830185613437565b6134686020830184613437565b9392505050565b6134788161326f565b82525050565b61348781613290565b82525050565b600060e0820190506134a2600083018a61346f565b6134af6020830189613437565b6134bc6040830188613437565b6134c96060830187613437565b6134d6608083018661346f565b6134e360a0830185613437565b6134f060c083018461347e565b98975050505050505050565b600080fd5b600080fd5b600080fd5b60008083601f840112613521576135206134fc565b5b8235905067ffffffffffffffff81111561353e5761353d613501565b5b60208301915083600182028301111561355a57613559613506565b5b9250929050565b60008060008060008060a0878903121561357e5761357d6131c0565b5b600061358c89828a016133f5565b965050602061359d89828a016131e1565b95505060406135ae89828a016131e1565b94505060606135bf89828a016131e1565b935050608087013567ffffffffffffffff8111156135e0576135df6131c5565b5b6135ec89828a0161350b565b92509250509295509295509295565b60006020820190506136106000830184613437565b92915050565b6000819050919050565b600061363b6136366136318461324f565b613616565b61324f565b9050919050565b600061364d82613620565b9050919050565b600061365f82613642565b9050919050565b61366f81613654565b82525050565b600060208201905061368a6000830184613666565b92915050565b600061369b82613642565b9050919050565b6136ab81613690565b82525050565b60006020820190506136c660008301846136a2565b92915050565b60e0820160008201516136e26000850182613281565b5060208201516136f5602085018261310c565b506040820151613708604085018261310c565b50606082015161371b606085018261310c565b50608082015161372e6080850182613281565b5060a082015161374160a085018261310c565b5060c082015161375460c085018261329c565b50505050565b600060e08201905061376f60008301846136cc565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6137aa81613775565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156137ea5780820151818401526020810190506137cf565b60008484015250505050565b6000601f19601f8301169050919050565b6000613812826137b0565b61381c81856137bb565b935061382c8185602086016137cc565b613835816137f6565b840191505092915050565b6000819050919050565b61385381613840565b82525050565b600060e08201905061386e600083018a6137a1565b81810360208301526138808189613807565b905081810360408301526138948188613807565b90506138a36060830187613437565b6138b0608083018661346f565b6138bd60a083018561384a565b81810360c08301526138cf8184613140565b905098975050505050505050565b6000806000806000608086880312156138f9576138f86131c0565b5b6000613907888289016133f5565b9550506020613918888289016131e1565b9450506040613929888289016131e1565b935050606086013567ffffffffffffffff81111561394a576139496131c5565b5b6139568882890161350b565b92509250509295509295909350565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006139ce82613102565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613a00576139ff613994565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e6f2066756e647320746f207769746864726177000000000000000000000000600082015250565b6000613a706014836137bb565b9150613a7b82613a3a565b602082019050919050565b60006020820190508181036000830152613a9f81613a63565b9050919050565b7f546f6b656e20616c726561647920696e206163746976652061756374696f6e00600082015250565b6000613adc601f836137bb565b9150613ae782613aa6565b602082019050919050565b60006020820190508181036000830152613b0b81613acf565b9050919050565b7f456e642074696d6520696e207061737400000000000000000000000000000000600082015250565b6000613b486010836137bb565b9150613b5382613b12565b602082019050919050565b60006020820190508181036000830152613b7781613b3b565b9050919050565b6000613b8982613102565b9150613b9483613102565b9250828201905080821115613bac57613bab613994565b5b92915050565b7f456e642074696d65206d7573742062652077697468696e203720646179730000600082015250565b6000613be8601e836137bb565b9150613bf382613bb2565b602082019050919050565b60006020820190508181036000830152613c1781613bdb565b9050919050565b600081519050613c2d816133de565b92915050565b600060208284031215613c4957613c486131c0565b5b6000613c5784828501613c1e565b91505092915050565b6000604082019050613c75600083018561346f565b613c82602083018461346f565b9392505050565b613c9281613290565b8114613c9d57600080fd5b50565b600081519050613caf81613c89565b92915050565b600060208284031215613ccb57613cca6131c0565b5b6000613cd984828501613ca0565b91505092915050565b7f4e6f7420617070726f7665640000000000000000000000000000000000000000600082015250565b6000613d18600c836137bb565b9150613d2382613ce2565b602082019050919050565b60006020820190508181036000830152613d4781613d0b565b9050919050565b600060c082019050613d63600083018961384a565b613d70602083018861346f565b613d7d6040830187613437565b613d8a6060830186613437565b613d976080830185613437565b613da460a0830184613437565b979650505050505050565b7f496e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b6000613de56011836137bb565b9150613df082613daf565b602082019050919050565b60006020820190508181036000830152613e1481613dd8565b9050919050565b7f4e6f7420746865206f776e657200000000000000000000000000000000000000600082015250565b6000613e51600d836137bb565b9150613e5c82613e1b565b602082019050919050565b60006020820190508181036000830152613e8081613e44565b9050919050565b6000606082019050613e9c600083018661346f565b613ea9602083018561346f565b613eb66040830184613437565b949350505050565b60008160601b9050919050565b6000613ed682613ebe565b9050919050565b6000613ee882613ecb565b9050919050565b613f00613efb8261326f565b613edd565b82525050565b6000819050919050565b613f21613f1c82613102565b613f06565b82525050565b6000613f338287613eef565b601482019150613f438286613f10565b602082019150613f538285613f10565b602082019150613f638284613f10565b60208201915081905095945050505050565b600060a082019050613f8a600083018861384a565b613f97602083018761346f565b613fa46040830186613437565b613fb16060830185613437565b613fbe6080830184613437565b9695505050505050565b7f41756374696f6e20616c726561647920736574746c6564000000000000000000600082015250565b6000613ffe6017836137bb565b915061400982613fc8565b602082019050919050565b6000602082019050818103600083015261402d81613ff1565b9050919050565b7f41756374696f6e20656e64656400000000000000000000000000000000000000600082015250565b600061406a600d836137bb565b915061407582614034565b602082019050919050565b600060208201905081810360008301526140998161405d565b9050919050565b7f426964206e6f74206869676820656e6f75676800000000000000000000000000600082015250565b60006140d66013836137bb565b91506140e1826140a0565b602082019050919050565b60006020820190508181036000830152614105816140c9565b9050919050565b7f4269642062656c6f772073746172742070726963650000000000000000000000600082015250565b60006141426015836137bb565b915061414d8261410c565b602082019050919050565b6000602082019050818103600083015261417181614135565b9050919050565b600081519050614187816131ca565b92915050565b6000602082840312156141a3576141a26131c0565b5b60006141b184828501614178565b91505092915050565b7f496e73756666696369656e7420746f6b656e20616c6c6f77616e636500000000600082015250565b60006141f0601c836137bb565b91506141fb826141ba565b602082019050919050565b6000602082019050818103600083015261421f816141e3565b9050919050565b7f41756374696f6e206e6f7420656e646564207965740000000000000000000000600082015250565b600061425c6015836137bb565b915061426782614226565b602082019050919050565b6000602082019050818103600083015261428b8161424f565b9050919050565b6000819050919050565b60006142b76142b26142ad84614292565b613616565b613102565b9050919050565b6142c78161429c565b82525050565b60006020820190506142e260008301846142be565b92915050565b60006040820190506142fd600083018561346f565b61430a6020830184613437565b9392505050565b6000602082019050614326600083018461346f565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000602082019050614370600083018461384a565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806143bd57607f821691505b6020821081036143d0576143cf614376565b5b50919050565b600060a0820190506143eb600083018861384a565b6143f8602083018761384a565b614405604083018661384a565b6144126060830185613437565b61441f608083018461346f565b9695505050505050565b600060ff82169050919050565b61443f81614429565b82525050565b600060808201905061445a600083018761384a565b6144676020830186614436565b614474604083018561384a565b614481606083018461384a565b9594505050505056fea26469706673582212208a4e6f0fe032e4062a1b3ce6245710e03668b0e9dd521973d067c782cc17445664736f6c634300081c0033",
731
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101425760003560e01c806372dd52e3116100b8578063cbd2bdfd1161007c578063cbd2bdfd1461039a578063e8083863146103b8578063ed9559f7146103d4578063f279f9ad14610404578063f3f4370314610434578063fc2260891461046457610142565b806372dd52e3146102ee57806378bd79351461030c57806384b0196e1461033c578063a0bff76b14610360578063bf63fb821461037e57610142565b80635ff341d21161010a5780635ff341d2146102065780636388923f14610224578063666b0cf91461024057806369ce5d87146102705780636b4b3baf146102a0578063709263c1146102d057610142565b80632dee466d146101475780633939edf5146101655780633ccfd60b146101955780635124ae951461019f578063571a26a0146101d0575b600080fd5b61014f610494565b60405161015c919061319e565b60405180910390f35b61017f600480360381019061017a91906131f6565b610643565b60405161018c91906133bc565b60405180910390f35b61019d6108be565b005b6101b960048036038101906101b4919061340a565b610a36565b6040516101c7929190613446565b60405180910390f35b6101ea60048036038101906101e591906131f6565b610ac2565b6040516101fd979695949392919061348d565b60405180910390f35b61020e610b51565b60405161021b919061319e565b60405180910390f35b61023e60048036038101906102399190613561565b610cfe565b005b61025a6004803603810190610255919061340a565b611589565b60405161026791906135fb565b60405180910390f35b61028a6004803603810190610285919061340a565b6115a1565b604051610297919061319e565b60405180910390f35b6102ba60048036038101906102b5919061340a565b6117a4565b6040516102c7919061319e565b60405180910390f35b6102d8611995565b6040516102e59190613675565b60405180910390f35b6102f66119b9565b60405161030391906136b1565b60405180910390f35b610326600480360381019061032191906131f6565b6119dd565b604051610333919061375a565b60405180910390f35b610344611af9565b6040516103579796959493929190613859565b60405180910390f35b610368611ba3565b60405161037591906135fb565b60405180910390f35b610398600480360381019061039391906138dd565b611bb0565b005b6103a26122c2565b6040516103af919061319e565b60405180910390f35b6103d260048036038101906103cd91906131f6565b61231a565b005b6103ee60048036038101906103e991906131f6565b612729565b6040516103fb91906135fb565b60405180910390f35b61041e6004803603810190610419919061340a565b612741565b60405161042b919061319e565b60405180910390f35b61044e6004803603810190610449919061340a565b6127d8565b60405161045b91906135fb565b60405180910390f35b61047e6004803603810190610479919061340a565b6127f0565b60405161048b91906135fb565b60405180910390f35b6060600080600a80549050905060005b8181101561052657600060036000600a84815481106104c6576104c5613965565b5b9060005260206000200154815260200190815260200160002090508060060160009054906101000a900460ff16158015610504575080600501544211155b15610518578380610514906139c3565b9450505b5080806001019150506104a4565b5060008267ffffffffffffffff81111561054357610542613a0b565b5b6040519080825280602002602001820160405280156105715781602001602082028036833780820191505090505b5090506000805b8381101561063857600060036000600a848154811061059a57610599613965565b5b9060005260206000200154815260200190815260200160002090508060060160009054906101000a900460ff161580156105d8575080600501544211155b1561062a57600a82815481106105f1576105f0613965565b5b906000526020600020015484848151811061060f5761060e613965565b5b6020026020010181815250508280610626906139c3565b9350505b508080600101915050610578565b508194505050505090565b6060600080600a80549050905060005b818110156106b2578460036000600a848154811061067457610673613965565b5b9060005260206000200154815260200190815260200160002060010154036106a55782806106a1906139c3565b9350505b8080600101915050610653565b508167ffffffffffffffff8111156106cd576106cc613a0b565b5b60405190808252806020026020018201604052801561070657816020015b6106f361306b565b8152602001906001900390816106eb5790505b5092506000805b828110156108b5578560036000600a848154811061072e5761072d613965565b5b9060005260206000200154815260200190815260200160002060010154036108a85760036000600a838154811061076857610767613965565b5b906000526020600020015481526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015481526020016006820160009054906101000a900460ff16151515158152505085838151811061088e5761088d613965565b5b602002602001018190525081806108a4906139c3565b9250505b808060010191505061070d565b50505050919050565b6108c6612808565b6000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811161094d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094490613a86565b60405180910390fd5b6000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109dd33827f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1661284c9092919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167fbace9fd79d5ea02ed8b43fa96af07e4e8f859a2f71ff878c748f5c22c578028482604051610a2391906135fb565b60405180910390a250610a346128cb565b565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050915091565b60036020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050154908060060160009054906101000a900460ff16905087565b6060600080600a80549050905060005b81811015610be257600060036000600a8481548110610b8357610b82613965565b5b9060005260206000200154815260200190815260200160002090508060060160009054906101000a900460ff16158015610bc05750806005015442115b15610bd4578380610bd0906139c3565b9450505b508080600101915050610b61565b5060008267ffffffffffffffff811115610bff57610bfe613a0b565b5b604051908082528060200260200182016040528015610c2d5781602001602082028036833780820191505090505b5090506000805b83811015610cf357600060036000600a8481548110610c5657610c55613965565b5b9060005260206000200154815260200190815260200160002090508060060160009054906101000a900460ff16158015610c935750806005015442115b15610ce557600a8281548110610cac57610cab613965565b5b9060005260206000200154848481518110610cca57610cc9613965565b5b6020026020010181815250508280610ce1906139c3565b9350505b508080600101915050610c34565b508194505050505090565b610d06612808565b6000600760008781526020019081526020016000205414610d5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5390613af2565b60405180910390fd5b428311610d9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9590613b5e565b60405180910390fd5b62093a8042610dad9190613b7e565b831115610def576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de690613bfe565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663081812fc876040518263ffffffff1660e01b8152600401610e5f91906135fb565b602060405180830381865afa158015610e7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea09190613c33565b73ffffffffffffffffffffffffffffffffffffffff161480610f5a57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e985e9c587306040518363ffffffff1660e01b8152600401610f18929190613c60565b602060405180830381865afa158015610f35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f599190613cb5565b5b610f99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9090613d2e565b60405180910390fd5b60006040518060a001604052808873ffffffffffffffffffffffffffffffffffffffff168152602001878152602001868152602001858152602001600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815250905060006110887f7be5249af73b8af0f3a9642084df32b0278b3e21858028e300ea894dc3c4d5428360000151846020015185604001518660600151876080015160405160200161106d96959493929190613d4e565b604051602081830303815290604052805190602001206128d5565b905060006110e385858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836128ef90919063ffffffff16565b90508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114a90613dfb565b60405180910390fd5b600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906111a3906139c3565b91905055508873ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636352211e8a6040518263ffffffff1660e01b815260040161121891906135fb565b602060405180830381865afa158015611235573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112599190613c33565b73ffffffffffffffffffffffffffffffffffffffff16146112af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a690613e67565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166323b872dd8a308b6040518463ffffffff1660e01b815260040161130c93929190613e87565b600060405180830381600087803b15801561132657600080fd5b505af115801561133a573d6000803e3d6000fd5b505050506000898942600b546040516020016113599493929190613f27565b6040516020818303038152906040528051906020012060001c9050600b6000815480929190611387906139c3565b919050555060006040518060e001604052808c73ffffffffffffffffffffffffffffffffffffffff1681526020018b81526020018a815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001898152602001600015158152509050806003600084815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a0820151816005015560c08201518160060160006101000a81548160ff02191690831515021790555090505081600760008c815260200190815260200160002081905550600a829080600181540180825580915050600190039060005260206000200160009091909190915055898b73ffffffffffffffffffffffffffffffffffffffff16837f872f4927295e3b20ee4645a26f98ff735a0af5c6ea34ba8e84281324153dd1cb8c8c60405161156c929190613446565b60405180910390a450505050506115816128cb565b505050505050565b60056020528060005260406000206000915090505481565b6060600080600a80549050905060005b8181101561165c578473ffffffffffffffffffffffffffffffffffffffff1660036000600a84815481106115e8576115e7613965565b5b9060005260206000200154815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361164f57828061164b906139c3565b9350505b80806001019150506115b1565b5060008267ffffffffffffffff81111561167957611678613a0b565b5b6040519080825280602002602001820160405280156116a75781602001602082028036833780820191505090505b5090506000805b83811015611797578673ffffffffffffffffffffffffffffffffffffffff1660036000600a84815481106116e5576116e4613965565b5b9060005260206000200154815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361178a57600a818154811061175157611750613965565b5b906000526020600020015483838151811061176f5761176e613965565b5b6020026020010181815250508180611786906139c3565b9250505b80806001019150506116ae565b5081945050505050919050565b60606000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000808280549050905060005b818110156118775760006003600086848154811061181757611816613965565b5b9060005260206000200154815260200190815260200160002090508060060160009054906101000a900460ff16158015611855575080600501544211155b15611869578380611865906139c3565b9450505b5080806001019150506117f6565b5060008267ffffffffffffffff81111561189457611893613a0b565b5b6040519080825280602002602001820160405280156118c25781602001602082028036833780820191505090505b5090506000805b83811015611987576000600360008884815481106118ea576118e9613965565b5b9060005260206000200154815260200190815260200160002090508060060160009054906101000a900460ff16158015611928575080600501544211155b15611979578682815481106119405761193f613965565b5b906000526020600020015484848151811061195e5761195d613965565b5b6020026020010181815250508280611975906139c3565b9350505b5080806001019150506118c9565b508195505050505050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6119e561306b565b600360008381526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015481526020016006820160009054906101000a900460ff1615151515815250509050919050565b600060608060008060006060611b0d61291b565b611b15612956565b46306000801b600067ffffffffffffffff811115611b3657611b35613a0b565b5b604051908082528060200260200182016040528015611b645781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600a80549050905090565b611bb8612808565b600060405180608001604052808773ffffffffffffffffffffffffffffffffffffffff168152602001868152602001858152602001600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481525090506000611c9b7f4fe13e9b5c3c29693ebfa1669379ca330a64d4132615b021171162526df4b0fb8360000151846020015185604001518660600151604051602001611c80959493929190613f75565b604051602081830303815290604052805190602001206128d5565b90506000611cf685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836128ef90919063ffffffff16565b90508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611d66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5d90613dfb565b60405180910390fd5b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611db6906139c3565b919050555060006003600089815260200190815260200160002090508060060160009054906101000a900460ff1615611e24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1b90614014565b60405180910390fd5b8060050154421115611e6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6290614080565b60405180910390fd5b80600301548711611eb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea8906140ec565b60405180910390fd5b8060020154871015611ef8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eef90614158565b60405180910390fd5b867f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e8b306040518363ffffffff1660e01b8152600401611f54929190613c60565b602060405180830381865afa158015611f71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f95919061418d565b1015611fd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcd90614206565b60405180910390fd5b6120238930897f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16612991909392919063ffffffff16565b60008160030154905060008260040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508883600301819055508a8360040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b815260200190815260200160002060009054906101000a900460ff166121d357600860008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208a90806001815401808255809150506001900390600052602060002001600090919091909150556001600960008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461225e5781600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546122569190613b7e565b925050819055505b8a73ffffffffffffffffffffffffffffffffffffffff168a7f72ae9131421b849cf909c122d6af26d1ba34a94635f45bf475c4b6b06b0ddeaa8b6040516122a591906135fb565b60405180910390a35050505050506122bb6128cb565b5050505050565b6060600a80548060200260200160405190810160405280929190818152602001828054801561231057602002820191906000526020600020905b8154815260200190600101908083116122fc575b5050505050905090565b612322612808565b60006003600083815260200190815260200160002090508060060160009054906101000a900460ff161561238b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238290614014565b60405180910390fd5b806005015442116123d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123c890614272565b60405180910390fd5b60018160060160006101000a81548160ff0219169083151502179055506000600760008360010154815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603612576577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166323b872dd308360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600101546040518463ffffffff1660e01b81526004016124e893929190613e87565b600060405180830381600087803b15801561250257600080fd5b505af1158015612516573d6000803e3d6000fd5b50505050600073ffffffffffffffffffffffffffffffffffffffff168160010154837fb25cfc4fabbacb24741d3ec1015d93bb6107e86543a3d66e8610fa859df2dd54600060405161256891906142cd565b60405180910390a45061271e565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166323b872dd308360040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600101546040518463ffffffff1660e01b81526004016125fb93929190613e87565b600060405180830381600087803b15801561261557600080fd5b505af1158015612629573d6000803e3d6000fd5b505050506126a08160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682600301547f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1661284c9092919063ffffffff16565b8060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168160010154837fb25cfc4fabbacb24741d3ec1015d93bb6107e86543a3d66e8610fa859df2dd54846003015460405161271491906135fb565b60405180910390a4505b6127266128cb565b50565b60076020528060005260406000206000915090505481565b6060600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156127cc57602002820191906000526020600020905b8154815260200190600101908083116127b8575b50505050509050919050565b60066020528060005260406000206000915090505481565b60046020528060005260406000206000915090505481565b6002805403612843576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028081905550565b6128c6838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb858560405160240161287f9291906142e8565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612a13565b505050565b6001600281905550565b60006128e86128e2612ab5565b83612b6c565b9050919050565b6000806000806128ff8686612bad565b92509250925061290f8282612c09565b82935050505092915050565b606061295160007f0000000000000000000000000000000000000000000000000000000000000000612d6d90919063ffffffff16565b905090565b606061298c60017f0000000000000000000000000000000000000000000000000000000000000000612d6d90919063ffffffff16565b905090565b612a0d848573ffffffffffffffffffffffffffffffffffffffff166323b872dd8686866040516024016129c693929190613e87565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612a13565b50505050565b600080602060008451602086016000885af180612a36576040513d6000823e3d81fd5b3d925060005191505060008214612a51576001811415612a6d565b60008473ffffffffffffffffffffffffffffffffffffffff163b145b15612aaf57836040517f5274afe7000000000000000000000000000000000000000000000000000000008152600401612aa69190614311565b60405180910390fd5b50505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015612b3157507f000000000000000000000000000000000000000000000000000000000000000046145b15612b5e577f00000000000000000000000000000000000000000000000000000000000000009050612b69565b612b66612e1d565b90505b90565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b60008060006041845103612bf25760008060006020870151925060408701519150606087015160001a9050612be488828585612eb3565b955095509550505050612c02565b60006002855160001b9250925092505b9250925092565b60006003811115612c1d57612c1c61432c565b5b826003811115612c3057612c2f61432c565b5b0315612d695760016003811115612c4a57612c4961432c565b5b826003811115612c5d57612c5c61432c565b5b03612c94576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60026003811115612ca857612ca761432c565b5b826003811115612cbb57612cba61432c565b5b03612d00578060001c6040517ffce698f7000000000000000000000000000000000000000000000000000000008152600401612cf791906135fb565b60405180910390fd5b600380811115612d1357612d1261432c565b5b826003811115612d2657612d2561432c565b5b03612d6857806040517fd78bce0c000000000000000000000000000000000000000000000000000000008152600401612d5f919061435b565b60405180910390fd5b5b5050565b606060ff60001b8314612d8a57612d8383612fa7565b9050612e17565b818054612d96906143a5565b80601f0160208091040260200160405190810160405280929190818152602001828054612dc2906143a5565b8015612e0f5780601f10612de457610100808354040283529160200191612e0f565b820191906000526020600020905b815481529060010190602001808311612df257829003601f168201915b505050505090505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001612e989594939291906143d6565b60405160208183030381529060405280519060200120905090565b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c1115612ef3576000600385925092509250612f9d565b600060018888888860405160008152602001604052604051612f189493929190614445565b6020604051602081039080840390855afa158015612f3a573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612f8e57600060016000801b93509350935050612f9d565b8060008060001b935093509350505b9450945094915050565b60606000612fb48361301b565b90506000602067ffffffffffffffff811115612fd357612fd2613a0b565b5b6040519080825280601f01601f1916602001820160405280156130055781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b60008060ff8360001c169050601f811115613062576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6040518060e00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000151581525090565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b61311581613102565b82525050565b6000613127838361310c565b60208301905092915050565b6000602082019050919050565b600061314b826130d6565b61315581856130e1565b9350613160836130f2565b8060005b83811015613191578151613178888261311b565b975061318383613133565b925050600181019050613164565b5085935050505092915050565b600060208201905081810360008301526131b88184613140565b905092915050565b600080fd5b600080fd5b6131d381613102565b81146131de57600080fd5b50565b6000813590506131f0816131ca565b92915050565b60006020828403121561320c5761320b6131c0565b5b600061321a848285016131e1565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061327a8261324f565b9050919050565b61328a8161326f565b82525050565b60008115159050919050565b6132a581613290565b82525050565b60e0820160008201516132c16000850182613281565b5060208201516132d4602085018261310c565b5060408201516132e7604085018261310c565b5060608201516132fa606085018261310c565b50608082015161330d6080850182613281565b5060a082015161332060a085018261310c565b5060c082015161333360c085018261329c565b50505050565b600061334583836132ab565b60e08301905092915050565b6000602082019050919050565b600061336982613223565b613373818561322e565b935061337e8361323f565b8060005b838110156133af5781516133968882613339565b97506133a183613351565b925050600181019050613382565b5085935050505092915050565b600060208201905081810360008301526133d6818461335e565b905092915050565b6133e78161326f565b81146133f257600080fd5b50565b600081359050613404816133de565b92915050565b6000602082840312156134205761341f6131c0565b5b600061342e848285016133f5565b91505092915050565b61344081613102565b82525050565b600060408201905061345b6000830185613437565b6134686020830184613437565b9392505050565b6134788161326f565b82525050565b61348781613290565b82525050565b600060e0820190506134a2600083018a61346f565b6134af6020830189613437565b6134bc6040830188613437565b6134c96060830187613437565b6134d6608083018661346f565b6134e360a0830185613437565b6134f060c083018461347e565b98975050505050505050565b600080fd5b600080fd5b600080fd5b60008083601f840112613521576135206134fc565b5b8235905067ffffffffffffffff81111561353e5761353d613501565b5b60208301915083600182028301111561355a57613559613506565b5b9250929050565b60008060008060008060a0878903121561357e5761357d6131c0565b5b600061358c89828a016133f5565b965050602061359d89828a016131e1565b95505060406135ae89828a016131e1565b94505060606135bf89828a016131e1565b935050608087013567ffffffffffffffff8111156135e0576135df6131c5565b5b6135ec89828a0161350b565b92509250509295509295509295565b60006020820190506136106000830184613437565b92915050565b6000819050919050565b600061363b6136366136318461324f565b613616565b61324f565b9050919050565b600061364d82613620565b9050919050565b600061365f82613642565b9050919050565b61366f81613654565b82525050565b600060208201905061368a6000830184613666565b92915050565b600061369b82613642565b9050919050565b6136ab81613690565b82525050565b60006020820190506136c660008301846136a2565b92915050565b60e0820160008201516136e26000850182613281565b5060208201516136f5602085018261310c565b506040820151613708604085018261310c565b50606082015161371b606085018261310c565b50608082015161372e6080850182613281565b5060a082015161374160a085018261310c565b5060c082015161375460c085018261329c565b50505050565b600060e08201905061376f60008301846136cc565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6137aa81613775565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156137ea5780820151818401526020810190506137cf565b60008484015250505050565b6000601f19601f8301169050919050565b6000613812826137b0565b61381c81856137bb565b935061382c8185602086016137cc565b613835816137f6565b840191505092915050565b6000819050919050565b61385381613840565b82525050565b600060e08201905061386e600083018a6137a1565b81810360208301526138808189613807565b905081810360408301526138948188613807565b90506138a36060830187613437565b6138b0608083018661346f565b6138bd60a083018561384a565b81810360c08301526138cf8184613140565b905098975050505050505050565b6000806000806000608086880312156138f9576138f86131c0565b5b6000613907888289016133f5565b9550506020613918888289016131e1565b9450506040613929888289016131e1565b935050606086013567ffffffffffffffff81111561394a576139496131c5565b5b6139568882890161350b565b92509250509295509295909350565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006139ce82613102565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613a00576139ff613994565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e6f2066756e647320746f207769746864726177000000000000000000000000600082015250565b6000613a706014836137bb565b9150613a7b82613a3a565b602082019050919050565b60006020820190508181036000830152613a9f81613a63565b9050919050565b7f546f6b656e20616c726561647920696e206163746976652061756374696f6e00600082015250565b6000613adc601f836137bb565b9150613ae782613aa6565b602082019050919050565b60006020820190508181036000830152613b0b81613acf565b9050919050565b7f456e642074696d6520696e207061737400000000000000000000000000000000600082015250565b6000613b486010836137bb565b9150613b5382613b12565b602082019050919050565b60006020820190508181036000830152613b7781613b3b565b9050919050565b6000613b8982613102565b9150613b9483613102565b9250828201905080821115613bac57613bab613994565b5b92915050565b7f456e642074696d65206d7573742062652077697468696e203720646179730000600082015250565b6000613be8601e836137bb565b9150613bf382613bb2565b602082019050919050565b60006020820190508181036000830152613c1781613bdb565b9050919050565b600081519050613c2d816133de565b92915050565b600060208284031215613c4957613c486131c0565b5b6000613c5784828501613c1e565b91505092915050565b6000604082019050613c75600083018561346f565b613c82602083018461346f565b9392505050565b613c9281613290565b8114613c9d57600080fd5b50565b600081519050613caf81613c89565b92915050565b600060208284031215613ccb57613cca6131c0565b5b6000613cd984828501613ca0565b91505092915050565b7f4e6f7420617070726f7665640000000000000000000000000000000000000000600082015250565b6000613d18600c836137bb565b9150613d2382613ce2565b602082019050919050565b60006020820190508181036000830152613d4781613d0b565b9050919050565b600060c082019050613d63600083018961384a565b613d70602083018861346f565b613d7d6040830187613437565b613d8a6060830186613437565b613d976080830185613437565b613da460a0830184613437565b979650505050505050565b7f496e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b6000613de56011836137bb565b9150613df082613daf565b602082019050919050565b60006020820190508181036000830152613e1481613dd8565b9050919050565b7f4e6f7420746865206f776e657200000000000000000000000000000000000000600082015250565b6000613e51600d836137bb565b9150613e5c82613e1b565b602082019050919050565b60006020820190508181036000830152613e8081613e44565b9050919050565b6000606082019050613e9c600083018661346f565b613ea9602083018561346f565b613eb66040830184613437565b949350505050565b60008160601b9050919050565b6000613ed682613ebe565b9050919050565b6000613ee882613ecb565b9050919050565b613f00613efb8261326f565b613edd565b82525050565b6000819050919050565b613f21613f1c82613102565b613f06565b82525050565b6000613f338287613eef565b601482019150613f438286613f10565b602082019150613f538285613f10565b602082019150613f638284613f10565b60208201915081905095945050505050565b600060a082019050613f8a600083018861384a565b613f97602083018761346f565b613fa46040830186613437565b613fb16060830185613437565b613fbe6080830184613437565b9695505050505050565b7f41756374696f6e20616c726561647920736574746c6564000000000000000000600082015250565b6000613ffe6017836137bb565b915061400982613fc8565b602082019050919050565b6000602082019050818103600083015261402d81613ff1565b9050919050565b7f41756374696f6e20656e64656400000000000000000000000000000000000000600082015250565b600061406a600d836137bb565b915061407582614034565b602082019050919050565b600060208201905081810360008301526140998161405d565b9050919050565b7f426964206e6f74206869676820656e6f75676800000000000000000000000000600082015250565b60006140d66013836137bb565b91506140e1826140a0565b602082019050919050565b60006020820190508181036000830152614105816140c9565b9050919050565b7f4269642062656c6f772073746172742070726963650000000000000000000000600082015250565b60006141426015836137bb565b915061414d8261410c565b602082019050919050565b6000602082019050818103600083015261417181614135565b9050919050565b600081519050614187816131ca565b92915050565b6000602082840312156141a3576141a26131c0565b5b60006141b184828501614178565b91505092915050565b7f496e73756666696369656e7420746f6b656e20616c6c6f77616e636500000000600082015250565b60006141f0601c836137bb565b91506141fb826141ba565b602082019050919050565b6000602082019050818103600083015261421f816141e3565b9050919050565b7f41756374696f6e206e6f7420656e646564207965740000000000000000000000600082015250565b600061425c6015836137bb565b915061426782614226565b602082019050919050565b6000602082019050818103600083015261428b8161424f565b9050919050565b6000819050919050565b60006142b76142b26142ad84614292565b613616565b613102565b9050919050565b6142c78161429c565b82525050565b60006020820190506142e260008301846142be565b92915050565b60006040820190506142fd600083018561346f565b61430a6020830184613437565b9392505050565b6000602082019050614326600083018461346f565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000602082019050614370600083018461384a565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806143bd57607f821691505b6020821081036143d0576143cf614376565b5b50919050565b600060a0820190506143eb600083018861384a565b6143f8602083018761384a565b614405604083018661384a565b6144126060830185613437565b61441f608083018461346f565b9695505050505050565b600060ff82169050919050565b61443f81614429565b82525050565b600060808201905061445a600083018761384a565b6144676020830186614436565b614474604083018561384a565b614481606083018461384a565b9594505050505056fea26469706673582212208a4e6f0fe032e4062a1b3ce6245710e03668b0e9dd521973d067c782cc17445664736f6c634300081c0033",
732
- "linkReferences": {},
733
- "deployedLinkReferences": {}
734
- }