@super-protocol/sdk-js 0.6.1 → 0.7.0-beta.3

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.
@@ -0,0 +1,580 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Consensus",
4
+ "sourceName": "contracts/Consensus.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": true,
11
+ "internalType": "uint256",
12
+ "name": "tcbId",
13
+ "type": "uint256"
14
+ },
15
+ {
16
+ "indexed": true,
17
+ "internalType": "uint256",
18
+ "name": "amount",
19
+ "type": "uint256"
20
+ },
21
+ {
22
+ "indexed": true,
23
+ "internalType": "address",
24
+ "name": "claimer",
25
+ "type": "address"
26
+ }
27
+ ],
28
+ "name": "RewardsClaimed",
29
+ "type": "event"
30
+ },
31
+ {
32
+ "anonymous": false,
33
+ "inputs": [
34
+ {
35
+ "indexed": true,
36
+ "internalType": "uint256",
37
+ "name": "tcbId",
38
+ "type": "uint256"
39
+ },
40
+ {
41
+ "indexed": true,
42
+ "internalType": "address",
43
+ "name": "provider",
44
+ "type": "address"
45
+ }
46
+ ],
47
+ "name": "TcbBenchmarkChanged",
48
+ "type": "event"
49
+ },
50
+ {
51
+ "anonymous": false,
52
+ "inputs": [
53
+ {
54
+ "indexed": true,
55
+ "internalType": "uint256",
56
+ "name": "tcbId",
57
+ "type": "uint256"
58
+ },
59
+ {
60
+ "indexed": true,
61
+ "internalType": "address",
62
+ "name": "provider",
63
+ "type": "address"
64
+ }
65
+ ],
66
+ "name": "TcbCompleted",
67
+ "type": "event"
68
+ },
69
+ {
70
+ "anonymous": false,
71
+ "inputs": [
72
+ {
73
+ "indexed": true,
74
+ "internalType": "uint256",
75
+ "name": "tcbId",
76
+ "type": "uint256"
77
+ },
78
+ {
79
+ "indexed": true,
80
+ "internalType": "address",
81
+ "name": "provider",
82
+ "type": "address"
83
+ }
84
+ ],
85
+ "name": "TcbInitialized",
86
+ "type": "event"
87
+ },
88
+ {
89
+ "inputs": [
90
+ {
91
+ "internalType": "uint256",
92
+ "name": "tcbId",
93
+ "type": "uint256"
94
+ }
95
+ ],
96
+ "name": "addTcbToSupply",
97
+ "outputs": [],
98
+ "stateMutability": "nonpayable",
99
+ "type": "function"
100
+ },
101
+ {
102
+ "inputs": [
103
+ {
104
+ "internalType": "enum TcbVerifiedStatus[]",
105
+ "name": "marks",
106
+ "type": "uint8[]"
107
+ },
108
+ {
109
+ "internalType": "uint256",
110
+ "name": "tcbId",
111
+ "type": "uint256"
112
+ }
113
+ ],
114
+ "name": "applyTcbMarks",
115
+ "outputs": [],
116
+ "stateMutability": "nonpayable",
117
+ "type": "function"
118
+ },
119
+ {
120
+ "inputs": [
121
+ {
122
+ "internalType": "uint256",
123
+ "name": "tcbId",
124
+ "type": "uint256"
125
+ }
126
+ ],
127
+ "name": "assignLastBlocksToCheck",
128
+ "outputs": [],
129
+ "stateMutability": "nonpayable",
130
+ "type": "function"
131
+ },
132
+ {
133
+ "inputs": [
134
+ {
135
+ "internalType": "uint256",
136
+ "name": "tcbId",
137
+ "type": "uint256"
138
+ }
139
+ ],
140
+ "name": "assignSuspiciousBlocksToCheck",
141
+ "outputs": [],
142
+ "stateMutability": "nonpayable",
143
+ "type": "function"
144
+ },
145
+ {
146
+ "inputs": [
147
+ {
148
+ "internalType": "uint256",
149
+ "name": "tcbId",
150
+ "type": "uint256"
151
+ }
152
+ ],
153
+ "name": "claimRewards",
154
+ "outputs": [],
155
+ "stateMutability": "nonpayable",
156
+ "type": "function"
157
+ },
158
+ {
159
+ "inputs": [
160
+ {
161
+ "internalType": "uint256",
162
+ "name": "teeOfferId",
163
+ "type": "uint256"
164
+ }
165
+ ],
166
+ "name": "getActualTcbId",
167
+ "outputs": [
168
+ {
169
+ "internalType": "uint256",
170
+ "name": "",
171
+ "type": "uint256"
172
+ }
173
+ ],
174
+ "stateMutability": "view",
175
+ "type": "function"
176
+ },
177
+ {
178
+ "inputs": [
179
+ {
180
+ "internalType": "uint256",
181
+ "name": "index",
182
+ "type": "uint256"
183
+ }
184
+ ],
185
+ "name": "getEpoch",
186
+ "outputs": [
187
+ {
188
+ "components": [
189
+ {
190
+ "internalType": "uint256",
191
+ "name": "startDate",
192
+ "type": "uint256"
193
+ },
194
+ {
195
+ "internalType": "uint256",
196
+ "name": "endDate",
197
+ "type": "uint256"
198
+ },
199
+ {
200
+ "internalType": "uint256",
201
+ "name": "reward",
202
+ "type": "uint256"
203
+ },
204
+ {
205
+ "internalType": "uint256",
206
+ "name": "benchmark",
207
+ "type": "uint256"
208
+ },
209
+ {
210
+ "internalType": "uint256",
211
+ "name": "penaltyBenchmark",
212
+ "type": "uint256"
213
+ }
214
+ ],
215
+ "internalType": "struct Epoch",
216
+ "name": "",
217
+ "type": "tuple"
218
+ }
219
+ ],
220
+ "stateMutability": "view",
221
+ "type": "function"
222
+ },
223
+ {
224
+ "inputs": [],
225
+ "name": "getEpochIndex",
226
+ "outputs": [
227
+ {
228
+ "internalType": "uint256",
229
+ "name": "",
230
+ "type": "uint256"
231
+ }
232
+ ],
233
+ "stateMutability": "view",
234
+ "type": "function"
235
+ },
236
+ {
237
+ "inputs": [
238
+ {
239
+ "internalType": "uint256",
240
+ "name": "teeOfferId",
241
+ "type": "uint256"
242
+ }
243
+ ],
244
+ "name": "getInitializedTcbId",
245
+ "outputs": [
246
+ {
247
+ "internalType": "uint256",
248
+ "name": "",
249
+ "type": "uint256"
250
+ }
251
+ ],
252
+ "stateMutability": "view",
253
+ "type": "function"
254
+ },
255
+ {
256
+ "inputs": [],
257
+ "name": "getLastBlockTable",
258
+ "outputs": [
259
+ {
260
+ "internalType": "uint256[]",
261
+ "name": "",
262
+ "type": "uint256[]"
263
+ }
264
+ ],
265
+ "stateMutability": "view",
266
+ "type": "function"
267
+ },
268
+ {
269
+ "inputs": [],
270
+ "name": "getLastBlockTableSize",
271
+ "outputs": [
272
+ {
273
+ "internalType": "uint256",
274
+ "name": "",
275
+ "type": "uint256"
276
+ }
277
+ ],
278
+ "stateMutability": "view",
279
+ "type": "function"
280
+ },
281
+ {
282
+ "inputs": [],
283
+ "name": "getSuspiciousBlockTable",
284
+ "outputs": [
285
+ {
286
+ "internalType": "uint256[]",
287
+ "name": "",
288
+ "type": "uint256[]"
289
+ }
290
+ ],
291
+ "stateMutability": "view",
292
+ "type": "function"
293
+ },
294
+ {
295
+ "inputs": [],
296
+ "name": "getSuspiciousBlockTableSize",
297
+ "outputs": [
298
+ {
299
+ "internalType": "uint256",
300
+ "name": "",
301
+ "type": "uint256"
302
+ }
303
+ ],
304
+ "stateMutability": "view",
305
+ "type": "function"
306
+ },
307
+ {
308
+ "inputs": [
309
+ {
310
+ "internalType": "uint256",
311
+ "name": "tcbId",
312
+ "type": "uint256"
313
+ }
314
+ ],
315
+ "name": "getTcbById",
316
+ "outputs": [
317
+ {
318
+ "components": [
319
+ {
320
+ "internalType": "string",
321
+ "name": "quote",
322
+ "type": "string"
323
+ },
324
+ {
325
+ "internalType": "uint256",
326
+ "name": "timeInitialized",
327
+ "type": "uint256"
328
+ },
329
+ {
330
+ "internalType": "uint256",
331
+ "name": "timeAdded",
332
+ "type": "uint256"
333
+ },
334
+ {
335
+ "components": [
336
+ {
337
+ "internalType": "uint256",
338
+ "name": "teeOfferId",
339
+ "type": "uint256"
340
+ },
341
+ {
342
+ "internalType": "bytes32",
343
+ "name": "deviceID",
344
+ "type": "bytes32"
345
+ },
346
+ {
347
+ "internalType": "uint256",
348
+ "name": "benchmark",
349
+ "type": "uint256"
350
+ },
351
+ {
352
+ "internalType": "string",
353
+ "name": "properties",
354
+ "type": "string"
355
+ }
356
+ ],
357
+ "internalType": "struct TcbPublicData",
358
+ "name": "publicData",
359
+ "type": "tuple"
360
+ },
361
+ {
362
+ "components": [
363
+ {
364
+ "internalType": "uint256[]",
365
+ "name": "checkingBlocks",
366
+ "type": "uint256[]"
367
+ },
368
+ {
369
+ "internalType": "enum TcbVerifiedStatus[]",
370
+ "name": "checkingBlockMarks",
371
+ "type": "uint8[]"
372
+ },
373
+ {
374
+ "internalType": "uint256",
375
+ "name": "lastBlocksTakenAmount",
376
+ "type": "uint256"
377
+ },
378
+ {
379
+ "internalType": "uint256",
380
+ "name": "suspiciousBlocksTakenAmount",
381
+ "type": "uint256"
382
+ },
383
+ {
384
+ "internalType": "bool",
385
+ "name": "lastBlocksTaken",
386
+ "type": "bool"
387
+ },
388
+ {
389
+ "internalType": "bool",
390
+ "name": "suspiciousBlocksTaken",
391
+ "type": "bool"
392
+ },
393
+ {
394
+ "internalType": "bool",
395
+ "name": "rewardClaimed",
396
+ "type": "bool"
397
+ },
398
+ {
399
+ "internalType": "uint16",
400
+ "name": "negative",
401
+ "type": "uint16"
402
+ },
403
+ {
404
+ "internalType": "uint16",
405
+ "name": "positive",
406
+ "type": "uint16"
407
+ },
408
+ {
409
+ "internalType": "uint256",
410
+ "name": "previousTcb",
411
+ "type": "uint256"
412
+ },
413
+ {
414
+ "internalType": "bool",
415
+ "name": "checked",
416
+ "type": "bool"
417
+ }
418
+ ],
419
+ "internalType": "struct TcbUtilityData",
420
+ "name": "utilData",
421
+ "type": "tuple"
422
+ },
423
+ {
424
+ "internalType": "enum TcbStatus",
425
+ "name": "status",
426
+ "type": "uint8"
427
+ },
428
+ {
429
+ "components": [
430
+ {
431
+ "internalType": "uint256",
432
+ "name": "index",
433
+ "type": "uint256"
434
+ },
435
+ {
436
+ "internalType": "bool",
437
+ "name": "valid",
438
+ "type": "bool"
439
+ }
440
+ ],
441
+ "internalType": "struct TcbEpochInfo",
442
+ "name": "epoch",
443
+ "type": "tuple"
444
+ }
445
+ ],
446
+ "internalType": "struct Tcb",
447
+ "name": "",
448
+ "type": "tuple"
449
+ }
450
+ ],
451
+ "stateMutability": "view",
452
+ "type": "function"
453
+ },
454
+ {
455
+ "inputs": [
456
+ {
457
+ "internalType": "uint256",
458
+ "name": "tcbId",
459
+ "type": "uint256"
460
+ }
461
+ ],
462
+ "name": "getTcbReward",
463
+ "outputs": [
464
+ {
465
+ "internalType": "uint256",
466
+ "name": "",
467
+ "type": "uint256"
468
+ }
469
+ ],
470
+ "stateMutability": "view",
471
+ "type": "function"
472
+ },
473
+ {
474
+ "inputs": [
475
+ {
476
+ "internalType": "uint256",
477
+ "name": "teeOfferId",
478
+ "type": "uint256"
479
+ }
480
+ ],
481
+ "name": "initializeTcb",
482
+ "outputs": [],
483
+ "stateMutability": "nonpayable",
484
+ "type": "function"
485
+ },
486
+ {
487
+ "inputs": [
488
+ {
489
+ "internalType": "uint256",
490
+ "name": "offerId",
491
+ "type": "uint256"
492
+ }
493
+ ],
494
+ "name": "isBenchmarkChangedByLastbBlock",
495
+ "outputs": [
496
+ {
497
+ "internalType": "bool",
498
+ "name": "",
499
+ "type": "bool"
500
+ }
501
+ ],
502
+ "stateMutability": "view",
503
+ "type": "function"
504
+ },
505
+ {
506
+ "inputs": [
507
+ {
508
+ "internalType": "uint256",
509
+ "name": "offerId",
510
+ "type": "uint256"
511
+ }
512
+ ],
513
+ "name": "isTeeOfferVerifying",
514
+ "outputs": [
515
+ {
516
+ "internalType": "bool",
517
+ "name": "",
518
+ "type": "bool"
519
+ }
520
+ ],
521
+ "stateMutability": "view",
522
+ "type": "function"
523
+ },
524
+ {
525
+ "inputs": [
526
+ {
527
+ "internalType": "uint256",
528
+ "name": "tcbId",
529
+ "type": "uint256"
530
+ },
531
+ {
532
+ "internalType": "uint256",
533
+ "name": "benchmark",
534
+ "type": "uint256"
535
+ },
536
+ {
537
+ "internalType": "string",
538
+ "name": "properties",
539
+ "type": "string"
540
+ },
541
+ {
542
+ "internalType": "bytes32",
543
+ "name": "deviceID",
544
+ "type": "bytes32"
545
+ },
546
+ {
547
+ "internalType": "string",
548
+ "name": "quote",
549
+ "type": "string"
550
+ }
551
+ ],
552
+ "name": "setTcbData",
553
+ "outputs": [],
554
+ "stateMutability": "nonpayable",
555
+ "type": "function"
556
+ },
557
+ {
558
+ "inputs": [
559
+ {
560
+ "internalType": "uint256",
561
+ "name": "tcbId",
562
+ "type": "uint256"
563
+ },
564
+ {
565
+ "internalType": "enum TcbStatus",
566
+ "name": "status",
567
+ "type": "uint8"
568
+ }
569
+ ],
570
+ "name": "setTcbStatus",
571
+ "outputs": [],
572
+ "stateMutability": "nonpayable",
573
+ "type": "function"
574
+ }
575
+ ],
576
+ "bytecode": "0x608060405234801561001057600080fd5b50613866806100206000396000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c806398655e32116100cd578063c59dbf0011610081578063d22019ef11610066578063d22019ef14610396578063e11665f2146103a9578063ffe7f643146103c957600080fd5b8063c59dbf0014610344578063c9d9bbae1461038357600080fd5b8063ae0e0b5d116100b2578063ae0e0b5d1461029d578063b11d1099146102b0578063bc0bc6ba146102ef57600080fd5b806398655e3214610263578063ad054ce11461028a57600080fd5b8063454f791f1161012457806367379f471161010957806367379f47146102165780637d115d68146102295780638fd2cfda1461023c57600080fd5b8063454f791f146101fb57806350b4b0f71461020357600080fd5b8063379ccd3311610155578063379ccd33146101a45780633d8e40e2146101c55780634312870c146101e857600080fd5b80630962ef791461017157806332df680214610186575b600080fd5b61018461017f3660046130e2565b6103f0565b005b61018e610684565b60405161019b91906130fb565b60405180910390f35b6101b76101b23660046130e2565b6106ed565b60405190815260200161019b565b6101d86101d33660046130e2565b6107d8565b604051901515815260200161019b565b6101846101f63660046131f6565b610872565b61018e6109d0565b6101d86102113660046130e2565b610a37565b610184610224366004613287565b610e0b565b6101846102373660046130e2565b610ea0565b7f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b8546101b7565b7f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638ba546101b7565b6101846102983660046130e2565b61103d565b6101846102ab3660046132b7565b6116aa565b6101b76102be3660046130e2565b60009081527f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b3602052604090205490565b6103026102fd3660046130e2565b61185e565b60405161019b9190600060a082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015292915050565b6101b76103523660046130e2565b60009081527f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b2602052604090205490565b6101846103913660046130e2565b611927565b6101846103a43660046130e2565b611b21565b6103bc6103b73660046130e2565b611fd3565b60405161019b9190613539565b7f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b6546101b7565b600081815260008051602061381183398151915260205260408120600f8101547f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b6805492936000805160206137f183398151915293909290811061045657610456613607565b9060005260206000209060050201600101549050428111156104bf5760405162461bcd60e51b815260206004820152601b60248201527f54434227732045706f6368206973206e6f74206f76657220796574000000000060448201526064015b60405180910390fd5b60006104ca856106ed565b600b85015490915062010000900460ff16156105285760405162461bcd60e51b815260206004820152601760248201527f5265776172647320616c726561647920636c61696d656400000000000000000060448201526064016104b6565b610530612348565b6040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152602481018390526001600160a01b0391909116906340c10f1990604401600060405180830381600087803b15801561059357600080fd5b505af11580156105a7573d6000803e3d6000fd5b505050506105b23090565b60038501546040517f7c9db37c000000000000000000000000000000000000000000000000000000008152600481019190915260248101879052604481018390526001600160a01b039190911690637c9db37c90606401600060405180830381600087803b15801561062357600080fd5b505af1158015610637573d6000803e3d6000fd5b505050600b8501805462ff0000191662010000179055506040513390829087907fbf71c15aef59492aa624256cf2d1ce65ab6f22affd4de21d0c26468ee204054290600090a45050505050565b606060006000805160206137f1833981519152600781018054604080516020808402820181019092528281529394508301828280156106e257602002820191906000526020600020905b8154815260200190600101908083116106ce575b505050505091505090565b60008181526000805160206138118339815191526020526040812060108101546000805160206137f18339815191529060ff1615806107325750610730846123c0565b155b15610741575060009392505050565b60008160050183600f01600001548154811061075f5761075f613607565b9060005260206000209060050201905080600301546000141561078757506000949350505050565b600f830154600090815260048301602052604081205460028301546107ac9190613633565b60038301546005860154919250906107c4908361364b565b6107ce9190613680565b9695505050505050565b60008181527f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b360205260408120546000805160206137f183398151915290826108398260009081526000805160206138118339815191526020526040902090565b90506003600e82015460ff166003811115610856576108566133f7565b148015610869575061086782612776565b155b95945050505050565b600085815260008051602061381183398151915260205260409020600381015486919061089e90612b49565b6000878152600080516020613811833981519152602052604081208891506001600e82015460ff1660038111156108d7576108d76133f7565b14156109255760405162461bcd60e51b815260206004820181905260248201527f436f6e73656e7375733a2054434220616c726561647920636f6d706c6574656460448201526064016104b6565b6000898152600080516020613811833981519152602052604090208661098d5760405162461bcd60e51b815260206004820152600f60248201527f456d70747920646576696365204944000000000000000000000000000000000060448201526064016104b6565b6005810189905587516109a990600683019060208b0190612f59565b506004810187905585516109c39082906020890190612f59565b5050505050505050505050565b606060006000805160206137f1833981519152600981018054604080516020808402820181019092528281529394508301828280156106e257602002820191906000526020600020908154815260200190600101908083116106ce57505050505091505090565b60008181527f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b360205260408120546000805160206137f18339815191529082610a988260009081526000805160206138118339815191526020526040902090565b6040518060e0016040529081600082018054610ab390613694565b80601f0160208091040260200160405190810160405280929190818152602001828054610adf90613694565b8015610b2c5780601f10610b0157610100808354040283529160200191610b2c565b820191906000526020600020905b815481529060010190602001808311610b0f57829003601f168201915b50505050508152602001600182015481526020016002820154815260200160038201604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382018054610b8790613694565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb390613694565b8015610c005780601f10610bd557610100808354040283529160200191610c00565b820191906000526020600020905b815481529060010190602001808311610be357829003601f168201915b5050505050815250508152602001600782016040518061016001604052908160008201805480602002602001604051908101604052809291908181526020018280548015610c6d57602002820191906000526020600020905b815481526020019060010190808311610c59575b5050505050815260200160018201805480602002602001604051908101604052809291908181526020018280548015610cf557602002820191906000526020600020906000905b82829054906101000a900460ff166003811115610cd357610cd36133f7565b815260206001928301818104948501949093039092029101808411610cb45790505b505050918352505060028201546020808301919091526003808401546040840152600484015460ff808216151560608601526101008083048216151560808701526201000083048216151560a087015261ffff63010000008404811660c08801526501000000000090930490921660e08601526005860154918501919091526006909401548416151561012090930192909252928452600e85015493909201921690811115610da657610da66133f7565b6003811115610db757610db76133f7565b815260408051808201909152600f830154815260109092015460ff1615156020838101919091520152905060038160a001516003811115610dfa57610dfa6133f7565b1480156108695750610867856107d8565b333014610e5a5760405162461bcd60e51b815260206004820152601660248201527f45787465726e616c206163636573732064656e6965640000000000000000000060448201526064016104b6565b600082815260008051602061381183398151915260205260409020600e8101805483919060ff19166001836003811115610e9657610e966133f7565b0217905550505050565b6000818152600080516020613811833981519152602052604090206003810154829190610ecc90612b49565b6000838152600080516020613811833981519152602052604081208491506001600e82015460ff166003811115610f0557610f056133f7565b1415610f535760405162461bcd60e51b815260206004820181905260248201527f436f6e73656e7375733a2054434220616c726561647920636f6d706c6574656460448201526064016104b6565b6000858152600080516020613811833981519152602052604081207f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b85490916000805160206137f183398151915291600210159081610fc057610fbb6006840160028b612ced565b611011565b6007830180546040805160208084028201810190925282815292919083018282801561100b57602002820191906000526020600020905b815481526020019060010190808311610ff7575b50505050505b90506110206007850182612e59565b5160098401555050600b01805460ff191660011790555050505050565b600081815260008051602061381183398151915260205260409020600381015482919061106990612b49565b60008381526000805160206138118339815191526020526040812060038101546040517f2e50d42c000000000000000000000000000000000000000000000000000000008152600481018290529192506000805160206137f1833981519152916000903090632e50d42c9060240160206040518083038186803b1580156110ef57600080fd5b505afa158015611103573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112791906136cf565b6005850154909150600090606461113f600a826136e8565b61114c9060ff168561364b565b6111569190613680565b60078601549111915015600082801561116d575081155b90506001600e88015460ff16600381111561118a5761118a6133f7565b14156111d85760405162461bcd60e51b815260206004820152601160248201527f416c726561647920636f6d706c6574656400000000000000000000000000000060448201526064016104b6565b600187015442906111ed906201518090613633565b1161125f5760405162461bcd60e51b8152602060048201526024808201527f5443422063616e20626520636f6d706c657465642077697468696e203234206860448201527f6f7572730000000000000000000000000000000000000000000000000000000060648201526084016104b6565b8061136857600b87015460ff166112b85760405162461bcd60e51b815260206004820152601760248201527f4e65656420746f20616464206c61737420626c6f636b7300000000000000000060448201526064016104b6565b600b870154610100900460ff166113115760405162461bcd60e51b815260206004820152601c60248201527f4e65656420746f206164642073757370656374656420626c6f636b730000000060448201526064016104b6565b60088701546007880154146113685760405162461bcd60e51b815260206004820152601160248201527f4e65656420746f20616464206d61726b7300000000000000000000000000000060448201526064016104b6565b80611374576001611377565b60035b600e8801805460ff19166001836003811115611395576113956133f7565b0217905550426002880155306004808901546040517fbcbe027200000000000000000000000000000000000000000000000000000000815291820188905260248201526001600160a01b03919091169063bcbe027290604401600060405180830381600087803b15801561140857600080fd5b505af115801561141c573d6000803e3d6000fd5b505050506114273090565b6001600160a01b031663ea7940f58b6040518263ffffffff1660e01b815260040161145491815260200190565b600060405180830381600087803b15801561146e57600080fd5b505af1158015611482573d6000803e3d6000fd5b5050505061148d3090565b6001600160a01b031663b7f1ab7d8b6040518263ffffffff1660e01b81526004016114ba91815260200190565b600060405180830381600087803b1580156114d457600080fd5b505af11580156114e8573d6000803e3d6000fd5b50505050811561155d57306005880154604051634feeb8a360e01b81526004810188905260248101919091526001600160a01b039190911690634feeb8a390604401600060405180830381600087803b15801561154457600080fd5b505af1158015611558573d6000803e3d6000fd5b505050505b8015611606576040517fb6839fb5000000000000000000000000000000000000000000000000000000008152600481018b9052309063b6839fb590602401600060405180830381600087803b1580156115b557600080fd5b505af11580156115c9573d6000803e3d6000fd5b50506040513392508c91507f6cb55d06b555e5cb02471b7ff2c9e490351da76bbc39319d1f6cd2fad233674390600090a350505050505050505050565b6040517fc9a57625000000000000000000000000000000000000000000000000000000008152600481018b9052309063c9a5762590602401600060405180830381600087803b15801561165857600080fd5b505af115801561166c573d6000803e3d6000fd5b50506040513392508c91507f15e19d44b8c736ffedbec52720107f3d481c7a2fb4ae75af8790dbedc930e51b90600090a3505050505050505b505050565b60008181526000805160206138118339815191526020526040902060038101548291906116d690612b49565b6000838152600080516020613811833981519152602052604081208491506001600e82015460ff16600381111561170f5761170f6133f7565b141561175d5760405162461bcd60e51b815260206004820181905260248201527f436f6e73656e7375733a2054434220616c726561647920636f6d706c6574656460448201526064016104b6565b60008581526000805160206138118339815191526020526040902086516007820154146117cc5760405162461bcd60e51b815260206004820152601260248201527f496e76616c6964206d61726b732073697a65000000000000000000000000000060448201526064016104b6565b60005b875181101561185457816007016001018882815181106117f1576117f1613607565b602090810291909101810151825460018101845560009384529282902091830490910180549192909160ff601f9092166101000a91820219169083600381111561183d5761183d6133f7565b02179055508061184c8161370d565b9150506117cf565b5050505050505050565b6118906040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b7f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b680546000805160206137f18339815191529190849081106118d4576118d4613607565b90600052602060002090600502016040518060a001604052908160008201548152602001600182015481526020016002820154815260200160038201548152602001600482015481525050915050919050565b600081815260008051602061381183398151915260205260409020600381015482919061195390612b49565b6000838152600080516020613811833981519152602052604081208491506001600e82015460ff16600381111561198c5761198c6133f7565b14156119da5760405162461bcd60e51b815260206004820181905260248201527f436f6e73656e7375733a2054434220616c726561647920636f6d706c6574656460448201526064016104b6565b600085815260008051602061381183398151915260205260409020600b8101546000805160206137f18339815191529060ff16611a7f5760405162461bcd60e51b815260206004820152602360248201527f41737369676e206f6e6c79206166746572206c61737420626c6f636b7320746160448201527f6b656e000000000000000000000000000000000000000000000000000000000060648201526084016104b6565b6009810154602811600081611aa257611a9d6008840160288b612ced565b611af3565b60098301805460408051602080840282018101909252828152929190830182828015611aed57602002820191906000526020600020905b815481526020019060010190808311611ad9575b50505050505b9050611b026007850182612e59565b51600a8401555050600b01805461ff0019166101001790555050505050565b60008181527f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b360209081526040808320547f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b29092528220546000805160206137f183398151915292611bab8260009081526000805160206138118339815191526020526040902090565b600084815260008051602061381183398151915260205260409020909150611bd286612b49565b6040517fb8c4e81700000000000000000000000000000000000000000000000000000000815260048101879052601390309063b8c4e8179060240160206040518083038186803b158015611c2557600080fd5b505afa158015611c39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5d9190613728565b60ff1610611cd35760405162461bcd60e51b815260206004820152602960248201527f436f6e73656e7375733a2054727920696e69742054434220666f7220626c6f6360448201527f6b6564206f66666572000000000000000000000000000000000000000000000060648201526084016104b6565b821580611cf2575060018201544290611cf0906201518090613633565b105b611d645760405162461bcd60e51b815260206004820152603660248201527f54434220686173206265656e20616c726561647920696e697469616c697a656460448201527f20666f72207468652063757272656e742065706f63680000000000000000000060648201526084016104b6565b831580611d83575060028101544290611d81906201518090613633565b105b611df55760405162461bcd60e51b815260206004820152603360248201527f54434220686173206265656e20616c72656164792070726f766964656420666f60448201527f72207468652063757272656e742065706f63680000000000000000000000000060648201526084016104b6565b831580611e085750611e06866107d8565b155b611e7a5760405162461bcd60e51b815260206004820152602760248201527f5443422062656e63686d61726b20686173206e6f74206265656e20766572696660448201527f696564207965740000000000000000000000000000000000000000000000000060648201526084016104b6565b6003600e82015460ff166003811115611e9557611e956133f7565b1415611f4257600e8101805460ff19166001179055306005820154604051634feeb8a360e01b81526004810189905260248101919091526001600160a01b039190911690634feeb8a390604401600060405180830381600087803b158015611efc57600080fd5b505af1158015611f10573d6000803e3d6000fd5b50506040513392508691507f15e19d44b8c736ffedbec52720107f3d481c7a2fb4ae75af8790dbedc930e51b90600090a35b6000611f4c612ed4565b600081815260008051602061381183398151915260209081526040808320600381018c9055600c81018a905542600180830191909155600e8201805460ff191690558c85528b019092528083208490555192935091339184917fe7f2c99f74a3f451bf997da235986194ebd7b38a376dca15870ec3fd883251769190a35050505050505050565b611fdb612fdd565b6000828152600080516020613811833981519152602052604081209050806040518060e001604052908160008201805461201490613694565b80601f016020809104026020016040519081016040528092919081815260200182805461204090613694565b801561208d5780601f106120625761010080835404028352916020019161208d565b820191906000526020600020905b81548152906001019060200180831161207057829003601f168201915b505050505081526020016001820154815260200160028201548152602001600382016040518060800160405290816000820154815260200160018201548152602001600282015481526020016003820180546120e890613694565b80601f016020809104026020016040519081016040528092919081815260200182805461211490613694565b80156121615780601f1061213657610100808354040283529160200191612161565b820191906000526020600020905b81548152906001019060200180831161214457829003601f168201915b50505050508152505081526020016007820160405180610160016040529081600082018054806020026020016040519081016040528092919081815260200182805480156121ce57602002820191906000526020600020905b8154815260200190600101908083116121ba575b505050505081526020016001820180548060200260200160405190810160405280929190818152602001828054801561225657602002820191906000526020600020906000905b82829054906101000a900460ff166003811115612234576122346133f7565b8152602060019283018181049485019490930390920291018084116122155790505b505050918352505060028201546020808301919091526003808401546040840152600484015460ff808216151560608601526101008083048216151560808701526201000083048216151560a087015261ffff63010000008404811660c08801526501000000000090930490921660e08601526005860154918501919091526006909401548416151561012090930192909252928452600e85015493909201921690811115612307576123076133f7565b6003811115612318576123186133f7565b815260408051808201909152600f830154815260109092015460ff16151560208381019190915201529392505050565b6000306001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b15801561238357600080fd5b505afa158015612397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123bb9190613760565b905090565b60008181526000805160206138118339815191526020526040812081906040518060e00160405290816000820180546123f890613694565b80601f016020809104026020016040519081016040528092919081815260200182805461242490613694565b80156124715780601f1061244657610100808354040283529160200191612471565b820191906000526020600020905b81548152906001019060200180831161245457829003601f168201915b505050505081526020016001820154815260200160028201548152602001600382016040518060800160405290816000820154815260200160018201548152602001600282015481526020016003820180546124cc90613694565b80601f01602080910402602001604051908101604052809291908181526020018280546124f890613694565b80156125455780601f1061251a57610100808354040283529160200191612545565b820191906000526020600020905b81548152906001019060200180831161252857829003601f168201915b50505050508152505081526020016007820160405180610160016040529081600082018054806020026020016040519081016040528092919081815260200182805480156125b257602002820191906000526020600020905b81548152602001906001019080831161259e575b505050505081526020016001820180548060200260200160405190810160405280929190818152602001828054801561263a57602002820191906000526020600020906000905b82829054906101000a900460ff166003811115612618576126186133f7565b8152602060019283018181049485019490930390920291018084116125f95790505b505050918352505060028201546020808301919091526003808401546040840152600484015460ff808216151560608601526101008083048216151560808701526201000083048216151560a087015261ffff63010000008404811660c08801526501000000000090930490921660e08601526005860154918501919091526006909401548416151561012090930192909252928452600e850154939092019216908111156126eb576126eb6133f7565b60038111156126fc576126fc6133f7565b815260408051808201909152600f830154815260109092015460ff1615156020838101919091520152905060018160a00151600381111561273f5761273f6133f7565b148061276f575060038160a00151600381111561275e5761275e6133f7565b14801561276f575061276f83612776565b9392505050565b6000818152600080516020613811833981519152602052604081206000805160206137f18339815191529082906040518060e00160405290816000820180546127be90613694565b80601f01602080910402602001604051908101604052809291908181526020018280546127ea90613694565b80156128375780601f1061280c57610100808354040283529160200191612837565b820191906000526020600020905b81548152906001019060200180831161281a57829003601f168201915b5050505050815260200160018201548152602001600282015481526020016003820160405180608001604052908160008201548152602001600182015481526020016002820154815260200160038201805461289290613694565b80601f01602080910402602001604051908101604052809291908181526020018280546128be90613694565b801561290b5780601f106128e05761010080835404028352916020019161290b565b820191906000526020600020905b8154815290600101906020018083116128ee57829003601f168201915b505050505081525050815260200160078201604051806101600160405290816000820180548060200260200160405190810160405280929190818152602001828054801561297857602002820191906000526020600020905b815481526020019060010190808311612964575b5050505050815260200160018201805480602002602001604051908101604052809291908181526020018280548015612a0057602002820191906000526020600020906000905b82829054906101000a900460ff1660038111156129de576129de6133f7565b8152602060019283018181049485019490930390920291018084116129bf5790505b505050918352505060028201546020808301919091526003808401546040840152600484015460ff808216151560608601526101008083048216151560808701526201000083048216151560a087015261ffff63010000008404811660c08801526501000000000090930490921660e08601526005860154918501919091526006909401548416151561012090930192909252928452600e85015493909201921690811115612ab157612ab16133f7565b6003811115612ac257612ac26133f7565b815260408051808201909152600f830154815260109092015460ff161515602083810191909152015290506000612afc6008840186612f01565b60808301516101400151600585015460c08501515192159350909160009190612b26906001613633565b10905060008380612b3d5750818015612b3d575082155b98975050505050505050565b6040517f4e6e04f7000000000000000000000000000000000000000000000000000000008152600481018290526000903090634e6e04f79060240160206040518083038186803b158015612b9c57600080fd5b505afa158015612bb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bd49190613760565b90506000306040517f0e3bbace0000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301529190911690630e3bbace9060240160206040518083038186803b158015612c3557600080fd5b505afa158015612c49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c6d9190613760565b90506001600160a01b03811633146116a55760405162461bcd60e51b815260206004820152602b60248201527f436f6e73656e7375733a20417661696c61626c65206f6e6c7920666f7220616360448201527f74696f6e4163636f756e7400000000000000000000000000000000000000000060648201526084016104b6565b606060005a905060008080612d0360014361377d565b6040805191406020830152810187905233606090811b6bffffffffffffffffffffffff1916908201524260748201526094016040516020818303038152906040528051906020012060001c905060008767ffffffffffffffff811115612d6b57612d6b61313f565b604051908082528060200260200182016040528015612d94578160200160208202803683370190505b5090505b878461ffff1614158015612db957506233e1405a612db6908761377d565b11155b15612b3d57600189015482612dcd8161370d565b9350604051602001612de191815260200190565b6040516020818303038152906040528051906020012060001c612e049190613794565b9250886001018381548110612e1b57612e1b613607565b9060005260206000200154818561ffff1681518110612e3c57612e3c613607565b6020908102919091010152612e526001856137a8565b9350612d98565b60005a905060005b82518161ffff1614158015612e8357506233e1405a612e80908461377d565b11155b15612ece5783838261ffff1681518110612e9f57612e9f613607565b60209081029190910181015182546001810184556000938452919092200155612ec7816137ce565b9050612e61565b50505050565b6000805160206137f183398151915280546000919081908390612ef69061370d565b918290555092915050565b6001820154600090612f1557506000612f53565b600082815260208490526040902054151580612f5057508183600101600081548110612f4357612f43613607565b9060005260206000200154145b90505b92915050565b828054612f6590613694565b90600052602060002090601f016020900481019282612f875760008555612fcd565b82601f10612fa057805160ff1916838001178555612fcd565b82800160010185558215612fcd579182015b82811115612fcd578251825591602001919060010190612fb2565b50612fd99291506130cd565b5090565b6040518060e0016040528060608152602001600081526020016000815260200161302b6040518060800160405280600081526020016000801916815260200160008152602001606081525090565b815260200161309d60405180610160016040528060608152602001606081526020016000815260200160008152602001600015158152602001600015158152602001600015158152602001600061ffff168152602001600061ffff168152602001600081526020016000151581525090565b8152602001600081526020016130c86040518060400160405280600081526020016000151581525090565b905290565b5b80821115612fd957600081556001016130ce565b6000602082840312156130f457600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561313357835183529284019291840191600101613117565b50909695505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561317e5761317e61313f565b604052919050565b600082601f83011261319757600080fd5b813567ffffffffffffffff8111156131b1576131b161313f565b6131c4601f8201601f1916602001613155565b8181528460208386010111156131d957600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561320e57600080fd5b8535945060208601359350604086013567ffffffffffffffff8082111561323457600080fd5b61324089838a01613186565b945060608801359350608088013591508082111561325d57600080fd5b5061326a88828901613186565b9150509295509295909350565b6004811061328457600080fd5b50565b6000806040838503121561329a57600080fd5b8235915060208301356132ac81613277565b809150509250929050565b600080604083850312156132ca57600080fd5b823567ffffffffffffffff808211156132e257600080fd5b818501915085601f8301126132f657600080fd5b813560208282111561330a5761330a61313f565b8160051b925061331b818401613155565b828152928401810192818101908985111561333557600080fd5b948201945b8486101561335f578535935061334f84613277565b838252948201949082019061333a565b9997909101359750505050505050565b6000815180845260005b8181101561339557602081850181015186830182015201613379565b818111156133a7576000602083870101525b50601f01601f19169290920160200192915050565b600081518084526020808501945080840160005b838110156133ec578151875295820195908201906001016133d0565b509495945050505050565b634e487b7160e01b600052602160045260246000fd5b6004811061328457634e487b7160e01b600052602160045260246000fd5b600081518084526020808501945080840160005b838110156133ec5781516134528161340d565b8752958201959082019060010161343f565b6000610160825181855261347a828601826133bc565b91505060208301518482036020860152613494828261342b565b915050604083015160408501526060830151606085015260808301516134be608086018215159052565b5060a08301516134d260a086018215159052565b5060c08301516134e660c086018215159052565b5060e08301516134fc60e086018261ffff169052565b506101008381015161ffff1690850152610120808401519085015261014092830151151592909301919091525090565b6135358161340d565b9052565b6020815260008251610100602084015261355761012084018261336f565b905060208401516040840152604084015160608401526060840151601f198085840301608086015281518352602082015160208401526040820151604084015260608201519150608060608401526135b2608084018361336f565b925060808601519150808584030160a0860152506135d08282613464565b91505060a08401516135e560c085018261352c565b5060c0840151805160e085015260208101511515610100850152509392505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082198211156136465761364661361d565b500190565b60008160001904831182151516156136655761366561361d565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261368f5761368f61366a565b500490565b600181811c908216806136a857607f821691505b602082108114156136c957634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156136e157600080fd5b5051919050565b600060ff821660ff84168060ff038211156137055761370561361d565b019392505050565b60006000198214156137215761372161361d565b5060010190565b60006020828403121561373a57600080fd5b815160ff8116811461276f57600080fd5b6001600160a01b038116811461328457600080fd5b60006020828403121561377257600080fd5b815161276f8161374b565b60008282101561378f5761378f61361d565b500390565b6000826137a3576137a361366a565b500690565b600061ffff8083168185168083038211156137c5576137c561361d565b01949350505050565b600061ffff808316818114156137e6576137e661361d565b600101939250505056fe0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b10a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b4a2646970667358221220b635da6c4a4938fa1e235a890c9d8c727b652e1549fca8f88a4255e44a4a0f3864736f6c63430008090033",
577
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061016c5760003560e01c806398655e32116100cd578063c59dbf0011610081578063d22019ef11610066578063d22019ef14610396578063e11665f2146103a9578063ffe7f643146103c957600080fd5b8063c59dbf0014610344578063c9d9bbae1461038357600080fd5b8063ae0e0b5d116100b2578063ae0e0b5d1461029d578063b11d1099146102b0578063bc0bc6ba146102ef57600080fd5b806398655e3214610263578063ad054ce11461028a57600080fd5b8063454f791f1161012457806367379f471161010957806367379f47146102165780637d115d68146102295780638fd2cfda1461023c57600080fd5b8063454f791f146101fb57806350b4b0f71461020357600080fd5b8063379ccd3311610155578063379ccd33146101a45780633d8e40e2146101c55780634312870c146101e857600080fd5b80630962ef791461017157806332df680214610186575b600080fd5b61018461017f3660046130e2565b6103f0565b005b61018e610684565b60405161019b91906130fb565b60405180910390f35b6101b76101b23660046130e2565b6106ed565b60405190815260200161019b565b6101d86101d33660046130e2565b6107d8565b604051901515815260200161019b565b6101846101f63660046131f6565b610872565b61018e6109d0565b6101d86102113660046130e2565b610a37565b610184610224366004613287565b610e0b565b6101846102373660046130e2565b610ea0565b7f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b8546101b7565b7f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638ba546101b7565b6101846102983660046130e2565b61103d565b6101846102ab3660046132b7565b6116aa565b6101b76102be3660046130e2565b60009081527f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b3602052604090205490565b6103026102fd3660046130e2565b61185e565b60405161019b9190600060a082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015292915050565b6101b76103523660046130e2565b60009081527f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b2602052604090205490565b6101846103913660046130e2565b611927565b6101846103a43660046130e2565b611b21565b6103bc6103b73660046130e2565b611fd3565b60405161019b9190613539565b7f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b6546101b7565b600081815260008051602061381183398151915260205260408120600f8101547f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b6805492936000805160206137f183398151915293909290811061045657610456613607565b9060005260206000209060050201600101549050428111156104bf5760405162461bcd60e51b815260206004820152601b60248201527f54434227732045706f6368206973206e6f74206f76657220796574000000000060448201526064015b60405180910390fd5b60006104ca856106ed565b600b85015490915062010000900460ff16156105285760405162461bcd60e51b815260206004820152601760248201527f5265776172647320616c726561647920636c61696d656400000000000000000060448201526064016104b6565b610530612348565b6040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152602481018390526001600160a01b0391909116906340c10f1990604401600060405180830381600087803b15801561059357600080fd5b505af11580156105a7573d6000803e3d6000fd5b505050506105b23090565b60038501546040517f7c9db37c000000000000000000000000000000000000000000000000000000008152600481019190915260248101879052604481018390526001600160a01b039190911690637c9db37c90606401600060405180830381600087803b15801561062357600080fd5b505af1158015610637573d6000803e3d6000fd5b505050600b8501805462ff0000191662010000179055506040513390829087907fbf71c15aef59492aa624256cf2d1ce65ab6f22affd4de21d0c26468ee204054290600090a45050505050565b606060006000805160206137f1833981519152600781018054604080516020808402820181019092528281529394508301828280156106e257602002820191906000526020600020905b8154815260200190600101908083116106ce575b505050505091505090565b60008181526000805160206138118339815191526020526040812060108101546000805160206137f18339815191529060ff1615806107325750610730846123c0565b155b15610741575060009392505050565b60008160050183600f01600001548154811061075f5761075f613607565b9060005260206000209060050201905080600301546000141561078757506000949350505050565b600f830154600090815260048301602052604081205460028301546107ac9190613633565b60038301546005860154919250906107c4908361364b565b6107ce9190613680565b9695505050505050565b60008181527f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b360205260408120546000805160206137f183398151915290826108398260009081526000805160206138118339815191526020526040902090565b90506003600e82015460ff166003811115610856576108566133f7565b148015610869575061086782612776565b155b95945050505050565b600085815260008051602061381183398151915260205260409020600381015486919061089e90612b49565b6000878152600080516020613811833981519152602052604081208891506001600e82015460ff1660038111156108d7576108d76133f7565b14156109255760405162461bcd60e51b815260206004820181905260248201527f436f6e73656e7375733a2054434220616c726561647920636f6d706c6574656460448201526064016104b6565b6000898152600080516020613811833981519152602052604090208661098d5760405162461bcd60e51b815260206004820152600f60248201527f456d70747920646576696365204944000000000000000000000000000000000060448201526064016104b6565b6005810189905587516109a990600683019060208b0190612f59565b506004810187905585516109c39082906020890190612f59565b5050505050505050505050565b606060006000805160206137f1833981519152600981018054604080516020808402820181019092528281529394508301828280156106e257602002820191906000526020600020908154815260200190600101908083116106ce57505050505091505090565b60008181527f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b360205260408120546000805160206137f18339815191529082610a988260009081526000805160206138118339815191526020526040902090565b6040518060e0016040529081600082018054610ab390613694565b80601f0160208091040260200160405190810160405280929190818152602001828054610adf90613694565b8015610b2c5780601f10610b0157610100808354040283529160200191610b2c565b820191906000526020600020905b815481529060010190602001808311610b0f57829003601f168201915b50505050508152602001600182015481526020016002820154815260200160038201604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382018054610b8790613694565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb390613694565b8015610c005780601f10610bd557610100808354040283529160200191610c00565b820191906000526020600020905b815481529060010190602001808311610be357829003601f168201915b5050505050815250508152602001600782016040518061016001604052908160008201805480602002602001604051908101604052809291908181526020018280548015610c6d57602002820191906000526020600020905b815481526020019060010190808311610c59575b5050505050815260200160018201805480602002602001604051908101604052809291908181526020018280548015610cf557602002820191906000526020600020906000905b82829054906101000a900460ff166003811115610cd357610cd36133f7565b815260206001928301818104948501949093039092029101808411610cb45790505b505050918352505060028201546020808301919091526003808401546040840152600484015460ff808216151560608601526101008083048216151560808701526201000083048216151560a087015261ffff63010000008404811660c08801526501000000000090930490921660e08601526005860154918501919091526006909401548416151561012090930192909252928452600e85015493909201921690811115610da657610da66133f7565b6003811115610db757610db76133f7565b815260408051808201909152600f830154815260109092015460ff1615156020838101919091520152905060038160a001516003811115610dfa57610dfa6133f7565b1480156108695750610867856107d8565b333014610e5a5760405162461bcd60e51b815260206004820152601660248201527f45787465726e616c206163636573732064656e6965640000000000000000000060448201526064016104b6565b600082815260008051602061381183398151915260205260409020600e8101805483919060ff19166001836003811115610e9657610e966133f7565b0217905550505050565b6000818152600080516020613811833981519152602052604090206003810154829190610ecc90612b49565b6000838152600080516020613811833981519152602052604081208491506001600e82015460ff166003811115610f0557610f056133f7565b1415610f535760405162461bcd60e51b815260206004820181905260248201527f436f6e73656e7375733a2054434220616c726561647920636f6d706c6574656460448201526064016104b6565b6000858152600080516020613811833981519152602052604081207f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b85490916000805160206137f183398151915291600210159081610fc057610fbb6006840160028b612ced565b611011565b6007830180546040805160208084028201810190925282815292919083018282801561100b57602002820191906000526020600020905b815481526020019060010190808311610ff7575b50505050505b90506110206007850182612e59565b5160098401555050600b01805460ff191660011790555050505050565b600081815260008051602061381183398151915260205260409020600381015482919061106990612b49565b60008381526000805160206138118339815191526020526040812060038101546040517f2e50d42c000000000000000000000000000000000000000000000000000000008152600481018290529192506000805160206137f1833981519152916000903090632e50d42c9060240160206040518083038186803b1580156110ef57600080fd5b505afa158015611103573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112791906136cf565b6005850154909150600090606461113f600a826136e8565b61114c9060ff168561364b565b6111569190613680565b60078601549111915015600082801561116d575081155b90506001600e88015460ff16600381111561118a5761118a6133f7565b14156111d85760405162461bcd60e51b815260206004820152601160248201527f416c726561647920636f6d706c6574656400000000000000000000000000000060448201526064016104b6565b600187015442906111ed906201518090613633565b1161125f5760405162461bcd60e51b8152602060048201526024808201527f5443422063616e20626520636f6d706c657465642077697468696e203234206860448201527f6f7572730000000000000000000000000000000000000000000000000000000060648201526084016104b6565b8061136857600b87015460ff166112b85760405162461bcd60e51b815260206004820152601760248201527f4e65656420746f20616464206c61737420626c6f636b7300000000000000000060448201526064016104b6565b600b870154610100900460ff166113115760405162461bcd60e51b815260206004820152601c60248201527f4e65656420746f206164642073757370656374656420626c6f636b730000000060448201526064016104b6565b60088701546007880154146113685760405162461bcd60e51b815260206004820152601160248201527f4e65656420746f20616464206d61726b7300000000000000000000000000000060448201526064016104b6565b80611374576001611377565b60035b600e8801805460ff19166001836003811115611395576113956133f7565b0217905550426002880155306004808901546040517fbcbe027200000000000000000000000000000000000000000000000000000000815291820188905260248201526001600160a01b03919091169063bcbe027290604401600060405180830381600087803b15801561140857600080fd5b505af115801561141c573d6000803e3d6000fd5b505050506114273090565b6001600160a01b031663ea7940f58b6040518263ffffffff1660e01b815260040161145491815260200190565b600060405180830381600087803b15801561146e57600080fd5b505af1158015611482573d6000803e3d6000fd5b5050505061148d3090565b6001600160a01b031663b7f1ab7d8b6040518263ffffffff1660e01b81526004016114ba91815260200190565b600060405180830381600087803b1580156114d457600080fd5b505af11580156114e8573d6000803e3d6000fd5b50505050811561155d57306005880154604051634feeb8a360e01b81526004810188905260248101919091526001600160a01b039190911690634feeb8a390604401600060405180830381600087803b15801561154457600080fd5b505af1158015611558573d6000803e3d6000fd5b505050505b8015611606576040517fb6839fb5000000000000000000000000000000000000000000000000000000008152600481018b9052309063b6839fb590602401600060405180830381600087803b1580156115b557600080fd5b505af11580156115c9573d6000803e3d6000fd5b50506040513392508c91507f6cb55d06b555e5cb02471b7ff2c9e490351da76bbc39319d1f6cd2fad233674390600090a350505050505050505050565b6040517fc9a57625000000000000000000000000000000000000000000000000000000008152600481018b9052309063c9a5762590602401600060405180830381600087803b15801561165857600080fd5b505af115801561166c573d6000803e3d6000fd5b50506040513392508c91507f15e19d44b8c736ffedbec52720107f3d481c7a2fb4ae75af8790dbedc930e51b90600090a3505050505050505b505050565b60008181526000805160206138118339815191526020526040902060038101548291906116d690612b49565b6000838152600080516020613811833981519152602052604081208491506001600e82015460ff16600381111561170f5761170f6133f7565b141561175d5760405162461bcd60e51b815260206004820181905260248201527f436f6e73656e7375733a2054434220616c726561647920636f6d706c6574656460448201526064016104b6565b60008581526000805160206138118339815191526020526040902086516007820154146117cc5760405162461bcd60e51b815260206004820152601260248201527f496e76616c6964206d61726b732073697a65000000000000000000000000000060448201526064016104b6565b60005b875181101561185457816007016001018882815181106117f1576117f1613607565b602090810291909101810151825460018101845560009384529282902091830490910180549192909160ff601f9092166101000a91820219169083600381111561183d5761183d6133f7565b02179055508061184c8161370d565b9150506117cf565b5050505050505050565b6118906040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b7f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b680546000805160206137f18339815191529190849081106118d4576118d4613607565b90600052602060002090600502016040518060a001604052908160008201548152602001600182015481526020016002820154815260200160038201548152602001600482015481525050915050919050565b600081815260008051602061381183398151915260205260409020600381015482919061195390612b49565b6000838152600080516020613811833981519152602052604081208491506001600e82015460ff16600381111561198c5761198c6133f7565b14156119da5760405162461bcd60e51b815260206004820181905260248201527f436f6e73656e7375733a2054434220616c726561647920636f6d706c6574656460448201526064016104b6565b600085815260008051602061381183398151915260205260409020600b8101546000805160206137f18339815191529060ff16611a7f5760405162461bcd60e51b815260206004820152602360248201527f41737369676e206f6e6c79206166746572206c61737420626c6f636b7320746160448201527f6b656e000000000000000000000000000000000000000000000000000000000060648201526084016104b6565b6009810154602811600081611aa257611a9d6008840160288b612ced565b611af3565b60098301805460408051602080840282018101909252828152929190830182828015611aed57602002820191906000526020600020905b815481526020019060010190808311611ad9575b50505050505b9050611b026007850182612e59565b51600a8401555050600b01805461ff0019166101001790555050505050565b60008181527f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b360209081526040808320547f0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b29092528220546000805160206137f183398151915292611bab8260009081526000805160206138118339815191526020526040902090565b600084815260008051602061381183398151915260205260409020909150611bd286612b49565b6040517fb8c4e81700000000000000000000000000000000000000000000000000000000815260048101879052601390309063b8c4e8179060240160206040518083038186803b158015611c2557600080fd5b505afa158015611c39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5d9190613728565b60ff1610611cd35760405162461bcd60e51b815260206004820152602960248201527f436f6e73656e7375733a2054727920696e69742054434220666f7220626c6f6360448201527f6b6564206f66666572000000000000000000000000000000000000000000000060648201526084016104b6565b821580611cf2575060018201544290611cf0906201518090613633565b105b611d645760405162461bcd60e51b815260206004820152603660248201527f54434220686173206265656e20616c726561647920696e697469616c697a656460448201527f20666f72207468652063757272656e742065706f63680000000000000000000060648201526084016104b6565b831580611d83575060028101544290611d81906201518090613633565b105b611df55760405162461bcd60e51b815260206004820152603360248201527f54434220686173206265656e20616c72656164792070726f766964656420666f60448201527f72207468652063757272656e742065706f63680000000000000000000000000060648201526084016104b6565b831580611e085750611e06866107d8565b155b611e7a5760405162461bcd60e51b815260206004820152602760248201527f5443422062656e63686d61726b20686173206e6f74206265656e20766572696660448201527f696564207965740000000000000000000000000000000000000000000000000060648201526084016104b6565b6003600e82015460ff166003811115611e9557611e956133f7565b1415611f4257600e8101805460ff19166001179055306005820154604051634feeb8a360e01b81526004810189905260248101919091526001600160a01b039190911690634feeb8a390604401600060405180830381600087803b158015611efc57600080fd5b505af1158015611f10573d6000803e3d6000fd5b50506040513392508691507f15e19d44b8c736ffedbec52720107f3d481c7a2fb4ae75af8790dbedc930e51b90600090a35b6000611f4c612ed4565b600081815260008051602061381183398151915260209081526040808320600381018c9055600c81018a905542600180830191909155600e8201805460ff191690558c85528b019092528083208490555192935091339184917fe7f2c99f74a3f451bf997da235986194ebd7b38a376dca15870ec3fd883251769190a35050505050505050565b611fdb612fdd565b6000828152600080516020613811833981519152602052604081209050806040518060e001604052908160008201805461201490613694565b80601f016020809104026020016040519081016040528092919081815260200182805461204090613694565b801561208d5780601f106120625761010080835404028352916020019161208d565b820191906000526020600020905b81548152906001019060200180831161207057829003601f168201915b505050505081526020016001820154815260200160028201548152602001600382016040518060800160405290816000820154815260200160018201548152602001600282015481526020016003820180546120e890613694565b80601f016020809104026020016040519081016040528092919081815260200182805461211490613694565b80156121615780601f1061213657610100808354040283529160200191612161565b820191906000526020600020905b81548152906001019060200180831161214457829003601f168201915b50505050508152505081526020016007820160405180610160016040529081600082018054806020026020016040519081016040528092919081815260200182805480156121ce57602002820191906000526020600020905b8154815260200190600101908083116121ba575b505050505081526020016001820180548060200260200160405190810160405280929190818152602001828054801561225657602002820191906000526020600020906000905b82829054906101000a900460ff166003811115612234576122346133f7565b8152602060019283018181049485019490930390920291018084116122155790505b505050918352505060028201546020808301919091526003808401546040840152600484015460ff808216151560608601526101008083048216151560808701526201000083048216151560a087015261ffff63010000008404811660c08801526501000000000090930490921660e08601526005860154918501919091526006909401548416151561012090930192909252928452600e85015493909201921690811115612307576123076133f7565b6003811115612318576123186133f7565b815260408051808201909152600f830154815260109092015460ff16151560208381019190915201529392505050565b6000306001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b15801561238357600080fd5b505afa158015612397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123bb9190613760565b905090565b60008181526000805160206138118339815191526020526040812081906040518060e00160405290816000820180546123f890613694565b80601f016020809104026020016040519081016040528092919081815260200182805461242490613694565b80156124715780601f1061244657610100808354040283529160200191612471565b820191906000526020600020905b81548152906001019060200180831161245457829003601f168201915b505050505081526020016001820154815260200160028201548152602001600382016040518060800160405290816000820154815260200160018201548152602001600282015481526020016003820180546124cc90613694565b80601f01602080910402602001604051908101604052809291908181526020018280546124f890613694565b80156125455780601f1061251a57610100808354040283529160200191612545565b820191906000526020600020905b81548152906001019060200180831161252857829003601f168201915b50505050508152505081526020016007820160405180610160016040529081600082018054806020026020016040519081016040528092919081815260200182805480156125b257602002820191906000526020600020905b81548152602001906001019080831161259e575b505050505081526020016001820180548060200260200160405190810160405280929190818152602001828054801561263a57602002820191906000526020600020906000905b82829054906101000a900460ff166003811115612618576126186133f7565b8152602060019283018181049485019490930390920291018084116125f95790505b505050918352505060028201546020808301919091526003808401546040840152600484015460ff808216151560608601526101008083048216151560808701526201000083048216151560a087015261ffff63010000008404811660c08801526501000000000090930490921660e08601526005860154918501919091526006909401548416151561012090930192909252928452600e850154939092019216908111156126eb576126eb6133f7565b60038111156126fc576126fc6133f7565b815260408051808201909152600f830154815260109092015460ff1615156020838101919091520152905060018160a00151600381111561273f5761273f6133f7565b148061276f575060038160a00151600381111561275e5761275e6133f7565b14801561276f575061276f83612776565b9392505050565b6000818152600080516020613811833981519152602052604081206000805160206137f18339815191529082906040518060e00160405290816000820180546127be90613694565b80601f01602080910402602001604051908101604052809291908181526020018280546127ea90613694565b80156128375780601f1061280c57610100808354040283529160200191612837565b820191906000526020600020905b81548152906001019060200180831161281a57829003601f168201915b5050505050815260200160018201548152602001600282015481526020016003820160405180608001604052908160008201548152602001600182015481526020016002820154815260200160038201805461289290613694565b80601f01602080910402602001604051908101604052809291908181526020018280546128be90613694565b801561290b5780601f106128e05761010080835404028352916020019161290b565b820191906000526020600020905b8154815290600101906020018083116128ee57829003601f168201915b505050505081525050815260200160078201604051806101600160405290816000820180548060200260200160405190810160405280929190818152602001828054801561297857602002820191906000526020600020905b815481526020019060010190808311612964575b5050505050815260200160018201805480602002602001604051908101604052809291908181526020018280548015612a0057602002820191906000526020600020906000905b82829054906101000a900460ff1660038111156129de576129de6133f7565b8152602060019283018181049485019490930390920291018084116129bf5790505b505050918352505060028201546020808301919091526003808401546040840152600484015460ff808216151560608601526101008083048216151560808701526201000083048216151560a087015261ffff63010000008404811660c08801526501000000000090930490921660e08601526005860154918501919091526006909401548416151561012090930192909252928452600e85015493909201921690811115612ab157612ab16133f7565b6003811115612ac257612ac26133f7565b815260408051808201909152600f830154815260109092015460ff161515602083810191909152015290506000612afc6008840186612f01565b60808301516101400151600585015460c08501515192159350909160009190612b26906001613633565b10905060008380612b3d5750818015612b3d575082155b98975050505050505050565b6040517f4e6e04f7000000000000000000000000000000000000000000000000000000008152600481018290526000903090634e6e04f79060240160206040518083038186803b158015612b9c57600080fd5b505afa158015612bb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bd49190613760565b90506000306040517f0e3bbace0000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301529190911690630e3bbace9060240160206040518083038186803b158015612c3557600080fd5b505afa158015612c49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c6d9190613760565b90506001600160a01b03811633146116a55760405162461bcd60e51b815260206004820152602b60248201527f436f6e73656e7375733a20417661696c61626c65206f6e6c7920666f7220616360448201527f74696f6e4163636f756e7400000000000000000000000000000000000000000060648201526084016104b6565b606060005a905060008080612d0360014361377d565b6040805191406020830152810187905233606090811b6bffffffffffffffffffffffff1916908201524260748201526094016040516020818303038152906040528051906020012060001c905060008767ffffffffffffffff811115612d6b57612d6b61313f565b604051908082528060200260200182016040528015612d94578160200160208202803683370190505b5090505b878461ffff1614158015612db957506233e1405a612db6908761377d565b11155b15612b3d57600189015482612dcd8161370d565b9350604051602001612de191815260200190565b6040516020818303038152906040528051906020012060001c612e049190613794565b9250886001018381548110612e1b57612e1b613607565b9060005260206000200154818561ffff1681518110612e3c57612e3c613607565b6020908102919091010152612e526001856137a8565b9350612d98565b60005a905060005b82518161ffff1614158015612e8357506233e1405a612e80908461377d565b11155b15612ece5783838261ffff1681518110612e9f57612e9f613607565b60209081029190910181015182546001810184556000938452919092200155612ec7816137ce565b9050612e61565b50505050565b6000805160206137f183398151915280546000919081908390612ef69061370d565b918290555092915050565b6001820154600090612f1557506000612f53565b600082815260208490526040902054151580612f5057508183600101600081548110612f4357612f43613607565b9060005260206000200154145b90505b92915050565b828054612f6590613694565b90600052602060002090601f016020900481019282612f875760008555612fcd565b82601f10612fa057805160ff1916838001178555612fcd565b82800160010185558215612fcd579182015b82811115612fcd578251825591602001919060010190612fb2565b50612fd99291506130cd565b5090565b6040518060e0016040528060608152602001600081526020016000815260200161302b6040518060800160405280600081526020016000801916815260200160008152602001606081525090565b815260200161309d60405180610160016040528060608152602001606081526020016000815260200160008152602001600015158152602001600015158152602001600015158152602001600061ffff168152602001600061ffff168152602001600081526020016000151581525090565b8152602001600081526020016130c86040518060400160405280600081526020016000151581525090565b905290565b5b80821115612fd957600081556001016130ce565b6000602082840312156130f457600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561313357835183529284019291840191600101613117565b50909695505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561317e5761317e61313f565b604052919050565b600082601f83011261319757600080fd5b813567ffffffffffffffff8111156131b1576131b161313f565b6131c4601f8201601f1916602001613155565b8181528460208386010111156131d957600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561320e57600080fd5b8535945060208601359350604086013567ffffffffffffffff8082111561323457600080fd5b61324089838a01613186565b945060608801359350608088013591508082111561325d57600080fd5b5061326a88828901613186565b9150509295509295909350565b6004811061328457600080fd5b50565b6000806040838503121561329a57600080fd5b8235915060208301356132ac81613277565b809150509250929050565b600080604083850312156132ca57600080fd5b823567ffffffffffffffff808211156132e257600080fd5b818501915085601f8301126132f657600080fd5b813560208282111561330a5761330a61313f565b8160051b925061331b818401613155565b828152928401810192818101908985111561333557600080fd5b948201945b8486101561335f578535935061334f84613277565b838252948201949082019061333a565b9997909101359750505050505050565b6000815180845260005b8181101561339557602081850181015186830182015201613379565b818111156133a7576000602083870101525b50601f01601f19169290920160200192915050565b600081518084526020808501945080840160005b838110156133ec578151875295820195908201906001016133d0565b509495945050505050565b634e487b7160e01b600052602160045260246000fd5b6004811061328457634e487b7160e01b600052602160045260246000fd5b600081518084526020808501945080840160005b838110156133ec5781516134528161340d565b8752958201959082019060010161343f565b6000610160825181855261347a828601826133bc565b91505060208301518482036020860152613494828261342b565b915050604083015160408501526060830151606085015260808301516134be608086018215159052565b5060a08301516134d260a086018215159052565b5060c08301516134e660c086018215159052565b5060e08301516134fc60e086018261ffff169052565b506101008381015161ffff1690850152610120808401519085015261014092830151151592909301919091525090565b6135358161340d565b9052565b6020815260008251610100602084015261355761012084018261336f565b905060208401516040840152604084015160608401526060840151601f198085840301608086015281518352602082015160208401526040820151604084015260608201519150608060608401526135b2608084018361336f565b925060808601519150808584030160a0860152506135d08282613464565b91505060a08401516135e560c085018261352c565b5060c0840151805160e085015260208101511515610100850152509392505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082198211156136465761364661361d565b500190565b60008160001904831182151516156136655761366561361d565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261368f5761368f61366a565b500490565b600181811c908216806136a857607f821691505b602082108114156136c957634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156136e157600080fd5b5051919050565b600060ff821660ff84168060ff038211156137055761370561361d565b019392505050565b60006000198214156137215761372161361d565b5060010190565b60006020828403121561373a57600080fd5b815160ff8116811461276f57600080fd5b6001600160a01b038116811461328457600080fd5b60006020828403121561377257600080fd5b815161276f8161374b565b60008282101561378f5761378f61361d565b500390565b6000826137a3576137a361366a565b500690565b600061ffff8083168185168083038211156137c5576137c561361d565b01949350505050565b600061ffff808316818114156137e6576137e661361d565b600101939250505056fe0a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b10a5acc90f21aabf3ab41c1289935e75ef2bd93fb7f949142411047ee599638b4a2646970667358221220b635da6c4a4938fa1e235a890c9d8c727b652e1549fca8f88a4255e44a4a0f3864736f6c63430008090033",
578
+ "linkReferences": {},
579
+ "deployedLinkReferences": {}
580
+ }