@ensuro/core 1.2.7 → 2.0.0-beta10
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 +63 -27
- package/build/contracts/AccessManager.sol/AccessManager.json +559 -0
- package/build/contracts/ERC4626AssetManager.sol/ERC4626AssetManager.json +219 -0
- package/build/contracts/EToken.sol/EToken.json +217 -190
- package/build/contracts/LPManualWhitelist.sol/LPManualWhitelist.json +17 -4
- package/build/contracts/{extras/IPriceRiskModule.sol/IPriceRiskModule.json → LiquidityThresholdAssetManager.sol/LiquidityThresholdAssetManager.json} +81 -131
- package/build/contracts/Policy.sol/Policy.json +2 -2
- package/build/contracts/PolicyPool.sol/PolicyPool.json +425 -295
- package/build/contracts/PolicyPoolComponent.sol/PolicyPoolComponent.json +15 -2
- package/build/contracts/PremiumsAccount.sol/PremiumsAccount.json +868 -0
- package/build/contracts/{BaseAssetManager.sol/BaseAssetManager.json → Reserve.sol/Reserve.json} +37 -166
- package/build/contracts/RiskModule.sol/RiskModule.json +85 -312
- package/build/contracts/SignedQuoteRiskModule.sol/SignedQuoteRiskModule.json +960 -0
- package/build/contracts/{DataTypes.sol/DataTypes.json → TimeScaled.sol/TimeScaled.json} +4 -4
- package/build/contracts/TrustfulRiskModule.sol/TrustfulRiskModule.json +134 -336
- 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/contracts/{WadRayMath.sol → dependencies/WadRayMath.sol}/WadRayMath.json +3 -3
- package/build/{interfaces/IPolicyPoolConfig.sol/IPolicyPoolConfig.json → contracts/interfaces/IAccessManager.sol/IAccessManager.json} +79 -77
- package/build/contracts/interfaces/IAssetManager.sol/IAssetManager.json +109 -0
- package/build/{interfaces → contracts/interfaces}/IEToken.sol/IEToken.json +39 -91
- 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}/IPolicyPool.sol/IPolicyPool.json +137 -100
- package/build/{interfaces → contracts/interfaces}/IPolicyPoolComponent.sol/IPolicyPoolComponent.json +1 -1
- package/build/contracts/interfaces/IPremiumsAccount.sol/IPremiumsAccount.json +315 -0
- package/build/{interfaces → contracts/interfaces}/IRiskModule.sol/IRiskModule.json +58 -34
- package/build/contracts/mocks/FixedRateVault.sol/FixedRateVault.json +736 -0
- 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/PolicyHolderMock.sol/PolicyHolderMock.json +228 -0
- package/build/contracts/mocks/PolicyPoolComponentMock.sol/PolicyPoolComponentMock.json +35 -0
- package/build/contracts/mocks/PolicyPoolMock.sol/PolicyPoolMock.json +702 -0
- package/build/contracts/mocks/PolicyPoolMock.sol/PolicyPoolMockForward.json +92 -0
- package/build/contracts/mocks/RiskModuleMock.sol/RiskModuleMock.json +764 -0
- package/build/contracts/mocks/TestCurrency.sol/TestCurrency.json +343 -0
- package/build/contracts/mocks/TestNFT.sol/TestNFT.json +388 -0
- package/contracts/AccessManager.sol +103 -0
- package/contracts/ERC4626AssetManager.sol +52 -0
- package/contracts/EToken.sol +254 -299
- package/contracts/LPManualWhitelist.sol +4 -4
- package/contracts/LiquidityThresholdAssetManager.sol +160 -0
- package/contracts/Policy.sol +49 -45
- package/contracts/PolicyPool.sol +379 -514
- package/contracts/PolicyPoolComponent.sol +41 -41
- package/contracts/PremiumsAccount.sol +480 -0
- package/contracts/Reserve.sol +213 -0
- package/contracts/RiskModule.sol +233 -174
- package/contracts/SignedQuoteRiskModule.sol +241 -0
- package/contracts/TimeScaled.sol +138 -0
- package/contracts/TrustfulRiskModule.sol +85 -23
- package/contracts/dependencies/ERC1967Proxy.sol +19 -0
- package/contracts/dependencies/IERC20Metadata.sol +19 -0
- package/contracts/dependencies/WadRayMath.sol +126 -0
- package/contracts/interfaces/IAccessManager.sol +148 -0
- package/contracts/interfaces/IAssetManager.sol +84 -0
- package/contracts/interfaces/IEToken.sol +195 -0
- package/contracts/interfaces/ILPWhitelist.sol +40 -0
- package/{interfaces → contracts/interfaces}/IPolicyHolder.sol +0 -0
- package/contracts/interfaces/IPolicyPool.sol +145 -0
- package/{interfaces → contracts/interfaces}/IPolicyPoolComponent.sol +3 -0
- package/contracts/interfaces/IPremiumsAccount.sol +76 -0
- package/contracts/interfaces/IRiskModule.sol +123 -0
- package/contracts/mocks/FixedRateVault.sol +85 -0
- package/contracts/mocks/ForwardProxy.sol +66 -0
- package/contracts/mocks/IMintableERC20.sol +13 -0
- package/contracts/mocks/PolicyHolderMock.sol +89 -0
- package/contracts/mocks/PolicyPoolComponentMock.sol +17 -0
- package/contracts/mocks/PolicyPoolMock.sol +148 -0
- package/contracts/mocks/RiskModuleMock.sol +75 -0
- package/contracts/mocks/TestCurrency.sol +35 -0
- package/contracts/mocks/TestNFT.sol +23 -0
- package/js/test-utils.js +356 -0
- package/package.json +2 -2
- package/build/contracts/AaveAssetManager.sol/AaveAssetManager.json +0 -742
- package/build/contracts/Exchange.sol/Exchange.json +0 -591
- package/build/contracts/FlightDelayRiskModule.sol/FlightDelayRiskModule.json +0 -1112
- package/build/contracts/PolicyNFT.sol/PolicyNFT.json +0 -570
- package/build/contracts/PolicyPoolConfig.sol/PolicyPoolConfig.json +0 -686
- package/build/contracts/dependencies/ChainlinkClientUpgradeable.sol/ChainlinkClientUpgradeable.json +0 -50
- package/build/contracts/extras/PriceRiskModule.sol/PriceRiskModule.json +0 -1055
- package/build/contracts/upgraded/IPolicyNFTv1.sol/IPolicyNFTv1.json +0 -322
- package/build/contracts/upgraded/PolicyNFTv1.sol/PolicyNFTv1.json +0 -571
- package/build/contracts/upgraded/PolicyNFTv1.sol/PolicyNFTv1_Upgrade.json +0 -602
- package/build/interfaces/IAssetManager.sol/IAssetManager.json +0 -31
- package/build/interfaces/IExchange.sol/IPriceOracle.json +0 -30
- package/build/interfaces/IPolicyNFT.sol/IPolicyNFT.json +0 -321
- 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/FlightDelayRiskModule.sol +0 -208
- package/contracts/PolicyNFT.sol +0 -96
- package/contracts/PolicyPoolConfig.sol +0 -247
- package/contracts/WadRayMath.sol +0 -135
- package/contracts/dependencies/ChainlinkClientUpgradeable.sol +0 -371
- package/contracts/extras/IPriceRiskModule.sol +0 -41
- package/contracts/extras/PriceRiskModule.sol +0 -243
- package/contracts/upgraded/IPolicyNFTv1.sol +0 -15
- package/contracts/upgraded/PolicyNFTv1.sol +0 -126
- 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/ILPWhitelist.sol +0 -23
- package/interfaces/IPolicyNFT.sol +0 -15
- package/interfaces/IPolicyPool.sol +0 -44
- package/interfaces/IPolicyPoolConfig.sol +0 -87
- package/interfaces/IRiskModule.sol +0 -29
|
@@ -6,13 +6,8 @@
|
|
|
6
6
|
{
|
|
7
7
|
"inputs": [
|
|
8
8
|
{
|
|
9
|
-
"internalType": "contract
|
|
10
|
-
"name": "
|
|
11
|
-
"type": "address"
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"internalType": "contract IPolicyNFT",
|
|
15
|
-
"name": "policyNFT_",
|
|
9
|
+
"internalType": "contract IAccessManager",
|
|
10
|
+
"name": "access_",
|
|
16
11
|
"type": "address"
|
|
17
12
|
},
|
|
18
13
|
{
|
|
@@ -43,6 +38,56 @@
|
|
|
43
38
|
"name": "AdminChanged",
|
|
44
39
|
"type": "event"
|
|
45
40
|
},
|
|
41
|
+
{
|
|
42
|
+
"anonymous": false,
|
|
43
|
+
"inputs": [
|
|
44
|
+
{
|
|
45
|
+
"indexed": true,
|
|
46
|
+
"internalType": "address",
|
|
47
|
+
"name": "owner",
|
|
48
|
+
"type": "address"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"indexed": true,
|
|
52
|
+
"internalType": "address",
|
|
53
|
+
"name": "approved",
|
|
54
|
+
"type": "address"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"indexed": true,
|
|
58
|
+
"internalType": "uint256",
|
|
59
|
+
"name": "tokenId",
|
|
60
|
+
"type": "uint256"
|
|
61
|
+
}
|
|
62
|
+
],
|
|
63
|
+
"name": "Approval",
|
|
64
|
+
"type": "event"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"anonymous": false,
|
|
68
|
+
"inputs": [
|
|
69
|
+
{
|
|
70
|
+
"indexed": true,
|
|
71
|
+
"internalType": "address",
|
|
72
|
+
"name": "owner",
|
|
73
|
+
"type": "address"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"indexed": true,
|
|
77
|
+
"internalType": "address",
|
|
78
|
+
"name": "operator",
|
|
79
|
+
"type": "address"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"indexed": false,
|
|
83
|
+
"internalType": "bool",
|
|
84
|
+
"name": "approved",
|
|
85
|
+
"type": "bool"
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
"name": "ApprovalForAll",
|
|
89
|
+
"type": "event"
|
|
90
|
+
},
|
|
46
91
|
{
|
|
47
92
|
"anonymous": false,
|
|
48
93
|
"inputs": [
|
|
@@ -61,18 +106,56 @@
|
|
|
61
106
|
"inputs": [
|
|
62
107
|
{
|
|
63
108
|
"indexed": true,
|
|
64
|
-
"internalType": "
|
|
65
|
-
"name": "
|
|
109
|
+
"internalType": "enum IAccessManager.GovernanceActions",
|
|
110
|
+
"name": "action",
|
|
111
|
+
"type": "uint8"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"indexed": false,
|
|
115
|
+
"internalType": "address",
|
|
116
|
+
"name": "value",
|
|
117
|
+
"type": "address"
|
|
118
|
+
}
|
|
119
|
+
],
|
|
120
|
+
"name": "ComponentChanged",
|
|
121
|
+
"type": "event"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"anonymous": false,
|
|
125
|
+
"inputs": [
|
|
126
|
+
{
|
|
127
|
+
"indexed": true,
|
|
128
|
+
"internalType": "contract IPolicyPoolComponent",
|
|
129
|
+
"name": "component",
|
|
66
130
|
"type": "address"
|
|
67
131
|
},
|
|
68
132
|
{
|
|
69
133
|
"indexed": false,
|
|
70
|
-
"internalType": "enum
|
|
134
|
+
"internalType": "enum PolicyPool.ComponentKind",
|
|
135
|
+
"name": "kind",
|
|
136
|
+
"type": "uint8"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"indexed": false,
|
|
140
|
+
"internalType": "enum PolicyPool.ComponentStatus",
|
|
71
141
|
"name": "newStatus",
|
|
72
142
|
"type": "uint8"
|
|
73
143
|
}
|
|
74
144
|
],
|
|
75
|
-
"name": "
|
|
145
|
+
"name": "ComponentStatusChanged",
|
|
146
|
+
"type": "event"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"anonymous": false,
|
|
150
|
+
"inputs": [
|
|
151
|
+
{
|
|
152
|
+
"indexed": false,
|
|
153
|
+
"internalType": "uint8",
|
|
154
|
+
"name": "version",
|
|
155
|
+
"type": "uint8"
|
|
156
|
+
}
|
|
157
|
+
],
|
|
158
|
+
"name": "Initialized",
|
|
76
159
|
"type": "event"
|
|
77
160
|
},
|
|
78
161
|
{
|
|
@@ -103,7 +186,12 @@
|
|
|
103
186
|
},
|
|
104
187
|
{
|
|
105
188
|
"internalType": "uint256",
|
|
106
|
-
"name": "
|
|
189
|
+
"name": "jrScr",
|
|
190
|
+
"type": "uint256"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"internalType": "uint256",
|
|
194
|
+
"name": "srScr",
|
|
107
195
|
"type": "uint256"
|
|
108
196
|
},
|
|
109
197
|
{
|
|
@@ -118,17 +206,22 @@
|
|
|
118
206
|
},
|
|
119
207
|
{
|
|
120
208
|
"internalType": "uint256",
|
|
121
|
-
"name": "
|
|
209
|
+
"name": "ensuroCommission",
|
|
210
|
+
"type": "uint256"
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"internalType": "uint256",
|
|
214
|
+
"name": "partnerCommission",
|
|
122
215
|
"type": "uint256"
|
|
123
216
|
},
|
|
124
217
|
{
|
|
125
218
|
"internalType": "uint256",
|
|
126
|
-
"name": "
|
|
219
|
+
"name": "jrCoc",
|
|
127
220
|
"type": "uint256"
|
|
128
221
|
},
|
|
129
222
|
{
|
|
130
223
|
"internalType": "uint256",
|
|
131
|
-
"name": "
|
|
224
|
+
"name": "srCoc",
|
|
132
225
|
"type": "uint256"
|
|
133
226
|
},
|
|
134
227
|
{
|
|
@@ -183,9 +276,15 @@
|
|
|
183
276
|
"internalType": "uint256",
|
|
184
277
|
"name": "policyId",
|
|
185
278
|
"type": "uint256"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"indexed": false,
|
|
282
|
+
"internalType": "uint256",
|
|
283
|
+
"name": "payout",
|
|
284
|
+
"type": "uint256"
|
|
186
285
|
}
|
|
187
286
|
],
|
|
188
|
-
"name": "
|
|
287
|
+
"name": "PolicyResolved",
|
|
189
288
|
"type": "event"
|
|
190
289
|
},
|
|
191
290
|
{
|
|
@@ -193,24 +292,24 @@
|
|
|
193
292
|
"inputs": [
|
|
194
293
|
{
|
|
195
294
|
"indexed": true,
|
|
196
|
-
"internalType": "
|
|
197
|
-
"name": "
|
|
295
|
+
"internalType": "address",
|
|
296
|
+
"name": "from",
|
|
198
297
|
"type": "address"
|
|
199
298
|
},
|
|
200
299
|
{
|
|
201
300
|
"indexed": true,
|
|
202
|
-
"internalType": "
|
|
203
|
-
"name": "
|
|
204
|
-
"type": "
|
|
301
|
+
"internalType": "address",
|
|
302
|
+
"name": "to",
|
|
303
|
+
"type": "address"
|
|
205
304
|
},
|
|
206
305
|
{
|
|
207
|
-
"indexed":
|
|
306
|
+
"indexed": true,
|
|
208
307
|
"internalType": "uint256",
|
|
209
|
-
"name": "
|
|
308
|
+
"name": "tokenId",
|
|
210
309
|
"type": "uint256"
|
|
211
310
|
}
|
|
212
311
|
],
|
|
213
|
-
"name": "
|
|
312
|
+
"name": "Transfer",
|
|
214
313
|
"type": "event"
|
|
215
314
|
},
|
|
216
315
|
{
|
|
@@ -239,25 +338,6 @@
|
|
|
239
338
|
"name": "Upgraded",
|
|
240
339
|
"type": "event"
|
|
241
340
|
},
|
|
242
|
-
{
|
|
243
|
-
"anonymous": false,
|
|
244
|
-
"inputs": [
|
|
245
|
-
{
|
|
246
|
-
"indexed": false,
|
|
247
|
-
"internalType": "bool",
|
|
248
|
-
"name": "moneyIn",
|
|
249
|
-
"type": "bool"
|
|
250
|
-
},
|
|
251
|
-
{
|
|
252
|
-
"indexed": false,
|
|
253
|
-
"internalType": "uint256",
|
|
254
|
-
"name": "value",
|
|
255
|
-
"type": "uint256"
|
|
256
|
-
}
|
|
257
|
-
],
|
|
258
|
-
"name": "WonPremiumsInOut",
|
|
259
|
-
"type": "event"
|
|
260
|
-
},
|
|
261
341
|
{
|
|
262
342
|
"inputs": [],
|
|
263
343
|
"name": "GUARDIAN_ROLE",
|
|
@@ -312,51 +392,12 @@
|
|
|
312
392
|
},
|
|
313
393
|
{
|
|
314
394
|
"inputs": [],
|
|
315
|
-
"name": "
|
|
316
|
-
"outputs": [
|
|
317
|
-
{
|
|
318
|
-
"internalType": "uint256",
|
|
319
|
-
"name": "",
|
|
320
|
-
"type": "uint256"
|
|
321
|
-
}
|
|
322
|
-
],
|
|
323
|
-
"stateMutability": "view",
|
|
324
|
-
"type": "function"
|
|
325
|
-
},
|
|
326
|
-
{
|
|
327
|
-
"inputs": [],
|
|
328
|
-
"name": "NEGLIGIBLE_AMOUNT",
|
|
329
|
-
"outputs": [
|
|
330
|
-
{
|
|
331
|
-
"internalType": "uint256",
|
|
332
|
-
"name": "",
|
|
333
|
-
"type": "uint256"
|
|
334
|
-
}
|
|
335
|
-
],
|
|
336
|
-
"stateMutability": "view",
|
|
337
|
-
"type": "function"
|
|
338
|
-
},
|
|
339
|
-
{
|
|
340
|
-
"inputs": [],
|
|
341
|
-
"name": "WITHDRAW_WON_PREMIUMS_ROLE",
|
|
342
|
-
"outputs": [
|
|
343
|
-
{
|
|
344
|
-
"internalType": "bytes32",
|
|
345
|
-
"name": "",
|
|
346
|
-
"type": "bytes32"
|
|
347
|
-
}
|
|
348
|
-
],
|
|
349
|
-
"stateMutability": "view",
|
|
350
|
-
"type": "function"
|
|
351
|
-
},
|
|
352
|
-
{
|
|
353
|
-
"inputs": [],
|
|
354
|
-
"name": "activePurePremiums",
|
|
395
|
+
"name": "access",
|
|
355
396
|
"outputs": [
|
|
356
397
|
{
|
|
357
|
-
"internalType": "
|
|
398
|
+
"internalType": "contract IAccessManager",
|
|
358
399
|
"name": "",
|
|
359
|
-
"type": "
|
|
400
|
+
"type": "address"
|
|
360
401
|
}
|
|
361
402
|
],
|
|
362
403
|
"stateMutability": "view",
|
|
@@ -365,12 +406,17 @@
|
|
|
365
406
|
{
|
|
366
407
|
"inputs": [
|
|
367
408
|
{
|
|
368
|
-
"internalType": "contract
|
|
369
|
-
"name": "
|
|
409
|
+
"internalType": "contract IPolicyPoolComponent",
|
|
410
|
+
"name": "component",
|
|
370
411
|
"type": "address"
|
|
412
|
+
},
|
|
413
|
+
{
|
|
414
|
+
"internalType": "enum PolicyPool.ComponentKind",
|
|
415
|
+
"name": "kind",
|
|
416
|
+
"type": "uint8"
|
|
371
417
|
}
|
|
372
418
|
],
|
|
373
|
-
"name": "
|
|
419
|
+
"name": "addComponent",
|
|
374
420
|
"outputs": [],
|
|
375
421
|
"stateMutability": "nonpayable",
|
|
376
422
|
"type": "function"
|
|
@@ -378,24 +424,30 @@
|
|
|
378
424
|
{
|
|
379
425
|
"inputs": [
|
|
380
426
|
{
|
|
381
|
-
"internalType": "
|
|
382
|
-
"name": "
|
|
383
|
-
"type": "
|
|
427
|
+
"internalType": "address",
|
|
428
|
+
"name": "to",
|
|
429
|
+
"type": "address"
|
|
384
430
|
},
|
|
385
431
|
{
|
|
386
|
-
"internalType": "
|
|
387
|
-
"name": "
|
|
388
|
-
"type": "
|
|
432
|
+
"internalType": "uint256",
|
|
433
|
+
"name": "tokenId",
|
|
434
|
+
"type": "uint256"
|
|
389
435
|
}
|
|
390
436
|
],
|
|
391
|
-
"name": "
|
|
437
|
+
"name": "approve",
|
|
392
438
|
"outputs": [],
|
|
393
439
|
"stateMutability": "nonpayable",
|
|
394
440
|
"type": "function"
|
|
395
441
|
},
|
|
396
442
|
{
|
|
397
|
-
"inputs": [
|
|
398
|
-
|
|
443
|
+
"inputs": [
|
|
444
|
+
{
|
|
445
|
+
"internalType": "address",
|
|
446
|
+
"name": "owner",
|
|
447
|
+
"type": "address"
|
|
448
|
+
}
|
|
449
|
+
],
|
|
450
|
+
"name": "balanceOf",
|
|
399
451
|
"outputs": [
|
|
400
452
|
{
|
|
401
453
|
"internalType": "uint256",
|
|
@@ -409,34 +461,21 @@
|
|
|
409
461
|
{
|
|
410
462
|
"inputs": [
|
|
411
463
|
{
|
|
412
|
-
"internalType": "contract
|
|
413
|
-
"name": "
|
|
464
|
+
"internalType": "contract IPolicyPoolComponent",
|
|
465
|
+
"name": "component",
|
|
414
466
|
"type": "address"
|
|
415
467
|
},
|
|
416
468
|
{
|
|
417
|
-
"internalType": "enum
|
|
469
|
+
"internalType": "enum PolicyPool.ComponentStatus",
|
|
418
470
|
"name": "newStatus",
|
|
419
471
|
"type": "uint8"
|
|
420
472
|
}
|
|
421
473
|
],
|
|
422
|
-
"name": "
|
|
474
|
+
"name": "changeComponentStatus",
|
|
423
475
|
"outputs": [],
|
|
424
476
|
"stateMutability": "nonpayable",
|
|
425
477
|
"type": "function"
|
|
426
478
|
},
|
|
427
|
-
{
|
|
428
|
-
"inputs": [],
|
|
429
|
-
"name": "config",
|
|
430
|
-
"outputs": [
|
|
431
|
-
{
|
|
432
|
-
"internalType": "contract IPolicyPoolConfig",
|
|
433
|
-
"name": "",
|
|
434
|
-
"type": "address"
|
|
435
|
-
}
|
|
436
|
-
],
|
|
437
|
-
"stateMutability": "view",
|
|
438
|
-
"type": "function"
|
|
439
|
-
},
|
|
440
479
|
{
|
|
441
480
|
"inputs": [],
|
|
442
481
|
"name": "currency",
|
|
@@ -489,7 +528,12 @@
|
|
|
489
528
|
},
|
|
490
529
|
{
|
|
491
530
|
"internalType": "uint256",
|
|
492
|
-
"name": "
|
|
531
|
+
"name": "jrScr",
|
|
532
|
+
"type": "uint256"
|
|
533
|
+
},
|
|
534
|
+
{
|
|
535
|
+
"internalType": "uint256",
|
|
536
|
+
"name": "srScr",
|
|
493
537
|
"type": "uint256"
|
|
494
538
|
},
|
|
495
539
|
{
|
|
@@ -504,17 +548,22 @@
|
|
|
504
548
|
},
|
|
505
549
|
{
|
|
506
550
|
"internalType": "uint256",
|
|
507
|
-
"name": "
|
|
551
|
+
"name": "ensuroCommission",
|
|
552
|
+
"type": "uint256"
|
|
553
|
+
},
|
|
554
|
+
{
|
|
555
|
+
"internalType": "uint256",
|
|
556
|
+
"name": "partnerCommission",
|
|
508
557
|
"type": "uint256"
|
|
509
558
|
},
|
|
510
559
|
{
|
|
511
560
|
"internalType": "uint256",
|
|
512
|
-
"name": "
|
|
561
|
+
"name": "jrCoc",
|
|
513
562
|
"type": "uint256"
|
|
514
563
|
},
|
|
515
564
|
{
|
|
516
565
|
"internalType": "uint256",
|
|
517
|
-
"name": "
|
|
566
|
+
"name": "srCoc",
|
|
518
567
|
"type": "uint256"
|
|
519
568
|
},
|
|
520
569
|
{
|
|
@@ -547,14 +596,14 @@
|
|
|
547
596
|
"inputs": [
|
|
548
597
|
{
|
|
549
598
|
"internalType": "uint256",
|
|
550
|
-
"name": "
|
|
599
|
+
"name": "tokenId",
|
|
551
600
|
"type": "uint256"
|
|
552
601
|
}
|
|
553
602
|
],
|
|
554
|
-
"name": "
|
|
603
|
+
"name": "getApproved",
|
|
555
604
|
"outputs": [
|
|
556
605
|
{
|
|
557
|
-
"internalType": "
|
|
606
|
+
"internalType": "address",
|
|
558
607
|
"name": "",
|
|
559
608
|
"type": "address"
|
|
560
609
|
}
|
|
@@ -562,31 +611,18 @@
|
|
|
562
611
|
"stateMutability": "view",
|
|
563
612
|
"type": "function"
|
|
564
613
|
},
|
|
565
|
-
{
|
|
566
|
-
"inputs": [],
|
|
567
|
-
"name": "getETokenCount",
|
|
568
|
-
"outputs": [
|
|
569
|
-
{
|
|
570
|
-
"internalType": "uint256",
|
|
571
|
-
"name": "",
|
|
572
|
-
"type": "uint256"
|
|
573
|
-
}
|
|
574
|
-
],
|
|
575
|
-
"stateMutability": "view",
|
|
576
|
-
"type": "function"
|
|
577
|
-
},
|
|
578
614
|
{
|
|
579
615
|
"inputs": [
|
|
580
616
|
{
|
|
581
|
-
"internalType": "contract
|
|
582
|
-
"name": "
|
|
617
|
+
"internalType": "contract IPolicyPoolComponent",
|
|
618
|
+
"name": "component",
|
|
583
619
|
"type": "address"
|
|
584
620
|
}
|
|
585
621
|
],
|
|
586
|
-
"name": "
|
|
622
|
+
"name": "getComponentStatus",
|
|
587
623
|
"outputs": [
|
|
588
624
|
{
|
|
589
|
-
"internalType": "enum
|
|
625
|
+
"internalType": "enum PolicyPool.ComponentStatus",
|
|
590
626
|
"name": "",
|
|
591
627
|
"type": "uint8"
|
|
592
628
|
}
|
|
@@ -595,16 +631,26 @@
|
|
|
595
631
|
"type": "function"
|
|
596
632
|
},
|
|
597
633
|
{
|
|
598
|
-
"inputs": [
|
|
599
|
-
"name": "getInvestable",
|
|
600
|
-
"outputs": [
|
|
634
|
+
"inputs": [
|
|
601
635
|
{
|
|
602
|
-
"internalType": "
|
|
603
|
-
"name": "",
|
|
604
|
-
"type": "
|
|
636
|
+
"internalType": "string",
|
|
637
|
+
"name": "name_",
|
|
638
|
+
"type": "string"
|
|
639
|
+
},
|
|
640
|
+
{
|
|
641
|
+
"internalType": "string",
|
|
642
|
+
"name": "symbol_",
|
|
643
|
+
"type": "string"
|
|
644
|
+
},
|
|
645
|
+
{
|
|
646
|
+
"internalType": "address",
|
|
647
|
+
"name": "treasury_",
|
|
648
|
+
"type": "address"
|
|
605
649
|
}
|
|
606
650
|
],
|
|
607
|
-
"
|
|
651
|
+
"name": "initialize",
|
|
652
|
+
"outputs": [],
|
|
653
|
+
"stateMutability": "nonpayable",
|
|
608
654
|
"type": "function"
|
|
609
655
|
},
|
|
610
656
|
{
|
|
@@ -613,19 +659,14 @@
|
|
|
613
659
|
"internalType": "uint256",
|
|
614
660
|
"name": "policyId",
|
|
615
661
|
"type": "uint256"
|
|
616
|
-
},
|
|
617
|
-
{
|
|
618
|
-
"internalType": "contract IEToken",
|
|
619
|
-
"name": "etoken",
|
|
620
|
-
"type": "address"
|
|
621
662
|
}
|
|
622
663
|
],
|
|
623
|
-
"name": "
|
|
664
|
+
"name": "isActive",
|
|
624
665
|
"outputs": [
|
|
625
666
|
{
|
|
626
|
-
"internalType": "
|
|
667
|
+
"internalType": "bool",
|
|
627
668
|
"name": "",
|
|
628
|
-
"type": "
|
|
669
|
+
"type": "bool"
|
|
629
670
|
}
|
|
630
671
|
],
|
|
631
672
|
"stateMutability": "view",
|
|
@@ -634,58 +675,40 @@
|
|
|
634
675
|
{
|
|
635
676
|
"inputs": [
|
|
636
677
|
{
|
|
637
|
-
"internalType": "
|
|
638
|
-
"name": "
|
|
639
|
-
"type": "
|
|
678
|
+
"internalType": "address",
|
|
679
|
+
"name": "owner",
|
|
680
|
+
"type": "address"
|
|
640
681
|
},
|
|
641
682
|
{
|
|
642
|
-
"internalType": "
|
|
643
|
-
"name": "
|
|
644
|
-
"type": "
|
|
683
|
+
"internalType": "address",
|
|
684
|
+
"name": "operator",
|
|
685
|
+
"type": "address"
|
|
645
686
|
}
|
|
646
687
|
],
|
|
647
|
-
"name": "
|
|
688
|
+
"name": "isApprovedForAll",
|
|
648
689
|
"outputs": [
|
|
649
690
|
{
|
|
650
|
-
"internalType": "
|
|
691
|
+
"internalType": "bool",
|
|
651
692
|
"name": "",
|
|
652
|
-
"type": "
|
|
653
|
-
},
|
|
654
|
-
{
|
|
655
|
-
"internalType": "uint256",
|
|
656
|
-
"name": "",
|
|
657
|
-
"type": "uint256"
|
|
693
|
+
"type": "bool"
|
|
658
694
|
}
|
|
659
695
|
],
|
|
660
696
|
"stateMutability": "view",
|
|
661
697
|
"type": "function"
|
|
662
698
|
},
|
|
663
699
|
{
|
|
664
|
-
"inputs": [
|
|
665
|
-
|
|
666
|
-
"internalType": "uint256",
|
|
667
|
-
"name": "policyId",
|
|
668
|
-
"type": "uint256"
|
|
669
|
-
}
|
|
670
|
-
],
|
|
671
|
-
"name": "getPolicyFundCount",
|
|
700
|
+
"inputs": [],
|
|
701
|
+
"name": "name",
|
|
672
702
|
"outputs": [
|
|
673
703
|
{
|
|
674
|
-
"internalType": "
|
|
704
|
+
"internalType": "string",
|
|
675
705
|
"name": "",
|
|
676
|
-
"type": "
|
|
706
|
+
"type": "string"
|
|
677
707
|
}
|
|
678
708
|
],
|
|
679
709
|
"stateMutability": "view",
|
|
680
710
|
"type": "function"
|
|
681
711
|
},
|
|
682
|
-
{
|
|
683
|
-
"inputs": [],
|
|
684
|
-
"name": "initialize",
|
|
685
|
-
"outputs": [],
|
|
686
|
-
"stateMutability": "nonpayable",
|
|
687
|
-
"type": "function"
|
|
688
|
-
},
|
|
689
712
|
{
|
|
690
713
|
"inputs": [
|
|
691
714
|
{
|
|
@@ -707,7 +730,12 @@
|
|
|
707
730
|
},
|
|
708
731
|
{
|
|
709
732
|
"internalType": "uint256",
|
|
710
|
-
"name": "
|
|
733
|
+
"name": "jrScr",
|
|
734
|
+
"type": "uint256"
|
|
735
|
+
},
|
|
736
|
+
{
|
|
737
|
+
"internalType": "uint256",
|
|
738
|
+
"name": "srScr",
|
|
711
739
|
"type": "uint256"
|
|
712
740
|
},
|
|
713
741
|
{
|
|
@@ -722,17 +750,22 @@
|
|
|
722
750
|
},
|
|
723
751
|
{
|
|
724
752
|
"internalType": "uint256",
|
|
725
|
-
"name": "
|
|
753
|
+
"name": "ensuroCommission",
|
|
726
754
|
"type": "uint256"
|
|
727
755
|
},
|
|
728
756
|
{
|
|
729
757
|
"internalType": "uint256",
|
|
730
|
-
"name": "
|
|
758
|
+
"name": "partnerCommission",
|
|
731
759
|
"type": "uint256"
|
|
732
760
|
},
|
|
733
761
|
{
|
|
734
762
|
"internalType": "uint256",
|
|
735
|
-
"name": "
|
|
763
|
+
"name": "jrCoc",
|
|
764
|
+
"type": "uint256"
|
|
765
|
+
},
|
|
766
|
+
{
|
|
767
|
+
"internalType": "uint256",
|
|
768
|
+
"name": "srCoc",
|
|
736
769
|
"type": "uint256"
|
|
737
770
|
},
|
|
738
771
|
{
|
|
@@ -757,7 +790,12 @@
|
|
|
757
790
|
},
|
|
758
791
|
{
|
|
759
792
|
"internalType": "address",
|
|
760
|
-
"name": "
|
|
793
|
+
"name": "payer",
|
|
794
|
+
"type": "address"
|
|
795
|
+
},
|
|
796
|
+
{
|
|
797
|
+
"internalType": "address",
|
|
798
|
+
"name": "policyHolder",
|
|
761
799
|
"type": "address"
|
|
762
800
|
},
|
|
763
801
|
{
|
|
@@ -778,28 +816,14 @@
|
|
|
778
816
|
"type": "function"
|
|
779
817
|
},
|
|
780
818
|
{
|
|
781
|
-
"inputs": [
|
|
782
|
-
"name": "pause",
|
|
783
|
-
"outputs": [],
|
|
784
|
-
"stateMutability": "nonpayable",
|
|
785
|
-
"type": "function"
|
|
786
|
-
},
|
|
787
|
-
{
|
|
788
|
-
"inputs": [],
|
|
789
|
-
"name": "paused",
|
|
790
|
-
"outputs": [
|
|
819
|
+
"inputs": [
|
|
791
820
|
{
|
|
792
|
-
"internalType": "
|
|
793
|
-
"name": "",
|
|
794
|
-
"type": "
|
|
821
|
+
"internalType": "uint256",
|
|
822
|
+
"name": "tokenId",
|
|
823
|
+
"type": "uint256"
|
|
795
824
|
}
|
|
796
825
|
],
|
|
797
|
-
"
|
|
798
|
-
"type": "function"
|
|
799
|
-
},
|
|
800
|
-
{
|
|
801
|
-
"inputs": [],
|
|
802
|
-
"name": "policyNFT",
|
|
826
|
+
"name": "ownerOf",
|
|
803
827
|
"outputs": [
|
|
804
828
|
{
|
|
805
829
|
"internalType": "address",
|
|
@@ -812,75 +836,50 @@
|
|
|
812
836
|
},
|
|
813
837
|
{
|
|
814
838
|
"inputs": [],
|
|
815
|
-
"name": "
|
|
816
|
-
"outputs": [
|
|
817
|
-
|
|
818
|
-
"internalType": "bytes32",
|
|
819
|
-
"name": "",
|
|
820
|
-
"type": "bytes32"
|
|
821
|
-
}
|
|
822
|
-
],
|
|
823
|
-
"stateMutability": "view",
|
|
839
|
+
"name": "pause",
|
|
840
|
+
"outputs": [],
|
|
841
|
+
"stateMutability": "nonpayable",
|
|
824
842
|
"type": "function"
|
|
825
843
|
},
|
|
826
844
|
{
|
|
827
845
|
"inputs": [],
|
|
828
|
-
"name": "
|
|
846
|
+
"name": "paused",
|
|
829
847
|
"outputs": [
|
|
830
848
|
{
|
|
831
|
-
"internalType": "
|
|
849
|
+
"internalType": "bool",
|
|
832
850
|
"name": "",
|
|
833
|
-
"type": "
|
|
851
|
+
"type": "bool"
|
|
834
852
|
}
|
|
835
853
|
],
|
|
836
854
|
"stateMutability": "view",
|
|
837
855
|
"type": "function"
|
|
838
856
|
},
|
|
839
857
|
{
|
|
840
|
-
"inputs": [
|
|
858
|
+
"inputs": [],
|
|
859
|
+
"name": "proxiableUUID",
|
|
860
|
+
"outputs": [
|
|
841
861
|
{
|
|
842
|
-
"internalType": "
|
|
843
|
-
"name": "
|
|
844
|
-
"type": "
|
|
862
|
+
"internalType": "bytes32",
|
|
863
|
+
"name": "",
|
|
864
|
+
"type": "bytes32"
|
|
845
865
|
}
|
|
846
866
|
],
|
|
847
|
-
"
|
|
848
|
-
"outputs": [],
|
|
849
|
-
"stateMutability": "nonpayable",
|
|
867
|
+
"stateMutability": "view",
|
|
850
868
|
"type": "function"
|
|
851
869
|
},
|
|
852
870
|
{
|
|
853
871
|
"inputs": [
|
|
854
872
|
{
|
|
855
|
-
"internalType": "contract
|
|
856
|
-
"name": "
|
|
873
|
+
"internalType": "contract IPolicyPoolComponent",
|
|
874
|
+
"name": "component",
|
|
857
875
|
"type": "address"
|
|
858
876
|
}
|
|
859
877
|
],
|
|
860
|
-
"name": "
|
|
878
|
+
"name": "removeComponent",
|
|
861
879
|
"outputs": [],
|
|
862
880
|
"stateMutability": "nonpayable",
|
|
863
881
|
"type": "function"
|
|
864
882
|
},
|
|
865
|
-
{
|
|
866
|
-
"inputs": [
|
|
867
|
-
{
|
|
868
|
-
"internalType": "contract IEToken",
|
|
869
|
-
"name": "eToken",
|
|
870
|
-
"type": "address"
|
|
871
|
-
}
|
|
872
|
-
],
|
|
873
|
-
"name": "repayETokenLoan",
|
|
874
|
-
"outputs": [
|
|
875
|
-
{
|
|
876
|
-
"internalType": "uint256",
|
|
877
|
-
"name": "",
|
|
878
|
-
"type": "uint256"
|
|
879
|
-
}
|
|
880
|
-
],
|
|
881
|
-
"stateMutability": "nonpayable",
|
|
882
|
-
"type": "function"
|
|
883
|
-
},
|
|
884
883
|
{
|
|
885
884
|
"inputs": [
|
|
886
885
|
{
|
|
@@ -902,7 +901,12 @@
|
|
|
902
901
|
},
|
|
903
902
|
{
|
|
904
903
|
"internalType": "uint256",
|
|
905
|
-
"name": "
|
|
904
|
+
"name": "jrScr",
|
|
905
|
+
"type": "uint256"
|
|
906
|
+
},
|
|
907
|
+
{
|
|
908
|
+
"internalType": "uint256",
|
|
909
|
+
"name": "srScr",
|
|
906
910
|
"type": "uint256"
|
|
907
911
|
},
|
|
908
912
|
{
|
|
@@ -917,17 +921,22 @@
|
|
|
917
921
|
},
|
|
918
922
|
{
|
|
919
923
|
"internalType": "uint256",
|
|
920
|
-
"name": "
|
|
924
|
+
"name": "ensuroCommission",
|
|
921
925
|
"type": "uint256"
|
|
922
926
|
},
|
|
923
927
|
{
|
|
924
928
|
"internalType": "uint256",
|
|
925
|
-
"name": "
|
|
929
|
+
"name": "partnerCommission",
|
|
926
930
|
"type": "uint256"
|
|
927
931
|
},
|
|
928
932
|
{
|
|
929
933
|
"internalType": "uint256",
|
|
930
|
-
"name": "
|
|
934
|
+
"name": "jrCoc",
|
|
935
|
+
"type": "uint256"
|
|
936
|
+
},
|
|
937
|
+
{
|
|
938
|
+
"internalType": "uint256",
|
|
939
|
+
"name": "srCoc",
|
|
931
940
|
"type": "uint256"
|
|
932
941
|
},
|
|
933
942
|
{
|
|
@@ -982,7 +991,12 @@
|
|
|
982
991
|
},
|
|
983
992
|
{
|
|
984
993
|
"internalType": "uint256",
|
|
985
|
-
"name": "
|
|
994
|
+
"name": "jrScr",
|
|
995
|
+
"type": "uint256"
|
|
996
|
+
},
|
|
997
|
+
{
|
|
998
|
+
"internalType": "uint256",
|
|
999
|
+
"name": "srScr",
|
|
986
1000
|
"type": "uint256"
|
|
987
1001
|
},
|
|
988
1002
|
{
|
|
@@ -997,17 +1011,22 @@
|
|
|
997
1011
|
},
|
|
998
1012
|
{
|
|
999
1013
|
"internalType": "uint256",
|
|
1000
|
-
"name": "
|
|
1014
|
+
"name": "ensuroCommission",
|
|
1001
1015
|
"type": "uint256"
|
|
1002
1016
|
},
|
|
1003
1017
|
{
|
|
1004
1018
|
"internalType": "uint256",
|
|
1005
|
-
"name": "
|
|
1019
|
+
"name": "partnerCommission",
|
|
1006
1020
|
"type": "uint256"
|
|
1007
1021
|
},
|
|
1008
1022
|
{
|
|
1009
1023
|
"internalType": "uint256",
|
|
1010
|
-
"name": "
|
|
1024
|
+
"name": "jrCoc",
|
|
1025
|
+
"type": "uint256"
|
|
1026
|
+
},
|
|
1027
|
+
{
|
|
1028
|
+
"internalType": "uint256",
|
|
1029
|
+
"name": "srCoc",
|
|
1011
1030
|
"type": "uint256"
|
|
1012
1031
|
},
|
|
1013
1032
|
{
|
|
@@ -1044,26 +1063,169 @@
|
|
|
1044
1063
|
{
|
|
1045
1064
|
"inputs": [
|
|
1046
1065
|
{
|
|
1047
|
-
"internalType": "
|
|
1048
|
-
"name": "
|
|
1066
|
+
"internalType": "address",
|
|
1067
|
+
"name": "from",
|
|
1068
|
+
"type": "address"
|
|
1069
|
+
},
|
|
1070
|
+
{
|
|
1071
|
+
"internalType": "address",
|
|
1072
|
+
"name": "to",
|
|
1073
|
+
"type": "address"
|
|
1074
|
+
},
|
|
1075
|
+
{
|
|
1076
|
+
"internalType": "uint256",
|
|
1077
|
+
"name": "tokenId",
|
|
1078
|
+
"type": "uint256"
|
|
1079
|
+
}
|
|
1080
|
+
],
|
|
1081
|
+
"name": "safeTransferFrom",
|
|
1082
|
+
"outputs": [],
|
|
1083
|
+
"stateMutability": "nonpayable",
|
|
1084
|
+
"type": "function"
|
|
1085
|
+
},
|
|
1086
|
+
{
|
|
1087
|
+
"inputs": [
|
|
1088
|
+
{
|
|
1089
|
+
"internalType": "address",
|
|
1090
|
+
"name": "from",
|
|
1091
|
+
"type": "address"
|
|
1092
|
+
},
|
|
1093
|
+
{
|
|
1094
|
+
"internalType": "address",
|
|
1095
|
+
"name": "to",
|
|
1096
|
+
"type": "address"
|
|
1097
|
+
},
|
|
1098
|
+
{
|
|
1099
|
+
"internalType": "uint256",
|
|
1100
|
+
"name": "tokenId",
|
|
1101
|
+
"type": "uint256"
|
|
1102
|
+
},
|
|
1103
|
+
{
|
|
1104
|
+
"internalType": "bytes",
|
|
1105
|
+
"name": "data",
|
|
1106
|
+
"type": "bytes"
|
|
1107
|
+
}
|
|
1108
|
+
],
|
|
1109
|
+
"name": "safeTransferFrom",
|
|
1110
|
+
"outputs": [],
|
|
1111
|
+
"stateMutability": "nonpayable",
|
|
1112
|
+
"type": "function"
|
|
1113
|
+
},
|
|
1114
|
+
{
|
|
1115
|
+
"inputs": [
|
|
1116
|
+
{
|
|
1117
|
+
"internalType": "address",
|
|
1118
|
+
"name": "operator",
|
|
1049
1119
|
"type": "address"
|
|
1120
|
+
},
|
|
1121
|
+
{
|
|
1122
|
+
"internalType": "bool",
|
|
1123
|
+
"name": "approved",
|
|
1124
|
+
"type": "bool"
|
|
1050
1125
|
}
|
|
1051
1126
|
],
|
|
1052
|
-
"name": "
|
|
1127
|
+
"name": "setApprovalForAll",
|
|
1053
1128
|
"outputs": [],
|
|
1054
1129
|
"stateMutability": "nonpayable",
|
|
1055
1130
|
"type": "function"
|
|
1056
1131
|
},
|
|
1132
|
+
{
|
|
1133
|
+
"inputs": [
|
|
1134
|
+
{
|
|
1135
|
+
"internalType": "address",
|
|
1136
|
+
"name": "treasury_",
|
|
1137
|
+
"type": "address"
|
|
1138
|
+
}
|
|
1139
|
+
],
|
|
1140
|
+
"name": "setTreasury",
|
|
1141
|
+
"outputs": [],
|
|
1142
|
+
"stateMutability": "nonpayable",
|
|
1143
|
+
"type": "function"
|
|
1144
|
+
},
|
|
1145
|
+
{
|
|
1146
|
+
"inputs": [
|
|
1147
|
+
{
|
|
1148
|
+
"internalType": "bytes4",
|
|
1149
|
+
"name": "interfaceId",
|
|
1150
|
+
"type": "bytes4"
|
|
1151
|
+
}
|
|
1152
|
+
],
|
|
1153
|
+
"name": "supportsInterface",
|
|
1154
|
+
"outputs": [
|
|
1155
|
+
{
|
|
1156
|
+
"internalType": "bool",
|
|
1157
|
+
"name": "",
|
|
1158
|
+
"type": "bool"
|
|
1159
|
+
}
|
|
1160
|
+
],
|
|
1161
|
+
"stateMutability": "view",
|
|
1162
|
+
"type": "function"
|
|
1163
|
+
},
|
|
1057
1164
|
{
|
|
1058
1165
|
"inputs": [],
|
|
1059
|
-
"name": "
|
|
1166
|
+
"name": "symbol",
|
|
1060
1167
|
"outputs": [
|
|
1168
|
+
{
|
|
1169
|
+
"internalType": "string",
|
|
1170
|
+
"name": "",
|
|
1171
|
+
"type": "string"
|
|
1172
|
+
}
|
|
1173
|
+
],
|
|
1174
|
+
"stateMutability": "view",
|
|
1175
|
+
"type": "function"
|
|
1176
|
+
},
|
|
1177
|
+
{
|
|
1178
|
+
"inputs": [
|
|
1061
1179
|
{
|
|
1062
1180
|
"internalType": "uint256",
|
|
1181
|
+
"name": "tokenId",
|
|
1182
|
+
"type": "uint256"
|
|
1183
|
+
}
|
|
1184
|
+
],
|
|
1185
|
+
"name": "tokenURI",
|
|
1186
|
+
"outputs": [
|
|
1187
|
+
{
|
|
1188
|
+
"internalType": "string",
|
|
1063
1189
|
"name": "",
|
|
1190
|
+
"type": "string"
|
|
1191
|
+
}
|
|
1192
|
+
],
|
|
1193
|
+
"stateMutability": "view",
|
|
1194
|
+
"type": "function"
|
|
1195
|
+
},
|
|
1196
|
+
{
|
|
1197
|
+
"inputs": [
|
|
1198
|
+
{
|
|
1199
|
+
"internalType": "address",
|
|
1200
|
+
"name": "from",
|
|
1201
|
+
"type": "address"
|
|
1202
|
+
},
|
|
1203
|
+
{
|
|
1204
|
+
"internalType": "address",
|
|
1205
|
+
"name": "to",
|
|
1206
|
+
"type": "address"
|
|
1207
|
+
},
|
|
1208
|
+
{
|
|
1209
|
+
"internalType": "uint256",
|
|
1210
|
+
"name": "tokenId",
|
|
1064
1211
|
"type": "uint256"
|
|
1065
1212
|
}
|
|
1066
1213
|
],
|
|
1214
|
+
"name": "transferFrom",
|
|
1215
|
+
"outputs": [],
|
|
1216
|
+
"stateMutability": "nonpayable",
|
|
1217
|
+
"type": "function"
|
|
1218
|
+
},
|
|
1219
|
+
{
|
|
1220
|
+
"inputs": [],
|
|
1221
|
+
"name": "treasury",
|
|
1222
|
+
"outputs": [
|
|
1223
|
+
{
|
|
1224
|
+
"internalType": "address",
|
|
1225
|
+
"name": "",
|
|
1226
|
+
"type": "address"
|
|
1227
|
+
}
|
|
1228
|
+
],
|
|
1067
1229
|
"stateMutability": "view",
|
|
1068
1230
|
"type": "function"
|
|
1069
1231
|
},
|
|
@@ -1128,42 +1290,10 @@
|
|
|
1128
1290
|
],
|
|
1129
1291
|
"stateMutability": "nonpayable",
|
|
1130
1292
|
"type": "function"
|
|
1131
|
-
},
|
|
1132
|
-
{
|
|
1133
|
-
"inputs": [
|
|
1134
|
-
{
|
|
1135
|
-
"internalType": "uint256",
|
|
1136
|
-
"name": "amount",
|
|
1137
|
-
"type": "uint256"
|
|
1138
|
-
}
|
|
1139
|
-
],
|
|
1140
|
-
"name": "withdrawWonPremiums",
|
|
1141
|
-
"outputs": [
|
|
1142
|
-
{
|
|
1143
|
-
"internalType": "uint256",
|
|
1144
|
-
"name": "",
|
|
1145
|
-
"type": "uint256"
|
|
1146
|
-
}
|
|
1147
|
-
],
|
|
1148
|
-
"stateMutability": "nonpayable",
|
|
1149
|
-
"type": "function"
|
|
1150
|
-
},
|
|
1151
|
-
{
|
|
1152
|
-
"inputs": [],
|
|
1153
|
-
"name": "wonPurePremiums",
|
|
1154
|
-
"outputs": [
|
|
1155
|
-
{
|
|
1156
|
-
"internalType": "uint256",
|
|
1157
|
-
"name": "",
|
|
1158
|
-
"type": "uint256"
|
|
1159
|
-
}
|
|
1160
|
-
],
|
|
1161
|
-
"stateMutability": "view",
|
|
1162
|
-
"type": "function"
|
|
1163
1293
|
}
|
|
1164
1294
|
],
|
|
1165
|
-
"bytecode": "0x6101206040523060601b6080523480156200001957600080fd5b50604051620060a2380380620060a28339810160408190526200003c9162000105565b6001600160601b0319606084811b821660c05283811b82166101005282901b1660e0526040805163313ce56760e01b815290516003916001600160a01b0384169163313ce56791600480820192602092909190829003018186803b158015620000a457600080fd5b505afa158015620000b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000df919062000159565b620000eb91906200028f565b620000f890600a620001ce565b60a05250620002e4915050565b6000806000606084860312156200011b57600080fd5b83516200012881620002cb565b60208501519093506200013b81620002cb565b60408501519092506200014e81620002cb565b809150509250925092565b6000602082840312156200016c57600080fd5b815160ff811681146200017e57600080fd5b9392505050565b600181815b80851115620001c6578160001904821115620001aa57620001aa620002b5565b80851615620001b857918102915b93841c93908002906200018a565b509250929050565b60006200017e60ff841683600082620001ea5750600162000289565b81620001f95750600062000289565b81600181146200021257600281146200021d576200023d565b600191505062000289565b60ff841115620002315762000231620002b5565b50506001821b62000289565b5060208310610133831016604e8410600b841016171562000262575081810a62000289565b6200026e838362000185565b8060001904821115620002855762000285620002b5565b0290505b92915050565b600060ff821660ff841680821015620002ac57620002ac620002b5565b90039392505050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114620002e157600080fd5b50565b60805160601c60a05160c05160601c60e05160601c6101005160601c615c39620004696000396000818161067101528181610a140152818161349201528181613a52015281816141a701526143a501526000818161077a01528181610a9601528181610b6201528181610ca90152818161130b01528181611481015281816115a001528181611b6801528181613959015261496701526000818161052c0152818161092401528181610ac401528181611088015281816110f501528181611189015281816112280152818161133a0152818161180d01528181611c0201528181611cb401528181611d8c01528181611f40015281816120ea0152818161262a015281816127210152818161293f01528181612fc10152818161330701528181613385015281816135ea0152818161369d01528181613799015261384c01526000818161039401528181612a3101528181612a650152613e64015260008181610f6801528181610fa80152818161165a0152818161169a01526117290152615c396000f3fe60806040526004361061025c5760003560e01c806365e29c7e11610144578063b0ec4bcf116100b6578063dea167d51161007a578063dea167d514610756578063e5a6b10f1461076b578063e823584a1461079e578063f3fef3a3146107b3578063f67b2bad146107d3578063fcbb17fe146107f557600080fd5b8063b0ec4bcf14610695578063b63d382e146106b5578063b77ddfea146106d5578063ca143d18146106ea578063ce937e7b1461071757600080fd5b8063846253d111610108578063846253d1146105ae5780638a9defff146105ce5780638ca23bc9146105ee5780639e556b2b14610622578063ab60016914610642578063af02808a1461066257600080fd5b806365e29c7e1461050857806379502c551461051d5780638129fc1c1461056457806381ced71f146105795780638456cb591461059957600080fd5b80633f4ba83a116101dd57806352d1902d116101a157806352d1902d14610452578063536c9a43146104675780635b494dd51461047c5780635c975abb146104b057806363c0f4b1146104d357806365b71008146104e857600080fd5b80633f4ba83a146103b657806343060237146103cb57806347e7ef24146103eb5780634a47a3e01461040b5780634f1ef2861461043f57600080fd5b806324ea54f41161022457806324ea54f41461030b57806326ccbd221461032d5780632a2be82d146103425780633659cfe614610362578063396512fd1461038257600080fd5b8063066dda0e1461026157806319704a3a146102835780631a548a27146102b65780631c5c4aea146102cb578063220c262b146102eb575b600080fd5b34801561026d57600080fd5b5061028161027c3660046155d7565b610815565b005b34801561028f57600080fd5b506102a361029e366004615650565b610870565b6040519081526020015b60405180910390f35b3480156102c257600080fd5b5060ce546102a3565b3480156102d757600080fd5b506102a36102e63660046156ae565b610d1e565b3480156102f757600080fd5b506102a36103063660046156ec565b610d3b565b34801561031757600080fd5b506102a3600080516020615be483398151915281565b34801561033957600080fd5b506102a3610d7d565b34801561034e57600080fd5b506102a361035d36600461540f565b610da1565b34801561036e57600080fd5b5061028161037d36600461540f565b610f5d565b34801561038e57600080fd5b506102a37f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c257600080fd5b5061028161103d565b3480156103d757600080fd5b506102816103e636600461540f565b6110ea565b3480156103f757600080fd5b5061028161040636600461558e565b6114fd565b34801561041757600080fd5b506102a37fa82e22387fca439f316d78ca566f383218ab8ae1b3e830178c9c82cbd16749c081565b61028161044d366004615449565b61164f565b34801561045e57600080fd5b506102a361171c565b34801561047357600080fd5b5060d0546102a3565b34801561048857600080fd5b506102a37f5ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c2781565b3480156104bc57600080fd5b5060335460ff1660405190151581526020016102ad565b3480156104df57600080fd5b506102a3600a81565b3480156104f457600080fd5b5061028161050336600461540f565b6117cf565b34801561051457600080fd5b506102a36119ec565b34801561052957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016102ad565b34801561057057600080fd5b50610281611ad2565b34801561058557600080fd5b506102816105943660046156ae565b611b5b565b3480156105a557600080fd5b50610281611bd6565b3480156105ba57600080fd5b506102a36105c93660046156ae565b611c6c565b3480156105da57600080fd5b506102816105e93660046155ba565b611e62565b3480156105fa57600080fd5b506102a37fa23b11d346b90fc279e0a917152caf41f3c1247b12211b7cbc0e0e3f8b79405781565b34801561062e57600080fd5b5061028161063d366004615606565b611f01565b34801561064e57600080fd5b5061028161065d3660046156c7565b611f3e565b34801561066e57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061054c565b3480156106a157600080fd5b5061054c6106b03660046156ae565b612080565b3480156106c157600080fd5b506102816106d036600461540f565b6120be565b3480156106e157600080fd5b506102a361236d565b3480156106f657600080fd5b5061070a61070536600461540f565b61242a565b6040516102ad919061576a565b34801561072357600080fd5b50610737610732366004615711565b612437565b604080516001600160a01b0390931683526020830191909152016102ad565b34801561076257600080fd5b506102a361245d565b34801561077757600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061054c565b3480156107aa57600080fd5b5060cf546102a3565b3480156107bf57600080fd5b506102a36107ce36600461558e565b612469565b3480156107df57600080fd5b506102a3600080516020615b9d83398151915281565b34801561080157600080fd5b50610281610810366004615551565b6125df565b60335460ff16156108415760405162461bcd60e51b81526004016108389061585d565b60405180910390fd5b61086c61085336849003840184615633565b8261085f576000610865565b83602001355b600061284d565b5050565b600061087e60335460ff1690565b1561089b5760405162461bcd60e51b81526004016108389061585d565b6101208401516001600160a01b03811633146109055760405162461bcd60e51b815260206004820152602360248201527f4f6e6c792074686520524d2063616e20637265617465206e657720706f6c696360448201526269657360e81b6064820152608401610838565b604051635dfdc5d760e11b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063bbfb8bae9060240160006040518083038186803b15801561096657600080fd5b505afa15801561097a573d6000803e3d6000fd5b50505050826bffffffffffffffffffffffff166060826001600160a01b0316901b6109a59190615a24565b85526109b085612c1b565b8551600090815260cc602052604081209190915560a086015160ce8054919290916109dc908490615a24565b909155506109eb905085612c4b565b8451604051632851206560e21b81526001600160a01b03868116600483015260248201929092527f00000000000000000000000000000000000000000000000000000000000000009091169063a144819490604401600060405180830381600087803b158015610a5a57600080fd5b505af1158015610a6e573d6000803e3d6000fd5b50505050610abe84308761010001518860a00151610a8c9190615a24565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190612e09565b610b8a847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166361d027b36040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1b57600080fd5b505afa158015610b2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b53919061542c565b60c08801516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190612e09565b60008560e00151118015610c205750806001600160a01b031663521eb2736040518163ffffffff1660e01b815260040160206040518083038186803b158015610bd257600080fd5b505afa158015610be6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0a919061542c565b6001600160a01b0316846001600160a01b031614155b15610cd157610cd184826001600160a01b031663521eb2736040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6257600080fd5b505afa158015610c76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9a919061542c565b60e08801516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190612e09565b806001600160a01b03167ff8da20dc84e4c9850943fcd1a0587142b2bac3fef70840ccee41f5edd22bc47786604051610d0a9190615920565b60405180910390a2505082515b9392505050565b600081815260cd60205260408120610d3590612e7a565b92915050565b600082815260cd6020526040812081908190610d579085612e85565b915091508115610d6a579150610d359050565b600092505050610d35565b505092915050565b600060cf5460d05460ce54610d929190615a24565b610d9c9190615a7d565b905090565b6000610daf60335460ff1690565b15610dcc5760405162461bcd60e51b81526004016108389061585d565b600080610dda60c985612ea1565b91509150818015610e1757506001816003811115610dfa57610dfa615b17565b1480610e1757506002816003811115610e1557610e15615b17565b145b610e5a5760405162461bcd60e51b815260206004820152601460248201527365546f6b656e206973206e6f742061637469766560601b6044820152606401610838565b6000846001600160a01b03166352a2783b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e9557600080fd5b505afa158015610ea9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ecd919061550e565b90506000610eda82612ed4565b90506001600160a01b038616631c0f4f81610ef58385615a7d565b6040518263ffffffff1660e01b8152600401610f1391815260200190565b600060405180830381600087803b158015610f2d57600080fd5b505af1158015610f41573d6000803e3d6000fd5b505050508082610f519190615a7d565b9450505050505b919050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610fa65760405162461bcd60e51b8152600401610838906157c5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610fef600080516020615b7d833981519152546001600160a01b031690565b6001600160a01b0316146110155760405162461bcd60e51b815260040161083890615811565b61101e81612f76565b6040805160008082526020820190925261103a91839190613017565b50565b60405163c5b8f5cf60e01b8152600080516020615be483398151915260048201819052600080516020615b9d8339815191526024830181905233604484015290916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5b8f5cf9060640160006040518083038186803b1580156110ca57600080fd5b505afa1580156110de573d6000803e3d6000fd5b5050505061086c613191565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461117c5760405162461bcd60e51b815260206004820152603160248201527f4f6e6c792074686520506f6c696379506f6f6c436f6e6669672063616e20636860448201527030b733b29030b9b9b2ba26b0b730b3b2b960791b6064820152608401610838565b60006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166394217ad16040518163ffffffff1660e01b815260040160206040518083038186803b1580156111e057600080fd5b505afa1580156111f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611218919061542c565b6001600160a01b03161461144b577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166394217ad16040518163ffffffff1660e01b815260040160206040518083038186803b15801561127f57600080fd5b505afa158015611293573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b7919061542c565b6001600160a01b031663cec16f3f6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156112f157600080fd5b505af1158015611305573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663095ea7b37f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166394217ad16040518163ffffffff1660e01b815260040160206040518083038186803b15801561139157600080fd5b505afa1580156113a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c9919061542c565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260006024820152604401602060405180830381600087803b15801561141157600080fd5b505af1158015611425573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144991906154f1565b505b6001600160a01b0381161561103a5760405163095ea7b360e01b81526001600160a01b03828116600483015260001960248301527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b390604401602060405180830381600087803b1580156114c557600080fd5b505af11580156114d9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086c91906154f1565b60335460ff16156115205760405162461bcd60e51b81526004016108389061585d565b60008061152e60c985612ea1565b915091508180156115505750600181600381111561154e5761154e615b17565b145b6115935760405162461bcd60e51b815260206004820152601460248201527365546f6b656e206973206e6f742061637469766560601b6044820152606401610838565b6115c86001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612e09565b6040516311f9fbc960e21b8152336004820152602481018490526001600160a01b038516906347e7ef2490604401602060405180830381600087803b15801561161057600080fd5b505af1158015611624573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611648919061550e565b5050505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156116985760405162461bcd60e51b8152600401610838906157c5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166116e1600080516020615b7d833981519152546001600160a01b031690565b6001600160a01b0316146117075760405162461bcd60e51b815260040161083890615811565b61171082612f76565b61086c82826001613017565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117bc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610838565b50600080516020615b7d83398151915290565b6040516312d9a6ad60e01b81527f5ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c2760048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b15801561185757600080fd5b505afa15801561186b573d6000803e3d6000fd5b5060029250611878915050565b61188360c984613224565b600381111561189457611894615b17565b146118d95760405162461bcd60e51b815260206004820152601560248201527411551bdad95b881b9bdd0819195c1c9958d85d1959605a1b6044820152606401610838565b816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561191257600080fd5b505afa158015611926573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194a919061550e565b156119a65760405162461bcd60e51b815260206004820152602660248201527f45546f6b656e20686173206c69717569646974792c2063616e27742062652072604482015265195b5bdd995960d21b6064820152608401610838565b816001600160a01b03167f84b036748e342a63da09ea533edd13275c8f2eb94ba67374cd3c7f4d6461d52c60006040516119e0919061576a565b60405180910390a25050565b600080805b6119fb60c9612e7a565b811015611aa3576000611a0f60c983613241565b509050806001600160a01b03166352a2783b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611a4b57600080fd5b505afa158015611a5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a83919061550e565b611a8d9084615a24565b9250508080611a9b90615ae6565b9150506119f1565b506000611aae610d7d565b905081811115611ac957611ac28282615a7d565b9250505090565b60009250505090565b600054610100900460ff16611aed5760005460ff1615611af1565b303b155b611b0d5760405162461bcd60e51b815260040161083890615887565b600054610100900460ff16158015611b2f576000805461ffff19166101011790555b611b37613250565b611b3f613279565b611b476132a8565b801561103a576000805461ff001916905550565b611b906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333084612e09565b611b9981613517565b6040805160018152602081018390527fd60d524f1cae273480bb0a4ddfb992b6ac0b61c8e12ffbe2e4e31463f9e90199910160405180910390a150565b6040516312d9a6ad60e01b8152600080516020615be483398151915260048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015611c4c57600080fd5b505afa158015611c60573d6000803e3d6000fd5b5050505061103a61357c565b6040516312d9a6ad60e01b81527fa23b11d346b90fc279e0a917152caf41f3c1247b12211b7cbc0e0e3f8b794057600482018190523360248301526000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906312d9a6ad9060440160006040518083038186803b158015611cf657600080fd5b505afa158015611d0a573d6000803e3d6000fd5b5050505060d054831115611d1e5760d05492505b60008311611d6e5760405162461bcd60e51b815260206004820152601760248201527f4e6f207072656d69756d7320746f2077697468647261770000000000000000006044820152606401610838565b8260d06000828254611d809190615a7d565b92505081905550611e217f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166361d027b36040518163ffffffff1660e01b815260040160206040518083038186803b158015611de357600080fd5b505afa158015611df7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1b919061542c565b846135d4565b6040805160008152602081018590527fd60d524f1cae273480bb0a4ddfb992b6ac0b61c8e12ffbe2e4e31463f9e90199910160405180910390a15090919050565b60335460ff1615611e855760405162461bcd60e51b81526004016108389061585d565b42611e9861018083016101608401615733565b64ffffffffff161115611ee65760405162461bcd60e51b8152602060048201526016602482015275141bdb1a58de481b9bdd08195e1c1a5c9959081e595d60521b6044820152606401610838565b61103a611ef836839003830183615633565b6000600161284d565b60335460ff1615611f245760405162461bcd60e51b81526004016108389061585d565b61086c611f3636849003840184615633565b82600061284d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166394217ad16040518163ffffffff1660e01b815260040160206040518083038186803b158015611f9757600080fd5b505afa158015611fab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fcf919061542c565b6001600160a01b0316336001600160a01b0316146120405760405162461bcd60e51b815260206004820152602860248201527f4f6e6c792061737365744d616e616765722063616e2063616c6c207468697320604482015267333ab731ba34b7b760c11b6064820152608401610838565b60335460ff16156120635760405162461bcd60e51b81526004016108389061585d565b80156120725761086c82613517565b61207b82612ed4565b505050565b6000808061208f60c985613241565b909250905060008160038111156120a8576120a8615b17565b146120b4575092915050565b5060009392505050565b6040516312d9a6ad60e01b8152600080516020615b9d83398151915260048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b15801561213457600080fd5b505afa158015612148573d6000803e3d6000fd5b50505050600a61215860c9612e7a565b106121af5760405162461bcd60e51b815260206004820152602160248201527f4d6178696d756d206e756d626572206f662045546f6b656e73207265616368656044820152601960fa1b6064820152608401610838565b6121ba60c983613980565b156122075760405162461bcd60e51b815260206004820152601a60248201527f65546f6b656e20616c726561647920696e2074686520706f6f6c0000000000006044820152606401610838565b6001600160a01b0382166122545760405162461bcd60e51b815260206004820152601460248201527365546f6b656e2063616e2774206265207a65726f60601b6044820152606401610838565b306001600160a01b0316826001600160a01b0316634d15eb036040518163ffffffff1660e01b815260040160206040518083038186803b15801561229757600080fd5b505afa1580156122ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122cf919061542c565b6001600160a01b0316146123255760405162461bcd60e51b815260206004820152601e60248201527f45546f6b656e206e6f74206c696e6b656420746f207468697320706f6f6c00006044820152606401610838565b61233260c983600161398c565b50816001600160a01b03167f84b036748e342a63da09ea533edd13275c8f2eb94ba67374cd3c7f4d6461d52c60016040516119e0919061576a565b600080805b61237c60c9612e7a565b81101561242457600061239060c983613241565b509050806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156123cc57600080fd5b505afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612404919061550e565b61240e9084615a24565b925050808061241c90615ae6565b915050612372565b50919050565b6000610d3560c983613224565b600082815260cd60205260408120819061245190846139b2565b915091505b9250929050565b6000610d9c60c9612e7a565b600061247760335460ff1690565b156124945760405162461bcd60e51b81526004016108389061585d565b6000806124a260c986612ea1565b915091508180156124df575060018160038111156124c2576124c2615b17565b14806124df575060028160038111156124dd576124dd615b17565b145b61253d5760405162461bcd60e51b815260206004820152602960248201527f65546f6b656e206e6f7420666f756e64206f7220776974686472617773206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608401610838565b60405163f3fef3a360e01b8152336004820181905260248201869052906000906001600160a01b0388169063f3fef3a390604401602060405180830381600087803b15801561258b57600080fd5b505af115801561259f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c3919061550e565b905080156125d5576125d582826135d4565b9695505050505050565b60405163c5b8f5cf60e01b8152600080516020615be483398151915260048201819052600080516020615b9d8339815191526024830181905233604484015290916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5b8f5cf9060640160006040518083038186803b15801561266c57600080fd5b505afa158015612680573d6000803e3d6000fd5b505050506126988460c961398090919063ffffffff16565b6126dc5760405162461bcd60e51b8152602060048201526015602482015274149a5cdac8135bd91d5b19481b9bdd08199bdd5b99605a1b6044820152606401610838565b60038360038111156126f0576126f0615b17565b1415806127a35750604051632474521560e21b8152600080516020615be483398151915260048201523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906391d148549060440160206040518083038186803b15801561276b57600080fd5b505afa15801561277f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127a391906154f1565b6127f95760405162461bcd60e51b815260206004820152602160248201527f4f6e6c7920475541524449414e2063616e2073757370656e642065546f6b656e6044820152607360f81b6064820152608401610838565b61280560c9858561398c565b50836001600160a01b03167f84b036748e342a63da09ea533edd13275c8f2eb94ba67374cd3c7f4d6461d52c8460405161283f919061576a565b60405180910390a250505050565b612856836139c1565b610120830151818061287057506001600160a01b03811633145b6128bc5760405162461bcd60e51b815260206004820181905260248201527f4f6e6c792074686520524d2063616e207265736f6c766520706f6c69636965736044820152606401610838565b8215806128d457504284610160015164ffffffffff16115b6129205760405162461bcd60e51b815260206004820152601860248201527f43616e277420706179206578706972656420706f6c69637900000000000000006044820152606401610838565b6040516310f199ef60e31b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063878ccf789060240160006040518083038186803b15801561298157600080fd5b505afa158015612995573d6000803e3d6000fd5b5050505083602001518311156129e65760405162461bcd60e51b81526020600482015260166024820152751c185e5bdd5d080f881c1bdb1a58de4b9c185e5bdd5d60521b6044820152606401610838565b600080841190508460a0015160ce6000828254612a039190615a7d565b909155506000905080612a17878488613a27565b915091508215612af0576000612a2d8884613b81565b90507f0000000000000000000000000000000000000000000000000000000000000000811115612a6357612a6081613d8d565b90505b7f0000000000000000000000000000000000000000000000000000000000000000811115612aea5760405162461bcd60e51b815260206004820152602e60248201527f446f6e2774206b6e6f7720776865726520746f2074616b65207468652072657360448201526d74206f6620746865206d6f6e657960901b6064820152608401610838565b50612afd565b612afa8782613eac565b90505b612b0681613517565b6060870151604051634e5de6c960e11b815260048101919091526001600160a01b03851690639cbbcd9290602401600060405180830381600087803b158015612b4e57600080fd5b505af1158015612b62573d6000803e3d6000fd5b5050505086600001518761012001516001600160a01b03167f54f4a270ea08f88dc23b2520d6b063fecb24d956c4496f447926d736338f545e88604051612bab91815260200190565b60405180910390a38651600090815260cc602090815260408083208390558951835260cd909152812090818181818181612be582826152ff565b50505050505050506000861115612c07578651612c02908761418e565b612c12565b8651612c129061438c565b50505050505050565b600081604051602001612c2e9190615920565b604051602081830303815290604052805190602001209050919050565b8051600090815260cd60205260408120815b612c6760c9612e7a565b811015612df057600080612c7c60c984613241565b90925090506001816003811115612c9557612c95615b17565b14612ca1575050612dde565b610120860151610160870151604051630cd21c5560e21b81526001600160a01b03928316600482015264ffffffffff90911660248201529083169063334871549060440160206040518083038186803b158015612cfd57600080fd5b505afa158015612d11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d3591906154f1565b612d40575050612dde565b6000826001600160a01b031663e5ae143f6040518163ffffffff1660e01b815260040160206040518083038186803b158015612d7b57600080fd5b505afa158015612d8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612db3919061550e565b905080612dc257505050612dde565b612dcc8187615a24565b9550612dd98584836144d2565b505050505b80612de881615ae6565b915050612c5d565b5061207b8360600151612e02856144df565b8484614539565b6040516001600160a01b0380851660248301528316604482015260648101829052612e749085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261468c565b50505050565b6000610d358261475e565b6000808080612e948686614769565b9097909650945050505050565b6000808080612eb08686614769565b9150915081816003811115612ec757612ec7615b17565b9350935050509250929050565b600060d0548211612efe578160d06000828254612ef19190615a7d565b9091555060009392505050565b60d05415612f1b5760d054612f139083615a7d565b600060d05591505b60cf5460ce541115612f725760cf5460ce54612f379190615a7d565b8211612f4f578160cf6000828254612ef19190615a24565b60cf5460ce54612f5f9190615a7d565b612f699083615a7d565b60ce5460cf5591505b5090565b60405163c5b8f5cf60e01b8152600080516020615be483398151915260048201819052600080516020615b9d8339815191526024830181905233604484015290916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5b8f5cf9060640160006040518083038186803b15801561300357600080fd5b505afa158015612c12573d6000803e3d6000fd5b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561304a5761207b836147ac565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561308357600080fd5b505afa9250505080156130b3575060408051601f3d908101601f191682019092526130b09181019061550e565b60015b6131165760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610838565b600080516020615b7d83398151915281146131855760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610838565b5061207b838383614848565b60335460ff166131da5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610838565b6033805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6000613230838361486d565b6003811115610d1757610d17615b17565b6000808080612eb086866148e7565b600054610100900460ff166132775760405162461bcd60e51b8152600401610838906158d5565b565b600054610100900460ff166132a05760405162461bcd60e51b8152600401610838906158d5565b61327761491c565b600054610100900460ff166132c35760005460ff16156132c7565b303b155b6132e35760405162461bcd60e51b815260040161083890615887565b600054610100900460ff16158015613305576000805461ffff19166101011790555b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663948cb7196040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561336057600080fd5b505af1158015613374573d6000803e3d6000fd5b5050505060006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166394217ad16040518163ffffffff1660e01b815260040160206040518083038186803b1580156133dc57600080fd5b505afa1580156133f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613414919061542c565b6001600160a01b0316146134905760405162461bcd60e51b815260206004820152603a60248201527f41737365744d616e616765722063616e277420626520736574206265666f726560448201527f20506f6c696379506f6f6c20696e697469616c697a6174696f6e0000000000006064820152608401610838565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663948cb7196040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156134eb57600080fd5b505af11580156134ff573d6000803e3d6000fd5b50505050801561103a576000805461ff001916905550565b8061351f5750565b8060cf5410613545578060cf600082825461353a9190615a7d565b9091555061103a9050565b60cf54156135625760cf5461355a9082615a7d565b600060cf5590505b8060d060008282546135749190615a24565b909155505050565b60335460ff161561359f5760405162461bcd60e51b81526004016108389061585d565b6033805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586132073390565b806135dd575050565b60006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166394217ad16040518163ffffffff1660e01b815260040160206040518083038186803b15801561364157600080fd5b505afa158015613655573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613679919061542c565b6001600160a01b03161415801561369657508061369461494f565b105b1561378c577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166394217ad16040518163ffffffff1660e01b815260040160206040518083038186803b1580156136f457600080fd5b505afa158015613708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061372c919061542c565b6001600160a01b0316631014a0c2826040518263ffffffff1660e01b815260040161375991815260200190565b600060405180830381600087803b15801561377357600080fd5b505af1158015613787573d6000803e3d6000fd5b505050505b60006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631455cd286040518163ffffffff1660e01b815260040160206040518083038186803b1580156137f057600080fd5b505afa158015613804573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613828919061542c565b6001600160a01b03161415801561384557508061384361494f565b105b1561394c577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631455cd286040518163ffffffff1660e01b815260040160206040518083038186803b1580156138a357600080fd5b505afa1580156138b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138db919061542c565b6001600160a01b031663ee842dda6138f161494f565b6138fb9084615a7d565b6040518263ffffffff1660e01b815260040161391991815260200190565b600060405180830381600087803b15801561393357600080fd5b505af1158015613947573d6000803e3d6000fd5b505050505b61086c6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001683836149e9565b6000610d178383614a19565b60006139aa84848460038111156139a5576139a5615b17565b614a25565b949350505050565b6000808080612e9486866148e7565b8051158015906139e857508051600090815260cc60205260409020546139e682612c1b565b145b61103a5760405162461bcd60e51b815260206004820152601060248201526f141bdb1a58de481b9bdd08199bdd5b9960821b6044820152606401610838565b60008060008060008615613b215787516040516331a9108f60e11b8152613adf916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691636352211e91613a899160040190815260200190565b60206040518083038186803b158015613aa157600080fd5b505afa158015613ab5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ad9919061542c565b876135d4565b858860a001511115613b0257858860a00151613afb9190615a7d565b9150613b74565b613b1a8860a0015187613b159190615a7d565b612ed4565b9250613b74565b8760a00151915060ce5460cf541115613b7457613b4d60ce5460cf54613b479190615a7d565b83614a4c565b90508060cf6000828254613b619190615a7d565b90915550613b7190508183615a7d565b91505b5090969095509350505050565b60008080613b8e856144df565b9050600080613b9c87614a5b565b8851600090815260cd602052604081209294509092505b613bbc82612e7a565b811015613d8057600080613bd084846139b2565b604051634438bcbb60e01b8152600481018a90526024810182905291935091506001600160a01b03831690634438bcbb90604401600060405180830381600087803b158015613c1e57600080fd5b505af1158015613c32573d6000803e3d6000fd5b50505060608c0151613c4691508290614aa7565b90506001600160a01b03821663aa69d74b613c618784614ba7565b6040516001600160e01b031960e084901b16815260048101919091528815156024820152604401600060405180830381600087803b158015613ca257600080fd5b505af1158015613cb6573d6000803e3d6000fd5b5050505060008a1115613d6b576000613ccf8b83614ba7565b604051630c1ceca560e21b815260048101829052600160248201529091506001600160a01b03841690633073b29490604401602060405180830381600087803b158015613d1b57600080fd5b505af1158015613d2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d53919061550e565b613d5d9082615a7d565b613d67908a615a24565b9850505b50508080613d7890615ae6565b915050613bb3565b5093979650505050505050565b6000805b613d9b60c9612e7a565b811015613ea557600080613db060c984613241565b90925090506001816003811115613dc957613dc9615b17565b14613dd5575050613e93565b604051630c1ceca560e21b815260048101869052600060248201526001600160a01b03831690633073b29490604401602060405180830381600087803b158015613e1e57600080fd5b505af1158015613e32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e56919061550e565b613e609086615a7d565b94507f00000000000000000000000000000000000000000000000000000000000000008511613e90575050613ea5565b50505b80613e9d81615ae6565b915050613d91565b5090919050565b600080613eb8846144df565b9050600080613ec686614a5b565b8751600090815260cd602052604081209294509092505b613ee682612e7a565b81101561418257600080613efa84846139b2565b604051634438bcbb60e01b8152600481018a90526024810182905291935091506001600160a01b03831690634438bcbb90604401600060405180830381600087803b158015613f4857600080fd5b505af1158015613f5c573d6000803e3d6000fd5b50505060608b0151613f7091508290614aa7565b90506001600160a01b03821663aa69d74b613f8b8784614ba7565b6040516001600160e01b031960e084901b16815260048101919091528815156024820152604401600060405180830381600087803b158015613fcc57600080fd5b505af1158015613fe0573d6000803e3d6000fd5b5050505060008911801561406457506000826001600160a01b03166352a2783b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561402a57600080fd5b505afa15801561403e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614062919061550e565b115b1561416d5760a08a015160009061407b9083614ba7565b90506141008a6140fb856001600160a01b03166352a2783b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156140bd57600080fd5b505afa1580156140d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140f5919061550e565b84614a4c565b614a4c565b604051631c0f4f8160e01b8152600481018290529091506001600160a01b03841690631c0f4f8190602401600060405180830381600087803b15801561414557600080fd5b505af1158015614159573d6000803e3d6000fd5b50505050808a6141699190615a7d565b9950505b5050808061417a90615ae6565b915050613edd565b50949695505050505050565b6040516331a9108f60e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e9060240160206040518083038186803b1580156141f157600080fd5b505afa158015614205573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614229919061542c565b90506001600160a01b0381163b61423f57505050565b6001600160a01b03811663d6281d3e336040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044810186905260648101859052608401602060405180830381600087803b1580156142a457600080fd5b505af19250505080156142d4575060408051601f3d908101601f191682019092526142d191810190615527565b60015b61431c573d808015614302576040519150601f19603f3d011682016040523d82523d6000602084013e614307565b606091505b5080516143145750505050565b805181602001fd5b6001600160e01b03198116636b140e9f60e11b14612e745760405162461bcd60e51b815260206004820152602760248201527f496e76616c69642072657475726e2076616c75652066726f6d20506f6c696379604482015266102437b63232b960c91b6064820152608401610838565b6040516331a9108f60e11b8152600481018290526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e9060240160206040518083038186803b1580156143ef57600080fd5b505afa158015614403573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614427919061542c565b90506001600160a01b0381163b61443c575050565b6001600160a01b03811663e8e617b7336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015230602482015260448101859052606401602060405180830381600087803b15801561449a57600080fd5b505af19250505080156144ca575060408051601f3d908101601f191682019092526144c791810190615527565b60015b61207b575050565b60006139aa848484614a25565b6000610d3561453483606001518461014001518561016001516145029190615a94565b64ffffffffff166145139190615a5e565b61010085015161452e906a1a1601fc4ea7109e000000614ba7565b90614aa7565b614c78565b838210156145975760405162461bcd60e51b815260206004820152602560248201527f4e6f7420656e6f75676874206f6365616e20746f20636f7665722074686520706044820152646f6c69637960d81b6064820152608401610838565b8360005b6145a483612e7a565b81101561468457600080806145b986856139b2565b9150915060016145c887612e7a565b6145d29190615a7d565b8410156145ee576145e78761452e8b84614ba7565b92506145f2565b8492505b60405163837c83a360e01b815260048101899052602481018490526001600160a01b0383169063837c83a390604401600060405180830381600087803b15801561463b57600080fd5b505af115801561464f573d6000803e3d6000fd5b506146619250889150849050856144d2565b5061466c8386615a7d565b9450505050808061467c90615ae6565b91505061459b565b505050505050565b60006146e1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316614cf69092919063ffffffff16565b80519091501561207b57808060200190518101906146ff91906154f1565b61207b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610838565b6000610d3582614d05565b6001600160a01b03811660009081526002830160205260408120548190806147a1576147958585614a19565b60009250925050612456565b600192509050612456565b6001600160a01b0381163b6148195760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610838565b600080516020615b7d83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61485183614d0f565b60008251118061485e5750805b1561207b57612e748383614d4f565b6001600160a01b03811660009081526002830160205260408120548015158061489b575061489b8484614a19565b610d175760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b657900006044820152606401610838565b600080806148f58585614e43565b6001600160a01b038116600090815260029690960160205260409095205494959350505050565b600054610100900460ff166149435760405162461bcd60e51b8152600401610838906158d5565b6033805460ff19169055565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b1580156149b157600080fd5b505afa1580156149c5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9c919061550e565b6040516001600160a01b03831660248201526044810182905261207b90849063a9059cbb60e01b90606401612e3d565b6000610d178383614e4f565b6001600160a01b038216600090815260028401602052604081208290556139aa8484614e71565b6000818310613ea55781610d17565b6000806000614a6984614e86565b90508084610100015110614a9457600181856101000151614a8a9190615a7d565b9250925050915091565b600084610100015182614a8a9190615a7d565b600081614af65760405162461bcd60e51b815260206004820152601860248201527f7761644469763a204469766973696f6e206279207a65726f00000000000000006044820152606401610838565b6000614b03600284615a3c565b9050670de0b6b3a7640000614b1a82600019615a7d565b614b249190615a3c565b841115614b7f5760405162461bcd60e51b8152602060048201526024808201527f7761644469763a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610838565b8281614b93670de0b6b3a764000087615a5e565b614b9d9190615a24565b6139aa9190615a3c565b6000821580614bb4575081155b15614bc157506000610d35565b81614bd56002670de0b6b3a7640000615a3c565b614be190600019615a7d565b614beb9190615a3c565b831115614c465760405162461bcd60e51b8152602060048201526024808201527f7761644d756c3a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610838565b670de0b6b3a7640000614c5a600282615a3c565b614c648486615a5e565b614c6e9190615a24565b610d179190615a3c565b600080614c89633b9aca0084615a5e565b905082614c9a633b9aca0083615a3c565b14610d355760405162461bcd60e51b815260206004820152602660248201527f776164546f5261643a204d617468204d756c7469706c69636174696f6e204f766044820152656572666c6f7760d01b6064820152608401610838565b60606139aa8484600085614eed565b6000610d35825490565b614d18816147ac565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b614db75760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610838565b600080846001600160a01b031684604051614dd2919061574e565b600060405180830381855af49150503d8060008114614e0d576040519150601f19603f3d011682016040523d82523d6000602084013e614e12565b606091505b5091509150614e3a8282604051806060016040528060278152602001615bbd6027913961501e565b95945050505050565b6000610d178383615057565b6001600160a01b03811660009081526001830160205260408120541515610d17565b6000610d17836001600160a01b038416615081565b60008082610140015164ffffffffff1642614ea19190615a7d565b9050610d17614ee86e0612d847b578e7643c28ac00000000614ee2614ec5876144df565b614ecf9086615a5e565b614edc8860600151614c78565b906150d0565b9061518b565b61527f565b606082471015614f4e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610838565b6001600160a01b0385163b614fa55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610838565b600080866001600160a01b03168587604051614fc1919061574e565b60006040518083038185875af1925050503d8060008114614ffe576040519150601f19603f3d011682016040523d82523d6000602084013e615003565b606091505b509150915061501382828661501e565b979650505050505050565b6060831561502d575081610d17565b82511561503d5782518084602001fd5b8160405162461bcd60e51b81526004016108389190615792565b600082600001828154811061506e5761506e615b2d565b9060005260206000200154905092915050565b60008181526001830160205260408120546150c857508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610d35565b506000610d35565b60008215806150dd575081155b156150ea57506000610d35565b8161510260026b033b2e3c9fd0803ce8000000615a3c565b61510e90600019615a7d565b6151189190615a3c565b8311156151735760405162461bcd60e51b8152602060048201526024808201527f7261794d756c3a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610838565b6b033b2e3c9fd0803ce8000000614c5a600282615a3c565b6000816151da5760405162461bcd60e51b815260206004820152601860248201527f7261794469763a204469766973696f6e206279207a65726f00000000000000006044820152606401610838565b60006151e7600284615a3c565b90506b033b2e3c9fd0803ce800000061520282600019615a7d565b61520c9190615a3c565b8411156152675760405162461bcd60e51b8152602060048201526024808201527f7261794469763a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610838565b8281614b936b033b2e3c9fd0803ce800000087615a5e565b6000806152916002633b9aca00615a3c565b9050600061529f8483615a24565b9050818110156152f15760405162461bcd60e51b815260206004820181905260248201527f726179546f5761643a204d617468204164646974696f6e204f766572666c6f776044820152606401610838565b6139aa633b9aca0082615a3c565b508054600082559060005260206000209081019061103a91905b80821115612f725760008155600101615319565b8035610f5881615b59565b6000610180828403121561242457600080fd5b6000610180828403121561535e57600080fd5b6153666159c9565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101206153cc81840161532d565b908201526101406153de8382016153fa565b908201526101606153f08382016153fa565b9082015292915050565b803564ffffffffff81168114610f5857600080fd5b60006020828403121561542157600080fd5b8135610d1781615b59565b60006020828403121561543e57600080fd5b8151610d1781615b59565b6000806040838503121561545c57600080fd5b823561546781615b59565b915060208381013567ffffffffffffffff8082111561548557600080fd5b818601915086601f83011261549957600080fd5b8135818111156154ab576154ab615b43565b6154bd601f8201601f191685016159f3565b915080825287848285010111156154d357600080fd5b80848401858401376000848284010152508093505050509250929050565b60006020828403121561550357600080fd5b8151610d1781615b6e565b60006020828403121561552057600080fd5b5051919050565b60006020828403121561553957600080fd5b81516001600160e01b031981168114610d1757600080fd5b6000806040838503121561556457600080fd5b823561556f81615b59565b915060208301356004811061558357600080fd5b809150509250929050565b600080604083850312156155a157600080fd5b82356155ac81615b59565b946020939093013593505050565b600061018082840312156155cd57600080fd5b610d178383615338565b6000806101a083850312156155eb57600080fd5b6155f58484615338565b915061018083013561558381615b6e565b6000806101a0838503121561561a57600080fd5b6156248484615338565b94610180939093013593505050565b6000610180828403121561564657600080fd5b610d17838361534b565b60008060006101c0848603121561566657600080fd5b615670858561534b565b925061018084013561568181615b59565b91506101a08401356bffffffffffffffffffffffff811681146156a357600080fd5b809150509250925092565b6000602082840312156156c057600080fd5b5035919050565b600080604083850312156156da57600080fd5b82359150602083013561558381615b6e565b600080604083850312156156ff57600080fd5b82359150602083013561558381615b59565b6000806040838503121561572457600080fd5b50508035926020909101359150565b60006020828403121561574557600080fd5b610d17826153fa565b60008251615760818460208701615aba565b9190910192915050565b602081016004831061578c57634e487b7160e01b600052602160045260246000fd5b91905290565b60208152600082518060208401526157b1816040850160208701615aba565b601f01601f19169190910160400192915050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600061018082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015161599a828501826001600160a01b03169052565b50506101408381015164ffffffffff81168483015250506101608381015164ffffffffff811684830152610d75565b604051610180810167ffffffffffffffff811182821017156159ed576159ed615b43565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715615a1c57615a1c615b43565b604052919050565b60008219821115615a3757615a37615b01565b500190565b600082615a5957634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615615a7857615a78615b01565b500290565b600082821015615a8f57615a8f615b01565b500390565b600064ffffffffff83811690831681811015615ab257615ab2615b01565b039392505050565b60005b83811015615ad5578181015183820152602001615abd565b83811115612e745750506000910152565b6000600019821415615afa57615afa615b01565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461103a57600080fd5b801515811461103a57600080fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb2416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656455435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a2646970667358221220ed58e566c6b49420a8956a4228a6f811dac4f26b1b824612fb70f8f1cd19f78064736f6c63430008060033",
|
|
1166
|
-
"deployedBytecode": "0x60806040526004361061025c5760003560e01c806365e29c7e11610144578063b0ec4bcf116100b6578063dea167d51161007a578063dea167d514610756578063e5a6b10f1461076b578063e823584a1461079e578063f3fef3a3146107b3578063f67b2bad146107d3578063fcbb17fe146107f557600080fd5b8063b0ec4bcf14610695578063b63d382e146106b5578063b77ddfea146106d5578063ca143d18146106ea578063ce937e7b1461071757600080fd5b8063846253d111610108578063846253d1146105ae5780638a9defff146105ce5780638ca23bc9146105ee5780639e556b2b14610622578063ab60016914610642578063af02808a1461066257600080fd5b806365e29c7e1461050857806379502c551461051d5780638129fc1c1461056457806381ced71f146105795780638456cb591461059957600080fd5b80633f4ba83a116101dd57806352d1902d116101a157806352d1902d14610452578063536c9a43146104675780635b494dd51461047c5780635c975abb146104b057806363c0f4b1146104d357806365b71008146104e857600080fd5b80633f4ba83a146103b657806343060237146103cb57806347e7ef24146103eb5780634a47a3e01461040b5780634f1ef2861461043f57600080fd5b806324ea54f41161022457806324ea54f41461030b57806326ccbd221461032d5780632a2be82d146103425780633659cfe614610362578063396512fd1461038257600080fd5b8063066dda0e1461026157806319704a3a146102835780631a548a27146102b65780631c5c4aea146102cb578063220c262b146102eb575b600080fd5b34801561026d57600080fd5b5061028161027c3660046155d7565b610815565b005b34801561028f57600080fd5b506102a361029e366004615650565b610870565b6040519081526020015b60405180910390f35b3480156102c257600080fd5b5060ce546102a3565b3480156102d757600080fd5b506102a36102e63660046156ae565b610d1e565b3480156102f757600080fd5b506102a36103063660046156ec565b610d3b565b34801561031757600080fd5b506102a3600080516020615be483398151915281565b34801561033957600080fd5b506102a3610d7d565b34801561034e57600080fd5b506102a361035d36600461540f565b610da1565b34801561036e57600080fd5b5061028161037d36600461540f565b610f5d565b34801561038e57600080fd5b506102a37f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c257600080fd5b5061028161103d565b3480156103d757600080fd5b506102816103e636600461540f565b6110ea565b3480156103f757600080fd5b5061028161040636600461558e565b6114fd565b34801561041757600080fd5b506102a37fa82e22387fca439f316d78ca566f383218ab8ae1b3e830178c9c82cbd16749c081565b61028161044d366004615449565b61164f565b34801561045e57600080fd5b506102a361171c565b34801561047357600080fd5b5060d0546102a3565b34801561048857600080fd5b506102a37f5ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c2781565b3480156104bc57600080fd5b5060335460ff1660405190151581526020016102ad565b3480156104df57600080fd5b506102a3600a81565b3480156104f457600080fd5b5061028161050336600461540f565b6117cf565b34801561051457600080fd5b506102a36119ec565b34801561052957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016102ad565b34801561057057600080fd5b50610281611ad2565b34801561058557600080fd5b506102816105943660046156ae565b611b5b565b3480156105a557600080fd5b50610281611bd6565b3480156105ba57600080fd5b506102a36105c93660046156ae565b611c6c565b3480156105da57600080fd5b506102816105e93660046155ba565b611e62565b3480156105fa57600080fd5b506102a37fa23b11d346b90fc279e0a917152caf41f3c1247b12211b7cbc0e0e3f8b79405781565b34801561062e57600080fd5b5061028161063d366004615606565b611f01565b34801561064e57600080fd5b5061028161065d3660046156c7565b611f3e565b34801561066e57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061054c565b3480156106a157600080fd5b5061054c6106b03660046156ae565b612080565b3480156106c157600080fd5b506102816106d036600461540f565b6120be565b3480156106e157600080fd5b506102a361236d565b3480156106f657600080fd5b5061070a61070536600461540f565b61242a565b6040516102ad919061576a565b34801561072357600080fd5b50610737610732366004615711565b612437565b604080516001600160a01b0390931683526020830191909152016102ad565b34801561076257600080fd5b506102a361245d565b34801561077757600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061054c565b3480156107aa57600080fd5b5060cf546102a3565b3480156107bf57600080fd5b506102a36107ce36600461558e565b612469565b3480156107df57600080fd5b506102a3600080516020615b9d83398151915281565b34801561080157600080fd5b50610281610810366004615551565b6125df565b60335460ff16156108415760405162461bcd60e51b81526004016108389061585d565b60405180910390fd5b61086c61085336849003840184615633565b8261085f576000610865565b83602001355b600061284d565b5050565b600061087e60335460ff1690565b1561089b5760405162461bcd60e51b81526004016108389061585d565b6101208401516001600160a01b03811633146109055760405162461bcd60e51b815260206004820152602360248201527f4f6e6c792074686520524d2063616e20637265617465206e657720706f6c696360448201526269657360e81b6064820152608401610838565b604051635dfdc5d760e11b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063bbfb8bae9060240160006040518083038186803b15801561096657600080fd5b505afa15801561097a573d6000803e3d6000fd5b50505050826bffffffffffffffffffffffff166060826001600160a01b0316901b6109a59190615a24565b85526109b085612c1b565b8551600090815260cc602052604081209190915560a086015160ce8054919290916109dc908490615a24565b909155506109eb905085612c4b565b8451604051632851206560e21b81526001600160a01b03868116600483015260248201929092527f00000000000000000000000000000000000000000000000000000000000000009091169063a144819490604401600060405180830381600087803b158015610a5a57600080fd5b505af1158015610a6e573d6000803e3d6000fd5b50505050610abe84308761010001518860a00151610a8c9190615a24565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190612e09565b610b8a847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166361d027b36040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1b57600080fd5b505afa158015610b2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b53919061542c565b60c08801516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190612e09565b60008560e00151118015610c205750806001600160a01b031663521eb2736040518163ffffffff1660e01b815260040160206040518083038186803b158015610bd257600080fd5b505afa158015610be6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0a919061542c565b6001600160a01b0316846001600160a01b031614155b15610cd157610cd184826001600160a01b031663521eb2736040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6257600080fd5b505afa158015610c76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9a919061542c565b60e08801516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190612e09565b806001600160a01b03167ff8da20dc84e4c9850943fcd1a0587142b2bac3fef70840ccee41f5edd22bc47786604051610d0a9190615920565b60405180910390a2505082515b9392505050565b600081815260cd60205260408120610d3590612e7a565b92915050565b600082815260cd6020526040812081908190610d579085612e85565b915091508115610d6a579150610d359050565b600092505050610d35565b505092915050565b600060cf5460d05460ce54610d929190615a24565b610d9c9190615a7d565b905090565b6000610daf60335460ff1690565b15610dcc5760405162461bcd60e51b81526004016108389061585d565b600080610dda60c985612ea1565b91509150818015610e1757506001816003811115610dfa57610dfa615b17565b1480610e1757506002816003811115610e1557610e15615b17565b145b610e5a5760405162461bcd60e51b815260206004820152601460248201527365546f6b656e206973206e6f742061637469766560601b6044820152606401610838565b6000846001600160a01b03166352a2783b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e9557600080fd5b505afa158015610ea9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ecd919061550e565b90506000610eda82612ed4565b90506001600160a01b038616631c0f4f81610ef58385615a7d565b6040518263ffffffff1660e01b8152600401610f1391815260200190565b600060405180830381600087803b158015610f2d57600080fd5b505af1158015610f41573d6000803e3d6000fd5b505050508082610f519190615a7d565b9450505050505b919050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610fa65760405162461bcd60e51b8152600401610838906157c5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610fef600080516020615b7d833981519152546001600160a01b031690565b6001600160a01b0316146110155760405162461bcd60e51b815260040161083890615811565b61101e81612f76565b6040805160008082526020820190925261103a91839190613017565b50565b60405163c5b8f5cf60e01b8152600080516020615be483398151915260048201819052600080516020615b9d8339815191526024830181905233604484015290916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5b8f5cf9060640160006040518083038186803b1580156110ca57600080fd5b505afa1580156110de573d6000803e3d6000fd5b5050505061086c613191565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461117c5760405162461bcd60e51b815260206004820152603160248201527f4f6e6c792074686520506f6c696379506f6f6c436f6e6669672063616e20636860448201527030b733b29030b9b9b2ba26b0b730b3b2b960791b6064820152608401610838565b60006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166394217ad16040518163ffffffff1660e01b815260040160206040518083038186803b1580156111e057600080fd5b505afa1580156111f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611218919061542c565b6001600160a01b03161461144b577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166394217ad16040518163ffffffff1660e01b815260040160206040518083038186803b15801561127f57600080fd5b505afa158015611293573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b7919061542c565b6001600160a01b031663cec16f3f6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156112f157600080fd5b505af1158015611305573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663095ea7b37f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166394217ad16040518163ffffffff1660e01b815260040160206040518083038186803b15801561139157600080fd5b505afa1580156113a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c9919061542c565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260006024820152604401602060405180830381600087803b15801561141157600080fd5b505af1158015611425573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144991906154f1565b505b6001600160a01b0381161561103a5760405163095ea7b360e01b81526001600160a01b03828116600483015260001960248301527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b390604401602060405180830381600087803b1580156114c557600080fd5b505af11580156114d9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086c91906154f1565b60335460ff16156115205760405162461bcd60e51b81526004016108389061585d565b60008061152e60c985612ea1565b915091508180156115505750600181600381111561154e5761154e615b17565b145b6115935760405162461bcd60e51b815260206004820152601460248201527365546f6b656e206973206e6f742061637469766560601b6044820152606401610838565b6115c86001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333086612e09565b6040516311f9fbc960e21b8152336004820152602481018490526001600160a01b038516906347e7ef2490604401602060405180830381600087803b15801561161057600080fd5b505af1158015611624573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611648919061550e565b5050505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156116985760405162461bcd60e51b8152600401610838906157c5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166116e1600080516020615b7d833981519152546001600160a01b031690565b6001600160a01b0316146117075760405162461bcd60e51b815260040161083890615811565b61171082612f76565b61086c82826001613017565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146117bc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610838565b50600080516020615b7d83398151915290565b6040516312d9a6ad60e01b81527f5ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c2760048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b15801561185757600080fd5b505afa15801561186b573d6000803e3d6000fd5b5060029250611878915050565b61188360c984613224565b600381111561189457611894615b17565b146118d95760405162461bcd60e51b815260206004820152601560248201527411551bdad95b881b9bdd0819195c1c9958d85d1959605a1b6044820152606401610838565b816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561191257600080fd5b505afa158015611926573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194a919061550e565b156119a65760405162461bcd60e51b815260206004820152602660248201527f45546f6b656e20686173206c69717569646974792c2063616e27742062652072604482015265195b5bdd995960d21b6064820152608401610838565b816001600160a01b03167f84b036748e342a63da09ea533edd13275c8f2eb94ba67374cd3c7f4d6461d52c60006040516119e0919061576a565b60405180910390a25050565b600080805b6119fb60c9612e7a565b811015611aa3576000611a0f60c983613241565b509050806001600160a01b03166352a2783b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611a4b57600080fd5b505afa158015611a5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a83919061550e565b611a8d9084615a24565b9250508080611a9b90615ae6565b9150506119f1565b506000611aae610d7d565b905081811115611ac957611ac28282615a7d565b9250505090565b60009250505090565b600054610100900460ff16611aed5760005460ff1615611af1565b303b155b611b0d5760405162461bcd60e51b815260040161083890615887565b600054610100900460ff16158015611b2f576000805461ffff19166101011790555b611b37613250565b611b3f613279565b611b476132a8565b801561103a576000805461ff001916905550565b611b906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333084612e09565b611b9981613517565b6040805160018152602081018390527fd60d524f1cae273480bb0a4ddfb992b6ac0b61c8e12ffbe2e4e31463f9e90199910160405180910390a150565b6040516312d9a6ad60e01b8152600080516020615be483398151915260048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015611c4c57600080fd5b505afa158015611c60573d6000803e3d6000fd5b5050505061103a61357c565b6040516312d9a6ad60e01b81527fa23b11d346b90fc279e0a917152caf41f3c1247b12211b7cbc0e0e3f8b794057600482018190523360248301526000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906312d9a6ad9060440160006040518083038186803b158015611cf657600080fd5b505afa158015611d0a573d6000803e3d6000fd5b5050505060d054831115611d1e5760d05492505b60008311611d6e5760405162461bcd60e51b815260206004820152601760248201527f4e6f207072656d69756d7320746f2077697468647261770000000000000000006044820152606401610838565b8260d06000828254611d809190615a7d565b92505081905550611e217f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166361d027b36040518163ffffffff1660e01b815260040160206040518083038186803b158015611de357600080fd5b505afa158015611df7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1b919061542c565b846135d4565b6040805160008152602081018590527fd60d524f1cae273480bb0a4ddfb992b6ac0b61c8e12ffbe2e4e31463f9e90199910160405180910390a15090919050565b60335460ff1615611e855760405162461bcd60e51b81526004016108389061585d565b42611e9861018083016101608401615733565b64ffffffffff161115611ee65760405162461bcd60e51b8152602060048201526016602482015275141bdb1a58de481b9bdd08195e1c1a5c9959081e595d60521b6044820152606401610838565b61103a611ef836839003830183615633565b6000600161284d565b60335460ff1615611f245760405162461bcd60e51b81526004016108389061585d565b61086c611f3636849003840184615633565b82600061284d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166394217ad16040518163ffffffff1660e01b815260040160206040518083038186803b158015611f9757600080fd5b505afa158015611fab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fcf919061542c565b6001600160a01b0316336001600160a01b0316146120405760405162461bcd60e51b815260206004820152602860248201527f4f6e6c792061737365744d616e616765722063616e2063616c6c207468697320604482015267333ab731ba34b7b760c11b6064820152608401610838565b60335460ff16156120635760405162461bcd60e51b81526004016108389061585d565b80156120725761086c82613517565b61207b82612ed4565b505050565b6000808061208f60c985613241565b909250905060008160038111156120a8576120a8615b17565b146120b4575092915050565b5060009392505050565b6040516312d9a6ad60e01b8152600080516020615b9d83398151915260048201819052336024830152907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906312d9a6ad9060440160006040518083038186803b15801561213457600080fd5b505afa158015612148573d6000803e3d6000fd5b50505050600a61215860c9612e7a565b106121af5760405162461bcd60e51b815260206004820152602160248201527f4d6178696d756d206e756d626572206f662045546f6b656e73207265616368656044820152601960fa1b6064820152608401610838565b6121ba60c983613980565b156122075760405162461bcd60e51b815260206004820152601a60248201527f65546f6b656e20616c726561647920696e2074686520706f6f6c0000000000006044820152606401610838565b6001600160a01b0382166122545760405162461bcd60e51b815260206004820152601460248201527365546f6b656e2063616e2774206265207a65726f60601b6044820152606401610838565b306001600160a01b0316826001600160a01b0316634d15eb036040518163ffffffff1660e01b815260040160206040518083038186803b15801561229757600080fd5b505afa1580156122ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122cf919061542c565b6001600160a01b0316146123255760405162461bcd60e51b815260206004820152601e60248201527f45546f6b656e206e6f74206c696e6b656420746f207468697320706f6f6c00006044820152606401610838565b61233260c983600161398c565b50816001600160a01b03167f84b036748e342a63da09ea533edd13275c8f2eb94ba67374cd3c7f4d6461d52c60016040516119e0919061576a565b600080805b61237c60c9612e7a565b81101561242457600061239060c983613241565b509050806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156123cc57600080fd5b505afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612404919061550e565b61240e9084615a24565b925050808061241c90615ae6565b915050612372565b50919050565b6000610d3560c983613224565b600082815260cd60205260408120819061245190846139b2565b915091505b9250929050565b6000610d9c60c9612e7a565b600061247760335460ff1690565b156124945760405162461bcd60e51b81526004016108389061585d565b6000806124a260c986612ea1565b915091508180156124df575060018160038111156124c2576124c2615b17565b14806124df575060028160038111156124dd576124dd615b17565b145b61253d5760405162461bcd60e51b815260206004820152602960248201527f65546f6b656e206e6f7420666f756e64206f7220776974686472617773206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608401610838565b60405163f3fef3a360e01b8152336004820181905260248201869052906000906001600160a01b0388169063f3fef3a390604401602060405180830381600087803b15801561258b57600080fd5b505af115801561259f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c3919061550e565b905080156125d5576125d582826135d4565b9695505050505050565b60405163c5b8f5cf60e01b8152600080516020615be483398151915260048201819052600080516020615b9d8339815191526024830181905233604484015290916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5b8f5cf9060640160006040518083038186803b15801561266c57600080fd5b505afa158015612680573d6000803e3d6000fd5b505050506126988460c961398090919063ffffffff16565b6126dc5760405162461bcd60e51b8152602060048201526015602482015274149a5cdac8135bd91d5b19481b9bdd08199bdd5b99605a1b6044820152606401610838565b60038360038111156126f0576126f0615b17565b1415806127a35750604051632474521560e21b8152600080516020615be483398151915260048201523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906391d148549060440160206040518083038186803b15801561276b57600080fd5b505afa15801561277f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127a391906154f1565b6127f95760405162461bcd60e51b815260206004820152602160248201527f4f6e6c7920475541524449414e2063616e2073757370656e642065546f6b656e6044820152607360f81b6064820152608401610838565b61280560c9858561398c565b50836001600160a01b03167f84b036748e342a63da09ea533edd13275c8f2eb94ba67374cd3c7f4d6461d52c8460405161283f919061576a565b60405180910390a250505050565b612856836139c1565b610120830151818061287057506001600160a01b03811633145b6128bc5760405162461bcd60e51b815260206004820181905260248201527f4f6e6c792074686520524d2063616e207265736f6c766520706f6c69636965736044820152606401610838565b8215806128d457504284610160015164ffffffffff16115b6129205760405162461bcd60e51b815260206004820152601860248201527f43616e277420706179206578706972656420706f6c69637900000000000000006044820152606401610838565b6040516310f199ef60e31b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063878ccf789060240160006040518083038186803b15801561298157600080fd5b505afa158015612995573d6000803e3d6000fd5b5050505083602001518311156129e65760405162461bcd60e51b81526020600482015260166024820152751c185e5bdd5d080f881c1bdb1a58de4b9c185e5bdd5d60521b6044820152606401610838565b600080841190508460a0015160ce6000828254612a039190615a7d565b909155506000905080612a17878488613a27565b915091508215612af0576000612a2d8884613b81565b90507f0000000000000000000000000000000000000000000000000000000000000000811115612a6357612a6081613d8d565b90505b7f0000000000000000000000000000000000000000000000000000000000000000811115612aea5760405162461bcd60e51b815260206004820152602e60248201527f446f6e2774206b6e6f7720776865726520746f2074616b65207468652072657360448201526d74206f6620746865206d6f6e657960901b6064820152608401610838565b50612afd565b612afa8782613eac565b90505b612b0681613517565b6060870151604051634e5de6c960e11b815260048101919091526001600160a01b03851690639cbbcd9290602401600060405180830381600087803b158015612b4e57600080fd5b505af1158015612b62573d6000803e3d6000fd5b5050505086600001518761012001516001600160a01b03167f54f4a270ea08f88dc23b2520d6b063fecb24d956c4496f447926d736338f545e88604051612bab91815260200190565b60405180910390a38651600090815260cc602090815260408083208390558951835260cd909152812090818181818181612be582826152ff565b50505050505050506000861115612c07578651612c02908761418e565b612c12565b8651612c129061438c565b50505050505050565b600081604051602001612c2e9190615920565b604051602081830303815290604052805190602001209050919050565b8051600090815260cd60205260408120815b612c6760c9612e7a565b811015612df057600080612c7c60c984613241565b90925090506001816003811115612c9557612c95615b17565b14612ca1575050612dde565b610120860151610160870151604051630cd21c5560e21b81526001600160a01b03928316600482015264ffffffffff90911660248201529083169063334871549060440160206040518083038186803b158015612cfd57600080fd5b505afa158015612d11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d3591906154f1565b612d40575050612dde565b6000826001600160a01b031663e5ae143f6040518163ffffffff1660e01b815260040160206040518083038186803b158015612d7b57600080fd5b505afa158015612d8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612db3919061550e565b905080612dc257505050612dde565b612dcc8187615a24565b9550612dd98584836144d2565b505050505b80612de881615ae6565b915050612c5d565b5061207b8360600151612e02856144df565b8484614539565b6040516001600160a01b0380851660248301528316604482015260648101829052612e749085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261468c565b50505050565b6000610d358261475e565b6000808080612e948686614769565b9097909650945050505050565b6000808080612eb08686614769565b9150915081816003811115612ec757612ec7615b17565b9350935050509250929050565b600060d0548211612efe578160d06000828254612ef19190615a7d565b9091555060009392505050565b60d05415612f1b5760d054612f139083615a7d565b600060d05591505b60cf5460ce541115612f725760cf5460ce54612f379190615a7d565b8211612f4f578160cf6000828254612ef19190615a24565b60cf5460ce54612f5f9190615a7d565b612f699083615a7d565b60ce5460cf5591505b5090565b60405163c5b8f5cf60e01b8152600080516020615be483398151915260048201819052600080516020615b9d8339815191526024830181905233604484015290916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c5b8f5cf9060640160006040518083038186803b15801561300357600080fd5b505afa158015612c12573d6000803e3d6000fd5b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561304a5761207b836147ac565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561308357600080fd5b505afa9250505080156130b3575060408051601f3d908101601f191682019092526130b09181019061550e565b60015b6131165760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610838565b600080516020615b7d83398151915281146131855760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610838565b5061207b838383614848565b60335460ff166131da5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610838565b6033805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6000613230838361486d565b6003811115610d1757610d17615b17565b6000808080612eb086866148e7565b600054610100900460ff166132775760405162461bcd60e51b8152600401610838906158d5565b565b600054610100900460ff166132a05760405162461bcd60e51b8152600401610838906158d5565b61327761491c565b600054610100900460ff166132c35760005460ff16156132c7565b303b155b6132e35760405162461bcd60e51b815260040161083890615887565b600054610100900460ff16158015613305576000805461ffff19166101011790555b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663948cb7196040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561336057600080fd5b505af1158015613374573d6000803e3d6000fd5b5050505060006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166394217ad16040518163ffffffff1660e01b815260040160206040518083038186803b1580156133dc57600080fd5b505afa1580156133f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613414919061542c565b6001600160a01b0316146134905760405162461bcd60e51b815260206004820152603a60248201527f41737365744d616e616765722063616e277420626520736574206265666f726560448201527f20506f6c696379506f6f6c20696e697469616c697a6174696f6e0000000000006064820152608401610838565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663948cb7196040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156134eb57600080fd5b505af11580156134ff573d6000803e3d6000fd5b50505050801561103a576000805461ff001916905550565b8061351f5750565b8060cf5410613545578060cf600082825461353a9190615a7d565b9091555061103a9050565b60cf54156135625760cf5461355a9082615a7d565b600060cf5590505b8060d060008282546135749190615a24565b909155505050565b60335460ff161561359f5760405162461bcd60e51b81526004016108389061585d565b6033805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586132073390565b806135dd575050565b60006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166394217ad16040518163ffffffff1660e01b815260040160206040518083038186803b15801561364157600080fd5b505afa158015613655573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613679919061542c565b6001600160a01b03161415801561369657508061369461494f565b105b1561378c577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166394217ad16040518163ffffffff1660e01b815260040160206040518083038186803b1580156136f457600080fd5b505afa158015613708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061372c919061542c565b6001600160a01b0316631014a0c2826040518263ffffffff1660e01b815260040161375991815260200190565b600060405180830381600087803b15801561377357600080fd5b505af1158015613787573d6000803e3d6000fd5b505050505b60006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631455cd286040518163ffffffff1660e01b815260040160206040518083038186803b1580156137f057600080fd5b505afa158015613804573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613828919061542c565b6001600160a01b03161415801561384557508061384361494f565b105b1561394c577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631455cd286040518163ffffffff1660e01b815260040160206040518083038186803b1580156138a357600080fd5b505afa1580156138b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138db919061542c565b6001600160a01b031663ee842dda6138f161494f565b6138fb9084615a7d565b6040518263ffffffff1660e01b815260040161391991815260200190565b600060405180830381600087803b15801561393357600080fd5b505af1158015613947573d6000803e3d6000fd5b505050505b61086c6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001683836149e9565b6000610d178383614a19565b60006139aa84848460038111156139a5576139a5615b17565b614a25565b949350505050565b6000808080612e9486866148e7565b8051158015906139e857508051600090815260cc60205260409020546139e682612c1b565b145b61103a5760405162461bcd60e51b815260206004820152601060248201526f141bdb1a58de481b9bdd08199bdd5b9960821b6044820152606401610838565b60008060008060008615613b215787516040516331a9108f60e11b8152613adf916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691636352211e91613a899160040190815260200190565b60206040518083038186803b158015613aa157600080fd5b505afa158015613ab5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ad9919061542c565b876135d4565b858860a001511115613b0257858860a00151613afb9190615a7d565b9150613b74565b613b1a8860a0015187613b159190615a7d565b612ed4565b9250613b74565b8760a00151915060ce5460cf541115613b7457613b4d60ce5460cf54613b479190615a7d565b83614a4c565b90508060cf6000828254613b619190615a7d565b90915550613b7190508183615a7d565b91505b5090969095509350505050565b60008080613b8e856144df565b9050600080613b9c87614a5b565b8851600090815260cd602052604081209294509092505b613bbc82612e7a565b811015613d8057600080613bd084846139b2565b604051634438bcbb60e01b8152600481018a90526024810182905291935091506001600160a01b03831690634438bcbb90604401600060405180830381600087803b158015613c1e57600080fd5b505af1158015613c32573d6000803e3d6000fd5b50505060608c0151613c4691508290614aa7565b90506001600160a01b03821663aa69d74b613c618784614ba7565b6040516001600160e01b031960e084901b16815260048101919091528815156024820152604401600060405180830381600087803b158015613ca257600080fd5b505af1158015613cb6573d6000803e3d6000fd5b5050505060008a1115613d6b576000613ccf8b83614ba7565b604051630c1ceca560e21b815260048101829052600160248201529091506001600160a01b03841690633073b29490604401602060405180830381600087803b158015613d1b57600080fd5b505af1158015613d2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d53919061550e565b613d5d9082615a7d565b613d67908a615a24565b9850505b50508080613d7890615ae6565b915050613bb3565b5093979650505050505050565b6000805b613d9b60c9612e7a565b811015613ea557600080613db060c984613241565b90925090506001816003811115613dc957613dc9615b17565b14613dd5575050613e93565b604051630c1ceca560e21b815260048101869052600060248201526001600160a01b03831690633073b29490604401602060405180830381600087803b158015613e1e57600080fd5b505af1158015613e32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e56919061550e565b613e609086615a7d565b94507f00000000000000000000000000000000000000000000000000000000000000008511613e90575050613ea5565b50505b80613e9d81615ae6565b915050613d91565b5090919050565b600080613eb8846144df565b9050600080613ec686614a5b565b8751600090815260cd602052604081209294509092505b613ee682612e7a565b81101561418257600080613efa84846139b2565b604051634438bcbb60e01b8152600481018a90526024810182905291935091506001600160a01b03831690634438bcbb90604401600060405180830381600087803b158015613f4857600080fd5b505af1158015613f5c573d6000803e3d6000fd5b50505060608b0151613f7091508290614aa7565b90506001600160a01b03821663aa69d74b613f8b8784614ba7565b6040516001600160e01b031960e084901b16815260048101919091528815156024820152604401600060405180830381600087803b158015613fcc57600080fd5b505af1158015613fe0573d6000803e3d6000fd5b5050505060008911801561406457506000826001600160a01b03166352a2783b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561402a57600080fd5b505afa15801561403e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614062919061550e565b115b1561416d5760a08a015160009061407b9083614ba7565b90506141008a6140fb856001600160a01b03166352a2783b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156140bd57600080fd5b505afa1580156140d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140f5919061550e565b84614a4c565b614a4c565b604051631c0f4f8160e01b8152600481018290529091506001600160a01b03841690631c0f4f8190602401600060405180830381600087803b15801561414557600080fd5b505af1158015614159573d6000803e3d6000fd5b50505050808a6141699190615a7d565b9950505b5050808061417a90615ae6565b915050613edd565b50949695505050505050565b6040516331a9108f60e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e9060240160206040518083038186803b1580156141f157600080fd5b505afa158015614205573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614229919061542c565b90506001600160a01b0381163b61423f57505050565b6001600160a01b03811663d6281d3e336040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044810186905260648101859052608401602060405180830381600087803b1580156142a457600080fd5b505af19250505080156142d4575060408051601f3d908101601f191682019092526142d191810190615527565b60015b61431c573d808015614302576040519150601f19603f3d011682016040523d82523d6000602084013e614307565b606091505b5080516143145750505050565b805181602001fd5b6001600160e01b03198116636b140e9f60e11b14612e745760405162461bcd60e51b815260206004820152602760248201527f496e76616c69642072657475726e2076616c75652066726f6d20506f6c696379604482015266102437b63232b960c91b6064820152608401610838565b6040516331a9108f60e11b8152600481018290526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e9060240160206040518083038186803b1580156143ef57600080fd5b505afa158015614403573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614427919061542c565b90506001600160a01b0381163b61443c575050565b6001600160a01b03811663e8e617b7336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015230602482015260448101859052606401602060405180830381600087803b15801561449a57600080fd5b505af19250505080156144ca575060408051601f3d908101601f191682019092526144c791810190615527565b60015b61207b575050565b60006139aa848484614a25565b6000610d3561453483606001518461014001518561016001516145029190615a94565b64ffffffffff166145139190615a5e565b61010085015161452e906a1a1601fc4ea7109e000000614ba7565b90614aa7565b614c78565b838210156145975760405162461bcd60e51b815260206004820152602560248201527f4e6f7420656e6f75676874206f6365616e20746f20636f7665722074686520706044820152646f6c69637960d81b6064820152608401610838565b8360005b6145a483612e7a565b81101561468457600080806145b986856139b2565b9150915060016145c887612e7a565b6145d29190615a7d565b8410156145ee576145e78761452e8b84614ba7565b92506145f2565b8492505b60405163837c83a360e01b815260048101899052602481018490526001600160a01b0383169063837c83a390604401600060405180830381600087803b15801561463b57600080fd5b505af115801561464f573d6000803e3d6000fd5b506146619250889150849050856144d2565b5061466c8386615a7d565b9450505050808061467c90615ae6565b91505061459b565b505050505050565b60006146e1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316614cf69092919063ffffffff16565b80519091501561207b57808060200190518101906146ff91906154f1565b61207b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610838565b6000610d3582614d05565b6001600160a01b03811660009081526002830160205260408120548190806147a1576147958585614a19565b60009250925050612456565b600192509050612456565b6001600160a01b0381163b6148195760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610838565b600080516020615b7d83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61485183614d0f565b60008251118061485e5750805b1561207b57612e748383614d4f565b6001600160a01b03811660009081526002830160205260408120548015158061489b575061489b8484614a19565b610d175760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b657900006044820152606401610838565b600080806148f58585614e43565b6001600160a01b038116600090815260029690960160205260409095205494959350505050565b600054610100900460ff166149435760405162461bcd60e51b8152600401610838906158d5565b6033805460ff19169055565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b1580156149b157600080fd5b505afa1580156149c5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9c919061550e565b6040516001600160a01b03831660248201526044810182905261207b90849063a9059cbb60e01b90606401612e3d565b6000610d178383614e4f565b6001600160a01b038216600090815260028401602052604081208290556139aa8484614e71565b6000818310613ea55781610d17565b6000806000614a6984614e86565b90508084610100015110614a9457600181856101000151614a8a9190615a7d565b9250925050915091565b600084610100015182614a8a9190615a7d565b600081614af65760405162461bcd60e51b815260206004820152601860248201527f7761644469763a204469766973696f6e206279207a65726f00000000000000006044820152606401610838565b6000614b03600284615a3c565b9050670de0b6b3a7640000614b1a82600019615a7d565b614b249190615a3c565b841115614b7f5760405162461bcd60e51b8152602060048201526024808201527f7761644469763a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610838565b8281614b93670de0b6b3a764000087615a5e565b614b9d9190615a24565b6139aa9190615a3c565b6000821580614bb4575081155b15614bc157506000610d35565b81614bd56002670de0b6b3a7640000615a3c565b614be190600019615a7d565b614beb9190615a3c565b831115614c465760405162461bcd60e51b8152602060048201526024808201527f7761644d756c3a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610838565b670de0b6b3a7640000614c5a600282615a3c565b614c648486615a5e565b614c6e9190615a24565b610d179190615a3c565b600080614c89633b9aca0084615a5e565b905082614c9a633b9aca0083615a3c565b14610d355760405162461bcd60e51b815260206004820152602660248201527f776164546f5261643a204d617468204d756c7469706c69636174696f6e204f766044820152656572666c6f7760d01b6064820152608401610838565b60606139aa8484600085614eed565b6000610d35825490565b614d18816147ac565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b614db75760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610838565b600080846001600160a01b031684604051614dd2919061574e565b600060405180830381855af49150503d8060008114614e0d576040519150601f19603f3d011682016040523d82523d6000602084013e614e12565b606091505b5091509150614e3a8282604051806060016040528060278152602001615bbd6027913961501e565b95945050505050565b6000610d178383615057565b6001600160a01b03811660009081526001830160205260408120541515610d17565b6000610d17836001600160a01b038416615081565b60008082610140015164ffffffffff1642614ea19190615a7d565b9050610d17614ee86e0612d847b578e7643c28ac00000000614ee2614ec5876144df565b614ecf9086615a5e565b614edc8860600151614c78565b906150d0565b9061518b565b61527f565b606082471015614f4e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610838565b6001600160a01b0385163b614fa55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610838565b600080866001600160a01b03168587604051614fc1919061574e565b60006040518083038185875af1925050503d8060008114614ffe576040519150601f19603f3d011682016040523d82523d6000602084013e615003565b606091505b509150915061501382828661501e565b979650505050505050565b6060831561502d575081610d17565b82511561503d5782518084602001fd5b8160405162461bcd60e51b81526004016108389190615792565b600082600001828154811061506e5761506e615b2d565b9060005260206000200154905092915050565b60008181526001830160205260408120546150c857508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610d35565b506000610d35565b60008215806150dd575081155b156150ea57506000610d35565b8161510260026b033b2e3c9fd0803ce8000000615a3c565b61510e90600019615a7d565b6151189190615a3c565b8311156151735760405162461bcd60e51b8152602060048201526024808201527f7261794d756c3a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610838565b6b033b2e3c9fd0803ce8000000614c5a600282615a3c565b6000816151da5760405162461bcd60e51b815260206004820152601860248201527f7261794469763a204469766973696f6e206279207a65726f00000000000000006044820152606401610838565b60006151e7600284615a3c565b90506b033b2e3c9fd0803ce800000061520282600019615a7d565b61520c9190615a3c565b8411156152675760405162461bcd60e51b8152602060048201526024808201527f7261794469763a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610838565b8281614b936b033b2e3c9fd0803ce800000087615a5e565b6000806152916002633b9aca00615a3c565b9050600061529f8483615a24565b9050818110156152f15760405162461bcd60e51b815260206004820181905260248201527f726179546f5761643a204d617468204164646974696f6e204f766572666c6f776044820152606401610838565b6139aa633b9aca0082615a3c565b508054600082559060005260206000209081019061103a91905b80821115612f725760008155600101615319565b8035610f5881615b59565b6000610180828403121561242457600080fd5b6000610180828403121561535e57600080fd5b6153666159c9565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e08201526101008083013581830152506101206153cc81840161532d565b908201526101406153de8382016153fa565b908201526101606153f08382016153fa565b9082015292915050565b803564ffffffffff81168114610f5857600080fd5b60006020828403121561542157600080fd5b8135610d1781615b59565b60006020828403121561543e57600080fd5b8151610d1781615b59565b6000806040838503121561545c57600080fd5b823561546781615b59565b915060208381013567ffffffffffffffff8082111561548557600080fd5b818601915086601f83011261549957600080fd5b8135818111156154ab576154ab615b43565b6154bd601f8201601f191685016159f3565b915080825287848285010111156154d357600080fd5b80848401858401376000848284010152508093505050509250929050565b60006020828403121561550357600080fd5b8151610d1781615b6e565b60006020828403121561552057600080fd5b5051919050565b60006020828403121561553957600080fd5b81516001600160e01b031981168114610d1757600080fd5b6000806040838503121561556457600080fd5b823561556f81615b59565b915060208301356004811061558357600080fd5b809150509250929050565b600080604083850312156155a157600080fd5b82356155ac81615b59565b946020939093013593505050565b600061018082840312156155cd57600080fd5b610d178383615338565b6000806101a083850312156155eb57600080fd5b6155f58484615338565b915061018083013561558381615b6e565b6000806101a0838503121561561a57600080fd5b6156248484615338565b94610180939093013593505050565b6000610180828403121561564657600080fd5b610d17838361534b565b60008060006101c0848603121561566657600080fd5b615670858561534b565b925061018084013561568181615b59565b91506101a08401356bffffffffffffffffffffffff811681146156a357600080fd5b809150509250925092565b6000602082840312156156c057600080fd5b5035919050565b600080604083850312156156da57600080fd5b82359150602083013561558381615b6e565b600080604083850312156156ff57600080fd5b82359150602083013561558381615b59565b6000806040838503121561572457600080fd5b50508035926020909101359150565b60006020828403121561574557600080fd5b610d17826153fa565b60008251615760818460208701615aba565b9190910192915050565b602081016004831061578c57634e487b7160e01b600052602160045260246000fd5b91905290565b60208152600082518060208401526157b1816040850160208701615aba565b601f01601f19169190910160400192915050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600061018082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015161599a828501826001600160a01b03169052565b50506101408381015164ffffffffff81168483015250506101608381015164ffffffffff811684830152610d75565b604051610180810167ffffffffffffffff811182821017156159ed576159ed615b43565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715615a1c57615a1c615b43565b604052919050565b60008219821115615a3757615a37615b01565b500190565b600082615a5957634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615615a7857615a78615b01565b500290565b600082821015615a8f57615a8f615b01565b500390565b600064ffffffffff83811690831681811015615ab257615ab2615b01565b039392505050565b60005b83811015615ad5578181015183820152602001615abd565b83811115612e745750506000910152565b6000600019821415615afa57615afa615b01565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461103a57600080fd5b801515811461103a57600080fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb2416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656455435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a2646970667358221220ed58e566c6b49420a8956a4228a6f811dac4f26b1b824612fb70f8f1cd19f78064736f6c63430008060033",
|
|
1295
|
+
"bytecode": "0x60e0604052306080523480156200001557600080fd5b506040516200516038038062005160833981016040819052620000389162000069565b6001600160a01b0391821660a0521660c052620000a8565b6001600160a01b03811681146200006657600080fd5b50565b600080604083850312156200007d57600080fd5b82516200008a8162000050565b60208401519092506200009d8162000050565b809150509250929050565b60805160a05160c051614ffc62000164600039600081816106d501528181610d05015281816116b501528181611760015281816118090152818161184801526119790152600081816105c801528181610be401528181610f5d01528181611083015281816111520152818161122101528181611a8e01528181611eb201528181612540015281816126d40152612d6f015260008181610ae701528181610b2701528181610dc001528181610e000152610e8f0152614ffc6000f3fe6080604052600436106102305760003560e01c80636352211e1161012e57806395d89b41116100ab578063e985e9c51161006f578063e985e9c5146106f9578063f0f4426014610719578063f3fef3a314610739578063f67b2bad14610759578063ffa600e31461077b57600080fd5b806395d89b4114610651578063a22cb46514610666578063b88d4fde14610686578063c87b56dd146106a6578063e5a6b10f146106c657600080fd5b806370a08231116100f257806370a082311461059957806371907f17146105b95780637a702b3c146105ec57806382afd23b1461060c5780638456cb591461063c57600080fd5b80636352211e146104f95780636769a76f146105195780636af6f1ef146105395780636b8734e7146105595780636f86c8971461057957600080fd5b80633f4ba83a116101bc57806352d1902d1161018057806352d1902d146104595780635b494dd51461046e5780635c975abb146104a25780635fcbf445146104ba57806361d027b3146104da57600080fd5b80633f4ba83a146103bd57806342842e0e146103d257806347e7ef24146103f25780634a47a3e0146104125780634f1ef2861461044657600080fd5b8063095ea7b311610203578063095ea7b3146102e657806323b872dd1461030657806324ea54f41461032657806333d6157a146103565780633659cfe61461039d57600080fd5b806301ffc9a71461023557806306fdde031461026a578063077f224a1461028c578063081812fc146102ae575b600080fd5b34801561024157600080fd5b5061025561025036600461431b565b61079b565b60405190151581526020015b60405180910390f35b34801561027657600080fd5b5061027f6107ed565b6040516102619190614388565b34801561029857600080fd5b506102ac6102a736600461447d565b61087f565b005b3480156102ba57600080fd5b506102ce6102c93660046144f5565b610970565b6040516001600160a01b039091168152602001610261565b3480156102f257600080fd5b506102ac61030136600461450e565b610997565b34801561031257600080fd5b506102ac61032136600461453a565b610aac565b34801561033257600080fd5b50610348600080516020614fa783398151915281565b604051908152602001610261565b34801561036257600080fd5b5061039061037136600461457b565b6001600160a01b0316600090815261012e602052604090205460ff1690565b60405161026191906145cc565b3480156103a957600080fd5b506102ac6103b836600461457b565b610add565b3480156103c957600080fd5b506102ac610bbc565b3480156103de57600080fd5b506102ac6103ed36600461453a565b610c7d565b3480156103fe57600080fd5b506102ac61040d36600461450e565b610c98565b34801561041e57600080fd5b506103487fa82e22387fca439f316d78ca566f383218ab8ae1b3e830178c9c82cbd16749c081565b6102ac6104543660046145df565b610db6565b34801561046557600080fd5b50610348610e82565b34801561047a57600080fd5b506103487f5ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c2781565b3480156104ae57600080fd5b5060335460ff16610255565b3480156104c657600080fd5b506102ac6104d536600461463c565b610f35565b3480156104e657600080fd5b5061012d546001600160a01b03166102ce565b34801561050557600080fd5b506102ce6105143660046144f5565b6113ae565b34801561052557600080fd5b50610348610534366004614761565b61140e565b34801561054557600080fd5b506102ac6105543660046147ea565b6119f1565b34801561056557600080fd5b506102ac61057436600461463c565b611a75565b34801561058557600080fd5b506102ac61059436600461457b565b611e99565b3480156105a557600080fd5b506103486105b436600461457b565b61247f565b3480156105c557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006102ce565b3480156105f857600080fd5b506102ac610607366004614807565b612505565b34801561061857600080fd5b506102556106273660046144f5565b600090815261012f6020526040902054151590565b34801561064857600080fd5b506102ac612527565b34801561065d57600080fd5b5061027f6125cc565b34801561067257600080fd5b506102ac610681366004614842565b6125db565b34801561069257600080fd5b506102ac6106a1366004614870565b6125e6565b3480156106b257600080fd5b5061027f6106c13660046144f5565b612618565b3480156106d257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006102ce565b34801561070557600080fd5b506102556107143660046148dc565b61268c565b34801561072557600080fd5b506102ac61073436600461457b565b6126bb565b34801561074557600080fd5b5061034861075436600461450e565b6127b2565b34801561076557600080fd5b50610348600080516020614f6083398151915281565b34801561078757600080fd5b506102ac61079636600461490a565b6128db565b60006001600160e01b031982166380ac58cd60e01b14806107cc57506001600160e01b03198216635b5e139f60e01b145b806107e757506301ffc9a760e01b6001600160e01b03198316145b92915050565b606060fb80546107fc90614939565b80601f016020809104026020016040519081016040528092919081815260200182805461082890614939565b80156108755780601f1061084a57610100808354040283529160200191610875565b820191906000526020600020905b81548152906001019060200180831161085857829003601f168201915b5050505050905090565b600054610100900460ff161580801561089f5750600054600160ff909116105b806108b95750303b1580156108b9575060005460ff166001145b6108de5760405162461bcd60e51b81526004016108d59061496d565b60405180910390fd5b6000805460ff191660011790558015610901576000805461ff0019166101001790555b61090961290e565b6109138484612937565b61091b612968565b61092482612997565b801561096a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b600061097b82612a75565b50600090815260ff60205260409020546001600160a01b031690565b60006109a2826113ae565b9050806001600160a01b0316836001600160a01b031603610a0f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016108d5565b336001600160a01b0382161480610a2b5750610a2b813361268c565b610a9d5760405162461bcd60e51b815260206004820152603e60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c000060648201526084016108d5565b610aa78383612ad4565b505050565b610ab63382612b42565b610ad25760405162461bcd60e51b81526004016108d5906149bb565b610aa7838383612ba0565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610b255760405162461bcd60e51b81526004016108d590614a09565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610b6e600080516020614f40833981519152546001600160a01b031690565b6001600160a01b031614610b945760405162461bcd60e51b81526004016108d590614a55565b610b9d81612d47565b60408051600080825260208201909252610bb991839190612e01565b50565b600080516020614fa7833981519152600080516020614f608339815191526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663c5b8f5cf8383336040516001600160e01b031960e086901b168152600481019390935260248301919091526001600160a01b0316604482015260640160006040518083038186803b158015610c5957600080fd5b505afa158015610c6d573d6000803e3d6000fd5b50505050610c79612f6c565b5050565b610aa7838383604051806020016040528060008152506125e6565b610ca0612fbe565b6001610cab83613004565b6003811115610cbc57610cbc614598565b14610d005760405162461bcd60e51b815260206004820152601460248201527365546f6b656e206973206e6f742061637469766560601b60448201526064016108d5565b610d357f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316338484613091565b6001600160a01b0382166347e7ef24336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015610d92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa79190614aa1565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610dfe5760405162461bcd60e51b81526004016108d590614a09565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610e47600080516020614f40833981519152546001600160a01b031690565b6001600160a01b031614610e6d5760405162461bcd60e51b81526004016108d590614a55565b610e7682612d47565b610c7982826001612e01565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f225760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016108d5565b50600080516020614f4083398151915290565b600080516020614fa7833981519152600080516020614f608339815191526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663c5b8f5cf8383336040516001600160e01b031960e086901b168152600481019390935260248301919091526001600160a01b0316604482015260640160006040518083038186803b158015610fd257600080fd5b505afa158015610fe6573d6000803e3d6000fd5b5050506001600160a01b038516600090815261012e602052604081209150815460ff16600381111561101a5761101a614598565b0361105d5760405162461bcd60e51b815260206004820152601360248201527210dbdb5c1bdb995b9d081b9bdd08199bdd5b99606a1b60448201526064016108d5565b600184600381111561107157611071614598565b14801561112657506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166391d14854600080516020614f60833981519152336040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401602060405180830381865afa158015611102573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111269190614aba565b806111f55750600384600381111561114057611140614598565b1480156111f557506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166391d14854600080516020614fa7833981519152336040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401602060405180830381865afa1580156111d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f59190614aba565b806112c45750600284600381111561120f5761120f614598565b1480156112c457506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166391d14854600080516020614f60833981519152336040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401602060405180830381865afa1580156112a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c49190614aba565b6113365760405162461bcd60e51b815260206004820152603e60248201527f4f6e6c7920475541524449414e2063616e2073757370656e64202f204f6e6c7960448201527f204c4556454c312063616e2061637469766174652f646570726563617465000060648201526084016108d5565b80548490829060ff1916600183600381111561135457611354614598565b021790555080546040516001600160a01b038716917ffe4c6998a06520b63340a48710b374432cb395da90e4e5360e1ec7aeefebecef9161139f91610100900460ff16908890614ad7565b60405180910390a25050505050565b600081815260fd60205260408120546001600160a01b0316806107e75760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016108d5565b6000611418612fbe565b6101608501516001600160a01b03811633146114825760405162461bcd60e51b815260206004820152602360248201527f4f6e6c792074686520524d2063616e20637265617465206e657720706f6c696360448201526269657360e81b60648201526084016108d5565b600161148d826130eb565b600381111561149e5761149e614598565b146114f55760405162461bcd60e51b815260206004820152602160248201527f524d206d6f64756c65206e6f7420666f756e64206f72206e6f742061637469766044820152606560f81b60648201526084016108d5565b6115206bffffffffffffffffffffffff84166bffffffffffffffffffffffff19606084901b16614b13565b865261152b8661316e565b61012f600088600001518152602001908152602001600020819055506000816001600160a01b03166373a952e86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611587573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ab9190614b26565b905060016115b88261319e565b60038111156115c9576115c9614598565b146116265760405162461bcd60e51b815260206004820152602760248201527f5072656d69756d734163636f756e74206e6f7420666f756e64206f72206e6f746044820152662061637469766560c81b60648201526084016108d5565b60405163e3638ea360e01b81526001600160a01b0382169063e3638ea390611652908a90600401614bfb565b600060405180830381600087803b15801561166c57600080fd5b505af1158015611680573d6000803e3d6000fd5b505050506116a28588600001516040518060200160405280600081525061322c565b60c08701516116df906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169088908490613091565b610140870151156117885761178886826001600160a01b0316637b83037b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561172c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117509190614b26565b6101408a01516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190613091565b610120870151156118315761183186826001600160a01b031663536ebbfc6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f99190614b26565b6101208a01516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190613091565b61012d5460e0880151611876916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116928a929190911690613091565b60008761010001511180156118fe5750816001600160a01b031663521eb2736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e89190614b26565b6001600160a01b0316866001600160a01b031614155b156119a1576119a186836001600160a01b031663521eb2736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611945573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119699190614b26565b6101008a01516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190613091565b816001600160a01b03167f38f420e3792044ba61536a1f83956eefc878b3fb09a7d4a28790f05b6a3eaf3b886040516119da9190614bfb565b60405180910390a25050845190505b949350505050565b6119f9612fbe565b42611a0c6101c083016101a08401614c0a565b64ffffffffff161115611a5a5760405162461bcd60e51b8152602060048201526016602482015275141bdb1a58de481b9bdd08195e1c1a5c9959081e595d60521b60448201526064016108d5565b610bb9611a6c36839003830183614c25565b6000600161325f565b600080516020614f608339815191526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166312d9a6ad82336040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440160006040518083038186803b158015611afa57600080fd5b505afa158015611b0e573d6000803e3d6000fd5b5050506001600160a01b038416600090815261012e602052604081209150815460ff166003811115611b4257611b42614598565b14611b8f5760405162461bcd60e51b815260206004820152601d60248201527f436f6d706f6e656e7420616c726561647920696e2074686520706f6f6c00000060448201526064016108d5565b306001600160a01b0316846001600160a01b0316634d15eb036040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfb9190614b26565b6001600160a01b031614611c5b5760405162461bcd60e51b815260206004820152602160248201527f436f6d706f6e656e74206e6f74206c696e6b656420746f207468697320706f6f6044820152601b60fa1b60648201526084016108d5565b8054600160ff198216811783558491839161ffff1990911617610100836003811115611c8957611c89614598565b02179055506003836003811115611ca257611ca2614598565b03611e4f5760008490506000816001600160a01b031663536ebbfc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d109190614b26565b90506001600160a01b03811615611d7d576040516338ea38a760e21b81526001600160a01b03838116600483015282169063e3a8e29c90602401600060405180830381600087803b158015611d6457600080fd5b505af1158015611d78573d6000803e3d6000fd5b505050505b816001600160a01b0316637b83037b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddf9190614b26565b90506001600160a01b03811615611e4c576040516338ea38a760e21b81526001600160a01b03838116600483015282169063e3a8e29c90602401600060405180830381600087803b158015611e3357600080fd5b505af1158015611e47573d6000803e3d6000fd5b505050505b50505b836001600160a01b03167ffe4c6998a06520b63340a48710b374432cb395da90e4e5360e1ec7aeefebecef846001604051611e8b929190614ad7565b60405180910390a250505050565b600080516020614f608339815191526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166312d9a6ad82336040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440160006040518083038186803b158015611f1e57600080fd5b505afa158015611f32573d6000803e3d6000fd5b505050506001600160a01b038216600090815261012e602052604090206002815460ff166003811115611f6757611f67614598565b14611fb45760405162461bcd60e51b815260206004820152601860248201527f436f6d706f6e656e74206e6f742064657072656361746564000000000000000060448201526064016108d5565b60018154610100900460ff166003811115611fd157611fd1614598565b0361209957826001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120389190614aa1565b156120945760405162461bcd60e51b815260206004820152602660248201527f45546f6b656e20686173206c69717569646974792c2063616e27742062652072604482015265195b5bdd995960d21b60648201526084016108d5565b61240b565b60028154610100900460ff1660038111156120b6576120b6614598565b0361217d57826001600160a01b0316637ff8bf256040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061211d9190614aa1565b156120945760405162461bcd60e51b815260206004820152602a60248201527f43616e27742072656d6f76652061206d6f64756c6520776974682061637469766044820152696520706f6c696369657360b01b60648201526084016108d5565b60038154610100900460ff16600381111561219a5761219a614598565b0361240b576000839050806001600160a01b03166326ccbd226040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122069190614aa1565b156122685760405162461bcd60e51b815260206004820152602c60248201527f43616e27742072656d6f76652061205072656d69756d734163636f756e74207760448201526b697468207072656d69756d7360a01b60648201526084016108d5565b6000816001600160a01b031663536ebbfc6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122cc9190614b26565b90506001600160a01b03811615612339576040516376c7fc5560e01b81526001600160a01b0383811660048301528216906376c7fc5590602401600060405180830381600087803b15801561232057600080fd5b505af1158015612334573d6000803e3d6000fd5b505050505b816001600160a01b0316637b83037b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612377573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239b9190614b26565b90506001600160a01b03811615612408576040516376c7fc5560e01b81526001600160a01b0383811660048301528216906376c7fc5590602401600060405180830381600087803b1580156123ef57600080fd5b505af1158015612403573d6000803e3d6000fd5b505050505b50505b80546040516001600160a01b038516917ffe4c6998a06520b63340a48710b374432cb395da90e4e5360e1ec7aeefebecef9161245291610100900460ff1690600090614ad7565b60405180910390a250506001600160a01b0316600090815261012e60205260409020805461ffff19169055565b60006001600160a01b0382166124e95760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016108d5565b506001600160a01b0316600090815260fe602052604090205490565b61250d612fbe565b610c7961251f36849003840184614c25565b82600061325f565b600080516020614fa78339815191526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166312d9a6ad82336040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440160006040518083038186803b1580156125ac57600080fd5b505afa1580156125c0573d6000803e3d6000fd5b50505050610bb9613716565b606060fc80546107fc90614939565b610c79338383613753565b6125f03383612b42565b61260c5760405162461bcd60e51b81526004016108d5906149bb565b61096a84848484613822565b606061262382612a75565b600061263a60408051602081019091526000815290565b9050600081511161265a5760405180602001604052806000815250612685565b8061266484613855565b604051602001612675929190614c42565b6040516020818303038152906040525b9392505050565b6001600160a01b0391821660009081526101006020908152604080832093909416825291909152205460ff1690565b600080516020614f608339815191526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166312d9a6ad82336040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440160006040518083038186803b15801561274057600080fd5b505afa158015612754573d6000803e3d6000fd5b505061012d80546001600160a01b0386166001600160a01b03199091168117909155604051908152600192507fb6bdbd44472629fc24a00b6f4ee3348b72c9eff333d0e9c16d78c49da1323c8f915060200160405180910390a25050565b60006127bc612fbe565b60006127c784613004565b905060018160038111156127dd576127dd614598565b14806127fa575060028160038111156127f8576127f8614598565b145b6128585760405162461bcd60e51b815260206004820152602960248201527f65546f6b656e206e6f7420666f756e64206f7220776974686472617773206e6f6044820152681d08185b1b1bddd95960ba1b60648201526084016108d5565b60003360405163f3fef3a360e01b81526001600160a01b038083166004830152602482018790529192509086169063f3fef3a3906044016020604051808303816000875af11580156128ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128d29190614aa1565b95945050505050565b6128e3612fbe565b610c796128f536849003840184614c25565b82612901576000612907565b83602001355b600061325f565b600054610100900460ff166129355760405162461bcd60e51b81526004016108d590614c71565b565b600054610100900460ff1661295e5760405162461bcd60e51b81526004016108d590614c71565b610c798282613956565b600054610100900460ff1661298f5760405162461bcd60e51b81526004016108d590614c71565b612935613996565b600054610100900460ff16158080156129b75750600054600160ff909116105b806129d15750303b1580156129d1575060005460ff166001145b6129ed5760405162461bcd60e51b81526004016108d59061496d565b6000805460ff191660011790558015612a10576000805461ff0019166101001790555b61012d80546001600160a01b0319166001600160a01b0384161790558015610c79576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600081815260fd60205260409020546001600160a01b0316610bb95760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016108d5565b600081815260ff6020526040902080546001600160a01b0319166001600160a01b0384169081179091558190612b09826113ae565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080612b4e836113ae565b9050806001600160a01b0316846001600160a01b03161480612b755750612b75818561268c565b806119e95750836001600160a01b0316612b8e84610970565b6001600160a01b031614949350505050565b826001600160a01b0316612bb3826113ae565b6001600160a01b031614612c175760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016108d5565b6001600160a01b038216612c795760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016108d5565b612c848383836139c9565b612c8f600082612ad4565b6001600160a01b038316600090815260fe60205260408120805460019290612cb8908490614cbc565b90915550506001600160a01b038216600090815260fe60205260408120805460019290612ce6908490614b13565b9091555050600081815260fd602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600080516020614fa7833981519152600080516020614f608339815191526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663c5b8f5cf8383336040516001600160e01b031960e086901b168152600481019390935260248301919091526001600160a01b0316604482015260640160006040518083038186803b158015612de457600080fd5b505afa158015612df8573d6000803e3d6000fd5b50505050505050565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612e3457610aa7836139d1565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612e8e575060408051601f3d908101601f19168201909252612e8b91810190614aa1565b60015b612ef15760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016108d5565b600080516020614f408339815191528114612f605760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016108d5565b50610aa7838383613a6d565b612f74613a92565b6033805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60335460ff16156129355760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016108d5565b6001600160a01b038116600090815261012e6020526040812060018154610100900460ff16600381111561303a5761303a614598565b146130875760405162461bcd60e51b815260206004820152601a60248201527f436f6d706f6e656e74206973206e6f7420616e2065546f6b656e00000000000060448201526064016108d5565b5460ff1692915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261096a908590613adb565b6001600160a01b038116600090815261012e6020526040812060028154610100900460ff16600381111561312157613121614598565b146130875760405162461bcd60e51b815260206004820152601d60248201527f436f6d706f6e656e74206973206e6f742061205269736b4d6f64756c6500000060448201526064016108d5565b6000816040516020016131819190614bfb565b604051602081830303815290604052805190602001209050919050565b6001600160a01b038116600090815261012e6020526040812060038154610100900460ff1660038111156131d4576131d4614598565b146130875760405162461bcd60e51b815260206004820152602260248201527f436f6d706f6e656e74206973206e6f742061205072656d69756d734163636f756044820152611b9d60f21b60648201526084016108d5565b6132368383613bad565b6132436000848484613cfb565b610aa75760405162461bcd60e51b81526004016108d590614ccf565b61326883613df9565b610160830151818061328257506001600160a01b03811633145b6132ce5760405162461bcd60e51b815260206004820181905260248201527f4f6e6c792074686520524d2063616e207265736f6c766520706f6c696369657360448201526064016108d5565b8215806132e6575042846101a0015164ffffffffff16115b6133325760405162461bcd60e51b815260206004820152601860248201527f43616e277420706179206578706972656420706f6c696379000000000000000060448201526064016108d5565b600061333d826130eb565b9050600181600381111561335357613353614598565b14806133705750600281600381111561336e5761336e614598565b145b6133e25760405162461bcd60e51b815260206004820152603a60248201527f4d6f64756c65206d75737420626520616374697665206f72206465707265636160448201527f74656420746f2070726f63657373207265736f6c7574696f6e7300000000000060648201526084016108d5565b846020015184111561342f5760405162461bcd60e51b81526020600482015260166024820152751c185e5bdd5d080f881c1bdb1a58de4b9c185e5bdd5d60521b60448201526064016108d5565b600080851190506000836001600160a01b03166373a952e86040518163ffffffff1660e01b8152600401602060405180830381865afa158015613476573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061349a9190614b26565b90506134a58161319e565b925060018360038111156134bb576134bb614598565b14806134d8575060028360038111156134d6576134d6614598565b145b6135565760405162461bcd60e51b815260206004820152604360248201527f5072656d69756d734163636f756e74206d75737420626520616374697665206f60448201527f72206465707265636174656420746f2070726f63657373207265736f6c7574696064820152626f6e7360e81b608482015260a4016108d5565b81156135d657600061356b88600001516113ae565b604051639d8c5ee760e01b81529091506001600160a01b03831690639d8c5ee79061359e9084908c908c90600401614d21565b600060405180830381600087803b1580156135b857600080fd5b505af11580156135cc573d6000803e3d6000fd5b5050505050613635565b60405163c7a9c70d60e01b81526001600160a01b0382169063c7a9c70d90613602908a90600401614bfb565b600060405180830381600087803b15801561361c57600080fd5b505af1158015613630573d6000803e3d6000fd5b505050505b6020870151604051636a448ef160e01b815260048101919091526001600160a01b03851690636a448ef190602401600060405180830381600087803b15801561367d57600080fd5b505af1158015613691573d6000803e3d6000fd5b5050505086600001518761016001516001600160a01b03167f54f4a270ea08f88dc23b2520d6b063fecb24d956c4496f447926d736338f545e886040516136da91815260200190565b60405180910390a38651600090815261012f6020526040812055851561370b5786516137069087613e60565b612df8565b8651612df890613fba565b61371e612fbe565b6033805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612fa13390565b816001600160a01b0316836001600160a01b0316036137b45760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016108d5565b6001600160a01b0383811660008181526101006020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61382d848484612ba0565b61383984848484613cfb565b61096a5760405162461bcd60e51b81526004016108d590614ccf565b60608160000361387c5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156138a6578061389081614d4e565b915061389f9050600a83614d7d565b9150613880565b60008167ffffffffffffffff8111156138c1576138c161439b565b6040519080825280601f01601f1916602001820160405280156138eb576020820181803683370190505b5090505b84156119e957613900600183614cbc565b915061390d600a86614d91565b613918906030614b13565b60f81b81838151811061392d5761392d614da5565b60200101906001600160f81b031916908160001a90535061394f600a86614d7d565b94506138ef565b600054610100900460ff1661397d5760405162461bcd60e51b81526004016108d590614c71565b60fb6139898382614e09565b5060fc610aa78282614e09565b600054610100900460ff166139bd5760405162461bcd60e51b81526004016108d590614c71565b6033805460ff19169055565b610aa7612fbe565b6001600160a01b0381163b613a3e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016108d5565b600080516020614f4083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b613a7683614061565b600082511180613a835750805b15610aa75761096a83836140a1565b60335460ff166129355760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016108d5565b6000613b30826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661418c9092919063ffffffff16565b805190915015610aa75780806020019051810190613b4e9190614aba565b610aa75760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016108d5565b6001600160a01b038216613c035760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016108d5565b600081815260fd60205260409020546001600160a01b031615613c685760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016108d5565b613c74600083836139c9565b6001600160a01b038216600090815260fe60205260408120805460019290613c9d908490614b13565b9091555050600081815260fd602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60006001600160a01b0384163b15613df157604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290613d3f903390899088908890600401614ec9565b6020604051808303816000875af1925050508015613d7a575060408051601f3d908101601f19168201909252613d7791810190614f06565b60015b613dd7573d808015613da8576040519150601f19603f3d011682016040523d82523d6000602084013e613dad565b606091505b508051600003613dcf5760405162461bcd60e51b81526004016108d590614ccf565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506119e9565b5060016119e9565b805115801590613e2157508051600090815261012f6020526040902054613e1f8261316e565b145b610bb95760405162461bcd60e51b815260206004820152601060248201526f141bdb1a58de481b9bdd08199bdd5b9960821b60448201526064016108d5565b6000613e6b836113ae565b90506001600160a01b0381163b613e8157505050565b6001600160a01b03811663d6281d3e336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015230602482015260448101869052606481018590526084016020604051808303816000875af1925050508015613f07575060408051601f3d908101601f19168201909252613f0491810190614f06565b60015b613f4a573d808015613f35576040519150601f19603f3d011682016040523d82523d6000602084013e613f3a565b606091505b508051600003613dcf5750505050565b6001600160e01b03198116636b140e9f60e11b1461096a5760405162461bcd60e51b815260206004820152602760248201527f496e76616c69642072657475726e2076616c75652066726f6d20506f6c696379604482015266102437b63232b960c91b60648201526084016108d5565b6000613fc5826113ae565b90506001600160a01b0381163b613fda575050565b6001600160a01b03811663e8e617b7336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604481018590526064016020604051808303816000875af1925050508015614059575060408051601f3d908101601f1916820190925261405691810190614f06565b60015b610aa7575050565b61406a816139d1565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6141095760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016108d5565b600080846001600160a01b0316846040516141249190614f23565b600060405180830381855af49150503d806000811461415f576040519150601f19603f3d011682016040523d82523d6000602084013e614164565b606091505b50915091506128d28282604051806060016040528060278152602001614f806027913961419b565b60606119e984846000856141d4565b606083156141aa575081612685565b8251156141ba5782518084602001fd5b8160405162461bcd60e51b81526004016108d59190614388565b6060824710156142355760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016108d5565b6001600160a01b0385163b61428c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016108d5565b600080866001600160a01b031685876040516142a89190614f23565b60006040518083038185875af1925050503d80600081146142e5576040519150601f19603f3d011682016040523d82523d6000602084013e6142ea565b606091505b50915091506142fa82828661419b565b979650505050505050565b6001600160e01b031981168114610bb957600080fd5b60006020828403121561432d57600080fd5b813561268581614305565b60005b8381101561435357818101518382015260200161433b565b50506000910152565b60008151808452614374816020860160208601614338565b601f01601f19169290920160200192915050565b602081526000612685602083018461435c565b634e487b7160e01b600052604160045260246000fd5b6040516101c0810167ffffffffffffffff811182821017156143d5576143d561439b565b60405290565b600082601f8301126143ec57600080fd5b813567ffffffffffffffff808211156144075761440761439b565b604051601f8301601f19908116603f0116810190828211818310171561442f5761442f61439b565b8160405283815286602085880101111561444857600080fd5b836020870160208301376000602085830101528094505050505092915050565b6001600160a01b0381168114610bb957600080fd5b60008060006060848603121561449257600080fd5b833567ffffffffffffffff808211156144aa57600080fd5b6144b6878388016143db565b945060208601359150808211156144cc57600080fd5b506144d9868287016143db565b92505060408401356144ea81614468565b809150509250925092565b60006020828403121561450757600080fd5b5035919050565b6000806040838503121561452157600080fd5b823561452c81614468565b946020939093013593505050565b60008060006060848603121561454f57600080fd5b833561455a81614468565b9250602084013561456a81614468565b929592945050506040919091013590565b60006020828403121561458d57600080fd5b813561268581614468565b634e487b7160e01b600052602160045260246000fd5b60048110610bb957634e487b7160e01b600052602160045260246000fd5b602081016145d9836145ae565b91905290565b600080604083850312156145f257600080fd5b82356145fd81614468565b9150602083013567ffffffffffffffff81111561461957600080fd5b614625858286016143db565b9150509250929050565b60048110610bb957600080fd5b6000806040838503121561464f57600080fd5b823561465a81614468565b9150602083013561466a8161462f565b809150509250929050565b803561468081614468565b919050565b803564ffffffffff8116811461468057600080fd5b60006101c082840312156146ad57600080fd5b6146b56143b1565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140808301358183015250610160614733818401614675565b90820152610180614745838201614685565b908201526101a0614757838201614685565b9082015292915050565b600080600080610220858703121561477857600080fd5b614782868661469a565b93506101c085013561479381614468565b92506101e08501356147a481614468565b91506102008501356bffffffffffffffffffffffff811681146147c657600080fd5b939692955090935050565b60006101c082840312156147e457600080fd5b50919050565b60006101c082840312156147fd57600080fd5b61268583836147d1565b6000806101e0838503121561481b57600080fd5b61482584846147d1565b946101c0939093013593505050565b8015158114610bb957600080fd5b6000806040838503121561485557600080fd5b823561486081614468565b9150602083013561466a81614834565b6000806000806080858703121561488657600080fd5b843561489181614468565b935060208501356148a181614468565b925060408501359150606085013567ffffffffffffffff8111156148c457600080fd5b6148d0878288016143db565b91505092959194509250565b600080604083850312156148ef57600080fd5b82356148fa81614468565b9150602083013561466a81614468565b6000806101e0838503121561491e57600080fd5b61492884846147d1565b91506101c083013561466a81614834565b600181811c9082168061494d57607f821691505b6020821081036147e457634e487b7160e01b600052602260045260246000fd5b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602e908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526d1c881b9bdc88185c1c1c9bdd995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215614ab357600080fd5b5051919050565b600060208284031215614acc57600080fd5b815161268581614834565b60408101614ae4846145ae565b838252614af0836145ae565b8260208301529392505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156107e7576107e7614afd565b600060208284031215614b3857600080fd5b815161268581614468565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151614bcc828501826001600160a01b03169052565b50506101808181015164ffffffffff81168483015250506101a08181015164ffffffffff81168483015261096a565b6101c081016107e78284614b43565b600060208284031215614c1c57600080fd5b61268582614685565b60006101c08284031215614c3857600080fd5b612685838361469a565b60008351614c54818460208801614338565b835190830190614c68818360208801614338565b01949350505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b818103818111156107e7576107e7614afd565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b03841681526102008101614d3f6020830185614b43565b826101e0830152949350505050565b600060018201614d6057614d60614afd565b5060010190565b634e487b7160e01b600052601260045260246000fd5b600082614d8c57614d8c614d67565b500490565b600082614da057614da0614d67565b500690565b634e487b7160e01b600052603260045260246000fd5b601f821115610aa757600081815260208120601f850160051c81016020861015614de25750805b601f850160051c820191505b81811015614e0157828155600101614dee565b505050505050565b815167ffffffffffffffff811115614e2357614e2361439b565b614e3781614e318454614939565b84614dbb565b602080601f831160018114614e6c5760008415614e545750858301515b600019600386901b1c1916600185901b178555614e01565b600085815260208120601f198616915b82811015614e9b57888601518255948401946001909101908401614e7c565b5085821015614eb95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090614efc9083018461435c565b9695505050505050565b600060208284031215614f1857600080fd5b815161268581614305565b60008251614f35818460208701614338565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb2416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656455435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a26469706673582212201e3a01964b43e0c765f3a1ca835c522b291b2fc8ae4bd887ba9c05aa9490273764736f6c63430008100033",
|
|
1296
|
+
"deployedBytecode": "0x6080604052600436106102305760003560e01c80636352211e1161012e57806395d89b41116100ab578063e985e9c51161006f578063e985e9c5146106f9578063f0f4426014610719578063f3fef3a314610739578063f67b2bad14610759578063ffa600e31461077b57600080fd5b806395d89b4114610651578063a22cb46514610666578063b88d4fde14610686578063c87b56dd146106a6578063e5a6b10f146106c657600080fd5b806370a08231116100f257806370a082311461059957806371907f17146105b95780637a702b3c146105ec57806382afd23b1461060c5780638456cb591461063c57600080fd5b80636352211e146104f95780636769a76f146105195780636af6f1ef146105395780636b8734e7146105595780636f86c8971461057957600080fd5b80633f4ba83a116101bc57806352d1902d1161018057806352d1902d146104595780635b494dd51461046e5780635c975abb146104a25780635fcbf445146104ba57806361d027b3146104da57600080fd5b80633f4ba83a146103bd57806342842e0e146103d257806347e7ef24146103f25780634a47a3e0146104125780634f1ef2861461044657600080fd5b8063095ea7b311610203578063095ea7b3146102e657806323b872dd1461030657806324ea54f41461032657806333d6157a146103565780633659cfe61461039d57600080fd5b806301ffc9a71461023557806306fdde031461026a578063077f224a1461028c578063081812fc146102ae575b600080fd5b34801561024157600080fd5b5061025561025036600461431b565b61079b565b60405190151581526020015b60405180910390f35b34801561027657600080fd5b5061027f6107ed565b6040516102619190614388565b34801561029857600080fd5b506102ac6102a736600461447d565b61087f565b005b3480156102ba57600080fd5b506102ce6102c93660046144f5565b610970565b6040516001600160a01b039091168152602001610261565b3480156102f257600080fd5b506102ac61030136600461450e565b610997565b34801561031257600080fd5b506102ac61032136600461453a565b610aac565b34801561033257600080fd5b50610348600080516020614fa783398151915281565b604051908152602001610261565b34801561036257600080fd5b5061039061037136600461457b565b6001600160a01b0316600090815261012e602052604090205460ff1690565b60405161026191906145cc565b3480156103a957600080fd5b506102ac6103b836600461457b565b610add565b3480156103c957600080fd5b506102ac610bbc565b3480156103de57600080fd5b506102ac6103ed36600461453a565b610c7d565b3480156103fe57600080fd5b506102ac61040d36600461450e565b610c98565b34801561041e57600080fd5b506103487fa82e22387fca439f316d78ca566f383218ab8ae1b3e830178c9c82cbd16749c081565b6102ac6104543660046145df565b610db6565b34801561046557600080fd5b50610348610e82565b34801561047a57600080fd5b506103487f5ec196419322369c6bac572d883f4d990ae5ec82f7d93cdf89b85dbb05b63c2781565b3480156104ae57600080fd5b5060335460ff16610255565b3480156104c657600080fd5b506102ac6104d536600461463c565b610f35565b3480156104e657600080fd5b5061012d546001600160a01b03166102ce565b34801561050557600080fd5b506102ce6105143660046144f5565b6113ae565b34801561052557600080fd5b50610348610534366004614761565b61140e565b34801561054557600080fd5b506102ac6105543660046147ea565b6119f1565b34801561056557600080fd5b506102ac61057436600461463c565b611a75565b34801561058557600080fd5b506102ac61059436600461457b565b611e99565b3480156105a557600080fd5b506103486105b436600461457b565b61247f565b3480156105c557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006102ce565b3480156105f857600080fd5b506102ac610607366004614807565b612505565b34801561061857600080fd5b506102556106273660046144f5565b600090815261012f6020526040902054151590565b34801561064857600080fd5b506102ac612527565b34801561065d57600080fd5b5061027f6125cc565b34801561067257600080fd5b506102ac610681366004614842565b6125db565b34801561069257600080fd5b506102ac6106a1366004614870565b6125e6565b3480156106b257600080fd5b5061027f6106c13660046144f5565b612618565b3480156106d257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006102ce565b34801561070557600080fd5b506102556107143660046148dc565b61268c565b34801561072557600080fd5b506102ac61073436600461457b565b6126bb565b34801561074557600080fd5b5061034861075436600461450e565b6127b2565b34801561076557600080fd5b50610348600080516020614f6083398151915281565b34801561078757600080fd5b506102ac61079636600461490a565b6128db565b60006001600160e01b031982166380ac58cd60e01b14806107cc57506001600160e01b03198216635b5e139f60e01b145b806107e757506301ffc9a760e01b6001600160e01b03198316145b92915050565b606060fb80546107fc90614939565b80601f016020809104026020016040519081016040528092919081815260200182805461082890614939565b80156108755780601f1061084a57610100808354040283529160200191610875565b820191906000526020600020905b81548152906001019060200180831161085857829003601f168201915b5050505050905090565b600054610100900460ff161580801561089f5750600054600160ff909116105b806108b95750303b1580156108b9575060005460ff166001145b6108de5760405162461bcd60e51b81526004016108d59061496d565b60405180910390fd5b6000805460ff191660011790558015610901576000805461ff0019166101001790555b61090961290e565b6109138484612937565b61091b612968565b61092482612997565b801561096a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b600061097b82612a75565b50600090815260ff60205260409020546001600160a01b031690565b60006109a2826113ae565b9050806001600160a01b0316836001600160a01b031603610a0f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016108d5565b336001600160a01b0382161480610a2b5750610a2b813361268c565b610a9d5760405162461bcd60e51b815260206004820152603e60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c000060648201526084016108d5565b610aa78383612ad4565b505050565b610ab63382612b42565b610ad25760405162461bcd60e51b81526004016108d5906149bb565b610aa7838383612ba0565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610b255760405162461bcd60e51b81526004016108d590614a09565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610b6e600080516020614f40833981519152546001600160a01b031690565b6001600160a01b031614610b945760405162461bcd60e51b81526004016108d590614a55565b610b9d81612d47565b60408051600080825260208201909252610bb991839190612e01565b50565b600080516020614fa7833981519152600080516020614f608339815191526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663c5b8f5cf8383336040516001600160e01b031960e086901b168152600481019390935260248301919091526001600160a01b0316604482015260640160006040518083038186803b158015610c5957600080fd5b505afa158015610c6d573d6000803e3d6000fd5b50505050610c79612f6c565b5050565b610aa7838383604051806020016040528060008152506125e6565b610ca0612fbe565b6001610cab83613004565b6003811115610cbc57610cbc614598565b14610d005760405162461bcd60e51b815260206004820152601460248201527365546f6b656e206973206e6f742061637469766560601b60448201526064016108d5565b610d357f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316338484613091565b6001600160a01b0382166347e7ef24336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015610d92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa79190614aa1565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610dfe5760405162461bcd60e51b81526004016108d590614a09565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610e47600080516020614f40833981519152546001600160a01b031690565b6001600160a01b031614610e6d5760405162461bcd60e51b81526004016108d590614a55565b610e7682612d47565b610c7982826001612e01565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f225760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016108d5565b50600080516020614f4083398151915290565b600080516020614fa7833981519152600080516020614f608339815191526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663c5b8f5cf8383336040516001600160e01b031960e086901b168152600481019390935260248301919091526001600160a01b0316604482015260640160006040518083038186803b158015610fd257600080fd5b505afa158015610fe6573d6000803e3d6000fd5b5050506001600160a01b038516600090815261012e602052604081209150815460ff16600381111561101a5761101a614598565b0361105d5760405162461bcd60e51b815260206004820152601360248201527210dbdb5c1bdb995b9d081b9bdd08199bdd5b99606a1b60448201526064016108d5565b600184600381111561107157611071614598565b14801561112657506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166391d14854600080516020614f60833981519152336040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401602060405180830381865afa158015611102573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111269190614aba565b806111f55750600384600381111561114057611140614598565b1480156111f557506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166391d14854600080516020614fa7833981519152336040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401602060405180830381865afa1580156111d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f59190614aba565b806112c45750600284600381111561120f5761120f614598565b1480156112c457506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166391d14854600080516020614f60833981519152336040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401602060405180830381865afa1580156112a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c49190614aba565b6113365760405162461bcd60e51b815260206004820152603e60248201527f4f6e6c7920475541524449414e2063616e2073757370656e64202f204f6e6c7960448201527f204c4556454c312063616e2061637469766174652f646570726563617465000060648201526084016108d5565b80548490829060ff1916600183600381111561135457611354614598565b021790555080546040516001600160a01b038716917ffe4c6998a06520b63340a48710b374432cb395da90e4e5360e1ec7aeefebecef9161139f91610100900460ff16908890614ad7565b60405180910390a25050505050565b600081815260fd60205260408120546001600160a01b0316806107e75760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016108d5565b6000611418612fbe565b6101608501516001600160a01b03811633146114825760405162461bcd60e51b815260206004820152602360248201527f4f6e6c792074686520524d2063616e20637265617465206e657720706f6c696360448201526269657360e81b60648201526084016108d5565b600161148d826130eb565b600381111561149e5761149e614598565b146114f55760405162461bcd60e51b815260206004820152602160248201527f524d206d6f64756c65206e6f7420666f756e64206f72206e6f742061637469766044820152606560f81b60648201526084016108d5565b6115206bffffffffffffffffffffffff84166bffffffffffffffffffffffff19606084901b16614b13565b865261152b8661316e565b61012f600088600001518152602001908152602001600020819055506000816001600160a01b03166373a952e86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611587573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ab9190614b26565b905060016115b88261319e565b60038111156115c9576115c9614598565b146116265760405162461bcd60e51b815260206004820152602760248201527f5072656d69756d734163636f756e74206e6f7420666f756e64206f72206e6f746044820152662061637469766560c81b60648201526084016108d5565b60405163e3638ea360e01b81526001600160a01b0382169063e3638ea390611652908a90600401614bfb565b600060405180830381600087803b15801561166c57600080fd5b505af1158015611680573d6000803e3d6000fd5b505050506116a28588600001516040518060200160405280600081525061322c565b60c08701516116df906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169088908490613091565b610140870151156117885761178886826001600160a01b0316637b83037b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561172c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117509190614b26565b6101408a01516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190613091565b610120870151156118315761183186826001600160a01b031663536ebbfc6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f99190614b26565b6101208a01516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190613091565b61012d5460e0880151611876916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116928a929190911690613091565b60008761010001511180156118fe5750816001600160a01b031663521eb2736040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e89190614b26565b6001600160a01b0316866001600160a01b031614155b156119a1576119a186836001600160a01b031663521eb2736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611945573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119699190614b26565b6101008a01516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016929190613091565b816001600160a01b03167f38f420e3792044ba61536a1f83956eefc878b3fb09a7d4a28790f05b6a3eaf3b886040516119da9190614bfb565b60405180910390a25050845190505b949350505050565b6119f9612fbe565b42611a0c6101c083016101a08401614c0a565b64ffffffffff161115611a5a5760405162461bcd60e51b8152602060048201526016602482015275141bdb1a58de481b9bdd08195e1c1a5c9959081e595d60521b60448201526064016108d5565b610bb9611a6c36839003830183614c25565b6000600161325f565b600080516020614f608339815191526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166312d9a6ad82336040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440160006040518083038186803b158015611afa57600080fd5b505afa158015611b0e573d6000803e3d6000fd5b5050506001600160a01b038416600090815261012e602052604081209150815460ff166003811115611b4257611b42614598565b14611b8f5760405162461bcd60e51b815260206004820152601d60248201527f436f6d706f6e656e7420616c726561647920696e2074686520706f6f6c00000060448201526064016108d5565b306001600160a01b0316846001600160a01b0316634d15eb036040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfb9190614b26565b6001600160a01b031614611c5b5760405162461bcd60e51b815260206004820152602160248201527f436f6d706f6e656e74206e6f74206c696e6b656420746f207468697320706f6f6044820152601b60fa1b60648201526084016108d5565b8054600160ff198216811783558491839161ffff1990911617610100836003811115611c8957611c89614598565b02179055506003836003811115611ca257611ca2614598565b03611e4f5760008490506000816001600160a01b031663536ebbfc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d109190614b26565b90506001600160a01b03811615611d7d576040516338ea38a760e21b81526001600160a01b03838116600483015282169063e3a8e29c90602401600060405180830381600087803b158015611d6457600080fd5b505af1158015611d78573d6000803e3d6000fd5b505050505b816001600160a01b0316637b83037b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddf9190614b26565b90506001600160a01b03811615611e4c576040516338ea38a760e21b81526001600160a01b03838116600483015282169063e3a8e29c90602401600060405180830381600087803b158015611e3357600080fd5b505af1158015611e47573d6000803e3d6000fd5b505050505b50505b836001600160a01b03167ffe4c6998a06520b63340a48710b374432cb395da90e4e5360e1ec7aeefebecef846001604051611e8b929190614ad7565b60405180910390a250505050565b600080516020614f608339815191526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166312d9a6ad82336040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440160006040518083038186803b158015611f1e57600080fd5b505afa158015611f32573d6000803e3d6000fd5b505050506001600160a01b038216600090815261012e602052604090206002815460ff166003811115611f6757611f67614598565b14611fb45760405162461bcd60e51b815260206004820152601860248201527f436f6d706f6e656e74206e6f742064657072656361746564000000000000000060448201526064016108d5565b60018154610100900460ff166003811115611fd157611fd1614598565b0361209957826001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120389190614aa1565b156120945760405162461bcd60e51b815260206004820152602660248201527f45546f6b656e20686173206c69717569646974792c2063616e27742062652072604482015265195b5bdd995960d21b60648201526084016108d5565b61240b565b60028154610100900460ff1660038111156120b6576120b6614598565b0361217d57826001600160a01b0316637ff8bf256040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061211d9190614aa1565b156120945760405162461bcd60e51b815260206004820152602a60248201527f43616e27742072656d6f76652061206d6f64756c6520776974682061637469766044820152696520706f6c696369657360b01b60648201526084016108d5565b60038154610100900460ff16600381111561219a5761219a614598565b0361240b576000839050806001600160a01b03166326ccbd226040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122069190614aa1565b156122685760405162461bcd60e51b815260206004820152602c60248201527f43616e27742072656d6f76652061205072656d69756d734163636f756e74207760448201526b697468207072656d69756d7360a01b60648201526084016108d5565b6000816001600160a01b031663536ebbfc6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122cc9190614b26565b90506001600160a01b03811615612339576040516376c7fc5560e01b81526001600160a01b0383811660048301528216906376c7fc5590602401600060405180830381600087803b15801561232057600080fd5b505af1158015612334573d6000803e3d6000fd5b505050505b816001600160a01b0316637b83037b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612377573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239b9190614b26565b90506001600160a01b03811615612408576040516376c7fc5560e01b81526001600160a01b0383811660048301528216906376c7fc5590602401600060405180830381600087803b1580156123ef57600080fd5b505af1158015612403573d6000803e3d6000fd5b505050505b50505b80546040516001600160a01b038516917ffe4c6998a06520b63340a48710b374432cb395da90e4e5360e1ec7aeefebecef9161245291610100900460ff1690600090614ad7565b60405180910390a250506001600160a01b0316600090815261012e60205260409020805461ffff19169055565b60006001600160a01b0382166124e95760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016108d5565b506001600160a01b0316600090815260fe602052604090205490565b61250d612fbe565b610c7961251f36849003840184614c25565b82600061325f565b600080516020614fa78339815191526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166312d9a6ad82336040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440160006040518083038186803b1580156125ac57600080fd5b505afa1580156125c0573d6000803e3d6000fd5b50505050610bb9613716565b606060fc80546107fc90614939565b610c79338383613753565b6125f03383612b42565b61260c5760405162461bcd60e51b81526004016108d5906149bb565b61096a84848484613822565b606061262382612a75565b600061263a60408051602081019091526000815290565b9050600081511161265a5760405180602001604052806000815250612685565b8061266484613855565b604051602001612675929190614c42565b6040516020818303038152906040525b9392505050565b6001600160a01b0391821660009081526101006020908152604080832093909416825291909152205460ff1690565b600080516020614f608339815191526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166312d9a6ad82336040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440160006040518083038186803b15801561274057600080fd5b505afa158015612754573d6000803e3d6000fd5b505061012d80546001600160a01b0386166001600160a01b03199091168117909155604051908152600192507fb6bdbd44472629fc24a00b6f4ee3348b72c9eff333d0e9c16d78c49da1323c8f915060200160405180910390a25050565b60006127bc612fbe565b60006127c784613004565b905060018160038111156127dd576127dd614598565b14806127fa575060028160038111156127f8576127f8614598565b145b6128585760405162461bcd60e51b815260206004820152602960248201527f65546f6b656e206e6f7420666f756e64206f7220776974686472617773206e6f6044820152681d08185b1b1bddd95960ba1b60648201526084016108d5565b60003360405163f3fef3a360e01b81526001600160a01b038083166004830152602482018790529192509086169063f3fef3a3906044016020604051808303816000875af11580156128ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128d29190614aa1565b95945050505050565b6128e3612fbe565b610c796128f536849003840184614c25565b82612901576000612907565b83602001355b600061325f565b600054610100900460ff166129355760405162461bcd60e51b81526004016108d590614c71565b565b600054610100900460ff1661295e5760405162461bcd60e51b81526004016108d590614c71565b610c798282613956565b600054610100900460ff1661298f5760405162461bcd60e51b81526004016108d590614c71565b612935613996565b600054610100900460ff16158080156129b75750600054600160ff909116105b806129d15750303b1580156129d1575060005460ff166001145b6129ed5760405162461bcd60e51b81526004016108d59061496d565b6000805460ff191660011790558015612a10576000805461ff0019166101001790555b61012d80546001600160a01b0319166001600160a01b0384161790558015610c79576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600081815260fd60205260409020546001600160a01b0316610bb95760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016108d5565b600081815260ff6020526040902080546001600160a01b0319166001600160a01b0384169081179091558190612b09826113ae565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080612b4e836113ae565b9050806001600160a01b0316846001600160a01b03161480612b755750612b75818561268c565b806119e95750836001600160a01b0316612b8e84610970565b6001600160a01b031614949350505050565b826001600160a01b0316612bb3826113ae565b6001600160a01b031614612c175760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016108d5565b6001600160a01b038216612c795760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016108d5565b612c848383836139c9565b612c8f600082612ad4565b6001600160a01b038316600090815260fe60205260408120805460019290612cb8908490614cbc565b90915550506001600160a01b038216600090815260fe60205260408120805460019290612ce6908490614b13565b9091555050600081815260fd602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600080516020614fa7833981519152600080516020614f608339815191526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663c5b8f5cf8383336040516001600160e01b031960e086901b168152600481019390935260248301919091526001600160a01b0316604482015260640160006040518083038186803b158015612de457600080fd5b505afa158015612df8573d6000803e3d6000fd5b50505050505050565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612e3457610aa7836139d1565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612e8e575060408051601f3d908101601f19168201909252612e8b91810190614aa1565b60015b612ef15760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016108d5565b600080516020614f408339815191528114612f605760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016108d5565b50610aa7838383613a6d565b612f74613a92565b6033805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60335460ff16156129355760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016108d5565b6001600160a01b038116600090815261012e6020526040812060018154610100900460ff16600381111561303a5761303a614598565b146130875760405162461bcd60e51b815260206004820152601a60248201527f436f6d706f6e656e74206973206e6f7420616e2065546f6b656e00000000000060448201526064016108d5565b5460ff1692915050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261096a908590613adb565b6001600160a01b038116600090815261012e6020526040812060028154610100900460ff16600381111561312157613121614598565b146130875760405162461bcd60e51b815260206004820152601d60248201527f436f6d706f6e656e74206973206e6f742061205269736b4d6f64756c6500000060448201526064016108d5565b6000816040516020016131819190614bfb565b604051602081830303815290604052805190602001209050919050565b6001600160a01b038116600090815261012e6020526040812060038154610100900460ff1660038111156131d4576131d4614598565b146130875760405162461bcd60e51b815260206004820152602260248201527f436f6d706f6e656e74206973206e6f742061205072656d69756d734163636f756044820152611b9d60f21b60648201526084016108d5565b6132368383613bad565b6132436000848484613cfb565b610aa75760405162461bcd60e51b81526004016108d590614ccf565b61326883613df9565b610160830151818061328257506001600160a01b03811633145b6132ce5760405162461bcd60e51b815260206004820181905260248201527f4f6e6c792074686520524d2063616e207265736f6c766520706f6c696369657360448201526064016108d5565b8215806132e6575042846101a0015164ffffffffff16115b6133325760405162461bcd60e51b815260206004820152601860248201527f43616e277420706179206578706972656420706f6c696379000000000000000060448201526064016108d5565b600061333d826130eb565b9050600181600381111561335357613353614598565b14806133705750600281600381111561336e5761336e614598565b145b6133e25760405162461bcd60e51b815260206004820152603a60248201527f4d6f64756c65206d75737420626520616374697665206f72206465707265636160448201527f74656420746f2070726f63657373207265736f6c7574696f6e7300000000000060648201526084016108d5565b846020015184111561342f5760405162461bcd60e51b81526020600482015260166024820152751c185e5bdd5d080f881c1bdb1a58de4b9c185e5bdd5d60521b60448201526064016108d5565b600080851190506000836001600160a01b03166373a952e86040518163ffffffff1660e01b8152600401602060405180830381865afa158015613476573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061349a9190614b26565b90506134a58161319e565b925060018360038111156134bb576134bb614598565b14806134d8575060028360038111156134d6576134d6614598565b145b6135565760405162461bcd60e51b815260206004820152604360248201527f5072656d69756d734163636f756e74206d75737420626520616374697665206f60448201527f72206465707265636174656420746f2070726f63657373207265736f6c7574696064820152626f6e7360e81b608482015260a4016108d5565b81156135d657600061356b88600001516113ae565b604051639d8c5ee760e01b81529091506001600160a01b03831690639d8c5ee79061359e9084908c908c90600401614d21565b600060405180830381600087803b1580156135b857600080fd5b505af11580156135cc573d6000803e3d6000fd5b5050505050613635565b60405163c7a9c70d60e01b81526001600160a01b0382169063c7a9c70d90613602908a90600401614bfb565b600060405180830381600087803b15801561361c57600080fd5b505af1158015613630573d6000803e3d6000fd5b505050505b6020870151604051636a448ef160e01b815260048101919091526001600160a01b03851690636a448ef190602401600060405180830381600087803b15801561367d57600080fd5b505af1158015613691573d6000803e3d6000fd5b5050505086600001518761016001516001600160a01b03167f54f4a270ea08f88dc23b2520d6b063fecb24d956c4496f447926d736338f545e886040516136da91815260200190565b60405180910390a38651600090815261012f6020526040812055851561370b5786516137069087613e60565b612df8565b8651612df890613fba565b61371e612fbe565b6033805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612fa13390565b816001600160a01b0316836001600160a01b0316036137b45760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016108d5565b6001600160a01b0383811660008181526101006020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61382d848484612ba0565b61383984848484613cfb565b61096a5760405162461bcd60e51b81526004016108d590614ccf565b60608160000361387c5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156138a6578061389081614d4e565b915061389f9050600a83614d7d565b9150613880565b60008167ffffffffffffffff8111156138c1576138c161439b565b6040519080825280601f01601f1916602001820160405280156138eb576020820181803683370190505b5090505b84156119e957613900600183614cbc565b915061390d600a86614d91565b613918906030614b13565b60f81b81838151811061392d5761392d614da5565b60200101906001600160f81b031916908160001a90535061394f600a86614d7d565b94506138ef565b600054610100900460ff1661397d5760405162461bcd60e51b81526004016108d590614c71565b60fb6139898382614e09565b5060fc610aa78282614e09565b600054610100900460ff166139bd5760405162461bcd60e51b81526004016108d590614c71565b6033805460ff19169055565b610aa7612fbe565b6001600160a01b0381163b613a3e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016108d5565b600080516020614f4083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b613a7683614061565b600082511180613a835750805b15610aa75761096a83836140a1565b60335460ff166129355760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016108d5565b6000613b30826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661418c9092919063ffffffff16565b805190915015610aa75780806020019051810190613b4e9190614aba565b610aa75760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016108d5565b6001600160a01b038216613c035760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016108d5565b600081815260fd60205260409020546001600160a01b031615613c685760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016108d5565b613c74600083836139c9565b6001600160a01b038216600090815260fe60205260408120805460019290613c9d908490614b13565b9091555050600081815260fd602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60006001600160a01b0384163b15613df157604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290613d3f903390899088908890600401614ec9565b6020604051808303816000875af1925050508015613d7a575060408051601f3d908101601f19168201909252613d7791810190614f06565b60015b613dd7573d808015613da8576040519150601f19603f3d011682016040523d82523d6000602084013e613dad565b606091505b508051600003613dcf5760405162461bcd60e51b81526004016108d590614ccf565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506119e9565b5060016119e9565b805115801590613e2157508051600090815261012f6020526040902054613e1f8261316e565b145b610bb95760405162461bcd60e51b815260206004820152601060248201526f141bdb1a58de481b9bdd08199bdd5b9960821b60448201526064016108d5565b6000613e6b836113ae565b90506001600160a01b0381163b613e8157505050565b6001600160a01b03811663d6281d3e336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015230602482015260448101869052606481018590526084016020604051808303816000875af1925050508015613f07575060408051601f3d908101601f19168201909252613f0491810190614f06565b60015b613f4a573d808015613f35576040519150601f19603f3d011682016040523d82523d6000602084013e613f3a565b606091505b508051600003613dcf5750505050565b6001600160e01b03198116636b140e9f60e11b1461096a5760405162461bcd60e51b815260206004820152602760248201527f496e76616c69642072657475726e2076616c75652066726f6d20506f6c696379604482015266102437b63232b960c91b60648201526084016108d5565b6000613fc5826113ae565b90506001600160a01b0381163b613fda575050565b6001600160a01b03811663e8e617b7336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604481018590526064016020604051808303816000875af1925050508015614059575060408051601f3d908101601f1916820190925261405691810190614f06565b60015b610aa7575050565b61406a816139d1565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6141095760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016108d5565b600080846001600160a01b0316846040516141249190614f23565b600060405180830381855af49150503d806000811461415f576040519150601f19603f3d011682016040523d82523d6000602084013e614164565b606091505b50915091506128d28282604051806060016040528060278152602001614f806027913961419b565b60606119e984846000856141d4565b606083156141aa575081612685565b8251156141ba5782518084602001fd5b8160405162461bcd60e51b81526004016108d59190614388565b6060824710156142355760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016108d5565b6001600160a01b0385163b61428c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016108d5565b600080866001600160a01b031685876040516142a89190614f23565b60006040518083038185875af1925050503d80600081146142e5576040519150601f19603f3d011682016040523d82523d6000602084013e6142ea565b606091505b50915091506142fa82828661419b565b979650505050505050565b6001600160e01b031981168114610bb957600080fd5b60006020828403121561432d57600080fd5b813561268581614305565b60005b8381101561435357818101518382015260200161433b565b50506000910152565b60008151808452614374816020860160208601614338565b601f01601f19169290920160200192915050565b602081526000612685602083018461435c565b634e487b7160e01b600052604160045260246000fd5b6040516101c0810167ffffffffffffffff811182821017156143d5576143d561439b565b60405290565b600082601f8301126143ec57600080fd5b813567ffffffffffffffff808211156144075761440761439b565b604051601f8301601f19908116603f0116810190828211818310171561442f5761442f61439b565b8160405283815286602085880101111561444857600080fd5b836020870160208301376000602085830101528094505050505092915050565b6001600160a01b0381168114610bb957600080fd5b60008060006060848603121561449257600080fd5b833567ffffffffffffffff808211156144aa57600080fd5b6144b6878388016143db565b945060208601359150808211156144cc57600080fd5b506144d9868287016143db565b92505060408401356144ea81614468565b809150509250925092565b60006020828403121561450757600080fd5b5035919050565b6000806040838503121561452157600080fd5b823561452c81614468565b946020939093013593505050565b60008060006060848603121561454f57600080fd5b833561455a81614468565b9250602084013561456a81614468565b929592945050506040919091013590565b60006020828403121561458d57600080fd5b813561268581614468565b634e487b7160e01b600052602160045260246000fd5b60048110610bb957634e487b7160e01b600052602160045260246000fd5b602081016145d9836145ae565b91905290565b600080604083850312156145f257600080fd5b82356145fd81614468565b9150602083013567ffffffffffffffff81111561461957600080fd5b614625858286016143db565b9150509250929050565b60048110610bb957600080fd5b6000806040838503121561464f57600080fd5b823561465a81614468565b9150602083013561466a8161462f565b809150509250929050565b803561468081614468565b919050565b803564ffffffffff8116811461468057600080fd5b60006101c082840312156146ad57600080fd5b6146b56143b1565b9050813581526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301358183015250610120808301358183015250610140808301358183015250610160614733818401614675565b90820152610180614745838201614685565b908201526101a0614757838201614685565b9082015292915050565b600080600080610220858703121561477857600080fd5b614782868661469a565b93506101c085013561479381614468565b92506101e08501356147a481614468565b91506102008501356bffffffffffffffffffffffff811681146147c657600080fd5b939692955090935050565b60006101c082840312156147e457600080fd5b50919050565b60006101c082840312156147fd57600080fd5b61268583836147d1565b6000806101e0838503121561481b57600080fd5b61482584846147d1565b946101c0939093013593505050565b8015158114610bb957600080fd5b6000806040838503121561485557600080fd5b823561486081614468565b9150602083013561466a81614834565b6000806000806080858703121561488657600080fd5b843561489181614468565b935060208501356148a181614468565b925060408501359150606085013567ffffffffffffffff8111156148c457600080fd5b6148d0878288016143db565b91505092959194509250565b600080604083850312156148ef57600080fd5b82356148fa81614468565b9150602083013561466a81614468565b6000806101e0838503121561491e57600080fd5b61492884846147d1565b91506101c083013561466a81614834565b600181811c9082168061494d57607f821691505b6020821081036147e457634e487b7160e01b600052602260045260246000fd5b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602e908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526d1c881b9bdc88185c1c1c9bdd995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215614ab357600080fd5b5051919050565b600060208284031215614acc57600080fd5b815161268581614834565b60408101614ae4846145ae565b838252614af0836145ae565b8260208301529392505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156107e7576107e7614afd565b600060208284031215614b3857600080fd5b815161268581614468565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e083015261010080820151818401525061012080820151818401525061014080820151818401525061016080820151614bcc828501826001600160a01b03169052565b50506101808181015164ffffffffff81168483015250506101a08181015164ffffffffff81168483015261096a565b6101c081016107e78284614b43565b600060208284031215614c1c57600080fd5b61268582614685565b60006101c08284031215614c3857600080fd5b612685838361469a565b60008351614c54818460208801614338565b835190830190614c68818360208801614338565b01949350505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b818103818111156107e7576107e7614afd565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b03841681526102008101614d3f6020830185614b43565b826101e0830152949350505050565b600060018201614d6057614d60614afd565b5060010190565b634e487b7160e01b600052601260045260246000fd5b600082614d8c57614d8c614d67565b500490565b600082614da057614da0614d67565b500690565b634e487b7160e01b600052603260045260246000fd5b601f821115610aa757600081815260208120601f850160051c81016020861015614de25750805b601f850160051c820191505b81811015614e0157828155600101614dee565b505050505050565b815167ffffffffffffffff811115614e2357614e2361439b565b614e3781614e318454614939565b84614dbb565b602080601f831160018114614e6c5760008415614e545750858301515b600019600386901b1c1916600185901b178555614e01565b600085815260208120601f198616915b82811015614e9b57888601518255948401946001909101908401614e7c565b5085821015614eb95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090614efc9083018461435c565b9695505050505050565b600060208284031215614f1857600080fd5b815161268581614305565b60008251614f35818460208701614338565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcbf372ca3ebecfe59ac256f17697941bbe63302aced610e8b0e3646f743c7beb2416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656455435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041a26469706673582212201e3a01964b43e0c765f3a1ca835c522b291b2fc8ae4bd887ba9c05aa9490273764736f6c63430008100033",
|
|
1167
1297
|
"linkReferences": {},
|
|
1168
1298
|
"deployedLinkReferences": {}
|
|
1169
1299
|
}
|