-
Notifications
You must be signed in to change notification settings - Fork 39
/
VotingEscrowRemapper.json
387 lines (387 loc) · 37.8 KB
/
VotingEscrowRemapper.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
{
"_format": "hh-sol-artifact-1",
"contractName": "VotingEscrowRemapper",
"sourceName": "contracts/VotingEscrowRemapper.sol",
"abi": [
{
"inputs": [
{
"internalType": "contract IVault",
"name": "vault",
"type": "address"
},
{
"internalType": "contract IVotingEscrow",
"name": "votingEscrow",
"type": "address"
},
{
"internalType": "contract IOmniVotingEscrowAdaptor",
"name": "omniVotingEscrowAdaptor",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "localUser",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "delegate",
"type": "address"
}
],
"name": "AddressDelegateUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "localUser",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "remoteUser",
"type": "address"
},
{
"indexed": true,
"internalType": "uint16",
"name": "chainId",
"type": "uint16"
}
],
"name": "AddressMappingUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "remoteUser",
"type": "address"
},
{
"indexed": true,
"internalType": "uint16",
"name": "chainId",
"type": "uint16"
}
],
"name": "RemoteAddressMappingCleared",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "localUser",
"type": "address"
},
{
"internalType": "uint16",
"name": "chainId",
"type": "uint16"
}
],
"name": "clearNetworkRemapping",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "selector",
"type": "bytes4"
}
],
"name": "getActionId",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getAuthorizer",
"outputs": [
{
"internalType": "contract IAuthorizer",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "remoteUser",
"type": "address"
},
{
"internalType": "uint16",
"name": "chainId",
"type": "uint16"
}
],
"name": "getLocalUser",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "getLockedEnd",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getOmniVotingEscrowAdaptor",
"outputs": [
{
"internalType": "contract IOmniVotingEscrowAdaptor",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "localUser",
"type": "address"
}
],
"name": "getRemappingManager",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "localUser",
"type": "address"
},
{
"internalType": "uint16",
"name": "chainId",
"type": "uint16"
}
],
"name": "getRemoteUser",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getTotalSupplyPoint",
"outputs": [
{
"components": [
{
"internalType": "int128",
"name": "bias",
"type": "int128"
},
{
"internalType": "int128",
"name": "slope",
"type": "int128"
},
{
"internalType": "uint256",
"name": "ts",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "blk",
"type": "uint256"
}
],
"internalType": "struct IVotingEscrow.Point",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
}
],
"name": "getUserPoint",
"outputs": [
{
"components": [
{
"internalType": "int128",
"name": "bias",
"type": "int128"
},
{
"internalType": "int128",
"name": "slope",
"type": "int128"
},
{
"internalType": "uint256",
"name": "ts",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "blk",
"type": "uint256"
}
],
"internalType": "struct IVotingEscrow.Point",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getVault",
"outputs": [
{
"internalType": "contract IVault",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getVotingEscrow",
"outputs": [
{
"internalType": "contract IVotingEscrow",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "localUser",
"type": "address"
},
{
"internalType": "address",
"name": "remoteUser",
"type": "address"
},
{
"internalType": "uint16",
"name": "chainId",
"type": "uint16"
}
],
"name": "setNetworkRemapping",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "localUser",
"type": "address"
},
{
"internalType": "address",
"name": "delegate",
"type": "address"
}
],
"name": "setNetworkRemappingManager",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60e06040523480156200001157600080fd5b5060405162001e1b38038062001e1b833981016040819052620000349162000080565b30608052606092831b6001600160601b031990811660a052600160008190559290931b90921660c05280546001600160a01b0319166001600160a01b03909216919091179055620000ec565b60008060006060848603121562000095578283fd5b8351620000a281620000d3565b6020850151909350620000b581620000d3565b6040850151909250620000c881620000d3565b809150509250925092565b6001600160a01b0381168114620000e957600080fd5b50565b60805160a05160601c60c05160601c611cf7620001246000398061028552806104ab525080610f56525080610f065250611cf76000f3fe6080604052600436106100dd5760003560e01c8063851c1bb31161007f578063aaabadc511610059578063aaabadc514610219578063bda75c381461022e578063ee98b1e71461024e578063f6f4a3321461026e576100dd565b8063851c1bb3146101c45780638d928af8146101e4578063a9f3f44e146101f9576100dd565b80635e5543be116100bb5780635e5543be1461014f57806370d1bd171461016457806371628bfd1461018457806376601a18146101b1576100dd565b806308b0308a146100e257806321861fde1461010d5780633e7df7c814610122575b600080fd5b3480156100ee57600080fd5b506100f7610283565b60405161010491906117d3565b60405180910390f35b61012061011b3660046115fe565b6102a7565b005b34801561012e57600080fd5b5061014261013d3660046115aa565b6108f8565b604051610104919061184e565b34801561015b57600080fd5b506100f7610990565b34801561017057600080fd5b506100f761017f366004611645565b6109ac565b34801561019057600080fd5b506101a461019f3660046115aa565b6109e5565b6040516101049190611c5a565b6101206101bf366004611645565b610b33565b3480156101d057600080fd5b506101426101df36600461169a565b610f02565b3480156101f057600080fd5b506100f7610f54565b34801561020557600080fd5b506101206102143660046115c6565b610f78565b34801561022557600080fd5b506100f761102d565b34801561023a57600080fd5b506100f7610249366004611645565b6110b9565b34801561025a57600080fd5b506100f76102693660046115aa565b6110f2565b34801561027a57600080fd5b506101a461111d565b7f000000000000000000000000000000000000000000000000000000000000000090565b6102af61125d565b6103043373ffffffffffffffffffffffffffffffffffffffff851614806102fc575073ffffffffffffffffffffffffffffffffffffffff8481166000908152600460205260409020541633145b610191611276565b61030d83611284565b6103325760405162461bcd60e51b815260040161032990611ae6565b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166103655760405162461bcd60e51b815260040161032990611b43565b600061036f610990565b61ffff8316600090815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff888116855292529091205491925016156103c65760405162461bcd60e51b815260040161032990611bfd565b61ffff8216600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8781168552925290912054161561041a5760405162461bcd60e51b8152600401610329906119cf565b61ffff8216600090815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff8881168552925290912054161561046e5760405162461bcd60e51b815260040161032990611a2c565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906370a08231906104e09086906004016117d3565b60206040518083038186803b1580156104f857600080fd5b505afa15801561050c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105309190611765565b1561054d5760405162461bcd60e51b8152600401610329906118e0565b61ffff8216600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff808916855292529091205416801561060c5761ffff8316600081815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616808552925280832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555190917f8bbec57d3a3f4c2e45c921fd17cbddb674ae1a51e01ca960b8251463c5907f6391a35b61ffff8316600081815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff808a168086529184528285208054918c167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316811790915586865260028552838620818752909452828520805490911682179055905190927f632b3b16accd727b982fb08251e873b41265cc9976166f1111fd6ddd49c8b9d391a46040517fecc4c58300000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff84169063ecc4c58390610709908790600401611c90565b604080518083038186803b15801561072057600080fd5b505afa158015610734573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610758919061177d565b50905073ffffffffffffffffffffffffffffffffffffffff821615610829578060020234101561079a5760405162461bcd60e51b815260040161032990611972565b6040517f57fb834500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906357fb83459083906107f2908690899033906004016117f4565b6000604051808303818588803b15801561080b57600080fd5b505af115801561081f573d6000803e3d6000fd5b5050505050610849565b803410156108495760405162461bcd60e51b815260040161032990611972565b6040517f57fb834500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906357fb83459083906108a1908a90899033906004016117f4565b6000604051808303818588803b1580156108ba57600080fd5b505af11580156108ce573d6000803e3d6000fd5b5047935050821591506108e79050576108e733826113b8565b505050506108f361143f565b505050565b6000610902610283565b73ffffffffffffffffffffffffffffffffffffffff1663adc63589836040518263ffffffff1660e01b815260040161093a91906117d3565b60206040518083038186803b15801561095257600080fd5b505afa158015610966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098a9190611765565b92915050565b60015473ffffffffffffffffffffffffffffffffffffffff1690565b61ffff16600090815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff94851684529091529020541690565b6109ed611558565b60006109f7610283565b905060008173ffffffffffffffffffffffffffffffffffffffff1663010ae757856040518263ffffffff1660e01b8152600401610a3491906117d3565b60206040518083038186803b158015610a4c57600080fd5b505afa158015610a60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a849190611765565b6040517f28d09d4700000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff8316906328d09d4790610adb9087908590600401611828565b60806040518083038186803b158015610af357600080fd5b505afa158015610b07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2b91906116f6565b949350505050565b610b3b61125d565b73ffffffffffffffffffffffffffffffffffffffff8216610b6e5760405162461bcd60e51b81526004016103299061193d565b610b7782611284565b1580610b98575073ffffffffffffffffffffffffffffffffffffffff821633145b610bb45760405162461bcd60e51b815260040161032990611883565b6000610bbe610990565b61ffff8316600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff80891685529252909120549192501680610c155760405162461bcd60e51b815260040161032990611a89565b61ffff8316600081815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff808716855290835281842080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915585855260028452828520918a16808652919093528184208054909316909255517f632b3b16accd727b982fb08251e873b41265cc9976166f1111fd6ddd49c8b9d3908390a460405161ffff84169073ffffffffffffffffffffffffffffffffffffffff8316907f8bbec57d3a3f4c2e45c921fd17cbddb674ae1a51e01ca960b8251463c5907f6390600090a36040517fecc4c58300000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff84169063ecc4c58390610d55908790600401611c90565b604080518083038186803b158015610d6c57600080fd5b505afa158015610d80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da4919061177d565b50905080600202341015610dca5760405162461bcd60e51b815260040161032990611972565b6040517f57fb834500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906357fb8345908390610e22908990899033906004016117f4565b6000604051808303818588803b158015610e3b57600080fd5b505af1158015610e4f573d6000803e3d6000fd5b50506040517f57fb834500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff871693506357fb83459250849150610eac908690899033906004016117f4565b6000604051808303818588803b158015610ec557600080fd5b505af1158015610ed9573d6000803e3d6000fd5b504793505082159150610ef2905057610ef233826113b8565b50505050610efe61143f565b5050565b60007f000000000000000000000000000000000000000000000000000000000000000082604051602001610f379291906117a0565b604051602081830303815290604052805190602001209050919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b610f80611446565b610f8861125d565b610f9182611284565b610fad5760405162461bcd60e51b815260040161032990611ba0565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526004602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f72cff3a94768f9930e59d7a01948e45bea689391918693c8d164c16f271c46d99190a3610efe61143f565b6000611037610f54565b73ffffffffffffffffffffffffffffffffffffffff1663aaabadc56040518163ffffffff1660e01b815260040160206040518083038186803b15801561107c57600080fd5b505afa158015611090573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b491906116da565b905090565b61ffff16600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff94851684529091529020541690565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152600460205260409020541690565b611125611558565b600061112f610283565b905060008173ffffffffffffffffffffffffffffffffffffffff1663900cf0cf6040518163ffffffff1660e01b815260040160206040518083038186803b15801561117957600080fd5b505afa15801561118d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b19190611765565b6040517fd1febfb900000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff83169063d1febfb99061120690849060040161184e565b60806040518083038186803b15801561121e57600080fd5b505afa158015611232573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125691906116f6565b9250505090565b61126f60026000541415610190611276565b6002600055565b81610efe57610efe81611487565b60008061128f610283565b73ffffffffffffffffffffffffffffffffffffffff16637175d4f76040518163ffffffff1660e01b815260040160206040518083038186803b1580156112d457600080fd5b505afa1580156112e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130c91906116da565b6040517fc23697a800000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063c23697a8906113619086906004016117d3565b60206040518083038186803b15801561137957600080fd5b505afa15801561138d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b1919061167a565b9392505050565b6113c7814710156101a3611276565b60008273ffffffffffffffffffffffffffffffffffffffff16826040516113ed906117d0565b60006040518083038185875af1925050503d806000811461142a576040519150601f19603f3d011682016040523d82523d6000602084013e61142f565b606091505b505090506108f3816101a4611276565b6001600055565b60006114756000357fffffffff0000000000000000000000000000000000000000000000000000000016610f02565b90506114846102fc82336114b1565b50565b611484817f42414c00000000000000000000000000000000000000000000000000000000006114f7565b60006114bb61102d565b73ffffffffffffffffffffffffffffffffffffffff16639be2a8848484306040518463ffffffff1660e01b815260040161136193929190611857565b62461bcd60e51b600090815260206004526007602452600a808404818106603090810160081b958390069590950190829004918206850160101b01602363ffffff0060e086901c160160181b0190930160c81b60445260e882901c90606490fd5b60405180608001604052806000600f0b81526020016000600f0b815260200160008152602001600081525090565b8051600f81900b811461098a57600080fd5b803561ffff8116811461098a57600080fd5b6000602082840312156115bb578081fd5b81356113b181611c9f565b600080604083850312156115d8578081fd5b82356115e381611c9f565b915060208301356115f381611c9f565b809150509250929050565b600080600060608486031215611612578081fd5b833561161d81611c9f565b9250602084013561162d81611c9f565b915061163c8560408601611598565b90509250925092565b60008060408385031215611657578182fd5b823561166281611c9f565b91506116718460208501611598565b90509250929050565b60006020828403121561168b578081fd5b815180151581146113b1578182fd5b6000602082840312156116ab578081fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146113b1578182fd5b6000602082840312156116eb578081fd5b81516113b181611c9f565b600060808284031215611707578081fd5b6040516080810181811067ffffffffffffffff82111715611726578283fd5b6040526117338484611586565b81526117428460208501611586565b602082015260408301516040820152606083015160608201528091505092915050565b600060208284031215611776578081fd5b5051919050565b6000806040838503121561178f578182fd5b505080516020909101519092909150565b9182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff938416815261ffff929092166020830152909116604082015260600190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b90815260200190565b92835273ffffffffffffffffffffffffffffffffffffffff918216602084015216604082015260600190565b60208082526023908201527f6c6f63616c55736572206973207374696c6c20696e20676f6f64207374616e6460408201527f696e670000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526030908201527f5461726765742072656d6f7465206164647265737320686173206e6f6e2d7a6560408201527f726f20766542414c2062616c616e636500000000000000000000000000000000606082015260800190565b6020808252818101527f6c6f63616c557365722063616e6e6f74206265207a65726f2061646472657373604082015260600190565b60208082526027908201527f496e73756666696369656e742045544820746f2062726964676520757365722060408201527f62616c616e636500000000000000000000000000000000000000000000000000606082015260800190565b60208082526031908201527f43616e6e6f742072656d617020746f20616e206164647265737320746861742060408201527f697320696e20757365206c6f63616c6c79000000000000000000000000000000606082015260800190565b60208082526032908201527f43616e6e6f742072656d617020746f20616e206164647265737320746861742060408201527f697320696e207573652072656d6f74656c790000000000000000000000000000606082015260800190565b60208082526021908201527f52656d617070696e6720746f20636c65617220646f6573206e6f74206578697360408201527f7400000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526038908201527f4f6e6c7920636f6e7472616374732077686963682063616e20686f6c6420766560408201527f42414c2063616e207365742075702061206d617070696e670000000000000000606082015260800190565b6020808252602a908201527f5a65726f20616464726573732063616e6e6f742062652075736564206173207260408201527f656d6f7465207573657200000000000000000000000000000000000000000000606082015260800190565b60208082526037908201527f4f6e6c7920636f6e7472616374732077686963682063616e20686f6c6420766560408201527f42414c206d6179206861766520612064656c6567617465000000000000000000606082015260800190565b60208082526034908201527f43616e6e6f74206f766572777269746520616e206578697374696e67206d617060408201527f70696e6720627920616e6f746865722075736572000000000000000000000000606082015260800190565b60006080820190508251600f0b82526020830151600f0b6020830152604083015160408301526060830151606083015292915050565b61ffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff8116811461148457600080fdfea2646970667358221220a61d77e17ef170fbd8bc526065f75241078a3d6ba7da268648767f4f557d3cb464736f6c63430007010033",
"deployedBytecode": "0x6080604052600436106100dd5760003560e01c8063851c1bb31161007f578063aaabadc511610059578063aaabadc514610219578063bda75c381461022e578063ee98b1e71461024e578063f6f4a3321461026e576100dd565b8063851c1bb3146101c45780638d928af8146101e4578063a9f3f44e146101f9576100dd565b80635e5543be116100bb5780635e5543be1461014f57806370d1bd171461016457806371628bfd1461018457806376601a18146101b1576100dd565b806308b0308a146100e257806321861fde1461010d5780633e7df7c814610122575b600080fd5b3480156100ee57600080fd5b506100f7610283565b60405161010491906117d3565b60405180910390f35b61012061011b3660046115fe565b6102a7565b005b34801561012e57600080fd5b5061014261013d3660046115aa565b6108f8565b604051610104919061184e565b34801561015b57600080fd5b506100f7610990565b34801561017057600080fd5b506100f761017f366004611645565b6109ac565b34801561019057600080fd5b506101a461019f3660046115aa565b6109e5565b6040516101049190611c5a565b6101206101bf366004611645565b610b33565b3480156101d057600080fd5b506101426101df36600461169a565b610f02565b3480156101f057600080fd5b506100f7610f54565b34801561020557600080fd5b506101206102143660046115c6565b610f78565b34801561022557600080fd5b506100f761102d565b34801561023a57600080fd5b506100f7610249366004611645565b6110b9565b34801561025a57600080fd5b506100f76102693660046115aa565b6110f2565b34801561027a57600080fd5b506101a461111d565b7f000000000000000000000000000000000000000000000000000000000000000090565b6102af61125d565b6103043373ffffffffffffffffffffffffffffffffffffffff851614806102fc575073ffffffffffffffffffffffffffffffffffffffff8481166000908152600460205260409020541633145b610191611276565b61030d83611284565b6103325760405162461bcd60e51b815260040161032990611ae6565b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166103655760405162461bcd60e51b815260040161032990611b43565b600061036f610990565b61ffff8316600090815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff888116855292529091205491925016156103c65760405162461bcd60e51b815260040161032990611bfd565b61ffff8216600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8781168552925290912054161561041a5760405162461bcd60e51b8152600401610329906119cf565b61ffff8216600090815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff8881168552925290912054161561046e5760405162461bcd60e51b815260040161032990611a2c565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906370a08231906104e09086906004016117d3565b60206040518083038186803b1580156104f857600080fd5b505afa15801561050c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105309190611765565b1561054d5760405162461bcd60e51b8152600401610329906118e0565b61ffff8216600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff808916855292529091205416801561060c5761ffff8316600081815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616808552925280832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555190917f8bbec57d3a3f4c2e45c921fd17cbddb674ae1a51e01ca960b8251463c5907f6391a35b61ffff8316600081815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff808a168086529184528285208054918c167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316811790915586865260028552838620818752909452828520805490911682179055905190927f632b3b16accd727b982fb08251e873b41265cc9976166f1111fd6ddd49c8b9d391a46040517fecc4c58300000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff84169063ecc4c58390610709908790600401611c90565b604080518083038186803b15801561072057600080fd5b505afa158015610734573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610758919061177d565b50905073ffffffffffffffffffffffffffffffffffffffff821615610829578060020234101561079a5760405162461bcd60e51b815260040161032990611972565b6040517f57fb834500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906357fb83459083906107f2908690899033906004016117f4565b6000604051808303818588803b15801561080b57600080fd5b505af115801561081f573d6000803e3d6000fd5b5050505050610849565b803410156108495760405162461bcd60e51b815260040161032990611972565b6040517f57fb834500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906357fb83459083906108a1908a90899033906004016117f4565b6000604051808303818588803b1580156108ba57600080fd5b505af11580156108ce573d6000803e3d6000fd5b5047935050821591506108e79050576108e733826113b8565b505050506108f361143f565b505050565b6000610902610283565b73ffffffffffffffffffffffffffffffffffffffff1663adc63589836040518263ffffffff1660e01b815260040161093a91906117d3565b60206040518083038186803b15801561095257600080fd5b505afa158015610966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098a9190611765565b92915050565b60015473ffffffffffffffffffffffffffffffffffffffff1690565b61ffff16600090815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff94851684529091529020541690565b6109ed611558565b60006109f7610283565b905060008173ffffffffffffffffffffffffffffffffffffffff1663010ae757856040518263ffffffff1660e01b8152600401610a3491906117d3565b60206040518083038186803b158015610a4c57600080fd5b505afa158015610a60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a849190611765565b6040517f28d09d4700000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff8316906328d09d4790610adb9087908590600401611828565b60806040518083038186803b158015610af357600080fd5b505afa158015610b07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2b91906116f6565b949350505050565b610b3b61125d565b73ffffffffffffffffffffffffffffffffffffffff8216610b6e5760405162461bcd60e51b81526004016103299061193d565b610b7782611284565b1580610b98575073ffffffffffffffffffffffffffffffffffffffff821633145b610bb45760405162461bcd60e51b815260040161032990611883565b6000610bbe610990565b61ffff8316600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff80891685529252909120549192501680610c155760405162461bcd60e51b815260040161032990611a89565b61ffff8316600081815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff808716855290835281842080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915585855260028452828520918a16808652919093528184208054909316909255517f632b3b16accd727b982fb08251e873b41265cc9976166f1111fd6ddd49c8b9d3908390a460405161ffff84169073ffffffffffffffffffffffffffffffffffffffff8316907f8bbec57d3a3f4c2e45c921fd17cbddb674ae1a51e01ca960b8251463c5907f6390600090a36040517fecc4c58300000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff84169063ecc4c58390610d55908790600401611c90565b604080518083038186803b158015610d6c57600080fd5b505afa158015610d80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da4919061177d565b50905080600202341015610dca5760405162461bcd60e51b815260040161032990611972565b6040517f57fb834500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906357fb8345908390610e22908990899033906004016117f4565b6000604051808303818588803b158015610e3b57600080fd5b505af1158015610e4f573d6000803e3d6000fd5b50506040517f57fb834500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff871693506357fb83459250849150610eac908690899033906004016117f4565b6000604051808303818588803b158015610ec557600080fd5b505af1158015610ed9573d6000803e3d6000fd5b504793505082159150610ef2905057610ef233826113b8565b50505050610efe61143f565b5050565b60007f000000000000000000000000000000000000000000000000000000000000000082604051602001610f379291906117a0565b604051602081830303815290604052805190602001209050919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b610f80611446565b610f8861125d565b610f9182611284565b610fad5760405162461bcd60e51b815260040161032990611ba0565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526004602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f72cff3a94768f9930e59d7a01948e45bea689391918693c8d164c16f271c46d99190a3610efe61143f565b6000611037610f54565b73ffffffffffffffffffffffffffffffffffffffff1663aaabadc56040518163ffffffff1660e01b815260040160206040518083038186803b15801561107c57600080fd5b505afa158015611090573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b491906116da565b905090565b61ffff16600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff94851684529091529020541690565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152600460205260409020541690565b611125611558565b600061112f610283565b905060008173ffffffffffffffffffffffffffffffffffffffff1663900cf0cf6040518163ffffffff1660e01b815260040160206040518083038186803b15801561117957600080fd5b505afa15801561118d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b19190611765565b6040517fd1febfb900000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff83169063d1febfb99061120690849060040161184e565b60806040518083038186803b15801561121e57600080fd5b505afa158015611232573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125691906116f6565b9250505090565b61126f60026000541415610190611276565b6002600055565b81610efe57610efe81611487565b60008061128f610283565b73ffffffffffffffffffffffffffffffffffffffff16637175d4f76040518163ffffffff1660e01b815260040160206040518083038186803b1580156112d457600080fd5b505afa1580156112e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130c91906116da565b6040517fc23697a800000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063c23697a8906113619086906004016117d3565b60206040518083038186803b15801561137957600080fd5b505afa15801561138d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b1919061167a565b9392505050565b6113c7814710156101a3611276565b60008273ffffffffffffffffffffffffffffffffffffffff16826040516113ed906117d0565b60006040518083038185875af1925050503d806000811461142a576040519150601f19603f3d011682016040523d82523d6000602084013e61142f565b606091505b505090506108f3816101a4611276565b6001600055565b60006114756000357fffffffff0000000000000000000000000000000000000000000000000000000016610f02565b90506114846102fc82336114b1565b50565b611484817f42414c00000000000000000000000000000000000000000000000000000000006114f7565b60006114bb61102d565b73ffffffffffffffffffffffffffffffffffffffff16639be2a8848484306040518463ffffffff1660e01b815260040161136193929190611857565b62461bcd60e51b600090815260206004526007602452600a808404818106603090810160081b958390069590950190829004918206850160101b01602363ffffff0060e086901c160160181b0190930160c81b60445260e882901c90606490fd5b60405180608001604052806000600f0b81526020016000600f0b815260200160008152602001600081525090565b8051600f81900b811461098a57600080fd5b803561ffff8116811461098a57600080fd5b6000602082840312156115bb578081fd5b81356113b181611c9f565b600080604083850312156115d8578081fd5b82356115e381611c9f565b915060208301356115f381611c9f565b809150509250929050565b600080600060608486031215611612578081fd5b833561161d81611c9f565b9250602084013561162d81611c9f565b915061163c8560408601611598565b90509250925092565b60008060408385031215611657578182fd5b823561166281611c9f565b91506116718460208501611598565b90509250929050565b60006020828403121561168b578081fd5b815180151581146113b1578182fd5b6000602082840312156116ab578081fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146113b1578182fd5b6000602082840312156116eb578081fd5b81516113b181611c9f565b600060808284031215611707578081fd5b6040516080810181811067ffffffffffffffff82111715611726578283fd5b6040526117338484611586565b81526117428460208501611586565b602082015260408301516040820152606083015160608201528091505092915050565b600060208284031215611776578081fd5b5051919050565b6000806040838503121561178f578182fd5b505080516020909101519092909150565b9182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff938416815261ffff929092166020830152909116604082015260600190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b90815260200190565b92835273ffffffffffffffffffffffffffffffffffffffff918216602084015216604082015260600190565b60208082526023908201527f6c6f63616c55736572206973207374696c6c20696e20676f6f64207374616e6460408201527f696e670000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526030908201527f5461726765742072656d6f7465206164647265737320686173206e6f6e2d7a6560408201527f726f20766542414c2062616c616e636500000000000000000000000000000000606082015260800190565b6020808252818101527f6c6f63616c557365722063616e6e6f74206265207a65726f2061646472657373604082015260600190565b60208082526027908201527f496e73756666696369656e742045544820746f2062726964676520757365722060408201527f62616c616e636500000000000000000000000000000000000000000000000000606082015260800190565b60208082526031908201527f43616e6e6f742072656d617020746f20616e206164647265737320746861742060408201527f697320696e20757365206c6f63616c6c79000000000000000000000000000000606082015260800190565b60208082526032908201527f43616e6e6f742072656d617020746f20616e206164647265737320746861742060408201527f697320696e207573652072656d6f74656c790000000000000000000000000000606082015260800190565b60208082526021908201527f52656d617070696e6720746f20636c65617220646f6573206e6f74206578697360408201527f7400000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526038908201527f4f6e6c7920636f6e7472616374732077686963682063616e20686f6c6420766560408201527f42414c2063616e207365742075702061206d617070696e670000000000000000606082015260800190565b6020808252602a908201527f5a65726f20616464726573732063616e6e6f742062652075736564206173207260408201527f656d6f7465207573657200000000000000000000000000000000000000000000606082015260800190565b60208082526037908201527f4f6e6c7920636f6e7472616374732077686963682063616e20686f6c6420766560408201527f42414c206d6179206861766520612064656c6567617465000000000000000000606082015260800190565b60208082526034908201527f43616e6e6f74206f766572777269746520616e206578697374696e67206d617060408201527f70696e6720627920616e6f746865722075736572000000000000000000000000606082015260800190565b60006080820190508251600f0b82526020830151600f0b6020830152604083015160408301526060830151606083015292915050565b61ffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff8116811461148457600080fdfea2646970667358221220a61d77e17ef170fbd8bc526065f75241078a3d6ba7da268648767f4f557d3cb464736f6c63430007010033",
"linkReferences": {},
"deployedLinkReferences": {}
}