@ensuro/core 1.2.7 → 2.0.0-beta1
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/README.md +44 -17
- package/build/contracts/EToken.sol/EToken.json +122 -177
- package/build/contracts/FlightDelayRiskModule.sol/FlightDelayRiskModule.json +101 -323
- package/build/contracts/LPManualWhitelist.sol/LPManualWhitelist.json +15 -2
- package/build/contracts/Policy.sol/Policy.json +2 -2
- package/build/contracts/PolicyNFT.sol/PolicyNFT.json +16 -3
- package/build/contracts/PolicyPool.sol/PolicyPool.json +105 -351
- package/build/contracts/PolicyPoolComponent.sol/PolicyPoolComponent.json +13 -0
- package/build/contracts/PolicyPoolConfig.sol/PolicyPoolConfig.json +77 -72
- package/build/contracts/PremiumsAccount.sol/PremiumsAccount.json +761 -0
- package/build/contracts/{BaseAssetManager.sol/BaseAssetManager.json → Reserve.sol/Reserve.json} +15 -202
- package/build/contracts/RiskModule.sol/RiskModule.json +83 -310
- package/build/contracts/TimeScaled.sol/TimeScaled.json +24 -0
- package/build/contracts/TrustfulRiskModule.sol/TrustfulRiskModule.json +131 -333
- package/build/contracts/dependencies/ChainlinkClientUpgradeable.sol/ChainlinkClientUpgradeable.json +15 -2
- package/build/contracts/dependencies/ERC1967Proxy.sol/ERC1967Proxy.json +64 -0
- package/build/{interfaces/IExchange.sol/IExchange.json → contracts/dependencies/IERC20Metadata.sol/IERC20Metadata.json} +83 -79
- package/build/{interfaces → contracts/interfaces}/IEToken.sol/IEToken.json +32 -97
- package/build/{interfaces → contracts/interfaces}/ILPWhitelist.sol/ILPWhitelist.json +1 -1
- package/build/{interfaces → contracts/interfaces}/IPolicyHolder.sol/IPolicyHolder.json +1 -1
- package/build/{interfaces → contracts/interfaces}/IPolicyNFT.sol/IPolicyNFT.json +1 -1
- package/build/{interfaces → contracts/interfaces}/IPolicyPool.sol/IPolicyPool.json +121 -108
- package/build/{interfaces → contracts/interfaces}/IPolicyPoolComponent.sol/IPolicyPoolComponent.json +1 -1
- package/build/{interfaces → contracts/interfaces}/IPolicyPoolConfig.sol/IPolicyPoolConfig.json +20 -36
- package/build/contracts/interfaces/IPremiumsAccount.sol/IPremiumsAccount.json +302 -0
- package/build/{interfaces → contracts/interfaces}/IRiskModule.sol/IRiskModule.json +58 -34
- package/build/contracts/mocks/ForwardProxy.sol/ForwardProxy.json +43 -0
- package/build/{interfaces/IInsolvencyHook.sol/IInsolvencyHook.json → contracts/mocks/IMintableERC20.sol/IMintableERC20.json} +13 -8
- package/build/contracts/mocks/LinkTokenMock.sol/LinkTokenMock.json +370 -0
- package/build/contracts/mocks/PolicyHolderMock.sol/PolicyHolderMock.json +202 -0
- package/build/contracts/mocks/PolicyPoolComponentMock.sol/PolicyPoolComponentMock.json +35 -0
- package/build/contracts/mocks/PolicyPoolMock.sol/PolicyPoolMock.json +603 -0
- package/build/contracts/mocks/PolicyPoolMock.sol/PolicyPoolMockForward.json +92 -0
- package/build/contracts/mocks/TestCurrency.sol/TestCurrency.json +343 -0
- package/build/contracts/mocks/TestCurrencyUUPS.sol/TestCurrencyUUPS.json +353 -0
- package/build/contracts/mocks/TestNFT.sol/TestNFT.json +388 -0
- package/build/contracts/upgraded/PolicyNFTv1.sol/PolicyNFTv1.json +16 -3
- package/build/contracts/upgraded/PolicyNFTv1.sol/PolicyNFTv1_Upgrade.json +16 -3
- package/contracts/EToken.sol +188 -269
- package/contracts/FlightDelayRiskModule.sol +30 -21
- package/contracts/LPManualWhitelist.sol +3 -3
- package/contracts/Policy.sol +48 -44
- package/contracts/PolicyNFT.sol +2 -2
- package/contracts/PolicyPool.sol +114 -467
- package/contracts/PolicyPoolComponent.sol +8 -3
- package/contracts/PolicyPoolConfig.sol +30 -73
- package/contracts/PremiumsAccount.sol +274 -0
- package/contracts/Reserve.sol +34 -0
- package/contracts/RiskModule.sol +216 -164
- package/contracts/TimeScaled.sol +134 -0
- package/contracts/TrustfulRiskModule.sol +23 -21
- package/contracts/dependencies/ERC1967Proxy.sol +19 -0
- package/contracts/dependencies/IERC20Metadata.sol +19 -0
- package/contracts/interfaces/IEToken.sol +172 -0
- package/{interfaces → contracts/interfaces}/ILPWhitelist.sol +0 -0
- package/{interfaces → contracts/interfaces}/IPolicyHolder.sol +0 -0
- package/{interfaces → contracts/interfaces}/IPolicyNFT.sol +0 -0
- package/contracts/interfaces/IPolicyPool.sol +138 -0
- package/{interfaces → contracts/interfaces}/IPolicyPoolComponent.sol +0 -0
- package/{interfaces → contracts/interfaces}/IPolicyPoolConfig.sol +29 -20
- package/contracts/interfaces/IPremiumsAccount.sol +71 -0
- package/contracts/interfaces/IRiskModule.sol +60 -0
- package/contracts/mocks/ForwardProxy.sol +66 -0
- package/contracts/mocks/IMintableERC20.sol +13 -0
- package/contracts/mocks/LinkTokenMock.sol +30 -0
- package/contracts/mocks/PolicyHolderMock.sol +68 -0
- package/contracts/mocks/PolicyPoolComponentMock.sol +17 -0
- package/contracts/mocks/PolicyPoolMock.sol +122 -0
- package/contracts/mocks/TestCurrency.sol +35 -0
- package/contracts/mocks/TestNFT.sol +23 -0
- package/contracts/upgraded/PolicyNFTv1.sol +1 -1
- package/js/test-utils.js +278 -0
- package/package.json +2 -2
- package/build/contracts/AaveAssetManager.sol/AaveAssetManager.json +0 -742
- package/build/contracts/DataTypes.sol/DataTypes.json +0 -10
- package/build/contracts/Exchange.sol/Exchange.json +0 -591
- package/build/contracts/extras/IPriceRiskModule.sol/IPriceRiskModule.json +0 -253
- package/build/contracts/extras/PriceRiskModule.sol/PriceRiskModule.json +0 -1055
- package/build/interfaces/IAssetManager.sol/IAssetManager.json +0 -31
- package/build/interfaces/IExchange.sol/IPriceOracle.json +0 -30
- package/contracts/AaveAssetManager.sol +0 -298
- package/contracts/BaseAssetManager.sol +0 -301
- package/contracts/DataTypes.sol +0 -287
- package/contracts/Exchange.sol +0 -189
- package/contracts/extras/IPriceRiskModule.sol +0 -41
- package/contracts/extras/PriceRiskModule.sol +0 -243
- package/interfaces/IAssetManager.sol +0 -23
- package/interfaces/IEToken.sol +0 -48
- package/interfaces/IExchange.sol +0 -59
- package/interfaces/IInsolvencyHook.sol +0 -27
- package/interfaces/IPolicyPool.sol +0 -44
- package/interfaces/IRiskModule.sol +0 -29
|
@@ -1,1055 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_format": "hh-sol-artifact-1",
|
|
3
|
-
"contractName": "PriceRiskModule",
|
|
4
|
-
"sourceName": "contracts/extras/PriceRiskModule.sol",
|
|
5
|
-
"abi": [
|
|
6
|
-
{
|
|
7
|
-
"inputs": [
|
|
8
|
-
{
|
|
9
|
-
"internalType": "contract IPolicyPool",
|
|
10
|
-
"name": "policyPool_",
|
|
11
|
-
"type": "address"
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"internalType": "contract IERC20Metadata",
|
|
15
|
-
"name": "asset_",
|
|
16
|
-
"type": "address"
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"internalType": "contract IERC20Metadata",
|
|
20
|
-
"name": "referenceCurrency_",
|
|
21
|
-
"type": "address"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"internalType": "uint256",
|
|
25
|
-
"name": "slotSize_",
|
|
26
|
-
"type": "uint256"
|
|
27
|
-
}
|
|
28
|
-
],
|
|
29
|
-
"stateMutability": "nonpayable",
|
|
30
|
-
"type": "constructor"
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"anonymous": false,
|
|
34
|
-
"inputs": [
|
|
35
|
-
{
|
|
36
|
-
"indexed": false,
|
|
37
|
-
"internalType": "address",
|
|
38
|
-
"name": "previousAdmin",
|
|
39
|
-
"type": "address"
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"indexed": false,
|
|
43
|
-
"internalType": "address",
|
|
44
|
-
"name": "newAdmin",
|
|
45
|
-
"type": "address"
|
|
46
|
-
}
|
|
47
|
-
],
|
|
48
|
-
"name": "AdminChanged",
|
|
49
|
-
"type": "event"
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
"anonymous": false,
|
|
53
|
-
"inputs": [
|
|
54
|
-
{
|
|
55
|
-
"indexed": true,
|
|
56
|
-
"internalType": "address",
|
|
57
|
-
"name": "beacon",
|
|
58
|
-
"type": "address"
|
|
59
|
-
}
|
|
60
|
-
],
|
|
61
|
-
"name": "BeaconUpgraded",
|
|
62
|
-
"type": "event"
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
"anonymous": false,
|
|
66
|
-
"inputs": [
|
|
67
|
-
{
|
|
68
|
-
"indexed": true,
|
|
69
|
-
"internalType": "enum IPolicyPoolConfig.GovernanceActions",
|
|
70
|
-
"name": "action",
|
|
71
|
-
"type": "uint8"
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
"indexed": false,
|
|
75
|
-
"internalType": "address",
|
|
76
|
-
"name": "value",
|
|
77
|
-
"type": "address"
|
|
78
|
-
}
|
|
79
|
-
],
|
|
80
|
-
"name": "ComponentChanged",
|
|
81
|
-
"type": "event"
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
"anonymous": false,
|
|
85
|
-
"inputs": [
|
|
86
|
-
{
|
|
87
|
-
"indexed": true,
|
|
88
|
-
"internalType": "enum IPolicyPoolConfig.GovernanceActions",
|
|
89
|
-
"name": "action",
|
|
90
|
-
"type": "uint8"
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
"indexed": false,
|
|
94
|
-
"internalType": "uint256",
|
|
95
|
-
"name": "value",
|
|
96
|
-
"type": "uint256"
|
|
97
|
-
}
|
|
98
|
-
],
|
|
99
|
-
"name": "GovernanceAction",
|
|
100
|
-
"type": "event"
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
"anonymous": false,
|
|
104
|
-
"inputs": [
|
|
105
|
-
{
|
|
106
|
-
"indexed": true,
|
|
107
|
-
"internalType": "address",
|
|
108
|
-
"name": "customer",
|
|
109
|
-
"type": "address"
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
"indexed": false,
|
|
113
|
-
"internalType": "uint256",
|
|
114
|
-
"name": "policyId",
|
|
115
|
-
"type": "uint256"
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
"indexed": false,
|
|
119
|
-
"internalType": "uint256",
|
|
120
|
-
"name": "triggerPrice",
|
|
121
|
-
"type": "uint256"
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
"indexed": false,
|
|
125
|
-
"internalType": "bool",
|
|
126
|
-
"name": "lower",
|
|
127
|
-
"type": "bool"
|
|
128
|
-
}
|
|
129
|
-
],
|
|
130
|
-
"name": "NewPricePolicy",
|
|
131
|
-
"type": "event"
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
"anonymous": false,
|
|
135
|
-
"inputs": [
|
|
136
|
-
{
|
|
137
|
-
"indexed": false,
|
|
138
|
-
"internalType": "address",
|
|
139
|
-
"name": "account",
|
|
140
|
-
"type": "address"
|
|
141
|
-
}
|
|
142
|
-
],
|
|
143
|
-
"name": "Paused",
|
|
144
|
-
"type": "event"
|
|
145
|
-
},
|
|
146
|
-
{
|
|
147
|
-
"anonymous": false,
|
|
148
|
-
"inputs": [
|
|
149
|
-
{
|
|
150
|
-
"indexed": true,
|
|
151
|
-
"internalType": "bytes32",
|
|
152
|
-
"name": "role",
|
|
153
|
-
"type": "bytes32"
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
"indexed": true,
|
|
157
|
-
"internalType": "bytes32",
|
|
158
|
-
"name": "previousAdminRole",
|
|
159
|
-
"type": "bytes32"
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
"indexed": true,
|
|
163
|
-
"internalType": "bytes32",
|
|
164
|
-
"name": "newAdminRole",
|
|
165
|
-
"type": "bytes32"
|
|
166
|
-
}
|
|
167
|
-
],
|
|
168
|
-
"name": "RoleAdminChanged",
|
|
169
|
-
"type": "event"
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
"anonymous": false,
|
|
173
|
-
"inputs": [
|
|
174
|
-
{
|
|
175
|
-
"indexed": true,
|
|
176
|
-
"internalType": "bytes32",
|
|
177
|
-
"name": "role",
|
|
178
|
-
"type": "bytes32"
|
|
179
|
-
},
|
|
180
|
-
{
|
|
181
|
-
"indexed": true,
|
|
182
|
-
"internalType": "address",
|
|
183
|
-
"name": "account",
|
|
184
|
-
"type": "address"
|
|
185
|
-
},
|
|
186
|
-
{
|
|
187
|
-
"indexed": true,
|
|
188
|
-
"internalType": "address",
|
|
189
|
-
"name": "sender",
|
|
190
|
-
"type": "address"
|
|
191
|
-
}
|
|
192
|
-
],
|
|
193
|
-
"name": "RoleGranted",
|
|
194
|
-
"type": "event"
|
|
195
|
-
},
|
|
196
|
-
{
|
|
197
|
-
"anonymous": false,
|
|
198
|
-
"inputs": [
|
|
199
|
-
{
|
|
200
|
-
"indexed": true,
|
|
201
|
-
"internalType": "bytes32",
|
|
202
|
-
"name": "role",
|
|
203
|
-
"type": "bytes32"
|
|
204
|
-
},
|
|
205
|
-
{
|
|
206
|
-
"indexed": true,
|
|
207
|
-
"internalType": "address",
|
|
208
|
-
"name": "account",
|
|
209
|
-
"type": "address"
|
|
210
|
-
},
|
|
211
|
-
{
|
|
212
|
-
"indexed": true,
|
|
213
|
-
"internalType": "address",
|
|
214
|
-
"name": "sender",
|
|
215
|
-
"type": "address"
|
|
216
|
-
}
|
|
217
|
-
],
|
|
218
|
-
"name": "RoleRevoked",
|
|
219
|
-
"type": "event"
|
|
220
|
-
},
|
|
221
|
-
{
|
|
222
|
-
"anonymous": false,
|
|
223
|
-
"inputs": [
|
|
224
|
-
{
|
|
225
|
-
"indexed": false,
|
|
226
|
-
"internalType": "address",
|
|
227
|
-
"name": "account",
|
|
228
|
-
"type": "address"
|
|
229
|
-
}
|
|
230
|
-
],
|
|
231
|
-
"name": "Unpaused",
|
|
232
|
-
"type": "event"
|
|
233
|
-
},
|
|
234
|
-
{
|
|
235
|
-
"anonymous": false,
|
|
236
|
-
"inputs": [
|
|
237
|
-
{
|
|
238
|
-
"indexed": true,
|
|
239
|
-
"internalType": "address",
|
|
240
|
-
"name": "implementation",
|
|
241
|
-
"type": "address"
|
|
242
|
-
}
|
|
243
|
-
],
|
|
244
|
-
"name": "Upgraded",
|
|
245
|
-
"type": "event"
|
|
246
|
-
},
|
|
247
|
-
{
|
|
248
|
-
"inputs": [],
|
|
249
|
-
"name": "CUSTOMER_ROLE",
|
|
250
|
-
"outputs": [
|
|
251
|
-
{
|
|
252
|
-
"internalType": "bytes32",
|
|
253
|
-
"name": "",
|
|
254
|
-
"type": "bytes32"
|
|
255
|
-
}
|
|
256
|
-
],
|
|
257
|
-
"stateMutability": "view",
|
|
258
|
-
"type": "function"
|
|
259
|
-
},
|
|
260
|
-
{
|
|
261
|
-
"inputs": [],
|
|
262
|
-
"name": "DEFAULT_ADMIN_ROLE",
|
|
263
|
-
"outputs": [
|
|
264
|
-
{
|
|
265
|
-
"internalType": "bytes32",
|
|
266
|
-
"name": "",
|
|
267
|
-
"type": "bytes32"
|
|
268
|
-
}
|
|
269
|
-
],
|
|
270
|
-
"stateMutability": "view",
|
|
271
|
-
"type": "function"
|
|
272
|
-
},
|
|
273
|
-
{
|
|
274
|
-
"inputs": [],
|
|
275
|
-
"name": "GUARDIAN_ROLE",
|
|
276
|
-
"outputs": [
|
|
277
|
-
{
|
|
278
|
-
"internalType": "bytes32",
|
|
279
|
-
"name": "",
|
|
280
|
-
"type": "bytes32"
|
|
281
|
-
}
|
|
282
|
-
],
|
|
283
|
-
"stateMutability": "view",
|
|
284
|
-
"type": "function"
|
|
285
|
-
},
|
|
286
|
-
{
|
|
287
|
-
"inputs": [],
|
|
288
|
-
"name": "LEVEL1_ROLE",
|
|
289
|
-
"outputs": [
|
|
290
|
-
{
|
|
291
|
-
"internalType": "bytes32",
|
|
292
|
-
"name": "",
|
|
293
|
-
"type": "bytes32"
|
|
294
|
-
}
|
|
295
|
-
],
|
|
296
|
-
"stateMutability": "view",
|
|
297
|
-
"type": "function"
|
|
298
|
-
},
|
|
299
|
-
{
|
|
300
|
-
"inputs": [],
|
|
301
|
-
"name": "LEVEL2_ROLE",
|
|
302
|
-
"outputs": [
|
|
303
|
-
{
|
|
304
|
-
"internalType": "bytes32",
|
|
305
|
-
"name": "",
|
|
306
|
-
"type": "bytes32"
|
|
307
|
-
}
|
|
308
|
-
],
|
|
309
|
-
"stateMutability": "view",
|
|
310
|
-
"type": "function"
|
|
311
|
-
},
|
|
312
|
-
{
|
|
313
|
-
"inputs": [],
|
|
314
|
-
"name": "LEVEL3_ROLE",
|
|
315
|
-
"outputs": [
|
|
316
|
-
{
|
|
317
|
-
"internalType": "bytes32",
|
|
318
|
-
"name": "",
|
|
319
|
-
"type": "bytes32"
|
|
320
|
-
}
|
|
321
|
-
],
|
|
322
|
-
"stateMutability": "view",
|
|
323
|
-
"type": "function"
|
|
324
|
-
},
|
|
325
|
-
{
|
|
326
|
-
"inputs": [],
|
|
327
|
-
"name": "PRICER_ROLE",
|
|
328
|
-
"outputs": [
|
|
329
|
-
{
|
|
330
|
-
"internalType": "bytes32",
|
|
331
|
-
"name": "",
|
|
332
|
-
"type": "bytes32"
|
|
333
|
-
}
|
|
334
|
-
],
|
|
335
|
-
"stateMutability": "view",
|
|
336
|
-
"type": "function"
|
|
337
|
-
},
|
|
338
|
-
{
|
|
339
|
-
"inputs": [],
|
|
340
|
-
"name": "PRICE_SLOTS",
|
|
341
|
-
"outputs": [
|
|
342
|
-
{
|
|
343
|
-
"internalType": "uint8",
|
|
344
|
-
"name": "",
|
|
345
|
-
"type": "uint8"
|
|
346
|
-
}
|
|
347
|
-
],
|
|
348
|
-
"stateMutability": "view",
|
|
349
|
-
"type": "function"
|
|
350
|
-
},
|
|
351
|
-
{
|
|
352
|
-
"inputs": [],
|
|
353
|
-
"name": "RM_PROVIDER_ROLE",
|
|
354
|
-
"outputs": [
|
|
355
|
-
{
|
|
356
|
-
"internalType": "bytes32",
|
|
357
|
-
"name": "",
|
|
358
|
-
"type": "bytes32"
|
|
359
|
-
}
|
|
360
|
-
],
|
|
361
|
-
"stateMutability": "view",
|
|
362
|
-
"type": "function"
|
|
363
|
-
},
|
|
364
|
-
{
|
|
365
|
-
"inputs": [],
|
|
366
|
-
"name": "TWEAK_EXPIRATION",
|
|
367
|
-
"outputs": [
|
|
368
|
-
{
|
|
369
|
-
"internalType": "uint40",
|
|
370
|
-
"name": "",
|
|
371
|
-
"type": "uint40"
|
|
372
|
-
}
|
|
373
|
-
],
|
|
374
|
-
"stateMutability": "view",
|
|
375
|
-
"type": "function"
|
|
376
|
-
},
|
|
377
|
-
{
|
|
378
|
-
"inputs": [],
|
|
379
|
-
"name": "asset",
|
|
380
|
-
"outputs": [
|
|
381
|
-
{
|
|
382
|
-
"internalType": "contract IERC20Metadata",
|
|
383
|
-
"name": "",
|
|
384
|
-
"type": "address"
|
|
385
|
-
}
|
|
386
|
-
],
|
|
387
|
-
"stateMutability": "view",
|
|
388
|
-
"type": "function"
|
|
389
|
-
},
|
|
390
|
-
{
|
|
391
|
-
"inputs": [],
|
|
392
|
-
"name": "currency",
|
|
393
|
-
"outputs": [
|
|
394
|
-
{
|
|
395
|
-
"internalType": "contract IERC20Metadata",
|
|
396
|
-
"name": "",
|
|
397
|
-
"type": "address"
|
|
398
|
-
}
|
|
399
|
-
],
|
|
400
|
-
"stateMutability": "view",
|
|
401
|
-
"type": "function"
|
|
402
|
-
},
|
|
403
|
-
{
|
|
404
|
-
"inputs": [],
|
|
405
|
-
"name": "ensuroFee",
|
|
406
|
-
"outputs": [
|
|
407
|
-
{
|
|
408
|
-
"internalType": "uint256",
|
|
409
|
-
"name": "",
|
|
410
|
-
"type": "uint256"
|
|
411
|
-
}
|
|
412
|
-
],
|
|
413
|
-
"stateMutability": "view",
|
|
414
|
-
"type": "function"
|
|
415
|
-
},
|
|
416
|
-
{
|
|
417
|
-
"inputs": [
|
|
418
|
-
{
|
|
419
|
-
"internalType": "int40",
|
|
420
|
-
"name": "duration",
|
|
421
|
-
"type": "int40"
|
|
422
|
-
}
|
|
423
|
-
],
|
|
424
|
-
"name": "getCDF",
|
|
425
|
-
"outputs": [
|
|
426
|
-
{
|
|
427
|
-
"internalType": "uint256[30]",
|
|
428
|
-
"name": "",
|
|
429
|
-
"type": "uint256[30]"
|
|
430
|
-
}
|
|
431
|
-
],
|
|
432
|
-
"stateMutability": "view",
|
|
433
|
-
"type": "function"
|
|
434
|
-
},
|
|
435
|
-
{
|
|
436
|
-
"inputs": [
|
|
437
|
-
{
|
|
438
|
-
"internalType": "uint256",
|
|
439
|
-
"name": "payout",
|
|
440
|
-
"type": "uint256"
|
|
441
|
-
},
|
|
442
|
-
{
|
|
443
|
-
"internalType": "uint256",
|
|
444
|
-
"name": "lossProb",
|
|
445
|
-
"type": "uint256"
|
|
446
|
-
},
|
|
447
|
-
{
|
|
448
|
-
"internalType": "uint40",
|
|
449
|
-
"name": "expiration",
|
|
450
|
-
"type": "uint40"
|
|
451
|
-
}
|
|
452
|
-
],
|
|
453
|
-
"name": "getMinimumPremium",
|
|
454
|
-
"outputs": [
|
|
455
|
-
{
|
|
456
|
-
"internalType": "uint256",
|
|
457
|
-
"name": "",
|
|
458
|
-
"type": "uint256"
|
|
459
|
-
}
|
|
460
|
-
],
|
|
461
|
-
"stateMutability": "view",
|
|
462
|
-
"type": "function"
|
|
463
|
-
},
|
|
464
|
-
{
|
|
465
|
-
"inputs": [
|
|
466
|
-
{
|
|
467
|
-
"internalType": "bytes32",
|
|
468
|
-
"name": "role",
|
|
469
|
-
"type": "bytes32"
|
|
470
|
-
}
|
|
471
|
-
],
|
|
472
|
-
"name": "getRoleAdmin",
|
|
473
|
-
"outputs": [
|
|
474
|
-
{
|
|
475
|
-
"internalType": "bytes32",
|
|
476
|
-
"name": "",
|
|
477
|
-
"type": "bytes32"
|
|
478
|
-
}
|
|
479
|
-
],
|
|
480
|
-
"stateMutability": "view",
|
|
481
|
-
"type": "function"
|
|
482
|
-
},
|
|
483
|
-
{
|
|
484
|
-
"inputs": [
|
|
485
|
-
{
|
|
486
|
-
"internalType": "bytes32",
|
|
487
|
-
"name": "role",
|
|
488
|
-
"type": "bytes32"
|
|
489
|
-
},
|
|
490
|
-
{
|
|
491
|
-
"internalType": "address",
|
|
492
|
-
"name": "account",
|
|
493
|
-
"type": "address"
|
|
494
|
-
}
|
|
495
|
-
],
|
|
496
|
-
"name": "grantRole",
|
|
497
|
-
"outputs": [],
|
|
498
|
-
"stateMutability": "nonpayable",
|
|
499
|
-
"type": "function"
|
|
500
|
-
},
|
|
501
|
-
{
|
|
502
|
-
"inputs": [
|
|
503
|
-
{
|
|
504
|
-
"internalType": "bytes32",
|
|
505
|
-
"name": "role",
|
|
506
|
-
"type": "bytes32"
|
|
507
|
-
},
|
|
508
|
-
{
|
|
509
|
-
"internalType": "address",
|
|
510
|
-
"name": "account",
|
|
511
|
-
"type": "address"
|
|
512
|
-
}
|
|
513
|
-
],
|
|
514
|
-
"name": "hasRole",
|
|
515
|
-
"outputs": [
|
|
516
|
-
{
|
|
517
|
-
"internalType": "bool",
|
|
518
|
-
"name": "",
|
|
519
|
-
"type": "bool"
|
|
520
|
-
}
|
|
521
|
-
],
|
|
522
|
-
"stateMutability": "view",
|
|
523
|
-
"type": "function"
|
|
524
|
-
},
|
|
525
|
-
{
|
|
526
|
-
"inputs": [
|
|
527
|
-
{
|
|
528
|
-
"internalType": "string",
|
|
529
|
-
"name": "name_",
|
|
530
|
-
"type": "string"
|
|
531
|
-
},
|
|
532
|
-
{
|
|
533
|
-
"internalType": "uint256",
|
|
534
|
-
"name": "scrPercentage_",
|
|
535
|
-
"type": "uint256"
|
|
536
|
-
},
|
|
537
|
-
{
|
|
538
|
-
"internalType": "uint256",
|
|
539
|
-
"name": "ensuroFee_",
|
|
540
|
-
"type": "uint256"
|
|
541
|
-
},
|
|
542
|
-
{
|
|
543
|
-
"internalType": "uint256",
|
|
544
|
-
"name": "scrInterestRate_",
|
|
545
|
-
"type": "uint256"
|
|
546
|
-
},
|
|
547
|
-
{
|
|
548
|
-
"internalType": "uint256",
|
|
549
|
-
"name": "maxScrPerPolicy_",
|
|
550
|
-
"type": "uint256"
|
|
551
|
-
},
|
|
552
|
-
{
|
|
553
|
-
"internalType": "uint256",
|
|
554
|
-
"name": "scrLimit_",
|
|
555
|
-
"type": "uint256"
|
|
556
|
-
},
|
|
557
|
-
{
|
|
558
|
-
"internalType": "address",
|
|
559
|
-
"name": "wallet_",
|
|
560
|
-
"type": "address"
|
|
561
|
-
}
|
|
562
|
-
],
|
|
563
|
-
"name": "initialize",
|
|
564
|
-
"outputs": [],
|
|
565
|
-
"stateMutability": "nonpayable",
|
|
566
|
-
"type": "function"
|
|
567
|
-
},
|
|
568
|
-
{
|
|
569
|
-
"inputs": [],
|
|
570
|
-
"name": "lastTweak",
|
|
571
|
-
"outputs": [
|
|
572
|
-
{
|
|
573
|
-
"internalType": "uint40",
|
|
574
|
-
"name": "",
|
|
575
|
-
"type": "uint40"
|
|
576
|
-
},
|
|
577
|
-
{
|
|
578
|
-
"internalType": "uint56",
|
|
579
|
-
"name": "",
|
|
580
|
-
"type": "uint56"
|
|
581
|
-
}
|
|
582
|
-
],
|
|
583
|
-
"stateMutability": "view",
|
|
584
|
-
"type": "function"
|
|
585
|
-
},
|
|
586
|
-
{
|
|
587
|
-
"inputs": [],
|
|
588
|
-
"name": "maxScrPerPolicy",
|
|
589
|
-
"outputs": [
|
|
590
|
-
{
|
|
591
|
-
"internalType": "uint256",
|
|
592
|
-
"name": "",
|
|
593
|
-
"type": "uint256"
|
|
594
|
-
}
|
|
595
|
-
],
|
|
596
|
-
"stateMutability": "view",
|
|
597
|
-
"type": "function"
|
|
598
|
-
},
|
|
599
|
-
{
|
|
600
|
-
"inputs": [],
|
|
601
|
-
"name": "moc",
|
|
602
|
-
"outputs": [
|
|
603
|
-
{
|
|
604
|
-
"internalType": "uint256",
|
|
605
|
-
"name": "",
|
|
606
|
-
"type": "uint256"
|
|
607
|
-
}
|
|
608
|
-
],
|
|
609
|
-
"stateMutability": "view",
|
|
610
|
-
"type": "function"
|
|
611
|
-
},
|
|
612
|
-
{
|
|
613
|
-
"inputs": [],
|
|
614
|
-
"name": "name",
|
|
615
|
-
"outputs": [
|
|
616
|
-
{
|
|
617
|
-
"internalType": "string",
|
|
618
|
-
"name": "",
|
|
619
|
-
"type": "string"
|
|
620
|
-
}
|
|
621
|
-
],
|
|
622
|
-
"stateMutability": "view",
|
|
623
|
-
"type": "function"
|
|
624
|
-
},
|
|
625
|
-
{
|
|
626
|
-
"inputs": [
|
|
627
|
-
{
|
|
628
|
-
"internalType": "uint256",
|
|
629
|
-
"name": "triggerPrice",
|
|
630
|
-
"type": "uint256"
|
|
631
|
-
},
|
|
632
|
-
{
|
|
633
|
-
"internalType": "bool",
|
|
634
|
-
"name": "lower",
|
|
635
|
-
"type": "bool"
|
|
636
|
-
},
|
|
637
|
-
{
|
|
638
|
-
"internalType": "uint256",
|
|
639
|
-
"name": "payout",
|
|
640
|
-
"type": "uint256"
|
|
641
|
-
},
|
|
642
|
-
{
|
|
643
|
-
"internalType": "uint40",
|
|
644
|
-
"name": "expiration",
|
|
645
|
-
"type": "uint40"
|
|
646
|
-
}
|
|
647
|
-
],
|
|
648
|
-
"name": "newPolicy",
|
|
649
|
-
"outputs": [
|
|
650
|
-
{
|
|
651
|
-
"internalType": "uint256",
|
|
652
|
-
"name": "",
|
|
653
|
-
"type": "uint256"
|
|
654
|
-
}
|
|
655
|
-
],
|
|
656
|
-
"stateMutability": "nonpayable",
|
|
657
|
-
"type": "function"
|
|
658
|
-
},
|
|
659
|
-
{
|
|
660
|
-
"inputs": [],
|
|
661
|
-
"name": "pause",
|
|
662
|
-
"outputs": [],
|
|
663
|
-
"stateMutability": "nonpayable",
|
|
664
|
-
"type": "function"
|
|
665
|
-
},
|
|
666
|
-
{
|
|
667
|
-
"inputs": [],
|
|
668
|
-
"name": "paused",
|
|
669
|
-
"outputs": [
|
|
670
|
-
{
|
|
671
|
-
"internalType": "bool",
|
|
672
|
-
"name": "",
|
|
673
|
-
"type": "bool"
|
|
674
|
-
}
|
|
675
|
-
],
|
|
676
|
-
"stateMutability": "view",
|
|
677
|
-
"type": "function"
|
|
678
|
-
},
|
|
679
|
-
{
|
|
680
|
-
"inputs": [],
|
|
681
|
-
"name": "policyPool",
|
|
682
|
-
"outputs": [
|
|
683
|
-
{
|
|
684
|
-
"internalType": "contract IPolicyPool",
|
|
685
|
-
"name": "",
|
|
686
|
-
"type": "address"
|
|
687
|
-
}
|
|
688
|
-
],
|
|
689
|
-
"stateMutability": "view",
|
|
690
|
-
"type": "function"
|
|
691
|
-
},
|
|
692
|
-
{
|
|
693
|
-
"inputs": [
|
|
694
|
-
{
|
|
695
|
-
"internalType": "uint256",
|
|
696
|
-
"name": "triggerPrice",
|
|
697
|
-
"type": "uint256"
|
|
698
|
-
},
|
|
699
|
-
{
|
|
700
|
-
"internalType": "bool",
|
|
701
|
-
"name": "lower",
|
|
702
|
-
"type": "bool"
|
|
703
|
-
},
|
|
704
|
-
{
|
|
705
|
-
"internalType": "uint256",
|
|
706
|
-
"name": "payout",
|
|
707
|
-
"type": "uint256"
|
|
708
|
-
},
|
|
709
|
-
{
|
|
710
|
-
"internalType": "uint40",
|
|
711
|
-
"name": "expiration",
|
|
712
|
-
"type": "uint40"
|
|
713
|
-
}
|
|
714
|
-
],
|
|
715
|
-
"name": "pricePolicy",
|
|
716
|
-
"outputs": [
|
|
717
|
-
{
|
|
718
|
-
"internalType": "uint256",
|
|
719
|
-
"name": "premium",
|
|
720
|
-
"type": "uint256"
|
|
721
|
-
},
|
|
722
|
-
{
|
|
723
|
-
"internalType": "uint256",
|
|
724
|
-
"name": "lossProb",
|
|
725
|
-
"type": "uint256"
|
|
726
|
-
}
|
|
727
|
-
],
|
|
728
|
-
"stateMutability": "view",
|
|
729
|
-
"type": "function"
|
|
730
|
-
},
|
|
731
|
-
{
|
|
732
|
-
"inputs": [],
|
|
733
|
-
"name": "proxiableUUID",
|
|
734
|
-
"outputs": [
|
|
735
|
-
{
|
|
736
|
-
"internalType": "bytes32",
|
|
737
|
-
"name": "",
|
|
738
|
-
"type": "bytes32"
|
|
739
|
-
}
|
|
740
|
-
],
|
|
741
|
-
"stateMutability": "view",
|
|
742
|
-
"type": "function"
|
|
743
|
-
},
|
|
744
|
-
{
|
|
745
|
-
"inputs": [],
|
|
746
|
-
"name": "referenceCurrency",
|
|
747
|
-
"outputs": [
|
|
748
|
-
{
|
|
749
|
-
"internalType": "contract IERC20Metadata",
|
|
750
|
-
"name": "",
|
|
751
|
-
"type": "address"
|
|
752
|
-
}
|
|
753
|
-
],
|
|
754
|
-
"stateMutability": "view",
|
|
755
|
-
"type": "function"
|
|
756
|
-
},
|
|
757
|
-
{
|
|
758
|
-
"inputs": [
|
|
759
|
-
{
|
|
760
|
-
"internalType": "uint256",
|
|
761
|
-
"name": "scrAmount",
|
|
762
|
-
"type": "uint256"
|
|
763
|
-
}
|
|
764
|
-
],
|
|
765
|
-
"name": "releaseScr",
|
|
766
|
-
"outputs": [],
|
|
767
|
-
"stateMutability": "nonpayable",
|
|
768
|
-
"type": "function"
|
|
769
|
-
},
|
|
770
|
-
{
|
|
771
|
-
"inputs": [
|
|
772
|
-
{
|
|
773
|
-
"internalType": "bytes32",
|
|
774
|
-
"name": "role",
|
|
775
|
-
"type": "bytes32"
|
|
776
|
-
},
|
|
777
|
-
{
|
|
778
|
-
"internalType": "address",
|
|
779
|
-
"name": "account",
|
|
780
|
-
"type": "address"
|
|
781
|
-
}
|
|
782
|
-
],
|
|
783
|
-
"name": "renounceRole",
|
|
784
|
-
"outputs": [],
|
|
785
|
-
"stateMutability": "nonpayable",
|
|
786
|
-
"type": "function"
|
|
787
|
-
},
|
|
788
|
-
{
|
|
789
|
-
"inputs": [
|
|
790
|
-
{
|
|
791
|
-
"internalType": "bytes32",
|
|
792
|
-
"name": "role",
|
|
793
|
-
"type": "bytes32"
|
|
794
|
-
},
|
|
795
|
-
{
|
|
796
|
-
"internalType": "address",
|
|
797
|
-
"name": "account",
|
|
798
|
-
"type": "address"
|
|
799
|
-
}
|
|
800
|
-
],
|
|
801
|
-
"name": "revokeRole",
|
|
802
|
-
"outputs": [],
|
|
803
|
-
"stateMutability": "nonpayable",
|
|
804
|
-
"type": "function"
|
|
805
|
-
},
|
|
806
|
-
{
|
|
807
|
-
"inputs": [],
|
|
808
|
-
"name": "scrInterestRate",
|
|
809
|
-
"outputs": [
|
|
810
|
-
{
|
|
811
|
-
"internalType": "uint256",
|
|
812
|
-
"name": "",
|
|
813
|
-
"type": "uint256"
|
|
814
|
-
}
|
|
815
|
-
],
|
|
816
|
-
"stateMutability": "view",
|
|
817
|
-
"type": "function"
|
|
818
|
-
},
|
|
819
|
-
{
|
|
820
|
-
"inputs": [],
|
|
821
|
-
"name": "scrLimit",
|
|
822
|
-
"outputs": [
|
|
823
|
-
{
|
|
824
|
-
"internalType": "uint256",
|
|
825
|
-
"name": "",
|
|
826
|
-
"type": "uint256"
|
|
827
|
-
}
|
|
828
|
-
],
|
|
829
|
-
"stateMutability": "view",
|
|
830
|
-
"type": "function"
|
|
831
|
-
},
|
|
832
|
-
{
|
|
833
|
-
"inputs": [],
|
|
834
|
-
"name": "scrPercentage",
|
|
835
|
-
"outputs": [
|
|
836
|
-
{
|
|
837
|
-
"internalType": "uint256",
|
|
838
|
-
"name": "",
|
|
839
|
-
"type": "uint256"
|
|
840
|
-
}
|
|
841
|
-
],
|
|
842
|
-
"stateMutability": "view",
|
|
843
|
-
"type": "function"
|
|
844
|
-
},
|
|
845
|
-
{
|
|
846
|
-
"inputs": [
|
|
847
|
-
{
|
|
848
|
-
"internalType": "int40",
|
|
849
|
-
"name": "duration",
|
|
850
|
-
"type": "int40"
|
|
851
|
-
},
|
|
852
|
-
{
|
|
853
|
-
"internalType": "uint256[30]",
|
|
854
|
-
"name": "cdf",
|
|
855
|
-
"type": "uint256[30]"
|
|
856
|
-
}
|
|
857
|
-
],
|
|
858
|
-
"name": "setCDF",
|
|
859
|
-
"outputs": [],
|
|
860
|
-
"stateMutability": "nonpayable",
|
|
861
|
-
"type": "function"
|
|
862
|
-
},
|
|
863
|
-
{
|
|
864
|
-
"inputs": [
|
|
865
|
-
{
|
|
866
|
-
"internalType": "uint256",
|
|
867
|
-
"name": "newEnsuroFee",
|
|
868
|
-
"type": "uint256"
|
|
869
|
-
}
|
|
870
|
-
],
|
|
871
|
-
"name": "setEnsuroFee",
|
|
872
|
-
"outputs": [],
|
|
873
|
-
"stateMutability": "nonpayable",
|
|
874
|
-
"type": "function"
|
|
875
|
-
},
|
|
876
|
-
{
|
|
877
|
-
"inputs": [
|
|
878
|
-
{
|
|
879
|
-
"internalType": "uint256",
|
|
880
|
-
"name": "newMaxScrPerPolicy",
|
|
881
|
-
"type": "uint256"
|
|
882
|
-
}
|
|
883
|
-
],
|
|
884
|
-
"name": "setMaxScrPerPolicy",
|
|
885
|
-
"outputs": [],
|
|
886
|
-
"stateMutability": "nonpayable",
|
|
887
|
-
"type": "function"
|
|
888
|
-
},
|
|
889
|
-
{
|
|
890
|
-
"inputs": [
|
|
891
|
-
{
|
|
892
|
-
"internalType": "uint256",
|
|
893
|
-
"name": "newMoc",
|
|
894
|
-
"type": "uint256"
|
|
895
|
-
}
|
|
896
|
-
],
|
|
897
|
-
"name": "setMoc",
|
|
898
|
-
"outputs": [],
|
|
899
|
-
"stateMutability": "nonpayable",
|
|
900
|
-
"type": "function"
|
|
901
|
-
},
|
|
902
|
-
{
|
|
903
|
-
"inputs": [
|
|
904
|
-
{
|
|
905
|
-
"internalType": "uint256",
|
|
906
|
-
"name": "newScrInterestRate",
|
|
907
|
-
"type": "uint256"
|
|
908
|
-
}
|
|
909
|
-
],
|
|
910
|
-
"name": "setScrInterestRate",
|
|
911
|
-
"outputs": [],
|
|
912
|
-
"stateMutability": "nonpayable",
|
|
913
|
-
"type": "function"
|
|
914
|
-
},
|
|
915
|
-
{
|
|
916
|
-
"inputs": [
|
|
917
|
-
{
|
|
918
|
-
"internalType": "uint256",
|
|
919
|
-
"name": "newScrLimit",
|
|
920
|
-
"type": "uint256"
|
|
921
|
-
}
|
|
922
|
-
],
|
|
923
|
-
"name": "setScrLimit",
|
|
924
|
-
"outputs": [],
|
|
925
|
-
"stateMutability": "nonpayable",
|
|
926
|
-
"type": "function"
|
|
927
|
-
},
|
|
928
|
-
{
|
|
929
|
-
"inputs": [
|
|
930
|
-
{
|
|
931
|
-
"internalType": "uint256",
|
|
932
|
-
"name": "newScrPercentage",
|
|
933
|
-
"type": "uint256"
|
|
934
|
-
}
|
|
935
|
-
],
|
|
936
|
-
"name": "setScrPercentage",
|
|
937
|
-
"outputs": [],
|
|
938
|
-
"stateMutability": "nonpayable",
|
|
939
|
-
"type": "function"
|
|
940
|
-
},
|
|
941
|
-
{
|
|
942
|
-
"inputs": [
|
|
943
|
-
{
|
|
944
|
-
"internalType": "address",
|
|
945
|
-
"name": "wallet_",
|
|
946
|
-
"type": "address"
|
|
947
|
-
}
|
|
948
|
-
],
|
|
949
|
-
"name": "setWallet",
|
|
950
|
-
"outputs": [],
|
|
951
|
-
"stateMutability": "nonpayable",
|
|
952
|
-
"type": "function"
|
|
953
|
-
},
|
|
954
|
-
{
|
|
955
|
-
"inputs": [
|
|
956
|
-
{
|
|
957
|
-
"internalType": "bytes4",
|
|
958
|
-
"name": "interfaceId",
|
|
959
|
-
"type": "bytes4"
|
|
960
|
-
}
|
|
961
|
-
],
|
|
962
|
-
"name": "supportsInterface",
|
|
963
|
-
"outputs": [
|
|
964
|
-
{
|
|
965
|
-
"internalType": "bool",
|
|
966
|
-
"name": "",
|
|
967
|
-
"type": "bool"
|
|
968
|
-
}
|
|
969
|
-
],
|
|
970
|
-
"stateMutability": "view",
|
|
971
|
-
"type": "function"
|
|
972
|
-
},
|
|
973
|
-
{
|
|
974
|
-
"inputs": [],
|
|
975
|
-
"name": "totalScr",
|
|
976
|
-
"outputs": [
|
|
977
|
-
{
|
|
978
|
-
"internalType": "uint256",
|
|
979
|
-
"name": "",
|
|
980
|
-
"type": "uint256"
|
|
981
|
-
}
|
|
982
|
-
],
|
|
983
|
-
"stateMutability": "view",
|
|
984
|
-
"type": "function"
|
|
985
|
-
},
|
|
986
|
-
{
|
|
987
|
-
"inputs": [
|
|
988
|
-
{
|
|
989
|
-
"internalType": "uint256",
|
|
990
|
-
"name": "policyId",
|
|
991
|
-
"type": "uint256"
|
|
992
|
-
}
|
|
993
|
-
],
|
|
994
|
-
"name": "triggerPolicy",
|
|
995
|
-
"outputs": [],
|
|
996
|
-
"stateMutability": "nonpayable",
|
|
997
|
-
"type": "function"
|
|
998
|
-
},
|
|
999
|
-
{
|
|
1000
|
-
"inputs": [],
|
|
1001
|
-
"name": "unpause",
|
|
1002
|
-
"outputs": [],
|
|
1003
|
-
"stateMutability": "nonpayable",
|
|
1004
|
-
"type": "function"
|
|
1005
|
-
},
|
|
1006
|
-
{
|
|
1007
|
-
"inputs": [
|
|
1008
|
-
{
|
|
1009
|
-
"internalType": "address",
|
|
1010
|
-
"name": "newImplementation",
|
|
1011
|
-
"type": "address"
|
|
1012
|
-
}
|
|
1013
|
-
],
|
|
1014
|
-
"name": "upgradeTo",
|
|
1015
|
-
"outputs": [],
|
|
1016
|
-
"stateMutability": "nonpayable",
|
|
1017
|
-
"type": "function"
|
|
1018
|
-
},
|
|
1019
|
-
{
|
|
1020
|
-
"inputs": [
|
|
1021
|
-
{
|
|
1022
|
-
"internalType": "address",
|
|
1023
|
-
"name": "newImplementation",
|
|
1024
|
-
"type": "address"
|
|
1025
|
-
},
|
|
1026
|
-
{
|
|
1027
|
-
"internalType": "bytes",
|
|
1028
|
-
"name": "data",
|
|
1029
|
-
"type": "bytes"
|
|
1030
|
-
}
|
|
1031
|
-
],
|
|
1032
|
-
"name": "upgradeToAndCall",
|
|
1033
|
-
"outputs": [],
|
|
1034
|
-
"stateMutability": "payable",
|
|
1035
|
-
"type": "function"
|
|
1036
|
-
},
|
|
1037
|
-
{
|
|
1038
|
-
"inputs": [],
|
|
1039
|
-
"name": "wallet",
|
|
1040
|
-
"outputs": [
|
|
1041
|
-
{
|
|
1042
|
-
"internalType": "address",
|
|
1043
|
-
"name": "",
|
|
1044
|
-
"type": "address"
|
|
1045
|
-
}
|
|
1046
|
-
],
|
|
1047
|
-
"stateMutability": "view",
|
|
1048
|
-
"type": "function"
|
|
1049
|
-
}
|
|
1050
|
-
],
|
|
1051
|
-
"bytecode": "0x6101206040523060601b6080523480156200001957600080fd5b5060405162005771380380620057718339810160408190526200003c9162000067565b6001600160601b0319606094851b811660a05292841b831660c052921b1660e05261010052620000da565b600080600080608085870312156200007e57600080fd5b84516200008b81620000c1565b60208601519094506200009e81620000c1565b6040860151909350620000b181620000c1565b6060959095015193969295505050565b6001600160a01b0381168114620000d757600080fd5b50565b60805160601c60a05160601c60c05160601c60e05160601c61010051615590620001e1600039600061391801526000818161042501528181612ca501526138020152600081816104ec01528181612c840152612cc60152600081816105a701528181610ab901528181610c85015281816110ff0152818161118b015281816116eb015281816118ff01528181611a7301528181611c5401528181611ec701528181611f7b0152818161215c01528181612341015281816125310152818161290c01528181612b750152818161308901528181613137015261332b015260008181610edd01528181610f1d0152818161128c015281816112cc015261135b01526155906000f3fe6080604052600436106102e45760003560e01c80636f0dbe6f11610190578063ca996de3116100dc578063e42569d911610095578063f33323a41161006f578063f33323a41461092c578063f48d63ad1461094c578063f67b2bad14610979578063fbb812791461099b57600080fd5b8063e42569d9146108d0578063e5a6b10f146108f7578063e61735c01461090c57600080fd5b8063ca996de314610824578063d44499a81461083a578063d547741f14610850578063dab5d88d14610870578063deaa59df14610890578063e101a345146108b057600080fd5b80639cbbcd9211610149578063a5f8b2d611610123578063a5f8b2d614610785578063a9a24f27146107ba578063b9ea870a146107ee578063bf8e934d1461080e57600080fd5b80639cbbcd921461073a5780639d90724d1461075a578063a217fddf1461077057600080fd5b80636f0dbe6f14610678578063775ead48146106985780637ed5acfa146106b85780638456cb59146106e55780638bac3a24146106fa57806391d148541461071a57600080fd5b806338d52e0f1161024f5780634f1ef2861161020857806353428253116101e257806353428253146106125780635b494dd5146106285780635c975abb1461064a5780635d505fe71461066257600080fd5b80634f1ef286146105cb578063521eb273146105de57806352d1902d146105fd57600080fd5b806338d52e0f146104dd5780633f4ba83a1461051057806341ea6a0f14610525578063468a8c9f1461053b5780634a47a3e0146105765780634d15eb031461059857600080fd5b806324ea54f4116102a157806324ea54f4146103f45780632c7a69fe146104165780632f2ff15d1461045d57806336568abe1461047d5780633659cfe61461049d578063377e1cc9146104bd57600080fd5b806301ffc9a7146102e957806306fdde031461031e578063089a850414610340578063204d79231461036257806322875d63146103a4578063248a9ca3146103c4575b600080fd5b3480156102f557600080fd5b50610309610304366004614b2f565b6109cf565b60405190151581526020015b60405180910390f35b34801561032a57600080fd5b50610333610a06565b6040516103159190614de6565b34801561034c57600080fd5b5061036061035b366004614acd565b610a99565b005b34801561036e57600080fd5b506103967f288a15c4a15d470e4cd9cad2f113b91206b520c26dbd3dd74627f0c057baa19c81565b604051908152602001610315565b3480156103b057600080fd5b506103606103bf366004614acd565b610c65565b3480156103d057600080fd5b506103966103df366004614acd565b600090815260c9602052604090206001015490565b34801561040057600080fd5b5061039660008051602061553b83398151915281565b34801561042257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610315565b34801561046957600080fd5b50610360610478366004614aff565b610e29565b34801561048957600080fd5b50610360610498366004614aff565b610e54565b3480156104a957600080fd5b506103606104b8366004614a2f565b610ed2565b3480156104c957600080fd5b506103606104d8366004614acd565b610fb2565b3480156104e957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610445565b34801561051c57600080fd5b5061036061116b565b34801561053157600080fd5b5061013454610396565b34801561054757600080fd5b5061012d546040805164ffffffffff83168152600160281b90920466ffffffffffffff16602083015201610315565b34801561058257600080fd5b5061039660008051602061551b83398151915281565b3480156105a457600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610445565b6103606105d9366004614a4c565b611281565b3480156105ea57600080fd5b50610136546001600160a01b0316610445565b34801561060957600080fd5b5061039661134e565b34801561061e57600080fd5b5061013054610396565b34801561063457600080fd5b506103966000805160206154d483398151915281565b34801561065657600080fd5b5060fb5460ff16610309565b34801561066e57600080fd5b5061013354610396565b34801561068457600080fd5b50610360610693366004614bce565b611401565b3480156106a457600080fd5b506103966106b3366004614c64565b61149d565b3480156106c457600080fd5b506106cf6201518081565b60405164ffffffffff9091168152602001610315565b3480156106f157600080fd5b506103606116da565b34801561070657600080fd5b50610396610715366004614cac565b6117e2565b34801561072657600080fd5b50610309610735366004614aff565b6118d1565b34801561074657600080fd5b50610360610755366004614acd565b6118fc565b34801561076657600080fd5b5061013254610396565b34801561077c57600080fd5b50610396600081565b34801561079157600080fd5b506107a56107a0366004614c64565b611999565b60408051928352602083019190915201610315565b3480156107c657600080fd5b506103967f0df0a8869cf58168a14cd7ac426ff1b8c6ff5d5c800c6f44803f3431dcb3bad181565b3480156107fa57600080fd5b50610360610809366004614acd565b611a53565b34801561081a57600080fd5b5061012f54610396565b34801561083057600080fd5b5061013554610396565b34801561084657600080fd5b5061013154610396565b34801561085c57600080fd5b5061036061086b366004614aff565b611c0e565b34801561087c57600080fd5b5061036061088b366004614acd565b611c34565b34801561089c57600080fd5b506103606108ab366004614a2f565b611dfb565b3480156108bc57600080fd5b506103606108cb366004614b91565b611e53565b3480156108dc57600080fd5b506108e5601e81565b60405160ff9091168152602001610315565b34801561090357600080fd5b50610445611ec3565b34801561091857600080fd5b50610360610927366004614acd565b611f5b565b34801561093857600080fd5b50610360610947366004614acd565b612120565b34801561095857600080fd5b5061096c610967366004614b76565b6124dc565b6040516103159190614d95565b34801561098557600080fd5b506103966000805160206154b483398151915281565b3480156109a757600080fd5b506103967fc6823861ee2bb2198ce6b1fd6faf4c8f44f745bc804aca4a762f67e0d507fd8a81565b60006001600160e01b03198216637965db0b60e01b1480610a0057506301ffc9a760e01b6001600160e01b03198316145b92915050565b606061012e8054610a16906153c7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a42906153c7565b8015610a8f5780601f10610a6457610100808354040283529160200191610a8f565b820191906000526020600020905b815481529060010190602001808311610a7257829003601f168201915b5050505050905090565b60008051602061551b8339815191526000805160206154d48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1057600080fd5b505afa158015610b24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b489190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b8152600401610b7793929190614dc7565b60006040518083038186803b158015610b8f57600080fd5b505afa158015610ba3573d6000803e3d6000fd5b505050506000610bc060008051602061551b83398151915261252d565b159050801580610be45750610be461013154856af8277896582678ac000000612640565b610c4d5760405162461bcd60e51b815260206004820152602f60248201527f547765616b2065786365656465643a20656e7375726f46656520747765616b7360448201526e206f6e6c7920757020746f2033302560881b60648201526084015b60405180910390fd5b610131849055610c5f600a85836126cb565b50505050565b60008051602061551b8339815191526000805160206154d48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015610cdc57600080fd5b505afa158015610cf0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d149190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b8152600401610d4393929190614dc7565b60006040518083038186803b158015610d5b57600080fd5b505afa158015610d6f573d6000803e3d6000fd5b505050506000610d8c60008051602061551b83398151915261252d565b159050801580610dad5750610dad6101335485670429d069189e000061272c565b610e175760405162461bcd60e51b815260206004820152603560248201527f547765616b2065786365656465643a206d6178536372506572506f6c69637920604482015274747765616b73206f6e6c7920757020746f2033302560581b6064820152608401610c44565b610133849055610c5f600b85836126cb565b600082815260c96020526040902060010154610e45813361279b565b610e4f83836127ff565b505050565b6001600160a01b0381163314610ec45760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610c44565b610ece8282612885565b5050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610f1b5760405162461bcd60e51b8152600401610c4490614e19565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f64600080516020615494833981519152546001600160a01b031690565b6001600160a01b031614610f8a5760405162461bcd60e51b8152600401610c4490614e65565b610f93816128ec565b60408051600080825260208201909252610faf918391906129f6565b50565b60fb5460ff1615610fd55760405162461bcd60e51b8152600401610c4490614eb1565b60008181526101376020526040812090610fed612b70565b600b83015490915060ff161580611008575081600a01548111155b61106a5760405162461bcd60e51b815260206004820152602d60248201527f436f6e646974696f6e206e6f74206d65742043757272656e745072696365203e60448201526c2074726967676572507269636560981b6064820152608401610c44565b600b82015460ff1680611081575081600a01548110155b6110e35760405162461bcd60e51b815260206004820152602d60248201527f436f6e646974696f6e206e6f74206d65742043757272656e745072696365203c60448201526c2074726967676572507269636560981b6064820152608401610c44565b6001820154604051639e556b2b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691639e556b2b9161113491869160040161503f565b600060405180830381600087803b15801561114e57600080fd5b505af1158015611162573d6000803e3d6000fd5b50505050505050565b60008051602061553b8339815191526000805160206154b48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b1580156111e257600080fd5b505afa1580156111f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121a9190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b815260040161124993929190614dc7565b60006040518083038186803b15801561126157600080fd5b505afa158015611275573d6000803e3d6000fd5b50505050610ece612e2f565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156112ca5760405162461bcd60e51b8152600401610c4490614e19565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611313600080516020615494833981519152546001600160a01b031690565b6001600160a01b0316146113395760405162461bcd60e51b8152600401610c4490614e65565b611342826128ec565b610ece828260016129f6565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113ee5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610c44565b5060008051602061549483398151915290565b600054610100900460ff1661141c5760005460ff1615611420565b303b155b61143c5760405162461bcd60e51b8152600401610c4490614edb565b600054610100900460ff1615801561145e576000805461ffff19166101011790555b61146d88888888888888612ec2565b61013980546001600160601b03191660011790558015611493576000805461ff00191690555b5050505050505050565b60008060006114ae87878787611999565b915091506000821161151b5760405162461bcd60e51b815260206004820152603060248201527f456974686572206475726174696f6e206f722070657263656e74616765206a7560448201526f1b5c081b9bdd081cdd5c1c1bdc9d195960821b6064820152608401610c44565b61013954600090611538906001600160601b03163060601b6150eb565b6000818152610137602052604090206101395491925090339061156d908990879087908b9086906001600160601b0316612f59565b80518355602081015160018085019190915560408201516002850155606082015160038501556080820151600485015560a0820151600585015560c0820151600685015560e082015160078501556101008201516008850155610120820151600985018054610140850151610160909501516001600160a01b039093166001600160c81b031990911617600160a01b64ffffffffff958616021764ffffffffff60c81b1916600160c81b949092169390930217909155610139805460009061163f9084906001600160601b031661512c565b82546101009290920a6001600160601b0381810219909316919092169190910217905550600a82018a9055600b8201805460ff19168a151590811790915560408051858152602081018d9052908101919091526001600160a01b038216907fac60a84d926e5f83b9718922af7ef1285ea8a8516516c4981ed3297d2e89ae0b9060600160405180910390a2509093505050505b949350505050565b60008051602061553b8339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b15801561174257600080fd5b505afa158015611756573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061177a9190614b59565b6040516312d9a6ad60e01b8152600481018390523360248201526001600160a01b0391909116906312d9a6ad9060440160006040518083038186803b1580156117c257600080fd5b505afa1580156117d6573d6000803e3d6000fd5b50505050610faf6133c4565b60008061181361180e6117ff6117f86101305490565b879061341c565b611808886134f3565b9061341c565b613571565b905060008161182f61182861180e61012f5490565b88906135f1565b6118399190615324565b9050600061187961180e6e0612d847b578e7643c28ac000000006118644264ffffffffff8a16615324565b610132545b6118739190615305565b906136a4565b9050600061188783836135f1565b905060006118ab61189b61180e6101315490565b6118a584886150eb565b906135f1565b9050816118b882876150eb565b6118c291906150eb565b955050505050505b9392505050565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461197e5760405162461bcd60e51b815260206004820152602160248201527f5468652063616c6c6572206d7573742062652074686520506f6c696379506f6f6044820152601b60fa1b6064820152608401610c44565b8061013560008282546119919190615324565b909155505050565b60008060006119a6612b70565b90508580156119b457508681115b806119c75750851580156119c757508681105b611a135760405162461bcd60e51b815260206004820152601e60248201527f507269636520616c726561647920617420747269676765722076616c756500006044820152606401610c44565b611a278188611a22428861533b565b6137aa565b915081611a3b576000809250925050611a4a565b611a468583866117e2565b9250505b94509492505050565b60008051602061551b8339815191526000805160206154d48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015611aca57600080fd5b505afa158015611ade573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b029190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b8152600401611b3193929190614dc7565b60006040518083038186803b158015611b4957600080fd5b505afa158015611b5d573d6000803e3d6000fd5b505050506000611b7a60008051602061551b83398151915261252d565b159050801580611b9e5750611b9e61013054856a52b7d2dcc80cd2e4000000612640565b611bfc5760405162461bcd60e51b815260206004820152602960248201527f547765616b2065786365656465643a206d6f6320747765616b73206f6e6c7920604482015268757020746f2031302560b81b6064820152608401610c44565b610130849055610c5f600885836126cb565b600082815260c96020526040902060010154611c2a813361279b565b610e4f8383612885565b60008051602061551b8339815191526000805160206154d48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015611cab57600080fd5b505afa158015611cbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce39190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b8152600401611d1293929190614dc7565b60006040518083038186803b158015611d2a57600080fd5b505afa158015611d3e573d6000803e3d6000fd5b505050506000611d5b60008051602061551b83398151915261252d565b159050801580611d7f5750611d7f61013254856af8277896582678ac000000612640565b611de95760405162461bcd60e51b815260206004820152603560248201527f547765616b2065786365656465643a20736372496e7465726573745261746520604482015274747765616b73206f6e6c7920757020746f2033302560581b6064820152608401610c44565b610132849055610c5f600985836126cb565b7f0df0a8869cf58168a14cd7ac426ff1b8c6ff5d5c800c6f44803f3431dcb3bad1611e26813361279b565b61013680546001600160a01b0319166001600160a01b038416908117909155610ece90600f9060006126cb565b7fc6823861ee2bb2198ce6b1fd6faf4c8f44f745bc804aca4a762f67e0d507fd8a611e7e813361279b565b60fb5460ff1615611ea15760405162461bcd60e51b8152600401610c4490614eb1565b600483810b900b600090815261013860205260409020610c5f9083601e614834565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e5a6b10f6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f1e57600080fd5b505afa158015611f32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f569190614b59565b905090565b60008051602061551b8339815191526000805160206154d48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015611fd257600080fd5b505afa158015611fe6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061200a9190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b815260040161203993929190614dc7565b60006040518083038186803b15801561205157600080fd5b505afa158015612065573d6000803e3d6000fd5b50505050600061208260008051602061551b83398151915261252d565b1590508015806120a657506120a661012f54856a52b7d2dcc80cd2e4000000612640565b61210e5760405162461bcd60e51b815260206004820152603360248201527f547765616b2065786365656465643a2073637250657263656e7461676520747760448201527265616b73206f6e6c7920757020746f2031302560681b6064820152608401610c44565b61012f849055610c5f600785836126cb565b6000805160206154b483398151915260008051602061551b8339815191526000805160206154d48339815191526121568361252d565b61224b577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b1580156121b357600080fd5b505afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b815260040161221a93929190614dc7565b60006040518083038186803b15801561223257600080fd5b505afa158015612246573d6000803e3d6000fd5b505050505b600061226460008051602061551b83398151915261252d565b15801561228557506122836000805160206154b483398151915261252d565b155b90508015806122a557506122a5610134548667016345785d8a000061272c565b6123085760405162461bcd60e51b815260206004820152602e60248201527f547765616b2065786365656465643a207363724c696d697420747765616b732060448201526d6f6e6c7920757020746f2031302560901b6064820152608401610c44565b610134548511158061232c575061232c6000805160206154b483398151915261252d565b806123d25750846123d067016345785d8a00007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b77ddfea6040518163ffffffff1660e01b815260040160206040518083038186803b15801561239857600080fd5b505afa1580156123ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a59190614ae6565b115b6124595760405162461bcd60e51b815260206004820152604c60248201527f547765616b2065786365656465643a20496e6372656173652c203e3d3130252060448201527f6f662074686520746f74616c206c69717569646974792c20726571756972657360648201526b204c4556454c315f524f4c4560a01b608482015260a401610c44565b610135548510156124c35760405162461bcd60e51b815260206004820152602e60248201527f43616e27742073657420534352206c657373207468616e2063757272656e742060448201526d29a1a91030b63637b1b0ba34b7b760911b6064820152608401610c44565b6101348590556124d5600c86836126cb565b5050505050565b6124e4614872565b600482810b900b600090815261013860205260409081902081516103c081019283905291601e9082845b81548152602001906001019080831161250e5750505050509050919050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b15801561258857600080fd5b505afa15801561259c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c09190614b59565b604051632474521560e21b8152600481018490523360248201526001600160a01b0391909116906391d148549060440160206040518083038186803b15801561260857600080fd5b505afa15801561261c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a009190614ab0565b600082841415612652575060016118ca565b8361266c5750676765c793fa10079d601b1b8110156118ca565b82612679575060006118ca565b828410156126ab5781676765c793fa10079d601b1b61269885876136a4565b6126a29190615324565b111590506118ca565b816126b684866136a4565b6126a290676765c793fa10079d601b1b615324565b6126d36139a5565b80156126e2576126e283613c73565b82601e8111156126f4576126f461542e565b6040518381527f7bc647fe5043209e2019aa3503b79c1b0dd83eb61c56013d373a7584ff6bfb139060200160405180910390a2505050565b60008284141561273e575060016118ca565b836127555750670de0b6b3a76400008110156118ca565b82612762575060006118ca565b8284101561277e5781670de0b6b3a76400006126988587613dd6565b816127898486613dd6565b6126a290670de0b6b3a7640000615324565b6127a582826118d1565b610ece576127bd816001600160a01b03166014613ec2565b6127c8836020613ec2565b6040516020016127d9929190614d20565b60408051601f198184030181529082905262461bcd60e51b8252610c4491600401614de6565b61280982826118d1565b610ece57600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff191660011790556128413390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61288f82826118d1565b15610ece57600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602061553b8339815191526000805160206154b48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b15801561296357600080fd5b505afa158015612977573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061299b9190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b81526004016129ca93929190614dc7565b60006040518083038186803b1580156129e257600080fd5b505afa158015611162573d6000803e3d6000fd5b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612a2957610e4f8361405e565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015612a6257600080fd5b505afa925050508015612a92575060408051601f3d908101601f19168201909252612a8f91810190614ae6565b60015b612af55760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610c44565b6000805160206154948339815191528114612b645760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610c44565b50610e4f8383836140fa565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015612bcc57600080fd5b505afa158015612be0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c049190614b59565b6001600160a01b031663d2f7265a6040518163ffffffff1660e01b815260040160206040518083038186803b158015612c3c57600080fd5b505afa158015612c50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c749190614b59565b6001600160a01b031663248391ff7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015612d1d57600080fd5b505afa158015612d31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d559190614ce1565b612d6090600a6151c9565b6040516001600160e01b031960e086901b1681526001600160a01b039384166004820152929091166024830152604482015260640160206040518083038186803b158015612dad57600080fd5b505afa158015612dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612de59190614ae6565b905080612e2a5760405162461bcd60e51b81526020600482015260136024820152725072696365206e6f7420617661696c61626c6560681b6044820152606401610c44565b919050565b60fb5460ff16612e785760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610c44565b60fb805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600054610100900460ff16612edd5760005460ff1615612ee1565b303b155b612efd5760405162461bcd60e51b8152600401610c4490614edb565b600054610100900460ff16158015612f1f576000805461ffff19166101011790555b612f2761411f565b612f2f614146565b612f3e888888888888886141c7565b8015611493576000805461ff00191690555050505050505050565b612f61614891565b60fb5460ff1615612f845760405162461bcd60e51b8152600401610c4490614eb1565b868610612fd35760405162461bcd60e51b815260206004820181905260248201527f5072656d69756d206d757374206265206c657373207468616e207061796f75746044820152606401610c44565b4264ffffffffff168464ffffffffff16116130305760405162461bcd60e51b815260206004820181905260248201527f45787069726174696f6e206d75737420626520696e20746865206675747572656044820152606401610c44565b6001600160a01b0383166130865760405162461bcd60e51b815260206004820152601e60248201527f437573746f6d65722063616e2774206265207a65726f206164647265737300006044820152606401610c44565b857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e5a6b10f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156130e057600080fd5b505afa1580156130f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131189190614b59565b604051636eb1769f60e11b81526001600160a01b0386811660048301527f000000000000000000000000000000000000000000000000000000000000000081166024830152919091169063dd62ed3e9060440160206040518083038186803b15801561318357600080fd5b505afa158015613197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131bb9190614ae6565b101561321f5760405162461bcd60e51b815260206004820152602d60248201527f596f75206d75737420616c6c6f7720454e5355524f20746f207472616e73666560448201526c7220746865207072656d69756d60981b6064820152608401610c44565b600061322e30888a898961429d565b9050610133548160600151111561329f5760405162461bcd60e51b815260206004820152602f60248201527f5269736b4d6f64756c653a20534352206973206d6f7265207468616e206d617860448201526e696d756d2070657220706f6c69637960881b6064820152608401610c44565b806060015161013560008282546132b691906150eb565b9091555050610134546101355411156133115760405162461bcd60e51b815260206004820152601e60248201527f5269736b4d6f64756c653a20534352206c696d697420657863656564656400006044820152606401610c44565b604051630cb8251d60e11b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906319704a3a9061336490859089908990600401614f74565b602060405180830381600087803b15801561337e57600080fd5b505af1158015613392573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133b69190614ae6565b825250979650505050505050565b60fb5460ff16156133e75760405162461bcd60e51b8152600401610c4490614eb1565b60fb805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612ea53390565b6000821580613429575081155b1561343657506000610a00565b8161344d6002676765c793fa10079d601b1b61514e565b61345990600019615324565b613463919061514e565b8311156134be5760405162461bcd60e51b8152602060048201526024808201527f7261794d756c3a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610c44565b676765c793fa10079d601b1b6134d560028261514e565b6134df8486615305565b6134e991906150eb565b6118ca919061514e565b600080613504633b9aca0084615305565b905082613515633b9aca008361514e565b14610a005760405162461bcd60e51b815260206004820152602660248201527f776164546f5261643a204d617468204d756c7469706c69636174696f6e204f766044820152656572666c6f7760d01b6064820152608401610c44565b6000806135836002633b9aca0061514e565b9050600061359184836150eb565b9050818110156135e35760405162461bcd60e51b815260206004820181905260248201527f726179546f5761643a204d617468204164646974696f6e204f766572666c6f776044820152606401610c44565b6116d2633b9aca008261514e565b60008215806135fe575081155b1561360b57506000610a00565b8161361f6002670de0b6b3a764000061514e565b61362b90600019615324565b613635919061514e565b8311156136905760405162461bcd60e51b8152602060048201526024808201527f7761644d756c3a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610c44565b670de0b6b3a76400006134d560028261514e565b6000816136f35760405162461bcd60e51b815260206004820152601860248201527f7261794469763a204469766973696f6e206279207a65726f00000000000000006044820152606401610c44565b600061370060028461514e565b9050676765c793fa10079d601b1b61371a82600019615324565b613724919061514e565b84111561377f5760405162461bcd60e51b8152602060048201526024808201527f7261794469763a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610c44565b8281613796676765c793fa10079d601b1b87615305565b6137a091906150eb565b6116d2919061514e565b60008061013860008587116137c1576000196137c4565b60015b610e106137d387610708615103565b6137dd9190615162565b6137e79190615274565b60040b60040b815260200190815260200160002090506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561385957600080fd5b505afa15801561386d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138919190614ce1565b61389c906012615361565b6138a790600a6151c9565b9050858711156138e7576138ce6138be8289615305565b6138c88389615305565b90613dd6565b6138e090670de0b6b3a7640000615324565b9150613914565b670de0b6b3a76400006139076138fd838a615305565b6138c8848a615305565b6139119190615324565b91505b60007f000000000000000000000000000000000000000000000000000000000000000061394260028261514e565b61394c90856150eb565b613956919061514e565b9050601e60ff82161061399057836139706001601e615361565b60ff16601e811061398357613983615444565b01549450505050506118ca565b838160ff16601e811061398357613983615444565b676765c793fa10079d601b1b61012f54111580156139c65750600061012f54115b613a205760405162461bcd60e51b815260206004820152602560248201527f56616c69646174696f6e3a2073637250657263656e74616765206d757374206260448201526465203c3d3160d81b6064820152608401610c44565b613a36676765c793fa10079d601b1b6002615305565b6101305411158015613a605750613a596002676765c793fa10079d601b1b61514e565b6101305410155b613aac5760405162461bcd60e51b815260206004820181905260248201527f56616c69646174696f6e3a206d6f63206d757374206265205b302e352c20325d6044820152606401610c44565b676765c793fa10079d601b1b610131541115613b155760405162461bcd60e51b815260206004820152602260248201527f56616c69646174696f6e3a20656e7375726f466565206d757374206265203c3d604482015261203160f01b6064820152608401610c44565b676765c793fa10079d601b1b610132541115613b8b5760405162461bcd60e51b815260206004820152602f60248201527f56616c69646174696f6e3a20736372496e74657265737452617465206d75737460448201526e206265203c3d20312028313030252960881b6064820152608401610c44565b61013554610134541015613c075760405162461bcd60e51b815260206004820152603760248201527f56616c69646174696f6e3a207363724c696d69742063616e2774206265206c6560448201527f7373207468616e2061637475616c20746f74616c5363720000000000000000006064820152608401610c44565b610136546001600160a01b0316613c715760405162461bcd60e51b815260206004820152602860248201527f56616c69646174696f6e3a2057616c6c65742063616e2774206265207a65726f604482015267206164647265737360c01b6064820152608401610c44565b565b6000600182601e811115613c8957613c8961542e565b613c939190615361565b61012d54600160ff929092169190911b91506201518090613cbb9064ffffffffff164261533b565b64ffffffffff161115613cf95761012d805466ffffffffffffff8316600160281b026001600160601b031990911664ffffffffff4216171790555050565b61012d54600160281b9004811666ffffffffffffff16613d585761012d805464ffffffffff421664ffffffffff1966ffffffffffffff808616600160281b808604929092161702166001600160601b0319909216919091171790555050565b60405162461bcd60e51b815260206004820152604760248201527f596f7520616c726561647920747765616b6564207468697320706172616d657460448201527f657220726563656e746c792e2057616974206265666f726520747765616b696e606482015266339030b3b0b4b760c91b608482015260a401610c44565b600081613e255760405162461bcd60e51b815260206004820152601860248201527f7761644469763a204469766973696f6e206279207a65726f00000000000000006044820152606401610c44565b6000613e3260028461514e565b9050670de0b6b3a7640000613e4982600019615324565b613e53919061514e565b841115613eae5760405162461bcd60e51b8152602060048201526024808201527f7761644469763a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610c44565b8281613796670de0b6b3a764000087615305565b60606000613ed1836002615305565b613edc9060026150eb565b67ffffffffffffffff811115613ef457613ef461545a565b6040519080825280601f01601f191660200182016040528015613f1e576020820181803683370190505b509050600360fc1b81600081518110613f3957613f39615444565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110613f6857613f68615444565b60200101906001600160f81b031916908160001a9053506000613f8c846002615305565b613f979060016150eb565b90505b600181111561400f576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110613fcb57613fcb615444565b1a60f81b828281518110613fe157613fe1615444565b60200101906001600160f81b031916908160001a90535060049490941c93614008816153b0565b9050613f9a565b5083156118ca5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610c44565b6001600160a01b0381163b6140cb5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610c44565b60008051602061549483398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6141038361465b565b6000825111806141105750805b15610e4f57610c5f838361469b565b600054610100900460ff16613c715760405162461bcd60e51b8152600401610c4490614f29565b600054610100900460ff166141615760005460ff1615614165565b303b155b6141815760405162461bcd60e51b8152600401610c4490614edb565b600054610100900460ff161580156141a3576000805461ffff19166101011790555b6141ab61411f565b6141b361478f565b8015610faf576000805461ff001916905550565b600054610100900460ff166141e25760005460ff16156141e6565b303b155b6142025760405162461bcd60e51b8152600401610c4490614edb565b600054610100900460ff16158015614224576000805461ffff19166101011790555b87516142389061012e9060208b0190614909565b5061012f879055676765c793fa10079d601b1b61013055610131869055610132859055610133849055610134839055600061013581905561013680546001600160a01b0319166001600160a01b03851617905561429590336147be565b612f3e6139a5565b6142a5614891565b838511156143005760405162461bcd60e51b815260206004820152602260248201527f5072656d69756d2063616e6e6f74206265206d6f7265207468616e207061796f6044820152611d5d60f21b6064820152608401610c44565b614308614891565b6001600160a01b038716610120820181905260408083018890526020808401889052608084018790528151635342825360e01b815291516143a89361180e936117ff939192635342825392600480840193919291829003018186803b15801561437057600080fd5b505afa158015614384573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f89190614ae6565b8160a00181815250508060a0015161443461442d896001600160a01b031663bf8e934d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156143f557600080fd5b505afa158015614409573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061180e9190614ae6565b87906135f1565b61443e9190615324565b606082018190526144855760405162461bcd60e51b81526020600482015260116024820152705343522063616e2774206265207a65726f60781b6044820152606401610c44565b64ffffffffff4281166101408301819052908416610160830181905261454b916145409161180e916e0612d847b578e7643c28ac00000000916144c8919061533b565b64ffffffffff168b6001600160a01b0316639d90724d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561450857600080fd5b505afa15801561451c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118699190614ae6565b6060830151906135f1565b816101000181815250506145a9614594886001600160a01b031663d44499a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156143f557600080fd5b8261010001518360a001516118a591906150eb565b60c0820181905261010082015160a083015188926145c6916150eb565b6145d091906150eb565b111561461e5760405162461bcd60e51b815260206004820152601960248201527f5072656d69756d206c657373207468616e206d696e696d756d000000000000006044820152606401610c44565b60c081015161010082015160a08301516146389089615324565b6146429190615324565b61464c9190615324565b60e08201529695505050505050565b6146648161405e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6147035760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610c44565b600080846001600160a01b03168460405161471e9190614d04565b600060405180830381855af49150503d8060008114614759576040519150601f19603f3d011682016040523d82523d6000602084013e61475e565b606091505b509150915061478682826040518060600160405280602781526020016154f4602791396147c8565b95945050505050565b600054610100900460ff166147b65760405162461bcd60e51b8152600401610c4490614f29565b613c71614801565b610ece82826127ff565b606083156147d75750816118ca565b8251156147e75782518084602001fd5b8160405162461bcd60e51b8152600401610c449190614de6565b600054610100900460ff166148285760405162461bcd60e51b8152600401610c4490614f29565b60fb805460ff19169055565b82601e8101928215614862579160200282015b82811115614862578235825591602001919060010190614847565b5061486e92915061497d565b5090565b604051806103c00160405280601e906020820280368337509192915050565b60405180610180016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600064ffffffffff168152602001600064ffffffffff1681525090565b828054614915906153c7565b90600052602060002090601f0160209004810192826149375760008555614862565b82601f1061495057805160ff1916838001178555614862565b82800160010185558215614862579182015b82811115614862578251825591602001919060010190614962565b5b8082111561486e576000815560010161497e565b600067ffffffffffffffff808411156149ad576149ad61545a565b604051601f8501601f19908116603f011681019082821181831017156149d5576149d561545a565b816040528093508581528686860111156149ee57600080fd5b858560208301376000602087830101525050509392505050565b8035600481900b8114612e2a57600080fd5b803564ffffffffff81168114612e2a57600080fd5b600060208284031215614a4157600080fd5b81356118ca81615470565b60008060408385031215614a5f57600080fd5b8235614a6a81615470565b9150602083013567ffffffffffffffff811115614a8657600080fd5b8301601f81018513614a9757600080fd5b614aa685823560208401614992565b9150509250929050565b600060208284031215614ac257600080fd5b81516118ca81615485565b600060208284031215614adf57600080fd5b5035919050565b600060208284031215614af857600080fd5b5051919050565b60008060408385031215614b1257600080fd5b823591506020830135614b2481615470565b809150509250929050565b600060208284031215614b4157600080fd5b81356001600160e01b0319811681146118ca57600080fd5b600060208284031215614b6b57600080fd5b81516118ca81615470565b600060208284031215614b8857600080fd5b6118ca82614a08565b6000806103e0808486031215614ba657600080fd5b614baf84614a08565b9250848185011115614bc057600080fd5b506020830190509250929050565b600080600080600080600060e0888a031215614be957600080fd5b873567ffffffffffffffff811115614c0057600080fd5b8801601f81018a13614c1157600080fd5b614c208a823560208401614992565b9750506020880135955060408801359450606088013593506080880135925060a0880135915060c0880135614c5481615470565b8091505092959891949750929550565b60008060008060808587031215614c7a57600080fd5b843593506020850135614c8c81615485565b925060408501359150614ca160608601614a1a565b905092959194509250565b600080600060608486031215614cc157600080fd5b8335925060208401359150614cd860408501614a1a565b90509250925092565b600060208284031215614cf357600080fd5b815160ff811681146118ca57600080fd5b60008251614d16818460208701615384565b9190910192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351614d58816017850160208801615384565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351614d89816028840160208801615384565b01602801949350505050565b6103c08101818360005b601e811015614dbe578151835260209283019290910190600101614d9f565b50505092915050565b92835260208301919091526001600160a01b0316604082015260600190565b6020815260008251806020840152614e05816040850160208701615384565b601f01601f19169190910160400192915050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006101c082019050845182526020850151602083015260408501516040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151614fee828501826001600160a01b03169052565b50506101408581015164ffffffffff81168483015250506101608581015164ffffffffff81168483015250506001600160a01b0384166101808301526001600160601b0383166101a08301526116d2565b8254815260018301546020820152600283015460408201526003830154606082015260048301546080820152600583015460a0820152600683015460c0820152600783015460e0820152600883015461010082015260098301546001600160a01b0381166101208301526101a082019064ffffffffff60a082901c81166101408501526150db6101608501828460c81c1664ffffffffff169052565b5050826101808301529392505050565b600082198211156150fe576150fe615402565b500190565b600064ffffffffff80831681851680830382111561512357615123615402565b01949350505050565b60006001600160601b0380831681851680830382111561512357615123615402565b60008261515d5761515d615418565b500490565b600064ffffffffff8084168061517a5761517a615418565b92169190910492915050565b600181815b808511156151c15781600019048211156151a7576151a7615402565b808516156151b457918102915b93841c939080029061518b565b509250929050565b60006118ca60ff8416836000826151e257506001610a00565b816151ef57506000610a00565b8160018114615205576002811461520f5761522b565b6001915050610a00565b60ff84111561522057615220615402565b50506001821b610a00565b5060208310610133831016604e8410600b841016171561524e575081810a610a00565b6152588383615186565b806000190482111561526c5761526c615402565b029392505050565b60008160040b8360040b647fffffffff6000821360008413838304851182821616156152a2576152a2615402565b647fffffffff1960008512828116878305871216156152c3576152c3615402565b600087129250858205871284841616156152df576152df615402565b858505871281841616156152f5576152f5615402565b5050509290910295945050505050565b600081600019048311821515161561531f5761531f615402565b500290565b60008282101561533657615336615402565b500390565b600064ffffffffff8381169083168181101561535957615359615402565b039392505050565b600060ff821660ff84168082101561537b5761537b615402565b90039392505050565b60005b8381101561539f578181015183820152602001615387565b83811115610c5f5750506000910152565b6000816153bf576153bf615402565b506000190190565b600181811c908216806153db57607f821691505b602082108114156153fc57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610faf57600080fd5b8015158114610faf57600080fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb25ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c27416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a82e22387fca439f316d78ca566f383218ab8ae1b3e830178c9c82cbd16749c055435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a2646970667358221220b9ebd85db62896abb9973c6233a37901307a79b9c92665e907ee2e2a4d3e5fdf64736f6c63430008060033",
|
|
1052
|
-
"deployedBytecode": "0x6080604052600436106102e45760003560e01c80636f0dbe6f11610190578063ca996de3116100dc578063e42569d911610095578063f33323a41161006f578063f33323a41461092c578063f48d63ad1461094c578063f67b2bad14610979578063fbb812791461099b57600080fd5b8063e42569d9146108d0578063e5a6b10f146108f7578063e61735c01461090c57600080fd5b8063ca996de314610824578063d44499a81461083a578063d547741f14610850578063dab5d88d14610870578063deaa59df14610890578063e101a345146108b057600080fd5b80639cbbcd9211610149578063a5f8b2d611610123578063a5f8b2d614610785578063a9a24f27146107ba578063b9ea870a146107ee578063bf8e934d1461080e57600080fd5b80639cbbcd921461073a5780639d90724d1461075a578063a217fddf1461077057600080fd5b80636f0dbe6f14610678578063775ead48146106985780637ed5acfa146106b85780638456cb59146106e55780638bac3a24146106fa57806391d148541461071a57600080fd5b806338d52e0f1161024f5780634f1ef2861161020857806353428253116101e257806353428253146106125780635b494dd5146106285780635c975abb1461064a5780635d505fe71461066257600080fd5b80634f1ef286146105cb578063521eb273146105de57806352d1902d146105fd57600080fd5b806338d52e0f146104dd5780633f4ba83a1461051057806341ea6a0f14610525578063468a8c9f1461053b5780634a47a3e0146105765780634d15eb031461059857600080fd5b806324ea54f4116102a157806324ea54f4146103f45780632c7a69fe146104165780632f2ff15d1461045d57806336568abe1461047d5780633659cfe61461049d578063377e1cc9146104bd57600080fd5b806301ffc9a7146102e957806306fdde031461031e578063089a850414610340578063204d79231461036257806322875d63146103a4578063248a9ca3146103c4575b600080fd5b3480156102f557600080fd5b50610309610304366004614b2f565b6109cf565b60405190151581526020015b60405180910390f35b34801561032a57600080fd5b50610333610a06565b6040516103159190614de6565b34801561034c57600080fd5b5061036061035b366004614acd565b610a99565b005b34801561036e57600080fd5b506103967f288a15c4a15d470e4cd9cad2f113b91206b520c26dbd3dd74627f0c057baa19c81565b604051908152602001610315565b3480156103b057600080fd5b506103606103bf366004614acd565b610c65565b3480156103d057600080fd5b506103966103df366004614acd565b600090815260c9602052604090206001015490565b34801561040057600080fd5b5061039660008051602061553b83398151915281565b34801561042257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610315565b34801561046957600080fd5b50610360610478366004614aff565b610e29565b34801561048957600080fd5b50610360610498366004614aff565b610e54565b3480156104a957600080fd5b506103606104b8366004614a2f565b610ed2565b3480156104c957600080fd5b506103606104d8366004614acd565b610fb2565b3480156104e957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610445565b34801561051c57600080fd5b5061036061116b565b34801561053157600080fd5b5061013454610396565b34801561054757600080fd5b5061012d546040805164ffffffffff83168152600160281b90920466ffffffffffffff16602083015201610315565b34801561058257600080fd5b5061039660008051602061551b83398151915281565b3480156105a457600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610445565b6103606105d9366004614a4c565b611281565b3480156105ea57600080fd5b50610136546001600160a01b0316610445565b34801561060957600080fd5b5061039661134e565b34801561061e57600080fd5b5061013054610396565b34801561063457600080fd5b506103966000805160206154d483398151915281565b34801561065657600080fd5b5060fb5460ff16610309565b34801561066e57600080fd5b5061013354610396565b34801561068457600080fd5b50610360610693366004614bce565b611401565b3480156106a457600080fd5b506103966106b3366004614c64565b61149d565b3480156106c457600080fd5b506106cf6201518081565b60405164ffffffffff9091168152602001610315565b3480156106f157600080fd5b506103606116da565b34801561070657600080fd5b50610396610715366004614cac565b6117e2565b34801561072657600080fd5b50610309610735366004614aff565b6118d1565b34801561074657600080fd5b50610360610755366004614acd565b6118fc565b34801561076657600080fd5b5061013254610396565b34801561077c57600080fd5b50610396600081565b34801561079157600080fd5b506107a56107a0366004614c64565b611999565b60408051928352602083019190915201610315565b3480156107c657600080fd5b506103967f0df0a8869cf58168a14cd7ac426ff1b8c6ff5d5c800c6f44803f3431dcb3bad181565b3480156107fa57600080fd5b50610360610809366004614acd565b611a53565b34801561081a57600080fd5b5061012f54610396565b34801561083057600080fd5b5061013554610396565b34801561084657600080fd5b5061013154610396565b34801561085c57600080fd5b5061036061086b366004614aff565b611c0e565b34801561087c57600080fd5b5061036061088b366004614acd565b611c34565b34801561089c57600080fd5b506103606108ab366004614a2f565b611dfb565b3480156108bc57600080fd5b506103606108cb366004614b91565b611e53565b3480156108dc57600080fd5b506108e5601e81565b60405160ff9091168152602001610315565b34801561090357600080fd5b50610445611ec3565b34801561091857600080fd5b50610360610927366004614acd565b611f5b565b34801561093857600080fd5b50610360610947366004614acd565b612120565b34801561095857600080fd5b5061096c610967366004614b76565b6124dc565b6040516103159190614d95565b34801561098557600080fd5b506103966000805160206154b483398151915281565b3480156109a757600080fd5b506103967fc6823861ee2bb2198ce6b1fd6faf4c8f44f745bc804aca4a762f67e0d507fd8a81565b60006001600160e01b03198216637965db0b60e01b1480610a0057506301ffc9a760e01b6001600160e01b03198316145b92915050565b606061012e8054610a16906153c7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a42906153c7565b8015610a8f5780601f10610a6457610100808354040283529160200191610a8f565b820191906000526020600020905b815481529060010190602001808311610a7257829003601f168201915b5050505050905090565b60008051602061551b8339815191526000805160206154d48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1057600080fd5b505afa158015610b24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b489190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b8152600401610b7793929190614dc7565b60006040518083038186803b158015610b8f57600080fd5b505afa158015610ba3573d6000803e3d6000fd5b505050506000610bc060008051602061551b83398151915261252d565b159050801580610be45750610be461013154856af8277896582678ac000000612640565b610c4d5760405162461bcd60e51b815260206004820152602f60248201527f547765616b2065786365656465643a20656e7375726f46656520747765616b7360448201526e206f6e6c7920757020746f2033302560881b60648201526084015b60405180910390fd5b610131849055610c5f600a85836126cb565b50505050565b60008051602061551b8339815191526000805160206154d48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015610cdc57600080fd5b505afa158015610cf0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d149190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b8152600401610d4393929190614dc7565b60006040518083038186803b158015610d5b57600080fd5b505afa158015610d6f573d6000803e3d6000fd5b505050506000610d8c60008051602061551b83398151915261252d565b159050801580610dad5750610dad6101335485670429d069189e000061272c565b610e175760405162461bcd60e51b815260206004820152603560248201527f547765616b2065786365656465643a206d6178536372506572506f6c69637920604482015274747765616b73206f6e6c7920757020746f2033302560581b6064820152608401610c44565b610133849055610c5f600b85836126cb565b600082815260c96020526040902060010154610e45813361279b565b610e4f83836127ff565b505050565b6001600160a01b0381163314610ec45760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610c44565b610ece8282612885565b5050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610f1b5760405162461bcd60e51b8152600401610c4490614e19565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f64600080516020615494833981519152546001600160a01b031690565b6001600160a01b031614610f8a5760405162461bcd60e51b8152600401610c4490614e65565b610f93816128ec565b60408051600080825260208201909252610faf918391906129f6565b50565b60fb5460ff1615610fd55760405162461bcd60e51b8152600401610c4490614eb1565b60008181526101376020526040812090610fed612b70565b600b83015490915060ff161580611008575081600a01548111155b61106a5760405162461bcd60e51b815260206004820152602d60248201527f436f6e646974696f6e206e6f74206d65742043757272656e745072696365203e60448201526c2074726967676572507269636560981b6064820152608401610c44565b600b82015460ff1680611081575081600a01548110155b6110e35760405162461bcd60e51b815260206004820152602d60248201527f436f6e646974696f6e206e6f74206d65742043757272656e745072696365203c60448201526c2074726967676572507269636560981b6064820152608401610c44565b6001820154604051639e556b2b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691639e556b2b9161113491869160040161503f565b600060405180830381600087803b15801561114e57600080fd5b505af1158015611162573d6000803e3d6000fd5b50505050505050565b60008051602061553b8339815191526000805160206154b48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b1580156111e257600080fd5b505afa1580156111f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121a9190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b815260040161124993929190614dc7565b60006040518083038186803b15801561126157600080fd5b505afa158015611275573d6000803e3d6000fd5b50505050610ece612e2f565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156112ca5760405162461bcd60e51b8152600401610c4490614e19565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611313600080516020615494833981519152546001600160a01b031690565b6001600160a01b0316146113395760405162461bcd60e51b8152600401610c4490614e65565b611342826128ec565b610ece828260016129f6565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113ee5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610c44565b5060008051602061549483398151915290565b600054610100900460ff1661141c5760005460ff1615611420565b303b155b61143c5760405162461bcd60e51b8152600401610c4490614edb565b600054610100900460ff1615801561145e576000805461ffff19166101011790555b61146d88888888888888612ec2565b61013980546001600160601b03191660011790558015611493576000805461ff00191690555b5050505050505050565b60008060006114ae87878787611999565b915091506000821161151b5760405162461bcd60e51b815260206004820152603060248201527f456974686572206475726174696f6e206f722070657263656e74616765206a7560448201526f1b5c081b9bdd081cdd5c1c1bdc9d195960821b6064820152608401610c44565b61013954600090611538906001600160601b03163060601b6150eb565b6000818152610137602052604090206101395491925090339061156d908990879087908b9086906001600160601b0316612f59565b80518355602081015160018085019190915560408201516002850155606082015160038501556080820151600485015560a0820151600585015560c0820151600685015560e082015160078501556101008201516008850155610120820151600985018054610140850151610160909501516001600160a01b039093166001600160c81b031990911617600160a01b64ffffffffff958616021764ffffffffff60c81b1916600160c81b949092169390930217909155610139805460009061163f9084906001600160601b031661512c565b82546101009290920a6001600160601b0381810219909316919092169190910217905550600a82018a9055600b8201805460ff19168a151590811790915560408051858152602081018d9052908101919091526001600160a01b038216907fac60a84d926e5f83b9718922af7ef1285ea8a8516516c4981ed3297d2e89ae0b9060600160405180910390a2509093505050505b949350505050565b60008051602061553b8339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b15801561174257600080fd5b505afa158015611756573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061177a9190614b59565b6040516312d9a6ad60e01b8152600481018390523360248201526001600160a01b0391909116906312d9a6ad9060440160006040518083038186803b1580156117c257600080fd5b505afa1580156117d6573d6000803e3d6000fd5b50505050610faf6133c4565b60008061181361180e6117ff6117f86101305490565b879061341c565b611808886134f3565b9061341c565b613571565b905060008161182f61182861180e61012f5490565b88906135f1565b6118399190615324565b9050600061187961180e6e0612d847b578e7643c28ac000000006118644264ffffffffff8a16615324565b610132545b6118739190615305565b906136a4565b9050600061188783836135f1565b905060006118ab61189b61180e6101315490565b6118a584886150eb565b906135f1565b9050816118b882876150eb565b6118c291906150eb565b955050505050505b9392505050565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461197e5760405162461bcd60e51b815260206004820152602160248201527f5468652063616c6c6572206d7573742062652074686520506f6c696379506f6f6044820152601b60fa1b6064820152608401610c44565b8061013560008282546119919190615324565b909155505050565b60008060006119a6612b70565b90508580156119b457508681115b806119c75750851580156119c757508681105b611a135760405162461bcd60e51b815260206004820152601e60248201527f507269636520616c726561647920617420747269676765722076616c756500006044820152606401610c44565b611a278188611a22428861533b565b6137aa565b915081611a3b576000809250925050611a4a565b611a468583866117e2565b9250505b94509492505050565b60008051602061551b8339815191526000805160206154d48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015611aca57600080fd5b505afa158015611ade573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b029190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b8152600401611b3193929190614dc7565b60006040518083038186803b158015611b4957600080fd5b505afa158015611b5d573d6000803e3d6000fd5b505050506000611b7a60008051602061551b83398151915261252d565b159050801580611b9e5750611b9e61013054856a52b7d2dcc80cd2e4000000612640565b611bfc5760405162461bcd60e51b815260206004820152602960248201527f547765616b2065786365656465643a206d6f6320747765616b73206f6e6c7920604482015268757020746f2031302560b81b6064820152608401610c44565b610130849055610c5f600885836126cb565b600082815260c96020526040902060010154611c2a813361279b565b610e4f8383612885565b60008051602061551b8339815191526000805160206154d48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015611cab57600080fd5b505afa158015611cbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce39190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b8152600401611d1293929190614dc7565b60006040518083038186803b158015611d2a57600080fd5b505afa158015611d3e573d6000803e3d6000fd5b505050506000611d5b60008051602061551b83398151915261252d565b159050801580611d7f5750611d7f61013254856af8277896582678ac000000612640565b611de95760405162461bcd60e51b815260206004820152603560248201527f547765616b2065786365656465643a20736372496e7465726573745261746520604482015274747765616b73206f6e6c7920757020746f2033302560581b6064820152608401610c44565b610132849055610c5f600985836126cb565b7f0df0a8869cf58168a14cd7ac426ff1b8c6ff5d5c800c6f44803f3431dcb3bad1611e26813361279b565b61013680546001600160a01b0319166001600160a01b038416908117909155610ece90600f9060006126cb565b7fc6823861ee2bb2198ce6b1fd6faf4c8f44f745bc804aca4a762f67e0d507fd8a611e7e813361279b565b60fb5460ff1615611ea15760405162461bcd60e51b8152600401610c4490614eb1565b600483810b900b600090815261013860205260409020610c5f9083601e614834565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e5a6b10f6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f1e57600080fd5b505afa158015611f32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f569190614b59565b905090565b60008051602061551b8339815191526000805160206154d48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015611fd257600080fd5b505afa158015611fe6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061200a9190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b815260040161203993929190614dc7565b60006040518083038186803b15801561205157600080fd5b505afa158015612065573d6000803e3d6000fd5b50505050600061208260008051602061551b83398151915261252d565b1590508015806120a657506120a661012f54856a52b7d2dcc80cd2e4000000612640565b61210e5760405162461bcd60e51b815260206004820152603360248201527f547765616b2065786365656465643a2073637250657263656e7461676520747760448201527265616b73206f6e6c7920757020746f2031302560681b6064820152608401610c44565b61012f849055610c5f600785836126cb565b6000805160206154b483398151915260008051602061551b8339815191526000805160206154d48339815191526121568361252d565b61224b577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b1580156121b357600080fd5b505afa1580156121c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121eb9190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b815260040161221a93929190614dc7565b60006040518083038186803b15801561223257600080fd5b505afa158015612246573d6000803e3d6000fd5b505050505b600061226460008051602061551b83398151915261252d565b15801561228557506122836000805160206154b483398151915261252d565b155b90508015806122a557506122a5610134548667016345785d8a000061272c565b6123085760405162461bcd60e51b815260206004820152602e60248201527f547765616b2065786365656465643a207363724c696d697420747765616b732060448201526d6f6e6c7920757020746f2031302560901b6064820152608401610c44565b610134548511158061232c575061232c6000805160206154b483398151915261252d565b806123d25750846123d067016345785d8a00007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b77ddfea6040518163ffffffff1660e01b815260040160206040518083038186803b15801561239857600080fd5b505afa1580156123ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a59190614ae6565b115b6124595760405162461bcd60e51b815260206004820152604c60248201527f547765616b2065786365656465643a20496e6372656173652c203e3d3130252060448201527f6f662074686520746f74616c206c69717569646974792c20726571756972657360648201526b204c4556454c315f524f4c4560a01b608482015260a401610c44565b610135548510156124c35760405162461bcd60e51b815260206004820152602e60248201527f43616e27742073657420534352206c657373207468616e2063757272656e742060448201526d29a1a91030b63637b1b0ba34b7b760911b6064820152608401610c44565b6101348590556124d5600c86836126cb565b5050505050565b6124e4614872565b600482810b900b600090815261013860205260409081902081516103c081019283905291601e9082845b81548152602001906001019080831161250e5750505050509050919050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b15801561258857600080fd5b505afa15801561259c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c09190614b59565b604051632474521560e21b8152600481018490523360248201526001600160a01b0391909116906391d148549060440160206040518083038186803b15801561260857600080fd5b505afa15801561261c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a009190614ab0565b600082841415612652575060016118ca565b8361266c5750676765c793fa10079d601b1b8110156118ca565b82612679575060006118ca565b828410156126ab5781676765c793fa10079d601b1b61269885876136a4565b6126a29190615324565b111590506118ca565b816126b684866136a4565b6126a290676765c793fa10079d601b1b615324565b6126d36139a5565b80156126e2576126e283613c73565b82601e8111156126f4576126f461542e565b6040518381527f7bc647fe5043209e2019aa3503b79c1b0dd83eb61c56013d373a7584ff6bfb139060200160405180910390a2505050565b60008284141561273e575060016118ca565b836127555750670de0b6b3a76400008110156118ca565b82612762575060006118ca565b8284101561277e5781670de0b6b3a76400006126988587613dd6565b816127898486613dd6565b6126a290670de0b6b3a7640000615324565b6127a582826118d1565b610ece576127bd816001600160a01b03166014613ec2565b6127c8836020613ec2565b6040516020016127d9929190614d20565b60408051601f198184030181529082905262461bcd60e51b8252610c4491600401614de6565b61280982826118d1565b610ece57600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff191660011790556128413390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61288f82826118d1565b15610ece57600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602061553b8339815191526000805160206154b48339815191527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b15801561296357600080fd5b505afa158015612977573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061299b9190614b59565b6001600160a01b031663c5b8f5cf8383336040518463ffffffff1660e01b81526004016129ca93929190614dc7565b60006040518083038186803b1580156129e257600080fd5b505afa158015611162573d6000803e3d6000fd5b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612a2957610e4f8361405e565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015612a6257600080fd5b505afa925050508015612a92575060408051601f3d908101601f19168201909252612a8f91810190614ae6565b60015b612af55760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610c44565b6000805160206154948339815191528114612b645760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610c44565b50610e4f8383836140fa565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b158015612bcc57600080fd5b505afa158015612be0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c049190614b59565b6001600160a01b031663d2f7265a6040518163ffffffff1660e01b815260040160206040518083038186803b158015612c3c57600080fd5b505afa158015612c50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c749190614b59565b6001600160a01b031663248391ff7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015612d1d57600080fd5b505afa158015612d31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d559190614ce1565b612d6090600a6151c9565b6040516001600160e01b031960e086901b1681526001600160a01b039384166004820152929091166024830152604482015260640160206040518083038186803b158015612dad57600080fd5b505afa158015612dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612de59190614ae6565b905080612e2a5760405162461bcd60e51b81526020600482015260136024820152725072696365206e6f7420617661696c61626c6560681b6044820152606401610c44565b919050565b60fb5460ff16612e785760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610c44565b60fb805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600054610100900460ff16612edd5760005460ff1615612ee1565b303b155b612efd5760405162461bcd60e51b8152600401610c4490614edb565b600054610100900460ff16158015612f1f576000805461ffff19166101011790555b612f2761411f565b612f2f614146565b612f3e888888888888886141c7565b8015611493576000805461ff00191690555050505050505050565b612f61614891565b60fb5460ff1615612f845760405162461bcd60e51b8152600401610c4490614eb1565b868610612fd35760405162461bcd60e51b815260206004820181905260248201527f5072656d69756d206d757374206265206c657373207468616e207061796f75746044820152606401610c44565b4264ffffffffff168464ffffffffff16116130305760405162461bcd60e51b815260206004820181905260248201527f45787069726174696f6e206d75737420626520696e20746865206675747572656044820152606401610c44565b6001600160a01b0383166130865760405162461bcd60e51b815260206004820152601e60248201527f437573746f6d65722063616e2774206265207a65726f206164647265737300006044820152606401610c44565b857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e5a6b10f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156130e057600080fd5b505afa1580156130f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131189190614b59565b604051636eb1769f60e11b81526001600160a01b0386811660048301527f000000000000000000000000000000000000000000000000000000000000000081166024830152919091169063dd62ed3e9060440160206040518083038186803b15801561318357600080fd5b505afa158015613197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131bb9190614ae6565b101561321f5760405162461bcd60e51b815260206004820152602d60248201527f596f75206d75737420616c6c6f7720454e5355524f20746f207472616e73666560448201526c7220746865207072656d69756d60981b6064820152608401610c44565b600061322e30888a898961429d565b9050610133548160600151111561329f5760405162461bcd60e51b815260206004820152602f60248201527f5269736b4d6f64756c653a20534352206973206d6f7265207468616e206d617860448201526e696d756d2070657220706f6c69637960881b6064820152608401610c44565b806060015161013560008282546132b691906150eb565b9091555050610134546101355411156133115760405162461bcd60e51b815260206004820152601e60248201527f5269736b4d6f64756c653a20534352206c696d697420657863656564656400006044820152606401610c44565b604051630cb8251d60e11b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906319704a3a9061336490859089908990600401614f74565b602060405180830381600087803b15801561337e57600080fd5b505af1158015613392573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133b69190614ae6565b825250979650505050505050565b60fb5460ff16156133e75760405162461bcd60e51b8152600401610c4490614eb1565b60fb805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612ea53390565b6000821580613429575081155b1561343657506000610a00565b8161344d6002676765c793fa10079d601b1b61514e565b61345990600019615324565b613463919061514e565b8311156134be5760405162461bcd60e51b8152602060048201526024808201527f7261794d756c3a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610c44565b676765c793fa10079d601b1b6134d560028261514e565b6134df8486615305565b6134e991906150eb565b6118ca919061514e565b600080613504633b9aca0084615305565b905082613515633b9aca008361514e565b14610a005760405162461bcd60e51b815260206004820152602660248201527f776164546f5261643a204d617468204d756c7469706c69636174696f6e204f766044820152656572666c6f7760d01b6064820152608401610c44565b6000806135836002633b9aca0061514e565b9050600061359184836150eb565b9050818110156135e35760405162461bcd60e51b815260206004820181905260248201527f726179546f5761643a204d617468204164646974696f6e204f766572666c6f776044820152606401610c44565b6116d2633b9aca008261514e565b60008215806135fe575081155b1561360b57506000610a00565b8161361f6002670de0b6b3a764000061514e565b61362b90600019615324565b613635919061514e565b8311156136905760405162461bcd60e51b8152602060048201526024808201527f7761644d756c3a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610c44565b670de0b6b3a76400006134d560028261514e565b6000816136f35760405162461bcd60e51b815260206004820152601860248201527f7261794469763a204469766973696f6e206279207a65726f00000000000000006044820152606401610c44565b600061370060028461514e565b9050676765c793fa10079d601b1b61371a82600019615324565b613724919061514e565b84111561377f5760405162461bcd60e51b8152602060048201526024808201527f7261794469763a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610c44565b8281613796676765c793fa10079d601b1b87615305565b6137a091906150eb565b6116d2919061514e565b60008061013860008587116137c1576000196137c4565b60015b610e106137d387610708615103565b6137dd9190615162565b6137e79190615274565b60040b60040b815260200190815260200160002090506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561385957600080fd5b505afa15801561386d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138919190614ce1565b61389c906012615361565b6138a790600a6151c9565b9050858711156138e7576138ce6138be8289615305565b6138c88389615305565b90613dd6565b6138e090670de0b6b3a7640000615324565b9150613914565b670de0b6b3a76400006139076138fd838a615305565b6138c8848a615305565b6139119190615324565b91505b60007f000000000000000000000000000000000000000000000000000000000000000061394260028261514e565b61394c90856150eb565b613956919061514e565b9050601e60ff82161061399057836139706001601e615361565b60ff16601e811061398357613983615444565b01549450505050506118ca565b838160ff16601e811061398357613983615444565b676765c793fa10079d601b1b61012f54111580156139c65750600061012f54115b613a205760405162461bcd60e51b815260206004820152602560248201527f56616c69646174696f6e3a2073637250657263656e74616765206d757374206260448201526465203c3d3160d81b6064820152608401610c44565b613a36676765c793fa10079d601b1b6002615305565b6101305411158015613a605750613a596002676765c793fa10079d601b1b61514e565b6101305410155b613aac5760405162461bcd60e51b815260206004820181905260248201527f56616c69646174696f6e3a206d6f63206d757374206265205b302e352c20325d6044820152606401610c44565b676765c793fa10079d601b1b610131541115613b155760405162461bcd60e51b815260206004820152602260248201527f56616c69646174696f6e3a20656e7375726f466565206d757374206265203c3d604482015261203160f01b6064820152608401610c44565b676765c793fa10079d601b1b610132541115613b8b5760405162461bcd60e51b815260206004820152602f60248201527f56616c69646174696f6e3a20736372496e74657265737452617465206d75737460448201526e206265203c3d20312028313030252960881b6064820152608401610c44565b61013554610134541015613c075760405162461bcd60e51b815260206004820152603760248201527f56616c69646174696f6e3a207363724c696d69742063616e2774206265206c6560448201527f7373207468616e2061637475616c20746f74616c5363720000000000000000006064820152608401610c44565b610136546001600160a01b0316613c715760405162461bcd60e51b815260206004820152602860248201527f56616c69646174696f6e3a2057616c6c65742063616e2774206265207a65726f604482015267206164647265737360c01b6064820152608401610c44565b565b6000600182601e811115613c8957613c8961542e565b613c939190615361565b61012d54600160ff929092169190911b91506201518090613cbb9064ffffffffff164261533b565b64ffffffffff161115613cf95761012d805466ffffffffffffff8316600160281b026001600160601b031990911664ffffffffff4216171790555050565b61012d54600160281b9004811666ffffffffffffff16613d585761012d805464ffffffffff421664ffffffffff1966ffffffffffffff808616600160281b808604929092161702166001600160601b0319909216919091171790555050565b60405162461bcd60e51b815260206004820152604760248201527f596f7520616c726561647920747765616b6564207468697320706172616d657460448201527f657220726563656e746c792e2057616974206265666f726520747765616b696e606482015266339030b3b0b4b760c91b608482015260a401610c44565b600081613e255760405162461bcd60e51b815260206004820152601860248201527f7761644469763a204469766973696f6e206279207a65726f00000000000000006044820152606401610c44565b6000613e3260028461514e565b9050670de0b6b3a7640000613e4982600019615324565b613e53919061514e565b841115613eae5760405162461bcd60e51b8152602060048201526024808201527f7761644469763a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610c44565b8281613796670de0b6b3a764000087615305565b60606000613ed1836002615305565b613edc9060026150eb565b67ffffffffffffffff811115613ef457613ef461545a565b6040519080825280601f01601f191660200182016040528015613f1e576020820181803683370190505b509050600360fc1b81600081518110613f3957613f39615444565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110613f6857613f68615444565b60200101906001600160f81b031916908160001a9053506000613f8c846002615305565b613f979060016150eb565b90505b600181111561400f576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110613fcb57613fcb615444565b1a60f81b828281518110613fe157613fe1615444565b60200101906001600160f81b031916908160001a90535060049490941c93614008816153b0565b9050613f9a565b5083156118ca5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610c44565b6001600160a01b0381163b6140cb5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610c44565b60008051602061549483398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6141038361465b565b6000825111806141105750805b15610e4f57610c5f838361469b565b600054610100900460ff16613c715760405162461bcd60e51b8152600401610c4490614f29565b600054610100900460ff166141615760005460ff1615614165565b303b155b6141815760405162461bcd60e51b8152600401610c4490614edb565b600054610100900460ff161580156141a3576000805461ffff19166101011790555b6141ab61411f565b6141b361478f565b8015610faf576000805461ff001916905550565b600054610100900460ff166141e25760005460ff16156141e6565b303b155b6142025760405162461bcd60e51b8152600401610c4490614edb565b600054610100900460ff16158015614224576000805461ffff19166101011790555b87516142389061012e9060208b0190614909565b5061012f879055676765c793fa10079d601b1b61013055610131869055610132859055610133849055610134839055600061013581905561013680546001600160a01b0319166001600160a01b03851617905561429590336147be565b612f3e6139a5565b6142a5614891565b838511156143005760405162461bcd60e51b815260206004820152602260248201527f5072656d69756d2063616e6e6f74206265206d6f7265207468616e207061796f6044820152611d5d60f21b6064820152608401610c44565b614308614891565b6001600160a01b038716610120820181905260408083018890526020808401889052608084018790528151635342825360e01b815291516143a89361180e936117ff939192635342825392600480840193919291829003018186803b15801561437057600080fd5b505afa158015614384573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f89190614ae6565b8160a00181815250508060a0015161443461442d896001600160a01b031663bf8e934d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156143f557600080fd5b505afa158015614409573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061180e9190614ae6565b87906135f1565b61443e9190615324565b606082018190526144855760405162461bcd60e51b81526020600482015260116024820152705343522063616e2774206265207a65726f60781b6044820152606401610c44565b64ffffffffff4281166101408301819052908416610160830181905261454b916145409161180e916e0612d847b578e7643c28ac00000000916144c8919061533b565b64ffffffffff168b6001600160a01b0316639d90724d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561450857600080fd5b505afa15801561451c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118699190614ae6565b6060830151906135f1565b816101000181815250506145a9614594886001600160a01b031663d44499a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156143f557600080fd5b8261010001518360a001516118a591906150eb565b60c0820181905261010082015160a083015188926145c6916150eb565b6145d091906150eb565b111561461e5760405162461bcd60e51b815260206004820152601960248201527f5072656d69756d206c657373207468616e206d696e696d756d000000000000006044820152606401610c44565b60c081015161010082015160a08301516146389089615324565b6146429190615324565b61464c9190615324565b60e08201529695505050505050565b6146648161405e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6147035760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610c44565b600080846001600160a01b03168460405161471e9190614d04565b600060405180830381855af49150503d8060008114614759576040519150601f19603f3d011682016040523d82523d6000602084013e61475e565b606091505b509150915061478682826040518060600160405280602781526020016154f4602791396147c8565b95945050505050565b600054610100900460ff166147b65760405162461bcd60e51b8152600401610c4490614f29565b613c71614801565b610ece82826127ff565b606083156147d75750816118ca565b8251156147e75782518084602001fd5b8160405162461bcd60e51b8152600401610c449190614de6565b600054610100900460ff166148285760405162461bcd60e51b8152600401610c4490614f29565b60fb805460ff19169055565b82601e8101928215614862579160200282015b82811115614862578235825591602001919060010190614847565b5061486e92915061497d565b5090565b604051806103c00160405280601e906020820280368337509192915050565b60405180610180016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600064ffffffffff168152602001600064ffffffffff1681525090565b828054614915906153c7565b90600052602060002090601f0160209004810192826149375760008555614862565b82601f1061495057805160ff1916838001178555614862565b82800160010185558215614862579182015b82811115614862578251825591602001919060010190614962565b5b8082111561486e576000815560010161497e565b600067ffffffffffffffff808411156149ad576149ad61545a565b604051601f8501601f19908116603f011681019082821181831017156149d5576149d561545a565b816040528093508581528686860111156149ee57600080fd5b858560208301376000602087830101525050509392505050565b8035600481900b8114612e2a57600080fd5b803564ffffffffff81168114612e2a57600080fd5b600060208284031215614a4157600080fd5b81356118ca81615470565b60008060408385031215614a5f57600080fd5b8235614a6a81615470565b9150602083013567ffffffffffffffff811115614a8657600080fd5b8301601f81018513614a9757600080fd5b614aa685823560208401614992565b9150509250929050565b600060208284031215614ac257600080fd5b81516118ca81615485565b600060208284031215614adf57600080fd5b5035919050565b600060208284031215614af857600080fd5b5051919050565b60008060408385031215614b1257600080fd5b823591506020830135614b2481615470565b809150509250929050565b600060208284031215614b4157600080fd5b81356001600160e01b0319811681146118ca57600080fd5b600060208284031215614b6b57600080fd5b81516118ca81615470565b600060208284031215614b8857600080fd5b6118ca82614a08565b6000806103e0808486031215614ba657600080fd5b614baf84614a08565b9250848185011115614bc057600080fd5b506020830190509250929050565b600080600080600080600060e0888a031215614be957600080fd5b873567ffffffffffffffff811115614c0057600080fd5b8801601f81018a13614c1157600080fd5b614c208a823560208401614992565b9750506020880135955060408801359450606088013593506080880135925060a0880135915060c0880135614c5481615470565b8091505092959891949750929550565b60008060008060808587031215614c7a57600080fd5b843593506020850135614c8c81615485565b925060408501359150614ca160608601614a1a565b905092959194509250565b600080600060608486031215614cc157600080fd5b8335925060208401359150614cd860408501614a1a565b90509250925092565b600060208284031215614cf357600080fd5b815160ff811681146118ca57600080fd5b60008251614d16818460208701615384565b9190910192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351614d58816017850160208801615384565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351614d89816028840160208801615384565b01602801949350505050565b6103c08101818360005b601e811015614dbe578151835260209283019290910190600101614d9f565b50505092915050565b92835260208301919091526001600160a01b0316604082015260600190565b6020815260008251806020840152614e05816040850160208701615384565b601f01601f19169190910160400192915050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006101c082019050845182526020850151602083015260408501516040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e083015261010080860151818401525061012080860151614fee828501826001600160a01b03169052565b50506101408581015164ffffffffff81168483015250506101608581015164ffffffffff81168483015250506001600160a01b0384166101808301526001600160601b0383166101a08301526116d2565b8254815260018301546020820152600283015460408201526003830154606082015260048301546080820152600583015460a0820152600683015460c0820152600783015460e0820152600883015461010082015260098301546001600160a01b0381166101208301526101a082019064ffffffffff60a082901c81166101408501526150db6101608501828460c81c1664ffffffffff169052565b5050826101808301529392505050565b600082198211156150fe576150fe615402565b500190565b600064ffffffffff80831681851680830382111561512357615123615402565b01949350505050565b60006001600160601b0380831681851680830382111561512357615123615402565b60008261515d5761515d615418565b500490565b600064ffffffffff8084168061517a5761517a615418565b92169190910492915050565b600181815b808511156151c15781600019048211156151a7576151a7615402565b808516156151b457918102915b93841c939080029061518b565b509250929050565b60006118ca60ff8416836000826151e257506001610a00565b816151ef57506000610a00565b8160018114615205576002811461520f5761522b565b6001915050610a00565b60ff84111561522057615220615402565b50506001821b610a00565b5060208310610133831016604e8410600b841016171561524e575081810a610a00565b6152588383615186565b806000190482111561526c5761526c615402565b029392505050565b60008160040b8360040b647fffffffff6000821360008413838304851182821616156152a2576152a2615402565b647fffffffff1960008512828116878305871216156152c3576152c3615402565b600087129250858205871284841616156152df576152df615402565b858505871281841616156152f5576152f5615402565b5050509290910295945050505050565b600081600019048311821515161561531f5761531f615402565b500290565b60008282101561533657615336615402565b500390565b600064ffffffffff8381169083168181101561535957615359615402565b039392505050565b600060ff821660ff84168082101561537b5761537b615402565b90039392505050565b60005b8381101561539f578181015183820152602001615387565b83811115610c5f5750506000910152565b6000816153bf576153bf615402565b506000190190565b600181811c908216806153db57607f821691505b602082108114156153fc57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610faf57600080fd5b8015158114610faf57600080fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb25ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c27416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a82e22387fca439f316d78ca566f383218ab8ae1b3e830178c9c82cbd16749c055435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a2646970667358221220b9ebd85db62896abb9973c6233a37901307a79b9c92665e907ee2e2a4d3e5fdf64736f6c63430008060033",
|
|
1053
|
-
"linkReferences": {},
|
|
1054
|
-
"deployedLinkReferences": {}
|
|
1055
|
-
}
|