-
Notifications
You must be signed in to change notification settings - Fork 2
/
DepositManagerV1.json
608 lines (608 loc) · 49.4 KB
/
DepositManagerV1.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
{
"_format": "hh-sol-artifact-1",
"contractName": "DepositManagerV1",
"sourceName": "contracts/DepositManager/Implementations/DepositManagerV1.sol",
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "previousAdmin",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "newAdmin",
"type": "address"
}
],
"name": "AdminChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "beacon",
"type": "address"
}
],
"name": "BeaconUpgraded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "depositId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "newExpiration",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "bountyType",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"indexed": false,
"internalType": "uint256",
"name": "version",
"type": "uint256"
}
],
"name": "DepositExtended",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "depositId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "string",
"name": "bountyId",
"type": "string"
},
{
"indexed": false,
"internalType": "address",
"name": "bountyAddress",
"type": "address"
},
{
"indexed": false,
"internalType": "string",
"name": "organization",
"type": "string"
},
{
"indexed": false,
"internalType": "uint256",
"name": "refundTime",
"type": "uint256"
},
{
"indexed": false,
"internalType": "address",
"name": "tokenAddress",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "volume",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "bountyType",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"indexed": false,
"internalType": "uint256",
"name": "version",
"type": "uint256"
}
],
"name": "DepositRefunded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint8",
"name": "version",
"type": "uint8"
}
],
"name": "Initialized",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "depositId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "address",
"name": "bountyAddress",
"type": "address"
},
{
"indexed": false,
"internalType": "string",
"name": "bountyId",
"type": "string"
},
{
"indexed": false,
"internalType": "string",
"name": "organization",
"type": "string"
},
{
"indexed": false,
"internalType": "address",
"name": "tokenAddress",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "receiveTime",
"type": "uint256"
},
{
"indexed": false,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "expiration",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "bountyType",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"indexed": false,
"internalType": "uint256",
"name": "version",
"type": "uint256"
}
],
"name": "NFTDepositReceived",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "depositId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "address",
"name": "bountyAddress",
"type": "address"
},
{
"indexed": false,
"internalType": "string",
"name": "bountyId",
"type": "string"
},
{
"indexed": false,
"internalType": "string",
"name": "organization",
"type": "string"
},
{
"indexed": false,
"internalType": "address",
"name": "tokenAddress",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "receiveTime",
"type": "uint256"
},
{
"indexed": false,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "expiration",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "volume",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "bountyType",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"indexed": false,
"internalType": "uint256",
"name": "version",
"type": "uint256"
}
],
"name": "TokenDepositReceived",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "implementation",
"type": "address"
}
],
"name": "Upgraded",
"type": "event"
},
{
"inputs": [],
"name": "VERSION_1",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_bountyAddress",
"type": "address"
},
{
"internalType": "bytes32",
"name": "_depositId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "_seconds",
"type": "uint256"
}
],
"name": "extendDeposit",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_bountyAddress",
"type": "address"
},
{
"internalType": "address",
"name": "_tokenAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "_volume",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_expiration",
"type": "uint256"
},
{
"internalType": "string",
"name": "funderUuid",
"type": "string"
}
],
"name": "fundBountyToken",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_openQ",
"type": "address"
},
{
"internalType": "address",
"name": "_openQTokenWhitelist",
"type": "address"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_tokenAddress",
"type": "address"
}
],
"name": "isWhitelisted",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "openQ",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "openQTokenWhitelist",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "proxiableUUID",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_bountyAddress",
"type": "address"
},
{
"internalType": "bytes32",
"name": "_depositId",
"type": "bytes32"
}
],
"name": "refundDeposit",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_openQ",
"type": "address"
}
],
"name": "setOpenQ",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_openQTokenWhitelist",
"type": "address"
}
],
"name": "setTokenWhitelist",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newImplementation",
"type": "address"
}
],
"name": "upgradeTo",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newImplementation",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "upgradeToAndCall",
"outputs": [],
"stateMutability": "payable",
"type": "function"
}
],
"bytecode": "0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100e2565b600054610100900460ff161561008e5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100e0576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805161239d6200016e600039600081816102d70152818161032001528181610563015281816105a301528181610763015281816107a30152818161088e015281816108ce015281816109470152818161098701528181610a1401528181610ad301528181610b1301528181611183015281816111c30152818161124d015261128d015261239d6000f3fe6080604052600436106100d35760003560e01c8063715018a61161007a578063715018a6146101da5780637dc81fa2146101ef5780638da5cb5b1461021c578063d0dec3591461023a578063f2fde38b1461025a578063f75161c61461027a578063fdf993a81461029a578063ff9d28b0146102ba57600080fd5b806326c20e5f146100d857806332fe1fec146101005780633659cfe6146101225780633af32abf14610142578063485cc955146101725780634f1ef28614610192578063527b22db146101a557806352d1902d146101c5575b600080fd5b3480156100e457600080fd5b506100ed600181565b6040519081526020015b60405180910390f35b34801561010c57600080fd5b5061012061011b366004611cbc565b6102cd565b005b34801561012e57600080fd5b5061012061013d366004611cf1565b610559565b34801561014e57600080fd5b5061016261015d366004611cf1565b610621565b60405190151581526020016100f7565b34801561017e57600080fd5b5061012061018d366004611d0e565b610699565b6101206101a0366004611df4565b610884565b3480156101b157600080fd5b506101206101c0366004611cf1565b61093d565b3480156101d157600080fd5b506100ed610a07565b3480156101e657600080fd5b50610120610ab5565b3480156101fb57600080fd5b5060ca5461020f906001600160a01b031681565b6040516100f79190611e58565b34801561022857600080fd5b506033546001600160a01b031661020f565b34801561024657600080fd5b50610120610255366004611e6c565b610ac9565b34801561026657600080fd5b50610120610275366004611cf1565b611103565b34801561028657600080fd5b5060c95461020f906001600160a01b031681565b3480156102a657600080fd5b506101206102b5366004611cf1565b611179565b6101206102c8366004611e98565b611243565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361031e5760405162461bcd60e51b815260040161031590611f22565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661035061167e565b6001600160a01b0316146103765760405162461bcd60e51b815260040161031590611f6e565b826103808161169a565b604051806040016040528060128152602001711393d7d15354151657d093d553951657d25160721b815250906103c95760405162461bcd60e51b8152600401610315919061200a565b5060405163166ea0d160e21b81526004810184905233906001600160a01b038316906359ba834490602401602060405180830381865afa158015610411573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610435919061201d565b6001600160a01b0316146040518060400160405280601181526020017021a0a62622a92fa727aa2fa32aa72222a960791b815250906104875760405162461bcd60e51b8152600401610315919061200a565b5060405163e83963eb60e01b815260048101849052602481018390523360448201526000906001600160a01b0383169063e83963eb906064016020604051808303816000875af11580156104df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610503919061203a565b60408051600080825260208201928390529293507fff6b606253b167363e000664c8b931e839bf0ab135de9d6cfc5e26311a1ff6c49261054a928892869291600190612053565b60405180910390a15050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105a15760405162461bcd60e51b815260040161031590611f22565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166105d361167e565b6001600160a01b0316146105f95760405162461bcd60e51b815260040161031590611f6e565b6106028161175b565b6040805160008082526020820190925261061e91839190611763565b50565b60c954604051633af32abf60e01b81526000916001600160a01b031690633af32abf90610652908590600401611e58565b602060405180830381865afa15801561066f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610693919061208a565b92915050565b600054610100900460ff16158080156106b95750600054600160ff909116105b806106d35750303b1580156106d3575060005460ff166001145b6107365760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610315565b6000805460ff191660011790558015610759576000805461ff0019166101001790555b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107a15760405162461bcd60e51b815260040161031590611f22565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107d361167e565b6001600160a01b0316146107f95760405162461bcd60e51b815260040161031590611f6e565b6108016118ce565b6108096118fd565b60ca80546001600160a01b038086166001600160a01b03199283161790925560c9805492851692909116919091179055801561087f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036108cc5760405162461bcd60e51b815260040161031590611f22565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108fe61167e565b6001600160a01b0316146109245760405162461bcd60e51b815260040161031590611f6e565b61092d8261175b565b61093982826001611763565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109855760405162461bcd60e51b815260040161031590611f22565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109b761167e565b6001600160a01b0316146109dd5760405162461bcd60e51b815260040161031590611f6e565b6109e5611924565b60c980546001600160a01b0319166001600160a01b0392909216919091179055565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610aa25760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610315565b5060008051602061232183398151915290565b610abd611924565b610ac7600061197e565b565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610b115760405162461bcd60e51b815260040161031590611f22565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610b4361167e565b6001600160a01b031614610b695760405162461bcd60e51b815260040161031590611f6e565b81610b738161169a565b604051806040016040528060128152602001711393d7d15354151657d093d553951657d25160721b81525090610bbc5760405162461bcd60e51b8152600401610315919061200a565b5060405163166ea0d160e21b81526004810183905233906001600160a01b038316906359ba834490602401602060405180830381865afa158015610c04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c28919061201d565b6001600160a01b0316146040518060400160405280601181526020017021a0a62622a92fa727aa2fa32aa72222a960791b81525090610c7a5760405162461bcd60e51b8152600401610315919061200a565b506040516356406fa560e01b8152600481018390526001600160a01b038216906356406fa590602401602060405180830381865afa158015610cc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce4919061203a565b60405163968b098f60e01b8152600481018490526001600160a01b0383169063968b098f90602401602060405180830381865afa158015610d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4d919061203a565b610d5791906120c2565b4210156040518060400160405280601881526020017714149153505515549157d4915195539117d49154555154d560421b81525090610da95760405162461bcd60e51b8152600401610315919061200a565b506040516397bb3ce960e01b8152600481018390526000906001600160a01b038316906397bb3ce990602401602060405180830381865afa158015610df2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e16919061201d565b6040516305657ba960e21b8152600481018590529091506000906001600160a01b03841690631595eea490602401602060405180830381865afa158015610e61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e85919061203a565b90506000836001600160a01b0316633aecd0e3846040518263ffffffff1660e01b8152600401610eb59190611e58565b602060405180830381865afa158015610ed2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef6919061203a565b90506000818311610f08575081610f0b565b50805b60405163eb58c0fd60e01b815260048101879052336024820152604481018290526001600160a01b0386169063eb58c0fd90606401600060405180830381600087803b158015610f5a57600080fd5b505af1158015610f6e573d6000803e3d6000fd5b505050507f69564edf78e6beb23606d24a3d00a7d77315e974782eca07c9a0139393ef797f86866001600160a01b031663c17bd75e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610fd2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ffa91908101906120d5565b89886001600160a01b03166323bd4d7a6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611039573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261106191908101906120d5565b6040516397bb3ce960e01b8152600481018c905242906001600160a01b038c16906397bb3ce990602401602060405180830381865afa1580156110a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110cc919061201d565b60408051600080825260208201928390526110f2989796959493928b9290600190612143565b60405180910390a150505050505050565b61110b611924565b6001600160a01b0381166111705760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610315565b61061e8161197e565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036111c15760405162461bcd60e51b815260040161031590611f22565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111f361167e565b6001600160a01b0316146112195760405162461bcd60e51b815260040161031590611f6e565b611221611924565b60ca80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361128b5760405162461bcd60e51b815260040161031590611f22565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166112bd61167e565b6001600160a01b0316146112e35760405162461bcd60e51b815260040161031590611f6e565b846112ed826119d0565b6040518060400160405280600e81526020016d494e56414c49445f535452494e4760901b815250906113325760405162461bcd60e51b8152600401610315919061200a565b506001600160801b0383111561134757600080fd5b6113508661169a565b604051806040016040528060128152602001711393d7d15354151657d093d553951657d25160721b815250906113995760405162461bcd60e51b8152600401610315919061200a565b50806001600160a01b0316631d1438486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113fc919061201d565b6001600160a01b0316336001600160a01b0316146040518060400160405280601181526020017021a0a62622a92fa727aa2fa4a9a9aaa2a960791b815250906114585760405162461bcd60e51b8152600401610315919061200a565b5061146285610621565b604051806040016040528060128152602001711513d2d15397d393d517d050d0d15415115160721b815250906114ab5760405162461bcd60e51b8152600401610315919061200a565b506040516335bf83d160e21b81523360048201526001600160a01b0386811660248301526044820186905260648201859052600091829184169063d6fe0f44903490608401604080518083038185885af115801561150d573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061153291906121cb565b91509150600084604051602001611549919061200a565b60405160208183030381529060405290507f5b079a43aec0177fbeb930213940b8d476a8c4e0b37343e2059b6d61400d9762838a866001600160a01b031663c17bd75e6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156115bb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115e391908101906120d5565b876001600160a01b03166323bd4d7a6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611621573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261164991908101906120d5565b8c42338d8a60008b600160405161166b9c9b9a999897969594939291906121ef565b60405180910390a1505050505050505050565b600080516020612321833981519152546001600160a01b031690565b60ca5460405163021fb0d960e31b815260009182916001600160a01b03909116906310fd86c8906116cf908690600401611e58565b6000604051808303816000875af11580156116ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261171691908101906120d5565b60408051600081526020810180835281519020929350829161173a9185910161228a565b60405160208183030381529060405280519060200120141592505050919050565b61061e611924565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156117965761087f83611a3c565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156117f0575060408051601f3d908101601f191682019092526117ed9181019061203a565b60015b6118535760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610315565b60008051602061232183398151915281146118c25760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610315565b5061087f838383611ad8565b600054610100900460ff166118f55760405162461bcd60e51b8152600401610315906122a6565b610ac7611b03565b600054610100900460ff16610ac75760405162461bcd60e51b8152600401610315906122a6565b6033546001600160a01b03163314610ac75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610315565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600081815b8151811015611a325760008282815181106119f2576119f26122f1565b0160209081015160f81c915081111580611a0f5750607e8160ff16115b15611a1f57506000949350505050565b5080611a2a81612307565b9150506119d5565b5060019392505050565b6001600160a01b0381163b611aa95760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610315565b60008051602061232183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611ae183611b33565b600082511180611aee5750805b1561087f57611afd8383611b73565b50505050565b600054610100900460ff16611b2a5760405162461bcd60e51b8152600401610315906122a6565b610ac73361197e565b611b3c81611a3c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b611bdb5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610315565b600080846001600160a01b031684604051611bf6919061228a565b600060405180830381855af49150503d8060008114611c31576040519150601f19603f3d011682016040523d82523d6000602084013e611c36565b606091505b5091509150611c5e828260405180606001604052806027815260200161234160279139611c67565b95945050505050565b60608315611c76575081611ca0565b825115611c865782518084602001fd5b8160405162461bcd60e51b8152600401610315919061200a565b9392505050565b6001600160a01b038116811461061e57600080fd5b600080600060608486031215611cd157600080fd5b8335611cdc81611ca7565b95602085013595506040909401359392505050565b600060208284031215611d0357600080fd5b8135611ca081611ca7565b60008060408385031215611d2157600080fd5b8235611d2c81611ca7565b91506020830135611d3c81611ca7565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611d8657611d86611d47565b604052919050565b600067ffffffffffffffff821115611da857611da8611d47565b50601f01601f191660200190565b6000611dc9611dc484611d8e565b611d5d565b9050828152838383011115611ddd57600080fd5b828260208301376000602084830101529392505050565b60008060408385031215611e0757600080fd5b8235611e1281611ca7565b9150602083013567ffffffffffffffff811115611e2e57600080fd5b8301601f81018513611e3f57600080fd5b611e4e85823560208401611db6565b9150509250929050565b6001600160a01b0391909116815260200190565b60008060408385031215611e7f57600080fd5b8235611e8a81611ca7565b946020939093013593505050565b600080600080600060a08688031215611eb057600080fd5b8535611ebb81611ca7565b94506020860135611ecb81611ca7565b93506040860135925060608601359150608086013567ffffffffffffffff811115611ef557600080fd5b8601601f81018813611f0657600080fd5b611f1588823560208401611db6565b9150509295509295909350565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60005b83811015611fd5578181015183820152602001611fbd565b50506000910152565b60008151808452611ff6816020860160208601611fba565b601f01601f19169290920160200192915050565b602081526000611ca06020830184611fde565b60006020828403121561202f57600080fd5b8151611ca081611ca7565b60006020828403121561204c57600080fd5b5051919050565b85815284602082015283604082015260a06060820152600061207860a0830185611fde565b90508260808301529695505050505050565b60006020828403121561209c57600080fd5b81518015158114611ca057600080fd5b634e487b7160e01b600052601160045260246000fd5b80820180821115610693576106936120ac565b6000602082840312156120e757600080fd5b815167ffffffffffffffff8111156120fe57600080fd5b8201601f8101841361210f57600080fd5b805161211d611dc482611d8e565b81815285602083850101111561213257600080fd5b611c5e826020830160208601611fba565b60006101408c835280602084015261215d8184018d611fde565b6001600160a01b038c811660408601528482036060860152909150612182828c611fde565b915089608085015280891660a0850152508660c08401528560e08401528281036101008401526121b28186611fde565b915050826101208301529b9a5050505050505050505050565b600080604083850312156121de57600080fd5b505080516020909101519092909150565b8c81526001600160a01b038c811660208301526101806040830181905260009161221b8483018f611fde565b9150838203606085015261222f828e611fde565b9150808c1660808501528a60a0850152808a1660c0850152508760e0840152866101008401528561012084015282810361014084015261226f8186611fde565b915050826101608301529d9c50505050505050505050505050565b6000825161229c818460208701611fba565b9190910192915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600060018201612319576123196120ac565b506001019056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220984cd7c47340ac562f9f59fe7456b58af0d1a29131ad0053b9de9ced55141d3864736f6c63430008110033",
"deployedBytecode": "0x6080604052600436106100d35760003560e01c8063715018a61161007a578063715018a6146101da5780637dc81fa2146101ef5780638da5cb5b1461021c578063d0dec3591461023a578063f2fde38b1461025a578063f75161c61461027a578063fdf993a81461029a578063ff9d28b0146102ba57600080fd5b806326c20e5f146100d857806332fe1fec146101005780633659cfe6146101225780633af32abf14610142578063485cc955146101725780634f1ef28614610192578063527b22db146101a557806352d1902d146101c5575b600080fd5b3480156100e457600080fd5b506100ed600181565b6040519081526020015b60405180910390f35b34801561010c57600080fd5b5061012061011b366004611cbc565b6102cd565b005b34801561012e57600080fd5b5061012061013d366004611cf1565b610559565b34801561014e57600080fd5b5061016261015d366004611cf1565b610621565b60405190151581526020016100f7565b34801561017e57600080fd5b5061012061018d366004611d0e565b610699565b6101206101a0366004611df4565b610884565b3480156101b157600080fd5b506101206101c0366004611cf1565b61093d565b3480156101d157600080fd5b506100ed610a07565b3480156101e657600080fd5b50610120610ab5565b3480156101fb57600080fd5b5060ca5461020f906001600160a01b031681565b6040516100f79190611e58565b34801561022857600080fd5b506033546001600160a01b031661020f565b34801561024657600080fd5b50610120610255366004611e6c565b610ac9565b34801561026657600080fd5b50610120610275366004611cf1565b611103565b34801561028657600080fd5b5060c95461020f906001600160a01b031681565b3480156102a657600080fd5b506101206102b5366004611cf1565b611179565b6101206102c8366004611e98565b611243565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361031e5760405162461bcd60e51b815260040161031590611f22565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661035061167e565b6001600160a01b0316146103765760405162461bcd60e51b815260040161031590611f6e565b826103808161169a565b604051806040016040528060128152602001711393d7d15354151657d093d553951657d25160721b815250906103c95760405162461bcd60e51b8152600401610315919061200a565b5060405163166ea0d160e21b81526004810184905233906001600160a01b038316906359ba834490602401602060405180830381865afa158015610411573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610435919061201d565b6001600160a01b0316146040518060400160405280601181526020017021a0a62622a92fa727aa2fa32aa72222a960791b815250906104875760405162461bcd60e51b8152600401610315919061200a565b5060405163e83963eb60e01b815260048101849052602481018390523360448201526000906001600160a01b0383169063e83963eb906064016020604051808303816000875af11580156104df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610503919061203a565b60408051600080825260208201928390529293507fff6b606253b167363e000664c8b931e839bf0ab135de9d6cfc5e26311a1ff6c49261054a928892869291600190612053565b60405180910390a15050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105a15760405162461bcd60e51b815260040161031590611f22565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166105d361167e565b6001600160a01b0316146105f95760405162461bcd60e51b815260040161031590611f6e565b6106028161175b565b6040805160008082526020820190925261061e91839190611763565b50565b60c954604051633af32abf60e01b81526000916001600160a01b031690633af32abf90610652908590600401611e58565b602060405180830381865afa15801561066f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610693919061208a565b92915050565b600054610100900460ff16158080156106b95750600054600160ff909116105b806106d35750303b1580156106d3575060005460ff166001145b6107365760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610315565b6000805460ff191660011790558015610759576000805461ff0019166101001790555b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107a15760405162461bcd60e51b815260040161031590611f22565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107d361167e565b6001600160a01b0316146107f95760405162461bcd60e51b815260040161031590611f6e565b6108016118ce565b6108096118fd565b60ca80546001600160a01b038086166001600160a01b03199283161790925560c9805492851692909116919091179055801561087f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036108cc5760405162461bcd60e51b815260040161031590611f22565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108fe61167e565b6001600160a01b0316146109245760405162461bcd60e51b815260040161031590611f6e565b61092d8261175b565b61093982826001611763565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109855760405162461bcd60e51b815260040161031590611f22565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109b761167e565b6001600160a01b0316146109dd5760405162461bcd60e51b815260040161031590611f6e565b6109e5611924565b60c980546001600160a01b0319166001600160a01b0392909216919091179055565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610aa25760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610315565b5060008051602061232183398151915290565b610abd611924565b610ac7600061197e565b565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610b115760405162461bcd60e51b815260040161031590611f22565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610b4361167e565b6001600160a01b031614610b695760405162461bcd60e51b815260040161031590611f6e565b81610b738161169a565b604051806040016040528060128152602001711393d7d15354151657d093d553951657d25160721b81525090610bbc5760405162461bcd60e51b8152600401610315919061200a565b5060405163166ea0d160e21b81526004810183905233906001600160a01b038316906359ba834490602401602060405180830381865afa158015610c04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c28919061201d565b6001600160a01b0316146040518060400160405280601181526020017021a0a62622a92fa727aa2fa32aa72222a960791b81525090610c7a5760405162461bcd60e51b8152600401610315919061200a565b506040516356406fa560e01b8152600481018390526001600160a01b038216906356406fa590602401602060405180830381865afa158015610cc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce4919061203a565b60405163968b098f60e01b8152600481018490526001600160a01b0383169063968b098f90602401602060405180830381865afa158015610d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4d919061203a565b610d5791906120c2565b4210156040518060400160405280601881526020017714149153505515549157d4915195539117d49154555154d560421b81525090610da95760405162461bcd60e51b8152600401610315919061200a565b506040516397bb3ce960e01b8152600481018390526000906001600160a01b038316906397bb3ce990602401602060405180830381865afa158015610df2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e16919061201d565b6040516305657ba960e21b8152600481018590529091506000906001600160a01b03841690631595eea490602401602060405180830381865afa158015610e61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e85919061203a565b90506000836001600160a01b0316633aecd0e3846040518263ffffffff1660e01b8152600401610eb59190611e58565b602060405180830381865afa158015610ed2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef6919061203a565b90506000818311610f08575081610f0b565b50805b60405163eb58c0fd60e01b815260048101879052336024820152604481018290526001600160a01b0386169063eb58c0fd90606401600060405180830381600087803b158015610f5a57600080fd5b505af1158015610f6e573d6000803e3d6000fd5b505050507f69564edf78e6beb23606d24a3d00a7d77315e974782eca07c9a0139393ef797f86866001600160a01b031663c17bd75e6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610fd2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ffa91908101906120d5565b89886001600160a01b03166323bd4d7a6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611039573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261106191908101906120d5565b6040516397bb3ce960e01b8152600481018c905242906001600160a01b038c16906397bb3ce990602401602060405180830381865afa1580156110a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110cc919061201d565b60408051600080825260208201928390526110f2989796959493928b9290600190612143565b60405180910390a150505050505050565b61110b611924565b6001600160a01b0381166111705760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610315565b61061e8161197e565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036111c15760405162461bcd60e51b815260040161031590611f22565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111f361167e565b6001600160a01b0316146112195760405162461bcd60e51b815260040161031590611f6e565b611221611924565b60ca80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361128b5760405162461bcd60e51b815260040161031590611f22565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166112bd61167e565b6001600160a01b0316146112e35760405162461bcd60e51b815260040161031590611f6e565b846112ed826119d0565b6040518060400160405280600e81526020016d494e56414c49445f535452494e4760901b815250906113325760405162461bcd60e51b8152600401610315919061200a565b506001600160801b0383111561134757600080fd5b6113508661169a565b604051806040016040528060128152602001711393d7d15354151657d093d553951657d25160721b815250906113995760405162461bcd60e51b8152600401610315919061200a565b50806001600160a01b0316631d1438486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113fc919061201d565b6001600160a01b0316336001600160a01b0316146040518060400160405280601181526020017021a0a62622a92fa727aa2fa4a9a9aaa2a960791b815250906114585760405162461bcd60e51b8152600401610315919061200a565b5061146285610621565b604051806040016040528060128152602001711513d2d15397d393d517d050d0d15415115160721b815250906114ab5760405162461bcd60e51b8152600401610315919061200a565b506040516335bf83d160e21b81523360048201526001600160a01b0386811660248301526044820186905260648201859052600091829184169063d6fe0f44903490608401604080518083038185885af115801561150d573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061153291906121cb565b91509150600084604051602001611549919061200a565b60405160208183030381529060405290507f5b079a43aec0177fbeb930213940b8d476a8c4e0b37343e2059b6d61400d9762838a866001600160a01b031663c17bd75e6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156115bb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115e391908101906120d5565b876001600160a01b03166323bd4d7a6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611621573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261164991908101906120d5565b8c42338d8a60008b600160405161166b9c9b9a999897969594939291906121ef565b60405180910390a1505050505050505050565b600080516020612321833981519152546001600160a01b031690565b60ca5460405163021fb0d960e31b815260009182916001600160a01b03909116906310fd86c8906116cf908690600401611e58565b6000604051808303816000875af11580156116ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261171691908101906120d5565b60408051600081526020810180835281519020929350829161173a9185910161228a565b60405160208183030381529060405280519060200120141592505050919050565b61061e611924565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156117965761087f83611a3c565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156117f0575060408051601f3d908101601f191682019092526117ed9181019061203a565b60015b6118535760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610315565b60008051602061232183398151915281146118c25760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610315565b5061087f838383611ad8565b600054610100900460ff166118f55760405162461bcd60e51b8152600401610315906122a6565b610ac7611b03565b600054610100900460ff16610ac75760405162461bcd60e51b8152600401610315906122a6565b6033546001600160a01b03163314610ac75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610315565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600081815b8151811015611a325760008282815181106119f2576119f26122f1565b0160209081015160f81c915081111580611a0f5750607e8160ff16115b15611a1f57506000949350505050565b5080611a2a81612307565b9150506119d5565b5060019392505050565b6001600160a01b0381163b611aa95760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610315565b60008051602061232183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611ae183611b33565b600082511180611aee5750805b1561087f57611afd8383611b73565b50505050565b600054610100900460ff16611b2a5760405162461bcd60e51b8152600401610315906122a6565b610ac73361197e565b611b3c81611a3c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b611bdb5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610315565b600080846001600160a01b031684604051611bf6919061228a565b600060405180830381855af49150503d8060008114611c31576040519150601f19603f3d011682016040523d82523d6000602084013e611c36565b606091505b5091509150611c5e828260405180606001604052806027815260200161234160279139611c67565b95945050505050565b60608315611c76575081611ca0565b825115611c865782518084602001fd5b8160405162461bcd60e51b8152600401610315919061200a565b9392505050565b6001600160a01b038116811461061e57600080fd5b600080600060608486031215611cd157600080fd5b8335611cdc81611ca7565b95602085013595506040909401359392505050565b600060208284031215611d0357600080fd5b8135611ca081611ca7565b60008060408385031215611d2157600080fd5b8235611d2c81611ca7565b91506020830135611d3c81611ca7565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611d8657611d86611d47565b604052919050565b600067ffffffffffffffff821115611da857611da8611d47565b50601f01601f191660200190565b6000611dc9611dc484611d8e565b611d5d565b9050828152838383011115611ddd57600080fd5b828260208301376000602084830101529392505050565b60008060408385031215611e0757600080fd5b8235611e1281611ca7565b9150602083013567ffffffffffffffff811115611e2e57600080fd5b8301601f81018513611e3f57600080fd5b611e4e85823560208401611db6565b9150509250929050565b6001600160a01b0391909116815260200190565b60008060408385031215611e7f57600080fd5b8235611e8a81611ca7565b946020939093013593505050565b600080600080600060a08688031215611eb057600080fd5b8535611ebb81611ca7565b94506020860135611ecb81611ca7565b93506040860135925060608601359150608086013567ffffffffffffffff811115611ef557600080fd5b8601601f81018813611f0657600080fd5b611f1588823560208401611db6565b9150509295509295909350565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60005b83811015611fd5578181015183820152602001611fbd565b50506000910152565b60008151808452611ff6816020860160208601611fba565b601f01601f19169290920160200192915050565b602081526000611ca06020830184611fde565b60006020828403121561202f57600080fd5b8151611ca081611ca7565b60006020828403121561204c57600080fd5b5051919050565b85815284602082015283604082015260a06060820152600061207860a0830185611fde565b90508260808301529695505050505050565b60006020828403121561209c57600080fd5b81518015158114611ca057600080fd5b634e487b7160e01b600052601160045260246000fd5b80820180821115610693576106936120ac565b6000602082840312156120e757600080fd5b815167ffffffffffffffff8111156120fe57600080fd5b8201601f8101841361210f57600080fd5b805161211d611dc482611d8e565b81815285602083850101111561213257600080fd5b611c5e826020830160208601611fba565b60006101408c835280602084015261215d8184018d611fde565b6001600160a01b038c811660408601528482036060860152909150612182828c611fde565b915089608085015280891660a0850152508660c08401528560e08401528281036101008401526121b28186611fde565b915050826101208301529b9a5050505050505050505050565b600080604083850312156121de57600080fd5b505080516020909101519092909150565b8c81526001600160a01b038c811660208301526101806040830181905260009161221b8483018f611fde565b9150838203606085015261222f828e611fde565b9150808c1660808501528a60a0850152808a1660c0850152508760e0840152866101008401528561012084015282810361014084015261226f8186611fde565b915050826101608301529d9c50505050505050505050505050565b6000825161229c818460208701611fba565b9190910192915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600060018201612319576123196120ac565b506001019056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220984cd7c47340ac562f9f59fe7456b58af0d1a29131ad0053b9de9ced55141d3864736f6c63430008110033",
"linkReferences": {},
"deployedLinkReferences": {}
}