{
    "Function": "log",
    "File": "contracts/src/vendor/forge-std/src/safeconsole.sol",
    "Parent Contracts": [],
    "High-Level Calls": [],
    "Internal Calls": [
        "mload(uint256)",
        "mload(uint256)",
        "mstore(uint256,uint256)",
        "mload(uint256)",
        "mstore(uint256,uint256)",
        "mstore(uint256,uint256)",
        "mstore(uint256,uint256)",
        "mload(uint256)",
        "mstore(uint256,uint256)",
        "mstore(uint256,uint256)",
        "mload(uint256)",
        "mstore(uint256,uint256)",
        "mstore(uint256,uint256)",
        "mload(uint256)",
        "mstore(uint256,uint256)",
        "mstore(uint256,uint256)",
        "mstore(uint256,uint256)",
        "mload(uint256)",
        "writeString",
        "mstore(uint256,uint256)",
        "mstore(uint256,uint256)",
        "mload(uint256)",
        "writeString",
        "mstore(uint256,uint256)",
        "mload(uint256)",
        "writeString",
        "mstore(uint256,uint256)",
        "writeString",
        "mstore(uint256,uint256)",
        "mload(uint256)",
        "mstore(uint256,uint256)",
        "_sendLogPayload",
        "mload(uint256)",
        "mload(uint256)",
        "mload(uint256)",
        "mstore(uint256,uint256)"
    ],
    "Library Calls": [],
    "Low-Level Calls": [],
    "Code": "function log(bytes32 p0, bytes32 p1, bytes32 p2, bytes32 p3) internal pure {\n        bytes32 m0;\n        bytes32 m1;\n        bytes32 m2;\n        bytes32 m3;\n        bytes32 m4;\n        bytes32 m5;\n        bytes32 m6;\n        bytes32 m7;\n        bytes32 m8;\n        bytes32 m9;\n        bytes32 m10;\n        bytes32 m11;\n        bytes32 m12;\n        /// @solidity memory-safe-assembly\n        assembly {\n            function writeString(pos, w) {\n                let length := 0\n                for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n                mstore(pos, length)\n                let shift := sub(256, shl(3, length))\n                mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n            }\n            m0 := mload(0x00)\n            m1 := mload(0x20)\n            m2 := mload(0x40)\n            m3 := mload(0x60)\n            m4 := mload(0x80)\n            m5 := mload(0xa0)\n            m6 := mload(0xc0)\n            m7 := mload(0xe0)\n            m8 := mload(0x100)\n            m9 := mload(0x120)\n            m10 := mload(0x140)\n            m11 := mload(0x160)\n            m12 := mload(0x180)\n            // Selector of `log(string,string,string,string)`.\n            mstore(0x00, 0xde68f20a)\n            mstore(0x20, 0x80)\n            mstore(0x40, 0xc0)\n            mstore(0x60, 0x100)\n            mstore(0x80, 0x140)\n            writeString(0xa0, p0)\n            writeString(0xe0, p1)\n            writeString(0x120, p2)\n            writeString(0x160, p3)\n        }\n        _sendLogPayload(0x1c, 0x184);\n        /// @solidity memory-safe-assembly\n        assembly {\n            mstore(0x00, m0)\n            mstore(0x20, m1)\n            mstore(0x40, m2)\n            mstore(0x60, m3)\n            mstore(0x80, m4)\n            mstore(0xa0, m5)\n            mstore(0xc0, m6)\n            mstore(0xe0, m7)\n            mstore(0x100, m8)\n            mstore(0x120, m9)\n            mstore(0x140, m10)\n            mstore(0x160, m11)\n            mstore(0x180, m12)\n        }\n    }"
}