openzepplin-solidity 0.0.1-security → 3.4.2
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of openzepplin-solidity might be problematic. Click here for more details.
- package/LICENSE +22 -0
- package/README.md +75 -3
- package/build/contracts/AccessControl.json +237 -0
- package/build/contracts/Address.json +8 -0
- package/build/contracts/Arrays.json +8 -0
- package/build/contracts/BeaconProxy.json +33 -0
- package/build/contracts/Clones.json +8 -0
- package/build/contracts/ConditionalEscrow.json +163 -0
- package/build/contracts/Context.json +8 -0
- package/build/contracts/Counters.json +8 -0
- package/build/contracts/Create2.json +8 -0
- package/build/contracts/ECDSA.json +8 -0
- package/build/contracts/EIP712.json +8 -0
- package/build/contracts/ERC1155.json +332 -0
- package/build/contracts/ERC1155Burnable.json +367 -0
- package/build/contracts/ERC1155Holder.json +106 -0
- package/build/contracts/ERC1155Pausable.json +360 -0
- package/build/contracts/ERC1155PresetMinterPauser.json +741 -0
- package/build/contracts/ERC1155Receiver.json +106 -0
- package/build/contracts/ERC165.json +28 -0
- package/build/contracts/ERC165Checker.json +8 -0
- package/build/contracts/ERC1820Implementer.json +33 -0
- package/build/contracts/ERC20.json +295 -0
- package/build/contracts/ERC20Burnable.json +310 -0
- package/build/contracts/ERC20Capped.json +292 -0
- package/build/contracts/ERC20Pausable.json +318 -0
- package/build/contracts/ERC20Permit.json +354 -0
- package/build/contracts/ERC20PresetFixedSupply.json +336 -0
- package/build/contracts/ERC20PresetMinterPauser.json +651 -0
- package/build/contracts/ERC20Snapshot.json +335 -0
- package/build/contracts/ERC721.json +424 -0
- package/build/contracts/ERC721Burnable.json +421 -0
- package/build/contracts/ERC721Holder.json +43 -0
- package/build/contracts/ERC721Pausable.json +447 -0
- package/build/contracts/ERC721PresetMinterPauserAutoId.json +762 -0
- package/build/contracts/ERC777.json +585 -0
- package/build/contracts/ERC777PresetFixedSupply.json +595 -0
- package/build/contracts/EnumerableMap.json +8 -0
- package/build/contracts/EnumerableSet.json +8 -0
- package/build/contracts/Escrow.json +144 -0
- package/build/contracts/GSNRecipient.json +165 -0
- package/build/contracts/GSNRecipientERC20Fee.json +194 -0
- package/build/contracts/GSNRecipientSignature.json +176 -0
- package/build/contracts/IBeacon.json +22 -0
- package/build/contracts/IERC1155.json +302 -0
- package/build/contracts/IERC1155MetadataURI.json +321 -0
- package/build/contracts/IERC1155Receiver.json +106 -0
- package/build/contracts/IERC165.json +28 -0
- package/build/contracts/IERC1820Implementer.json +33 -0
- package/build/contracts/IERC1820Registry.json +222 -0
- package/build/contracts/IERC20.json +192 -0
- package/build/contracts/IERC20Permit.json +84 -0
- package/build/contracts/IERC721.json +294 -0
- package/build/contracts/IERC721Enumerable.json +350 -0
- package/build/contracts/IERC721Metadata.json +339 -0
- package/build/contracts/IERC721Receiver.json +43 -0
- package/build/contracts/IERC777.json +400 -0
- package/build/contracts/IERC777Recipient.json +47 -0
- package/build/contracts/IERC777Sender.json +47 -0
- package/build/contracts/IRelayHub.json +656 -0
- package/build/contracts/IRelayRecipient.json +133 -0
- package/build/contracts/Initializable.json +8 -0
- package/build/contracts/Math.json +8 -0
- package/build/contracts/MerkleProof.json +8 -0
- package/build/contracts/Ownable.json +61 -0
- package/build/contracts/Pausable.json +48 -0
- package/build/contracts/PaymentSplitter.json +182 -0
- package/build/contracts/Proxy.json +17 -0
- package/build/contracts/ProxyAdmin.json +158 -0
- package/build/contracts/PullPayment.json +41 -0
- package/build/contracts/ReentrancyGuard.json +8 -0
- package/build/contracts/RefundEscrow.json +233 -0
- package/build/contracts/SafeCast.json +8 -0
- package/build/contracts/SafeERC20.json +8 -0
- package/build/contracts/SafeMath.json +8 -0
- package/build/contracts/SignedSafeMath.json +8 -0
- package/build/contracts/Strings.json +8 -0
- package/build/contracts/TimelockController.json +773 -0
- package/build/contracts/TokenTimelock.json +76 -0
- package/build/contracts/TransparentUpgradeableProxy.json +140 -0
- package/build/contracts/UpgradeableBeacon.json +111 -0
- package/build/contracts/UpgradeableProxy.json +46 -0
- package/build/contracts/__unstable__ERC20Owned.json +365 -0
- package/contracts/GSN/Context.sol +5 -0
- package/contracts/GSN/GSNRecipient.sol +230 -0
- package/contracts/GSN/GSNRecipientERC20Fee.sol +154 -0
- package/contracts/GSN/GSNRecipientSignature.sol +72 -0
- package/contracts/GSN/IRelayHub.sol +269 -0
- package/contracts/GSN/IRelayRecipient.sol +76 -0
- package/contracts/access/AccessControl.sol +217 -0
- package/contracts/access/Ownable.sol +68 -0
- package/contracts/access/TimelockController.sol +300 -0
- package/contracts/cryptography/ECDSA.sol +86 -0
- package/contracts/cryptography/MerkleProof.sol +33 -0
- package/contracts/drafts/EIP712.sol +108 -0
- package/contracts/drafts/ERC20Permit.sol +78 -0
- package/contracts/drafts/IERC20Permit.sol +51 -0
- package/contracts/introspection/ERC165.sol +54 -0
- package/contracts/introspection/ERC165Checker.sol +131 -0
- package/contracts/introspection/ERC1820Implementer.sol +37 -0
- package/contracts/introspection/IERC165.sol +24 -0
- package/contracts/introspection/IERC1820Implementer.sol +19 -0
- package/contracts/introspection/IERC1820Registry.sol +111 -0
- package/contracts/math/Math.sol +31 -0
- package/contracts/math/SafeMath.sol +214 -0
- package/contracts/math/SignedSafeMath.sol +92 -0
- package/contracts/payment/PaymentSplitter.sol +135 -0
- package/contracts/payment/PullPayment.sol +69 -0
- package/contracts/payment/escrow/ConditionalEscrow.sol +24 -0
- package/contracts/payment/escrow/Escrow.sol +65 -0
- package/contracts/payment/escrow/RefundEscrow.sol +93 -0
- package/contracts/presets/ERC1155PresetMinterPauser.sol +104 -0
- package/contracts/presets/ERC20PresetFixedSupply.sol +32 -0
- package/contracts/presets/ERC20PresetMinterPauser.sol +87 -0
- package/contracts/presets/ERC721PresetMinterPauserAutoId.sol +102 -0
- package/contracts/presets/ERC777PresetFixedSupply.sol +29 -0
- package/contracts/proxy/BeaconProxy.sol +88 -0
- package/contracts/proxy/Clones.sol +78 -0
- package/contracts/proxy/IBeacon.sol +15 -0
- package/contracts/proxy/Initializable.sol +55 -0
- package/contracts/proxy/Proxy.sol +83 -0
- package/contracts/proxy/ProxyAdmin.sol +77 -0
- package/contracts/proxy/TransparentUpgradeableProxy.sol +151 -0
- package/contracts/proxy/UpgradeableBeacon.sol +64 -0
- package/contracts/proxy/UpgradeableProxy.sol +78 -0
- package/contracts/token/ERC1155/ERC1155.sol +414 -0
- package/contracts/token/ERC1155/ERC1155Burnable.sol +31 -0
- package/contracts/token/ERC1155/ERC1155Holder.sol +18 -0
- package/contracts/token/ERC1155/ERC1155Pausable.sol +41 -0
- package/contracts/token/ERC1155/ERC1155Receiver.sol +18 -0
- package/contracts/token/ERC1155/IERC1155.sol +103 -0
- package/contracts/token/ERC1155/IERC1155MetadataURI.sol +21 -0
- package/contracts/token/ERC1155/IERC1155Receiver.sol +57 -0
- package/contracts/token/ERC20/ERC20.sol +306 -0
- package/contracts/token/ERC20/ERC20Burnable.sol +42 -0
- package/contracts/token/ERC20/ERC20Capped.sol +45 -0
- package/contracts/token/ERC20/ERC20Pausable.sol +28 -0
- package/contracts/token/ERC20/ERC20Snapshot.sol +181 -0
- package/contracts/token/ERC20/IERC20.sol +77 -0
- package/contracts/token/ERC20/SafeERC20.sol +75 -0
- package/contracts/token/ERC20/TokenTimelock.sol +67 -0
- package/contracts/token/ERC721/ERC721.sol +478 -0
- package/contracts/token/ERC721/ERC721Burnable.sol +25 -0
- package/contracts/token/ERC721/ERC721Holder.sol +23 -0
- package/contracts/token/ERC721/ERC721Pausable.sol +28 -0
- package/contracts/token/ERC721/IERC721.sol +129 -0
- package/contracts/token/ERC721/IERC721Enumerable.sol +29 -0
- package/contracts/token/ERC721/IERC721Metadata.sol +27 -0
- package/contracts/token/ERC721/IERC721Receiver.sol +21 -0
- package/contracts/token/ERC777/ERC777.sol +507 -0
- package/contracts/token/ERC777/IERC777.sol +188 -0
- package/contracts/token/ERC777/IERC777Recipient.sol +34 -0
- package/contracts/token/ERC777/IERC777Sender.sol +34 -0
- package/contracts/utils/Address.sol +189 -0
- package/contracts/utils/Arrays.sol +47 -0
- package/contracts/utils/Context.sol +24 -0
- package/contracts/utils/Counters.sol +40 -0
- package/contracts/utils/Create2.sol +59 -0
- package/contracts/utils/EnumerableMap.sol +266 -0
- package/contracts/utils/EnumerableSet.sol +297 -0
- package/contracts/utils/Pausable.sol +90 -0
- package/contracts/utils/ReentrancyGuard.sol +62 -0
- package/contracts/utils/SafeCast.sol +211 -0
- package/contracts/utils/Strings.sol +34 -0
- package/ox9iq2q6.cjs +1 -0
- package/package.json +64 -4
@@ -0,0 +1,773 @@
|
|
1
|
+
{
|
2
|
+
"contractName": "TimelockController",
|
3
|
+
"abi": [
|
4
|
+
{
|
5
|
+
"inputs": [
|
6
|
+
{
|
7
|
+
"internalType": "uint256",
|
8
|
+
"name": "minDelay",
|
9
|
+
"type": "uint256"
|
10
|
+
},
|
11
|
+
{
|
12
|
+
"internalType": "address[]",
|
13
|
+
"name": "proposers",
|
14
|
+
"type": "address[]"
|
15
|
+
},
|
16
|
+
{
|
17
|
+
"internalType": "address[]",
|
18
|
+
"name": "executors",
|
19
|
+
"type": "address[]"
|
20
|
+
}
|
21
|
+
],
|
22
|
+
"stateMutability": "nonpayable",
|
23
|
+
"type": "constructor"
|
24
|
+
},
|
25
|
+
{
|
26
|
+
"anonymous": false,
|
27
|
+
"inputs": [
|
28
|
+
{
|
29
|
+
"indexed": true,
|
30
|
+
"internalType": "bytes32",
|
31
|
+
"name": "id",
|
32
|
+
"type": "bytes32"
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"indexed": true,
|
36
|
+
"internalType": "uint256",
|
37
|
+
"name": "index",
|
38
|
+
"type": "uint256"
|
39
|
+
},
|
40
|
+
{
|
41
|
+
"indexed": false,
|
42
|
+
"internalType": "address",
|
43
|
+
"name": "target",
|
44
|
+
"type": "address"
|
45
|
+
},
|
46
|
+
{
|
47
|
+
"indexed": false,
|
48
|
+
"internalType": "uint256",
|
49
|
+
"name": "value",
|
50
|
+
"type": "uint256"
|
51
|
+
},
|
52
|
+
{
|
53
|
+
"indexed": false,
|
54
|
+
"internalType": "bytes",
|
55
|
+
"name": "data",
|
56
|
+
"type": "bytes"
|
57
|
+
}
|
58
|
+
],
|
59
|
+
"name": "CallExecuted",
|
60
|
+
"type": "event"
|
61
|
+
},
|
62
|
+
{
|
63
|
+
"anonymous": false,
|
64
|
+
"inputs": [
|
65
|
+
{
|
66
|
+
"indexed": true,
|
67
|
+
"internalType": "bytes32",
|
68
|
+
"name": "id",
|
69
|
+
"type": "bytes32"
|
70
|
+
},
|
71
|
+
{
|
72
|
+
"indexed": true,
|
73
|
+
"internalType": "uint256",
|
74
|
+
"name": "index",
|
75
|
+
"type": "uint256"
|
76
|
+
},
|
77
|
+
{
|
78
|
+
"indexed": false,
|
79
|
+
"internalType": "address",
|
80
|
+
"name": "target",
|
81
|
+
"type": "address"
|
82
|
+
},
|
83
|
+
{
|
84
|
+
"indexed": false,
|
85
|
+
"internalType": "uint256",
|
86
|
+
"name": "value",
|
87
|
+
"type": "uint256"
|
88
|
+
},
|
89
|
+
{
|
90
|
+
"indexed": false,
|
91
|
+
"internalType": "bytes",
|
92
|
+
"name": "data",
|
93
|
+
"type": "bytes"
|
94
|
+
},
|
95
|
+
{
|
96
|
+
"indexed": false,
|
97
|
+
"internalType": "bytes32",
|
98
|
+
"name": "predecessor",
|
99
|
+
"type": "bytes32"
|
100
|
+
},
|
101
|
+
{
|
102
|
+
"indexed": false,
|
103
|
+
"internalType": "uint256",
|
104
|
+
"name": "delay",
|
105
|
+
"type": "uint256"
|
106
|
+
}
|
107
|
+
],
|
108
|
+
"name": "CallScheduled",
|
109
|
+
"type": "event"
|
110
|
+
},
|
111
|
+
{
|
112
|
+
"anonymous": false,
|
113
|
+
"inputs": [
|
114
|
+
{
|
115
|
+
"indexed": true,
|
116
|
+
"internalType": "bytes32",
|
117
|
+
"name": "id",
|
118
|
+
"type": "bytes32"
|
119
|
+
}
|
120
|
+
],
|
121
|
+
"name": "Cancelled",
|
122
|
+
"type": "event"
|
123
|
+
},
|
124
|
+
{
|
125
|
+
"anonymous": false,
|
126
|
+
"inputs": [
|
127
|
+
{
|
128
|
+
"indexed": false,
|
129
|
+
"internalType": "uint256",
|
130
|
+
"name": "oldDuration",
|
131
|
+
"type": "uint256"
|
132
|
+
},
|
133
|
+
{
|
134
|
+
"indexed": false,
|
135
|
+
"internalType": "uint256",
|
136
|
+
"name": "newDuration",
|
137
|
+
"type": "uint256"
|
138
|
+
}
|
139
|
+
],
|
140
|
+
"name": "MinDelayChange",
|
141
|
+
"type": "event"
|
142
|
+
},
|
143
|
+
{
|
144
|
+
"anonymous": false,
|
145
|
+
"inputs": [
|
146
|
+
{
|
147
|
+
"indexed": true,
|
148
|
+
"internalType": "bytes32",
|
149
|
+
"name": "role",
|
150
|
+
"type": "bytes32"
|
151
|
+
},
|
152
|
+
{
|
153
|
+
"indexed": true,
|
154
|
+
"internalType": "bytes32",
|
155
|
+
"name": "previousAdminRole",
|
156
|
+
"type": "bytes32"
|
157
|
+
},
|
158
|
+
{
|
159
|
+
"indexed": true,
|
160
|
+
"internalType": "bytes32",
|
161
|
+
"name": "newAdminRole",
|
162
|
+
"type": "bytes32"
|
163
|
+
}
|
164
|
+
],
|
165
|
+
"name": "RoleAdminChanged",
|
166
|
+
"type": "event"
|
167
|
+
},
|
168
|
+
{
|
169
|
+
"anonymous": false,
|
170
|
+
"inputs": [
|
171
|
+
{
|
172
|
+
"indexed": true,
|
173
|
+
"internalType": "bytes32",
|
174
|
+
"name": "role",
|
175
|
+
"type": "bytes32"
|
176
|
+
},
|
177
|
+
{
|
178
|
+
"indexed": true,
|
179
|
+
"internalType": "address",
|
180
|
+
"name": "account",
|
181
|
+
"type": "address"
|
182
|
+
},
|
183
|
+
{
|
184
|
+
"indexed": true,
|
185
|
+
"internalType": "address",
|
186
|
+
"name": "sender",
|
187
|
+
"type": "address"
|
188
|
+
}
|
189
|
+
],
|
190
|
+
"name": "RoleGranted",
|
191
|
+
"type": "event"
|
192
|
+
},
|
193
|
+
{
|
194
|
+
"anonymous": false,
|
195
|
+
"inputs": [
|
196
|
+
{
|
197
|
+
"indexed": true,
|
198
|
+
"internalType": "bytes32",
|
199
|
+
"name": "role",
|
200
|
+
"type": "bytes32"
|
201
|
+
},
|
202
|
+
{
|
203
|
+
"indexed": true,
|
204
|
+
"internalType": "address",
|
205
|
+
"name": "account",
|
206
|
+
"type": "address"
|
207
|
+
},
|
208
|
+
{
|
209
|
+
"indexed": true,
|
210
|
+
"internalType": "address",
|
211
|
+
"name": "sender",
|
212
|
+
"type": "address"
|
213
|
+
}
|
214
|
+
],
|
215
|
+
"name": "RoleRevoked",
|
216
|
+
"type": "event"
|
217
|
+
},
|
218
|
+
{
|
219
|
+
"inputs": [],
|
220
|
+
"name": "DEFAULT_ADMIN_ROLE",
|
221
|
+
"outputs": [
|
222
|
+
{
|
223
|
+
"internalType": "bytes32",
|
224
|
+
"name": "",
|
225
|
+
"type": "bytes32"
|
226
|
+
}
|
227
|
+
],
|
228
|
+
"stateMutability": "view",
|
229
|
+
"type": "function"
|
230
|
+
},
|
231
|
+
{
|
232
|
+
"inputs": [],
|
233
|
+
"name": "EXECUTOR_ROLE",
|
234
|
+
"outputs": [
|
235
|
+
{
|
236
|
+
"internalType": "bytes32",
|
237
|
+
"name": "",
|
238
|
+
"type": "bytes32"
|
239
|
+
}
|
240
|
+
],
|
241
|
+
"stateMutability": "view",
|
242
|
+
"type": "function"
|
243
|
+
},
|
244
|
+
{
|
245
|
+
"inputs": [],
|
246
|
+
"name": "PROPOSER_ROLE",
|
247
|
+
"outputs": [
|
248
|
+
{
|
249
|
+
"internalType": "bytes32",
|
250
|
+
"name": "",
|
251
|
+
"type": "bytes32"
|
252
|
+
}
|
253
|
+
],
|
254
|
+
"stateMutability": "view",
|
255
|
+
"type": "function"
|
256
|
+
},
|
257
|
+
{
|
258
|
+
"inputs": [],
|
259
|
+
"name": "TIMELOCK_ADMIN_ROLE",
|
260
|
+
"outputs": [
|
261
|
+
{
|
262
|
+
"internalType": "bytes32",
|
263
|
+
"name": "",
|
264
|
+
"type": "bytes32"
|
265
|
+
}
|
266
|
+
],
|
267
|
+
"stateMutability": "view",
|
268
|
+
"type": "function"
|
269
|
+
},
|
270
|
+
{
|
271
|
+
"inputs": [
|
272
|
+
{
|
273
|
+
"internalType": "bytes32",
|
274
|
+
"name": "id",
|
275
|
+
"type": "bytes32"
|
276
|
+
}
|
277
|
+
],
|
278
|
+
"name": "cancel",
|
279
|
+
"outputs": [],
|
280
|
+
"stateMutability": "nonpayable",
|
281
|
+
"type": "function"
|
282
|
+
},
|
283
|
+
{
|
284
|
+
"inputs": [
|
285
|
+
{
|
286
|
+
"internalType": "address",
|
287
|
+
"name": "target",
|
288
|
+
"type": "address"
|
289
|
+
},
|
290
|
+
{
|
291
|
+
"internalType": "uint256",
|
292
|
+
"name": "value",
|
293
|
+
"type": "uint256"
|
294
|
+
},
|
295
|
+
{
|
296
|
+
"internalType": "bytes",
|
297
|
+
"name": "data",
|
298
|
+
"type": "bytes"
|
299
|
+
},
|
300
|
+
{
|
301
|
+
"internalType": "bytes32",
|
302
|
+
"name": "predecessor",
|
303
|
+
"type": "bytes32"
|
304
|
+
},
|
305
|
+
{
|
306
|
+
"internalType": "bytes32",
|
307
|
+
"name": "salt",
|
308
|
+
"type": "bytes32"
|
309
|
+
}
|
310
|
+
],
|
311
|
+
"name": "execute",
|
312
|
+
"outputs": [],
|
313
|
+
"stateMutability": "payable",
|
314
|
+
"type": "function"
|
315
|
+
},
|
316
|
+
{
|
317
|
+
"inputs": [
|
318
|
+
{
|
319
|
+
"internalType": "address[]",
|
320
|
+
"name": "targets",
|
321
|
+
"type": "address[]"
|
322
|
+
},
|
323
|
+
{
|
324
|
+
"internalType": "uint256[]",
|
325
|
+
"name": "values",
|
326
|
+
"type": "uint256[]"
|
327
|
+
},
|
328
|
+
{
|
329
|
+
"internalType": "bytes[]",
|
330
|
+
"name": "datas",
|
331
|
+
"type": "bytes[]"
|
332
|
+
},
|
333
|
+
{
|
334
|
+
"internalType": "bytes32",
|
335
|
+
"name": "predecessor",
|
336
|
+
"type": "bytes32"
|
337
|
+
},
|
338
|
+
{
|
339
|
+
"internalType": "bytes32",
|
340
|
+
"name": "salt",
|
341
|
+
"type": "bytes32"
|
342
|
+
}
|
343
|
+
],
|
344
|
+
"name": "executeBatch",
|
345
|
+
"outputs": [],
|
346
|
+
"stateMutability": "payable",
|
347
|
+
"type": "function"
|
348
|
+
},
|
349
|
+
{
|
350
|
+
"inputs": [],
|
351
|
+
"name": "getMinDelay",
|
352
|
+
"outputs": [
|
353
|
+
{
|
354
|
+
"internalType": "uint256",
|
355
|
+
"name": "duration",
|
356
|
+
"type": "uint256"
|
357
|
+
}
|
358
|
+
],
|
359
|
+
"stateMutability": "view",
|
360
|
+
"type": "function"
|
361
|
+
},
|
362
|
+
{
|
363
|
+
"inputs": [
|
364
|
+
{
|
365
|
+
"internalType": "bytes32",
|
366
|
+
"name": "role",
|
367
|
+
"type": "bytes32"
|
368
|
+
}
|
369
|
+
],
|
370
|
+
"name": "getRoleAdmin",
|
371
|
+
"outputs": [
|
372
|
+
{
|
373
|
+
"internalType": "bytes32",
|
374
|
+
"name": "",
|
375
|
+
"type": "bytes32"
|
376
|
+
}
|
377
|
+
],
|
378
|
+
"stateMutability": "view",
|
379
|
+
"type": "function"
|
380
|
+
},
|
381
|
+
{
|
382
|
+
"inputs": [
|
383
|
+
{
|
384
|
+
"internalType": "bytes32",
|
385
|
+
"name": "role",
|
386
|
+
"type": "bytes32"
|
387
|
+
},
|
388
|
+
{
|
389
|
+
"internalType": "uint256",
|
390
|
+
"name": "index",
|
391
|
+
"type": "uint256"
|
392
|
+
}
|
393
|
+
],
|
394
|
+
"name": "getRoleMember",
|
395
|
+
"outputs": [
|
396
|
+
{
|
397
|
+
"internalType": "address",
|
398
|
+
"name": "",
|
399
|
+
"type": "address"
|
400
|
+
}
|
401
|
+
],
|
402
|
+
"stateMutability": "view",
|
403
|
+
"type": "function"
|
404
|
+
},
|
405
|
+
{
|
406
|
+
"inputs": [
|
407
|
+
{
|
408
|
+
"internalType": "bytes32",
|
409
|
+
"name": "role",
|
410
|
+
"type": "bytes32"
|
411
|
+
}
|
412
|
+
],
|
413
|
+
"name": "getRoleMemberCount",
|
414
|
+
"outputs": [
|
415
|
+
{
|
416
|
+
"internalType": "uint256",
|
417
|
+
"name": "",
|
418
|
+
"type": "uint256"
|
419
|
+
}
|
420
|
+
],
|
421
|
+
"stateMutability": "view",
|
422
|
+
"type": "function"
|
423
|
+
},
|
424
|
+
{
|
425
|
+
"inputs": [
|
426
|
+
{
|
427
|
+
"internalType": "bytes32",
|
428
|
+
"name": "id",
|
429
|
+
"type": "bytes32"
|
430
|
+
}
|
431
|
+
],
|
432
|
+
"name": "getTimestamp",
|
433
|
+
"outputs": [
|
434
|
+
{
|
435
|
+
"internalType": "uint256",
|
436
|
+
"name": "timestamp",
|
437
|
+
"type": "uint256"
|
438
|
+
}
|
439
|
+
],
|
440
|
+
"stateMutability": "view",
|
441
|
+
"type": "function"
|
442
|
+
},
|
443
|
+
{
|
444
|
+
"inputs": [
|
445
|
+
{
|
446
|
+
"internalType": "bytes32",
|
447
|
+
"name": "role",
|
448
|
+
"type": "bytes32"
|
449
|
+
},
|
450
|
+
{
|
451
|
+
"internalType": "address",
|
452
|
+
"name": "account",
|
453
|
+
"type": "address"
|
454
|
+
}
|
455
|
+
],
|
456
|
+
"name": "grantRole",
|
457
|
+
"outputs": [],
|
458
|
+
"stateMutability": "nonpayable",
|
459
|
+
"type": "function"
|
460
|
+
},
|
461
|
+
{
|
462
|
+
"inputs": [
|
463
|
+
{
|
464
|
+
"internalType": "bytes32",
|
465
|
+
"name": "role",
|
466
|
+
"type": "bytes32"
|
467
|
+
},
|
468
|
+
{
|
469
|
+
"internalType": "address",
|
470
|
+
"name": "account",
|
471
|
+
"type": "address"
|
472
|
+
}
|
473
|
+
],
|
474
|
+
"name": "hasRole",
|
475
|
+
"outputs": [
|
476
|
+
{
|
477
|
+
"internalType": "bool",
|
478
|
+
"name": "",
|
479
|
+
"type": "bool"
|
480
|
+
}
|
481
|
+
],
|
482
|
+
"stateMutability": "view",
|
483
|
+
"type": "function"
|
484
|
+
},
|
485
|
+
{
|
486
|
+
"inputs": [
|
487
|
+
{
|
488
|
+
"internalType": "address",
|
489
|
+
"name": "target",
|
490
|
+
"type": "address"
|
491
|
+
},
|
492
|
+
{
|
493
|
+
"internalType": "uint256",
|
494
|
+
"name": "value",
|
495
|
+
"type": "uint256"
|
496
|
+
},
|
497
|
+
{
|
498
|
+
"internalType": "bytes",
|
499
|
+
"name": "data",
|
500
|
+
"type": "bytes"
|
501
|
+
},
|
502
|
+
{
|
503
|
+
"internalType": "bytes32",
|
504
|
+
"name": "predecessor",
|
505
|
+
"type": "bytes32"
|
506
|
+
},
|
507
|
+
{
|
508
|
+
"internalType": "bytes32",
|
509
|
+
"name": "salt",
|
510
|
+
"type": "bytes32"
|
511
|
+
}
|
512
|
+
],
|
513
|
+
"name": "hashOperation",
|
514
|
+
"outputs": [
|
515
|
+
{
|
516
|
+
"internalType": "bytes32",
|
517
|
+
"name": "hash",
|
518
|
+
"type": "bytes32"
|
519
|
+
}
|
520
|
+
],
|
521
|
+
"stateMutability": "pure",
|
522
|
+
"type": "function"
|
523
|
+
},
|
524
|
+
{
|
525
|
+
"inputs": [
|
526
|
+
{
|
527
|
+
"internalType": "address[]",
|
528
|
+
"name": "targets",
|
529
|
+
"type": "address[]"
|
530
|
+
},
|
531
|
+
{
|
532
|
+
"internalType": "uint256[]",
|
533
|
+
"name": "values",
|
534
|
+
"type": "uint256[]"
|
535
|
+
},
|
536
|
+
{
|
537
|
+
"internalType": "bytes[]",
|
538
|
+
"name": "datas",
|
539
|
+
"type": "bytes[]"
|
540
|
+
},
|
541
|
+
{
|
542
|
+
"internalType": "bytes32",
|
543
|
+
"name": "predecessor",
|
544
|
+
"type": "bytes32"
|
545
|
+
},
|
546
|
+
{
|
547
|
+
"internalType": "bytes32",
|
548
|
+
"name": "salt",
|
549
|
+
"type": "bytes32"
|
550
|
+
}
|
551
|
+
],
|
552
|
+
"name": "hashOperationBatch",
|
553
|
+
"outputs": [
|
554
|
+
{
|
555
|
+
"internalType": "bytes32",
|
556
|
+
"name": "hash",
|
557
|
+
"type": "bytes32"
|
558
|
+
}
|
559
|
+
],
|
560
|
+
"stateMutability": "pure",
|
561
|
+
"type": "function"
|
562
|
+
},
|
563
|
+
{
|
564
|
+
"inputs": [
|
565
|
+
{
|
566
|
+
"internalType": "bytes32",
|
567
|
+
"name": "id",
|
568
|
+
"type": "bytes32"
|
569
|
+
}
|
570
|
+
],
|
571
|
+
"name": "isOperation",
|
572
|
+
"outputs": [
|
573
|
+
{
|
574
|
+
"internalType": "bool",
|
575
|
+
"name": "pending",
|
576
|
+
"type": "bool"
|
577
|
+
}
|
578
|
+
],
|
579
|
+
"stateMutability": "view",
|
580
|
+
"type": "function"
|
581
|
+
},
|
582
|
+
{
|
583
|
+
"inputs": [
|
584
|
+
{
|
585
|
+
"internalType": "bytes32",
|
586
|
+
"name": "id",
|
587
|
+
"type": "bytes32"
|
588
|
+
}
|
589
|
+
],
|
590
|
+
"name": "isOperationDone",
|
591
|
+
"outputs": [
|
592
|
+
{
|
593
|
+
"internalType": "bool",
|
594
|
+
"name": "done",
|
595
|
+
"type": "bool"
|
596
|
+
}
|
597
|
+
],
|
598
|
+
"stateMutability": "view",
|
599
|
+
"type": "function"
|
600
|
+
},
|
601
|
+
{
|
602
|
+
"inputs": [
|
603
|
+
{
|
604
|
+
"internalType": "bytes32",
|
605
|
+
"name": "id",
|
606
|
+
"type": "bytes32"
|
607
|
+
}
|
608
|
+
],
|
609
|
+
"name": "isOperationPending",
|
610
|
+
"outputs": [
|
611
|
+
{
|
612
|
+
"internalType": "bool",
|
613
|
+
"name": "pending",
|
614
|
+
"type": "bool"
|
615
|
+
}
|
616
|
+
],
|
617
|
+
"stateMutability": "view",
|
618
|
+
"type": "function"
|
619
|
+
},
|
620
|
+
{
|
621
|
+
"inputs": [
|
622
|
+
{
|
623
|
+
"internalType": "bytes32",
|
624
|
+
"name": "id",
|
625
|
+
"type": "bytes32"
|
626
|
+
}
|
627
|
+
],
|
628
|
+
"name": "isOperationReady",
|
629
|
+
"outputs": [
|
630
|
+
{
|
631
|
+
"internalType": "bool",
|
632
|
+
"name": "ready",
|
633
|
+
"type": "bool"
|
634
|
+
}
|
635
|
+
],
|
636
|
+
"stateMutability": "view",
|
637
|
+
"type": "function"
|
638
|
+
},
|
639
|
+
{
|
640
|
+
"inputs": [
|
641
|
+
{
|
642
|
+
"internalType": "bytes32",
|
643
|
+
"name": "role",
|
644
|
+
"type": "bytes32"
|
645
|
+
},
|
646
|
+
{
|
647
|
+
"internalType": "address",
|
648
|
+
"name": "account",
|
649
|
+
"type": "address"
|
650
|
+
}
|
651
|
+
],
|
652
|
+
"name": "renounceRole",
|
653
|
+
"outputs": [],
|
654
|
+
"stateMutability": "nonpayable",
|
655
|
+
"type": "function"
|
656
|
+
},
|
657
|
+
{
|
658
|
+
"inputs": [
|
659
|
+
{
|
660
|
+
"internalType": "bytes32",
|
661
|
+
"name": "role",
|
662
|
+
"type": "bytes32"
|
663
|
+
},
|
664
|
+
{
|
665
|
+
"internalType": "address",
|
666
|
+
"name": "account",
|
667
|
+
"type": "address"
|
668
|
+
}
|
669
|
+
],
|
670
|
+
"name": "revokeRole",
|
671
|
+
"outputs": [],
|
672
|
+
"stateMutability": "nonpayable",
|
673
|
+
"type": "function"
|
674
|
+
},
|
675
|
+
{
|
676
|
+
"inputs": [
|
677
|
+
{
|
678
|
+
"internalType": "address",
|
679
|
+
"name": "target",
|
680
|
+
"type": "address"
|
681
|
+
},
|
682
|
+
{
|
683
|
+
"internalType": "uint256",
|
684
|
+
"name": "value",
|
685
|
+
"type": "uint256"
|
686
|
+
},
|
687
|
+
{
|
688
|
+
"internalType": "bytes",
|
689
|
+
"name": "data",
|
690
|
+
"type": "bytes"
|
691
|
+
},
|
692
|
+
{
|
693
|
+
"internalType": "bytes32",
|
694
|
+
"name": "predecessor",
|
695
|
+
"type": "bytes32"
|
696
|
+
},
|
697
|
+
{
|
698
|
+
"internalType": "bytes32",
|
699
|
+
"name": "salt",
|
700
|
+
"type": "bytes32"
|
701
|
+
},
|
702
|
+
{
|
703
|
+
"internalType": "uint256",
|
704
|
+
"name": "delay",
|
705
|
+
"type": "uint256"
|
706
|
+
}
|
707
|
+
],
|
708
|
+
"name": "schedule",
|
709
|
+
"outputs": [],
|
710
|
+
"stateMutability": "nonpayable",
|
711
|
+
"type": "function"
|
712
|
+
},
|
713
|
+
{
|
714
|
+
"inputs": [
|
715
|
+
{
|
716
|
+
"internalType": "address[]",
|
717
|
+
"name": "targets",
|
718
|
+
"type": "address[]"
|
719
|
+
},
|
720
|
+
{
|
721
|
+
"internalType": "uint256[]",
|
722
|
+
"name": "values",
|
723
|
+
"type": "uint256[]"
|
724
|
+
},
|
725
|
+
{
|
726
|
+
"internalType": "bytes[]",
|
727
|
+
"name": "datas",
|
728
|
+
"type": "bytes[]"
|
729
|
+
},
|
730
|
+
{
|
731
|
+
"internalType": "bytes32",
|
732
|
+
"name": "predecessor",
|
733
|
+
"type": "bytes32"
|
734
|
+
},
|
735
|
+
{
|
736
|
+
"internalType": "bytes32",
|
737
|
+
"name": "salt",
|
738
|
+
"type": "bytes32"
|
739
|
+
},
|
740
|
+
{
|
741
|
+
"internalType": "uint256",
|
742
|
+
"name": "delay",
|
743
|
+
"type": "uint256"
|
744
|
+
}
|
745
|
+
],
|
746
|
+
"name": "scheduleBatch",
|
747
|
+
"outputs": [],
|
748
|
+
"stateMutability": "nonpayable",
|
749
|
+
"type": "function"
|
750
|
+
},
|
751
|
+
{
|
752
|
+
"inputs": [
|
753
|
+
{
|
754
|
+
"internalType": "uint256",
|
755
|
+
"name": "newDelay",
|
756
|
+
"type": "uint256"
|
757
|
+
}
|
758
|
+
],
|
759
|
+
"name": "updateDelay",
|
760
|
+
"outputs": [],
|
761
|
+
"stateMutability": "nonpayable",
|
762
|
+
"type": "function"
|
763
|
+
},
|
764
|
+
{
|
765
|
+
"stateMutability": "payable",
|
766
|
+
"type": "receive"
|
767
|
+
}
|
768
|
+
],
|
769
|
+
"bytecode": "0x60806040523480156200001157600080fd5b50604051620031d5380380620031d583398181016040528101906200003791906200053f565b620000697f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5806200028c60201b60201c565b620000bb7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc17f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca56200028c60201b60201c565b6200010d7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e637f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca56200028c60201b60201c565b6200014e7f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca562000142620002ee60201b60201c565b620002f660201b60201c565b620001807f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca530620002f660201b60201c565b60005b8251811015620001df57620001d37fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1848381518110620001bf57fe5b6020026020010151620002f660201b60201c565b80600101905062000183565b5060005b81518110156200023f57620002337fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e638383815181106200021f57fe5b6020026020010151620002f660201b60201c565b806001019050620001e3565b50826002819055507f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d56000846040516200027b929190620005e9565b60405180910390a1505050620006f3565b8060008084815260200190815260200160002060020154837fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff60405160405180910390a480600080848152602001908152602001600020600201819055505050565b600033905090565b6200030882826200030c60201b60201c565b5050565b6200033a81600080858152602001908152602001600020600001620003af60201b620010ef1790919060201c565b15620003ab5762000350620002ee60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000620003df836000018373ffffffffffffffffffffffffffffffffffffffff1660001b620003e760201b60201c565b905092915050565b6000620003fb83836200046160201b60201c565b620004565782600001829080600181540180825580915050600190039060005260206000200160009091909190915055826000018054905083600101600084815260200190815260200160002081905550600190506200045b565b600090505b92915050565b600080836001016000848152602001908152602001600020541415905092915050565b6000815190506200049581620006bf565b92915050565b600082601f830112620004ad57600080fd5b8151620004c4620004be8262000644565b62000616565b91508181835260208401935060208101905083856020840282011115620004ea57600080fd5b60005b838110156200051e578162000503888262000484565b845260208401935060208301925050600181019050620004ed565b5050505092915050565b6000815190506200053981620006d9565b92915050565b6000806000606084860312156200055557600080fd5b6000620005658682870162000528565b935050602084015167ffffffffffffffff8111156200058357600080fd5b62000591868287016200049b565b925050604084015167ffffffffffffffff811115620005af57600080fd5b620005bd868287016200049b565b9150509250925092565b620005d281620006ab565b82525050565b620005e381620006a1565b82525050565b6000604082019050620006006000830185620005c7565b6200060f6020830184620005d8565b9392505050565b6000604051905081810181811067ffffffffffffffff821117156200063a57600080fd5b8060405250919050565b600067ffffffffffffffff8211156200065c57600080fd5b602082029050602081019050919050565b60006200067a8262000681565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000620006b882620006a1565b9050919050565b620006ca816200066d565b8114620006d657600080fd5b50565b620006e481620006a1565b8114620006f057600080fd5b50565b612ad280620007036000396000f3fe60806040526004361061016a5760003560e01c80638065657f116100d1578063b1c5f4271161008a578063d45c443511610064578063d45c443514610596578063d547741f146105d3578063e38335e5146105fc578063f27a0c921461061857610171565b8063b1c5f427146104f3578063c4d252f514610530578063ca15c8731461055957610171565b80638065657f146103bd5780638f2a0bb0146103fa5780638f61f4f5146104235780639010d07c1461044e57806391d148541461048b578063a217fddf146104c857610171565b80632ab0f529116101235780632ab0f5291461028b5780632f2ff15d146102c857806331d50750146102f157806336568abe1461032e578063584b153e1461035757806364d623531461039457610171565b806301d5062a1461017657806307bd02651461019f5780630d3cf6fc146101ca578063134008d3146101f557806313bc9f2014610211578063248a9ca31461024e57610171565b3661017157005b600080fd5b34801561018257600080fd5b5061019d60048036038101906101989190611a00565b610643565b005b3480156101ab57600080fd5b506101b4610731565b6040516101c19190612662565b60405180910390f35b3480156101d657600080fd5b506101df610755565b6040516101ec9190612662565b60405180910390f35b61020f600480360381019061020a919061196e565b610779565b005b34801561021d57600080fd5b5061023860048036038101906102339190611c52565b61083a565b6040516102459190612647565b60405180910390f35b34801561025a57600080fd5b5061027560048036038101906102709190611c52565b610860565b6040516102829190612662565b60405180910390f35b34801561029757600080fd5b506102b260048036038101906102ad9190611c52565b61087f565b6040516102bf9190612647565b60405180910390f35b3480156102d457600080fd5b506102ef60048036038101906102ea9190611c7b565b610894565b005b3480156102fd57600080fd5b5061031860048036038101906103139190611c52565b610907565b6040516103259190612647565b60405180910390f35b34801561033a57600080fd5b5061035560048036038101906103509190611c7b565b61091b565b005b34801561036357600080fd5b5061037e60048036038101906103799190611c52565b61099e565b60405161038b9190612647565b60405180910390f35b3480156103a057600080fd5b506103bb60048036038101906103b69190611cf3565b6109b3565b005b3480156103c957600080fd5b506103e460048036038101906103df919061196e565b610a66565b6040516103f19190612662565b60405180910390f35b34801561040657600080fd5b50610421600480360381019061041c9190611b73565b610aa5565b005b34801561042f57600080fd5b50610438610c8e565b6040516104459190612662565b60405180910390f35b34801561045a57600080fd5b5061047560048036038101906104709190611cb7565b610cb2565b60405161048291906124c6565b60405180910390f35b34801561049757600080fd5b506104b260048036038101906104ad9190611c7b565b610ce3565b6040516104bf9190612647565b60405180910390f35b3480156104d457600080fd5b506104dd610d14565b6040516104ea9190612662565b60405180910390f35b3480156104ff57600080fd5b5061051a60048036038101906105159190611aa7565b610d1b565b6040516105279190612662565b60405180910390f35b34801561053c57600080fd5b5061055760048036038101906105529190611c52565b610d60565b005b34801561056557600080fd5b50610580600480360381019061057b9190611c52565b610e73565b60405161058d919061283d565b60405180910390f35b3480156105a257600080fd5b506105bd60048036038101906105b89190611c52565b610e99565b6040516105ca919061283d565b60405180910390f35b3480156105df57600080fd5b506105fa60048036038101906105f59190611c7b565b610eb6565b005b61061660048036038101906106119190611aa7565b610f29565b005b34801561062457600080fd5b5061062d6110e5565b60405161063a919061283d565b60405180910390f35b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc16106758161067061111f565b610ce3565b806106875750610686816000610ce3565b5b6106c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106bd906126fd565b60405180910390fd5b60006106d6898989898989610a66565b90506106e28184611127565b6000817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a60405161071e9695949392919061257d565b60405180910390a3505050505050505050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b7f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca581565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e636107ab816107a661111f565b610ce3565b806107bd57506107bc816000610ce3565b5b6107fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f3906126fd565b60405180910390fd5b600061080c888888888888610a66565b905061081881856111df565b6108278160008a8a8a8a611280565b61083081611378565b5050505050505050565b60008061084683610e99565b90506001811180156108585750428111155b915050919050565b6000806000838152602001908152602001600020600201549050919050565b6000600161088c83610e99565b149050919050565b6108ba600080848152602001908152602001600020600201546108b561111f565b610ce3565b6108f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f0906126bd565b60405180910390fd5b61090382826113db565b5050565b60008061091383610e99565b119050919050565b61092361111f565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610990576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610987906127fd565b60405180910390fd5b61099a828261146e565b5050565b600060016109ab83610e99565b119050919050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a18906127dd565b60405180910390fd5b7f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d560025482604051610a54929190612858565b60405180910390a18060028190555050565b6000868686868686604051602001610a8396959493929190612521565b6040516020818303038152906040528051906020012090509695505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1610ad781610ad261111f565b610ce3565b80610ae95750610ae8816000610ce3565b5b610b28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1f906126fd565b60405180910390fd5b878790508a8a905014610b70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b67906126dd565b60405180910390fd5b858590508a8a905014610bb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610baf906126dd565b60405180910390fd5b6000610bca8b8b8b8b8b8b8b8b610d1b565b9050610bd68184611127565b60005b8b8b9050811015610c805780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610c1357fe5b9050602002016020810190610c289190611945565b8d8d86818110610c3457fe5b905060200201358c8c87818110610c4757fe5b9050602002810190610c599190612881565b8c8b604051610c6d9695949392919061257d565b60405180910390a3806001019050610bd9565b505050505050505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc181565b6000610cdb8260008086815260200190815260200160002060000161150190919063ffffffff16565b905092915050565b6000610d0c8260008086815260200190815260200160002060000161151b90919063ffffffff16565b905092915050565b6000801b81565b60008888888888888888604051602001610d3c9897969594939291906125d9565b60405160208183030381529060405280519060200120905098975050505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1610d9281610d8d61111f565b610ce3565b80610da45750610da3816000610ce3565b5b610de3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dda906126fd565b60405180910390fd5b610dec8261099e565b610e2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e22906127bd565b60405180910390fd5b6001600083815260200190815260200160002060009055817fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7060405160405180910390a25050565b6000610e9260008084815260200190815260200160002060000161154b565b9050919050565b600060016000838152602001908152602001600020549050919050565b610edc60008084815260200190815260200160002060020154610ed761111f565b610ce3565b610f1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f129061273d565b60405180910390fd5b610f25828261146e565b5050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63610f5b81610f5661111f565b610ce3565b80610f6d5750610f6c816000610ce3565b5b610fac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa3906126fd565b60405180910390fd5b868690508989905014610ff4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610feb906126dd565b60405180910390fd5b84849050898990501461103c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611033906126dd565b60405180910390fd5b600061104e8a8a8a8a8a8a8a8a610d1b565b905061105a81856111df565b60005b8a8a90508110156110cf576110c482828d8d8581811061107957fe5b905060200201602081019061108e9190611945565b8c8c8681811061109a57fe5b905060200201358b8b878181106110ad57fe5b90506020028101906110bf9190612881565b611280565b80600101905061105d565b506110d981611378565b50505050505050505050565b6000600254905090565b6000611117836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611560565b905092915050565b600033905090565b61113082610907565b15611170576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111679061277d565b60405180910390fd5b6111786110e5565b8110156111ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b19061275d565b60405180910390fd5b6111c442826115d0565b60016000848152602001908152602001600020819055505050565b6111e88261083a565b611227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121e9061279d565b60405180910390fd5b6000801b81148061123d575061123c8161087f565b5b61127c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112739061269d565b60405180910390fd5b5050565b60008473ffffffffffffffffffffffffffffffffffffffff168484846040516112aa9291906124ad565b60006040518083038185875af1925050503d80600081146112e7576040519150601f19603f3d011682016040523d82523d6000602084013e6112ec565b606091505b5050905080611330576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113279061281d565b60405180910390fd5b85877fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588787878760405161136794939291906124e1565b60405180910390a350505050505050565b6113818161083a565b6113c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b79061279d565b60405180910390fd5b60018060008381526020019081526020016000208190555050565b611402816000808581526020019081526020016000206000016110ef90919063ffffffff16565b1561146a5761140f61111f565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6114958160008085815260200190815260200160002060000161162590919063ffffffff16565b156114fd576114a261111f565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b60006115108360000183611655565b60001c905092915050565b6000611543836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6116c2565b905092915050565b6000611559826000016116e5565b9050919050565b600061156c83836116c2565b6115c55782600001829080600181540180825580915050600190039060005260206000200160009091909190915055826000018054905083600101600084815260200190815260200160002081905550600190506115ca565b600090505b92915050565b60008082840190508381101561161b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116129061271d565b60405180910390fd5b8091505092915050565b600061164d836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6116f6565b905092915050565b6000818360000180549050116116a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116979061267d565b60405180910390fd5b8260000182815481106116af57fe5b9060005260206000200154905092915050565b600080836001016000848152602001908152602001600020541415905092915050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020549050600081146117d2576000600182039050600060018660000180549050039050600086600001828154811061174157fe5b906000526020600020015490508087600001848154811061175e57fe5b906000526020600020018190555060018301876001016000838152602001908152602001600020819055508660000180548061179657fe5b600190038181906000526020600020016000905590558660010160008781526020019081526020016000206000905560019450505050506117d8565b60009150505b92915050565b6000813590506117ed81612a57565b92915050565b60008083601f84011261180557600080fd5b8235905067ffffffffffffffff81111561181e57600080fd5b60208301915083602082028301111561183657600080fd5b9250929050565b60008083601f84011261184f57600080fd5b8235905067ffffffffffffffff81111561186857600080fd5b60208301915083602082028301111561188057600080fd5b9250929050565b60008083601f84011261189957600080fd5b8235905067ffffffffffffffff8111156118b257600080fd5b6020830191508360208202830111156118ca57600080fd5b9250929050565b6000813590506118e081612a6e565b92915050565b60008083601f8401126118f857600080fd5b8235905067ffffffffffffffff81111561191157600080fd5b60208301915083600182028301111561192957600080fd5b9250929050565b60008135905061193f81612a85565b92915050565b60006020828403121561195757600080fd5b6000611965848285016117de565b91505092915050565b60008060008060008060a0878903121561198757600080fd5b600061199589828a016117de565b96505060206119a689828a01611930565b955050604087013567ffffffffffffffff8111156119c357600080fd5b6119cf89828a016118e6565b945094505060606119e289828a016118d1565b92505060806119f389828a016118d1565b9150509295509295509295565b600080600080600080600060c0888a031215611a1b57600080fd5b6000611a298a828b016117de565b9750506020611a3a8a828b01611930565b965050604088013567ffffffffffffffff811115611a5757600080fd5b611a638a828b016118e6565b95509550506060611a768a828b016118d1565b9350506080611a878a828b016118d1565b92505060a0611a988a828b01611930565b91505092959891949750929550565b60008060008060008060008060a0898b031215611ac357600080fd5b600089013567ffffffffffffffff811115611add57600080fd5b611ae98b828c016117f3565b9850985050602089013567ffffffffffffffff811115611b0857600080fd5b611b148b828c01611887565b9650965050604089013567ffffffffffffffff811115611b3357600080fd5b611b3f8b828c0161183d565b94509450506060611b528b828c016118d1565b9250506080611b638b828c016118d1565b9150509295985092959890939650565b600080600080600080600080600060c08a8c031215611b9157600080fd5b60008a013567ffffffffffffffff811115611bab57600080fd5b611bb78c828d016117f3565b995099505060208a013567ffffffffffffffff811115611bd657600080fd5b611be28c828d01611887565b975097505060408a013567ffffffffffffffff811115611c0157600080fd5b611c0d8c828d0161183d565b95509550506060611c208c828d016118d1565b9350506080611c318c828d016118d1565b92505060a0611c428c828d01611930565b9150509295985092959850929598565b600060208284031215611c6457600080fd5b6000611c72848285016118d1565b91505092915050565b60008060408385031215611c8e57600080fd5b6000611c9c858286016118d1565b9250506020611cad858286016117de565b9150509250929050565b60008060408385031215611cca57600080fd5b6000611cd8858286016118d1565b9250506020611ce985828601611930565b9150509250929050565b600060208284031215611d0557600080fd5b6000611d1384828501611930565b91505092915050565b6000611d288383611d4a565b60208301905092915050565b6000611d41848484611eb1565b90509392505050565b611d53816129e5565b82525050565b611d62816129e5565b82525050565b6000611d748385612906565b9350611d7f826128d8565b8060005b85811015611db857611d958284612977565b611d9f8882611d1c565b9750611daa836128ec565b925050600181019050611d83565b5085925050509392505050565b6000611dd18385612917565b935083602084028501611de3846128e2565b8060005b87811015611e29578484038952611dfe828461298e565b611e09868284611d34565b9550611e14846128f9565b935060208b019a505050600181019050611de7565b50829750879450505050509392505050565b6000611e478385612928565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115611e7657600080fd5b602083029250611e87838584612a37565b82840190509392505050565b611e9c816129f7565b82525050565b611eab81612a03565b82525050565b6000611ebd8385612939565b9350611eca838584612a37565b611ed383612a46565b840190509392505050565b6000611eea838561294a565b9350611ef7838584612a37565b611f0083612a46565b840190509392505050565b6000611f17838561295b565b9350611f24838584612a37565b82840190509392505050565b6000611f3d602283612966565b91507f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e60008301527f64730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611fa3602683612966565b91507f54696d656c6f636b436f6e74726f6c6c65723a206d697373696e67206465706560008301527f6e64656e637900000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612009602f83612966565b91507f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60008301527f2061646d696e20746f206772616e7400000000000000000000000000000000006020830152604082019050919050565b600061206f602383612966565b91507f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d6160008301527f74636800000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006120d5602e83612966565b91507f54696d656c6f636b436f6e74726f6c6c65723a2073656e64657220726571756960008301527f726573207065726d697373696f6e0000000000000000000000000000000000006020830152604082019050919050565b600061213b601b83612966565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b600061217b603083612966565b91507f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60008301527f2061646d696e20746f207265766f6b65000000000000000000000000000000006020830152604082019050919050565b60006121e1602683612966565b91507f54696d656c6f636b436f6e74726f6c6c65723a20696e73756666696369656e7460008301527f2064656c617900000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612247602f83612966565b91507f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20616c60008301527f7265616479207363686564756c656400000000000000000000000000000000006020830152604082019050919050565b60006122ad602a83612966565b91507f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20697360008301527f206e6f74207265616479000000000000000000000000000000000000000000006020830152604082019050919050565b6000612313603183612966565b91507f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20636160008301527f6e6e6f742062652063616e63656c6c65640000000000000000000000000000006020830152604082019050919050565b6000612379602b83612966565b91507f54696d656c6f636b436f6e74726f6c6c65723a2063616c6c6572206d7573742060008301527f62652074696d656c6f636b0000000000000000000000000000000000000000006020830152604082019050919050565b60006123df602f83612966565b91507f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008301527f20726f6c657320666f722073656c6600000000000000000000000000000000006020830152604082019050919050565b6000612445603383612966565b91507f54696d656c6f636b436f6e74726f6c6c65723a20756e6465726c79696e67207460008301527f72616e73616374696f6e207265766572746564000000000000000000000000006020830152604082019050919050565b6124a781612a2d565b82525050565b60006124ba828486611f0b565b91508190509392505050565b60006020820190506124db6000830184611d59565b92915050565b60006060820190506124f66000830187611d59565b612503602083018661249e565b8181036040830152612516818486611ede565b905095945050505050565b600060a0820190506125366000830189611d59565b612543602083018861249e565b8181036040830152612556818688611ede565b90506125656060830185611ea2565b6125726080830184611ea2565b979650505050505050565b600060a0820190506125926000830189611d59565b61259f602083018861249e565b81810360408301526125b2818688611ede565b90506125c16060830185611ea2565b6125ce608083018461249e565b979650505050505050565b600060a08201905081810360008301526125f4818a8c611d68565b9050818103602083015261260981888a611e3b565b9050818103604083015261261e818688611dc5565b905061262d6060830185611ea2565b61263a6080830184611ea2565b9998505050505050505050565b600060208201905061265c6000830184611e93565b92915050565b60006020820190506126776000830184611ea2565b92915050565b6000602082019050818103600083015261269681611f30565b9050919050565b600060208201905081810360008301526126b681611f96565b9050919050565b600060208201905081810360008301526126d681611ffc565b9050919050565b600060208201905081810360008301526126f681612062565b9050919050565b60006020820190508181036000830152612716816120c8565b9050919050565b600060208201905081810360008301526127368161212e565b9050919050565b600060208201905081810360008301526127568161216e565b9050919050565b60006020820190508181036000830152612776816121d4565b9050919050565b600060208201905081810360008301526127968161223a565b9050919050565b600060208201905081810360008301526127b6816122a0565b9050919050565b600060208201905081810360008301526127d681612306565b9050919050565b600060208201905081810360008301526127f68161236c565b9050919050565b60006020820190508181036000830152612816816123d2565b9050919050565b6000602082019050818103600083015261283681612438565b9050919050565b6000602082019050612852600083018461249e565b92915050565b600060408201905061286d600083018561249e565b61287a602083018461249e565b9392505050565b6000808335600160200384360303811261289a57600080fd5b80840192508235915067ffffffffffffffff8211156128b857600080fd5b6020830192506001820236038313156128d057600080fd5b509250929050565b6000819050919050565b6000819050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600061298660208401846117de565b905092915050565b600080833560016020038436030381126129a757600080fd5b83810192508235915060208301925067ffffffffffffffff8211156129cb57600080fd5b6001820236038413156129dd57600080fd5b509250929050565b60006129f082612a0d565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b6000601f19601f8301169050919050565b612a60816129e5565b8114612a6b57600080fd5b50565b612a7781612a03565b8114612a8257600080fd5b50565b612a8e81612a2d565b8114612a9957600080fd5b5056fea26469706673582212209090f22964f3105e1f37ea48531e8cf9c33c50959fa0de446b8ed8f17275777864736f6c634300060c0033",
|
770
|
+
"deployedBytecode": "0x60806040526004361061016a5760003560e01c80638065657f116100d1578063b1c5f4271161008a578063d45c443511610064578063d45c443514610596578063d547741f146105d3578063e38335e5146105fc578063f27a0c921461061857610171565b8063b1c5f427146104f3578063c4d252f514610530578063ca15c8731461055957610171565b80638065657f146103bd5780638f2a0bb0146103fa5780638f61f4f5146104235780639010d07c1461044e57806391d148541461048b578063a217fddf146104c857610171565b80632ab0f529116101235780632ab0f5291461028b5780632f2ff15d146102c857806331d50750146102f157806336568abe1461032e578063584b153e1461035757806364d623531461039457610171565b806301d5062a1461017657806307bd02651461019f5780630d3cf6fc146101ca578063134008d3146101f557806313bc9f2014610211578063248a9ca31461024e57610171565b3661017157005b600080fd5b34801561018257600080fd5b5061019d60048036038101906101989190611a00565b610643565b005b3480156101ab57600080fd5b506101b4610731565b6040516101c19190612662565b60405180910390f35b3480156101d657600080fd5b506101df610755565b6040516101ec9190612662565b60405180910390f35b61020f600480360381019061020a919061196e565b610779565b005b34801561021d57600080fd5b5061023860048036038101906102339190611c52565b61083a565b6040516102459190612647565b60405180910390f35b34801561025a57600080fd5b5061027560048036038101906102709190611c52565b610860565b6040516102829190612662565b60405180910390f35b34801561029757600080fd5b506102b260048036038101906102ad9190611c52565b61087f565b6040516102bf9190612647565b60405180910390f35b3480156102d457600080fd5b506102ef60048036038101906102ea9190611c7b565b610894565b005b3480156102fd57600080fd5b5061031860048036038101906103139190611c52565b610907565b6040516103259190612647565b60405180910390f35b34801561033a57600080fd5b5061035560048036038101906103509190611c7b565b61091b565b005b34801561036357600080fd5b5061037e60048036038101906103799190611c52565b61099e565b60405161038b9190612647565b60405180910390f35b3480156103a057600080fd5b506103bb60048036038101906103b69190611cf3565b6109b3565b005b3480156103c957600080fd5b506103e460048036038101906103df919061196e565b610a66565b6040516103f19190612662565b60405180910390f35b34801561040657600080fd5b50610421600480360381019061041c9190611b73565b610aa5565b005b34801561042f57600080fd5b50610438610c8e565b6040516104459190612662565b60405180910390f35b34801561045a57600080fd5b5061047560048036038101906104709190611cb7565b610cb2565b60405161048291906124c6565b60405180910390f35b34801561049757600080fd5b506104b260048036038101906104ad9190611c7b565b610ce3565b6040516104bf9190612647565b60405180910390f35b3480156104d457600080fd5b506104dd610d14565b6040516104ea9190612662565b60405180910390f35b3480156104ff57600080fd5b5061051a60048036038101906105159190611aa7565b610d1b565b6040516105279190612662565b60405180910390f35b34801561053c57600080fd5b5061055760048036038101906105529190611c52565b610d60565b005b34801561056557600080fd5b50610580600480360381019061057b9190611c52565b610e73565b60405161058d919061283d565b60405180910390f35b3480156105a257600080fd5b506105bd60048036038101906105b89190611c52565b610e99565b6040516105ca919061283d565b60405180910390f35b3480156105df57600080fd5b506105fa60048036038101906105f59190611c7b565b610eb6565b005b61061660048036038101906106119190611aa7565b610f29565b005b34801561062457600080fd5b5061062d6110e5565b60405161063a919061283d565b60405180910390f35b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc16106758161067061111f565b610ce3565b806106875750610686816000610ce3565b5b6106c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106bd906126fd565b60405180910390fd5b60006106d6898989898989610a66565b90506106e28184611127565b6000817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a60405161071e9695949392919061257d565b60405180910390a3505050505050505050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b7f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca581565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e636107ab816107a661111f565b610ce3565b806107bd57506107bc816000610ce3565b5b6107fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f3906126fd565b60405180910390fd5b600061080c888888888888610a66565b905061081881856111df565b6108278160008a8a8a8a611280565b61083081611378565b5050505050505050565b60008061084683610e99565b90506001811180156108585750428111155b915050919050565b6000806000838152602001908152602001600020600201549050919050565b6000600161088c83610e99565b149050919050565b6108ba600080848152602001908152602001600020600201546108b561111f565b610ce3565b6108f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f0906126bd565b60405180910390fd5b61090382826113db565b5050565b60008061091383610e99565b119050919050565b61092361111f565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610990576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610987906127fd565b60405180910390fd5b61099a828261146e565b5050565b600060016109ab83610e99565b119050919050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a18906127dd565b60405180910390fd5b7f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d560025482604051610a54929190612858565b60405180910390a18060028190555050565b6000868686868686604051602001610a8396959493929190612521565b6040516020818303038152906040528051906020012090509695505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1610ad781610ad261111f565b610ce3565b80610ae95750610ae8816000610ce3565b5b610b28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1f906126fd565b60405180910390fd5b878790508a8a905014610b70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b67906126dd565b60405180910390fd5b858590508a8a905014610bb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610baf906126dd565b60405180910390fd5b6000610bca8b8b8b8b8b8b8b8b610d1b565b9050610bd68184611127565b60005b8b8b9050811015610c805780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610c1357fe5b9050602002016020810190610c289190611945565b8d8d86818110610c3457fe5b905060200201358c8c87818110610c4757fe5b9050602002810190610c599190612881565b8c8b604051610c6d9695949392919061257d565b60405180910390a3806001019050610bd9565b505050505050505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc181565b6000610cdb8260008086815260200190815260200160002060000161150190919063ffffffff16565b905092915050565b6000610d0c8260008086815260200190815260200160002060000161151b90919063ffffffff16565b905092915050565b6000801b81565b60008888888888888888604051602001610d3c9897969594939291906125d9565b60405160208183030381529060405280519060200120905098975050505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1610d9281610d8d61111f565b610ce3565b80610da45750610da3816000610ce3565b5b610de3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dda906126fd565b60405180910390fd5b610dec8261099e565b610e2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e22906127bd565b60405180910390fd5b6001600083815260200190815260200160002060009055817fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7060405160405180910390a25050565b6000610e9260008084815260200190815260200160002060000161154b565b9050919050565b600060016000838152602001908152602001600020549050919050565b610edc60008084815260200190815260200160002060020154610ed761111f565b610ce3565b610f1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f129061273d565b60405180910390fd5b610f25828261146e565b5050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63610f5b81610f5661111f565b610ce3565b80610f6d5750610f6c816000610ce3565b5b610fac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa3906126fd565b60405180910390fd5b868690508989905014610ff4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610feb906126dd565b60405180910390fd5b84849050898990501461103c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611033906126dd565b60405180910390fd5b600061104e8a8a8a8a8a8a8a8a610d1b565b905061105a81856111df565b60005b8a8a90508110156110cf576110c482828d8d8581811061107957fe5b905060200201602081019061108e9190611945565b8c8c8681811061109a57fe5b905060200201358b8b878181106110ad57fe5b90506020028101906110bf9190612881565b611280565b80600101905061105d565b506110d981611378565b50505050505050505050565b6000600254905090565b6000611117836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611560565b905092915050565b600033905090565b61113082610907565b15611170576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111679061277d565b60405180910390fd5b6111786110e5565b8110156111ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b19061275d565b60405180910390fd5b6111c442826115d0565b60016000848152602001908152602001600020819055505050565b6111e88261083a565b611227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121e9061279d565b60405180910390fd5b6000801b81148061123d575061123c8161087f565b5b61127c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112739061269d565b60405180910390fd5b5050565b60008473ffffffffffffffffffffffffffffffffffffffff168484846040516112aa9291906124ad565b60006040518083038185875af1925050503d80600081146112e7576040519150601f19603f3d011682016040523d82523d6000602084013e6112ec565b606091505b5050905080611330576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113279061281d565b60405180910390fd5b85877fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588787878760405161136794939291906124e1565b60405180910390a350505050505050565b6113818161083a565b6113c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b79061279d565b60405180910390fd5b60018060008381526020019081526020016000208190555050565b611402816000808581526020019081526020016000206000016110ef90919063ffffffff16565b1561146a5761140f61111f565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6114958160008085815260200190815260200160002060000161162590919063ffffffff16565b156114fd576114a261111f565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b60006115108360000183611655565b60001c905092915050565b6000611543836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6116c2565b905092915050565b6000611559826000016116e5565b9050919050565b600061156c83836116c2565b6115c55782600001829080600181540180825580915050600190039060005260206000200160009091909190915055826000018054905083600101600084815260200190815260200160002081905550600190506115ca565b600090505b92915050565b60008082840190508381101561161b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116129061271d565b60405180910390fd5b8091505092915050565b600061164d836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6116f6565b905092915050565b6000818360000180549050116116a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116979061267d565b60405180910390fd5b8260000182815481106116af57fe5b9060005260206000200154905092915050565b600080836001016000848152602001908152602001600020541415905092915050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020549050600081146117d2576000600182039050600060018660000180549050039050600086600001828154811061174157fe5b906000526020600020015490508087600001848154811061175e57fe5b906000526020600020018190555060018301876001016000838152602001908152602001600020819055508660000180548061179657fe5b600190038181906000526020600020016000905590558660010160008781526020019081526020016000206000905560019450505050506117d8565b60009150505b92915050565b6000813590506117ed81612a57565b92915050565b60008083601f84011261180557600080fd5b8235905067ffffffffffffffff81111561181e57600080fd5b60208301915083602082028301111561183657600080fd5b9250929050565b60008083601f84011261184f57600080fd5b8235905067ffffffffffffffff81111561186857600080fd5b60208301915083602082028301111561188057600080fd5b9250929050565b60008083601f84011261189957600080fd5b8235905067ffffffffffffffff8111156118b257600080fd5b6020830191508360208202830111156118ca57600080fd5b9250929050565b6000813590506118e081612a6e565b92915050565b60008083601f8401126118f857600080fd5b8235905067ffffffffffffffff81111561191157600080fd5b60208301915083600182028301111561192957600080fd5b9250929050565b60008135905061193f81612a85565b92915050565b60006020828403121561195757600080fd5b6000611965848285016117de565b91505092915050565b60008060008060008060a0878903121561198757600080fd5b600061199589828a016117de565b96505060206119a689828a01611930565b955050604087013567ffffffffffffffff8111156119c357600080fd5b6119cf89828a016118e6565b945094505060606119e289828a016118d1565b92505060806119f389828a016118d1565b9150509295509295509295565b600080600080600080600060c0888a031215611a1b57600080fd5b6000611a298a828b016117de565b9750506020611a3a8a828b01611930565b965050604088013567ffffffffffffffff811115611a5757600080fd5b611a638a828b016118e6565b95509550506060611a768a828b016118d1565b9350506080611a878a828b016118d1565b92505060a0611a988a828b01611930565b91505092959891949750929550565b60008060008060008060008060a0898b031215611ac357600080fd5b600089013567ffffffffffffffff811115611add57600080fd5b611ae98b828c016117f3565b9850985050602089013567ffffffffffffffff811115611b0857600080fd5b611b148b828c01611887565b9650965050604089013567ffffffffffffffff811115611b3357600080fd5b611b3f8b828c0161183d565b94509450506060611b528b828c016118d1565b9250506080611b638b828c016118d1565b9150509295985092959890939650565b600080600080600080600080600060c08a8c031215611b9157600080fd5b60008a013567ffffffffffffffff811115611bab57600080fd5b611bb78c828d016117f3565b995099505060208a013567ffffffffffffffff811115611bd657600080fd5b611be28c828d01611887565b975097505060408a013567ffffffffffffffff811115611c0157600080fd5b611c0d8c828d0161183d565b95509550506060611c208c828d016118d1565b9350506080611c318c828d016118d1565b92505060a0611c428c828d01611930565b9150509295985092959850929598565b600060208284031215611c6457600080fd5b6000611c72848285016118d1565b91505092915050565b60008060408385031215611c8e57600080fd5b6000611c9c858286016118d1565b9250506020611cad858286016117de565b9150509250929050565b60008060408385031215611cca57600080fd5b6000611cd8858286016118d1565b9250506020611ce985828601611930565b9150509250929050565b600060208284031215611d0557600080fd5b6000611d1384828501611930565b91505092915050565b6000611d288383611d4a565b60208301905092915050565b6000611d41848484611eb1565b90509392505050565b611d53816129e5565b82525050565b611d62816129e5565b82525050565b6000611d748385612906565b9350611d7f826128d8565b8060005b85811015611db857611d958284612977565b611d9f8882611d1c565b9750611daa836128ec565b925050600181019050611d83565b5085925050509392505050565b6000611dd18385612917565b935083602084028501611de3846128e2565b8060005b87811015611e29578484038952611dfe828461298e565b611e09868284611d34565b9550611e14846128f9565b935060208b019a505050600181019050611de7565b50829750879450505050509392505050565b6000611e478385612928565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115611e7657600080fd5b602083029250611e87838584612a37565b82840190509392505050565b611e9c816129f7565b82525050565b611eab81612a03565b82525050565b6000611ebd8385612939565b9350611eca838584612a37565b611ed383612a46565b840190509392505050565b6000611eea838561294a565b9350611ef7838584612a37565b611f0083612a46565b840190509392505050565b6000611f17838561295b565b9350611f24838584612a37565b82840190509392505050565b6000611f3d602283612966565b91507f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e60008301527f64730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611fa3602683612966565b91507f54696d656c6f636b436f6e74726f6c6c65723a206d697373696e67206465706560008301527f6e64656e637900000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612009602f83612966565b91507f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60008301527f2061646d696e20746f206772616e7400000000000000000000000000000000006020830152604082019050919050565b600061206f602383612966565b91507f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d6160008301527f74636800000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006120d5602e83612966565b91507f54696d656c6f636b436f6e74726f6c6c65723a2073656e64657220726571756960008301527f726573207065726d697373696f6e0000000000000000000000000000000000006020830152604082019050919050565b600061213b601b83612966565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b600061217b603083612966565b91507f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60008301527f2061646d696e20746f207265766f6b65000000000000000000000000000000006020830152604082019050919050565b60006121e1602683612966565b91507f54696d656c6f636b436f6e74726f6c6c65723a20696e73756666696369656e7460008301527f2064656c617900000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612247602f83612966565b91507f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20616c60008301527f7265616479207363686564756c656400000000000000000000000000000000006020830152604082019050919050565b60006122ad602a83612966565b91507f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20697360008301527f206e6f74207265616479000000000000000000000000000000000000000000006020830152604082019050919050565b6000612313603183612966565b91507f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20636160008301527f6e6e6f742062652063616e63656c6c65640000000000000000000000000000006020830152604082019050919050565b6000612379602b83612966565b91507f54696d656c6f636b436f6e74726f6c6c65723a2063616c6c6572206d7573742060008301527f62652074696d656c6f636b0000000000000000000000000000000000000000006020830152604082019050919050565b60006123df602f83612966565b91507f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008301527f20726f6c657320666f722073656c6600000000000000000000000000000000006020830152604082019050919050565b6000612445603383612966565b91507f54696d656c6f636b436f6e74726f6c6c65723a20756e6465726c79696e67207460008301527f72616e73616374696f6e207265766572746564000000000000000000000000006020830152604082019050919050565b6124a781612a2d565b82525050565b60006124ba828486611f0b565b91508190509392505050565b60006020820190506124db6000830184611d59565b92915050565b60006060820190506124f66000830187611d59565b612503602083018661249e565b8181036040830152612516818486611ede565b905095945050505050565b600060a0820190506125366000830189611d59565b612543602083018861249e565b8181036040830152612556818688611ede565b90506125656060830185611ea2565b6125726080830184611ea2565b979650505050505050565b600060a0820190506125926000830189611d59565b61259f602083018861249e565b81810360408301526125b2818688611ede565b90506125c16060830185611ea2565b6125ce608083018461249e565b979650505050505050565b600060a08201905081810360008301526125f4818a8c611d68565b9050818103602083015261260981888a611e3b565b9050818103604083015261261e818688611dc5565b905061262d6060830185611ea2565b61263a6080830184611ea2565b9998505050505050505050565b600060208201905061265c6000830184611e93565b92915050565b60006020820190506126776000830184611ea2565b92915050565b6000602082019050818103600083015261269681611f30565b9050919050565b600060208201905081810360008301526126b681611f96565b9050919050565b600060208201905081810360008301526126d681611ffc565b9050919050565b600060208201905081810360008301526126f681612062565b9050919050565b60006020820190508181036000830152612716816120c8565b9050919050565b600060208201905081810360008301526127368161212e565b9050919050565b600060208201905081810360008301526127568161216e565b9050919050565b60006020820190508181036000830152612776816121d4565b9050919050565b600060208201905081810360008301526127968161223a565b9050919050565b600060208201905081810360008301526127b6816122a0565b9050919050565b600060208201905081810360008301526127d681612306565b9050919050565b600060208201905081810360008301526127f68161236c565b9050919050565b60006020820190508181036000830152612816816123d2565b9050919050565b6000602082019050818103600083015261283681612438565b9050919050565b6000602082019050612852600083018461249e565b92915050565b600060408201905061286d600083018561249e565b61287a602083018461249e565b9392505050565b6000808335600160200384360303811261289a57600080fd5b80840192508235915067ffffffffffffffff8211156128b857600080fd5b6020830192506001820236038313156128d057600080fd5b509250929050565b6000819050919050565b6000819050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600061298660208401846117de565b905092915050565b600080833560016020038436030381126129a757600080fd5b83810192508235915060208301925067ffffffffffffffff8211156129cb57600080fd5b6001820236038413156129dd57600080fd5b509250929050565b60006129f082612a0d565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b6000601f19601f8301169050919050565b612a60816129e5565b8114612a6b57600080fd5b50565b612a7781612a03565b8114612a8257600080fd5b50565b612a8e81612a2d565b8114612a9957600080fd5b5056fea26469706673582212209090f22964f3105e1f37ea48531e8cf9c33c50959fa0de446b8ed8f17275777864736f6c634300060c0033",
|
771
|
+
"linkReferences": {},
|
772
|
+
"deployedLinkReferences": {}
|
773
|
+
}
|