@paulstinchcombe/gasless-nft-tx 0.11.2 → 0.12.0
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.
- package/dist/KAMI-NFTs/KAMI1155CUpgradeable.sol +1069 -0
- package/dist/KAMI-NFTs/KAMI721ACUpgradable.sol +949 -0
- package/dist/KAMI-NFTs/KAMI721CUpgradeable.sol +691 -0
- package/dist/KAMI-NFTs/ProxyAdmin.sol +12 -0
- package/dist/KAMI-NFTs/TransparentUpgradeableProxy.sol +15 -0
- package/dist/KAMI-NFTs/artifacts/contracts/KAMI1155CUpgradeable.sol/KAMI1155CUpgradeable.dbg.json +4 -0
- package/dist/KAMI-NFTs/artifacts/contracts/KAMI1155CUpgradeable.sol/KAMI1155CUpgradeable.json +2207 -0
- package/dist/KAMI-NFTs/artifacts/contracts/KAMI721ACUpgradable.sol/KAMI721ACUpgradable.dbg.json +4 -0
- package/dist/KAMI-NFTs/artifacts/contracts/KAMI721ACUpgradable.sol/KAMI721ACUpgradable.json +2210 -0
- package/dist/KAMI-NFTs/artifacts/contracts/KAMI721CUpgradeable.sol/KAMI721CUpgradeable.dbg.json +4 -0
- package/dist/KAMI-NFTs/artifacts/contracts/KAMI721CUpgradeable.sol/KAMI721CUpgradeable.json +1823 -0
- package/dist/KAMI-NFTs/artifacts/contracts/ProxyAdmin.sol/KAMIProxyAdmin.dbg.json +4 -0
- package/dist/KAMI-NFTs/artifacts/contracts/ProxyAdmin.sol/KAMIProxyAdmin.json +132 -0
- package/dist/KAMI-NFTs/artifacts/contracts/TransparentUpgradeableProxy.sol/KAMITransparentUpgradeableProxy.dbg.json +4 -0
- package/dist/KAMI-NFTs/artifacts/contracts/TransparentUpgradeableProxy.sol/KAMITransparentUpgradeableProxy.json +116 -0
- package/dist/kami-sponsored-operations.d.ts.map +1 -1
- package/dist/kami-sponsored-operations.js +19 -7
- package/dist/kami-sponsored-operations.js.map +1 -1
- package/dist/kami-upgrade-manager.d.ts +65 -0
- package/dist/kami-upgrade-manager.d.ts.map +1 -0
- package/dist/kami-upgrade-manager.js +320 -0
- package/dist/kami-upgrade-manager.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,2210 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "KAMI721ACUpgradable",
|
|
4
|
+
"sourceName": "contracts/KAMI721ACUpgradable.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [],
|
|
8
|
+
"name": "AccessControlBadConfirmation",
|
|
9
|
+
"type": "error"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"inputs": [
|
|
13
|
+
{
|
|
14
|
+
"internalType": "address",
|
|
15
|
+
"name": "account",
|
|
16
|
+
"type": "address"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"internalType": "bytes32",
|
|
20
|
+
"name": "neededRole",
|
|
21
|
+
"type": "bytes32"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"name": "AccessControlUnauthorizedAccount",
|
|
25
|
+
"type": "error"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"inputs": [
|
|
29
|
+
{
|
|
30
|
+
"internalType": "address",
|
|
31
|
+
"name": "target",
|
|
32
|
+
"type": "address"
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
"name": "AddressEmptyCode",
|
|
36
|
+
"type": "error"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"inputs": [],
|
|
40
|
+
"name": "AlreadyClaimed",
|
|
41
|
+
"type": "error"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"inputs": [],
|
|
45
|
+
"name": "ArrayLengthMismatch",
|
|
46
|
+
"type": "error"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"inputs": [],
|
|
50
|
+
"name": "CallerNotOwner",
|
|
51
|
+
"type": "error"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"inputs": [],
|
|
55
|
+
"name": "CallerNotTokenOwnerOrApproved",
|
|
56
|
+
"type": "error"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"inputs": [
|
|
60
|
+
{
|
|
61
|
+
"internalType": "address",
|
|
62
|
+
"name": "implementation",
|
|
63
|
+
"type": "address"
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
"name": "ERC1967InvalidImplementation",
|
|
67
|
+
"type": "error"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"inputs": [],
|
|
71
|
+
"name": "ERC1967NonPayable",
|
|
72
|
+
"type": "error"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"inputs": [
|
|
76
|
+
{
|
|
77
|
+
"internalType": "uint256",
|
|
78
|
+
"name": "numerator",
|
|
79
|
+
"type": "uint256"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"internalType": "uint256",
|
|
83
|
+
"name": "denominator",
|
|
84
|
+
"type": "uint256"
|
|
85
|
+
}
|
|
86
|
+
],
|
|
87
|
+
"name": "ERC2981InvalidDefaultRoyalty",
|
|
88
|
+
"type": "error"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"inputs": [
|
|
92
|
+
{
|
|
93
|
+
"internalType": "address",
|
|
94
|
+
"name": "receiver",
|
|
95
|
+
"type": "address"
|
|
96
|
+
}
|
|
97
|
+
],
|
|
98
|
+
"name": "ERC2981InvalidDefaultRoyaltyReceiver",
|
|
99
|
+
"type": "error"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"inputs": [
|
|
103
|
+
{
|
|
104
|
+
"internalType": "uint256",
|
|
105
|
+
"name": "tokenId",
|
|
106
|
+
"type": "uint256"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"internalType": "uint256",
|
|
110
|
+
"name": "numerator",
|
|
111
|
+
"type": "uint256"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"internalType": "uint256",
|
|
115
|
+
"name": "denominator",
|
|
116
|
+
"type": "uint256"
|
|
117
|
+
}
|
|
118
|
+
],
|
|
119
|
+
"name": "ERC2981InvalidTokenRoyalty",
|
|
120
|
+
"type": "error"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"inputs": [
|
|
124
|
+
{
|
|
125
|
+
"internalType": "uint256",
|
|
126
|
+
"name": "tokenId",
|
|
127
|
+
"type": "uint256"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"internalType": "address",
|
|
131
|
+
"name": "receiver",
|
|
132
|
+
"type": "address"
|
|
133
|
+
}
|
|
134
|
+
],
|
|
135
|
+
"name": "ERC2981InvalidTokenRoyaltyReceiver",
|
|
136
|
+
"type": "error"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"inputs": [],
|
|
140
|
+
"name": "ERC721EnumerableForbiddenBatchMint",
|
|
141
|
+
"type": "error"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"inputs": [
|
|
145
|
+
{
|
|
146
|
+
"internalType": "address",
|
|
147
|
+
"name": "sender",
|
|
148
|
+
"type": "address"
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"internalType": "uint256",
|
|
152
|
+
"name": "tokenId",
|
|
153
|
+
"type": "uint256"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"internalType": "address",
|
|
157
|
+
"name": "owner",
|
|
158
|
+
"type": "address"
|
|
159
|
+
}
|
|
160
|
+
],
|
|
161
|
+
"name": "ERC721IncorrectOwner",
|
|
162
|
+
"type": "error"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"inputs": [
|
|
166
|
+
{
|
|
167
|
+
"internalType": "address",
|
|
168
|
+
"name": "operator",
|
|
169
|
+
"type": "address"
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"internalType": "uint256",
|
|
173
|
+
"name": "tokenId",
|
|
174
|
+
"type": "uint256"
|
|
175
|
+
}
|
|
176
|
+
],
|
|
177
|
+
"name": "ERC721InsufficientApproval",
|
|
178
|
+
"type": "error"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"inputs": [
|
|
182
|
+
{
|
|
183
|
+
"internalType": "address",
|
|
184
|
+
"name": "approver",
|
|
185
|
+
"type": "address"
|
|
186
|
+
}
|
|
187
|
+
],
|
|
188
|
+
"name": "ERC721InvalidApprover",
|
|
189
|
+
"type": "error"
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"inputs": [
|
|
193
|
+
{
|
|
194
|
+
"internalType": "address",
|
|
195
|
+
"name": "operator",
|
|
196
|
+
"type": "address"
|
|
197
|
+
}
|
|
198
|
+
],
|
|
199
|
+
"name": "ERC721InvalidOperator",
|
|
200
|
+
"type": "error"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"inputs": [
|
|
204
|
+
{
|
|
205
|
+
"internalType": "address",
|
|
206
|
+
"name": "owner",
|
|
207
|
+
"type": "address"
|
|
208
|
+
}
|
|
209
|
+
],
|
|
210
|
+
"name": "ERC721InvalidOwner",
|
|
211
|
+
"type": "error"
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"inputs": [
|
|
215
|
+
{
|
|
216
|
+
"internalType": "address",
|
|
217
|
+
"name": "receiver",
|
|
218
|
+
"type": "address"
|
|
219
|
+
}
|
|
220
|
+
],
|
|
221
|
+
"name": "ERC721InvalidReceiver",
|
|
222
|
+
"type": "error"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"inputs": [
|
|
226
|
+
{
|
|
227
|
+
"internalType": "address",
|
|
228
|
+
"name": "sender",
|
|
229
|
+
"type": "address"
|
|
230
|
+
}
|
|
231
|
+
],
|
|
232
|
+
"name": "ERC721InvalidSender",
|
|
233
|
+
"type": "error"
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"inputs": [
|
|
237
|
+
{
|
|
238
|
+
"internalType": "uint256",
|
|
239
|
+
"name": "tokenId",
|
|
240
|
+
"type": "uint256"
|
|
241
|
+
}
|
|
242
|
+
],
|
|
243
|
+
"name": "ERC721NonexistentToken",
|
|
244
|
+
"type": "error"
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"inputs": [
|
|
248
|
+
{
|
|
249
|
+
"internalType": "address",
|
|
250
|
+
"name": "owner",
|
|
251
|
+
"type": "address"
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"internalType": "uint256",
|
|
255
|
+
"name": "index",
|
|
256
|
+
"type": "uint256"
|
|
257
|
+
}
|
|
258
|
+
],
|
|
259
|
+
"name": "ERC721OutOfBoundsIndex",
|
|
260
|
+
"type": "error"
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
"inputs": [],
|
|
264
|
+
"name": "EmptyRecipientsArray",
|
|
265
|
+
"type": "error"
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
"inputs": [],
|
|
269
|
+
"name": "EmptyTokenURI",
|
|
270
|
+
"type": "error"
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"inputs": [],
|
|
274
|
+
"name": "EnforcedPause",
|
|
275
|
+
"type": "error"
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"inputs": [],
|
|
279
|
+
"name": "ExpectedPause",
|
|
280
|
+
"type": "error"
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
"inputs": [],
|
|
284
|
+
"name": "FailedCall",
|
|
285
|
+
"type": "error"
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"inputs": [],
|
|
289
|
+
"name": "InvalidInitialization",
|
|
290
|
+
"type": "error"
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"inputs": [],
|
|
294
|
+
"name": "InvalidPaymentTokenAddress",
|
|
295
|
+
"type": "error"
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
"inputs": [],
|
|
299
|
+
"name": "InvalidPlatformAddress",
|
|
300
|
+
"type": "error"
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"inputs": [],
|
|
304
|
+
"name": "InvalidPrice",
|
|
305
|
+
"type": "error"
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"inputs": [],
|
|
309
|
+
"name": "InvalidRecipientAddress",
|
|
310
|
+
"type": "error"
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"inputs": [],
|
|
314
|
+
"name": "MintPriceNotSet",
|
|
315
|
+
"type": "error"
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
"inputs": [],
|
|
319
|
+
"name": "NotInitializing",
|
|
320
|
+
"type": "error"
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
"inputs": [],
|
|
324
|
+
"name": "OwnerCannotRentOwnToken",
|
|
325
|
+
"type": "error"
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
"inputs": [],
|
|
329
|
+
"name": "PlatformCommissionTooHigh",
|
|
330
|
+
"type": "error"
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"inputs": [],
|
|
334
|
+
"name": "QueryForNonexistentToken",
|
|
335
|
+
"type": "error"
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"inputs": [],
|
|
339
|
+
"name": "RecipientAlreadyClaimed",
|
|
340
|
+
"type": "error"
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
"inputs": [],
|
|
344
|
+
"name": "RoyaltiesMustSumTo10000",
|
|
345
|
+
"type": "error"
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"inputs": [],
|
|
349
|
+
"name": "RoyaltyPercentageTooHigh",
|
|
350
|
+
"type": "error"
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"inputs": [
|
|
354
|
+
{
|
|
355
|
+
"internalType": "address",
|
|
356
|
+
"name": "token",
|
|
357
|
+
"type": "address"
|
|
358
|
+
}
|
|
359
|
+
],
|
|
360
|
+
"name": "SafeERC20FailedOperation",
|
|
361
|
+
"type": "error"
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
"inputs": [],
|
|
365
|
+
"name": "SalePriceNotSet",
|
|
366
|
+
"type": "error"
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
"inputs": [],
|
|
370
|
+
"name": "SellerNotTokenOwner",
|
|
371
|
+
"type": "error"
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
"inputs": [],
|
|
375
|
+
"name": "TokenDoesNotExist",
|
|
376
|
+
"type": "error"
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
"inputs": [],
|
|
380
|
+
"name": "TokenPriceNotSet",
|
|
381
|
+
"type": "error"
|
|
382
|
+
},
|
|
383
|
+
{
|
|
384
|
+
"inputs": [],
|
|
385
|
+
"name": "TokenSupplyExceeded",
|
|
386
|
+
"type": "error"
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
"inputs": [],
|
|
390
|
+
"name": "TooManyRecipients",
|
|
391
|
+
"type": "error"
|
|
392
|
+
},
|
|
393
|
+
{
|
|
394
|
+
"inputs": [],
|
|
395
|
+
"name": "UUPSUnauthorizedCallContext",
|
|
396
|
+
"type": "error"
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
"inputs": [
|
|
400
|
+
{
|
|
401
|
+
"internalType": "bytes32",
|
|
402
|
+
"name": "slot",
|
|
403
|
+
"type": "bytes32"
|
|
404
|
+
}
|
|
405
|
+
],
|
|
406
|
+
"name": "UUPSUnsupportedProxiableUUID",
|
|
407
|
+
"type": "error"
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
"inputs": [],
|
|
411
|
+
"name": "ZeroAddress",
|
|
412
|
+
"type": "error"
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
"anonymous": false,
|
|
416
|
+
"inputs": [
|
|
417
|
+
{
|
|
418
|
+
"indexed": true,
|
|
419
|
+
"internalType": "address",
|
|
420
|
+
"name": "owner",
|
|
421
|
+
"type": "address"
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
"indexed": true,
|
|
425
|
+
"internalType": "address",
|
|
426
|
+
"name": "approved",
|
|
427
|
+
"type": "address"
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
"indexed": true,
|
|
431
|
+
"internalType": "uint256",
|
|
432
|
+
"name": "tokenId",
|
|
433
|
+
"type": "uint256"
|
|
434
|
+
}
|
|
435
|
+
],
|
|
436
|
+
"name": "Approval",
|
|
437
|
+
"type": "event"
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"anonymous": false,
|
|
441
|
+
"inputs": [
|
|
442
|
+
{
|
|
443
|
+
"indexed": true,
|
|
444
|
+
"internalType": "address",
|
|
445
|
+
"name": "owner",
|
|
446
|
+
"type": "address"
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
"indexed": true,
|
|
450
|
+
"internalType": "address",
|
|
451
|
+
"name": "operator",
|
|
452
|
+
"type": "address"
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
"indexed": false,
|
|
456
|
+
"internalType": "bool",
|
|
457
|
+
"name": "approved",
|
|
458
|
+
"type": "bool"
|
|
459
|
+
}
|
|
460
|
+
],
|
|
461
|
+
"name": "ApprovalForAll",
|
|
462
|
+
"type": "event"
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
"anonymous": false,
|
|
466
|
+
"inputs": [
|
|
467
|
+
{
|
|
468
|
+
"indexed": true,
|
|
469
|
+
"internalType": "address",
|
|
470
|
+
"name": "caller",
|
|
471
|
+
"type": "address"
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
"indexed": false,
|
|
475
|
+
"internalType": "address[]",
|
|
476
|
+
"name": "recipients",
|
|
477
|
+
"type": "address[]"
|
|
478
|
+
}
|
|
479
|
+
],
|
|
480
|
+
"name": "BatchClaimed",
|
|
481
|
+
"type": "event"
|
|
482
|
+
},
|
|
483
|
+
{
|
|
484
|
+
"anonymous": false,
|
|
485
|
+
"inputs": [
|
|
486
|
+
{
|
|
487
|
+
"indexed": true,
|
|
488
|
+
"internalType": "address",
|
|
489
|
+
"name": "owner",
|
|
490
|
+
"type": "address"
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
"indexed": false,
|
|
494
|
+
"internalType": "address[]",
|
|
495
|
+
"name": "recipients",
|
|
496
|
+
"type": "address[]"
|
|
497
|
+
},
|
|
498
|
+
{
|
|
499
|
+
"indexed": false,
|
|
500
|
+
"internalType": "uint256",
|
|
501
|
+
"name": "totalPayment",
|
|
502
|
+
"type": "uint256"
|
|
503
|
+
}
|
|
504
|
+
],
|
|
505
|
+
"name": "BatchClaimedFor",
|
|
506
|
+
"type": "event"
|
|
507
|
+
},
|
|
508
|
+
{
|
|
509
|
+
"anonymous": false,
|
|
510
|
+
"inputs": [
|
|
511
|
+
{
|
|
512
|
+
"indexed": false,
|
|
513
|
+
"internalType": "uint64",
|
|
514
|
+
"name": "version",
|
|
515
|
+
"type": "uint64"
|
|
516
|
+
}
|
|
517
|
+
],
|
|
518
|
+
"name": "Initialized",
|
|
519
|
+
"type": "event"
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
"anonymous": false,
|
|
523
|
+
"inputs": [
|
|
524
|
+
{
|
|
525
|
+
"indexed": false,
|
|
526
|
+
"internalType": "uint256",
|
|
527
|
+
"name": "oldPrice",
|
|
528
|
+
"type": "uint256"
|
|
529
|
+
},
|
|
530
|
+
{
|
|
531
|
+
"indexed": false,
|
|
532
|
+
"internalType": "uint256",
|
|
533
|
+
"name": "newPrice",
|
|
534
|
+
"type": "uint256"
|
|
535
|
+
}
|
|
536
|
+
],
|
|
537
|
+
"name": "MintPriceUpdated",
|
|
538
|
+
"type": "event"
|
|
539
|
+
},
|
|
540
|
+
{
|
|
541
|
+
"anonymous": false,
|
|
542
|
+
"inputs": [
|
|
543
|
+
{
|
|
544
|
+
"indexed": false,
|
|
545
|
+
"internalType": "address",
|
|
546
|
+
"name": "account",
|
|
547
|
+
"type": "address"
|
|
548
|
+
}
|
|
549
|
+
],
|
|
550
|
+
"name": "Paused",
|
|
551
|
+
"type": "event"
|
|
552
|
+
},
|
|
553
|
+
{
|
|
554
|
+
"anonymous": false,
|
|
555
|
+
"inputs": [
|
|
556
|
+
{
|
|
557
|
+
"indexed": true,
|
|
558
|
+
"internalType": "bytes32",
|
|
559
|
+
"name": "role",
|
|
560
|
+
"type": "bytes32"
|
|
561
|
+
},
|
|
562
|
+
{
|
|
563
|
+
"indexed": true,
|
|
564
|
+
"internalType": "bytes32",
|
|
565
|
+
"name": "previousAdminRole",
|
|
566
|
+
"type": "bytes32"
|
|
567
|
+
},
|
|
568
|
+
{
|
|
569
|
+
"indexed": true,
|
|
570
|
+
"internalType": "bytes32",
|
|
571
|
+
"name": "newAdminRole",
|
|
572
|
+
"type": "bytes32"
|
|
573
|
+
}
|
|
574
|
+
],
|
|
575
|
+
"name": "RoleAdminChanged",
|
|
576
|
+
"type": "event"
|
|
577
|
+
},
|
|
578
|
+
{
|
|
579
|
+
"anonymous": false,
|
|
580
|
+
"inputs": [
|
|
581
|
+
{
|
|
582
|
+
"indexed": true,
|
|
583
|
+
"internalType": "bytes32",
|
|
584
|
+
"name": "role",
|
|
585
|
+
"type": "bytes32"
|
|
586
|
+
},
|
|
587
|
+
{
|
|
588
|
+
"indexed": true,
|
|
589
|
+
"internalType": "address",
|
|
590
|
+
"name": "account",
|
|
591
|
+
"type": "address"
|
|
592
|
+
},
|
|
593
|
+
{
|
|
594
|
+
"indexed": true,
|
|
595
|
+
"internalType": "address",
|
|
596
|
+
"name": "sender",
|
|
597
|
+
"type": "address"
|
|
598
|
+
}
|
|
599
|
+
],
|
|
600
|
+
"name": "RoleGranted",
|
|
601
|
+
"type": "event"
|
|
602
|
+
},
|
|
603
|
+
{
|
|
604
|
+
"anonymous": false,
|
|
605
|
+
"inputs": [
|
|
606
|
+
{
|
|
607
|
+
"indexed": true,
|
|
608
|
+
"internalType": "bytes32",
|
|
609
|
+
"name": "role",
|
|
610
|
+
"type": "bytes32"
|
|
611
|
+
},
|
|
612
|
+
{
|
|
613
|
+
"indexed": true,
|
|
614
|
+
"internalType": "address",
|
|
615
|
+
"name": "account",
|
|
616
|
+
"type": "address"
|
|
617
|
+
},
|
|
618
|
+
{
|
|
619
|
+
"indexed": true,
|
|
620
|
+
"internalType": "address",
|
|
621
|
+
"name": "sender",
|
|
622
|
+
"type": "address"
|
|
623
|
+
}
|
|
624
|
+
],
|
|
625
|
+
"name": "RoleRevoked",
|
|
626
|
+
"type": "event"
|
|
627
|
+
},
|
|
628
|
+
{
|
|
629
|
+
"anonymous": false,
|
|
630
|
+
"inputs": [
|
|
631
|
+
{
|
|
632
|
+
"indexed": true,
|
|
633
|
+
"internalType": "uint256",
|
|
634
|
+
"name": "tokenId",
|
|
635
|
+
"type": "uint256"
|
|
636
|
+
},
|
|
637
|
+
{
|
|
638
|
+
"indexed": false,
|
|
639
|
+
"internalType": "uint256",
|
|
640
|
+
"name": "oldPrice",
|
|
641
|
+
"type": "uint256"
|
|
642
|
+
},
|
|
643
|
+
{
|
|
644
|
+
"indexed": false,
|
|
645
|
+
"internalType": "uint256",
|
|
646
|
+
"name": "newPrice",
|
|
647
|
+
"type": "uint256"
|
|
648
|
+
}
|
|
649
|
+
],
|
|
650
|
+
"name": "SalePriceUpdated",
|
|
651
|
+
"type": "event"
|
|
652
|
+
},
|
|
653
|
+
{
|
|
654
|
+
"anonymous": false,
|
|
655
|
+
"inputs": [
|
|
656
|
+
{
|
|
657
|
+
"indexed": true,
|
|
658
|
+
"internalType": "address",
|
|
659
|
+
"name": "claimer",
|
|
660
|
+
"type": "address"
|
|
661
|
+
},
|
|
662
|
+
{
|
|
663
|
+
"indexed": true,
|
|
664
|
+
"internalType": "uint256",
|
|
665
|
+
"name": "tokenId",
|
|
666
|
+
"type": "uint256"
|
|
667
|
+
},
|
|
668
|
+
{
|
|
669
|
+
"indexed": false,
|
|
670
|
+
"internalType": "uint256",
|
|
671
|
+
"name": "paymentAmount",
|
|
672
|
+
"type": "uint256"
|
|
673
|
+
}
|
|
674
|
+
],
|
|
675
|
+
"name": "TokenClaimed",
|
|
676
|
+
"type": "event"
|
|
677
|
+
},
|
|
678
|
+
{
|
|
679
|
+
"anonymous": false,
|
|
680
|
+
"inputs": [
|
|
681
|
+
{
|
|
682
|
+
"indexed": true,
|
|
683
|
+
"internalType": "address",
|
|
684
|
+
"name": "from",
|
|
685
|
+
"type": "address"
|
|
686
|
+
},
|
|
687
|
+
{
|
|
688
|
+
"indexed": true,
|
|
689
|
+
"internalType": "address",
|
|
690
|
+
"name": "to",
|
|
691
|
+
"type": "address"
|
|
692
|
+
},
|
|
693
|
+
{
|
|
694
|
+
"indexed": true,
|
|
695
|
+
"internalType": "uint256",
|
|
696
|
+
"name": "tokenId",
|
|
697
|
+
"type": "uint256"
|
|
698
|
+
}
|
|
699
|
+
],
|
|
700
|
+
"name": "Transfer",
|
|
701
|
+
"type": "event"
|
|
702
|
+
},
|
|
703
|
+
{
|
|
704
|
+
"anonymous": false,
|
|
705
|
+
"inputs": [
|
|
706
|
+
{
|
|
707
|
+
"indexed": false,
|
|
708
|
+
"internalType": "address",
|
|
709
|
+
"name": "account",
|
|
710
|
+
"type": "address"
|
|
711
|
+
}
|
|
712
|
+
],
|
|
713
|
+
"name": "Unpaused",
|
|
714
|
+
"type": "event"
|
|
715
|
+
},
|
|
716
|
+
{
|
|
717
|
+
"anonymous": false,
|
|
718
|
+
"inputs": [
|
|
719
|
+
{
|
|
720
|
+
"indexed": true,
|
|
721
|
+
"internalType": "address",
|
|
722
|
+
"name": "implementation",
|
|
723
|
+
"type": "address"
|
|
724
|
+
}
|
|
725
|
+
],
|
|
726
|
+
"name": "Upgraded",
|
|
727
|
+
"type": "event"
|
|
728
|
+
},
|
|
729
|
+
{
|
|
730
|
+
"inputs": [],
|
|
731
|
+
"name": "DEFAULT_ADMIN_ROLE",
|
|
732
|
+
"outputs": [
|
|
733
|
+
{
|
|
734
|
+
"internalType": "bytes32",
|
|
735
|
+
"name": "",
|
|
736
|
+
"type": "bytes32"
|
|
737
|
+
}
|
|
738
|
+
],
|
|
739
|
+
"stateMutability": "view",
|
|
740
|
+
"type": "function"
|
|
741
|
+
},
|
|
742
|
+
{
|
|
743
|
+
"inputs": [],
|
|
744
|
+
"name": "OWNER_ROLE",
|
|
745
|
+
"outputs": [
|
|
746
|
+
{
|
|
747
|
+
"internalType": "bytes32",
|
|
748
|
+
"name": "",
|
|
749
|
+
"type": "bytes32"
|
|
750
|
+
}
|
|
751
|
+
],
|
|
752
|
+
"stateMutability": "view",
|
|
753
|
+
"type": "function"
|
|
754
|
+
},
|
|
755
|
+
{
|
|
756
|
+
"inputs": [],
|
|
757
|
+
"name": "PLATFORM_ROLE",
|
|
758
|
+
"outputs": [
|
|
759
|
+
{
|
|
760
|
+
"internalType": "bytes32",
|
|
761
|
+
"name": "",
|
|
762
|
+
"type": "bytes32"
|
|
763
|
+
}
|
|
764
|
+
],
|
|
765
|
+
"stateMutability": "view",
|
|
766
|
+
"type": "function"
|
|
767
|
+
},
|
|
768
|
+
{
|
|
769
|
+
"inputs": [],
|
|
770
|
+
"name": "RENTER_ROLE",
|
|
771
|
+
"outputs": [
|
|
772
|
+
{
|
|
773
|
+
"internalType": "bytes32",
|
|
774
|
+
"name": "",
|
|
775
|
+
"type": "bytes32"
|
|
776
|
+
}
|
|
777
|
+
],
|
|
778
|
+
"stateMutability": "view",
|
|
779
|
+
"type": "function"
|
|
780
|
+
},
|
|
781
|
+
{
|
|
782
|
+
"inputs": [],
|
|
783
|
+
"name": "UPGRADE_INTERFACE_VERSION",
|
|
784
|
+
"outputs": [
|
|
785
|
+
{
|
|
786
|
+
"internalType": "string",
|
|
787
|
+
"name": "",
|
|
788
|
+
"type": "string"
|
|
789
|
+
}
|
|
790
|
+
],
|
|
791
|
+
"stateMutability": "view",
|
|
792
|
+
"type": "function"
|
|
793
|
+
},
|
|
794
|
+
{
|
|
795
|
+
"inputs": [
|
|
796
|
+
{
|
|
797
|
+
"internalType": "address",
|
|
798
|
+
"name": "to",
|
|
799
|
+
"type": "address"
|
|
800
|
+
},
|
|
801
|
+
{
|
|
802
|
+
"internalType": "uint256",
|
|
803
|
+
"name": "tokenId",
|
|
804
|
+
"type": "uint256"
|
|
805
|
+
}
|
|
806
|
+
],
|
|
807
|
+
"name": "approve",
|
|
808
|
+
"outputs": [],
|
|
809
|
+
"stateMutability": "nonpayable",
|
|
810
|
+
"type": "function"
|
|
811
|
+
},
|
|
812
|
+
{
|
|
813
|
+
"inputs": [
|
|
814
|
+
{
|
|
815
|
+
"internalType": "address",
|
|
816
|
+
"name": "owner",
|
|
817
|
+
"type": "address"
|
|
818
|
+
}
|
|
819
|
+
],
|
|
820
|
+
"name": "balanceOf",
|
|
821
|
+
"outputs": [
|
|
822
|
+
{
|
|
823
|
+
"internalType": "uint256",
|
|
824
|
+
"name": "",
|
|
825
|
+
"type": "uint256"
|
|
826
|
+
}
|
|
827
|
+
],
|
|
828
|
+
"stateMutability": "view",
|
|
829
|
+
"type": "function"
|
|
830
|
+
},
|
|
831
|
+
{
|
|
832
|
+
"inputs": [
|
|
833
|
+
{
|
|
834
|
+
"internalType": "address[]",
|
|
835
|
+
"name": "recipients",
|
|
836
|
+
"type": "address[]"
|
|
837
|
+
},
|
|
838
|
+
{
|
|
839
|
+
"internalType": "string[]",
|
|
840
|
+
"name": "uris",
|
|
841
|
+
"type": "string[]"
|
|
842
|
+
},
|
|
843
|
+
{
|
|
844
|
+
"components": [
|
|
845
|
+
{
|
|
846
|
+
"internalType": "address",
|
|
847
|
+
"name": "receiver",
|
|
848
|
+
"type": "address"
|
|
849
|
+
},
|
|
850
|
+
{
|
|
851
|
+
"internalType": "uint96",
|
|
852
|
+
"name": "feeNumerator",
|
|
853
|
+
"type": "uint96"
|
|
854
|
+
}
|
|
855
|
+
],
|
|
856
|
+
"internalType": "struct KamiNFTCore.RoyaltyData[]",
|
|
857
|
+
"name": "mintRoyalties",
|
|
858
|
+
"type": "tuple[]"
|
|
859
|
+
}
|
|
860
|
+
],
|
|
861
|
+
"name": "batchClaim",
|
|
862
|
+
"outputs": [],
|
|
863
|
+
"stateMutability": "nonpayable",
|
|
864
|
+
"type": "function"
|
|
865
|
+
},
|
|
866
|
+
{
|
|
867
|
+
"inputs": [
|
|
868
|
+
{
|
|
869
|
+
"internalType": "address[]",
|
|
870
|
+
"name": "recipients",
|
|
871
|
+
"type": "address[]"
|
|
872
|
+
},
|
|
873
|
+
{
|
|
874
|
+
"internalType": "string[]",
|
|
875
|
+
"name": "uris",
|
|
876
|
+
"type": "string[]"
|
|
877
|
+
},
|
|
878
|
+
{
|
|
879
|
+
"components": [
|
|
880
|
+
{
|
|
881
|
+
"internalType": "address",
|
|
882
|
+
"name": "receiver",
|
|
883
|
+
"type": "address"
|
|
884
|
+
},
|
|
885
|
+
{
|
|
886
|
+
"internalType": "uint96",
|
|
887
|
+
"name": "feeNumerator",
|
|
888
|
+
"type": "uint96"
|
|
889
|
+
}
|
|
890
|
+
],
|
|
891
|
+
"internalType": "struct KamiNFTCore.RoyaltyData[]",
|
|
892
|
+
"name": "mintRoyalties",
|
|
893
|
+
"type": "tuple[]"
|
|
894
|
+
}
|
|
895
|
+
],
|
|
896
|
+
"name": "batchClaimFor",
|
|
897
|
+
"outputs": [],
|
|
898
|
+
"stateMutability": "nonpayable",
|
|
899
|
+
"type": "function"
|
|
900
|
+
},
|
|
901
|
+
{
|
|
902
|
+
"inputs": [
|
|
903
|
+
{
|
|
904
|
+
"internalType": "uint256",
|
|
905
|
+
"name": "tokenId",
|
|
906
|
+
"type": "uint256"
|
|
907
|
+
}
|
|
908
|
+
],
|
|
909
|
+
"name": "burn",
|
|
910
|
+
"outputs": [],
|
|
911
|
+
"stateMutability": "nonpayable",
|
|
912
|
+
"type": "function"
|
|
913
|
+
},
|
|
914
|
+
{
|
|
915
|
+
"inputs": [
|
|
916
|
+
{
|
|
917
|
+
"internalType": "string",
|
|
918
|
+
"name": "uri",
|
|
919
|
+
"type": "string"
|
|
920
|
+
},
|
|
921
|
+
{
|
|
922
|
+
"components": [
|
|
923
|
+
{
|
|
924
|
+
"internalType": "address",
|
|
925
|
+
"name": "receiver",
|
|
926
|
+
"type": "address"
|
|
927
|
+
},
|
|
928
|
+
{
|
|
929
|
+
"internalType": "uint96",
|
|
930
|
+
"name": "feeNumerator",
|
|
931
|
+
"type": "uint96"
|
|
932
|
+
}
|
|
933
|
+
],
|
|
934
|
+
"internalType": "struct KamiNFTCore.RoyaltyData[]",
|
|
935
|
+
"name": "mintRoyalties",
|
|
936
|
+
"type": "tuple[]"
|
|
937
|
+
}
|
|
938
|
+
],
|
|
939
|
+
"name": "claim",
|
|
940
|
+
"outputs": [],
|
|
941
|
+
"stateMutability": "nonpayable",
|
|
942
|
+
"type": "function"
|
|
943
|
+
},
|
|
944
|
+
{
|
|
945
|
+
"inputs": [
|
|
946
|
+
{
|
|
947
|
+
"internalType": "uint256",
|
|
948
|
+
"name": "tokenId",
|
|
949
|
+
"type": "uint256"
|
|
950
|
+
}
|
|
951
|
+
],
|
|
952
|
+
"name": "endRental",
|
|
953
|
+
"outputs": [],
|
|
954
|
+
"stateMutability": "nonpayable",
|
|
955
|
+
"type": "function"
|
|
956
|
+
},
|
|
957
|
+
{
|
|
958
|
+
"inputs": [
|
|
959
|
+
{
|
|
960
|
+
"internalType": "uint256",
|
|
961
|
+
"name": "tokenId",
|
|
962
|
+
"type": "uint256"
|
|
963
|
+
}
|
|
964
|
+
],
|
|
965
|
+
"name": "exists",
|
|
966
|
+
"outputs": [
|
|
967
|
+
{
|
|
968
|
+
"internalType": "bool",
|
|
969
|
+
"name": "",
|
|
970
|
+
"type": "bool"
|
|
971
|
+
}
|
|
972
|
+
],
|
|
973
|
+
"stateMutability": "view",
|
|
974
|
+
"type": "function"
|
|
975
|
+
},
|
|
976
|
+
{
|
|
977
|
+
"inputs": [
|
|
978
|
+
{
|
|
979
|
+
"internalType": "uint256",
|
|
980
|
+
"name": "tokenId",
|
|
981
|
+
"type": "uint256"
|
|
982
|
+
},
|
|
983
|
+
{
|
|
984
|
+
"internalType": "uint256",
|
|
985
|
+
"name": "additionalDuration",
|
|
986
|
+
"type": "uint256"
|
|
987
|
+
},
|
|
988
|
+
{
|
|
989
|
+
"internalType": "uint256",
|
|
990
|
+
"name": "additionalPayment",
|
|
991
|
+
"type": "uint256"
|
|
992
|
+
}
|
|
993
|
+
],
|
|
994
|
+
"name": "extendRental",
|
|
995
|
+
"outputs": [],
|
|
996
|
+
"stateMutability": "nonpayable",
|
|
997
|
+
"type": "function"
|
|
998
|
+
},
|
|
999
|
+
{
|
|
1000
|
+
"inputs": [
|
|
1001
|
+
{
|
|
1002
|
+
"internalType": "uint256",
|
|
1003
|
+
"name": "tokenId",
|
|
1004
|
+
"type": "uint256"
|
|
1005
|
+
}
|
|
1006
|
+
],
|
|
1007
|
+
"name": "getApproved",
|
|
1008
|
+
"outputs": [
|
|
1009
|
+
{
|
|
1010
|
+
"internalType": "address",
|
|
1011
|
+
"name": "",
|
|
1012
|
+
"type": "address"
|
|
1013
|
+
}
|
|
1014
|
+
],
|
|
1015
|
+
"stateMutability": "view",
|
|
1016
|
+
"type": "function"
|
|
1017
|
+
},
|
|
1018
|
+
{
|
|
1019
|
+
"inputs": [
|
|
1020
|
+
{
|
|
1021
|
+
"internalType": "uint256",
|
|
1022
|
+
"name": "tokenId",
|
|
1023
|
+
"type": "uint256"
|
|
1024
|
+
}
|
|
1025
|
+
],
|
|
1026
|
+
"name": "getMintRoyaltyReceivers",
|
|
1027
|
+
"outputs": [
|
|
1028
|
+
{
|
|
1029
|
+
"components": [
|
|
1030
|
+
{
|
|
1031
|
+
"internalType": "address",
|
|
1032
|
+
"name": "receiver",
|
|
1033
|
+
"type": "address"
|
|
1034
|
+
},
|
|
1035
|
+
{
|
|
1036
|
+
"internalType": "uint96",
|
|
1037
|
+
"name": "feeNumerator",
|
|
1038
|
+
"type": "uint96"
|
|
1039
|
+
}
|
|
1040
|
+
],
|
|
1041
|
+
"internalType": "struct KamiNFTCore.RoyaltyData[]",
|
|
1042
|
+
"name": "",
|
|
1043
|
+
"type": "tuple[]"
|
|
1044
|
+
}
|
|
1045
|
+
],
|
|
1046
|
+
"stateMutability": "view",
|
|
1047
|
+
"type": "function"
|
|
1048
|
+
},
|
|
1049
|
+
{
|
|
1050
|
+
"inputs": [
|
|
1051
|
+
{
|
|
1052
|
+
"internalType": "uint256",
|
|
1053
|
+
"name": "tokenId",
|
|
1054
|
+
"type": "uint256"
|
|
1055
|
+
}
|
|
1056
|
+
],
|
|
1057
|
+
"name": "getRentalInfo",
|
|
1058
|
+
"outputs": [
|
|
1059
|
+
{
|
|
1060
|
+
"internalType": "address",
|
|
1061
|
+
"name": "renter",
|
|
1062
|
+
"type": "address"
|
|
1063
|
+
},
|
|
1064
|
+
{
|
|
1065
|
+
"internalType": "uint256",
|
|
1066
|
+
"name": "startTime",
|
|
1067
|
+
"type": "uint256"
|
|
1068
|
+
},
|
|
1069
|
+
{
|
|
1070
|
+
"internalType": "uint256",
|
|
1071
|
+
"name": "endTime",
|
|
1072
|
+
"type": "uint256"
|
|
1073
|
+
},
|
|
1074
|
+
{
|
|
1075
|
+
"internalType": "uint256",
|
|
1076
|
+
"name": "rentalPrice",
|
|
1077
|
+
"type": "uint256"
|
|
1078
|
+
},
|
|
1079
|
+
{
|
|
1080
|
+
"internalType": "bool",
|
|
1081
|
+
"name": "active",
|
|
1082
|
+
"type": "bool"
|
|
1083
|
+
}
|
|
1084
|
+
],
|
|
1085
|
+
"stateMutability": "view",
|
|
1086
|
+
"type": "function"
|
|
1087
|
+
},
|
|
1088
|
+
{
|
|
1089
|
+
"inputs": [
|
|
1090
|
+
{
|
|
1091
|
+
"internalType": "bytes32",
|
|
1092
|
+
"name": "role",
|
|
1093
|
+
"type": "bytes32"
|
|
1094
|
+
}
|
|
1095
|
+
],
|
|
1096
|
+
"name": "getRoleAdmin",
|
|
1097
|
+
"outputs": [
|
|
1098
|
+
{
|
|
1099
|
+
"internalType": "bytes32",
|
|
1100
|
+
"name": "",
|
|
1101
|
+
"type": "bytes32"
|
|
1102
|
+
}
|
|
1103
|
+
],
|
|
1104
|
+
"stateMutability": "view",
|
|
1105
|
+
"type": "function"
|
|
1106
|
+
},
|
|
1107
|
+
{
|
|
1108
|
+
"inputs": [
|
|
1109
|
+
{
|
|
1110
|
+
"internalType": "uint256",
|
|
1111
|
+
"name": "tokenId",
|
|
1112
|
+
"type": "uint256"
|
|
1113
|
+
}
|
|
1114
|
+
],
|
|
1115
|
+
"name": "getRoyaltyInfo",
|
|
1116
|
+
"outputs": [
|
|
1117
|
+
{
|
|
1118
|
+
"internalType": "address[]",
|
|
1119
|
+
"name": "receivers",
|
|
1120
|
+
"type": "address[]"
|
|
1121
|
+
},
|
|
1122
|
+
{
|
|
1123
|
+
"internalType": "uint256[]",
|
|
1124
|
+
"name": "amounts",
|
|
1125
|
+
"type": "uint256[]"
|
|
1126
|
+
}
|
|
1127
|
+
],
|
|
1128
|
+
"stateMutability": "view",
|
|
1129
|
+
"type": "function"
|
|
1130
|
+
},
|
|
1131
|
+
{
|
|
1132
|
+
"inputs": [],
|
|
1133
|
+
"name": "getTotalMinted",
|
|
1134
|
+
"outputs": [
|
|
1135
|
+
{
|
|
1136
|
+
"internalType": "uint256",
|
|
1137
|
+
"name": "",
|
|
1138
|
+
"type": "uint256"
|
|
1139
|
+
}
|
|
1140
|
+
],
|
|
1141
|
+
"stateMutability": "view",
|
|
1142
|
+
"type": "function"
|
|
1143
|
+
},
|
|
1144
|
+
{
|
|
1145
|
+
"inputs": [
|
|
1146
|
+
{
|
|
1147
|
+
"internalType": "uint256",
|
|
1148
|
+
"name": "tokenId",
|
|
1149
|
+
"type": "uint256"
|
|
1150
|
+
}
|
|
1151
|
+
],
|
|
1152
|
+
"name": "getTransferRoyaltyReceivers",
|
|
1153
|
+
"outputs": [
|
|
1154
|
+
{
|
|
1155
|
+
"components": [
|
|
1156
|
+
{
|
|
1157
|
+
"internalType": "address",
|
|
1158
|
+
"name": "receiver",
|
|
1159
|
+
"type": "address"
|
|
1160
|
+
},
|
|
1161
|
+
{
|
|
1162
|
+
"internalType": "uint96",
|
|
1163
|
+
"name": "feeNumerator",
|
|
1164
|
+
"type": "uint96"
|
|
1165
|
+
}
|
|
1166
|
+
],
|
|
1167
|
+
"internalType": "struct KamiNFTCore.RoyaltyData[]",
|
|
1168
|
+
"name": "",
|
|
1169
|
+
"type": "tuple[]"
|
|
1170
|
+
}
|
|
1171
|
+
],
|
|
1172
|
+
"stateMutability": "view",
|
|
1173
|
+
"type": "function"
|
|
1174
|
+
},
|
|
1175
|
+
{
|
|
1176
|
+
"inputs": [
|
|
1177
|
+
{
|
|
1178
|
+
"internalType": "bytes32",
|
|
1179
|
+
"name": "role",
|
|
1180
|
+
"type": "bytes32"
|
|
1181
|
+
},
|
|
1182
|
+
{
|
|
1183
|
+
"internalType": "address",
|
|
1184
|
+
"name": "account",
|
|
1185
|
+
"type": "address"
|
|
1186
|
+
}
|
|
1187
|
+
],
|
|
1188
|
+
"name": "grantRole",
|
|
1189
|
+
"outputs": [],
|
|
1190
|
+
"stateMutability": "nonpayable",
|
|
1191
|
+
"type": "function"
|
|
1192
|
+
},
|
|
1193
|
+
{
|
|
1194
|
+
"inputs": [
|
|
1195
|
+
{
|
|
1196
|
+
"internalType": "address",
|
|
1197
|
+
"name": "user",
|
|
1198
|
+
"type": "address"
|
|
1199
|
+
}
|
|
1200
|
+
],
|
|
1201
|
+
"name": "hasActiveRentals",
|
|
1202
|
+
"outputs": [
|
|
1203
|
+
{
|
|
1204
|
+
"internalType": "bool",
|
|
1205
|
+
"name": "",
|
|
1206
|
+
"type": "bool"
|
|
1207
|
+
}
|
|
1208
|
+
],
|
|
1209
|
+
"stateMutability": "view",
|
|
1210
|
+
"type": "function"
|
|
1211
|
+
},
|
|
1212
|
+
{
|
|
1213
|
+
"inputs": [
|
|
1214
|
+
{
|
|
1215
|
+
"internalType": "address",
|
|
1216
|
+
"name": "",
|
|
1217
|
+
"type": "address"
|
|
1218
|
+
}
|
|
1219
|
+
],
|
|
1220
|
+
"name": "hasClaimed",
|
|
1221
|
+
"outputs": [
|
|
1222
|
+
{
|
|
1223
|
+
"internalType": "bool",
|
|
1224
|
+
"name": "",
|
|
1225
|
+
"type": "bool"
|
|
1226
|
+
}
|
|
1227
|
+
],
|
|
1228
|
+
"stateMutability": "view",
|
|
1229
|
+
"type": "function"
|
|
1230
|
+
},
|
|
1231
|
+
{
|
|
1232
|
+
"inputs": [
|
|
1233
|
+
{
|
|
1234
|
+
"internalType": "bytes32",
|
|
1235
|
+
"name": "role",
|
|
1236
|
+
"type": "bytes32"
|
|
1237
|
+
},
|
|
1238
|
+
{
|
|
1239
|
+
"internalType": "address",
|
|
1240
|
+
"name": "account",
|
|
1241
|
+
"type": "address"
|
|
1242
|
+
}
|
|
1243
|
+
],
|
|
1244
|
+
"name": "hasRole",
|
|
1245
|
+
"outputs": [
|
|
1246
|
+
{
|
|
1247
|
+
"internalType": "bool",
|
|
1248
|
+
"name": "",
|
|
1249
|
+
"type": "bool"
|
|
1250
|
+
}
|
|
1251
|
+
],
|
|
1252
|
+
"stateMutability": "view",
|
|
1253
|
+
"type": "function"
|
|
1254
|
+
},
|
|
1255
|
+
{
|
|
1256
|
+
"inputs": [
|
|
1257
|
+
{
|
|
1258
|
+
"internalType": "address",
|
|
1259
|
+
"name": "paymentToken_",
|
|
1260
|
+
"type": "address"
|
|
1261
|
+
},
|
|
1262
|
+
{
|
|
1263
|
+
"internalType": "string",
|
|
1264
|
+
"name": "name_",
|
|
1265
|
+
"type": "string"
|
|
1266
|
+
},
|
|
1267
|
+
{
|
|
1268
|
+
"internalType": "string",
|
|
1269
|
+
"name": "symbol_",
|
|
1270
|
+
"type": "string"
|
|
1271
|
+
},
|
|
1272
|
+
{
|
|
1273
|
+
"internalType": "string",
|
|
1274
|
+
"name": "baseTokenURI_",
|
|
1275
|
+
"type": "string"
|
|
1276
|
+
},
|
|
1277
|
+
{
|
|
1278
|
+
"internalType": "address",
|
|
1279
|
+
"name": "platformAddress_",
|
|
1280
|
+
"type": "address"
|
|
1281
|
+
},
|
|
1282
|
+
{
|
|
1283
|
+
"internalType": "uint96",
|
|
1284
|
+
"name": "platformCommissionPercentage_",
|
|
1285
|
+
"type": "uint96"
|
|
1286
|
+
},
|
|
1287
|
+
{
|
|
1288
|
+
"internalType": "address",
|
|
1289
|
+
"name": "adminAddress_",
|
|
1290
|
+
"type": "address"
|
|
1291
|
+
},
|
|
1292
|
+
{
|
|
1293
|
+
"internalType": "uint256",
|
|
1294
|
+
"name": "totalSupply_",
|
|
1295
|
+
"type": "uint256"
|
|
1296
|
+
},
|
|
1297
|
+
{
|
|
1298
|
+
"internalType": "uint256",
|
|
1299
|
+
"name": "mintPrice_",
|
|
1300
|
+
"type": "uint256"
|
|
1301
|
+
}
|
|
1302
|
+
],
|
|
1303
|
+
"name": "initialize",
|
|
1304
|
+
"outputs": [],
|
|
1305
|
+
"stateMutability": "nonpayable",
|
|
1306
|
+
"type": "function"
|
|
1307
|
+
},
|
|
1308
|
+
{
|
|
1309
|
+
"inputs": [
|
|
1310
|
+
{
|
|
1311
|
+
"internalType": "address",
|
|
1312
|
+
"name": "to",
|
|
1313
|
+
"type": "address"
|
|
1314
|
+
},
|
|
1315
|
+
{
|
|
1316
|
+
"internalType": "uint256",
|
|
1317
|
+
"name": "tokenId",
|
|
1318
|
+
"type": "uint256"
|
|
1319
|
+
},
|
|
1320
|
+
{
|
|
1321
|
+
"internalType": "uint256",
|
|
1322
|
+
"name": "salePrice",
|
|
1323
|
+
"type": "uint256"
|
|
1324
|
+
}
|
|
1325
|
+
],
|
|
1326
|
+
"name": "initiateTransferWithRoyalty",
|
|
1327
|
+
"outputs": [],
|
|
1328
|
+
"stateMutability": "nonpayable",
|
|
1329
|
+
"type": "function"
|
|
1330
|
+
},
|
|
1331
|
+
{
|
|
1332
|
+
"inputs": [
|
|
1333
|
+
{
|
|
1334
|
+
"internalType": "address",
|
|
1335
|
+
"name": "owner",
|
|
1336
|
+
"type": "address"
|
|
1337
|
+
},
|
|
1338
|
+
{
|
|
1339
|
+
"internalType": "address",
|
|
1340
|
+
"name": "operator",
|
|
1341
|
+
"type": "address"
|
|
1342
|
+
}
|
|
1343
|
+
],
|
|
1344
|
+
"name": "isApprovedForAll",
|
|
1345
|
+
"outputs": [
|
|
1346
|
+
{
|
|
1347
|
+
"internalType": "bool",
|
|
1348
|
+
"name": "",
|
|
1349
|
+
"type": "bool"
|
|
1350
|
+
}
|
|
1351
|
+
],
|
|
1352
|
+
"stateMutability": "view",
|
|
1353
|
+
"type": "function"
|
|
1354
|
+
},
|
|
1355
|
+
{
|
|
1356
|
+
"inputs": [
|
|
1357
|
+
{
|
|
1358
|
+
"internalType": "uint256",
|
|
1359
|
+
"name": "tokenId",
|
|
1360
|
+
"type": "uint256"
|
|
1361
|
+
}
|
|
1362
|
+
],
|
|
1363
|
+
"name": "isRented",
|
|
1364
|
+
"outputs": [
|
|
1365
|
+
{
|
|
1366
|
+
"internalType": "bool",
|
|
1367
|
+
"name": "",
|
|
1368
|
+
"type": "bool"
|
|
1369
|
+
}
|
|
1370
|
+
],
|
|
1371
|
+
"stateMutability": "view",
|
|
1372
|
+
"type": "function"
|
|
1373
|
+
},
|
|
1374
|
+
{
|
|
1375
|
+
"inputs": [
|
|
1376
|
+
{
|
|
1377
|
+
"internalType": "address",
|
|
1378
|
+
"name": "",
|
|
1379
|
+
"type": "address"
|
|
1380
|
+
},
|
|
1381
|
+
{
|
|
1382
|
+
"internalType": "address",
|
|
1383
|
+
"name": "",
|
|
1384
|
+
"type": "address"
|
|
1385
|
+
},
|
|
1386
|
+
{
|
|
1387
|
+
"internalType": "uint256",
|
|
1388
|
+
"name": "tokenId",
|
|
1389
|
+
"type": "uint256"
|
|
1390
|
+
},
|
|
1391
|
+
{
|
|
1392
|
+
"internalType": "uint256",
|
|
1393
|
+
"name": "salePrice",
|
|
1394
|
+
"type": "uint256"
|
|
1395
|
+
}
|
|
1396
|
+
],
|
|
1397
|
+
"name": "isTransferRoyaltyRequired",
|
|
1398
|
+
"outputs": [
|
|
1399
|
+
{
|
|
1400
|
+
"internalType": "bool",
|
|
1401
|
+
"name": "",
|
|
1402
|
+
"type": "bool"
|
|
1403
|
+
}
|
|
1404
|
+
],
|
|
1405
|
+
"stateMutability": "view",
|
|
1406
|
+
"type": "function"
|
|
1407
|
+
},
|
|
1408
|
+
{
|
|
1409
|
+
"inputs": [],
|
|
1410
|
+
"name": "maxTotalSupply",
|
|
1411
|
+
"outputs": [
|
|
1412
|
+
{
|
|
1413
|
+
"internalType": "uint256",
|
|
1414
|
+
"name": "",
|
|
1415
|
+
"type": "uint256"
|
|
1416
|
+
}
|
|
1417
|
+
],
|
|
1418
|
+
"stateMutability": "view",
|
|
1419
|
+
"type": "function"
|
|
1420
|
+
},
|
|
1421
|
+
{
|
|
1422
|
+
"inputs": [],
|
|
1423
|
+
"name": "mintPrice",
|
|
1424
|
+
"outputs": [
|
|
1425
|
+
{
|
|
1426
|
+
"internalType": "uint256",
|
|
1427
|
+
"name": "",
|
|
1428
|
+
"type": "uint256"
|
|
1429
|
+
}
|
|
1430
|
+
],
|
|
1431
|
+
"stateMutability": "view",
|
|
1432
|
+
"type": "function"
|
|
1433
|
+
},
|
|
1434
|
+
{
|
|
1435
|
+
"inputs": [],
|
|
1436
|
+
"name": "name",
|
|
1437
|
+
"outputs": [
|
|
1438
|
+
{
|
|
1439
|
+
"internalType": "string",
|
|
1440
|
+
"name": "",
|
|
1441
|
+
"type": "string"
|
|
1442
|
+
}
|
|
1443
|
+
],
|
|
1444
|
+
"stateMutability": "view",
|
|
1445
|
+
"type": "function"
|
|
1446
|
+
},
|
|
1447
|
+
{
|
|
1448
|
+
"inputs": [
|
|
1449
|
+
{
|
|
1450
|
+
"internalType": "uint256",
|
|
1451
|
+
"name": "tokenId",
|
|
1452
|
+
"type": "uint256"
|
|
1453
|
+
}
|
|
1454
|
+
],
|
|
1455
|
+
"name": "ownerOf",
|
|
1456
|
+
"outputs": [
|
|
1457
|
+
{
|
|
1458
|
+
"internalType": "address",
|
|
1459
|
+
"name": "",
|
|
1460
|
+
"type": "address"
|
|
1461
|
+
}
|
|
1462
|
+
],
|
|
1463
|
+
"stateMutability": "view",
|
|
1464
|
+
"type": "function"
|
|
1465
|
+
},
|
|
1466
|
+
{
|
|
1467
|
+
"inputs": [],
|
|
1468
|
+
"name": "pause",
|
|
1469
|
+
"outputs": [],
|
|
1470
|
+
"stateMutability": "nonpayable",
|
|
1471
|
+
"type": "function"
|
|
1472
|
+
},
|
|
1473
|
+
{
|
|
1474
|
+
"inputs": [],
|
|
1475
|
+
"name": "paused",
|
|
1476
|
+
"outputs": [
|
|
1477
|
+
{
|
|
1478
|
+
"internalType": "bool",
|
|
1479
|
+
"name": "",
|
|
1480
|
+
"type": "bool"
|
|
1481
|
+
}
|
|
1482
|
+
],
|
|
1483
|
+
"stateMutability": "view",
|
|
1484
|
+
"type": "function"
|
|
1485
|
+
},
|
|
1486
|
+
{
|
|
1487
|
+
"inputs": [
|
|
1488
|
+
{
|
|
1489
|
+
"internalType": "address",
|
|
1490
|
+
"name": "",
|
|
1491
|
+
"type": "address"
|
|
1492
|
+
},
|
|
1493
|
+
{
|
|
1494
|
+
"internalType": "uint256",
|
|
1495
|
+
"name": "tokenId",
|
|
1496
|
+
"type": "uint256"
|
|
1497
|
+
},
|
|
1498
|
+
{
|
|
1499
|
+
"internalType": "uint256",
|
|
1500
|
+
"name": "salePrice",
|
|
1501
|
+
"type": "uint256"
|
|
1502
|
+
}
|
|
1503
|
+
],
|
|
1504
|
+
"name": "payTransferRoyalty",
|
|
1505
|
+
"outputs": [],
|
|
1506
|
+
"stateMutability": "nonpayable",
|
|
1507
|
+
"type": "function"
|
|
1508
|
+
},
|
|
1509
|
+
{
|
|
1510
|
+
"inputs": [],
|
|
1511
|
+
"name": "paymentToken",
|
|
1512
|
+
"outputs": [
|
|
1513
|
+
{
|
|
1514
|
+
"internalType": "contract IERC20",
|
|
1515
|
+
"name": "",
|
|
1516
|
+
"type": "address"
|
|
1517
|
+
}
|
|
1518
|
+
],
|
|
1519
|
+
"stateMutability": "view",
|
|
1520
|
+
"type": "function"
|
|
1521
|
+
},
|
|
1522
|
+
{
|
|
1523
|
+
"inputs": [],
|
|
1524
|
+
"name": "platformAddress",
|
|
1525
|
+
"outputs": [
|
|
1526
|
+
{
|
|
1527
|
+
"internalType": "address",
|
|
1528
|
+
"name": "",
|
|
1529
|
+
"type": "address"
|
|
1530
|
+
}
|
|
1531
|
+
],
|
|
1532
|
+
"stateMutability": "view",
|
|
1533
|
+
"type": "function"
|
|
1534
|
+
},
|
|
1535
|
+
{
|
|
1536
|
+
"inputs": [],
|
|
1537
|
+
"name": "platformCommissionPercentage",
|
|
1538
|
+
"outputs": [
|
|
1539
|
+
{
|
|
1540
|
+
"internalType": "uint96",
|
|
1541
|
+
"name": "",
|
|
1542
|
+
"type": "uint96"
|
|
1543
|
+
}
|
|
1544
|
+
],
|
|
1545
|
+
"stateMutability": "view",
|
|
1546
|
+
"type": "function"
|
|
1547
|
+
},
|
|
1548
|
+
{
|
|
1549
|
+
"inputs": [],
|
|
1550
|
+
"name": "proxiableUUID",
|
|
1551
|
+
"outputs": [
|
|
1552
|
+
{
|
|
1553
|
+
"internalType": "bytes32",
|
|
1554
|
+
"name": "",
|
|
1555
|
+
"type": "bytes32"
|
|
1556
|
+
}
|
|
1557
|
+
],
|
|
1558
|
+
"stateMutability": "view",
|
|
1559
|
+
"type": "function"
|
|
1560
|
+
},
|
|
1561
|
+
{
|
|
1562
|
+
"inputs": [
|
|
1563
|
+
{
|
|
1564
|
+
"internalType": "bytes32",
|
|
1565
|
+
"name": "role",
|
|
1566
|
+
"type": "bytes32"
|
|
1567
|
+
},
|
|
1568
|
+
{
|
|
1569
|
+
"internalType": "address",
|
|
1570
|
+
"name": "callerConfirmation",
|
|
1571
|
+
"type": "address"
|
|
1572
|
+
}
|
|
1573
|
+
],
|
|
1574
|
+
"name": "renounceRole",
|
|
1575
|
+
"outputs": [],
|
|
1576
|
+
"stateMutability": "nonpayable",
|
|
1577
|
+
"type": "function"
|
|
1578
|
+
},
|
|
1579
|
+
{
|
|
1580
|
+
"inputs": [
|
|
1581
|
+
{
|
|
1582
|
+
"internalType": "uint256",
|
|
1583
|
+
"name": "tokenId",
|
|
1584
|
+
"type": "uint256"
|
|
1585
|
+
},
|
|
1586
|
+
{
|
|
1587
|
+
"internalType": "uint256",
|
|
1588
|
+
"name": "duration",
|
|
1589
|
+
"type": "uint256"
|
|
1590
|
+
},
|
|
1591
|
+
{
|
|
1592
|
+
"internalType": "uint256",
|
|
1593
|
+
"name": "rentalPrice",
|
|
1594
|
+
"type": "uint256"
|
|
1595
|
+
},
|
|
1596
|
+
{
|
|
1597
|
+
"internalType": "address",
|
|
1598
|
+
"name": "renter",
|
|
1599
|
+
"type": "address"
|
|
1600
|
+
}
|
|
1601
|
+
],
|
|
1602
|
+
"name": "rentToken",
|
|
1603
|
+
"outputs": [],
|
|
1604
|
+
"stateMutability": "nonpayable",
|
|
1605
|
+
"type": "function"
|
|
1606
|
+
},
|
|
1607
|
+
{
|
|
1608
|
+
"inputs": [
|
|
1609
|
+
{
|
|
1610
|
+
"internalType": "bytes32",
|
|
1611
|
+
"name": "role",
|
|
1612
|
+
"type": "bytes32"
|
|
1613
|
+
},
|
|
1614
|
+
{
|
|
1615
|
+
"internalType": "address",
|
|
1616
|
+
"name": "account",
|
|
1617
|
+
"type": "address"
|
|
1618
|
+
}
|
|
1619
|
+
],
|
|
1620
|
+
"name": "revokeRole",
|
|
1621
|
+
"outputs": [],
|
|
1622
|
+
"stateMutability": "nonpayable",
|
|
1623
|
+
"type": "function"
|
|
1624
|
+
},
|
|
1625
|
+
{
|
|
1626
|
+
"inputs": [
|
|
1627
|
+
{
|
|
1628
|
+
"internalType": "uint256",
|
|
1629
|
+
"name": "tokenId",
|
|
1630
|
+
"type": "uint256"
|
|
1631
|
+
},
|
|
1632
|
+
{
|
|
1633
|
+
"internalType": "uint256",
|
|
1634
|
+
"name": "salePrice",
|
|
1635
|
+
"type": "uint256"
|
|
1636
|
+
}
|
|
1637
|
+
],
|
|
1638
|
+
"name": "royaltyInfo",
|
|
1639
|
+
"outputs": [
|
|
1640
|
+
{
|
|
1641
|
+
"internalType": "address",
|
|
1642
|
+
"name": "receiver",
|
|
1643
|
+
"type": "address"
|
|
1644
|
+
},
|
|
1645
|
+
{
|
|
1646
|
+
"internalType": "uint256",
|
|
1647
|
+
"name": "royaltyAmount",
|
|
1648
|
+
"type": "uint256"
|
|
1649
|
+
}
|
|
1650
|
+
],
|
|
1651
|
+
"stateMutability": "view",
|
|
1652
|
+
"type": "function"
|
|
1653
|
+
},
|
|
1654
|
+
{
|
|
1655
|
+
"inputs": [],
|
|
1656
|
+
"name": "royaltyPercentage",
|
|
1657
|
+
"outputs": [
|
|
1658
|
+
{
|
|
1659
|
+
"internalType": "uint96",
|
|
1660
|
+
"name": "",
|
|
1661
|
+
"type": "uint96"
|
|
1662
|
+
}
|
|
1663
|
+
],
|
|
1664
|
+
"stateMutability": "view",
|
|
1665
|
+
"type": "function"
|
|
1666
|
+
},
|
|
1667
|
+
{
|
|
1668
|
+
"inputs": [
|
|
1669
|
+
{
|
|
1670
|
+
"internalType": "address",
|
|
1671
|
+
"name": "from",
|
|
1672
|
+
"type": "address"
|
|
1673
|
+
},
|
|
1674
|
+
{
|
|
1675
|
+
"internalType": "address",
|
|
1676
|
+
"name": "to",
|
|
1677
|
+
"type": "address"
|
|
1678
|
+
},
|
|
1679
|
+
{
|
|
1680
|
+
"internalType": "uint256",
|
|
1681
|
+
"name": "tokenId",
|
|
1682
|
+
"type": "uint256"
|
|
1683
|
+
}
|
|
1684
|
+
],
|
|
1685
|
+
"name": "safeTransferFrom",
|
|
1686
|
+
"outputs": [],
|
|
1687
|
+
"stateMutability": "nonpayable",
|
|
1688
|
+
"type": "function"
|
|
1689
|
+
},
|
|
1690
|
+
{
|
|
1691
|
+
"inputs": [
|
|
1692
|
+
{
|
|
1693
|
+
"internalType": "address",
|
|
1694
|
+
"name": "from",
|
|
1695
|
+
"type": "address"
|
|
1696
|
+
},
|
|
1697
|
+
{
|
|
1698
|
+
"internalType": "address",
|
|
1699
|
+
"name": "to",
|
|
1700
|
+
"type": "address"
|
|
1701
|
+
},
|
|
1702
|
+
{
|
|
1703
|
+
"internalType": "uint256",
|
|
1704
|
+
"name": "tokenId",
|
|
1705
|
+
"type": "uint256"
|
|
1706
|
+
},
|
|
1707
|
+
{
|
|
1708
|
+
"internalType": "bytes",
|
|
1709
|
+
"name": "data",
|
|
1710
|
+
"type": "bytes"
|
|
1711
|
+
}
|
|
1712
|
+
],
|
|
1713
|
+
"name": "safeTransferFrom",
|
|
1714
|
+
"outputs": [],
|
|
1715
|
+
"stateMutability": "nonpayable",
|
|
1716
|
+
"type": "function"
|
|
1717
|
+
},
|
|
1718
|
+
{
|
|
1719
|
+
"inputs": [
|
|
1720
|
+
{
|
|
1721
|
+
"internalType": "uint256",
|
|
1722
|
+
"name": "",
|
|
1723
|
+
"type": "uint256"
|
|
1724
|
+
}
|
|
1725
|
+
],
|
|
1726
|
+
"name": "salePrices",
|
|
1727
|
+
"outputs": [
|
|
1728
|
+
{
|
|
1729
|
+
"internalType": "uint256",
|
|
1730
|
+
"name": "",
|
|
1731
|
+
"type": "uint256"
|
|
1732
|
+
}
|
|
1733
|
+
],
|
|
1734
|
+
"stateMutability": "view",
|
|
1735
|
+
"type": "function"
|
|
1736
|
+
},
|
|
1737
|
+
{
|
|
1738
|
+
"inputs": [
|
|
1739
|
+
{
|
|
1740
|
+
"internalType": "address",
|
|
1741
|
+
"name": "to",
|
|
1742
|
+
"type": "address"
|
|
1743
|
+
},
|
|
1744
|
+
{
|
|
1745
|
+
"internalType": "uint256",
|
|
1746
|
+
"name": "tokenId",
|
|
1747
|
+
"type": "uint256"
|
|
1748
|
+
},
|
|
1749
|
+
{
|
|
1750
|
+
"internalType": "address",
|
|
1751
|
+
"name": "seller",
|
|
1752
|
+
"type": "address"
|
|
1753
|
+
}
|
|
1754
|
+
],
|
|
1755
|
+
"name": "sellToken",
|
|
1756
|
+
"outputs": [],
|
|
1757
|
+
"stateMutability": "nonpayable",
|
|
1758
|
+
"type": "function"
|
|
1759
|
+
},
|
|
1760
|
+
{
|
|
1761
|
+
"inputs": [
|
|
1762
|
+
{
|
|
1763
|
+
"internalType": "address",
|
|
1764
|
+
"name": "operator",
|
|
1765
|
+
"type": "address"
|
|
1766
|
+
},
|
|
1767
|
+
{
|
|
1768
|
+
"internalType": "bool",
|
|
1769
|
+
"name": "approved",
|
|
1770
|
+
"type": "bool"
|
|
1771
|
+
}
|
|
1772
|
+
],
|
|
1773
|
+
"name": "setApprovalForAll",
|
|
1774
|
+
"outputs": [],
|
|
1775
|
+
"stateMutability": "nonpayable",
|
|
1776
|
+
"type": "function"
|
|
1777
|
+
},
|
|
1778
|
+
{
|
|
1779
|
+
"inputs": [
|
|
1780
|
+
{
|
|
1781
|
+
"internalType": "string",
|
|
1782
|
+
"name": "baseURI",
|
|
1783
|
+
"type": "string"
|
|
1784
|
+
}
|
|
1785
|
+
],
|
|
1786
|
+
"name": "setBaseURI",
|
|
1787
|
+
"outputs": [],
|
|
1788
|
+
"stateMutability": "nonpayable",
|
|
1789
|
+
"type": "function"
|
|
1790
|
+
},
|
|
1791
|
+
{
|
|
1792
|
+
"inputs": [
|
|
1793
|
+
{
|
|
1794
|
+
"internalType": "uint256",
|
|
1795
|
+
"name": "newMintPrice",
|
|
1796
|
+
"type": "uint256"
|
|
1797
|
+
}
|
|
1798
|
+
],
|
|
1799
|
+
"name": "setMintPrice",
|
|
1800
|
+
"outputs": [],
|
|
1801
|
+
"stateMutability": "nonpayable",
|
|
1802
|
+
"type": "function"
|
|
1803
|
+
},
|
|
1804
|
+
{
|
|
1805
|
+
"inputs": [
|
|
1806
|
+
{
|
|
1807
|
+
"components": [
|
|
1808
|
+
{
|
|
1809
|
+
"internalType": "address",
|
|
1810
|
+
"name": "receiver",
|
|
1811
|
+
"type": "address"
|
|
1812
|
+
},
|
|
1813
|
+
{
|
|
1814
|
+
"internalType": "uint96",
|
|
1815
|
+
"name": "feeNumerator",
|
|
1816
|
+
"type": "uint96"
|
|
1817
|
+
}
|
|
1818
|
+
],
|
|
1819
|
+
"internalType": "struct KamiNFTCore.RoyaltyData[]",
|
|
1820
|
+
"name": "royalties",
|
|
1821
|
+
"type": "tuple[]"
|
|
1822
|
+
}
|
|
1823
|
+
],
|
|
1824
|
+
"name": "setMintRoyalties",
|
|
1825
|
+
"outputs": [],
|
|
1826
|
+
"stateMutability": "nonpayable",
|
|
1827
|
+
"type": "function"
|
|
1828
|
+
},
|
|
1829
|
+
{
|
|
1830
|
+
"inputs": [
|
|
1831
|
+
{
|
|
1832
|
+
"internalType": "uint96",
|
|
1833
|
+
"name": "newPlatformCommissionPercentage",
|
|
1834
|
+
"type": "uint96"
|
|
1835
|
+
},
|
|
1836
|
+
{
|
|
1837
|
+
"internalType": "address",
|
|
1838
|
+
"name": "newPlatformAddress",
|
|
1839
|
+
"type": "address"
|
|
1840
|
+
}
|
|
1841
|
+
],
|
|
1842
|
+
"name": "setPlatformCommission",
|
|
1843
|
+
"outputs": [],
|
|
1844
|
+
"stateMutability": "nonpayable",
|
|
1845
|
+
"type": "function"
|
|
1846
|
+
},
|
|
1847
|
+
{
|
|
1848
|
+
"inputs": [
|
|
1849
|
+
{
|
|
1850
|
+
"internalType": "uint256",
|
|
1851
|
+
"name": "tokenId",
|
|
1852
|
+
"type": "uint256"
|
|
1853
|
+
},
|
|
1854
|
+
{
|
|
1855
|
+
"internalType": "uint256",
|
|
1856
|
+
"name": "newPrice",
|
|
1857
|
+
"type": "uint256"
|
|
1858
|
+
}
|
|
1859
|
+
],
|
|
1860
|
+
"name": "setPrice",
|
|
1861
|
+
"outputs": [],
|
|
1862
|
+
"stateMutability": "nonpayable",
|
|
1863
|
+
"type": "function"
|
|
1864
|
+
},
|
|
1865
|
+
{
|
|
1866
|
+
"inputs": [
|
|
1867
|
+
{
|
|
1868
|
+
"internalType": "uint96",
|
|
1869
|
+
"name": "newRoyaltyPercentage",
|
|
1870
|
+
"type": "uint96"
|
|
1871
|
+
}
|
|
1872
|
+
],
|
|
1873
|
+
"name": "setRoyaltyPercentage",
|
|
1874
|
+
"outputs": [],
|
|
1875
|
+
"stateMutability": "nonpayable",
|
|
1876
|
+
"type": "function"
|
|
1877
|
+
},
|
|
1878
|
+
{
|
|
1879
|
+
"inputs": [
|
|
1880
|
+
{
|
|
1881
|
+
"internalType": "uint256",
|
|
1882
|
+
"name": "tokenId",
|
|
1883
|
+
"type": "uint256"
|
|
1884
|
+
},
|
|
1885
|
+
{
|
|
1886
|
+
"internalType": "uint256",
|
|
1887
|
+
"name": "newSalePrice",
|
|
1888
|
+
"type": "uint256"
|
|
1889
|
+
}
|
|
1890
|
+
],
|
|
1891
|
+
"name": "setSalePrice",
|
|
1892
|
+
"outputs": [],
|
|
1893
|
+
"stateMutability": "nonpayable",
|
|
1894
|
+
"type": "function"
|
|
1895
|
+
},
|
|
1896
|
+
{
|
|
1897
|
+
"inputs": [
|
|
1898
|
+
{
|
|
1899
|
+
"internalType": "uint256",
|
|
1900
|
+
"name": "tokenId",
|
|
1901
|
+
"type": "uint256"
|
|
1902
|
+
},
|
|
1903
|
+
{
|
|
1904
|
+
"components": [
|
|
1905
|
+
{
|
|
1906
|
+
"internalType": "address",
|
|
1907
|
+
"name": "receiver",
|
|
1908
|
+
"type": "address"
|
|
1909
|
+
},
|
|
1910
|
+
{
|
|
1911
|
+
"internalType": "uint96",
|
|
1912
|
+
"name": "feeNumerator",
|
|
1913
|
+
"type": "uint96"
|
|
1914
|
+
}
|
|
1915
|
+
],
|
|
1916
|
+
"internalType": "struct KamiNFTCore.RoyaltyData[]",
|
|
1917
|
+
"name": "royalties",
|
|
1918
|
+
"type": "tuple[]"
|
|
1919
|
+
}
|
|
1920
|
+
],
|
|
1921
|
+
"name": "setTokenMintRoyalties",
|
|
1922
|
+
"outputs": [],
|
|
1923
|
+
"stateMutability": "nonpayable",
|
|
1924
|
+
"type": "function"
|
|
1925
|
+
},
|
|
1926
|
+
{
|
|
1927
|
+
"inputs": [
|
|
1928
|
+
{
|
|
1929
|
+
"internalType": "uint256",
|
|
1930
|
+
"name": "tokenId",
|
|
1931
|
+
"type": "uint256"
|
|
1932
|
+
},
|
|
1933
|
+
{
|
|
1934
|
+
"components": [
|
|
1935
|
+
{
|
|
1936
|
+
"internalType": "address",
|
|
1937
|
+
"name": "receiver",
|
|
1938
|
+
"type": "address"
|
|
1939
|
+
},
|
|
1940
|
+
{
|
|
1941
|
+
"internalType": "uint96",
|
|
1942
|
+
"name": "feeNumerator",
|
|
1943
|
+
"type": "uint96"
|
|
1944
|
+
}
|
|
1945
|
+
],
|
|
1946
|
+
"internalType": "struct KamiNFTCore.RoyaltyData[]",
|
|
1947
|
+
"name": "royalties",
|
|
1948
|
+
"type": "tuple[]"
|
|
1949
|
+
}
|
|
1950
|
+
],
|
|
1951
|
+
"name": "setTokenTransferRoyalties",
|
|
1952
|
+
"outputs": [],
|
|
1953
|
+
"stateMutability": "nonpayable",
|
|
1954
|
+
"type": "function"
|
|
1955
|
+
},
|
|
1956
|
+
{
|
|
1957
|
+
"inputs": [
|
|
1958
|
+
{
|
|
1959
|
+
"internalType": "uint256",
|
|
1960
|
+
"name": "tokenId",
|
|
1961
|
+
"type": "uint256"
|
|
1962
|
+
},
|
|
1963
|
+
{
|
|
1964
|
+
"internalType": "string",
|
|
1965
|
+
"name": "newTokenURI",
|
|
1966
|
+
"type": "string"
|
|
1967
|
+
}
|
|
1968
|
+
],
|
|
1969
|
+
"name": "setTokenURI",
|
|
1970
|
+
"outputs": [],
|
|
1971
|
+
"stateMutability": "nonpayable",
|
|
1972
|
+
"type": "function"
|
|
1973
|
+
},
|
|
1974
|
+
{
|
|
1975
|
+
"inputs": [
|
|
1976
|
+
{
|
|
1977
|
+
"internalType": "uint256",
|
|
1978
|
+
"name": "maxSupply",
|
|
1979
|
+
"type": "uint256"
|
|
1980
|
+
}
|
|
1981
|
+
],
|
|
1982
|
+
"name": "setTotalSupply",
|
|
1983
|
+
"outputs": [],
|
|
1984
|
+
"stateMutability": "nonpayable",
|
|
1985
|
+
"type": "function"
|
|
1986
|
+
},
|
|
1987
|
+
{
|
|
1988
|
+
"inputs": [
|
|
1989
|
+
{
|
|
1990
|
+
"components": [
|
|
1991
|
+
{
|
|
1992
|
+
"internalType": "address",
|
|
1993
|
+
"name": "receiver",
|
|
1994
|
+
"type": "address"
|
|
1995
|
+
},
|
|
1996
|
+
{
|
|
1997
|
+
"internalType": "uint96",
|
|
1998
|
+
"name": "feeNumerator",
|
|
1999
|
+
"type": "uint96"
|
|
2000
|
+
}
|
|
2001
|
+
],
|
|
2002
|
+
"internalType": "struct KamiNFTCore.RoyaltyData[]",
|
|
2003
|
+
"name": "royalties",
|
|
2004
|
+
"type": "tuple[]"
|
|
2005
|
+
}
|
|
2006
|
+
],
|
|
2007
|
+
"name": "setTransferRoyalties",
|
|
2008
|
+
"outputs": [],
|
|
2009
|
+
"stateMutability": "nonpayable",
|
|
2010
|
+
"type": "function"
|
|
2011
|
+
},
|
|
2012
|
+
{
|
|
2013
|
+
"inputs": [
|
|
2014
|
+
{
|
|
2015
|
+
"internalType": "bytes4",
|
|
2016
|
+
"name": "interfaceId",
|
|
2017
|
+
"type": "bytes4"
|
|
2018
|
+
}
|
|
2019
|
+
],
|
|
2020
|
+
"name": "supportsInterface",
|
|
2021
|
+
"outputs": [
|
|
2022
|
+
{
|
|
2023
|
+
"internalType": "bool",
|
|
2024
|
+
"name": "",
|
|
2025
|
+
"type": "bool"
|
|
2026
|
+
}
|
|
2027
|
+
],
|
|
2028
|
+
"stateMutability": "view",
|
|
2029
|
+
"type": "function"
|
|
2030
|
+
},
|
|
2031
|
+
{
|
|
2032
|
+
"inputs": [],
|
|
2033
|
+
"name": "symbol",
|
|
2034
|
+
"outputs": [
|
|
2035
|
+
{
|
|
2036
|
+
"internalType": "string",
|
|
2037
|
+
"name": "",
|
|
2038
|
+
"type": "string"
|
|
2039
|
+
}
|
|
2040
|
+
],
|
|
2041
|
+
"stateMutability": "view",
|
|
2042
|
+
"type": "function"
|
|
2043
|
+
},
|
|
2044
|
+
{
|
|
2045
|
+
"inputs": [
|
|
2046
|
+
{
|
|
2047
|
+
"internalType": "uint256",
|
|
2048
|
+
"name": "index",
|
|
2049
|
+
"type": "uint256"
|
|
2050
|
+
}
|
|
2051
|
+
],
|
|
2052
|
+
"name": "tokenByIndex",
|
|
2053
|
+
"outputs": [
|
|
2054
|
+
{
|
|
2055
|
+
"internalType": "uint256",
|
|
2056
|
+
"name": "",
|
|
2057
|
+
"type": "uint256"
|
|
2058
|
+
}
|
|
2059
|
+
],
|
|
2060
|
+
"stateMutability": "view",
|
|
2061
|
+
"type": "function"
|
|
2062
|
+
},
|
|
2063
|
+
{
|
|
2064
|
+
"inputs": [
|
|
2065
|
+
{
|
|
2066
|
+
"internalType": "address",
|
|
2067
|
+
"name": "owner",
|
|
2068
|
+
"type": "address"
|
|
2069
|
+
},
|
|
2070
|
+
{
|
|
2071
|
+
"internalType": "uint256",
|
|
2072
|
+
"name": "index",
|
|
2073
|
+
"type": "uint256"
|
|
2074
|
+
}
|
|
2075
|
+
],
|
|
2076
|
+
"name": "tokenOfOwnerByIndex",
|
|
2077
|
+
"outputs": [
|
|
2078
|
+
{
|
|
2079
|
+
"internalType": "uint256",
|
|
2080
|
+
"name": "",
|
|
2081
|
+
"type": "uint256"
|
|
2082
|
+
}
|
|
2083
|
+
],
|
|
2084
|
+
"stateMutability": "view",
|
|
2085
|
+
"type": "function"
|
|
2086
|
+
},
|
|
2087
|
+
{
|
|
2088
|
+
"inputs": [
|
|
2089
|
+
{
|
|
2090
|
+
"internalType": "uint256",
|
|
2091
|
+
"name": "",
|
|
2092
|
+
"type": "uint256"
|
|
2093
|
+
}
|
|
2094
|
+
],
|
|
2095
|
+
"name": "tokenPrices",
|
|
2096
|
+
"outputs": [
|
|
2097
|
+
{
|
|
2098
|
+
"internalType": "uint256",
|
|
2099
|
+
"name": "",
|
|
2100
|
+
"type": "uint256"
|
|
2101
|
+
}
|
|
2102
|
+
],
|
|
2103
|
+
"stateMutability": "view",
|
|
2104
|
+
"type": "function"
|
|
2105
|
+
},
|
|
2106
|
+
{
|
|
2107
|
+
"inputs": [
|
|
2108
|
+
{
|
|
2109
|
+
"internalType": "uint256",
|
|
2110
|
+
"name": "tokenId",
|
|
2111
|
+
"type": "uint256"
|
|
2112
|
+
}
|
|
2113
|
+
],
|
|
2114
|
+
"name": "tokenURI",
|
|
2115
|
+
"outputs": [
|
|
2116
|
+
{
|
|
2117
|
+
"internalType": "string",
|
|
2118
|
+
"name": "",
|
|
2119
|
+
"type": "string"
|
|
2120
|
+
}
|
|
2121
|
+
],
|
|
2122
|
+
"stateMutability": "view",
|
|
2123
|
+
"type": "function"
|
|
2124
|
+
},
|
|
2125
|
+
{
|
|
2126
|
+
"inputs": [
|
|
2127
|
+
{
|
|
2128
|
+
"internalType": "uint256",
|
|
2129
|
+
"name": "",
|
|
2130
|
+
"type": "uint256"
|
|
2131
|
+
}
|
|
2132
|
+
],
|
|
2133
|
+
"name": "tokenURIs",
|
|
2134
|
+
"outputs": [
|
|
2135
|
+
{
|
|
2136
|
+
"internalType": "string",
|
|
2137
|
+
"name": "",
|
|
2138
|
+
"type": "string"
|
|
2139
|
+
}
|
|
2140
|
+
],
|
|
2141
|
+
"stateMutability": "view",
|
|
2142
|
+
"type": "function"
|
|
2143
|
+
},
|
|
2144
|
+
{
|
|
2145
|
+
"inputs": [],
|
|
2146
|
+
"name": "totalSupply",
|
|
2147
|
+
"outputs": [
|
|
2148
|
+
{
|
|
2149
|
+
"internalType": "uint256",
|
|
2150
|
+
"name": "",
|
|
2151
|
+
"type": "uint256"
|
|
2152
|
+
}
|
|
2153
|
+
],
|
|
2154
|
+
"stateMutability": "view",
|
|
2155
|
+
"type": "function"
|
|
2156
|
+
},
|
|
2157
|
+
{
|
|
2158
|
+
"inputs": [
|
|
2159
|
+
{
|
|
2160
|
+
"internalType": "address",
|
|
2161
|
+
"name": "from",
|
|
2162
|
+
"type": "address"
|
|
2163
|
+
},
|
|
2164
|
+
{
|
|
2165
|
+
"internalType": "address",
|
|
2166
|
+
"name": "to",
|
|
2167
|
+
"type": "address"
|
|
2168
|
+
},
|
|
2169
|
+
{
|
|
2170
|
+
"internalType": "uint256",
|
|
2171
|
+
"name": "tokenId",
|
|
2172
|
+
"type": "uint256"
|
|
2173
|
+
}
|
|
2174
|
+
],
|
|
2175
|
+
"name": "transferFrom",
|
|
2176
|
+
"outputs": [],
|
|
2177
|
+
"stateMutability": "nonpayable",
|
|
2178
|
+
"type": "function"
|
|
2179
|
+
},
|
|
2180
|
+
{
|
|
2181
|
+
"inputs": [],
|
|
2182
|
+
"name": "unpause",
|
|
2183
|
+
"outputs": [],
|
|
2184
|
+
"stateMutability": "nonpayable",
|
|
2185
|
+
"type": "function"
|
|
2186
|
+
},
|
|
2187
|
+
{
|
|
2188
|
+
"inputs": [
|
|
2189
|
+
{
|
|
2190
|
+
"internalType": "address",
|
|
2191
|
+
"name": "newImplementation",
|
|
2192
|
+
"type": "address"
|
|
2193
|
+
},
|
|
2194
|
+
{
|
|
2195
|
+
"internalType": "bytes",
|
|
2196
|
+
"name": "data",
|
|
2197
|
+
"type": "bytes"
|
|
2198
|
+
}
|
|
2199
|
+
],
|
|
2200
|
+
"name": "upgradeToAndCall",
|
|
2201
|
+
"outputs": [],
|
|
2202
|
+
"stateMutability": "payable",
|
|
2203
|
+
"type": "function"
|
|
2204
|
+
}
|
|
2205
|
+
],
|
|
2206
|
+
"bytecode": "0x60a0806040523461002b57306080526165ba908162000031823960805181818161256601526126390152f35b600080fdfe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a714613e4257508063053992c514613da557806306fdde0314613d06578063081812fc14613cbb578063095ea7b314613bd45780630a0a351514613b935780630ca1c5c9146138d05780630daf4c9714613b6857806310c551c514613a52578063162094c4146138fb57806318160ddd146138d05780631eae6ed7146136b75780631fc7f7e91461366857806323b872dd14613651578063243f955914612f9e578063248a9ca314612f6257806327dc3fbd14612efe5780632a55205a14612ed75780632ab4d05214612eb95780632f2ff15d14612e6d5780632f745c5914612de75780633013ce2914612dbe578063321f532714612d9257806336568abe14612d4b5780633f4ba83a14612cb757806342842e0e14612c8957806342966c6814612981578063463dace014612962578063492ae5a3146128195780634f1ef286146125fa5780634f558e79146125dc5780634f6ccce7146125be57806352d1902d1461255357806355a976321461229d57806355f804b31461217c5780635c975abb1461214c5780635e27a77514612121578063602481b614611f8a5780636352211e14611f5a5780636817c76c14611f3c5780636c8b703f14611f105780636eddaebf14611bbb57806370824c5c14611b9257806370a0823114611b6757806373b2e80e14611b285780638456cb5914611aa45780638a71bb2d14611a6e57806391d1485414611a1457806392303e06146119e657806395d89b411461191057806397491d6f1461187f5780639f6d68b0146117fb578063a217fddf146117df578063a22cb46514611736578063aa15d40f14611706578063ad3cb1cc146116c0578063b76c632b1461161f578063b7971fc614611301578063b88d4fde146112a6578063b97c9f771461127d578063c87b56dd14611246578063c8a9aabc14610f02578063d547741f14610eb6578063d9061aa514610c25578063dbe55e5614610bef578063e41fa41d14610855578063e58378bb1461082c578063e5afe3e614610800578063e5f2e0cc146106a8578063e985e9c51461065a578063f249fd16146104c3578063f4a0a52814610450578063f7d97577146103a25763f7ea7a3d1461034d57600080fd5b3461039d57602036600319011261039d573360009081526000805160206163ce833981519152602052604090205460ff161561038b57600435600c55005b604051632e6c18c960e11b8152600490fd5b600080fd5b3461039d576103b036613efb565b3360009081526000805160206163ce833981519152602090815260409091205490919060ff161561038b5760008381526000805160206164ce833981519152835260409020546001600160a01b03161561043e576000805160206163ae83398151915291604091846000526006825282600020918183549355600781528184600020558351928352820152a2005b60405163677510db60e11b8152600490fd5b3461039d57602036600319011261039d573360009081526000805160206163ce83398151915260205260409020546004359060ff161561038b5760407f2e1c9e000c6e8dda4d03536adb13b7cb6034ccff90d17f01de381e4d5097b52591600554908060055582519182526020820152a1005b3461039d57604036600319011261039d576104dc61414a565b6104e4613f6f565b60008051602061634e833981519152546001600160a01b0390811692908216908115610615576107d06001600160601b038216116105c257301561057d576105349061052f846147db565b614f1d565b820361053c57005b600082815260008051602061622e833981519152602052604090205461056b929060ff1661056d575b506153b3565b005b6105769061582c565b5082610565565b60405162461bcd60e51b815260206004820152601d60248201527f41636365737320636f6e74726f6c2063616e6e6f74206265207a65726f0000006044820152606490fd5b60405162461bcd60e51b815260206004820152602560248201527f506c6174666f726d20636f6d6d697373696f6e2063616e6e6f74206578636565604482015264642032302560d81b6064820152608490fd5b60405162461bcd60e51b815260206004820152601f60248201527f506c6174666f726d20616464726573732063616e6e6f74206265207a65726f006044820152606490fd5b3461039d57604036600319011261039d57610673613f59565b61068461067e613f6f565b916142b6565b9060018060a01b0316600052602052602060ff604060002054166040519015158152f35b3461039d576106b636613fb5565b3360009081526000805160206163ce8339815191526020908152604090912054919392909160ff161561038b57604051634f558e7960e01b8152600481018490528281602481305afa9081156107f4576000916107c7575b501561043e576000805b85821061079457612710915003610782578260005260008051602061638e8339815191529182815261074d6040600020614ee5565b60005b85811061075957005b6001908560005284835261077c6040600020610776838a88614eb4565b90614f4f565b01610750565b604051630569d67b60e21b8152600490fd5b6001906107bf906001600160601b036107b8876107b2878c8a614eb4565b01614ec4565b1690614ed8565b910190610718565b6107e79150833d85116107ed575b6107df81836140c5565b810190614e9c565b8561070e565b503d6107d5565b6040513d6000823e3d90fd5b3461039d57602036600319011261039d5760043560005260076020526020604060002054604051908152f35b3461039d57600036600319011261039d5760206040516000805160206162ce8339815191528152f35b3461039d5761086336614358565b92919084959415610bdd5760648611610bcb57818603610bb95760055415610ba75760005b8681106108d057867f5f3c9cc400a6e4d8a7ee0835f4f43f9bb0fdd28b79013b92de0dabd527ef4c0c6108cb886040519182916020835233956020840191614bbb565b0390a2005b6108e36108de828989614b7b565b614b8b565b6001600160a01b03811615610b95576001600160a01b0381166000908152600b602052604090205460ff16610b835761091d828587614b3a565b905015610b715760055480610b51575b50600c5480610b23575b5060045461094481614b9f565b6004556109518183615a98565b60055481600052600660205280604060002055600760205260406000205561097a838688614b3a565b6000838152600860205260409020916001600160401b038211610b0d576109ab826109a585546141d7565b85614485565b600090601f8311600114610a9d5791806109d59260019897969594600092610a92575b50506144db565b90555b610a0360008051602061634e833981519152548060a01c9060009180610a57575b5050600554614bae565b9088610a30575b5050828060a01b0316600052600b60205260406000208260ff1982541617905501610888565b610a5091610a40308b89856150bd565b858060a01b03600a541691615e1f565b8980610a0a565b612710919250610a6990600554614809565b04908180156109f957600a54610a8b9260a08a901b8a90039081169116615dea565b8c816109f9565b013590508e806109ce565b83600097969594939297526020600020906000975b601f1984168910610af5576001985083601f19811610610adb575b505050851b850190556109d8565b0135600019600384901b60f8161c191690558c8080610acd565b81810135835560209889019860019093019201610ab2565b634e487b7160e01b600052604160045260246000fd5b60008051602061640e833981519152541015610b3f5788610937565b604051631c07ee3d60e01b8152600490fd5b600a54610b6b9190309084906001600160a01b0316615a51565b8861092d565b6040516317314b6160e01b8152600490fd5b604051634ec117b560e11b8152600490fd5b60405163226ccff560e11b8152600490fd5b6040516309d97cfd60e21b8152600490fd5b60405163512509d360e11b8152600490fd5b604051635531b49560e01b8152600490fd5b60405163d982238560e01b8152600490fd5b3461039d57600036600319011261039d5760008051602061634e833981519152546040516001600160a01b039091168152602090f35b3461039d57604036600319011261039d576001600160401b0360043581811161039d57610c56903690600401614012565b909160243581811161039d57610c70903690600401613f85565b919033600052602092600b845260ff60406000205416610ea457600592835415610ba7578515610b7157600c5480610e88575b5060045495610cb187614b9f565b600455610cbe8733615a98565b845487600052600687528060406000205560078752604060002055600886526040600020918111610b0d57610cfd81610cf784546141d7565b84614485565b6000601f8211600114610e0b5781610d9695949392610d369260008051602061626e833981519152999a9b600092610e005750506144db565b90555b600a5484546001600160a01b039291610d589190309033908616615a51565b610d8260008051602061634e833981519152548060a01c9060009180610dce575b50508654614bae565b9281610dbb575b5050600a54169086615e1f565b33600052600b83526040600020600160ff1982541617905554916040519283523392a3005b610dc79130918a6150bd565b8780610d89565b612710919250610ddf908954614809565b0490818015610d7957600a54610df9928716908716615dea565b8a81610d79565b013590508b806109ce565b601f1982169083600052876000209160005b818110610e7157509160008051602061626e83398151915298999a8492610d969897969560019510610e57575b505050811b019055610d39565b0135600019600384901b60f8161c191690558a8080610e4a565b91928960018192868f013581550194019201610e1d565b60008051602061640e833981519152541015610b3f5787610ca3565b604051630c8d9eab60e31b8152600490fd5b3461039d57604036600319011261039d5761056b600435610ed5613f6f565b908060005260008051602061646e833981519152602052610efd600160406000200154615775565b6158b0565b3461039d57606036600319011261039d57610f1b6151a7565b610f26600435614e6c565b600a546001600160a01b039081169190610f439082161515615921565b602435156111ee5760443515611197576004356000526000805160206162ae833981519152602052610f7f60ff60046040600020015416615a0f565b6004356000526000805160206162ae8339815191526020523360018060a01b03604060002054160361115657610fb9604435303385615a51565b610fec60008051602061634e833981519152548060a01c906000918061113c575b508180611122575b5050604435614bae565b9061271061101160018060601b0360008051602061632e833981519152541684614809565b048061109a575b6110229192614bae565b9081611089575b6004356000526000805160206162ae83398151915260205260026040600020016110566024358254614ed8565b90556004356000526000805160206162ae83398151915260205260036040600020016110856044358254614ed8565b9055005b61109292615dea565b808080611029565b6110a560043561596a565b80516110b2575b50611018565b9160005b8351811015611117576001906127106110e66001600160601b0360206110dc858a61481c565b5101511686614809565b04806110f4575b50016110b6565b61111190838060a01b03611108848961481c565b51511689615dea565b876110ed565b5091506110226110ac565b611135916001600160a01b031686615dea565b8481610fe2565b61271091925061114e90604435614809565b049085610fda565b60405162461bcd60e51b815260206004820152601960248201527821b0b63632b91036bab9ba103132903a3432903932b73a32b960391b6044820152606490fd5b60405162461bcd60e51b815260206004820152602960248201527f4164646974696f6e616c207061796d656e74206d75737420626520677265617460448201526806572207468616e20360bc1b6064820152608490fd5b60405162461bcd60e51b815260206004820152602a60248201527f4164646974696f6e616c206475726174696f6e206d75737420626520677265616044820152690746572207468616e20360b41b6064820152608490fd5b3461039d57602036600319011261039d57611279611265600435614c08565b604051918291602083526020830190613f34565b0390f35b3461039d57600036600319011261039d57602060405160008051602061644e8339815191528152f35b3461039d57608036600319011261039d576112bf613f59565b6112c7613f6f565b6064359190604435906001600160401b03841161039d576112ef61056b943690600401614103565b926112fb8383836144ee565b33615ebe565b3461039d5761130f36614358565b3360009081526000805160206163ce833981519152602052604090205493959390929060ff161561038b578415610bdd5760648511610bcb57808503610bb9576005548015610ba7578561136291614809565b9560005b8281106116055750600a54611389908890309033906001600160a01b0316615a51565b60005b8681106113da57877fc790cf53c8ec5abcec9e7425457455b2f05a3384ca5ced92b25ffcd8eb3238a1886113cc8960405192604084526040840191614bbb565b9260208201528033930390a2005b6113e86108de828989614b7b565b6001600160a01b03811615610b95576001600160a01b0381166000908152600b602052604090205460ff16610b8357600c54806115e9575b5060045461142d81614b9f565b60045561143a8183615a98565b600554816000526006602052806040600020556007602052604060002055611463838686614b3a565b6000838152600860205260409020916001600160401b038211610b0d5761148e826109a585546141d7565b600090601f831160011461157757826001979695936114fc95936114ba9360009261156c5750506144db565b90555b6114e760008051602061634e833981519152548060a01c9060009180611531575050600554614bae565b8961152057858060a01b03600a541691615e1f565b828060a01b0316600052600b60205260406000208260ff198254161790550161138c565b61152c308b8b85614fa6565b610a40565b61271091925061154390600554614809565b04908180156109f957600a546115659260a08b901b8b90039081169116615dea565b8e816109f9565b0135905038806109ce565b8360005260206000209160005b601f19851681106115d157509183916114fc9593600199989795601f198116106115b7575b505050861b860190556114bd565b0135600019600384901b60f8161c191690558e80806115a9565b90926020600181928686013581550194019101611584565b60008051602061640e833981519152541015610b3f5789611420565b611610818484614b3a565b905015610b7157600101611366565b3461039d5760208060031936011261039d5761163c600435614a32565b60405192839260408401604085528151809152826060860192019060005b8181106116a0575050508381038285015281808451928381520193019160005b82811061168957505050500390f35b83518552869550938101939281019260010161167a565b82516001600160a01b03168452879650928401929184019160010161165a565b3461039d57600036600319011261039d576112796040516116e08161408f565b60058152640352e302e360dc1b6020820152604051918291602083526020830190613f34565b3461039d57602036600319011261039d5761171f6151a7565b602061172c6004356160b7565b6040519015158152f35b3461039d57604036600319011261039d5761174f613f59565b602435908115159081830361039d576001600160a01b03169182156117c6576117989061177b336142b6565b8460005260205260406000209060ff801983541691151516179055565b6040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b604051630b61174360e31b815260048101849052602490fd5b3461039d57600036600319011261039d57602060405160008152f35b3461039d57602036600319011261039d5761181461414a565b3360009081526000805160206163ce833981519152602052604090205460ff161561038b576001600160601b0316612710811161186d5760008051602061632e83398151915280546001600160601b0319169091179055005b60405163c2a2a95d60e01b8152600490fd5b3461039d57602036600319011261039d5760043561189b6151a7565b806000526000805160206162ae833981519152806020526118c660ff60046040600020015416615a0f565b81600052602052600460406000200160ff1981541690556118ed60018060a01b0391615534565b51166118f76151a7565b611900816143b9565b1561190757005b61056b906157a8565b3461039d57600036600319011261039d5760405160008051602061658e8339815191528054826000611941836141d7565b92838352602094600191866001821691826000146119c4575050600114611985575b5050611971925003836140c5565b611279604051928284938452830190613f34565b85925060005281600020906000915b8583106119ac57505061197193508201018580611963565b80548389018501528794508693909201918101611994565b925093505061197194915060ff191682840152151560051b8201018580611963565b3461039d57600036600319011261039d57602060008051602061634e8339815191525460a01c604051908152f35b3461039d57604036600319011261039d57611a2d613f6f565b60043560005260008051602061646e83398151915260205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b3461039d57600036600319011261039d5760008051602061632e833981519152546040516001600160601b039091168152602090f35b3461039d57600036600319011261039d573360009081526000805160206163ce833981519152602052604090205460ff161561038b57611ae26151a7565b6000805160206164ae833981519152600160ff198254161790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b3461039d57602036600319011261039d576001600160a01b03611b49613f59565b16600052600b602052602060ff604060002054166040519015158152f35b3461039d57602036600319011261039d576020611b8a611b85613f59565b6149b4565b604051908152f35b3461039d57600036600319011261039d57602060405160008051602061620e8339815191528152f35b3461039d57608036600319011261039d576064356001600160a01b0381169081900361039d57611be96151a7565b8015611efe57611bfa600435614e6c565b6001600160a01b038116918214611eec57600a546001600160a01b031691611c23901515615921565b60243515611e985760443515611e47576004356000526000805160206162ae83398151915260205260ff60046040600020015416611e0857611c69604435303385615a51565b611c9a60008051602061634e833981519152548060a01c906000918061113c57508180611122575050604435614bae565b90612710611cbf60018060601b0360008051602061632e833981519152541684614809565b0480611d93575b611cd09192614bae565b9081611d82575b611d77611ce660243542614ed8565b600460405191611cf583614074565b3383526020830190428252604084019081526060840190604435825260808501926001845284356000526000805160206162ae83398151915260205260406000209560018060a01b0390511660018060a01b031987541617865551600186015551600285015551600384015551151591019060ff801983541691151516179055565b61056b606435615439565b611d8b92615dea565b808080611cd7565b611d9e60043561596a565b8051611dab575b50611cc6565b9160005b8351811015611dfd57600190612710611dd56001600160601b0360206110dc858a61481c565b0480611de3575b5001611daf565b611df790838060a01b03611108848961481c565b87611ddc565b509150611cd0611da5565b60405162461bcd60e51b8152602060048201526017602482015276151bdad95b881a5cc8185b1c9958591e481c995b9d1959604a1b6044820152606490fd5b60405162461bcd60e51b815260206004820152602360248201527f52656e74616c207072696365206d75737420626520677265617465722074686160448201526206e20360ec1b6064820152608490fd5b60405162461bcd60e51b815260206004820152602660248201527f52656e74616c206475726174696f6e206d75737420626520677265617465722060448201526507468616e20360d41b6064820152608490fd5b604051631f01c24760e31b8152600490fd5b60405163d92e233d60e01b8152600490fd5b3461039d57602036600319011261039d5760043560005260086020526112796112656040600020614211565b3461039d57600036600319011261039d576020600554604051908152f35b3461039d57602036600319011261039d576020611f78600435614e6c565b6040516001600160a01b039091168152f35b3461039d5760208060031936011261039d576004356001600160401b03811161039d57611fbb903690600401613f85565b6000805160206162ce83398151915260005260008051602061646e8339815191528352604060002033600052835260ff604060002054161561038b576000805b8282106120fb57612710915003610782576000805160206163ee83398151915290815460008355806120d5575b5060005b81811061203557005b612040818386614eb4565b908354600160401b811015610b0d57600181018086558110156120bf57600192612095886120b99388600052816000200192868060a01b0361208182614b8b565b16878060a01b031985541617845501614ec4565b9080546001600160a01b031660a09290921b6001600160a01b031916919091179055565b0161202c565b634e487b7160e01b600052603260045260246000fd5b8260005284600020908101905b8181106120ef5750612028565b600081556001016120e2565b600190612119906001600160601b036107b8886107b287898b614eb4565b910190611ffb565b3461039d57602036600319011261039d576112796121406004356156c4565b6040519182918261417b565b3461039d57600036600319011261039d57602060ff6000805160206164ae83398151915254166040519015158152f35b3461039d5760208060031936011261039d576001600160401b0360043581811161039d576121ae903690600401614103565b916000805160206162ce83398151915260005260008051602061646e8339815191528152604060002033600052815260ff604060002054161561038b578251918211610b0d57612208826122036009546141d7565b61442f565b80601f8311600114612239575081906122299360009261222e5750506144db565b600955005b0151905083806109ce565b90601f19831693600960005282600020926000905b868210612285575050836001951061226c575b505050811b01600955005b015160001960f88460031b161c19169055828080612261565b8060018596829496860151815501950193019061224e565b3461039d57606036600319011261039d576122b6613f59565b6044356001600160a01b0381169081900361039d578015611efe576001600160a01b036122e4602435614e6c565b1603612541576024356000526006602052604060002054801561252f57600a546001600160a01b03908116919061231e9084161515615256565b60008051602061634e83398151915291825460a01c9260009380612517575b5061234a83308785615a51565b6123548484614bae565b93806124fa575b505060008051602061632e8339815191525461271090612384906001600160601b031685614809565b048061247c575b612396919293614bae565b80612468575b5050604051916020830191602435835260018060601b03198060443560601b1660408601528260601b16605485015260488452608084019284841060018060401b03851117610b0d5761056b94846040525190206000527f6b770677edae0e90cca492948fa872f24dbe9c82ebeb8d39118b033a5e1bd3e16020526040600020600160ff198254161790556000805160206164ee833981519152602052604060002055612448826140aa565b6000825261245b602435826044356144ee565b6024359060443533615ebe565b6124759160443590615dea565b828061239c565b6124876024356156c4565b8051612494575b5061238b565b9260005b84518110156124ef576001906127106124be6001600160601b0360206110dc858b61481c565b04806124cc575b5001612498565b6124e990838060a01b036124e0848a61481c565b51511687615dea565b886124c5565b50925061239661248e565b905461251091906001600160a01b031683615dea565b848061235b565b6127109194506125279084614809565b04928561233d565b604051630eb0d5b160e11b8152600490fd5b6040516328cdac3360e01b8152600490fd5b3461039d57600036600319011261039d577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036125ac57602060405160008051602061636e8339815191528152f35b60405163703e46dd60e11b8152600490fd5b3461039d57602036600319011261039d576020611b8a60043561496b565b3461039d57602036600319011261039d57602061172c6004356148d3565b604036600319011261039d5761260e613f59565b6024356001600160401b03811161039d5761262d903690600401614103565b906001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082163081149081156127fd575b506125ac573360009081526000805160206163ce83398151915260209081526040909120549092906000805160206162ce8339815191529060ff16156127df57508116916040516352d1902d60e01b81528181600481875afa600091816127b0575b506126e557604051634c9c8ce360e01b815260048101859052602490fd5b92849360008051602061636e833981519152908181036127985750833b1561277f5780546001600160a01b03191682179055604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28351156127655750600083819261056b95519101845af461275f615e8e565b9161614a565b925050503461277057005b63b398979f60e01b8152600490fd5b604051634c9c8ce360e01b815260048101839052602490fd5b60249060405190632a87526960e21b82526004820152fd5b9091508281813d83116127d8575b6127c881836140c5565b8101031261039d575190866126c7565b503d6127be565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b90508260008051602061636e8339815191525416141584612665565b3461039d5760208060031936011261039d576004356001600160401b03811161039d5761284a903690600401613f85565b6000805160206162ce83398151915260005260008051602061646e8339815191528352604060002033600052835260ff604060002054161561038b576000805b82821061293c576127109150036107825760008051602061652e8339815191529081546000835580612916575b5060005b8181106128c457005b6128cf818386614eb4565b908354600160401b811015610b0d57600181018086558110156120bf57600192612095886129109388600052816000200192868060a01b0361208182614b8b565b016128bb565b8260005284600020908101905b81811061293057506128b7565b60008155600101612923565b60019061295a906001600160601b036107b8886107b287898b614eb4565b91019061288a565b3461039d57602036600319011261039d5761127961214060043561596a565b3461039d5760208060031936011261039d57600435906001600160a01b0390816129aa84614e6c565b166129b6811515615921565b6129bf846160b7565b612c22575b50826000526000805160206164ce833981519152918282526040600020541680159283159081612c03575b60008681529084526040812080546001600160a01b031916905585908360008051602061642e8339815191528280a48315612b6657505060008051602061640e83398151915280548460005260008051602061630e833981519152835280604060002055600160401b811015610b0d57612a7381612a8c9360018894019055614944565b90919082549060031b91821b91600019901b1916179055565b60008051602061640e833981519152805460001992838201918211612b50578560005260008051602061630e83398151915290818152612ad160406000205493614944565b90549060031b1c612ae581612a7386614944565b60005252604060002055836000526000604081205580548015612b3a57820191612b0e83614944565b909182549160031b1b1916905555612b2257005b60249060405190637e27328960e01b82526004820152fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b612b71575b50612a8c565b612b7a816149b4565b846000526000805160206161ce833981519152808452604060002054926000526000805160206161ee8339815191528452604060002092828103612bd9575b508560005283526000604081205560005281526000604081205583612b6b565b82600052838552604060002054816000528060406000205560005281855260406000205586612bb9565b612c0c86615fdb565b612c15836142ef565b80546000190190556129ef565b836000526000805160206162ae8339815191528252826040600020541603612c4a57836129c4565b6064906040519062461bcd60e51b82526004820152601860248201527721b0b73737ba10313ab937103932b73a32b2103a37b5b2b760411b6044820152fd5b3461039d5761056b612c9a3661403f565b9060405192612ca8846140aa565b600084526112fb8383836144ee565b3461039d57600036600319011261039d573360009081526000805160206163ce833981519152602052604090205460ff161561038b576000805160206164ae833981519152805460ff811615612d395760ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b604051638dfc202b60e01b8152600490fd5b3461039d57604036600319011261039d57612d64613f6f565b336001600160a01b03821603612d805761056b906004356158b0565b60405163334bd91960e11b8152600490fd5b3461039d57602036600319011261039d5760043560005260066020526020604060002054604051908152f35b3461039d57600036600319011261039d57600a546040516001600160a01b039091168152602090f35b3461039d57604036600319011261039d57612e00613f59565b60243590612e0d816149b4565b821015612e4d5760018060a01b03166000526000805160206161ee8339815191526020526040600020906000526020526020604060002054604051908152f35b612e6960405192839263295f44f760e21b845260048401614160565b0390fd5b3461039d57604036600319011261039d5761056b600435612e8c613f6f565b908060005260008051602061646e833981519152602052612eb4600160406000200154615775565b6154bf565b3461039d57600036600319011261039d576020600c54604051908152f35b3461039d57612eee612ee836613efb565b90614830565b9061127960405192839283614160565b3461039d57602036600319011261039d57612f176151a7565b60a0612f24600435615534565b600180831b03815116906020810151906040810151608060608301519201511515926040519485526020850152604084015260608301526080820152f35b3461039d57602036600319011261039d5760043560005260008051602061646e8339815191526020526020600160406000200154604051908152f35b3461039d5761012036600319011261039d57612fb8613f59565b6024356001600160401b03811161039d57612fd7903690600401614103565b906044356001600160401b03811161039d57612ff7903690600401614103565b916064356001600160401b03811161039d57613017903690600401614103565b916084356001600160a01b038116900361039d5760a4356001600160601b038116900361039d5760c4356001600160a01b038116900361039d5760008051602061654e83398151915254916001600160401b0383161580613643575b6001600160401b0384166001149081613639575b159081613630575b5061361e576001600160401b0319831660011760008051602061654e83398151915255604083901c60ff16156135f5575b6001600160a01b038216156135e3576084356001600160a01b0316156135d15760c4356001600160a01b031615611efe576107d060a4356001600160601b0316116135bf5761310d616088565b613115616088565b8051906001600160401b038211610b0d5761313e60008051602061628e833981519152546141d7565b601f8111613551575b50602090601f83116001146134ca5761316a9291600091836134bf5750506144db565b60008051602061628e833981519152555b83516001600160401b038111610b0d576131a360008051602061658e833981519152546141d7565b601f8111613451575b506020601f82116001146133cd5781906131d1939495966000926133c25750506144db565b60008051602061658e833981519152555b6131ea616088565b6131f2616088565b6131fa616088565b613202616088565b61320a616088565b600a80546001600160a01b0319166001600160a01b03929092169190911790558151916001600160401b038311610b0d5761324a836122036009546141d7565b602090601f841160011461335757928061326f9260ff9560009261334c5750506144db565b6009555b61327e6084356147db565b61328960a435614f1d565b60008051602061632e83398151915280546001600160601b0319166103e81790556132b560c435615299565b506132c160c435615327565b506132cd6084356153b3565b50600160045560e435613341575b6101043560055560401c16156132ed57005b60ff60401b1960008051602061654e833981519152541660008051602061654e833981519152557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b60e435600c556132db565b0151905085806109ce565b90601f198416916009600052816000209260005b8181106133aa575091600193918660ff979410613391575b505050811b01600955613273565b015160001960f88460031b161c19169055848080613383565b9293602060018192878601518155019501930161336b565b0151905086806109ce565b60008051602061658e833981519152600052806000209060005b601f1984168110613439575060019394959683601f19811610613420575b505050811b0160008051602061658e833981519152556131e2565b015160001960f88460031b161c19169055858080613405565b9091602060018192858b0151815501930191016133e7565b60008051602061658e8339815191526000527ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e601f830160051c8101602084106134b8575b601f830160051c820181106134ac5750506131ac565b60008155600101613496565b5080613496565b0151905087806109ce565b919060008051602061628e83398151915260005280600020906000935b601f1984168510613536576001945083601f1981161061351d575b505050811b0160008051602061628e8339815191525561317b565b015160001960f88460031b161c19169055868080613502565b818101518355602094850194600190930192909101906134e7565b60008051602061628e8339815191526000527f37c58c799b6609234b945e882912ee9ad34948a1dfaa20a97485e1a7752bbf81601f840160051c8101602085106135b8575b601f830160051c820181106135ac575050613147565b60008155600101613596565b5080613596565b6040516338bc77d960e21b8152600490fd5b6040516344c7ef3760e11b8152600490fd5b6040516337021e9960e11b8152600490fd5b6001600160481b031983166001600160401b011760008051602061654e833981519152556130c0565b60405163f92ee8a960e01b8152600490fd5b9050158661308f565b303b159150613087565b5060ff8360401c1615613073565b3461039d5761056b6136623661403f565b916144ee565b3461039d57608036600319011261039d57613681613f59565b5061368a613f6f565b506136966044356156c4565b511515806136ac575b6020906040519015158152f35b50606435151561369f565b3461039d576136c536613fe8565b600a546001600160a01b03908116935090916136e081614e6c565b9282841615613893576136f4331515615256565b6136ff8115156151d2565b6000805b6103e88110613820575b50156137c4576137859261374a9160008051602061634e833981519152548060a01c92600093806137ac575b50839081613798575b505050614bae565b60008051602061632e833981519152546137809061271090613775906001600160601b031684614809565b049286843392616006565b614bae565b908161378d57005b61056b923390615a51565b6137a49216338a615a51565b878281613742565b6127109194506137bc9084614809565b049289613739565b60405162461bcd60e51b815260206004820152602e60248201527f5472616e73666572206e6f7420696e69746961746564206f7220726f79616c7460448201526d1e48185b1c9958591e481c185a5960921b6064820152608490fd5b60008051602061656e8339815191526138398242614bae565b6040519060209161386281613854858201948a338d88615228565b03601f1981018352826140c5565b519020600052526040600020805460ff8116613882575050600101613703565b60ff1916905550600190508661370d565b60405162461bcd60e51b815260206004820152601560248201527453656c6c65722063616e6e6f74206265207a65726f60581b6044820152606490fd5b3461039d57600036600319011261039d57602060008051602061640e83398151915254604051908152f35b3461039d57604036600319011261039d576004356001600160401b0360243581811161039d5761392f903690600401614012565b906000805160206162ce83398151915260005260209360008051602061646e8339815191528552604060002033600052855260ff604060002054161561038b5760008181526000805160206164ce833981519152865260409020546001600160a01b03161561043e578215610b7157600052600884526040600020928211610b0d576139bf826109a585546141d7565b600093601f83116001146139ee5750611085929382916000926139e35750506144db565b0135905084806109ce565b90601f198316948460005282600020926000905b878210613a3a575050836001959610613a20575b505050811b019055005b0135600019600384901b60f8161c19169055838080613a16565b80600184968294958701358155019501920190613a02565b3461039d57613a6036613fe8565b91906001600160a01b0380613a7483614e6c565b1615613b2c57821615613aec57613aa761385491613a938515156151d2565b604051928391866020840196429288615228565b51902060005260008051602061656e8339815191526020526040600020600160ff198254161790556000805160206164ee833981519152602052604060002055600080f35b60405162461bcd60e51b8152602060048201526018602482015277526563697069656e742063616e6e6f74206265207a65726f60401b6044820152606490fd5b60405162461bcd60e51b81526020600482015260146024820152734f776e65722063616e6e6f74206265207a65726f60601b6044820152606490fd5b3461039d57602036600319011261039d57602061172c613b86613f59565b613b8e6151a7565b6143b9565b3461039d57613ba136613fb5565b3360009081526000805160206163ce833981519152602052604090205491929160ff161561038b5761056b923092614fa6565b3461039d57604036600319011261039d57613bed613f59565b602435613bf981614e6c565b33151580613ca8575b80613c88575b613c70576001600160a01b039283169282918491167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a4600090815260008051602061650e8339815191526020526040902080546001600160a01b0319169091179055005b60405163a9fbf51f60e01b8152336004820152602490fd5b50613c92816142b6565b3360005260205260ff6040600020541615613c08565b506001600160a01b038116331415613c02565b3461039d57602036600319011261039d57600435613cd881614e6c565b5060005260008051602061650e833981519152602052602060018060a01b0360406000205416604051908152f35b3461039d57600036600319011261039d5760405160008051602061628e8339815191528054826000613d37836141d7565b92838352602094600191866001821691826000146119c4575050600114613d66575050611971925003836140c5565b85925060005281600020906000915b858310613d8d57505061197193508201018580611963565b80548389018501528794508693909201918101613d75565b3461039d57613db336613efb565b816000526000805160206164ce8339815191528060205260018060a01b039081604060002054163303613e305783600052602052604060002054161561043e5760406000805160206163ae8339815191529183600052600660205281600020908082549255600760205280836000205582519182526020820152a2005b6040516329572f6760e01b8152600490fd5b3461039d57602036600319011261039d576004359063ffffffff60e01b821680920361039d5760209163152a902d60e11b8114908115613e84575b5015158152f35b63780e9d6360e01b811491508115613e9e575b5083613e7d565b6380ac58cd60e01b811491508115613eea575b8115613ebf575b5083613e97565b637965db0b60e01b811491508115613ed9575b5083613eb8565b6301ffc9a760e01b14905083613ed2565b635b5e139f60e01b81149150613eb1565b604090600319011261039d576004359060243590565b60005b838110613f245750506000910152565b8181015183820152602001613f14565b90602091613f4d81518092818552858086019101613f11565b601f01601f1916010190565b600435906001600160a01b038216820361039d57565b602435906001600160a01b038216820361039d57565b9181601f8401121561039d578235916001600160401b03831161039d576020808501948460061b01011161039d57565b90604060031983011261039d5760043591602435906001600160401b03821161039d57613fe491600401613f85565b9091565b606090600319011261039d576004356001600160a01b038116810361039d57906024359060443590565b9181601f8401121561039d578235916001600160401b03831161039d576020838186019501011161039d57565b606090600319011261039d576001600160a01b0390600435828116810361039d5791602435908116810361039d579060443590565b60a081019081106001600160401b03821117610b0d57604052565b604081019081106001600160401b03821117610b0d57604052565b602081019081106001600160401b03821117610b0d57604052565b601f909101601f19168101906001600160401b03821190821017610b0d57604052565b6001600160401b038111610b0d57601f01601f191660200190565b81601f8201121561039d5780359061411a826140e8565b9261412860405194856140c5565b8284526020838301011161039d57816000926020809301838601378301015290565b600435906001600160601b038216820361039d57565b6001600160a01b039091168152602081019190915260400190565b60208082019080835283518092528060408094019401926000905b8382106141a557505050505090565b845180516001600160a01b031687528301516001600160601b0316868401529485019493820193600190910190614196565b90600182811c92168015614207575b60208310146141f157565b634e487b7160e01b600052602260045260246000fd5b91607f16916141e6565b90604051918260008254614224816141d7565b908184526020946001916001811690816000146142945750600114614255575b505050614253925003836140c5565b565b600090815285812095935091905b81831061427c5750506142539350820101388080614244565b85548884018501529485019487945091830191614263565b9250505061425394925060ff191682840152151560051b820101388080614244565b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793056020526040902090565b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793036020526040902090565b9181601f8401121561039d578235916001600160401b03831161039d576020808501948460051b01011161039d57565b90606060031983011261039d576001600160401b0360043581811161039d578361438491600401614328565b9390939260243583811161039d578261439f91600401614328565b9390939260443591821161039d57613fe491600401613f85565b600480549160005b8381106143d15750505050600090565b6143da8161496b565b6000526000805160206162ae833981519152602052604060002060ff84820154169081614418575b5061440f576001016143c1565b50505050600190565b546001600160a01b03848116911614905038614402565b601f811161443b575050565b60009060096000526020600020906020601f850160051c8301941061447b575b601f0160051c01915b82811061447057505050565b818155600101614464565b909250829061445b565b90601f811161449357505050565b6000916000526020600020906020601f850160051c830194106144d1575b601f0160051c01915b8281106144c657505050565b8181556001016144ba565b90925082906144b1565b8160011b916000199060031b1c19161790565b90916001600160a01b038084169283156147c2576000938385526000805160206164ce833981519152946020868152604097858984205416973315158061472a575b50881590811561470b575b614544836142ef565b80546001019055888552835289842080546001600160a01b0319168617905587858a60008051602061642e8339815191528780a4156146855760008051602061640e833981519152805488855260008051602061630e83398151915284528a852081905590600160401b82101561467157612a73828a9260016145c995019055614944565b838803614605575b5050505016928383036145e45750505050565b6064945051926364283d7b60e01b8452600484015260248301526044820152fd5b61460e906149b4565b60001981019390841161465d5782916000805160206161ce833981519152918a94526000805160206161ee833981519152815283832085845281528784842055878352522055388080806145d1565b634e487b7160e01b83526011600452602483fd5b634e487b7160e01b85526041600452602485fd5b8784146145c957614695886149b4565b8784526000805160206161ce833981519152908184528a852054918a86526000805160206161ee83398151915285528b8620928281036146e9575b508986528452848b8120558452825282898120556145c9565b8287528386528c808820548091838a5289205587528186528c872055386146d0565b61471489615fdb565b61471d8a6142ef565b805460001901905561453b565b80614775575b1561473b5738614530565b89888a614758576024915190637e27328960e01b82526004820152fd5b905163177e802f60e01b8152908190612e69903360048401614160565b5033891480156147a7575b80614730575087845260008051602061650e833981519152835233878b8620541614614730565b506147b1896142b6565b338552835260ff8a85205416614780565b604051633250574960e11b815260006004820152602490fd5b60008051602061634e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b81810292918115918404141715612b5057565b80518210156120bf5760209160051b010190565b9190600081156148bf5750915b82156148b657612710906148758261486e60018060601b03968760008051602061632e833981519152541690614809565b04916156c4565b90815115801561488d57505050509050600090600090565b6120bf5760206148a69201519460208601511690614809565b92516001600160a01b0316920490565b50600091508190565b60409150838152600660205220549161483d565b604051906331a9108f60e11b82526004820152602081602481305afa9081614905575b5061490057600090565b600190565b6020813d60201161493c575b8161491e602093836140c5565b8101031261039d57516001600160a01b0381160361039d57386148f6565b3d9150614911565b60008051602061640e83398151915280548210156120bf5760005260206000200190600090565b60008051602061640e833981519152548110156149955761498b90614944565b90549060031b1c90565b6044906040519063295f44f760e21b8252600060048301526024820152fd5b6001600160a01b038116156149d0576149cc906142ef565b5490565b6040516322718ad960e21b815260006004820152602490fd5b6001600160401b038111610b0d5760051b60200190565b90614a0a826149e9565b614a1760405191826140c5565b8281528092614a28601f19916149e9565b0190602036910137565b90600082815260209260066020526040822054908115614b2a5761271091614a7e83614a7760018060601b03938460008051602061632e833981519152541690614809565b04926156c4565b95865115614afe57614a908751614a00565b96614a9b8151614a00565b955b8151811015614af5576001906001600160a01b03614abb828561481c565b515116614ac8828c61481c565b5286614ae38686614ad9858861481c565b5101511688614809565b04614aee828a61481c565b5201614a9d565b50505050505090565b505050509150604051614b10816140aa565b82815260405192614b20846140aa565b8084523681379190565b50509150604051614b10816140aa565b91908110156120bf5760051b81013590601e198136030182121561039d5701803591906001600160401b03831161039d57602001823603811361039d579190565b91908110156120bf5760051b0190565b356001600160a01b038116810361039d5790565b6000198114612b505760010190565b91908203918211612b5057565b9190808252602080920192916000805b838210614bda57505050505090565b9091929394853560018060a01b038116809103614c04578152830194830193929160010190614bcb565b8280fd5b60008181526000805160206164ce8339815191526020908152604080832054919392916001600160a01b031615614e5c5782825260088452614c4b818320614211565b8051614e54575082918072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8481811015614e47575b508690506904ee2d6d415b85acef8160201b80871015614e3b575b5050662386f26fc1000080861015614e2e575b506305f5e10080861015614e21575b5061271080861015614e14575b506064851015614e06575b600a80951015614dfe575b6001926001820195614cff614cea886140e8565b97614cf78451998a6140c5565b8089526140e8565b958560218a8a0195601f19809a013688378a0101905b614dcf575b505050519586938360095491614d2f836141d7565b9260018116908115614dae5750600114614d6a575b50505050614d5a8291614d679651938491613f11565b01039081018352826140c5565b90565b90919297939450600982528782205b838310614d9857505050614d6795614d5a918501019291953880614d44565b80548a84018a0152899650918801918101614d79565b60ff191688860152505050801515028401019150614d5a614d673880614d44565b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304908682614d155750614d1a565b600101614cd6565b936064600291049401614ccb565b6004919504940138614cc0565b6008919504940138614cb3565b6010919504940138614ca4565b90950494018538614c91565b0494508290503880614c76565b935050505090565b51636c01c8cf60e11b8152600490fd5b60008181526000805160206164ce83398151915260205260409020546001600160a01b0316908115612b22575090565b9081602091031261039d5751801515810361039d5790565b91908110156120bf5760061b0190565b356001600160601b038116810361039d5790565b91908201809211612b5057565b8054906000906000815582614ef957505050565b6000526020600020918201915b828110614f1257505050565b818155600101614f06565b60008051602061634e83398151915280546001600160a01b031660a09290921b6001600160a01b031916919091179055565b908154600160401b811015610b0d57600181018084558110156120bf576020612095916142539460005281600020019260018060a01b03614f8f82614b8b565b85546001600160a01b031916911617845501614ec4565b9291909160409081518091634f558e7960e01b825286600483015281602460209485935afa9081156150b257600091615095575b5015615084576000805b84821061505e5761271091500361504d57846000526000805160206162ee8339815191529081815261501883600020614ee5565b60005b84811061502b5750505050505050565b600190876000528383526150478560002061077683898b614eb4565b0161501b565b8151630569d67b60e21b8152600490fd5b60019061507c906001600160601b036107b8866107b2878b8d614eb4565b910190614fe4565b815163677510db60e11b8152600490fd5b6150ac9150823d84116107ed576107df81836140c5565b38614fda565b83513d6000823e3d90fd5b9291909160409081518091634f558e7960e01b825286600483015281602460209485935afa9081156150b25760009161518a575b5015615084576000805b8482106151645761271091500361504d57846000526000805160206162ee8339815191529081815261512f83600020614ee5565b60005b8481106151425750505050505050565b6001908760005283835261515e8560002061077683898b614eb4565b01615132565b600190615182906001600160601b036107b8866107b2878b8d614eb4565b9101906150fb565b6151a19150823d84116107ed576107df81836140c5565b386150f1565b60ff6000805160206164ae83398151915254166151c057565b60405163d93c066560e01b8152600490fd5b156151d957565b60405162461bcd60e51b815260206004820152602160248201527f53616c65207072696365206d7573742062652067726561746572207468616e206044820152600360fc1b6064820152608490fd5b90815260609190911b6001600160601b03191660208201526034810191909152605481019190915260740190565b1561525d57565b60405162461bcd60e51b815260206004820152601460248201527342757965722063616e6e6f74206265207a65726f60601b6044820152606490fd5b6001600160a01b031660008181527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604081205490919060008051602061646e8339815191529060ff16615322578280526020526040822081835260205260408220600160ff1982541617905533916000805160206161ae8339815191528180a4600190565b505090565b6001600160a01b031660008181526000805160206163ce83398151915260205260408120549091906000805160206162ce8339815191529060008051602061646e8339815191529060ff166153ad578184526020526040832082845260205260408320600160ff198254161790556000805160206161ae833981519152339380a4600190565b50505090565b6001600160a01b0316600081815260008051602061622e833981519152602052604081205490919060008051602061620e8339815191529060008051602061646e8339815191529060ff166153ad578184526020526040832082845260205260408320600160ff198254161790556000805160206161ae833981519152339380a4600190565b6001600160a01b0316600081815260008051602061624e833981519152602052604081205490919060008051602061644e8339815191529060008051602061646e8339815191529060ff166153ad578184526020526040832082845260205260408320600160ff198254161790556000805160206161ae833981519152339380a4600190565b9060009180835260008051602061646e83398151915280602052604084209260018060a01b03169283855260205260ff604085205416156000146153ad578184526020526040832082845260205260408320600160ff198254161790556000805160206161ae833981519152339380a4600190565b604080519161554283614074565b6000908184528160806020958287820152828682015282606082015201528251634f558e7960e01b81528160048201528481602481305afa908115615645578391615628575b50156155ed5791808260ff94600494526000805160206162ae833981519152865220908051946155b786614074565b82546001600160a01b03168652600183015490860152600282015490850152600381015460608501520154161515608082015290565b825162461bcd60e51b8152600481018590526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152606490fd5b61563f9150853d87116107ed576107df81836140c5565b38615588565b84513d85823e3d90fd5b90815461565b816149e9565b9260409361566c60405191826140c5565b82815280946020809201926000526020600020906000935b85851061569357505050505050565b600184819284516156a38161408f565b8654848060a01b038116825260a01c83820152815201930194019391615684565b600052602060008051602061638e8339815191526020526040906040600020805461576957506000805160206163ee833981519152805491615705836149e9565b9361571360405195866140c5565b83855260208501926000526020600020906000935b8585106157385750505050505090565b600184819284516157488161408f565b8654848060a01b038116825260a01c83820152815201930194019391615728565b9050614d67915061564f565b8060005260008051602061646e83398151915260205260406000203360005260205260ff60406000205416156127df5750565b6001600160a01b0316600081815260008051602061624e833981519152602052604081205490919060008051602061644e8339815191529060008051602061646e8339815191529060ff16156153ad57818452602052604083208284526020526040832060ff19815416905560008051602061648e833981519152339380a4600190565b6001600160a01b0316600081815260008051602061622e833981519152602052604081205490919060008051602061620e8339815191529060008051602061646e8339815191529060ff16156153ad57818452602052604083208284526020526040832060ff19815416905560008051602061648e833981519152339380a4600190565b9060009180835260008051602061646e83398151915280602052604084209260018060a01b03169283855260205260ff6040852054166000146153ad57818452602052604083208284526020526040832060ff19815416905560008051602061648e833981519152339380a4600190565b1561592857565b60405162461bcd60e51b815260206004820152601a602482015279546f6b656e206f776e65722063616e6e6f74206265207a65726f60301b6044820152606490fd5b60005260206000805160206162ee83398151915260205260409060406000208054615769575060008051602061652e8339815191528054916159ab836149e9565b936159b960405195866140c5565b83855260208501926000526020600020906000935b8585106159de5750505050505090565b600184819284516159ee8161408f565b8654848060a01b038116825260a01c838201528152019301940193916159ce565b15615a1657565b60405162461bcd60e51b8152602060048201526013602482015272151bdad95b881a5cc81b9bdd081c995b9d1959606a1b6044820152606490fd5b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815261425391615a9382614074565b6160ee565b6040805192615aa6846140aa565b60008085526001600160a01b0394848616948515615dd2578383526000805160206164ce833981519152602097818952868520541687811580159384615db3575b615af0866142ef565b805460010190558888528b5288872080546001600160a01b0319168317905587828460008051602061642e8339815191528a80a415615d2a575060008051602061640e833981519152805487875260008051602061630e8339815191528b5288872081905590600160401b821015615d165787612a7383615b789360018e9796019055614944565b03615caf575b615c97573b615b90575b505050505050565b85615bcd9185969798955180938192630a85bd0160e11b978884523360048501528760248501526044840152608060648401526084830190613f34565b0381858a5af190829082615c4c575b5050615c1457505050615bed615e8e565b8051939084615c0e578251633250574960e11b815260048101859052602490fd5b84925001fd5b9194506001600160e01b031990911603615c35575050388080808080615b88565b602492505190633250574960e11b82526004820152fd5b909192508781813d8311615c90575b615c6581836140c5565b81010312615c8c5751906001600160e01b031982168203615c895750903880615bdc565b80fd5b5080fd5b503d615c5b565b84516339e3563760e11b815260048101849052602490fd5b615cb8826149b4565b6000198101908111615d02578785526000805160206161ee8339815191528952868520818652895285878620558585526000805160206161ce833981519152895286852055615b7e565b634e487b7160e01b85526011600452602485fd5b634e487b7160e01b87526041600452602487fd5b90808214615b785789615d3c826149b4565b8888526000805160206161ce8339815191528083528a892054848a526000805160206161ee8339815191528452818c8b2094848303615d91575b5050508989528c52878a81205587528a528588812055615b78565b848c528581528d8c2054838d528e8d208190558c52528b8a205538818e615d76565b615dbc89615fdb565b615dc5846142ef565b8054600019019055615ae7565b8451633250574960e11b815260048101849052602490fd5b615a936142539392615e1160405194859263a9059cbb60e01b602085015260248401614160565b03601f1981018452836140c5565b615e2c909392919361596a565b9060005b8251811015615e8757600190612710615e566001600160601b036020614ad9858961481c565b0480615e64575b5001615e30565b615e8190838060a01b03615e78848861481c565b51511685615dea565b38615e5d565b5050509050565b3d15615eb9573d90615e9f826140e8565b91615ead60405193846140c5565b82523d6000602084013e565b606090565b9293823b615ece575b5050505050565b615f129060018060a01b038094169560405194859481630a85bd0160e11b988988521660048701521660248501526044840152608060648401526084830190613f34565b03906020816000938185885af190829082615f92575b5050615f605782615f37615e8e565b8051919082615f5957604051633250574960e11b815260048101839052602490fd5b6020915001fd5b6001600160e01b03191603615f7a57503880808080615ec7565b60249060405190633250574960e11b82526004820152fd5b909192506020813d602011615fd3575b81615faf602093836140c5565b81010312615c8c5751906001600160e01b031982168203615c895750903880615f28565b3d9150615fa2565b600090815260008051602061650e8339815191526020526040902080546001600160a01b0319169055565b61601390949391946156c4565b91825115615e875760005b83518110156160805760019061271061604e6001600160601b036020616044858a61481c565b5101511689614809565b048061605c575b500161601e565b61607a90838060a01b03616070848961481c565b5151168686615a51565b38616055565b505050509050565b60ff60008051602061654e8339815191525460401c16156160a557565b604051631afcd79f60e31b8152600490fd5b6000526000805160206162ae833981519152602052604060002060ff60048201541690816160e3575090565b600291500154421090565b906000602091828151910182855af1156107f4576000513d61614157506001600160a01b0381163b155b61611f5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415616118565b90616171575080511561615f57602081519101fd5b60405163d6bda27560e01b8152600490fd5b815115806161a4575b616182575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561617a56fe2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed01645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed00797343f8d6a29aafeb3aaf0910a8973e0081c60c2f6c1f775cd9f76ea348fc1ead72024263e9623ebed8340901e66822b773634383aecc136f020cfef766318f774afb6aa83f545ecfd605e50ebf9593d146cb1cda2b64545f77f86c1ab621d7cb1e26772e882480176a3e649a5f7937dc0ec3f50126283faf56f927b070be8080bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079300efbf0e557c8acb6e3deb011ac697e5553b802e419ed4680395101c0ddc5e8723b19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e1aa44fcb526383bd2f7c6231f8c09a41edc5b654966336907d6f785a5b3d2892645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed031aa44fcb526383bd2f7c6231f8c09a41edc5b654966336907d6f785a5b3d288fde1159fbbeca73b2aca5752c42b257ca18171ae3b3d3bbf22c7938e3a961a0cb360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc1aa44fcb526383bd2f7c6231f8c09a41edc5b654966336907d6f785a5b3d2893ae83572f861e1ad5a0091d29986e73633965028088f707f39079ed27236f889cc32d4dc01d07c436ad8a6f9a20eadd61263c71fe16f6b5956005ba3b341f51dd1aa44fcb526383bd2f7c6231f8c09a41edc5b654966336907d6f785a5b3d2891645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed02ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef3b652633b3026fa70803ad50b58b0ae884cefe3497643f62c67c466f41a6e88d02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171bcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330080bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793026b770677edae0e90cca492948fa872f24dbe9c82ebeb8d39118b033a5e1bd3e080bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793041aa44fcb526383bd2f7c6231f8c09a41edc5b654966336907d6f785a5b3d2890f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a006b770677edae0e90cca492948fa872f24dbe9c82ebeb8d39118b033a5e1bd3df80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079301a164736f6c6343000818000a",
|
|
2207
|
+
"deployedBytecode": "0x608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a714613e4257508063053992c514613da557806306fdde0314613d06578063081812fc14613cbb578063095ea7b314613bd45780630a0a351514613b935780630ca1c5c9146138d05780630daf4c9714613b6857806310c551c514613a52578063162094c4146138fb57806318160ddd146138d05780631eae6ed7146136b75780631fc7f7e91461366857806323b872dd14613651578063243f955914612f9e578063248a9ca314612f6257806327dc3fbd14612efe5780632a55205a14612ed75780632ab4d05214612eb95780632f2ff15d14612e6d5780632f745c5914612de75780633013ce2914612dbe578063321f532714612d9257806336568abe14612d4b5780633f4ba83a14612cb757806342842e0e14612c8957806342966c6814612981578063463dace014612962578063492ae5a3146128195780634f1ef286146125fa5780634f558e79146125dc5780634f6ccce7146125be57806352d1902d1461255357806355a976321461229d57806355f804b31461217c5780635c975abb1461214c5780635e27a77514612121578063602481b614611f8a5780636352211e14611f5a5780636817c76c14611f3c5780636c8b703f14611f105780636eddaebf14611bbb57806370824c5c14611b9257806370a0823114611b6757806373b2e80e14611b285780638456cb5914611aa45780638a71bb2d14611a6e57806391d1485414611a1457806392303e06146119e657806395d89b411461191057806397491d6f1461187f5780639f6d68b0146117fb578063a217fddf146117df578063a22cb46514611736578063aa15d40f14611706578063ad3cb1cc146116c0578063b76c632b1461161f578063b7971fc614611301578063b88d4fde146112a6578063b97c9f771461127d578063c87b56dd14611246578063c8a9aabc14610f02578063d547741f14610eb6578063d9061aa514610c25578063dbe55e5614610bef578063e41fa41d14610855578063e58378bb1461082c578063e5afe3e614610800578063e5f2e0cc146106a8578063e985e9c51461065a578063f249fd16146104c3578063f4a0a52814610450578063f7d97577146103a25763f7ea7a3d1461034d57600080fd5b3461039d57602036600319011261039d573360009081526000805160206163ce833981519152602052604090205460ff161561038b57600435600c55005b604051632e6c18c960e11b8152600490fd5b600080fd5b3461039d576103b036613efb565b3360009081526000805160206163ce833981519152602090815260409091205490919060ff161561038b5760008381526000805160206164ce833981519152835260409020546001600160a01b03161561043e576000805160206163ae83398151915291604091846000526006825282600020918183549355600781528184600020558351928352820152a2005b60405163677510db60e11b8152600490fd5b3461039d57602036600319011261039d573360009081526000805160206163ce83398151915260205260409020546004359060ff161561038b5760407f2e1c9e000c6e8dda4d03536adb13b7cb6034ccff90d17f01de381e4d5097b52591600554908060055582519182526020820152a1005b3461039d57604036600319011261039d576104dc61414a565b6104e4613f6f565b60008051602061634e833981519152546001600160a01b0390811692908216908115610615576107d06001600160601b038216116105c257301561057d576105349061052f846147db565b614f1d565b820361053c57005b600082815260008051602061622e833981519152602052604090205461056b929060ff1661056d575b506153b3565b005b6105769061582c565b5082610565565b60405162461bcd60e51b815260206004820152601d60248201527f41636365737320636f6e74726f6c2063616e6e6f74206265207a65726f0000006044820152606490fd5b60405162461bcd60e51b815260206004820152602560248201527f506c6174666f726d20636f6d6d697373696f6e2063616e6e6f74206578636565604482015264642032302560d81b6064820152608490fd5b60405162461bcd60e51b815260206004820152601f60248201527f506c6174666f726d20616464726573732063616e6e6f74206265207a65726f006044820152606490fd5b3461039d57604036600319011261039d57610673613f59565b61068461067e613f6f565b916142b6565b9060018060a01b0316600052602052602060ff604060002054166040519015158152f35b3461039d576106b636613fb5565b3360009081526000805160206163ce8339815191526020908152604090912054919392909160ff161561038b57604051634f558e7960e01b8152600481018490528281602481305afa9081156107f4576000916107c7575b501561043e576000805b85821061079457612710915003610782578260005260008051602061638e8339815191529182815261074d6040600020614ee5565b60005b85811061075957005b6001908560005284835261077c6040600020610776838a88614eb4565b90614f4f565b01610750565b604051630569d67b60e21b8152600490fd5b6001906107bf906001600160601b036107b8876107b2878c8a614eb4565b01614ec4565b1690614ed8565b910190610718565b6107e79150833d85116107ed575b6107df81836140c5565b810190614e9c565b8561070e565b503d6107d5565b6040513d6000823e3d90fd5b3461039d57602036600319011261039d5760043560005260076020526020604060002054604051908152f35b3461039d57600036600319011261039d5760206040516000805160206162ce8339815191528152f35b3461039d5761086336614358565b92919084959415610bdd5760648611610bcb57818603610bb95760055415610ba75760005b8681106108d057867f5f3c9cc400a6e4d8a7ee0835f4f43f9bb0fdd28b79013b92de0dabd527ef4c0c6108cb886040519182916020835233956020840191614bbb565b0390a2005b6108e36108de828989614b7b565b614b8b565b6001600160a01b03811615610b95576001600160a01b0381166000908152600b602052604090205460ff16610b835761091d828587614b3a565b905015610b715760055480610b51575b50600c5480610b23575b5060045461094481614b9f565b6004556109518183615a98565b60055481600052600660205280604060002055600760205260406000205561097a838688614b3a565b6000838152600860205260409020916001600160401b038211610b0d576109ab826109a585546141d7565b85614485565b600090601f8311600114610a9d5791806109d59260019897969594600092610a92575b50506144db565b90555b610a0360008051602061634e833981519152548060a01c9060009180610a57575b5050600554614bae565b9088610a30575b5050828060a01b0316600052600b60205260406000208260ff1982541617905501610888565b610a5091610a40308b89856150bd565b858060a01b03600a541691615e1f565b8980610a0a565b612710919250610a6990600554614809565b04908180156109f957600a54610a8b9260a08a901b8a90039081169116615dea565b8c816109f9565b013590508e806109ce565b83600097969594939297526020600020906000975b601f1984168910610af5576001985083601f19811610610adb575b505050851b850190556109d8565b0135600019600384901b60f8161c191690558c8080610acd565b81810135835560209889019860019093019201610ab2565b634e487b7160e01b600052604160045260246000fd5b60008051602061640e833981519152541015610b3f5788610937565b604051631c07ee3d60e01b8152600490fd5b600a54610b6b9190309084906001600160a01b0316615a51565b8861092d565b6040516317314b6160e01b8152600490fd5b604051634ec117b560e11b8152600490fd5b60405163226ccff560e11b8152600490fd5b6040516309d97cfd60e21b8152600490fd5b60405163512509d360e11b8152600490fd5b604051635531b49560e01b8152600490fd5b60405163d982238560e01b8152600490fd5b3461039d57600036600319011261039d5760008051602061634e833981519152546040516001600160a01b039091168152602090f35b3461039d57604036600319011261039d576001600160401b0360043581811161039d57610c56903690600401614012565b909160243581811161039d57610c70903690600401613f85565b919033600052602092600b845260ff60406000205416610ea457600592835415610ba7578515610b7157600c5480610e88575b5060045495610cb187614b9f565b600455610cbe8733615a98565b845487600052600687528060406000205560078752604060002055600886526040600020918111610b0d57610cfd81610cf784546141d7565b84614485565b6000601f8211600114610e0b5781610d9695949392610d369260008051602061626e833981519152999a9b600092610e005750506144db565b90555b600a5484546001600160a01b039291610d589190309033908616615a51565b610d8260008051602061634e833981519152548060a01c9060009180610dce575b50508654614bae565b9281610dbb575b5050600a54169086615e1f565b33600052600b83526040600020600160ff1982541617905554916040519283523392a3005b610dc79130918a6150bd565b8780610d89565b612710919250610ddf908954614809565b0490818015610d7957600a54610df9928716908716615dea565b8a81610d79565b013590508b806109ce565b601f1982169083600052876000209160005b818110610e7157509160008051602061626e83398151915298999a8492610d969897969560019510610e57575b505050811b019055610d39565b0135600019600384901b60f8161c191690558a8080610e4a565b91928960018192868f013581550194019201610e1d565b60008051602061640e833981519152541015610b3f5787610ca3565b604051630c8d9eab60e31b8152600490fd5b3461039d57604036600319011261039d5761056b600435610ed5613f6f565b908060005260008051602061646e833981519152602052610efd600160406000200154615775565b6158b0565b3461039d57606036600319011261039d57610f1b6151a7565b610f26600435614e6c565b600a546001600160a01b039081169190610f439082161515615921565b602435156111ee5760443515611197576004356000526000805160206162ae833981519152602052610f7f60ff60046040600020015416615a0f565b6004356000526000805160206162ae8339815191526020523360018060a01b03604060002054160361115657610fb9604435303385615a51565b610fec60008051602061634e833981519152548060a01c906000918061113c575b508180611122575b5050604435614bae565b9061271061101160018060601b0360008051602061632e833981519152541684614809565b048061109a575b6110229192614bae565b9081611089575b6004356000526000805160206162ae83398151915260205260026040600020016110566024358254614ed8565b90556004356000526000805160206162ae83398151915260205260036040600020016110856044358254614ed8565b9055005b61109292615dea565b808080611029565b6110a560043561596a565b80516110b2575b50611018565b9160005b8351811015611117576001906127106110e66001600160601b0360206110dc858a61481c565b5101511686614809565b04806110f4575b50016110b6565b61111190838060a01b03611108848961481c565b51511689615dea565b876110ed565b5091506110226110ac565b611135916001600160a01b031686615dea565b8481610fe2565b61271091925061114e90604435614809565b049085610fda565b60405162461bcd60e51b815260206004820152601960248201527821b0b63632b91036bab9ba103132903a3432903932b73a32b960391b6044820152606490fd5b60405162461bcd60e51b815260206004820152602960248201527f4164646974696f6e616c207061796d656e74206d75737420626520677265617460448201526806572207468616e20360bc1b6064820152608490fd5b60405162461bcd60e51b815260206004820152602a60248201527f4164646974696f6e616c206475726174696f6e206d75737420626520677265616044820152690746572207468616e20360b41b6064820152608490fd5b3461039d57602036600319011261039d57611279611265600435614c08565b604051918291602083526020830190613f34565b0390f35b3461039d57600036600319011261039d57602060405160008051602061644e8339815191528152f35b3461039d57608036600319011261039d576112bf613f59565b6112c7613f6f565b6064359190604435906001600160401b03841161039d576112ef61056b943690600401614103565b926112fb8383836144ee565b33615ebe565b3461039d5761130f36614358565b3360009081526000805160206163ce833981519152602052604090205493959390929060ff161561038b578415610bdd5760648511610bcb57808503610bb9576005548015610ba7578561136291614809565b9560005b8281106116055750600a54611389908890309033906001600160a01b0316615a51565b60005b8681106113da57877fc790cf53c8ec5abcec9e7425457455b2f05a3384ca5ced92b25ffcd8eb3238a1886113cc8960405192604084526040840191614bbb565b9260208201528033930390a2005b6113e86108de828989614b7b565b6001600160a01b03811615610b95576001600160a01b0381166000908152600b602052604090205460ff16610b8357600c54806115e9575b5060045461142d81614b9f565b60045561143a8183615a98565b600554816000526006602052806040600020556007602052604060002055611463838686614b3a565b6000838152600860205260409020916001600160401b038211610b0d5761148e826109a585546141d7565b600090601f831160011461157757826001979695936114fc95936114ba9360009261156c5750506144db565b90555b6114e760008051602061634e833981519152548060a01c9060009180611531575050600554614bae565b8961152057858060a01b03600a541691615e1f565b828060a01b0316600052600b60205260406000208260ff198254161790550161138c565b61152c308b8b85614fa6565b610a40565b61271091925061154390600554614809565b04908180156109f957600a546115659260a08b901b8b90039081169116615dea565b8e816109f9565b0135905038806109ce565b8360005260206000209160005b601f19851681106115d157509183916114fc9593600199989795601f198116106115b7575b505050861b860190556114bd565b0135600019600384901b60f8161c191690558e80806115a9565b90926020600181928686013581550194019101611584565b60008051602061640e833981519152541015610b3f5789611420565b611610818484614b3a565b905015610b7157600101611366565b3461039d5760208060031936011261039d5761163c600435614a32565b60405192839260408401604085528151809152826060860192019060005b8181106116a0575050508381038285015281808451928381520193019160005b82811061168957505050500390f35b83518552869550938101939281019260010161167a565b82516001600160a01b03168452879650928401929184019160010161165a565b3461039d57600036600319011261039d576112796040516116e08161408f565b60058152640352e302e360dc1b6020820152604051918291602083526020830190613f34565b3461039d57602036600319011261039d5761171f6151a7565b602061172c6004356160b7565b6040519015158152f35b3461039d57604036600319011261039d5761174f613f59565b602435908115159081830361039d576001600160a01b03169182156117c6576117989061177b336142b6565b8460005260205260406000209060ff801983541691151516179055565b6040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b604051630b61174360e31b815260048101849052602490fd5b3461039d57600036600319011261039d57602060405160008152f35b3461039d57602036600319011261039d5761181461414a565b3360009081526000805160206163ce833981519152602052604090205460ff161561038b576001600160601b0316612710811161186d5760008051602061632e83398151915280546001600160601b0319169091179055005b60405163c2a2a95d60e01b8152600490fd5b3461039d57602036600319011261039d5760043561189b6151a7565b806000526000805160206162ae833981519152806020526118c660ff60046040600020015416615a0f565b81600052602052600460406000200160ff1981541690556118ed60018060a01b0391615534565b51166118f76151a7565b611900816143b9565b1561190757005b61056b906157a8565b3461039d57600036600319011261039d5760405160008051602061658e8339815191528054826000611941836141d7565b92838352602094600191866001821691826000146119c4575050600114611985575b5050611971925003836140c5565b611279604051928284938452830190613f34565b85925060005281600020906000915b8583106119ac57505061197193508201018580611963565b80548389018501528794508693909201918101611994565b925093505061197194915060ff191682840152151560051b8201018580611963565b3461039d57600036600319011261039d57602060008051602061634e8339815191525460a01c604051908152f35b3461039d57604036600319011261039d57611a2d613f6f565b60043560005260008051602061646e83398151915260205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b3461039d57600036600319011261039d5760008051602061632e833981519152546040516001600160601b039091168152602090f35b3461039d57600036600319011261039d573360009081526000805160206163ce833981519152602052604090205460ff161561038b57611ae26151a7565b6000805160206164ae833981519152600160ff198254161790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b3461039d57602036600319011261039d576001600160a01b03611b49613f59565b16600052600b602052602060ff604060002054166040519015158152f35b3461039d57602036600319011261039d576020611b8a611b85613f59565b6149b4565b604051908152f35b3461039d57600036600319011261039d57602060405160008051602061620e8339815191528152f35b3461039d57608036600319011261039d576064356001600160a01b0381169081900361039d57611be96151a7565b8015611efe57611bfa600435614e6c565b6001600160a01b038116918214611eec57600a546001600160a01b031691611c23901515615921565b60243515611e985760443515611e47576004356000526000805160206162ae83398151915260205260ff60046040600020015416611e0857611c69604435303385615a51565b611c9a60008051602061634e833981519152548060a01c906000918061113c57508180611122575050604435614bae565b90612710611cbf60018060601b0360008051602061632e833981519152541684614809565b0480611d93575b611cd09192614bae565b9081611d82575b611d77611ce660243542614ed8565b600460405191611cf583614074565b3383526020830190428252604084019081526060840190604435825260808501926001845284356000526000805160206162ae83398151915260205260406000209560018060a01b0390511660018060a01b031987541617865551600186015551600285015551600384015551151591019060ff801983541691151516179055565b61056b606435615439565b611d8b92615dea565b808080611cd7565b611d9e60043561596a565b8051611dab575b50611cc6565b9160005b8351811015611dfd57600190612710611dd56001600160601b0360206110dc858a61481c565b0480611de3575b5001611daf565b611df790838060a01b03611108848961481c565b87611ddc565b509150611cd0611da5565b60405162461bcd60e51b8152602060048201526017602482015276151bdad95b881a5cc8185b1c9958591e481c995b9d1959604a1b6044820152606490fd5b60405162461bcd60e51b815260206004820152602360248201527f52656e74616c207072696365206d75737420626520677265617465722074686160448201526206e20360ec1b6064820152608490fd5b60405162461bcd60e51b815260206004820152602660248201527f52656e74616c206475726174696f6e206d75737420626520677265617465722060448201526507468616e20360d41b6064820152608490fd5b604051631f01c24760e31b8152600490fd5b60405163d92e233d60e01b8152600490fd5b3461039d57602036600319011261039d5760043560005260086020526112796112656040600020614211565b3461039d57600036600319011261039d576020600554604051908152f35b3461039d57602036600319011261039d576020611f78600435614e6c565b6040516001600160a01b039091168152f35b3461039d5760208060031936011261039d576004356001600160401b03811161039d57611fbb903690600401613f85565b6000805160206162ce83398151915260005260008051602061646e8339815191528352604060002033600052835260ff604060002054161561038b576000805b8282106120fb57612710915003610782576000805160206163ee83398151915290815460008355806120d5575b5060005b81811061203557005b612040818386614eb4565b908354600160401b811015610b0d57600181018086558110156120bf57600192612095886120b99388600052816000200192868060a01b0361208182614b8b565b16878060a01b031985541617845501614ec4565b9080546001600160a01b031660a09290921b6001600160a01b031916919091179055565b0161202c565b634e487b7160e01b600052603260045260246000fd5b8260005284600020908101905b8181106120ef5750612028565b600081556001016120e2565b600190612119906001600160601b036107b8886107b287898b614eb4565b910190611ffb565b3461039d57602036600319011261039d576112796121406004356156c4565b6040519182918261417b565b3461039d57600036600319011261039d57602060ff6000805160206164ae83398151915254166040519015158152f35b3461039d5760208060031936011261039d576001600160401b0360043581811161039d576121ae903690600401614103565b916000805160206162ce83398151915260005260008051602061646e8339815191528152604060002033600052815260ff604060002054161561038b578251918211610b0d57612208826122036009546141d7565b61442f565b80601f8311600114612239575081906122299360009261222e5750506144db565b600955005b0151905083806109ce565b90601f19831693600960005282600020926000905b868210612285575050836001951061226c575b505050811b01600955005b015160001960f88460031b161c19169055828080612261565b8060018596829496860151815501950193019061224e565b3461039d57606036600319011261039d576122b6613f59565b6044356001600160a01b0381169081900361039d578015611efe576001600160a01b036122e4602435614e6c565b1603612541576024356000526006602052604060002054801561252f57600a546001600160a01b03908116919061231e9084161515615256565b60008051602061634e83398151915291825460a01c9260009380612517575b5061234a83308785615a51565b6123548484614bae565b93806124fa575b505060008051602061632e8339815191525461271090612384906001600160601b031685614809565b048061247c575b612396919293614bae565b80612468575b5050604051916020830191602435835260018060601b03198060443560601b1660408601528260601b16605485015260488452608084019284841060018060401b03851117610b0d5761056b94846040525190206000527f6b770677edae0e90cca492948fa872f24dbe9c82ebeb8d39118b033a5e1bd3e16020526040600020600160ff198254161790556000805160206164ee833981519152602052604060002055612448826140aa565b6000825261245b602435826044356144ee565b6024359060443533615ebe565b6124759160443590615dea565b828061239c565b6124876024356156c4565b8051612494575b5061238b565b9260005b84518110156124ef576001906127106124be6001600160601b0360206110dc858b61481c565b04806124cc575b5001612498565b6124e990838060a01b036124e0848a61481c565b51511687615dea565b886124c5565b50925061239661248e565b905461251091906001600160a01b031683615dea565b848061235b565b6127109194506125279084614809565b04928561233d565b604051630eb0d5b160e11b8152600490fd5b6040516328cdac3360e01b8152600490fd5b3461039d57600036600319011261039d577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036125ac57602060405160008051602061636e8339815191528152f35b60405163703e46dd60e11b8152600490fd5b3461039d57602036600319011261039d576020611b8a60043561496b565b3461039d57602036600319011261039d57602061172c6004356148d3565b604036600319011261039d5761260e613f59565b6024356001600160401b03811161039d5761262d903690600401614103565b906001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082163081149081156127fd575b506125ac573360009081526000805160206163ce83398151915260209081526040909120549092906000805160206162ce8339815191529060ff16156127df57508116916040516352d1902d60e01b81528181600481875afa600091816127b0575b506126e557604051634c9c8ce360e01b815260048101859052602490fd5b92849360008051602061636e833981519152908181036127985750833b1561277f5780546001600160a01b03191682179055604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28351156127655750600083819261056b95519101845af461275f615e8e565b9161614a565b925050503461277057005b63b398979f60e01b8152600490fd5b604051634c9c8ce360e01b815260048101839052602490fd5b60249060405190632a87526960e21b82526004820152fd5b9091508281813d83116127d8575b6127c881836140c5565b8101031261039d575190866126c7565b503d6127be565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b90508260008051602061636e8339815191525416141584612665565b3461039d5760208060031936011261039d576004356001600160401b03811161039d5761284a903690600401613f85565b6000805160206162ce83398151915260005260008051602061646e8339815191528352604060002033600052835260ff604060002054161561038b576000805b82821061293c576127109150036107825760008051602061652e8339815191529081546000835580612916575b5060005b8181106128c457005b6128cf818386614eb4565b908354600160401b811015610b0d57600181018086558110156120bf57600192612095886129109388600052816000200192868060a01b0361208182614b8b565b016128bb565b8260005284600020908101905b81811061293057506128b7565b60008155600101612923565b60019061295a906001600160601b036107b8886107b287898b614eb4565b91019061288a565b3461039d57602036600319011261039d5761127961214060043561596a565b3461039d5760208060031936011261039d57600435906001600160a01b0390816129aa84614e6c565b166129b6811515615921565b6129bf846160b7565b612c22575b50826000526000805160206164ce833981519152918282526040600020541680159283159081612c03575b60008681529084526040812080546001600160a01b031916905585908360008051602061642e8339815191528280a48315612b6657505060008051602061640e83398151915280548460005260008051602061630e833981519152835280604060002055600160401b811015610b0d57612a7381612a8c9360018894019055614944565b90919082549060031b91821b91600019901b1916179055565b60008051602061640e833981519152805460001992838201918211612b50578560005260008051602061630e83398151915290818152612ad160406000205493614944565b90549060031b1c612ae581612a7386614944565b60005252604060002055836000526000604081205580548015612b3a57820191612b0e83614944565b909182549160031b1b1916905555612b2257005b60249060405190637e27328960e01b82526004820152fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b612b71575b50612a8c565b612b7a816149b4565b846000526000805160206161ce833981519152808452604060002054926000526000805160206161ee8339815191528452604060002092828103612bd9575b508560005283526000604081205560005281526000604081205583612b6b565b82600052838552604060002054816000528060406000205560005281855260406000205586612bb9565b612c0c86615fdb565b612c15836142ef565b80546000190190556129ef565b836000526000805160206162ae8339815191528252826040600020541603612c4a57836129c4565b6064906040519062461bcd60e51b82526004820152601860248201527721b0b73737ba10313ab937103932b73a32b2103a37b5b2b760411b6044820152fd5b3461039d5761056b612c9a3661403f565b9060405192612ca8846140aa565b600084526112fb8383836144ee565b3461039d57600036600319011261039d573360009081526000805160206163ce833981519152602052604090205460ff161561038b576000805160206164ae833981519152805460ff811615612d395760ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b604051638dfc202b60e01b8152600490fd5b3461039d57604036600319011261039d57612d64613f6f565b336001600160a01b03821603612d805761056b906004356158b0565b60405163334bd91960e11b8152600490fd5b3461039d57602036600319011261039d5760043560005260066020526020604060002054604051908152f35b3461039d57600036600319011261039d57600a546040516001600160a01b039091168152602090f35b3461039d57604036600319011261039d57612e00613f59565b60243590612e0d816149b4565b821015612e4d5760018060a01b03166000526000805160206161ee8339815191526020526040600020906000526020526020604060002054604051908152f35b612e6960405192839263295f44f760e21b845260048401614160565b0390fd5b3461039d57604036600319011261039d5761056b600435612e8c613f6f565b908060005260008051602061646e833981519152602052612eb4600160406000200154615775565b6154bf565b3461039d57600036600319011261039d576020600c54604051908152f35b3461039d57612eee612ee836613efb565b90614830565b9061127960405192839283614160565b3461039d57602036600319011261039d57612f176151a7565b60a0612f24600435615534565b600180831b03815116906020810151906040810151608060608301519201511515926040519485526020850152604084015260608301526080820152f35b3461039d57602036600319011261039d5760043560005260008051602061646e8339815191526020526020600160406000200154604051908152f35b3461039d5761012036600319011261039d57612fb8613f59565b6024356001600160401b03811161039d57612fd7903690600401614103565b906044356001600160401b03811161039d57612ff7903690600401614103565b916064356001600160401b03811161039d57613017903690600401614103565b916084356001600160a01b038116900361039d5760a4356001600160601b038116900361039d5760c4356001600160a01b038116900361039d5760008051602061654e83398151915254916001600160401b0383161580613643575b6001600160401b0384166001149081613639575b159081613630575b5061361e576001600160401b0319831660011760008051602061654e83398151915255604083901c60ff16156135f5575b6001600160a01b038216156135e3576084356001600160a01b0316156135d15760c4356001600160a01b031615611efe576107d060a4356001600160601b0316116135bf5761310d616088565b613115616088565b8051906001600160401b038211610b0d5761313e60008051602061628e833981519152546141d7565b601f8111613551575b50602090601f83116001146134ca5761316a9291600091836134bf5750506144db565b60008051602061628e833981519152555b83516001600160401b038111610b0d576131a360008051602061658e833981519152546141d7565b601f8111613451575b506020601f82116001146133cd5781906131d1939495966000926133c25750506144db565b60008051602061658e833981519152555b6131ea616088565b6131f2616088565b6131fa616088565b613202616088565b61320a616088565b600a80546001600160a01b0319166001600160a01b03929092169190911790558151916001600160401b038311610b0d5761324a836122036009546141d7565b602090601f841160011461335757928061326f9260ff9560009261334c5750506144db565b6009555b61327e6084356147db565b61328960a435614f1d565b60008051602061632e83398151915280546001600160601b0319166103e81790556132b560c435615299565b506132c160c435615327565b506132cd6084356153b3565b50600160045560e435613341575b6101043560055560401c16156132ed57005b60ff60401b1960008051602061654e833981519152541660008051602061654e833981519152557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b60e435600c556132db565b0151905085806109ce565b90601f198416916009600052816000209260005b8181106133aa575091600193918660ff979410613391575b505050811b01600955613273565b015160001960f88460031b161c19169055848080613383565b9293602060018192878601518155019501930161336b565b0151905086806109ce565b60008051602061658e833981519152600052806000209060005b601f1984168110613439575060019394959683601f19811610613420575b505050811b0160008051602061658e833981519152556131e2565b015160001960f88460031b161c19169055858080613405565b9091602060018192858b0151815501930191016133e7565b60008051602061658e8339815191526000527ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e601f830160051c8101602084106134b8575b601f830160051c820181106134ac5750506131ac565b60008155600101613496565b5080613496565b0151905087806109ce565b919060008051602061628e83398151915260005280600020906000935b601f1984168510613536576001945083601f1981161061351d575b505050811b0160008051602061628e8339815191525561317b565b015160001960f88460031b161c19169055868080613502565b818101518355602094850194600190930192909101906134e7565b60008051602061628e8339815191526000527f37c58c799b6609234b945e882912ee9ad34948a1dfaa20a97485e1a7752bbf81601f840160051c8101602085106135b8575b601f830160051c820181106135ac575050613147565b60008155600101613596565b5080613596565b6040516338bc77d960e21b8152600490fd5b6040516344c7ef3760e11b8152600490fd5b6040516337021e9960e11b8152600490fd5b6001600160481b031983166001600160401b011760008051602061654e833981519152556130c0565b60405163f92ee8a960e01b8152600490fd5b9050158661308f565b303b159150613087565b5060ff8360401c1615613073565b3461039d5761056b6136623661403f565b916144ee565b3461039d57608036600319011261039d57613681613f59565b5061368a613f6f565b506136966044356156c4565b511515806136ac575b6020906040519015158152f35b50606435151561369f565b3461039d576136c536613fe8565b600a546001600160a01b03908116935090916136e081614e6c565b9282841615613893576136f4331515615256565b6136ff8115156151d2565b6000805b6103e88110613820575b50156137c4576137859261374a9160008051602061634e833981519152548060a01c92600093806137ac575b50839081613798575b505050614bae565b60008051602061632e833981519152546137809061271090613775906001600160601b031684614809565b049286843392616006565b614bae565b908161378d57005b61056b923390615a51565b6137a49216338a615a51565b878281613742565b6127109194506137bc9084614809565b049289613739565b60405162461bcd60e51b815260206004820152602e60248201527f5472616e73666572206e6f7420696e69746961746564206f7220726f79616c7460448201526d1e48185b1c9958591e481c185a5960921b6064820152608490fd5b60008051602061656e8339815191526138398242614bae565b6040519060209161386281613854858201948a338d88615228565b03601f1981018352826140c5565b519020600052526040600020805460ff8116613882575050600101613703565b60ff1916905550600190508661370d565b60405162461bcd60e51b815260206004820152601560248201527453656c6c65722063616e6e6f74206265207a65726f60581b6044820152606490fd5b3461039d57600036600319011261039d57602060008051602061640e83398151915254604051908152f35b3461039d57604036600319011261039d576004356001600160401b0360243581811161039d5761392f903690600401614012565b906000805160206162ce83398151915260005260209360008051602061646e8339815191528552604060002033600052855260ff604060002054161561038b5760008181526000805160206164ce833981519152865260409020546001600160a01b03161561043e578215610b7157600052600884526040600020928211610b0d576139bf826109a585546141d7565b600093601f83116001146139ee5750611085929382916000926139e35750506144db565b0135905084806109ce565b90601f198316948460005282600020926000905b878210613a3a575050836001959610613a20575b505050811b019055005b0135600019600384901b60f8161c19169055838080613a16565b80600184968294958701358155019501920190613a02565b3461039d57613a6036613fe8565b91906001600160a01b0380613a7483614e6c565b1615613b2c57821615613aec57613aa761385491613a938515156151d2565b604051928391866020840196429288615228565b51902060005260008051602061656e8339815191526020526040600020600160ff198254161790556000805160206164ee833981519152602052604060002055600080f35b60405162461bcd60e51b8152602060048201526018602482015277526563697069656e742063616e6e6f74206265207a65726f60401b6044820152606490fd5b60405162461bcd60e51b81526020600482015260146024820152734f776e65722063616e6e6f74206265207a65726f60601b6044820152606490fd5b3461039d57602036600319011261039d57602061172c613b86613f59565b613b8e6151a7565b6143b9565b3461039d57613ba136613fb5565b3360009081526000805160206163ce833981519152602052604090205491929160ff161561038b5761056b923092614fa6565b3461039d57604036600319011261039d57613bed613f59565b602435613bf981614e6c565b33151580613ca8575b80613c88575b613c70576001600160a01b039283169282918491167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a4600090815260008051602061650e8339815191526020526040902080546001600160a01b0319169091179055005b60405163a9fbf51f60e01b8152336004820152602490fd5b50613c92816142b6565b3360005260205260ff6040600020541615613c08565b506001600160a01b038116331415613c02565b3461039d57602036600319011261039d57600435613cd881614e6c565b5060005260008051602061650e833981519152602052602060018060a01b0360406000205416604051908152f35b3461039d57600036600319011261039d5760405160008051602061628e8339815191528054826000613d37836141d7565b92838352602094600191866001821691826000146119c4575050600114613d66575050611971925003836140c5565b85925060005281600020906000915b858310613d8d57505061197193508201018580611963565b80548389018501528794508693909201918101613d75565b3461039d57613db336613efb565b816000526000805160206164ce8339815191528060205260018060a01b039081604060002054163303613e305783600052602052604060002054161561043e5760406000805160206163ae8339815191529183600052600660205281600020908082549255600760205280836000205582519182526020820152a2005b6040516329572f6760e01b8152600490fd5b3461039d57602036600319011261039d576004359063ffffffff60e01b821680920361039d5760209163152a902d60e11b8114908115613e84575b5015158152f35b63780e9d6360e01b811491508115613e9e575b5083613e7d565b6380ac58cd60e01b811491508115613eea575b8115613ebf575b5083613e97565b637965db0b60e01b811491508115613ed9575b5083613eb8565b6301ffc9a760e01b14905083613ed2565b635b5e139f60e01b81149150613eb1565b604090600319011261039d576004359060243590565b60005b838110613f245750506000910152565b8181015183820152602001613f14565b90602091613f4d81518092818552858086019101613f11565b601f01601f1916010190565b600435906001600160a01b038216820361039d57565b602435906001600160a01b038216820361039d57565b9181601f8401121561039d578235916001600160401b03831161039d576020808501948460061b01011161039d57565b90604060031983011261039d5760043591602435906001600160401b03821161039d57613fe491600401613f85565b9091565b606090600319011261039d576004356001600160a01b038116810361039d57906024359060443590565b9181601f8401121561039d578235916001600160401b03831161039d576020838186019501011161039d57565b606090600319011261039d576001600160a01b0390600435828116810361039d5791602435908116810361039d579060443590565b60a081019081106001600160401b03821117610b0d57604052565b604081019081106001600160401b03821117610b0d57604052565b602081019081106001600160401b03821117610b0d57604052565b601f909101601f19168101906001600160401b03821190821017610b0d57604052565b6001600160401b038111610b0d57601f01601f191660200190565b81601f8201121561039d5780359061411a826140e8565b9261412860405194856140c5565b8284526020838301011161039d57816000926020809301838601378301015290565b600435906001600160601b038216820361039d57565b6001600160a01b039091168152602081019190915260400190565b60208082019080835283518092528060408094019401926000905b8382106141a557505050505090565b845180516001600160a01b031687528301516001600160601b0316868401529485019493820193600190910190614196565b90600182811c92168015614207575b60208310146141f157565b634e487b7160e01b600052602260045260246000fd5b91607f16916141e6565b90604051918260008254614224816141d7565b908184526020946001916001811690816000146142945750600114614255575b505050614253925003836140c5565b565b600090815285812095935091905b81831061427c5750506142539350820101388080614244565b85548884018501529485019487945091830191614263565b9250505061425394925060ff191682840152151560051b820101388080614244565b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793056020526040902090565b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793036020526040902090565b9181601f8401121561039d578235916001600160401b03831161039d576020808501948460051b01011161039d57565b90606060031983011261039d576001600160401b0360043581811161039d578361438491600401614328565b9390939260243583811161039d578261439f91600401614328565b9390939260443591821161039d57613fe491600401613f85565b600480549160005b8381106143d15750505050600090565b6143da8161496b565b6000526000805160206162ae833981519152602052604060002060ff84820154169081614418575b5061440f576001016143c1565b50505050600190565b546001600160a01b03848116911614905038614402565b601f811161443b575050565b60009060096000526020600020906020601f850160051c8301941061447b575b601f0160051c01915b82811061447057505050565b818155600101614464565b909250829061445b565b90601f811161449357505050565b6000916000526020600020906020601f850160051c830194106144d1575b601f0160051c01915b8281106144c657505050565b8181556001016144ba565b90925082906144b1565b8160011b916000199060031b1c19161790565b90916001600160a01b038084169283156147c2576000938385526000805160206164ce833981519152946020868152604097858984205416973315158061472a575b50881590811561470b575b614544836142ef565b80546001019055888552835289842080546001600160a01b0319168617905587858a60008051602061642e8339815191528780a4156146855760008051602061640e833981519152805488855260008051602061630e83398151915284528a852081905590600160401b82101561467157612a73828a9260016145c995019055614944565b838803614605575b5050505016928383036145e45750505050565b6064945051926364283d7b60e01b8452600484015260248301526044820152fd5b61460e906149b4565b60001981019390841161465d5782916000805160206161ce833981519152918a94526000805160206161ee833981519152815283832085845281528784842055878352522055388080806145d1565b634e487b7160e01b83526011600452602483fd5b634e487b7160e01b85526041600452602485fd5b8784146145c957614695886149b4565b8784526000805160206161ce833981519152908184528a852054918a86526000805160206161ee83398151915285528b8620928281036146e9575b508986528452848b8120558452825282898120556145c9565b8287528386528c808820548091838a5289205587528186528c872055386146d0565b61471489615fdb565b61471d8a6142ef565b805460001901905561453b565b80614775575b1561473b5738614530565b89888a614758576024915190637e27328960e01b82526004820152fd5b905163177e802f60e01b8152908190612e69903360048401614160565b5033891480156147a7575b80614730575087845260008051602061650e833981519152835233878b8620541614614730565b506147b1896142b6565b338552835260ff8a85205416614780565b604051633250574960e11b815260006004820152602490fd5b60008051602061634e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b81810292918115918404141715612b5057565b80518210156120bf5760209160051b010190565b9190600081156148bf5750915b82156148b657612710906148758261486e60018060601b03968760008051602061632e833981519152541690614809565b04916156c4565b90815115801561488d57505050509050600090600090565b6120bf5760206148a69201519460208601511690614809565b92516001600160a01b0316920490565b50600091508190565b60409150838152600660205220549161483d565b604051906331a9108f60e11b82526004820152602081602481305afa9081614905575b5061490057600090565b600190565b6020813d60201161493c575b8161491e602093836140c5565b8101031261039d57516001600160a01b0381160361039d57386148f6565b3d9150614911565b60008051602061640e83398151915280548210156120bf5760005260206000200190600090565b60008051602061640e833981519152548110156149955761498b90614944565b90549060031b1c90565b6044906040519063295f44f760e21b8252600060048301526024820152fd5b6001600160a01b038116156149d0576149cc906142ef565b5490565b6040516322718ad960e21b815260006004820152602490fd5b6001600160401b038111610b0d5760051b60200190565b90614a0a826149e9565b614a1760405191826140c5565b8281528092614a28601f19916149e9565b0190602036910137565b90600082815260209260066020526040822054908115614b2a5761271091614a7e83614a7760018060601b03938460008051602061632e833981519152541690614809565b04926156c4565b95865115614afe57614a908751614a00565b96614a9b8151614a00565b955b8151811015614af5576001906001600160a01b03614abb828561481c565b515116614ac8828c61481c565b5286614ae38686614ad9858861481c565b5101511688614809565b04614aee828a61481c565b5201614a9d565b50505050505090565b505050509150604051614b10816140aa565b82815260405192614b20846140aa565b8084523681379190565b50509150604051614b10816140aa565b91908110156120bf5760051b81013590601e198136030182121561039d5701803591906001600160401b03831161039d57602001823603811361039d579190565b91908110156120bf5760051b0190565b356001600160a01b038116810361039d5790565b6000198114612b505760010190565b91908203918211612b5057565b9190808252602080920192916000805b838210614bda57505050505090565b9091929394853560018060a01b038116809103614c04578152830194830193929160010190614bcb565b8280fd5b60008181526000805160206164ce8339815191526020908152604080832054919392916001600160a01b031615614e5c5782825260088452614c4b818320614211565b8051614e54575082918072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8481811015614e47575b508690506904ee2d6d415b85acef8160201b80871015614e3b575b5050662386f26fc1000080861015614e2e575b506305f5e10080861015614e21575b5061271080861015614e14575b506064851015614e06575b600a80951015614dfe575b6001926001820195614cff614cea886140e8565b97614cf78451998a6140c5565b8089526140e8565b958560218a8a0195601f19809a013688378a0101905b614dcf575b505050519586938360095491614d2f836141d7565b9260018116908115614dae5750600114614d6a575b50505050614d5a8291614d679651938491613f11565b01039081018352826140c5565b90565b90919297939450600982528782205b838310614d9857505050614d6795614d5a918501019291953880614d44565b80548a84018a0152899650918801918101614d79565b60ff191688860152505050801515028401019150614d5a614d673880614d44565b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304908682614d155750614d1a565b600101614cd6565b936064600291049401614ccb565b6004919504940138614cc0565b6008919504940138614cb3565b6010919504940138614ca4565b90950494018538614c91565b0494508290503880614c76565b935050505090565b51636c01c8cf60e11b8152600490fd5b60008181526000805160206164ce83398151915260205260409020546001600160a01b0316908115612b22575090565b9081602091031261039d5751801515810361039d5790565b91908110156120bf5760061b0190565b356001600160601b038116810361039d5790565b91908201809211612b5057565b8054906000906000815582614ef957505050565b6000526020600020918201915b828110614f1257505050565b818155600101614f06565b60008051602061634e83398151915280546001600160a01b031660a09290921b6001600160a01b031916919091179055565b908154600160401b811015610b0d57600181018084558110156120bf576020612095916142539460005281600020019260018060a01b03614f8f82614b8b565b85546001600160a01b031916911617845501614ec4565b9291909160409081518091634f558e7960e01b825286600483015281602460209485935afa9081156150b257600091615095575b5015615084576000805b84821061505e5761271091500361504d57846000526000805160206162ee8339815191529081815261501883600020614ee5565b60005b84811061502b5750505050505050565b600190876000528383526150478560002061077683898b614eb4565b0161501b565b8151630569d67b60e21b8152600490fd5b60019061507c906001600160601b036107b8866107b2878b8d614eb4565b910190614fe4565b815163677510db60e11b8152600490fd5b6150ac9150823d84116107ed576107df81836140c5565b38614fda565b83513d6000823e3d90fd5b9291909160409081518091634f558e7960e01b825286600483015281602460209485935afa9081156150b25760009161518a575b5015615084576000805b8482106151645761271091500361504d57846000526000805160206162ee8339815191529081815261512f83600020614ee5565b60005b8481106151425750505050505050565b6001908760005283835261515e8560002061077683898b614eb4565b01615132565b600190615182906001600160601b036107b8866107b2878b8d614eb4565b9101906150fb565b6151a19150823d84116107ed576107df81836140c5565b386150f1565b60ff6000805160206164ae83398151915254166151c057565b60405163d93c066560e01b8152600490fd5b156151d957565b60405162461bcd60e51b815260206004820152602160248201527f53616c65207072696365206d7573742062652067726561746572207468616e206044820152600360fc1b6064820152608490fd5b90815260609190911b6001600160601b03191660208201526034810191909152605481019190915260740190565b1561525d57565b60405162461bcd60e51b815260206004820152601460248201527342757965722063616e6e6f74206265207a65726f60601b6044820152606490fd5b6001600160a01b031660008181527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604081205490919060008051602061646e8339815191529060ff16615322578280526020526040822081835260205260408220600160ff1982541617905533916000805160206161ae8339815191528180a4600190565b505090565b6001600160a01b031660008181526000805160206163ce83398151915260205260408120549091906000805160206162ce8339815191529060008051602061646e8339815191529060ff166153ad578184526020526040832082845260205260408320600160ff198254161790556000805160206161ae833981519152339380a4600190565b50505090565b6001600160a01b0316600081815260008051602061622e833981519152602052604081205490919060008051602061620e8339815191529060008051602061646e8339815191529060ff166153ad578184526020526040832082845260205260408320600160ff198254161790556000805160206161ae833981519152339380a4600190565b6001600160a01b0316600081815260008051602061624e833981519152602052604081205490919060008051602061644e8339815191529060008051602061646e8339815191529060ff166153ad578184526020526040832082845260205260408320600160ff198254161790556000805160206161ae833981519152339380a4600190565b9060009180835260008051602061646e83398151915280602052604084209260018060a01b03169283855260205260ff604085205416156000146153ad578184526020526040832082845260205260408320600160ff198254161790556000805160206161ae833981519152339380a4600190565b604080519161554283614074565b6000908184528160806020958287820152828682015282606082015201528251634f558e7960e01b81528160048201528481602481305afa908115615645578391615628575b50156155ed5791808260ff94600494526000805160206162ae833981519152865220908051946155b786614074565b82546001600160a01b03168652600183015490860152600282015490850152600381015460608501520154161515608082015290565b825162461bcd60e51b8152600481018590526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152606490fd5b61563f9150853d87116107ed576107df81836140c5565b38615588565b84513d85823e3d90fd5b90815461565b816149e9565b9260409361566c60405191826140c5565b82815280946020809201926000526020600020906000935b85851061569357505050505050565b600184819284516156a38161408f565b8654848060a01b038116825260a01c83820152815201930194019391615684565b600052602060008051602061638e8339815191526020526040906040600020805461576957506000805160206163ee833981519152805491615705836149e9565b9361571360405195866140c5565b83855260208501926000526020600020906000935b8585106157385750505050505090565b600184819284516157488161408f565b8654848060a01b038116825260a01c83820152815201930194019391615728565b9050614d67915061564f565b8060005260008051602061646e83398151915260205260406000203360005260205260ff60406000205416156127df5750565b6001600160a01b0316600081815260008051602061624e833981519152602052604081205490919060008051602061644e8339815191529060008051602061646e8339815191529060ff16156153ad57818452602052604083208284526020526040832060ff19815416905560008051602061648e833981519152339380a4600190565b6001600160a01b0316600081815260008051602061622e833981519152602052604081205490919060008051602061620e8339815191529060008051602061646e8339815191529060ff16156153ad57818452602052604083208284526020526040832060ff19815416905560008051602061648e833981519152339380a4600190565b9060009180835260008051602061646e83398151915280602052604084209260018060a01b03169283855260205260ff6040852054166000146153ad57818452602052604083208284526020526040832060ff19815416905560008051602061648e833981519152339380a4600190565b1561592857565b60405162461bcd60e51b815260206004820152601a602482015279546f6b656e206f776e65722063616e6e6f74206265207a65726f60301b6044820152606490fd5b60005260206000805160206162ee83398151915260205260409060406000208054615769575060008051602061652e8339815191528054916159ab836149e9565b936159b960405195866140c5565b83855260208501926000526020600020906000935b8585106159de5750505050505090565b600184819284516159ee8161408f565b8654848060a01b038116825260a01c838201528152019301940193916159ce565b15615a1657565b60405162461bcd60e51b8152602060048201526013602482015272151bdad95b881a5cc81b9bdd081c995b9d1959606a1b6044820152606490fd5b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815261425391615a9382614074565b6160ee565b6040805192615aa6846140aa565b60008085526001600160a01b0394848616948515615dd2578383526000805160206164ce833981519152602097818952868520541687811580159384615db3575b615af0866142ef565b805460010190558888528b5288872080546001600160a01b0319168317905587828460008051602061642e8339815191528a80a415615d2a575060008051602061640e833981519152805487875260008051602061630e8339815191528b5288872081905590600160401b821015615d165787612a7383615b789360018e9796019055614944565b03615caf575b615c97573b615b90575b505050505050565b85615bcd9185969798955180938192630a85bd0160e11b978884523360048501528760248501526044840152608060648401526084830190613f34565b0381858a5af190829082615c4c575b5050615c1457505050615bed615e8e565b8051939084615c0e578251633250574960e11b815260048101859052602490fd5b84925001fd5b9194506001600160e01b031990911603615c35575050388080808080615b88565b602492505190633250574960e11b82526004820152fd5b909192508781813d8311615c90575b615c6581836140c5565b81010312615c8c5751906001600160e01b031982168203615c895750903880615bdc565b80fd5b5080fd5b503d615c5b565b84516339e3563760e11b815260048101849052602490fd5b615cb8826149b4565b6000198101908111615d02578785526000805160206161ee8339815191528952868520818652895285878620558585526000805160206161ce833981519152895286852055615b7e565b634e487b7160e01b85526011600452602485fd5b634e487b7160e01b87526041600452602487fd5b90808214615b785789615d3c826149b4565b8888526000805160206161ce8339815191528083528a892054848a526000805160206161ee8339815191528452818c8b2094848303615d91575b5050508989528c52878a81205587528a528588812055615b78565b848c528581528d8c2054838d528e8d208190558c52528b8a205538818e615d76565b615dbc89615fdb565b615dc5846142ef565b8054600019019055615ae7565b8451633250574960e11b815260048101849052602490fd5b615a936142539392615e1160405194859263a9059cbb60e01b602085015260248401614160565b03601f1981018452836140c5565b615e2c909392919361596a565b9060005b8251811015615e8757600190612710615e566001600160601b036020614ad9858961481c565b0480615e64575b5001615e30565b615e8190838060a01b03615e78848861481c565b51511685615dea565b38615e5d565b5050509050565b3d15615eb9573d90615e9f826140e8565b91615ead60405193846140c5565b82523d6000602084013e565b606090565b9293823b615ece575b5050505050565b615f129060018060a01b038094169560405194859481630a85bd0160e11b988988521660048701521660248501526044840152608060648401526084830190613f34565b03906020816000938185885af190829082615f92575b5050615f605782615f37615e8e565b8051919082615f5957604051633250574960e11b815260048101839052602490fd5b6020915001fd5b6001600160e01b03191603615f7a57503880808080615ec7565b60249060405190633250574960e11b82526004820152fd5b909192506020813d602011615fd3575b81615faf602093836140c5565b81010312615c8c5751906001600160e01b031982168203615c895750903880615f28565b3d9150615fa2565b600090815260008051602061650e8339815191526020526040902080546001600160a01b0319169055565b61601390949391946156c4565b91825115615e875760005b83518110156160805760019061271061604e6001600160601b036020616044858a61481c565b5101511689614809565b048061605c575b500161601e565b61607a90838060a01b03616070848961481c565b5151168686615a51565b38616055565b505050509050565b60ff60008051602061654e8339815191525460401c16156160a557565b604051631afcd79f60e31b8152600490fd5b6000526000805160206162ae833981519152602052604060002060ff60048201541690816160e3575090565b600291500154421090565b906000602091828151910182855af1156107f4576000513d61614157506001600160a01b0381163b155b61611f5750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415616118565b90616171575080511561615f57602081519101fd5b60405163d6bda27560e01b8152600490fd5b815115806161a4575b616182575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561617a56fe2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed01645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed00797343f8d6a29aafeb3aaf0910a8973e0081c60c2f6c1f775cd9f76ea348fc1ead72024263e9623ebed8340901e66822b773634383aecc136f020cfef766318f774afb6aa83f545ecfd605e50ebf9593d146cb1cda2b64545f77f86c1ab621d7cb1e26772e882480176a3e649a5f7937dc0ec3f50126283faf56f927b070be8080bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079300efbf0e557c8acb6e3deb011ac697e5553b802e419ed4680395101c0ddc5e8723b19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e1aa44fcb526383bd2f7c6231f8c09a41edc5b654966336907d6f785a5b3d2892645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed031aa44fcb526383bd2f7c6231f8c09a41edc5b654966336907d6f785a5b3d288fde1159fbbeca73b2aca5752c42b257ca18171ae3b3d3bbf22c7938e3a961a0cb360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc1aa44fcb526383bd2f7c6231f8c09a41edc5b654966336907d6f785a5b3d2893ae83572f861e1ad5a0091d29986e73633965028088f707f39079ed27236f889cc32d4dc01d07c436ad8a6f9a20eadd61263c71fe16f6b5956005ba3b341f51dd1aa44fcb526383bd2f7c6231f8c09a41edc5b654966336907d6f785a5b3d2891645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed02ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef3b652633b3026fa70803ad50b58b0ae884cefe3497643f62c67c466f41a6e88d02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171bcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330080bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793026b770677edae0e90cca492948fa872f24dbe9c82ebeb8d39118b033a5e1bd3e080bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793041aa44fcb526383bd2f7c6231f8c09a41edc5b654966336907d6f785a5b3d2890f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a006b770677edae0e90cca492948fa872f24dbe9c82ebeb8d39118b033a5e1bd3df80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079301a164736f6c6343000818000a",
|
|
2208
|
+
"linkReferences": {},
|
|
2209
|
+
"deployedLinkReferences": {}
|
|
2210
|
+
}
|