Skip to content

Instantly share code, notes, and snippets.

@Julian-dev28
Created July 12, 2023 13:42
Show Gist options
  • Save Julian-dev28/2574645754ec881f53a8cb89281b492b to your computer and use it in GitHub Desktop.
Save Julian-dev28/2574645754ec881f53a8cb89281b492b to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.18+commit.87f61d96.js&optimize=false&runs=200&gist=
{
"overrides": [
{
"files": "*.sol",
"options": {
"printWidth": 80,
"tabWidth": 4,
"useTabs": false,
"singleQuote": false,
"bracketSpacing": false
}
},
{
"files": "*.yml",
"options": {}
},
{
"files": "*.yaml",
"options": {}
},
{
"files": "*.toml",
"options": {}
},
{
"files": "*.json",
"options": {}
},
{
"files": "*.js",
"options": {}
},
{
"files": "*.ts",
"options": {}
}
]
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_10": {
"entryPoint": null,
"id": 10,
"parameterSlots": 0,
"returnSlots": 0
},
"array_dataslot_t_bytes_storage": {
"entryPoint": 2220,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_dataslot_t_bytes_storage_ptr": {
"entryPoint": 2241,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_dataslot_t_string_storage": {
"entryPoint": 1489,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_bytes_storage": {
"entryPoint": 2599,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_bytes_storage_ptr": {
"entryPoint": 2196,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 1331,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_bytes_storage": {
"entryPoint": 2262,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 1810,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_from_storage_t_bytes32": {
"entryPoint": 2636,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1625,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 1771,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_bytes_to_fixedbytes_from_t_bytes_storage_to_t_bytes32": {
"entryPoint": 2697,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 1645,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_bytes_storage_ptr_to_t_bytes_storage": {
"entryPoint": 2342,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 1965,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 1510,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 1436,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_from_storage_value_offset_0t_bytes32": {
"entryPoint": 2646,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 1935,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"identity": {
"entryPoint": 1635,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 1903,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x21": {
"entryPoint": 2820,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 1389,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 1342,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 1685,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"read_from_storage_offset_0_t_bytes32": {
"entryPoint": 2676,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 1526,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_0_unsigned": {
"entryPoint": 2623,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 1890,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 1743,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 1539,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 1695,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 1738,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:9185:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "66:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "77:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "93:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "87:5:1"
},
"nodeType": "YulFunctionCall",
"src": "87:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "77:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "49:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "59:6:1",
"type": ""
}
],
"src": "7:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "140:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "157:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "160:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "150:6:1"
},
"nodeType": "YulFunctionCall",
"src": "150:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "150:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "254:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "257:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "247:6:1"
},
"nodeType": "YulFunctionCall",
"src": "247:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "247:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "278:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "281:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "271:6:1"
},
"nodeType": "YulFunctionCall",
"src": "271:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "271:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "112:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "326:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "343:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "346:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "336:6:1"
},
"nodeType": "YulFunctionCall",
"src": "336:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "336:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "440:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "443:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "433:6:1"
},
"nodeType": "YulFunctionCall",
"src": "433:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "433:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "464:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "467:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "457:6:1"
},
"nodeType": "YulFunctionCall",
"src": "457:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "457:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "298:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "535:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "545:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "559:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "565:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "555:3:1"
},
"nodeType": "YulFunctionCall",
"src": "555:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "545:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "576:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "606:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "612:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "602:3:1"
},
"nodeType": "YulFunctionCall",
"src": "602:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "580:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "653:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "667:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "681:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "689:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "677:3:1"
},
"nodeType": "YulFunctionCall",
"src": "677:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "667:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "633:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "626:6:1"
},
"nodeType": "YulFunctionCall",
"src": "626:26:1"
},
"nodeType": "YulIf",
"src": "623:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "770:16:1"
},
"nodeType": "YulFunctionCall",
"src": "770:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "770:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "720:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "743:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "751:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "740:2:1"
},
"nodeType": "YulFunctionCall",
"src": "740:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "717:2:1"
},
"nodeType": "YulFunctionCall",
"src": "717:38:1"
},
"nodeType": "YulIf",
"src": "714:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "519:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "528:6:1",
"type": ""
}
],
"src": "484:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "864:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "874:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "882:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "874:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "902:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "905:3:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "895:6:1"
},
"nodeType": "YulFunctionCall",
"src": "895:14:1"
},
"nodeType": "YulExpressionStatement",
"src": "895:14:1"
},
{
"nodeType": "YulAssignment",
"src": "918:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "936:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "939:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nodeType": "YulIdentifier",
"src": "926:9:1"
},
"nodeType": "YulFunctionCall",
"src": "926:18:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "918:4:1"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "851:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "859:4:1",
"type": ""
}
],
"src": "810:141:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1001:49:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1011:33:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1029:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1036:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1025:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1025:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1041:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "1021:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1021:23:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1011:6:1"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "984:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "994:6:1",
"type": ""
}
],
"src": "957:93:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1109:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1119:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "1144:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1150:5:1"
}
],
"functionName": {
"name": "shl",
"nodeType": "YulIdentifier",
"src": "1140:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1140:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "1119:8:1"
}
]
}
]
},
"name": "shift_left_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "1084:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1090:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "1100:8:1",
"type": ""
}
],
"src": "1056:107:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1245:317:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1255:35:1",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nodeType": "YulIdentifier",
"src": "1276:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1288:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "1272:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1272:18:1"
},
"variables": [
{
"name": "shiftBits",
"nodeType": "YulTypedName",
"src": "1259:9:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "1299:109:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "1330:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1341:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "1311:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1311:97:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "1303:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1417:51:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "1448:9:1"
},
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1459:8:1"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "1429:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1429:39:1"
},
"variableNames": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1417:8:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1477:30:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1490:5:1"
},
{
"arguments": [
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "1501:4:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1497:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1497:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1486:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1486:21:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1477:5:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1516:40:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1529:5:1"
},
{
"arguments": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1540:8:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "1550:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1536:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1536:19:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "1526:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1526:30:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1516:6:1"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1206:5:1",
"type": ""
},
{
"name": "shiftBytes",
"nodeType": "YulTypedName",
"src": "1213:10:1",
"type": ""
},
{
"name": "toInsert",
"nodeType": "YulTypedName",
"src": "1225:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1238:6:1",
"type": ""
}
],
"src": "1169:393:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1613:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1623:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1634:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1623:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1595:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1605:7:1",
"type": ""
}
],
"src": "1568:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1683:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1693:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1700:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1693:3:1"
}
]
}
]
},
"name": "identity",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1669:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1679:3:1",
"type": ""
}
],
"src": "1651:60:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1777:82:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1787:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1845:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1827:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1827:24:1"
}
],
"functionName": {
"name": "identity",
"nodeType": "YulIdentifier",
"src": "1818:8:1"
},
"nodeType": "YulFunctionCall",
"src": "1818:34:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1800:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1800:53:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "1787:9:1"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1757:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "1767:9:1",
"type": ""
}
],
"src": "1717:142:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1912:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1922:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1929:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1922:3:1"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1898:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1908:3:1",
"type": ""
}
],
"src": "1865:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2022:193:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2032:63:1",
"value": {
"arguments": [
{
"name": "value_0",
"nodeType": "YulIdentifier",
"src": "2087:7:1"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "2056:30:1"
},
"nodeType": "YulFunctionCall",
"src": "2056:39:1"
},
"variables": [
{
"name": "convertedValue_0",
"nodeType": "YulTypedName",
"src": "2036:16:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2111:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2151:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "2145:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2145:11:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2158:6:1"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nodeType": "YulIdentifier",
"src": "2190:16:1"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nodeType": "YulIdentifier",
"src": "2166:23:1"
},
"nodeType": "YulFunctionCall",
"src": "2166:41:1"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nodeType": "YulIdentifier",
"src": "2117:27:1"
},
"nodeType": "YulFunctionCall",
"src": "2117:91:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "2104:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2104:105:1"
},
"nodeType": "YulExpressionStatement",
"src": "2104:105:1"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "1999:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2005:6:1",
"type": ""
},
{
"name": "value_0",
"nodeType": "YulTypedName",
"src": "2013:7:1",
"type": ""
}
],
"src": "1946:269:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2270:24:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2280:8:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2287:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "2280:3:1"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "2266:3:1",
"type": ""
}
],
"src": "2221:73:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2353:136:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2363:46:1",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulIdentifier",
"src": "2377:30:1"
},
"nodeType": "YulFunctionCall",
"src": "2377:32:1"
},
"variables": [
{
"name": "zero_0",
"nodeType": "YulTypedName",
"src": "2367:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2462:4:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2468:6:1"
},
{
"name": "zero_0",
"nodeType": "YulIdentifier",
"src": "2476:6:1"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "2418:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2418:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "2418:65:1"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "2339:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2345:6:1",
"type": ""
}
],
"src": "2300:189:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2545:136:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2612:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2656:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2663:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulIdentifier",
"src": "2626:29:1"
},
"nodeType": "YulFunctionCall",
"src": "2626:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "2626:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2565:5:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2572:3:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2562:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2562:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2577:26:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2579:22:1",
"value": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2592:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2599:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2588:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2588:13:1"
},
"variableNames": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2579:5:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2559:2:1",
"statements": []
},
"src": "2555:120:1"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nodeType": "YulTypedName",
"src": "2533:5:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2540:3:1",
"type": ""
}
],
"src": "2495:186:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2766:464:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2792:431:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2806:54:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2854:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "2822:31:1"
},
"nodeType": "YulFunctionCall",
"src": "2822:38:1"
},
"variables": [
{
"name": "dataArea",
"nodeType": "YulTypedName",
"src": "2810:8:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2873:63:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "2896:8:1"
},
{
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "2924:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "2906:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2906:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2892:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2892:44:1"
},
"variables": [
{
"name": "deleteStart",
"nodeType": "YulTypedName",
"src": "2877:11:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3093:27:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3095:23:1",
"value": {
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "3110:8:1"
},
"variableNames": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "3095:11:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "3077:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3089:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3074:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3074:18:1"
},
"nodeType": "YulIf",
"src": "3071:49:1"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "3162:11:1"
},
{
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "3179:8:1"
},
{
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3207:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "3189:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3189:22:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3175:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3175:37:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulIdentifier",
"src": "3133:28:1"
},
"nodeType": "YulFunctionCall",
"src": "3133:80:1"
},
"nodeType": "YulExpressionStatement",
"src": "3133:80:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "2783:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2788:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2780:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2780:11:1"
},
"nodeType": "YulIf",
"src": "2777:446:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "2742:5:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "2749:3:1",
"type": ""
},
{
"name": "startIndex",
"nodeType": "YulTypedName",
"src": "2754:10:1",
"type": ""
}
],
"src": "2687:543:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3299:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3309:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "3334:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3340:5:1"
}
],
"functionName": {
"name": "shr",
"nodeType": "YulIdentifier",
"src": "3330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3330:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "3309:8:1"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "3274:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3280:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "3290:8:1",
"type": ""
}
],
"src": "3236:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3410:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3420:68:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3469:1:1",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nodeType": "YulIdentifier",
"src": "3472:5:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "3465:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3465:13:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3484:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3480:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3480:6:1"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulIdentifier",
"src": "3436:28:1"
},
"nodeType": "YulFunctionCall",
"src": "3436:51:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3432:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3432:56:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "3424:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3497:25:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3511:4:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "3517:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3507:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3507:15:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "3497:6:1"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3387:4:1",
"type": ""
},
{
"name": "bytes",
"nodeType": "YulTypedName",
"src": "3393:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "3403:6:1",
"type": ""
}
],
"src": "3359:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3614:214:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3747:37:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3774:4:1"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3780:3:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "3755:18:1"
},
"nodeType": "YulFunctionCall",
"src": "3755:29:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3747:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3793:29:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3804:4:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3814:1:1",
"type": "",
"value": "2"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3817:3:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "3810:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3810:11:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "3801:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3801:21:1"
},
"variableNames": [
{
"name": "used",
"nodeType": "YulIdentifier",
"src": "3793:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3595:4:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "3601:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nodeType": "YulTypedName",
"src": "3609:4:1",
"type": ""
}
],
"src": "3533:295:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3925:1303:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3936:51:1",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "3983:3:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3950:32:1"
},
"nodeType": "YulFunctionCall",
"src": "3950:37:1"
},
"variables": [
{
"name": "newLen",
"nodeType": "YulTypedName",
"src": "3940:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4072:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "4074:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4074:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4074:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4044:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4052:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4041:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4041:30:1"
},
"nodeType": "YulIf",
"src": "4038:56:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "4104:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4150:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "4144:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4144:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nodeType": "YulIdentifier",
"src": "4118:25:1"
},
"nodeType": "YulFunctionCall",
"src": "4118:38:1"
},
"variables": [
{
"name": "oldLen",
"nodeType": "YulTypedName",
"src": "4108:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4249:4:1"
},
{
"name": "oldLen",
"nodeType": "YulIdentifier",
"src": "4255:6:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4263:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulIdentifier",
"src": "4203:45:1"
},
"nodeType": "YulFunctionCall",
"src": "4203:67:1"
},
"nodeType": "YulExpressionStatement",
"src": "4203:67:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "4280:18:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4297:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nodeType": "YulTypedName",
"src": "4284:9:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4308:17:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4321:4:1",
"type": "",
"value": "0x20"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4308:9:1"
}
]
},
{
"cases": [
{
"body": {
"nodeType": "YulBlock",
"src": "4372:611:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4386:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4405:6:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4417:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "4413:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4413:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4401:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4401:22:1"
},
"variables": [
{
"name": "loopEnd",
"nodeType": "YulTypedName",
"src": "4390:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4437:51:1",
"value": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4483:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "4451:31:1"
},
"nodeType": "YulFunctionCall",
"src": "4451:37:1"
},
"variables": [
{
"name": "dstPtr",
"nodeType": "YulTypedName",
"src": "4441:6:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4501:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4510:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "4505:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4569:163:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4594:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4612:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4617:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4608:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4608:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4602:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4602:26:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4587:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4587:42:1"
},
"nodeType": "YulExpressionStatement",
"src": "4587:42:1"
},
{
"nodeType": "YulAssignment",
"src": "4646:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4660:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4668:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4656:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4656:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4646:6:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4687:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4704:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4715:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4700:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4700:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4687:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4535:1:1"
},
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "4538:7:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4532:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4532:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "4547:21:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4549:17:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4558:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4561:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4554:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4554:12:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4549:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "4528:3:1",
"statements": []
},
"src": "4524:208:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4768:156:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4786:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4813:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4818:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4809:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4809:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4803:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4803:26:1"
},
"variables": [
{
"name": "lastValue",
"nodeType": "YulTypedName",
"src": "4790:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4853:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nodeType": "YulIdentifier",
"src": "4880:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4895:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4903:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4891:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4891:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "4861:18:1"
},
"nodeType": "YulFunctionCall",
"src": "4861:48:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4846:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4846:64:1"
},
"nodeType": "YulExpressionStatement",
"src": "4846:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "4751:7:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4760:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4748:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4748:19:1"
},
"nodeType": "YulIf",
"src": "4745:179:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4944:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4958:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4966:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "4954:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4954:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4970:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4950:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4950:22:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4937:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4937:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "4937:36:1"
}
]
},
"nodeType": "YulCase",
"src": "4365:618:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4370:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nodeType": "YulBlock",
"src": "5000:222:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5014:14:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5027:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5018:5:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5051:67:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5069:35:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "5088:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "5093:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5084:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5084:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5078:5:1"
},
"nodeType": "YulFunctionCall",
"src": "5078:26:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5069:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "5044:6:1"
},
"nodeType": "YulIf",
"src": "5041:77:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "5138:4:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5197:5:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "5204:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulIdentifier",
"src": "5144:52:1"
},
"nodeType": "YulFunctionCall",
"src": "5144:67:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "5131:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5131:81:1"
},
"nodeType": "YulExpressionStatement",
"src": "5131:81:1"
}
]
},
"nodeType": "YulCase",
"src": "4992:230:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4345:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4353:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4342:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4342:14:1"
},
"nodeType": "YulSwitch",
"src": "4335:887:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "3914:4:1",
"type": ""
},
{
"name": "src",
"nodeType": "YulTypedName",
"src": "3920:3:1",
"type": ""
}
],
"src": "3833:1395:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5293:93:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5304:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5320:5:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "5314:5:1"
},
"nodeType": "YulFunctionCall",
"src": "5314:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5304:6:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "5336:43:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5372:6:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nodeType": "YulIdentifier",
"src": "5346:25:1"
},
"nodeType": "YulFunctionCall",
"src": "5346:33:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5336:6:1"
}
]
}
]
},
"name": "array_length_t_bytes_storage_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5276:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5286:6:1",
"type": ""
}
],
"src": "5234:152:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5445:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5455:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "5463:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5455:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5483:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "5486:3:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5476:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5476:14:1"
},
"nodeType": "YulExpressionStatement",
"src": "5476:14:1"
},
{
"nodeType": "YulAssignment",
"src": "5499:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5517:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5520:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nodeType": "YulIdentifier",
"src": "5507:9:1"
},
"nodeType": "YulFunctionCall",
"src": "5507:18:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5499:4:1"
}
]
}
]
},
"name": "array_dataslot_t_bytes_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "5432:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "5440:4:1",
"type": ""
}
],
"src": "5392:140:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5595:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5605:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "5613:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5605:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5633:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "5636:3:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5626:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5626:14:1"
},
"nodeType": "YulExpressionStatement",
"src": "5626:14:1"
},
{
"nodeType": "YulAssignment",
"src": "5649:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5667:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5670:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nodeType": "YulIdentifier",
"src": "5657:9:1"
},
"nodeType": "YulFunctionCall",
"src": "5657:18:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5649:4:1"
}
]
}
]
},
"name": "array_dataslot_t_bytes_storage_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "5582:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "5590:4:1",
"type": ""
}
],
"src": "5538:144:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5766:463:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "5792:430:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5806:53:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "5853:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_bytes_storage",
"nodeType": "YulIdentifier",
"src": "5822:30:1"
},
"nodeType": "YulFunctionCall",
"src": "5822:37:1"
},
"variables": [
{
"name": "dataArea",
"nodeType": "YulTypedName",
"src": "5810:8:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "5872:63:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "5895:8:1"
},
{
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "5923:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "5905:17:1"
},
"nodeType": "YulFunctionCall",
"src": "5905:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5891:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5891:44:1"
},
"variables": [
{
"name": "deleteStart",
"nodeType": "YulTypedName",
"src": "5876:11:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6092:27:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6094:23:1",
"value": {
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "6109:8:1"
},
"variableNames": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "6094:11:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "6076:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6088:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6073:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6073:18:1"
},
"nodeType": "YulIf",
"src": "6070:49:1"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "6161:11:1"
},
{
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "6178:8:1"
},
{
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "6206:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "6188:17:1"
},
"nodeType": "YulFunctionCall",
"src": "6188:22:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6174:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6174:37:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulIdentifier",
"src": "6132:28:1"
},
"nodeType": "YulFunctionCall",
"src": "6132:80:1"
},
"nodeType": "YulExpressionStatement",
"src": "6132:80:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "5783:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5788:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5780:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5780:11:1"
},
"nodeType": "YulIf",
"src": "5777:445:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_bytes_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "5742:5:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "5749:3:1",
"type": ""
},
{
"name": "startIndex",
"nodeType": "YulTypedName",
"src": "5754:10:1",
"type": ""
}
],
"src": "5688:541:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6326:1366:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "6353:9:1",
"statements": [
{
"nodeType": "YulLeave",
"src": "6355:5:1"
}
]
},
"condition": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "6342:4:1"
},
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "6348:3:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6339:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6339:13:1"
},
"nodeType": "YulIf",
"src": "6336:26:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "6372:51:1",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "6419:3:1"
}
],
"functionName": {
"name": "array_length_t_bytes_storage_ptr",
"nodeType": "YulIdentifier",
"src": "6386:32:1"
},
"nodeType": "YulFunctionCall",
"src": "6386:37:1"
},
"variables": [
{
"name": "newLen",
"nodeType": "YulTypedName",
"src": "6376:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6508:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "6510:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6510:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6510:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "6480:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6488:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6477:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6477:30:1"
},
"nodeType": "YulIf",
"src": "6474:56:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "6540:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "6586:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "6580:5:1"
},
"nodeType": "YulFunctionCall",
"src": "6580:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nodeType": "YulIdentifier",
"src": "6554:25:1"
},
"nodeType": "YulFunctionCall",
"src": "6554:38:1"
},
"variables": [
{
"name": "oldLen",
"nodeType": "YulTypedName",
"src": "6544:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "6684:4:1"
},
{
"name": "oldLen",
"nodeType": "YulIdentifier",
"src": "6690:6:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "6698:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_bytes_storage",
"nodeType": "YulIdentifier",
"src": "6639:44:1"
},
"nodeType": "YulFunctionCall",
"src": "6639:66:1"
},
"nodeType": "YulExpressionStatement",
"src": "6639:66:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "6715:18:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6732:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nodeType": "YulTypedName",
"src": "6719:9:1",
"type": ""
}
]
},
{
"cases": [
{
"body": {
"nodeType": "YulBlock",
"src": "6780:667:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6794:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "6813:6:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6825:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "6821:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6821:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6809:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6809:22:1"
},
"variables": [
{
"name": "loopEnd",
"nodeType": "YulTypedName",
"src": "6798:7:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "6844:46:1",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "6886:3:1"
}
],
"functionName": {
"name": "array_dataslot_t_bytes_storage_ptr",
"nodeType": "YulIdentifier",
"src": "6851:34:1"
},
"nodeType": "YulFunctionCall",
"src": "6851:39:1"
},
"variableNames": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "6844:3:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "6903:50:1",
"value": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "6948:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_bytes_storage",
"nodeType": "YulIdentifier",
"src": "6917:30:1"
},
"nodeType": "YulFunctionCall",
"src": "6917:36:1"
},
"variables": [
{
"name": "dstPtr",
"nodeType": "YulTypedName",
"src": "6907:6:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "6966:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6975:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "6970:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "7034:162:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "7059:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "7077:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "7082:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7073:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7073:19:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "7067:5:1"
},
"nodeType": "YulFunctionCall",
"src": "7067:26:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "7052:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7052:42:1"
},
"nodeType": "YulExpressionStatement",
"src": "7052:42:1"
},
{
"nodeType": "YulAssignment",
"src": "7111:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "7125:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7133:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7121:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7121:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "7111:6:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "7152:30:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "7169:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7180:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7165:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7165:17:1"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "7152:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "7000:1:1"
},
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "7003:7:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6997:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6997:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "7012:21:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7014:17:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "7023:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7026:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7019:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7019:12:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "7014:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "6993:3:1",
"statements": []
},
"src": "6989:207:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7232:156:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "7250:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "7277:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "7282:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7273:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7273:19:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "7267:5:1"
},
"nodeType": "YulFunctionCall",
"src": "7267:26:1"
},
"variables": [
{
"name": "lastValue",
"nodeType": "YulTypedName",
"src": "7254:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "7317:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nodeType": "YulIdentifier",
"src": "7344:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "7359:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7367:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "7355:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7355:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "7325:18:1"
},
"nodeType": "YulFunctionCall",
"src": "7325:48:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "7310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7310:64:1"
},
"nodeType": "YulExpressionStatement",
"src": "7310:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "7215:7:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "7224:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "7212:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7212:19:1"
},
"nodeType": "YulIf",
"src": "7209:179:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "7408:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "7422:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7430:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "7418:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7418:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7434:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7414:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7414:22:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "7401:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7401:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "7401:36:1"
}
]
},
"nodeType": "YulCase",
"src": "6773:674:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6778:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nodeType": "YulBlock",
"src": "7464:222:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "7478:14:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "7491:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7482:5:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "7515:67:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7533:35:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "7552:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "7557:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7548:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7548:19:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "7542:5:1"
},
"nodeType": "YulFunctionCall",
"src": "7542:26:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7533:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "7508:6:1"
},
"nodeType": "YulIf",
"src": "7505:77:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "7602:4:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7661:5:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "7668:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulIdentifier",
"src": "7608:52:1"
},
"nodeType": "YulFunctionCall",
"src": "7608:67:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "7595:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7595:81:1"
},
"nodeType": "YulExpressionStatement",
"src": "7595:81:1"
}
]
},
"nodeType": "YulCase",
"src": "7456:230:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "6753:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6761:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6750:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6750:14:1"
},
"nodeType": "YulSwitch",
"src": "6743:943:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_bytes_storage_ptr_to_t_bytes_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "6315:4:1",
"type": ""
},
{
"name": "src",
"nodeType": "YulTypedName",
"src": "6321:3:1",
"type": ""
}
],
"src": "6235:1457:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7753:93:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7764:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7780:5:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "7774:5:1"
},
"nodeType": "YulFunctionCall",
"src": "7774:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "7764:6:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "7796:43:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "7832:6:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nodeType": "YulIdentifier",
"src": "7806:25:1"
},
"nodeType": "YulFunctionCall",
"src": "7806:33:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "7796:6:1"
}
]
}
]
},
"name": "array_length_t_bytes_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7736:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "7746:6:1",
"type": ""
}
],
"src": "7698:148:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7903:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7913:34:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7938:1:1",
"type": "",
"value": "0"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7941:5:1"
}
],
"functionName": {
"name": "shr",
"nodeType": "YulIdentifier",
"src": "7934:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7934:13:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "7913:8:1"
}
]
}
]
},
"name": "shift_right_0_unsigned",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7884:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "7894:8:1",
"type": ""
}
],
"src": "7852:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8018:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8028:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "8039:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "8028:7:1"
}
]
}
]
},
"name": "cleanup_from_storage_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8000:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "8010:7:1",
"type": ""
}
],
"src": "7960:90:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8131:91:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8141:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot_value",
"nodeType": "YulIdentifier",
"src": "8204:10:1"
}
],
"functionName": {
"name": "shift_right_0_unsigned",
"nodeType": "YulIdentifier",
"src": "8181:22:1"
},
"nodeType": "YulFunctionCall",
"src": "8181:34:1"
}
],
"functionName": {
"name": "cleanup_from_storage_t_bytes32",
"nodeType": "YulIdentifier",
"src": "8150:30:1"
},
"nodeType": "YulFunctionCall",
"src": "8150:66:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8141:5:1"
}
]
}
]
},
"name": "extract_from_storage_value_offset_0t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot_value",
"nodeType": "YulTypedName",
"src": "8110:10:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8125:5:1",
"type": ""
}
],
"src": "8056:166:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8289:83:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8299:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "8359:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "8353:5:1"
},
"nodeType": "YulFunctionCall",
"src": "8353:11:1"
}
],
"functionName": {
"name": "extract_from_storage_value_offset_0t_bytes32",
"nodeType": "YulIdentifier",
"src": "8308:44:1"
},
"nodeType": "YulFunctionCall",
"src": "8308:57:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8299:5:1"
}
]
}
]
},
"name": "read_from_storage_offset_0_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "8274:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8283:5:1",
"type": ""
}
],
"src": "8228:144:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8465:531:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "8476:49:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "8519:5:1"
}
],
"functionName": {
"name": "array_length_t_bytes_storage",
"nodeType": "YulIdentifier",
"src": "8490:28:1"
},
"nodeType": "YulFunctionCall",
"src": "8490:35:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "8480:6:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "8534:21:1",
"value": {
"name": "array",
"nodeType": "YulIdentifier",
"src": "8550:5:1"
},
"variables": [
{
"name": "dataArea",
"nodeType": "YulTypedName",
"src": "8538:8:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "8583:53:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8585:49:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "8628:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_bytes_storage",
"nodeType": "YulIdentifier",
"src": "8597:30:1"
},
"nodeType": "YulFunctionCall",
"src": "8597:37:1"
},
"variableNames": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "8585:8:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "8571:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8579:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "8568:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8568:14:1"
},
"nodeType": "YulIf",
"src": "8565:71:1"
},
{
"nodeType": "YulAssignment",
"src": "8646:55:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "8692:8:1"
}
],
"functionName": {
"name": "read_from_storage_offset_0_t_bytes32",
"nodeType": "YulIdentifier",
"src": "8655:36:1"
},
"nodeType": "YulFunctionCall",
"src": "8655:46:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8646:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "8729:260:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8743:236:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8773:5:1"
},
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8840:1:1",
"type": "",
"value": "8"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8847:2:1",
"type": "",
"value": "32"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "8851:6:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "8843:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8843:15:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "8836:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8836:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8881:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "8796:18:1"
},
"nodeType": "YulFunctionCall",
"src": "8796:169:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "8752:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8752:227:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8743:5:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "8717:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8725:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "8714:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8714:14:1"
},
"nodeType": "YulIf",
"src": "8711:278:1"
}
]
},
"name": "convert_bytes_to_fixedbytes_from_t_bytes_storage_to_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "8449:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8459:5:1",
"type": ""
}
],
"src": "8378:618:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9030:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9047:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9050:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9040:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9040:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "9040:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9144:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9147:4:1",
"type": "",
"value": "0x21"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9137:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9137:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "9137:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9168:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9171:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "9161:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9161:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "9161:15:1"
}
]
},
"name": "panic_error_0x21",
"nodeType": "YulFunctionDefinition",
"src": "9002:180:1"
}
]
},
"contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n function array_length_t_bytes_storage_ptr(value) -> length {\n\n length := sload(value)\n\n length := extract_byte_array_length(length)\n\n }\n\n function array_dataslot_t_bytes_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function array_dataslot_t_bytes_storage_ptr(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function clean_up_bytearray_end_slots_t_bytes_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_bytes_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function copy_byte_array_to_storage_from_t_bytes_storage_ptr_to_t_bytes_storage(slot, src) {\n if eq(slot, src) { leave }\n\n let newLen := array_length_t_bytes_storage_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_bytes_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n src := array_dataslot_t_bytes_storage_ptr(src)\n let dstPtr := array_dataslot_t_bytes_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, sload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 1)\n }\n if lt(loopEnd, newLen) {\n let lastValue := sload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := sload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n function array_length_t_bytes_storage(value) -> length {\n\n length := sload(value)\n\n length := extract_byte_array_length(length)\n\n }\n\n function shift_right_0_unsigned(value) -> newValue {\n newValue :=\n\n shr(0, value)\n\n }\n\n function cleanup_from_storage_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function extract_from_storage_value_offset_0t_bytes32(slot_value) -> value {\n value := cleanup_from_storage_t_bytes32(shift_right_0_unsigned(slot_value))\n }\n\n function read_from_storage_offset_0_t_bytes32(slot) -> value {\n value := extract_from_storage_value_offset_0t_bytes32(sload(slot))\n\n }\n\n function convert_bytes_to_fixedbytes_from_t_bytes_storage_to_t_bytes32(array) -> value {\n\n let length := array_length_t_bytes_storage(array)\n let dataArea := array\n\n if gt(length, 31) { dataArea := array_dataslot_t_bytes_storage(array) }\n\n value := read_from_storage_offset_0_t_bytes32(dataArea)\n\n if lt(length, 32) {\n value := and(\n value,\n shift_left_dynamic(\n mul(8, sub(32, length)),\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n )\n )\n }\n\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "60806040526040518060400160405280600c81526020017f68656c6c6f2c20776f726c640000000000000000000000000000000000000000815250600190816200004a9190620007ad565b506001600290816200005d919062000926565b5060026200006b9062000a89565b6003556040518060600160405280600160ff168152602001600260ff168152602001600360ff168152506004906003620000a79291906200036d565b5060405180606001604052806040518060400160405280600381526020017f426f62000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600481526020017f20616e640000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f20416c6963650000000000000000000000000000000000000000000000000000815250815250600590600362000174929190620003c4565b50604051806040016040528073d41d1744871f42bb724d777a2d0bf53fb43a004073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001731f514ae9834aeaf6c2c3eb6d20e27e865f41901073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525060089060026200021c92919062000417565b5060405180604001604052806040518060400160405280600681526020017f535452554354000000000000000000000000000000000000000000000000000081525081526020016103e781525060096000820151816000019081620002829190620007ad565b506020820151816001015550506000600b60006101000a81548160ff02191690836002811115620002b857620002b762000b04565b5b02179055506001600b60016101000a81548160ff02191690836002811115620002e657620002e562000b04565b5b02179055506002600b60026101000a81548160ff0219169083600281111562000314576200031362000b04565b5b02179055503480156200032657600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000b33565b828054828255906000526020600020908101928215620003b1579160200282015b82811115620003b0578251829060ff169055916020019190600101906200038e565b5b509050620003c09190620004a6565b5090565b826003810192821562000404579160200282015b8281111562000403578251829081620003f29190620007ad565b5091602001919060010190620003d8565b5b509050620004139190620004c5565b5090565b82805482825590600052602060002090810192821562000493579160200282015b82811115620004925782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019062000438565b5b509050620004a29190620004a6565b5090565b5b80821115620004c1576000816000905550600101620004a7565b5090565b5b80821115620004e95760008181620004df9190620004ed565b50600101620004c6565b5090565b508054620004fb906200059c565b6000825580601f106200050f575062000530565b601f0160209004906000526020600020908101906200052f9190620004a6565b5b50565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005b557607f821691505b602082108103620005cb57620005ca6200056d565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620005f6565b620006418683620005f6565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200068e62000688620006828462000659565b62000663565b62000659565b9050919050565b6000819050919050565b620006aa836200066d565b620006c2620006b98262000695565b84845462000603565b825550505050565b600090565b620006d9620006ca565b620006e68184846200069f565b505050565b5b818110156200070e5762000702600082620006cf565b600181019050620006ec565b5050565b601f8211156200075d576200072781620005d1565b6200073284620005e6565b8101602085101562000742578190505b6200075a6200075185620005e6565b830182620006eb565b50505b505050565b600082821c905092915050565b6000620007826000198460080262000762565b1980831691505092915050565b60006200079d83836200076f565b9150826002028217905092915050565b620007b88262000533565b67ffffffffffffffff811115620007d457620007d36200053e565b5b620007e082546200059c565b620007ed82828562000712565b600060209050601f83116001811462000825576000841562000810578287015190505b6200081c85826200078f565b8655506200088c565b601f1984166200083586620005d1565b60005b828110156200085f5784890151825560018201915060208501945060208101905062000838565b868310156200087f57848901516200087b601f8916826200076f565b8355505b6001600288020188555050505b505050505050565b600081549050620008a5816200059c565b9050919050565b60008190508160005260206000209050919050565b60008190508160005260206000209050919050565b601f8211156200092157620008eb81620008ac565b620008f684620005e6565b8101602085101562000906578190505b6200091e6200091585620005e6565b830182620006eb565b50505b505050565b8181036200093657505062000a25565b620009418262000894565b67ffffffffffffffff8111156200095d576200095c6200053e565b5b6200096982546200059c565b62000976828285620008d6565b6000601f831160018114620009aa576000841562000995578287015490505b620009a185826200078f565b86555062000a1e565b601f198416620009ba87620008c1565b9650620009c786620008ac565b60005b82811015620009f157848901548255600182019150600185019450602081019050620009ca565b8683101562000a11578489015462000a0d601f8916826200076f565b8355505b6001600288020188555050505b5050505050505b565b60008154905062000a38816200059c565b9050919050565b60008160001c9050919050565b6000819050919050565b600062000a6d62000a678362000a3f565b62000a4c565b9050919050565b600062000a82825462000a56565b9050919050565b600062000a968262000a27565b82601f82111562000aaf5762000aac84620008ac565b90505b62000aba8162000a74565b9250602082101562000afd5762000af87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802620005f6565b831692505b5050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6116208062000b436000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806371b18681116100c3578063c6b7dff51161007c578063c6b7dff5146103a7578063c7a73951146103c5578063cef7e0de146103e3578063e21f37ce14610401578063f303d82e1461041f578063ffdb530e1461043d5761014d565b806371b18681146102ab57806375e4a511146102db5780639a9bdca71461030b578063a94209781461033b578063ac10022a1461036b578063b870a1d8146103895761014d565b80633be9a8ac116101155780633be9a8ac146101fb578063411012d7146102195780634c98c5961461023557806351fd453214610253578063585fc24d14610271578063702f84f31461028f5761014d565b80631c11a047146101525780632989af44146101825780632c223a36146101a057806333ae8158146101bf578063384f58eb146101dd575b600080fd5b61016c60048036038101906101679190610ad7565b61045b565b6040516101799190610b45565b60405180910390f35b61018a61049a565b6040516101979190610bd7565b60405180910390f35b6101a86104ad565b6040516101b6929190610c91565b60405180910390f35b6101c7610547565b6040516101d49190610d16565b60405180910390f35b6101e56105d5565b6040516101f29190610b45565b60405180910390f35b6102036105f9565b6040516102109190610e38565b60405180910390f35b610233600480360381019061022e9190610f8f565b6106c6565b005b61023d6106dc565b60405161024a9190610fd8565b60405180910390f35b61025b610715565b6040516102689190611015565b60405180910390f35b61027961071e565b6040516102869190611015565b60405180910390f35b6102a960048036038101906102a49190610ad7565b610723565b005b6102c560048036038101906102c0919061105c565b610730565b6040516102d29190611089565b60405180910390f35b6102f560048036038101906102f091906110a4565b610748565b6040516103029190611089565b60405180910390f35b61032560048036038101906103209190610ad7565b6107d6565b6040516103329190611089565b60405180910390f35b61035560048036038101906103509190610ad7565b6107fa565b6040516103629190610fd8565b60405180910390f35b61037361089d565b6040516103809190611089565b60405180910390f35b6103916108a2565b60405161039e91906111a2565b60405180910390f35b6103af610930565b6040516103bc91906111dd565b60405180910390f35b6103cd610954565b6040516103da91906112b6565b60405180910390f35b6103eb6109ac565b6040516103f891906112f1565b60405180910390f35b6104096109b2565b6040516104169190610fd8565b60405180910390f35b610427610a40565b6040516104349190610bd7565b60405180910390f35b610445610a53565b6040516104529190610bd7565b60405180910390f35b6008818154811061046b57600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60019054906101000a900460ff1681565b60098060000180546104be9061133b565b80601f01602080910402602001604051908101604052809291908181526020018280546104ea9061133b565b80156105375780601f1061050c57610100808354040283529160200191610537565b820191906000526020600020905b81548152906001019060200180831161051a57829003601f168201915b5050505050908060010154905082565b600280546105549061133b565b80601f01602080910402602001604051908101604052809291908181526020018280546105809061133b565b80156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b505050505081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610601610a66565b6005600380602002604051908101604052809291906000905b828210156106bd5783820180546106309061133b565b80601f016020809104026020016040519081016040528092919081815260200182805461065c9061133b565b80156106a95780601f1061067e576101008083540402835291602001916106a9565b820191906000526020600020905b81548152906001019060200180831161068c57829003601f168201915b50505050508152602001906001019061061a565b50505050905090565b80600960000190816106d89190611518565b5050565b6040518060400160405280600781526020017f4558414d504c450000000000000000000000000000000000000000000000000081525081565b60006001905090565b600181565b8060096001018190555050565b600c6020528060005260406000206000915090505481565b600081600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600481815481106107e657600080fd5b906000526020600020016000915090505481565b6005816003811061080a57600080fd5b01600091509050805461081c9061133b565b80601f01602080910402602001604051908101604052809291908181526020018280546108489061133b565b80156108955780601f1061086a57610100808354040283529160200191610895565b820191906000526020600020905b81548152906001019060200180831161087857829003601f168201915b505050505081565b600a81565b6060600880548060200260200160405190810160405280929190818152602001828054801561092657602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116108dc575b5050505050905090565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff681565b606060048054806020026020016040519081016040528092919081815260200182805480156109a257602002820191906000526020600020905b81548152602001906001019080831161098e575b5050505050905090565b60035481565b600180546109bf9061133b565b80601f01602080910402602001604051908101604052809291908181526020018280546109eb9061133b565b8015610a385780601f10610a0d57610100808354040283529160200191610a38565b820191906000526020600020905b815481529060010190602001808311610a1b57829003601f168201915b505050505081565b600b60009054906101000a900460ff1681565b600b60029054906101000a900460ff1681565b60405180606001604052806003905b6060815260200190600190039081610a755790505090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b610ab481610aa1565b8114610abf57600080fd5b50565b600081359050610ad181610aab565b92915050565b600060208284031215610aed57610aec610a97565b5b6000610afb84828501610ac2565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b2f82610b04565b9050919050565b610b3f81610b24565b82525050565b6000602082019050610b5a6000830184610b36565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610ba057610b9f610b60565b5b50565b6000819050610bb182610b8f565b919050565b6000610bc182610ba3565b9050919050565b610bd181610bb6565b82525050565b6000602082019050610bec6000830184610bc8565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c2c578082015181840152602081019050610c11565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c5482610bf2565b610c5e8185610bfd565b9350610c6e818560208601610c0e565b610c7781610c38565b840191505092915050565b610c8b81610aa1565b82525050565b60006040820190508181036000830152610cab8185610c49565b9050610cba6020830184610c82565b9392505050565b600081519050919050565b600082825260208201905092915050565b6000610ce882610cc1565b610cf28185610ccc565b9350610d02818560208601610c0e565b610d0b81610c38565b840191505092915050565b60006020820190508181036000830152610d308184610cdd565b905092915050565b600060039050919050565b600081905092915050565b6000819050919050565b600082825260208201905092915050565b6000610d7482610bf2565b610d7e8185610d58565b9350610d8e818560208601610c0e565b610d9781610c38565b840191505092915050565b6000610dae8383610d69565b905092915050565b6000602082019050919050565b6000610dce82610d38565b610dd88185610d43565b935083602082028501610dea85610d4e565b8060005b85811015610e265784840389528151610e078582610da2565b9450610e1283610db6565b925060208a01995050600181019050610dee565b50829750879550505050505092915050565b60006020820190508181036000830152610e528184610dc3565b905092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610e9c82610c38565b810181811067ffffffffffffffff82111715610ebb57610eba610e64565b5b80604052505050565b6000610ece610a8d565b9050610eda8282610e93565b919050565b600067ffffffffffffffff821115610efa57610ef9610e64565b5b610f0382610c38565b9050602081019050919050565b82818337600083830152505050565b6000610f32610f2d84610edf565b610ec4565b905082815260208101848484011115610f4e57610f4d610e5f565b5b610f59848285610f10565b509392505050565b600082601f830112610f7657610f75610e5a565b5b8135610f86848260208601610f1f565b91505092915050565b600060208284031215610fa557610fa4610a97565b5b600082013567ffffffffffffffff811115610fc357610fc2610a9c565b5b610fcf84828501610f61565b91505092915050565b60006020820190508181036000830152610ff28184610c49565b905092915050565b60008115159050919050565b61100f81610ffa565b82525050565b600060208201905061102a6000830184611006565b92915050565b61103981610b24565b811461104457600080fd5b50565b60008135905061105681611030565b92915050565b60006020828403121561107257611071610a97565b5b600061108084828501611047565b91505092915050565b600060208201905061109e6000830184610c82565b92915050565b600080604083850312156110bb576110ba610a97565b5b60006110c985828601611047565b92505060206110da85828601610ac2565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61111981610b24565b82525050565b600061112b8383611110565b60208301905092915050565b6000602082019050919050565b600061114f826110e4565b61115981856110ef565b935061116483611100565b8060005b8381101561119557815161117c888261111f565b975061118783611137565b925050600181019050611168565b5085935050505092915050565b600060208201905081810360008301526111bc8184611144565b905092915050565b6000819050919050565b6111d7816111c4565b82525050565b60006020820190506111f260008301846111ce565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61122d81610aa1565b82525050565b600061123f8383611224565b60208301905092915050565b6000602082019050919050565b6000611263826111f8565b61126d8185611203565b935061127883611214565b8060005b838110156112a95781516112908882611233565b975061129b8361124b565b92505060018101905061127c565b5085935050505092915050565b600060208201905081810360008301526112d08184611258565b905092915050565b6000819050919050565b6112eb816112d8565b82525050565b600060208201905061130660008301846112e2565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061135357607f821691505b6020821081036113665761136561130c565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026113ce7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611391565b6113d88683611391565b95508019841693508086168417925050509392505050565b6000819050919050565b600061141561141061140b84610aa1565b6113f0565b610aa1565b9050919050565b6000819050919050565b61142f836113fa565b61144361143b8261141c565b84845461139e565b825550505050565b600090565b61145861144b565b611463818484611426565b505050565b5b818110156114875761147c600082611450565b600181019050611469565b5050565b601f8211156114cc5761149d8161136c565b6114a684611381565b810160208510156114b5578190505b6114c96114c185611381565b830182611468565b50505b505050565b600082821c905092915050565b60006114ef600019846008026114d1565b1980831691505092915050565b600061150883836114de565b9150826002028217905092915050565b61152182610bf2565b67ffffffffffffffff81111561153a57611539610e64565b5b611544825461133b565b61154f82828561148b565b600060209050601f8311600181146115825760008415611570578287015190505b61157a85826114fc565b8655506115e2565b601f1984166115908661136c565b60005b828110156115b857848901518255600182019150602085019450602081019050611593565b868310156115d557848901516115d1601f8916826114de565b8355505b6001600288020188555050505b50505050505056fea264697066735822122080a132d0b93e04d19a24ec9029c226a94ec0fb777a69ada72b72d4daee84d12964736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xC DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x68656C6C6F2C20776F726C640000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x1 SWAP1 DUP2 PUSH3 0x4A SWAP2 SWAP1 PUSH3 0x7AD JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x2 SWAP1 DUP2 PUSH3 0x5D SWAP2 SWAP1 PUSH3 0x926 JUMP JUMPDEST POP PUSH1 0x2 PUSH3 0x6B SWAP1 PUSH3 0xA89 JUMP JUMPDEST PUSH1 0x3 SSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 PUSH1 0xFF AND DUP2 MSTORE POP PUSH1 0x4 SWAP1 PUSH1 0x3 PUSH3 0xA7 SWAP3 SWAP2 SWAP1 PUSH3 0x36D JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x426F620000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x20616E6400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x20416C6963650000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE POP PUSH1 0x5 SWAP1 PUSH1 0x3 PUSH3 0x174 SWAP3 SWAP2 SWAP1 PUSH3 0x3C4 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH20 0xD41D1744871F42BB724D777A2D0BF53FB43A0040 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH20 0x1F514AE9834AEAF6C2C3EB6D20E27E865F419010 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP PUSH1 0x8 SWAP1 PUSH1 0x2 PUSH3 0x21C SWAP3 SWAP2 SWAP1 PUSH3 0x417 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x5354525543540000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x3E7 DUP2 MSTORE POP PUSH1 0x9 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SWAP1 DUP2 PUSH3 0x282 SWAP2 SWAP1 PUSH3 0x7AD JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE POP POP PUSH1 0x0 PUSH1 0xB PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x2B8 JUMPI PUSH3 0x2B7 PUSH3 0xB04 JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0xB PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x2E6 JUMPI PUSH3 0x2E5 PUSH3 0xB04 JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP PUSH1 0x2 PUSH1 0xB PUSH1 0x2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x314 JUMPI PUSH3 0x313 PUSH3 0xB04 JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP CALLVALUE DUP1 ISZERO PUSH3 0x326 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0xB33 JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH3 0x3B1 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x3B0 JUMPI DUP3 MLOAD DUP3 SWAP1 PUSH1 0xFF AND SWAP1 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x38E JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0x3C0 SWAP2 SWAP1 PUSH3 0x4A6 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP3 PUSH1 0x3 DUP2 ADD SWAP3 DUP3 ISZERO PUSH3 0x404 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x403 JUMPI DUP3 MLOAD DUP3 SWAP1 DUP2 PUSH3 0x3F2 SWAP2 SWAP1 PUSH3 0x7AD JUMP JUMPDEST POP SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x3D8 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0x413 SWAP2 SWAP1 PUSH3 0x4C5 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH3 0x493 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x492 JUMPI DUP3 MLOAD DUP3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x438 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0x4A2 SWAP2 SWAP1 PUSH3 0x4A6 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x4C1 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH3 0x4A7 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x4E9 JUMPI PUSH1 0x0 DUP2 DUP2 PUSH3 0x4DF SWAP2 SWAP1 PUSH3 0x4ED JUMP JUMPDEST POP PUSH1 0x1 ADD PUSH3 0x4C6 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST POP DUP1 SLOAD PUSH3 0x4FB SWAP1 PUSH3 0x59C JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH3 0x50F JUMPI POP PUSH3 0x530 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH3 0x52F SWAP2 SWAP1 PUSH3 0x4A6 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x5B5 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x5CB JUMPI PUSH3 0x5CA PUSH3 0x56D JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x635 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x5F6 JUMP JUMPDEST PUSH3 0x641 DUP7 DUP4 PUSH3 0x5F6 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x68E PUSH3 0x688 PUSH3 0x682 DUP5 PUSH3 0x659 JUMP JUMPDEST PUSH3 0x663 JUMP JUMPDEST PUSH3 0x659 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x6AA DUP4 PUSH3 0x66D JUMP JUMPDEST PUSH3 0x6C2 PUSH3 0x6B9 DUP3 PUSH3 0x695 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x603 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x6D9 PUSH3 0x6CA JUMP JUMPDEST PUSH3 0x6E6 DUP2 DUP5 DUP5 PUSH3 0x69F JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x70E JUMPI PUSH3 0x702 PUSH1 0x0 DUP3 PUSH3 0x6CF JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x6EC JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x75D JUMPI PUSH3 0x727 DUP2 PUSH3 0x5D1 JUMP JUMPDEST PUSH3 0x732 DUP5 PUSH3 0x5E6 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x742 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x75A PUSH3 0x751 DUP6 PUSH3 0x5E6 JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x6EB JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x782 PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x762 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x79D DUP4 DUP4 PUSH3 0x76F JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x7B8 DUP3 PUSH3 0x533 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x7D4 JUMPI PUSH3 0x7D3 PUSH3 0x53E JUMP JUMPDEST JUMPDEST PUSH3 0x7E0 DUP3 SLOAD PUSH3 0x59C JUMP JUMPDEST PUSH3 0x7ED DUP3 DUP3 DUP6 PUSH3 0x712 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x825 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x810 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x81C DUP6 DUP3 PUSH3 0x78F JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x88C JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x835 DUP7 PUSH3 0x5D1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x85F JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x838 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x87F JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x87B PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x76F JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SLOAD SWAP1 POP PUSH3 0x8A5 DUP2 PUSH3 0x59C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x921 JUMPI PUSH3 0x8EB DUP2 PUSH3 0x8AC JUMP JUMPDEST PUSH3 0x8F6 DUP5 PUSH3 0x5E6 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x906 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x91E PUSH3 0x915 DUP6 PUSH3 0x5E6 JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x6EB JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 DUP2 SUB PUSH3 0x936 JUMPI POP POP PUSH3 0xA25 JUMP JUMPDEST PUSH3 0x941 DUP3 PUSH3 0x894 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x95D JUMPI PUSH3 0x95C PUSH3 0x53E JUMP JUMPDEST JUMPDEST PUSH3 0x969 DUP3 SLOAD PUSH3 0x59C JUMP JUMPDEST PUSH3 0x976 DUP3 DUP3 DUP6 PUSH3 0x8D6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x9AA JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x995 JUMPI DUP3 DUP8 ADD SLOAD SWAP1 POP JUMPDEST PUSH3 0x9A1 DUP6 DUP3 PUSH3 0x78F JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0xA1E JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x9BA DUP8 PUSH3 0x8C1 JUMP JUMPDEST SWAP7 POP PUSH3 0x9C7 DUP7 PUSH3 0x8AC JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x9F1 JUMPI DUP5 DUP10 ADD SLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x1 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x9CA JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0xA11 JUMPI DUP5 DUP10 ADD SLOAD PUSH3 0xA0D PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x76F JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP2 SLOAD SWAP1 POP PUSH3 0xA38 DUP2 PUSH3 0x59C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SHR SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xA6D PUSH3 0xA67 DUP4 PUSH3 0xA3F JUMP JUMPDEST PUSH3 0xA4C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xA82 DUP3 SLOAD PUSH3 0xA56 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xA96 DUP3 PUSH3 0xA27 JUMP JUMPDEST DUP3 PUSH1 0x1F DUP3 GT ISZERO PUSH3 0xAAF JUMPI PUSH3 0xAAC DUP5 PUSH3 0x8AC JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH3 0xABA DUP2 PUSH3 0xA74 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP3 LT ISZERO PUSH3 0xAFD JUMPI PUSH3 0xAF8 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 PUSH1 0x20 SUB PUSH1 0x8 MUL PUSH3 0x5F6 JUMP JUMPDEST DUP4 AND SWAP3 POP JUMPDEST POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1620 DUP1 PUSH3 0xB43 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x14D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x71B18681 GT PUSH2 0xC3 JUMPI DUP1 PUSH4 0xC6B7DFF5 GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xC6B7DFF5 EQ PUSH2 0x3A7 JUMPI DUP1 PUSH4 0xC7A73951 EQ PUSH2 0x3C5 JUMPI DUP1 PUSH4 0xCEF7E0DE EQ PUSH2 0x3E3 JUMPI DUP1 PUSH4 0xE21F37CE EQ PUSH2 0x401 JUMPI DUP1 PUSH4 0xF303D82E EQ PUSH2 0x41F JUMPI DUP1 PUSH4 0xFFDB530E EQ PUSH2 0x43D JUMPI PUSH2 0x14D JUMP JUMPDEST DUP1 PUSH4 0x71B18681 EQ PUSH2 0x2AB JUMPI DUP1 PUSH4 0x75E4A511 EQ PUSH2 0x2DB JUMPI DUP1 PUSH4 0x9A9BDCA7 EQ PUSH2 0x30B JUMPI DUP1 PUSH4 0xA9420978 EQ PUSH2 0x33B JUMPI DUP1 PUSH4 0xAC10022A EQ PUSH2 0x36B JUMPI DUP1 PUSH4 0xB870A1D8 EQ PUSH2 0x389 JUMPI PUSH2 0x14D JUMP JUMPDEST DUP1 PUSH4 0x3BE9A8AC GT PUSH2 0x115 JUMPI DUP1 PUSH4 0x3BE9A8AC EQ PUSH2 0x1FB JUMPI DUP1 PUSH4 0x411012D7 EQ PUSH2 0x219 JUMPI DUP1 PUSH4 0x4C98C596 EQ PUSH2 0x235 JUMPI DUP1 PUSH4 0x51FD4532 EQ PUSH2 0x253 JUMPI DUP1 PUSH4 0x585FC24D EQ PUSH2 0x271 JUMPI DUP1 PUSH4 0x702F84F3 EQ PUSH2 0x28F JUMPI PUSH2 0x14D JUMP JUMPDEST DUP1 PUSH4 0x1C11A047 EQ PUSH2 0x152 JUMPI DUP1 PUSH4 0x2989AF44 EQ PUSH2 0x182 JUMPI DUP1 PUSH4 0x2C223A36 EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0x33AE8158 EQ PUSH2 0x1BF JUMPI DUP1 PUSH4 0x384F58EB EQ PUSH2 0x1DD JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x16C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x167 SWAP2 SWAP1 PUSH2 0xAD7 JUMP JUMPDEST PUSH2 0x45B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x179 SWAP2 SWAP1 PUSH2 0xB45 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x18A PUSH2 0x49A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x197 SWAP2 SWAP1 PUSH2 0xBD7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1A8 PUSH2 0x4AD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B6 SWAP3 SWAP2 SWAP1 PUSH2 0xC91 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1C7 PUSH2 0x547 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D4 SWAP2 SWAP1 PUSH2 0xD16 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1E5 PUSH2 0x5D5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F2 SWAP2 SWAP1 PUSH2 0xB45 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x203 PUSH2 0x5F9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x210 SWAP2 SWAP1 PUSH2 0xE38 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x233 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x22E SWAP2 SWAP1 PUSH2 0xF8F JUMP JUMPDEST PUSH2 0x6C6 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x23D PUSH2 0x6DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24A SWAP2 SWAP1 PUSH2 0xFD8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x25B PUSH2 0x715 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x268 SWAP2 SWAP1 PUSH2 0x1015 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x279 PUSH2 0x71E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x286 SWAP2 SWAP1 PUSH2 0x1015 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2A9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2A4 SWAP2 SWAP1 PUSH2 0xAD7 JUMP JUMPDEST PUSH2 0x723 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2C5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2C0 SWAP2 SWAP1 PUSH2 0x105C JUMP JUMPDEST PUSH2 0x730 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2D2 SWAP2 SWAP1 PUSH2 0x1089 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2F5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2F0 SWAP2 SWAP1 PUSH2 0x10A4 JUMP JUMPDEST PUSH2 0x748 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x302 SWAP2 SWAP1 PUSH2 0x1089 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x325 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x320 SWAP2 SWAP1 PUSH2 0xAD7 JUMP JUMPDEST PUSH2 0x7D6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x332 SWAP2 SWAP1 PUSH2 0x1089 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x355 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x350 SWAP2 SWAP1 PUSH2 0xAD7 JUMP JUMPDEST PUSH2 0x7FA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x362 SWAP2 SWAP1 PUSH2 0xFD8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x373 PUSH2 0x89D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x380 SWAP2 SWAP1 PUSH2 0x1089 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x391 PUSH2 0x8A2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x11A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3AF PUSH2 0x930 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3BC SWAP2 SWAP1 PUSH2 0x11DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3CD PUSH2 0x954 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3DA SWAP2 SWAP1 PUSH2 0x12B6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3EB PUSH2 0x9AC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F8 SWAP2 SWAP1 PUSH2 0x12F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x409 PUSH2 0x9B2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x416 SWAP2 SWAP1 PUSH2 0xFD8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x427 PUSH2 0xA40 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x434 SWAP2 SWAP1 PUSH2 0xBD7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x445 PUSH2 0xA53 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x452 SWAP2 SWAP1 PUSH2 0xBD7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x8 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x46B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0xB PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x9 DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0x4BE SWAP1 PUSH2 0x133B JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4EA SWAP1 PUSH2 0x133B JUMP JUMPDEST DUP1 ISZERO PUSH2 0x537 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x50C JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x537 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x51A JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH2 0x554 SWAP1 PUSH2 0x133B JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x580 SWAP1 PUSH2 0x133B JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5CD JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5A2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5CD JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5B0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH2 0x601 PUSH2 0xA66 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x3 DUP1 PUSH1 0x20 MUL PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x6BD JUMPI DUP4 DUP3 ADD DUP1 SLOAD PUSH2 0x630 SWAP1 PUSH2 0x133B JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x65C SWAP1 PUSH2 0x133B JUMP JUMPDEST DUP1 ISZERO PUSH2 0x6A9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x67E JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x6A9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x68C JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x61A JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x9 PUSH1 0x0 ADD SWAP1 DUP2 PUSH2 0x6D8 SWAP2 SWAP1 PUSH2 0x1518 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4558414D504C4500000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 JUMP JUMPDEST DUP1 PUSH1 0x9 PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0xC PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0xC PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0xC PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x4 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x7E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x5 DUP2 PUSH1 0x3 DUP2 LT PUSH2 0x80A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 SLOAD PUSH2 0x81C SWAP1 PUSH2 0x133B JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x848 SWAP1 PUSH2 0x133B JUMP JUMPDEST DUP1 ISZERO PUSH2 0x895 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x86A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x895 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x878 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0xA DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x8 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x926 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x8DC JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x9A2 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x98E JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x9BF SWAP1 PUSH2 0x133B JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x9EB SWAP1 PUSH2 0x133B JUMP JUMPDEST DUP1 ISZERO PUSH2 0xA38 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xA0D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xA38 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xA1B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0xB PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0xB PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 SWAP1 JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0xA75 JUMPI SWAP1 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xAB4 DUP2 PUSH2 0xAA1 JUMP JUMPDEST DUP2 EQ PUSH2 0xABF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xAD1 DUP2 PUSH2 0xAAB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xAED JUMPI PUSH2 0xAEC PUSH2 0xA97 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xAFB DUP5 DUP3 DUP6 ADD PUSH2 0xAC2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB2F DUP3 PUSH2 0xB04 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB3F DUP2 PUSH2 0xB24 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB5A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB36 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0xBA0 JUMPI PUSH2 0xB9F PUSH2 0xB60 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xBB1 DUP3 PUSH2 0xB8F JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBC1 DUP3 PUSH2 0xBA3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xBD1 DUP2 PUSH2 0xBB6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBEC PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xBC8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xC2C JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xC11 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC54 DUP3 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0xC5E DUP2 DUP6 PUSH2 0xBFD JUMP JUMPDEST SWAP4 POP PUSH2 0xC6E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xC0E JUMP JUMPDEST PUSH2 0xC77 DUP2 PUSH2 0xC38 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xC8B DUP2 PUSH2 0xAA1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xCAB DUP2 DUP6 PUSH2 0xC49 JUMP JUMPDEST SWAP1 POP PUSH2 0xCBA PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xC82 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCE8 DUP3 PUSH2 0xCC1 JUMP JUMPDEST PUSH2 0xCF2 DUP2 DUP6 PUSH2 0xCCC JUMP JUMPDEST SWAP4 POP PUSH2 0xD02 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xC0E JUMP JUMPDEST PUSH2 0xD0B DUP2 PUSH2 0xC38 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xD30 DUP2 DUP5 PUSH2 0xCDD JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD74 DUP3 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0xD7E DUP2 DUP6 PUSH2 0xD58 JUMP JUMPDEST SWAP4 POP PUSH2 0xD8E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xC0E JUMP JUMPDEST PUSH2 0xD97 DUP2 PUSH2 0xC38 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDAE DUP4 DUP4 PUSH2 0xD69 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDCE DUP3 PUSH2 0xD38 JUMP JUMPDEST PUSH2 0xDD8 DUP2 DUP6 PUSH2 0xD43 JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0xDEA DUP6 PUSH2 0xD4E JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0xE26 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0xE07 DUP6 DUP3 PUSH2 0xDA2 JUMP JUMPDEST SWAP5 POP PUSH2 0xE12 DUP4 PUSH2 0xDB6 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xDEE JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE52 DUP2 DUP5 PUSH2 0xDC3 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xE9C DUP3 PUSH2 0xC38 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xEBB JUMPI PUSH2 0xEBA PUSH2 0xE64 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xECE PUSH2 0xA8D JUMP JUMPDEST SWAP1 POP PUSH2 0xEDA DUP3 DUP3 PUSH2 0xE93 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xEFA JUMPI PUSH2 0xEF9 PUSH2 0xE64 JUMP JUMPDEST JUMPDEST PUSH2 0xF03 DUP3 PUSH2 0xC38 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF32 PUSH2 0xF2D DUP5 PUSH2 0xEDF JUMP JUMPDEST PUSH2 0xEC4 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0xF4E JUMPI PUSH2 0xF4D PUSH2 0xE5F JUMP JUMPDEST JUMPDEST PUSH2 0xF59 DUP5 DUP3 DUP6 PUSH2 0xF10 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xF76 JUMPI PUSH2 0xF75 PUSH2 0xE5A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0xF86 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0xF1F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFA5 JUMPI PUSH2 0xFA4 PUSH2 0xA97 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFC3 JUMPI PUSH2 0xFC2 PUSH2 0xA9C JUMP JUMPDEST JUMPDEST PUSH2 0xFCF DUP5 DUP3 DUP6 ADD PUSH2 0xF61 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xFF2 DUP2 DUP5 PUSH2 0xC49 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x100F DUP2 PUSH2 0xFFA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x102A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1006 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1039 DUP2 PUSH2 0xB24 JUMP JUMPDEST DUP2 EQ PUSH2 0x1044 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1056 DUP2 PUSH2 0x1030 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1072 JUMPI PUSH2 0x1071 PUSH2 0xA97 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1080 DUP5 DUP3 DUP6 ADD PUSH2 0x1047 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x109E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xC82 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x10BB JUMPI PUSH2 0x10BA PUSH2 0xA97 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x10C9 DUP6 DUP3 DUP7 ADD PUSH2 0x1047 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x10DA DUP6 DUP3 DUP7 ADD PUSH2 0xAC2 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1119 DUP2 PUSH2 0xB24 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x112B DUP4 DUP4 PUSH2 0x1110 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x114F DUP3 PUSH2 0x10E4 JUMP JUMPDEST PUSH2 0x1159 DUP2 DUP6 PUSH2 0x10EF JUMP JUMPDEST SWAP4 POP PUSH2 0x1164 DUP4 PUSH2 0x1100 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1195 JUMPI DUP2 MLOAD PUSH2 0x117C DUP9 DUP3 PUSH2 0x111F JUMP JUMPDEST SWAP8 POP PUSH2 0x1187 DUP4 PUSH2 0x1137 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1168 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x11BC DUP2 DUP5 PUSH2 0x1144 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x11D7 DUP2 PUSH2 0x11C4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x11F2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x11CE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x122D DUP2 PUSH2 0xAA1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x123F DUP4 DUP4 PUSH2 0x1224 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1263 DUP3 PUSH2 0x11F8 JUMP JUMPDEST PUSH2 0x126D DUP2 DUP6 PUSH2 0x1203 JUMP JUMPDEST SWAP4 POP PUSH2 0x1278 DUP4 PUSH2 0x1214 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x12A9 JUMPI DUP2 MLOAD PUSH2 0x1290 DUP9 DUP3 PUSH2 0x1233 JUMP JUMPDEST SWAP8 POP PUSH2 0x129B DUP4 PUSH2 0x124B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x127C JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12D0 DUP2 DUP5 PUSH2 0x1258 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x12EB DUP2 PUSH2 0x12D8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1306 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x12E2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1353 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1366 JUMPI PUSH2 0x1365 PUSH2 0x130C JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x13CE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x1391 JUMP JUMPDEST PUSH2 0x13D8 DUP7 DUP4 PUSH2 0x1391 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1415 PUSH2 0x1410 PUSH2 0x140B DUP5 PUSH2 0xAA1 JUMP JUMPDEST PUSH2 0x13F0 JUMP JUMPDEST PUSH2 0xAA1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x142F DUP4 PUSH2 0x13FA JUMP JUMPDEST PUSH2 0x1443 PUSH2 0x143B DUP3 PUSH2 0x141C JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x139E JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x1458 PUSH2 0x144B JUMP JUMPDEST PUSH2 0x1463 DUP2 DUP5 DUP5 PUSH2 0x1426 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1487 JUMPI PUSH2 0x147C PUSH1 0x0 DUP3 PUSH2 0x1450 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1469 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x14CC JUMPI PUSH2 0x149D DUP2 PUSH2 0x136C JUMP JUMPDEST PUSH2 0x14A6 DUP5 PUSH2 0x1381 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x14B5 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x14C9 PUSH2 0x14C1 DUP6 PUSH2 0x1381 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x1468 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14EF PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x14D1 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1508 DUP4 DUP4 PUSH2 0x14DE JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1521 DUP3 PUSH2 0xBF2 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x153A JUMPI PUSH2 0x1539 PUSH2 0xE64 JUMP JUMPDEST JUMPDEST PUSH2 0x1544 DUP3 SLOAD PUSH2 0x133B JUMP JUMPDEST PUSH2 0x154F DUP3 DUP3 DUP6 PUSH2 0x148B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x1582 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x1570 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x157A DUP6 DUP3 PUSH2 0x14FC JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x15E2 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x1590 DUP7 PUSH2 0x136C JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x15B8 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1593 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x15D5 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x15D1 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x14DE JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP1 LOG1 ORIGIN 0xD0 0xB9 RETURNDATACOPY DIV 0xD1 SWAP11 0x24 0xEC SWAP1 0x29 0xC2 0x26 0xA9 0x4E 0xC0 0xFB PUSH24 0x7A69ADA72B72D4DAEE84D12964736F6C6343000812003300 ",
"sourceMap": "57:2213:0:-:0;;;428:38;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;549:7;515:42;;;;;;;:::i;:::-;;599:12;591:21;;;:::i;:::-;563:49;;663:41;;;;;;;;696:1;663:41;;;;;;699:1;663:41;;;;;;702:1;663:41;;;;;;;;;;;;;:::i;:::-;;710:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;777:149;;;;;;;;826:42;777:149;;;;;;;;878:42;777:149;;;;;;;;;;;;;;;:::i;:::-;;1064:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1089:3;1064:29;;;1025:68;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;1218:15;1187:46;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;1272:17;1239:50;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;1329:18;1295:52;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;82:58;;;;;;;;;;123:10;106:14;;:27;;;;;;;;;;;;;;;;;;57:2213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:180::-;160:77;157:1;150:88;257:4;254:1;247:15;281:4;278:1;271:15;298:180;346:77;343:1;336:88;443:4;440:1;433:15;467:4;464:1;457:15;484:320;528:6;565:1;559:4;555:12;545:22;;612:1;606:4;602:12;633:18;623:81;;689:4;681:6;677:17;667:27;;623:81;751:2;743:6;740:14;720:18;717:38;714:84;;770:18;;:::i;:::-;714:84;535:269;484:320;;;:::o;810:141::-;859:4;882:3;874:11;;905:3;902:1;895:14;939:4;936:1;926:18;918:26;;810:141;;;:::o;957:93::-;994:6;1041:2;1036;1029:5;1025:14;1021:23;1011:33;;957:93;;;:::o;1056:107::-;1100:8;1150:5;1144:4;1140:16;1119:37;;1056:107;;;;:::o;1169:393::-;1238:6;1288:1;1276:10;1272:18;1311:97;1341:66;1330:9;1311:97;:::i;:::-;1429:39;1459:8;1448:9;1429:39;:::i;:::-;1417:51;;1501:4;1497:9;1490:5;1486:21;1477:30;;1550:4;1540:8;1536:19;1529:5;1526:30;1516:40;;1245:317;;1169:393;;;;;:::o;1568:77::-;1605:7;1634:5;1623:16;;1568:77;;;:::o;1651:60::-;1679:3;1700:5;1693:12;;1651:60;;;:::o;1717:142::-;1767:9;1800:53;1818:34;1827:24;1845:5;1827:24;:::i;:::-;1818:34;:::i;:::-;1800:53;:::i;:::-;1787:66;;1717:142;;;:::o;1865:75::-;1908:3;1929:5;1922:12;;1865:75;;;:::o;1946:269::-;2056:39;2087:7;2056:39;:::i;:::-;2117:91;2166:41;2190:16;2166:41;:::i;:::-;2158:6;2151:4;2145:11;2117:91;:::i;:::-;2111:4;2104:105;2022:193;1946:269;;;:::o;2221:73::-;2266:3;2221:73;:::o;2300:189::-;2377:32;;:::i;:::-;2418:65;2476:6;2468;2462:4;2418:65;:::i;:::-;2353:136;2300:189;;:::o;2495:186::-;2555:120;2572:3;2565:5;2562:14;2555:120;;;2626:39;2663:1;2656:5;2626:39;:::i;:::-;2599:1;2592:5;2588:13;2579:22;;2555:120;;;2495:186;;:::o;2687:543::-;2788:2;2783:3;2780:11;2777:446;;;2822:38;2854:5;2822:38;:::i;:::-;2906:29;2924:10;2906:29;:::i;:::-;2896:8;2892:44;3089:2;3077:10;3074:18;3071:49;;;3110:8;3095:23;;3071:49;3133:80;3189:22;3207:3;3189:22;:::i;:::-;3179:8;3175:37;3162:11;3133:80;:::i;:::-;2792:431;;2777:446;2687:543;;;:::o;3236:117::-;3290:8;3340:5;3334:4;3330:16;3309:37;;3236:117;;;;:::o;3359:169::-;3403:6;3436:51;3484:1;3480:6;3472:5;3469:1;3465:13;3436:51;:::i;:::-;3432:56;3517:4;3511;3507:15;3497:25;;3410:118;3359:169;;;;:::o;3533:295::-;3609:4;3755:29;3780:3;3774:4;3755:29;:::i;:::-;3747:37;;3817:3;3814:1;3810:11;3804:4;3801:21;3793:29;;3533:295;;;;:::o;3833:1395::-;3950:37;3983:3;3950:37;:::i;:::-;4052:18;4044:6;4041:30;4038:56;;;4074:18;;:::i;:::-;4038:56;4118:38;4150:4;4144:11;4118:38;:::i;:::-;4203:67;4263:6;4255;4249:4;4203:67;:::i;:::-;4297:1;4321:4;4308:17;;4353:2;4345:6;4342:14;4370:1;4365:618;;;;5027:1;5044:6;5041:77;;;5093:9;5088:3;5084:19;5078:26;5069:35;;5041:77;5144:67;5204:6;5197:5;5144:67;:::i;:::-;5138:4;5131:81;5000:222;4335:887;;4365:618;4417:4;4413:9;4405:6;4401:22;4451:37;4483:4;4451:37;:::i;:::-;4510:1;4524:208;4538:7;4535:1;4532:14;4524:208;;;4617:9;4612:3;4608:19;4602:26;4594:6;4587:42;4668:1;4660:6;4656:14;4646:24;;4715:2;4704:9;4700:18;4687:31;;4561:4;4558:1;4554:12;4549:17;;4524:208;;;4760:6;4751:7;4748:19;4745:179;;;4818:9;4813:3;4809:19;4803:26;4861:48;4903:4;4895:6;4891:17;4880:9;4861:48;:::i;:::-;4853:6;4846:64;4768:156;4745:179;4970:1;4966;4958:6;4954:14;4950:22;4944:4;4937:36;4372:611;;;4335:887;;3925:1303;;;3833:1395;;:::o;5234:152::-;5286:6;5320:5;5314:12;5304:22;;5346:33;5372:6;5346:33;:::i;:::-;5336:43;;5234:152;;;:::o;5392:140::-;5440:4;5463:3;5455:11;;5486:3;5483:1;5476:14;5520:4;5517:1;5507:18;5499:26;;5392:140;;;:::o;5538:144::-;5590:4;5613:3;5605:11;;5636:3;5633:1;5626:14;5670:4;5667:1;5657:18;5649:26;;5538:144;;;:::o;5688:541::-;5788:2;5783:3;5780:11;5777:445;;;5822:37;5853:5;5822:37;:::i;:::-;5905:29;5923:10;5905:29;:::i;:::-;5895:8;5891:44;6088:2;6076:10;6073:18;6070:49;;;6109:8;6094:23;;6070:49;6132:80;6188:22;6206:3;6188:22;:::i;:::-;6178:8;6174:37;6161:11;6132:80;:::i;:::-;5792:430;;5777:445;5688:541;;;:::o;6235:1457::-;6348:3;6342:4;6339:13;6336:26;;6355:5;;;;6336:26;6386:37;6419:3;6386:37;:::i;:::-;6488:18;6480:6;6477:30;6474:56;;;6510:18;;:::i;:::-;6474:56;6554:38;6586:4;6580:11;6554:38;:::i;:::-;6639:66;6698:6;6690;6684:4;6639:66;:::i;:::-;6732:1;6761:2;6753:6;6750:14;6778:1;6773:674;;;;7491:1;7508:6;7505:77;;;7557:9;7552:3;7548:19;7542:26;7533:35;;7505:77;7608:67;7668:6;7661:5;7608:67;:::i;:::-;7602:4;7595:81;7464:222;6743:943;;6773:674;6825:4;6821:9;6813:6;6809:22;6851:39;6886:3;6851:39;:::i;:::-;6844:46;;6917:36;6948:4;6917:36;:::i;:::-;6975:1;6989:207;7003:7;7000:1;6997:14;6989:207;;;7082:9;7077:3;7073:19;7067:26;7059:6;7052:42;7133:1;7125:6;7121:14;7111:24;;7180:1;7169:9;7165:17;7152:30;;7026:4;7023:1;7019:12;7014:17;;6989:207;;;7224:6;7215:7;7212:19;7209:179;;;7282:9;7277:3;7273:19;7267:26;7325:48;7367:4;7359:6;7355:17;7344:9;7325:48;:::i;:::-;7317:6;7310:64;7232:156;7209:179;7434:1;7430;7422:6;7418:14;7414:22;7408:4;7401:36;6780:667;;;6743:943;;6326:1366;;;6235:1457;;;:::o;7698:148::-;7746:6;7780:5;7774:12;7764:22;;7806:33;7832:6;7806:33;:::i;:::-;7796:43;;7698:148;;;:::o;7852:102::-;7894:8;7941:5;7938:1;7934:13;7913:34;;7852:102;;;:::o;7960:90::-;8010:7;8039:5;8028:16;;7960:90;;;:::o;8056:166::-;8125:5;8150:66;8181:34;8204:10;8181:34;:::i;:::-;8150:66;:::i;:::-;8141:75;;8056:166;;;:::o;8228:144::-;8283:5;8308:57;8359:4;8353:11;8308:57;:::i;:::-;8299:66;;8228:144;;;:::o;8378:618::-;8459:5;8490:35;8519:5;8490:35;:::i;:::-;8550:5;8579:2;8571:6;8568:14;8565:71;;;8597:37;8628:5;8597:37;:::i;:::-;8585:49;;8565:71;8655:46;8692:8;8655:46;:::i;:::-;8646:55;;8725:2;8717:6;8714:14;8711:278;;;8796:169;8881:66;8851:6;8847:2;8843:15;8840:1;8836:23;8796:169;:::i;:::-;8773:5;8752:227;8743:236;;8711:278;8465:531;;8378:618;;;:::o;9002:180::-;9050:77;9047:1;9040:88;9147:4;9144:1;9137:15;9171:4;9168:1;9161:15;57:2213:0;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@EXAMPLE_23": {
"entryPoint": 1756,
"id": 23,
"parameterSlots": 0,
"returnSlots": 0
},
"@IS_BOOLEAN_13": {
"entryPoint": 1822,
"id": 13,
"parameterSlots": 0,
"returnSlots": 0
},
"@SIGNED_INTEGER_17": {
"entryPoint": 2352,
"id": 17,
"parameterSlots": 0,
"returnSlots": 0
},
"@UNSIGNED_INTEGER_20": {
"entryPoint": 2205,
"id": 20,
"parameterSlots": 0,
"returnSlots": 0
},
"@address_uint_map_96": {
"entryPoint": 1840,
"id": 96,
"parameterSlots": 0,
"returnSlots": 0
},
"@contract_owner_25": {
"entryPoint": 1493,
"id": 25,
"parameterSlots": 0,
"returnSlots": 0
},
"@dynamicAddressArray_61": {
"entryPoint": 1115,
"id": 61,
"parameterSlots": 0,
"returnSlots": 0
},
"@dynamicArray_47": {
"entryPoint": 2006,
"id": 47,
"parameterSlots": 0,
"returnSlots": 0
},
"@dynamicBytes_34": {
"entryPoint": 1351,
"id": 34,
"parameterSlots": 0,
"returnSlots": 0
},
"@example_struct_73": {
"entryPoint": 1197,
"id": 73,
"parameterSlots": 0,
"returnSlots": 0
},
"@fixedBytes_40": {
"entryPoint": 2476,
"id": 40,
"parameterSlots": 0,
"returnSlots": 0
},
"@fixedStringArray_55": {
"entryPoint": 2042,
"id": 55,
"parameterSlots": 0,
"returnSlots": 0
},
"@get_dynamicAddressArray_176": {
"entryPoint": 2210,
"id": 176,
"parameterSlots": 0,
"returnSlots": 1
},
"@get_dynamicArray_157": {
"entryPoint": 2388,
"id": 157,
"parameterSlots": 0,
"returnSlots": 1
},
"@get_fixedStringArray_167": {
"entryPoint": 1529,
"id": 167,
"parameterSlots": 0,
"returnSlots": 1
},
"@getter_example_148": {
"entryPoint": 1813,
"id": 148,
"parameterSlots": 0,
"returnSlots": 1
},
"@message_28": {
"entryPoint": 2482,
"id": 28,
"parameterSlots": 0,
"returnSlots": 0
},
"@set_example_struct_amt_120": {
"entryPoint": 1827,
"id": 120,
"parameterSlots": 1,
"returnSlots": 0
},
"@set_example_struct_name_108": {
"entryPoint": 1734,
"id": 108,
"parameterSlots": 1,
"returnSlots": 0
},
"@set_string_uint_map_140": {
"entryPoint": 1864,
"id": 140,
"parameterSlots": 2,
"returnSlots": 1
},
"@statusClosed_87": {
"entryPoint": 1178,
"id": 87,
"parameterSlots": 0,
"returnSlots": 0
},
"@statusOpen_82": {
"entryPoint": 2624,
"id": 82,
"parameterSlots": 0,
"returnSlots": 0
},
"@statusPending_92": {
"entryPoint": 2643,
"id": 92,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_available_length_t_string_memory_ptr": {
"entryPoint": 3871,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 4167,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr": {
"entryPoint": 3937,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 2754,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 4188,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_uint256": {
"entryPoint": 4260,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_string_memory_ptr": {
"entryPoint": 3983,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 2775,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encodeUpdatedPos_t_address_to_t_address": {
"entryPoint": 4383,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr": {
"entryPoint": 3490,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encodeUpdatedPos_t_uint256_to_t_uint256": {
"entryPoint": 4659,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address": {
"entryPoint": 4368,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 2870,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack": {
"entryPoint": 4420,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_array$_t_string_memory_ptr_$3_memory_ptr_to_t_array$_t_string_memory_ptr_$3_memory_ptr_fromStack": {
"entryPoint": 3523,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack": {
"entryPoint": 4696,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 4102,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bytes32_to_t_bytes32_fromStack": {
"entryPoint": 4834,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack": {
"entryPoint": 3293,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_enum$_StatusEnum_$77_to_t_uint8_fromStack": {
"entryPoint": 3016,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_int256_to_t_int256_fromStack": {
"entryPoint": 4558,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr": {
"entryPoint": 3433,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3145,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256": {
"entryPoint": 4644,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 3202,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 2885,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed": {
"entryPoint": 4514,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_array$_t_string_memory_ptr_$3_memory_ptr__to_t_array$_t_string_memory_ptr_$3_memory_ptr__fromStack_reversed": {
"entryPoint": 3640,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed": {
"entryPoint": 4790,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 4117,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": {
"entryPoint": 4849,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed": {
"entryPoint": 3350,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_enum$_StatusEnum_$77__to_t_uint8__fromStack_reversed": {
"entryPoint": 3031,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed": {
"entryPoint": 4573,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 4056,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed": {
"entryPoint": 3217,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 4233,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 3780,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 2701,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 3807,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_dataslot_t_array$_t_address_$dyn_memory_ptr": {
"entryPoint": 4352,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_dataslot_t_array$_t_string_memory_ptr_$3_memory_ptr": {
"entryPoint": 3406,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_dataslot_t_array$_t_uint256_$dyn_memory_ptr": {
"entryPoint": 4628,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_dataslot_t_string_storage": {
"entryPoint": 4972,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_array$_t_address_$dyn_memory_ptr": {
"entryPoint": 4324,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_array$_t_string_memory_ptr_$3_memory_ptr": {
"entryPoint": 3384,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_array$_t_uint256_$dyn_memory_ptr": {
"entryPoint": 4600,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_bytes_memory_ptr": {
"entryPoint": 3265,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 3058,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_nextElement_t_array$_t_address_$dyn_memory_ptr": {
"entryPoint": 4407,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_nextElement_t_array$_t_string_memory_ptr_$3_memory_ptr": {
"entryPoint": 3510,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_nextElement_t_array$_t_uint256_$dyn_memory_ptr": {
"entryPoint": 4683,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack": {
"entryPoint": 4335,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$3_memory_ptr_fromStack": {
"entryPoint": 3395,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack": {
"entryPoint": 4611,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack": {
"entryPoint": 3276,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr": {
"entryPoint": 3416,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 3069,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 5259,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_address": {
"entryPoint": 2852,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 4090,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bytes32": {
"entryPoint": 4824,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_enum$_StatusEnum_$77": {
"entryPoint": 2979,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_int256": {
"entryPoint": 4548,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 2820,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 2721,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 5224,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_enum$_StatusEnum_$77_to_t_uint8": {
"entryPoint": 2998,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 5114,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 5400,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"copy_calldata_to_memory_with_cleanup": {
"entryPoint": 3856,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 3086,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 4993,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 4923,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 5372,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 3731,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"identity": {
"entryPoint": 5104,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 5342,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x21": {
"entryPoint": 2912,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 4876,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 3684,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 5148,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 3674,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 3679,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 2716,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 2711,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 3128,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 5009,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 5329,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 5200,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 5022,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 5158,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"validator_assert_t_enum$_StatusEnum_$77": {
"entryPoint": 2959,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 4144,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 2731,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 5195,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:22266:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "597:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "607:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "629:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "616:12:1"
},
"nodeType": "YulFunctionCall",
"src": "616:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "607:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "672:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "645:26:1"
},
"nodeType": "YulFunctionCall",
"src": "645:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "645:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "575:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "583:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "591:5:1",
"type": ""
}
],
"src": "545:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "802:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "804:77:1"
},
"nodeType": "YulFunctionCall",
"src": "804:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "804:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "777:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "786:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "773:3:1"
},
"nodeType": "YulFunctionCall",
"src": "773:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "798:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "769:3:1"
},
"nodeType": "YulFunctionCall",
"src": "769:32:1"
},
"nodeType": "YulIf",
"src": "766:119:1"
},
{
"nodeType": "YulBlock",
"src": "895:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "910:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "924:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "914:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "939:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "974:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "985:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "970:3:1"
},
"nodeType": "YulFunctionCall",
"src": "970:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "994:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "949:20:1"
},
"nodeType": "YulFunctionCall",
"src": "949:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "939:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "726:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "737:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "749:6:1",
"type": ""
}
],
"src": "690:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1070:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1080:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1095:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1102:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1091:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1091:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1080:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1052:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1062:7:1",
"type": ""
}
],
"src": "1025:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1202:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1212:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1241:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1223:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1223:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1212:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1184:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1194:7:1",
"type": ""
}
],
"src": "1157:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1324:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1341:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1364:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1346:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1346:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1334:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1334:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1334:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1312:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1319:3:1",
"type": ""
}
],
"src": "1259:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1481:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1491:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1503:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1514:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1499:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1499:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1491:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1571:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1584:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1595:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1580:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1580:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "1527:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1527:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "1527:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1453:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1465:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1476:4:1",
"type": ""
}
],
"src": "1383:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1639:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1656:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1659:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1649:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1649:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "1649:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1753:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1756:4:1",
"type": "",
"value": "0x21"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1746:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1746:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1746:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1777:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1780:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1770:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1770:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "1770:15:1"
}
]
},
"name": "panic_error_0x21",
"nodeType": "YulFunctionDefinition",
"src": "1611:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1853:62:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1887:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x21",
"nodeType": "YulIdentifier",
"src": "1889:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1889:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1889:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1876:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1883:1:1",
"type": "",
"value": "3"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1873:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1873:12:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1866:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1866:20:1"
},
"nodeType": "YulIf",
"src": "1863:46:1"
}
]
},
"name": "validator_assert_t_enum$_StatusEnum_$77",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1846:5:1",
"type": ""
}
],
"src": "1797:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1979:79:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1989:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "2000:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1989:7:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2046:5:1"
}
],
"functionName": {
"name": "validator_assert_t_enum$_StatusEnum_$77",
"nodeType": "YulIdentifier",
"src": "2006:39:1"
},
"nodeType": "YulFunctionCall",
"src": "2006:46:1"
},
"nodeType": "YulExpressionStatement",
"src": "2006:46:1"
}
]
},
"name": "cleanup_t_enum$_StatusEnum_$77",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1961:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1971:7:1",
"type": ""
}
],
"src": "1921:137:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2135:66:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2145:50:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2189:5:1"
}
],
"functionName": {
"name": "cleanup_t_enum$_StatusEnum_$77",
"nodeType": "YulIdentifier",
"src": "2158:30:1"
},
"nodeType": "YulFunctionCall",
"src": "2158:37:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "2145:9:1"
}
]
}
]
},
"name": "convert_t_enum$_StatusEnum_$77_to_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2115:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "2125:9:1",
"type": ""
}
],
"src": "2064:137:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2283:77:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2300:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2347:5:1"
}
],
"functionName": {
"name": "convert_t_enum$_StatusEnum_$77_to_t_uint8",
"nodeType": "YulIdentifier",
"src": "2305:41:1"
},
"nodeType": "YulFunctionCall",
"src": "2305:48:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2293:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2293:61:1"
},
"nodeType": "YulExpressionStatement",
"src": "2293:61:1"
}
]
},
"name": "abi_encode_t_enum$_StatusEnum_$77_to_t_uint8_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2271:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2278:3:1",
"type": ""
}
],
"src": "2207:153:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2475:135:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2485:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2497:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2508:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2493:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2493:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2485:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2576:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2589:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2600:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2585:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2585:17:1"
}
],
"functionName": {
"name": "abi_encode_t_enum$_StatusEnum_$77_to_t_uint8_fromStack",
"nodeType": "YulIdentifier",
"src": "2521:54:1"
},
"nodeType": "YulFunctionCall",
"src": "2521:82:1"
},
"nodeType": "YulExpressionStatement",
"src": "2521:82:1"
}
]
},
"name": "abi_encode_tuple_t_enum$_StatusEnum_$77__to_t_uint8__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2447:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2459:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2470:4:1",
"type": ""
}
],
"src": "2366:244:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2675:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2686:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2702:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2696:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2696:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2686:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2658:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2668:6:1",
"type": ""
}
],
"src": "2616:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2817:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2834:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2839:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2827:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2827:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "2827:19:1"
},
{
"nodeType": "YulAssignment",
"src": "2855:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2874:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2879:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2870:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2870:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "2855:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2789:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2794:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "2805:11:1",
"type": ""
}
],
"src": "2721:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2958:184:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2968:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2977:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "2972:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3037:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "3062:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3067:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3058:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3058:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "3081:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3086:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3077:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3077:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3071:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3071:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3051:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3051:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "3051:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2998:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3001:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2995:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2995:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "3009:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3011:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3020:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3023:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3016:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3016:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3011:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2991:3:1",
"statements": []
},
"src": "2987:113:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "3120:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3125:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3116:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3116:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3134:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3109:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3109:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "3109:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "2940:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "2945:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2950:6:1",
"type": ""
}
],
"src": "2896:246:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3196:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3206:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3224:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3231:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3220:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3220:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3240:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3236:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3236:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3216:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3216:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "3206:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3179:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "3189:6:1",
"type": ""
}
],
"src": "3148:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3348:285:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3358:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3405:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3372:32:1"
},
"nodeType": "YulFunctionCall",
"src": "3372:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3362:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3420:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3486:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3491:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3427:58:1"
},
"nodeType": "YulFunctionCall",
"src": "3427:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3420:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3546:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3553:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3542:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3542:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3560:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3565:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "3507:34:1"
},
"nodeType": "YulFunctionCall",
"src": "3507:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "3507:65:1"
},
{
"nodeType": "YulAssignment",
"src": "3581:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3592:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3619:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "3597:21:1"
},
"nodeType": "YulFunctionCall",
"src": "3597:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3588:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3588:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3581:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3329:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3336:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3344:3:1",
"type": ""
}
],
"src": "3256:377:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3704:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3721:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3744:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3726:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3726:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3714:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3714:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "3714:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3692:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3699:3:1",
"type": ""
}
],
"src": "3639:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3909:277:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3919:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3931:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3942:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3927:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3927:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3919:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3966:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3977:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3962:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3962:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3985:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3991:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3981:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3981:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3955:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3955:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "3955:47:1"
},
{
"nodeType": "YulAssignment",
"src": "4011:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4083:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4092:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4019:63:1"
},
"nodeType": "YulFunctionCall",
"src": "4019:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4011:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "4151:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4164:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4175:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4160:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4160:18:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "4107:43:1"
},
"nodeType": "YulFunctionCall",
"src": "4107:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "4107:72:1"
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3873:9:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "3885:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3893:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3904:4:1",
"type": ""
}
],
"src": "3763:423:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4250:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4261:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4277:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4271:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4271:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4261:6:1"
}
]
}
]
},
"name": "array_length_t_bytes_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4233:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4243:6:1",
"type": ""
}
],
"src": "4192:98:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4391:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4408:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4413:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4401:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4401:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "4401:19:1"
},
{
"nodeType": "YulAssignment",
"src": "4429:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4448:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4453:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4444:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4444:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "4429:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4363:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4368:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "4379:11:1",
"type": ""
}
],
"src": "4296:168:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4560:283:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4570:52:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4616:5:1"
}
],
"functionName": {
"name": "array_length_t_bytes_memory_ptr",
"nodeType": "YulIdentifier",
"src": "4584:31:1"
},
"nodeType": "YulFunctionCall",
"src": "4584:38:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4574:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4631:77:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4696:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4701:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4638:57:1"
},
"nodeType": "YulFunctionCall",
"src": "4638:70:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4631:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4756:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4763:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4752:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4752:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4770:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4775:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "4717:34:1"
},
"nodeType": "YulFunctionCall",
"src": "4717:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "4717:65:1"
},
{
"nodeType": "YulAssignment",
"src": "4791:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4802:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4829:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "4807:21:1"
},
"nodeType": "YulFunctionCall",
"src": "4807:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4798:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4798:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4791:3:1"
}
]
}
]
},
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4541:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4548:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4556:3:1",
"type": ""
}
],
"src": "4470:373:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4965:193:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4975:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4987:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4998:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4983:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4983:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4975:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5022:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5033:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5018:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5018:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5041:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5047:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5037:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5037:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5011:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5011:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "5011:47:1"
},
{
"nodeType": "YulAssignment",
"src": "5067:84:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5137:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5146:4:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "5075:61:1"
},
"nodeType": "YulFunctionCall",
"src": "5075:76:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5067:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4937:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4949:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4960:4:1",
"type": ""
}
],
"src": "4849:309:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5246:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5257:14:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5267:4:1",
"type": "",
"value": "0x03"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5257:6:1"
}
]
}
]
},
"name": "array_length_t_array$_t_string_memory_ptr_$3_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5229:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5239:6:1",
"type": ""
}
],
"src": "5164:114:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5403:34:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5413:18:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5428:3:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "5413:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$3_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5375:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5380:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "5391:11:1",
"type": ""
}
],
"src": "5284:153:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5523:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5533:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "5541:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5533:4:1"
}
]
}
]
},
"name": "array_dataslot_t_array$_t_string_memory_ptr_$3_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "5510:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "5518:4:1",
"type": ""
}
],
"src": "5443:108:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5643:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5660:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5665:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5653:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5653:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "5653:19:1"
},
{
"nodeType": "YulAssignment",
"src": "5681:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5700:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5705:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5696:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5696:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "5681:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5615:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5620:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "5631:11:1",
"type": ""
}
],
"src": "5557:159:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5804:275:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5814:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5861:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "5828:32:1"
},
"nodeType": "YulFunctionCall",
"src": "5828:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5818:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "5876:68:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5932:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5937:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "5883:48:1"
},
"nodeType": "YulFunctionCall",
"src": "5883:61:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5876:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5992:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5999:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5988:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5988:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6006:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6011:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "5953:34:1"
},
"nodeType": "YulFunctionCall",
"src": "5953:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "5953:65:1"
},
{
"nodeType": "YulAssignment",
"src": "6027:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6038:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6065:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "6043:21:1"
},
"nodeType": "YulFunctionCall",
"src": "6043:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6034:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6034:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "6027:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5785:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5792:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "5800:3:1",
"type": ""
}
],
"src": "5722:357:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6185:96:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6195:80:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "6263:6:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6271:3:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "6209:53:1"
},
"nodeType": "YulFunctionCall",
"src": "6209:66:1"
},
"variableNames": [
{
"name": "updatedPos",
"nodeType": "YulIdentifier",
"src": "6195:10:1"
}
]
}
]
},
"name": "abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "6158:6:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "6166:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updatedPos",
"nodeType": "YulTypedName",
"src": "6174:10:1",
"type": ""
}
],
"src": "6085:196:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6370:38:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6380:22:1",
"value": {
"arguments": [
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "6392:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6397:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6388:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6388:14:1"
},
"variableNames": [
{
"name": "next",
"nodeType": "YulIdentifier",
"src": "6380:4:1"
}
]
}
]
},
"name": "array_nextElement_t_array$_t_string_memory_ptr_$3_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "6357:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "next",
"nodeType": "YulTypedName",
"src": "6365:4:1",
"type": ""
}
],
"src": "6287:121:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6584:839:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6594:76:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6664:5:1"
}
],
"functionName": {
"name": "array_length_t_array$_t_string_memory_ptr_$3_memory_ptr",
"nodeType": "YulIdentifier",
"src": "6608:55:1"
},
"nodeType": "YulFunctionCall",
"src": "6608:62:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "6598:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "6679:101:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6768:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6773:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$3_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6686:81:1"
},
"nodeType": "YulFunctionCall",
"src": "6686:94:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6679:3:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "6789:20:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6806:3:1"
},
"variables": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6793:9:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "6818:39:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6834:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6843:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6851:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "6839:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6839:17:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6830:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6830:27:1"
},
"variables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "6822:4:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "6866:79:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6939:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_array$_t_string_memory_ptr_$3_memory_ptr",
"nodeType": "YulIdentifier",
"src": "6881:57:1"
},
"nodeType": "YulFunctionCall",
"src": "6881:64:1"
},
"variables": [
{
"name": "baseRef",
"nodeType": "YulTypedName",
"src": "6870:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "6954:21:1",
"value": {
"name": "baseRef",
"nodeType": "YulIdentifier",
"src": "6968:7:1"
},
"variables": [
{
"name": "srcPtr",
"nodeType": "YulTypedName",
"src": "6958:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "7044:334:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7065:3:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7074:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7080:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "7070:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7070:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7058:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7058:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "7058:33:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "7104:34:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "7131:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "7125:5:1"
},
"nodeType": "YulFunctionCall",
"src": "7125:13:1"
},
"variables": [
{
"name": "elementValue0",
"nodeType": "YulTypedName",
"src": "7108:13:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "7151:92:1",
"value": {
"arguments": [
{
"name": "elementValue0",
"nodeType": "YulIdentifier",
"src": "7223:13:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7238:4:1"
}
],
"functionName": {
"name": "abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "7159:63:1"
},
"nodeType": "YulFunctionCall",
"src": "7159:84:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7151:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "7256:78:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "7327:6:1"
}
],
"functionName": {
"name": "array_nextElement_t_array$_t_string_memory_ptr_$3_memory_ptr",
"nodeType": "YulIdentifier",
"src": "7266:60:1"
},
"nodeType": "YulFunctionCall",
"src": "7266:68:1"
},
"variableNames": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "7256:6:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "7347:21:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7358:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7363:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7354:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7354:14:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7347:3:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "7006:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "7009:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "7003:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7003:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "7017:18:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7019:14:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "7028:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7031:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7024:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7024:9:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "7019:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "6988:14:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6990:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6999:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "6994:1:1",
"type": ""
}
]
}
]
},
"src": "6984:394:1"
},
{
"nodeType": "YulAssignment",
"src": "7387:11:1",
"value": {
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7394:4:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7387:3:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "7407:10:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7414:3:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "7407:3:1"
}
]
}
]
},
"name": "abi_encode_t_array$_t_string_memory_ptr_$3_memory_ptr_to_t_array$_t_string_memory_ptr_$3_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6563:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "6570:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "6579:3:1",
"type": ""
}
],
"src": "6444:979:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7593:241:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7603:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7615:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7626:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7611:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7611:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7603:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7650:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7661:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7646:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7646:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7669:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7675:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "7665:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7665:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7639:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7639:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "7639:47:1"
},
{
"nodeType": "YulAssignment",
"src": "7695:132:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "7813:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7822:4:1"
}
],
"functionName": {
"name": "abi_encode_t_array$_t_string_memory_ptr_$3_memory_ptr_to_t_array$_t_string_memory_ptr_$3_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "7703:109:1"
},
"nodeType": "YulFunctionCall",
"src": "7703:124:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7695:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_array$_t_string_memory_ptr_$3_memory_ptr__to_t_array$_t_string_memory_ptr_$3_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "7565:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "7577:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "7588:4:1",
"type": ""
}
],
"src": "7429:405:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7929:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7946:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7949:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7939:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7939:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "7939:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "7840:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8052:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8069:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8072:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8062:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8062:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "8062:12:1"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulFunctionDefinition",
"src": "7963:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8114:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8131:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8134:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8124:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8124:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "8124:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8228:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8231:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8221:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8221:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "8221:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8252:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8255:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "8245:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8245:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "8245:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "8086:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8315:238:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "8325:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "8347:6:1"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "8377:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "8355:21:1"
},
"nodeType": "YulFunctionCall",
"src": "8355:27:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8343:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8343:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "8329:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "8494:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "8496:16:1"
},
"nodeType": "YulFunctionCall",
"src": "8496:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "8496:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "8437:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8449:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "8434:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8434:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "8473:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "8485:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "8470:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8470:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "8431:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8431:62:1"
},
"nodeType": "YulIf",
"src": "8428:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8532:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "8536:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8525:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8525:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "8525:22:1"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "8301:6:1",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "8309:4:1",
"type": ""
}
],
"src": "8272:281:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8600:88:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8610:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "8620:18:1"
},
"nodeType": "YulFunctionCall",
"src": "8620:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "8610:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "8669:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "8677:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "8649:19:1"
},
"nodeType": "YulFunctionCall",
"src": "8649:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "8649:33:1"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "8584:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "8593:6:1",
"type": ""
}
],
"src": "8559:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8761:241:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "8866:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "8868:16:1"
},
"nodeType": "YulFunctionCall",
"src": "8868:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "8868:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "8838:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8846:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "8835:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8835:30:1"
},
"nodeType": "YulIf",
"src": "8832:56:1"
},
{
"nodeType": "YulAssignment",
"src": "8898:37:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "8928:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "8906:21:1"
},
"nodeType": "YulFunctionCall",
"src": "8906:29:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "8898:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "8972:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "8984:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8990:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8980:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8980:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "8972:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "8745:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "8756:4:1",
"type": ""
}
],
"src": "8694:308:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9072:82:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "9095:3:1"
},
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "9100:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9105:6:1"
}
],
"functionName": {
"name": "calldatacopy",
"nodeType": "YulIdentifier",
"src": "9082:12:1"
},
"nodeType": "YulFunctionCall",
"src": "9082:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "9082:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "9132:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9137:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9128:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9128:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9146:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9121:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9121:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "9121:27:1"
}
]
},
"name": "copy_calldata_to_memory_with_cleanup",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "9054:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "9059:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "9064:6:1",
"type": ""
}
],
"src": "9008:146:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9244:341:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9254:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9321:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "9279:41:1"
},
"nodeType": "YulFunctionCall",
"src": "9279:49:1"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "9263:15:1"
},
"nodeType": "YulFunctionCall",
"src": "9263:66:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "9254:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "9345:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9352:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9338:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9338:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "9338:21:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "9368:27:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "9383:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9390:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9379:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9379:16:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "9372:3:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9433:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulIdentifier",
"src": "9435:77:1"
},
"nodeType": "YulFunctionCall",
"src": "9435:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "9435:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "9414:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9419:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9410:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9410:16:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "9428:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "9407:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9407:25:1"
},
"nodeType": "YulIf",
"src": "9404:112:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "9562:3:1"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "9567:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9572:6:1"
}
],
"functionName": {
"name": "copy_calldata_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "9525:36:1"
},
"nodeType": "YulFunctionCall",
"src": "9525:54:1"
},
"nodeType": "YulExpressionStatement",
"src": "9525:54:1"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "9217:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "9222:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "9230:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "9238:5:1",
"type": ""
}
],
"src": "9160:425:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9667:278:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "9716:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "9718:77:1"
},
"nodeType": "YulFunctionCall",
"src": "9718:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "9718:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "9695:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9703:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9691:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9691:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "9710:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "9687:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9687:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "9680:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9680:35:1"
},
"nodeType": "YulIf",
"src": "9677:122:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "9808:34:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "9835:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "9822:12:1"
},
"nodeType": "YulFunctionCall",
"src": "9822:20:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "9812:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "9851:88:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "9912:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9920:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9908:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9908:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9927:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "9935:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "9860:47:1"
},
"nodeType": "YulFunctionCall",
"src": "9860:79:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "9851:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "9645:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "9653:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "9661:5:1",
"type": ""
}
],
"src": "9605:340:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10027:433:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "10073:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "10075:77:1"
},
"nodeType": "YulFunctionCall",
"src": "10075:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "10075:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "10048:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "10057:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "10044:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10044:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10069:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "10040:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10040:32:1"
},
"nodeType": "YulIf",
"src": "10037:119:1"
},
{
"nodeType": "YulBlock",
"src": "10166:287:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "10181:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "10212:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10223:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10208:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10208:17:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "10195:12:1"
},
"nodeType": "YulFunctionCall",
"src": "10195:31:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "10185:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "10273:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "10275:77:1"
},
"nodeType": "YulFunctionCall",
"src": "10275:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "10275:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "10245:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10253:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "10242:2:1"
},
"nodeType": "YulFunctionCall",
"src": "10242:30:1"
},
"nodeType": "YulIf",
"src": "10239:117:1"
},
{
"nodeType": "YulAssignment",
"src": "10370:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "10415:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "10426:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10411:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10411:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "10435:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "10380:30:1"
},
"nodeType": "YulFunctionCall",
"src": "10380:63:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "10370:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "9997:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "10008:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "10020:6:1",
"type": ""
}
],
"src": "9951:509:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10584:195:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10594:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "10606:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10617:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10602:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10602:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "10594:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "10641:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10652:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10637:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10637:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "10660:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "10666:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "10656:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10656:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10630:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10630:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "10630:47:1"
},
{
"nodeType": "YulAssignment",
"src": "10686:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "10758:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "10767:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "10694:63:1"
},
"nodeType": "YulFunctionCall",
"src": "10694:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "10686:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "10556:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "10568:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "10579:4:1",
"type": ""
}
],
"src": "10466:313:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10827:48:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10837:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10862:5:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "10855:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10855:13:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "10848:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10848:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "10837:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "10809:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "10819:7:1",
"type": ""
}
],
"src": "10785:90:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10940:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "10957:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10977:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "10962:14:1"
},
"nodeType": "YulFunctionCall",
"src": "10962:21:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10950:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10950:34:1"
},
"nodeType": "YulExpressionStatement",
"src": "10950:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "10928:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "10935:3:1",
"type": ""
}
],
"src": "10881:109:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11088:118:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "11098:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "11110:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11121:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11106:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11106:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "11098:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "11172:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "11185:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11196:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11181:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11181:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "11134:37:1"
},
"nodeType": "YulFunctionCall",
"src": "11134:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "11134:65:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "11060:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "11072:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "11083:4:1",
"type": ""
}
],
"src": "10996:210:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11255:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "11312:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11321:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11324:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "11314:6:1"
},
"nodeType": "YulFunctionCall",
"src": "11314:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "11314:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "11278:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "11303:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "11285:17:1"
},
"nodeType": "YulFunctionCall",
"src": "11285:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "11275:2:1"
},
"nodeType": "YulFunctionCall",
"src": "11275:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "11268:6:1"
},
"nodeType": "YulFunctionCall",
"src": "11268:43:1"
},
"nodeType": "YulIf",
"src": "11265:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "11248:5:1",
"type": ""
}
],
"src": "11212:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11392:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "11402:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "11424:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "11411:12:1"
},
"nodeType": "YulFunctionCall",
"src": "11411:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "11402:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "11467:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "11440:26:1"
},
"nodeType": "YulFunctionCall",
"src": "11440:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "11440:33:1"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "11370:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "11378:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "11386:5:1",
"type": ""
}
],
"src": "11340:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11551:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "11597:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "11599:77:1"
},
"nodeType": "YulFunctionCall",
"src": "11599:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "11599:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "11572:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "11581:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "11568:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11568:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11593:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "11564:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11564:32:1"
},
"nodeType": "YulIf",
"src": "11561:119:1"
},
{
"nodeType": "YulBlock",
"src": "11690:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "11705:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "11719:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "11709:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "11734:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "11769:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "11780:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11765:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11765:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "11789:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "11744:20:1"
},
"nodeType": "YulFunctionCall",
"src": "11744:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "11734:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "11521:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "11532:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "11544:6:1",
"type": ""
}
],
"src": "11485:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "11918:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "11928:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "11940:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "11951:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "11936:3:1"
},
"nodeType": "YulFunctionCall",
"src": "11936:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "11928:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "12008:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12021:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12032:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12017:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12017:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "11964:43:1"
},
"nodeType": "YulFunctionCall",
"src": "11964:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "11964:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "11890:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "11902:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "11913:4:1",
"type": ""
}
],
"src": "11820:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12131:391:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "12177:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "12179:77:1"
},
"nodeType": "YulFunctionCall",
"src": "12179:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "12179:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "12152:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12161:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "12148:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12148:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12173:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "12144:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12144:32:1"
},
"nodeType": "YulIf",
"src": "12141:119:1"
},
{
"nodeType": "YulBlock",
"src": "12270:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "12285:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "12299:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "12289:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "12314:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12349:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "12360:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12345:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12345:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "12369:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "12324:20:1"
},
"nodeType": "YulFunctionCall",
"src": "12324:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "12314:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "12397:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "12412:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "12426:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "12416:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "12442:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "12477:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "12488:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12473:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12473:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "12497:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "12452:20:1"
},
"nodeType": "YulFunctionCall",
"src": "12452:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "12442:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "12093:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "12104:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "12116:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "12124:6:1",
"type": ""
}
],
"src": "12048:474:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12602:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "12613:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "12629:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "12623:5:1"
},
"nodeType": "YulFunctionCall",
"src": "12623:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "12613:6:1"
}
]
}
]
},
"name": "array_length_t_array$_t_address_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "12585:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "12595:6:1",
"type": ""
}
],
"src": "12528:114:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12759:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12776:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "12781:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "12769:6:1"
},
"nodeType": "YulFunctionCall",
"src": "12769:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "12769:19:1"
},
{
"nodeType": "YulAssignment",
"src": "12797:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "12816:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12821:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12812:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12812:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "12797:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "12731:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "12736:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "12747:11:1",
"type": ""
}
],
"src": "12648:184:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "12910:60:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "12920:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "12928:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "12920:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "12941:22:1",
"value": {
"arguments": [
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "12953:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "12958:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "12949:3:1"
},
"nodeType": "YulFunctionCall",
"src": "12949:14:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "12941:4:1"
}
]
}
]
},
"name": "array_dataslot_t_array$_t_address_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "12897:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "12905:4:1",
"type": ""
}
],
"src": "12838:132:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13031:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13048:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "13071:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "13053:17:1"
},
"nodeType": "YulFunctionCall",
"src": "13053:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "13041:6:1"
},
"nodeType": "YulFunctionCall",
"src": "13041:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "13041:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "13019:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "13026:3:1",
"type": ""
}
],
"src": "12976:108:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13170:99:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "13214:6:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13222:3:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address",
"nodeType": "YulIdentifier",
"src": "13180:33:1"
},
"nodeType": "YulFunctionCall",
"src": "13180:46:1"
},
"nodeType": "YulExpressionStatement",
"src": "13180:46:1"
},
{
"nodeType": "YulAssignment",
"src": "13235:28:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13253:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13258:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13249:3:1"
},
"nodeType": "YulFunctionCall",
"src": "13249:14:1"
},
"variableNames": [
{
"name": "updatedPos",
"nodeType": "YulIdentifier",
"src": "13235:10:1"
}
]
}
]
},
"name": "abi_encodeUpdatedPos_t_address_to_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "13143:6:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "13151:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updatedPos",
"nodeType": "YulTypedName",
"src": "13159:10:1",
"type": ""
}
],
"src": "13090:179:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13350:38:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "13360:22:1",
"value": {
"arguments": [
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "13372:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13377:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13368:3:1"
},
"nodeType": "YulFunctionCall",
"src": "13368:14:1"
},
"variableNames": [
{
"name": "next",
"nodeType": "YulIdentifier",
"src": "13360:4:1"
}
]
}
]
},
"name": "array_nextElement_t_array$_t_address_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "13337:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "next",
"nodeType": "YulTypedName",
"src": "13345:4:1",
"type": ""
}
],
"src": "13275:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "13548:608:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "13558:68:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "13620:5:1"
}
],
"functionName": {
"name": "array_length_t_array$_t_address_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "13572:47:1"
},
"nodeType": "YulFunctionCall",
"src": "13572:54:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "13562:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "13635:93:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13716:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "13721:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "13642:73:1"
},
"nodeType": "YulFunctionCall",
"src": "13642:86:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13635:3:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "13737:71:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "13802:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_array$_t_address_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "13752:49:1"
},
"nodeType": "YulFunctionCall",
"src": "13752:56:1"
},
"variables": [
{
"name": "baseRef",
"nodeType": "YulTypedName",
"src": "13741:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "13817:21:1",
"value": {
"name": "baseRef",
"nodeType": "YulIdentifier",
"src": "13831:7:1"
},
"variables": [
{
"name": "srcPtr",
"nodeType": "YulTypedName",
"src": "13821:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "13907:224:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "13921:34:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "13948:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "13942:5:1"
},
"nodeType": "YulFunctionCall",
"src": "13942:13:1"
},
"variables": [
{
"name": "elementValue0",
"nodeType": "YulTypedName",
"src": "13925:13:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "13968:70:1",
"value": {
"arguments": [
{
"name": "elementValue0",
"nodeType": "YulIdentifier",
"src": "14019:13:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "14034:3:1"
}
],
"functionName": {
"name": "abi_encodeUpdatedPos_t_address_to_t_address",
"nodeType": "YulIdentifier",
"src": "13975:43:1"
},
"nodeType": "YulFunctionCall",
"src": "13975:63:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "13968:3:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "14051:70:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "14114:6:1"
}
],
"functionName": {
"name": "array_nextElement_t_array$_t_address_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "14061:52:1"
},
"nodeType": "YulFunctionCall",
"src": "14061:60:1"
},
"variableNames": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "14051:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "13869:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "13872:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "13866:2:1"
},
"nodeType": "YulFunctionCall",
"src": "13866:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "13880:18:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "13882:14:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "13891:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "13894:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "13887:3:1"
},
"nodeType": "YulFunctionCall",
"src": "13887:9:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "13882:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "13851:14:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "13853:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "13862:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "13857:1:1",
"type": ""
}
]
}
]
},
"src": "13847:284:1"
},
{
"nodeType": "YulAssignment",
"src": "14140:10:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "14147:3:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "14140:3:1"
}
]
}
]
},
"name": "abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "13527:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "13534:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "13543:3:1",
"type": ""
}
],
"src": "13424:732:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "14310:225:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "14320:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "14332:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14343:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14328:3:1"
},
"nodeType": "YulFunctionCall",
"src": "14328:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14320:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "14367:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14378:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14363:3:1"
},
"nodeType": "YulFunctionCall",
"src": "14363:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14386:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "14392:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "14382:3:1"
},
"nodeType": "YulFunctionCall",
"src": "14382:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "14356:6:1"
},
"nodeType": "YulFunctionCall",
"src": "14356:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "14356:47:1"
},
{
"nodeType": "YulAssignment",
"src": "14412:116:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "14514:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14523:4:1"
}
],
"functionName": {
"name": "abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "14420:93:1"
},
"nodeType": "YulFunctionCall",
"src": "14420:108:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14412:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "14282:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "14294:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "14305:4:1",
"type": ""
}
],
"src": "14162:373:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "14585:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "14595:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "14606:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "14595:7:1"
}
]
}
]
},
"name": "cleanup_t_int256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "14567:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "14577:7:1",
"type": ""
}
],
"src": "14541:76:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "14686:52:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "14703:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "14725:5:1"
}
],
"functionName": {
"name": "cleanup_t_int256",
"nodeType": "YulIdentifier",
"src": "14708:16:1"
},
"nodeType": "YulFunctionCall",
"src": "14708:23:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "14696:6:1"
},
"nodeType": "YulFunctionCall",
"src": "14696:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "14696:36:1"
}
]
},
"name": "abi_encode_t_int256_to_t_int256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "14674:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "14681:3:1",
"type": ""
}
],
"src": "14623:115:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "14840:122:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "14850:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "14862:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14873:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14858:3:1"
},
"nodeType": "YulFunctionCall",
"src": "14858:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "14850:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "14928:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "14941:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "14952:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "14937:3:1"
},
"nodeType": "YulFunctionCall",
"src": "14937:17:1"
}
],
"functionName": {
"name": "abi_encode_t_int256_to_t_int256_fromStack",
"nodeType": "YulIdentifier",
"src": "14886:41:1"
},
"nodeType": "YulFunctionCall",
"src": "14886:69:1"
},
"nodeType": "YulExpressionStatement",
"src": "14886:69:1"
}
]
},
"name": "abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "14812:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "14824:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "14835:4:1",
"type": ""
}
],
"src": "14744:218:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "15042:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "15053:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "15069:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "15063:5:1"
},
"nodeType": "YulFunctionCall",
"src": "15063:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "15053:6:1"
}
]
}
]
},
"name": "array_length_t_array$_t_uint256_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "15025:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "15035:6:1",
"type": ""
}
],
"src": "14968:114:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "15199:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "15216:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "15221:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "15209:6:1"
},
"nodeType": "YulFunctionCall",
"src": "15209:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "15209:19:1"
},
{
"nodeType": "YulAssignment",
"src": "15237:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "15256:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15261:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "15252:3:1"
},
"nodeType": "YulFunctionCall",
"src": "15252:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "15237:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "15171:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "15176:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "15187:11:1",
"type": ""
}
],
"src": "15088:184:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "15350:60:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "15360:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "15368:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "15360:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "15381:22:1",
"value": {
"arguments": [
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "15393:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15398:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "15389:3:1"
},
"nodeType": "YulFunctionCall",
"src": "15389:14:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "15381:4:1"
}
]
}
]
},
"name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "15337:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "15345:4:1",
"type": ""
}
],
"src": "15278:132:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "15471:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "15488:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "15511:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "15493:17:1"
},
"nodeType": "YulFunctionCall",
"src": "15493:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "15481:6:1"
},
"nodeType": "YulFunctionCall",
"src": "15481:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "15481:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "15459:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "15466:3:1",
"type": ""
}
],
"src": "15416:108:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "15610:99:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "15654:6:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "15662:3:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "15620:33:1"
},
"nodeType": "YulFunctionCall",
"src": "15620:46:1"
},
"nodeType": "YulExpressionStatement",
"src": "15620:46:1"
},
{
"nodeType": "YulAssignment",
"src": "15675:28:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "15693:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15698:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "15689:3:1"
},
"nodeType": "YulFunctionCall",
"src": "15689:14:1"
},
"variableNames": [
{
"name": "updatedPos",
"nodeType": "YulIdentifier",
"src": "15675:10:1"
}
]
}
]
},
"name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "15583:6:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "15591:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updatedPos",
"nodeType": "YulTypedName",
"src": "15599:10:1",
"type": ""
}
],
"src": "15530:179:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "15790:38:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "15800:22:1",
"value": {
"arguments": [
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "15812:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "15817:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "15808:3:1"
},
"nodeType": "YulFunctionCall",
"src": "15808:14:1"
},
"variableNames": [
{
"name": "next",
"nodeType": "YulIdentifier",
"src": "15800:4:1"
}
]
}
]
},
"name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "15777:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "next",
"nodeType": "YulTypedName",
"src": "15785:4:1",
"type": ""
}
],
"src": "15715:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "15988:608:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "15998:68:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "16060:5:1"
}
],
"functionName": {
"name": "array_length_t_array$_t_uint256_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "16012:47:1"
},
"nodeType": "YulFunctionCall",
"src": "16012:54:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "16002:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "16075:93:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "16156:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "16161:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "16082:73:1"
},
"nodeType": "YulFunctionCall",
"src": "16082:86:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "16075:3:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "16177:71:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "16242:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "16192:49:1"
},
"nodeType": "YulFunctionCall",
"src": "16192:56:1"
},
"variables": [
{
"name": "baseRef",
"nodeType": "YulTypedName",
"src": "16181:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "16257:21:1",
"value": {
"name": "baseRef",
"nodeType": "YulIdentifier",
"src": "16271:7:1"
},
"variables": [
{
"name": "srcPtr",
"nodeType": "YulTypedName",
"src": "16261:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "16347:224:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "16361:34:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "16388:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "16382:5:1"
},
"nodeType": "YulFunctionCall",
"src": "16382:13:1"
},
"variables": [
{
"name": "elementValue0",
"nodeType": "YulTypedName",
"src": "16365:13:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "16408:70:1",
"value": {
"arguments": [
{
"name": "elementValue0",
"nodeType": "YulIdentifier",
"src": "16459:13:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "16474:3:1"
}
],
"functionName": {
"name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "16415:43:1"
},
"nodeType": "YulFunctionCall",
"src": "16415:63:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "16408:3:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "16491:70:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "16554:6:1"
}
],
"functionName": {
"name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "16501:52:1"
},
"nodeType": "YulFunctionCall",
"src": "16501:60:1"
},
"variableNames": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "16491:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "16309:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "16312:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "16306:2:1"
},
"nodeType": "YulFunctionCall",
"src": "16306:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "16320:18:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "16322:14:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "16331:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "16334:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "16327:3:1"
},
"nodeType": "YulFunctionCall",
"src": "16327:9:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "16322:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "16291:14:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "16293:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "16302:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "16297:1:1",
"type": ""
}
]
}
]
},
"src": "16287:284:1"
},
{
"nodeType": "YulAssignment",
"src": "16580:10:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "16587:3:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "16580:3:1"
}
]
}
]
},
"name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "15967:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "15974:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "15983:3:1",
"type": ""
}
],
"src": "15864:732:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "16750:225:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "16760:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "16772:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "16783:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "16768:3:1"
},
"nodeType": "YulFunctionCall",
"src": "16768:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "16760:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "16807:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "16818:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "16803:3:1"
},
"nodeType": "YulFunctionCall",
"src": "16803:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "16826:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "16832:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "16822:3:1"
},
"nodeType": "YulFunctionCall",
"src": "16822:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "16796:6:1"
},
"nodeType": "YulFunctionCall",
"src": "16796:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "16796:47:1"
},
{
"nodeType": "YulAssignment",
"src": "16852:116:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "16954:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "16963:4:1"
}
],
"functionName": {
"name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "16860:93:1"
},
"nodeType": "YulFunctionCall",
"src": "16860:108:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "16852:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "16722:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "16734:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "16745:4:1",
"type": ""
}
],
"src": "16602:373:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "17026:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "17036:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "17047:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "17036:7:1"
}
]
}
]
},
"name": "cleanup_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "17008:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "17018:7:1",
"type": ""
}
],
"src": "16981:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "17129:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "17146:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "17169:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nodeType": "YulIdentifier",
"src": "17151:17:1"
},
"nodeType": "YulFunctionCall",
"src": "17151:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "17139:6:1"
},
"nodeType": "YulFunctionCall",
"src": "17139:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "17139:37:1"
}
]
},
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "17117:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "17124:3:1",
"type": ""
}
],
"src": "17064:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "17286:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "17296:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "17308:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "17319:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "17304:3:1"
},
"nodeType": "YulFunctionCall",
"src": "17304:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "17296:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "17376:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "17389:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "17400:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "17385:3:1"
},
"nodeType": "YulFunctionCall",
"src": "17385:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nodeType": "YulIdentifier",
"src": "17332:43:1"
},
"nodeType": "YulFunctionCall",
"src": "17332:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "17332:71:1"
}
]
},
"name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "17258:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "17270:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "17281:4:1",
"type": ""
}
],
"src": "17188:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "17444:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "17461:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "17464:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "17454:6:1"
},
"nodeType": "YulFunctionCall",
"src": "17454:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "17454:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "17558:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "17561:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "17551:6:1"
},
"nodeType": "YulFunctionCall",
"src": "17551:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "17551:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "17582:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "17585:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "17575:6:1"
},
"nodeType": "YulFunctionCall",
"src": "17575:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "17575:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "17416:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "17653:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "17663:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "17677:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "17683:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "17673:3:1"
},
"nodeType": "YulFunctionCall",
"src": "17673:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "17663:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "17694:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "17724:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "17730:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "17720:3:1"
},
"nodeType": "YulFunctionCall",
"src": "17720:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "17698:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "17771:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "17785:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "17799:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "17807:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "17795:3:1"
},
"nodeType": "YulFunctionCall",
"src": "17795:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "17785:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "17751:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "17744:6:1"
},
"nodeType": "YulFunctionCall",
"src": "17744:26:1"
},
"nodeType": "YulIf",
"src": "17741:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "17874:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "17888:16:1"
},
"nodeType": "YulFunctionCall",
"src": "17888:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "17888:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "17838:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "17861:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "17869:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "17858:2:1"
},
"nodeType": "YulFunctionCall",
"src": "17858:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "17835:2:1"
},
"nodeType": "YulFunctionCall",
"src": "17835:38:1"
},
"nodeType": "YulIf",
"src": "17832:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "17637:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "17646:6:1",
"type": ""
}
],
"src": "17602:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "17982:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "17992:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "18000:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "17992:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "18020:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "18023:3:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "18013:6:1"
},
"nodeType": "YulFunctionCall",
"src": "18013:14:1"
},
"nodeType": "YulExpressionStatement",
"src": "18013:14:1"
},
{
"nodeType": "YulAssignment",
"src": "18036:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "18054:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "18057:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nodeType": "YulIdentifier",
"src": "18044:9:1"
},
"nodeType": "YulFunctionCall",
"src": "18044:18:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "18036:4:1"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "17969:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "17977:4:1",
"type": ""
}
],
"src": "17928:141:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "18119:49:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "18129:33:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "18147:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "18154:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "18143:3:1"
},
"nodeType": "YulFunctionCall",
"src": "18143:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "18159:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "18139:3:1"
},
"nodeType": "YulFunctionCall",
"src": "18139:23:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "18129:6:1"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "18102:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "18112:6:1",
"type": ""
}
],
"src": "18075:93:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "18227:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "18237:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "18262:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "18268:5:1"
}
],
"functionName": {
"name": "shl",
"nodeType": "YulIdentifier",
"src": "18258:3:1"
},
"nodeType": "YulFunctionCall",
"src": "18258:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "18237:8:1"
}
]
}
]
},
"name": "shift_left_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "18202:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "18208:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "18218:8:1",
"type": ""
}
],
"src": "18174:107:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "18363:317:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "18373:35:1",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nodeType": "YulIdentifier",
"src": "18394:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "18406:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "18390:3:1"
},
"nodeType": "YulFunctionCall",
"src": "18390:18:1"
},
"variables": [
{
"name": "shiftBits",
"nodeType": "YulTypedName",
"src": "18377:9:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "18417:109:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "18448:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "18459:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "18429:18:1"
},
"nodeType": "YulFunctionCall",
"src": "18429:97:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "18421:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "18535:51:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "18566:9:1"
},
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "18577:8:1"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "18547:18:1"
},
"nodeType": "YulFunctionCall",
"src": "18547:39:1"
},
"variableNames": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "18535:8:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "18595:30:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "18608:5:1"
},
{
"arguments": [
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "18619:4:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "18615:3:1"
},
"nodeType": "YulFunctionCall",
"src": "18615:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "18604:3:1"
},
"nodeType": "YulFunctionCall",
"src": "18604:21:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "18595:5:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "18634:40:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "18647:5:1"
},
{
"arguments": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "18658:8:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "18668:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "18654:3:1"
},
"nodeType": "YulFunctionCall",
"src": "18654:19:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "18644:2:1"
},
"nodeType": "YulFunctionCall",
"src": "18644:30:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "18634:6:1"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "18324:5:1",
"type": ""
},
{
"name": "shiftBytes",
"nodeType": "YulTypedName",
"src": "18331:10:1",
"type": ""
},
{
"name": "toInsert",
"nodeType": "YulTypedName",
"src": "18343:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "18356:6:1",
"type": ""
}
],
"src": "18287:393:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "18718:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "18728:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "18735:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "18728:3:1"
}
]
}
]
},
"name": "identity",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "18704:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "18714:3:1",
"type": ""
}
],
"src": "18686:60:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "18812:82:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "18822:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "18880:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "18862:17:1"
},
"nodeType": "YulFunctionCall",
"src": "18862:24:1"
}
],
"functionName": {
"name": "identity",
"nodeType": "YulIdentifier",
"src": "18853:8:1"
},
"nodeType": "YulFunctionCall",
"src": "18853:34:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "18835:17:1"
},
"nodeType": "YulFunctionCall",
"src": "18835:53:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "18822:9:1"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "18792:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "18802:9:1",
"type": ""
}
],
"src": "18752:142:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "18947:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "18957:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "18964:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "18957:3:1"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "18933:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "18943:3:1",
"type": ""
}
],
"src": "18900:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "19057:193:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "19067:63:1",
"value": {
"arguments": [
{
"name": "value_0",
"nodeType": "YulIdentifier",
"src": "19122:7:1"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "19091:30:1"
},
"nodeType": "YulFunctionCall",
"src": "19091:39:1"
},
"variables": [
{
"name": "convertedValue_0",
"nodeType": "YulTypedName",
"src": "19071:16:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "19146:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "19186:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "19180:5:1"
},
"nodeType": "YulFunctionCall",
"src": "19180:11:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "19193:6:1"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nodeType": "YulIdentifier",
"src": "19225:16:1"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nodeType": "YulIdentifier",
"src": "19201:23:1"
},
"nodeType": "YulFunctionCall",
"src": "19201:41:1"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nodeType": "YulIdentifier",
"src": "19152:27:1"
},
"nodeType": "YulFunctionCall",
"src": "19152:91:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "19139:6:1"
},
"nodeType": "YulFunctionCall",
"src": "19139:105:1"
},
"nodeType": "YulExpressionStatement",
"src": "19139:105:1"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "19034:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "19040:6:1",
"type": ""
},
{
"name": "value_0",
"nodeType": "YulTypedName",
"src": "19048:7:1",
"type": ""
}
],
"src": "18981:269:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "19305:24:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "19315:8:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "19322:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "19315:3:1"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "19301:3:1",
"type": ""
}
],
"src": "19256:73:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "19388:136:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "19398:46:1",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulIdentifier",
"src": "19412:30:1"
},
"nodeType": "YulFunctionCall",
"src": "19412:32:1"
},
"variables": [
{
"name": "zero_0",
"nodeType": "YulTypedName",
"src": "19402:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "19497:4:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "19503:6:1"
},
{
"name": "zero_0",
"nodeType": "YulIdentifier",
"src": "19511:6:1"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "19453:43:1"
},
"nodeType": "YulFunctionCall",
"src": "19453:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "19453:65:1"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "19374:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "19380:6:1",
"type": ""
}
],
"src": "19335:189:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "19580:136:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "19647:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "19691:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "19698:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulIdentifier",
"src": "19661:29:1"
},
"nodeType": "YulFunctionCall",
"src": "19661:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "19661:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "19600:5:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "19607:3:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "19597:2:1"
},
"nodeType": "YulFunctionCall",
"src": "19597:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "19612:26:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "19614:22:1",
"value": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "19627:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "19634:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "19623:3:1"
},
"nodeType": "YulFunctionCall",
"src": "19623:13:1"
},
"variableNames": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "19614:5:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "19594:2:1",
"statements": []
},
"src": "19590:120:1"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nodeType": "YulTypedName",
"src": "19568:5:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "19575:3:1",
"type": ""
}
],
"src": "19530:186:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "19801:464:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "19827:431:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "19841:54:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "19889:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "19857:31:1"
},
"nodeType": "YulFunctionCall",
"src": "19857:38:1"
},
"variables": [
{
"name": "dataArea",
"nodeType": "YulTypedName",
"src": "19845:8:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "19908:63:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "19931:8:1"
},
{
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "19959:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "19941:17:1"
},
"nodeType": "YulFunctionCall",
"src": "19941:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "19927:3:1"
},
"nodeType": "YulFunctionCall",
"src": "19927:44:1"
},
"variables": [
{
"name": "deleteStart",
"nodeType": "YulTypedName",
"src": "19912:11:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "20128:27:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "20130:23:1",
"value": {
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "20145:8:1"
},
"variableNames": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "20130:11:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "20112:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "20124:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "20109:2:1"
},
"nodeType": "YulFunctionCall",
"src": "20109:18:1"
},
"nodeType": "YulIf",
"src": "20106:49:1"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "20197:11:1"
},
{
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "20214:8:1"
},
{
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "20242:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "20224:17:1"
},
"nodeType": "YulFunctionCall",
"src": "20224:22:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "20210:3:1"
},
"nodeType": "YulFunctionCall",
"src": "20210:37:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulIdentifier",
"src": "20168:28:1"
},
"nodeType": "YulFunctionCall",
"src": "20168:80:1"
},
"nodeType": "YulExpressionStatement",
"src": "20168:80:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "19818:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "19823:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "19815:2:1"
},
"nodeType": "YulFunctionCall",
"src": "19815:11:1"
},
"nodeType": "YulIf",
"src": "19812:446:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "19777:5:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "19784:3:1",
"type": ""
},
{
"name": "startIndex",
"nodeType": "YulTypedName",
"src": "19789:10:1",
"type": ""
}
],
"src": "19722:543:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "20334:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "20344:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "20369:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "20375:5:1"
}
],
"functionName": {
"name": "shr",
"nodeType": "YulIdentifier",
"src": "20365:3:1"
},
"nodeType": "YulFunctionCall",
"src": "20365:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "20344:8:1"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "20309:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "20315:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "20325:8:1",
"type": ""
}
],
"src": "20271:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "20445:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "20455:68:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "20504:1:1",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nodeType": "YulIdentifier",
"src": "20507:5:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "20500:3:1"
},
"nodeType": "YulFunctionCall",
"src": "20500:13:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "20519:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "20515:3:1"
},
"nodeType": "YulFunctionCall",
"src": "20515:6:1"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulIdentifier",
"src": "20471:28:1"
},
"nodeType": "YulFunctionCall",
"src": "20471:51:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "20467:3:1"
},
"nodeType": "YulFunctionCall",
"src": "20467:56:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "20459:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "20532:25:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "20546:4:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "20552:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "20542:3:1"
},
"nodeType": "YulFunctionCall",
"src": "20542:15:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "20532:6:1"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "20422:4:1",
"type": ""
},
{
"name": "bytes",
"nodeType": "YulTypedName",
"src": "20428:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "20438:6:1",
"type": ""
}
],
"src": "20394:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "20649:214:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "20782:37:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "20809:4:1"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "20815:3:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "20790:18:1"
},
"nodeType": "YulFunctionCall",
"src": "20790:29:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "20782:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "20828:29:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "20839:4:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "20849:1:1",
"type": "",
"value": "2"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "20852:3:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "20845:3:1"
},
"nodeType": "YulFunctionCall",
"src": "20845:11:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "20836:2:1"
},
"nodeType": "YulFunctionCall",
"src": "20836:21:1"
},
"variableNames": [
{
"name": "used",
"nodeType": "YulIdentifier",
"src": "20828:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "20630:4:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "20636:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nodeType": "YulTypedName",
"src": "20644:4:1",
"type": ""
}
],
"src": "20568:295:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "20960:1303:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "20971:51:1",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "21018:3:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "20985:32:1"
},
"nodeType": "YulFunctionCall",
"src": "20985:37:1"
},
"variables": [
{
"name": "newLen",
"nodeType": "YulTypedName",
"src": "20975:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "21107:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "21109:16:1"
},
"nodeType": "YulFunctionCall",
"src": "21109:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "21109:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "21079:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "21087:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "21076:2:1"
},
"nodeType": "YulFunctionCall",
"src": "21076:30:1"
},
"nodeType": "YulIf",
"src": "21073:56:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "21139:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "21185:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "21179:5:1"
},
"nodeType": "YulFunctionCall",
"src": "21179:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nodeType": "YulIdentifier",
"src": "21153:25:1"
},
"nodeType": "YulFunctionCall",
"src": "21153:38:1"
},
"variables": [
{
"name": "oldLen",
"nodeType": "YulTypedName",
"src": "21143:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "21284:4:1"
},
{
"name": "oldLen",
"nodeType": "YulIdentifier",
"src": "21290:6:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "21298:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulIdentifier",
"src": "21238:45:1"
},
"nodeType": "YulFunctionCall",
"src": "21238:67:1"
},
"nodeType": "YulExpressionStatement",
"src": "21238:67:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "21315:18:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "21332:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nodeType": "YulTypedName",
"src": "21319:9:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "21343:17:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "21356:4:1",
"type": "",
"value": "0x20"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "21343:9:1"
}
]
},
{
"cases": [
{
"body": {
"nodeType": "YulBlock",
"src": "21407:611:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "21421:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "21440:6:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "21452:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "21448:3:1"
},
"nodeType": "YulFunctionCall",
"src": "21448:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "21436:3:1"
},
"nodeType": "YulFunctionCall",
"src": "21436:22:1"
},
"variables": [
{
"name": "loopEnd",
"nodeType": "YulTypedName",
"src": "21425:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "21472:51:1",
"value": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "21518:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "21486:31:1"
},
"nodeType": "YulFunctionCall",
"src": "21486:37:1"
},
"variables": [
{
"name": "dstPtr",
"nodeType": "YulTypedName",
"src": "21476:6:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "21536:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "21545:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "21540:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "21604:163:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "21629:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "21647:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "21652:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "21643:3:1"
},
"nodeType": "YulFunctionCall",
"src": "21643:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "21637:5:1"
},
"nodeType": "YulFunctionCall",
"src": "21637:26:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "21622:6:1"
},
"nodeType": "YulFunctionCall",
"src": "21622:42:1"
},
"nodeType": "YulExpressionStatement",
"src": "21622:42:1"
},
{
"nodeType": "YulAssignment",
"src": "21681:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "21695:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "21703:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "21691:3:1"
},
"nodeType": "YulFunctionCall",
"src": "21691:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "21681:6:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "21722:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "21739:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "21750:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "21735:3:1"
},
"nodeType": "YulFunctionCall",
"src": "21735:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "21722:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "21570:1:1"
},
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "21573:7:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "21567:2:1"
},
"nodeType": "YulFunctionCall",
"src": "21567:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "21582:21:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "21584:17:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "21593:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "21596:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "21589:3:1"
},
"nodeType": "YulFunctionCall",
"src": "21589:12:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "21584:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "21563:3:1",
"statements": []
},
"src": "21559:208:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "21803:156:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "21821:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "21848:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "21853:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "21844:3:1"
},
"nodeType": "YulFunctionCall",
"src": "21844:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "21838:5:1"
},
"nodeType": "YulFunctionCall",
"src": "21838:26:1"
},
"variables": [
{
"name": "lastValue",
"nodeType": "YulTypedName",
"src": "21825:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "21888:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nodeType": "YulIdentifier",
"src": "21915:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "21930:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "21938:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "21926:3:1"
},
"nodeType": "YulFunctionCall",
"src": "21926:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "21896:18:1"
},
"nodeType": "YulFunctionCall",
"src": "21896:48:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "21881:6:1"
},
"nodeType": "YulFunctionCall",
"src": "21881:64:1"
},
"nodeType": "YulExpressionStatement",
"src": "21881:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "21786:7:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "21795:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "21783:2:1"
},
"nodeType": "YulFunctionCall",
"src": "21783:19:1"
},
"nodeType": "YulIf",
"src": "21780:179:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "21979:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "21993:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22001:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "21989:3:1"
},
"nodeType": "YulFunctionCall",
"src": "21989:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "22005:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "21985:3:1"
},
"nodeType": "YulFunctionCall",
"src": "21985:22:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "21972:6:1"
},
"nodeType": "YulFunctionCall",
"src": "21972:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "21972:36:1"
}
]
},
"nodeType": "YulCase",
"src": "21400:618:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "21405:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nodeType": "YulBlock",
"src": "22035:222:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "22049:14:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "22062:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "22053:5:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "22086:67:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "22104:35:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "22123:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "22128:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "22119:3:1"
},
"nodeType": "YulFunctionCall",
"src": "22119:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "22113:5:1"
},
"nodeType": "YulFunctionCall",
"src": "22113:26:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "22104:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "22079:6:1"
},
"nodeType": "YulIf",
"src": "22076:77:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "22173:4:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "22232:5:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "22239:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulIdentifier",
"src": "22179:52:1"
},
"nodeType": "YulFunctionCall",
"src": "22179:67:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "22166:6:1"
},
"nodeType": "YulFunctionCall",
"src": "22166:81:1"
},
"nodeType": "YulExpressionStatement",
"src": "22166:81:1"
}
]
},
"nodeType": "YulCase",
"src": "22027:230:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "21380:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "21388:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "21377:2:1"
},
"nodeType": "YulFunctionCall",
"src": "21377:14:1"
},
"nodeType": "YulSwitch",
"src": "21370:887:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "20949:4:1",
"type": ""
},
{
"name": "src",
"nodeType": "YulTypedName",
"src": "20955:3:1",
"type": ""
}
],
"src": "20868:1395:1"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function validator_assert_t_enum$_StatusEnum_$77(value) {\n if iszero(lt(value, 3)) { panic_error_0x21() }\n }\n\n function cleanup_t_enum$_StatusEnum_$77(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_StatusEnum_$77(value)\n }\n\n function convert_t_enum$_StatusEnum_$77_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_StatusEnum_$77(value)\n }\n\n function abi_encode_t_enum$_StatusEnum_$77_to_t_uint8_fromStack(value, pos) {\n mstore(pos, convert_t_enum$_StatusEnum_$77_to_t_uint8(value))\n }\n\n function abi_encode_tuple_t_enum$_StatusEnum_$77__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_enum$_StatusEnum_$77_to_t_uint8_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\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 mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_string_memory_ptr_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value0, tail)\n\n }\n\n function array_length_t_array$_t_string_memory_ptr_$3_memory_ptr(value) -> length {\n\n length := 0x03\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$3_memory_ptr_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function array_dataslot_t_array$_t_string_memory_ptr_$3_memory_ptr(ptr) -> data {\n data := ptr\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr(value0, pos) -> updatedPos {\n updatedPos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value0, pos)\n }\n\n function array_nextElement_t_array$_t_string_memory_ptr_$3_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // string[3] -> string[3]\n function abi_encode_t_array$_t_string_memory_ptr_$3_memory_ptr_to_t_array$_t_string_memory_ptr_$3_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_string_memory_ptr_$3_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_string_memory_ptr_$3_memory_ptr_fromStack(pos, length)\n let headStart := pos\n let tail := add(pos, mul(length, 0x20))\n let baseRef := array_dataslot_t_array$_t_string_memory_ptr_$3_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, sub(tail, headStart))\n let elementValue0 := mload(srcPtr)\n tail := abi_encodeUpdatedPos_t_string_memory_ptr_to_t_string_memory_ptr(elementValue0, tail)\n srcPtr := array_nextElement_t_array$_t_string_memory_ptr_$3_memory_ptr(srcPtr)\n pos := add(pos, 0x20)\n }\n pos := tail\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_string_memory_ptr_$3_memory_ptr__to_t_array$_t_string_memory_ptr_$3_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_string_memory_ptr_$3_memory_ptr_to_t_array$_t_string_memory_ptr_$3_memory_ptr_fromStack(value0, tail)\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_array$_t_address_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_address_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encodeUpdatedPos_t_address_to_t_address(value0, pos) -> updatedPos {\n abi_encode_t_address_to_t_address(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_address_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // address[] -> address[]\n function abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_address_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_address_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_address_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_address_to_t_address(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_address_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_address_$dyn_memory_ptr_to_t_array$_t_address_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function cleanup_t_int256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_int256_to_t_int256_fromStack(value, pos) {\n mstore(pos, cleanup_t_int256(value))\n }\n\n function abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_int256_to_t_int256_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_array$_t_uint256_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encodeUpdatedPos_t_uint256_to_t_uint256(value0, pos) -> updatedPos {\n abi_encode_t_uint256_to_t_uint256(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // uint256[] -> uint256[]\n function abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_uint256_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_uint256_to_t_uint256(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061014d5760003560e01c806371b18681116100c3578063c6b7dff51161007c578063c6b7dff5146103a7578063c7a73951146103c5578063cef7e0de146103e3578063e21f37ce14610401578063f303d82e1461041f578063ffdb530e1461043d5761014d565b806371b18681146102ab57806375e4a511146102db5780639a9bdca71461030b578063a94209781461033b578063ac10022a1461036b578063b870a1d8146103895761014d565b80633be9a8ac116101155780633be9a8ac146101fb578063411012d7146102195780634c98c5961461023557806351fd453214610253578063585fc24d14610271578063702f84f31461028f5761014d565b80631c11a047146101525780632989af44146101825780632c223a36146101a057806333ae8158146101bf578063384f58eb146101dd575b600080fd5b61016c60048036038101906101679190610ad7565b61045b565b6040516101799190610b45565b60405180910390f35b61018a61049a565b6040516101979190610bd7565b60405180910390f35b6101a86104ad565b6040516101b6929190610c91565b60405180910390f35b6101c7610547565b6040516101d49190610d16565b60405180910390f35b6101e56105d5565b6040516101f29190610b45565b60405180910390f35b6102036105f9565b6040516102109190610e38565b60405180910390f35b610233600480360381019061022e9190610f8f565b6106c6565b005b61023d6106dc565b60405161024a9190610fd8565b60405180910390f35b61025b610715565b6040516102689190611015565b60405180910390f35b61027961071e565b6040516102869190611015565b60405180910390f35b6102a960048036038101906102a49190610ad7565b610723565b005b6102c560048036038101906102c0919061105c565b610730565b6040516102d29190611089565b60405180910390f35b6102f560048036038101906102f091906110a4565b610748565b6040516103029190611089565b60405180910390f35b61032560048036038101906103209190610ad7565b6107d6565b6040516103329190611089565b60405180910390f35b61035560048036038101906103509190610ad7565b6107fa565b6040516103629190610fd8565b60405180910390f35b61037361089d565b6040516103809190611089565b60405180910390f35b6103916108a2565b60405161039e91906111a2565b60405180910390f35b6103af610930565b6040516103bc91906111dd565b60405180910390f35b6103cd610954565b6040516103da91906112b6565b60405180910390f35b6103eb6109ac565b6040516103f891906112f1565b60405180910390f35b6104096109b2565b6040516104169190610fd8565b60405180910390f35b610427610a40565b6040516104349190610bd7565b60405180910390f35b610445610a53565b6040516104529190610bd7565b60405180910390f35b6008818154811061046b57600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60019054906101000a900460ff1681565b60098060000180546104be9061133b565b80601f01602080910402602001604051908101604052809291908181526020018280546104ea9061133b565b80156105375780601f1061050c57610100808354040283529160200191610537565b820191906000526020600020905b81548152906001019060200180831161051a57829003601f168201915b5050505050908060010154905082565b600280546105549061133b565b80601f01602080910402602001604051908101604052809291908181526020018280546105809061133b565b80156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b505050505081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610601610a66565b6005600380602002604051908101604052809291906000905b828210156106bd5783820180546106309061133b565b80601f016020809104026020016040519081016040528092919081815260200182805461065c9061133b565b80156106a95780601f1061067e576101008083540402835291602001916106a9565b820191906000526020600020905b81548152906001019060200180831161068c57829003601f168201915b50505050508152602001906001019061061a565b50505050905090565b80600960000190816106d89190611518565b5050565b6040518060400160405280600781526020017f4558414d504c450000000000000000000000000000000000000000000000000081525081565b60006001905090565b600181565b8060096001018190555050565b600c6020528060005260406000206000915090505481565b600081600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600481815481106107e657600080fd5b906000526020600020016000915090505481565b6005816003811061080a57600080fd5b01600091509050805461081c9061133b565b80601f01602080910402602001604051908101604052809291908181526020018280546108489061133b565b80156108955780601f1061086a57610100808354040283529160200191610895565b820191906000526020600020905b81548152906001019060200180831161087857829003601f168201915b505050505081565b600a81565b6060600880548060200260200160405190810160405280929190818152602001828054801561092657602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116108dc575b5050505050905090565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff681565b606060048054806020026020016040519081016040528092919081815260200182805480156109a257602002820191906000526020600020905b81548152602001906001019080831161098e575b5050505050905090565b60035481565b600180546109bf9061133b565b80601f01602080910402602001604051908101604052809291908181526020018280546109eb9061133b565b8015610a385780601f10610a0d57610100808354040283529160200191610a38565b820191906000526020600020905b815481529060010190602001808311610a1b57829003601f168201915b505050505081565b600b60009054906101000a900460ff1681565b600b60029054906101000a900460ff1681565b60405180606001604052806003905b6060815260200190600190039081610a755790505090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b610ab481610aa1565b8114610abf57600080fd5b50565b600081359050610ad181610aab565b92915050565b600060208284031215610aed57610aec610a97565b5b6000610afb84828501610ac2565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b2f82610b04565b9050919050565b610b3f81610b24565b82525050565b6000602082019050610b5a6000830184610b36565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610ba057610b9f610b60565b5b50565b6000819050610bb182610b8f565b919050565b6000610bc182610ba3565b9050919050565b610bd181610bb6565b82525050565b6000602082019050610bec6000830184610bc8565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c2c578082015181840152602081019050610c11565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c5482610bf2565b610c5e8185610bfd565b9350610c6e818560208601610c0e565b610c7781610c38565b840191505092915050565b610c8b81610aa1565b82525050565b60006040820190508181036000830152610cab8185610c49565b9050610cba6020830184610c82565b9392505050565b600081519050919050565b600082825260208201905092915050565b6000610ce882610cc1565b610cf28185610ccc565b9350610d02818560208601610c0e565b610d0b81610c38565b840191505092915050565b60006020820190508181036000830152610d308184610cdd565b905092915050565b600060039050919050565b600081905092915050565b6000819050919050565b600082825260208201905092915050565b6000610d7482610bf2565b610d7e8185610d58565b9350610d8e818560208601610c0e565b610d9781610c38565b840191505092915050565b6000610dae8383610d69565b905092915050565b6000602082019050919050565b6000610dce82610d38565b610dd88185610d43565b935083602082028501610dea85610d4e565b8060005b85811015610e265784840389528151610e078582610da2565b9450610e1283610db6565b925060208a01995050600181019050610dee565b50829750879550505050505092915050565b60006020820190508181036000830152610e528184610dc3565b905092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610e9c82610c38565b810181811067ffffffffffffffff82111715610ebb57610eba610e64565b5b80604052505050565b6000610ece610a8d565b9050610eda8282610e93565b919050565b600067ffffffffffffffff821115610efa57610ef9610e64565b5b610f0382610c38565b9050602081019050919050565b82818337600083830152505050565b6000610f32610f2d84610edf565b610ec4565b905082815260208101848484011115610f4e57610f4d610e5f565b5b610f59848285610f10565b509392505050565b600082601f830112610f7657610f75610e5a565b5b8135610f86848260208601610f1f565b91505092915050565b600060208284031215610fa557610fa4610a97565b5b600082013567ffffffffffffffff811115610fc357610fc2610a9c565b5b610fcf84828501610f61565b91505092915050565b60006020820190508181036000830152610ff28184610c49565b905092915050565b60008115159050919050565b61100f81610ffa565b82525050565b600060208201905061102a6000830184611006565b92915050565b61103981610b24565b811461104457600080fd5b50565b60008135905061105681611030565b92915050565b60006020828403121561107257611071610a97565b5b600061108084828501611047565b91505092915050565b600060208201905061109e6000830184610c82565b92915050565b600080604083850312156110bb576110ba610a97565b5b60006110c985828601611047565b92505060206110da85828601610ac2565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61111981610b24565b82525050565b600061112b8383611110565b60208301905092915050565b6000602082019050919050565b600061114f826110e4565b61115981856110ef565b935061116483611100565b8060005b8381101561119557815161117c888261111f565b975061118783611137565b925050600181019050611168565b5085935050505092915050565b600060208201905081810360008301526111bc8184611144565b905092915050565b6000819050919050565b6111d7816111c4565b82525050565b60006020820190506111f260008301846111ce565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61122d81610aa1565b82525050565b600061123f8383611224565b60208301905092915050565b6000602082019050919050565b6000611263826111f8565b61126d8185611203565b935061127883611214565b8060005b838110156112a95781516112908882611233565b975061129b8361124b565b92505060018101905061127c565b5085935050505092915050565b600060208201905081810360008301526112d08184611258565b905092915050565b6000819050919050565b6112eb816112d8565b82525050565b600060208201905061130660008301846112e2565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061135357607f821691505b6020821081036113665761136561130c565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026113ce7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611391565b6113d88683611391565b95508019841693508086168417925050509392505050565b6000819050919050565b600061141561141061140b84610aa1565b6113f0565b610aa1565b9050919050565b6000819050919050565b61142f836113fa565b61144361143b8261141c565b84845461139e565b825550505050565b600090565b61145861144b565b611463818484611426565b505050565b5b818110156114875761147c600082611450565b600181019050611469565b5050565b601f8211156114cc5761149d8161136c565b6114a684611381565b810160208510156114b5578190505b6114c96114c185611381565b830182611468565b50505b505050565b600082821c905092915050565b60006114ef600019846008026114d1565b1980831691505092915050565b600061150883836114de565b9150826002028217905092915050565b61152182610bf2565b67ffffffffffffffff81111561153a57611539610e64565b5b611544825461133b565b61154f82828561148b565b600060209050601f8311600181146115825760008415611570578287015190505b61157a85826114fc565b8655506115e2565b601f1984166115908661136c565b60005b828110156115b857848901518255600182019150602085019450602081019050611593565b868310156115d557848901516115d1601f8916826114de565b8355505b6001600288020188555050505b50505050505056fea264697066735822122080a132d0b93e04d19a24ec9029c226a94ec0fb777a69ada72b72d4daee84d12964736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x14D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x71B18681 GT PUSH2 0xC3 JUMPI DUP1 PUSH4 0xC6B7DFF5 GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xC6B7DFF5 EQ PUSH2 0x3A7 JUMPI DUP1 PUSH4 0xC7A73951 EQ PUSH2 0x3C5 JUMPI DUP1 PUSH4 0xCEF7E0DE EQ PUSH2 0x3E3 JUMPI DUP1 PUSH4 0xE21F37CE EQ PUSH2 0x401 JUMPI DUP1 PUSH4 0xF303D82E EQ PUSH2 0x41F JUMPI DUP1 PUSH4 0xFFDB530E EQ PUSH2 0x43D JUMPI PUSH2 0x14D JUMP JUMPDEST DUP1 PUSH4 0x71B18681 EQ PUSH2 0x2AB JUMPI DUP1 PUSH4 0x75E4A511 EQ PUSH2 0x2DB JUMPI DUP1 PUSH4 0x9A9BDCA7 EQ PUSH2 0x30B JUMPI DUP1 PUSH4 0xA9420978 EQ PUSH2 0x33B JUMPI DUP1 PUSH4 0xAC10022A EQ PUSH2 0x36B JUMPI DUP1 PUSH4 0xB870A1D8 EQ PUSH2 0x389 JUMPI PUSH2 0x14D JUMP JUMPDEST DUP1 PUSH4 0x3BE9A8AC GT PUSH2 0x115 JUMPI DUP1 PUSH4 0x3BE9A8AC EQ PUSH2 0x1FB JUMPI DUP1 PUSH4 0x411012D7 EQ PUSH2 0x219 JUMPI DUP1 PUSH4 0x4C98C596 EQ PUSH2 0x235 JUMPI DUP1 PUSH4 0x51FD4532 EQ PUSH2 0x253 JUMPI DUP1 PUSH4 0x585FC24D EQ PUSH2 0x271 JUMPI DUP1 PUSH4 0x702F84F3 EQ PUSH2 0x28F JUMPI PUSH2 0x14D JUMP JUMPDEST DUP1 PUSH4 0x1C11A047 EQ PUSH2 0x152 JUMPI DUP1 PUSH4 0x2989AF44 EQ PUSH2 0x182 JUMPI DUP1 PUSH4 0x2C223A36 EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0x33AE8158 EQ PUSH2 0x1BF JUMPI DUP1 PUSH4 0x384F58EB EQ PUSH2 0x1DD JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x16C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x167 SWAP2 SWAP1 PUSH2 0xAD7 JUMP JUMPDEST PUSH2 0x45B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x179 SWAP2 SWAP1 PUSH2 0xB45 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x18A PUSH2 0x49A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x197 SWAP2 SWAP1 PUSH2 0xBD7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1A8 PUSH2 0x4AD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B6 SWAP3 SWAP2 SWAP1 PUSH2 0xC91 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1C7 PUSH2 0x547 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D4 SWAP2 SWAP1 PUSH2 0xD16 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1E5 PUSH2 0x5D5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F2 SWAP2 SWAP1 PUSH2 0xB45 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x203 PUSH2 0x5F9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x210 SWAP2 SWAP1 PUSH2 0xE38 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x233 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x22E SWAP2 SWAP1 PUSH2 0xF8F JUMP JUMPDEST PUSH2 0x6C6 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x23D PUSH2 0x6DC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24A SWAP2 SWAP1 PUSH2 0xFD8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x25B PUSH2 0x715 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x268 SWAP2 SWAP1 PUSH2 0x1015 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x279 PUSH2 0x71E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x286 SWAP2 SWAP1 PUSH2 0x1015 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2A9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2A4 SWAP2 SWAP1 PUSH2 0xAD7 JUMP JUMPDEST PUSH2 0x723 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2C5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2C0 SWAP2 SWAP1 PUSH2 0x105C JUMP JUMPDEST PUSH2 0x730 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2D2 SWAP2 SWAP1 PUSH2 0x1089 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2F5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2F0 SWAP2 SWAP1 PUSH2 0x10A4 JUMP JUMPDEST PUSH2 0x748 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x302 SWAP2 SWAP1 PUSH2 0x1089 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x325 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x320 SWAP2 SWAP1 PUSH2 0xAD7 JUMP JUMPDEST PUSH2 0x7D6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x332 SWAP2 SWAP1 PUSH2 0x1089 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x355 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x350 SWAP2 SWAP1 PUSH2 0xAD7 JUMP JUMPDEST PUSH2 0x7FA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x362 SWAP2 SWAP1 PUSH2 0xFD8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x373 PUSH2 0x89D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x380 SWAP2 SWAP1 PUSH2 0x1089 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x391 PUSH2 0x8A2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x39E SWAP2 SWAP1 PUSH2 0x11A2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3AF PUSH2 0x930 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3BC SWAP2 SWAP1 PUSH2 0x11DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3CD PUSH2 0x954 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3DA SWAP2 SWAP1 PUSH2 0x12B6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3EB PUSH2 0x9AC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F8 SWAP2 SWAP1 PUSH2 0x12F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x409 PUSH2 0x9B2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x416 SWAP2 SWAP1 PUSH2 0xFD8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x427 PUSH2 0xA40 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x434 SWAP2 SWAP1 PUSH2 0xBD7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x445 PUSH2 0xA53 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x452 SWAP2 SWAP1 PUSH2 0xBD7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x8 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x46B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0xB PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x9 DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0x4BE SWAP1 PUSH2 0x133B JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4EA SWAP1 PUSH2 0x133B JUMP JUMPDEST DUP1 ISZERO PUSH2 0x537 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x50C JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x537 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x51A JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH2 0x554 SWAP1 PUSH2 0x133B JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x580 SWAP1 PUSH2 0x133B JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5CD JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5A2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5CD JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5B0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH2 0x601 PUSH2 0xA66 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x3 DUP1 PUSH1 0x20 MUL PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x6BD JUMPI DUP4 DUP3 ADD DUP1 SLOAD PUSH2 0x630 SWAP1 PUSH2 0x133B JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x65C SWAP1 PUSH2 0x133B JUMP JUMPDEST DUP1 ISZERO PUSH2 0x6A9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x67E JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x6A9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x68C JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x61A JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x9 PUSH1 0x0 ADD SWAP1 DUP2 PUSH2 0x6D8 SWAP2 SWAP1 PUSH2 0x1518 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4558414D504C4500000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 JUMP JUMPDEST DUP1 PUSH1 0x9 PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0xC PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0xC PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0xC PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x4 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x7E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x5 DUP2 PUSH1 0x3 DUP2 LT PUSH2 0x80A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 SLOAD PUSH2 0x81C SWAP1 PUSH2 0x133B JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x848 SWAP1 PUSH2 0x133B JUMP JUMPDEST DUP1 ISZERO PUSH2 0x895 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x86A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x895 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x878 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0xA DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x8 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x926 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x8DC JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x9A2 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x98E JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x9BF SWAP1 PUSH2 0x133B JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x9EB SWAP1 PUSH2 0x133B JUMP JUMPDEST DUP1 ISZERO PUSH2 0xA38 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xA0D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xA38 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xA1B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0xB PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0xB PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 SWAP1 JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0xA75 JUMPI SWAP1 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xAB4 DUP2 PUSH2 0xAA1 JUMP JUMPDEST DUP2 EQ PUSH2 0xABF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xAD1 DUP2 PUSH2 0xAAB JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xAED JUMPI PUSH2 0xAEC PUSH2 0xA97 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xAFB DUP5 DUP3 DUP6 ADD PUSH2 0xAC2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB2F DUP3 PUSH2 0xB04 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB3F DUP2 PUSH2 0xB24 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB5A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB36 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0xBA0 JUMPI PUSH2 0xB9F PUSH2 0xB60 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xBB1 DUP3 PUSH2 0xB8F JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBC1 DUP3 PUSH2 0xBA3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xBD1 DUP2 PUSH2 0xBB6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBEC PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xBC8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xC2C JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xC11 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC54 DUP3 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0xC5E DUP2 DUP6 PUSH2 0xBFD JUMP JUMPDEST SWAP4 POP PUSH2 0xC6E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xC0E JUMP JUMPDEST PUSH2 0xC77 DUP2 PUSH2 0xC38 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xC8B DUP2 PUSH2 0xAA1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xCAB DUP2 DUP6 PUSH2 0xC49 JUMP JUMPDEST SWAP1 POP PUSH2 0xCBA PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xC82 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCE8 DUP3 PUSH2 0xCC1 JUMP JUMPDEST PUSH2 0xCF2 DUP2 DUP6 PUSH2 0xCCC JUMP JUMPDEST SWAP4 POP PUSH2 0xD02 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xC0E JUMP JUMPDEST PUSH2 0xD0B DUP2 PUSH2 0xC38 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xD30 DUP2 DUP5 PUSH2 0xCDD JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD74 DUP3 PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0xD7E DUP2 DUP6 PUSH2 0xD58 JUMP JUMPDEST SWAP4 POP PUSH2 0xD8E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xC0E JUMP JUMPDEST PUSH2 0xD97 DUP2 PUSH2 0xC38 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDAE DUP4 DUP4 PUSH2 0xD69 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDCE DUP3 PUSH2 0xD38 JUMP JUMPDEST PUSH2 0xDD8 DUP2 DUP6 PUSH2 0xD43 JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0xDEA DUP6 PUSH2 0xD4E JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0xE26 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0xE07 DUP6 DUP3 PUSH2 0xDA2 JUMP JUMPDEST SWAP5 POP PUSH2 0xE12 DUP4 PUSH2 0xDB6 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xDEE JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE52 DUP2 DUP5 PUSH2 0xDC3 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xE9C DUP3 PUSH2 0xC38 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xEBB JUMPI PUSH2 0xEBA PUSH2 0xE64 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xECE PUSH2 0xA8D JUMP JUMPDEST SWAP1 POP PUSH2 0xEDA DUP3 DUP3 PUSH2 0xE93 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xEFA JUMPI PUSH2 0xEF9 PUSH2 0xE64 JUMP JUMPDEST JUMPDEST PUSH2 0xF03 DUP3 PUSH2 0xC38 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF32 PUSH2 0xF2D DUP5 PUSH2 0xEDF JUMP JUMPDEST PUSH2 0xEC4 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0xF4E JUMPI PUSH2 0xF4D PUSH2 0xE5F JUMP JUMPDEST JUMPDEST PUSH2 0xF59 DUP5 DUP3 DUP6 PUSH2 0xF10 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xF76 JUMPI PUSH2 0xF75 PUSH2 0xE5A JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0xF86 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0xF1F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFA5 JUMPI PUSH2 0xFA4 PUSH2 0xA97 JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFC3 JUMPI PUSH2 0xFC2 PUSH2 0xA9C JUMP JUMPDEST JUMPDEST PUSH2 0xFCF DUP5 DUP3 DUP6 ADD PUSH2 0xF61 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xFF2 DUP2 DUP5 PUSH2 0xC49 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x100F DUP2 PUSH2 0xFFA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x102A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1006 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1039 DUP2 PUSH2 0xB24 JUMP JUMPDEST DUP2 EQ PUSH2 0x1044 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1056 DUP2 PUSH2 0x1030 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1072 JUMPI PUSH2 0x1071 PUSH2 0xA97 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1080 DUP5 DUP3 DUP6 ADD PUSH2 0x1047 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x109E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xC82 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x10BB JUMPI PUSH2 0x10BA PUSH2 0xA97 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x10C9 DUP6 DUP3 DUP7 ADD PUSH2 0x1047 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x10DA DUP6 DUP3 DUP7 ADD PUSH2 0xAC2 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1119 DUP2 PUSH2 0xB24 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x112B DUP4 DUP4 PUSH2 0x1110 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x114F DUP3 PUSH2 0x10E4 JUMP JUMPDEST PUSH2 0x1159 DUP2 DUP6 PUSH2 0x10EF JUMP JUMPDEST SWAP4 POP PUSH2 0x1164 DUP4 PUSH2 0x1100 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1195 JUMPI DUP2 MLOAD PUSH2 0x117C DUP9 DUP3 PUSH2 0x111F JUMP JUMPDEST SWAP8 POP PUSH2 0x1187 DUP4 PUSH2 0x1137 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1168 JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x11BC DUP2 DUP5 PUSH2 0x1144 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x11D7 DUP2 PUSH2 0x11C4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x11F2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x11CE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x122D DUP2 PUSH2 0xAA1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x123F DUP4 DUP4 PUSH2 0x1224 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1263 DUP3 PUSH2 0x11F8 JUMP JUMPDEST PUSH2 0x126D DUP2 DUP6 PUSH2 0x1203 JUMP JUMPDEST SWAP4 POP PUSH2 0x1278 DUP4 PUSH2 0x1214 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x12A9 JUMPI DUP2 MLOAD PUSH2 0x1290 DUP9 DUP3 PUSH2 0x1233 JUMP JUMPDEST SWAP8 POP PUSH2 0x129B DUP4 PUSH2 0x124B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x127C JUMP JUMPDEST POP DUP6 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x12D0 DUP2 DUP5 PUSH2 0x1258 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x12EB DUP2 PUSH2 0x12D8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1306 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x12E2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1353 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1366 JUMPI PUSH2 0x1365 PUSH2 0x130C JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x13CE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x1391 JUMP JUMPDEST PUSH2 0x13D8 DUP7 DUP4 PUSH2 0x1391 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1415 PUSH2 0x1410 PUSH2 0x140B DUP5 PUSH2 0xAA1 JUMP JUMPDEST PUSH2 0x13F0 JUMP JUMPDEST PUSH2 0xAA1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x142F DUP4 PUSH2 0x13FA JUMP JUMPDEST PUSH2 0x1443 PUSH2 0x143B DUP3 PUSH2 0x141C JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x139E JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x1458 PUSH2 0x144B JUMP JUMPDEST PUSH2 0x1463 DUP2 DUP5 DUP5 PUSH2 0x1426 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1487 JUMPI PUSH2 0x147C PUSH1 0x0 DUP3 PUSH2 0x1450 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1469 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x14CC JUMPI PUSH2 0x149D DUP2 PUSH2 0x136C JUMP JUMPDEST PUSH2 0x14A6 DUP5 PUSH2 0x1381 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x14B5 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x14C9 PUSH2 0x14C1 DUP6 PUSH2 0x1381 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x1468 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14EF PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x14D1 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1508 DUP4 DUP4 PUSH2 0x14DE JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1521 DUP3 PUSH2 0xBF2 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x153A JUMPI PUSH2 0x1539 PUSH2 0xE64 JUMP JUMPDEST JUMPDEST PUSH2 0x1544 DUP3 SLOAD PUSH2 0x133B JUMP JUMPDEST PUSH2 0x154F DUP3 DUP3 DUP6 PUSH2 0x148B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x1582 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x1570 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x157A DUP6 DUP3 PUSH2 0x14FC JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x15E2 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x1590 DUP7 PUSH2 0x136C JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x15B8 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1593 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x15D5 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x15D1 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x14DE JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP1 LOG1 ORIGIN 0xD0 0xB9 RETURNDATACOPY DIV 0xD1 SWAP11 0x24 0xEC SWAP1 0x29 0xC2 0x26 0xA9 0x4E 0xC0 0xFB PUSH24 0x7A69ADA72B72D4DAEE84D12964736F6C6343000812003300 ",
"sourceMap": "57:2213:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;777:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1239:50;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1025:68;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;515:42;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;392:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2034:111;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1442:97;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;307:42;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1832:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;163:38;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1545:89;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1369:51;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1640:186;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;663:41;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;710:61;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;256:45;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2151:117;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;207:43;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1925:103;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;563:49;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;428:38;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1187:46;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1295:52;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;777:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1239:50::-;;;;;;;;;;;;;:::o;1025:68::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;515:42::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;392:29::-;;;;;;;;;;;;:::o;2034:111::-;2087:16;;:::i;:::-;2122;2115:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2034:111;:::o;1442:97::-;1531:1;1509:14;:19;;:23;;;;;;:::i;:::-;;1442:97;:::o;307:42::-;;;;;;;;;;;;;;;;;;;:::o;1832:87::-;1879:4;197;1895:17;;1832:87;:::o;163:38::-;197:4;163:38;:::o;1545:89::-;1626:1;1605:14;:18;;:22;;;;1545:89;:::o;1369:51::-;;;;;;;;;;;;;;;;;:::o;1640:186::-;1729:7;1776:5;1752:16;:21;1769:3;1752:21;;;;;;;;;;;;;;;:29;;;;1798:16;:21;1815:3;1798:21;;;;;;;;;;;;;;;;1791:28;;1640:186;;;;:::o;663:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;710:61::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;256:45::-;299:2;256:45;:::o;2151:117::-;2207:16;2242:19;2235:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2151:117;:::o;207:43::-;247:3;207:43;:::o;1925:103::-;1974:16;2009:12;2002:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1925:103;:::o;563:49::-;;;;:::o;428:38::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1187:46::-;;;;;;;;;;;;;:::o;1295:52::-;;;;;;;;;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:126::-;1062:7;1102:42;1095:5;1091:54;1080:65;;1025:126;;;:::o;1157:96::-;1194:7;1223:24;1241:5;1223:24;:::i;:::-;1212:35;;1157:96;;;:::o;1259:118::-;1346:24;1364:5;1346:24;:::i;:::-;1341:3;1334:37;1259:118;;:::o;1383:222::-;1476:4;1514:2;1503:9;1499:18;1491:26;;1527:71;1595:1;1584:9;1580:17;1571:6;1527:71;:::i;:::-;1383:222;;;;:::o;1611:180::-;1659:77;1656:1;1649:88;1756:4;1753:1;1746:15;1780:4;1777:1;1770:15;1797:118;1883:1;1876:5;1873:12;1863:46;;1889:18;;:::i;:::-;1863:46;1797:118;:::o;1921:137::-;1971:7;2000:5;1989:16;;2006:46;2046:5;2006:46;:::i;:::-;1921:137;;;:::o;2064:::-;2125:9;2158:37;2189:5;2158:37;:::i;:::-;2145:50;;2064:137;;;:::o;2207:153::-;2305:48;2347:5;2305:48;:::i;:::-;2300:3;2293:61;2207:153;;:::o;2366:244::-;2470:4;2508:2;2497:9;2493:18;2485:26;;2521:82;2600:1;2589:9;2585:17;2576:6;2521:82;:::i;:::-;2366:244;;;;:::o;2616:99::-;2668:6;2702:5;2696:12;2686:22;;2616:99;;;:::o;2721:169::-;2805:11;2839:6;2834:3;2827:19;2879:4;2874:3;2870:14;2855:29;;2721:169;;;;:::o;2896:246::-;2977:1;2987:113;3001:6;2998:1;2995:13;2987:113;;;3086:1;3081:3;3077:11;3071:18;3067:1;3062:3;3058:11;3051:39;3023:2;3020:1;3016:10;3011:15;;2987:113;;;3134:1;3125:6;3120:3;3116:16;3109:27;2958:184;2896:246;;;:::o;3148:102::-;3189:6;3240:2;3236:7;3231:2;3224:5;3220:14;3216:28;3206:38;;3148:102;;;:::o;3256:377::-;3344:3;3372:39;3405:5;3372:39;:::i;:::-;3427:71;3491:6;3486:3;3427:71;:::i;:::-;3420:78;;3507:65;3565:6;3560:3;3553:4;3546:5;3542:16;3507:65;:::i;:::-;3597:29;3619:6;3597:29;:::i;:::-;3592:3;3588:39;3581:46;;3348:285;3256:377;;;;:::o;3639:118::-;3726:24;3744:5;3726:24;:::i;:::-;3721:3;3714:37;3639:118;;:::o;3763:423::-;3904:4;3942:2;3931:9;3927:18;3919:26;;3991:9;3985:4;3981:20;3977:1;3966:9;3962:17;3955:47;4019:78;4092:4;4083:6;4019:78;:::i;:::-;4011:86;;4107:72;4175:2;4164:9;4160:18;4151:6;4107:72;:::i;:::-;3763:423;;;;;:::o;4192:98::-;4243:6;4277:5;4271:12;4261:22;;4192:98;;;:::o;4296:168::-;4379:11;4413:6;4408:3;4401:19;4453:4;4448:3;4444:14;4429:29;;4296:168;;;;:::o;4470:373::-;4556:3;4584:38;4616:5;4584:38;:::i;:::-;4638:70;4701:6;4696:3;4638:70;:::i;:::-;4631:77;;4717:65;4775:6;4770:3;4763:4;4756:5;4752:16;4717:65;:::i;:::-;4807:29;4829:6;4807:29;:::i;:::-;4802:3;4798:39;4791:46;;4560:283;4470:373;;;;:::o;4849:309::-;4960:4;4998:2;4987:9;4983:18;4975:26;;5047:9;5041:4;5037:20;5033:1;5022:9;5018:17;5011:47;5075:76;5146:4;5137:6;5075:76;:::i;:::-;5067:84;;4849:309;;;;:::o;5164:114::-;5239:6;5267:4;5257:14;;5164:114;;;:::o;5284:153::-;5391:11;5428:3;5413:18;;5284:153;;;;:::o;5443:108::-;5518:4;5541:3;5533:11;;5443:108;;;:::o;5557:159::-;5631:11;5665:6;5660:3;5653:19;5705:4;5700:3;5696:14;5681:29;;5557:159;;;;:::o;5722:357::-;5800:3;5828:39;5861:5;5828:39;:::i;:::-;5883:61;5937:6;5932:3;5883:61;:::i;:::-;5876:68;;5953:65;6011:6;6006:3;5999:4;5992:5;5988:16;5953:65;:::i;:::-;6043:29;6065:6;6043:29;:::i;:::-;6038:3;6034:39;6027:46;;5804:275;5722:357;;;;:::o;6085:196::-;6174:10;6209:66;6271:3;6263:6;6209:66;:::i;:::-;6195:80;;6085:196;;;;:::o;6287:121::-;6365:4;6397;6392:3;6388:14;6380:22;;6287:121;;;:::o;6444:979::-;6579:3;6608:62;6664:5;6608:62;:::i;:::-;6686:94;6773:6;6768:3;6686:94;:::i;:::-;6679:101;;6806:3;6851:4;6843:6;6839:17;6834:3;6830:27;6881:64;6939:5;6881:64;:::i;:::-;6968:7;6999:1;6984:394;7009:6;7006:1;7003:13;6984:394;;;7080:9;7074:4;7070:20;7065:3;7058:33;7131:6;7125:13;7159:84;7238:4;7223:13;7159:84;:::i;:::-;7151:92;;7266:68;7327:6;7266:68;:::i;:::-;7256:78;;7363:4;7358:3;7354:14;7347:21;;7044:334;7031:1;7028;7024:9;7019:14;;6984:394;;;6988:14;7394:4;7387:11;;7414:3;7407:10;;6584:839;;;;;6444:979;;;;:::o;7429:405::-;7588:4;7626:2;7615:9;7611:18;7603:26;;7675:9;7669:4;7665:20;7661:1;7650:9;7646:17;7639:47;7703:124;7822:4;7813:6;7703:124;:::i;:::-;7695:132;;7429:405;;;;:::o;7840:117::-;7949:1;7946;7939:12;7963:117;8072:1;8069;8062:12;8086:180;8134:77;8131:1;8124:88;8231:4;8228:1;8221:15;8255:4;8252:1;8245:15;8272:281;8355:27;8377:4;8355:27;:::i;:::-;8347:6;8343:40;8485:6;8473:10;8470:22;8449:18;8437:10;8434:34;8431:62;8428:88;;;8496:18;;:::i;:::-;8428:88;8536:10;8532:2;8525:22;8315:238;8272:281;;:::o;8559:129::-;8593:6;8620:20;;:::i;:::-;8610:30;;8649:33;8677:4;8669:6;8649:33;:::i;:::-;8559:129;;;:::o;8694:308::-;8756:4;8846:18;8838:6;8835:30;8832:56;;;8868:18;;:::i;:::-;8832:56;8906:29;8928:6;8906:29;:::i;:::-;8898:37;;8990:4;8984;8980:15;8972:23;;8694:308;;;:::o;9008:146::-;9105:6;9100:3;9095;9082:30;9146:1;9137:6;9132:3;9128:16;9121:27;9008:146;;;:::o;9160:425::-;9238:5;9263:66;9279:49;9321:6;9279:49;:::i;:::-;9263:66;:::i;:::-;9254:75;;9352:6;9345:5;9338:21;9390:4;9383:5;9379:16;9428:3;9419:6;9414:3;9410:16;9407:25;9404:112;;;9435:79;;:::i;:::-;9404:112;9525:54;9572:6;9567:3;9562;9525:54;:::i;:::-;9244:341;9160:425;;;;;:::o;9605:340::-;9661:5;9710:3;9703:4;9695:6;9691:17;9687:27;9677:122;;9718:79;;:::i;:::-;9677:122;9835:6;9822:20;9860:79;9935:3;9927:6;9920:4;9912:6;9908:17;9860:79;:::i;:::-;9851:88;;9667:278;9605:340;;;;:::o;9951:509::-;10020:6;10069:2;10057:9;10048:7;10044:23;10040:32;10037:119;;;10075:79;;:::i;:::-;10037:119;10223:1;10212:9;10208:17;10195:31;10253:18;10245:6;10242:30;10239:117;;;10275:79;;:::i;:::-;10239:117;10380:63;10435:7;10426:6;10415:9;10411:22;10380:63;:::i;:::-;10370:73;;10166:287;9951:509;;;;:::o;10466:313::-;10579:4;10617:2;10606:9;10602:18;10594:26;;10666:9;10660:4;10656:20;10652:1;10641:9;10637:17;10630:47;10694:78;10767:4;10758:6;10694:78;:::i;:::-;10686:86;;10466:313;;;;:::o;10785:90::-;10819:7;10862:5;10855:13;10848:21;10837:32;;10785:90;;;:::o;10881:109::-;10962:21;10977:5;10962:21;:::i;:::-;10957:3;10950:34;10881:109;;:::o;10996:210::-;11083:4;11121:2;11110:9;11106:18;11098:26;;11134:65;11196:1;11185:9;11181:17;11172:6;11134:65;:::i;:::-;10996:210;;;;:::o;11212:122::-;11285:24;11303:5;11285:24;:::i;:::-;11278:5;11275:35;11265:63;;11324:1;11321;11314:12;11265:63;11212:122;:::o;11340:139::-;11386:5;11424:6;11411:20;11402:29;;11440:33;11467:5;11440:33;:::i;:::-;11340:139;;;;:::o;11485:329::-;11544:6;11593:2;11581:9;11572:7;11568:23;11564:32;11561:119;;;11599:79;;:::i;:::-;11561:119;11719:1;11744:53;11789:7;11780:6;11769:9;11765:22;11744:53;:::i;:::-;11734:63;;11690:117;11485:329;;;;:::o;11820:222::-;11913:4;11951:2;11940:9;11936:18;11928:26;;11964:71;12032:1;12021:9;12017:17;12008:6;11964:71;:::i;:::-;11820:222;;;;:::o;12048:474::-;12116:6;12124;12173:2;12161:9;12152:7;12148:23;12144:32;12141:119;;;12179:79;;:::i;:::-;12141:119;12299:1;12324:53;12369:7;12360:6;12349:9;12345:22;12324:53;:::i;:::-;12314:63;;12270:117;12426:2;12452:53;12497:7;12488:6;12477:9;12473:22;12452:53;:::i;:::-;12442:63;;12397:118;12048:474;;;;;:::o;12528:114::-;12595:6;12629:5;12623:12;12613:22;;12528:114;;;:::o;12648:184::-;12747:11;12781:6;12776:3;12769:19;12821:4;12816:3;12812:14;12797:29;;12648:184;;;;:::o;12838:132::-;12905:4;12928:3;12920:11;;12958:4;12953:3;12949:14;12941:22;;12838:132;;;:::o;12976:108::-;13053:24;13071:5;13053:24;:::i;:::-;13048:3;13041:37;12976:108;;:::o;13090:179::-;13159:10;13180:46;13222:3;13214:6;13180:46;:::i;:::-;13258:4;13253:3;13249:14;13235:28;;13090:179;;;;:::o;13275:113::-;13345:4;13377;13372:3;13368:14;13360:22;;13275:113;;;:::o;13424:732::-;13543:3;13572:54;13620:5;13572:54;:::i;:::-;13642:86;13721:6;13716:3;13642:86;:::i;:::-;13635:93;;13752:56;13802:5;13752:56;:::i;:::-;13831:7;13862:1;13847:284;13872:6;13869:1;13866:13;13847:284;;;13948:6;13942:13;13975:63;14034:3;14019:13;13975:63;:::i;:::-;13968:70;;14061:60;14114:6;14061:60;:::i;:::-;14051:70;;13907:224;13894:1;13891;13887:9;13882:14;;13847:284;;;13851:14;14147:3;14140:10;;13548:608;;;13424:732;;;;:::o;14162:373::-;14305:4;14343:2;14332:9;14328:18;14320:26;;14392:9;14386:4;14382:20;14378:1;14367:9;14363:17;14356:47;14420:108;14523:4;14514:6;14420:108;:::i;:::-;14412:116;;14162:373;;;;:::o;14541:76::-;14577:7;14606:5;14595:16;;14541:76;;;:::o;14623:115::-;14708:23;14725:5;14708:23;:::i;:::-;14703:3;14696:36;14623:115;;:::o;14744:218::-;14835:4;14873:2;14862:9;14858:18;14850:26;;14886:69;14952:1;14941:9;14937:17;14928:6;14886:69;:::i;:::-;14744:218;;;;:::o;14968:114::-;15035:6;15069:5;15063:12;15053:22;;14968:114;;;:::o;15088:184::-;15187:11;15221:6;15216:3;15209:19;15261:4;15256:3;15252:14;15237:29;;15088:184;;;;:::o;15278:132::-;15345:4;15368:3;15360:11;;15398:4;15393:3;15389:14;15381:22;;15278:132;;;:::o;15416:108::-;15493:24;15511:5;15493:24;:::i;:::-;15488:3;15481:37;15416:108;;:::o;15530:179::-;15599:10;15620:46;15662:3;15654:6;15620:46;:::i;:::-;15698:4;15693:3;15689:14;15675:28;;15530:179;;;;:::o;15715:113::-;15785:4;15817;15812:3;15808:14;15800:22;;15715:113;;;:::o;15864:732::-;15983:3;16012:54;16060:5;16012:54;:::i;:::-;16082:86;16161:6;16156:3;16082:86;:::i;:::-;16075:93;;16192:56;16242:5;16192:56;:::i;:::-;16271:7;16302:1;16287:284;16312:6;16309:1;16306:13;16287:284;;;16388:6;16382:13;16415:63;16474:3;16459:13;16415:63;:::i;:::-;16408:70;;16501:60;16554:6;16501:60;:::i;:::-;16491:70;;16347:224;16334:1;16331;16327:9;16322:14;;16287:284;;;16291:14;16587:3;16580:10;;15988:608;;;15864:732;;;;:::o;16602:373::-;16745:4;16783:2;16772:9;16768:18;16760:26;;16832:9;16826:4;16822:20;16818:1;16807:9;16803:17;16796:47;16860:108;16963:4;16954:6;16860:108;:::i;:::-;16852:116;;16602:373;;;;:::o;16981:77::-;17018:7;17047:5;17036:16;;16981:77;;;:::o;17064:118::-;17151:24;17169:5;17151:24;:::i;:::-;17146:3;17139:37;17064:118;;:::o;17188:222::-;17281:4;17319:2;17308:9;17304:18;17296:26;;17332:71;17400:1;17389:9;17385:17;17376:6;17332:71;:::i;:::-;17188:222;;;;:::o;17416:180::-;17464:77;17461:1;17454:88;17561:4;17558:1;17551:15;17585:4;17582:1;17575:15;17602:320;17646:6;17683:1;17677:4;17673:12;17663:22;;17730:1;17724:4;17720:12;17751:18;17741:81;;17807:4;17799:6;17795:17;17785:27;;17741:81;17869:2;17861:6;17858:14;17838:18;17835:38;17832:84;;17888:18;;:::i;:::-;17832:84;17653:269;17602:320;;;:::o;17928:141::-;17977:4;18000:3;17992:11;;18023:3;18020:1;18013:14;18057:4;18054:1;18044:18;18036:26;;17928:141;;;:::o;18075:93::-;18112:6;18159:2;18154;18147:5;18143:14;18139:23;18129:33;;18075:93;;;:::o;18174:107::-;18218:8;18268:5;18262:4;18258:16;18237:37;;18174:107;;;;:::o;18287:393::-;18356:6;18406:1;18394:10;18390:18;18429:97;18459:66;18448:9;18429:97;:::i;:::-;18547:39;18577:8;18566:9;18547:39;:::i;:::-;18535:51;;18619:4;18615:9;18608:5;18604:21;18595:30;;18668:4;18658:8;18654:19;18647:5;18644:30;18634:40;;18363:317;;18287:393;;;;;:::o;18686:60::-;18714:3;18735:5;18728:12;;18686:60;;;:::o;18752:142::-;18802:9;18835:53;18853:34;18862:24;18880:5;18862:24;:::i;:::-;18853:34;:::i;:::-;18835:53;:::i;:::-;18822:66;;18752:142;;;:::o;18900:75::-;18943:3;18964:5;18957:12;;18900:75;;;:::o;18981:269::-;19091:39;19122:7;19091:39;:::i;:::-;19152:91;19201:41;19225:16;19201:41;:::i;:::-;19193:6;19186:4;19180:11;19152:91;:::i;:::-;19146:4;19139:105;19057:193;18981:269;;;:::o;19256:73::-;19301:3;19256:73;:::o;19335:189::-;19412:32;;:::i;:::-;19453:65;19511:6;19503;19497:4;19453:65;:::i;:::-;19388:136;19335:189;;:::o;19530:186::-;19590:120;19607:3;19600:5;19597:14;19590:120;;;19661:39;19698:1;19691:5;19661:39;:::i;:::-;19634:1;19627:5;19623:13;19614:22;;19590:120;;;19530:186;;:::o;19722:543::-;19823:2;19818:3;19815:11;19812:446;;;19857:38;19889:5;19857:38;:::i;:::-;19941:29;19959:10;19941:29;:::i;:::-;19931:8;19927:44;20124:2;20112:10;20109:18;20106:49;;;20145:8;20130:23;;20106:49;20168:80;20224:22;20242:3;20224:22;:::i;:::-;20214:8;20210:37;20197:11;20168:80;:::i;:::-;19827:431;;19812:446;19722:543;;;:::o;20271:117::-;20325:8;20375:5;20369:4;20365:16;20344:37;;20271:117;;;;:::o;20394:169::-;20438:6;20471:51;20519:1;20515:6;20507:5;20504:1;20500:13;20471:51;:::i;:::-;20467:56;20552:4;20546;20542:15;20532:25;;20445:118;20394:169;;;;:::o;20568:295::-;20644:4;20790:29;20815:3;20809:4;20790:29;:::i;:::-;20782:37;;20852:3;20849:1;20845:11;20839:4;20836:21;20828:29;;20568:295;;;;:::o;20868:1395::-;20985:37;21018:3;20985:37;:::i;:::-;21087:18;21079:6;21076:30;21073:56;;;21109:18;;:::i;:::-;21073:56;21153:38;21185:4;21179:11;21153:38;:::i;:::-;21238:67;21298:6;21290;21284:4;21238:67;:::i;:::-;21332:1;21356:4;21343:17;;21388:2;21380:6;21377:14;21405:1;21400:618;;;;22062:1;22079:6;22076:77;;;22128:9;22123:3;22119:19;22113:26;22104:35;;22076:77;22179:67;22239:6;22232:5;22179:67;:::i;:::-;22173:4;22166:81;22035:222;21370:887;;21400:618;21452:4;21448:9;21440:6;21436:22;21486:37;21518:4;21486:37;:::i;:::-;21545:1;21559:208;21573:7;21570:1;21567:14;21559:208;;;21652:9;21647:3;21643:19;21637:26;21629:6;21622:42;21703:1;21695:6;21691:14;21681:24;;21750:2;21739:9;21735:18;21722:31;;21596:4;21593:1;21589:12;21584:17;;21559:208;;;21795:6;21786:7;21783:19;21780:179;;;21853:9;21848:3;21844:19;21838:26;21896:48;21938:4;21930:6;21926:17;21915:9;21896:48;:::i;:::-;21888:6;21881:64;21803:156;21780:179;22005:1;22001;21993:6;21989:14;21985:22;21979:4;21972:36;21407:611;;;21370:887;;20960:1303;;;20868:1395;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "1132800",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"EXAMPLE()": "infinite",
"IS_BOOLEAN()": "446",
"SIGNED_INTEGER()": "351",
"UNSIGNED_INTEGER()": "440",
"address_uint_map(address)": "2837",
"contract_owner()": "2623",
"dynamicAddressArray(uint256)": "4980",
"dynamicArray(uint256)": "infinite",
"dynamicBytes()": "infinite",
"example_struct()": "infinite",
"fixedBytes()": "2495",
"fixedStringArray(uint256)": "infinite",
"get_dynamicAddressArray()": "infinite",
"get_dynamicArray()": "infinite",
"get_fixedStringArray()": "infinite",
"getter_example()": "432",
"message()": "infinite",
"set_example_struct_amt(uint256)": "22659",
"set_example_struct_name(string)": "infinite",
"set_string_uint_map(address,uint256)": "infinite",
"statusClosed()": "2656",
"statusOpen()": "2670",
"statusPending()": "2742"
}
},
"methodIdentifiers": {
"EXAMPLE()": "4c98c596",
"IS_BOOLEAN()": "585fc24d",
"SIGNED_INTEGER()": "c6b7dff5",
"UNSIGNED_INTEGER()": "ac10022a",
"address_uint_map(address)": "71b18681",
"contract_owner()": "384f58eb",
"dynamicAddressArray(uint256)": "1c11a047",
"dynamicArray(uint256)": "9a9bdca7",
"dynamicBytes()": "33ae8158",
"example_struct()": "2c223a36",
"fixedBytes()": "cef7e0de",
"fixedStringArray(uint256)": "a9420978",
"get_dynamicAddressArray()": "b870a1d8",
"get_dynamicArray()": "c7a73951",
"get_fixedStringArray()": "3be9a8ac",
"getter_example()": "51fd4532",
"message()": "e21f37ce",
"set_example_struct_amt(uint256)": "702f84f3",
"set_example_struct_name(string)": "411012d7",
"set_string_uint_map(address,uint256)": "75e4a511",
"statusClosed()": "2989af44",
"statusOpen()": "f303d82e",
"statusPending()": "ffdb530e"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "EXAMPLE",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "IS_BOOLEAN",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "SIGNED_INTEGER",
"outputs": [
{
"internalType": "int256",
"name": "",
"type": "int256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "UNSIGNED_INTEGER",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "address_uint_map",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "contract_owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "dynamicAddressArray",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "dynamicArray",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "dynamicBytes",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "example_struct",
"outputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "uint256",
"name": "amt",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "fixedBytes",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "fixedStringArray",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "get_dynamicAddressArray",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "get_dynamicArray",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "get_fixedStringArray",
"outputs": [
{
"internalType": "string[3]",
"name": "",
"type": "string[3]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getter_example",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "message",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "c",
"type": "uint256"
}
],
"name": "set_example_struct_amt",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "b",
"type": "string"
}
],
"name": "set_example_struct_name",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "key",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "set_string_uint_map",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "statusClosed",
"outputs": [
{
"internalType": "enum DataTypes.StatusEnum",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "statusOpen",
"outputs": [
{
"internalType": "enum DataTypes.StatusEnum",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "statusPending",
"outputs": [
{
"internalType": "enum DataTypes.StatusEnum",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract DataTypes {
constructor() {
contract_owner = msg.sender;
}
// Constants
bool public constant IS_BOOLEAN = true;
int256 public constant SIGNED_INTEGER = -10;
uint256 public constant UNSIGNED_INTEGER = 10;
string public constant EXAMPLE = "EXAMPLE";
// Address of the contract owner
address public contract_owner;
string public message = "hello, world";
// Bytes (dynamic-size and fixed-size)
bytes public dynamicBytes = bytes(message);
bytes32 public fixedBytes = bytes32(dynamicBytes);
// Arrays (dynamic-size and fixed-size)
uint256[] public dynamicArray = [1, 2, 3];
string[3] public fixedStringArray = ["Bob", " and", " Alice"];
address[] public dynamicAddressArray = [
0xd41d1744871f42Bb724D777A2d0Bf53FB43a0040,
0x1f514ae9834aEAF6c2c3eb6D20E27e865F419010
];
// Structs
struct Example_Struct {
string name;
uint256 amt;
}
Example_Struct public example_struct = Example_Struct("STRUCT", 999);
// Enums
enum StatusEnum {
Open,
Closed,
Pending
}
StatusEnum public statusOpen = StatusEnum.Open;
StatusEnum public statusClosed = StatusEnum.Closed;
StatusEnum public statusPending = StatusEnum.Pending;
// Mapping
mapping(address => uint256) public address_uint_map;
// Setters
function set_example_struct_name(string memory b) public {
example_struct.name = b;
}
function set_example_struct_amt(uint256 c) public {
example_struct.amt = c;
}
function set_string_uint_map(address key, uint256 value)
public
returns (uint256)
{
address_uint_map[key] = value;
return address_uint_map[key];
}
function getter_example() public pure returns (bool) {
return IS_BOOLEAN;
}
function get_dynamicArray() public view returns (uint256[] memory) {
return dynamicArray;
}
function get_fixedStringArray() public view returns (string[3] memory) {
return fixedStringArray;
}
function get_dynamicAddressArray() public view returns (address[] memory) {
return dynamicAddressArray;
}
}
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

This file has been truncated, but you can view the full file.
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_122": {
"entryPoint": null,
"id": 122,
"parameterSlots": 0,
"returnSlots": 0
},
"array_dataslot_t_bytes_storage": {
"entryPoint": 3059,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_dataslot_t_string_storage": {
"entryPoint": 2352,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 2194,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_bytes_storage": {
"entryPoint": 3080,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 2673,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_uint256": {
"entryPoint": 2488,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 2634,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 2508,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_bytes_storage": {
"entryPoint": 3160,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 2828,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 2373,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 2299,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 2798,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"identity": {
"entryPoint": 2498,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 2766,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x21": {
"entryPoint": 3391,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 2252,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 2205,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 2548,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 2389,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 2753,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 2606,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 2402,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 2558,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 2601,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:7508:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "66:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "77:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "93:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "87:5:1"
},
"nodeType": "YulFunctionCall",
"src": "87:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "77:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "49:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "59:6:1",
"type": ""
}
],
"src": "7:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "140:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "157:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "160:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "150:6:1"
},
"nodeType": "YulFunctionCall",
"src": "150:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "150:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "254:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "257:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "247:6:1"
},
"nodeType": "YulFunctionCall",
"src": "247:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "247:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "278:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "281:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "271:6:1"
},
"nodeType": "YulFunctionCall",
"src": "271:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "271:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "112:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "326:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "343:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "346:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "336:6:1"
},
"nodeType": "YulFunctionCall",
"src": "336:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "336:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "440:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "443:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "433:6:1"
},
"nodeType": "YulFunctionCall",
"src": "433:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "433:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "464:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "467:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "457:6:1"
},
"nodeType": "YulFunctionCall",
"src": "457:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "457:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "298:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "535:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "545:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "559:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "565:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "555:3:1"
},
"nodeType": "YulFunctionCall",
"src": "555:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "545:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "576:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "606:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "612:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "602:3:1"
},
"nodeType": "YulFunctionCall",
"src": "602:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "580:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "653:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "667:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "681:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "689:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "677:3:1"
},
"nodeType": "YulFunctionCall",
"src": "677:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "667:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "633:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "626:6:1"
},
"nodeType": "YulFunctionCall",
"src": "626:26:1"
},
"nodeType": "YulIf",
"src": "623:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "770:16:1"
},
"nodeType": "YulFunctionCall",
"src": "770:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "770:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "720:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "743:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "751:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "740:2:1"
},
"nodeType": "YulFunctionCall",
"src": "740:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "717:2:1"
},
"nodeType": "YulFunctionCall",
"src": "717:38:1"
},
"nodeType": "YulIf",
"src": "714:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "519:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "528:6:1",
"type": ""
}
],
"src": "484:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "864:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "874:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "882:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "874:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "902:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "905:3:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "895:6:1"
},
"nodeType": "YulFunctionCall",
"src": "895:14:1"
},
"nodeType": "YulExpressionStatement",
"src": "895:14:1"
},
{
"nodeType": "YulAssignment",
"src": "918:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "936:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "939:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nodeType": "YulIdentifier",
"src": "926:9:1"
},
"nodeType": "YulFunctionCall",
"src": "926:18:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "918:4:1"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "851:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "859:4:1",
"type": ""
}
],
"src": "810:141:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1001:49:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1011:33:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1029:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1036:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1025:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1025:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1041:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "1021:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1021:23:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1011:6:1"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "984:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "994:6:1",
"type": ""
}
],
"src": "957:93:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1109:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1119:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "1144:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1150:5:1"
}
],
"functionName": {
"name": "shl",
"nodeType": "YulIdentifier",
"src": "1140:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1140:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "1119:8:1"
}
]
}
]
},
"name": "shift_left_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "1084:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1090:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "1100:8:1",
"type": ""
}
],
"src": "1056:107:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1245:317:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1255:35:1",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nodeType": "YulIdentifier",
"src": "1276:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1288:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "1272:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1272:18:1"
},
"variables": [
{
"name": "shiftBits",
"nodeType": "YulTypedName",
"src": "1259:9:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "1299:109:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "1330:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1341:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "1311:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1311:97:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "1303:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1417:51:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "1448:9:1"
},
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1459:8:1"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "1429:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1429:39:1"
},
"variableNames": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1417:8:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1477:30:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1490:5:1"
},
{
"arguments": [
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "1501:4:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1497:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1497:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1486:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1486:21:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1477:5:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1516:40:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1529:5:1"
},
{
"arguments": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1540:8:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "1550:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1536:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1536:19:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "1526:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1526:30:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1516:6:1"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1206:5:1",
"type": ""
},
{
"name": "shiftBytes",
"nodeType": "YulTypedName",
"src": "1213:10:1",
"type": ""
},
{
"name": "toInsert",
"nodeType": "YulTypedName",
"src": "1225:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1238:6:1",
"type": ""
}
],
"src": "1169:393:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1613:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1623:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1634:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1623:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1595:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1605:7:1",
"type": ""
}
],
"src": "1568:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1683:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1693:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1700:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1693:3:1"
}
]
}
]
},
"name": "identity",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1669:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1679:3:1",
"type": ""
}
],
"src": "1651:60:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1777:82:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1787:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1845:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1827:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1827:24:1"
}
],
"functionName": {
"name": "identity",
"nodeType": "YulIdentifier",
"src": "1818:8:1"
},
"nodeType": "YulFunctionCall",
"src": "1818:34:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1800:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1800:53:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "1787:9:1"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1757:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "1767:9:1",
"type": ""
}
],
"src": "1717:142:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1912:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1922:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1929:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1922:3:1"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1898:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1908:3:1",
"type": ""
}
],
"src": "1865:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2022:193:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2032:63:1",
"value": {
"arguments": [
{
"name": "value_0",
"nodeType": "YulIdentifier",
"src": "2087:7:1"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "2056:30:1"
},
"nodeType": "YulFunctionCall",
"src": "2056:39:1"
},
"variables": [
{
"name": "convertedValue_0",
"nodeType": "YulTypedName",
"src": "2036:16:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2111:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2151:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "2145:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2145:11:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2158:6:1"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nodeType": "YulIdentifier",
"src": "2190:16:1"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nodeType": "YulIdentifier",
"src": "2166:23:1"
},
"nodeType": "YulFunctionCall",
"src": "2166:41:1"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nodeType": "YulIdentifier",
"src": "2117:27:1"
},
"nodeType": "YulFunctionCall",
"src": "2117:91:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "2104:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2104:105:1"
},
"nodeType": "YulExpressionStatement",
"src": "2104:105:1"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "1999:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2005:6:1",
"type": ""
},
{
"name": "value_0",
"nodeType": "YulTypedName",
"src": "2013:7:1",
"type": ""
}
],
"src": "1946:269:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2270:24:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2280:8:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2287:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "2280:3:1"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "2266:3:1",
"type": ""
}
],
"src": "2221:73:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2353:136:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2363:46:1",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulIdentifier",
"src": "2377:30:1"
},
"nodeType": "YulFunctionCall",
"src": "2377:32:1"
},
"variables": [
{
"name": "zero_0",
"nodeType": "YulTypedName",
"src": "2367:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2462:4:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2468:6:1"
},
{
"name": "zero_0",
"nodeType": "YulIdentifier",
"src": "2476:6:1"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "2418:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2418:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "2418:65:1"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "2339:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2345:6:1",
"type": ""
}
],
"src": "2300:189:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2545:136:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2612:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2656:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2663:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulIdentifier",
"src": "2626:29:1"
},
"nodeType": "YulFunctionCall",
"src": "2626:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "2626:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2565:5:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2572:3:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2562:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2562:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2577:26:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2579:22:1",
"value": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2592:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2599:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2588:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2588:13:1"
},
"variableNames": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2579:5:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2559:2:1",
"statements": []
},
"src": "2555:120:1"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nodeType": "YulTypedName",
"src": "2533:5:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2540:3:1",
"type": ""
}
],
"src": "2495:186:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2766:464:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2792:431:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2806:54:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2854:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "2822:31:1"
},
"nodeType": "YulFunctionCall",
"src": "2822:38:1"
},
"variables": [
{
"name": "dataArea",
"nodeType": "YulTypedName",
"src": "2810:8:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2873:63:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "2896:8:1"
},
{
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "2924:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "2906:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2906:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2892:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2892:44:1"
},
"variables": [
{
"name": "deleteStart",
"nodeType": "YulTypedName",
"src": "2877:11:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3093:27:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3095:23:1",
"value": {
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "3110:8:1"
},
"variableNames": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "3095:11:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "3077:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3089:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3074:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3074:18:1"
},
"nodeType": "YulIf",
"src": "3071:49:1"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "3162:11:1"
},
{
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "3179:8:1"
},
{
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3207:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "3189:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3189:22:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3175:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3175:37:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulIdentifier",
"src": "3133:28:1"
},
"nodeType": "YulFunctionCall",
"src": "3133:80:1"
},
"nodeType": "YulExpressionStatement",
"src": "3133:80:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "2783:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2788:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2780:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2780:11:1"
},
"nodeType": "YulIf",
"src": "2777:446:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "2742:5:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "2749:3:1",
"type": ""
},
{
"name": "startIndex",
"nodeType": "YulTypedName",
"src": "2754:10:1",
"type": ""
}
],
"src": "2687:543:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3299:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3309:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "3334:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3340:5:1"
}
],
"functionName": {
"name": "shr",
"nodeType": "YulIdentifier",
"src": "3330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3330:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "3309:8:1"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "3274:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3280:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "3290:8:1",
"type": ""
}
],
"src": "3236:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3410:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3420:68:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3469:1:1",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nodeType": "YulIdentifier",
"src": "3472:5:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "3465:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3465:13:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3484:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3480:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3480:6:1"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulIdentifier",
"src": "3436:28:1"
},
"nodeType": "YulFunctionCall",
"src": "3436:51:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3432:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3432:56:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "3424:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3497:25:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3511:4:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "3517:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3507:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3507:15:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "3497:6:1"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3387:4:1",
"type": ""
},
{
"name": "bytes",
"nodeType": "YulTypedName",
"src": "3393:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "3403:6:1",
"type": ""
}
],
"src": "3359:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3614:214:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3747:37:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3774:4:1"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3780:3:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "3755:18:1"
},
"nodeType": "YulFunctionCall",
"src": "3755:29:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3747:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3793:29:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3804:4:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3814:1:1",
"type": "",
"value": "2"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3817:3:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "3810:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3810:11:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "3801:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3801:21:1"
},
"variableNames": [
{
"name": "used",
"nodeType": "YulIdentifier",
"src": "3793:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3595:4:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "3601:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nodeType": "YulTypedName",
"src": "3609:4:1",
"type": ""
}
],
"src": "3533:295:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3925:1303:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3936:51:1",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "3983:3:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3950:32:1"
},
"nodeType": "YulFunctionCall",
"src": "3950:37:1"
},
"variables": [
{
"name": "newLen",
"nodeType": "YulTypedName",
"src": "3940:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4072:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "4074:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4074:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4074:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4044:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4052:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4041:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4041:30:1"
},
"nodeType": "YulIf",
"src": "4038:56:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "4104:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4150:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "4144:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4144:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nodeType": "YulIdentifier",
"src": "4118:25:1"
},
"nodeType": "YulFunctionCall",
"src": "4118:38:1"
},
"variables": [
{
"name": "oldLen",
"nodeType": "YulTypedName",
"src": "4108:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4249:4:1"
},
{
"name": "oldLen",
"nodeType": "YulIdentifier",
"src": "4255:6:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4263:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulIdentifier",
"src": "4203:45:1"
},
"nodeType": "YulFunctionCall",
"src": "4203:67:1"
},
"nodeType": "YulExpressionStatement",
"src": "4203:67:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "4280:18:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4297:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nodeType": "YulTypedName",
"src": "4284:9:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4308:17:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4321:4:1",
"type": "",
"value": "0x20"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4308:9:1"
}
]
},
{
"cases": [
{
"body": {
"nodeType": "YulBlock",
"src": "4372:611:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4386:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4405:6:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4417:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "4413:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4413:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4401:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4401:22:1"
},
"variables": [
{
"name": "loopEnd",
"nodeType": "YulTypedName",
"src": "4390:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4437:51:1",
"value": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4483:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "4451:31:1"
},
"nodeType": "YulFunctionCall",
"src": "4451:37:1"
},
"variables": [
{
"name": "dstPtr",
"nodeType": "YulTypedName",
"src": "4441:6:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4501:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4510:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "4505:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4569:163:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4594:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4612:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4617:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4608:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4608:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4602:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4602:26:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4587:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4587:42:1"
},
"nodeType": "YulExpressionStatement",
"src": "4587:42:1"
},
{
"nodeType": "YulAssignment",
"src": "4646:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4660:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4668:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4656:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4656:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4646:6:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4687:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4704:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4715:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4700:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4700:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4687:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4535:1:1"
},
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "4538:7:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4532:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4532:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "4547:21:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4549:17:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4558:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4561:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4554:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4554:12:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4549:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "4528:3:1",
"statements": []
},
"src": "4524:208:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4768:156:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4786:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4813:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4818:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4809:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4809:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4803:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4803:26:1"
},
"variables": [
{
"name": "lastValue",
"nodeType": "YulTypedName",
"src": "4790:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4853:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nodeType": "YulIdentifier",
"src": "4880:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4895:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4903:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4891:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4891:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "4861:18:1"
},
"nodeType": "YulFunctionCall",
"src": "4861:48:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4846:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4846:64:1"
},
"nodeType": "YulExpressionStatement",
"src": "4846:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "4751:7:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4760:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4748:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4748:19:1"
},
"nodeType": "YulIf",
"src": "4745:179:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4944:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4958:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4966:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "4954:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4954:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4970:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4950:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4950:22:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4937:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4937:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "4937:36:1"
}
]
},
"nodeType": "YulCase",
"src": "4365:618:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4370:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nodeType": "YulBlock",
"src": "5000:222:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5014:14:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5027:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5018:5:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5051:67:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5069:35:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "5088:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "5093:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5084:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5084:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5078:5:1"
},
"nodeType": "YulFunctionCall",
"src": "5078:26:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5069:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "5044:6:1"
},
"nodeType": "YulIf",
"src": "5041:77:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "5138:4:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5197:5:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "5204:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulIdentifier",
"src": "5144:52:1"
},
"nodeType": "YulFunctionCall",
"src": "5144:67:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "5131:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5131:81:1"
},
"nodeType": "YulExpressionStatement",
"src": "5131:81:1"
}
]
},
"nodeType": "YulCase",
"src": "4992:230:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4345:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4353:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4342:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4342:14:1"
},
"nodeType": "YulSwitch",
"src": "4335:887:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "3914:4:1",
"type": ""
},
{
"name": "src",
"nodeType": "YulTypedName",
"src": "3920:3:1",
"type": ""
}
],
"src": "3833:1395:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5287:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5297:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "5305:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5297:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5325:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "5328:3:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5318:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5318:14:1"
},
"nodeType": "YulExpressionStatement",
"src": "5318:14:1"
},
{
"nodeType": "YulAssignment",
"src": "5341:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5359:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5362:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nodeType": "YulIdentifier",
"src": "5349:9:1"
},
"nodeType": "YulFunctionCall",
"src": "5349:18:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5341:4:1"
}
]
}
]
},
"name": "array_dataslot_t_bytes_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "5274:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "5282:4:1",
"type": ""
}
],
"src": "5234:140:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5458:463:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "5484:430:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5498:53:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "5545:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_bytes_storage",
"nodeType": "YulIdentifier",
"src": "5514:30:1"
},
"nodeType": "YulFunctionCall",
"src": "5514:37:1"
},
"variables": [
{
"name": "dataArea",
"nodeType": "YulTypedName",
"src": "5502:8:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "5564:63:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "5587:8:1"
},
{
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "5615:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "5597:17:1"
},
"nodeType": "YulFunctionCall",
"src": "5597:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5583:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5583:44:1"
},
"variables": [
{
"name": "deleteStart",
"nodeType": "YulTypedName",
"src": "5568:11:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5784:27:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5786:23:1",
"value": {
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "5801:8:1"
},
"variableNames": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "5786:11:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "5768:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5780:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "5765:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5765:18:1"
},
"nodeType": "YulIf",
"src": "5762:49:1"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "5853:11:1"
},
{
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "5870:8:1"
},
{
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "5898:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "5880:17:1"
},
"nodeType": "YulFunctionCall",
"src": "5880:22:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5866:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5866:37:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulIdentifier",
"src": "5824:28:1"
},
"nodeType": "YulFunctionCall",
"src": "5824:80:1"
},
"nodeType": "YulExpressionStatement",
"src": "5824:80:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "5475:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5480:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5472:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5472:11:1"
},
"nodeType": "YulIf",
"src": "5469:445:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_bytes_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "5434:5:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "5441:3:1",
"type": ""
},
{
"name": "startIndex",
"nodeType": "YulTypedName",
"src": "5446:10:1",
"type": ""
}
],
"src": "5380:541:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6018:1301:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6029:51:1",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "6076:3:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "6043:32:1"
},
"nodeType": "YulFunctionCall",
"src": "6043:37:1"
},
"variables": [
{
"name": "newLen",
"nodeType": "YulTypedName",
"src": "6033:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6165:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "6167:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6167:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6167:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "6137:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6145:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6134:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6134:30:1"
},
"nodeType": "YulIf",
"src": "6131:56:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "6197:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "6243:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "6237:5:1"
},
"nodeType": "YulFunctionCall",
"src": "6237:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nodeType": "YulIdentifier",
"src": "6211:25:1"
},
"nodeType": "YulFunctionCall",
"src": "6211:38:1"
},
"variables": [
{
"name": "oldLen",
"nodeType": "YulTypedName",
"src": "6201:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "6341:4:1"
},
{
"name": "oldLen",
"nodeType": "YulIdentifier",
"src": "6347:6:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "6355:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_bytes_storage",
"nodeType": "YulIdentifier",
"src": "6296:44:1"
},
"nodeType": "YulFunctionCall",
"src": "6296:66:1"
},
"nodeType": "YulExpressionStatement",
"src": "6296:66:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "6372:18:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6389:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nodeType": "YulTypedName",
"src": "6376:9:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "6400:17:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6413:4:1",
"type": "",
"value": "0x20"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "6400:9:1"
}
]
},
{
"cases": [
{
"body": {
"nodeType": "YulBlock",
"src": "6464:610:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6478:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "6497:6:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6509:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "6505:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6505:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6493:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6493:22:1"
},
"variables": [
{
"name": "loopEnd",
"nodeType": "YulTypedName",
"src": "6482:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "6529:50:1",
"value": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "6574:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_bytes_storage",
"nodeType": "YulIdentifier",
"src": "6543:30:1"
},
"nodeType": "YulFunctionCall",
"src": "6543:36:1"
},
"variables": [
{
"name": "dstPtr",
"nodeType": "YulTypedName",
"src": "6533:6:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "6592:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6601:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "6596:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6660:163:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "6685:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "6703:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "6708:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6699:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6699:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "6693:5:1"
},
"nodeType": "YulFunctionCall",
"src": "6693:26:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "6678:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6678:42:1"
},
"nodeType": "YulExpressionStatement",
"src": "6678:42:1"
},
{
"nodeType": "YulAssignment",
"src": "6737:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "6751:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6759:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6747:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6747:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "6737:6:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "6778:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "6795:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6806:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6791:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6791:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "6778:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6626:1:1"
},
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "6629:7:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6623:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6623:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "6638:21:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6640:17:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6649:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6652:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6645:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6645:12:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "6640:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "6619:3:1",
"statements": []
},
"src": "6615:208:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6859:156:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6877:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "6904:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "6909:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6900:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6900:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "6894:5:1"
},
"nodeType": "YulFunctionCall",
"src": "6894:26:1"
},
"variables": [
{
"name": "lastValue",
"nodeType": "YulTypedName",
"src": "6881:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "6944:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nodeType": "YulIdentifier",
"src": "6971:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "6986:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6994:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6982:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6982:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "6952:18:1"
},
"nodeType": "YulFunctionCall",
"src": "6952:48:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "6937:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6937:64:1"
},
"nodeType": "YulExpressionStatement",
"src": "6937:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "6842:7:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "6851:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6839:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6839:19:1"
},
"nodeType": "YulIf",
"src": "6836:179:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "7035:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "7049:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7057:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "7045:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7045:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7061:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7041:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7041:22:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "7028:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7028:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "7028:36:1"
}
]
},
"nodeType": "YulCase",
"src": "6457:617:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6462:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nodeType": "YulBlock",
"src": "7091:222:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "7105:14:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "7118:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7109:5:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "7142:67:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7160:35:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "7179:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "7184:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7175:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7175:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "7169:5:1"
},
"nodeType": "YulFunctionCall",
"src": "7169:26:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7160:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "7135:6:1"
},
"nodeType": "YulIf",
"src": "7132:77:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "7229:4:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7288:5:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "7295:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulIdentifier",
"src": "7235:52:1"
},
"nodeType": "YulFunctionCall",
"src": "7235:67:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "7222:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7222:81:1"
},
"nodeType": "YulExpressionStatement",
"src": "7222:81:1"
}
]
},
"nodeType": "YulCase",
"src": "7083:230:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "6437:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6445:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6434:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6434:14:1"
},
"nodeType": "YulSwitch",
"src": "6427:886:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_bytes_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "6007:4:1",
"type": ""
},
{
"name": "src",
"nodeType": "YulTypedName",
"src": "6013:3:1",
"type": ""
}
],
"src": "5927:1392:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7353:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7370:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7373:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7363:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7363:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "7363:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7467:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7470:4:1",
"type": "",
"value": "0x21"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7460:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7460:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "7460:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7491:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7494:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7484:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7484:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "7484:15:1"
}
]
},
"name": "panic_error_0x21",
"nodeType": "YulFunctionDefinition",
"src": "7325:180:1"
}
]
},
"contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n function array_dataslot_t_bytes_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function clean_up_bytearray_end_slots_t_bytes_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_bytes_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_bytes_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_bytes_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_bytes_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "608060405260008060006101000a81548160ff0219169083151502179055507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6600155600a60025573742d35cc6634c0532925a3b844bc454e4438f44e600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600d81526020017f48656c6c6f2c20576f726c64210000000000000000000000000000000000000081525060049081620000e2919062000b0c565b506040518060400160405280600f81526020017f68656c6c6f2c20736f6c696469747900000000000000000000000000000000008152506005908162000129919062000c58565b507f68656c6c6f2c20736f6c696469747900000000000000000000000000000000006006556040518060600160405280600160ff168152602001600260ff168152602001600360ff1681525060079060036200018792919062000574565b506040518060a00160405280600160ff168152602001600260ff168152602001600360ff168152602001600460ff168152602001600560ff168152506008906005620001d5929190620005cb565b50604051806040016040528073d41d1744871f42bb724d777a2d0bf53fb43a004073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001731f514ae9834aeaf6c2c3eb6d20e27e865f41901073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250600d9060026200027d92919062000615565b50604051806060016040528073c90cd0d820d6dc447b3cd9545185b046873786a673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173401997e856ce51e0d4a8f26ce64952313bea0e2573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173221d3b9821f3cc49b42e7dd487e2a6d1b3ed0e0573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250600e9060036200036b929190620006a4565b506040518060600160405280600115151515815260200160001515151581526020016001151515158152506011906003620003a892919062000726565b50604051806040016040528060011515151581526020016000151515158152506012906002620003da929190620007d3565b5060405180604001604052806040518060400160405280600581526020017f416c6963650000000000000000000000000000000000000000000000000000008152508152602001601e815250601360008201518160000190816200043f919062000b0c565b506020820151816001015550506000601560006101000a81548160ff0219169083600281111562000475576200047462000d3f565b5b02179055506001601560016101000a81548160ff02191690836002811115620004a357620004a262000d3f565b5b02179055506002601560026101000a81548160ff02191690836002811115620004d157620004d062000d3f565b5b021790555033601560036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426016553480156200052857600080fd5b506064601760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000d6e565b828054828255906000526020600020908101928215620005b8579160200282015b82811115620005b7578251829060ff1690559160200191906001019062000595565b5b509050620005c7919062000873565b5090565b826005810192821562000602579160200282015b8281111562000601578251829060ff16905591602001919060010190620005df565b5b50905062000611919062000873565b5090565b82805482825590600052602060002090810192821562000691579160200282015b82811115620006905782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019062000636565b5b509050620006a0919062000873565b5090565b826003810192821562000713579160200282015b82811115620007125782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190620006b8565b5b50905062000722919062000873565b5090565b82805482825590600052602060002090601f01602090048101928215620007c05791602002820160005b838211156200078f57835183826101000a81548160ff021916908315150217905550926020019260010160208160000104928301926001030262000750565b8015620007be5782816101000a81549060ff02191690556001016020816000010492830192600103026200078f565b505b509050620007cf919062000873565b5090565b826002601f01602090048101928215620008605791602002820160005b838211156200082f57835183826101000a81548160ff0219169083151502179055509260200192600101602081600001049283019260010302620007f0565b80156200085e5782816101000a81549060ff02191690556001016020816000010492830192600103026200082f565b505b5090506200086f919062000873565b5090565b5b808211156200088e57600081600090555060010162000874565b5090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200091457607f821691505b6020821081036200092a5762000929620008cc565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620009947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000955565b620009a0868362000955565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620009ed620009e7620009e184620009b8565b620009c2565b620009b8565b9050919050565b6000819050919050565b62000a0983620009cc565b62000a2162000a1882620009f4565b84845462000962565b825550505050565b600090565b62000a3862000a29565b62000a45818484620009fe565b505050565b5b8181101562000a6d5762000a6160008262000a2e565b60018101905062000a4b565b5050565b601f82111562000abc5762000a868162000930565b62000a918462000945565b8101602085101562000aa1578190505b62000ab962000ab08562000945565b83018262000a4a565b50505b505050565b600082821c905092915050565b600062000ae16000198460080262000ac1565b1980831691505092915050565b600062000afc838362000ace565b9150826002028217905092915050565b62000b178262000892565b67ffffffffffffffff81111562000b335762000b326200089d565b5b62000b3f8254620008fb565b62000b4c82828562000a71565b600060209050601f83116001811462000b84576000841562000b6f578287015190505b62000b7b858262000aee565b86555062000beb565b601f19841662000b948662000930565b60005b8281101562000bbe5784890151825560018201915060208501945060208101905062000b97565b8683101562000bde578489015162000bda601f89168262000ace565b8355505b6001600288020188555050505b505050505050565b60008190508160005260206000209050919050565b601f82111562000c535762000c1d8162000bf3565b62000c288462000945565b8101602085101562000c38578190505b62000c5062000c478562000945565b83018262000a4a565b50505b505050565b62000c638262000892565b67ffffffffffffffff81111562000c7f5762000c7e6200089d565b5b62000c8b8254620008fb565b62000c9882828562000c08565b600060209050601f83116001811462000cd0576000841562000cbb578287015190505b62000cc7858262000aee565b86555062000d37565b601f19841662000ce08662000bf3565b60005b8281101562000d0a5784890151825560018201915060208501945060208101905062000ce3565b8683101562000d2a578489015162000d26601f89168262000ace565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b610bfc8062000d7e6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063c5c85fe3116100ad578063ef8a923511610071578063ef8a923514610360578063f8d0de921461037e578063fa391c641461039c578063fc1c481e146103ba578063fff28170146103d85761012c565b8063c5c85fe3146102b8578063cef7e0de146102d6578063dd5e6619146102f4578063e4128fb314610324578063ef690cc0146103425761012c565b806367e404ce116100f457806367e404ce146101fd57806377ec2b551461021b57806388876b4a1461023a5780639a5009ac146102585780639a9bdca7146102885761012c565b80631914f8df146101315780631c11a0471461016157806327e235e31461019157806333ae8158146101c157806351f16988146101df575b600080fd5b61014b600480360381019061014691906107d1565b610408565b6040516101589190610819565b60405180910390f35b61017b600480360381019061017691906107d1565b61043c565b6040516101889190610875565b60405180910390f35b6101ab60048036038101906101a691906108bc565b61047b565b6040516101b891906108f8565b60405180910390f35b6101c9610493565b6040516101d691906109a3565b60405180910390f35b6101e7610521565b6040516101f49190610a3c565b60405180910390f35b610205610534565b6040516102129190610875565b60405180910390f35b61022361055a565b604051610231929190610aac565b60405180910390f35b6102426105f4565b60405161024f91906108f8565b60405180910390f35b610272600480360381019061026d91906107d1565b6105fa565b60405161027f91906108f8565b60405180910390f35b6102a2600480360381019061029d91906107d1565b610615565b6040516102af91906108f8565b60405180910390f35b6102c0610639565b6040516102cd9190610af5565b60405180910390f35b6102de61063f565b6040516102eb9190610b29565b60405180910390f35b61030e600480360381019061030991906107d1565b610645565b60405161031b9190610819565b60405180910390f35b61032c61066f565b6040516103399190610875565b60405180910390f35b61034a610695565b6040516103579190610b44565b60405180910390f35b610368610723565b6040516103759190610a3c565b60405180910390f35b610386610736565b60405161039391906108f8565b60405180910390f35b6103a461073c565b6040516103b19190610819565b60405180910390f35b6103c261074d565b6040516103cf9190610a3c565b60405180910390f35b6103f260048036038101906103ed91906107d1565b610760565b6040516103ff9190610875565b60405180910390f35b6011818154811061041857600080fd5b9060005260206000209060209182820401919006915054906101000a900460ff1681565b600d818154811061044c57600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60176020528060005260406000206000915090505481565b600580546104a090610b95565b80601f01602080910402602001604051908101604052809291908181526020018280546104cc90610b95565b80156105195780601f106104ee57610100808354040283529160200191610519565b820191906000526020600020905b8154815290600101906020018083116104fc57829003601f168201915b505050505081565b601560029054906101000a900460ff1681565b601560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601380600001805461056b90610b95565b80601f016020809104026020016040519081016040528092919081815260200182805461059790610b95565b80156105e45780601f106105b9576101008083540402835291602001916105e4565b820191906000526020600020905b8154815290600101906020018083116105c757829003601f168201915b5050505050908060010154905082565b60165481565b6008816005811061060a57600080fd5b016000915090505481565b6007818154811061062557600080fd5b906000526020600020016000915090505481565b60015481565b60065481565b6012816002811061065557600080fd5b60209182820401919006915054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600480546106a290610b95565b80601f01602080910402602001604051908101604052809291908181526020018280546106ce90610b95565b801561071b5780601f106106f05761010080835404028352916020019161071b565b820191906000526020600020905b8154815290600101906020018083116106fe57829003601f168201915b505050505081565b601560009054906101000a900460ff1681565b60025481565b60008054906101000a900460ff1681565b601560019054906101000a900460ff1681565b600e816003811061077057600080fd5b016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080fd5b6000819050919050565b6107ae8161079b565b81146107b957600080fd5b50565b6000813590506107cb816107a5565b92915050565b6000602082840312156107e7576107e6610796565b5b60006107f5848285016107bc565b91505092915050565b60008115159050919050565b610813816107fe565b82525050565b600060208201905061082e600083018461080a565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061085f82610834565b9050919050565b61086f81610854565b82525050565b600060208201905061088a6000830184610866565b92915050565b61089981610854565b81146108a457600080fd5b50565b6000813590506108b681610890565b92915050565b6000602082840312156108d2576108d1610796565b5b60006108e0848285016108a7565b91505092915050565b6108f28161079b565b82525050565b600060208201905061090d60008301846108e9565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561094d578082015181840152602081019050610932565b60008484015250505050565b6000601f19601f8301169050919050565b600061097582610913565b61097f818561091e565b935061098f81856020860161092f565b61099881610959565b840191505092915050565b600060208201905081810360008301526109bd818461096a565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610a0557610a046109c5565b5b50565b6000819050610a16826109f4565b919050565b6000610a2682610a08565b9050919050565b610a3681610a1b565b82525050565b6000602082019050610a516000830184610a2d565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610a7e82610a57565b610a888185610a62565b9350610a9881856020860161092f565b610aa181610959565b840191505092915050565b60006040820190508181036000830152610ac68185610a73565b9050610ad560208301846108e9565b9392505050565b6000819050919050565b610aef81610adc565b82525050565b6000602082019050610b0a6000830184610ae6565b92915050565b6000819050919050565b610b2381610b10565b82525050565b6000602082019050610b3e6000830184610b1a565b92915050565b60006020820190508181036000830152610b5e8184610a73565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610bad57607f821691505b602082108103610bc057610bbf610b66565b5b5091905056fea264697066735822122013f45dde9d6c44d453544271fae93cfe051abf64802546527042973f7b66cdf664736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 PUSH1 0x1 SSTORE PUSH1 0xA PUSH1 0x2 SSTORE PUSH20 0x742D35CC6634C0532925A3B844BC454E4438F44E PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xD DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F2C20576F726C642100000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x4 SWAP1 DUP2 PUSH3 0xE2 SWAP2 SWAP1 PUSH3 0xB0C JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xF DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x68656C6C6F2C20736F6C69646974790000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x5 SWAP1 DUP2 PUSH3 0x129 SWAP2 SWAP1 PUSH3 0xC58 JUMP JUMPDEST POP PUSH32 0x68656C6C6F2C20736F6C69646974790000000000000000000000000000000000 PUSH1 0x6 SSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 PUSH1 0xFF AND DUP2 MSTORE POP PUSH1 0x7 SWAP1 PUSH1 0x3 PUSH3 0x187 SWAP3 SWAP2 SWAP1 PUSH3 0x574 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 PUSH1 0xFF AND DUP2 MSTORE POP PUSH1 0x8 SWAP1 PUSH1 0x5 PUSH3 0x1D5 SWAP3 SWAP2 SWAP1 PUSH3 0x5CB JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH20 0xD41D1744871F42BB724D777A2D0BF53FB43A0040 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH20 0x1F514AE9834AEAF6C2C3EB6D20E27E865F419010 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP PUSH1 0xD SWAP1 PUSH1 0x2 PUSH3 0x27D SWAP3 SWAP2 SWAP1 PUSH3 0x615 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH20 0xC90CD0D820D6DC447B3CD9545185B046873786A6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH20 0x401997E856CE51E0D4A8F26CE64952313BEA0E25 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH20 0x221D3B9821F3CC49B42E7DD487E2A6D1B3ED0E05 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP PUSH1 0xE SWAP1 PUSH1 0x3 PUSH3 0x36B SWAP3 SWAP2 SWAP1 PUSH3 0x6A4 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE POP PUSH1 0x11 SWAP1 PUSH1 0x3 PUSH3 0x3A8 SWAP3 SWAP2 SWAP1 PUSH3 0x726 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE POP PUSH1 0x12 SWAP1 PUSH1 0x2 PUSH3 0x3DA SWAP3 SWAP2 SWAP1 PUSH3 0x7D3 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x416C696365000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1E DUP2 MSTORE POP PUSH1 0x13 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SWAP1 DUP2 PUSH3 0x43F SWAP2 SWAP1 PUSH3 0xB0C JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE POP POP PUSH1 0x0 PUSH1 0x15 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x475 JUMPI PUSH3 0x474 PUSH3 0xD3F JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x15 PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x4A3 JUMPI PUSH3 0x4A2 PUSH3 0xD3F JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP PUSH1 0x2 PUSH1 0x15 PUSH1 0x2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH3 0x4D1 JUMPI PUSH3 0x4D0 PUSH3 0xD3F JUMP JUMPDEST JUMPDEST MUL OR SWAP1 SSTORE POP CALLER PUSH1 0x15 PUSH1 0x3 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP TIMESTAMP PUSH1 0x16 SSTORE CALLVALUE DUP1 ISZERO PUSH3 0x528 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x64 PUSH1 0x17 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH3 0xD6E JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH3 0x5B8 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x5B7 JUMPI DUP3 MLOAD DUP3 SWAP1 PUSH1 0xFF AND SWAP1 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x595 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0x5C7 SWAP2 SWAP1 PUSH3 0x873 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP3 PUSH1 0x5 DUP2 ADD SWAP3 DUP3 ISZERO PUSH3 0x602 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x601 JUMPI DUP3 MLOAD DUP3 SWAP1 PUSH1 0xFF AND SWAP1 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x5DF JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0x611 SWAP2 SWAP1 PUSH3 0x873 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP3 DUP3 ISZERO PUSH3 0x691 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x690 JUMPI DUP3 MLOAD DUP3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x636 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0x6A0 SWAP2 SWAP1 PUSH3 0x873 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP3 PUSH1 0x3 DUP2 ADD SWAP3 DUP3 ISZERO PUSH3 0x713 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x712 JUMPI DUP3 MLOAD DUP3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x6B8 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0x722 SWAP2 SWAP1 PUSH3 0x873 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 ISZERO PUSH3 0x7C0 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD PUSH1 0x0 JUMPDEST DUP4 DUP3 GT ISZERO PUSH3 0x78F JUMPI DUP4 MLOAD DUP4 DUP3 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP SWAP3 PUSH1 0x20 ADD SWAP3 PUSH1 0x1 ADD PUSH1 0x20 DUP2 PUSH1 0x0 ADD DIV SWAP3 DUP4 ADD SWAP3 PUSH1 0x1 SUB MUL PUSH3 0x750 JUMP JUMPDEST DUP1 ISZERO PUSH3 0x7BE JUMPI DUP3 DUP2 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 ADD PUSH1 0x20 DUP2 PUSH1 0x0 ADD DIV SWAP3 DUP4 ADD SWAP3 PUSH1 0x1 SUB MUL PUSH3 0x78F JUMP JUMPDEST POP JUMPDEST POP SWAP1 POP PUSH3 0x7CF SWAP2 SWAP1 PUSH3 0x873 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP3 PUSH1 0x2 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 ISZERO PUSH3 0x860 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD PUSH1 0x0 JUMPDEST DUP4 DUP3 GT ISZERO PUSH3 0x82F JUMPI DUP4 MLOAD DUP4 DUP3 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP SWAP3 PUSH1 0x20 ADD SWAP3 PUSH1 0x1 ADD PUSH1 0x20 DUP2 PUSH1 0x0 ADD DIV SWAP3 DUP4 ADD SWAP3 PUSH1 0x1 SUB MUL PUSH3 0x7F0 JUMP JUMPDEST DUP1 ISZERO PUSH3 0x85E JUMPI DUP3 DUP2 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 ADD PUSH1 0x20 DUP2 PUSH1 0x0 ADD DIV SWAP3 DUP4 ADD SWAP3 PUSH1 0x1 SUB MUL PUSH3 0x82F JUMP JUMPDEST POP JUMPDEST POP SWAP1 POP PUSH3 0x86F SWAP2 SWAP1 PUSH3 0x873 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x88E JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH3 0x874 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x914 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x92A JUMPI PUSH3 0x929 PUSH3 0x8CC JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x994 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x955 JUMP JUMPDEST PUSH3 0x9A0 DUP7 DUP4 PUSH3 0x955 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x9ED PUSH3 0x9E7 PUSH3 0x9E1 DUP5 PUSH3 0x9B8 JUMP JUMPDEST PUSH3 0x9C2 JUMP JUMPDEST PUSH3 0x9B8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0xA09 DUP4 PUSH3 0x9CC JUMP JUMPDEST PUSH3 0xA21 PUSH3 0xA18 DUP3 PUSH3 0x9F4 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x962 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0xA38 PUSH3 0xA29 JUMP JUMPDEST PUSH3 0xA45 DUP2 DUP5 DUP5 PUSH3 0x9FE JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0xA6D JUMPI PUSH3 0xA61 PUSH1 0x0 DUP3 PUSH3 0xA2E JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0xA4B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0xABC JUMPI PUSH3 0xA86 DUP2 PUSH3 0x930 JUMP JUMPDEST PUSH3 0xA91 DUP5 PUSH3 0x945 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0xAA1 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0xAB9 PUSH3 0xAB0 DUP6 PUSH3 0x945 JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0xA4A JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xAE1 PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0xAC1 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xAFC DUP4 DUP4 PUSH3 0xACE JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0xB17 DUP3 PUSH3 0x892 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0xB33 JUMPI PUSH3 0xB32 PUSH3 0x89D JUMP JUMPDEST JUMPDEST PUSH3 0xB3F DUP3 SLOAD PUSH3 0x8FB JUMP JUMPDEST PUSH3 0xB4C DUP3 DUP3 DUP6 PUSH3 0xA71 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0xB84 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0xB6F JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0xB7B DUP6 DUP3 PUSH3 0xAEE JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0xBEB JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0xB94 DUP7 PUSH3 0x930 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0xBBE JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0xB97 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0xBDE JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0xBDA PUSH1 0x1F DUP10 AND DUP3 PUSH3 0xACE JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0xC53 JUMPI PUSH3 0xC1D DUP2 PUSH3 0xBF3 JUMP JUMPDEST PUSH3 0xC28 DUP5 PUSH3 0x945 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0xC38 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0xC50 PUSH3 0xC47 DUP6 PUSH3 0x945 JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0xA4A JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH3 0xC63 DUP3 PUSH3 0x892 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0xC7F JUMPI PUSH3 0xC7E PUSH3 0x89D JUMP JUMPDEST JUMPDEST PUSH3 0xC8B DUP3 SLOAD PUSH3 0x8FB JUMP JUMPDEST PUSH3 0xC98 DUP3 DUP3 DUP6 PUSH3 0xC08 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0xCD0 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0xCBB JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0xCC7 DUP6 DUP3 PUSH3 0xAEE JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0xD37 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0xCE0 DUP7 PUSH3 0xBF3 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0xD0A JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0xCE3 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0xD2A JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0xD26 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0xACE JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xBFC DUP1 PUSH3 0xD7E PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x12C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xC5C85FE3 GT PUSH2 0xAD JUMPI DUP1 PUSH4 0xEF8A9235 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xEF8A9235 EQ PUSH2 0x360 JUMPI DUP1 PUSH4 0xF8D0DE92 EQ PUSH2 0x37E JUMPI DUP1 PUSH4 0xFA391C64 EQ PUSH2 0x39C JUMPI DUP1 PUSH4 0xFC1C481E EQ PUSH2 0x3BA JUMPI DUP1 PUSH4 0xFFF28170 EQ PUSH2 0x3D8 JUMPI PUSH2 0x12C JUMP JUMPDEST DUP1 PUSH4 0xC5C85FE3 EQ PUSH2 0x2B8 JUMPI DUP1 PUSH4 0xCEF7E0DE EQ PUSH2 0x2D6 JUMPI DUP1 PUSH4 0xDD5E6619 EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0xE4128FB3 EQ PUSH2 0x324 JUMPI DUP1 PUSH4 0xEF690CC0 EQ PUSH2 0x342 JUMPI PUSH2 0x12C JUMP JUMPDEST DUP1 PUSH4 0x67E404CE GT PUSH2 0xF4 JUMPI DUP1 PUSH4 0x67E404CE EQ PUSH2 0x1FD JUMPI DUP1 PUSH4 0x77EC2B55 EQ PUSH2 0x21B JUMPI DUP1 PUSH4 0x88876B4A EQ PUSH2 0x23A JUMPI DUP1 PUSH4 0x9A5009AC EQ PUSH2 0x258 JUMPI DUP1 PUSH4 0x9A9BDCA7 EQ PUSH2 0x288 JUMPI PUSH2 0x12C JUMP JUMPDEST DUP1 PUSH4 0x1914F8DF EQ PUSH2 0x131 JUMPI DUP1 PUSH4 0x1C11A047 EQ PUSH2 0x161 JUMPI DUP1 PUSH4 0x27E235E3 EQ PUSH2 0x191 JUMPI DUP1 PUSH4 0x33AE8158 EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x51F16988 EQ PUSH2 0x1DF JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x146 SWAP2 SWAP1 PUSH2 0x7D1 JUMP JUMPDEST PUSH2 0x408 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x158 SWAP2 SWAP1 PUSH2 0x819 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x17B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x176 SWAP2 SWAP1 PUSH2 0x7D1 JUMP JUMPDEST PUSH2 0x43C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x188 SWAP2 SWAP1 PUSH2 0x875 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1A6 SWAP2 SWAP1 PUSH2 0x8BC JUMP JUMPDEST PUSH2 0x47B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x8F8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1C9 PUSH2 0x493 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D6 SWAP2 SWAP1 PUSH2 0x9A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1E7 PUSH2 0x521 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F4 SWAP2 SWAP1 PUSH2 0xA3C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x205 PUSH2 0x534 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x212 SWAP2 SWAP1 PUSH2 0x875 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x223 PUSH2 0x55A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x231 SWAP3 SWAP2 SWAP1 PUSH2 0xAAC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x242 PUSH2 0x5F4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24F SWAP2 SWAP1 PUSH2 0x8F8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x272 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x26D SWAP2 SWAP1 PUSH2 0x7D1 JUMP JUMPDEST PUSH2 0x5FA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x27F SWAP2 SWAP1 PUSH2 0x8F8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2A2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x29D SWAP2 SWAP1 PUSH2 0x7D1 JUMP JUMPDEST PUSH2 0x615 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2AF SWAP2 SWAP1 PUSH2 0x8F8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C0 PUSH2 0x639 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2CD SWAP2 SWAP1 PUSH2 0xAF5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2DE PUSH2 0x63F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2EB SWAP2 SWAP1 PUSH2 0xB29 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x30E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x309 SWAP2 SWAP1 PUSH2 0x7D1 JUMP JUMPDEST PUSH2 0x645 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x31B SWAP2 SWAP1 PUSH2 0x819 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x32C PUSH2 0x66F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x339 SWAP2 SWAP1 PUSH2 0x875 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x34A PUSH2 0x695 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x357 SWAP2 SWAP1 PUSH2 0xB44 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x368 PUSH2 0x723 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x375 SWAP2 SWAP1 PUSH2 0xA3C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x386 PUSH2 0x736 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x393 SWAP2 SWAP1 PUSH2 0x8F8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3A4 PUSH2 0x73C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3B1 SWAP2 SWAP1 PUSH2 0x819 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3C2 PUSH2 0x74D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3CF SWAP2 SWAP1 PUSH2 0xA3C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x3F2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3ED SWAP2 SWAP1 PUSH2 0x7D1 JUMP JUMPDEST PUSH2 0x760 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3FF SWAP2 SWAP1 PUSH2 0x875 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x11 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x418 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x20 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0xD DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x44C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x17 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH2 0x4A0 SWAP1 PUSH2 0xB95 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4CC SWAP1 PUSH2 0xB95 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x519 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4EE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x519 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4FC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x15 PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x15 PUSH1 0x3 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x13 DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0x56B SWAP1 PUSH2 0xB95 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x597 SWAP1 PUSH2 0xB95 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5E4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5B9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5E4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5C7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x16 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x8 DUP2 PUSH1 0x5 DUP2 LT PUSH2 0x60A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x7 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x625 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x6 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x12 DUP2 PUSH1 0x2 DUP2 LT PUSH2 0x655 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH2 0x6A2 SWAP1 PUSH2 0xB95 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x6CE SWAP1 PUSH2 0xB95 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x71B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x6F0 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x71B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x6FE JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x15 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x15 PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0xE DUP2 PUSH1 0x3 DUP2 LT PUSH2 0x770 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST ADD PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x7AE DUP2 PUSH2 0x79B JUMP JUMPDEST DUP2 EQ PUSH2 0x7B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x7CB DUP2 PUSH2 0x7A5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x7E7 JUMPI PUSH2 0x7E6 PUSH2 0x796 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x7F5 DUP5 DUP3 DUP6 ADD PUSH2 0x7BC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x813 DUP2 PUSH2 0x7FE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x82E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x80A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x85F DUP3 PUSH2 0x834 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x86F DUP2 PUSH2 0x854 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x88A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x866 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x899 DUP2 PUSH2 0x854 JUMP JUMPDEST DUP2 EQ PUSH2 0x8A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x8B6 DUP2 PUSH2 0x890 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x8D2 JUMPI PUSH2 0x8D1 PUSH2 0x796 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x8E0 DUP5 DUP3 DUP6 ADD PUSH2 0x8A7 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x8F2 DUP2 PUSH2 0x79B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x90D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x8E9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x94D JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x932 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x975 DUP3 PUSH2 0x913 JUMP JUMPDEST PUSH2 0x97F DUP2 DUP6 PUSH2 0x91E JUMP JUMPDEST SWAP4 POP PUSH2 0x98F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x92F JUMP JUMPDEST PUSH2 0x998 DUP2 PUSH2 0x959 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x9BD DUP2 DUP5 PUSH2 0x96A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0xA05 JUMPI PUSH2 0xA04 PUSH2 0x9C5 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0xA16 DUP3 PUSH2 0x9F4 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA26 DUP3 PUSH2 0xA08 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xA36 DUP2 PUSH2 0xA1B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xA51 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xA2D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA7E DUP3 PUSH2 0xA57 JUMP JUMPDEST PUSH2 0xA88 DUP2 DUP6 PUSH2 0xA62 JUMP JUMPDEST SWAP4 POP PUSH2 0xA98 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x92F JUMP JUMPDEST PUSH2 0xAA1 DUP2 PUSH2 0x959 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xAC6 DUP2 DUP6 PUSH2 0xA73 JUMP JUMPDEST SWAP1 POP PUSH2 0xAD5 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x8E9 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xAEF DUP2 PUSH2 0xADC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB0A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xAE6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB23 DUP2 PUSH2 0xB10 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB3E PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB1A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xB5E DUP2 DUP5 PUSH2 0xA73 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0xBAD JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xBC0 JUMPI PUSH2 0xBBF PUSH2 0xB66 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SGT DELEGATECALL 0x5D 0xDE SWAP14 PUSH13 0x44D453544271FAE93CFE051ABF PUSH5 0x8025465270 TIMESTAMP SWAP8 EXTCODEHASH PUSH28 0x66CDF664736F6C634300081200330000000000000000000000000000 ",
"sourceMap": "57:1621:0:-:0;;;130:5;104:31;;;;;;;;;;;;;;;;;;;;209:3;179:33;;251:2;218:35;;304:42;275:71;;;;;;;;;;;;;;;;;;;;367:40;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;457:45;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;508;;;604:38;;;;;;;;634:1;604:38;;;;;;637:1;604:38;;;;;;640:1;604:38;;;;;;;;;;;;;:::i;:::-;;648:43;;;;;;;;677:1;648:43;;;;;;680:1;648:43;;;;;;683:1;648:43;;;;;;686:1;648:43;;;;;;689:1;648:43;;;;;;;;;;;;;:::i;:::-;;698:127;;;;;;;;738:42;698:127;;;;;;;;782:42;698:127;;;;;;;;;;;;;;;:::i;:::-;;831:170;;;;;;;;870:42;831:170;;;;;;;;914:42;831:170;;;;;;;;958:42;831:170;;;;;;;;;;;;;;;:::i;:::-;;1008:52;;;;;;;;1042:4;1008:52;;;;;;;;1048:5;1008:52;;;;;;;;1055:4;1008:52;;;;;;;;;;;;;;;:::i;:::-;;1066:45;;;;;;;;1099:4;1066:45;;;;;;;;1105:5;1066:45;;;;;;;;;;;;;;;:::i;:::-;;1220:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1236:2;1220:19;;;1197:42;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;1331:11;1301:41;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;1375:13;1348:40;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;1425:14;1394:45;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;1494:10;1470:34;;;;;;;;;;;;;;;;;;;;1535:15;1510:40;;1619:57;;;;;;;;;;1666:3;1643:8;:20;1652:10;1643:20;;;;;;;;;;;;;;;:26;;;;57:1621;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:180::-;160:77;157:1;150:88;257:4;254:1;247:15;281:4;278:1;271:15;298:180;346:77;343:1;336:88;443:4;440:1;433:15;467:4;464:1;457:15;484:320;528:6;565:1;559:4;555:12;545:22;;612:1;606:4;602:12;633:18;623:81;;689:4;681:6;677:17;667:27;;623:81;751:2;743:6;740:14;720:18;717:38;714:84;;770:18;;:::i;:::-;714:84;535:269;484:320;;;:::o;810:141::-;859:4;882:3;874:11;;905:3;902:1;895:14;939:4;936:1;926:18;918:26;;810:141;;;:::o;957:93::-;994:6;1041:2;1036;1029:5;1025:14;1021:23;1011:33;;957:93;;;:::o;1056:107::-;1100:8;1150:5;1144:4;1140:16;1119:37;;1056:107;;;;:::o;1169:393::-;1238:6;1288:1;1276:10;1272:18;1311:97;1341:66;1330:9;1311:97;:::i;:::-;1429:39;1459:8;1448:9;1429:39;:::i;:::-;1417:51;;1501:4;1497:9;1490:5;1486:21;1477:30;;1550:4;1540:8;1536:19;1529:5;1526:30;1516:40;;1245:317;;1169:393;;;;;:::o;1568:77::-;1605:7;1634:5;1623:16;;1568:77;;;:::o;1651:60::-;1679:3;1700:5;1693:12;;1651:60;;;:::o;1717:142::-;1767:9;1800:53;1818:34;1827:24;1845:5;1827:24;:::i;:::-;1818:34;:::i;:::-;1800:53;:::i;:::-;1787:66;;1717:142;;;:::o;1865:75::-;1908:3;1929:5;1922:12;;1865:75;;;:::o;1946:269::-;2056:39;2087:7;2056:39;:::i;:::-;2117:91;2166:41;2190:16;2166:41;:::i;:::-;2158:6;2151:4;2145:11;2117:91;:::i;:::-;2111:4;2104:105;2022:193;1946:269;;;:::o;2221:73::-;2266:3;2221:73;:::o;2300:189::-;2377:32;;:::i;:::-;2418:65;2476:6;2468;2462:4;2418:65;:::i;:::-;2353:136;2300:189;;:::o;2495:186::-;2555:120;2572:3;2565:5;2562:14;2555:120;;;2626:39;2663:1;2656:5;2626:39;:::i;:::-;2599:1;2592:5;2588:13;2579:22;;2555:120;;;2495:186;;:::o;2687:543::-;2788:2;2783:3;2780:11;2777:446;;;2822:38;2854:5;2822:38;:::i;:::-;2906:29;2924:10;2906:29;:::i;:::-;2896:8;2892:44;3089:2;3077:10;3074:18;3071:49;;;3110:8;3095:23;;3071:49;3133:80;3189:22;3207:3;3189:22;:::i;:::-;3179:8;3175:37;3162:11;3133:80;:::i;:::-;2792:431;;2777:446;2687:543;;;:::o;3236:117::-;3290:8;3340:5;3334:4;3330:16;3309:37;;3236:117;;;;:::o;3359:169::-;3403:6;3436:51;3484:1;3480:6;3472:5;3469:1;3465:13;3436:51;:::i;:::-;3432:56;3517:4;3511;3507:15;3497:25;;3410:118;3359:169;;;;:::o;3533:295::-;3609:4;3755:29;3780:3;3774:4;3755:29;:::i;:::-;3747:37;;3817:3;3814:1;3810:11;3804:4;3801:21;3793:29;;3533:295;;;;:::o;3833:1395::-;3950:37;3983:3;3950:37;:::i;:::-;4052:18;4044:6;4041:30;4038:56;;;4074:18;;:::i;:::-;4038:56;4118:38;4150:4;4144:11;4118:38;:::i;:::-;4203:67;4263:6;4255;4249:4;4203:67;:::i;:::-;4297:1;4321:4;4308:17;;4353:2;4345:6;4342:14;4370:1;4365:618;;;;5027:1;5044:6;5041:77;;;5093:9;5088:3;5084:19;5078:26;5069:35;;5041:77;5144:67;5204:6;5197:5;5144:67;:::i;:::-;5138:4;5131:81;5000:222;4335:887;;4365:618;4417:4;4413:9;4405:6;4401:22;4451:37;4483:4;4451:37;:::i;:::-;4510:1;4524:208;4538:7;4535:1;4532:14;4524:208;;;4617:9;4612:3;4608:19;4602:26;4594:6;4587:42;4668:1;4660:6;4656:14;4646:24;;4715:2;4704:9;4700:18;4687:31;;4561:4;4558:1;4554:12;4549:17;;4524:208;;;4760:6;4751:7;4748:19;4745:179;;;4818:9;4813:3;4809:19;4803:26;4861:48;4903:4;4895:6;4891:17;4880:9;4861:48;:::i;:::-;4853:6;4846:64;4768:156;4745:179;4970:1;4966;4958:6;4954:14;4950:22;4944:4;4937:36;4372:611;;;4335:887;;3925:1303;;;3833:1395;;:::o;5234:140::-;5282:4;5305:3;5297:11;;5328:3;5325:1;5318:14;5362:4;5359:1;5349:18;5341:26;;5234:140;;;:::o;5380:541::-;5480:2;5475:3;5472:11;5469:445;;;5514:37;5545:5;5514:37;:::i;:::-;5597:29;5615:10;5597:29;:::i;:::-;5587:8;5583:44;5780:2;5768:10;5765:18;5762:49;;;5801:8;5786:23;;5762:49;5824:80;5880:22;5898:3;5880:22;:::i;:::-;5870:8;5866:37;5853:11;5824:80;:::i;:::-;5484:430;;5469:445;5380:541;;;:::o;5927:1392::-;6043:37;6076:3;6043:37;:::i;:::-;6145:18;6137:6;6134:30;6131:56;;;6167:18;;:::i;:::-;6131:56;6211:38;6243:4;6237:11;6211:38;:::i;:::-;6296:66;6355:6;6347;6341:4;6296:66;:::i;:::-;6389:1;6413:4;6400:17;;6445:2;6437:6;6434:14;6462:1;6457:617;;;;7118:1;7135:6;7132:77;;;7184:9;7179:3;7175:19;7169:26;7160:35;;7132:77;7235:67;7295:6;7288:5;7235:67;:::i;:::-;7229:4;7222:81;7091:222;6427:886;;6457:617;6509:4;6505:9;6497:6;6493:22;6543:36;6574:4;6543:36;:::i;:::-;6601:1;6615:208;6629:7;6626:1;6623:14;6615:208;;;6708:9;6703:3;6699:19;6693:26;6685:6;6678:42;6759:1;6751:6;6747:14;6737:24;;6806:2;6795:9;6791:18;6778:31;;6652:4;6649:1;6645:12;6640:17;;6615:208;;;6851:6;6842:7;6839:19;6836:179;;;6909:9;6904:3;6900:19;6894:26;6952:48;6994:4;6986:6;6982:17;6971:9;6952:48;:::i;:::-;6944:6;6937:64;6859:156;6836:179;7061:1;7057;7049:6;7045:14;7041:22;7035:4;7028:36;6464:610;;;6427:886;;6018:1301;;;5927:1392;;:::o;7325:180::-;7373:77;7370:1;7363:88;7470:4;7467:1;7460:15;7494:4;7491:1;7484:15;57:1621:0;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@balances_111": {
"entryPoint": 1147,
"id": 111,
"parameterSlots": 0,
"returnSlots": 0
},
"@currentStatus_89": {
"entryPoint": 1827,
"id": 89,
"parameterSlots": 0,
"returnSlots": 0
},
"@dynamicAddressArray_46": {
"entryPoint": 1084,
"id": 46,
"parameterSlots": 0,
"returnSlots": 0
},
"@dynamicArray_30": {
"entryPoint": 1557,
"id": 30,
"parameterSlots": 0,
"returnSlots": 0
},
"@dynamicBoolArray_61": {
"entryPoint": 1032,
"id": 61,
"parameterSlots": 0,
"returnSlots": 0
},
"@dynamicBytes_20": {
"entryPoint": 1171,
"id": 20,
"parameterSlots": 0,
"returnSlots": 0
},
"@fixedAddressArray_54": {
"entryPoint": 1888,
"id": 54,
"parameterSlots": 0,
"returnSlots": 0
},
"@fixedArray_40": {
"entryPoint": 1530,
"id": 40,
"parameterSlots": 0,
"returnSlots": 0
},
"@fixedBoolArray_68": {
"entryPoint": 1605,
"id": 68,
"parameterSlots": 0,
"returnSlots": 0
},
"@fixedBytes_23": {
"entryPoint": 1599,
"id": 23,
"parameterSlots": 0,
"returnSlots": 0
},
"@greeting_17": {
"entryPoint": 1685,
"id": 17,
"parameterSlots": 0,
"returnSlots": 0
},
"@isCompleted_4": {
"entryPoint": 1852,
"id": 4,
"parameterSlots": 0,
"returnSlots": 0
},
"@nextStatus_94": {
"entryPoint": 1869,
"id": 94,
"parameterSlots": 0,
"returnSlots": 0
},
"@person_80": {
"entryPoint": 1370,
"id": 80,
"parameterSlots": 0,
"returnSlots": 0
},
"@previousStatus_99": {
"entryPoint": 1313,
"id": 99,
"parameterSlots": 0,
"returnSlots": 0
},
"@sender_103": {
"entryPoint": 1332,
"id": 103,
"parameterSlots": 0,
"returnSlots": 0
},
"@signedInteger_8": {
"entryPoint": 1593,
"id": 8,
"parameterSlots": 0,
"returnSlots": 0
},
"@timesetamp_107": {
"entryPoint": 1524,
"id": 107,
"parameterSlots": 0,
"returnSlots": 0
},
"@unsignedInteger_11": {
"entryPoint": 1846,
"id": 11,
"parameterSlots": 0,
"returnSlots": 0
},
"@userAddress_14": {
"entryPoint": 1647,
"id": 14,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_decode_t_address": {
"entryPoint": 2215,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 1980,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 2236,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 2001,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 2150,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bool_to_t_bool_fromStack": {
"entryPoint": 2058,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bytes32_to_t_bytes32_fromStack": {
"entryPoint": 2842,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack": {
"entryPoint": 2410,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_enum$_Status_$84_to_t_uint8_fromStack": {
"entryPoint": 2605,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_int256_to_t_int256_fromStack": {
"entryPoint": 2790,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2675,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 2281,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 2165,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": {
"entryPoint": 2073,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": {
"entryPoint": 2857,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed": {
"entryPoint": 2467,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_enum$_Status_$84__to_t_uint8__fromStack_reversed": {
"entryPoint": 2620,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed": {
"entryPoint": 2805,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2884,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed": {
"entryPoint": 2732,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 2296,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_length_t_bytes_memory_ptr": {
"entryPoint": 2323,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 2647,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack": {
"entryPoint": 2334,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 2658,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 2132,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 2046,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bytes32": {
"entryPoint": 2832,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_enum$_Status_$84": {
"entryPoint": 2568,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_int256": {
"entryPoint": 2780,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 2100,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1947,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_enum$_Status_$84_to_t_uint8": {
"entryPoint": 2587,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 2351,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 2965,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x21": {
"entryPoint": 2501,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 2918,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1942,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 2393,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_assert_t_enum$_Status_$84": {
"entryPoint": 2548,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 2192,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 1957,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:8081:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "597:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "607:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "629:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "616:12:1"
},
"nodeType": "YulFunctionCall",
"src": "616:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "607:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "672:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "645:26:1"
},
"nodeType": "YulFunctionCall",
"src": "645:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "645:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "575:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "583:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "591:5:1",
"type": ""
}
],
"src": "545:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "802:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "804:77:1"
},
"nodeType": "YulFunctionCall",
"src": "804:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "804:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "777:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "786:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "773:3:1"
},
"nodeType": "YulFunctionCall",
"src": "773:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "798:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "769:3:1"
},
"nodeType": "YulFunctionCall",
"src": "769:32:1"
},
"nodeType": "YulIf",
"src": "766:119:1"
},
{
"nodeType": "YulBlock",
"src": "895:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "910:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "924:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "914:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "939:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "974:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "985:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "970:3:1"
},
"nodeType": "YulFunctionCall",
"src": "970:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "994:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "949:20:1"
},
"nodeType": "YulFunctionCall",
"src": "949:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "939:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "726:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "737:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "749:6:1",
"type": ""
}
],
"src": "690:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1067:48:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1077:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1102:5:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1095:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1095:13:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1088:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1088:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1077:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1049:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1059:7:1",
"type": ""
}
],
"src": "1025:90:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1180:50:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1197:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1217:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "1202:14:1"
},
"nodeType": "YulFunctionCall",
"src": "1202:21:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1190:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1190:34:1"
},
"nodeType": "YulExpressionStatement",
"src": "1190:34:1"
}
]
},
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1168:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1175:3:1",
"type": ""
}
],
"src": "1121:109:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1328:118:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1338:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1350:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1361:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1346:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1346:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1338:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1412:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1425:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1436:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1421:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1421:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bool_to_t_bool_fromStack",
"nodeType": "YulIdentifier",
"src": "1374:37:1"
},
"nodeType": "YulFunctionCall",
"src": "1374:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "1374:65:1"
}
]
},
"name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1300:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1312:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1323:4:1",
"type": ""
}
],
"src": "1236:210:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1497:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1507:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1522:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1529:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1518:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1518:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1507:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1479:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1489:7:1",
"type": ""
}
],
"src": "1452:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1629:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1639:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1668:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1650:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1650:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1639:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1611:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1621:7:1",
"type": ""
}
],
"src": "1584:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1751:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1768:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1791:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1773:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1773:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1761:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1761:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1761:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1739:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1746:3:1",
"type": ""
}
],
"src": "1686:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1908:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1918:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1930:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1941:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1926:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1926:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1918:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1998:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2011:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2022:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2007:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2007:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "1954:43:1"
},
"nodeType": "YulFunctionCall",
"src": "1954:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "1954:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1880:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1892:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1903:4:1",
"type": ""
}
],
"src": "1810:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2081:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2138:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2147:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2150:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2140:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2140:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2140:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2104:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2129:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "2111:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2111:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2101:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2101:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2094:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2094:43:1"
},
"nodeType": "YulIf",
"src": "2091:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2074:5:1",
"type": ""
}
],
"src": "2038:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2218:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2228:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2250:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "2237:12:1"
},
"nodeType": "YulFunctionCall",
"src": "2237:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2228:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2293:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "2266:26:1"
},
"nodeType": "YulFunctionCall",
"src": "2266:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "2266:33:1"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2196:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2204:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2212:5:1",
"type": ""
}
],
"src": "2166:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2377:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2423:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "2425:77:1"
},
"nodeType": "YulFunctionCall",
"src": "2425:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "2425:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2398:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2407:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2394:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2394:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2419:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2390:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2390:32:1"
},
"nodeType": "YulIf",
"src": "2387:119:1"
},
{
"nodeType": "YulBlock",
"src": "2516:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2531:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2545:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2535:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2560:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2595:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2606:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2591:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2591:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2615:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "2570:20:1"
},
"nodeType": "YulFunctionCall",
"src": "2570:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2560:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2347:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "2358:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2370:6:1",
"type": ""
}
],
"src": "2311:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2711:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2728:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2751:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2733:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2733:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2721:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2721:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2721:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2699:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2706:3:1",
"type": ""
}
],
"src": "2646:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2868:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2878:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2890:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2901:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2886:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2886:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2878:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2958:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2971:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2982:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2967:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2967:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "2914:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2914:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2914:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2840:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2852:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2863:4:1",
"type": ""
}
],
"src": "2770:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3056:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3067:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3083:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3077:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3077:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3067:6:1"
}
]
}
]
},
"name": "array_length_t_bytes_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3039:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3049:6:1",
"type": ""
}
],
"src": "2998:98:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3197:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3214:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3219:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3207:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3207:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "3207:19:1"
},
{
"nodeType": "YulAssignment",
"src": "3235:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3254:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3259:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3250:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3250:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "3235:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3169:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3174:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "3185:11:1",
"type": ""
}
],
"src": "3102:168:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3338:184:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3348:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3357:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "3352:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3417:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "3442:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3447:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3438:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3438:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "3461:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3466:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3457:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3457:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "3451:5:1"
},
"nodeType": "YulFunctionCall",
"src": "3451:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3431:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3431:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "3431:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3378:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3381:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3375:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3375:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "3389:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3391:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3400:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3403:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3396:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3396:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "3391:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "3371:3:1",
"statements": []
},
"src": "3367:113:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "3500:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3505:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3496:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3496:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3514:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3489:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3489:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "3489:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "3320:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "3325:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3330:6:1",
"type": ""
}
],
"src": "3276:246:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3576:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3586:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3604:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3611:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3600:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3600:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3620:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3616:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3616:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3596:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3596:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "3586:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3559:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "3569:6:1",
"type": ""
}
],
"src": "3528:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3726:283:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3736:52:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3782:5:1"
}
],
"functionName": {
"name": "array_length_t_bytes_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3750:31:1"
},
"nodeType": "YulFunctionCall",
"src": "3750:38:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3740:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3797:77:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3862:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3867:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3804:57:1"
},
"nodeType": "YulFunctionCall",
"src": "3804:70:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3797:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3922:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3929:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3918:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3918:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3936:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3941:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "3883:34:1"
},
"nodeType": "YulFunctionCall",
"src": "3883:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "3883:65:1"
},
{
"nodeType": "YulAssignment",
"src": "3957:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3968:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3995:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "3973:21:1"
},
"nodeType": "YulFunctionCall",
"src": "3973:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3964:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3964:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3957:3:1"
}
]
}
]
},
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3707:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3714:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3722:3:1",
"type": ""
}
],
"src": "3636:373:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4131:193:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4141:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4153:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4164:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4149:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4149:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4141:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4188:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4199:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4184:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4184:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4207:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4213:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4203:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4203:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4177:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4177:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "4177:47:1"
},
{
"nodeType": "YulAssignment",
"src": "4233:84:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4303:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4312:4:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4241:61:1"
},
"nodeType": "YulFunctionCall",
"src": "4241:76:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4233:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4103:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4115:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4126:4:1",
"type": ""
}
],
"src": "4015:309:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4358:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4375:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4378:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4368:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4368:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "4368:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4472:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4475:4:1",
"type": "",
"value": "0x21"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4465:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4465:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4465:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4496:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4499:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "4489:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4489:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "4489:15:1"
}
]
},
"name": "panic_error_0x21",
"nodeType": "YulFunctionDefinition",
"src": "4330:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4568:62:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4602:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x21",
"nodeType": "YulIdentifier",
"src": "4604:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4604:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4604:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4591:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4598:1:1",
"type": "",
"value": "3"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4588:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4588:12:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "4581:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4581:20:1"
},
"nodeType": "YulIf",
"src": "4578:46:1"
}
]
},
"name": "validator_assert_t_enum$_Status_$84",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4561:5:1",
"type": ""
}
],
"src": "4516:114:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4690:75:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4700:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "4711:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "4700:7:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4753:5:1"
}
],
"functionName": {
"name": "validator_assert_t_enum$_Status_$84",
"nodeType": "YulIdentifier",
"src": "4717:35:1"
},
"nodeType": "YulFunctionCall",
"src": "4717:42:1"
},
"nodeType": "YulExpressionStatement",
"src": "4717:42:1"
}
]
},
"name": "cleanup_t_enum$_Status_$84",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4672:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "4682:7:1",
"type": ""
}
],
"src": "4636:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4838:62:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4848:46:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4888:5:1"
}
],
"functionName": {
"name": "cleanup_t_enum$_Status_$84",
"nodeType": "YulIdentifier",
"src": "4861:26:1"
},
"nodeType": "YulFunctionCall",
"src": "4861:33:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "4848:9:1"
}
]
}
]
},
"name": "convert_t_enum$_Status_$84_to_t_uint8",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4818:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "4828:9:1",
"type": ""
}
],
"src": "4771:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4978:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4995:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5038:5:1"
}
],
"functionName": {
"name": "convert_t_enum$_Status_$84_to_t_uint8",
"nodeType": "YulIdentifier",
"src": "5000:37:1"
},
"nodeType": "YulFunctionCall",
"src": "5000:44:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4988:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4988:57:1"
},
"nodeType": "YulExpressionStatement",
"src": "4988:57:1"
}
]
},
"name": "abi_encode_t_enum$_Status_$84_to_t_uint8_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4966:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4973:3:1",
"type": ""
}
],
"src": "4906:145:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5162:131:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5172:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5184:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5195:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5180:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5180:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5172:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5259:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5272:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5283:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5268:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5268:17:1"
}
],
"functionName": {
"name": "abi_encode_t_enum$_Status_$84_to_t_uint8_fromStack",
"nodeType": "YulIdentifier",
"src": "5208:50:1"
},
"nodeType": "YulFunctionCall",
"src": "5208:78:1"
},
"nodeType": "YulExpressionStatement",
"src": "5208:78:1"
}
]
},
"name": "abi_encode_tuple_t_enum$_Status_$84__to_t_uint8__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5134:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5146:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5157:4:1",
"type": ""
}
],
"src": "5057:236:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5358:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5369:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5385:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5379:5:1"
},
"nodeType": "YulFunctionCall",
"src": "5379:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5369:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5341:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5351:6:1",
"type": ""
}
],
"src": "5299:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5500:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5517:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5522:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5510:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5510:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "5510:19:1"
},
{
"nodeType": "YulAssignment",
"src": "5538:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5557:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5562:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5553:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5553:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "5538:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5472:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5477:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "5488:11:1",
"type": ""
}
],
"src": "5404:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5671:285:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5681:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5728:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "5695:32:1"
},
"nodeType": "YulFunctionCall",
"src": "5695:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5685:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "5743:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5809:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5814:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "5750:58:1"
},
"nodeType": "YulFunctionCall",
"src": "5750:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5743:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5869:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5876:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5865:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5865:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5883:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5888:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "5830:34:1"
},
"nodeType": "YulFunctionCall",
"src": "5830:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "5830:65:1"
},
{
"nodeType": "YulAssignment",
"src": "5904:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5915:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5942:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "5920:21:1"
},
"nodeType": "YulFunctionCall",
"src": "5920:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5911:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5911:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "5904:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5652:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5659:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "5667:3:1",
"type": ""
}
],
"src": "5579:377:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6108:277:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6118:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6130:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6141:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6126:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6126:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6118:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6165:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6176:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6161:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6161:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6184:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6190:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6180:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6180:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6154:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6154:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "6154:47:1"
},
{
"nodeType": "YulAssignment",
"src": "6210:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "6282:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6291:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6218:63:1"
},
"nodeType": "YulFunctionCall",
"src": "6218:78:1"
},
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment