Contract: TokenTrader
Malicious: no
Decompiled opcodes:
PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH1 0x80 DUP1 PUSH2 0x0c47 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 MSTORE DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP JUMPDEST JUMPDEST CALLER PUSH1 0x00 PUSH1 0x00 PUSH2 0x0100 EXP DUP2 SLOAD DUP2 PUSH20 0xffffffffffffffffffffffffffffffffffffffff MUL NOT AND SWAP1 DUP4 MUL OR SWAP1 SSTORE POP JUMPDEST DUP4 PUSH1 0x01 PUSH1 0x00 PUSH2 0x0100 EXP DUP2 SLOAD DUP2 PUSH20 0xffffffffffffffffffffffffffffffffffffffff MUL NOT AND SWAP1 DUP4 MUL OR SWAP1 SSTORE POP DUP3 PUSH1 0x02 PUSH1 0x00 POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x03 PUSH1 0x00 POP DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x04 PUSH1 0x00 PUSH2 0x0100 EXP DUP2 SLOAD DUP2 PUSH1 0xff MUL NOT AND SWAP1 DUP4 MUL OR SWAP1 SSTORE POP PUSH32 0xce78b7525a161aee9986871a8dcad7e2783f9a4d66383783243cf14ec7086f85 PUSH1 0x04 PUSH1 0x00 SWAP1 SLOAD SWAP1 PUSH2 0x0100 EXP SWAP1 DIV PUSH1 0xff AND PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP PUSH2 0x0b2c DUP1 PUSH2 0x011b PUSH1 0x00 CODECOPY PUSH1 0x00 RETURN PUSH1 0x60 PUSH1 0x40 MSTORE CALLDATASIZE ISZERO PUSH2 0x00ab JUMPI PUSH1 0x00 CALLDATALOAD PUSH29 0x0100000000000000000000000000000000000000000000000000000000 SWAP1 DIV DUP1 PUSH4 0x2e1a7d4d EQ PUSH2 0x00bc JUMPI DUP1 PUSH4 0x38d52e0f EQ PUSH2 0x00ef JUMPI DUP1 PUSH4 0x4b750334 EQ PUSH2 0x012d JUMPI DUP1 PUSH4 0x4ca50f59 EQ PUSH2 0x0155 JUMPI DUP1 PUSH4 0x8d92fdf3 EQ PUSH2 0x017f JUMPI DUP1 PUSH4 0x8da5cb5b EQ PUSH2 0x01b2 JUMPI DUP1 PUSH4 0x976a8435 EQ PUSH2 0x01f0 JUMPI DUP1 PUSH4 0x9e281a98 EQ PUSH2 0x0218 JUMPI DUP1 PUSH4 0xa6f2ae3a EQ PUSH2 0x0254 JUMPI DUP1 PUSH4 0xce5e84a3 EQ PUSH2 0x0263 JUMPI DUP1 PUSH4 0xf2fde38b EQ PUSH2 0x0280 JUMPI PUSH2 0x00ab JUMP JUMPDEST PUSH2 0x00ba JUMPDEST PUSH2 0x00b7 PUSH2 0x029d JUMP JUMPDEST JUMPDEST JUMP JUMPDEST STOP JUMPDEST CALLVALUE PUSH2 0x0002 JUMPI PUSH2 0x00d7 PUSH1 0x04 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x0590 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE PUSH2 0x0002 JUMPI PUSH2 0x0101 PUSH1 0x04 DUP1 POP POP PUSH2 0x06a5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE PUSH2 0x0002 JUMPI PUSH2 0x013f PUSH1 0x04 DUP1 POP POP PUSH2 0x06cb JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE PUSH2 0x0002 JUMPI PUSH2 0x0167 PUSH1 0x04 DUP1 POP POP PUSH2 0x06d4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE PUSH2 0x0002 JUMPI PUSH2 0x019a PUSH1 0x04 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x06e7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE PUSH2 0x0002 JUMPI PUSH2 0x01c4 PUSH1 0x04 DUP1 POP POP PUSH2 0x085c JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE PUSH2 0x0002 JUMPI PUSH2 0x0202 PUSH1 0x04 DUP1 POP POP PUSH2 0x0882 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE PUSH2 0x0002 JUMPI PUSH2 0x023c PUSH1 0x04 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x088b JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x0261 PUSH1 0x04 DUP1 POP POP PUSH2 0x029d JUMP JUMPDEST STOP JUMPDEST CALLVALUE PUSH2 0x0002 JUMPI PUSH2 0x027e PUSH1 0x04 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x09df JUMP JUMPDEST STOP JUMPDEST CALLVALUE PUSH2 0x0002 JUMPI PUSH2 0x029b PUSH1 0x04 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP2 SWAP1 POP POP PUSH2 0x0aa0 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x00 PUSH1 0x00 PUSH1 0x00 PUSH1 0x04 PUSH1 0x00 SWAP1 SLOAD SWAP1 PUSH2 0x0100 EXP SWAP1 DIV PUSH1 0xff AND DUP1 PUSH2 0x030b JUMPI POP PUSH1 0x00 PUSH1 0x00 SWAP1 SLOAD SWAP1 PUSH2 0x0100 EXP SWAP1 DIV PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND CALLER PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND EQ JUMPDEST ISZERO PUSH2 0x0546 JUMPI PUSH1 0x02 PUSH1 0x00 POP SLOAD CALLVALUE DUP2 ISZERO PUSH2 0x0002 JUMPI DIV SWAP3 POP PUSH1 0x03 PUSH1 0x00 POP SLOAD PUSH1 0x01 PUSH1 0x00 SWAP1 SLOAD SWAP1 PUSH2 0x0100 EXP SWAP1 DIV PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND PUSH4 0x70a08231 ADDRESS PUSH1 0x40 MLOAD DUP3 PUSH29 0x0100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x04 ADD DUP1 DUP3 PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x00 DUP8 DUP1 EXTCODESIZE ISZERO PUSH2 0x0002 JUMPI PUSH1 0x32 GAS SUB CALL ISZERO PUSH2 0x0002 JUMPI POP POP POP PUSH1 0x40 MLOAD DUP1 MLOAD SWAP1 PUSH1 0x20 ADD POP DUP2 ISZERO PUSH2 0x0002 JUMPI DIV SWAP2 POP DUP2 DUP4 GT ISZERO PUSH2 0x043d JUMPI PUSH1 0x02 PUSH1 0x00 POP SLOAD DUP3 MUL CALLVALUE SUB SWAP1 POP DUP2 SWAP3 POP DUP3 POP CALLER PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND PUSH2 0x08fc DUP3 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD DUP1 SWAP1 POP PUSH1 0x00 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO ISZERO PUSH2 0x043c JUMPI PUSH2 0x0002 JUMP JUMPDEST JUMPDEST PUSH1 0x00 DUP4 GT ISZERO PUSH2 0x0512 JUMPI PUSH1 0x01 PUSH1 0x00 SWAP1 SLOAD SWAP1 PUSH2 0x0100 EXP SWAP1 DIV PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND PUSH4 0xa9059cbb CALLER PUSH1 0x03 PUSH1 0x00 POP SLOAD DUP7 MUL PUSH1 0x40 MLOAD DUP4 PUSH29 0x0100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x04 ADD DUP1 DUP4 PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x00 DUP8 DUP1 EXTCODESIZE ISZERO PUSH2 0x0002 JUMPI PUSH1 0x32 GAS SUB CALL ISZERO PUSH2 0x0002 JUMPI POP POP POP PUSH1 0x40 MLOAD DUP1 MLOAD SWAP1 PUSH1 0x20 ADD POP ISZERO ISZERO PUSH2 0x0511 JUMPI PUSH2 0x0002 JUMP JUMPDEST JUMPDEST PUSH32 0x36ff37f436d9a671f4776bd73e3be89800c29518da3abc0618ef2b18c707481f PUSH1 0x40 MLOAD DUP1 SWAP1 POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH2 0x058a JUMP JUMPDEST CALLER PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND PUSH2 0x08fc CALLVALUE SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD DUP1 SWAP1 POP PUSH1 0x00 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO ISZERO PUSH2 0x0589 JUMPI PUSH2 0x0002 JUMP JUMPDEST JUMPDEST JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x00 PUSH1 0x00 PUSH1 0x00 SWAP1 SLOAD SWAP1 PUSH2 0x0100 EXP SWAP1 DIV PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND CALLER PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND EQ ISZERO ISZERO PUSH2 0x05ee JUMPI PUSH2 0x0002 JUMP JUMPDEST DUP2 ADDRESS PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND BALANCE LT ISZERO ISZERO PUSH2 0x066f JUMPI PUSH1 0x00 PUSH1 0x00 SWAP1 SLOAD SWAP1 PUSH2 0x0100 EXP SWAP1 DIV PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND PUSH2 0x08fc DUP4 SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD DUP1 SWAP1 POP PUSH1 0x00 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP SWAP1 POP PUSH2 0x069f JUMP JUMPDEST PUSH32 0x36ff37f436d9a671f4776bd73e3be89800c29518da3abc0618ef2b18c707481f PUSH1 0x40 MLOAD DUP1 SWAP1 POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x01 PUSH1 0x00 SWAP1 SLOAD SWAP1 PUSH2 0x0100 EXP SWAP1 DIV PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND DUP2 JUMP JUMPDEST PUSH1 0x02 PUSH1 0x00 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x04 PUSH1 0x00 SWAP1 SLOAD SWAP1 PUSH2 0x0100 EXP SWAP1 DIV PUSH1 0xff AND DUP2 JUMP JUMPDEST PUSH1 0x00 PUSH1 0x00 PUSH1 0x00 SWAP1 SLOAD SWAP1 PUSH2 0x0100 EXP SWAP1 DIV PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND CALLER PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND EQ ISZERO ISZERO PUSH2 0x0745 JUMPI PUSH2 0x0002 JUMP JUMPDEST PUSH1 0x01 PUSH1 0x00 SWAP1 SLOAD SWAP1 PUSH2 0x0100 EXP SWAP1 DIV PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND PUSH4 0xa9059cbb PUSH1 0x00 PUSH1 0x00 SWAP1 SLOAD SWAP1 PUSH2 0x0100 EXP SWAP1 DIV PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND DUP5 PUSH1 0x40 MLOAD DUP4 PUSH29 0x0100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x04 ADD DUP1 DUP4 PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x00 DUP8 DUP1 EXTCODESIZE ISZERO PUSH2 0x0002 JUMPI PUSH1 0x32 GAS SUB CALL ISZERO PUSH2 0x0002 JUMPI POP POP POP PUSH1 0x40 MLOAD DUP1 MLOAD SWAP1 PUSH1 0x20 ADD POP SWAP1 POP PUSH2 0x0856 JUMP PUSH32 0x36ff37f436d9a671f4776bd73e3be89800c29518da3abc0618ef2b18c707481f PUSH1 0x40 MLOAD DUP1 SWAP1 POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x00 PUSH1 0x00 SWAP1 SLOAD SWAP1 PUSH2 0x0100 EXP SWAP1 DIV PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND DUP2 JUMP JUMPDEST PUSH1 0x03 PUSH1 0x00 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x00 PUSH1 0x00 PUSH1 0x00 SWAP1 SLOAD SWAP1 PUSH2 0x0100 EXP SWAP1 DIV PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND CALLER PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND EQ ISZERO ISZERO PUSH2 0x08e9 JUMPI PUSH2 0x0002 JUMP JUMPDEST DUP3 PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND PUSH4 0xa9059cbb PUSH1 0x00 PUSH1 0x00 SWAP1 SLOAD SWAP1 PUSH2 0x0100 EXP SWAP1 DIV PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND DUP5 PUSH1 0x40 MLOAD DUP4 PUSH29 0x0100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x04 ADD DUP1 DUP4 PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x00 DUP8 DUP1 EXTCODESIZE ISZERO PUSH2 0x0002 JUMPI PUSH1 0x32 GAS SUB CALL ISZERO PUSH2 0x0002 JUMPI POP POP POP PUSH1 0x40 MLOAD DUP1 MLOAD SWAP1 PUSH1 0x20 ADD POP SWAP1 POP PUSH2 0x09d8 JUMP PUSH32 0x36ff37f436d9a671f4776bd73e3be89800c29518da3abc0618ef2b18c707481f PUSH1 0x40 MLOAD DUP1 SWAP1 POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x00 PUSH1 0x00 SWAP1 SLOAD SWAP1 PUSH2 0x0100 EXP SWAP1 DIV PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND CALLER PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND EQ ISZERO ISZERO PUSH2 0x0a3b JUMPI PUSH2 0x0002 JUMP JUMPDEST DUP1 PUSH1 0x04 PUSH1 0x00 PUSH2 0x0100 EXP DUP2 SLOAD DUP2 PUSH1 0xff MUL NOT AND SWAP1 DUP4 MUL OR SWAP1 SSTORE POP PUSH32 0xce78b7525a161aee9986871a8dcad7e2783f9a4d66383783243cf14ec7086f85 PUSH1 0x04 PUSH1 0x00 SWAP1 SLOAD SWAP1 PUSH2 0x0100 EXP SWAP1 DIV PUSH1 0xff AND PUSH1 0x40 MLOAD DUP1 DUP3 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH1 0x00 PUSH1 0x00 SWAP1 SLOAD SWAP1 PUSH2 0x0100 EXP SWAP1 DIV PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND CALLER PUSH20 0xffffffffffffffffffffffffffffffffffffffff AND EQ ISZERO ISZERO PUSH2 0x0afc JUMPI PUSH2 0x0002 JUMP JUMPDEST DUP1 PUSH1 0x00 PUSH1 0x00 PUSH2 0x0100 EXP DUP2 SLOAD DUP2 PUSH20 0xffffffffffffffffffffffffffffffffffffffff MUL NOT AND SWAP1 DUP4 MUL OR SWAP1 SSTORE POP JUMPDEST JUMPDEST POP JUMP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP UNKNOWN_0xa7 DIFFICULTY PUSH23 0x443119a942de498590fe1f2454d7d4ac0d000000000000 STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP ADD OR STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP ADD DUP7 LOG0 STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP ADD