-
Notifications
You must be signed in to change notification settings - Fork 60
Expand file tree
/
Copy pathWrappedBalancerPoolToken.json
More file actions
668 lines (668 loc) · 41.2 KB
/
WrappedBalancerPoolToken.json
File metadata and controls
668 lines (668 loc) · 41.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
{
"_format": "hh-sol-artifact-1",
"contractName": "WrappedBalancerPoolToken",
"sourceName": "contracts/WrappedBalancerPoolToken.sol",
"abi": [
{
"inputs": [
{
"internalType": "contract IVault",
"name": "vault_",
"type": "address"
},
{
"internalType": "contract IERC20",
"name": "balancerPoolToken_",
"type": "address"
},
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "symbol",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
}
],
"name": "AddressEmptyCode",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "AddressInsufficientBalance",
"type": "error"
},
{
"inputs": [],
"name": "ECDSAInvalidSignature",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "length",
"type": "uint256"
}
],
"name": "ECDSAInvalidSignatureLength",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
}
],
"name": "ECDSAInvalidSignatureS",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "allowance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientAllowance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "needed",
"type": "uint256"
}
],
"name": "ERC20InsufficientBalance",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC20InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC20InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC20InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "ERC20InvalidSpender",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
}
],
"name": "ERC2612ExpiredSignature",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "signer",
"type": "address"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC2612InvalidSigner",
"type": "error"
},
{
"inputs": [],
"name": "FailedInnerCall",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "currentNonce",
"type": "uint256"
}
],
"name": "InvalidAccountNonce",
"type": "error"
},
{
"inputs": [],
"name": "InvalidShortString",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"name": "SafeERC20FailedOperation",
"type": "error"
},
{
"inputs": [
{
"internalType": "string",
"name": "str",
"type": "string"
}
],
"name": "StringTooLong",
"type": "error"
},
{
"inputs": [],
"name": "VaultIsUnlocked",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [],
"name": "EIP712DomainChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [],
"name": "DOMAIN_SEPARATOR",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "balancerPoolToken",
"outputs": [
{
"internalType": "contract IERC20",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "burn",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "burnFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "eip712Domain",
"outputs": [
{
"internalType": "bytes1",
"name": "fields",
"type": "bytes1"
},
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "version",
"type": "string"
},
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
},
{
"internalType": "address",
"name": "verifyingContract",
"type": "address"
},
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "uint256[]",
"name": "extensions",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "mint",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "nonces",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
}
],
"name": "permit",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "vault",
"outputs": [
{
"internalType": "contract IVault",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x6101a06040908082523461043557611f8f803803809161001f8285610439565b83398101608082820312610435578151906001600160a01b039081831683036104355760209485850151928316830361043557848101516001600160401b039590868111610435578361007391830161045c565b9260608201518781116104355761008a920161045c565b958151908282018281108882111761035557835260019283835281830193603160f81b855285518981116103555760038054918383811c9316801561042b575b8684101461041757601f928381116103d4575b508086848211600114610374575f91610369575b505f1982841b1c191690841b1781555b8b51918b83116103555760049c8d548581811c9116801561034b575b88821014610338578e8382116102f5575b50508d8792851160011461029357509383949184925f95610288575b50501b925f19911b1c19161789555b610162856104b1565b9361012094855261017284610636565b95610140968752838151910120938460e0525190209861010099808b524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c0830198838a10908a111761027557508790525190206080523060c05261018093845261016092835261181c958661077387396080518661115f015260a0518661122b015260c05186611130015260e051866111ae015251856111d4015251846107df0152518361080901525182818161048101528181610ac60152611303015251818181610111015281816103e7015281816109bd0152610b3d0152f35b604190634e487b7160e01b5f525260245ffd5b015193505f8061014a565b929190601f198516935f5284885f20945f5b8a898383106102de57505050106102c5575b50505050811b018955610159565b01519060f8845f19921b161c191690555f8080806102b7565b8686015189559097019694850194889350016102a5565b5f52875f208380870160051c8201928a881061032f575b0160051c019086905b8281106103245750508e61012e565b5f8155018690610315565b9250819261030c565b60228f634e487b7160e01b5f525260245ffd5b90607f169061011d565b634e487b7160e01b5f52604160045260245ffd5b90508901515f6100f1565b5f8481528881208794509190601f198416908a8e5b8383106103bd5750505083116103a6575b5050811b018155610101565b8b01515f1983861b60f8161c191690555f8061039a565b840151855589969094019392830192018a8e610389565b825f52865f208480840160051c82019289851061040e575b0160051c019085905b8281106104035750506100dd565b5f81550185906103f5565b925081926103ec565b634e487b7160e01b5f52602260045260245ffd5b92607f16926100ca565b5f80fd5b601f909101601f19168101906001600160401b0382119082101761035557604052565b81601f82011215610435578051906001600160401b0382116103555760405192610490601f8401601f191660200185610439565b8284526020838301011161043557815f9260208093018386015e8301015290565b80516020919082811015610529575090601f8251116104eb57808251920151908083106104dd57501790565b825f19910360031b1b161790565b60448260405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b038111610355576005928354926001938481811c9116801561062c575b8382101461041757601f81116105fb575b5081601f841160011461059957509282939183925f9461058e575b50501b915f199060031b1c191617905560ff90565b015192505f80610579565b919083601f198116875f52845f20945f905b888383106105e157505050106105c9575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f80806105bc565b8587015188559096019594850194879350908101906105ab565b855f5284601f845f209201871c820191601f8601881c015b82811061062157505061055e565b5f8155018590610613565b90607f169061054d565b8051602090818110156106605750601f8251116104eb57808251920151908083106104dd57501790565b906001600160401b03821161035557600654926001938481811c91168015610768575b8382101461041757601f8111610734575b5081601f84116001146106d057509282939183925f946106c5575b50501b915f199060031b1c19161760065560ff90565b015192505f806106af565b919083601f19811660065f52845f20945f905b8883831061071a5750505010610702575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f80806106f4565b8587015188559096019594850194879350908101906106e3565b60065f5284601f845f20920160051c820191601f860160051c015b82811061075d575050610694565b5f815501859061074f565b90607f169061068356fe6080604090808252600480361015610015575f80fd5b5f3560e01c91826306fdde0314610c8457508163095ea7b314610c5b57816318160ddd14610c3d57816323b872dd14610c01578163313ce56714610be65781633644e51514610bc357816342966c6814610aea5781636813986c14610a9a57816370a0823114610a5757816379cc67901461095f5781637ecebe001461091b57816384b0196e146107c857816395d89b41146106be578163a0712d681461038f578163a9059cbb1461035f578163d505accf1461019057508063dd62ed3e146101395763fbfa77cf146100e6575f80fd5b34610135575f600319360112610135576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5f80fd5b5034610135578060031936011261013557602090610155610db4565b61015d610dd7565b9073ffffffffffffffffffffffffffffffffffffffff8091165f5260018452825f2091165f528252805f20549051908152f35b9050346101355760e0600319360112610135576101ab610db4565b6101b3610dd7565b90604435926064359460843560ff81168103610135578642116103345773ffffffffffffffffffffffffffffffffffffffff9182851697885f526007602052815f209081549160018301905582519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c984528b85840152868a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff8211176103085783525190206102c2926102b9929091610279611119565b9151917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a43592206115e6565b90929192611675565b16908582036102d95750506102d79350611389565b005b8592507f4b800e46000000000000000000000000000000000000000000000000000000005f525260245260445ffd5b6041877f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b86837f62791302000000000000000000000000000000000000000000000000000000005f525260245ffd5b823461013557806003193601126101355760209061038861037e610db4565b602435903361100d565b5160018152f35b823461013557602090816003193601126101355782359273ffffffffffffffffffffffffffffffffffffffff82517f8380edb700000000000000000000000000000000000000000000000000000000815284818481857f0000000000000000000000000000000000000000000000000000000000000000165afa9081156106b4575f91610687575b50610660578251848101917f23b872dd00000000000000000000000000000000000000000000000000000000835260249233848401523060448401528760648401526064835260a083019167ffffffffffffffff928481108482111761063557915f9291839289527f00000000000000000000000000000000000000000000000000000000000000001694519082865af13d15610628573d9182116105fd57906104fe918651916104ef897fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610e94565b82523d5f8984013e5b8361174d565b8051908682151592836105e4575b5050506105bc57503315610593576002549185830180931161056957855f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef878787600255338452838252808420858154019055519384523393a3005b6011907f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b5f827fec442f05000000000000000000000000000000000000000000000000000000008252525ffd5b827f5274afe7000000000000000000000000000000000000000000000000000000005f52525ffd5b6105f49350820181019101610ed5565b1587868161050c565b836041867f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b6104fe91506060906104f8565b856041887f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b507fbe18e309000000000000000000000000000000000000000000000000000000005f525ffd5b6106a79150853d87116106ad575b61069f8183610e94565b810190610ed5565b86610417565b503d610695565b84513d5f823e3d90fd5b905034610135575f60031936011261013557815191825f83546106e081610dfa565b90818452602095600191876001821691825f14610783575050600114610727575b5050506107239291610714910385610e94565b51928284938452830190610d71565b0390f35b5f90815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b82841061076b5750505082010181610714610723610701565b8054848a018601528895508794909301928101610752565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061071491506107239050610701565b905034610135575f600319360112610135576108037f00000000000000000000000000000000000000000000000000000000000000006113f3565b9161082d7f0000000000000000000000000000000000000000000000000000000000000000611529565b815191602091602084019484861067ffffffffffffffff8711176108ef57506108a4826020928761089799989795525f855281519889987f0f000000000000000000000000000000000000000000000000000000000000008a5260e0868b015260e08a0190610d71565b9188830390890152610d71565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b8281106108d857505050500390f35b8351855286955093810193928101926001016108c9565b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b82346101355760206003193601126101355760209073ffffffffffffffffffffffffffffffffffffffff61094d610db4565b165f5260078252805f20549051908152f35b8234610135578060031936011261013557610978610db4565b6024359180517f8380edb7000000000000000000000000000000000000000000000000000000008152602081868173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa918215610a4e57505f91610a2f575b50610a08576102d79250610a03823383610eed565b611251565b827fbe18e309000000000000000000000000000000000000000000000000000000005f525ffd5b610a48915060203d6020116106ad5761069f8183610e94565b846109ee565b513d5f823e3d90fd5b82346101355760206003193601126101355760209073ffffffffffffffffffffffffffffffffffffffff610a89610db4565b165f525f8252805f20549051908152f35b8234610135575f600319360112610135576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b82346101355760206003193601126101355780517f8380edb7000000000000000000000000000000000000000000000000000000008152602081848173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa918215610a4e57505f91610ba4575b50610b7e576102d7903533611251565b7fbe18e309000000000000000000000000000000000000000000000000000000005f525ffd5b610bbd915060203d6020116106ad5761069f8183610e94565b82610b6e565b8234610135575f60031936011261013557602090610bdf611119565b9051908152f35b8234610135575f600319360112610135576020905160128152f35b823461013557606060031936011261013557602090610388610c21610db4565b610c29610dd7565b60443591610c38833383610eed565b61100d565b8234610135575f600319360112610135576020906002549051908152f35b8234610135578060031936011261013557602090610388610c7a610db4565b6024359033611389565b8334610135575f6003193601126101355760035490825f610ca484610dfa565b808352602094600190866001821691825f14610d31575050600114610cd6575b50506107239291610714910385610e94565b9085925060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f925b828410610d195750505082010181610714610cc4565b8054848a018601528895508794909301928101610d03565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b850190920192508391506107149050610cc4565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361013557565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361013557565b90600182811c92168015610e41575b6020831014610e1457565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610e09565b6040810190811067ffffffffffffffff821117610e6757604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610e6757604052565b90816020910312610135575180151581036101355790565b9073ffffffffffffffffffffffffffffffffffffffff80921691825f52600160205260405f20911690815f5260205260405f2054917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8303610f50575b50505050565b838310610fdb578015610faf578115610f83575f52600160205260405f20905f526020520360405f20555f808080610f4a565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b507ffb8f41b2000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b73ffffffffffffffffffffffffffffffffffffffff8091169182156110ed57169182156110c157815f525f60205260405f205481811061108f57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f5260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480611228575b15611181577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117610e675760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611158565b73ffffffffffffffffffffffffffffffffffffffff8091169182156110ed57825f526020925f845260405f20548281106113575781836044928795945f525f86520360405f205582600254036002555f817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051878152a35f60405195869485937fa9059cbb000000000000000000000000000000000000000000000000000000008552600485015260248401527f0000000000000000000000000000000000000000000000000000000000000000165af1801561134c57611333575050565b8161134992903d106106ad5761069f8183610e94565b50565b6040513d5f823e3d90fd5b907fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b73ffffffffffffffffffffffffffffffffffffffff809116918215610faf5716918215610f835760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60ff81146114475760ff811690601f821161141f576040519161141583610e4b565b8252602082015290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b50604051600554815f61145983610dfa565b808352926020906001908181169081156114e65750600114611487575b505061148492500382610e94565b90565b91509260055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0935f925b8284106114ce57506114849450505081016020015f80611476565b855487850183015294850194869450928101926114b3565b9050602093506114849592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f80611476565b60ff811461154b5760ff811690601f821161141f576040519161141583610e4b565b50604051600654815f61155d83610dfa565b808352926020906001908181169081156114e6575060011461158757505061148492500382610e94565b91509260065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f935f925b8284106115ce57506114849450505081016020015f80611476565b855487850183015294850194869450928101926115b3565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841161166a579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa1561134c575f5173ffffffffffffffffffffffffffffffffffffffff81161561166057905f905f90565b505f906001905f90565b5050505f9160039190565b60048110156117205780611687575050565b600181036116b7577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b600281036116eb57507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6003146116f55750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9061178a575080511561176257805190602001fd5b7f1425ea42000000000000000000000000000000000000000000000000000000005f5260045ffd5b815115806117dd575b61179b575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b1561179356fea2646970667358221220da4195a8c0010c9dd27b48c1c5c61c5c6caf0f5be3b62aacb849af29bc921a3164736f6c634300081b0033",
"deployedBytecode": "0x6080604090808252600480361015610015575f80fd5b5f3560e01c91826306fdde0314610c8457508163095ea7b314610c5b57816318160ddd14610c3d57816323b872dd14610c01578163313ce56714610be65781633644e51514610bc357816342966c6814610aea5781636813986c14610a9a57816370a0823114610a5757816379cc67901461095f5781637ecebe001461091b57816384b0196e146107c857816395d89b41146106be578163a0712d681461038f578163a9059cbb1461035f578163d505accf1461019057508063dd62ed3e146101395763fbfa77cf146100e6575f80fd5b34610135575f600319360112610135576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5f80fd5b5034610135578060031936011261013557602090610155610db4565b61015d610dd7565b9073ffffffffffffffffffffffffffffffffffffffff8091165f5260018452825f2091165f528252805f20549051908152f35b9050346101355760e0600319360112610135576101ab610db4565b6101b3610dd7565b90604435926064359460843560ff81168103610135578642116103345773ffffffffffffffffffffffffffffffffffffffff9182851697885f526007602052815f209081549160018301905582519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c984528b85840152868a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff8211176103085783525190206102c2926102b9929091610279611119565b9151917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a43592206115e6565b90929192611675565b16908582036102d95750506102d79350611389565b005b8592507f4b800e46000000000000000000000000000000000000000000000000000000005f525260245260445ffd5b6041877f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b86837f62791302000000000000000000000000000000000000000000000000000000005f525260245ffd5b823461013557806003193601126101355760209061038861037e610db4565b602435903361100d565b5160018152f35b823461013557602090816003193601126101355782359273ffffffffffffffffffffffffffffffffffffffff82517f8380edb700000000000000000000000000000000000000000000000000000000815284818481857f0000000000000000000000000000000000000000000000000000000000000000165afa9081156106b4575f91610687575b50610660578251848101917f23b872dd00000000000000000000000000000000000000000000000000000000835260249233848401523060448401528760648401526064835260a083019167ffffffffffffffff928481108482111761063557915f9291839289527f00000000000000000000000000000000000000000000000000000000000000001694519082865af13d15610628573d9182116105fd57906104fe918651916104ef897fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610e94565b82523d5f8984013e5b8361174d565b8051908682151592836105e4575b5050506105bc57503315610593576002549185830180931161056957855f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef878787600255338452838252808420858154019055519384523393a3005b6011907f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b5f827fec442f05000000000000000000000000000000000000000000000000000000008252525ffd5b827f5274afe7000000000000000000000000000000000000000000000000000000005f52525ffd5b6105f49350820181019101610ed5565b1587868161050c565b836041867f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b6104fe91506060906104f8565b856041887f4e487b71000000000000000000000000000000000000000000000000000000005f52525ffd5b507fbe18e309000000000000000000000000000000000000000000000000000000005f525ffd5b6106a79150853d87116106ad575b61069f8183610e94565b810190610ed5565b86610417565b503d610695565b84513d5f823e3d90fd5b905034610135575f60031936011261013557815191825f83546106e081610dfa565b90818452602095600191876001821691825f14610783575050600114610727575b5050506107239291610714910385610e94565b51928284938452830190610d71565b0390f35b5f90815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b82841061076b5750505082010181610714610723610701565b8054848a018601528895508794909301928101610752565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061071491506107239050610701565b905034610135575f600319360112610135576108037f00000000000000000000000000000000000000000000000000000000000000006113f3565b9161082d7f0000000000000000000000000000000000000000000000000000000000000000611529565b815191602091602084019484861067ffffffffffffffff8711176108ef57506108a4826020928761089799989795525f855281519889987f0f000000000000000000000000000000000000000000000000000000000000008a5260e0868b015260e08a0190610d71565b9188830390890152610d71565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b8281106108d857505050500390f35b8351855286955093810193928101926001016108c9565b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b82346101355760206003193601126101355760209073ffffffffffffffffffffffffffffffffffffffff61094d610db4565b165f5260078252805f20549051908152f35b8234610135578060031936011261013557610978610db4565b6024359180517f8380edb7000000000000000000000000000000000000000000000000000000008152602081868173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa918215610a4e57505f91610a2f575b50610a08576102d79250610a03823383610eed565b611251565b827fbe18e309000000000000000000000000000000000000000000000000000000005f525ffd5b610a48915060203d6020116106ad5761069f8183610e94565b846109ee565b513d5f823e3d90fd5b82346101355760206003193601126101355760209073ffffffffffffffffffffffffffffffffffffffff610a89610db4565b165f525f8252805f20549051908152f35b8234610135575f600319360112610135576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b82346101355760206003193601126101355780517f8380edb7000000000000000000000000000000000000000000000000000000008152602081848173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa918215610a4e57505f91610ba4575b50610b7e576102d7903533611251565b7fbe18e309000000000000000000000000000000000000000000000000000000005f525ffd5b610bbd915060203d6020116106ad5761069f8183610e94565b82610b6e565b8234610135575f60031936011261013557602090610bdf611119565b9051908152f35b8234610135575f600319360112610135576020905160128152f35b823461013557606060031936011261013557602090610388610c21610db4565b610c29610dd7565b60443591610c38833383610eed565b61100d565b8234610135575f600319360112610135576020906002549051908152f35b8234610135578060031936011261013557602090610388610c7a610db4565b6024359033611389565b8334610135575f6003193601126101355760035490825f610ca484610dfa565b808352602094600190866001821691825f14610d31575050600114610cd6575b50506107239291610714910385610e94565b9085925060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f925b828410610d195750505082010181610714610cc4565b8054848a018601528895508794909301928101610d03565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b850190920192508391506107149050610cc4565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361013557565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361013557565b90600182811c92168015610e41575b6020831014610e1457565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610e09565b6040810190811067ffffffffffffffff821117610e6757604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610e6757604052565b90816020910312610135575180151581036101355790565b9073ffffffffffffffffffffffffffffffffffffffff80921691825f52600160205260405f20911690815f5260205260405f2054917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8303610f50575b50505050565b838310610fdb578015610faf578115610f83575f52600160205260405f20905f526020520360405f20555f808080610f4a565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b507ffb8f41b2000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b73ffffffffffffffffffffffffffffffffffffffff8091169182156110ed57169182156110c157815f525f60205260405f205481811061108f57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f5260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480611228575b15611181577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117610e675760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611158565b73ffffffffffffffffffffffffffffffffffffffff8091169182156110ed57825f526020925f845260405f20548281106113575781836044928795945f525f86520360405f205582600254036002555f817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051878152a35f60405195869485937fa9059cbb000000000000000000000000000000000000000000000000000000008552600485015260248401527f0000000000000000000000000000000000000000000000000000000000000000165af1801561134c57611333575050565b8161134992903d106106ad5761069f8183610e94565b50565b6040513d5f823e3d90fd5b907fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b73ffffffffffffffffffffffffffffffffffffffff809116918215610faf5716918215610f835760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60ff81146114475760ff811690601f821161141f576040519161141583610e4b565b8252602082015290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b50604051600554815f61145983610dfa565b808352926020906001908181169081156114e65750600114611487575b505061148492500382610e94565b90565b91509260055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0935f925b8284106114ce57506114849450505081016020015f80611476565b855487850183015294850194869450928101926114b3565b9050602093506114849592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f80611476565b60ff811461154b5760ff811690601f821161141f576040519161141583610e4b565b50604051600654815f61155d83610dfa565b808352926020906001908181169081156114e6575060011461158757505061148492500382610e94565b91509260065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f935f925b8284106115ce57506114849450505081016020015f80611476565b855487850183015294850194869450928101926115b3565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841161166a579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa1561134c575f5173ffffffffffffffffffffffffffffffffffffffff81161561166057905f905f90565b505f906001905f90565b5050505f9160039190565b60048110156117205780611687575050565b600181036116b7577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b600281036116eb57507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6003146116f55750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9061178a575080511561176257805190602001fd5b7f1425ea42000000000000000000000000000000000000000000000000000000005f5260045ffd5b815115806117dd575b61179b575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b1561179356fea2646970667358221220da4195a8c0010c9dd27b48c1c5c61c5c6caf0f5be3b62aacb849af29bc921a3164736f6c634300081b0033",
"linkReferences": {},
"deployedLinkReferences": {}
}