@keep-network/tbtc-v2 0.1.1-dev.23 → 0.1.1-dev.24

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.
@@ -20,6 +20,11 @@
20
20
  "name": "_treasury",
21
21
  "type": "address"
22
22
  },
23
+ {
24
+ "internalType": "address",
25
+ "name": "_ecdsaWalletRegistry",
26
+ "type": "address"
27
+ },
23
28
  {
24
29
  "internalType": "uint256",
25
30
  "name": "_txProofDifficultyFactor",
@@ -109,6 +114,31 @@
109
114
  "name": "DepositsSwept",
110
115
  "type": "event"
111
116
  },
117
+ {
118
+ "anonymous": false,
119
+ "inputs": [
120
+ {
121
+ "indexed": true,
122
+ "internalType": "bytes32",
123
+ "name": "ecdsaWalletID",
124
+ "type": "bytes32"
125
+ },
126
+ {
127
+ "indexed": true,
128
+ "internalType": "bytes20",
129
+ "name": "walletPubKeyHash",
130
+ "type": "bytes20"
131
+ }
132
+ ],
133
+ "name": "NewWalletRegistered",
134
+ "type": "event"
135
+ },
136
+ {
137
+ "anonymous": false,
138
+ "inputs": [],
139
+ "name": "NewWalletRequested",
140
+ "type": "event"
141
+ },
112
142
  {
113
143
  "anonymous": false,
114
144
  "inputs": [
@@ -209,6 +239,103 @@
209
239
  "name": "VaultStatusUpdated",
210
240
  "type": "event"
211
241
  },
242
+ {
243
+ "anonymous": false,
244
+ "inputs": [
245
+ {
246
+ "indexed": false,
247
+ "internalType": "uint64",
248
+ "name": "newMinBtcBalance",
249
+ "type": "uint64"
250
+ },
251
+ {
252
+ "indexed": false,
253
+ "internalType": "uint64",
254
+ "name": "newMaxBtcBalance",
255
+ "type": "uint64"
256
+ }
257
+ ],
258
+ "name": "WalletBtcBalanceRangeUpdated",
259
+ "type": "event"
260
+ },
261
+ {
262
+ "anonymous": false,
263
+ "inputs": [
264
+ {
265
+ "indexed": false,
266
+ "internalType": "uint32",
267
+ "name": "newCreationPeriod",
268
+ "type": "uint32"
269
+ }
270
+ ],
271
+ "name": "WalletCreationPeriodUpdated",
272
+ "type": "event"
273
+ },
274
+ {
275
+ "anonymous": false,
276
+ "inputs": [
277
+ {
278
+ "indexed": true,
279
+ "internalType": "bytes32",
280
+ "name": "ecdsaWalletID",
281
+ "type": "bytes32"
282
+ },
283
+ {
284
+ "indexed": true,
285
+ "internalType": "bytes20",
286
+ "name": "walletPubKeyHash",
287
+ "type": "bytes20"
288
+ }
289
+ ],
290
+ "name": "WalletTerminated",
291
+ "type": "event"
292
+ },
293
+ {
294
+ "inputs": [
295
+ {
296
+ "internalType": "bytes32",
297
+ "name": "ecdsaWalletID",
298
+ "type": "bytes32"
299
+ },
300
+ {
301
+ "internalType": "bytes32",
302
+ "name": "publicKeyX",
303
+ "type": "bytes32"
304
+ },
305
+ {
306
+ "internalType": "bytes32",
307
+ "name": "publicKeyY",
308
+ "type": "bytes32"
309
+ }
310
+ ],
311
+ "name": "__ecdsaWalletCreatedCallback",
312
+ "outputs": [],
313
+ "stateMutability": "nonpayable",
314
+ "type": "function"
315
+ },
316
+ {
317
+ "inputs": [
318
+ {
319
+ "internalType": "bytes32",
320
+ "name": "ecdsaWalletID",
321
+ "type": "bytes32"
322
+ },
323
+ {
324
+ "internalType": "bytes32",
325
+ "name": "publicKeyX",
326
+ "type": "bytes32"
327
+ },
328
+ {
329
+ "internalType": "bytes32",
330
+ "name": "publicKeyY",
331
+ "type": "bytes32"
332
+ }
333
+ ],
334
+ "name": "__ecdsaWalletHeartbeatFailedCallback",
335
+ "outputs": [],
336
+ "stateMutability": "nonpayable",
337
+ "type": "function"
338
+ },
212
339
  {
213
340
  "inputs": [],
214
341
  "name": "bank",
@@ -306,19 +433,82 @@
306
433
  "type": "function"
307
434
  },
308
435
  {
309
- "inputs": [
436
+ "inputs": [],
437
+ "name": "getActiveWalletPubKeyHash",
438
+ "outputs": [
310
439
  {
311
- "internalType": "address",
440
+ "internalType": "bytes20",
312
441
  "name": "",
313
- "type": "address"
442
+ "type": "bytes20"
314
443
  }
315
444
  ],
316
- "name": "isVaultTrusted",
445
+ "stateMutability": "view",
446
+ "type": "function"
447
+ },
448
+ {
449
+ "inputs": [
450
+ {
451
+ "internalType": "bytes20",
452
+ "name": "walletPubKeyHash",
453
+ "type": "bytes20"
454
+ }
455
+ ],
456
+ "name": "getWallet",
317
457
  "outputs": [
318
458
  {
319
- "internalType": "bool",
459
+ "components": [
460
+ {
461
+ "internalType": "bytes32",
462
+ "name": "ecdsaWalletID",
463
+ "type": "bytes32"
464
+ },
465
+ {
466
+ "internalType": "bytes32",
467
+ "name": "mainUtxoHash",
468
+ "type": "bytes32"
469
+ },
470
+ {
471
+ "internalType": "uint64",
472
+ "name": "pendingRedemptionsValue",
473
+ "type": "uint64"
474
+ },
475
+ {
476
+ "internalType": "uint32",
477
+ "name": "createdAt",
478
+ "type": "uint32"
479
+ },
480
+ {
481
+ "internalType": "enum Wallets.WalletState",
482
+ "name": "state",
483
+ "type": "uint8"
484
+ }
485
+ ],
486
+ "internalType": "struct Wallets.Wallet",
320
487
  "name": "",
321
- "type": "bool"
488
+ "type": "tuple"
489
+ }
490
+ ],
491
+ "stateMutability": "view",
492
+ "type": "function"
493
+ },
494
+ {
495
+ "inputs": [],
496
+ "name": "getWalletsParameters",
497
+ "outputs": [
498
+ {
499
+ "internalType": "uint32",
500
+ "name": "creationPeriod",
501
+ "type": "uint32"
502
+ },
503
+ {
504
+ "internalType": "uint64",
505
+ "name": "minBtcBalance",
506
+ "type": "uint64"
507
+ },
508
+ {
509
+ "internalType": "uint64",
510
+ "name": "maxBtcBalance",
511
+ "type": "uint64"
322
512
  }
323
513
  ],
324
514
  "stateMutability": "view",
@@ -327,17 +517,17 @@
327
517
  {
328
518
  "inputs": [
329
519
  {
330
- "internalType": "bytes20",
520
+ "internalType": "address",
331
521
  "name": "",
332
- "type": "bytes20"
522
+ "type": "address"
333
523
  }
334
524
  ],
335
- "name": "mainUtxos",
525
+ "name": "isVaultTrusted",
336
526
  "outputs": [
337
527
  {
338
- "internalType": "bytes32",
528
+ "internalType": "bool",
339
529
  "name": "",
340
- "type": "bytes32"
530
+ "type": "bool"
341
531
  }
342
532
  ],
343
533
  "stateMutability": "view",
@@ -467,6 +657,36 @@
467
657
  "stateMutability": "nonpayable",
468
658
  "type": "function"
469
659
  },
660
+ {
661
+ "inputs": [
662
+ {
663
+ "components": [
664
+ {
665
+ "internalType": "bytes32",
666
+ "name": "txHash",
667
+ "type": "bytes32"
668
+ },
669
+ {
670
+ "internalType": "uint32",
671
+ "name": "txOutputIndex",
672
+ "type": "uint32"
673
+ },
674
+ {
675
+ "internalType": "uint64",
676
+ "name": "txOutputValue",
677
+ "type": "uint64"
678
+ }
679
+ ],
680
+ "internalType": "struct BitcoinTx.UTXO",
681
+ "name": "activeWalletMainUtxo",
682
+ "type": "tuple"
683
+ }
684
+ ],
685
+ "name": "requestNewWallet",
686
+ "outputs": [],
687
+ "stateMutability": "nonpayable",
688
+ "type": "function"
689
+ },
470
690
  {
471
691
  "inputs": [
472
692
  {
@@ -851,40 +1071,71 @@
851
1071
  {
852
1072
  "inputs": [
853
1073
  {
854
- "internalType": "bytes20",
855
- "name": "",
856
- "type": "bytes20"
857
- }
858
- ],
859
- "name": "wallets",
860
- "outputs": [
1074
+ "internalType": "uint32",
1075
+ "name": "creationPeriod",
1076
+ "type": "uint32"
1077
+ },
861
1078
  {
862
- "internalType": "enum Bridge.WalletState",
863
- "name": "state",
864
- "type": "uint8"
1079
+ "internalType": "uint64",
1080
+ "name": "minBtcBalance",
1081
+ "type": "uint64"
865
1082
  },
866
1083
  {
867
1084
  "internalType": "uint64",
868
- "name": "pendingRedemptionsValue",
1085
+ "name": "maxBtcBalance",
869
1086
  "type": "uint64"
870
1087
  }
871
1088
  ],
872
- "stateMutability": "view",
1089
+ "name": "updateWalletsParameters",
1090
+ "outputs": [],
1091
+ "stateMutability": "nonpayable",
873
1092
  "type": "function"
874
1093
  }
875
1094
  ],
876
- "bytecode": "0x6101006040523480156200001257600080fd5b5060405162004d6838038062004d68833981016040819052620000359162000233565b6200004033620001c6565b6001600160a01b0384166200009c5760405162461bcd60e51b815260206004820152601b60248201527f42616e6b20616464726573732063616e6e6f74206265207a65726f000000000060448201526064015b60405180910390fd5b6001600160a01b0380851660a0528316620000fa5760405162461bcd60e51b815260206004820152601c60248201527f52656c617920616464726573732063616e6e6f74206265207a65726f00000000604482015260640162000093565b6001600160a01b0380841660c0528216620001585760405162461bcd60e51b815260206004820152601f60248201527f547265617375727920616464726573732063616e6e6f74206265207a65726f00604482015260640162000093565b6001600160a01b0390911660e052608052505060008054613d0960a61b600160a01b600160e01b03199091161790557907d000000000000f424000000000000003e800000000000007d0600155600280546001600160401b0319166103e81790556202a30060035562000285565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200022e57600080fd5b919050565b600080600080608085870312156200024a57600080fd5b620002558562000216565b9350620002656020860162000216565b9250620002756040860162000216565b6060959095015193969295505050565b60805160a05160c05160e051614a63620003056000396000818161037501528181610b2301526117f00152600081816104ef0152818161213601526121d00152600081816103bc01528181610a9001528181610b5201528181611757015281816118280152611fbe0152600081816102f901526122660152614a636000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c806383a43428116100ee578063bdf9fca911610097578063e53c0b5511610071578063e53c0b5514610558578063e65e19d51461058b578063e95eb7a8146105cc578063f2fde38b146105e657600080fd5b8063bdf9fca914610511578063cb7f3a091461052b578063d6eccdf01461054557600080fd5b8063b02c43d0116100c8578063b02c43d014610422578063b34b3216146104d7578063b59589d1146104ea57600080fd5b806383a43428146103de5780638da5cb5b146103fe578063a588f0591461040f57600080fd5b80635afb143c1161015057806361d027b31161012a57806361d027b314610370578063715018a6146103af57806376cdb03b146103b757600080fd5b80635afb143c146103305780635c0b48121461034a57806360d712fc1461035d57600080fd5b80631fff4e70116101815780631fff4e70146102dd5780632bb818c2146102f457806359a9d90a1461031b57600080fd5b806303d952f7146101a8578063079bf52c146102535780630b6ba19d1461027e575b600080fd5b6102076101b6366004613e39565b600760205260009081526040902080546001909101546001600160a01b03821691600160a01b90046001600160401b039081169181811691600160401b82041690600160801b900463ffffffff1685565b604080516001600160a01b0390961686526001600160401b0394851660208701529284169285019290925291909116606083015263ffffffff16608082015260a0015b60405180910390f35b600154610266906001600160401b031681565b6040516001600160401b03909116815260200161024a565b61020761028c366004613e39565b600860205260009081526040902080546001909101546001600160a01b03821691600160a01b90046001600160401b039081169181811691600160401b82041690600160801b900463ffffffff1685565b6102e660035481565b60405190815260200161024a565b6102e67f000000000000000000000000000000000000000000000000000000000000000081565b61032e610329366004613e7c565b6105f9565b005b60005461026690600160a01b90046001600160401b031681565b61032e610358366004613ee7565b610bbe565b61032e61036b366004613f5d565b6112b3565b6103977f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161024a565b61032e61136c565b6103977f000000000000000000000000000000000000000000000000000000000000000081565b6102e66103ec366004613fb1565b60066020526000908152604090205481565b6000546001600160a01b0316610397565b600254610266906001600160401b031681565b610487610430366004613e39565b600560205260009081526040902080546001909101546001600160a01b03808316926001600160401b03600160a01b80830482169463ffffffff600160e01b94859004811695821694928204909316929190041686565b604080516001600160a01b0397881681526001600160401b03968716602082015263ffffffff958616918101919091529590921660608601529290921660808401521660a082015260c00161024a565b61032e6104e5366004613fcc565b6113d2565b6103977f000000000000000000000000000000000000000000000000000000000000000081565b60015461026690600160801b90046001600160401b031681565b60015461026690600160401b90046001600160401b031681565b61032e610553366004614068565b61188f565b61057b61056636600461410d565b60046020526000908152604090205460ff1681565b604051901515815260200161024a565b6105be610599366004613fb1565b60096020526000908152604090205460ff81169061010090046001600160401b031682565b60405161024a92919061413e565b60015461026690600160c01b90046001600160401b031681565b61032e6105f436600461410d565b61202e565b600073__$a0a90fa014aeccc935ad103f88ed15a604$__639d7ae134858561061f612110565b6040518463ffffffff1660e01b815260040161063d939291906141fe565b60206040518083038186803b15801561065557600080fd5b505af4158015610669573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068d91906142f9565b90506000806106dc6106a26040880188614312565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061228d92505050565b60408051606081018252600080825260208083018290528284018290526001600160601b0319861682526006905291909120549294509092509080156107f65780863561072f6040890160208a0161436c565b61073f60608a0160408b01614387565b60405160200161077c9392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60405160208183030381529060405280519060200120146107e45760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f20646174610000000000000000000060448201526064015b60405180910390fd5b6107f3368790038701876143b8565b91505b600061084461080860208b018b614312565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508792506123c0915050565b9050600080806108678460000151886001600160401b031686604001515161293b565b6001549193509150600160401b90046001600160401b03166108898284614440565b11156108d75760405162461bcd60e51b815260206004820152601b60248201527f5472616e73616374696f6e2066656520697320746f6f2068696768000000000060448201526064016107db565b60005b8460400151518110156109c557600060018660400151516108fb9190614458565b82146109075783610911565b6109118385614440565b9050808660600151838151811061092a5761092a61446f565b6020026020010151876040015184815181106109485761094861446f565b602002602001015161095a9190614458565b6109649190614458565b8660400151838151811061097a5761097a61446f565b6020026020010181815250508560600151828151811061099c5761099c61446f565b6020026020010151856109af9190614440565b94505080806109bd90614485565b9150506108da565b5060408051602081018b90526000918101919091526001600160c01b031960c089901b166044820152604c0160408051808303601f1901815282825280516020918201206001600160601b03198c1660008181526006845284902091909155835282018b90527fe50ffdcc0a5f2c1ede5c122b9414ffd7b2c6bc870d2d775194049dc30da95e6a910160405180910390a1602084015160408086015190517f266a123a0000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169263266a123a92610ac3926004016144a0565b600060405180830381600087803b158015610add57600080fd5b505af1158015610af1573d6000803e3d6000fd5b50506040517f5b86f5990000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790527f0000000000000000000000000000000000000000000000000000000000000000169250635b86f5999150604401600060405180830381600087803b158015610b9857600080fd5b505af1158015610bac573d6000803e3d6000fd5b50505050505050505050505050505050565b6000610bd060e0830160c0840161410d565b6001600160a01b03161480610c12575060046000610bf460e0840160c0850161410d565b6001600160a01b0316815260208101919091526040016000205460ff165b610c5e5760405162461bcd60e51b815260206004820152601460248201527f5661756c74206973206e6f74207472757374656400000000000000000000000060448201526064016107db565b6000610c70604083016020840161410d565b610c806060840160408501614524565b610c906080850160608601613fb1565b610ca060a0860160808701613fb1565b610cb060c0870160a0880161454e565b604051602001610cc4959493929190614569565b60408051601f1981840301815291905290506000610d38610ce8602085018561436c565b63ffffffff16610cfb6040870187614312565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506129779050565b90506000610d4582612b42565b9050805160141415610dcb57610d5a83612de8565b6001600160601b031916610d6f826000612e0f565b6001600160601b03191614610dc65760405162461bcd60e51b815260206004820152601960248201527f57726f6e672032302d627974652073637269707420686173680000000000000060448201526064016107db565b610ec3565b805160201415610e7b57600283604051610de59190614819565b602060405180830381855afa158015610e02573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610e2591906142f9565b610e2e82612e25565b14610dc65760405162461bcd60e51b815260206004820152601960248201527f57726f6e672033322d627974652073637269707420686173680000000000000060448201526064016107db565b60405162461bcd60e51b815260206004820152601860248201527f57726f6e67207363726970742068617368206c656e677468000000000000000060448201526064016107db565b6000610f28610ed5602088018861454e565b610ee26020890189614312565b610eef60408b018b614312565b610eff60808d0160608e0161454e565b604051602001610f1496959493929190614825565b604051602081830303815290604052612e41565b9050600060058183610f3d60208a018a61436c565b604051602001610f6492919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff1615610fe85760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616c72656164792072657665616c6564000000000000000060448201526064016107db565b6000610ff385612e68565b6000549091506001600160401b03600160a01b9091048116908216101561105c5760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616d6f756e7420746f6f20736d616c6c000000000000000060448201526064016107db565b81547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff16600160a01b6001600160401b038316021782556110a3604088016020890161410d565b82546001600160a01b03919091167bffffffffffffffff000000000000000000000000000000000000000090911617600160e01b4263ffffffff16021782556110f260e0880160c0890161410d565b6001838101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039390931692909217909155546001600160401b031661113857600061114e565b60015461114e906001600160401b03168261487d565b6001830180546001600160401b0392909216600160a01b027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff9092169190911790557fa7382159a693ed317a024daf0fd1ba30805cdf9928ee09550af517c516e2ef05836111bf60208a018a61436c565b6111cf60408b0160208c0161410d565b846111e060608d0160408e01614524565b6111f060808e0160608f01613fb1565b8d60800160208101906112039190613fb1565b8e60a0016020810190611216919061454e565b8f60c0016020810190611229919061410d565b60408051998a5263ffffffff90981660208a01526001600160a01b03968716978901979097526001600160401b0390941660608801526001600160c01b031990921660808701526001600160601b031990811660a08701521660c08501526001600160e01b03191660e0840152166101008201526101200160405180910390a15050505050505050565b6000546001600160a01b0316331461130d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107db565b6001600160a01b038216600081815260046020908152604091829020805460ff191685151590811790915591519182527f9065599c12c4294d9e2201638226d0d0beb95c228f468c4e7c2bdb8322b6066f910160405180910390a25050565b6000546001600160a01b031633146113c65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107db565b6113d06000612ede565b565b600073__$a0a90fa014aeccc935ad103f88ed15a604$__639d7ae13486866113f8612110565b6040518463ffffffff1660e01b8152600401611416939291906141fe565b60206040518083038186803b15801561142e57600080fd5b505af4158015611442573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146691906142f9565b90506114b66114786020870187614312565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250869150612f3b9050565b6001600160601b0319821660009081526009602052604090205460ff1660018160048111156114e7576114e7614128565b14806115045750600281600481111561150257611502614128565b145b6115765760405162461bcd60e51b815260206004820152602c60248201527f57616c6c6574206d75737420626520696e20416374697665206f72204d6f766960448201527f6e6746756473207374617465000000000000000000000000000000000000000060648201526084016107db565b60006115c46115886040890189614312565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250889250613140915050565b60608101519091506001600160401b0316156116575782816040015182606001516040516020016116229392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60408051601f1981840301815291815281516020928301206001600160601b0319871660009081526006909352912055611672565b6001600160601b031984166000908152600660205260408120555b80516001600160601b03198516600090815260096020526040902080546001906116ab90849061010090046001600160401b03166148a3565b92506101000a8154816001600160401b0302191690836001600160401b031602179055507fa45596c10f758d32ec8cca64a0fbfe776052b08fdb3f026e0a87f52118bf8fbe84846040516117159291906001600160601b0319929092168252602082015260400190565b60405180910390a180516040517f392aee430000000000000000000000000000000000000000000000000000000081526001600160401b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063392aee4390602401600060405180830381600087803b1580156117a357600080fd5b505af11580156117b7573d6000803e3d6000fd5b5050505060208101516040517f56a6d9ef0000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526001600160401b0390921660248201527f0000000000000000000000000000000000000000000000000000000000000000909116906356a6d9ef90604401600060405180830381600087803b15801561186e57600080fd5b505af1158015611882573d6000803e3d6000fd5b5050505050505050505050565b60016001600160601b0319861660009081526009602052604090205460ff1660048111156118bf576118bf614128565b1461190c5760405162461bcd60e51b815260206004820152601e60248201527f57616c6c6574206d75737420626520696e20416374697665207374617465000060448201526064016107db565b6001600160601b03198516600090815260066020526040902054806119995760405162461bcd60e51b815260206004820152602160248201527f4e6f206d61696e205554584f20666f722074686520676976656e2077616c6c6560448201527f740000000000000000000000000000000000000000000000000000000000000060648201526084016107db565b8085356119ac604088016020890161436c565b6119bc6060890160408a01614387565b6040516020016119f99392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b6040516020818303038152906040528051906020012014611a5c5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f20646174610000000000000000000060448201526064016107db565b6000611a8e600060c01b8686604051602001611a7a939291906148cb565b604051602081830303815290604052612b42565b90506000815111611b075760405162461bcd60e51b815260206004820152602e60248201527f52656465656d6572206f757470757420736372697074206d757374206265206160448201527f207374616e64617264207479706500000000000000000000000000000000000060648201526084016107db565b808051906020012087604051602001611b3091906001600160601b031991909116815260140190565b604051602081830303815290604052805190602001201415611bba5760405162461bcd60e51b815260206004820152603760248201527f52656465656d6572206f757470757420736372697074206d757374206e6f742060448201527f706f696e7420746f207468652077616c6c657420504b4800000000000000000060648201526084016107db565b6001546001600160401b03600160801b90910481169084161015611c205760405162461bcd60e51b815260206004820152601b60248201527f526564656d7074696f6e20616d6f756e7420746f6f20736d616c6c000000000060448201526064016107db565b6000878686604051602001611c37939291906148ef565b60408051808303601f19018152918152815160209283012060008181526007909352912060010154909150600160801b900463ffffffff1615611d085760405162461bcd60e51b815260206004820152604a60248201527f546865726520697320612070656e64696e6720726564656d7074696f6e20726560448201527f71756573742066726f6d20746869732077616c6c657420746f2074686520736160648201527f6d65206164647265737300000000000000000000000000000000000000000000608482015260a4016107db565b600154600090600160c01b90046001600160401b0316611d29576000611d46565b600154611d4690600160c01b90046001600160401b03168661487d565b6002549091506001600160401b0316611d5f82876148a3565b6001600160601b03198b1660009081526009602052604090208054600190611d9690849061010090046001600160401b0316614913565b82546001600160401b0391821661010093840a90810290830219909116179092556001600160601b03198d166000908152600960205260409081902054919091049091169150611dec9060608c01908c01614387565b6001600160401b03161015611e435760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e742077616c6c65742066756e64730000000000000060448201526064016107db565b6040805160a081018252338082526001600160401b03808a1660208085019182528783168587019081528784166060870190815263ffffffff4281166080890190815260008d81526007909552938990209751885495518716600160a01b026001600160e01b03199096166001600160a01b03919091161794909417875590516001909601805491519251909316600160801b027fffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffffff928516600160401b027fffffffffffffffffffffffffffffffff00000000000000000000000000000000909216969094169590951794909417939093161790915590517f97a0199072f487232635d50ab75860891afe0b91c976ed2fc76502c4d82d0d9591611f73918d918c918c91908c908990899061493e565b60405180910390a16040517f7c6db49c0000000000000000000000000000000000000000000000000000000081523360048201523060248201526001600160401b03871660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637c6db49c90606401600060405180830381600087803b15801561200a57600080fd5b505af115801561201e573d6000803e3d6000fd5b5050505050505050505050505050565b6000546001600160a01b031633146120885760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107db565b6001600160a01b0381166121045760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016107db565b61210d81612ede565b50565b61213460405180606001604052806000815260200160008152602001600081525090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663113764be6040518163ffffffff1660e01b815260040160206040518083038186803b15801561218d57600080fd5b505afa1580156121a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c591906142f9565b8160000181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632b97be246040518163ffffffff1660e01b815260040160206040518083038186803b15801561222757600080fd5b505afa15801561223b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061225f91906142f9565b60208201527f0000000000000000000000000000000000000000000000000000000000000000604082015290565b600080600061229b84613755565b915050806001146123145760405162461bcd60e51b815260206004820152602b60248201527f5377656570207472616e73616374696f6e206d7573742068617665206120736960448201527f6e676c65206f757470757400000000000000000000000000000000000000000060648201526084016107db565b60006123208582612977565b905061232b81612e68565b9250600061233882612b42565b905080516014146123b15760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574207075626c6963206b657920686173682073686f756c6420686160448201527f766520323020627974657300000000000000000000000000000000000000000060648201526084016107db565b60208101519450505050915091565b6123eb6040518060800160405280600081526020016060815260200160608152602001606081525090565b81511515600080806123fc87613755565b9092509050600061240e836001614440565b9050841561242657612421600183614458565b612428565b815b6001600160401b0381111561243f5761243f6143a2565b604051908082528060200260200182016040528015612468578160200160208202803683370190505b5060208701819052516001600160401b03811115612488576124886143a2565b6040519080825280602002602001820160405280156124b1578160200160208202803683370190505b5060408701526020860151516001600160401b038111156124d4576124d46143a2565b6040519080825280602002602001820160405280156124fd578160200160208202803683370190505b5060608701526000805b8381101561283e57600080600061251e8d8761376c565b925092509250600060056000858560405160200161255392919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff161561278f576001810154600160e01b900463ffffffff16156125ee5760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c7265616479207377657074000000000000000000000060448201526064016107db565b8b60200151518614156126695760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e7075747300000000000060648201526084016107db565b6001810180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b4263ffffffff1602179055805460208d015180516001600160a01b0390921691889081106126c2576126c261446f565b6001600160a01b039290921660209283029190910190910152805460408d01518051600160a01b9092046001600160401b031691889081106127065761270661446f565b6020026020010181815250508b6040015186815181106127285761272861446f565b60200260200101518c6000018181516127419190614440565b905250600181015460608d01518051600160a01b9092046001600160401b031691889081106127725761277261446f565b60209081029190910101528561278781614485565b96505061281b565b8915158b1515141580156127a357508c5184145b156127d3578c604001516001600160401b03168c6000018181516127c79190614440565b9052506001995061281b565b60405162461bcd60e51b815260206004820152601260248201527f556e6b6e6f776e20696e7075742074797065000000000000000000000000000060448201526064016107db565b6128258288614440565b965050505050808061283690614485565b915050612507565b50600081116128b55760405162461bcd60e51b815260206004820152603360248201527f5377656570207472616e73616374696f6e206d7573742070726f63657373206160448201527f74206c65617374206f6e65206465706f7369740000000000000000000000000060648201526084016107db565b8415158615151461292e5760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e7075747300000000000060648201526084016107db565b5050505050505b92915050565b600080806129498587614458565b905061295584826149a1565b9150836129628383614458565b61296c91906149b5565b925050935093915050565b606060008061298585613755565b90925090506000198214156129e75760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e742070617273696044820152616e6760f01b60648201526084016107db565b808410612a365760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e00000000000000000000000000000060448201526064016107db565b600080612a44846001614440565b905060005b86811015612acd57612a5b88836137c4565b9250600019831415612aaf5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016107db565b612ab98383614440565b915080612ac581614485565b915050612a49565b50612ad887826137c4565b9150600019821415612b2c5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016107db565b612b37878284613833565b979650505050505050565b6060600082600881518110612b5957612b5961446f565b0160200151835160f89190911c9150612b738260096149c9565b60ff1614612b91575050604080516020810190915260008152919050565b82600981518110612ba457612ba461446f565b016020015160f81c612c4a5760028160ff161015612bd2575050604080516020810190915260008152919050565b600083600a81518110612be757612be761446f565b016020015160f81c9050612bfc6002836149ee565b60ff1681141580612c1a575080602014158015612c1a575080601414155b15612c3657505060408051602081019091526000815292915050565b612c4284600b83613833565b949350505050565b6000612c57846008612e0f565b90507f1976a900000000000000000000000000000000000000000000000000000000007fffffff000000000000000000000000000000000000000000000000000000000082161415612d345783600b81518110612cb657612cb661446f565b60209101015160f81c6014141580612d0b5750612ce160028551612cda9190614458565b8590612e0f565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191661222b60f21b14155b15612d2757505060408051602081019091526000815292915050565b612c4284600c6014613833565b7f17a91400000000000000000000000000000000000000000000000000000000007fffffff000000000000000000000000000000000000000000000000000000000082161415612dd1578360018551612d8d9190614458565b81518110612d9d57612d9d61446f565b60209101015160f81c608714612dc457505060408051602081019091526000815292915050565b612c4284600b6014613833565b505050604080516020810190915260008152919050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b6000612e1e8383016020015190565b9392505050565b6000815160001415612e3957506000919050565b506020015190565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b600080612e74836138fd565b60c01c90506000612c428264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b6001600160401b031666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160601b0319811660009081526006602052604090205480612fa25760405162461bcd60e51b815260206004820152601d60248201527f4e6f206d61696e205554584f20666f7220676976656e2077616c6c657400000060448201526064016107db565b808335612fb5604086016020870161436c565b612fc56060870160408801614387565b6040516020016130029392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60405160208183030381529060405280519060200120146130655760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f20646174610000000000000000000060448201526064016107db565b60008061307186613909565b90925090508435821480156130a0575063ffffffff8116613098604087016020880161436c565b63ffffffff16145b6131385760405162461bcd60e51b815260206004820152604160248201527f526564656d7074696f6e207472616e73616374696f6e20696e707574206d757360448201527f7420706f696e7420746f207468652077616c6c65742773206d61696e2055545860648201527f4f00000000000000000000000000000000000000000000000000000000000000608482015260a4016107db565b505050505050565b6040805160808101825260008082526020820181905291810182905260608101829052908061316e85613755565b90925090506000613180836001614440565b604080517f1976a914000000000000000000000000000000000000000000000000000000006020808301919091526001600160601b031989166024830181905261222b60f21b60388401528351601a818503018152603a840185528051908301207f1600140000000000000000000000000000000000000000000000000000000000605a850152605d8401919091528351605181850301815260719093019093528151910120919250906000805b858110156136de5760006132428b876137c4565b905060006132518c8884613833565b9050600061325e82612e68565b9050600061327c60088085516132749190614458565b859190613833565b90508b606001516001600160401b031660001480156132af5750805160208201208814806132af57508051602082012087145b80156132c457506000826001600160401b0316115b156132e95763ffffffff851660408d01526001600160401b03821660608d01526136bb565b60008d826040516020016132fe929190614a11565b60408051808303601f19018152918152815160209283012060008181526007909352912060010154909150600160801b900463ffffffff161561350857600081815260076020526040812060018101548154919291613370916001600160401b0390811691600160a01b9004166148a3565b60018301549091506001600160401b038087169161339791600160401b90910416836148a3565b6001600160401b0316111580156133c05750806001600160401b0316856001600160401b031611155b6134585760405162461bcd60e51b815260206004820152604660248201527f4f75747075742076616c7565206973206e6f742077697468696e20746865206160448201527f636365707461626c652072616e6765206f66207468652070656e64696e67207260648201527f6571756573740000000000000000000000000000000000000000000000000000608482015260a4016107db565b808f60000181815161346a9190614913565b9150906001600160401b031690816001600160401b0316815250508160010160009054906101000a90046001600160401b03168f6020018181516134ae9190614913565b6001600160401b0316905250600083815260076020526040902080546001600160e01b0319168155600101805473ffffffffffffffffffffffffffffffffffffffff19169055886134fe81614485565b99505050506136b9565b60008181526008602052604090206001810154600160801b900463ffffffff166135995760405162461bcd60e51b8152602060048201526024808201527f4f75747075742069732061206e6f6e2d72657175657374656420726564656d7060448201527f74696f6e0000000000000000000000000000000000000000000000000000000060648201526084016107db565b600181015481546000916135c1916001600160401b0391821691600160a01b909104166148a3565b60018301549091506001600160401b03808716916135e891600160401b90910416836148a3565b6001600160401b0316111580156136115750806001600160401b0316856001600160401b031611155b6136a95760405162461bcd60e51b815260206004820152604860248201527f4f75747075742076616c7565206973206e6f742077697468696e20746865206160448201527f636365707461626c652072616e6765206f66207468652074696d6564206f757460648201527f2072657175657374000000000000000000000000000000000000000000000000608482015260a4016107db565b886136b381614485565b99505050505b505b6136c5848a614440565b98505050505080806136d690614485565b91505061322e565b506000811161292e5760405162461bcd60e51b815260206004820152603b60248201527f526564656d7074696f6e207472616e73616374696f6e206d7573742070726f6360448201527f657373206174206c65617374206f6e6520726564656d7074696f6e000000000060648201526084016107db565b6000806137638360006139be565b91509150915091565b6000808061377a8585612e0f565b92506137af6137898686613b3a565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b91506137bb8585613b51565b90509250925092565b60006137d1826009614440565b835110156137e25750600019612935565b6000806137f9856137f4866008614440565b6139be565b90925090506000198214156138145760001992505050612935565b80613820836009614440565b61382a9190614440565b95945050505050565b60608161384f5750604080516020810190915260008152612e1e565b600061385b8385614440565b9050838111801561386d575080855110155b6138b95760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e64730000000000000000000000000060448201526064016107db565b604051915082604083010160405282825283850182038460208701018481015b808210156138f2578151838301526020820191506138d9565b505050509392505050565b60006129358282612e0f565b600080600061391784613755565b915050806001146139905760405162461bcd60e51b815260206004820152602f60248201527f526564656d7074696f6e207472616e73616374696f6e206d757374206861766560448201527f20612073696e676c6520696e707574000000000000000000000000000000000060648201526084016107db565b600061399c8582613b9c565b90506139a781613d51565b93506139b561378982613d5e565b92505050915091565b60008060006139cd8585613d6b565b905060ff81166139ff5760008585815181106139eb576139eb61446f565b016020015190935060f81c9150613b339050565b83613a0b8260016149c9565b60ff16613a189190614440565b85511015613a2f5760001960009250925050613b33565b60008160ff1660021415613a7457613a69613a55613a4e876001614440565b8890612e0f565b62ffff0060e882901c1660f89190911c1790565b61ffff169050613b29565b8160ff1660041415613a9e57613a91613789613a4e876001614440565b63ffffffff169050613b29565b8160ff1660081415613b2957613b1d613abb613a4e876001614440565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b6001600160401b031666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b6001600160401b031690505b60ff909116925090505b9250929050565b6000612e1e613b4a836020614440565b8490612e0f565b6000806000613b608585613df7565b9092509050600019821415613b7b5760001992505050612935565b80613b87836025614440565b613b919190614440565b61382a906004614440565b6060600080613baa85613755565b9092509050600019821415613c0c5760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e742070617273696044820152616e6760f01b60648201526084016107db565b808410613c5b5760405162461bcd60e51b815260206004820152601060248201527f56696e2072656164206f76657272756e0000000000000000000000000000000060448201526064016107db565b600080613c69846001614440565b905060005b86811015613cf257613c808883613b51565b9250600019831415613cd45760405162461bcd60e51b815260206004820152601760248201527f42616420566172496e7420696e2073637269707453696700000000000000000060448201526064016107db565b613cde8383614440565b915080613cea81614485565b915050613c6e565b50613cfd8782613b51565b9150600019821415612b2c5760405162461bcd60e51b815260206004820152601760248201527f42616420566172496e7420696e2073637269707453696700000000000000000060448201526064016107db565b6020810151600090612935565b6000612935826020612e0f565b6000828281518110613d7f57613d7f61446f565b60209101015160f81c60ff1415613d9857506008612935565b828281518110613daa57613daa61446f565b60209101015160f81c60fe1415613dc357506004612935565b828281518110613dd557613dd561446f565b60209101015160f81c60fd1415613dee57506002612935565b50600092915050565b600080613e05836025614440565b84511015613e1a575060001990506000613b33565b600080613e2c866137f4876024614440565b9097909650945050505050565b600060208284031215613e4b57600080fd5b5035919050565b600060808284031215613e6457600080fd5b50919050565b600060608284031215613e6457600080fd5b600080600060a08486031215613e9157600080fd5b83356001600160401b0380821115613ea857600080fd5b613eb487838801613e52565b94506020860135915080821115613eca57600080fd5b50613ed786828701613e6a565b9250506137bb8560408601613e6a565b600080828403610100811215613efc57600080fd5b83356001600160401b03811115613f1257600080fd5b613f1e86828701613e52565b93505060e0601f1982011215613f3357600080fd5b506020830190509250929050565b80356001600160a01b0381168114613f5857600080fd5b919050565b60008060408385031215613f7057600080fd5b613f7983613f41565b915060208301358015158114613f8e57600080fd5b809150509250929050565b80356001600160601b031981168114613f5857600080fd5b600060208284031215613fc357600080fd5b612e1e82613f99565b60008060008060c08587031215613fe257600080fd5b84356001600160401b0380821115613ff957600080fd5b61400588838901613e52565b9550602087013591508082111561401b57600080fd5b5061402887828801613e6a565b9350506140388660408701613e6a565b915061404660a08601613f99565b905092959194509250565b80356001600160401b0381168114613f5857600080fd5b600080600080600060c0868803121561408057600080fd5b61408986613f99565b94506140988760208801613e6a565b935060808601356001600160401b03808211156140b457600080fd5b818801915088601f8301126140c857600080fd5b8135818111156140d757600080fd5b8960208285010111156140e957600080fd5b60208301955080945050505061410160a08701614051565b90509295509295909350565b60006020828403121561411f57600080fd5b612e1e82613f41565b634e487b7160e01b600052602160045260246000fd5b604081016005841061416057634e487b7160e01b600052602160045260246000fd5b9281526001600160401b039190911660209091015290565b80356001600160e01b031981168114613f5857600080fd5b6000808335601e198436030181126141a757600080fd5b83016020810192503590506001600160401b038111156141c657600080fd5b803603831315613b3357600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60a0815260006001600160e01b03198061421787614178565b1660a084015261422a6020870187614190565b608060c0860152614240610120860182846141d5565b9150506142506040880188614190565b858303609f190160e08701526142678382846141d5565b925050508161427860608901614178565b1661010085015283810360208501526142918687614190565b9250606082526142a56060830184836141d5565b925050602086013560208201526142bf6040870187614190565b82840360408401526142d28482846141d5565b945050505050612c4260408301848051825260208082015190830152604090810151910152565b60006020828403121561430b57600080fd5b5051919050565b6000808335601e1984360301811261432957600080fd5b8301803591506001600160401b0382111561434357600080fd5b602001915036819003821315613b3357600080fd5b803563ffffffff81168114613f5857600080fd5b60006020828403121561437e57600080fd5b612e1e82614358565b60006020828403121561439957600080fd5b612e1e82614051565b634e487b7160e01b600052604160045260246000fd5b6000606082840312156143ca57600080fd5b604051606081018181106001600160401b03821117156143fa57634e487b7160e01b600052604160045260246000fd5b6040528235815261440d60208401614358565b602082015261441e60408401614051565b60408201529392505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156144535761445361442a565b500190565b60008282101561446a5761446a61442a565b500390565b634e487b7160e01b600052603260045260246000fd5b60006000198214156144995761449961442a565b5060010190565b604080825283519082018190526000906020906060840190828701845b828110156144e25781516001600160a01b0316845292840192908401906001016144bd565b5050508381038285015284518082528583019183019060005b81811015614517578351835292840192918401916001016144fb565b5090979650505050505050565b60006020828403121561453657600080fd5b81356001600160c01b031981168114612e1e57600080fd5b60006020828403121561456057600080fd5b612e1e82614178565b600560fa1b8152606086901b6001600160601b0319166001820152607560f81b60158201527f080000000000000000000000000000000000000000000000000000000000000060168201526001600160c01b031985166017820152607560f81b601f820152600061463d614630614607602085015b7f7600000000000000000000000000000000000000000000000000000000000000815260010190565b7fa900000000000000000000000000000000000000000000000000000000000000815260010190565b600560fa1b815260010190565b6001600160601b0319861681527f870000000000000000000000000000000000000000000000000000000000000060148201527f630000000000000000000000000000000000000000000000000000000000000060158201526146fc6146306146076145de6146d3601686015b7fac00000000000000000000000000000000000000000000000000000000000000815260010190565b7f6700000000000000000000000000000000000000000000000000000000000000815260010190565b6001600160601b0319861681527f880000000000000000000000000000000000000000000000000000000000000060148201527f040000000000000000000000000000000000000000000000000000000000000060158201529050601681016001600160e01b0319851681527fb1000000000000000000000000000000000000000000000000000000000000006004820152607560f81b600582015290506147d26147a9600683016146aa565b7f6800000000000000000000000000000000000000000000000000000000000000815260010190565b98975050505050505050565b6000815160005b818110156147ff57602081850181015186830152016147e5565b8181111561480e576000828601525b509290920192915050565b6000612e1e82846147de565b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b634e487b7160e01b600052601260045260246000fd5b60006001600160401b038084168061489757614897614867565b92169190910492915050565b60006001600160401b03838116908316818110156148c3576148c361442a565b039392505050565b6001600160c01b031984168152818360088301376000910160080190815292915050565b6001600160601b031984168152818360148301376000910160140190815292915050565b60006001600160401b038083168185168083038211156149355761493561442a565b01949350505050565b6bffffffffffffffffffffffff198816815260c06020820152600061496760c08301888a6141d5565b6001600160a01b03969096166040830152506001600160401b039384166060820152918316608083015290911660a0909101529392505050565b6000826149b0576149b0614867565b500690565b6000826149c4576149c4614867565b500490565b600060ff821660ff84168060ff038211156149e6576149e661442a565b019392505050565b600060ff821660ff841680821015614a0857614a0861442a565b90039392505050565b6001600160601b0319831681526000612c4260148301846147de56fea2646970667358221220d0c71cedaffd0031682dd2f33400bfd36c686a127cfc56c4da7dc0369d95ce7164736f6c63430008090033",
877
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101a35760003560e01c806383a43428116100ee578063bdf9fca911610097578063e53c0b5511610071578063e53c0b5514610558578063e65e19d51461058b578063e95eb7a8146105cc578063f2fde38b146105e657600080fd5b8063bdf9fca914610511578063cb7f3a091461052b578063d6eccdf01461054557600080fd5b8063b02c43d0116100c8578063b02c43d014610422578063b34b3216146104d7578063b59589d1146104ea57600080fd5b806383a43428146103de5780638da5cb5b146103fe578063a588f0591461040f57600080fd5b80635afb143c1161015057806361d027b31161012a57806361d027b314610370578063715018a6146103af57806376cdb03b146103b757600080fd5b80635afb143c146103305780635c0b48121461034a57806360d712fc1461035d57600080fd5b80631fff4e70116101815780631fff4e70146102dd5780632bb818c2146102f457806359a9d90a1461031b57600080fd5b806303d952f7146101a8578063079bf52c146102535780630b6ba19d1461027e575b600080fd5b6102076101b6366004613e39565b600760205260009081526040902080546001909101546001600160a01b03821691600160a01b90046001600160401b039081169181811691600160401b82041690600160801b900463ffffffff1685565b604080516001600160a01b0390961686526001600160401b0394851660208701529284169285019290925291909116606083015263ffffffff16608082015260a0015b60405180910390f35b600154610266906001600160401b031681565b6040516001600160401b03909116815260200161024a565b61020761028c366004613e39565b600860205260009081526040902080546001909101546001600160a01b03821691600160a01b90046001600160401b039081169181811691600160401b82041690600160801b900463ffffffff1685565b6102e660035481565b60405190815260200161024a565b6102e67f000000000000000000000000000000000000000000000000000000000000000081565b61032e610329366004613e7c565b6105f9565b005b60005461026690600160a01b90046001600160401b031681565b61032e610358366004613ee7565b610bbe565b61032e61036b366004613f5d565b6112b3565b6103977f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161024a565b61032e61136c565b6103977f000000000000000000000000000000000000000000000000000000000000000081565b6102e66103ec366004613fb1565b60066020526000908152604090205481565b6000546001600160a01b0316610397565b600254610266906001600160401b031681565b610487610430366004613e39565b600560205260009081526040902080546001909101546001600160a01b03808316926001600160401b03600160a01b80830482169463ffffffff600160e01b94859004811695821694928204909316929190041686565b604080516001600160a01b0397881681526001600160401b03968716602082015263ffffffff958616918101919091529590921660608601529290921660808401521660a082015260c00161024a565b61032e6104e5366004613fcc565b6113d2565b6103977f000000000000000000000000000000000000000000000000000000000000000081565b60015461026690600160801b90046001600160401b031681565b60015461026690600160401b90046001600160401b031681565b61032e610553366004614068565b61188f565b61057b61056636600461410d565b60046020526000908152604090205460ff1681565b604051901515815260200161024a565b6105be610599366004613fb1565b60096020526000908152604090205460ff81169061010090046001600160401b031682565b60405161024a92919061413e565b60015461026690600160c01b90046001600160401b031681565b61032e6105f436600461410d565b61202e565b600073__$a0a90fa014aeccc935ad103f88ed15a604$__639d7ae134858561061f612110565b6040518463ffffffff1660e01b815260040161063d939291906141fe565b60206040518083038186803b15801561065557600080fd5b505af4158015610669573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068d91906142f9565b90506000806106dc6106a26040880188614312565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061228d92505050565b60408051606081018252600080825260208083018290528284018290526001600160601b0319861682526006905291909120549294509092509080156107f65780863561072f6040890160208a0161436c565b61073f60608a0160408b01614387565b60405160200161077c9392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60405160208183030381529060405280519060200120146107e45760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f20646174610000000000000000000060448201526064015b60405180910390fd5b6107f3368790038701876143b8565b91505b600061084461080860208b018b614312565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508792506123c0915050565b9050600080806108678460000151886001600160401b031686604001515161293b565b6001549193509150600160401b90046001600160401b03166108898284614440565b11156108d75760405162461bcd60e51b815260206004820152601b60248201527f5472616e73616374696f6e2066656520697320746f6f2068696768000000000060448201526064016107db565b60005b8460400151518110156109c557600060018660400151516108fb9190614458565b82146109075783610911565b6109118385614440565b9050808660600151838151811061092a5761092a61446f565b6020026020010151876040015184815181106109485761094861446f565b602002602001015161095a9190614458565b6109649190614458565b8660400151838151811061097a5761097a61446f565b6020026020010181815250508560600151828151811061099c5761099c61446f565b6020026020010151856109af9190614440565b94505080806109bd90614485565b9150506108da565b5060408051602081018b90526000918101919091526001600160c01b031960c089901b166044820152604c0160408051808303601f1901815282825280516020918201206001600160601b03198c1660008181526006845284902091909155835282018b90527fe50ffdcc0a5f2c1ede5c122b9414ffd7b2c6bc870d2d775194049dc30da95e6a910160405180910390a1602084015160408086015190517f266a123a0000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169263266a123a92610ac3926004016144a0565b600060405180830381600087803b158015610add57600080fd5b505af1158015610af1573d6000803e3d6000fd5b50506040517f5b86f5990000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790527f0000000000000000000000000000000000000000000000000000000000000000169250635b86f5999150604401600060405180830381600087803b158015610b9857600080fd5b505af1158015610bac573d6000803e3d6000fd5b50505050505050505050505050505050565b6000610bd060e0830160c0840161410d565b6001600160a01b03161480610c12575060046000610bf460e0840160c0850161410d565b6001600160a01b0316815260208101919091526040016000205460ff165b610c5e5760405162461bcd60e51b815260206004820152601460248201527f5661756c74206973206e6f74207472757374656400000000000000000000000060448201526064016107db565b6000610c70604083016020840161410d565b610c806060840160408501614524565b610c906080850160608601613fb1565b610ca060a0860160808701613fb1565b610cb060c0870160a0880161454e565b604051602001610cc4959493929190614569565b60408051601f1981840301815291905290506000610d38610ce8602085018561436c565b63ffffffff16610cfb6040870187614312565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506129779050565b90506000610d4582612b42565b9050805160141415610dcb57610d5a83612de8565b6001600160601b031916610d6f826000612e0f565b6001600160601b03191614610dc65760405162461bcd60e51b815260206004820152601960248201527f57726f6e672032302d627974652073637269707420686173680000000000000060448201526064016107db565b610ec3565b805160201415610e7b57600283604051610de59190614819565b602060405180830381855afa158015610e02573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610e2591906142f9565b610e2e82612e25565b14610dc65760405162461bcd60e51b815260206004820152601960248201527f57726f6e672033322d627974652073637269707420686173680000000000000060448201526064016107db565b60405162461bcd60e51b815260206004820152601860248201527f57726f6e67207363726970742068617368206c656e677468000000000000000060448201526064016107db565b6000610f28610ed5602088018861454e565b610ee26020890189614312565b610eef60408b018b614312565b610eff60808d0160608e0161454e565b604051602001610f1496959493929190614825565b604051602081830303815290604052612e41565b9050600060058183610f3d60208a018a61436c565b604051602001610f6492919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff1615610fe85760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616c72656164792072657665616c6564000000000000000060448201526064016107db565b6000610ff385612e68565b6000549091506001600160401b03600160a01b9091048116908216101561105c5760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616d6f756e7420746f6f20736d616c6c000000000000000060448201526064016107db565b81547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff16600160a01b6001600160401b038316021782556110a3604088016020890161410d565b82546001600160a01b03919091167bffffffffffffffff000000000000000000000000000000000000000090911617600160e01b4263ffffffff16021782556110f260e0880160c0890161410d565b6001838101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039390931692909217909155546001600160401b031661113857600061114e565b60015461114e906001600160401b03168261487d565b6001830180546001600160401b0392909216600160a01b027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff9092169190911790557fa7382159a693ed317a024daf0fd1ba30805cdf9928ee09550af517c516e2ef05836111bf60208a018a61436c565b6111cf60408b0160208c0161410d565b846111e060608d0160408e01614524565b6111f060808e0160608f01613fb1565b8d60800160208101906112039190613fb1565b8e60a0016020810190611216919061454e565b8f60c0016020810190611229919061410d565b60408051998a5263ffffffff90981660208a01526001600160a01b03968716978901979097526001600160401b0390941660608801526001600160c01b031990921660808701526001600160601b031990811660a08701521660c08501526001600160e01b03191660e0840152166101008201526101200160405180910390a15050505050505050565b6000546001600160a01b0316331461130d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107db565b6001600160a01b038216600081815260046020908152604091829020805460ff191685151590811790915591519182527f9065599c12c4294d9e2201638226d0d0beb95c228f468c4e7c2bdb8322b6066f910160405180910390a25050565b6000546001600160a01b031633146113c65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107db565b6113d06000612ede565b565b600073__$a0a90fa014aeccc935ad103f88ed15a604$__639d7ae13486866113f8612110565b6040518463ffffffff1660e01b8152600401611416939291906141fe565b60206040518083038186803b15801561142e57600080fd5b505af4158015611442573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146691906142f9565b90506114b66114786020870187614312565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250869150612f3b9050565b6001600160601b0319821660009081526009602052604090205460ff1660018160048111156114e7576114e7614128565b14806115045750600281600481111561150257611502614128565b145b6115765760405162461bcd60e51b815260206004820152602c60248201527f57616c6c6574206d75737420626520696e20416374697665206f72204d6f766960448201527f6e6746756473207374617465000000000000000000000000000000000000000060648201526084016107db565b60006115c46115886040890189614312565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250889250613140915050565b60608101519091506001600160401b0316156116575782816040015182606001516040516020016116229392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60408051601f1981840301815291815281516020928301206001600160601b0319871660009081526006909352912055611672565b6001600160601b031984166000908152600660205260408120555b80516001600160601b03198516600090815260096020526040902080546001906116ab90849061010090046001600160401b03166148a3565b92506101000a8154816001600160401b0302191690836001600160401b031602179055507fa45596c10f758d32ec8cca64a0fbfe776052b08fdb3f026e0a87f52118bf8fbe84846040516117159291906001600160601b0319929092168252602082015260400190565b60405180910390a180516040517f392aee430000000000000000000000000000000000000000000000000000000081526001600160401b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063392aee4390602401600060405180830381600087803b1580156117a357600080fd5b505af11580156117b7573d6000803e3d6000fd5b5050505060208101516040517f56a6d9ef0000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526001600160401b0390921660248201527f0000000000000000000000000000000000000000000000000000000000000000909116906356a6d9ef90604401600060405180830381600087803b15801561186e57600080fd5b505af1158015611882573d6000803e3d6000fd5b5050505050505050505050565b60016001600160601b0319861660009081526009602052604090205460ff1660048111156118bf576118bf614128565b1461190c5760405162461bcd60e51b815260206004820152601e60248201527f57616c6c6574206d75737420626520696e20416374697665207374617465000060448201526064016107db565b6001600160601b03198516600090815260066020526040902054806119995760405162461bcd60e51b815260206004820152602160248201527f4e6f206d61696e205554584f20666f722074686520676976656e2077616c6c6560448201527f740000000000000000000000000000000000000000000000000000000000000060648201526084016107db565b8085356119ac604088016020890161436c565b6119bc6060890160408a01614387565b6040516020016119f99392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b6040516020818303038152906040528051906020012014611a5c5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f20646174610000000000000000000060448201526064016107db565b6000611a8e600060c01b8686604051602001611a7a939291906148cb565b604051602081830303815290604052612b42565b90506000815111611b075760405162461bcd60e51b815260206004820152602e60248201527f52656465656d6572206f757470757420736372697074206d757374206265206160448201527f207374616e64617264207479706500000000000000000000000000000000000060648201526084016107db565b808051906020012087604051602001611b3091906001600160601b031991909116815260140190565b604051602081830303815290604052805190602001201415611bba5760405162461bcd60e51b815260206004820152603760248201527f52656465656d6572206f757470757420736372697074206d757374206e6f742060448201527f706f696e7420746f207468652077616c6c657420504b4800000000000000000060648201526084016107db565b6001546001600160401b03600160801b90910481169084161015611c205760405162461bcd60e51b815260206004820152601b60248201527f526564656d7074696f6e20616d6f756e7420746f6f20736d616c6c000000000060448201526064016107db565b6000878686604051602001611c37939291906148ef565b60408051808303601f19018152918152815160209283012060008181526007909352912060010154909150600160801b900463ffffffff1615611d085760405162461bcd60e51b815260206004820152604a60248201527f546865726520697320612070656e64696e6720726564656d7074696f6e20726560448201527f71756573742066726f6d20746869732077616c6c657420746f2074686520736160648201527f6d65206164647265737300000000000000000000000000000000000000000000608482015260a4016107db565b600154600090600160c01b90046001600160401b0316611d29576000611d46565b600154611d4690600160c01b90046001600160401b03168661487d565b6002549091506001600160401b0316611d5f82876148a3565b6001600160601b03198b1660009081526009602052604090208054600190611d9690849061010090046001600160401b0316614913565b82546001600160401b0391821661010093840a90810290830219909116179092556001600160601b03198d166000908152600960205260409081902054919091049091169150611dec9060608c01908c01614387565b6001600160401b03161015611e435760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e742077616c6c65742066756e64730000000000000060448201526064016107db565b6040805160a081018252338082526001600160401b03808a1660208085019182528783168587019081528784166060870190815263ffffffff4281166080890190815260008d81526007909552938990209751885495518716600160a01b026001600160e01b03199096166001600160a01b03919091161794909417875590516001909601805491519251909316600160801b027fffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffffff928516600160401b027fffffffffffffffffffffffffffffffff00000000000000000000000000000000909216969094169590951794909417939093161790915590517f97a0199072f487232635d50ab75860891afe0b91c976ed2fc76502c4d82d0d9591611f73918d918c918c91908c908990899061493e565b60405180910390a16040517f7c6db49c0000000000000000000000000000000000000000000000000000000081523360048201523060248201526001600160401b03871660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637c6db49c90606401600060405180830381600087803b15801561200a57600080fd5b505af115801561201e573d6000803e3d6000fd5b5050505050505050505050505050565b6000546001600160a01b031633146120885760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107db565b6001600160a01b0381166121045760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016107db565b61210d81612ede565b50565b61213460405180606001604052806000815260200160008152602001600081525090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663113764be6040518163ffffffff1660e01b815260040160206040518083038186803b15801561218d57600080fd5b505afa1580156121a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c591906142f9565b8160000181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632b97be246040518163ffffffff1660e01b815260040160206040518083038186803b15801561222757600080fd5b505afa15801561223b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061225f91906142f9565b60208201527f0000000000000000000000000000000000000000000000000000000000000000604082015290565b600080600061229b84613755565b915050806001146123145760405162461bcd60e51b815260206004820152602b60248201527f5377656570207472616e73616374696f6e206d7573742068617665206120736960448201527f6e676c65206f757470757400000000000000000000000000000000000000000060648201526084016107db565b60006123208582612977565b905061232b81612e68565b9250600061233882612b42565b905080516014146123b15760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574207075626c6963206b657920686173682073686f756c6420686160448201527f766520323020627974657300000000000000000000000000000000000000000060648201526084016107db565b60208101519450505050915091565b6123eb6040518060800160405280600081526020016060815260200160608152602001606081525090565b81511515600080806123fc87613755565b9092509050600061240e836001614440565b9050841561242657612421600183614458565b612428565b815b6001600160401b0381111561243f5761243f6143a2565b604051908082528060200260200182016040528015612468578160200160208202803683370190505b5060208701819052516001600160401b03811115612488576124886143a2565b6040519080825280602002602001820160405280156124b1578160200160208202803683370190505b5060408701526020860151516001600160401b038111156124d4576124d46143a2565b6040519080825280602002602001820160405280156124fd578160200160208202803683370190505b5060608701526000805b8381101561283e57600080600061251e8d8761376c565b925092509250600060056000858560405160200161255392919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff161561278f576001810154600160e01b900463ffffffff16156125ee5760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c7265616479207377657074000000000000000000000060448201526064016107db565b8b60200151518614156126695760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e7075747300000000000060648201526084016107db565b6001810180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b4263ffffffff1602179055805460208d015180516001600160a01b0390921691889081106126c2576126c261446f565b6001600160a01b039290921660209283029190910190910152805460408d01518051600160a01b9092046001600160401b031691889081106127065761270661446f565b6020026020010181815250508b6040015186815181106127285761272861446f565b60200260200101518c6000018181516127419190614440565b905250600181015460608d01518051600160a01b9092046001600160401b031691889081106127725761277261446f565b60209081029190910101528561278781614485565b96505061281b565b8915158b1515141580156127a357508c5184145b156127d3578c604001516001600160401b03168c6000018181516127c79190614440565b9052506001995061281b565b60405162461bcd60e51b815260206004820152601260248201527f556e6b6e6f776e20696e7075742074797065000000000000000000000000000060448201526064016107db565b6128258288614440565b965050505050808061283690614485565b915050612507565b50600081116128b55760405162461bcd60e51b815260206004820152603360248201527f5377656570207472616e73616374696f6e206d7573742070726f63657373206160448201527f74206c65617374206f6e65206465706f7369740000000000000000000000000060648201526084016107db565b8415158615151461292e5760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e7075747300000000000060648201526084016107db565b5050505050505b92915050565b600080806129498587614458565b905061295584826149a1565b9150836129628383614458565b61296c91906149b5565b925050935093915050565b606060008061298585613755565b90925090506000198214156129e75760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e742070617273696044820152616e6760f01b60648201526084016107db565b808410612a365760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e00000000000000000000000000000060448201526064016107db565b600080612a44846001614440565b905060005b86811015612acd57612a5b88836137c4565b9250600019831415612aaf5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016107db565b612ab98383614440565b915080612ac581614485565b915050612a49565b50612ad887826137c4565b9150600019821415612b2c5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016107db565b612b37878284613833565b979650505050505050565b6060600082600881518110612b5957612b5961446f565b0160200151835160f89190911c9150612b738260096149c9565b60ff1614612b91575050604080516020810190915260008152919050565b82600981518110612ba457612ba461446f565b016020015160f81c612c4a5760028160ff161015612bd2575050604080516020810190915260008152919050565b600083600a81518110612be757612be761446f565b016020015160f81c9050612bfc6002836149ee565b60ff1681141580612c1a575080602014158015612c1a575080601414155b15612c3657505060408051602081019091526000815292915050565b612c4284600b83613833565b949350505050565b6000612c57846008612e0f565b90507f1976a900000000000000000000000000000000000000000000000000000000007fffffff000000000000000000000000000000000000000000000000000000000082161415612d345783600b81518110612cb657612cb661446f565b60209101015160f81c6014141580612d0b5750612ce160028551612cda9190614458565b8590612e0f565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191661222b60f21b14155b15612d2757505060408051602081019091526000815292915050565b612c4284600c6014613833565b7f17a91400000000000000000000000000000000000000000000000000000000007fffffff000000000000000000000000000000000000000000000000000000000082161415612dd1578360018551612d8d9190614458565b81518110612d9d57612d9d61446f565b60209101015160f81c608714612dc457505060408051602081019091526000815292915050565b612c4284600b6014613833565b505050604080516020810190915260008152919050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b6000612e1e8383016020015190565b9392505050565b6000815160001415612e3957506000919050565b506020015190565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b600080612e74836138fd565b60c01c90506000612c428264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b6001600160401b031666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160601b0319811660009081526006602052604090205480612fa25760405162461bcd60e51b815260206004820152601d60248201527f4e6f206d61696e205554584f20666f7220676976656e2077616c6c657400000060448201526064016107db565b808335612fb5604086016020870161436c565b612fc56060870160408801614387565b6040516020016130029392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60405160208183030381529060405280519060200120146130655760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f20646174610000000000000000000060448201526064016107db565b60008061307186613909565b90925090508435821480156130a0575063ffffffff8116613098604087016020880161436c565b63ffffffff16145b6131385760405162461bcd60e51b815260206004820152604160248201527f526564656d7074696f6e207472616e73616374696f6e20696e707574206d757360448201527f7420706f696e7420746f207468652077616c6c65742773206d61696e2055545860648201527f4f00000000000000000000000000000000000000000000000000000000000000608482015260a4016107db565b505050505050565b6040805160808101825260008082526020820181905291810182905260608101829052908061316e85613755565b90925090506000613180836001614440565b604080517f1976a914000000000000000000000000000000000000000000000000000000006020808301919091526001600160601b031989166024830181905261222b60f21b60388401528351601a818503018152603a840185528051908301207f1600140000000000000000000000000000000000000000000000000000000000605a850152605d8401919091528351605181850301815260719093019093528151910120919250906000805b858110156136de5760006132428b876137c4565b905060006132518c8884613833565b9050600061325e82612e68565b9050600061327c60088085516132749190614458565b859190613833565b90508b606001516001600160401b031660001480156132af5750805160208201208814806132af57508051602082012087145b80156132c457506000826001600160401b0316115b156132e95763ffffffff851660408d01526001600160401b03821660608d01526136bb565b60008d826040516020016132fe929190614a11565b60408051808303601f19018152918152815160209283012060008181526007909352912060010154909150600160801b900463ffffffff161561350857600081815260076020526040812060018101548154919291613370916001600160401b0390811691600160a01b9004166148a3565b60018301549091506001600160401b038087169161339791600160401b90910416836148a3565b6001600160401b0316111580156133c05750806001600160401b0316856001600160401b031611155b6134585760405162461bcd60e51b815260206004820152604660248201527f4f75747075742076616c7565206973206e6f742077697468696e20746865206160448201527f636365707461626c652072616e6765206f66207468652070656e64696e67207260648201527f6571756573740000000000000000000000000000000000000000000000000000608482015260a4016107db565b808f60000181815161346a9190614913565b9150906001600160401b031690816001600160401b0316815250508160010160009054906101000a90046001600160401b03168f6020018181516134ae9190614913565b6001600160401b0316905250600083815260076020526040902080546001600160e01b0319168155600101805473ffffffffffffffffffffffffffffffffffffffff19169055886134fe81614485565b99505050506136b9565b60008181526008602052604090206001810154600160801b900463ffffffff166135995760405162461bcd60e51b8152602060048201526024808201527f4f75747075742069732061206e6f6e2d72657175657374656420726564656d7060448201527f74696f6e0000000000000000000000000000000000000000000000000000000060648201526084016107db565b600181015481546000916135c1916001600160401b0391821691600160a01b909104166148a3565b60018301549091506001600160401b03808716916135e891600160401b90910416836148a3565b6001600160401b0316111580156136115750806001600160401b0316856001600160401b031611155b6136a95760405162461bcd60e51b815260206004820152604860248201527f4f75747075742076616c7565206973206e6f742077697468696e20746865206160448201527f636365707461626c652072616e6765206f66207468652074696d6564206f757460648201527f2072657175657374000000000000000000000000000000000000000000000000608482015260a4016107db565b886136b381614485565b99505050505b505b6136c5848a614440565b98505050505080806136d690614485565b91505061322e565b506000811161292e5760405162461bcd60e51b815260206004820152603b60248201527f526564656d7074696f6e207472616e73616374696f6e206d7573742070726f6360448201527f657373206174206c65617374206f6e6520726564656d7074696f6e000000000060648201526084016107db565b6000806137638360006139be565b91509150915091565b6000808061377a8585612e0f565b92506137af6137898686613b3a565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b91506137bb8585613b51565b90509250925092565b60006137d1826009614440565b835110156137e25750600019612935565b6000806137f9856137f4866008614440565b6139be565b90925090506000198214156138145760001992505050612935565b80613820836009614440565b61382a9190614440565b95945050505050565b60608161384f5750604080516020810190915260008152612e1e565b600061385b8385614440565b9050838111801561386d575080855110155b6138b95760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e64730000000000000000000000000060448201526064016107db565b604051915082604083010160405282825283850182038460208701018481015b808210156138f2578151838301526020820191506138d9565b505050509392505050565b60006129358282612e0f565b600080600061391784613755565b915050806001146139905760405162461bcd60e51b815260206004820152602f60248201527f526564656d7074696f6e207472616e73616374696f6e206d757374206861766560448201527f20612073696e676c6520696e707574000000000000000000000000000000000060648201526084016107db565b600061399c8582613b9c565b90506139a781613d51565b93506139b561378982613d5e565b92505050915091565b60008060006139cd8585613d6b565b905060ff81166139ff5760008585815181106139eb576139eb61446f565b016020015190935060f81c9150613b339050565b83613a0b8260016149c9565b60ff16613a189190614440565b85511015613a2f5760001960009250925050613b33565b60008160ff1660021415613a7457613a69613a55613a4e876001614440565b8890612e0f565b62ffff0060e882901c1660f89190911c1790565b61ffff169050613b29565b8160ff1660041415613a9e57613a91613789613a4e876001614440565b63ffffffff169050613b29565b8160ff1660081415613b2957613b1d613abb613a4e876001614440565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b6001600160401b031666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b6001600160401b031690505b60ff909116925090505b9250929050565b6000612e1e613b4a836020614440565b8490612e0f565b6000806000613b608585613df7565b9092509050600019821415613b7b5760001992505050612935565b80613b87836025614440565b613b919190614440565b61382a906004614440565b6060600080613baa85613755565b9092509050600019821415613c0c5760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e742070617273696044820152616e6760f01b60648201526084016107db565b808410613c5b5760405162461bcd60e51b815260206004820152601060248201527f56696e2072656164206f76657272756e0000000000000000000000000000000060448201526064016107db565b600080613c69846001614440565b905060005b86811015613cf257613c808883613b51565b9250600019831415613cd45760405162461bcd60e51b815260206004820152601760248201527f42616420566172496e7420696e2073637269707453696700000000000000000060448201526064016107db565b613cde8383614440565b915080613cea81614485565b915050613c6e565b50613cfd8782613b51565b9150600019821415612b2c5760405162461bcd60e51b815260206004820152601760248201527f42616420566172496e7420696e2073637269707453696700000000000000000060448201526064016107db565b6020810151600090612935565b6000612935826020612e0f565b6000828281518110613d7f57613d7f61446f565b60209101015160f81c60ff1415613d9857506008612935565b828281518110613daa57613daa61446f565b60209101015160f81c60fe1415613dc357506004612935565b828281518110613dd557613dd561446f565b60209101015160f81c60fd1415613dee57506002612935565b50600092915050565b600080613e05836025614440565b84511015613e1a575060001990506000613b33565b600080613e2c866137f4876024614440565b9097909650945050505050565b600060208284031215613e4b57600080fd5b5035919050565b600060808284031215613e6457600080fd5b50919050565b600060608284031215613e6457600080fd5b600080600060a08486031215613e9157600080fd5b83356001600160401b0380821115613ea857600080fd5b613eb487838801613e52565b94506020860135915080821115613eca57600080fd5b50613ed786828701613e6a565b9250506137bb8560408601613e6a565b600080828403610100811215613efc57600080fd5b83356001600160401b03811115613f1257600080fd5b613f1e86828701613e52565b93505060e0601f1982011215613f3357600080fd5b506020830190509250929050565b80356001600160a01b0381168114613f5857600080fd5b919050565b60008060408385031215613f7057600080fd5b613f7983613f41565b915060208301358015158114613f8e57600080fd5b809150509250929050565b80356001600160601b031981168114613f5857600080fd5b600060208284031215613fc357600080fd5b612e1e82613f99565b60008060008060c08587031215613fe257600080fd5b84356001600160401b0380821115613ff957600080fd5b61400588838901613e52565b9550602087013591508082111561401b57600080fd5b5061402887828801613e6a565b9350506140388660408701613e6a565b915061404660a08601613f99565b905092959194509250565b80356001600160401b0381168114613f5857600080fd5b600080600080600060c0868803121561408057600080fd5b61408986613f99565b94506140988760208801613e6a565b935060808601356001600160401b03808211156140b457600080fd5b818801915088601f8301126140c857600080fd5b8135818111156140d757600080fd5b8960208285010111156140e957600080fd5b60208301955080945050505061410160a08701614051565b90509295509295909350565b60006020828403121561411f57600080fd5b612e1e82613f41565b634e487b7160e01b600052602160045260246000fd5b604081016005841061416057634e487b7160e01b600052602160045260246000fd5b9281526001600160401b039190911660209091015290565b80356001600160e01b031981168114613f5857600080fd5b6000808335601e198436030181126141a757600080fd5b83016020810192503590506001600160401b038111156141c657600080fd5b803603831315613b3357600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60a0815260006001600160e01b03198061421787614178565b1660a084015261422a6020870187614190565b608060c0860152614240610120860182846141d5565b9150506142506040880188614190565b858303609f190160e08701526142678382846141d5565b925050508161427860608901614178565b1661010085015283810360208501526142918687614190565b9250606082526142a56060830184836141d5565b925050602086013560208201526142bf6040870187614190565b82840360408401526142d28482846141d5565b945050505050612c4260408301848051825260208082015190830152604090810151910152565b60006020828403121561430b57600080fd5b5051919050565b6000808335601e1984360301811261432957600080fd5b8301803591506001600160401b0382111561434357600080fd5b602001915036819003821315613b3357600080fd5b803563ffffffff81168114613f5857600080fd5b60006020828403121561437e57600080fd5b612e1e82614358565b60006020828403121561439957600080fd5b612e1e82614051565b634e487b7160e01b600052604160045260246000fd5b6000606082840312156143ca57600080fd5b604051606081018181106001600160401b03821117156143fa57634e487b7160e01b600052604160045260246000fd5b6040528235815261440d60208401614358565b602082015261441e60408401614051565b60408201529392505050565b634e487b7160e01b600052601160045260246000fd5b600082198211156144535761445361442a565b500190565b60008282101561446a5761446a61442a565b500390565b634e487b7160e01b600052603260045260246000fd5b60006000198214156144995761449961442a565b5060010190565b604080825283519082018190526000906020906060840190828701845b828110156144e25781516001600160a01b0316845292840192908401906001016144bd565b5050508381038285015284518082528583019183019060005b81811015614517578351835292840192918401916001016144fb565b5090979650505050505050565b60006020828403121561453657600080fd5b81356001600160c01b031981168114612e1e57600080fd5b60006020828403121561456057600080fd5b612e1e82614178565b600560fa1b8152606086901b6001600160601b0319166001820152607560f81b60158201527f080000000000000000000000000000000000000000000000000000000000000060168201526001600160c01b031985166017820152607560f81b601f820152600061463d614630614607602085015b7f7600000000000000000000000000000000000000000000000000000000000000815260010190565b7fa900000000000000000000000000000000000000000000000000000000000000815260010190565b600560fa1b815260010190565b6001600160601b0319861681527f870000000000000000000000000000000000000000000000000000000000000060148201527f630000000000000000000000000000000000000000000000000000000000000060158201526146fc6146306146076145de6146d3601686015b7fac00000000000000000000000000000000000000000000000000000000000000815260010190565b7f6700000000000000000000000000000000000000000000000000000000000000815260010190565b6001600160601b0319861681527f880000000000000000000000000000000000000000000000000000000000000060148201527f040000000000000000000000000000000000000000000000000000000000000060158201529050601681016001600160e01b0319851681527fb1000000000000000000000000000000000000000000000000000000000000006004820152607560f81b600582015290506147d26147a9600683016146aa565b7f6800000000000000000000000000000000000000000000000000000000000000815260010190565b98975050505050505050565b6000815160005b818110156147ff57602081850181015186830152016147e5565b8181111561480e576000828601525b509290920192915050565b6000612e1e82846147de565b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b634e487b7160e01b600052601260045260246000fd5b60006001600160401b038084168061489757614897614867565b92169190910492915050565b60006001600160401b03838116908316818110156148c3576148c361442a565b039392505050565b6001600160c01b031984168152818360088301376000910160080190815292915050565b6001600160601b031984168152818360148301376000910160140190815292915050565b60006001600160401b038083168185168083038211156149355761493561442a565b01949350505050565b6bffffffffffffffffffffffff198816815260c06020820152600061496760c08301888a6141d5565b6001600160a01b03969096166040830152506001600160401b039384166060820152918316608083015290911660a0909101529392505050565b6000826149b0576149b0614867565b500690565b6000826149c4576149c4614867565b500490565b600060ff821660ff84168060ff038211156149e6576149e661442a565b019392505050565b600060ff821660ff841680821015614a0857614a0861442a565b90039392505050565b6001600160601b0319831681526000612c4260148301846147de56fea2646970667358221220d0c71cedaffd0031682dd2f33400bfd36c686a127cfc56c4da7dc0369d95ce7164736f6c63430008090033",
1095
+ "bytecode": "0x6101006040523480156200001257600080fd5b506040516200534d3803806200534d83398101604081905262000035916200038c565b62000040336200031f565b6001600160a01b0385166200009c5760405162461bcd60e51b815260206004820152601b60248201527f42616e6b20616464726573732063616e6e6f74206265207a65726f000000000060448201526064015b60405180910390fd5b6001600160a01b0380861660a0528416620000fa5760405162461bcd60e51b815260206004820152601c60248201527f52656c617920616464726573732063616e6e6f74206265207a65726f00000000604482015260640162000093565b6001600160a01b0380851660c0528316620001585760405162461bcd60e51b815260206004820152601f60248201527f547265617375727920616464726573732063616e6e6f74206265207a65726f00604482015260640162000093565b6001600160a01b0383811660e052608082905260008054600160a01b600160e01b031916613d0960a61b1790557907d000000000000f424000000000000003e800000000000007d0600155600280546103e86001600160401b03199091161790556202a30060035560405163f832341d60e01b815260086004820152908316602482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__9063f832341d9060440160006040518083038186803b1580156200021457600080fd5b505af415801562000229573d6000803e3d6000fd5b505060405163041aee9960e01b81526008600482015262093a80602482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__925063041aee99915060440160006040518083038186803b1580156200028257600080fd5b505af415801562000297573d6000803e3d6000fd5b5050604051632662d59360e21b8152600860048201526305f5e1006024820152633b9aca00604482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__925063998b564c915060640160006040518083038186803b158015620002fb57600080fd5b505af415801562000310573d6000803e3d6000fd5b505050505050505050620003f3565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200038757600080fd5b919050565b600080600080600060a08688031215620003a557600080fd5b620003b0866200036f565b9450620003c0602087016200036f565b9350620003d0604087016200036f565b9250620003e0606087016200036f565b9150608086015190509295509295909350565b60805160a05160c05160e051614eda62000473600039600081816103bf01528181610bc60152611ba00152600081816105d8015281816124af015261254901526000818161040601528181610b3301528181610bf501528181611b0701528181611bd8015261233601526000818161033001526125df0152614eda6000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80638dd0f79a11610104578063b34b3216116100a2578063d6eccdf011610071578063d6eccdf01461062e578063e53c0b5514610641578063e95eb7a814610674578063f2fde38b1461068e57600080fd5b8063b34b3216146105c0578063b59589d1146105d3578063bdf9fca9146105fa578063cb7f3a091461061457600080fd5b8063a145e2d5116100de578063a145e2d5146104d2578063a588f059146104e5578063a8fa0f42146104f8578063b02c43d01461050b57600080fd5b80638dd0f79a1461045f5780638fa4ad281461049f5780639c79b05b146104bf57600080fd5b80635afb143c1161017c578063715018a61161014b578063715018a6146103f957806376cdb03b14610401578063793bb473146104285780638da5cb5b1461044e57600080fd5b80635afb143c1461037a5780635c0b48121461039457806360d712fc146103a757806361d027b3146103ba57600080fd5b80631fff4e70116101b85780631fff4e70146103145780632bb818c21461032b5780633dce98121461035257806359a9d90a1461036757600080fd5b806303d952f7146101df578063079bf52c1461028a5780630b6ba19d146102b5575b600080fd5b61023e6101ed3660046141b5565b600660205260009081526040902080546001909101546001600160a01b03821691600160a01b90046001600160401b039081169181811691600160401b82041690600160801b900463ffffffff1685565b604080516001600160a01b0390961686526001600160401b0394851660208701529284169285019290925291909116606083015263ffffffff16608082015260a0015b60405180910390f35b60015461029d906001600160401b031681565b6040516001600160401b039091168152602001610281565b61023e6102c33660046141b5565b600760205260009081526040902080546001909101546001600160a01b03821691600160a01b90046001600160401b039081169181811691600160401b82041690600160801b900463ffffffff1685565b61031d60035481565b604051908152602001610281565b61031d7f000000000000000000000000000000000000000000000000000000000000000081565b6103656103603660046141ce565b505050565b005b610365610375366004614224565b6106a1565b60005461029d90600160a01b90046001600160401b031681565b6103656103a236600461428f565b610c62565b6103656103b5366004614305565b611357565b6103e17f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610281565b610365611410565b6103e17f000000000000000000000000000000000000000000000000000000000000000081565b600954600160401b900460601b6040516001600160601b03199091168152602001610281565b6000546001600160a01b03166103e1565b6008546009546040805163ffffffff600160a01b85041681526001600160401b03600160c01b909404841660208201529290911690820152606001610281565b6104b26104ad366004614359565b611476565b604051610281919061438a565b6103656104cd36600461441e565b611547565b6103656104e0366004614458565b6116c2565b60025461029d906001600160401b031681565b6103656105063660046141ce565b611748565b6105706105193660046141b5565b600560205260009081526040902080546001909101546001600160a01b03808316926001600160401b03600160a01b80830482169463ffffffff600160e01b94859004811695821694928204909316929190041686565b604080516001600160a01b0397881681526001600160401b03968716602082015263ffffffff958616918101919091529590921660608601529290921660808401521660a082015260c001610281565b6103656105ce366004614474565b6117ae565b6103e17f000000000000000000000000000000000000000000000000000000000000000081565b60015461029d90600160801b90046001600160401b031681565b60015461029d90600160401b90046001600160401b031681565b61036561063c3660046144f9565b611c40565b61066461064f36600461459e565b60046020526000908152604090205460ff1681565b6040519015158152602001610281565b60015461029d90600160c01b90046001600160401b031681565b61036561069c36600461459e565b6123a7565b600073__$a0a90fa014aeccc935ad103f88ed15a604$__639d7ae13485856106c7612489565b6040518463ffffffff1660e01b81526004016106e59392919061463f565b60206040518083038186803b1580156106fd57600080fd5b505af4158015610711573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610735919061473a565b905060008061078461074a6040880188614753565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061260692505050565b6001600160601b031982166000908152600a6020908152604080832081516060810183528481529283018490529082019290925260018201549395509193509180156108a4578087356107dd60408a0160208b01614799565b6107ed60608b0160408c016147b4565b60405160200161082a9392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60405160208183030381529060405280519060200120146108925760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f20646174610000000000000000000060448201526064015b60405180910390fd5b6108a1368890038801886147e5565b91505b60006108f26108b660208c018c614753565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250612739915050565b9050600080806109158460000151896001600160401b0316866040015151612cb4565b6001549193509150600160401b90046001600160401b0316610937828461486d565b11156109855760405162461bcd60e51b815260206004820152601b60248201527f5472616e73616374696f6e2066656520697320746f6f206869676800000000006044820152606401610889565b60005b846040015151811015610a7357600060018660400151516109a99190614885565b82146109b557836109bf565b6109bf838561486d565b905080866060015183815181106109d8576109d861489c565b6020026020010151876040015184815181106109f6576109f661489c565b6020026020010151610a089190614885565b610a129190614885565b86604001518381518110610a2857610a2861489c565b60200260200101818152505085606001518281518110610a4a57610a4a61489c565b602002602001015185610a5d919061486d565b9450508080610a6b906148b2565b915050610988565b5060408051602081018c90526000918101919091526001600160c01b031960c08a901b166044820152604c0160408051808303601f19018152828252805160209182012060018b01556001600160601b03198c16835282018c90527fe50ffdcc0a5f2c1ede5c122b9414ffd7b2c6bc870d2d775194049dc30da95e6a910160405180910390a1602084015160408086015190517f266a123a0000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169263266a123a92610b66926004016148cd565b600060405180830381600087803b158015610b8057600080fd5b505af1158015610b94573d6000803e3d6000fd5b50506040517f5b86f5990000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790527f0000000000000000000000000000000000000000000000000000000000000000169250635b86f5999150604401600060405180830381600087803b158015610c3b57600080fd5b505af1158015610c4f573d6000803e3d6000fd5b5050505050505050505050505050505050565b6000610c7460e0830160c0840161459e565b6001600160a01b03161480610cb6575060046000610c9860e0840160c0850161459e565b6001600160a01b0316815260208101919091526040016000205460ff165b610d025760405162461bcd60e51b815260206004820152601460248201527f5661756c74206973206e6f7420747275737465640000000000000000000000006044820152606401610889565b6000610d14604083016020840161459e565b610d246060840160408501614951565b610d346080850160608601614359565b610d4460a0860160808701614359565b610d5460c0870160a0880161497b565b604051602001610d68959493929190614996565b60408051601f1981840301815291905290506000610ddc610d8c6020850185614799565b63ffffffff16610d9f6040870187614753565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050612cf09050565b90506000610de982612ebb565b9050805160141415610e6f57610dfe83613161565b6001600160601b031916610e13826000613188565b6001600160601b03191614610e6a5760405162461bcd60e51b815260206004820152601960248201527f57726f6e672032302d62797465207363726970742068617368000000000000006044820152606401610889565b610f67565b805160201415610f1f57600283604051610e899190614c46565b602060405180830381855afa158015610ea6573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610ec9919061473a565b610ed28261319e565b14610e6a5760405162461bcd60e51b815260206004820152601960248201527f57726f6e672033322d62797465207363726970742068617368000000000000006044820152606401610889565b60405162461bcd60e51b815260206004820152601860248201527f57726f6e67207363726970742068617368206c656e67746800000000000000006044820152606401610889565b6000610fcc610f79602088018861497b565b610f866020890189614753565b610f9360408b018b614753565b610fa360808d0160608e0161497b565b604051602001610fb896959493929190614c52565b6040516020818303038152906040526131ba565b9050600060058183610fe160208a018a614799565b60405160200161100892919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff161561108c5760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616c72656164792072657665616c656400000000000000006044820152606401610889565b6000611097856131e1565b6000549091506001600160401b03600160a01b909104811690821610156111005760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616d6f756e7420746f6f20736d616c6c00000000000000006044820152606401610889565b81547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff16600160a01b6001600160401b03831602178255611147604088016020890161459e565b82546001600160a01b03919091167bffffffffffffffff000000000000000000000000000000000000000090911617600160e01b4263ffffffff160217825561119660e0880160c0890161459e565b6001838101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039390931692909217909155546001600160401b03166111dc5760006111f2565b6001546111f2906001600160401b031682614caa565b6001830180546001600160401b0392909216600160a01b027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff9092169190911790557fa7382159a693ed317a024daf0fd1ba30805cdf9928ee09550af517c516e2ef058361126360208a018a614799565b61127360408b0160208c0161459e565b8461128460608d0160408e01614951565b61129460808e0160608f01614359565b8d60800160208101906112a79190614359565b8e60a00160208101906112ba919061497b565b8f60c00160208101906112cd919061459e565b60408051998a5263ffffffff90981660208a01526001600160a01b03968716978901979097526001600160401b0390941660608801526001600160c01b031990921660808701526001600160601b031990811660a08701521660c08501526001600160e01b03191660e0840152166101008201526101200160405180910390a15050505050505050565b6000546001600160a01b031633146113b15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610889565b6001600160a01b038216600081815260046020908152604091829020805460ff191685151590811790915591519182527f9065599c12c4294d9e2201638226d0d0beb95c228f468c4e7c2bdb8322b6066f910160405180910390a25050565b6000546001600160a01b0316331461146a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610889565b6114746000613257565b565b6114a56040805160a0810182526000808252602082018190529181018290526060810182905290608082015290565b6001600160601b031982166000908152600a6020908152604091829020825160a0810184528154815260018201549281019290925260028101546001600160401b03811693830193909352600160401b830463ffffffff166060830152909160808301906c01000000000000000000000000900460ff16600481111561152d5761152d614374565b600481111561153e5761153e614374565b90525092915050565b6000546001600160a01b031633146115a15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610889565b6040517f041aee990000000000000000000000000000000000000000000000000000000081526008600482015263ffffffff8416602482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__9063041aee999060440160006040518083038186803b15801561161157600080fd5b505af4158015611625573d6000803e3d6000fd5b50506040517f998b564c000000000000000000000000000000000000000000000000000000008152600860048201526001600160401b0380861660248301528416604482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__925063998b564c91506064015b60006040518083038186803b1580156116a557600080fd5b505af41580156116b9573d6000803e3d6000fd5b50505050505050565b6040517fb4e671f400000000000000000000000000000000000000000000000000000000815273__$0f118c52967a3847a37f0a2ef02ffcee04$__9063b4e671f490611715906008908590600401614cd0565b60006040518083038186803b15801561172d57600080fd5b505af4158015611741573d6000803e3d6000fd5b5050505050565b6040517f4fd7d4860000000000000000000000000000000000000000000000000000000081526008600482015260248101849052604481018390526064810182905273__$0f118c52967a3847a37f0a2ef02ffcee04$__90634fd7d4869060840161168d565b600073__$a0a90fa014aeccc935ad103f88ed15a604$__639d7ae13486866117d4612489565b6040518463ffffffff1660e01b81526004016117f29392919061463f565b60206040518083038186803b15801561180a57600080fd5b505af415801561181e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611842919061473a565b90506118926118546020870187614753565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508792508691506132b49050565b6001600160601b031982166000908152600a6020526040902060028101546c01000000000000000000000000900460ff1660018160048111156118d7576118d7614374565b14806118f4575060028160048111156118f2576118f2614374565b145b6119665760405162461bcd60e51b815260206004820152602a60248201527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e6760448201527f46756473207374617465000000000000000000000000000000000000000000006064820152608401610889565b60006119b461197860408a018a614753565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508992506134bc915050565b60608101519091506001600160401b031615611a34578381604001518260600151604051602001611a129392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60408051601f1981840301815291905280516020909101206001840155611a3c565b600060018401555b8051600284018054600090611a5b9084906001600160401b0316614d1a565b92506101000a8154816001600160401b0302191690836001600160401b031602179055507fa45596c10f758d32ec8cca64a0fbfe776052b08fdb3f026e0a87f52118bf8fbe8585604051611ac59291906001600160601b0319929092168252602082015260400190565b60405180910390a180516040517f392aee430000000000000000000000000000000000000000000000000000000081526001600160401b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063392aee4390602401600060405180830381600087803b158015611b5357600080fd5b505af1158015611b67573d6000803e3d6000fd5b5050505060208101516040517f56a6d9ef0000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526001600160401b0390921660248201527f0000000000000000000000000000000000000000000000000000000000000000909116906356a6d9ef90604401600060405180830381600087803b158015611c1e57600080fd5b505af1158015611c32573d6000803e3d6000fd5b505050505050505050505050565b6001600160601b031985166000908152600a60205260409020600160028201546c01000000000000000000000000900460ff166004811115611c8457611c84614374565b14611cd15760405162461bcd60e51b815260206004820152601c60248201527f57616c6c6574206d75737420626520696e204c697665207374617465000000006044820152606401610889565b600181015480611d495760405162461bcd60e51b815260206004820152602160248201527f4e6f206d61696e205554584f20666f722074686520676976656e2077616c6c6560448201527f74000000000000000000000000000000000000000000000000000000000000006064820152608401610889565b808635611d5c6040890160208a01614799565b611d6c60608a0160408b016147b4565b604051602001611da99392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b6040516020818303038152906040528051906020012014611e0c5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f2064617461000000000000000000006044820152606401610889565b6000611e3e600060c01b8787604051602001611e2a93929190614d42565b604051602081830303815290604052612ebb565b90506000815111611eb75760405162461bcd60e51b815260206004820152602e60248201527f52656465656d6572206f757470757420736372697074206d757374206265206160448201527f207374616e6461726420747970650000000000000000000000000000000000006064820152608401610889565b808051906020012088604051602001611ee091906001600160601b031991909116815260140190565b604051602081830303815290604052805190602001201415611f6a5760405162461bcd60e51b815260206004820152603760248201527f52656465656d6572206f757470757420736372697074206d757374206e6f742060448201527f706f696e7420746f207468652077616c6c657420504b480000000000000000006064820152608401610889565b6001546001600160401b03600160801b90910481169085161015611fd05760405162461bcd60e51b815260206004820152601b60248201527f526564656d7074696f6e20616d6f756e7420746f6f20736d616c6c00000000006044820152606401610889565b6000888787604051602001611fe793929190614d66565b60408051808303601f19018152918152815160209283012060008181526006909352912060010154909150600160801b900463ffffffff16156120b85760405162461bcd60e51b815260206004820152604a60248201527f546865726520697320612070656e64696e6720726564656d7074696f6e20726560448201527f71756573742066726f6d20746869732077616c6c657420746f2074686520736160648201527f6d65206164647265737300000000000000000000000000000000000000000000608482015260a401610889565b600154600090600160c01b90046001600160401b03166120d95760006120f6565b6001546120f690600160c01b90046001600160401b031687614caa565b6002549091506001600160401b031661210f8288614d1a565b60028701805460009061212c9084906001600160401b0316614d8a565b82546101009290920a6001600160401b03818102199093169183160217909155600288015416905061216460608c0160408d016147b4565b6001600160401b031610156121bb5760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e742077616c6c65742066756e6473000000000000006044820152606401610889565b6040805160a081018252338082526001600160401b03808b1660208085019182528783168587019081528784166060870190815263ffffffff4281166080890190815260008d81526006909552938990209751885495518716600160a01b026001600160e01b03199096166001600160a01b03919091161794909417875590516001909601805491519251909316600160801b027fffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffffff928516600160401b027fffffffffffffffffffffffffffffffff00000000000000000000000000000000909216969094169590951794909417939093161790915590517f97a0199072f487232635d50ab75860891afe0b91c976ed2fc76502c4d82d0d95916122eb918e918d918d91908d9089908990614db5565b60405180910390a16040517f7c6db49c0000000000000000000000000000000000000000000000000000000081523360048201523060248201526001600160401b03881660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637c6db49c90606401600060405180830381600087803b15801561238257600080fd5b505af1158015612396573d6000803e3d6000fd5b505050505050505050505050505050565b6000546001600160a01b031633146124015760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610889565b6001600160a01b03811661247d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610889565b61248681613257565b50565b6124ad60405180606001604052806000815260200160008152602001600081525090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663113764be6040518163ffffffff1660e01b815260040160206040518083038186803b15801561250657600080fd5b505afa15801561251a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061253e919061473a565b8160000181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632b97be246040518163ffffffff1660e01b815260040160206040518083038186803b1580156125a057600080fd5b505afa1580156125b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125d8919061473a565b60208201527f0000000000000000000000000000000000000000000000000000000000000000604082015290565b600080600061261484613ad1565b9150508060011461268d5760405162461bcd60e51b815260206004820152602b60248201527f5377656570207472616e73616374696f6e206d7573742068617665206120736960448201527f6e676c65206f75747075740000000000000000000000000000000000000000006064820152608401610889565b60006126998582612cf0565b90506126a4816131e1565b925060006126b182612ebb565b9050805160141461272a5760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574207075626c6963206b657920686173682073686f756c6420686160448201527f76652032302062797465730000000000000000000000000000000000000000006064820152608401610889565b60208101519450505050915091565b6127646040518060800160405280600081526020016060815260200160608152602001606081525090565b815115156000808061277587613ad1565b9092509050600061278783600161486d565b9050841561279f5761279a600183614885565b6127a1565b815b6001600160401b038111156127b8576127b86147cf565b6040519080825280602002602001820160405280156127e1578160200160208202803683370190505b5060208701819052516001600160401b03811115612801576128016147cf565b60405190808252806020026020018201604052801561282a578160200160208202803683370190505b5060408701526020860151516001600160401b0381111561284d5761284d6147cf565b604051908082528060200260200182016040528015612876578160200160208202803683370190505b5060608701526000805b83811015612bb75760008060006128978d87613ae8565b92509250925060006005600085856040516020016128cc92919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff1615612b08576001810154600160e01b900463ffffffff16156129675760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c726561647920737765707400000000000000000000006044820152606401610889565b8b60200151518614156129e25760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e707574730000000000006064820152608401610889565b6001810180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b4263ffffffff1602179055805460208d015180516001600160a01b039092169188908110612a3b57612a3b61489c565b6001600160a01b039290921660209283029190910190910152805460408d01518051600160a01b9092046001600160401b03169188908110612a7f57612a7f61489c565b6020026020010181815250508b604001518681518110612aa157612aa161489c565b60200260200101518c600001818151612aba919061486d565b905250600181015460608d01518051600160a01b9092046001600160401b03169188908110612aeb57612aeb61489c565b602090810291909101015285612b00816148b2565b965050612b94565b8915158b151514158015612b1c57508c5184145b15612b4c578c604001516001600160401b03168c600001818151612b40919061486d565b90525060019950612b94565b60405162461bcd60e51b815260206004820152601260248201527f556e6b6e6f776e20696e707574207479706500000000000000000000000000006044820152606401610889565b612b9e828861486d565b9650505050508080612baf906148b2565b915050612880565b5060008111612c2e5760405162461bcd60e51b815260206004820152603360248201527f5377656570207472616e73616374696f6e206d7573742070726f63657373206160448201527f74206c65617374206f6e65206465706f736974000000000000000000000000006064820152608401610889565b84151586151514612ca75760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e707574730000000000006064820152608401610889565b5050505050505b92915050565b60008080612cc28587614885565b9050612cce8482614e18565b915083612cdb8383614885565b612ce59190614e2c565b925050935093915050565b6060600080612cfe85613ad1565b9092509050600019821415612d605760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e742070617273696044820152616e6760f01b6064820152608401610889565b808410612daf5760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e0000000000000000000000000000006044820152606401610889565b600080612dbd84600161486d565b905060005b86811015612e4657612dd48883613b40565b9250600019831415612e285760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610889565b612e32838361486d565b915080612e3e816148b2565b915050612dc2565b50612e518782613b40565b9150600019821415612ea55760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610889565b612eb0878284613baf565b979650505050505050565b6060600082600881518110612ed257612ed261489c565b0160200151835160f89190911c9150612eec826009614e40565b60ff1614612f0a575050604080516020810190915260008152919050565b82600981518110612f1d57612f1d61489c565b016020015160f81c612fc35760028160ff161015612f4b575050604080516020810190915260008152919050565b600083600a81518110612f6057612f6061489c565b016020015160f81c9050612f75600283614e65565b60ff1681141580612f93575080602014158015612f93575080601414155b15612faf57505060408051602081019091526000815292915050565b612fbb84600b83613baf565b949350505050565b6000612fd0846008613188565b90507f1976a900000000000000000000000000000000000000000000000000000000007fffffff0000000000000000000000000000000000000000000000000000000000821614156130ad5783600b8151811061302f5761302f61489c565b60209101015160f81c6014141580613084575061305a600285516130539190614885565b8590613188565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191661222b60f21b14155b156130a057505060408051602081019091526000815292915050565b612fbb84600c6014613baf565b7f17a91400000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008216141561314a5783600185516131069190614885565b815181106131165761311661489c565b60209101015160f81c60871461313d57505060408051602081019091526000815292915050565b612fbb84600b6014613baf565b505050604080516020810190915260008152919050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b60006131978383016020015190565b9392505050565b60008151600014156131b257506000919050565b506020015190565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b6000806131ed83613c79565b60c01c90506000612fbb8264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b6001600160401b031666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160601b031981166000908152600a60205260409020600101548061331e5760405162461bcd60e51b815260206004820152601d60248201527f4e6f206d61696e205554584f20666f7220676976656e2077616c6c65740000006044820152606401610889565b8083356133316040860160208701614799565b61334160608701604088016147b4565b60405160200161337e9392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60405160208183030381529060405280519060200120146133e15760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f2064617461000000000000000000006044820152606401610889565b6000806133ed86613c85565b909250905084358214801561341c575063ffffffff81166134146040870160208801614799565b63ffffffff16145b6134b45760405162461bcd60e51b815260206004820152604160248201527f526564656d7074696f6e207472616e73616374696f6e20696e707574206d757360448201527f7420706f696e7420746f207468652077616c6c65742773206d61696e2055545860648201527f4f00000000000000000000000000000000000000000000000000000000000000608482015260a401610889565b505050505050565b604080516080810182526000808252602082018190529181018290526060810182905290806134ea85613ad1565b909250905060006134fc83600161486d565b604080517f1976a914000000000000000000000000000000000000000000000000000000006020808301919091526001600160601b031989166024830181905261222b60f21b60388401528351601a818503018152603a840185528051908301207f1600140000000000000000000000000000000000000000000000000000000000605a850152605d8401919091528351605181850301815260719093019093528151910120919250906000805b85811015613a5a5760006135be8b87613b40565b905060006135cd8c8884613baf565b905060006135da826131e1565b905060006135f860088085516135f09190614885565b859190613baf565b90508b606001516001600160401b0316600014801561362b57508051602082012088148061362b57508051602082012087145b801561364057506000826001600160401b0316115b156136655763ffffffff851660408d01526001600160401b03821660608d0152613a37565b60008d8260405160200161367a929190614e88565b60408051808303601f19018152918152815160209283012060008181526006909352912060010154909150600160801b900463ffffffff1615613884576000818152600660205260408120600181015481549192916136ec916001600160401b0390811691600160a01b900416614d1a565b60018301549091506001600160401b038087169161371391600160401b9091041683614d1a565b6001600160401b03161115801561373c5750806001600160401b0316856001600160401b031611155b6137d45760405162461bcd60e51b815260206004820152604660248201527f4f75747075742076616c7565206973206e6f742077697468696e20746865206160448201527f636365707461626c652072616e6765206f66207468652070656e64696e67207260648201527f6571756573740000000000000000000000000000000000000000000000000000608482015260a401610889565b808f6000018181516137e69190614d8a565b9150906001600160401b031690816001600160401b0316815250508160010160009054906101000a90046001600160401b03168f60200181815161382a9190614d8a565b6001600160401b0316905250600083815260066020526040902080546001600160e01b0319168155600101805473ffffffffffffffffffffffffffffffffffffffff191690558861387a816148b2565b9950505050613a35565b60008181526007602052604090206001810154600160801b900463ffffffff166139155760405162461bcd60e51b8152602060048201526024808201527f4f75747075742069732061206e6f6e2d72657175657374656420726564656d7060448201527f74696f6e000000000000000000000000000000000000000000000000000000006064820152608401610889565b6001810154815460009161393d916001600160401b0391821691600160a01b90910416614d1a565b60018301549091506001600160401b038087169161396491600160401b9091041683614d1a565b6001600160401b03161115801561398d5750806001600160401b0316856001600160401b031611155b613a255760405162461bcd60e51b815260206004820152604860248201527f4f75747075742076616c7565206973206e6f742077697468696e20746865206160448201527f636365707461626c652072616e6765206f66207468652074696d6564206f757460648201527f2072657175657374000000000000000000000000000000000000000000000000608482015260a401610889565b88613a2f816148b2565b99505050505b505b613a41848a61486d565b9850505050508080613a52906148b2565b9150506135aa565b5060008111612ca75760405162461bcd60e51b815260206004820152603b60248201527f526564656d7074696f6e207472616e73616374696f6e206d7573742070726f6360448201527f657373206174206c65617374206f6e6520726564656d7074696f6e00000000006064820152608401610889565b600080613adf836000613d3a565b91509150915091565b60008080613af68585613188565b9250613b2b613b058686613eb6565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b9150613b378585613ecd565b90509250925092565b6000613b4d82600961486d565b83511015613b5e5750600019612cae565b600080613b7585613b7086600861486d565b613d3a565b9092509050600019821415613b905760001992505050612cae565b80613b9c83600961486d565b613ba6919061486d565b95945050505050565b606081613bcb5750604080516020810190915260008152613197565b6000613bd7838561486d565b90508381118015613be9575080855110155b613c355760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e6473000000000000000000000000006044820152606401610889565b604051915082604083010160405282825283850182038460208701018481015b80821015613c6e57815183830152602082019150613c55565b505050509392505050565b6000612cae8282613188565b6000806000613c9384613ad1565b91505080600114613d0c5760405162461bcd60e51b815260206004820152602f60248201527f526564656d7074696f6e207472616e73616374696f6e206d757374206861766560448201527f20612073696e676c6520696e70757400000000000000000000000000000000006064820152608401610889565b6000613d188582613f18565b9050613d23816140cd565b9350613d31613b05826140da565b92505050915091565b6000806000613d4985856140e7565b905060ff8116613d7b576000858581518110613d6757613d6761489c565b016020015190935060f81c9150613eaf9050565b83613d87826001614e40565b60ff16613d94919061486d565b85511015613dab5760001960009250925050613eaf565b60008160ff1660021415613df057613de5613dd1613dca87600161486d565b8890613188565b62ffff0060e882901c1660f89190911c1790565b61ffff169050613ea5565b8160ff1660041415613e1a57613e0d613b05613dca87600161486d565b63ffffffff169050613ea5565b8160ff1660081415613ea557613e99613e37613dca87600161486d565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b6001600160401b031666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b6001600160401b031690505b60ff909116925090505b9250929050565b6000613197613ec683602061486d565b8490613188565b6000806000613edc8585614173565b9092509050600019821415613ef75760001992505050612cae565b80613f0383602561486d565b613f0d919061486d565b613ba690600461486d565b6060600080613f2685613ad1565b9092509050600019821415613f885760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e742070617273696044820152616e6760f01b6064820152608401610889565b808410613fd75760405162461bcd60e51b815260206004820152601060248201527f56696e2072656164206f76657272756e000000000000000000000000000000006044820152606401610889565b600080613fe584600161486d565b905060005b8681101561406e57613ffc8883613ecd565b92506000198314156140505760405162461bcd60e51b815260206004820152601760248201527f42616420566172496e7420696e207363726970745369670000000000000000006044820152606401610889565b61405a838361486d565b915080614066816148b2565b915050613fea565b506140798782613ecd565b9150600019821415612ea55760405162461bcd60e51b815260206004820152601760248201527f42616420566172496e7420696e207363726970745369670000000000000000006044820152606401610889565b6020810151600090612cae565b6000612cae826020613188565b60008282815181106140fb576140fb61489c565b60209101015160f81c60ff141561411457506008612cae565b8282815181106141265761412661489c565b60209101015160f81c60fe141561413f57506004612cae565b8282815181106141515761415161489c565b60209101015160f81c60fd141561416a57506002612cae565b50600092915050565b60008061418183602561486d565b84511015614196575060001990506000613eaf565b6000806141a886613b7087602461486d565b9097909650945050505050565b6000602082840312156141c757600080fd5b5035919050565b6000806000606084860312156141e357600080fd5b505081359360208301359350604090920135919050565b60006080828403121561420c57600080fd5b50919050565b60006060828403121561420c57600080fd5b600080600060a0848603121561423957600080fd5b83356001600160401b038082111561425057600080fd5b61425c878388016141fa565b9450602086013591508082111561427257600080fd5b5061427f86828701614212565b925050613b378560408601614212565b6000808284036101008112156142a457600080fd5b83356001600160401b038111156142ba57600080fd5b6142c6868287016141fa565b93505060e0601f19820112156142db57600080fd5b506020830190509250929050565b80356001600160a01b038116811461430057600080fd5b919050565b6000806040838503121561431857600080fd5b614321836142e9565b91506020830135801515811461433657600080fd5b809150509250929050565b80356001600160601b03198116811461430057600080fd5b60006020828403121561436b57600080fd5b61319782614341565b634e487b7160e01b600052602160045260246000fd5b600060a08201905082518252602083015160208301526001600160401b03604084015116604083015263ffffffff60608401511660608301526080830151600581106143e657634e487b7160e01b600052602160045260246000fd5b8060808401525092915050565b803563ffffffff8116811461430057600080fd5b80356001600160401b038116811461430057600080fd5b60008060006060848603121561443357600080fd5b61443c846143f3565b925061444a60208501614407565b9150613b3760408501614407565b60006060828403121561446a57600080fd5b6131978383614212565b60008060008060c0858703121561448a57600080fd5b84356001600160401b03808211156144a157600080fd5b6144ad888389016141fa565b955060208701359150808211156144c357600080fd5b506144d087828801614212565b9350506144e08660408701614212565b91506144ee60a08601614341565b905092959194509250565b600080600080600060c0868803121561451157600080fd5b61451a86614341565b94506145298760208801614212565b935060808601356001600160401b038082111561454557600080fd5b818801915088601f83011261455957600080fd5b81358181111561456857600080fd5b89602082850101111561457a57600080fd5b60208301955080945050505061459260a08701614407565b90509295509295909350565b6000602082840312156145b057600080fd5b613197826142e9565b80356001600160e01b03198116811461430057600080fd5b6000808335601e198436030181126145e857600080fd5b83016020810192503590506001600160401b0381111561460757600080fd5b803603831315613eaf57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60a0815260006001600160e01b031980614658876145b9565b1660a084015261466b60208701876145d1565b608060c086015261468161012086018284614616565b91505061469160408801886145d1565b858303609f190160e08701526146a8838284614616565b92505050816146b9606089016145b9565b1661010085015283810360208501526146d286876145d1565b9250606082526146e6606083018483614616565b9250506020860135602082015261470060408701876145d1565b8284036040840152614713848284614616565b945050505050612fbb60408301848051825260208082015190830152604090810151910152565b60006020828403121561474c57600080fd5b5051919050565b6000808335601e1984360301811261476a57600080fd5b8301803591506001600160401b0382111561478457600080fd5b602001915036819003821315613eaf57600080fd5b6000602082840312156147ab57600080fd5b613197826143f3565b6000602082840312156147c657600080fd5b61319782614407565b634e487b7160e01b600052604160045260246000fd5b6000606082840312156147f757600080fd5b604051606081018181106001600160401b038211171561482757634e487b7160e01b600052604160045260246000fd5b6040528235815261483a602084016143f3565b602082015261484b60408401614407565b60408201529392505050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561488057614880614857565b500190565b60008282101561489757614897614857565b500390565b634e487b7160e01b600052603260045260246000fd5b60006000198214156148c6576148c6614857565b5060010190565b604080825283519082018190526000906020906060840190828701845b8281101561490f5781516001600160a01b0316845292840192908401906001016148ea565b5050508381038285015284518082528583019183019060005b8181101561494457835183529284019291840191600101614928565b5090979650505050505050565b60006020828403121561496357600080fd5b81356001600160c01b03198116811461319757600080fd5b60006020828403121561498d57600080fd5b613197826145b9565b600560fa1b8152606086901b6001600160601b0319166001820152607560f81b60158201527f080000000000000000000000000000000000000000000000000000000000000060168201526001600160c01b031985166017820152607560f81b601f8201526000614a6a614a5d614a34602085015b7f7600000000000000000000000000000000000000000000000000000000000000815260010190565b7fa900000000000000000000000000000000000000000000000000000000000000815260010190565b600560fa1b815260010190565b6001600160601b0319861681527f870000000000000000000000000000000000000000000000000000000000000060148201527f63000000000000000000000000000000000000000000000000000000000000006015820152614b29614a5d614a34614a0b614b00601686015b7fac00000000000000000000000000000000000000000000000000000000000000815260010190565b7f6700000000000000000000000000000000000000000000000000000000000000815260010190565b6001600160601b0319861681527f880000000000000000000000000000000000000000000000000000000000000060148201527f040000000000000000000000000000000000000000000000000000000000000060158201529050601681016001600160e01b0319851681527fb1000000000000000000000000000000000000000000000000000000000000006004820152607560f81b60058201529050614bff614bd660068301614ad7565b7f6800000000000000000000000000000000000000000000000000000000000000815260010190565b98975050505050505050565b6000815160005b81811015614c2c5760208185018101518683015201614c12565b81811115614c3b576000828601525b509290920192915050565b60006131978284614c0b565b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b634e487b7160e01b600052601260045260246000fd5b60006001600160401b0380841680614cc457614cc4614c94565b92169190910492915050565b60006080820190508382528235602083015263ffffffff614cf3602085016143f3565b1660408301526001600160401b03614d0d60408501614407565b1660608301529392505050565b60006001600160401b0383811690831681811015614d3a57614d3a614857565b039392505050565b6001600160c01b031984168152818360088301376000910160080190815292915050565b6001600160601b031984168152818360148301376000910160140190815292915050565b60006001600160401b03808316818516808303821115614dac57614dac614857565b01949350505050565b6bffffffffffffffffffffffff198816815260c060208201526000614dde60c08301888a614616565b6001600160a01b03969096166040830152506001600160401b039384166060820152918316608083015290911660a0909101529392505050565b600082614e2757614e27614c94565b500690565b600082614e3b57614e3b614c94565b500490565b600060ff821660ff84168060ff03821115614e5d57614e5d614857565b019392505050565b600060ff821660ff841680821015614e7f57614e7f614857565b90039392505050565b6001600160601b0319831681526000612fbb6014830184614c0b56fea26469706673582212204de2de73387fcefe4de7708e925cd0a68e8cb6f472b3b73a45954066b371a4b764736f6c63430008090033",
1096
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101da5760003560e01c80638dd0f79a11610104578063b34b3216116100a2578063d6eccdf011610071578063d6eccdf01461062e578063e53c0b5514610641578063e95eb7a814610674578063f2fde38b1461068e57600080fd5b8063b34b3216146105c0578063b59589d1146105d3578063bdf9fca9146105fa578063cb7f3a091461061457600080fd5b8063a145e2d5116100de578063a145e2d5146104d2578063a588f059146104e5578063a8fa0f42146104f8578063b02c43d01461050b57600080fd5b80638dd0f79a1461045f5780638fa4ad281461049f5780639c79b05b146104bf57600080fd5b80635afb143c1161017c578063715018a61161014b578063715018a6146103f957806376cdb03b14610401578063793bb473146104285780638da5cb5b1461044e57600080fd5b80635afb143c1461037a5780635c0b48121461039457806360d712fc146103a757806361d027b3146103ba57600080fd5b80631fff4e70116101b85780631fff4e70146103145780632bb818c21461032b5780633dce98121461035257806359a9d90a1461036757600080fd5b806303d952f7146101df578063079bf52c1461028a5780630b6ba19d146102b5575b600080fd5b61023e6101ed3660046141b5565b600660205260009081526040902080546001909101546001600160a01b03821691600160a01b90046001600160401b039081169181811691600160401b82041690600160801b900463ffffffff1685565b604080516001600160a01b0390961686526001600160401b0394851660208701529284169285019290925291909116606083015263ffffffff16608082015260a0015b60405180910390f35b60015461029d906001600160401b031681565b6040516001600160401b039091168152602001610281565b61023e6102c33660046141b5565b600760205260009081526040902080546001909101546001600160a01b03821691600160a01b90046001600160401b039081169181811691600160401b82041690600160801b900463ffffffff1685565b61031d60035481565b604051908152602001610281565b61031d7f000000000000000000000000000000000000000000000000000000000000000081565b6103656103603660046141ce565b505050565b005b610365610375366004614224565b6106a1565b60005461029d90600160a01b90046001600160401b031681565b6103656103a236600461428f565b610c62565b6103656103b5366004614305565b611357565b6103e17f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610281565b610365611410565b6103e17f000000000000000000000000000000000000000000000000000000000000000081565b600954600160401b900460601b6040516001600160601b03199091168152602001610281565b6000546001600160a01b03166103e1565b6008546009546040805163ffffffff600160a01b85041681526001600160401b03600160c01b909404841660208201529290911690820152606001610281565b6104b26104ad366004614359565b611476565b604051610281919061438a565b6103656104cd36600461441e565b611547565b6103656104e0366004614458565b6116c2565b60025461029d906001600160401b031681565b6103656105063660046141ce565b611748565b6105706105193660046141b5565b600560205260009081526040902080546001909101546001600160a01b03808316926001600160401b03600160a01b80830482169463ffffffff600160e01b94859004811695821694928204909316929190041686565b604080516001600160a01b0397881681526001600160401b03968716602082015263ffffffff958616918101919091529590921660608601529290921660808401521660a082015260c001610281565b6103656105ce366004614474565b6117ae565b6103e17f000000000000000000000000000000000000000000000000000000000000000081565b60015461029d90600160801b90046001600160401b031681565b60015461029d90600160401b90046001600160401b031681565b61036561063c3660046144f9565b611c40565b61066461064f36600461459e565b60046020526000908152604090205460ff1681565b6040519015158152602001610281565b60015461029d90600160c01b90046001600160401b031681565b61036561069c36600461459e565b6123a7565b600073__$a0a90fa014aeccc935ad103f88ed15a604$__639d7ae13485856106c7612489565b6040518463ffffffff1660e01b81526004016106e59392919061463f565b60206040518083038186803b1580156106fd57600080fd5b505af4158015610711573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610735919061473a565b905060008061078461074a6040880188614753565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061260692505050565b6001600160601b031982166000908152600a6020908152604080832081516060810183528481529283018490529082019290925260018201549395509193509180156108a4578087356107dd60408a0160208b01614799565b6107ed60608b0160408c016147b4565b60405160200161082a9392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60405160208183030381529060405280519060200120146108925760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f20646174610000000000000000000060448201526064015b60405180910390fd5b6108a1368890038801886147e5565b91505b60006108f26108b660208c018c614753565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250612739915050565b9050600080806109158460000151896001600160401b0316866040015151612cb4565b6001549193509150600160401b90046001600160401b0316610937828461486d565b11156109855760405162461bcd60e51b815260206004820152601b60248201527f5472616e73616374696f6e2066656520697320746f6f206869676800000000006044820152606401610889565b60005b846040015151811015610a7357600060018660400151516109a99190614885565b82146109b557836109bf565b6109bf838561486d565b905080866060015183815181106109d8576109d861489c565b6020026020010151876040015184815181106109f6576109f661489c565b6020026020010151610a089190614885565b610a129190614885565b86604001518381518110610a2857610a2861489c565b60200260200101818152505085606001518281518110610a4a57610a4a61489c565b602002602001015185610a5d919061486d565b9450508080610a6b906148b2565b915050610988565b5060408051602081018c90526000918101919091526001600160c01b031960c08a901b166044820152604c0160408051808303601f19018152828252805160209182012060018b01556001600160601b03198c16835282018c90527fe50ffdcc0a5f2c1ede5c122b9414ffd7b2c6bc870d2d775194049dc30da95e6a910160405180910390a1602084015160408086015190517f266a123a0000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169263266a123a92610b66926004016148cd565b600060405180830381600087803b158015610b8057600080fd5b505af1158015610b94573d6000803e3d6000fd5b50506040517f5b86f5990000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018790527f0000000000000000000000000000000000000000000000000000000000000000169250635b86f5999150604401600060405180830381600087803b158015610c3b57600080fd5b505af1158015610c4f573d6000803e3d6000fd5b5050505050505050505050505050505050565b6000610c7460e0830160c0840161459e565b6001600160a01b03161480610cb6575060046000610c9860e0840160c0850161459e565b6001600160a01b0316815260208101919091526040016000205460ff165b610d025760405162461bcd60e51b815260206004820152601460248201527f5661756c74206973206e6f7420747275737465640000000000000000000000006044820152606401610889565b6000610d14604083016020840161459e565b610d246060840160408501614951565b610d346080850160608601614359565b610d4460a0860160808701614359565b610d5460c0870160a0880161497b565b604051602001610d68959493929190614996565b60408051601f1981840301815291905290506000610ddc610d8c6020850185614799565b63ffffffff16610d9f6040870187614753565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293925050612cf09050565b90506000610de982612ebb565b9050805160141415610e6f57610dfe83613161565b6001600160601b031916610e13826000613188565b6001600160601b03191614610e6a5760405162461bcd60e51b815260206004820152601960248201527f57726f6e672032302d62797465207363726970742068617368000000000000006044820152606401610889565b610f67565b805160201415610f1f57600283604051610e899190614c46565b602060405180830381855afa158015610ea6573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610ec9919061473a565b610ed28261319e565b14610e6a5760405162461bcd60e51b815260206004820152601960248201527f57726f6e672033322d62797465207363726970742068617368000000000000006044820152606401610889565b60405162461bcd60e51b815260206004820152601860248201527f57726f6e67207363726970742068617368206c656e67746800000000000000006044820152606401610889565b6000610fcc610f79602088018861497b565b610f866020890189614753565b610f9360408b018b614753565b610fa360808d0160608e0161497b565b604051602001610fb896959493929190614c52565b6040516020818303038152906040526131ba565b9050600060058183610fe160208a018a614799565b60405160200161100892919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff161561108c5760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616c72656164792072657665616c656400000000000000006044820152606401610889565b6000611097856131e1565b6000549091506001600160401b03600160a01b909104811690821610156111005760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616d6f756e7420746f6f20736d616c6c00000000000000006044820152606401610889565b81547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff16600160a01b6001600160401b03831602178255611147604088016020890161459e565b82546001600160a01b03919091167bffffffffffffffff000000000000000000000000000000000000000090911617600160e01b4263ffffffff160217825561119660e0880160c0890161459e565b6001838101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039390931692909217909155546001600160401b03166111dc5760006111f2565b6001546111f2906001600160401b031682614caa565b6001830180546001600160401b0392909216600160a01b027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff9092169190911790557fa7382159a693ed317a024daf0fd1ba30805cdf9928ee09550af517c516e2ef058361126360208a018a614799565b61127360408b0160208c0161459e565b8461128460608d0160408e01614951565b61129460808e0160608f01614359565b8d60800160208101906112a79190614359565b8e60a00160208101906112ba919061497b565b8f60c00160208101906112cd919061459e565b60408051998a5263ffffffff90981660208a01526001600160a01b03968716978901979097526001600160401b0390941660608801526001600160c01b031990921660808701526001600160601b031990811660a08701521660c08501526001600160e01b03191660e0840152166101008201526101200160405180910390a15050505050505050565b6000546001600160a01b031633146113b15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610889565b6001600160a01b038216600081815260046020908152604091829020805460ff191685151590811790915591519182527f9065599c12c4294d9e2201638226d0d0beb95c228f468c4e7c2bdb8322b6066f910160405180910390a25050565b6000546001600160a01b0316331461146a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610889565b6114746000613257565b565b6114a56040805160a0810182526000808252602082018190529181018290526060810182905290608082015290565b6001600160601b031982166000908152600a6020908152604091829020825160a0810184528154815260018201549281019290925260028101546001600160401b03811693830193909352600160401b830463ffffffff166060830152909160808301906c01000000000000000000000000900460ff16600481111561152d5761152d614374565b600481111561153e5761153e614374565b90525092915050565b6000546001600160a01b031633146115a15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610889565b6040517f041aee990000000000000000000000000000000000000000000000000000000081526008600482015263ffffffff8416602482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__9063041aee999060440160006040518083038186803b15801561161157600080fd5b505af4158015611625573d6000803e3d6000fd5b50506040517f998b564c000000000000000000000000000000000000000000000000000000008152600860048201526001600160401b0380861660248301528416604482015273__$0f118c52967a3847a37f0a2ef02ffcee04$__925063998b564c91506064015b60006040518083038186803b1580156116a557600080fd5b505af41580156116b9573d6000803e3d6000fd5b50505050505050565b6040517fb4e671f400000000000000000000000000000000000000000000000000000000815273__$0f118c52967a3847a37f0a2ef02ffcee04$__9063b4e671f490611715906008908590600401614cd0565b60006040518083038186803b15801561172d57600080fd5b505af4158015611741573d6000803e3d6000fd5b5050505050565b6040517f4fd7d4860000000000000000000000000000000000000000000000000000000081526008600482015260248101849052604481018390526064810182905273__$0f118c52967a3847a37f0a2ef02ffcee04$__90634fd7d4869060840161168d565b600073__$a0a90fa014aeccc935ad103f88ed15a604$__639d7ae13486866117d4612489565b6040518463ffffffff1660e01b81526004016117f29392919061463f565b60206040518083038186803b15801561180a57600080fd5b505af415801561181e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611842919061473a565b90506118926118546020870187614753565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508792508691506132b49050565b6001600160601b031982166000908152600a6020526040902060028101546c01000000000000000000000000900460ff1660018160048111156118d7576118d7614374565b14806118f4575060028160048111156118f2576118f2614374565b145b6119665760405162461bcd60e51b815260206004820152602a60248201527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e6760448201527f46756473207374617465000000000000000000000000000000000000000000006064820152608401610889565b60006119b461197860408a018a614753565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508992506134bc915050565b60608101519091506001600160401b031615611a34578381604001518260600151604051602001611a129392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60408051601f1981840301815291905280516020909101206001840155611a3c565b600060018401555b8051600284018054600090611a5b9084906001600160401b0316614d1a565b92506101000a8154816001600160401b0302191690836001600160401b031602179055507fa45596c10f758d32ec8cca64a0fbfe776052b08fdb3f026e0a87f52118bf8fbe8585604051611ac59291906001600160601b0319929092168252602082015260400190565b60405180910390a180516040517f392aee430000000000000000000000000000000000000000000000000000000081526001600160401b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063392aee4390602401600060405180830381600087803b158015611b5357600080fd5b505af1158015611b67573d6000803e3d6000fd5b5050505060208101516040517f56a6d9ef0000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526001600160401b0390921660248201527f0000000000000000000000000000000000000000000000000000000000000000909116906356a6d9ef90604401600060405180830381600087803b158015611c1e57600080fd5b505af1158015611c32573d6000803e3d6000fd5b505050505050505050505050565b6001600160601b031985166000908152600a60205260409020600160028201546c01000000000000000000000000900460ff166004811115611c8457611c84614374565b14611cd15760405162461bcd60e51b815260206004820152601c60248201527f57616c6c6574206d75737420626520696e204c697665207374617465000000006044820152606401610889565b600181015480611d495760405162461bcd60e51b815260206004820152602160248201527f4e6f206d61696e205554584f20666f722074686520676976656e2077616c6c6560448201527f74000000000000000000000000000000000000000000000000000000000000006064820152608401610889565b808635611d5c6040890160208a01614799565b611d6c60608a0160408b016147b4565b604051602001611da99392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b6040516020818303038152906040528051906020012014611e0c5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f2064617461000000000000000000006044820152606401610889565b6000611e3e600060c01b8787604051602001611e2a93929190614d42565b604051602081830303815290604052612ebb565b90506000815111611eb75760405162461bcd60e51b815260206004820152602e60248201527f52656465656d6572206f757470757420736372697074206d757374206265206160448201527f207374616e6461726420747970650000000000000000000000000000000000006064820152608401610889565b808051906020012088604051602001611ee091906001600160601b031991909116815260140190565b604051602081830303815290604052805190602001201415611f6a5760405162461bcd60e51b815260206004820152603760248201527f52656465656d6572206f757470757420736372697074206d757374206e6f742060448201527f706f696e7420746f207468652077616c6c657420504b480000000000000000006064820152608401610889565b6001546001600160401b03600160801b90910481169085161015611fd05760405162461bcd60e51b815260206004820152601b60248201527f526564656d7074696f6e20616d6f756e7420746f6f20736d616c6c00000000006044820152606401610889565b6000888787604051602001611fe793929190614d66565b60408051808303601f19018152918152815160209283012060008181526006909352912060010154909150600160801b900463ffffffff16156120b85760405162461bcd60e51b815260206004820152604a60248201527f546865726520697320612070656e64696e6720726564656d7074696f6e20726560448201527f71756573742066726f6d20746869732077616c6c657420746f2074686520736160648201527f6d65206164647265737300000000000000000000000000000000000000000000608482015260a401610889565b600154600090600160c01b90046001600160401b03166120d95760006120f6565b6001546120f690600160c01b90046001600160401b031687614caa565b6002549091506001600160401b031661210f8288614d1a565b60028701805460009061212c9084906001600160401b0316614d8a565b82546101009290920a6001600160401b03818102199093169183160217909155600288015416905061216460608c0160408d016147b4565b6001600160401b031610156121bb5760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e742077616c6c65742066756e6473000000000000006044820152606401610889565b6040805160a081018252338082526001600160401b03808b1660208085019182528783168587019081528784166060870190815263ffffffff4281166080890190815260008d81526006909552938990209751885495518716600160a01b026001600160e01b03199096166001600160a01b03919091161794909417875590516001909601805491519251909316600160801b027fffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffffff928516600160401b027fffffffffffffffffffffffffffffffff00000000000000000000000000000000909216969094169590951794909417939093161790915590517f97a0199072f487232635d50ab75860891afe0b91c976ed2fc76502c4d82d0d95916122eb918e918d918d91908d9089908990614db5565b60405180910390a16040517f7c6db49c0000000000000000000000000000000000000000000000000000000081523360048201523060248201526001600160401b03881660448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637c6db49c90606401600060405180830381600087803b15801561238257600080fd5b505af1158015612396573d6000803e3d6000fd5b505050505050505050505050505050565b6000546001600160a01b031633146124015760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610889565b6001600160a01b03811661247d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610889565b61248681613257565b50565b6124ad60405180606001604052806000815260200160008152602001600081525090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663113764be6040518163ffffffff1660e01b815260040160206040518083038186803b15801561250657600080fd5b505afa15801561251a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061253e919061473a565b8160000181815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632b97be246040518163ffffffff1660e01b815260040160206040518083038186803b1580156125a057600080fd5b505afa1580156125b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125d8919061473a565b60208201527f0000000000000000000000000000000000000000000000000000000000000000604082015290565b600080600061261484613ad1565b9150508060011461268d5760405162461bcd60e51b815260206004820152602b60248201527f5377656570207472616e73616374696f6e206d7573742068617665206120736960448201527f6e676c65206f75747075740000000000000000000000000000000000000000006064820152608401610889565b60006126998582612cf0565b90506126a4816131e1565b925060006126b182612ebb565b9050805160141461272a5760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574207075626c6963206b657920686173682073686f756c6420686160448201527f76652032302062797465730000000000000000000000000000000000000000006064820152608401610889565b60208101519450505050915091565b6127646040518060800160405280600081526020016060815260200160608152602001606081525090565b815115156000808061277587613ad1565b9092509050600061278783600161486d565b9050841561279f5761279a600183614885565b6127a1565b815b6001600160401b038111156127b8576127b86147cf565b6040519080825280602002602001820160405280156127e1578160200160208202803683370190505b5060208701819052516001600160401b03811115612801576128016147cf565b60405190808252806020026020018201604052801561282a578160200160208202803683370190505b5060408701526020860151516001600160401b0381111561284d5761284d6147cf565b604051908082528060200260200182016040528015612876578160200160208202803683370190505b5060608701526000805b83811015612bb75760008060006128978d87613ae8565b92509250925060006005600085856040516020016128cc92919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff1615612b08576001810154600160e01b900463ffffffff16156129675760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c726561647920737765707400000000000000000000006044820152606401610889565b8b60200151518614156129e25760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e707574730000000000006064820152608401610889565b6001810180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b4263ffffffff1602179055805460208d015180516001600160a01b039092169188908110612a3b57612a3b61489c565b6001600160a01b039290921660209283029190910190910152805460408d01518051600160a01b9092046001600160401b03169188908110612a7f57612a7f61489c565b6020026020010181815250508b604001518681518110612aa157612aa161489c565b60200260200101518c600001818151612aba919061486d565b905250600181015460608d01518051600160a01b9092046001600160401b03169188908110612aeb57612aeb61489c565b602090810291909101015285612b00816148b2565b965050612b94565b8915158b151514158015612b1c57508c5184145b15612b4c578c604001516001600160401b03168c600001818151612b40919061486d565b90525060019950612b94565b60405162461bcd60e51b815260206004820152601260248201527f556e6b6e6f776e20696e707574207479706500000000000000000000000000006044820152606401610889565b612b9e828861486d565b9650505050508080612baf906148b2565b915050612880565b5060008111612c2e5760405162461bcd60e51b815260206004820152603360248201527f5377656570207472616e73616374696f6e206d7573742070726f63657373206160448201527f74206c65617374206f6e65206465706f736974000000000000000000000000006064820152608401610889565b84151586151514612ca75760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e707574730000000000006064820152608401610889565b5050505050505b92915050565b60008080612cc28587614885565b9050612cce8482614e18565b915083612cdb8383614885565b612ce59190614e2c565b925050935093915050565b6060600080612cfe85613ad1565b9092509050600019821415612d605760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e742070617273696044820152616e6760f01b6064820152608401610889565b808410612daf5760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e0000000000000000000000000000006044820152606401610889565b600080612dbd84600161486d565b905060005b86811015612e4657612dd48883613b40565b9250600019831415612e285760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610889565b612e32838361486d565b915080612e3e816148b2565b915050612dc2565b50612e518782613b40565b9150600019821415612ea55760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b65790000000000006044820152606401610889565b612eb0878284613baf565b979650505050505050565b6060600082600881518110612ed257612ed261489c565b0160200151835160f89190911c9150612eec826009614e40565b60ff1614612f0a575050604080516020810190915260008152919050565b82600981518110612f1d57612f1d61489c565b016020015160f81c612fc35760028160ff161015612f4b575050604080516020810190915260008152919050565b600083600a81518110612f6057612f6061489c565b016020015160f81c9050612f75600283614e65565b60ff1681141580612f93575080602014158015612f93575080601414155b15612faf57505060408051602081019091526000815292915050565b612fbb84600b83613baf565b949350505050565b6000612fd0846008613188565b90507f1976a900000000000000000000000000000000000000000000000000000000007fffffff0000000000000000000000000000000000000000000000000000000000821614156130ad5783600b8151811061302f5761302f61489c565b60209101015160f81c6014141580613084575061305a600285516130539190614885565b8590613188565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191661222b60f21b14155b156130a057505060408051602081019091526000815292915050565b612fbb84600c6014613baf565b7f17a91400000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008216141561314a5783600185516131069190614885565b815181106131165761311661489c565b60209101015160f81c60871461313d57505060408051602081019091526000815292915050565b612fbb84600b6014613baf565b505050604080516020810190915260008152919050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b60006131978383016020015190565b9392505050565b60008151600014156131b257506000919050565b506020015190565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b6000806131ed83613c79565b60c01c90506000612fbb8264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b6001600160401b031666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160601b031981166000908152600a60205260409020600101548061331e5760405162461bcd60e51b815260206004820152601d60248201527f4e6f206d61696e205554584f20666f7220676976656e2077616c6c65740000006044820152606401610889565b8083356133316040860160208701614799565b61334160608701604088016147b4565b60405160200161337e9392919092835260e09190911b6001600160e01b031916602083015260c01b6001600160c01b0319166024820152602c0190565b60405160208183030381529060405280519060200120146133e15760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f2064617461000000000000000000006044820152606401610889565b6000806133ed86613c85565b909250905084358214801561341c575063ffffffff81166134146040870160208801614799565b63ffffffff16145b6134b45760405162461bcd60e51b815260206004820152604160248201527f526564656d7074696f6e207472616e73616374696f6e20696e707574206d757360448201527f7420706f696e7420746f207468652077616c6c65742773206d61696e2055545860648201527f4f00000000000000000000000000000000000000000000000000000000000000608482015260a401610889565b505050505050565b604080516080810182526000808252602082018190529181018290526060810182905290806134ea85613ad1565b909250905060006134fc83600161486d565b604080517f1976a914000000000000000000000000000000000000000000000000000000006020808301919091526001600160601b031989166024830181905261222b60f21b60388401528351601a818503018152603a840185528051908301207f1600140000000000000000000000000000000000000000000000000000000000605a850152605d8401919091528351605181850301815260719093019093528151910120919250906000805b85811015613a5a5760006135be8b87613b40565b905060006135cd8c8884613baf565b905060006135da826131e1565b905060006135f860088085516135f09190614885565b859190613baf565b90508b606001516001600160401b0316600014801561362b57508051602082012088148061362b57508051602082012087145b801561364057506000826001600160401b0316115b156136655763ffffffff851660408d01526001600160401b03821660608d0152613a37565b60008d8260405160200161367a929190614e88565b60408051808303601f19018152918152815160209283012060008181526006909352912060010154909150600160801b900463ffffffff1615613884576000818152600660205260408120600181015481549192916136ec916001600160401b0390811691600160a01b900416614d1a565b60018301549091506001600160401b038087169161371391600160401b9091041683614d1a565b6001600160401b03161115801561373c5750806001600160401b0316856001600160401b031611155b6137d45760405162461bcd60e51b815260206004820152604660248201527f4f75747075742076616c7565206973206e6f742077697468696e20746865206160448201527f636365707461626c652072616e6765206f66207468652070656e64696e67207260648201527f6571756573740000000000000000000000000000000000000000000000000000608482015260a401610889565b808f6000018181516137e69190614d8a565b9150906001600160401b031690816001600160401b0316815250508160010160009054906101000a90046001600160401b03168f60200181815161382a9190614d8a565b6001600160401b0316905250600083815260066020526040902080546001600160e01b0319168155600101805473ffffffffffffffffffffffffffffffffffffffff191690558861387a816148b2565b9950505050613a35565b60008181526007602052604090206001810154600160801b900463ffffffff166139155760405162461bcd60e51b8152602060048201526024808201527f4f75747075742069732061206e6f6e2d72657175657374656420726564656d7060448201527f74696f6e000000000000000000000000000000000000000000000000000000006064820152608401610889565b6001810154815460009161393d916001600160401b0391821691600160a01b90910416614d1a565b60018301549091506001600160401b038087169161396491600160401b9091041683614d1a565b6001600160401b03161115801561398d5750806001600160401b0316856001600160401b031611155b613a255760405162461bcd60e51b815260206004820152604860248201527f4f75747075742076616c7565206973206e6f742077697468696e20746865206160448201527f636365707461626c652072616e6765206f66207468652074696d6564206f757460648201527f2072657175657374000000000000000000000000000000000000000000000000608482015260a401610889565b88613a2f816148b2565b99505050505b505b613a41848a61486d565b9850505050508080613a52906148b2565b9150506135aa565b5060008111612ca75760405162461bcd60e51b815260206004820152603b60248201527f526564656d7074696f6e207472616e73616374696f6e206d7573742070726f6360448201527f657373206174206c65617374206f6e6520726564656d7074696f6e00000000006064820152608401610889565b600080613adf836000613d3a565b91509150915091565b60008080613af68585613188565b9250613b2b613b058686613eb6565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b9150613b378585613ecd565b90509250925092565b6000613b4d82600961486d565b83511015613b5e5750600019612cae565b600080613b7585613b7086600861486d565b613d3a565b9092509050600019821415613b905760001992505050612cae565b80613b9c83600961486d565b613ba6919061486d565b95945050505050565b606081613bcb5750604080516020810190915260008152613197565b6000613bd7838561486d565b90508381118015613be9575080855110155b613c355760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e6473000000000000000000000000006044820152606401610889565b604051915082604083010160405282825283850182038460208701018481015b80821015613c6e57815183830152602082019150613c55565b505050509392505050565b6000612cae8282613188565b6000806000613c9384613ad1565b91505080600114613d0c5760405162461bcd60e51b815260206004820152602f60248201527f526564656d7074696f6e207472616e73616374696f6e206d757374206861766560448201527f20612073696e676c6520696e70757400000000000000000000000000000000006064820152608401610889565b6000613d188582613f18565b9050613d23816140cd565b9350613d31613b05826140da565b92505050915091565b6000806000613d4985856140e7565b905060ff8116613d7b576000858581518110613d6757613d6761489c565b016020015190935060f81c9150613eaf9050565b83613d87826001614e40565b60ff16613d94919061486d565b85511015613dab5760001960009250925050613eaf565b60008160ff1660021415613df057613de5613dd1613dca87600161486d565b8890613188565b62ffff0060e882901c1660f89190911c1790565b61ffff169050613ea5565b8160ff1660041415613e1a57613e0d613b05613dca87600161486d565b63ffffffff169050613ea5565b8160ff1660081415613ea557613e99613e37613dca87600161486d565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b6001600160401b031666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b6001600160401b031690505b60ff909116925090505b9250929050565b6000613197613ec683602061486d565b8490613188565b6000806000613edc8585614173565b9092509050600019821415613ef75760001992505050612cae565b80613f0383602561486d565b613f0d919061486d565b613ba690600461486d565b6060600080613f2685613ad1565b9092509050600019821415613f885760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e742070617273696044820152616e6760f01b6064820152608401610889565b808410613fd75760405162461bcd60e51b815260206004820152601060248201527f56696e2072656164206f76657272756e000000000000000000000000000000006044820152606401610889565b600080613fe584600161486d565b905060005b8681101561406e57613ffc8883613ecd565b92506000198314156140505760405162461bcd60e51b815260206004820152601760248201527f42616420566172496e7420696e207363726970745369670000000000000000006044820152606401610889565b61405a838361486d565b915080614066816148b2565b915050613fea565b506140798782613ecd565b9150600019821415612ea55760405162461bcd60e51b815260206004820152601760248201527f42616420566172496e7420696e207363726970745369670000000000000000006044820152606401610889565b6020810151600090612cae565b6000612cae826020613188565b60008282815181106140fb576140fb61489c565b60209101015160f81c60ff141561411457506008612cae565b8282815181106141265761412661489c565b60209101015160f81c60fe141561413f57506004612cae565b8282815181106141515761415161489c565b60209101015160f81c60fd141561416a57506002612cae565b50600092915050565b60008061418183602561486d565b84511015614196575060001990506000613eaf565b6000806141a886613b7087602461486d565b9097909650945050505050565b6000602082840312156141c757600080fd5b5035919050565b6000806000606084860312156141e357600080fd5b505081359360208301359350604090920135919050565b60006080828403121561420c57600080fd5b50919050565b60006060828403121561420c57600080fd5b600080600060a0848603121561423957600080fd5b83356001600160401b038082111561425057600080fd5b61425c878388016141fa565b9450602086013591508082111561427257600080fd5b5061427f86828701614212565b925050613b378560408601614212565b6000808284036101008112156142a457600080fd5b83356001600160401b038111156142ba57600080fd5b6142c6868287016141fa565b93505060e0601f19820112156142db57600080fd5b506020830190509250929050565b80356001600160a01b038116811461430057600080fd5b919050565b6000806040838503121561431857600080fd5b614321836142e9565b91506020830135801515811461433657600080fd5b809150509250929050565b80356001600160601b03198116811461430057600080fd5b60006020828403121561436b57600080fd5b61319782614341565b634e487b7160e01b600052602160045260246000fd5b600060a08201905082518252602083015160208301526001600160401b03604084015116604083015263ffffffff60608401511660608301526080830151600581106143e657634e487b7160e01b600052602160045260246000fd5b8060808401525092915050565b803563ffffffff8116811461430057600080fd5b80356001600160401b038116811461430057600080fd5b60008060006060848603121561443357600080fd5b61443c846143f3565b925061444a60208501614407565b9150613b3760408501614407565b60006060828403121561446a57600080fd5b6131978383614212565b60008060008060c0858703121561448a57600080fd5b84356001600160401b03808211156144a157600080fd5b6144ad888389016141fa565b955060208701359150808211156144c357600080fd5b506144d087828801614212565b9350506144e08660408701614212565b91506144ee60a08601614341565b905092959194509250565b600080600080600060c0868803121561451157600080fd5b61451a86614341565b94506145298760208801614212565b935060808601356001600160401b038082111561454557600080fd5b818801915088601f83011261455957600080fd5b81358181111561456857600080fd5b89602082850101111561457a57600080fd5b60208301955080945050505061459260a08701614407565b90509295509295909350565b6000602082840312156145b057600080fd5b613197826142e9565b80356001600160e01b03198116811461430057600080fd5b6000808335601e198436030181126145e857600080fd5b83016020810192503590506001600160401b0381111561460757600080fd5b803603831315613eaf57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60a0815260006001600160e01b031980614658876145b9565b1660a084015261466b60208701876145d1565b608060c086015261468161012086018284614616565b91505061469160408801886145d1565b858303609f190160e08701526146a8838284614616565b92505050816146b9606089016145b9565b1661010085015283810360208501526146d286876145d1565b9250606082526146e6606083018483614616565b9250506020860135602082015261470060408701876145d1565b8284036040840152614713848284614616565b945050505050612fbb60408301848051825260208082015190830152604090810151910152565b60006020828403121561474c57600080fd5b5051919050565b6000808335601e1984360301811261476a57600080fd5b8301803591506001600160401b0382111561478457600080fd5b602001915036819003821315613eaf57600080fd5b6000602082840312156147ab57600080fd5b613197826143f3565b6000602082840312156147c657600080fd5b61319782614407565b634e487b7160e01b600052604160045260246000fd5b6000606082840312156147f757600080fd5b604051606081018181106001600160401b038211171561482757634e487b7160e01b600052604160045260246000fd5b6040528235815261483a602084016143f3565b602082015261484b60408401614407565b60408201529392505050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561488057614880614857565b500190565b60008282101561489757614897614857565b500390565b634e487b7160e01b600052603260045260246000fd5b60006000198214156148c6576148c6614857565b5060010190565b604080825283519082018190526000906020906060840190828701845b8281101561490f5781516001600160a01b0316845292840192908401906001016148ea565b5050508381038285015284518082528583019183019060005b8181101561494457835183529284019291840191600101614928565b5090979650505050505050565b60006020828403121561496357600080fd5b81356001600160c01b03198116811461319757600080fd5b60006020828403121561498d57600080fd5b613197826145b9565b600560fa1b8152606086901b6001600160601b0319166001820152607560f81b60158201527f080000000000000000000000000000000000000000000000000000000000000060168201526001600160c01b031985166017820152607560f81b601f8201526000614a6a614a5d614a34602085015b7f7600000000000000000000000000000000000000000000000000000000000000815260010190565b7fa900000000000000000000000000000000000000000000000000000000000000815260010190565b600560fa1b815260010190565b6001600160601b0319861681527f870000000000000000000000000000000000000000000000000000000000000060148201527f63000000000000000000000000000000000000000000000000000000000000006015820152614b29614a5d614a34614a0b614b00601686015b7fac00000000000000000000000000000000000000000000000000000000000000815260010190565b7f6700000000000000000000000000000000000000000000000000000000000000815260010190565b6001600160601b0319861681527f880000000000000000000000000000000000000000000000000000000000000060148201527f040000000000000000000000000000000000000000000000000000000000000060158201529050601681016001600160e01b0319851681527fb1000000000000000000000000000000000000000000000000000000000000006004820152607560f81b60058201529050614bff614bd660068301614ad7565b7f6800000000000000000000000000000000000000000000000000000000000000815260010190565b98975050505050505050565b6000815160005b81811015614c2c5760208185018101518683015201614c12565b81811115614c3b576000828601525b509290920192915050565b60006131978284614c0b565b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b634e487b7160e01b600052601260045260246000fd5b60006001600160401b0380841680614cc457614cc4614c94565b92169190910492915050565b60006080820190508382528235602083015263ffffffff614cf3602085016143f3565b1660408301526001600160401b03614d0d60408501614407565b1660608301529392505050565b60006001600160401b0383811690831681811015614d3a57614d3a614857565b039392505050565b6001600160c01b031984168152818360088301376000910160080190815292915050565b6001600160601b031984168152818360148301376000910160140190815292915050565b60006001600160401b03808316818516808303821115614dac57614dac614857565b01949350505050565b6bffffffffffffffffffffffff198816815260c060208201526000614dde60c08301888a614616565b6001600160a01b03969096166040830152506001600160401b039384166060820152918316608083015290911660a0909101529392505050565b600082614e2757614e27614c94565b500690565b600082614e3b57614e3b614c94565b500490565b600060ff821660ff84168060ff03821115614e5d57614e5d614857565b019392505050565b600060ff821660ff841680821015614e7f57614e7f614857565b90039392505050565b6001600160601b0319831681526000612fbb6014830184614c0b56fea26469706673582212204de2de73387fcefe4de7708e925cd0a68e8cb6f472b3b73a45954066b371a4b764736f6c63430008090033",
878
1097
  "linkReferences": {
879
1098
  "contracts/bridge/BitcoinTx.sol": {
880
1099
  "BitcoinTx": [
881
1100
  {
882
1101
  "length": 20,
883
- "start": 2306
1102
+ "start": 2840
1103
+ },
1104
+ {
1105
+ "length": 20,
1106
+ "start": 7205
1107
+ }
1108
+ ]
1109
+ },
1110
+ "contracts/bridge/Wallets.sol": {
1111
+ "Wallets": [
1112
+ {
1113
+ "length": 20,
1114
+ "start": 478
1115
+ },
1116
+ {
1117
+ "length": 20,
1118
+ "start": 586
1119
+ },
1120
+ {
1121
+ "length": 20,
1122
+ "start": 707
1123
+ },
1124
+ {
1125
+ "length": 20,
1126
+ "start": 6735
1127
+ },
1128
+ {
1129
+ "length": 20,
1130
+ "start": 6880
1131
+ },
1132
+ {
1133
+ "length": 20,
1134
+ "start": 7005
884
1135
  },
885
1136
  {
886
1137
  "length": 20,
887
- "start": 5851
1138
+ "start": 7167
888
1139
  }
889
1140
  ]
890
1141
  }
@@ -894,11 +1145,31 @@
894
1145
  "BitcoinTx": [
895
1146
  {
896
1147
  "length": 20,
897
- "start": 1533
1148
+ "start": 1701
1149
+ },
1150
+ {
1151
+ "length": 20,
1152
+ "start": 6066
1153
+ }
1154
+ ]
1155
+ },
1156
+ "contracts/bridge/Wallets.sol": {
1157
+ "Wallets": [
1158
+ {
1159
+ "length": 20,
1160
+ "start": 5596
1161
+ },
1162
+ {
1163
+ "length": 20,
1164
+ "start": 5741
1165
+ },
1166
+ {
1167
+ "length": 20,
1168
+ "start": 5866
898
1169
  },
899
1170
  {
900
1171
  "length": 20,
901
- "start": 5078
1172
+ "start": 6028
902
1173
  }
903
1174
  ]
904
1175
  }