Create a high-level state machine for a simple data encryption/decryption device. If a single-bit input b is 1, the device stores the data from a 32-bit signed input /, referring to this as an offset value. If b is 0 and another single-bit input e is 1, then the device "encrypts" its input I by adding the stored offset value to /, and outputs this encrypted value over a 32-bit signed output J. If instead another single-bit input d is 1, dlc device "decrypts" the data on I by subtracting the offset value before outputting the decrypted value over J. Be sure to explicitly handlc all possible combinations of die three input bits.