@rocketh/diamond 0.17.11 → 0.17.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4613 @@
1
+ export default {
2
+ contractName: 'EIP173Proxy',
3
+ sourceName: 'solc_0.8/proxy/EIP173Proxy.sol',
4
+ abi: [
5
+ {
6
+ inputs: [
7
+ {
8
+ internalType: 'address',
9
+ name: 'implementationAddress',
10
+ type: 'address',
11
+ },
12
+ {
13
+ internalType: 'address',
14
+ name: 'ownerAddress',
15
+ type: 'address',
16
+ },
17
+ {
18
+ internalType: 'bytes',
19
+ name: 'data',
20
+ type: 'bytes',
21
+ },
22
+ ],
23
+ stateMutability: 'payable',
24
+ type: 'constructor',
25
+ },
26
+ {
27
+ anonymous: false,
28
+ inputs: [
29
+ {
30
+ indexed: true,
31
+ internalType: 'address',
32
+ name: 'previousOwner',
33
+ type: 'address',
34
+ },
35
+ {
36
+ indexed: true,
37
+ internalType: 'address',
38
+ name: 'newOwner',
39
+ type: 'address',
40
+ },
41
+ ],
42
+ name: 'OwnershipTransferred',
43
+ type: 'event',
44
+ },
45
+ {
46
+ anonymous: false,
47
+ inputs: [
48
+ {
49
+ indexed: true,
50
+ internalType: 'address',
51
+ name: 'previousImplementation',
52
+ type: 'address',
53
+ },
54
+ {
55
+ indexed: true,
56
+ internalType: 'address',
57
+ name: 'newImplementation',
58
+ type: 'address',
59
+ },
60
+ ],
61
+ name: 'ProxyImplementationUpdated',
62
+ type: 'event',
63
+ },
64
+ {
65
+ stateMutability: 'payable',
66
+ type: 'fallback',
67
+ },
68
+ {
69
+ inputs: [],
70
+ name: 'owner',
71
+ outputs: [
72
+ {
73
+ internalType: 'address',
74
+ name: '',
75
+ type: 'address',
76
+ },
77
+ ],
78
+ stateMutability: 'view',
79
+ type: 'function',
80
+ },
81
+ {
82
+ inputs: [
83
+ {
84
+ internalType: 'bytes4',
85
+ name: 'id',
86
+ type: 'bytes4',
87
+ },
88
+ ],
89
+ name: 'supportsInterface',
90
+ outputs: [
91
+ {
92
+ internalType: 'bool',
93
+ name: '',
94
+ type: 'bool',
95
+ },
96
+ ],
97
+ stateMutability: 'view',
98
+ type: 'function',
99
+ },
100
+ {
101
+ inputs: [
102
+ {
103
+ internalType: 'address',
104
+ name: 'newOwner',
105
+ type: 'address',
106
+ },
107
+ ],
108
+ name: 'transferOwnership',
109
+ outputs: [],
110
+ stateMutability: 'nonpayable',
111
+ type: 'function',
112
+ },
113
+ {
114
+ inputs: [
115
+ {
116
+ internalType: 'address',
117
+ name: 'newImplementation',
118
+ type: 'address',
119
+ },
120
+ ],
121
+ name: 'upgradeTo',
122
+ outputs: [],
123
+ stateMutability: 'nonpayable',
124
+ type: 'function',
125
+ },
126
+ {
127
+ inputs: [
128
+ {
129
+ internalType: 'address',
130
+ name: 'newImplementation',
131
+ type: 'address',
132
+ },
133
+ {
134
+ internalType: 'bytes',
135
+ name: 'data',
136
+ type: 'bytes',
137
+ },
138
+ ],
139
+ name: 'upgradeToAndCall',
140
+ outputs: [],
141
+ stateMutability: 'payable',
142
+ type: 'function',
143
+ },
144
+ {
145
+ stateMutability: 'payable',
146
+ type: 'receive',
147
+ },
148
+ ],
149
+ bytecode:
150
+ '0x608060405260405162000ccc38038062000ccc8339810160408190526200002691620001fc565b620000318262000046565b6200003d8382620000b8565b505050620002fa565b60006200006060008051602062000cac8339815191525490565b90508160008051602062000cac83398151915255816001600160a01b0316816001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8054908390556040516001600160a01b0380851691908316907f5570d70a002632a7b0b3c9304cc89efb62d8da9eca0dbd7752c83b737906829690600090a381511562000195576000836001600160a01b0316836040516200013c9190620002dc565b600060405180830381855af49150503d806000811462000179576040519150601f19603f3d011682016040523d82523d6000602084013e6200017e565b606091505b505090508062000193573d806000803e806000fd5b505b505050565b80516001600160a01b0381168114620001b257600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620001ea578181015183820152602001620001d0565b83811115620001935750506000910152565b6000806000606084860312156200021257600080fd5b6200021d846200019a565b92506200022d602085016200019a565b60408501519092506001600160401b03808211156200024b57600080fd5b818601915086601f8301126200026057600080fd5b815181811115620002755762000275620001b7565b604051601f8201601f19908116603f01168101908382118183101715620002a057620002a0620001b7565b81604052828152896020848701011115620002ba57600080fd5b620002cd836020830160208801620001cd565b80955050505050509250925092565b60008251620002f0818460208701620001cd565b9190910192915050565b6109a2806200030a6000396000f3fe60806040526004361061005e5760003560e01c80634f1ef286116100435780634f1ef286146101295780638da5cb5b1461013c578063f2fde38b14610176576100ca565b806301ffc9a7146100d45780633659cfe614610109576100ca565b366100ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f45544845525f52454a454354454400000000000000000000000000000000000060448201526064015b60405180910390fd5b6100d2610196565b005b3480156100e057600080fd5b506100f46100ef366004610806565b6101e1565b60405190151581526020015b60405180910390f35b34801561011557600080fd5b506100d2610124366004610871565b6103af565b6100d261013736600461088c565b610481565b34801561014857600080fd5b5061015161057c565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610100565b34801561018257600080fd5b506100d2610191366004610871565b6105ab565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460003681823780813683855af491503d8082833e8280156101d7578183f35b8183fd5b50505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061027457507f7f5828d0000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b1561028157506001919050565b7fffffffff0000000000000000000000000000000000000000000000000000000080831614156102b357506000919050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000008416600482015273ffffffffffffffffffffffffffffffffffffffff8216906301ffc9a790602401602060405180830381865afa92505050801561039b575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526103989181019061090f565b60015b6103a85750600092915050565b9392505050565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610465576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a454400000000000000000000000000000000000060448201526064016100c1565b61047e816040518060200160405280600081525061066a565b50565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610537576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a454400000000000000000000000000000000000060448201526064016100c1565b6105778383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061066a92505050565b505050565b60006105a67fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905090565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610661576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a454400000000000000000000000000000000000060448201526064016100c1565b61047e81610759565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80549083905560405173ffffffffffffffffffffffffffffffffffffffff80851691908316907f5570d70a002632a7b0b3c9304cc89efb62d8da9eca0dbd7752c83b737906829690600090a38151156105775760008373ffffffffffffffffffffffffffffffffffffffff16836040516107059190610931565b600060405180830381855af49150503d8060008114610740576040519150601f19603f3d011682016040523d82523d6000602084013e610745565b606091505b50509050806101db573d806000803e806000fd5b60006107837fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b9050817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103558173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006020828403121561081857600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146103a857600080fd5b803573ffffffffffffffffffffffffffffffffffffffff8116811461086c57600080fd5b919050565b60006020828403121561088357600080fd5b6103a882610848565b6000806000604084860312156108a157600080fd5b6108aa84610848565b9250602084013567ffffffffffffffff808211156108c757600080fd5b818601915086601f8301126108db57600080fd5b8135818111156108ea57600080fd5b8760208285010111156108fc57600080fd5b6020830194508093505050509250925092565b60006020828403121561092157600080fd5b815180151581146103a857600080fd5b6000825160005b818110156109525760208186018101518583015201610938565b81811115610961576000828501525b50919091019291505056fea2646970667358221220e649c37c69d6249070369be01f33af3368fcdcea9814421a048306c2829c125964736f6c634300080a0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103',
151
+ deployedBytecode:
152
+ '0x60806040526004361061005e5760003560e01c80634f1ef286116100435780634f1ef286146101295780638da5cb5b1461013c578063f2fde38b14610176576100ca565b806301ffc9a7146100d45780633659cfe614610109576100ca565b366100ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f45544845525f52454a454354454400000000000000000000000000000000000060448201526064015b60405180910390fd5b6100d2610196565b005b3480156100e057600080fd5b506100f46100ef366004610806565b6101e1565b60405190151581526020015b60405180910390f35b34801561011557600080fd5b506100d2610124366004610871565b6103af565b6100d261013736600461088c565b610481565b34801561014857600080fd5b5061015161057c565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610100565b34801561018257600080fd5b506100d2610191366004610871565b6105ab565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460003681823780813683855af491503d8082833e8280156101d7578183f35b8183fd5b50505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061027457507f7f5828d0000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b1561028157506001919050565b7fffffffff0000000000000000000000000000000000000000000000000000000080831614156102b357506000919050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000008416600482015273ffffffffffffffffffffffffffffffffffffffff8216906301ffc9a790602401602060405180830381865afa92505050801561039b575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526103989181019061090f565b60015b6103a85750600092915050565b9392505050565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610465576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a454400000000000000000000000000000000000060448201526064016100c1565b61047e816040518060200160405280600081525061066a565b50565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610537576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a454400000000000000000000000000000000000060448201526064016100c1565b6105778383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061066a92505050565b505050565b60006105a67fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905090565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610661576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a454400000000000000000000000000000000000060448201526064016100c1565b61047e81610759565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80549083905560405173ffffffffffffffffffffffffffffffffffffffff80851691908316907f5570d70a002632a7b0b3c9304cc89efb62d8da9eca0dbd7752c83b737906829690600090a38151156105775760008373ffffffffffffffffffffffffffffffffffffffff16836040516107059190610931565b600060405180830381855af49150503d8060008114610740576040519150601f19603f3d011682016040523d82523d6000602084013e610745565b606091505b50509050806101db573d806000803e806000fd5b60006107837fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b9050817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103558173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006020828403121561081857600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146103a857600080fd5b803573ffffffffffffffffffffffffffffffffffffffff8116811461086c57600080fd5b919050565b60006020828403121561088357600080fd5b6103a882610848565b6000806000604084860312156108a157600080fd5b6108aa84610848565b9250602084013567ffffffffffffffff808211156108c757600080fd5b818601915086601f8301126108db57600080fd5b8135818111156108ea57600080fd5b8760208285010111156108fc57600080fd5b6020830194508093505050509250925092565b60006020828403121561092157600080fd5b815180151581146103a857600080fd5b6000825160005b818110156109525760208186018101518583015201610938565b81811115610961576000828501525b50919091019291505056fea2646970667358221220e649c37c69d6249070369be01f33af3368fcdcea9814421a048306c2829c125964736f6c634300080a0033',
153
+ linkReferences: {},
154
+ deployedLinkReferences: {},
155
+ devdoc: {
156
+ kind: 'dev',
157
+ methods: {},
158
+ version: 1,
159
+ },
160
+ evm: {
161
+ bytecode: {
162
+ functionDebugData: {
163
+ '@_38': {
164
+ entryPoint: null,
165
+ id: 38,
166
+ parameterSlots: 3,
167
+ returnSlots: 0,
168
+ },
169
+ '@_owner_154': {
170
+ entryPoint: null,
171
+ id: 154,
172
+ parameterSlots: 0,
173
+ returnSlots: 1,
174
+ },
175
+ '@_setImplementation_263': {
176
+ entryPoint: 184,
177
+ id: 263,
178
+ parameterSlots: 2,
179
+ returnSlots: 0,
180
+ },
181
+ '@_setOwner_171': {
182
+ entryPoint: 70,
183
+ id: 171,
184
+ parameterSlots: 1,
185
+ returnSlots: 0,
186
+ },
187
+ abi_decode_address_fromMemory: {
188
+ entryPoint: 410,
189
+ id: null,
190
+ parameterSlots: 1,
191
+ returnSlots: 1,
192
+ },
193
+ abi_decode_tuple_t_addresst_addresst_bytes_memory_ptr_fromMemory: {
194
+ entryPoint: 508,
195
+ id: null,
196
+ parameterSlots: 2,
197
+ returnSlots: 3,
198
+ },
199
+ abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed: {
200
+ entryPoint: 732,
201
+ id: null,
202
+ parameterSlots: 2,
203
+ returnSlots: 1,
204
+ },
205
+ copy_memory_to_memory: {
206
+ entryPoint: 461,
207
+ id: null,
208
+ parameterSlots: 3,
209
+ returnSlots: 0,
210
+ },
211
+ panic_error_0x41: {
212
+ entryPoint: 439,
213
+ id: null,
214
+ parameterSlots: 0,
215
+ returnSlots: 0,
216
+ },
217
+ },
218
+ generatedSources: [
219
+ {
220
+ ast: {
221
+ nodeType: 'YulBlock',
222
+ src: '0:1925:3',
223
+ statements: [
224
+ {
225
+ nodeType: 'YulBlock',
226
+ src: '6:3:3',
227
+ statements: [],
228
+ },
229
+ {
230
+ body: {
231
+ nodeType: 'YulBlock',
232
+ src: '74:117:3',
233
+ statements: [
234
+ {
235
+ nodeType: 'YulAssignment',
236
+ src: '84:22:3',
237
+ value: {
238
+ arguments: [
239
+ {
240
+ name: 'offset',
241
+ nodeType: 'YulIdentifier',
242
+ src: '99:6:3',
243
+ },
244
+ ],
245
+ functionName: {
246
+ name: 'mload',
247
+ nodeType: 'YulIdentifier',
248
+ src: '93:5:3',
249
+ },
250
+ nodeType: 'YulFunctionCall',
251
+ src: '93:13:3',
252
+ },
253
+ variableNames: [
254
+ {
255
+ name: 'value',
256
+ nodeType: 'YulIdentifier',
257
+ src: '84:5:3',
258
+ },
259
+ ],
260
+ },
261
+ {
262
+ body: {
263
+ nodeType: 'YulBlock',
264
+ src: '169:16:3',
265
+ statements: [
266
+ {
267
+ expression: {
268
+ arguments: [
269
+ {
270
+ kind: 'number',
271
+ nodeType: 'YulLiteral',
272
+ src: '178:1:3',
273
+ type: '',
274
+ value: '0',
275
+ },
276
+ {
277
+ kind: 'number',
278
+ nodeType: 'YulLiteral',
279
+ src: '181:1:3',
280
+ type: '',
281
+ value: '0',
282
+ },
283
+ ],
284
+ functionName: {
285
+ name: 'revert',
286
+ nodeType: 'YulIdentifier',
287
+ src: '171:6:3',
288
+ },
289
+ nodeType: 'YulFunctionCall',
290
+ src: '171:12:3',
291
+ },
292
+ nodeType: 'YulExpressionStatement',
293
+ src: '171:12:3',
294
+ },
295
+ ],
296
+ },
297
+ condition: {
298
+ arguments: [
299
+ {
300
+ arguments: [
301
+ {
302
+ name: 'value',
303
+ nodeType: 'YulIdentifier',
304
+ src: '128:5:3',
305
+ },
306
+ {
307
+ arguments: [
308
+ {
309
+ name: 'value',
310
+ nodeType: 'YulIdentifier',
311
+ src: '139:5:3',
312
+ },
313
+ {
314
+ arguments: [
315
+ {
316
+ arguments: [
317
+ {
318
+ kind: 'number',
319
+ nodeType: 'YulLiteral',
320
+ src: '154:3:3',
321
+ type: '',
322
+ value: '160',
323
+ },
324
+ {
325
+ kind: 'number',
326
+ nodeType: 'YulLiteral',
327
+ src: '159:1:3',
328
+ type: '',
329
+ value: '1',
330
+ },
331
+ ],
332
+ functionName: {
333
+ name: 'shl',
334
+ nodeType: 'YulIdentifier',
335
+ src: '150:3:3',
336
+ },
337
+ nodeType: 'YulFunctionCall',
338
+ src: '150:11:3',
339
+ },
340
+ {
341
+ kind: 'number',
342
+ nodeType: 'YulLiteral',
343
+ src: '163:1:3',
344
+ type: '',
345
+ value: '1',
346
+ },
347
+ ],
348
+ functionName: {
349
+ name: 'sub',
350
+ nodeType: 'YulIdentifier',
351
+ src: '146:3:3',
352
+ },
353
+ nodeType: 'YulFunctionCall',
354
+ src: '146:19:3',
355
+ },
356
+ ],
357
+ functionName: {
358
+ name: 'and',
359
+ nodeType: 'YulIdentifier',
360
+ src: '135:3:3',
361
+ },
362
+ nodeType: 'YulFunctionCall',
363
+ src: '135:31:3',
364
+ },
365
+ ],
366
+ functionName: {
367
+ name: 'eq',
368
+ nodeType: 'YulIdentifier',
369
+ src: '125:2:3',
370
+ },
371
+ nodeType: 'YulFunctionCall',
372
+ src: '125:42:3',
373
+ },
374
+ ],
375
+ functionName: {
376
+ name: 'iszero',
377
+ nodeType: 'YulIdentifier',
378
+ src: '118:6:3',
379
+ },
380
+ nodeType: 'YulFunctionCall',
381
+ src: '118:50:3',
382
+ },
383
+ nodeType: 'YulIf',
384
+ src: '115:70:3',
385
+ },
386
+ ],
387
+ },
388
+ name: 'abi_decode_address_fromMemory',
389
+ nodeType: 'YulFunctionDefinition',
390
+ parameters: [
391
+ {
392
+ name: 'offset',
393
+ nodeType: 'YulTypedName',
394
+ src: '53:6:3',
395
+ type: '',
396
+ },
397
+ ],
398
+ returnVariables: [
399
+ {
400
+ name: 'value',
401
+ nodeType: 'YulTypedName',
402
+ src: '64:5:3',
403
+ type: '',
404
+ },
405
+ ],
406
+ src: '14:177:3',
407
+ },
408
+ {
409
+ body: {
410
+ nodeType: 'YulBlock',
411
+ src: '228:95:3',
412
+ statements: [
413
+ {
414
+ expression: {
415
+ arguments: [
416
+ {
417
+ kind: 'number',
418
+ nodeType: 'YulLiteral',
419
+ src: '245:1:3',
420
+ type: '',
421
+ value: '0',
422
+ },
423
+ {
424
+ arguments: [
425
+ {
426
+ kind: 'number',
427
+ nodeType: 'YulLiteral',
428
+ src: '252:3:3',
429
+ type: '',
430
+ value: '224',
431
+ },
432
+ {
433
+ kind: 'number',
434
+ nodeType: 'YulLiteral',
435
+ src: '257:10:3',
436
+ type: '',
437
+ value: '0x4e487b71',
438
+ },
439
+ ],
440
+ functionName: {
441
+ name: 'shl',
442
+ nodeType: 'YulIdentifier',
443
+ src: '248:3:3',
444
+ },
445
+ nodeType: 'YulFunctionCall',
446
+ src: '248:20:3',
447
+ },
448
+ ],
449
+ functionName: {
450
+ name: 'mstore',
451
+ nodeType: 'YulIdentifier',
452
+ src: '238:6:3',
453
+ },
454
+ nodeType: 'YulFunctionCall',
455
+ src: '238:31:3',
456
+ },
457
+ nodeType: 'YulExpressionStatement',
458
+ src: '238:31:3',
459
+ },
460
+ {
461
+ expression: {
462
+ arguments: [
463
+ {
464
+ kind: 'number',
465
+ nodeType: 'YulLiteral',
466
+ src: '285:1:3',
467
+ type: '',
468
+ value: '4',
469
+ },
470
+ {
471
+ kind: 'number',
472
+ nodeType: 'YulLiteral',
473
+ src: '288:4:3',
474
+ type: '',
475
+ value: '0x41',
476
+ },
477
+ ],
478
+ functionName: {
479
+ name: 'mstore',
480
+ nodeType: 'YulIdentifier',
481
+ src: '278:6:3',
482
+ },
483
+ nodeType: 'YulFunctionCall',
484
+ src: '278:15:3',
485
+ },
486
+ nodeType: 'YulExpressionStatement',
487
+ src: '278:15:3',
488
+ },
489
+ {
490
+ expression: {
491
+ arguments: [
492
+ {
493
+ kind: 'number',
494
+ nodeType: 'YulLiteral',
495
+ src: '309:1:3',
496
+ type: '',
497
+ value: '0',
498
+ },
499
+ {
500
+ kind: 'number',
501
+ nodeType: 'YulLiteral',
502
+ src: '312:4:3',
503
+ type: '',
504
+ value: '0x24',
505
+ },
506
+ ],
507
+ functionName: {
508
+ name: 'revert',
509
+ nodeType: 'YulIdentifier',
510
+ src: '302:6:3',
511
+ },
512
+ nodeType: 'YulFunctionCall',
513
+ src: '302:15:3',
514
+ },
515
+ nodeType: 'YulExpressionStatement',
516
+ src: '302:15:3',
517
+ },
518
+ ],
519
+ },
520
+ name: 'panic_error_0x41',
521
+ nodeType: 'YulFunctionDefinition',
522
+ src: '196:127:3',
523
+ },
524
+ {
525
+ body: {
526
+ nodeType: 'YulBlock',
527
+ src: '381:205:3',
528
+ statements: [
529
+ {
530
+ nodeType: 'YulVariableDeclaration',
531
+ src: '391:10:3',
532
+ value: {
533
+ kind: 'number',
534
+ nodeType: 'YulLiteral',
535
+ src: '400:1:3',
536
+ type: '',
537
+ value: '0',
538
+ },
539
+ variables: [
540
+ {
541
+ name: 'i',
542
+ nodeType: 'YulTypedName',
543
+ src: '395:1:3',
544
+ type: '',
545
+ },
546
+ ],
547
+ },
548
+ {
549
+ body: {
550
+ nodeType: 'YulBlock',
551
+ src: '460:63:3',
552
+ statements: [
553
+ {
554
+ expression: {
555
+ arguments: [
556
+ {
557
+ arguments: [
558
+ {
559
+ name: 'dst',
560
+ nodeType: 'YulIdentifier',
561
+ src: '485:3:3',
562
+ },
563
+ {
564
+ name: 'i',
565
+ nodeType: 'YulIdentifier',
566
+ src: '490:1:3',
567
+ },
568
+ ],
569
+ functionName: {
570
+ name: 'add',
571
+ nodeType: 'YulIdentifier',
572
+ src: '481:3:3',
573
+ },
574
+ nodeType: 'YulFunctionCall',
575
+ src: '481:11:3',
576
+ },
577
+ {
578
+ arguments: [
579
+ {
580
+ arguments: [
581
+ {
582
+ name: 'src',
583
+ nodeType: 'YulIdentifier',
584
+ src: '504:3:3',
585
+ },
586
+ {
587
+ name: 'i',
588
+ nodeType: 'YulIdentifier',
589
+ src: '509:1:3',
590
+ },
591
+ ],
592
+ functionName: {
593
+ name: 'add',
594
+ nodeType: 'YulIdentifier',
595
+ src: '500:3:3',
596
+ },
597
+ nodeType: 'YulFunctionCall',
598
+ src: '500:11:3',
599
+ },
600
+ ],
601
+ functionName: {
602
+ name: 'mload',
603
+ nodeType: 'YulIdentifier',
604
+ src: '494:5:3',
605
+ },
606
+ nodeType: 'YulFunctionCall',
607
+ src: '494:18:3',
608
+ },
609
+ ],
610
+ functionName: {
611
+ name: 'mstore',
612
+ nodeType: 'YulIdentifier',
613
+ src: '474:6:3',
614
+ },
615
+ nodeType: 'YulFunctionCall',
616
+ src: '474:39:3',
617
+ },
618
+ nodeType: 'YulExpressionStatement',
619
+ src: '474:39:3',
620
+ },
621
+ ],
622
+ },
623
+ condition: {
624
+ arguments: [
625
+ {
626
+ name: 'i',
627
+ nodeType: 'YulIdentifier',
628
+ src: '421:1:3',
629
+ },
630
+ {
631
+ name: 'length',
632
+ nodeType: 'YulIdentifier',
633
+ src: '424:6:3',
634
+ },
635
+ ],
636
+ functionName: {
637
+ name: 'lt',
638
+ nodeType: 'YulIdentifier',
639
+ src: '418:2:3',
640
+ },
641
+ nodeType: 'YulFunctionCall',
642
+ src: '418:13:3',
643
+ },
644
+ nodeType: 'YulForLoop',
645
+ post: {
646
+ nodeType: 'YulBlock',
647
+ src: '432:19:3',
648
+ statements: [
649
+ {
650
+ nodeType: 'YulAssignment',
651
+ src: '434:15:3',
652
+ value: {
653
+ arguments: [
654
+ {
655
+ name: 'i',
656
+ nodeType: 'YulIdentifier',
657
+ src: '443:1:3',
658
+ },
659
+ {
660
+ kind: 'number',
661
+ nodeType: 'YulLiteral',
662
+ src: '446:2:3',
663
+ type: '',
664
+ value: '32',
665
+ },
666
+ ],
667
+ functionName: {
668
+ name: 'add',
669
+ nodeType: 'YulIdentifier',
670
+ src: '439:3:3',
671
+ },
672
+ nodeType: 'YulFunctionCall',
673
+ src: '439:10:3',
674
+ },
675
+ variableNames: [
676
+ {
677
+ name: 'i',
678
+ nodeType: 'YulIdentifier',
679
+ src: '434:1:3',
680
+ },
681
+ ],
682
+ },
683
+ ],
684
+ },
685
+ pre: {
686
+ nodeType: 'YulBlock',
687
+ src: '414:3:3',
688
+ statements: [],
689
+ },
690
+ src: '410:113:3',
691
+ },
692
+ {
693
+ body: {
694
+ nodeType: 'YulBlock',
695
+ src: '549:31:3',
696
+ statements: [
697
+ {
698
+ expression: {
699
+ arguments: [
700
+ {
701
+ arguments: [
702
+ {
703
+ name: 'dst',
704
+ nodeType: 'YulIdentifier',
705
+ src: '562:3:3',
706
+ },
707
+ {
708
+ name: 'length',
709
+ nodeType: 'YulIdentifier',
710
+ src: '567:6:3',
711
+ },
712
+ ],
713
+ functionName: {
714
+ name: 'add',
715
+ nodeType: 'YulIdentifier',
716
+ src: '558:3:3',
717
+ },
718
+ nodeType: 'YulFunctionCall',
719
+ src: '558:16:3',
720
+ },
721
+ {
722
+ kind: 'number',
723
+ nodeType: 'YulLiteral',
724
+ src: '576:1:3',
725
+ type: '',
726
+ value: '0',
727
+ },
728
+ ],
729
+ functionName: {
730
+ name: 'mstore',
731
+ nodeType: 'YulIdentifier',
732
+ src: '551:6:3',
733
+ },
734
+ nodeType: 'YulFunctionCall',
735
+ src: '551:27:3',
736
+ },
737
+ nodeType: 'YulExpressionStatement',
738
+ src: '551:27:3',
739
+ },
740
+ ],
741
+ },
742
+ condition: {
743
+ arguments: [
744
+ {
745
+ name: 'i',
746
+ nodeType: 'YulIdentifier',
747
+ src: '538:1:3',
748
+ },
749
+ {
750
+ name: 'length',
751
+ nodeType: 'YulIdentifier',
752
+ src: '541:6:3',
753
+ },
754
+ ],
755
+ functionName: {
756
+ name: 'gt',
757
+ nodeType: 'YulIdentifier',
758
+ src: '535:2:3',
759
+ },
760
+ nodeType: 'YulFunctionCall',
761
+ src: '535:13:3',
762
+ },
763
+ nodeType: 'YulIf',
764
+ src: '532:48:3',
765
+ },
766
+ ],
767
+ },
768
+ name: 'copy_memory_to_memory',
769
+ nodeType: 'YulFunctionDefinition',
770
+ parameters: [
771
+ {
772
+ name: 'src',
773
+ nodeType: 'YulTypedName',
774
+ src: '359:3:3',
775
+ type: '',
776
+ },
777
+ {
778
+ name: 'dst',
779
+ nodeType: 'YulTypedName',
780
+ src: '364:3:3',
781
+ type: '',
782
+ },
783
+ {
784
+ name: 'length',
785
+ nodeType: 'YulTypedName',
786
+ src: '369:6:3',
787
+ type: '',
788
+ },
789
+ ],
790
+ src: '328:258:3',
791
+ },
792
+ {
793
+ body: {
794
+ nodeType: 'YulBlock',
795
+ src: '715:929:3',
796
+ statements: [
797
+ {
798
+ body: {
799
+ nodeType: 'YulBlock',
800
+ src: '761:16:3',
801
+ statements: [
802
+ {
803
+ expression: {
804
+ arguments: [
805
+ {
806
+ kind: 'number',
807
+ nodeType: 'YulLiteral',
808
+ src: '770:1:3',
809
+ type: '',
810
+ value: '0',
811
+ },
812
+ {
813
+ kind: 'number',
814
+ nodeType: 'YulLiteral',
815
+ src: '773:1:3',
816
+ type: '',
817
+ value: '0',
818
+ },
819
+ ],
820
+ functionName: {
821
+ name: 'revert',
822
+ nodeType: 'YulIdentifier',
823
+ src: '763:6:3',
824
+ },
825
+ nodeType: 'YulFunctionCall',
826
+ src: '763:12:3',
827
+ },
828
+ nodeType: 'YulExpressionStatement',
829
+ src: '763:12:3',
830
+ },
831
+ ],
832
+ },
833
+ condition: {
834
+ arguments: [
835
+ {
836
+ arguments: [
837
+ {
838
+ name: 'dataEnd',
839
+ nodeType: 'YulIdentifier',
840
+ src: '736:7:3',
841
+ },
842
+ {
843
+ name: 'headStart',
844
+ nodeType: 'YulIdentifier',
845
+ src: '745:9:3',
846
+ },
847
+ ],
848
+ functionName: {
849
+ name: 'sub',
850
+ nodeType: 'YulIdentifier',
851
+ src: '732:3:3',
852
+ },
853
+ nodeType: 'YulFunctionCall',
854
+ src: '732:23:3',
855
+ },
856
+ {
857
+ kind: 'number',
858
+ nodeType: 'YulLiteral',
859
+ src: '757:2:3',
860
+ type: '',
861
+ value: '96',
862
+ },
863
+ ],
864
+ functionName: {
865
+ name: 'slt',
866
+ nodeType: 'YulIdentifier',
867
+ src: '728:3:3',
868
+ },
869
+ nodeType: 'YulFunctionCall',
870
+ src: '728:32:3',
871
+ },
872
+ nodeType: 'YulIf',
873
+ src: '725:52:3',
874
+ },
875
+ {
876
+ nodeType: 'YulAssignment',
877
+ src: '786:50:3',
878
+ value: {
879
+ arguments: [
880
+ {
881
+ name: 'headStart',
882
+ nodeType: 'YulIdentifier',
883
+ src: '826:9:3',
884
+ },
885
+ ],
886
+ functionName: {
887
+ name: 'abi_decode_address_fromMemory',
888
+ nodeType: 'YulIdentifier',
889
+ src: '796:29:3',
890
+ },
891
+ nodeType: 'YulFunctionCall',
892
+ src: '796:40:3',
893
+ },
894
+ variableNames: [
895
+ {
896
+ name: 'value0',
897
+ nodeType: 'YulIdentifier',
898
+ src: '786:6:3',
899
+ },
900
+ ],
901
+ },
902
+ {
903
+ nodeType: 'YulAssignment',
904
+ src: '845:59:3',
905
+ value: {
906
+ arguments: [
907
+ {
908
+ arguments: [
909
+ {
910
+ name: 'headStart',
911
+ nodeType: 'YulIdentifier',
912
+ src: '889:9:3',
913
+ },
914
+ {
915
+ kind: 'number',
916
+ nodeType: 'YulLiteral',
917
+ src: '900:2:3',
918
+ type: '',
919
+ value: '32',
920
+ },
921
+ ],
922
+ functionName: {
923
+ name: 'add',
924
+ nodeType: 'YulIdentifier',
925
+ src: '885:3:3',
926
+ },
927
+ nodeType: 'YulFunctionCall',
928
+ src: '885:18:3',
929
+ },
930
+ ],
931
+ functionName: {
932
+ name: 'abi_decode_address_fromMemory',
933
+ nodeType: 'YulIdentifier',
934
+ src: '855:29:3',
935
+ },
936
+ nodeType: 'YulFunctionCall',
937
+ src: '855:49:3',
938
+ },
939
+ variableNames: [
940
+ {
941
+ name: 'value1',
942
+ nodeType: 'YulIdentifier',
943
+ src: '845:6:3',
944
+ },
945
+ ],
946
+ },
947
+ {
948
+ nodeType: 'YulVariableDeclaration',
949
+ src: '913:39:3',
950
+ value: {
951
+ arguments: [
952
+ {
953
+ arguments: [
954
+ {
955
+ name: 'headStart',
956
+ nodeType: 'YulIdentifier',
957
+ src: '937:9:3',
958
+ },
959
+ {
960
+ kind: 'number',
961
+ nodeType: 'YulLiteral',
962
+ src: '948:2:3',
963
+ type: '',
964
+ value: '64',
965
+ },
966
+ ],
967
+ functionName: {
968
+ name: 'add',
969
+ nodeType: 'YulIdentifier',
970
+ src: '933:3:3',
971
+ },
972
+ nodeType: 'YulFunctionCall',
973
+ src: '933:18:3',
974
+ },
975
+ ],
976
+ functionName: {
977
+ name: 'mload',
978
+ nodeType: 'YulIdentifier',
979
+ src: '927:5:3',
980
+ },
981
+ nodeType: 'YulFunctionCall',
982
+ src: '927:25:3',
983
+ },
984
+ variables: [
985
+ {
986
+ name: 'offset',
987
+ nodeType: 'YulTypedName',
988
+ src: '917:6:3',
989
+ type: '',
990
+ },
991
+ ],
992
+ },
993
+ {
994
+ nodeType: 'YulVariableDeclaration',
995
+ src: '961:28:3',
996
+ value: {
997
+ arguments: [
998
+ {
999
+ arguments: [
1000
+ {
1001
+ kind: 'number',
1002
+ nodeType: 'YulLiteral',
1003
+ src: '979:2:3',
1004
+ type: '',
1005
+ value: '64',
1006
+ },
1007
+ {
1008
+ kind: 'number',
1009
+ nodeType: 'YulLiteral',
1010
+ src: '983:1:3',
1011
+ type: '',
1012
+ value: '1',
1013
+ },
1014
+ ],
1015
+ functionName: {
1016
+ name: 'shl',
1017
+ nodeType: 'YulIdentifier',
1018
+ src: '975:3:3',
1019
+ },
1020
+ nodeType: 'YulFunctionCall',
1021
+ src: '975:10:3',
1022
+ },
1023
+ {
1024
+ kind: 'number',
1025
+ nodeType: 'YulLiteral',
1026
+ src: '987:1:3',
1027
+ type: '',
1028
+ value: '1',
1029
+ },
1030
+ ],
1031
+ functionName: {
1032
+ name: 'sub',
1033
+ nodeType: 'YulIdentifier',
1034
+ src: '971:3:3',
1035
+ },
1036
+ nodeType: 'YulFunctionCall',
1037
+ src: '971:18:3',
1038
+ },
1039
+ variables: [
1040
+ {
1041
+ name: '_1',
1042
+ nodeType: 'YulTypedName',
1043
+ src: '965:2:3',
1044
+ type: '',
1045
+ },
1046
+ ],
1047
+ },
1048
+ {
1049
+ body: {
1050
+ nodeType: 'YulBlock',
1051
+ src: '1016:16:3',
1052
+ statements: [
1053
+ {
1054
+ expression: {
1055
+ arguments: [
1056
+ {
1057
+ kind: 'number',
1058
+ nodeType: 'YulLiteral',
1059
+ src: '1025:1:3',
1060
+ type: '',
1061
+ value: '0',
1062
+ },
1063
+ {
1064
+ kind: 'number',
1065
+ nodeType: 'YulLiteral',
1066
+ src: '1028:1:3',
1067
+ type: '',
1068
+ value: '0',
1069
+ },
1070
+ ],
1071
+ functionName: {
1072
+ name: 'revert',
1073
+ nodeType: 'YulIdentifier',
1074
+ src: '1018:6:3',
1075
+ },
1076
+ nodeType: 'YulFunctionCall',
1077
+ src: '1018:12:3',
1078
+ },
1079
+ nodeType: 'YulExpressionStatement',
1080
+ src: '1018:12:3',
1081
+ },
1082
+ ],
1083
+ },
1084
+ condition: {
1085
+ arguments: [
1086
+ {
1087
+ name: 'offset',
1088
+ nodeType: 'YulIdentifier',
1089
+ src: '1004:6:3',
1090
+ },
1091
+ {
1092
+ name: '_1',
1093
+ nodeType: 'YulIdentifier',
1094
+ src: '1012:2:3',
1095
+ },
1096
+ ],
1097
+ functionName: {
1098
+ name: 'gt',
1099
+ nodeType: 'YulIdentifier',
1100
+ src: '1001:2:3',
1101
+ },
1102
+ nodeType: 'YulFunctionCall',
1103
+ src: '1001:14:3',
1104
+ },
1105
+ nodeType: 'YulIf',
1106
+ src: '998:34:3',
1107
+ },
1108
+ {
1109
+ nodeType: 'YulVariableDeclaration',
1110
+ src: '1041:32:3',
1111
+ value: {
1112
+ arguments: [
1113
+ {
1114
+ name: 'headStart',
1115
+ nodeType: 'YulIdentifier',
1116
+ src: '1055:9:3',
1117
+ },
1118
+ {
1119
+ name: 'offset',
1120
+ nodeType: 'YulIdentifier',
1121
+ src: '1066:6:3',
1122
+ },
1123
+ ],
1124
+ functionName: {
1125
+ name: 'add',
1126
+ nodeType: 'YulIdentifier',
1127
+ src: '1051:3:3',
1128
+ },
1129
+ nodeType: 'YulFunctionCall',
1130
+ src: '1051:22:3',
1131
+ },
1132
+ variables: [
1133
+ {
1134
+ name: '_2',
1135
+ nodeType: 'YulTypedName',
1136
+ src: '1045:2:3',
1137
+ type: '',
1138
+ },
1139
+ ],
1140
+ },
1141
+ {
1142
+ body: {
1143
+ nodeType: 'YulBlock',
1144
+ src: '1121:16:3',
1145
+ statements: [
1146
+ {
1147
+ expression: {
1148
+ arguments: [
1149
+ {
1150
+ kind: 'number',
1151
+ nodeType: 'YulLiteral',
1152
+ src: '1130:1:3',
1153
+ type: '',
1154
+ value: '0',
1155
+ },
1156
+ {
1157
+ kind: 'number',
1158
+ nodeType: 'YulLiteral',
1159
+ src: '1133:1:3',
1160
+ type: '',
1161
+ value: '0',
1162
+ },
1163
+ ],
1164
+ functionName: {
1165
+ name: 'revert',
1166
+ nodeType: 'YulIdentifier',
1167
+ src: '1123:6:3',
1168
+ },
1169
+ nodeType: 'YulFunctionCall',
1170
+ src: '1123:12:3',
1171
+ },
1172
+ nodeType: 'YulExpressionStatement',
1173
+ src: '1123:12:3',
1174
+ },
1175
+ ],
1176
+ },
1177
+ condition: {
1178
+ arguments: [
1179
+ {
1180
+ arguments: [
1181
+ {
1182
+ arguments: [
1183
+ {
1184
+ name: '_2',
1185
+ nodeType: 'YulIdentifier',
1186
+ src: '1100:2:3',
1187
+ },
1188
+ {
1189
+ kind: 'number',
1190
+ nodeType: 'YulLiteral',
1191
+ src: '1104:4:3',
1192
+ type: '',
1193
+ value: '0x1f',
1194
+ },
1195
+ ],
1196
+ functionName: {
1197
+ name: 'add',
1198
+ nodeType: 'YulIdentifier',
1199
+ src: '1096:3:3',
1200
+ },
1201
+ nodeType: 'YulFunctionCall',
1202
+ src: '1096:13:3',
1203
+ },
1204
+ {
1205
+ name: 'dataEnd',
1206
+ nodeType: 'YulIdentifier',
1207
+ src: '1111:7:3',
1208
+ },
1209
+ ],
1210
+ functionName: {
1211
+ name: 'slt',
1212
+ nodeType: 'YulIdentifier',
1213
+ src: '1092:3:3',
1214
+ },
1215
+ nodeType: 'YulFunctionCall',
1216
+ src: '1092:27:3',
1217
+ },
1218
+ ],
1219
+ functionName: {
1220
+ name: 'iszero',
1221
+ nodeType: 'YulIdentifier',
1222
+ src: '1085:6:3',
1223
+ },
1224
+ nodeType: 'YulFunctionCall',
1225
+ src: '1085:35:3',
1226
+ },
1227
+ nodeType: 'YulIf',
1228
+ src: '1082:55:3',
1229
+ },
1230
+ {
1231
+ nodeType: 'YulVariableDeclaration',
1232
+ src: '1146:19:3',
1233
+ value: {
1234
+ arguments: [
1235
+ {
1236
+ name: '_2',
1237
+ nodeType: 'YulIdentifier',
1238
+ src: '1162:2:3',
1239
+ },
1240
+ ],
1241
+ functionName: {
1242
+ name: 'mload',
1243
+ nodeType: 'YulIdentifier',
1244
+ src: '1156:5:3',
1245
+ },
1246
+ nodeType: 'YulFunctionCall',
1247
+ src: '1156:9:3',
1248
+ },
1249
+ variables: [
1250
+ {
1251
+ name: '_3',
1252
+ nodeType: 'YulTypedName',
1253
+ src: '1150:2:3',
1254
+ type: '',
1255
+ },
1256
+ ],
1257
+ },
1258
+ {
1259
+ body: {
1260
+ nodeType: 'YulBlock',
1261
+ src: '1188:22:3',
1262
+ statements: [
1263
+ {
1264
+ expression: {
1265
+ arguments: [],
1266
+ functionName: {
1267
+ name: 'panic_error_0x41',
1268
+ nodeType: 'YulIdentifier',
1269
+ src: '1190:16:3',
1270
+ },
1271
+ nodeType: 'YulFunctionCall',
1272
+ src: '1190:18:3',
1273
+ },
1274
+ nodeType: 'YulExpressionStatement',
1275
+ src: '1190:18:3',
1276
+ },
1277
+ ],
1278
+ },
1279
+ condition: {
1280
+ arguments: [
1281
+ {
1282
+ name: '_3',
1283
+ nodeType: 'YulIdentifier',
1284
+ src: '1180:2:3',
1285
+ },
1286
+ {
1287
+ name: '_1',
1288
+ nodeType: 'YulIdentifier',
1289
+ src: '1184:2:3',
1290
+ },
1291
+ ],
1292
+ functionName: {
1293
+ name: 'gt',
1294
+ nodeType: 'YulIdentifier',
1295
+ src: '1177:2:3',
1296
+ },
1297
+ nodeType: 'YulFunctionCall',
1298
+ src: '1177:10:3',
1299
+ },
1300
+ nodeType: 'YulIf',
1301
+ src: '1174:36:3',
1302
+ },
1303
+ {
1304
+ nodeType: 'YulVariableDeclaration',
1305
+ src: '1219:17:3',
1306
+ value: {
1307
+ arguments: [
1308
+ {
1309
+ kind: 'number',
1310
+ nodeType: 'YulLiteral',
1311
+ src: '1233:2:3',
1312
+ type: '',
1313
+ value: '31',
1314
+ },
1315
+ ],
1316
+ functionName: {
1317
+ name: 'not',
1318
+ nodeType: 'YulIdentifier',
1319
+ src: '1229:3:3',
1320
+ },
1321
+ nodeType: 'YulFunctionCall',
1322
+ src: '1229:7:3',
1323
+ },
1324
+ variables: [
1325
+ {
1326
+ name: '_4',
1327
+ nodeType: 'YulTypedName',
1328
+ src: '1223:2:3',
1329
+ type: '',
1330
+ },
1331
+ ],
1332
+ },
1333
+ {
1334
+ nodeType: 'YulVariableDeclaration',
1335
+ src: '1245:23:3',
1336
+ value: {
1337
+ arguments: [
1338
+ {
1339
+ kind: 'number',
1340
+ nodeType: 'YulLiteral',
1341
+ src: '1265:2:3',
1342
+ type: '',
1343
+ value: '64',
1344
+ },
1345
+ ],
1346
+ functionName: {
1347
+ name: 'mload',
1348
+ nodeType: 'YulIdentifier',
1349
+ src: '1259:5:3',
1350
+ },
1351
+ nodeType: 'YulFunctionCall',
1352
+ src: '1259:9:3',
1353
+ },
1354
+ variables: [
1355
+ {
1356
+ name: 'memPtr',
1357
+ nodeType: 'YulTypedName',
1358
+ src: '1249:6:3',
1359
+ type: '',
1360
+ },
1361
+ ],
1362
+ },
1363
+ {
1364
+ nodeType: 'YulVariableDeclaration',
1365
+ src: '1277:71:3',
1366
+ value: {
1367
+ arguments: [
1368
+ {
1369
+ name: 'memPtr',
1370
+ nodeType: 'YulIdentifier',
1371
+ src: '1299:6:3',
1372
+ },
1373
+ {
1374
+ arguments: [
1375
+ {
1376
+ arguments: [
1377
+ {
1378
+ arguments: [
1379
+ {
1380
+ arguments: [
1381
+ {
1382
+ name: '_3',
1383
+ nodeType: 'YulIdentifier',
1384
+ src: '1323:2:3',
1385
+ },
1386
+ {
1387
+ kind: 'number',
1388
+ nodeType: 'YulLiteral',
1389
+ src: '1327:4:3',
1390
+ type: '',
1391
+ value: '0x1f',
1392
+ },
1393
+ ],
1394
+ functionName: {
1395
+ name: 'add',
1396
+ nodeType: 'YulIdentifier',
1397
+ src: '1319:3:3',
1398
+ },
1399
+ nodeType: 'YulFunctionCall',
1400
+ src: '1319:13:3',
1401
+ },
1402
+ {
1403
+ name: '_4',
1404
+ nodeType: 'YulIdentifier',
1405
+ src: '1334:2:3',
1406
+ },
1407
+ ],
1408
+ functionName: {
1409
+ name: 'and',
1410
+ nodeType: 'YulIdentifier',
1411
+ src: '1315:3:3',
1412
+ },
1413
+ nodeType: 'YulFunctionCall',
1414
+ src: '1315:22:3',
1415
+ },
1416
+ {
1417
+ kind: 'number',
1418
+ nodeType: 'YulLiteral',
1419
+ src: '1339:2:3',
1420
+ type: '',
1421
+ value: '63',
1422
+ },
1423
+ ],
1424
+ functionName: {
1425
+ name: 'add',
1426
+ nodeType: 'YulIdentifier',
1427
+ src: '1311:3:3',
1428
+ },
1429
+ nodeType: 'YulFunctionCall',
1430
+ src: '1311:31:3',
1431
+ },
1432
+ {
1433
+ name: '_4',
1434
+ nodeType: 'YulIdentifier',
1435
+ src: '1344:2:3',
1436
+ },
1437
+ ],
1438
+ functionName: {
1439
+ name: 'and',
1440
+ nodeType: 'YulIdentifier',
1441
+ src: '1307:3:3',
1442
+ },
1443
+ nodeType: 'YulFunctionCall',
1444
+ src: '1307:40:3',
1445
+ },
1446
+ ],
1447
+ functionName: {
1448
+ name: 'add',
1449
+ nodeType: 'YulIdentifier',
1450
+ src: '1295:3:3',
1451
+ },
1452
+ nodeType: 'YulFunctionCall',
1453
+ src: '1295:53:3',
1454
+ },
1455
+ variables: [
1456
+ {
1457
+ name: 'newFreePtr',
1458
+ nodeType: 'YulTypedName',
1459
+ src: '1281:10:3',
1460
+ type: '',
1461
+ },
1462
+ ],
1463
+ },
1464
+ {
1465
+ body: {
1466
+ nodeType: 'YulBlock',
1467
+ src: '1407:22:3',
1468
+ statements: [
1469
+ {
1470
+ expression: {
1471
+ arguments: [],
1472
+ functionName: {
1473
+ name: 'panic_error_0x41',
1474
+ nodeType: 'YulIdentifier',
1475
+ src: '1409:16:3',
1476
+ },
1477
+ nodeType: 'YulFunctionCall',
1478
+ src: '1409:18:3',
1479
+ },
1480
+ nodeType: 'YulExpressionStatement',
1481
+ src: '1409:18:3',
1482
+ },
1483
+ ],
1484
+ },
1485
+ condition: {
1486
+ arguments: [
1487
+ {
1488
+ arguments: [
1489
+ {
1490
+ name: 'newFreePtr',
1491
+ nodeType: 'YulIdentifier',
1492
+ src: '1366:10:3',
1493
+ },
1494
+ {
1495
+ name: '_1',
1496
+ nodeType: 'YulIdentifier',
1497
+ src: '1378:2:3',
1498
+ },
1499
+ ],
1500
+ functionName: {
1501
+ name: 'gt',
1502
+ nodeType: 'YulIdentifier',
1503
+ src: '1363:2:3',
1504
+ },
1505
+ nodeType: 'YulFunctionCall',
1506
+ src: '1363:18:3',
1507
+ },
1508
+ {
1509
+ arguments: [
1510
+ {
1511
+ name: 'newFreePtr',
1512
+ nodeType: 'YulIdentifier',
1513
+ src: '1386:10:3',
1514
+ },
1515
+ {
1516
+ name: 'memPtr',
1517
+ nodeType: 'YulIdentifier',
1518
+ src: '1398:6:3',
1519
+ },
1520
+ ],
1521
+ functionName: {
1522
+ name: 'lt',
1523
+ nodeType: 'YulIdentifier',
1524
+ src: '1383:2:3',
1525
+ },
1526
+ nodeType: 'YulFunctionCall',
1527
+ src: '1383:22:3',
1528
+ },
1529
+ ],
1530
+ functionName: {
1531
+ name: 'or',
1532
+ nodeType: 'YulIdentifier',
1533
+ src: '1360:2:3',
1534
+ },
1535
+ nodeType: 'YulFunctionCall',
1536
+ src: '1360:46:3',
1537
+ },
1538
+ nodeType: 'YulIf',
1539
+ src: '1357:72:3',
1540
+ },
1541
+ {
1542
+ expression: {
1543
+ arguments: [
1544
+ {
1545
+ kind: 'number',
1546
+ nodeType: 'YulLiteral',
1547
+ src: '1445:2:3',
1548
+ type: '',
1549
+ value: '64',
1550
+ },
1551
+ {
1552
+ name: 'newFreePtr',
1553
+ nodeType: 'YulIdentifier',
1554
+ src: '1449:10:3',
1555
+ },
1556
+ ],
1557
+ functionName: {
1558
+ name: 'mstore',
1559
+ nodeType: 'YulIdentifier',
1560
+ src: '1438:6:3',
1561
+ },
1562
+ nodeType: 'YulFunctionCall',
1563
+ src: '1438:22:3',
1564
+ },
1565
+ nodeType: 'YulExpressionStatement',
1566
+ src: '1438:22:3',
1567
+ },
1568
+ {
1569
+ expression: {
1570
+ arguments: [
1571
+ {
1572
+ name: 'memPtr',
1573
+ nodeType: 'YulIdentifier',
1574
+ src: '1476:6:3',
1575
+ },
1576
+ {
1577
+ name: '_3',
1578
+ nodeType: 'YulIdentifier',
1579
+ src: '1484:2:3',
1580
+ },
1581
+ ],
1582
+ functionName: {
1583
+ name: 'mstore',
1584
+ nodeType: 'YulIdentifier',
1585
+ src: '1469:6:3',
1586
+ },
1587
+ nodeType: 'YulFunctionCall',
1588
+ src: '1469:18:3',
1589
+ },
1590
+ nodeType: 'YulExpressionStatement',
1591
+ src: '1469:18:3',
1592
+ },
1593
+ {
1594
+ body: {
1595
+ nodeType: 'YulBlock',
1596
+ src: '1533:16:3',
1597
+ statements: [
1598
+ {
1599
+ expression: {
1600
+ arguments: [
1601
+ {
1602
+ kind: 'number',
1603
+ nodeType: 'YulLiteral',
1604
+ src: '1542:1:3',
1605
+ type: '',
1606
+ value: '0',
1607
+ },
1608
+ {
1609
+ kind: 'number',
1610
+ nodeType: 'YulLiteral',
1611
+ src: '1545:1:3',
1612
+ type: '',
1613
+ value: '0',
1614
+ },
1615
+ ],
1616
+ functionName: {
1617
+ name: 'revert',
1618
+ nodeType: 'YulIdentifier',
1619
+ src: '1535:6:3',
1620
+ },
1621
+ nodeType: 'YulFunctionCall',
1622
+ src: '1535:12:3',
1623
+ },
1624
+ nodeType: 'YulExpressionStatement',
1625
+ src: '1535:12:3',
1626
+ },
1627
+ ],
1628
+ },
1629
+ condition: {
1630
+ arguments: [
1631
+ {
1632
+ arguments: [
1633
+ {
1634
+ arguments: [
1635
+ {
1636
+ name: '_2',
1637
+ nodeType: 'YulIdentifier',
1638
+ src: '1510:2:3',
1639
+ },
1640
+ {
1641
+ name: '_3',
1642
+ nodeType: 'YulIdentifier',
1643
+ src: '1514:2:3',
1644
+ },
1645
+ ],
1646
+ functionName: {
1647
+ name: 'add',
1648
+ nodeType: 'YulIdentifier',
1649
+ src: '1506:3:3',
1650
+ },
1651
+ nodeType: 'YulFunctionCall',
1652
+ src: '1506:11:3',
1653
+ },
1654
+ {
1655
+ kind: 'number',
1656
+ nodeType: 'YulLiteral',
1657
+ src: '1519:2:3',
1658
+ type: '',
1659
+ value: '32',
1660
+ },
1661
+ ],
1662
+ functionName: {
1663
+ name: 'add',
1664
+ nodeType: 'YulIdentifier',
1665
+ src: '1502:3:3',
1666
+ },
1667
+ nodeType: 'YulFunctionCall',
1668
+ src: '1502:20:3',
1669
+ },
1670
+ {
1671
+ name: 'dataEnd',
1672
+ nodeType: 'YulIdentifier',
1673
+ src: '1524:7:3',
1674
+ },
1675
+ ],
1676
+ functionName: {
1677
+ name: 'gt',
1678
+ nodeType: 'YulIdentifier',
1679
+ src: '1499:2:3',
1680
+ },
1681
+ nodeType: 'YulFunctionCall',
1682
+ src: '1499:33:3',
1683
+ },
1684
+ nodeType: 'YulIf',
1685
+ src: '1496:53:3',
1686
+ },
1687
+ {
1688
+ expression: {
1689
+ arguments: [
1690
+ {
1691
+ arguments: [
1692
+ {
1693
+ name: '_2',
1694
+ nodeType: 'YulIdentifier',
1695
+ src: '1584:2:3',
1696
+ },
1697
+ {
1698
+ kind: 'number',
1699
+ nodeType: 'YulLiteral',
1700
+ src: '1588:2:3',
1701
+ type: '',
1702
+ value: '32',
1703
+ },
1704
+ ],
1705
+ functionName: {
1706
+ name: 'add',
1707
+ nodeType: 'YulIdentifier',
1708
+ src: '1580:3:3',
1709
+ },
1710
+ nodeType: 'YulFunctionCall',
1711
+ src: '1580:11:3',
1712
+ },
1713
+ {
1714
+ arguments: [
1715
+ {
1716
+ name: 'memPtr',
1717
+ nodeType: 'YulIdentifier',
1718
+ src: '1597:6:3',
1719
+ },
1720
+ {
1721
+ kind: 'number',
1722
+ nodeType: 'YulLiteral',
1723
+ src: '1605:2:3',
1724
+ type: '',
1725
+ value: '32',
1726
+ },
1727
+ ],
1728
+ functionName: {
1729
+ name: 'add',
1730
+ nodeType: 'YulIdentifier',
1731
+ src: '1593:3:3',
1732
+ },
1733
+ nodeType: 'YulFunctionCall',
1734
+ src: '1593:15:3',
1735
+ },
1736
+ {
1737
+ name: '_3',
1738
+ nodeType: 'YulIdentifier',
1739
+ src: '1610:2:3',
1740
+ },
1741
+ ],
1742
+ functionName: {
1743
+ name: 'copy_memory_to_memory',
1744
+ nodeType: 'YulIdentifier',
1745
+ src: '1558:21:3',
1746
+ },
1747
+ nodeType: 'YulFunctionCall',
1748
+ src: '1558:55:3',
1749
+ },
1750
+ nodeType: 'YulExpressionStatement',
1751
+ src: '1558:55:3',
1752
+ },
1753
+ {
1754
+ nodeType: 'YulAssignment',
1755
+ src: '1622:16:3',
1756
+ value: {
1757
+ name: 'memPtr',
1758
+ nodeType: 'YulIdentifier',
1759
+ src: '1632:6:3',
1760
+ },
1761
+ variableNames: [
1762
+ {
1763
+ name: 'value2',
1764
+ nodeType: 'YulIdentifier',
1765
+ src: '1622:6:3',
1766
+ },
1767
+ ],
1768
+ },
1769
+ ],
1770
+ },
1771
+ name: 'abi_decode_tuple_t_addresst_addresst_bytes_memory_ptr_fromMemory',
1772
+ nodeType: 'YulFunctionDefinition',
1773
+ parameters: [
1774
+ {
1775
+ name: 'headStart',
1776
+ nodeType: 'YulTypedName',
1777
+ src: '665:9:3',
1778
+ type: '',
1779
+ },
1780
+ {
1781
+ name: 'dataEnd',
1782
+ nodeType: 'YulTypedName',
1783
+ src: '676:7:3',
1784
+ type: '',
1785
+ },
1786
+ ],
1787
+ returnVariables: [
1788
+ {
1789
+ name: 'value0',
1790
+ nodeType: 'YulTypedName',
1791
+ src: '688:6:3',
1792
+ type: '',
1793
+ },
1794
+ {
1795
+ name: 'value1',
1796
+ nodeType: 'YulTypedName',
1797
+ src: '696:6:3',
1798
+ type: '',
1799
+ },
1800
+ {
1801
+ name: 'value2',
1802
+ nodeType: 'YulTypedName',
1803
+ src: '704:6:3',
1804
+ type: '',
1805
+ },
1806
+ ],
1807
+ src: '591:1053:3',
1808
+ },
1809
+ {
1810
+ body: {
1811
+ nodeType: 'YulBlock',
1812
+ src: '1786:137:3',
1813
+ statements: [
1814
+ {
1815
+ nodeType: 'YulVariableDeclaration',
1816
+ src: '1796:27:3',
1817
+ value: {
1818
+ arguments: [
1819
+ {
1820
+ name: 'value0',
1821
+ nodeType: 'YulIdentifier',
1822
+ src: '1816:6:3',
1823
+ },
1824
+ ],
1825
+ functionName: {
1826
+ name: 'mload',
1827
+ nodeType: 'YulIdentifier',
1828
+ src: '1810:5:3',
1829
+ },
1830
+ nodeType: 'YulFunctionCall',
1831
+ src: '1810:13:3',
1832
+ },
1833
+ variables: [
1834
+ {
1835
+ name: 'length',
1836
+ nodeType: 'YulTypedName',
1837
+ src: '1800:6:3',
1838
+ type: '',
1839
+ },
1840
+ ],
1841
+ },
1842
+ {
1843
+ expression: {
1844
+ arguments: [
1845
+ {
1846
+ arguments: [
1847
+ {
1848
+ name: 'value0',
1849
+ nodeType: 'YulIdentifier',
1850
+ src: '1858:6:3',
1851
+ },
1852
+ {
1853
+ kind: 'number',
1854
+ nodeType: 'YulLiteral',
1855
+ src: '1866:4:3',
1856
+ type: '',
1857
+ value: '0x20',
1858
+ },
1859
+ ],
1860
+ functionName: {
1861
+ name: 'add',
1862
+ nodeType: 'YulIdentifier',
1863
+ src: '1854:3:3',
1864
+ },
1865
+ nodeType: 'YulFunctionCall',
1866
+ src: '1854:17:3',
1867
+ },
1868
+ {
1869
+ name: 'pos',
1870
+ nodeType: 'YulIdentifier',
1871
+ src: '1873:3:3',
1872
+ },
1873
+ {
1874
+ name: 'length',
1875
+ nodeType: 'YulIdentifier',
1876
+ src: '1878:6:3',
1877
+ },
1878
+ ],
1879
+ functionName: {
1880
+ name: 'copy_memory_to_memory',
1881
+ nodeType: 'YulIdentifier',
1882
+ src: '1832:21:3',
1883
+ },
1884
+ nodeType: 'YulFunctionCall',
1885
+ src: '1832:53:3',
1886
+ },
1887
+ nodeType: 'YulExpressionStatement',
1888
+ src: '1832:53:3',
1889
+ },
1890
+ {
1891
+ nodeType: 'YulAssignment',
1892
+ src: '1894:23:3',
1893
+ value: {
1894
+ arguments: [
1895
+ {
1896
+ name: 'pos',
1897
+ nodeType: 'YulIdentifier',
1898
+ src: '1905:3:3',
1899
+ },
1900
+ {
1901
+ name: 'length',
1902
+ nodeType: 'YulIdentifier',
1903
+ src: '1910:6:3',
1904
+ },
1905
+ ],
1906
+ functionName: {
1907
+ name: 'add',
1908
+ nodeType: 'YulIdentifier',
1909
+ src: '1901:3:3',
1910
+ },
1911
+ nodeType: 'YulFunctionCall',
1912
+ src: '1901:16:3',
1913
+ },
1914
+ variableNames: [
1915
+ {
1916
+ name: 'end',
1917
+ nodeType: 'YulIdentifier',
1918
+ src: '1894:3:3',
1919
+ },
1920
+ ],
1921
+ },
1922
+ ],
1923
+ },
1924
+ name: 'abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed',
1925
+ nodeType: 'YulFunctionDefinition',
1926
+ parameters: [
1927
+ {
1928
+ name: 'pos',
1929
+ nodeType: 'YulTypedName',
1930
+ src: '1762:3:3',
1931
+ type: '',
1932
+ },
1933
+ {
1934
+ name: 'value0',
1935
+ nodeType: 'YulTypedName',
1936
+ src: '1767:6:3',
1937
+ type: '',
1938
+ },
1939
+ ],
1940
+ returnVariables: [
1941
+ {
1942
+ name: 'end',
1943
+ nodeType: 'YulTypedName',
1944
+ src: '1778:3:3',
1945
+ type: '',
1946
+ },
1947
+ ],
1948
+ src: '1649:274:3',
1949
+ },
1950
+ ],
1951
+ },
1952
+ contents:
1953
+ '{\n { }\n function abi_decode_address_fromMemory(offset) -> value\n {\n value := mload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function copy_memory_to_memory(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length) { mstore(add(dst, length), 0) }\n }\n function abi_decode_tuple_t_addresst_addresst_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address_fromMemory(headStart)\n value1 := abi_decode_address_fromMemory(add(headStart, 32))\n let offset := mload(add(headStart, 64))\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := mload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n copy_memory_to_memory(add(_2, 32), add(memPtr, 32), _3)\n value2 := memPtr\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n}',
1954
+ id: 3,
1955
+ language: 'Yul',
1956
+ name: '#utility.yul',
1957
+ },
1958
+ ],
1959
+ linkReferences: {},
1960
+ opcodes:
1961
+ 'PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH3 0xCCC CODESIZE SUB DUP1 PUSH3 0xCCC DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x26 SWAP2 PUSH3 0x1FC JUMP JUMPDEST PUSH3 0x31 DUP3 PUSH3 0x46 JUMP JUMPDEST PUSH3 0x3D DUP4 DUP3 PUSH3 0xB8 JUMP JUMPDEST POP POP POP PUSH3 0x2FA JUMP JUMPDEST PUSH1 0x0 PUSH3 0x60 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0xCAC DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD SWAP1 JUMP JUMPDEST SWAP1 POP DUP2 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0xCAC DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC DUP1 SLOAD SWAP1 DUP4 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND SWAP2 SWAP1 DUP4 AND SWAP1 PUSH32 0x5570D70A002632A7B0B3C9304CC89EFB62D8DA9ECA0DBD7752C83B7379068296 SWAP1 PUSH1 0x0 SWAP1 LOG3 DUP2 MLOAD ISZERO PUSH3 0x195 JUMPI PUSH1 0x0 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x40 MLOAD PUSH3 0x13C SWAP2 SWAP1 PUSH3 0x2DC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH3 0x179 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH3 0x17E JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH3 0x193 JUMPI RETURNDATASIZE DUP1 PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 PUSH1 0x0 REVERT JUMPDEST POP JUMPDEST POP POP POP JUMP JUMPDEST DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH3 0x1B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x1EA JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH3 0x1D0 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH3 0x193 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH3 0x212 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x21D DUP5 PUSH3 0x19A JUMP JUMPDEST SWAP3 POP PUSH3 0x22D PUSH1 0x20 DUP6 ADD PUSH3 0x19A JUMP JUMPDEST PUSH1 0x40 DUP6 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x24B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x260 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH3 0x275 JUMPI PUSH3 0x275 PUSH3 0x1B7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0x2A0 JUMPI PUSH3 0x2A0 PUSH3 0x1B7 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP10 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH3 0x2BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x2CD DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH3 0x1CD JUMP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH3 0x2F0 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH3 0x1CD JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x9A2 DUP1 PUSH3 0x30A PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x5E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4F1EF286 GT PUSH2 0x43 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x129 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x176 JUMPI PUSH2 0xCA JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x3659CFE6 EQ PUSH2 0x109 JUMPI PUSH2 0xCA JUMP JUMPDEST CALLDATASIZE PUSH2 0xCA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45544845525F52454A4543544544000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xD2 PUSH2 0x196 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF4 PUSH2 0xEF CALLDATASIZE PUSH1 0x4 PUSH2 0x806 JUMP JUMPDEST PUSH2 0x1E1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x115 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD2 PUSH2 0x124 CALLDATASIZE PUSH1 0x4 PUSH2 0x871 JUMP JUMPDEST PUSH2 0x3AF JUMP JUMPDEST PUSH2 0xD2 PUSH2 0x137 CALLDATASIZE PUSH1 0x4 PUSH2 0x88C JUMP JUMPDEST PUSH2 0x481 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x148 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x151 PUSH2 0x57C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x100 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x182 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD2 PUSH2 0x191 CALLDATASIZE PUSH1 0x4 PUSH2 0x871 JUMP JUMPDEST PUSH2 0x5AB JUMP JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD PUSH1 0x0 CALLDATASIZE DUP2 DUP3 CALLDATACOPY DUP1 DUP2 CALLDATASIZE DUP4 DUP6 GAS DELEGATECALL SWAP2 POP RETURNDATASIZE DUP1 DUP3 DUP4 RETURNDATACOPY DUP3 DUP1 ISZERO PUSH2 0x1D7 JUMPI DUP2 DUP4 RETURN JUMPDEST DUP2 DUP4 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP4 AND EQ DUP1 PUSH2 0x274 JUMPI POP PUSH32 0x7F5828D000000000000000000000000000000000000000000000000000000000 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP4 AND EQ JUMPDEST ISZERO PUSH2 0x281 JUMPI POP PUSH1 0x1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP1 DUP4 AND EQ ISZERO PUSH2 0x2B3 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD PUSH1 0x40 MLOAD PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP5 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 PUSH4 0x1FFC9A7 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x39B JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x398 SWAP2 DUP2 ADD SWAP1 PUSH2 0x90F JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x3A8 JUMPI POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0xB53127684A568B3173AE13B9F8A6016E243E63B6E8EE1178D6A717850B5D6103 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x465 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E4F545F415554484F52495A4544000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xC1 JUMP JUMPDEST PUSH2 0x47E DUP2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x66A JUMP JUMPDEST POP JUMP JUMPDEST PUSH32 0xB53127684A568B3173AE13B9F8A6016E243E63B6E8EE1178D6A717850B5D6103 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x537 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E4F545F415554484F52495A4544000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xC1 JUMP JUMPDEST PUSH2 0x577 DUP4 DUP4 DUP4 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH2 0x66A SWAP3 POP POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5A6 PUSH32 0xB53127684A568B3173AE13B9F8A6016E243E63B6E8EE1178D6A717850B5D6103 SLOAD SWAP1 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH32 0xB53127684A568B3173AE13B9F8A6016E243E63B6E8EE1178D6A717850B5D6103 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x661 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E4F545F415554484F52495A4544000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xC1 JUMP JUMPDEST PUSH2 0x47E DUP2 PUSH2 0x759 JUMP JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC DUP1 SLOAD SWAP1 DUP4 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP6 AND SWAP2 SWAP1 DUP4 AND SWAP1 PUSH32 0x5570D70A002632A7B0B3C9304CC89EFB62D8DA9ECA0DBD7752C83B7379068296 SWAP1 PUSH1 0x0 SWAP1 LOG3 DUP2 MLOAD ISZERO PUSH2 0x577 JUMPI PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH1 0x40 MLOAD PUSH2 0x705 SWAP2 SWAP1 PUSH2 0x931 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x740 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x745 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x1DB JUMPI RETURNDATASIZE DUP1 PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x783 PUSH32 0xB53127684A568B3173AE13B9F8A6016E243E63B6E8EE1178D6A717850B5D6103 SLOAD SWAP1 JUMP JUMPDEST SWAP1 POP DUP2 PUSH32 0xB53127684A568B3173AE13B9F8A6016E243E63B6E8EE1178D6A717850B5D6103 SSTORE DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x818 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0x3A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x86C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x883 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3A8 DUP3 PUSH2 0x848 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x8A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8AA DUP5 PUSH2 0x848 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x8C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x8DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x8EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x8FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP5 POP DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x921 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x3A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x952 JUMPI PUSH1 0x20 DUP2 DUP7 ADD DUP2 ADD MLOAD DUP6 DUP4 ADD MSTORE ADD PUSH2 0x938 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x961 JUMPI PUSH1 0x0 DUP3 DUP6 ADD MSTORE JUMPDEST POP SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE6 0x49 0xC3 PUSH29 0x69D6249070369BE01F33AF3368FCDCEA9814421A048306C2829C125964 PUSH20 0x6F6C634300080A0033B53127684A568B3173AE13 0xB9 0xF8 0xA6 ADD PUSH15 0x243E63B6E8EE1178D6A717850B5D61 SUB ',
1962
+ sourceMap:
1963
+ '236:3020:0:-:0;;;591:219;;;;;;;;;;;;;;;;;;:::i;:::-;723:23;733:12;723:9;:23::i;:::-;756:47;775:21;798:4;756:18;:47::i;:::-;591:219;;;236:3020;;2908:346;2964:21;2988:8;-1:-1:-1;;;;;;;;;;;2813:73:0;;2636:266;2988:8;2964:32;;3169:8;-1:-1:-1;;;;;;;;;;;3094:84:0;3238:8;-1:-1:-1;;;;;3202:45:0;3223:13;-1:-1:-1;;;;;3202:45:0;;;;;;;;;;;2954:300;2908:346;:::o;1377:1068:2:-;1630:66;1624:73;;1805:93;;;;1923:69;;-1:-1:-1;;;;;1923:69:2;;;;;;;;;;1470:30;;1923:69;2007:11;;:15;2003:436;;2039:12;2057:17;-1:-1:-1;;;;;2057:30:2;2088:4;2057:36;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2038:55;;;2112:7;2107:322;;2278:16;2336:14;2333:1;;2315:36;2382:14;2333:1;2372:25;2107:322;2024:415;2003:436;1460:985;1377:1068;;:::o;14:177:3:-;93:13;;-1:-1:-1;;;;;135:31:3;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:127::-;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:258;400:1;410:113;424:6;421:1;418:13;410:113;;;500:11;;;494:18;481:11;;;474:39;446:2;439:10;410:113;;;541:6;538:1;535:13;532:48;;;-1:-1:-1;;576:1:3;558:16;;551:27;328:258::o;591:1053::-;688:6;696;704;757:2;745:9;736:7;732:23;728:32;725:52;;;773:1;770;763:12;725:52;796:40;826:9;796:40;:::i;:::-;786:50;;855:49;900:2;889:9;885:18;855:49;:::i;:::-;948:2;933:18;;927:25;845:59;;-1:-1:-1;;;;;;1001:14:3;;;998:34;;;1028:1;1025;1018:12;998:34;1066:6;1055:9;1051:22;1041:32;;1111:7;1104:4;1100:2;1096:13;1092:27;1082:55;;1133:1;1130;1123:12;1082:55;1162:2;1156:9;1184:2;1180;1177:10;1174:36;;;1190:18;;:::i;:::-;1265:2;1259:9;1233:2;1319:13;;-1:-1:-1;;1315:22:3;;;1339:2;1311:31;1307:40;1295:53;;;1363:18;;;1383:22;;;1360:46;1357:72;;;1409:18;;:::i;:::-;1449:10;1445:2;1438:22;1484:2;1476:6;1469:18;1524:7;1519:2;1514;1510;1506:11;1502:20;1499:33;1496:53;;;1545:1;1542;1535:12;1496:53;1558:55;1610:2;1605;1597:6;1593:15;1588:2;1584;1580:11;1558:55;:::i;:::-;1632:6;1622:16;;;;;;;591:1053;;;;;:::o;1649:274::-;1778:3;1816:6;1810:13;1832:53;1878:6;1873:3;1866:4;1858:6;1854:17;1832:53;:::i;:::-;1901:16;;;;;1649:274;-1:-1:-1;;1649:274:3:o;:::-;236:3020:0;;;;;;',
1964
+ },
1965
+ deployedBytecode: {
1966
+ functionDebugData: {
1967
+ '@_215': {
1968
+ entryPoint: null,
1969
+ id: 215,
1970
+ parameterSlots: 0,
1971
+ returnSlots: 0,
1972
+ },
1973
+ '@_222': {
1974
+ entryPoint: null,
1975
+ id: 222,
1976
+ parameterSlots: 0,
1977
+ returnSlots: 0,
1978
+ },
1979
+ '@_fallback_227': {
1980
+ entryPoint: 406,
1981
+ id: 227,
1982
+ parameterSlots: 0,
1983
+ returnSlots: 0,
1984
+ },
1985
+ '@_owner_154': {
1986
+ entryPoint: null,
1987
+ id: 154,
1988
+ parameterSlots: 0,
1989
+ returnSlots: 1,
1990
+ },
1991
+ '@_setImplementation_263': {
1992
+ entryPoint: 1642,
1993
+ id: 263,
1994
+ parameterSlots: 2,
1995
+ returnSlots: 0,
1996
+ },
1997
+ '@_setOwner_171': {
1998
+ entryPoint: 1881,
1999
+ id: 171,
2000
+ parameterSlots: 1,
2001
+ returnSlots: 0,
2002
+ },
2003
+ '@owner_47': {
2004
+ entryPoint: 1404,
2005
+ id: 47,
2006
+ parameterSlots: 0,
2007
+ returnSlots: 1,
2008
+ },
2009
+ '@supportsInterface_94': {
2010
+ entryPoint: 481,
2011
+ id: 94,
2012
+ parameterSlots: 1,
2013
+ returnSlots: 1,
2014
+ },
2015
+ '@transferOwnership_106': {
2016
+ entryPoint: 1451,
2017
+ id: 106,
2018
+ parameterSlots: 1,
2019
+ returnSlots: 0,
2020
+ },
2021
+ '@upgradeToAndCall_134': {
2022
+ entryPoint: 1153,
2023
+ id: 134,
2024
+ parameterSlots: 3,
2025
+ returnSlots: 0,
2026
+ },
2027
+ '@upgradeTo_119': {
2028
+ entryPoint: 943,
2029
+ id: 119,
2030
+ parameterSlots: 1,
2031
+ returnSlots: 0,
2032
+ },
2033
+ abi_decode_address: {
2034
+ entryPoint: 2120,
2035
+ id: null,
2036
+ parameterSlots: 1,
2037
+ returnSlots: 1,
2038
+ },
2039
+ abi_decode_tuple_t_address: {
2040
+ entryPoint: 2161,
2041
+ id: null,
2042
+ parameterSlots: 2,
2043
+ returnSlots: 1,
2044
+ },
2045
+ abi_decode_tuple_t_addresst_bytes_calldata_ptr: {
2046
+ entryPoint: 2188,
2047
+ id: null,
2048
+ parameterSlots: 2,
2049
+ returnSlots: 3,
2050
+ },
2051
+ abi_decode_tuple_t_bool_fromMemory: {
2052
+ entryPoint: 2319,
2053
+ id: null,
2054
+ parameterSlots: 2,
2055
+ returnSlots: 1,
2056
+ },
2057
+ abi_decode_tuple_t_bytes4: {
2058
+ entryPoint: 2054,
2059
+ id: null,
2060
+ parameterSlots: 2,
2061
+ returnSlots: 1,
2062
+ },
2063
+ abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed: {
2064
+ entryPoint: 2353,
2065
+ id: null,
2066
+ parameterSlots: 2,
2067
+ returnSlots: 1,
2068
+ },
2069
+ abi_encode_tuple_t_address__to_t_address__fromStack_reversed: {
2070
+ entryPoint: null,
2071
+ id: null,
2072
+ parameterSlots: 2,
2073
+ returnSlots: 1,
2074
+ },
2075
+ abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed: {
2076
+ entryPoint: null,
2077
+ id: null,
2078
+ parameterSlots: 2,
2079
+ returnSlots: 1,
2080
+ },
2081
+ abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed: {
2082
+ entryPoint: null,
2083
+ id: null,
2084
+ parameterSlots: 2,
2085
+ returnSlots: 1,
2086
+ },
2087
+ abi_encode_tuple_t_stringliteral_e7e213d5e2bee0acc2c7bf8bfda19ef0cae82e7b8c997e7e898919269971e7c4__to_t_string_memory_ptr__fromStack_reversed:
2088
+ {
2089
+ entryPoint: null,
2090
+ id: null,
2091
+ parameterSlots: 1,
2092
+ returnSlots: 1,
2093
+ },
2094
+ abi_encode_tuple_t_stringliteral_ef8a4c3fcfbfa959f184421d0ef9a577b18116cafbc5879aff4e2f1881c7c1f0__to_t_string_memory_ptr__fromStack_reversed:
2095
+ {
2096
+ entryPoint: null,
2097
+ id: null,
2098
+ parameterSlots: 1,
2099
+ returnSlots: 1,
2100
+ },
2101
+ },
2102
+ generatedSources: [
2103
+ {
2104
+ ast: {
2105
+ nodeType: 'YulBlock',
2106
+ src: '0:3485:3',
2107
+ statements: [
2108
+ {
2109
+ nodeType: 'YulBlock',
2110
+ src: '6:3:3',
2111
+ statements: [],
2112
+ },
2113
+ {
2114
+ body: {
2115
+ nodeType: 'YulBlock',
2116
+ src: '188:164:3',
2117
+ statements: [
2118
+ {
2119
+ expression: {
2120
+ arguments: [
2121
+ {
2122
+ name: 'headStart',
2123
+ nodeType: 'YulIdentifier',
2124
+ src: '205:9:3',
2125
+ },
2126
+ {
2127
+ kind: 'number',
2128
+ nodeType: 'YulLiteral',
2129
+ src: '216:2:3',
2130
+ type: '',
2131
+ value: '32',
2132
+ },
2133
+ ],
2134
+ functionName: {
2135
+ name: 'mstore',
2136
+ nodeType: 'YulIdentifier',
2137
+ src: '198:6:3',
2138
+ },
2139
+ nodeType: 'YulFunctionCall',
2140
+ src: '198:21:3',
2141
+ },
2142
+ nodeType: 'YulExpressionStatement',
2143
+ src: '198:21:3',
2144
+ },
2145
+ {
2146
+ expression: {
2147
+ arguments: [
2148
+ {
2149
+ arguments: [
2150
+ {
2151
+ name: 'headStart',
2152
+ nodeType: 'YulIdentifier',
2153
+ src: '239:9:3',
2154
+ },
2155
+ {
2156
+ kind: 'number',
2157
+ nodeType: 'YulLiteral',
2158
+ src: '250:2:3',
2159
+ type: '',
2160
+ value: '32',
2161
+ },
2162
+ ],
2163
+ functionName: {
2164
+ name: 'add',
2165
+ nodeType: 'YulIdentifier',
2166
+ src: '235:3:3',
2167
+ },
2168
+ nodeType: 'YulFunctionCall',
2169
+ src: '235:18:3',
2170
+ },
2171
+ {
2172
+ kind: 'number',
2173
+ nodeType: 'YulLiteral',
2174
+ src: '255:2:3',
2175
+ type: '',
2176
+ value: '14',
2177
+ },
2178
+ ],
2179
+ functionName: {
2180
+ name: 'mstore',
2181
+ nodeType: 'YulIdentifier',
2182
+ src: '228:6:3',
2183
+ },
2184
+ nodeType: 'YulFunctionCall',
2185
+ src: '228:30:3',
2186
+ },
2187
+ nodeType: 'YulExpressionStatement',
2188
+ src: '228:30:3',
2189
+ },
2190
+ {
2191
+ expression: {
2192
+ arguments: [
2193
+ {
2194
+ arguments: [
2195
+ {
2196
+ name: 'headStart',
2197
+ nodeType: 'YulIdentifier',
2198
+ src: '278:9:3',
2199
+ },
2200
+ {
2201
+ kind: 'number',
2202
+ nodeType: 'YulLiteral',
2203
+ src: '289:2:3',
2204
+ type: '',
2205
+ value: '64',
2206
+ },
2207
+ ],
2208
+ functionName: {
2209
+ name: 'add',
2210
+ nodeType: 'YulIdentifier',
2211
+ src: '274:3:3',
2212
+ },
2213
+ nodeType: 'YulFunctionCall',
2214
+ src: '274:18:3',
2215
+ },
2216
+ {
2217
+ hexValue: '45544845525f52454a4543544544',
2218
+ kind: 'string',
2219
+ nodeType: 'YulLiteral',
2220
+ src: '294:16:3',
2221
+ type: '',
2222
+ value: 'ETHER_REJECTED',
2223
+ },
2224
+ ],
2225
+ functionName: {
2226
+ name: 'mstore',
2227
+ nodeType: 'YulIdentifier',
2228
+ src: '267:6:3',
2229
+ },
2230
+ nodeType: 'YulFunctionCall',
2231
+ src: '267:44:3',
2232
+ },
2233
+ nodeType: 'YulExpressionStatement',
2234
+ src: '267:44:3',
2235
+ },
2236
+ {
2237
+ nodeType: 'YulAssignment',
2238
+ src: '320:26:3',
2239
+ value: {
2240
+ arguments: [
2241
+ {
2242
+ name: 'headStart',
2243
+ nodeType: 'YulIdentifier',
2244
+ src: '332:9:3',
2245
+ },
2246
+ {
2247
+ kind: 'number',
2248
+ nodeType: 'YulLiteral',
2249
+ src: '343:2:3',
2250
+ type: '',
2251
+ value: '96',
2252
+ },
2253
+ ],
2254
+ functionName: {
2255
+ name: 'add',
2256
+ nodeType: 'YulIdentifier',
2257
+ src: '328:3:3',
2258
+ },
2259
+ nodeType: 'YulFunctionCall',
2260
+ src: '328:18:3',
2261
+ },
2262
+ variableNames: [
2263
+ {
2264
+ name: 'tail',
2265
+ nodeType: 'YulIdentifier',
2266
+ src: '320:4:3',
2267
+ },
2268
+ ],
2269
+ },
2270
+ ],
2271
+ },
2272
+ name: 'abi_encode_tuple_t_stringliteral_ef8a4c3fcfbfa959f184421d0ef9a577b18116cafbc5879aff4e2f1881c7c1f0__to_t_string_memory_ptr__fromStack_reversed',
2273
+ nodeType: 'YulFunctionDefinition',
2274
+ parameters: [
2275
+ {
2276
+ name: 'headStart',
2277
+ nodeType: 'YulTypedName',
2278
+ src: '165:9:3',
2279
+ type: '',
2280
+ },
2281
+ ],
2282
+ returnVariables: [
2283
+ {
2284
+ name: 'tail',
2285
+ nodeType: 'YulTypedName',
2286
+ src: '179:4:3',
2287
+ type: '',
2288
+ },
2289
+ ],
2290
+ src: '14:338:3',
2291
+ },
2292
+ {
2293
+ body: {
2294
+ nodeType: 'YulBlock',
2295
+ src: '426:263:3',
2296
+ statements: [
2297
+ {
2298
+ body: {
2299
+ nodeType: 'YulBlock',
2300
+ src: '472:16:3',
2301
+ statements: [
2302
+ {
2303
+ expression: {
2304
+ arguments: [
2305
+ {
2306
+ kind: 'number',
2307
+ nodeType: 'YulLiteral',
2308
+ src: '481:1:3',
2309
+ type: '',
2310
+ value: '0',
2311
+ },
2312
+ {
2313
+ kind: 'number',
2314
+ nodeType: 'YulLiteral',
2315
+ src: '484:1:3',
2316
+ type: '',
2317
+ value: '0',
2318
+ },
2319
+ ],
2320
+ functionName: {
2321
+ name: 'revert',
2322
+ nodeType: 'YulIdentifier',
2323
+ src: '474:6:3',
2324
+ },
2325
+ nodeType: 'YulFunctionCall',
2326
+ src: '474:12:3',
2327
+ },
2328
+ nodeType: 'YulExpressionStatement',
2329
+ src: '474:12:3',
2330
+ },
2331
+ ],
2332
+ },
2333
+ condition: {
2334
+ arguments: [
2335
+ {
2336
+ arguments: [
2337
+ {
2338
+ name: 'dataEnd',
2339
+ nodeType: 'YulIdentifier',
2340
+ src: '447:7:3',
2341
+ },
2342
+ {
2343
+ name: 'headStart',
2344
+ nodeType: 'YulIdentifier',
2345
+ src: '456:9:3',
2346
+ },
2347
+ ],
2348
+ functionName: {
2349
+ name: 'sub',
2350
+ nodeType: 'YulIdentifier',
2351
+ src: '443:3:3',
2352
+ },
2353
+ nodeType: 'YulFunctionCall',
2354
+ src: '443:23:3',
2355
+ },
2356
+ {
2357
+ kind: 'number',
2358
+ nodeType: 'YulLiteral',
2359
+ src: '468:2:3',
2360
+ type: '',
2361
+ value: '32',
2362
+ },
2363
+ ],
2364
+ functionName: {
2365
+ name: 'slt',
2366
+ nodeType: 'YulIdentifier',
2367
+ src: '439:3:3',
2368
+ },
2369
+ nodeType: 'YulFunctionCall',
2370
+ src: '439:32:3',
2371
+ },
2372
+ nodeType: 'YulIf',
2373
+ src: '436:52:3',
2374
+ },
2375
+ {
2376
+ nodeType: 'YulVariableDeclaration',
2377
+ src: '497:36:3',
2378
+ value: {
2379
+ arguments: [
2380
+ {
2381
+ name: 'headStart',
2382
+ nodeType: 'YulIdentifier',
2383
+ src: '523:9:3',
2384
+ },
2385
+ ],
2386
+ functionName: {
2387
+ name: 'calldataload',
2388
+ nodeType: 'YulIdentifier',
2389
+ src: '510:12:3',
2390
+ },
2391
+ nodeType: 'YulFunctionCall',
2392
+ src: '510:23:3',
2393
+ },
2394
+ variables: [
2395
+ {
2396
+ name: 'value',
2397
+ nodeType: 'YulTypedName',
2398
+ src: '501:5:3',
2399
+ type: '',
2400
+ },
2401
+ ],
2402
+ },
2403
+ {
2404
+ body: {
2405
+ nodeType: 'YulBlock',
2406
+ src: '643:16:3',
2407
+ statements: [
2408
+ {
2409
+ expression: {
2410
+ arguments: [
2411
+ {
2412
+ kind: 'number',
2413
+ nodeType: 'YulLiteral',
2414
+ src: '652:1:3',
2415
+ type: '',
2416
+ value: '0',
2417
+ },
2418
+ {
2419
+ kind: 'number',
2420
+ nodeType: 'YulLiteral',
2421
+ src: '655:1:3',
2422
+ type: '',
2423
+ value: '0',
2424
+ },
2425
+ ],
2426
+ functionName: {
2427
+ name: 'revert',
2428
+ nodeType: 'YulIdentifier',
2429
+ src: '645:6:3',
2430
+ },
2431
+ nodeType: 'YulFunctionCall',
2432
+ src: '645:12:3',
2433
+ },
2434
+ nodeType: 'YulExpressionStatement',
2435
+ src: '645:12:3',
2436
+ },
2437
+ ],
2438
+ },
2439
+ condition: {
2440
+ arguments: [
2441
+ {
2442
+ arguments: [
2443
+ {
2444
+ name: 'value',
2445
+ nodeType: 'YulIdentifier',
2446
+ src: '555:5:3',
2447
+ },
2448
+ {
2449
+ arguments: [
2450
+ {
2451
+ name: 'value',
2452
+ nodeType: 'YulIdentifier',
2453
+ src: '566:5:3',
2454
+ },
2455
+ {
2456
+ kind: 'number',
2457
+ nodeType: 'YulLiteral',
2458
+ src: '573:66:3',
2459
+ type: '',
2460
+ value: '0xffffffff00000000000000000000000000000000000000000000000000000000',
2461
+ },
2462
+ ],
2463
+ functionName: {
2464
+ name: 'and',
2465
+ nodeType: 'YulIdentifier',
2466
+ src: '562:3:3',
2467
+ },
2468
+ nodeType: 'YulFunctionCall',
2469
+ src: '562:78:3',
2470
+ },
2471
+ ],
2472
+ functionName: {
2473
+ name: 'eq',
2474
+ nodeType: 'YulIdentifier',
2475
+ src: '552:2:3',
2476
+ },
2477
+ nodeType: 'YulFunctionCall',
2478
+ src: '552:89:3',
2479
+ },
2480
+ ],
2481
+ functionName: {
2482
+ name: 'iszero',
2483
+ nodeType: 'YulIdentifier',
2484
+ src: '545:6:3',
2485
+ },
2486
+ nodeType: 'YulFunctionCall',
2487
+ src: '545:97:3',
2488
+ },
2489
+ nodeType: 'YulIf',
2490
+ src: '542:117:3',
2491
+ },
2492
+ {
2493
+ nodeType: 'YulAssignment',
2494
+ src: '668:15:3',
2495
+ value: {
2496
+ name: 'value',
2497
+ nodeType: 'YulIdentifier',
2498
+ src: '678:5:3',
2499
+ },
2500
+ variableNames: [
2501
+ {
2502
+ name: 'value0',
2503
+ nodeType: 'YulIdentifier',
2504
+ src: '668:6:3',
2505
+ },
2506
+ ],
2507
+ },
2508
+ ],
2509
+ },
2510
+ name: 'abi_decode_tuple_t_bytes4',
2511
+ nodeType: 'YulFunctionDefinition',
2512
+ parameters: [
2513
+ {
2514
+ name: 'headStart',
2515
+ nodeType: 'YulTypedName',
2516
+ src: '392:9:3',
2517
+ type: '',
2518
+ },
2519
+ {
2520
+ name: 'dataEnd',
2521
+ nodeType: 'YulTypedName',
2522
+ src: '403:7:3',
2523
+ type: '',
2524
+ },
2525
+ ],
2526
+ returnVariables: [
2527
+ {
2528
+ name: 'value0',
2529
+ nodeType: 'YulTypedName',
2530
+ src: '415:6:3',
2531
+ type: '',
2532
+ },
2533
+ ],
2534
+ src: '357:332:3',
2535
+ },
2536
+ {
2537
+ body: {
2538
+ nodeType: 'YulBlock',
2539
+ src: '789:92:3',
2540
+ statements: [
2541
+ {
2542
+ nodeType: 'YulAssignment',
2543
+ src: '799:26:3',
2544
+ value: {
2545
+ arguments: [
2546
+ {
2547
+ name: 'headStart',
2548
+ nodeType: 'YulIdentifier',
2549
+ src: '811:9:3',
2550
+ },
2551
+ {
2552
+ kind: 'number',
2553
+ nodeType: 'YulLiteral',
2554
+ src: '822:2:3',
2555
+ type: '',
2556
+ value: '32',
2557
+ },
2558
+ ],
2559
+ functionName: {
2560
+ name: 'add',
2561
+ nodeType: 'YulIdentifier',
2562
+ src: '807:3:3',
2563
+ },
2564
+ nodeType: 'YulFunctionCall',
2565
+ src: '807:18:3',
2566
+ },
2567
+ variableNames: [
2568
+ {
2569
+ name: 'tail',
2570
+ nodeType: 'YulIdentifier',
2571
+ src: '799:4:3',
2572
+ },
2573
+ ],
2574
+ },
2575
+ {
2576
+ expression: {
2577
+ arguments: [
2578
+ {
2579
+ name: 'headStart',
2580
+ nodeType: 'YulIdentifier',
2581
+ src: '841:9:3',
2582
+ },
2583
+ {
2584
+ arguments: [
2585
+ {
2586
+ arguments: [
2587
+ {
2588
+ name: 'value0',
2589
+ nodeType: 'YulIdentifier',
2590
+ src: '866:6:3',
2591
+ },
2592
+ ],
2593
+ functionName: {
2594
+ name: 'iszero',
2595
+ nodeType: 'YulIdentifier',
2596
+ src: '859:6:3',
2597
+ },
2598
+ nodeType: 'YulFunctionCall',
2599
+ src: '859:14:3',
2600
+ },
2601
+ ],
2602
+ functionName: {
2603
+ name: 'iszero',
2604
+ nodeType: 'YulIdentifier',
2605
+ src: '852:6:3',
2606
+ },
2607
+ nodeType: 'YulFunctionCall',
2608
+ src: '852:22:3',
2609
+ },
2610
+ ],
2611
+ functionName: {
2612
+ name: 'mstore',
2613
+ nodeType: 'YulIdentifier',
2614
+ src: '834:6:3',
2615
+ },
2616
+ nodeType: 'YulFunctionCall',
2617
+ src: '834:41:3',
2618
+ },
2619
+ nodeType: 'YulExpressionStatement',
2620
+ src: '834:41:3',
2621
+ },
2622
+ ],
2623
+ },
2624
+ name: 'abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed',
2625
+ nodeType: 'YulFunctionDefinition',
2626
+ parameters: [
2627
+ {
2628
+ name: 'headStart',
2629
+ nodeType: 'YulTypedName',
2630
+ src: '758:9:3',
2631
+ type: '',
2632
+ },
2633
+ {
2634
+ name: 'value0',
2635
+ nodeType: 'YulTypedName',
2636
+ src: '769:6:3',
2637
+ type: '',
2638
+ },
2639
+ ],
2640
+ returnVariables: [
2641
+ {
2642
+ name: 'tail',
2643
+ nodeType: 'YulTypedName',
2644
+ src: '780:4:3',
2645
+ type: '',
2646
+ },
2647
+ ],
2648
+ src: '694:187:3',
2649
+ },
2650
+ {
2651
+ body: {
2652
+ nodeType: 'YulBlock',
2653
+ src: '935:147:3',
2654
+ statements: [
2655
+ {
2656
+ nodeType: 'YulAssignment',
2657
+ src: '945:29:3',
2658
+ value: {
2659
+ arguments: [
2660
+ {
2661
+ name: 'offset',
2662
+ nodeType: 'YulIdentifier',
2663
+ src: '967:6:3',
2664
+ },
2665
+ ],
2666
+ functionName: {
2667
+ name: 'calldataload',
2668
+ nodeType: 'YulIdentifier',
2669
+ src: '954:12:3',
2670
+ },
2671
+ nodeType: 'YulFunctionCall',
2672
+ src: '954:20:3',
2673
+ },
2674
+ variableNames: [
2675
+ {
2676
+ name: 'value',
2677
+ nodeType: 'YulIdentifier',
2678
+ src: '945:5:3',
2679
+ },
2680
+ ],
2681
+ },
2682
+ {
2683
+ body: {
2684
+ nodeType: 'YulBlock',
2685
+ src: '1060:16:3',
2686
+ statements: [
2687
+ {
2688
+ expression: {
2689
+ arguments: [
2690
+ {
2691
+ kind: 'number',
2692
+ nodeType: 'YulLiteral',
2693
+ src: '1069:1:3',
2694
+ type: '',
2695
+ value: '0',
2696
+ },
2697
+ {
2698
+ kind: 'number',
2699
+ nodeType: 'YulLiteral',
2700
+ src: '1072:1:3',
2701
+ type: '',
2702
+ value: '0',
2703
+ },
2704
+ ],
2705
+ functionName: {
2706
+ name: 'revert',
2707
+ nodeType: 'YulIdentifier',
2708
+ src: '1062:6:3',
2709
+ },
2710
+ nodeType: 'YulFunctionCall',
2711
+ src: '1062:12:3',
2712
+ },
2713
+ nodeType: 'YulExpressionStatement',
2714
+ src: '1062:12:3',
2715
+ },
2716
+ ],
2717
+ },
2718
+ condition: {
2719
+ arguments: [
2720
+ {
2721
+ arguments: [
2722
+ {
2723
+ name: 'value',
2724
+ nodeType: 'YulIdentifier',
2725
+ src: '996:5:3',
2726
+ },
2727
+ {
2728
+ arguments: [
2729
+ {
2730
+ name: 'value',
2731
+ nodeType: 'YulIdentifier',
2732
+ src: '1007:5:3',
2733
+ },
2734
+ {
2735
+ kind: 'number',
2736
+ nodeType: 'YulLiteral',
2737
+ src: '1014:42:3',
2738
+ type: '',
2739
+ value: '0xffffffffffffffffffffffffffffffffffffffff',
2740
+ },
2741
+ ],
2742
+ functionName: {
2743
+ name: 'and',
2744
+ nodeType: 'YulIdentifier',
2745
+ src: '1003:3:3',
2746
+ },
2747
+ nodeType: 'YulFunctionCall',
2748
+ src: '1003:54:3',
2749
+ },
2750
+ ],
2751
+ functionName: {
2752
+ name: 'eq',
2753
+ nodeType: 'YulIdentifier',
2754
+ src: '993:2:3',
2755
+ },
2756
+ nodeType: 'YulFunctionCall',
2757
+ src: '993:65:3',
2758
+ },
2759
+ ],
2760
+ functionName: {
2761
+ name: 'iszero',
2762
+ nodeType: 'YulIdentifier',
2763
+ src: '986:6:3',
2764
+ },
2765
+ nodeType: 'YulFunctionCall',
2766
+ src: '986:73:3',
2767
+ },
2768
+ nodeType: 'YulIf',
2769
+ src: '983:93:3',
2770
+ },
2771
+ ],
2772
+ },
2773
+ name: 'abi_decode_address',
2774
+ nodeType: 'YulFunctionDefinition',
2775
+ parameters: [
2776
+ {
2777
+ name: 'offset',
2778
+ nodeType: 'YulTypedName',
2779
+ src: '914:6:3',
2780
+ type: '',
2781
+ },
2782
+ ],
2783
+ returnVariables: [
2784
+ {
2785
+ name: 'value',
2786
+ nodeType: 'YulTypedName',
2787
+ src: '925:5:3',
2788
+ type: '',
2789
+ },
2790
+ ],
2791
+ src: '886:196:3',
2792
+ },
2793
+ {
2794
+ body: {
2795
+ nodeType: 'YulBlock',
2796
+ src: '1157:116:3',
2797
+ statements: [
2798
+ {
2799
+ body: {
2800
+ nodeType: 'YulBlock',
2801
+ src: '1203:16:3',
2802
+ statements: [
2803
+ {
2804
+ expression: {
2805
+ arguments: [
2806
+ {
2807
+ kind: 'number',
2808
+ nodeType: 'YulLiteral',
2809
+ src: '1212:1:3',
2810
+ type: '',
2811
+ value: '0',
2812
+ },
2813
+ {
2814
+ kind: 'number',
2815
+ nodeType: 'YulLiteral',
2816
+ src: '1215:1:3',
2817
+ type: '',
2818
+ value: '0',
2819
+ },
2820
+ ],
2821
+ functionName: {
2822
+ name: 'revert',
2823
+ nodeType: 'YulIdentifier',
2824
+ src: '1205:6:3',
2825
+ },
2826
+ nodeType: 'YulFunctionCall',
2827
+ src: '1205:12:3',
2828
+ },
2829
+ nodeType: 'YulExpressionStatement',
2830
+ src: '1205:12:3',
2831
+ },
2832
+ ],
2833
+ },
2834
+ condition: {
2835
+ arguments: [
2836
+ {
2837
+ arguments: [
2838
+ {
2839
+ name: 'dataEnd',
2840
+ nodeType: 'YulIdentifier',
2841
+ src: '1178:7:3',
2842
+ },
2843
+ {
2844
+ name: 'headStart',
2845
+ nodeType: 'YulIdentifier',
2846
+ src: '1187:9:3',
2847
+ },
2848
+ ],
2849
+ functionName: {
2850
+ name: 'sub',
2851
+ nodeType: 'YulIdentifier',
2852
+ src: '1174:3:3',
2853
+ },
2854
+ nodeType: 'YulFunctionCall',
2855
+ src: '1174:23:3',
2856
+ },
2857
+ {
2858
+ kind: 'number',
2859
+ nodeType: 'YulLiteral',
2860
+ src: '1199:2:3',
2861
+ type: '',
2862
+ value: '32',
2863
+ },
2864
+ ],
2865
+ functionName: {
2866
+ name: 'slt',
2867
+ nodeType: 'YulIdentifier',
2868
+ src: '1170:3:3',
2869
+ },
2870
+ nodeType: 'YulFunctionCall',
2871
+ src: '1170:32:3',
2872
+ },
2873
+ nodeType: 'YulIf',
2874
+ src: '1167:52:3',
2875
+ },
2876
+ {
2877
+ nodeType: 'YulAssignment',
2878
+ src: '1228:39:3',
2879
+ value: {
2880
+ arguments: [
2881
+ {
2882
+ name: 'headStart',
2883
+ nodeType: 'YulIdentifier',
2884
+ src: '1257:9:3',
2885
+ },
2886
+ ],
2887
+ functionName: {
2888
+ name: 'abi_decode_address',
2889
+ nodeType: 'YulIdentifier',
2890
+ src: '1238:18:3',
2891
+ },
2892
+ nodeType: 'YulFunctionCall',
2893
+ src: '1238:29:3',
2894
+ },
2895
+ variableNames: [
2896
+ {
2897
+ name: 'value0',
2898
+ nodeType: 'YulIdentifier',
2899
+ src: '1228:6:3',
2900
+ },
2901
+ ],
2902
+ },
2903
+ ],
2904
+ },
2905
+ name: 'abi_decode_tuple_t_address',
2906
+ nodeType: 'YulFunctionDefinition',
2907
+ parameters: [
2908
+ {
2909
+ name: 'headStart',
2910
+ nodeType: 'YulTypedName',
2911
+ src: '1123:9:3',
2912
+ type: '',
2913
+ },
2914
+ {
2915
+ name: 'dataEnd',
2916
+ nodeType: 'YulTypedName',
2917
+ src: '1134:7:3',
2918
+ type: '',
2919
+ },
2920
+ ],
2921
+ returnVariables: [
2922
+ {
2923
+ name: 'value0',
2924
+ nodeType: 'YulTypedName',
2925
+ src: '1146:6:3',
2926
+ type: '',
2927
+ },
2928
+ ],
2929
+ src: '1087:186:3',
2930
+ },
2931
+ {
2932
+ body: {
2933
+ nodeType: 'YulBlock',
2934
+ src: '1384:559:3',
2935
+ statements: [
2936
+ {
2937
+ body: {
2938
+ nodeType: 'YulBlock',
2939
+ src: '1430:16:3',
2940
+ statements: [
2941
+ {
2942
+ expression: {
2943
+ arguments: [
2944
+ {
2945
+ kind: 'number',
2946
+ nodeType: 'YulLiteral',
2947
+ src: '1439:1:3',
2948
+ type: '',
2949
+ value: '0',
2950
+ },
2951
+ {
2952
+ kind: 'number',
2953
+ nodeType: 'YulLiteral',
2954
+ src: '1442:1:3',
2955
+ type: '',
2956
+ value: '0',
2957
+ },
2958
+ ],
2959
+ functionName: {
2960
+ name: 'revert',
2961
+ nodeType: 'YulIdentifier',
2962
+ src: '1432:6:3',
2963
+ },
2964
+ nodeType: 'YulFunctionCall',
2965
+ src: '1432:12:3',
2966
+ },
2967
+ nodeType: 'YulExpressionStatement',
2968
+ src: '1432:12:3',
2969
+ },
2970
+ ],
2971
+ },
2972
+ condition: {
2973
+ arguments: [
2974
+ {
2975
+ arguments: [
2976
+ {
2977
+ name: 'dataEnd',
2978
+ nodeType: 'YulIdentifier',
2979
+ src: '1405:7:3',
2980
+ },
2981
+ {
2982
+ name: 'headStart',
2983
+ nodeType: 'YulIdentifier',
2984
+ src: '1414:9:3',
2985
+ },
2986
+ ],
2987
+ functionName: {
2988
+ name: 'sub',
2989
+ nodeType: 'YulIdentifier',
2990
+ src: '1401:3:3',
2991
+ },
2992
+ nodeType: 'YulFunctionCall',
2993
+ src: '1401:23:3',
2994
+ },
2995
+ {
2996
+ kind: 'number',
2997
+ nodeType: 'YulLiteral',
2998
+ src: '1426:2:3',
2999
+ type: '',
3000
+ value: '64',
3001
+ },
3002
+ ],
3003
+ functionName: {
3004
+ name: 'slt',
3005
+ nodeType: 'YulIdentifier',
3006
+ src: '1397:3:3',
3007
+ },
3008
+ nodeType: 'YulFunctionCall',
3009
+ src: '1397:32:3',
3010
+ },
3011
+ nodeType: 'YulIf',
3012
+ src: '1394:52:3',
3013
+ },
3014
+ {
3015
+ nodeType: 'YulAssignment',
3016
+ src: '1455:39:3',
3017
+ value: {
3018
+ arguments: [
3019
+ {
3020
+ name: 'headStart',
3021
+ nodeType: 'YulIdentifier',
3022
+ src: '1484:9:3',
3023
+ },
3024
+ ],
3025
+ functionName: {
3026
+ name: 'abi_decode_address',
3027
+ nodeType: 'YulIdentifier',
3028
+ src: '1465:18:3',
3029
+ },
3030
+ nodeType: 'YulFunctionCall',
3031
+ src: '1465:29:3',
3032
+ },
3033
+ variableNames: [
3034
+ {
3035
+ name: 'value0',
3036
+ nodeType: 'YulIdentifier',
3037
+ src: '1455:6:3',
3038
+ },
3039
+ ],
3040
+ },
3041
+ {
3042
+ nodeType: 'YulVariableDeclaration',
3043
+ src: '1503:46:3',
3044
+ value: {
3045
+ arguments: [
3046
+ {
3047
+ arguments: [
3048
+ {
3049
+ name: 'headStart',
3050
+ nodeType: 'YulIdentifier',
3051
+ src: '1534:9:3',
3052
+ },
3053
+ {
3054
+ kind: 'number',
3055
+ nodeType: 'YulLiteral',
3056
+ src: '1545:2:3',
3057
+ type: '',
3058
+ value: '32',
3059
+ },
3060
+ ],
3061
+ functionName: {
3062
+ name: 'add',
3063
+ nodeType: 'YulIdentifier',
3064
+ src: '1530:3:3',
3065
+ },
3066
+ nodeType: 'YulFunctionCall',
3067
+ src: '1530:18:3',
3068
+ },
3069
+ ],
3070
+ functionName: {
3071
+ name: 'calldataload',
3072
+ nodeType: 'YulIdentifier',
3073
+ src: '1517:12:3',
3074
+ },
3075
+ nodeType: 'YulFunctionCall',
3076
+ src: '1517:32:3',
3077
+ },
3078
+ variables: [
3079
+ {
3080
+ name: 'offset',
3081
+ nodeType: 'YulTypedName',
3082
+ src: '1507:6:3',
3083
+ type: '',
3084
+ },
3085
+ ],
3086
+ },
3087
+ {
3088
+ nodeType: 'YulVariableDeclaration',
3089
+ src: '1558:28:3',
3090
+ value: {
3091
+ kind: 'number',
3092
+ nodeType: 'YulLiteral',
3093
+ src: '1568:18:3',
3094
+ type: '',
3095
+ value: '0xffffffffffffffff',
3096
+ },
3097
+ variables: [
3098
+ {
3099
+ name: '_1',
3100
+ nodeType: 'YulTypedName',
3101
+ src: '1562:2:3',
3102
+ type: '',
3103
+ },
3104
+ ],
3105
+ },
3106
+ {
3107
+ body: {
3108
+ nodeType: 'YulBlock',
3109
+ src: '1613:16:3',
3110
+ statements: [
3111
+ {
3112
+ expression: {
3113
+ arguments: [
3114
+ {
3115
+ kind: 'number',
3116
+ nodeType: 'YulLiteral',
3117
+ src: '1622:1:3',
3118
+ type: '',
3119
+ value: '0',
3120
+ },
3121
+ {
3122
+ kind: 'number',
3123
+ nodeType: 'YulLiteral',
3124
+ src: '1625:1:3',
3125
+ type: '',
3126
+ value: '0',
3127
+ },
3128
+ ],
3129
+ functionName: {
3130
+ name: 'revert',
3131
+ nodeType: 'YulIdentifier',
3132
+ src: '1615:6:3',
3133
+ },
3134
+ nodeType: 'YulFunctionCall',
3135
+ src: '1615:12:3',
3136
+ },
3137
+ nodeType: 'YulExpressionStatement',
3138
+ src: '1615:12:3',
3139
+ },
3140
+ ],
3141
+ },
3142
+ condition: {
3143
+ arguments: [
3144
+ {
3145
+ name: 'offset',
3146
+ nodeType: 'YulIdentifier',
3147
+ src: '1601:6:3',
3148
+ },
3149
+ {
3150
+ name: '_1',
3151
+ nodeType: 'YulIdentifier',
3152
+ src: '1609:2:3',
3153
+ },
3154
+ ],
3155
+ functionName: {
3156
+ name: 'gt',
3157
+ nodeType: 'YulIdentifier',
3158
+ src: '1598:2:3',
3159
+ },
3160
+ nodeType: 'YulFunctionCall',
3161
+ src: '1598:14:3',
3162
+ },
3163
+ nodeType: 'YulIf',
3164
+ src: '1595:34:3',
3165
+ },
3166
+ {
3167
+ nodeType: 'YulVariableDeclaration',
3168
+ src: '1638:32:3',
3169
+ value: {
3170
+ arguments: [
3171
+ {
3172
+ name: 'headStart',
3173
+ nodeType: 'YulIdentifier',
3174
+ src: '1652:9:3',
3175
+ },
3176
+ {
3177
+ name: 'offset',
3178
+ nodeType: 'YulIdentifier',
3179
+ src: '1663:6:3',
3180
+ },
3181
+ ],
3182
+ functionName: {
3183
+ name: 'add',
3184
+ nodeType: 'YulIdentifier',
3185
+ src: '1648:3:3',
3186
+ },
3187
+ nodeType: 'YulFunctionCall',
3188
+ src: '1648:22:3',
3189
+ },
3190
+ variables: [
3191
+ {
3192
+ name: '_2',
3193
+ nodeType: 'YulTypedName',
3194
+ src: '1642:2:3',
3195
+ type: '',
3196
+ },
3197
+ ],
3198
+ },
3199
+ {
3200
+ body: {
3201
+ nodeType: 'YulBlock',
3202
+ src: '1718:16:3',
3203
+ statements: [
3204
+ {
3205
+ expression: {
3206
+ arguments: [
3207
+ {
3208
+ kind: 'number',
3209
+ nodeType: 'YulLiteral',
3210
+ src: '1727:1:3',
3211
+ type: '',
3212
+ value: '0',
3213
+ },
3214
+ {
3215
+ kind: 'number',
3216
+ nodeType: 'YulLiteral',
3217
+ src: '1730:1:3',
3218
+ type: '',
3219
+ value: '0',
3220
+ },
3221
+ ],
3222
+ functionName: {
3223
+ name: 'revert',
3224
+ nodeType: 'YulIdentifier',
3225
+ src: '1720:6:3',
3226
+ },
3227
+ nodeType: 'YulFunctionCall',
3228
+ src: '1720:12:3',
3229
+ },
3230
+ nodeType: 'YulExpressionStatement',
3231
+ src: '1720:12:3',
3232
+ },
3233
+ ],
3234
+ },
3235
+ condition: {
3236
+ arguments: [
3237
+ {
3238
+ arguments: [
3239
+ {
3240
+ arguments: [
3241
+ {
3242
+ name: '_2',
3243
+ nodeType: 'YulIdentifier',
3244
+ src: '1697:2:3',
3245
+ },
3246
+ {
3247
+ kind: 'number',
3248
+ nodeType: 'YulLiteral',
3249
+ src: '1701:4:3',
3250
+ type: '',
3251
+ value: '0x1f',
3252
+ },
3253
+ ],
3254
+ functionName: {
3255
+ name: 'add',
3256
+ nodeType: 'YulIdentifier',
3257
+ src: '1693:3:3',
3258
+ },
3259
+ nodeType: 'YulFunctionCall',
3260
+ src: '1693:13:3',
3261
+ },
3262
+ {
3263
+ name: 'dataEnd',
3264
+ nodeType: 'YulIdentifier',
3265
+ src: '1708:7:3',
3266
+ },
3267
+ ],
3268
+ functionName: {
3269
+ name: 'slt',
3270
+ nodeType: 'YulIdentifier',
3271
+ src: '1689:3:3',
3272
+ },
3273
+ nodeType: 'YulFunctionCall',
3274
+ src: '1689:27:3',
3275
+ },
3276
+ ],
3277
+ functionName: {
3278
+ name: 'iszero',
3279
+ nodeType: 'YulIdentifier',
3280
+ src: '1682:6:3',
3281
+ },
3282
+ nodeType: 'YulFunctionCall',
3283
+ src: '1682:35:3',
3284
+ },
3285
+ nodeType: 'YulIf',
3286
+ src: '1679:55:3',
3287
+ },
3288
+ {
3289
+ nodeType: 'YulVariableDeclaration',
3290
+ src: '1743:30:3',
3291
+ value: {
3292
+ arguments: [
3293
+ {
3294
+ name: '_2',
3295
+ nodeType: 'YulIdentifier',
3296
+ src: '1770:2:3',
3297
+ },
3298
+ ],
3299
+ functionName: {
3300
+ name: 'calldataload',
3301
+ nodeType: 'YulIdentifier',
3302
+ src: '1757:12:3',
3303
+ },
3304
+ nodeType: 'YulFunctionCall',
3305
+ src: '1757:16:3',
3306
+ },
3307
+ variables: [
3308
+ {
3309
+ name: 'length',
3310
+ nodeType: 'YulTypedName',
3311
+ src: '1747:6:3',
3312
+ type: '',
3313
+ },
3314
+ ],
3315
+ },
3316
+ {
3317
+ body: {
3318
+ nodeType: 'YulBlock',
3319
+ src: '1800:16:3',
3320
+ statements: [
3321
+ {
3322
+ expression: {
3323
+ arguments: [
3324
+ {
3325
+ kind: 'number',
3326
+ nodeType: 'YulLiteral',
3327
+ src: '1809:1:3',
3328
+ type: '',
3329
+ value: '0',
3330
+ },
3331
+ {
3332
+ kind: 'number',
3333
+ nodeType: 'YulLiteral',
3334
+ src: '1812:1:3',
3335
+ type: '',
3336
+ value: '0',
3337
+ },
3338
+ ],
3339
+ functionName: {
3340
+ name: 'revert',
3341
+ nodeType: 'YulIdentifier',
3342
+ src: '1802:6:3',
3343
+ },
3344
+ nodeType: 'YulFunctionCall',
3345
+ src: '1802:12:3',
3346
+ },
3347
+ nodeType: 'YulExpressionStatement',
3348
+ src: '1802:12:3',
3349
+ },
3350
+ ],
3351
+ },
3352
+ condition: {
3353
+ arguments: [
3354
+ {
3355
+ name: 'length',
3356
+ nodeType: 'YulIdentifier',
3357
+ src: '1788:6:3',
3358
+ },
3359
+ {
3360
+ name: '_1',
3361
+ nodeType: 'YulIdentifier',
3362
+ src: '1796:2:3',
3363
+ },
3364
+ ],
3365
+ functionName: {
3366
+ name: 'gt',
3367
+ nodeType: 'YulIdentifier',
3368
+ src: '1785:2:3',
3369
+ },
3370
+ nodeType: 'YulFunctionCall',
3371
+ src: '1785:14:3',
3372
+ },
3373
+ nodeType: 'YulIf',
3374
+ src: '1782:34:3',
3375
+ },
3376
+ {
3377
+ body: {
3378
+ nodeType: 'YulBlock',
3379
+ src: '1866:16:3',
3380
+ statements: [
3381
+ {
3382
+ expression: {
3383
+ arguments: [
3384
+ {
3385
+ kind: 'number',
3386
+ nodeType: 'YulLiteral',
3387
+ src: '1875:1:3',
3388
+ type: '',
3389
+ value: '0',
3390
+ },
3391
+ {
3392
+ kind: 'number',
3393
+ nodeType: 'YulLiteral',
3394
+ src: '1878:1:3',
3395
+ type: '',
3396
+ value: '0',
3397
+ },
3398
+ ],
3399
+ functionName: {
3400
+ name: 'revert',
3401
+ nodeType: 'YulIdentifier',
3402
+ src: '1868:6:3',
3403
+ },
3404
+ nodeType: 'YulFunctionCall',
3405
+ src: '1868:12:3',
3406
+ },
3407
+ nodeType: 'YulExpressionStatement',
3408
+ src: '1868:12:3',
3409
+ },
3410
+ ],
3411
+ },
3412
+ condition: {
3413
+ arguments: [
3414
+ {
3415
+ arguments: [
3416
+ {
3417
+ arguments: [
3418
+ {
3419
+ name: '_2',
3420
+ nodeType: 'YulIdentifier',
3421
+ src: '1839:2:3',
3422
+ },
3423
+ {
3424
+ name: 'length',
3425
+ nodeType: 'YulIdentifier',
3426
+ src: '1843:6:3',
3427
+ },
3428
+ ],
3429
+ functionName: {
3430
+ name: 'add',
3431
+ nodeType: 'YulIdentifier',
3432
+ src: '1835:3:3',
3433
+ },
3434
+ nodeType: 'YulFunctionCall',
3435
+ src: '1835:15:3',
3436
+ },
3437
+ {
3438
+ kind: 'number',
3439
+ nodeType: 'YulLiteral',
3440
+ src: '1852:2:3',
3441
+ type: '',
3442
+ value: '32',
3443
+ },
3444
+ ],
3445
+ functionName: {
3446
+ name: 'add',
3447
+ nodeType: 'YulIdentifier',
3448
+ src: '1831:3:3',
3449
+ },
3450
+ nodeType: 'YulFunctionCall',
3451
+ src: '1831:24:3',
3452
+ },
3453
+ {
3454
+ name: 'dataEnd',
3455
+ nodeType: 'YulIdentifier',
3456
+ src: '1857:7:3',
3457
+ },
3458
+ ],
3459
+ functionName: {
3460
+ name: 'gt',
3461
+ nodeType: 'YulIdentifier',
3462
+ src: '1828:2:3',
3463
+ },
3464
+ nodeType: 'YulFunctionCall',
3465
+ src: '1828:37:3',
3466
+ },
3467
+ nodeType: 'YulIf',
3468
+ src: '1825:57:3',
3469
+ },
3470
+ {
3471
+ nodeType: 'YulAssignment',
3472
+ src: '1891:21:3',
3473
+ value: {
3474
+ arguments: [
3475
+ {
3476
+ name: '_2',
3477
+ nodeType: 'YulIdentifier',
3478
+ src: '1905:2:3',
3479
+ },
3480
+ {
3481
+ kind: 'number',
3482
+ nodeType: 'YulLiteral',
3483
+ src: '1909:2:3',
3484
+ type: '',
3485
+ value: '32',
3486
+ },
3487
+ ],
3488
+ functionName: {
3489
+ name: 'add',
3490
+ nodeType: 'YulIdentifier',
3491
+ src: '1901:3:3',
3492
+ },
3493
+ nodeType: 'YulFunctionCall',
3494
+ src: '1901:11:3',
3495
+ },
3496
+ variableNames: [
3497
+ {
3498
+ name: 'value1',
3499
+ nodeType: 'YulIdentifier',
3500
+ src: '1891:6:3',
3501
+ },
3502
+ ],
3503
+ },
3504
+ {
3505
+ nodeType: 'YulAssignment',
3506
+ src: '1921:16:3',
3507
+ value: {
3508
+ name: 'length',
3509
+ nodeType: 'YulIdentifier',
3510
+ src: '1931:6:3',
3511
+ },
3512
+ variableNames: [
3513
+ {
3514
+ name: 'value2',
3515
+ nodeType: 'YulIdentifier',
3516
+ src: '1921:6:3',
3517
+ },
3518
+ ],
3519
+ },
3520
+ ],
3521
+ },
3522
+ name: 'abi_decode_tuple_t_addresst_bytes_calldata_ptr',
3523
+ nodeType: 'YulFunctionDefinition',
3524
+ parameters: [
3525
+ {
3526
+ name: 'headStart',
3527
+ nodeType: 'YulTypedName',
3528
+ src: '1334:9:3',
3529
+ type: '',
3530
+ },
3531
+ {
3532
+ name: 'dataEnd',
3533
+ nodeType: 'YulTypedName',
3534
+ src: '1345:7:3',
3535
+ type: '',
3536
+ },
3537
+ ],
3538
+ returnVariables: [
3539
+ {
3540
+ name: 'value0',
3541
+ nodeType: 'YulTypedName',
3542
+ src: '1357:6:3',
3543
+ type: '',
3544
+ },
3545
+ {
3546
+ name: 'value1',
3547
+ nodeType: 'YulTypedName',
3548
+ src: '1365:6:3',
3549
+ type: '',
3550
+ },
3551
+ {
3552
+ name: 'value2',
3553
+ nodeType: 'YulTypedName',
3554
+ src: '1373:6:3',
3555
+ type: '',
3556
+ },
3557
+ ],
3558
+ src: '1278:665:3',
3559
+ },
3560
+ {
3561
+ body: {
3562
+ nodeType: 'YulBlock',
3563
+ src: '2049:125:3',
3564
+ statements: [
3565
+ {
3566
+ nodeType: 'YulAssignment',
3567
+ src: '2059:26:3',
3568
+ value: {
3569
+ arguments: [
3570
+ {
3571
+ name: 'headStart',
3572
+ nodeType: 'YulIdentifier',
3573
+ src: '2071:9:3',
3574
+ },
3575
+ {
3576
+ kind: 'number',
3577
+ nodeType: 'YulLiteral',
3578
+ src: '2082:2:3',
3579
+ type: '',
3580
+ value: '32',
3581
+ },
3582
+ ],
3583
+ functionName: {
3584
+ name: 'add',
3585
+ nodeType: 'YulIdentifier',
3586
+ src: '2067:3:3',
3587
+ },
3588
+ nodeType: 'YulFunctionCall',
3589
+ src: '2067:18:3',
3590
+ },
3591
+ variableNames: [
3592
+ {
3593
+ name: 'tail',
3594
+ nodeType: 'YulIdentifier',
3595
+ src: '2059:4:3',
3596
+ },
3597
+ ],
3598
+ },
3599
+ {
3600
+ expression: {
3601
+ arguments: [
3602
+ {
3603
+ name: 'headStart',
3604
+ nodeType: 'YulIdentifier',
3605
+ src: '2101:9:3',
3606
+ },
3607
+ {
3608
+ arguments: [
3609
+ {
3610
+ name: 'value0',
3611
+ nodeType: 'YulIdentifier',
3612
+ src: '2116:6:3',
3613
+ },
3614
+ {
3615
+ kind: 'number',
3616
+ nodeType: 'YulLiteral',
3617
+ src: '2124:42:3',
3618
+ type: '',
3619
+ value: '0xffffffffffffffffffffffffffffffffffffffff',
3620
+ },
3621
+ ],
3622
+ functionName: {
3623
+ name: 'and',
3624
+ nodeType: 'YulIdentifier',
3625
+ src: '2112:3:3',
3626
+ },
3627
+ nodeType: 'YulFunctionCall',
3628
+ src: '2112:55:3',
3629
+ },
3630
+ ],
3631
+ functionName: {
3632
+ name: 'mstore',
3633
+ nodeType: 'YulIdentifier',
3634
+ src: '2094:6:3',
3635
+ },
3636
+ nodeType: 'YulFunctionCall',
3637
+ src: '2094:74:3',
3638
+ },
3639
+ nodeType: 'YulExpressionStatement',
3640
+ src: '2094:74:3',
3641
+ },
3642
+ ],
3643
+ },
3644
+ name: 'abi_encode_tuple_t_address__to_t_address__fromStack_reversed',
3645
+ nodeType: 'YulFunctionDefinition',
3646
+ parameters: [
3647
+ {
3648
+ name: 'headStart',
3649
+ nodeType: 'YulTypedName',
3650
+ src: '2018:9:3',
3651
+ type: '',
3652
+ },
3653
+ {
3654
+ name: 'value0',
3655
+ nodeType: 'YulTypedName',
3656
+ src: '2029:6:3',
3657
+ type: '',
3658
+ },
3659
+ ],
3660
+ returnVariables: [
3661
+ {
3662
+ name: 'tail',
3663
+ nodeType: 'YulTypedName',
3664
+ src: '2040:4:3',
3665
+ type: '',
3666
+ },
3667
+ ],
3668
+ src: '1948:226:3',
3669
+ },
3670
+ {
3671
+ body: {
3672
+ nodeType: 'YulBlock',
3673
+ src: '2278:149:3',
3674
+ statements: [
3675
+ {
3676
+ nodeType: 'YulAssignment',
3677
+ src: '2288:26:3',
3678
+ value: {
3679
+ arguments: [
3680
+ {
3681
+ name: 'headStart',
3682
+ nodeType: 'YulIdentifier',
3683
+ src: '2300:9:3',
3684
+ },
3685
+ {
3686
+ kind: 'number',
3687
+ nodeType: 'YulLiteral',
3688
+ src: '2311:2:3',
3689
+ type: '',
3690
+ value: '32',
3691
+ },
3692
+ ],
3693
+ functionName: {
3694
+ name: 'add',
3695
+ nodeType: 'YulIdentifier',
3696
+ src: '2296:3:3',
3697
+ },
3698
+ nodeType: 'YulFunctionCall',
3699
+ src: '2296:18:3',
3700
+ },
3701
+ variableNames: [
3702
+ {
3703
+ name: 'tail',
3704
+ nodeType: 'YulIdentifier',
3705
+ src: '2288:4:3',
3706
+ },
3707
+ ],
3708
+ },
3709
+ {
3710
+ expression: {
3711
+ arguments: [
3712
+ {
3713
+ name: 'headStart',
3714
+ nodeType: 'YulIdentifier',
3715
+ src: '2330:9:3',
3716
+ },
3717
+ {
3718
+ arguments: [
3719
+ {
3720
+ name: 'value0',
3721
+ nodeType: 'YulIdentifier',
3722
+ src: '2345:6:3',
3723
+ },
3724
+ {
3725
+ kind: 'number',
3726
+ nodeType: 'YulLiteral',
3727
+ src: '2353:66:3',
3728
+ type: '',
3729
+ value: '0xffffffff00000000000000000000000000000000000000000000000000000000',
3730
+ },
3731
+ ],
3732
+ functionName: {
3733
+ name: 'and',
3734
+ nodeType: 'YulIdentifier',
3735
+ src: '2341:3:3',
3736
+ },
3737
+ nodeType: 'YulFunctionCall',
3738
+ src: '2341:79:3',
3739
+ },
3740
+ ],
3741
+ functionName: {
3742
+ name: 'mstore',
3743
+ nodeType: 'YulIdentifier',
3744
+ src: '2323:6:3',
3745
+ },
3746
+ nodeType: 'YulFunctionCall',
3747
+ src: '2323:98:3',
3748
+ },
3749
+ nodeType: 'YulExpressionStatement',
3750
+ src: '2323:98:3',
3751
+ },
3752
+ ],
3753
+ },
3754
+ name: 'abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed',
3755
+ nodeType: 'YulFunctionDefinition',
3756
+ parameters: [
3757
+ {
3758
+ name: 'headStart',
3759
+ nodeType: 'YulTypedName',
3760
+ src: '2247:9:3',
3761
+ type: '',
3762
+ },
3763
+ {
3764
+ name: 'value0',
3765
+ nodeType: 'YulTypedName',
3766
+ src: '2258:6:3',
3767
+ type: '',
3768
+ },
3769
+ ],
3770
+ returnVariables: [
3771
+ {
3772
+ name: 'tail',
3773
+ nodeType: 'YulTypedName',
3774
+ src: '2269:4:3',
3775
+ type: '',
3776
+ },
3777
+ ],
3778
+ src: '2179:248:3',
3779
+ },
3780
+ {
3781
+ body: {
3782
+ nodeType: 'YulBlock',
3783
+ src: '2510:199:3',
3784
+ statements: [
3785
+ {
3786
+ body: {
3787
+ nodeType: 'YulBlock',
3788
+ src: '2556:16:3',
3789
+ statements: [
3790
+ {
3791
+ expression: {
3792
+ arguments: [
3793
+ {
3794
+ kind: 'number',
3795
+ nodeType: 'YulLiteral',
3796
+ src: '2565:1:3',
3797
+ type: '',
3798
+ value: '0',
3799
+ },
3800
+ {
3801
+ kind: 'number',
3802
+ nodeType: 'YulLiteral',
3803
+ src: '2568:1:3',
3804
+ type: '',
3805
+ value: '0',
3806
+ },
3807
+ ],
3808
+ functionName: {
3809
+ name: 'revert',
3810
+ nodeType: 'YulIdentifier',
3811
+ src: '2558:6:3',
3812
+ },
3813
+ nodeType: 'YulFunctionCall',
3814
+ src: '2558:12:3',
3815
+ },
3816
+ nodeType: 'YulExpressionStatement',
3817
+ src: '2558:12:3',
3818
+ },
3819
+ ],
3820
+ },
3821
+ condition: {
3822
+ arguments: [
3823
+ {
3824
+ arguments: [
3825
+ {
3826
+ name: 'dataEnd',
3827
+ nodeType: 'YulIdentifier',
3828
+ src: '2531:7:3',
3829
+ },
3830
+ {
3831
+ name: 'headStart',
3832
+ nodeType: 'YulIdentifier',
3833
+ src: '2540:9:3',
3834
+ },
3835
+ ],
3836
+ functionName: {
3837
+ name: 'sub',
3838
+ nodeType: 'YulIdentifier',
3839
+ src: '2527:3:3',
3840
+ },
3841
+ nodeType: 'YulFunctionCall',
3842
+ src: '2527:23:3',
3843
+ },
3844
+ {
3845
+ kind: 'number',
3846
+ nodeType: 'YulLiteral',
3847
+ src: '2552:2:3',
3848
+ type: '',
3849
+ value: '32',
3850
+ },
3851
+ ],
3852
+ functionName: {
3853
+ name: 'slt',
3854
+ nodeType: 'YulIdentifier',
3855
+ src: '2523:3:3',
3856
+ },
3857
+ nodeType: 'YulFunctionCall',
3858
+ src: '2523:32:3',
3859
+ },
3860
+ nodeType: 'YulIf',
3861
+ src: '2520:52:3',
3862
+ },
3863
+ {
3864
+ nodeType: 'YulVariableDeclaration',
3865
+ src: '2581:29:3',
3866
+ value: {
3867
+ arguments: [
3868
+ {
3869
+ name: 'headStart',
3870
+ nodeType: 'YulIdentifier',
3871
+ src: '2600:9:3',
3872
+ },
3873
+ ],
3874
+ functionName: {
3875
+ name: 'mload',
3876
+ nodeType: 'YulIdentifier',
3877
+ src: '2594:5:3',
3878
+ },
3879
+ nodeType: 'YulFunctionCall',
3880
+ src: '2594:16:3',
3881
+ },
3882
+ variables: [
3883
+ {
3884
+ name: 'value',
3885
+ nodeType: 'YulTypedName',
3886
+ src: '2585:5:3',
3887
+ type: '',
3888
+ },
3889
+ ],
3890
+ },
3891
+ {
3892
+ body: {
3893
+ nodeType: 'YulBlock',
3894
+ src: '2663:16:3',
3895
+ statements: [
3896
+ {
3897
+ expression: {
3898
+ arguments: [
3899
+ {
3900
+ kind: 'number',
3901
+ nodeType: 'YulLiteral',
3902
+ src: '2672:1:3',
3903
+ type: '',
3904
+ value: '0',
3905
+ },
3906
+ {
3907
+ kind: 'number',
3908
+ nodeType: 'YulLiteral',
3909
+ src: '2675:1:3',
3910
+ type: '',
3911
+ value: '0',
3912
+ },
3913
+ ],
3914
+ functionName: {
3915
+ name: 'revert',
3916
+ nodeType: 'YulIdentifier',
3917
+ src: '2665:6:3',
3918
+ },
3919
+ nodeType: 'YulFunctionCall',
3920
+ src: '2665:12:3',
3921
+ },
3922
+ nodeType: 'YulExpressionStatement',
3923
+ src: '2665:12:3',
3924
+ },
3925
+ ],
3926
+ },
3927
+ condition: {
3928
+ arguments: [
3929
+ {
3930
+ arguments: [
3931
+ {
3932
+ name: 'value',
3933
+ nodeType: 'YulIdentifier',
3934
+ src: '2632:5:3',
3935
+ },
3936
+ {
3937
+ arguments: [
3938
+ {
3939
+ arguments: [
3940
+ {
3941
+ name: 'value',
3942
+ nodeType: 'YulIdentifier',
3943
+ src: '2653:5:3',
3944
+ },
3945
+ ],
3946
+ functionName: {
3947
+ name: 'iszero',
3948
+ nodeType: 'YulIdentifier',
3949
+ src: '2646:6:3',
3950
+ },
3951
+ nodeType: 'YulFunctionCall',
3952
+ src: '2646:13:3',
3953
+ },
3954
+ ],
3955
+ functionName: {
3956
+ name: 'iszero',
3957
+ nodeType: 'YulIdentifier',
3958
+ src: '2639:6:3',
3959
+ },
3960
+ nodeType: 'YulFunctionCall',
3961
+ src: '2639:21:3',
3962
+ },
3963
+ ],
3964
+ functionName: {
3965
+ name: 'eq',
3966
+ nodeType: 'YulIdentifier',
3967
+ src: '2629:2:3',
3968
+ },
3969
+ nodeType: 'YulFunctionCall',
3970
+ src: '2629:32:3',
3971
+ },
3972
+ ],
3973
+ functionName: {
3974
+ name: 'iszero',
3975
+ nodeType: 'YulIdentifier',
3976
+ src: '2622:6:3',
3977
+ },
3978
+ nodeType: 'YulFunctionCall',
3979
+ src: '2622:40:3',
3980
+ },
3981
+ nodeType: 'YulIf',
3982
+ src: '2619:60:3',
3983
+ },
3984
+ {
3985
+ nodeType: 'YulAssignment',
3986
+ src: '2688:15:3',
3987
+ value: {
3988
+ name: 'value',
3989
+ nodeType: 'YulIdentifier',
3990
+ src: '2698:5:3',
3991
+ },
3992
+ variableNames: [
3993
+ {
3994
+ name: 'value0',
3995
+ nodeType: 'YulIdentifier',
3996
+ src: '2688:6:3',
3997
+ },
3998
+ ],
3999
+ },
4000
+ ],
4001
+ },
4002
+ name: 'abi_decode_tuple_t_bool_fromMemory',
4003
+ nodeType: 'YulFunctionDefinition',
4004
+ parameters: [
4005
+ {
4006
+ name: 'headStart',
4007
+ nodeType: 'YulTypedName',
4008
+ src: '2476:9:3',
4009
+ type: '',
4010
+ },
4011
+ {
4012
+ name: 'dataEnd',
4013
+ nodeType: 'YulTypedName',
4014
+ src: '2487:7:3',
4015
+ type: '',
4016
+ },
4017
+ ],
4018
+ returnVariables: [
4019
+ {
4020
+ name: 'value0',
4021
+ nodeType: 'YulTypedName',
4022
+ src: '2499:6:3',
4023
+ type: '',
4024
+ },
4025
+ ],
4026
+ src: '2432:277:3',
4027
+ },
4028
+ {
4029
+ body: {
4030
+ nodeType: 'YulBlock',
4031
+ src: '2888:164:3',
4032
+ statements: [
4033
+ {
4034
+ expression: {
4035
+ arguments: [
4036
+ {
4037
+ name: 'headStart',
4038
+ nodeType: 'YulIdentifier',
4039
+ src: '2905:9:3',
4040
+ },
4041
+ {
4042
+ kind: 'number',
4043
+ nodeType: 'YulLiteral',
4044
+ src: '2916:2:3',
4045
+ type: '',
4046
+ value: '32',
4047
+ },
4048
+ ],
4049
+ functionName: {
4050
+ name: 'mstore',
4051
+ nodeType: 'YulIdentifier',
4052
+ src: '2898:6:3',
4053
+ },
4054
+ nodeType: 'YulFunctionCall',
4055
+ src: '2898:21:3',
4056
+ },
4057
+ nodeType: 'YulExpressionStatement',
4058
+ src: '2898:21:3',
4059
+ },
4060
+ {
4061
+ expression: {
4062
+ arguments: [
4063
+ {
4064
+ arguments: [
4065
+ {
4066
+ name: 'headStart',
4067
+ nodeType: 'YulIdentifier',
4068
+ src: '2939:9:3',
4069
+ },
4070
+ {
4071
+ kind: 'number',
4072
+ nodeType: 'YulLiteral',
4073
+ src: '2950:2:3',
4074
+ type: '',
4075
+ value: '32',
4076
+ },
4077
+ ],
4078
+ functionName: {
4079
+ name: 'add',
4080
+ nodeType: 'YulIdentifier',
4081
+ src: '2935:3:3',
4082
+ },
4083
+ nodeType: 'YulFunctionCall',
4084
+ src: '2935:18:3',
4085
+ },
4086
+ {
4087
+ kind: 'number',
4088
+ nodeType: 'YulLiteral',
4089
+ src: '2955:2:3',
4090
+ type: '',
4091
+ value: '14',
4092
+ },
4093
+ ],
4094
+ functionName: {
4095
+ name: 'mstore',
4096
+ nodeType: 'YulIdentifier',
4097
+ src: '2928:6:3',
4098
+ },
4099
+ nodeType: 'YulFunctionCall',
4100
+ src: '2928:30:3',
4101
+ },
4102
+ nodeType: 'YulExpressionStatement',
4103
+ src: '2928:30:3',
4104
+ },
4105
+ {
4106
+ expression: {
4107
+ arguments: [
4108
+ {
4109
+ arguments: [
4110
+ {
4111
+ name: 'headStart',
4112
+ nodeType: 'YulIdentifier',
4113
+ src: '2978:9:3',
4114
+ },
4115
+ {
4116
+ kind: 'number',
4117
+ nodeType: 'YulLiteral',
4118
+ src: '2989:2:3',
4119
+ type: '',
4120
+ value: '64',
4121
+ },
4122
+ ],
4123
+ functionName: {
4124
+ name: 'add',
4125
+ nodeType: 'YulIdentifier',
4126
+ src: '2974:3:3',
4127
+ },
4128
+ nodeType: 'YulFunctionCall',
4129
+ src: '2974:18:3',
4130
+ },
4131
+ {
4132
+ hexValue: '4e4f545f415554484f52495a4544',
4133
+ kind: 'string',
4134
+ nodeType: 'YulLiteral',
4135
+ src: '2994:16:3',
4136
+ type: '',
4137
+ value: 'NOT_AUTHORIZED',
4138
+ },
4139
+ ],
4140
+ functionName: {
4141
+ name: 'mstore',
4142
+ nodeType: 'YulIdentifier',
4143
+ src: '2967:6:3',
4144
+ },
4145
+ nodeType: 'YulFunctionCall',
4146
+ src: '2967:44:3',
4147
+ },
4148
+ nodeType: 'YulExpressionStatement',
4149
+ src: '2967:44:3',
4150
+ },
4151
+ {
4152
+ nodeType: 'YulAssignment',
4153
+ src: '3020:26:3',
4154
+ value: {
4155
+ arguments: [
4156
+ {
4157
+ name: 'headStart',
4158
+ nodeType: 'YulIdentifier',
4159
+ src: '3032:9:3',
4160
+ },
4161
+ {
4162
+ kind: 'number',
4163
+ nodeType: 'YulLiteral',
4164
+ src: '3043:2:3',
4165
+ type: '',
4166
+ value: '96',
4167
+ },
4168
+ ],
4169
+ functionName: {
4170
+ name: 'add',
4171
+ nodeType: 'YulIdentifier',
4172
+ src: '3028:3:3',
4173
+ },
4174
+ nodeType: 'YulFunctionCall',
4175
+ src: '3028:18:3',
4176
+ },
4177
+ variableNames: [
4178
+ {
4179
+ name: 'tail',
4180
+ nodeType: 'YulIdentifier',
4181
+ src: '3020:4:3',
4182
+ },
4183
+ ],
4184
+ },
4185
+ ],
4186
+ },
4187
+ name: 'abi_encode_tuple_t_stringliteral_e7e213d5e2bee0acc2c7bf8bfda19ef0cae82e7b8c997e7e898919269971e7c4__to_t_string_memory_ptr__fromStack_reversed',
4188
+ nodeType: 'YulFunctionDefinition',
4189
+ parameters: [
4190
+ {
4191
+ name: 'headStart',
4192
+ nodeType: 'YulTypedName',
4193
+ src: '2865:9:3',
4194
+ type: '',
4195
+ },
4196
+ ],
4197
+ returnVariables: [
4198
+ {
4199
+ name: 'tail',
4200
+ nodeType: 'YulTypedName',
4201
+ src: '2879:4:3',
4202
+ type: '',
4203
+ },
4204
+ ],
4205
+ src: '2714:338:3',
4206
+ },
4207
+ {
4208
+ body: {
4209
+ nodeType: 'YulBlock',
4210
+ src: '3194:289:3',
4211
+ statements: [
4212
+ {
4213
+ nodeType: 'YulVariableDeclaration',
4214
+ src: '3204:27:3',
4215
+ value: {
4216
+ arguments: [
4217
+ {
4218
+ name: 'value0',
4219
+ nodeType: 'YulIdentifier',
4220
+ src: '3224:6:3',
4221
+ },
4222
+ ],
4223
+ functionName: {
4224
+ name: 'mload',
4225
+ nodeType: 'YulIdentifier',
4226
+ src: '3218:5:3',
4227
+ },
4228
+ nodeType: 'YulFunctionCall',
4229
+ src: '3218:13:3',
4230
+ },
4231
+ variables: [
4232
+ {
4233
+ name: 'length',
4234
+ nodeType: 'YulTypedName',
4235
+ src: '3208:6:3',
4236
+ type: '',
4237
+ },
4238
+ ],
4239
+ },
4240
+ {
4241
+ nodeType: 'YulVariableDeclaration',
4242
+ src: '3240:10:3',
4243
+ value: {
4244
+ kind: 'number',
4245
+ nodeType: 'YulLiteral',
4246
+ src: '3249:1:3',
4247
+ type: '',
4248
+ value: '0',
4249
+ },
4250
+ variables: [
4251
+ {
4252
+ name: 'i',
4253
+ nodeType: 'YulTypedName',
4254
+ src: '3244:1:3',
4255
+ type: '',
4256
+ },
4257
+ ],
4258
+ },
4259
+ {
4260
+ body: {
4261
+ nodeType: 'YulBlock',
4262
+ src: '3311:77:3',
4263
+ statements: [
4264
+ {
4265
+ expression: {
4266
+ arguments: [
4267
+ {
4268
+ arguments: [
4269
+ {
4270
+ name: 'pos',
4271
+ nodeType: 'YulIdentifier',
4272
+ src: '3336:3:3',
4273
+ },
4274
+ {
4275
+ name: 'i',
4276
+ nodeType: 'YulIdentifier',
4277
+ src: '3341:1:3',
4278
+ },
4279
+ ],
4280
+ functionName: {
4281
+ name: 'add',
4282
+ nodeType: 'YulIdentifier',
4283
+ src: '3332:3:3',
4284
+ },
4285
+ nodeType: 'YulFunctionCall',
4286
+ src: '3332:11:3',
4287
+ },
4288
+ {
4289
+ arguments: [
4290
+ {
4291
+ arguments: [
4292
+ {
4293
+ arguments: [
4294
+ {
4295
+ name: 'value0',
4296
+ nodeType: 'YulIdentifier',
4297
+ src: '3359:6:3',
4298
+ },
4299
+ {
4300
+ name: 'i',
4301
+ nodeType: 'YulIdentifier',
4302
+ src: '3367:1:3',
4303
+ },
4304
+ ],
4305
+ functionName: {
4306
+ name: 'add',
4307
+ nodeType: 'YulIdentifier',
4308
+ src: '3355:3:3',
4309
+ },
4310
+ nodeType: 'YulFunctionCall',
4311
+ src: '3355:14:3',
4312
+ },
4313
+ {
4314
+ kind: 'number',
4315
+ nodeType: 'YulLiteral',
4316
+ src: '3371:4:3',
4317
+ type: '',
4318
+ value: '0x20',
4319
+ },
4320
+ ],
4321
+ functionName: {
4322
+ name: 'add',
4323
+ nodeType: 'YulIdentifier',
4324
+ src: '3351:3:3',
4325
+ },
4326
+ nodeType: 'YulFunctionCall',
4327
+ src: '3351:25:3',
4328
+ },
4329
+ ],
4330
+ functionName: {
4331
+ name: 'mload',
4332
+ nodeType: 'YulIdentifier',
4333
+ src: '3345:5:3',
4334
+ },
4335
+ nodeType: 'YulFunctionCall',
4336
+ src: '3345:32:3',
4337
+ },
4338
+ ],
4339
+ functionName: {
4340
+ name: 'mstore',
4341
+ nodeType: 'YulIdentifier',
4342
+ src: '3325:6:3',
4343
+ },
4344
+ nodeType: 'YulFunctionCall',
4345
+ src: '3325:53:3',
4346
+ },
4347
+ nodeType: 'YulExpressionStatement',
4348
+ src: '3325:53:3',
4349
+ },
4350
+ ],
4351
+ },
4352
+ condition: {
4353
+ arguments: [
4354
+ {
4355
+ name: 'i',
4356
+ nodeType: 'YulIdentifier',
4357
+ src: '3270:1:3',
4358
+ },
4359
+ {
4360
+ name: 'length',
4361
+ nodeType: 'YulIdentifier',
4362
+ src: '3273:6:3',
4363
+ },
4364
+ ],
4365
+ functionName: {
4366
+ name: 'lt',
4367
+ nodeType: 'YulIdentifier',
4368
+ src: '3267:2:3',
4369
+ },
4370
+ nodeType: 'YulFunctionCall',
4371
+ src: '3267:13:3',
4372
+ },
4373
+ nodeType: 'YulForLoop',
4374
+ post: {
4375
+ nodeType: 'YulBlock',
4376
+ src: '3281:21:3',
4377
+ statements: [
4378
+ {
4379
+ nodeType: 'YulAssignment',
4380
+ src: '3283:17:3',
4381
+ value: {
4382
+ arguments: [
4383
+ {
4384
+ name: 'i',
4385
+ nodeType: 'YulIdentifier',
4386
+ src: '3292:1:3',
4387
+ },
4388
+ {
4389
+ kind: 'number',
4390
+ nodeType: 'YulLiteral',
4391
+ src: '3295:4:3',
4392
+ type: '',
4393
+ value: '0x20',
4394
+ },
4395
+ ],
4396
+ functionName: {
4397
+ name: 'add',
4398
+ nodeType: 'YulIdentifier',
4399
+ src: '3288:3:3',
4400
+ },
4401
+ nodeType: 'YulFunctionCall',
4402
+ src: '3288:12:3',
4403
+ },
4404
+ variableNames: [
4405
+ {
4406
+ name: 'i',
4407
+ nodeType: 'YulIdentifier',
4408
+ src: '3283:1:3',
4409
+ },
4410
+ ],
4411
+ },
4412
+ ],
4413
+ },
4414
+ pre: {
4415
+ nodeType: 'YulBlock',
4416
+ src: '3263:3:3',
4417
+ statements: [],
4418
+ },
4419
+ src: '3259:129:3',
4420
+ },
4421
+ {
4422
+ body: {
4423
+ nodeType: 'YulBlock',
4424
+ src: '3414:31:3',
4425
+ statements: [
4426
+ {
4427
+ expression: {
4428
+ arguments: [
4429
+ {
4430
+ arguments: [
4431
+ {
4432
+ name: 'pos',
4433
+ nodeType: 'YulIdentifier',
4434
+ src: '3427:3:3',
4435
+ },
4436
+ {
4437
+ name: 'length',
4438
+ nodeType: 'YulIdentifier',
4439
+ src: '3432:6:3',
4440
+ },
4441
+ ],
4442
+ functionName: {
4443
+ name: 'add',
4444
+ nodeType: 'YulIdentifier',
4445
+ src: '3423:3:3',
4446
+ },
4447
+ nodeType: 'YulFunctionCall',
4448
+ src: '3423:16:3',
4449
+ },
4450
+ {
4451
+ kind: 'number',
4452
+ nodeType: 'YulLiteral',
4453
+ src: '3441:1:3',
4454
+ type: '',
4455
+ value: '0',
4456
+ },
4457
+ ],
4458
+ functionName: {
4459
+ name: 'mstore',
4460
+ nodeType: 'YulIdentifier',
4461
+ src: '3416:6:3',
4462
+ },
4463
+ nodeType: 'YulFunctionCall',
4464
+ src: '3416:27:3',
4465
+ },
4466
+ nodeType: 'YulExpressionStatement',
4467
+ src: '3416:27:3',
4468
+ },
4469
+ ],
4470
+ },
4471
+ condition: {
4472
+ arguments: [
4473
+ {
4474
+ name: 'i',
4475
+ nodeType: 'YulIdentifier',
4476
+ src: '3403:1:3',
4477
+ },
4478
+ {
4479
+ name: 'length',
4480
+ nodeType: 'YulIdentifier',
4481
+ src: '3406:6:3',
4482
+ },
4483
+ ],
4484
+ functionName: {
4485
+ name: 'gt',
4486
+ nodeType: 'YulIdentifier',
4487
+ src: '3400:2:3',
4488
+ },
4489
+ nodeType: 'YulFunctionCall',
4490
+ src: '3400:13:3',
4491
+ },
4492
+ nodeType: 'YulIf',
4493
+ src: '3397:48:3',
4494
+ },
4495
+ {
4496
+ nodeType: 'YulAssignment',
4497
+ src: '3454:23:3',
4498
+ value: {
4499
+ arguments: [
4500
+ {
4501
+ name: 'pos',
4502
+ nodeType: 'YulIdentifier',
4503
+ src: '3465:3:3',
4504
+ },
4505
+ {
4506
+ name: 'length',
4507
+ nodeType: 'YulIdentifier',
4508
+ src: '3470:6:3',
4509
+ },
4510
+ ],
4511
+ functionName: {
4512
+ name: 'add',
4513
+ nodeType: 'YulIdentifier',
4514
+ src: '3461:3:3',
4515
+ },
4516
+ nodeType: 'YulFunctionCall',
4517
+ src: '3461:16:3',
4518
+ },
4519
+ variableNames: [
4520
+ {
4521
+ name: 'end',
4522
+ nodeType: 'YulIdentifier',
4523
+ src: '3454:3:3',
4524
+ },
4525
+ ],
4526
+ },
4527
+ ],
4528
+ },
4529
+ name: 'abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed',
4530
+ nodeType: 'YulFunctionDefinition',
4531
+ parameters: [
4532
+ {
4533
+ name: 'pos',
4534
+ nodeType: 'YulTypedName',
4535
+ src: '3170:3:3',
4536
+ type: '',
4537
+ },
4538
+ {
4539
+ name: 'value0',
4540
+ nodeType: 'YulTypedName',
4541
+ src: '3175:6:3',
4542
+ type: '',
4543
+ },
4544
+ ],
4545
+ returnVariables: [
4546
+ {
4547
+ name: 'end',
4548
+ nodeType: 'YulTypedName',
4549
+ src: '3186:3:3',
4550
+ type: '',
4551
+ },
4552
+ ],
4553
+ src: '3057:426:3',
4554
+ },
4555
+ ],
4556
+ },
4557
+ contents:
4558
+ '{\n { }\n function abi_encode_tuple_t_stringliteral_ef8a4c3fcfbfa959f184421d0ef9a577b18116cafbc5879aff4e2f1881c7c1f0__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 14)\n mstore(add(headStart, 64), "ETHER_REJECTED")\n tail := add(headStart, 96)\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000))) { revert(0, 0) }\n value0 := value\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_decode_tuple_t_addresst_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let length := calldataload(_2)\n if gt(length, _1) { revert(0, 0) }\n if gt(add(add(_2, length), 32), dataEnd) { revert(0, 0) }\n value1 := add(_2, 32)\n value2 := length\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffff00000000000000000000000000000000000000000000000000000000))\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_e7e213d5e2bee0acc2c7bf8bfda19ef0cae82e7b8c997e7e898919269971e7c4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 14)\n mstore(add(headStart, 64), "NOT_AUTHORIZED")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n let i := 0\n for { } lt(i, length) { i := add(i, 0x20) }\n {\n mstore(add(pos, i), mload(add(add(value0, i), 0x20)))\n }\n if gt(i, length) { mstore(add(pos, length), 0) }\n end := add(pos, length)\n }\n}',
4559
+ id: 3,
4560
+ language: 'Yul',
4561
+ name: '#utility.yul',
4562
+ },
4563
+ ],
4564
+ immutableReferences: {},
4565
+ linkReferences: {},
4566
+ opcodes:
4567
+ 'PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x5E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4F1EF286 GT PUSH2 0x43 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x129 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x176 JUMPI PUSH2 0xCA JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x3659CFE6 EQ PUSH2 0x109 JUMPI PUSH2 0xCA JUMP JUMPDEST CALLDATASIZE PUSH2 0xCA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45544845525F52454A4543544544000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xD2 PUSH2 0x196 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF4 PUSH2 0xEF CALLDATASIZE PUSH1 0x4 PUSH2 0x806 JUMP JUMPDEST PUSH2 0x1E1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x115 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD2 PUSH2 0x124 CALLDATASIZE PUSH1 0x4 PUSH2 0x871 JUMP JUMPDEST PUSH2 0x3AF JUMP JUMPDEST PUSH2 0xD2 PUSH2 0x137 CALLDATASIZE PUSH1 0x4 PUSH2 0x88C JUMP JUMPDEST PUSH2 0x481 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x148 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x151 PUSH2 0x57C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x100 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x182 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD2 PUSH2 0x191 CALLDATASIZE PUSH1 0x4 PUSH2 0x871 JUMP JUMPDEST PUSH2 0x5AB JUMP JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD PUSH1 0x0 CALLDATASIZE DUP2 DUP3 CALLDATACOPY DUP1 DUP2 CALLDATASIZE DUP4 DUP6 GAS DELEGATECALL SWAP2 POP RETURNDATASIZE DUP1 DUP3 DUP4 RETURNDATACOPY DUP3 DUP1 ISZERO PUSH2 0x1D7 JUMPI DUP2 DUP4 RETURN JUMPDEST DUP2 DUP4 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP4 AND EQ DUP1 PUSH2 0x274 JUMPI POP PUSH32 0x7F5828D000000000000000000000000000000000000000000000000000000000 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP4 AND EQ JUMPDEST ISZERO PUSH2 0x281 JUMPI POP PUSH1 0x1 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP1 DUP4 AND EQ ISZERO PUSH2 0x2B3 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD PUSH1 0x40 MLOAD PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP5 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 PUSH4 0x1FFC9A7 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x39B JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x398 SWAP2 DUP2 ADD SWAP1 PUSH2 0x90F JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x3A8 JUMPI POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0xB53127684A568B3173AE13B9F8A6016E243E63B6E8EE1178D6A717850B5D6103 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x465 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E4F545F415554484F52495A4544000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xC1 JUMP JUMPDEST PUSH2 0x47E DUP2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x66A JUMP JUMPDEST POP JUMP JUMPDEST PUSH32 0xB53127684A568B3173AE13B9F8A6016E243E63B6E8EE1178D6A717850B5D6103 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x537 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E4F545F415554484F52495A4544000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xC1 JUMP JUMPDEST PUSH2 0x577 DUP4 DUP4 DUP4 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH2 0x66A SWAP3 POP POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5A6 PUSH32 0xB53127684A568B3173AE13B9F8A6016E243E63B6E8EE1178D6A717850B5D6103 SLOAD SWAP1 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH32 0xB53127684A568B3173AE13B9F8A6016E243E63B6E8EE1178D6A717850B5D6103 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x661 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E4F545F415554484F52495A4544000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xC1 JUMP JUMPDEST PUSH2 0x47E DUP2 PUSH2 0x759 JUMP JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC DUP1 SLOAD SWAP1 DUP4 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP6 AND SWAP2 SWAP1 DUP4 AND SWAP1 PUSH32 0x5570D70A002632A7B0B3C9304CC89EFB62D8DA9ECA0DBD7752C83B7379068296 SWAP1 PUSH1 0x0 SWAP1 LOG3 DUP2 MLOAD ISZERO PUSH2 0x577 JUMPI PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH1 0x40 MLOAD PUSH2 0x705 SWAP2 SWAP1 PUSH2 0x931 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x740 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x745 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x1DB JUMPI RETURNDATASIZE DUP1 PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x783 PUSH32 0xB53127684A568B3173AE13B9F8A6016E243E63B6E8EE1178D6A717850B5D6103 SLOAD SWAP1 JUMP JUMPDEST SWAP1 POP DUP2 PUSH32 0xB53127684A568B3173AE13B9F8A6016E243E63B6E8EE1178D6A717850B5D6103 SSTORE DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x818 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP2 AND DUP2 EQ PUSH2 0x3A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x86C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x883 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3A8 DUP3 PUSH2 0x848 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x8A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8AA DUP5 PUSH2 0x848 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x8C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x8DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x8EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x8FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP5 POP DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x921 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x3A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x952 JUMPI PUSH1 0x20 DUP2 DUP7 ADD DUP2 ADD MLOAD DUP6 DUP4 ADD MSTORE ADD PUSH2 0x938 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x961 JUMPI PUSH1 0x0 DUP3 DUP6 ADD MSTORE JUMPDEST POP SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE6 0x49 0xC3 PUSH29 0x69D6249070369BE01F33AF3368FCDCEA9814421A048306C2829C125964 PUSH20 0x6F6C634300080A00330000000000000000000000 ',
4568
+ sourceMap:
4569
+ '236:3020:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;488:24:2;;;;;216:2:3;488:24:2;;;198:21:3;255:2;235:18;;;228:30;294:16;274:18;;;267:44;328:18;;488:24:2;;;;;;;;236:3020:0;593:11:2;:9;:11::i;:::-;236:3020:0;1018:877;;;;;;;;;;-1:-1:-1;1018:877:0;;;;;:::i;:::-;;:::i;:::-;;;859:14:3;;852:22;834:41;;822:2;807:18;1018:877:0;;;;;;;;2007:123;;;;;;;;;;-1:-1:-1;2007:123:0;;;;;:::i;:::-;;:::i;2136:161::-;;;;;;:::i;:::-;;:::i;931:81::-;;;;;;;;;;;;;:::i;:::-;;;2124:42:3;2112:55;;;2094:74;;2082:2;2067:18;931:81:0;1948:226:3;1901:100:0;;;;;;;;;;-1:-1:-1;1901:100:0;;;;;:::i;:::-;;:::i;731:640:2:-;894:66;888:73;992:3;997:14;992:3;;974:38;992:3;;997:14;992:3;1060:21;1053:5;1040:69;1025:84;;1135:16;1185:5;992:3;;1164:27;1211:7;1231:55;;;;1335:5;992:3;1325:16;1231:55;1266:5;992:3;1256:16;1204:151;;;;;731:640::o;1018:877:0:-;1079:4;1099:16;;;;;;:36;;-1:-1:-1;1119:16:0;;;;;1099:36;1095:78;;;-1:-1:-1;1158:4:0;;1018:877;-1:-1:-1;1018:877:0:o;1095:78::-;1186:16;;;;;1182:59;;;-1:-1:-1;1225:5:0;;1018:877;-1:-1:-1;1018:877:0:o;1182:59::-;1394:66;1388:73;1746:36;;;;;2353:66:3;2341:79;;1746:36:0;;;2323:98:3;1746:32:0;;;;;;2296:18:3;;1746:36:0;;;;;;;;;;;;;;;;;;-1:-1:-1;1746:36:0;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;1742:147;;-1:-1:-1;1873:5:0;;1018:877;-1:-1:-1;;1018:877:0:o;1742:147::-;1827:7;1018:877;-1:-1:-1;;;1018:877:0:o;2007:123::-;2819:66;2813:73;2457:22;;:10;:22;;;2449:49;;;;;;;2916:2:3;2449:49:0;;;2898:21:3;2955:2;2935:18;;;2928:30;2994:16;2974:18;;;2967:44;3028:18;;2449:49:0;2714:338:3;2449:49:0;2082:41:::1;2101:17;2082:41;;;;;;;;;;;::::0;:18:::1;:41::i;:::-;2007:123:::0;:::o;2136:161::-;2819:66;2813:73;2457:22;;:10;:22;;;2449:49;;;;;;;2916:2:3;2449:49:0;;;2898:21:3;2955:2;2935:18;;;2928:30;2994:16;2974:18;;;2967:44;3028:18;;2449:49:0;2714:338:3;2449:49:0;2247:43:::1;2266:17;2285:4;;2247:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2247:18:0::1;::::0;-1:-1:-1;;;2247:43:0:i:1;:::-;2136:161:::0;;;:::o;931:81::-;971:7;997:8;2819:66;2813:73;;2636:266;997:8;990:15;;931:81;:::o;1901:100::-;2819:66;2813:73;2457:22;;:10;:22;;;2449:49;;;;;;;2916:2:3;2449:49:0;;;2898:21:3;2955:2;2935:18;;;2928:30;2994:16;2974:18;;;2967:44;3028:18;;2449:49:0;2714:338:3;2449:49:0;1975:19:::1;1985:8;1975:9;:19::i;1377:1068:2:-:0;1630:66;1624:73;;1805:93;;;;1923:69;;;;;;;;;;;;;1470:30;;1923:69;2007:11;;:15;2003:436;;2039:12;2057:17;:30;;2088:4;2057:36;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2038:55;;;2112:7;2107:322;;2278:16;2336:14;2333:1;;2315:36;2382:14;2333:1;2372:25;2908:346:0;2964:21;2988:8;2819:66;2813:73;;2636:266;2988:8;2964:32;;3169:8;3101:66;3094:84;3238:8;3202:45;;3223:13;3202:45;;;;;;;;;;;;2954:300;2908:346;:::o;357:332:3:-;415:6;468:2;456:9;447:7;443:23;439:32;436:52;;;484:1;481;474:12;436:52;523:9;510:23;573:66;566:5;562:78;555:5;552:89;542:117;;655:1;652;645:12;886:196;954:20;;1014:42;1003:54;;993:65;;983:93;;1072:1;1069;1062:12;983:93;886:196;;;:::o;1087:186::-;1146:6;1199:2;1187:9;1178:7;1174:23;1170:32;1167:52;;;1215:1;1212;1205:12;1167:52;1238:29;1257:9;1238:29;:::i;1278:665::-;1357:6;1365;1373;1426:2;1414:9;1405:7;1401:23;1397:32;1394:52;;;1442:1;1439;1432:12;1394:52;1465:29;1484:9;1465:29;:::i;:::-;1455:39;;1545:2;1534:9;1530:18;1517:32;1568:18;1609:2;1601:6;1598:14;1595:34;;;1625:1;1622;1615:12;1595:34;1663:6;1652:9;1648:22;1638:32;;1708:7;1701:4;1697:2;1693:13;1689:27;1679:55;;1730:1;1727;1720:12;1679:55;1770:2;1757:16;1796:2;1788:6;1785:14;1782:34;;;1812:1;1809;1802:12;1782:34;1857:7;1852:2;1843:6;1839:2;1835:15;1831:24;1828:37;1825:57;;;1878:1;1875;1868:12;1825:57;1909:2;1905;1901:11;1891:21;;1931:6;1921:16;;;;;1278:665;;;;;:::o;2432:277::-;2499:6;2552:2;2540:9;2531:7;2527:23;2523:32;2520:52;;;2568:1;2565;2558:12;2520:52;2600:9;2594:16;2653:5;2646:13;2639:21;2632:5;2629:32;2619:60;;2675:1;2672;2665:12;3057:426;3186:3;3224:6;3218:13;3249:1;3259:129;3273:6;3270:1;3267:13;3259:129;;;3371:4;3355:14;;;3351:25;;3345:32;3332:11;;;3325:53;3288:12;3259:129;;;3406:6;3403:1;3400:13;3397:48;;;3441:1;3432:6;3427:3;3423:16;3416:27;3397:48;-1:-1:-1;3461:16:3;;;;;3057:426;-1:-1:-1;;3057:426:3:o',
4570
+ },
4571
+ gasEstimates: {
4572
+ creation: {
4573
+ codeDepositCost: '493200',
4574
+ executionCost: 'infinite',
4575
+ totalCost: 'infinite',
4576
+ },
4577
+ external: {
4578
+ '': 'infinite',
4579
+ 'owner()': '2361',
4580
+ 'supportsInterface(bytes4)': 'infinite',
4581
+ 'transferOwnership(address)': '28278',
4582
+ 'upgradeTo(address)': '28306',
4583
+ 'upgradeToAndCall(address,bytes)': 'infinite',
4584
+ },
4585
+ internal: {
4586
+ '_owner()': 'infinite',
4587
+ '_setOwner(address)': '25799',
4588
+ },
4589
+ },
4590
+ methodIdentifiers: {
4591
+ 'owner()': '8da5cb5b',
4592
+ 'supportsInterface(bytes4)': '01ffc9a7',
4593
+ 'transferOwnership(address)': 'f2fde38b',
4594
+ 'upgradeTo(address)': '3659cfe6',
4595
+ 'upgradeToAndCall(address,bytes)': '4f1ef286',
4596
+ },
4597
+ },
4598
+ metadata:
4599
+ '{"compiler":{"version":"0.8.10+commit.fc410830"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"implementationAddress","type":"address"},{"internalType":"address","name":"ownerAddress","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousImplementation","type":"address"},{"indexed":true,"internalType":"address","name":"newImplementation","type":"address"}],"name":"ProxyImplementationUpdated","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"id","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"notice":"Proxy implementing EIP173 for ownership management","version":1}},"settings":{"compilationTarget":{"solc_0.8/proxy/EIP173Proxy.sol":"EIP173Proxy"},"evmVersion":"london","libraries":{},"metadata":{"bytecodeHash":"ipfs","useLiteralContent":true},"optimizer":{"enabled":true,"runs":999999},"remappings":[]},"sources":{"solc_0.8/proxy/EIP173Proxy.sol":{"content":"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nimport \\"./Proxy.sol\\";\\n\\ninterface ERC165 {\\n function supportsInterface(bytes4 id) external view returns (bool);\\n}\\n\\n///@notice Proxy implementing EIP173 for ownership management\\ncontract EIP173Proxy is Proxy {\\n // ////////////////////////// EVENTS ///////////////////////////////////////////////////////////////////////\\n\\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\\n\\n // /////////////////////// CONSTRUCTOR //////////////////////////////////////////////////////////////////////\\n\\n constructor(\\n address implementationAddress,\\n address ownerAddress,\\n bytes memory data\\n ) payable {\\n _setOwner(ownerAddress);\\n _setImplementation(implementationAddress, data);\\n }\\n\\n // ///////////////////// EXTERNAL ///////////////////////////////////////////////////////////////////////////\\n\\n function owner() external view returns (address) {\\n return _owner();\\n }\\n\\n function supportsInterface(bytes4 id) external view returns (bool) {\\n if (id == 0x01ffc9a7 || id == 0x7f5828d0) {\\n return true;\\n }\\n if (id == 0xFFFFFFFF) {\\n return false;\\n }\\n\\n ERC165 implementation;\\n // solhint-disable-next-line security/no-inline-assembly\\n assembly {\\n implementation := sload(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc)\\n }\\n\\n // Technically this is not standard compliant as ERC-165 require 30,000 gas which that call cannot ensure\\n // because it is itself inside `supportsInterface` that might only get 30,000 gas.\\n // In practise this is unlikely to be an issue.\\n try implementation.supportsInterface(id) returns (bool support) {\\n return support;\\n } catch {\\n return false;\\n }\\n }\\n\\n function transferOwnership(address newOwner) external onlyOwner {\\n _setOwner(newOwner);\\n }\\n\\n function upgradeTo(address newImplementation) external onlyOwner {\\n _setImplementation(newImplementation, \\"\\");\\n }\\n\\n function upgradeToAndCall(address newImplementation, bytes calldata data) external payable onlyOwner {\\n _setImplementation(newImplementation, data);\\n }\\n\\n // /////////////////////// MODIFIERS ////////////////////////////////////////////////////////////////////////\\n\\n modifier onlyOwner() {\\n require(msg.sender == _owner(), \\"NOT_AUTHORIZED\\");\\n _;\\n }\\n\\n // ///////////////////////// INTERNAL //////////////////////////////////////////////////////////////////////\\n\\n function _owner() internal view returns (address adminAddress) {\\n // solhint-disable-next-line security/no-inline-assembly\\n assembly {\\n adminAddress := sload(0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103)\\n }\\n }\\n\\n function _setOwner(address newOwner) internal {\\n address previousOwner = _owner();\\n // solhint-disable-next-line security/no-inline-assembly\\n assembly {\\n sstore(0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, newOwner)\\n }\\n emit OwnershipTransferred(previousOwner, newOwner);\\n }\\n}\\n","keccak256":"0xa52a027d9e3ad599c98da343572c0f8e16d65551d6fa0ab218e9e2d0f76e2ab0","license":"MIT"},"solc_0.8/proxy/Proxy.sol":{"content":"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\n// EIP-1967\\nabstract contract Proxy {\\n // /////////////////////// EVENTS ///////////////////////////////////////////////////////////////////////////\\n\\n event ProxyImplementationUpdated(address indexed previousImplementation, address indexed newImplementation);\\n\\n // ///////////////////// EXTERNAL ///////////////////////////////////////////////////////////////////////////\\n\\n receive() external payable virtual {\\n revert(\\"ETHER_REJECTED\\"); // explicit reject by default\\n }\\n\\n fallback() external payable {\\n _fallback();\\n }\\n\\n // ///////////////////////// INTERNAL //////////////////////////////////////////////////////////////////////\\n\\n function _fallback() internal {\\n // solhint-disable-next-line security/no-inline-assembly\\n assembly {\\n let implementationAddress := sload(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc)\\n calldatacopy(0x0, 0x0, calldatasize())\\n let success := delegatecall(gas(), implementationAddress, 0x0, calldatasize(), 0, 0)\\n let retSz := returndatasize()\\n returndatacopy(0, 0, retSz)\\n switch success\\n case 0 {\\n revert(0, retSz)\\n }\\n default {\\n return(0, retSz)\\n }\\n }\\n }\\n\\n function _setImplementation(address newImplementation, bytes memory data) internal {\\n address previousImplementation;\\n // solhint-disable-next-line security/no-inline-assembly\\n assembly {\\n previousImplementation := sload(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc)\\n }\\n\\n // solhint-disable-next-line security/no-inline-assembly\\n assembly {\\n sstore(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, newImplementation)\\n }\\n\\n emit ProxyImplementationUpdated(previousImplementation, newImplementation);\\n\\n if (data.length > 0) {\\n (bool success, ) = newImplementation.delegatecall(data);\\n if (!success) {\\n assembly {\\n // This assembly ensure the revert contains the exact string data\\n let returnDataSize := returndatasize()\\n returndatacopy(0, 0, returnDataSize)\\n revert(0, returnDataSize)\\n }\\n }\\n }\\n }\\n}\\n","keccak256":"0x68c8cf1a340a53d31de8ed808bb66d64e83d50b20d80a0b2dff6aba903cebc98","license":"MIT"}},"version":1}',
4600
+ storageLayout: {
4601
+ storage: [],
4602
+ types: null,
4603
+ },
4604
+ userdoc: {
4605
+ kind: 'user',
4606
+ methods: {},
4607
+ notice: 'Proxy implementing EIP173 for ownership management',
4608
+ version: 1,
4609
+ },
4610
+ solcInput:
4611
+ '{\n "language": "Solidity",\n "sources": {\n "solc_0.8/proxy/EIP173Proxy.sol": {\n "content": "// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nimport \\"./Proxy.sol\\";\\n\\ninterface ERC165 {\\n function supportsInterface(bytes4 id) external view returns (bool);\\n}\\n\\n///@notice Proxy implementing EIP173 for ownership management\\ncontract EIP173Proxy is Proxy {\\n // ////////////////////////// EVENTS ///////////////////////////////////////////////////////////////////////\\n\\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\\n\\n // /////////////////////// CONSTRUCTOR //////////////////////////////////////////////////////////////////////\\n\\n constructor(\\n address implementationAddress,\\n address ownerAddress,\\n bytes memory data\\n ) payable {\\n _setOwner(ownerAddress);\\n _setImplementation(implementationAddress, data);\\n }\\n\\n // ///////////////////// EXTERNAL ///////////////////////////////////////////////////////////////////////////\\n\\n function owner() external view returns (address) {\\n return _owner();\\n }\\n\\n function supportsInterface(bytes4 id) external view returns (bool) {\\n if (id == 0x01ffc9a7 || id == 0x7f5828d0) {\\n return true;\\n }\\n if (id == 0xFFFFFFFF) {\\n return false;\\n }\\n\\n ERC165 implementation;\\n // solhint-disable-next-line security/no-inline-assembly\\n assembly {\\n implementation := sload(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc)\\n }\\n\\n // Technically this is not standard compliant as ERC-165 require 30,000 gas which that call cannot ensure\\n // because it is itself inside `supportsInterface` that might only get 30,000 gas.\\n // In practise this is unlikely to be an issue.\\n try implementation.supportsInterface(id) returns (bool support) {\\n return support;\\n } catch {\\n return false;\\n }\\n }\\n\\n function transferOwnership(address newOwner) external onlyOwner {\\n _setOwner(newOwner);\\n }\\n\\n function upgradeTo(address newImplementation) external onlyOwner {\\n _setImplementation(newImplementation, \\"\\");\\n }\\n\\n function upgradeToAndCall(address newImplementation, bytes calldata data) external payable onlyOwner {\\n _setImplementation(newImplementation, data);\\n }\\n\\n // /////////////////////// MODIFIERS ////////////////////////////////////////////////////////////////////////\\n\\n modifier onlyOwner() {\\n require(msg.sender == _owner(), \\"NOT_AUTHORIZED\\");\\n _;\\n }\\n\\n // ///////////////////////// INTERNAL //////////////////////////////////////////////////////////////////////\\n\\n function _owner() internal view returns (address adminAddress) {\\n // solhint-disable-next-line security/no-inline-assembly\\n assembly {\\n adminAddress := sload(0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103)\\n }\\n }\\n\\n function _setOwner(address newOwner) internal {\\n address previousOwner = _owner();\\n // solhint-disable-next-line security/no-inline-assembly\\n assembly {\\n sstore(0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, newOwner)\\n }\\n emit OwnershipTransferred(previousOwner, newOwner);\\n }\\n}\\n"\n },\n "solc_0.8/proxy/Proxy.sol": {\n "content": "// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\n// EIP-1967\\nabstract contract Proxy {\\n // /////////////////////// EVENTS ///////////////////////////////////////////////////////////////////////////\\n\\n event ProxyImplementationUpdated(address indexed previousImplementation, address indexed newImplementation);\\n\\n // ///////////////////// EXTERNAL ///////////////////////////////////////////////////////////////////////////\\n\\n receive() external payable virtual {\\n revert(\\"ETHER_REJECTED\\"); // explicit reject by default\\n }\\n\\n fallback() external payable {\\n _fallback();\\n }\\n\\n // ///////////////////////// INTERNAL //////////////////////////////////////////////////////////////////////\\n\\n function _fallback() internal {\\n // solhint-disable-next-line security/no-inline-assembly\\n assembly {\\n let implementationAddress := sload(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc)\\n calldatacopy(0x0, 0x0, calldatasize())\\n let success := delegatecall(gas(), implementationAddress, 0x0, calldatasize(), 0, 0)\\n let retSz := returndatasize()\\n returndatacopy(0, 0, retSz)\\n switch success\\n case 0 {\\n revert(0, retSz)\\n }\\n default {\\n return(0, retSz)\\n }\\n }\\n }\\n\\n function _setImplementation(address newImplementation, bytes memory data) internal {\\n address previousImplementation;\\n // solhint-disable-next-line security/no-inline-assembly\\n assembly {\\n previousImplementation := sload(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc)\\n }\\n\\n // solhint-disable-next-line security/no-inline-assembly\\n assembly {\\n sstore(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, newImplementation)\\n }\\n\\n emit ProxyImplementationUpdated(previousImplementation, newImplementation);\\n\\n if (data.length > 0) {\\n (bool success, ) = newImplementation.delegatecall(data);\\n if (!success) {\\n assembly {\\n // This assembly ensure the revert contains the exact string data\\n let returnDataSize := returndatasize()\\n returndatacopy(0, 0, returnDataSize)\\n revert(0, returnDataSize)\\n }\\n }\\n }\\n }\\n}\\n"\n },\n "solc_0.8/proxy/EIP173ProxyWithReceive.sol": {\n "content": "// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.0;\\n\\nimport \\"./EIP173Proxy.sol\\";\\n\\n///@notice Proxy implementing EIP173 for ownership management that accept ETH via receive\\ncontract EIP173ProxyWithReceive is EIP173Proxy {\\n constructor(\\n address implementationAddress,\\n address ownerAddress,\\n bytes memory data\\n ) payable EIP173Proxy(implementationAddress, ownerAddress, data) {}\\n\\n receive() external payable override {}\\n}\\n"\n }\n },\n "settings": {\n "optimizer": {\n "enabled": true,\n "runs": 999999\n },\n "outputSelection": {\n "*": {\n "*": [\n "abi",\n "evm.bytecode",\n "evm.deployedBytecode",\n "evm.methodIdentifiers",\n "metadata",\n "devdoc",\n "userdoc",\n "storageLayout",\n "evm.gasEstimates"\n ],\n "": [\n "ast"\n ]\n }\n },\n "metadata": {\n "useLiteralContent": true\n }\n }\n}',
4612
+ solcInputHash: '4a46ee6c1a29be400c9fab1ecc28e172',
4613
+ } as const;