If the flag pattern does occur within the bitstream, it is disrupted by the transmitting device through a process called bit stuffing or zero- bit insertion, in which an extra zero is inserted in the middle of the flag pattern, based on the following rule set. When a frame of data is created at an originating device, the very last device to touch the frame-indeed, the device that actually adds the flags-is called a Universal Synchro- nous/Asynchronous Receiver-Transmitter (USART). The USART, some- times called an Integrated Data Link Controller (IDLC), is a chipset that has a degree of embedded intelligence. This intelligence is used to detect (among other things) the presence of a false flag pattern in the bitstream around which it builds the frame. Since a flag is made up of a zero fol- lowed by six ones and a final zero, the IDLC knows that it can never allow that particular pattern to exist between any two real flags. So, as it processes the incoming bitstream, it looks for that pattern and makes the following decision: If I see a zero followed by five ones, I will auto- matically and without question insert a zero into the bitstream at that point. This is illustrated in Figure 2-36. This, of course, destroys the integrity of the message, but it doesn't matter. At the receive device, the IDLC monitors the incoming bits. As the frame arrives it sees a real flag at the beginning of the frame, an indi- cation that a frame is beginning. As it monitors the bits flowing by, it will find the zero followed by five bits, at which point it knows, beyond a shadow of a doubt, that the very next bit is a zero-which it will promptly remove, thus restoring the integrity of the original message. The receiving device has the ability to detect the extra zero and remove it before the data moves up the protocol stack for interpretation. This bit stuffing process guarantees that a "false flag" will never be inter- preted as a final flag and acted upon in error. Sundeed, the final flag of one frame is often the beginning flag of t