@lukso/universalprofile-contracts 0.15.0-rc.0 → 0.15.0-rc.4
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,676 @@
|
|
1
|
+
{
|
2
|
+
"_format": "hh-sol-artifact-1",
|
3
|
+
"contractName": "UniversalProfile",
|
4
|
+
"sourceName": "contracts/UniversalProfile.sol",
|
5
|
+
"abi": [
|
6
|
+
{
|
7
|
+
"inputs": [
|
8
|
+
{
|
9
|
+
"internalType": "address",
|
10
|
+
"name": "initialOwner",
|
11
|
+
"type": "address"
|
12
|
+
}
|
13
|
+
],
|
14
|
+
"stateMutability": "payable",
|
15
|
+
"type": "constructor"
|
16
|
+
},
|
17
|
+
{
|
18
|
+
"inputs": [],
|
19
|
+
"name": "ERC725X_ContractDeploymentFailed",
|
20
|
+
"type": "error"
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"inputs": [],
|
24
|
+
"name": "ERC725X_CreateOperationsRequireEmptyRecipientAddress",
|
25
|
+
"type": "error"
|
26
|
+
},
|
27
|
+
{
|
28
|
+
"inputs": [],
|
29
|
+
"name": "ERC725X_ExecuteParametersEmptyArray",
|
30
|
+
"type": "error"
|
31
|
+
},
|
32
|
+
{
|
33
|
+
"inputs": [],
|
34
|
+
"name": "ERC725X_ExecuteParametersLengthMismatch",
|
35
|
+
"type": "error"
|
36
|
+
},
|
37
|
+
{
|
38
|
+
"inputs": [
|
39
|
+
{
|
40
|
+
"internalType": "uint256",
|
41
|
+
"name": "balance",
|
42
|
+
"type": "uint256"
|
43
|
+
},
|
44
|
+
{
|
45
|
+
"internalType": "uint256",
|
46
|
+
"name": "value",
|
47
|
+
"type": "uint256"
|
48
|
+
}
|
49
|
+
],
|
50
|
+
"name": "ERC725X_InsufficientBalance",
|
51
|
+
"type": "error"
|
52
|
+
},
|
53
|
+
{
|
54
|
+
"inputs": [],
|
55
|
+
"name": "ERC725X_MsgValueDisallowedInDelegateCall",
|
56
|
+
"type": "error"
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"inputs": [],
|
60
|
+
"name": "ERC725X_MsgValueDisallowedInStaticCall",
|
61
|
+
"type": "error"
|
62
|
+
},
|
63
|
+
{
|
64
|
+
"inputs": [],
|
65
|
+
"name": "ERC725X_NoContractBytecodeProvided",
|
66
|
+
"type": "error"
|
67
|
+
},
|
68
|
+
{
|
69
|
+
"inputs": [
|
70
|
+
{
|
71
|
+
"internalType": "uint256",
|
72
|
+
"name": "operationTypeProvided",
|
73
|
+
"type": "uint256"
|
74
|
+
}
|
75
|
+
],
|
76
|
+
"name": "ERC725X_UnknownOperationType",
|
77
|
+
"type": "error"
|
78
|
+
},
|
79
|
+
{
|
80
|
+
"inputs": [],
|
81
|
+
"name": "ERC725Y_DataKeysValuesEmptyArray",
|
82
|
+
"type": "error"
|
83
|
+
},
|
84
|
+
{
|
85
|
+
"inputs": [],
|
86
|
+
"name": "ERC725Y_DataKeysValuesLengthMismatch",
|
87
|
+
"type": "error"
|
88
|
+
},
|
89
|
+
{
|
90
|
+
"inputs": [
|
91
|
+
{
|
92
|
+
"internalType": "address",
|
93
|
+
"name": "caller",
|
94
|
+
"type": "address"
|
95
|
+
}
|
96
|
+
],
|
97
|
+
"name": "LSP14CallerNotPendingOwner",
|
98
|
+
"type": "error"
|
99
|
+
},
|
100
|
+
{
|
101
|
+
"inputs": [],
|
102
|
+
"name": "LSP14CannotTransferOwnershipToSelf",
|
103
|
+
"type": "error"
|
104
|
+
},
|
105
|
+
{
|
106
|
+
"inputs": [],
|
107
|
+
"name": "LSP14MustAcceptOwnershipInSeparateTransaction",
|
108
|
+
"type": "error"
|
109
|
+
},
|
110
|
+
{
|
111
|
+
"inputs": [
|
112
|
+
{
|
113
|
+
"internalType": "uint256",
|
114
|
+
"name": "renounceOwnershipStart",
|
115
|
+
"type": "uint256"
|
116
|
+
},
|
117
|
+
{
|
118
|
+
"internalType": "uint256",
|
119
|
+
"name": "renounceOwnershipEnd",
|
120
|
+
"type": "uint256"
|
121
|
+
}
|
122
|
+
],
|
123
|
+
"name": "LSP14NotInRenounceOwnershipInterval",
|
124
|
+
"type": "error"
|
125
|
+
},
|
126
|
+
{
|
127
|
+
"inputs": [
|
128
|
+
{
|
129
|
+
"internalType": "bool",
|
130
|
+
"name": "postCall",
|
131
|
+
"type": "bool"
|
132
|
+
},
|
133
|
+
{
|
134
|
+
"internalType": "bytes4",
|
135
|
+
"name": "returnedStatus",
|
136
|
+
"type": "bytes4"
|
137
|
+
}
|
138
|
+
],
|
139
|
+
"name": "LSP20CallVerificationFailed",
|
140
|
+
"type": "error"
|
141
|
+
},
|
142
|
+
{
|
143
|
+
"inputs": [
|
144
|
+
{
|
145
|
+
"internalType": "bool",
|
146
|
+
"name": "postCall",
|
147
|
+
"type": "bool"
|
148
|
+
}
|
149
|
+
],
|
150
|
+
"name": "LSP20CallingVerifierFailed",
|
151
|
+
"type": "error"
|
152
|
+
},
|
153
|
+
{
|
154
|
+
"inputs": [
|
155
|
+
{
|
156
|
+
"internalType": "address",
|
157
|
+
"name": "logicVerifier",
|
158
|
+
"type": "address"
|
159
|
+
}
|
160
|
+
],
|
161
|
+
"name": "LSP20EOACannotVerifyCall",
|
162
|
+
"type": "error"
|
163
|
+
},
|
164
|
+
{
|
165
|
+
"inputs": [
|
166
|
+
{
|
167
|
+
"internalType": "bytes4",
|
168
|
+
"name": "functionSelector",
|
169
|
+
"type": "bytes4"
|
170
|
+
}
|
171
|
+
],
|
172
|
+
"name": "NoExtensionFoundForFunctionSelector",
|
173
|
+
"type": "error"
|
174
|
+
},
|
175
|
+
{
|
176
|
+
"anonymous": false,
|
177
|
+
"inputs": [
|
178
|
+
{
|
179
|
+
"indexed": true,
|
180
|
+
"internalType": "uint256",
|
181
|
+
"name": "operationType",
|
182
|
+
"type": "uint256"
|
183
|
+
},
|
184
|
+
{
|
185
|
+
"indexed": true,
|
186
|
+
"internalType": "address",
|
187
|
+
"name": "contractAddress",
|
188
|
+
"type": "address"
|
189
|
+
},
|
190
|
+
{
|
191
|
+
"indexed": false,
|
192
|
+
"internalType": "uint256",
|
193
|
+
"name": "value",
|
194
|
+
"type": "uint256"
|
195
|
+
},
|
196
|
+
{
|
197
|
+
"indexed": true,
|
198
|
+
"internalType": "bytes32",
|
199
|
+
"name": "salt",
|
200
|
+
"type": "bytes32"
|
201
|
+
}
|
202
|
+
],
|
203
|
+
"name": "ContractCreated",
|
204
|
+
"type": "event"
|
205
|
+
},
|
206
|
+
{
|
207
|
+
"anonymous": false,
|
208
|
+
"inputs": [
|
209
|
+
{
|
210
|
+
"indexed": true,
|
211
|
+
"internalType": "bytes32",
|
212
|
+
"name": "dataKey",
|
213
|
+
"type": "bytes32"
|
214
|
+
},
|
215
|
+
{
|
216
|
+
"indexed": false,
|
217
|
+
"internalType": "bytes",
|
218
|
+
"name": "dataValue",
|
219
|
+
"type": "bytes"
|
220
|
+
}
|
221
|
+
],
|
222
|
+
"name": "DataChanged",
|
223
|
+
"type": "event"
|
224
|
+
},
|
225
|
+
{
|
226
|
+
"anonymous": false,
|
227
|
+
"inputs": [
|
228
|
+
{
|
229
|
+
"indexed": true,
|
230
|
+
"internalType": "uint256",
|
231
|
+
"name": "operationType",
|
232
|
+
"type": "uint256"
|
233
|
+
},
|
234
|
+
{
|
235
|
+
"indexed": true,
|
236
|
+
"internalType": "address",
|
237
|
+
"name": "target",
|
238
|
+
"type": "address"
|
239
|
+
},
|
240
|
+
{
|
241
|
+
"indexed": false,
|
242
|
+
"internalType": "uint256",
|
243
|
+
"name": "value",
|
244
|
+
"type": "uint256"
|
245
|
+
},
|
246
|
+
{
|
247
|
+
"indexed": true,
|
248
|
+
"internalType": "bytes4",
|
249
|
+
"name": "selector",
|
250
|
+
"type": "bytes4"
|
251
|
+
}
|
252
|
+
],
|
253
|
+
"name": "Executed",
|
254
|
+
"type": "event"
|
255
|
+
},
|
256
|
+
{
|
257
|
+
"anonymous": false,
|
258
|
+
"inputs": [],
|
259
|
+
"name": "OwnershipRenounced",
|
260
|
+
"type": "event"
|
261
|
+
},
|
262
|
+
{
|
263
|
+
"anonymous": false,
|
264
|
+
"inputs": [
|
265
|
+
{
|
266
|
+
"indexed": true,
|
267
|
+
"internalType": "address",
|
268
|
+
"name": "previousOwner",
|
269
|
+
"type": "address"
|
270
|
+
},
|
271
|
+
{
|
272
|
+
"indexed": true,
|
273
|
+
"internalType": "address",
|
274
|
+
"name": "newOwner",
|
275
|
+
"type": "address"
|
276
|
+
}
|
277
|
+
],
|
278
|
+
"name": "OwnershipTransferStarted",
|
279
|
+
"type": "event"
|
280
|
+
},
|
281
|
+
{
|
282
|
+
"anonymous": false,
|
283
|
+
"inputs": [
|
284
|
+
{
|
285
|
+
"indexed": true,
|
286
|
+
"internalType": "address",
|
287
|
+
"name": "previousOwner",
|
288
|
+
"type": "address"
|
289
|
+
},
|
290
|
+
{
|
291
|
+
"indexed": true,
|
292
|
+
"internalType": "address",
|
293
|
+
"name": "newOwner",
|
294
|
+
"type": "address"
|
295
|
+
}
|
296
|
+
],
|
297
|
+
"name": "OwnershipTransferred",
|
298
|
+
"type": "event"
|
299
|
+
},
|
300
|
+
{
|
301
|
+
"anonymous": false,
|
302
|
+
"inputs": [],
|
303
|
+
"name": "RenounceOwnershipStarted",
|
304
|
+
"type": "event"
|
305
|
+
},
|
306
|
+
{
|
307
|
+
"anonymous": false,
|
308
|
+
"inputs": [
|
309
|
+
{
|
310
|
+
"indexed": true,
|
311
|
+
"internalType": "address",
|
312
|
+
"name": "from",
|
313
|
+
"type": "address"
|
314
|
+
},
|
315
|
+
{
|
316
|
+
"indexed": true,
|
317
|
+
"internalType": "uint256",
|
318
|
+
"name": "value",
|
319
|
+
"type": "uint256"
|
320
|
+
},
|
321
|
+
{
|
322
|
+
"indexed": true,
|
323
|
+
"internalType": "bytes32",
|
324
|
+
"name": "typeId",
|
325
|
+
"type": "bytes32"
|
326
|
+
},
|
327
|
+
{
|
328
|
+
"indexed": false,
|
329
|
+
"internalType": "bytes",
|
330
|
+
"name": "receivedData",
|
331
|
+
"type": "bytes"
|
332
|
+
},
|
333
|
+
{
|
334
|
+
"indexed": false,
|
335
|
+
"internalType": "bytes",
|
336
|
+
"name": "returnedValue",
|
337
|
+
"type": "bytes"
|
338
|
+
}
|
339
|
+
],
|
340
|
+
"name": "UniversalReceiver",
|
341
|
+
"type": "event"
|
342
|
+
},
|
343
|
+
{
|
344
|
+
"stateMutability": "payable",
|
345
|
+
"type": "fallback"
|
346
|
+
},
|
347
|
+
{
|
348
|
+
"inputs": [],
|
349
|
+
"name": "RENOUNCE_OWNERSHIP_CONFIRMATION_DELAY",
|
350
|
+
"outputs": [
|
351
|
+
{
|
352
|
+
"internalType": "uint256",
|
353
|
+
"name": "",
|
354
|
+
"type": "uint256"
|
355
|
+
}
|
356
|
+
],
|
357
|
+
"stateMutability": "view",
|
358
|
+
"type": "function"
|
359
|
+
},
|
360
|
+
{
|
361
|
+
"inputs": [],
|
362
|
+
"name": "RENOUNCE_OWNERSHIP_CONFIRMATION_PERIOD",
|
363
|
+
"outputs": [
|
364
|
+
{
|
365
|
+
"internalType": "uint256",
|
366
|
+
"name": "",
|
367
|
+
"type": "uint256"
|
368
|
+
}
|
369
|
+
],
|
370
|
+
"stateMutability": "view",
|
371
|
+
"type": "function"
|
372
|
+
},
|
373
|
+
{
|
374
|
+
"inputs": [],
|
375
|
+
"name": "VERSION",
|
376
|
+
"outputs": [
|
377
|
+
{
|
378
|
+
"internalType": "string",
|
379
|
+
"name": "",
|
380
|
+
"type": "string"
|
381
|
+
}
|
382
|
+
],
|
383
|
+
"stateMutability": "view",
|
384
|
+
"type": "function"
|
385
|
+
},
|
386
|
+
{
|
387
|
+
"inputs": [],
|
388
|
+
"name": "acceptOwnership",
|
389
|
+
"outputs": [],
|
390
|
+
"stateMutability": "nonpayable",
|
391
|
+
"type": "function"
|
392
|
+
},
|
393
|
+
{
|
394
|
+
"inputs": [
|
395
|
+
{
|
396
|
+
"internalType": "bytes[]",
|
397
|
+
"name": "data",
|
398
|
+
"type": "bytes[]"
|
399
|
+
}
|
400
|
+
],
|
401
|
+
"name": "batchCalls",
|
402
|
+
"outputs": [
|
403
|
+
{
|
404
|
+
"internalType": "bytes[]",
|
405
|
+
"name": "results",
|
406
|
+
"type": "bytes[]"
|
407
|
+
}
|
408
|
+
],
|
409
|
+
"stateMutability": "nonpayable",
|
410
|
+
"type": "function"
|
411
|
+
},
|
412
|
+
{
|
413
|
+
"inputs": [
|
414
|
+
{
|
415
|
+
"internalType": "uint256",
|
416
|
+
"name": "operationType",
|
417
|
+
"type": "uint256"
|
418
|
+
},
|
419
|
+
{
|
420
|
+
"internalType": "address",
|
421
|
+
"name": "target",
|
422
|
+
"type": "address"
|
423
|
+
},
|
424
|
+
{
|
425
|
+
"internalType": "uint256",
|
426
|
+
"name": "value",
|
427
|
+
"type": "uint256"
|
428
|
+
},
|
429
|
+
{
|
430
|
+
"internalType": "bytes",
|
431
|
+
"name": "data",
|
432
|
+
"type": "bytes"
|
433
|
+
}
|
434
|
+
],
|
435
|
+
"name": "execute",
|
436
|
+
"outputs": [
|
437
|
+
{
|
438
|
+
"internalType": "bytes",
|
439
|
+
"name": "",
|
440
|
+
"type": "bytes"
|
441
|
+
}
|
442
|
+
],
|
443
|
+
"stateMutability": "payable",
|
444
|
+
"type": "function"
|
445
|
+
},
|
446
|
+
{
|
447
|
+
"inputs": [
|
448
|
+
{
|
449
|
+
"internalType": "uint256[]",
|
450
|
+
"name": "operationsType",
|
451
|
+
"type": "uint256[]"
|
452
|
+
},
|
453
|
+
{
|
454
|
+
"internalType": "address[]",
|
455
|
+
"name": "targets",
|
456
|
+
"type": "address[]"
|
457
|
+
},
|
458
|
+
{
|
459
|
+
"internalType": "uint256[]",
|
460
|
+
"name": "values",
|
461
|
+
"type": "uint256[]"
|
462
|
+
},
|
463
|
+
{
|
464
|
+
"internalType": "bytes[]",
|
465
|
+
"name": "datas",
|
466
|
+
"type": "bytes[]"
|
467
|
+
}
|
468
|
+
],
|
469
|
+
"name": "executeBatch",
|
470
|
+
"outputs": [
|
471
|
+
{
|
472
|
+
"internalType": "bytes[]",
|
473
|
+
"name": "",
|
474
|
+
"type": "bytes[]"
|
475
|
+
}
|
476
|
+
],
|
477
|
+
"stateMutability": "payable",
|
478
|
+
"type": "function"
|
479
|
+
},
|
480
|
+
{
|
481
|
+
"inputs": [
|
482
|
+
{
|
483
|
+
"internalType": "bytes32",
|
484
|
+
"name": "dataKey",
|
485
|
+
"type": "bytes32"
|
486
|
+
}
|
487
|
+
],
|
488
|
+
"name": "getData",
|
489
|
+
"outputs": [
|
490
|
+
{
|
491
|
+
"internalType": "bytes",
|
492
|
+
"name": "dataValue",
|
493
|
+
"type": "bytes"
|
494
|
+
}
|
495
|
+
],
|
496
|
+
"stateMutability": "view",
|
497
|
+
"type": "function"
|
498
|
+
},
|
499
|
+
{
|
500
|
+
"inputs": [
|
501
|
+
{
|
502
|
+
"internalType": "bytes32[]",
|
503
|
+
"name": "dataKeys",
|
504
|
+
"type": "bytes32[]"
|
505
|
+
}
|
506
|
+
],
|
507
|
+
"name": "getDataBatch",
|
508
|
+
"outputs": [
|
509
|
+
{
|
510
|
+
"internalType": "bytes[]",
|
511
|
+
"name": "dataValues",
|
512
|
+
"type": "bytes[]"
|
513
|
+
}
|
514
|
+
],
|
515
|
+
"stateMutability": "view",
|
516
|
+
"type": "function"
|
517
|
+
},
|
518
|
+
{
|
519
|
+
"inputs": [
|
520
|
+
{
|
521
|
+
"internalType": "bytes32",
|
522
|
+
"name": "dataHash",
|
523
|
+
"type": "bytes32"
|
524
|
+
},
|
525
|
+
{
|
526
|
+
"internalType": "bytes",
|
527
|
+
"name": "signature",
|
528
|
+
"type": "bytes"
|
529
|
+
}
|
530
|
+
],
|
531
|
+
"name": "isValidSignature",
|
532
|
+
"outputs": [
|
533
|
+
{
|
534
|
+
"internalType": "bytes4",
|
535
|
+
"name": "returnedStatus",
|
536
|
+
"type": "bytes4"
|
537
|
+
}
|
538
|
+
],
|
539
|
+
"stateMutability": "view",
|
540
|
+
"type": "function"
|
541
|
+
},
|
542
|
+
{
|
543
|
+
"inputs": [],
|
544
|
+
"name": "owner",
|
545
|
+
"outputs": [
|
546
|
+
{
|
547
|
+
"internalType": "address",
|
548
|
+
"name": "",
|
549
|
+
"type": "address"
|
550
|
+
}
|
551
|
+
],
|
552
|
+
"stateMutability": "view",
|
553
|
+
"type": "function"
|
554
|
+
},
|
555
|
+
{
|
556
|
+
"inputs": [],
|
557
|
+
"name": "pendingOwner",
|
558
|
+
"outputs": [
|
559
|
+
{
|
560
|
+
"internalType": "address",
|
561
|
+
"name": "",
|
562
|
+
"type": "address"
|
563
|
+
}
|
564
|
+
],
|
565
|
+
"stateMutability": "view",
|
566
|
+
"type": "function"
|
567
|
+
},
|
568
|
+
{
|
569
|
+
"inputs": [],
|
570
|
+
"name": "renounceOwnership",
|
571
|
+
"outputs": [],
|
572
|
+
"stateMutability": "nonpayable",
|
573
|
+
"type": "function"
|
574
|
+
},
|
575
|
+
{
|
576
|
+
"inputs": [
|
577
|
+
{
|
578
|
+
"internalType": "bytes32",
|
579
|
+
"name": "dataKey",
|
580
|
+
"type": "bytes32"
|
581
|
+
},
|
582
|
+
{
|
583
|
+
"internalType": "bytes",
|
584
|
+
"name": "dataValue",
|
585
|
+
"type": "bytes"
|
586
|
+
}
|
587
|
+
],
|
588
|
+
"name": "setData",
|
589
|
+
"outputs": [],
|
590
|
+
"stateMutability": "payable",
|
591
|
+
"type": "function"
|
592
|
+
},
|
593
|
+
{
|
594
|
+
"inputs": [
|
595
|
+
{
|
596
|
+
"internalType": "bytes32[]",
|
597
|
+
"name": "dataKeys",
|
598
|
+
"type": "bytes32[]"
|
599
|
+
},
|
600
|
+
{
|
601
|
+
"internalType": "bytes[]",
|
602
|
+
"name": "dataValues",
|
603
|
+
"type": "bytes[]"
|
604
|
+
}
|
605
|
+
],
|
606
|
+
"name": "setDataBatch",
|
607
|
+
"outputs": [],
|
608
|
+
"stateMutability": "payable",
|
609
|
+
"type": "function"
|
610
|
+
},
|
611
|
+
{
|
612
|
+
"inputs": [
|
613
|
+
{
|
614
|
+
"internalType": "bytes4",
|
615
|
+
"name": "interfaceId",
|
616
|
+
"type": "bytes4"
|
617
|
+
}
|
618
|
+
],
|
619
|
+
"name": "supportsInterface",
|
620
|
+
"outputs": [
|
621
|
+
{
|
622
|
+
"internalType": "bool",
|
623
|
+
"name": "",
|
624
|
+
"type": "bool"
|
625
|
+
}
|
626
|
+
],
|
627
|
+
"stateMutability": "view",
|
628
|
+
"type": "function"
|
629
|
+
},
|
630
|
+
{
|
631
|
+
"inputs": [
|
632
|
+
{
|
633
|
+
"internalType": "address",
|
634
|
+
"name": "pendingNewOwner",
|
635
|
+
"type": "address"
|
636
|
+
}
|
637
|
+
],
|
638
|
+
"name": "transferOwnership",
|
639
|
+
"outputs": [],
|
640
|
+
"stateMutability": "nonpayable",
|
641
|
+
"type": "function"
|
642
|
+
},
|
643
|
+
{
|
644
|
+
"inputs": [
|
645
|
+
{
|
646
|
+
"internalType": "bytes32",
|
647
|
+
"name": "typeId",
|
648
|
+
"type": "bytes32"
|
649
|
+
},
|
650
|
+
{
|
651
|
+
"internalType": "bytes",
|
652
|
+
"name": "receivedData",
|
653
|
+
"type": "bytes"
|
654
|
+
}
|
655
|
+
],
|
656
|
+
"name": "universalReceiver",
|
657
|
+
"outputs": [
|
658
|
+
{
|
659
|
+
"internalType": "bytes",
|
660
|
+
"name": "returnedValues",
|
661
|
+
"type": "bytes"
|
662
|
+
}
|
663
|
+
],
|
664
|
+
"stateMutability": "payable",
|
665
|
+
"type": "function"
|
666
|
+
},
|
667
|
+
{
|
668
|
+
"stateMutability": "payable",
|
669
|
+
"type": "receive"
|
670
|
+
}
|
671
|
+
],
|
672
|
+
"bytecode": "0x608060405260405162003b4138038062003b418339810160408190526200002691620001db565b803415620000ae577f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d60001b34336001600160a01b03167f9c3ba68eb5742b8e3961aea0afc7371a71bf433c8a67a831803b64c064a178c2604051620000a5906040808252600090820181905260606020830181905282015260800190565b60405180910390a45b620000c4816200011460201b620016f01760201c565b506040805180820190915260048152635ef83ad960e01b60208201526200010d907feafec4d89fa9619884b600005ef83ad9559033e6e941db7d7c495acdce6163479062000182565b50620003ce565b6000546001600160a01b038281169116146200017f57600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0383161790555b50565b60008281526001602052604090206200019c8282620002b2565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b282604051620001cf91906200037e565b60405180910390a25050565b600060208284031215620001ee57600080fd5b81516001600160a01b03811681146200020657600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200023857607f821691505b6020821081036200025957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002ad57600081815260208120601f850160051c81016020861015620002885750805b601f850160051c820191505b81811015620002a95782815560010162000294565b5050505b505050565b81516001600160401b03811115620002ce57620002ce6200020d565b620002e681620002df845462000223565b846200025f565b602080601f8311600181146200031e5760008415620003055750858301515b600019600386901b1c1916600185901b178555620002a9565b600085815260208120601f198616915b828110156200034f578886015182559484019460019091019084016200032e565b50858210156200036e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083528351808285015260005b81811015620003ad578581018301518582016040015282016200038f565b506000604082860101526040601f19601f8301168501019250505092915050565b61376380620003de6000396000f3fe60806040526004361061012d5760003560e01c806379ba5097116100a5578063dedff9c611610074578063ead3fbdf11610059578063ead3fbdf1461021e578063f2fde38b14610402578063ffa1ad741461042257610178565b8063dedff9c6146103c4578063e30c3978146103e457610178565b806379ba5097146103575780637f23690c1461036c5780638da5cb5b1461037f57806397902421146103b157610178565b806344c028fe116100fc5780636963d438116100e15780636963d4381461030f5780636bb56a141461032f578063715018a61461034257610178565b806344c028fe146102cf57806354f6127f146102ef57610178565b806301bfba611461021e57806301ffc9a7146102465780631626ba7e1461027657806331858452146102af57610178565b36610178573415610176576101747f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d60001b6040518060200160405280600081525061046b565b505b005b600036606060048210156102065734156101f1576101ef7f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d60001b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061046b92505050565b505b50604080516020810190915260008152610213565b6102108383610741565b90505b915050805190602001f35b34801561022a57600080fd5b5061023360c881565b6040519081526020015b60405180910390f35b34801561025257600080fd5b50610266610261366004612cc1565b61091d565b604051901515815260200161023d565b34801561028257600080fd5b50610296610291366004612da3565b610a08565b6040516001600160e01b0319909116815260200161023d565b6102c26102bd366004612f0b565b610bba565b60405161023d9190613063565b6102e26102dd3660046130c5565b610cc6565b60405161023d919061311a565b3480156102fb57600080fd5b506102e261030a36600461312d565b610da9565b34801561031b57600080fd5b506102c261032a366004613146565b610db4565b6102e261033d366004612da3565b61046b565b34801561034e57600080fd5b50610176610f10565b34801561036357600080fd5b5061017661105d565b61017661037a366004612da3565b6111e3565b34801561038b57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161023d565b6101766103bf3660046131bb565b6112c6565b3480156103d057600080fd5b506102c26103df366004613215565b611499565b3480156103f057600080fd5b506003546001600160a01b0316610399565b34801561040e57600080fd5b5061017661041d36600461324a565b611544565b34801561042e57600080fd5b506102e26040518060400160405280600b81526020017f302e31352e302d72632e3400000000000000000000000000000000000000000081525081565b6060341580159061049c57507f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d8314155b15610507576105057f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d60001b6000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061046b92505050565b505b60006105327f0cfc51aec37c55a4d0b1a65c6255c4bf2fbdf6277f3cc0730c45b828b6db8b4761175e565b9050606060148251106105e357600061054a83613265565b60601c905061056081635122dded60e11b611800565b156105e157604051635122dded60e11b81526001600160a01b0382169063a245bbda9061059790339034908b908b906004016132a1565b6000604051808303816000875af11580156105b6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105de91908101906132cf565b91505b505b600061060f7f0cfc51aec37c55a4d0b10000000000000000000000000000000000000000000087611889565b9050600061061c8261175e565b9050606060148251106106cd57600061063483613265565b60601c905061064a81635122dded60e11b611800565b156106cb57604051635122dded60e11b81526001600160a01b0382169063a245bbda9061068190339034908e908e906004016132a1565b6000604051808303816000875af11580156106a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106c891908101906132cf565b91505b505b83816040516020016106e092919061333d565b60405160208183030381529060405295508734336001600160a01b03167f9c3ba68eb5742b8e3961aea0afc7371a71bf433c8a67a831803b64c064a178c28a8a60405161072e92919061333d565b60405180910390a4505050505092915050565b606060008061075b6000356001600160e01b0319166118f2565b915091503460001415801561076e575080155b156107d8576107d67f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d60001b86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061046b92505050565b505b6000356001600160e01b0319161580156107f957506001600160a01b038216155b15610817576040518060200160405280600081525092505050610917565b6001600160a01b03821661086a576040517fbb370b2b0000000000000000000000000000000000000000000000000000000081526001600160e01b03196000351660048201526024015b60405180910390fd5b600080836001600160a01b031683610883576000610885565b345b8888333460405160200161089c9493929190613362565b60408051601f19818403018152908290526108b691613392565b60006040518083038185875af1925050503d80600081146108f3576040519150601f19603f3d011682016040523d82523d6000602084013e6108f8565b606091505b5091509150811561090e57935061091792505050565b80518060208301fd5b92915050565b60006001600160e01b03198216630b135d3f60e11b148061096757506001600160e01b031982167f24871b3d00000000000000000000000000000000000000000000000000000000145b8061098257506001600160e01b03198216631aed5a8560e21b145b806109b657506001600160e01b031982167f94be599900000000000000000000000000000000000000000000000000000000145b806109ea57506001600160e01b031982167f1a0eb6a500000000000000000000000000000000000000000000000000000000145b806109f957506109f9826119e9565b80610917575061091782611a27565b600080610a1d6000546001600160a01b031690565b90506001600160a01b0381163b15610b3a57600080826001600160a01b0316631626ba7e60e01b8787604051602401610a579291906133ae565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051610a959190613392565b600060405180830381855afa9150503d8060008114610ad0576040519150601f19603f3d011682016040523d82523d6000602084013e610ad5565b606091505b50915091506000828015610aea575081516020145b8015610b1157508151630b135d3f60e11b90610b0f90840160209081019085016133c7565b145b905080610b26576001600160e01b0319610b2f565b630b135d3f60e11b5b945050505050610917565b600080610b478686611a65565b90925090506000816004811115610b6057610b606133e0565b14610b7957506001600160e01b03199250610917915050565b826001600160a01b0316826001600160a01b031614610ba0576001600160e01b0319610ba9565b630b135d3f60e11b5b9350505050610917565b5092915050565b60603415610c45576040516001600160e01b03196000351660208201527f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d90349033907f9c3ba68eb5742b8e3961aea0afc7371a71bf433c8a67a831803b64c064a178c29060240160408051601f1981840301815290829052610c3c916133f6565b60405180910390a45b6000546001600160a01b031633819003610c6d57610c6586868686611aaa565b915050610cbe565b6000610c7882611c3a565b90506000610c8888888888611aaa565b90508115610cb957610cb98382604051602001610ca59190613063565b604051602081830303815290604052611e06565b925050505b949350505050565b60603415610d51576040516001600160e01b03196000351660208201527f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d90349033907f9c3ba68eb5742b8e3961aea0afc7371a71bf433c8a67a831803b64c064a178c29060240160408051601f1981840301815290829052610d48916133f6565b60405180910390a45b6000546001600160a01b031633819003610d7157610c6586868686611f3c565b6000610d7c82611c3a565b90506000610d8c88888888611f3c565b90508115610cb957610cb98382604051602001610ca5919061311a565b60606109178261175e565b60608167ffffffffffffffff811115610dcf57610dcf612cde565b604051908082528060200260200182016040528015610e0257816020015b6060815260200190600190039081610ded5790505b50905060005b82811015610bb35760008030868685818110610e2657610e26613420565b9050602002810190610e389190613436565b604051610e4692919061347d565b600060405180830381855af49150503d8060008114610e81576040519150601f19603f3d011682016040523d82523d6000602084013e610e86565b606091505b509150915081610ee857805115610ea05780518082602001fd5b60405162461bcd60e51b815260206004820152601960248201527f4c5350303a20626174636843616c6c73207265766572746564000000000000006044820152606401610861565b80848481518110610efb57610efb613420565b60209081029190910101525050600101610e08565b6000546001600160a01b031633819003610fb3576000546001600160a01b0316610f38612092565b6000546001600160a01b0316610faf57604080516001600160a01b0384166020820152600091810191909152610faf907fa4e59c931d14f7c8a7a35027f92ee40b5f2886b9fdcdb78f30bc5ecce5a2f814906060015b60408051601f198184030181529190526001600160a01b038416919061219e565b5050565b6000610fbe82611c3a565b90506000610fd46000546001600160a01b031690565b9050610fde612092565b6000546001600160a01b031661103857604080516001600160a01b0385166020820152600091810191909152611038907fa4e59c931d14f7c8a7a35027f92ee40b5f2886b9fdcdb78f30bc5ecce5a2f81490606001610f8e565b8115611057576110578360405180602001604052806000815250611e06565b50505b50565b600354600160a01b900460ff16156110a1576040517f5758dd0700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546003546001600160a01b03918216929116903382146110ec576110c782611c3a565b90506110d2826116f0565b600380546001600160a01b031916905560006002556110f4565b6110f4612232565b604080516001600160a01b03808616602083015284169181019190915261115c907fa4e59c931d14f7c8a7a35027f92ee40b5f2886b9fdcdb78f30bc5ecce5a2f814906060015b60408051601f198184030181529190526001600160a01b038616919061219e565b604080516001600160a01b0380861660208301528416918101919091526111c4907fceca317f109c43507871523e82dc2a3cc64dfa18f12da0b6db14f6e23f995538906060015b60408051601f198184030181529190526001600160a01b038516919061219e565b8015611057576110578260405180602001604052806000815250611e06565b341561126c576040516001600160e01b03196000351660208201527f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d90349033907f9c3ba68eb5742b8e3961aea0afc7371a71bf433c8a67a831803b64c064a178c29060240160408051601f1981840301815290829052611263916133f6565b60405180910390a45b6000546001600160a01b03163381900361128a576110578383612298565b600061129582611c3a565b90506112a18484612298565b80156112c0576112c08260405180602001604052806000815250611e06565b50505050565b341561134f576040516001600160e01b03196000351660208201527f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d90349033907f9c3ba68eb5742b8e3961aea0afc7371a71bf433c8a67a831803b64c064a178c29060240160408051601f1981840301815290829052611346916133f6565b60405180910390a45b805182511461138a576040517f3bcc897900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81516000036113c5576040517f97da5f9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546001600160a01b0316338190036114295760005b83518110156112c0576114218482815181106113fa576113fa613420565b602002602001015184838151811061141457611414613420565b6020026020010151612298565b6001016113dc565b600061143482611c3a565b905060005b84518110156114795761147185828151811061145757611457613420565b602002602001015185838151811061141457611414613420565b600101611439565b5080156112c0576112c08260405180602001604052806000815250611e06565b6060815167ffffffffffffffff8111156114b5576114b5612cde565b6040519080825280602002602001820160405280156114e857816020015b60608152602001906001900390816114d35790505b50905060005b825181101561153e5761151983828151811061150c5761150c613420565b602002602001015161175e565b82828151811061152b5761152b613420565b60209081029190910101526001016114ee565b50919050565b6000546001600160a01b031633819003611610576003805460ff60a01b1916600160a01b179055611574826122ed565b816001600160a01b0316816001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a3604080516001600160a01b0380841660208301528416918101919091526115ff907fe17117c9d2665d1dbeb479ed8058bbebde3c50ac50e2e65619f60006caac6926906060016111a3565b6003805460ff60a01b191690555050565b600061161b82611c3a565b6003805460ff60a01b1916600160a01b1790559050611639836122ed565b826001600160a01b0316826001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a3604080516001600160a01b0380851660208301528516918101919091526116c4907fe17117c9d2665d1dbeb479ed8058bbebde3c50ac50e2e65619f60006caac69269060600161113b565b6003805460ff60a01b191690558015611057576110578260405180602001604052806000815250611e06565b6000546001600160a01b0382811691161461105a57600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0383166001600160a01b031990911617905550565b600081815260016020526040902080546060919061177b9061348d565b80601f01602080910402602001604051908101604052809291908181526020018280546117a79061348d565b80156117f45780601f106117c9576101008083540402835291602001916117f4565b820191906000526020600020905b8154815290600101906020018083116117d757829003601f168201915b50505050509050919050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015611872575060208210155b801561187e5750600081115b979650505050505050565b604080517fffffffffffffffffffff00000000000000000000000000000000000000000000841660208201526000602a82018190526bffffffffffffffffffffffff198416602c83015291829101604051602081830303815290604052905080610cbe906134c1565b6000808061192a7fcee78b4094da86011096000000000000000000000000000000000000000000006001600160e01b03198616611889565b905060006119378261175e565b9050601481511015611950575060009485945092505050565b80516015036119d1578060148151811061196c5761196c613420565b01602001517fff00000000000000000000000000000000000000000000000000000000000000167f0100000000000000000000000000000000000000000000000000000000000000036119d1576119c281613265565b60601c95600195509350505050565b6119da81613265565b60601c95600095509350505050565b60006001600160e01b031982167fa918fa6b000000000000000000000000000000000000000000000000000000001480610917575061091782612356565b600080611a3a6301ffc9a760e01b6118f2565b5090506001600160a01b038116611a545750600092915050565b611a5e8184611800565b9392505050565b6000808251604103611a9b5760208301516040840151606085015160001a611a8f87828585612394565b94509450505050611aa3565b506000905060025b9250929050565b606083518551141580611acb575082518451141580611acb57508151835114155b15611b02576040517f3ff55f4d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451600003611b3d576040517fe9ad2b5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000855167ffffffffffffffff811115611b5957611b59612cde565b604051908082528060200260200182016040528015611b8c57816020015b6060815260200190600190039081611b775790505b50905060005b8651811015611c3057611c0b878281518110611bb057611bb0613420565b6020026020010151878381518110611bca57611bca613420565b6020026020010151878481518110611be457611be4613420565b6020026020010151878581518110611bfe57611bfe613420565b6020026020010151611f3c565b828281518110611c1d57611c1d613420565b6020908102919091010152600101611b92565b5095945050505050565b6000816001600160a01b03163b600003611c8b576040517f0c3923010000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610861565b6040517fde928f140000000000000000000000000000000000000000000000000000000081526001600160a01b0383169063de928f1490611cdb90339030908290349060009036906004016134e5565b6020604051808303816000875af1925050508015611d16575060408051601f3d908101601f19168201909252611d1391810190613542565b60015b611d55573d808015611d44576040519150601f19603f3d011682016040523d82523d6000602084013e611d49565b606091505b5061153e600082612458565b7fffffff000000000000000000000000000000000000000000000000000000000081167fde928f000000000000000000000000000000000000000000000000000000000014611dca57604051639d6741e360e01b8152600060048201526001600160e01b031982166024820152604401610861565b8060031a60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916600160f81b14915050919050565b919050565b816001600160a01b031663d3fc45d333303334600036604051602001611e319695949392919061355f565b60405160208183030381529060405280519060200120836040518363ffffffff1660e01b8152600401611e659291906133ae565b6020604051808303816000875af1925050508015611ea0575060408051601f3d908101601f19168201909252611e9d91810190613542565b60015b611edf573d808015611ece576040519150601f19603f3d011682016040523d82523d6000602084013e611ed3565b606091505b50611057600182612458565b6001600160e01b031981167fd3fc45d3000000000000000000000000000000000000000000000000000000001461105757604051639d6741e360e01b8152600160048201526001600160e01b031982166024820152604401610861565b606084611f5557611f4e84848461249e565b9050610cbe565b60018503611f8f576001600160a01b03841615611f8557604051631820c12560e11b815260040160405180910390fd5b611f4e83836125cf565b60028503611fc9576001600160a01b03841615611fbf57604051631820c12560e11b815260040160405180910390fd5b611f4e83836126e9565b60038503612013578215612009576040517f72f2bc6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4e84836127d3565b6004850361205d578215612053576040517f5ac8313500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4e84836128d7565b6040517f7583b3bc00000000000000000000000000000000000000000000000000000000815260048101869052602401610861565b60025443906000906120a69060c8906135c5565b905060006120b560c8836135c5565b9050808311806120c55750600254155b1561210d576002839055600380546001600160a01b03191690556040517f81b7f830f1f0084db6497c486cbe6974c86488dcc4e3738eab94ab6d6b1653e790600090a1505050565b81831015612151576040517f1b0809420000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610861565b61215b60006116f0565b60006002819055600380546001600160a01b03191690556040517fd1f66c3d2bc1993a86be5e3d33709d98f0442381befcedd29f578b9b2506b1ce9190a1505050565b6121b86001600160a01b038416631aed5a8560e21b611800565b1561105757604051631aed5a8560e21b81526001600160a01b03841690636bb56a14906121eb90859085906004016133ae565b6000604051808303816000875af115801561220a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112c091908101906132cf565b6003546001600160a01b03163314612278576040517f451e4528000000000000000000000000000000000000000000000000000000008152336004820152602401610861565b612281336116f0565b600380546001600160a01b03191690556000600255565b60008281526001602052604090206122b08282613626565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b2826040516122e1919061311a565b60405180910390a25050565b306001600160a01b0382160361232f576040517fe052a6f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600380546001600160a01b0319166001600160a01b03929092169190911790556000600255565b60006001600160e01b031982167f629aa694000000000000000000000000000000000000000000000000000000001480610917575061091782612988565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156123cb575060009050600361244f565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561241f573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166124485760006001925092505061244f565b9150600090505b94509492505050565b8051156124685780518082602001fd5b6040517f8c6a8ae30000000000000000000000000000000000000000000000000000000081528215156004820152602401610861565b6060824710156124ca576040516301bf351f60e31b815247600482015260248101849052604401610861565b6124d3826136e6565b6001600160e01b031916846001600160a01b031660007f4810874456b8e6487bd861375cf6abd8e1c8bb5858c8ce36a86a04dabfac199e8660405161251a91815260200190565b60405180910390a4600080856001600160a01b0316858560405161253e9190613392565b60006040518083038185875af1925050503d806000811461257b576040519150601f19603f3d011682016040523d82523d6000602084013e612580565b606091505b50915091506125c582826040518060400160405280601681526020017f455243373235583a20556e6b6e6f776e204572726f72000000000000000000008152506129d6565b9695505050505050565b6060824710156125fb576040516301bf351f60e31b815247600482015260248101849052604401610861565b815160000361261d5760405163b81cd8d960e01b815260040160405180910390fd5b600082516020840185f090506001600160a01b038116612669576040517f0b07489b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000801b816001600160a01b031660017fa1fb700aaee2ae4a2ff6f91ce7eba292f89c2f5488b8ec4c5c5c8150692595c3876040516126aa91815260200190565b60405180910390a46040516bffffffffffffffffffffffff19606083901b16602082015260340160405160208183030381529060405291505092915050565b6060815160000361270d5760405163b81cd8d960e01b815260040160405180910390fd5b60006127268360208551612721919061371a565b6129ef565b905060006127438460006020875161273e919061371a565b612a55565b90506000612752868484612b7d565b905082816001600160a01b031660027fa1fb700aaee2ae4a2ff6f91ce7eba292f89c2f5488b8ec4c5c5c8150692595c38960405161279291815260200190565b60405180910390a46040516bffffffffffffffffffffffff19606083901b166020820152603401604051602081830303815290604052935050505092915050565b60606127de826136e6565b6001600160e01b031916836001600160a01b031660037f4810874456b8e6487bd861375cf6abd8e1c8bb5858c8ce36a86a04dabfac199e600060405161282691815260200190565b60405180910390a4600080846001600160a01b0316846040516128499190613392565b600060405180830381855afa9150503d8060008114612884576040519150601f19603f3d011682016040523d82523d6000602084013e612889565b606091505b50915091506128ce82826040518060400160405280601681526020017f455243373235583a20556e6b6e6f776e204572726f72000000000000000000008152506129d6565b95945050505050565b60606128e2826136e6565b6001600160e01b031916836001600160a01b031660047f4810874456b8e6487bd861375cf6abd8e1c8bb5858c8ce36a86a04dabfac199e600060405161292a91815260200190565b60405180910390a4600080846001600160a01b03168460405161294d9190613392565b600060405180830381855af49150503d8060008114612884576040519150601f19603f3d011682016040523d82523d6000602084013e612889565b60006001600160e01b031982167f7545acac00000000000000000000000000000000000000000000000000000000148061091757506301ffc9a760e01b6001600160e01b0319831614610917565b606083156129e5575081611a5e565b611a5e8383612c81565b60006129fc8260206135c5565b83511015612a4c5760405162461bcd60e51b815260206004820152601560248201527f746f427974657333325f6f75744f66426f756e647300000000000000000000006044820152606401610861565b50016020015190565b606081612a6381601f6135c5565b1015612ab15760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610861565b612abb82846135c5565b84511015612b0b5760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610861565b606082158015612b2a5760405191506000825260208201604052612b74565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015612b63578051835260209283019201612b4b565b5050858452601f01601f1916604052505b50949350505050565b600083471015612bcf5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e63650000006044820152606401610861565b8151600003612c205760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f6044820152606401610861565b8282516020840186f590506001600160a01b038116611a5e5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f79000000000000006044820152606401610861565b815115612c915781518083602001fd5b8060405162461bcd60e51b8152600401610861919061311a565b6001600160e01b03198116811461105a57600080fd5b600060208284031215612cd357600080fd5b8135611a5e81612cab565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612d1d57612d1d612cde565b604052919050565b600067ffffffffffffffff821115612d3f57612d3f612cde565b50601f01601f191660200190565b600082601f830112612d5e57600080fd5b8135612d71612d6c82612d25565b612cf4565b818152846020838601011115612d8657600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215612db657600080fd5b82359150602083013567ffffffffffffffff811115612dd457600080fd5b612de085828601612d4d565b9150509250929050565b600067ffffffffffffffff821115612e0457612e04612cde565b5060051b60200190565b600082601f830112612e1f57600080fd5b81356020612e2f612d6c83612dea565b82815260059290921b84018101918181019086841115612e4e57600080fd5b8286015b84811015612e695780358352918301918301612e52565b509695505050505050565b80356001600160a01b0381168114611e0157600080fd5b600082601f830112612e9c57600080fd5b81356020612eac612d6c83612dea565b82815260059290921b84018101918181019086841115612ecb57600080fd5b8286015b84811015612e6957803567ffffffffffffffff811115612eef5760008081fd5b612efd8986838b0101612d4d565b845250918301918301612ecf565b60008060008060808587031215612f2157600080fd5b843567ffffffffffffffff80821115612f3957600080fd5b612f4588838901612e0e565b9550602091508187013581811115612f5c57600080fd5b8701601f81018913612f6d57600080fd5b8035612f7b612d6c82612dea565b81815260059190911b8201840190848101908b831115612f9a57600080fd5b928501925b82841015612fbf57612fb084612e74565b82529285019290850190612f9f565b97505050506040870135915080821115612fd857600080fd5b612fe488838901612e0e565b93506060870135915080821115612ffa57600080fd5b5061300787828801612e8b565b91505092959194509250565b60005b8381101561302e578181015183820152602001613016565b50506000910152565b6000815180845261304f816020860160208601613013565b601f01601f19169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156130b857603f198886030184526130a6858351613037565b9450928501929085019060010161308a565b5092979650505050505050565b600080600080608085870312156130db57600080fd5b843593506130eb60208601612e74565b925060408501359150606085013567ffffffffffffffff81111561310e57600080fd5b61300787828801612d4d565b602081526000611a5e6020830184613037565b60006020828403121561313f57600080fd5b5035919050565b6000806020838503121561315957600080fd5b823567ffffffffffffffff8082111561317157600080fd5b818501915085601f83011261318557600080fd5b81358181111561319457600080fd5b8660208260051b85010111156131a957600080fd5b60209290920196919550909350505050565b600080604083850312156131ce57600080fd5b823567ffffffffffffffff808211156131e657600080fd5b6131f286838701612e0e565b9350602085013591508082111561320857600080fd5b50612de085828601612e8b565b60006020828403121561322757600080fd5b813567ffffffffffffffff81111561323e57600080fd5b610cbe84828501612e0e565b60006020828403121561325c57600080fd5b611a5e82612e74565b805160208201516bffffffffffffffffffffffff1980821692919060148310156132995780818460140360031b1b83161693505b505050919050565b6001600160a01b03851681528360208201528260408201526080606082015260006125c56080830184613037565b6000602082840312156132e157600080fd5b815167ffffffffffffffff8111156132f857600080fd5b8201601f8101841361330957600080fd5b8051613317612d6c82612d25565b81815285602083850101111561332c57600080fd5b6128ce826020830160208601613013565b6040815260006133506040830185613037565b82810360208401526128ce8185613037565b8385823760609290921b6bffffffffffffffffffffffff1916919092019081526014810191909152603401919050565b600082516133a4818460208701613013565b9190910192915050565b828152604060208201526000610cbe6040830184613037565b6000602082840312156133d957600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6040815260006134096040830184613037565b828103602093840152600081529190910192915050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e1984360301811261344d57600080fd5b83018035915067ffffffffffffffff82111561346857600080fd5b602001915036819003821315611aa357600080fd5b8183823760009101908152919050565b600181811c908216806134a157607f821691505b60208210810361153e57634e487b7160e01b600052602260045260246000fd5b8051602080830151919081101561153e5760001960209190910360031b1b16919050565b60006001600160a01b038089168352808816602084015280871660408401525084606083015260a060808301528260a0830152828460c0840137600060c0848401015260c0601f19601f8501168301019050979650505050505050565b60006020828403121561355457600080fd5b8151611a5e81612cab565b60006bffffffffffffffffffffffff19808960601b168352808860601b166014840152808760601b1660288401525084603c8301528284605c8401375060009101605c0190815295945050505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610917576109176135af565b601f82111561105757600081815260208120601f850160051c810160208610156135ff5750805b601f850160051c820191505b8181101561361e5782815560010161360b565b505050505050565b815167ffffffffffffffff81111561364057613640612cde565b6136548161364e845461348d565b846135d8565b602080601f83116001811461368957600084156136715750858301515b600019600386901b1c1916600185901b17855561361e565b600085815260208120601f198616915b828110156136b857888601518255948401946001909101908401613699565b50858210156136d65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000815160208301516001600160e01b0319808216935060048310156132995760049290920360031b82901b161692915050565b81810381811115610917576109176135af56fea2646970667358221220a83a4a0b43280aba8b1a76cf16e5e907f2de7196da85cde1ddf58f1d8714e6a264736f6c63430008110033",
|
673
|
+
"deployedBytecode": "0x60806040526004361061012d5760003560e01c806379ba5097116100a5578063dedff9c611610074578063ead3fbdf11610059578063ead3fbdf1461021e578063f2fde38b14610402578063ffa1ad741461042257610178565b8063dedff9c6146103c4578063e30c3978146103e457610178565b806379ba5097146103575780637f23690c1461036c5780638da5cb5b1461037f57806397902421146103b157610178565b806344c028fe116100fc5780636963d438116100e15780636963d4381461030f5780636bb56a141461032f578063715018a61461034257610178565b806344c028fe146102cf57806354f6127f146102ef57610178565b806301bfba611461021e57806301ffc9a7146102465780631626ba7e1461027657806331858452146102af57610178565b36610178573415610176576101747f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d60001b6040518060200160405280600081525061046b565b505b005b600036606060048210156102065734156101f1576101ef7f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d60001b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061046b92505050565b505b50604080516020810190915260008152610213565b6102108383610741565b90505b915050805190602001f35b34801561022a57600080fd5b5061023360c881565b6040519081526020015b60405180910390f35b34801561025257600080fd5b50610266610261366004612cc1565b61091d565b604051901515815260200161023d565b34801561028257600080fd5b50610296610291366004612da3565b610a08565b6040516001600160e01b0319909116815260200161023d565b6102c26102bd366004612f0b565b610bba565b60405161023d9190613063565b6102e26102dd3660046130c5565b610cc6565b60405161023d919061311a565b3480156102fb57600080fd5b506102e261030a36600461312d565b610da9565b34801561031b57600080fd5b506102c261032a366004613146565b610db4565b6102e261033d366004612da3565b61046b565b34801561034e57600080fd5b50610176610f10565b34801561036357600080fd5b5061017661105d565b61017661037a366004612da3565b6111e3565b34801561038b57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161023d565b6101766103bf3660046131bb565b6112c6565b3480156103d057600080fd5b506102c26103df366004613215565b611499565b3480156103f057600080fd5b506003546001600160a01b0316610399565b34801561040e57600080fd5b5061017661041d36600461324a565b611544565b34801561042e57600080fd5b506102e26040518060400160405280600b81526020017f302e31352e302d72632e3400000000000000000000000000000000000000000081525081565b6060341580159061049c57507f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d8314155b15610507576105057f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d60001b6000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061046b92505050565b505b60006105327f0cfc51aec37c55a4d0b1a65c6255c4bf2fbdf6277f3cc0730c45b828b6db8b4761175e565b9050606060148251106105e357600061054a83613265565b60601c905061056081635122dded60e11b611800565b156105e157604051635122dded60e11b81526001600160a01b0382169063a245bbda9061059790339034908b908b906004016132a1565b6000604051808303816000875af11580156105b6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105de91908101906132cf565b91505b505b600061060f7f0cfc51aec37c55a4d0b10000000000000000000000000000000000000000000087611889565b9050600061061c8261175e565b9050606060148251106106cd57600061063483613265565b60601c905061064a81635122dded60e11b611800565b156106cb57604051635122dded60e11b81526001600160a01b0382169063a245bbda9061068190339034908e908e906004016132a1565b6000604051808303816000875af11580156106a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106c891908101906132cf565b91505b505b83816040516020016106e092919061333d565b60405160208183030381529060405295508734336001600160a01b03167f9c3ba68eb5742b8e3961aea0afc7371a71bf433c8a67a831803b64c064a178c28a8a60405161072e92919061333d565b60405180910390a4505050505092915050565b606060008061075b6000356001600160e01b0319166118f2565b915091503460001415801561076e575080155b156107d8576107d67f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d60001b86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061046b92505050565b505b6000356001600160e01b0319161580156107f957506001600160a01b038216155b15610817576040518060200160405280600081525092505050610917565b6001600160a01b03821661086a576040517fbb370b2b0000000000000000000000000000000000000000000000000000000081526001600160e01b03196000351660048201526024015b60405180910390fd5b600080836001600160a01b031683610883576000610885565b345b8888333460405160200161089c9493929190613362565b60408051601f19818403018152908290526108b691613392565b60006040518083038185875af1925050503d80600081146108f3576040519150601f19603f3d011682016040523d82523d6000602084013e6108f8565b606091505b5091509150811561090e57935061091792505050565b80518060208301fd5b92915050565b60006001600160e01b03198216630b135d3f60e11b148061096757506001600160e01b031982167f24871b3d00000000000000000000000000000000000000000000000000000000145b8061098257506001600160e01b03198216631aed5a8560e21b145b806109b657506001600160e01b031982167f94be599900000000000000000000000000000000000000000000000000000000145b806109ea57506001600160e01b031982167f1a0eb6a500000000000000000000000000000000000000000000000000000000145b806109f957506109f9826119e9565b80610917575061091782611a27565b600080610a1d6000546001600160a01b031690565b90506001600160a01b0381163b15610b3a57600080826001600160a01b0316631626ba7e60e01b8787604051602401610a579291906133ae565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051610a959190613392565b600060405180830381855afa9150503d8060008114610ad0576040519150601f19603f3d011682016040523d82523d6000602084013e610ad5565b606091505b50915091506000828015610aea575081516020145b8015610b1157508151630b135d3f60e11b90610b0f90840160209081019085016133c7565b145b905080610b26576001600160e01b0319610b2f565b630b135d3f60e11b5b945050505050610917565b600080610b478686611a65565b90925090506000816004811115610b6057610b606133e0565b14610b7957506001600160e01b03199250610917915050565b826001600160a01b0316826001600160a01b031614610ba0576001600160e01b0319610ba9565b630b135d3f60e11b5b9350505050610917565b5092915050565b60603415610c45576040516001600160e01b03196000351660208201527f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d90349033907f9c3ba68eb5742b8e3961aea0afc7371a71bf433c8a67a831803b64c064a178c29060240160408051601f1981840301815290829052610c3c916133f6565b60405180910390a45b6000546001600160a01b031633819003610c6d57610c6586868686611aaa565b915050610cbe565b6000610c7882611c3a565b90506000610c8888888888611aaa565b90508115610cb957610cb98382604051602001610ca59190613063565b604051602081830303815290604052611e06565b925050505b949350505050565b60603415610d51576040516001600160e01b03196000351660208201527f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d90349033907f9c3ba68eb5742b8e3961aea0afc7371a71bf433c8a67a831803b64c064a178c29060240160408051601f1981840301815290829052610d48916133f6565b60405180910390a45b6000546001600160a01b031633819003610d7157610c6586868686611f3c565b6000610d7c82611c3a565b90506000610d8c88888888611f3c565b90508115610cb957610cb98382604051602001610ca5919061311a565b60606109178261175e565b60608167ffffffffffffffff811115610dcf57610dcf612cde565b604051908082528060200260200182016040528015610e0257816020015b6060815260200190600190039081610ded5790505b50905060005b82811015610bb35760008030868685818110610e2657610e26613420565b9050602002810190610e389190613436565b604051610e4692919061347d565b600060405180830381855af49150503d8060008114610e81576040519150601f19603f3d011682016040523d82523d6000602084013e610e86565b606091505b509150915081610ee857805115610ea05780518082602001fd5b60405162461bcd60e51b815260206004820152601960248201527f4c5350303a20626174636843616c6c73207265766572746564000000000000006044820152606401610861565b80848481518110610efb57610efb613420565b60209081029190910101525050600101610e08565b6000546001600160a01b031633819003610fb3576000546001600160a01b0316610f38612092565b6000546001600160a01b0316610faf57604080516001600160a01b0384166020820152600091810191909152610faf907fa4e59c931d14f7c8a7a35027f92ee40b5f2886b9fdcdb78f30bc5ecce5a2f814906060015b60408051601f198184030181529190526001600160a01b038416919061219e565b5050565b6000610fbe82611c3a565b90506000610fd46000546001600160a01b031690565b9050610fde612092565b6000546001600160a01b031661103857604080516001600160a01b0385166020820152600091810191909152611038907fa4e59c931d14f7c8a7a35027f92ee40b5f2886b9fdcdb78f30bc5ecce5a2f81490606001610f8e565b8115611057576110578360405180602001604052806000815250611e06565b50505b50565b600354600160a01b900460ff16156110a1576040517f5758dd0700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546003546001600160a01b03918216929116903382146110ec576110c782611c3a565b90506110d2826116f0565b600380546001600160a01b031916905560006002556110f4565b6110f4612232565b604080516001600160a01b03808616602083015284169181019190915261115c907fa4e59c931d14f7c8a7a35027f92ee40b5f2886b9fdcdb78f30bc5ecce5a2f814906060015b60408051601f198184030181529190526001600160a01b038616919061219e565b604080516001600160a01b0380861660208301528416918101919091526111c4907fceca317f109c43507871523e82dc2a3cc64dfa18f12da0b6db14f6e23f995538906060015b60408051601f198184030181529190526001600160a01b038516919061219e565b8015611057576110578260405180602001604052806000815250611e06565b341561126c576040516001600160e01b03196000351660208201527f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d90349033907f9c3ba68eb5742b8e3961aea0afc7371a71bf433c8a67a831803b64c064a178c29060240160408051601f1981840301815290829052611263916133f6565b60405180910390a45b6000546001600160a01b03163381900361128a576110578383612298565b600061129582611c3a565b90506112a18484612298565b80156112c0576112c08260405180602001604052806000815250611e06565b50505050565b341561134f576040516001600160e01b03196000351660208201527f9c4705229491d365fb5434052e12a386d6771d976bea61070a8c694e8affea3d90349033907f9c3ba68eb5742b8e3961aea0afc7371a71bf433c8a67a831803b64c064a178c29060240160408051601f1981840301815290829052611346916133f6565b60405180910390a45b805182511461138a576040517f3bcc897900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81516000036113c5576040517f97da5f9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546001600160a01b0316338190036114295760005b83518110156112c0576114218482815181106113fa576113fa613420565b602002602001015184838151811061141457611414613420565b6020026020010151612298565b6001016113dc565b600061143482611c3a565b905060005b84518110156114795761147185828151811061145757611457613420565b602002602001015185838151811061141457611414613420565b600101611439565b5080156112c0576112c08260405180602001604052806000815250611e06565b6060815167ffffffffffffffff8111156114b5576114b5612cde565b6040519080825280602002602001820160405280156114e857816020015b60608152602001906001900390816114d35790505b50905060005b825181101561153e5761151983828151811061150c5761150c613420565b602002602001015161175e565b82828151811061152b5761152b613420565b60209081029190910101526001016114ee565b50919050565b6000546001600160a01b031633819003611610576003805460ff60a01b1916600160a01b179055611574826122ed565b816001600160a01b0316816001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a3604080516001600160a01b0380841660208301528416918101919091526115ff907fe17117c9d2665d1dbeb479ed8058bbebde3c50ac50e2e65619f60006caac6926906060016111a3565b6003805460ff60a01b191690555050565b600061161b82611c3a565b6003805460ff60a01b1916600160a01b1790559050611639836122ed565b826001600160a01b0316826001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a3604080516001600160a01b0380851660208301528516918101919091526116c4907fe17117c9d2665d1dbeb479ed8058bbebde3c50ac50e2e65619f60006caac69269060600161113b565b6003805460ff60a01b191690558015611057576110578260405180602001604052806000815250611e06565b6000546001600160a01b0382811691161461105a57600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0383166001600160a01b031990911617905550565b600081815260016020526040902080546060919061177b9061348d565b80601f01602080910402602001604051908101604052809291908181526020018280546117a79061348d565b80156117f45780601f106117c9576101008083540402835291602001916117f4565b820191906000526020600020905b8154815290600101906020018083116117d757829003601f168201915b50505050509050919050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015611872575060208210155b801561187e5750600081115b979650505050505050565b604080517fffffffffffffffffffff00000000000000000000000000000000000000000000841660208201526000602a82018190526bffffffffffffffffffffffff198416602c83015291829101604051602081830303815290604052905080610cbe906134c1565b6000808061192a7fcee78b4094da86011096000000000000000000000000000000000000000000006001600160e01b03198616611889565b905060006119378261175e565b9050601481511015611950575060009485945092505050565b80516015036119d1578060148151811061196c5761196c613420565b01602001517fff00000000000000000000000000000000000000000000000000000000000000167f0100000000000000000000000000000000000000000000000000000000000000036119d1576119c281613265565b60601c95600195509350505050565b6119da81613265565b60601c95600095509350505050565b60006001600160e01b031982167fa918fa6b000000000000000000000000000000000000000000000000000000001480610917575061091782612356565b600080611a3a6301ffc9a760e01b6118f2565b5090506001600160a01b038116611a545750600092915050565b611a5e8184611800565b9392505050565b6000808251604103611a9b5760208301516040840151606085015160001a611a8f87828585612394565b94509450505050611aa3565b506000905060025b9250929050565b606083518551141580611acb575082518451141580611acb57508151835114155b15611b02576040517f3ff55f4d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451600003611b3d576040517fe9ad2b5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000855167ffffffffffffffff811115611b5957611b59612cde565b604051908082528060200260200182016040528015611b8c57816020015b6060815260200190600190039081611b775790505b50905060005b8651811015611c3057611c0b878281518110611bb057611bb0613420565b6020026020010151878381518110611bca57611bca613420565b6020026020010151878481518110611be457611be4613420565b6020026020010151878581518110611bfe57611bfe613420565b6020026020010151611f3c565b828281518110611c1d57611c1d613420565b6020908102919091010152600101611b92565b5095945050505050565b6000816001600160a01b03163b600003611c8b576040517f0c3923010000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610861565b6040517fde928f140000000000000000000000000000000000000000000000000000000081526001600160a01b0383169063de928f1490611cdb90339030908290349060009036906004016134e5565b6020604051808303816000875af1925050508015611d16575060408051601f3d908101601f19168201909252611d1391810190613542565b60015b611d55573d808015611d44576040519150601f19603f3d011682016040523d82523d6000602084013e611d49565b606091505b5061153e600082612458565b7fffffff000000000000000000000000000000000000000000000000000000000081167fde928f000000000000000000000000000000000000000000000000000000000014611dca57604051639d6741e360e01b8152600060048201526001600160e01b031982166024820152604401610861565b8060031a60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916600160f81b14915050919050565b919050565b816001600160a01b031663d3fc45d333303334600036604051602001611e319695949392919061355f565b60405160208183030381529060405280519060200120836040518363ffffffff1660e01b8152600401611e659291906133ae565b6020604051808303816000875af1925050508015611ea0575060408051601f3d908101601f19168201909252611e9d91810190613542565b60015b611edf573d808015611ece576040519150601f19603f3d011682016040523d82523d6000602084013e611ed3565b606091505b50611057600182612458565b6001600160e01b031981167fd3fc45d3000000000000000000000000000000000000000000000000000000001461105757604051639d6741e360e01b8152600160048201526001600160e01b031982166024820152604401610861565b606084611f5557611f4e84848461249e565b9050610cbe565b60018503611f8f576001600160a01b03841615611f8557604051631820c12560e11b815260040160405180910390fd5b611f4e83836125cf565b60028503611fc9576001600160a01b03841615611fbf57604051631820c12560e11b815260040160405180910390fd5b611f4e83836126e9565b60038503612013578215612009576040517f72f2bc6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4e84836127d3565b6004850361205d578215612053576040517f5ac8313500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4e84836128d7565b6040517f7583b3bc00000000000000000000000000000000000000000000000000000000815260048101869052602401610861565b60025443906000906120a69060c8906135c5565b905060006120b560c8836135c5565b9050808311806120c55750600254155b1561210d576002839055600380546001600160a01b03191690556040517f81b7f830f1f0084db6497c486cbe6974c86488dcc4e3738eab94ab6d6b1653e790600090a1505050565b81831015612151576040517f1b0809420000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610861565b61215b60006116f0565b60006002819055600380546001600160a01b03191690556040517fd1f66c3d2bc1993a86be5e3d33709d98f0442381befcedd29f578b9b2506b1ce9190a1505050565b6121b86001600160a01b038416631aed5a8560e21b611800565b1561105757604051631aed5a8560e21b81526001600160a01b03841690636bb56a14906121eb90859085906004016133ae565b6000604051808303816000875af115801561220a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112c091908101906132cf565b6003546001600160a01b03163314612278576040517f451e4528000000000000000000000000000000000000000000000000000000008152336004820152602401610861565b612281336116f0565b600380546001600160a01b03191690556000600255565b60008281526001602052604090206122b08282613626565b50817fece574603820d07bc9b91f2a932baadf4628aabcb8afba49776529c14a6104b2826040516122e1919061311a565b60405180910390a25050565b306001600160a01b0382160361232f576040517fe052a6f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600380546001600160a01b0319166001600160a01b03929092169190911790556000600255565b60006001600160e01b031982167f629aa694000000000000000000000000000000000000000000000000000000001480610917575061091782612988565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156123cb575060009050600361244f565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561241f573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166124485760006001925092505061244f565b9150600090505b94509492505050565b8051156124685780518082602001fd5b6040517f8c6a8ae30000000000000000000000000000000000000000000000000000000081528215156004820152602401610861565b6060824710156124ca576040516301bf351f60e31b815247600482015260248101849052604401610861565b6124d3826136e6565b6001600160e01b031916846001600160a01b031660007f4810874456b8e6487bd861375cf6abd8e1c8bb5858c8ce36a86a04dabfac199e8660405161251a91815260200190565b60405180910390a4600080856001600160a01b0316858560405161253e9190613392565b60006040518083038185875af1925050503d806000811461257b576040519150601f19603f3d011682016040523d82523d6000602084013e612580565b606091505b50915091506125c582826040518060400160405280601681526020017f455243373235583a20556e6b6e6f776e204572726f72000000000000000000008152506129d6565b9695505050505050565b6060824710156125fb576040516301bf351f60e31b815247600482015260248101849052604401610861565b815160000361261d5760405163b81cd8d960e01b815260040160405180910390fd5b600082516020840185f090506001600160a01b038116612669576040517f0b07489b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000801b816001600160a01b031660017fa1fb700aaee2ae4a2ff6f91ce7eba292f89c2f5488b8ec4c5c5c8150692595c3876040516126aa91815260200190565b60405180910390a46040516bffffffffffffffffffffffff19606083901b16602082015260340160405160208183030381529060405291505092915050565b6060815160000361270d5760405163b81cd8d960e01b815260040160405180910390fd5b60006127268360208551612721919061371a565b6129ef565b905060006127438460006020875161273e919061371a565b612a55565b90506000612752868484612b7d565b905082816001600160a01b031660027fa1fb700aaee2ae4a2ff6f91ce7eba292f89c2f5488b8ec4c5c5c8150692595c38960405161279291815260200190565b60405180910390a46040516bffffffffffffffffffffffff19606083901b166020820152603401604051602081830303815290604052935050505092915050565b60606127de826136e6565b6001600160e01b031916836001600160a01b031660037f4810874456b8e6487bd861375cf6abd8e1c8bb5858c8ce36a86a04dabfac199e600060405161282691815260200190565b60405180910390a4600080846001600160a01b0316846040516128499190613392565b600060405180830381855afa9150503d8060008114612884576040519150601f19603f3d011682016040523d82523d6000602084013e612889565b606091505b50915091506128ce82826040518060400160405280601681526020017f455243373235583a20556e6b6e6f776e204572726f72000000000000000000008152506129d6565b95945050505050565b60606128e2826136e6565b6001600160e01b031916836001600160a01b031660047f4810874456b8e6487bd861375cf6abd8e1c8bb5858c8ce36a86a04dabfac199e600060405161292a91815260200190565b60405180910390a4600080846001600160a01b03168460405161294d9190613392565b600060405180830381855af49150503d8060008114612884576040519150601f19603f3d011682016040523d82523d6000602084013e612889565b60006001600160e01b031982167f7545acac00000000000000000000000000000000000000000000000000000000148061091757506301ffc9a760e01b6001600160e01b0319831614610917565b606083156129e5575081611a5e565b611a5e8383612c81565b60006129fc8260206135c5565b83511015612a4c5760405162461bcd60e51b815260206004820152601560248201527f746f427974657333325f6f75744f66426f756e647300000000000000000000006044820152606401610861565b50016020015190565b606081612a6381601f6135c5565b1015612ab15760405162461bcd60e51b815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610861565b612abb82846135c5565b84511015612b0b5760405162461bcd60e51b815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610861565b606082158015612b2a5760405191506000825260208201604052612b74565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015612b63578051835260209283019201612b4b565b5050858452601f01601f1916604052505b50949350505050565b600083471015612bcf5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e63650000006044820152606401610861565b8151600003612c205760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f6044820152606401610861565b8282516020840186f590506001600160a01b038116611a5e5760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f79000000000000006044820152606401610861565b815115612c915781518083602001fd5b8060405162461bcd60e51b8152600401610861919061311a565b6001600160e01b03198116811461105a57600080fd5b600060208284031215612cd357600080fd5b8135611a5e81612cab565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612d1d57612d1d612cde565b604052919050565b600067ffffffffffffffff821115612d3f57612d3f612cde565b50601f01601f191660200190565b600082601f830112612d5e57600080fd5b8135612d71612d6c82612d25565b612cf4565b818152846020838601011115612d8657600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215612db657600080fd5b82359150602083013567ffffffffffffffff811115612dd457600080fd5b612de085828601612d4d565b9150509250929050565b600067ffffffffffffffff821115612e0457612e04612cde565b5060051b60200190565b600082601f830112612e1f57600080fd5b81356020612e2f612d6c83612dea565b82815260059290921b84018101918181019086841115612e4e57600080fd5b8286015b84811015612e695780358352918301918301612e52565b509695505050505050565b80356001600160a01b0381168114611e0157600080fd5b600082601f830112612e9c57600080fd5b81356020612eac612d6c83612dea565b82815260059290921b84018101918181019086841115612ecb57600080fd5b8286015b84811015612e6957803567ffffffffffffffff811115612eef5760008081fd5b612efd8986838b0101612d4d565b845250918301918301612ecf565b60008060008060808587031215612f2157600080fd5b843567ffffffffffffffff80821115612f3957600080fd5b612f4588838901612e0e565b9550602091508187013581811115612f5c57600080fd5b8701601f81018913612f6d57600080fd5b8035612f7b612d6c82612dea565b81815260059190911b8201840190848101908b831115612f9a57600080fd5b928501925b82841015612fbf57612fb084612e74565b82529285019290850190612f9f565b97505050506040870135915080821115612fd857600080fd5b612fe488838901612e0e565b93506060870135915080821115612ffa57600080fd5b5061300787828801612e8b565b91505092959194509250565b60005b8381101561302e578181015183820152602001613016565b50506000910152565b6000815180845261304f816020860160208601613013565b601f01601f19169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156130b857603f198886030184526130a6858351613037565b9450928501929085019060010161308a565b5092979650505050505050565b600080600080608085870312156130db57600080fd5b843593506130eb60208601612e74565b925060408501359150606085013567ffffffffffffffff81111561310e57600080fd5b61300787828801612d4d565b602081526000611a5e6020830184613037565b60006020828403121561313f57600080fd5b5035919050565b6000806020838503121561315957600080fd5b823567ffffffffffffffff8082111561317157600080fd5b818501915085601f83011261318557600080fd5b81358181111561319457600080fd5b8660208260051b85010111156131a957600080fd5b60209290920196919550909350505050565b600080604083850312156131ce57600080fd5b823567ffffffffffffffff808211156131e657600080fd5b6131f286838701612e0e565b9350602085013591508082111561320857600080fd5b50612de085828601612e8b565b60006020828403121561322757600080fd5b813567ffffffffffffffff81111561323e57600080fd5b610cbe84828501612e0e565b60006020828403121561325c57600080fd5b611a5e82612e74565b805160208201516bffffffffffffffffffffffff1980821692919060148310156132995780818460140360031b1b83161693505b505050919050565b6001600160a01b03851681528360208201528260408201526080606082015260006125c56080830184613037565b6000602082840312156132e157600080fd5b815167ffffffffffffffff8111156132f857600080fd5b8201601f8101841361330957600080fd5b8051613317612d6c82612d25565b81815285602083850101111561332c57600080fd5b6128ce826020830160208601613013565b6040815260006133506040830185613037565b82810360208401526128ce8185613037565b8385823760609290921b6bffffffffffffffffffffffff1916919092019081526014810191909152603401919050565b600082516133a4818460208701613013565b9190910192915050565b828152604060208201526000610cbe6040830184613037565b6000602082840312156133d957600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6040815260006134096040830184613037565b828103602093840152600081529190910192915050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e1984360301811261344d57600080fd5b83018035915067ffffffffffffffff82111561346857600080fd5b602001915036819003821315611aa357600080fd5b8183823760009101908152919050565b600181811c908216806134a157607f821691505b60208210810361153e57634e487b7160e01b600052602260045260246000fd5b8051602080830151919081101561153e5760001960209190910360031b1b16919050565b60006001600160a01b038089168352808816602084015280871660408401525084606083015260a060808301528260a0830152828460c0840137600060c0848401015260c0601f19601f8501168301019050979650505050505050565b60006020828403121561355457600080fd5b8151611a5e81612cab565b60006bffffffffffffffffffffffff19808960601b168352808860601b166014840152808760601b1660288401525084603c8301528284605c8401375060009101605c0190815295945050505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610917576109176135af565b601f82111561105757600081815260208120601f850160051c810160208610156135ff5750805b601f850160051c820191505b8181101561361e5782815560010161360b565b505050505050565b815167ffffffffffffffff81111561364057613640612cde565b6136548161364e845461348d565b846135d8565b602080601f83116001811461368957600084156136715750858301515b600019600386901b1c1916600185901b17855561361e565b600085815260208120601f198616915b828110156136b857888601518255948401946001909101908401613699565b50858210156136d65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000815160208301516001600160e01b0319808216935060048310156132995760049290920360031b82901b161692915050565b81810381811115610917576109176135af56fea2646970667358221220a83a4a0b43280aba8b1a76cf16e5e907f2de7196da85cde1ddf58f1d8714e6a264736f6c63430008110033",
|
674
|
+
"linkReferences": {},
|
675
|
+
"deployedLinkReferences": {}
|
676
|
+
}
|