forked from balancer/balancer-deployments
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBalancerMinter.json
411 lines (411 loc) · 28.3 KB
/
BalancerMinter.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
{
"_format": "hh-sol-artifact-1",
"contractName": "BalancerMinter",
"sourceName": "contracts/BalancerMinter.sol",
"abi": [
{
"inputs": [
{
"internalType": "contract IBalancerTokenAdmin",
"name": "tokenAdmin",
"type": "address"
},
{
"internalType": "contract IGaugeController",
"name": "gaugeController",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "gauge",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "minted",
"type": "uint256"
}
],
"name": "Minted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "user",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "minter",
"type": "address"
},
{
"indexed": false,
"internalType": "bool",
"name": "approval",
"type": "bool"
}
],
"name": "MinterApprovalSet",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "minter",
"type": "address"
},
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "allowed_to_mint_for",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getBalancerToken",
"outputs": [
{
"internalType": "contract IERC20",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getBalancerTokenAdmin",
"outputs": [
{
"internalType": "contract IBalancerTokenAdmin",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getDomainSeparator",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getGaugeController",
"outputs": [
{
"internalType": "contract IGaugeController",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "minter",
"type": "address"
},
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "getMinterApproval",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "getNextNonce",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "gauge",
"type": "address"
}
],
"name": "mint",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "gauge",
"type": "address"
},
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "mintFor",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "gauges",
"type": "address[]"
}
],
"name": "mintMany",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "gauges",
"type": "address[]"
},
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "mintManyFor",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "gauge",
"type": "address"
},
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "mint_for",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[8]",
"name": "gauges",
"type": "address[8]"
}
],
"name": "mint_many",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "address",
"name": "gauge",
"type": "address"
}
],
"name": "minted",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "minter",
"type": "address"
},
{
"internalType": "bool",
"name": "approval",
"type": "bool"
}
],
"name": "setMinterApproval",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "minter",
"type": "address"
},
{
"internalType": "bool",
"name": "approval",
"type": "bool"
},
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
}
],
"name": "setMinterApprovalWithSignature",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "minter",
"type": "address"
}
],
"name": "toggle_approve_mint",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x6101606040527fc87351a089bbdc3b2b9299d2ce29f08fd982826b275b3642939a2f7fdd8153806101405234801561003657600080fd5b506040516114d53803806114d58339818101604052604081101561005957600080fd5b508051602091820151604080518082018252600f81526e2130b630b731b2b91026b4b73a32b960891b818601908152825180840184526001808252603160f81b828901908152600091909155925190912060805251902060a0527f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60c052805163c003969960e01b81529051929391926001600160a01b0385169263c00396999260048082019391829003018186803b15801561011557600080fd5b505afa158015610129573d6000803e3d6000fd5b505050506040513d602081101561013f57600080fd5b50516001600160601b0319606091821b811660e05292811b8316610100521b166101205260805160a05160c05160e05160601c6101005160601c6101205160601c610140516113076101ce600039806108e45250806106375280610eea525080610ae95280610be55280610cf552508061081e525080610e10525080610e52525080610e3152506113076000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c80638b752bb0116100b2578063c003969911610081578063dd289d6011610066578063dd289d601461047f578063e6dec36f146104b2578063ed24911d146104ba5761011b565b8063c003969914610419578063c6542794146104215761011b565b80638b752bb01461038e57806390193b7c146103c9578063a0990033146102a0578063a51e1904146103fc5761011b565b80633c543bc6116100ee5780633c543bc6146102a057806358de9ade146102ef5780636a627842146103205780637504a15d146103535761011b565b80630de54ba01461012057806327f18ae31461015d578063397ada21146101985780633b9f73841461021a575b600080fd5b61015b6004803603604081101561013657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013515156104c2565b005b61015b6004803603604081101561017357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166104d1565b610208600480360360208110156101ae57600080fd5b8101906020810181356401000000008111156101c957600080fd5b8201836020820111156101db57600080fd5b803590602001918460208302840111640100000000831117156101fd57600080fd5b509092509050610526565b60408051918252519081900360200190f35b6102086004803603604081101561023057600080fd5b81019060208101813564010000000081111561024b57600080fd5b82018360208201111561025d57600080fd5b8035906020019184602083028401116401000000008311171561027f57600080fd5b91935091503573ffffffffffffffffffffffffffffffffffffffff1661054b565b6102db600480360360408110156102b657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166105fa565b604080519115158252519081900360200190f35b6102f7610635565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102086004803603602081101561033657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610659565b6102086004803603604081101561036957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602001351661067c565b610208600480360360408110156103a457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610719565b610208600480360360208110156103df57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610751565b61015b600480360361010081101561041357600080fd5b50610779565b6102f761081c565b61015b600480360360e081101561043757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101351515916040820135169060608101359060ff6080820135169060a08101359060c00135610840565b61015b6004803603602081101561049557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610aa7565b6102f7610ae7565b610208610b0b565b6104cd823383610b1a565b5050565b6104d9610bb6565b33600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff161561051e5761051c8282610bcf565b505b6104cd610c92565b6000610530610bb6565b61053b838333610c99565b9050610545610c92565b92915050565b6000610555610bb6565b33600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915290205460ff166105de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061128d6023913960400191505060405180910390fd5b6105e9848484610c99565b90506105f3610c92565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291909152205460ff1690565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000610663610bb6565b61066d8233610bcf565b9050610677610c92565b919050565b6000610686610bb6565b33600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915290205460ff1661070f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061128d6023913960400191505060405180910390fd5b61053b8383610bcf565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b73ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b610781610bb6565b60005b600881101561081057600082826008811061079b57fe5b602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156107d757610810565b6108078282600881106107e657fe5b602002013573ffffffffffffffffffffffffffffffffffffffff1633610bcf565b50600101610784565b50610819610c92565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b4284116108ae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f5369676e61747572652065787069726564000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff808616600090815260036020908152604080832080546001810190915581517f000000000000000000000000000000000000000000000000000000000000000081850152948c16858301528a151560608601526080850181905260a08086018a90528251808703909101815260c0909501909152835193909101929092209061094b82610da5565b9050600060018288888860405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156109a9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590610a2457508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610a8f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f496e76616c6964207369676e6174757265000000000000000000000000000000604482015290519081900360640190fd5b610a9a8b8a8c610b1a565b5050505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020908152604080832033845290915290205461081990829060ff16156104c2565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000610b15610e0c565b905090565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526002602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155825190815291519293927fa3ffb51320bbca4e61e7423e3c97dd7bd7e31b6ea7429eb26ef92780e84572a09281900390910190a3505050565b610bc860026000541415610190610ed7565b6002600055565b6000610bdb8383610ee5565b90508015610545577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166340c10f1983836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610c7457600080fd5b505af1158015610c88573d6000803e3d6000fd5b5050505092915050565b6001600055565b600082815b81811015610cec57610ce2610cdb878784818110610cb857fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1686610ee5565b84906111ea565b9250600101610c9e565b508115610d9d577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166340c10f1984846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610d8457600080fd5b505af1158015610d98573d6000803e3d6000fd5b505050505b509392505050565b6000610daf610e0c565b8260405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b60007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610e796111fc565b30604051602001808681526020018581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019550505050505060405160208183030381529060405280519060200120905090565b816104cd576104cd81611200565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16633f9095b7856040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610f6f57600080fd5b505afa158015610f83573d6000803e3d6000fd5b505050506040513d6020811015610f9957600080fd5b5051600f0b1215610ff5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806112b06022913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff16634b820093836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561105e57600080fd5b505af1158015611072573d6000803e3d6000fd5b505050506040513d602081101561108857600080fd5b5050604080517f0940070700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015291516000928616916309400707916024808301926020929190829003018186803b1580156110fb57600080fd5b505afa15801561110f573d6000803e3d6000fd5b505050506040513d602081101561112557600080fd5b505173ffffffffffffffffffffffffffffffffffffffff80851660009081526001602090815260408083209389168352929052205490915061116890829061126d565b915081156111e35773ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260408083209489168084529482529182902085905581519384528301849052805191927f9d228d69b5fdb8d273a2336f8fb8612d039631024ea9bf09c424a9503aa078f0929081900390910190a25b5092915050565b60008282016105f38482101583610ed7565b4690565b7f08c379a0000000000000000000000000000000000000000000000000000000006000908152602060045260076024526642414c23000030600a808404818106603090810160081b95839006959095019082900491820690940160101b939093010160c81b604452606490fd5b60006105f38383600160006112858484111583610ed7565b505090039056fe43616c6c6572206e6f7420616c6c6f77656420746f206d696e7420666f722075736572476175676520646f6573206e6f74206578697374206f6e20436f6e74726f6c6c6572a2646970667358221220587cd49e37f22072725c57ae56a3bd92e4eed3038ece21302b71f0ade552372464736f6c63430007010033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061011b5760003560e01c80638b752bb0116100b2578063c003969911610081578063dd289d6011610066578063dd289d601461047f578063e6dec36f146104b2578063ed24911d146104ba5761011b565b8063c003969914610419578063c6542794146104215761011b565b80638b752bb01461038e57806390193b7c146103c9578063a0990033146102a0578063a51e1904146103fc5761011b565b80633c543bc6116100ee5780633c543bc6146102a057806358de9ade146102ef5780636a627842146103205780637504a15d146103535761011b565b80630de54ba01461012057806327f18ae31461015d578063397ada21146101985780633b9f73841461021a575b600080fd5b61015b6004803603604081101561013657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013515156104c2565b005b61015b6004803603604081101561017357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166104d1565b610208600480360360208110156101ae57600080fd5b8101906020810181356401000000008111156101c957600080fd5b8201836020820111156101db57600080fd5b803590602001918460208302840111640100000000831117156101fd57600080fd5b509092509050610526565b60408051918252519081900360200190f35b6102086004803603604081101561023057600080fd5b81019060208101813564010000000081111561024b57600080fd5b82018360208201111561025d57600080fd5b8035906020019184602083028401116401000000008311171561027f57600080fd5b91935091503573ffffffffffffffffffffffffffffffffffffffff1661054b565b6102db600480360360408110156102b657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166105fa565b604080519115158252519081900360200190f35b6102f7610635565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102086004803603602081101561033657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610659565b6102086004803603604081101561036957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602001351661067c565b610208600480360360408110156103a457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610719565b610208600480360360208110156103df57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610751565b61015b600480360361010081101561041357600080fd5b50610779565b6102f761081c565b61015b600480360360e081101561043757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101351515916040820135169060608101359060ff6080820135169060a08101359060c00135610840565b61015b6004803603602081101561049557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610aa7565b6102f7610ae7565b610208610b0b565b6104cd823383610b1a565b5050565b6104d9610bb6565b33600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff161561051e5761051c8282610bcf565b505b6104cd610c92565b6000610530610bb6565b61053b838333610c99565b9050610545610c92565b92915050565b6000610555610bb6565b33600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915290205460ff166105de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061128d6023913960400191505060405180910390fd5b6105e9848484610c99565b90506105f3610c92565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291909152205460ff1690565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000610663610bb6565b61066d8233610bcf565b9050610677610c92565b919050565b6000610686610bb6565b33600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915290205460ff1661070f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061128d6023913960400191505060405180910390fd5b61053b8383610bcf565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b73ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b610781610bb6565b60005b600881101561081057600082826008811061079b57fe5b602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156107d757610810565b6108078282600881106107e657fe5b602002013573ffffffffffffffffffffffffffffffffffffffff1633610bcf565b50600101610784565b50610819610c92565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b4284116108ae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f5369676e61747572652065787069726564000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff808616600090815260036020908152604080832080546001810190915581517f000000000000000000000000000000000000000000000000000000000000000081850152948c16858301528a151560608601526080850181905260a08086018a90528251808703909101815260c0909501909152835193909101929092209061094b82610da5565b9050600060018288888860405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156109a9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590610a2457508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610a8f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f496e76616c6964207369676e6174757265000000000000000000000000000000604482015290519081900360640190fd5b610a9a8b8a8c610b1a565b5050505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020908152604080832033845290915290205461081990829060ff16156104c2565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000610b15610e0c565b905090565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526002602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515908117909155825190815291519293927fa3ffb51320bbca4e61e7423e3c97dd7bd7e31b6ea7429eb26ef92780e84572a09281900390910190a3505050565b610bc860026000541415610190610ed7565b6002600055565b6000610bdb8383610ee5565b90508015610545577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166340c10f1983836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610c7457600080fd5b505af1158015610c88573d6000803e3d6000fd5b5050505092915050565b6001600055565b600082815b81811015610cec57610ce2610cdb878784818110610cb857fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1686610ee5565b84906111ea565b9250600101610c9e565b508115610d9d577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166340c10f1984846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610d8457600080fd5b505af1158015610d98573d6000803e3d6000fd5b505050505b509392505050565b6000610daf610e0c565b8260405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b60007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610e796111fc565b30604051602001808681526020018581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019550505050505060405160208183030381529060405280519060200120905090565b816104cd576104cd81611200565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16633f9095b7856040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610f6f57600080fd5b505afa158015610f83573d6000803e3d6000fd5b505050506040513d6020811015610f9957600080fd5b5051600f0b1215610ff5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806112b06022913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff16634b820093836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561105e57600080fd5b505af1158015611072573d6000803e3d6000fd5b505050506040513d602081101561108857600080fd5b5050604080517f0940070700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015291516000928616916309400707916024808301926020929190829003018186803b1580156110fb57600080fd5b505afa15801561110f573d6000803e3d6000fd5b505050506040513d602081101561112557600080fd5b505173ffffffffffffffffffffffffffffffffffffffff80851660009081526001602090815260408083209389168352929052205490915061116890829061126d565b915081156111e35773ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260408083209489168084529482529182902085905581519384528301849052805191927f9d228d69b5fdb8d273a2336f8fb8612d039631024ea9bf09c424a9503aa078f0929081900390910190a25b5092915050565b60008282016105f38482101583610ed7565b4690565b7f08c379a0000000000000000000000000000000000000000000000000000000006000908152602060045260076024526642414c23000030600a808404818106603090810160081b95839006959095019082900491820690940160101b939093010160c81b604452606490fd5b60006105f38383600160006112858484111583610ed7565b505090039056fe43616c6c6572206e6f7420616c6c6f77656420746f206d696e7420666f722075736572476175676520646f6573206e6f74206578697374206f6e20436f6e74726f6c6c6572a2646970667358221220587cd49e37f22072725c57ae56a3bd92e4eed3038ece21302b71f0ade552372464736f6c63430007010033",
"linkReferences": {},
"deployedLinkReferences": {}
}